src


Log

Author Commit Date CI Message
Martin Hosken 1979f6fe 2015-11-23T10:03:56 Fix y_scale problems in hb-gr
Behdad Esfahbod a6991813 2015-11-20T13:28:42 Merge pull request #176 from behdad/missing-braces Add braces for subobject initializer in _hb_font_funcs_nil
Behdad Esfahbod 1dc32ea4 2015-11-20T13:24:19 Whitespace
Behdad Esfahbod f94c0ecb 2015-11-20T13:21:29 Define HB_MARK_AS_FLAG_T as a macro instead of using templates The generic template operator overloading was causing more problems than it solved. Eg: https://github.com/behdad/harfbuzz/pull/163 https://github.com/behdad/harfbuzz/issues/175 So, just use macros. Fixes https://github.com/behdad/harfbuzz/issues/175 Fixes https://github.com/behdad/harfbuzz/pull/178
jfkthame f19c6db1 2015-11-20T08:43:49 Add braces for subobject initializer in _hb_font_funcs_nil To avoid triggering -Wmissing-braces; see https://bugzilla.mozilla.org/show_bug.cgi?id=1226175#c8
Behdad Esfahbod 9cc1ed4f 2015-11-19T12:39:09 Do not allow recursiving to same position and same lookup This is just to make it harder to be extremely slow. There definitely are ways still, just harder. Oh well... how do we tame this problem without solving halting problem?! Fixes https://github.com/behdad/harfbuzz/issues/174
Behdad Esfahbod 13188cba 2015-11-19T11:59:03 Revert "Fix hang in OOM situations" This reverts commit f0599db761d7fc2d585d86e757a797f75ebc7499. Commit abadc1717d997b69f987fdf1be9e12156d2d13d6 provides a better fix for this.
Behdad Esfahbod 18e1c6b6 2015-11-19T11:50:58 Revert "Make sure we make progress in OOM situations" This reverts commit 68b507a3c3c62c28c38e13fee733702bb703b6ca. Commit abadc1717d997b69f987fdf1be9e12156d2d13d6 provides a better fix for this.
Behdad Esfahbod 63fe05c8 2015-11-18T23:52:34 Fix make distcheck
Behdad Esfahbod 37b40cd8 2015-11-18T23:04:45 Fix another move_to assertion failure If buf->idx is at end, don't set end past it... Fixes https://github.com/behdad/harfbuzz/issues/173
Behdad Esfahbod abadc171 2015-11-18T17:52:08 Try to better handle OOM situations Fixes assert fail in https://github.com/behdad/harfbuzz/issues/161 with libharfbuzz-fuzzing.
Behdad Esfahbod ff16ef33 2015-11-18T16:27:32 Enable building a bounded version of the library for fuzzing test/fuzzing/hb-fuzzer links against libharfbuzz-fuzzing.so now.
Behdad Esfahbod e0082ae6 2015-11-17T18:42:13 Move things around
Chun-wei Fan 167c3271 2015-11-09T17:17:56 Fix build on MSVC >= 2012 Use the DEFINE_ENUM_FLAG_OPERATORS macro in winnt.h on Visual Studio, which defines the bitwise operators for the enumerations that we want to mark as hb_mark_as_flags_t, which will take care of the situation on newer Visual Studio (>= 2012), where the build breaks with C2057 errors as the underlying types of the enumerations is not clear to the compiler when we do a bitwise op within the declaration of the enumerations themselves. Also disable the C4200 (nonstandard extension used : zero-sized array in struct/union) and C4800 ('type' : forcing value to bool 'true' or 'false' (performance warning)) warnings as the C4200 is the intended scenario and C4800 is harmless but is so far an unavoidable side effect of using DEFINE_ENUM_FLAG_OPERATORS.
Chun-wei Fan 4d27bb87 2015-11-06T14:28:30 hb-ot-shape-complex-arabic.cc: Fix build on Visual Studio Visual Studio does not like declaring a enum variable within a for statement, so fix the build by declaring the enum before doing the for loop.
Behdad Esfahbod d5f0d7c9 2015-11-07T07:50:58 Merge pull request #167 from KonstantinRitt/unicode_cp_opt Micro optimizations to UTF-16 and UTF-32 codecs
Behdad Esfahbod 04ff23e7 2015-11-06T16:29:44 [arabic] Improve stretch length calculation Err on the side of being too short, than too wide. Reduces chance of overlaps with neighboring glyphs.
Behdad Esfahbod 59821ab8 2015-11-06T16:27:44 [arabic] Don't stretch over cased letters Addresses https://github.com/behdad/harfbuzz/commit/6e6f82b6f3dde0fc6c3c7d991d9ec6cfff57823d#commitcomment-14248516
Behdad Esfahbod 5337db29 2015-11-06T16:18:09 Revert "Don't process lookups if buffer is in error" This reverts commit f92bd86cc8c11d262d1830c631cb7c63fc9d4bc8. We don't want to be like cairo, where as soon as there's an error, nothing works anymore. So, lets process lookups as long as there's no new memory needed. That's also a model that hides fewer bugs.
Konstantin Ritt 529a9331 2015-11-07T02:00:04 Micro optimization to hb_utf16_t and hb_utf32_t ::prev() Implement reverse lookup instead of re-using next()
Konstantin Ritt 44ae9be7 2015-11-07T01:58:38 Nano optimization to hb_utf16_t and hb_utf32_t ::next()
Behdad Esfahbod f1c4adbc 2015-11-06T09:46:05 Fix typo
Behdad Esfahbod 68b507a3 2015-11-06T00:09:26 Make sure we make progress in OOM situations
Behdad Esfahbod f0599db7 2015-11-05T23:52:41 Fix hang in OOM situations Fixes https://github.com/behdad/harfbuzz/issues/161
Behdad Esfahbod f92bd86c 2015-11-05T23:52:29 Don't process lookups if buffer is in error
Behdad Esfahbod 4301703b 2015-11-05T23:44:59 Limit buffer max size growth https://github.com/behdad/harfbuzz/issues/161
Behdad Esfahbod 6e6f82b6 2015-11-05T17:29:03 Implement SYRIAC ABBREVIATION MARK with 'stch' feature The feature is enabled for any character in the Arabic shaper. We should experiment with using it for Arabic subtending marks. Though, that has a directionality problem as well, since those are used with digits... Fixes https://github.com/behdad/harfbuzz/issues/141
Behdad Esfahbod c743ec58 2015-11-05T17:33:57 [ft] Fix extents with negative scales Fixes https://github.com/behdad/harfbuzz/issues/162
Behdad Esfahbod 73fec399 2015-11-05T15:22:18 Reserve a few scratch-flags bits for complex shapers
Behdad Esfahbod 13686337 2015-11-05T13:24:15 Add new shaper method postprocess_glyphs() Unused currently. To be used for Syriac stretch implementation. https://github.com/behdad/harfbuzz/issues/141
Behdad Esfahbod e95eb23a 2015-11-04T22:55:11 Don't try zeroing marks by GDEF if there are no non-ASCII This one is a hack, but should be ok.
Behdad Esfahbod 7fa54ed7 2015-11-04T22:54:49 Don't try zeroing mark attachments by Unicode if there's no non-ASCII
Behdad Esfahbod 550bd14d 2015-11-04T22:58:58 Actually commit changes for previous commit
Behdad Esfahbod ff31b3c1 2015-11-04T22:42:41 Skip GPOS cursive / attachment adjustmnent if none happened I'm starting to really like how free these new scratch_flags are.
Behdad Esfahbod 0f407325 2015-11-04T22:28:44 Minor
Behdad Esfahbod 497a6c20 2015-11-04T22:24:19 Skip forming clusters if text is all ASCII
Behdad Esfahbod 28de104f 2015-11-04T22:00:25 Move variable-sized struct member to end Hopefully makes clang build happy
Behdad Esfahbod 5bc28b5f 2015-11-04T21:53:16 Optimize positioning for when h_origin is nil
Behdad Esfahbod 762770c9 2015-11-04T21:42:55 Add font->has_...() to check for individual nil font funcs Hopefully this wouldn't break any compiler. There was some magic moments to getting this to compile...
Behdad Esfahbod 88e9a9bc 2015-11-04T21:16:26 Minor reshaping of hb_font_funcs_t implementation In anticipation of further changes. No functional changes.
Behdad Esfahbod a6a7715b 2015-11-04T20:51:21 Comments
Behdad Esfahbod 6c48ec83 2015-11-04T20:47:42 [ot] Remove font funcs that do nothing
Behdad Esfahbod 75ea2daa 2015-11-04T20:43:59 [ot] Port ot font funcs to allocated object
Behdad Esfahbod 44f82750 2015-11-04T20:40:05 [ft] Remove font funcs that do nothing
Behdad Esfahbod 7918c261 2015-11-04T20:37:49 [ft] Port ft font funcs to allocated object
Behdad Esfahbod da29b437 2015-11-04T20:22:44 Separate nil font-funcs from parent-peeking font-funcs API change: all fonts created with hb_font_create() now inherit from (ie have parent) hb_font_get_empty().
Behdad Esfahbod bee901b3 2015-11-04T19:28:17 Optimize positioning direction calculations It makes the binary smaller AND faster. Yumm!
Behdad Esfahbod e3e4bb01 2015-11-04T18:58:02 Don't do fractions if buffer is ASCII-only
Behdad Esfahbod 6986208b 2015-11-04T18:46:22 Optimize runs without Default_Ignorable's Now that we have a buffer-wide scratch flags facility, use it to optimize away a few passes.
Behdad Esfahbod 14c2de32 2015-11-04T18:00:57 Limit max edits during sanitize to 8 Used to be 100. If a tabe needs more than one or two edits, it's probably completely bogus... Might help with speeding up fuzzing for https://github.com/behdad/harfbuzz/issues/157
Behdad Esfahbod 9cbc39ae 2015-11-04T18:00:53 Minor
Behdad Esfahbod 52e6c4e1 2015-11-04T17:45:06 If font doesn't support U+2011, fall back to U+2010 Test passes now.
Behdad Esfahbod 75483aaf 2015-11-04T17:43:36 Untangle if/else waterfall
Behdad Esfahbod 49ef6309 2015-11-04T17:27:07 Adjust the width of various spaces if font does not cover them See discussion here: https://github.com/behdad/harfbuzz/commit/81ef4f407d9c7bd98cf62cef951dc538b13442eb There's no way to disable this fallback, but I don't think it would be needed. Let's hope for the best! Fixes https://github.com/behdad/harfbuzz/issues/153
Behdad Esfahbod aa7044de 2015-11-04T16:25:57 Generalize flags types
Behdad Esfahbod 7793aad9 2015-11-04T14:48:46 Normalize various spaces to space if font doesn't support This resurrects the space fallback feature, after I disabled the compatibility decomposition. Now I can release HarfBuzz again without breaking Pango! It also remembers which space character it was, such that later on we can approximate the width of this particular space character. That part is not implemented yet. We normalize all GC=Zs chars except for U+1680 OGHA SPACE MARK, which is better left alone.
Behdad Esfahbod 85658394 2015-11-04T14:46:52 Protect against possible invalid-memory access after OOM
Behdad Esfahbod 4cc80bed 2015-11-04T14:46:10 Fix typo! Ouch! Fortunately that function was unused.
Behdad Esfahbod 9ac4b965 2015-11-04T14:18:39 Add Unicode space category Unused so far.
Behdad Esfahbod 8249ec3f 2015-11-04T13:26:17 Make top-byte of unicode_props available to be used differently per-GC
Behdad Esfahbod cc5d3a33 2015-11-04T13:21:25 Towards using top-byte of unicode-props for more things
Behdad Esfahbod 2f38dde5 2015-11-04T13:17:33 Add _hb_glyph_info_is_unicode_mark() Unused right now.
Behdad Esfahbod 90d75f93 2015-11-03T12:58:12 Tighten ccc-setting a bit and document it
Behdad Esfahbod df698f32 2015-11-03T12:15:12 [ot-font] Fix hmtx table length checking, *again* Exactly the same problem that I fixed in 63ef0b41dc48d6112d1918c1b1de9de8ea90adb5 I rewrote the table checking yesterday in 67f8821fb25d9bd55719f5e29a582ae1af4b02b3 and introduced the exact same issue again. :( Good thing we have ongoing fuzzing going now. Was discovered immediately by libFuzzer. Thanks kcc! https://github.com/behdad/harfbuzz/issues/139#issuecomment-153449473 Fixes https://github.com/behdad/harfbuzz/issues/156
Behdad Esfahbod ed2024ef 2015-11-02T17:58:12 [perf] Micro-optimize
Behdad Esfahbod 76a5310a 2015-11-02T17:52:45 Remove irrelevant comment I tried moving the is_default_ignorable() function to an INTERNAL function. That made the binary size grow by 5k AND things got a tad bit slower!
Behdad Esfahbod 8259669f 2015-11-02T17:44:05 Minor
Behdad Esfahbod 9382c471 2015-11-02T17:36:51 Combine unicode_props0/1 into a uint16 Slightly faster. In prep for more changes.
Behdad Esfahbod 71277185 2015-11-02T17:27:48 [perf] Only call combining_class() for marks Saves some time. Also preparing for reusing the ccc byte for other stuff.
Behdad Esfahbod 5ba45040 2015-11-02T15:43:08 Make max context-length and max nesting level configurable ...at compile time.
Behdad Esfahbod 67f8821f 2015-11-02T15:37:29 [ot] Make bad-hmtx handling match FreeType Also route fuzzing-related tests through hb-ot-font, to reduce dependency on FreeType behavior for badly-broken fonts. Fixes failing test with FreeType master.
Behdad Esfahbod 672ca3b4 2015-10-26T14:05:05 Use templates for making sure expression is constant
Behdad Esfahbod 5c8174ed 2015-10-21T18:51:40 Update comments for removal of compat decompositions
Behdad Esfahbod f6799700 2015-10-21T17:20:55 Disable compatibility decomposition usage during normalization Fixes https://github.com/behdad/harfbuzz/issues/152
Behdad Esfahbod ce889189 2015-10-21T11:23:12 Fix two more -Wshadow warnings https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
Behdad Esfahbod 4a6b1eed 2015-10-21T11:20:55 Fix one more -Wshadow warning https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
Behdad Esfahbod 6f932bc8 2015-10-21T11:16:49 Fix a few more -Wshadow-local warnings https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
Behdad Esfahbod b90cb366 2015-10-21T11:13:21 Fix one -Wshadow-compatible-local warning From https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
Behdad Esfahbod 50e5750b 2015-10-21T11:10:10 Avoid unnecessary cast to 64-bit Fixes https://github.com/behdad/harfbuzz/issues/146 Or I think it should.
Behdad Esfahbod 305d2fbf 2015-10-21T11:04:28 Add HB_FALLTHROUGH Borrowed from https://bugzilla.mozilla.org/show_bug.cgi?id=1215411
Behdad Esfahbod ca97ea7a 2015-10-15T20:20:22 [ft] Revert change-of-behavior of hb_ft_font_create() introduced in 1.0.5 The default FreeType load flags where changed from FT_LOAD_NO_HINTING to FT_LOAD_DEFAULT in 2a9627c5641cd000e2adff0e42a0dc687b53ec70. This is crashing HarfBuzz-enabled FreeType as I suppose it causes infinite recursion between HB and FT autohinter... Revert the behavior change. Fixes https://github.com/behdad/harfbuzz/issues/143
Behdad Esfahbod 63ef0b41 2015-10-15T12:47:22 [ot-font] Fix hmtx wrong table length check Discovered by libFuzzer. Ouch! https://github.com/behdad/harfbuzz/issues/139#issuecomment-148289957
Behdad Esfahbod 613e6306 2015-10-13T23:33:28 Reduce max nesting level from 8 to 6 We probably should implement better system to catch cyclic lookups. But for now, this speeds up worst case behavior with broken fonts considerably without compromising legitimate usecases. https://github.com/behdad/harfbuzz/issues/139#issuecomment-147788447
Behdad Esfahbod ed13e2ce 2015-10-13T10:32:56 [ot-font] Fix leak https://github.com/behdad/harfbuzz/issues/139#issuecomment-147616887
Behdad Esfahbod f9666497 2015-10-13T00:30:50 Fix another memory access issue discovered by libFuzzer Fixes https://github.com/behdad/harfbuzz/issues/139#issuecomment-146984679
Behdad Esfahbod cc6ea308 2015-10-12T17:21:52 Extern "C" custom-allocator declerations
Behdad Esfahbod 50f489a0 2015-10-11T20:59:29 Typo
Behdad Esfahbod ee9b0b6c 2015-10-09T14:23:15 Fix another sanitize bug Also discovered by "libFuzzer".
Behdad Esfahbod f396fbb0 2015-10-09T12:25:55 Fix return value of sanitize when subformat is not readable This is a fix on top of the previous issue fixed in c917965b9e6fe2b21ed6c51559673288fa3af4b7. This was caught by "libFuzzer" testing.
Behdad Esfahbod 77a1a2bc 2015-10-09T12:20:58 Add hb_dispatch_context_t
Behdad Esfahbod 3e905e39 2015-10-08T12:51:02 Add hb_font_set_parent() No reason to not have it. Makes life easier later. We (hb-ft, hb-ot-font, etc) can use this API to inject new parent into a font...
Behdad Esfahbod edeb3dab 2015-10-08T12:47:15 [ft] Add version for new API
Behdad Esfahbod 2a9627c5 2015-10-07T17:33:20 [ft] API: Add hb_font_[sg]et_load_flags() API This changes the default load_flags of fonts created using hb_ft_font_create() from NO_HINTING to DEFAULT. Hope that doesn't break too much client code. Code calling hb_ft_font_set_funcs() is unaffected.
Behdad Esfahbod 3224a594 2015-10-07T17:33:02 Minor
Behdad Esfahbod 52b41855 2015-10-03T13:20:55 Allow compiling with custom allocators User can define hb_malloc_impl, etc, to name of custom allocator functions that have the same signature as malloc.
Behdad Esfahbod 88da7bba 2015-10-02T14:38:20 Default font scale to face upem Makes for a better default and avoids nasty inheritance issues. See mailing list thread "Default hb_font_t scale".
Behdad Esfahbod 1866e171 2015-10-02T14:21:29 Make hb_font_create_sub_font() NOT make parent immutable We don't rely on that. However, whenever hb_font_make_immutable() is called, it makes its parenting chain immutable.
Behdad Esfahbod 980e25ca 2015-10-02T08:21:12 Fix hb-ot-shape-normalize with empty buffer Part of https://github.com/behdad/harfbuzz/issues/136
Behdad Esfahbod a5efaac4 2015-10-02T08:02:29 Replace a couple of malloc()s with calloc()
Behdad Esfahbod 26ba4d1e 2015-10-02T07:25:52 Fix segfault with empty buffer in hb_shape_plan_execute() Move the empty-buffer check from hb_shape_full() to hb_shape_plan_execute(). Reported by Simon Cozens.