src


Log

Author Commit Date CI Message
Behdad Esfahbod cbcaba6f 2018-09-16T19:25:19 One more bot fix
Behdad Esfahbod 89dd4b95 2018-09-16T18:11:46 Fix bots "Unused private member" warning turned error. ugh.
Behdad Esfahbod 4e626278 2018-09-16T18:09:36 Enforce single-param static_assert() only So we don't accidentally break it again.
Behdad Esfahbod f1a86e1e 2018-09-16T18:01:32 Remove unused try
Behdad Esfahbod ebd50b3c 2018-09-16T17:57:12 Fix static_assert
Behdad Esfahbod 10642b3f 2018-09-15T19:43:33 Disallow null-enabled offsets to unsized structures... ...like UnsizedArrayOf<>. This fixes a class of crasher bugs, mostly with color and AAT tables. We cannot use nullable offsets to varsized data that does not declare min_size, because it's nost safe to use our fixed-size null pool for types that have their size external. So, use non_null'able offsets for these. A further enhancement would be to make use of min_size in Null<> itself. Will try that after.
Behdad Esfahbod 9ff76c60 2018-09-15T18:31:14 [morx] Respect default feature settings Does NOT apply user-selected features. But at least now enables correct subtables.
Behdad Esfahbod 2f97da6e 2018-09-15T14:51:50 [aat] Change version field
Behdad Esfahbod 29c2bd17 2018-09-15T14:47:18 [morx] Add stub for InsertionChain
Behdad Esfahbod f8ccb545 2018-09-14T18:59:53 [dfont] Disable null-processsing for offsets An offset to unsized arrayis not safe to be redirected to our fixed-sized null pool. Plus, we want to reject, not repair, bad-looking dfonts.
Behdad Esfahbod 01b9148d 2018-09-14T14:23:09 [unicode] Move Fitzpatrick hack from ot-layout into unicode.hh
Behdad Esfahbod 6ebbf514 2018-09-14T12:15:53 Minor
Behdad Esfahbod 957dbed3 2018-09-14T12:14:42 Fix builds
Behdad Esfahbod 4653e6cf 2018-09-14T11:31:33 [aat] Add enums for pre-defined state and classes Not sure how I didn't add before...
Behdad Esfahbod 67449c39 2018-09-14T10:58:00 Don't dereference offset before check_struct()
Behdad Esfahbod ca746f26 2018-09-13T20:35:21 [dfont] Also check dataLen range in sanitize Just to disagree with myself re being done with this code...
Behdad Esfahbod 3789c557 2018-09-13T20:30:04 [dfont] Solve the mystery +2 offset thing! Previously, ResourceForkHeader was defined as 30 bytes, having the typeCountM1 as last member. There was a mysterious offset-by-2 in the code, derived from FontTools and JDK code this was ported from. In testing, I observed that typeListZ offset is actually 28. Suggesting that the typeCountM1 does NOT actually belong to ResourceForkHeader, but belongs to the array itself. Adjusting for that resolves the mystery +2 offset hack, so everything is clean and good now. This, concludes my dfont hacking. The code looks great now, and I'm happy to leave it. Fuzzers might disagree though, we will see!
Behdad Esfahbod effc7ced 2018-09-13T20:21:54 Rename HeadlessArrayOf::len to lenP1 So it doesn't accidentally match our templates, etc.
Behdad Esfahbod 180a88a9 2018-09-13T19:19:57 [dfont] Some more
Behdad Esfahbod 0ab0f1e5 2018-09-13T19:13:01 [dfont] Push methods further down
Behdad Esfahbod 8c9bdcc1 2018-09-13T19:08:22 [dfont] Minor
Behdad Esfahbod 4479d3a2 2018-09-13T19:05:59 [dfon]t Sanitize OpenTypeFontFace
Behdad Esfahbod 3fba4190 2018-09-13T18:49:16 [dfont] Minor
Behdad Esfahbod bf852f0e 2018-09-13T18:47:53 [dfont] Make test pass Offset 0 is not null in this context.
Behdad Esfahbod 29faebe9 2018-09-13T18:45:35 Allow Offset<>'s that have no 0==null
Behdad Esfahbod 82f4d776 2018-09-13T18:27:20 [dfont] Minor
Behdad Esfahbod 07e0ca93 2018-09-13T17:39:09 [bytes] Rename content to arrayZ
Behdad Esfahbod dbb764dc 2018-09-13T16:49:26 [dfont] Clean up sanitize() I don't think I broke anything. Fuzzers will let me know..
Behdad Esfahbod 361fc268 2018-09-13T16:47:33 Fix OffsetTo::sanitize() after reshuffling
Behdad Esfahbod 4c6b0fb5 2018-09-13T16:39:30 OffsetTo::sanitize() Add version with three user_data
Behdad Esfahbod a73bea69 2018-09-13T16:31:31 OffsetTo::sanitize() more shuffling
Behdad Esfahbod b482e523 2018-09-13T16:29:49 OffsetTo::sanitize() reshuffling
Behdad Esfahbod bd75fd45 2018-09-11T18:12:26 [dfont] Some renaming, plus add link to reference doc
Behdad Esfahbod 4134ec13 2018-09-11T17:56:03 [dfont] Sanitize only sfnt resources as OpenTypeFontFile
Behdad Esfahbod 6b5e4d07 2018-09-11T17:26:24 [dfont] Minor
Behdad Esfahbod d5c50927 2018-09-11T17:18:21 [dfont] Fix test expecatation and minor touch up I have no way to authoritatively know, but looks like test font only has one face. So, adjust test expectation instead.
Behdad Esfahbod 9479ffef 2018-09-11T16:41:26 [dfont] Re-enable and fix offset handling Fixes https://github.com/harfbuzz/harfbuzz/pull/1085
Behdad Esfahbod a1814e2b 2018-09-11T14:45:23 Whitespace
Behdad Esfahbod 383060cc 2018-09-11T14:41:19 [ft] Invalidate advance cache if font size changed
Behdad Esfahbod 54998bef 2018-09-11T14:35:26 [ft] Cache advances I decided to always use the cache, instead of my previous sketch direction that was to only allocate and use cache if fast advances are not available. The cache is a mere 1kb, so just use it... TODO: Invalidate cache on font size change. Fixes https://github.com/harfbuzz/harfbuzz/issues/651 Fixes https://github.com/harfbuzz/harfbuzz/pull/1082
Behdad Esfahbod 047a84c5 2018-09-11T14:05:16 [ft] Towards caching slow get_h_advance results Related to https://github.com/harfbuzz/harfbuzz/pull/1082
Behdad Esfahbod 237f2153 2018-09-11T13:05:47 [ft] Add advances() callback
Behdad Esfahbod cbea7d49 2018-09-11T12:56:17 [ot-font] Rename
Behdad Esfahbod d8a67dac 2018-09-11T12:55:54 [ot-font] Add advances() callbacks
Behdad Esfahbod 0ea42e11 2018-09-11T12:22:42 [cache] Minor
Behdad Esfahbod 0f520ada 2018-09-11T12:02:34 Revert "Remove unused hb_cache_t" This reverts commit 473b17af4d421f4ce7ac18c769731bb2aa4088f8. Updates to recent changes.
Behdad Esfahbod cfdea884 2018-09-11T10:57:48 [random] Switch to 32bit RNG
Behdad Esfahbod 08260c70 2018-09-11T10:51:19 [random] Shuffle
Behdad Esfahbod 71c9f84e 2018-09-10T22:37:19 Make --features rand=1 available to the user Use rand=255 to mean "randomize". Part of https://github.com/harfbuzz/harfbuzz/pull/803
Behdad Esfahbod cc1c4fdf 2018-09-10T16:36:05 Respect user's wish if they set rand feature manually Except if the set it to 1, which would mean "randomize"... Ugly.
Behdad Esfahbod 80de4bcd 2018-09-10T16:24:52 Minor clean up of 'rand' patchset
David Corbett b545e27d 2018-02-23T12:22:32 Don't seed the RNG from the contents of the buffer
David Corbett f05df643 2018-01-26T21:36:15 Allow requesting a specific glyph for 'rand' Randomization only happens by default. If the user specifies a value for 'rand', that value is respected.
David Corbett c2a75e07 2018-01-25T14:22:03 Implement 'rand'
Behdad Esfahbod 96471fe8 2018-09-11T01:39:23 [uniscribe] Fix build
Behdad Esfahbod becd84aa 2018-09-11T01:26:18 Add HB_FEATURE_GLOBAL_START/END Fixes https://github.com/harfbuzz/harfbuzz/issues/1141 New API: HB_FEATURE_GLOBAL_START HB_FEATURE_GLOBAL_END
Behdad Esfahbod 13a8786c 2018-09-11T01:07:06 Add (unused) hb_array_t<>
Behdad Esfahbod bccf3e18 2018-09-11T01:04:50 Minor
Behdad Esfahbod dff2c45f 2018-09-10T23:29:26 Port rest from VAR to UnsizedArrayOf<>
Behdad Esfahbod 9507b05a 2018-09-10T23:18:07 Simplify sanitize->check_array() Fix a bug in CBDT sanitize, and redundant check in avar.
Behdad Esfahbod bc485a98 2018-09-10T23:02:24 Port some VAR arrays to UnsizedArrayOf<> Fix avar sanitize().
Behdad Esfahbod 1bc7a8d6 2018-09-10T22:51:26 [indic] Cache hb_options().uniscribe_bug_compatible on indic_plan
Behdad Esfahbod 24f1d962 2018-09-10T18:19:37 Unbreak HB_OPTIONS Fixes https://github.com/harfbuzz/harfbuzz/issues/1154
Behdad Esfahbod e46c51f1 2018-09-10T17:38:19 [indic] Do NOT allow matra after Halant,ZWJ Fixes https://github.com/harfbuzz/harfbuzz/issues/556 Devanagari regresses 12 tests, and Gujarati 2. See: https://github.com/harfbuzz/harfbuzz/issues/556#issuecomment-419957472 New numbers: BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%) DEVANAGARI: 707299 out of 707394 tests passed. 95 failed (0.0134296%) GUJARATI: 366353 out of 366457 tests passed. 104 failed (0.0283799%) GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%) KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%) MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%) ORIYA: 42327 out of 42329 tests passed. 2 failed (0.00472489%) SINHALA: 271596 out of 271847 tests passed. 251 failed (0.0923313%) TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%) TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
Behdad Esfahbod 5dfd6e07 2018-09-10T15:45:32 Fix sanitize or Context Rule Fixes https://github.com/harfbuzz/harfbuzz/issues/1110
Behdad Esfahbod 20a11a82 2018-09-10T13:56:28 Revert "[subset] Disable GSUB/GPOS subsetting for now" This reverts commit 616fd34a69bb69bc35c7e4ea939e71c3ea2e92cb.
Behdad Esfahbod 54d332dd 2018-09-10T11:37:24 1.9.0
Behdad Esfahbod 616fd34a 2018-09-10T11:19:49 [subset] Disable GSUB/GPOS subsetting for now So I can get a release out. I haven't debugged those yet, and they are producing bad tables.
Behdad Esfahbod d42f0e58 2018-09-10T11:05:33 [atomic] Fix pointer type passed to InterlockedExchangeAdd() John Emmas reported on mailing list that build with MSVC is failing. Not sure why bots don't catch it, but this should fix.
Behdad Esfahbod fda994e1 2018-09-07T15:02:57 Use enum instead of "static const" in class scope Technically, static const needs an out-of-class definition. Eg: CXXLD libharfbuzz-subset.la Undefined symbols for architecture x86_64: "OT::FeatureVariationRecord::min_size", referenced from: bool OT::GSUBGPOS::subset<OT::PosLookup>(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o bool OT::GSUBGPOS::subset<OT::SubstLookup>(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o "OT::Record<OT::LangSys>::min_size", referenced from: OT::Script::subset(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o "OT::IntType<unsigned short, 2u>::min_size", referenced from: OT::Script::subset(hb_subset_context_t*) constin libharfbuzz_subset_la-hb-subset.o OT::RecordListOf<OT::Feature>::subset(hb_subset_context_t*) const in libharfbuzz_subset_la-hb-subset.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status make[4]: *** [libharfbuzz-subset.la] Error 1 make[3]: *** [all-recursive] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Exited with code 2
Behdad Esfahbod ebe67137 2018-09-07T10:46:13 Try fixing bots
Behdad Esfahbod 5f17dbc3 2018-09-07T10:24:22 [subset] Fix div-by-zero
Garret Rieger 21bf1470 2018-09-05T18:04:52 [subset] Fix hdmx subsetted size calculation.
Behdad Esfahbod 1e6599f5 2018-09-05T19:29:42 Fix older compilers re '>>' at nested template declarations
Behdad Esfahbod a1e5e07c 2018-09-05T16:24:28 [subset] Hook up GSUB/GPOS, but still disabled They are still in the drop list.
Behdad Esfahbod 0d160d5f 2018-09-03T20:50:11 [subset] Implement subsetting of SingleSubst
Behdad Esfahbod 3f00d0b0 2018-09-03T18:54:32 [subset] Keep glyph set in plan Should remove the vector version at some point...
Behdad Esfahbod dc50493a 2018-09-03T18:23:23 [subset] Towards subsetting SingleSubstFormat1 Why does subset plan not have a hb_set_t of glyphs?
Behdad Esfahbod 339d3603 2018-09-03T17:33:34 [subset] Wire up subset() call down to subtables
Behdad Esfahbod 7b2ef551 2018-09-03T17:16:09 Templatize Lookup::sanitize()
Behdad Esfahbod 9c3747c5 2018-09-03T16:53:03 [subset] More
Behdad Esfahbod 6d618522 2018-09-03T16:41:28 Templatize GSUBGPOS::sanitize()
Behdad Esfahbod 49c44b58 2018-09-03T16:37:17 [subset] Fix serialize_subset() calls Ouch.
Behdad Esfahbod 7c9cfa2b 2018-09-02T19:47:50 Add intersects() method to GSUB/GPOS lookups
Behdad Esfahbod 61ce62e5 2018-09-02T17:00:27 [subset] Minor Remove Lookup::subset().
Behdad Esfahbod bfa72a9a 2018-09-01T18:34:50 [subset] Towards GSUB/GPOS subsetting Add subset() call for GSUBGPOS struct and its dependencies. Not hooked up anywhere.
Behdad Esfahbod 6803ed86 2018-08-31T17:11:08 [serialize] Add reset()
Behdad Esfahbod e58b1902 2018-08-31T16:46:35 [subset] De-templatize hb_subset_context_t We're going to (finally) use virtual methods for hb_serialize_context_t customization, so don't need to carry a Serializer template variable around... Simplifies code.
Behdad Esfahbod 22acd424 2018-08-31T16:38:04 [serialize] Add a couple small methods
Behdad Esfahbod d1f29908 2018-08-31T16:31:00 [subset] Add hb_subset_context_t<>
Behdad Esfahbod aba0a945 2018-08-31T13:25:19 [subset] Add hb-subset-input.hh and make hb-subset.hh toplevel include
Behdad Esfahbod 18d01eac 2018-08-31T13:00:57 Minor
Behdad Esfahbod a23b892f 2018-08-29T18:28:39 Shuffle
Behdad Esfahbod 93fe0faa 2018-08-29T18:24:03 [subset] Clean up hb_subset_input_t API
Behdad Esfahbod d237ce71 2018-08-29T18:13:07 [subset] Bail if subsetting a table failed
Behdad Esfahbod f39166f0 2018-08-29T18:09:55 [subset] Remove unused hb_subset_profile_t We might reintroduce it later, but for now remove, as it was unused. Some things that should have been in this object (drop_hints, etc) are already in hb_subset_input_t. So, for now, keep everything there.
Behdad Esfahbod 2ccc322c 2018-08-29T16:38:04 [ot-font] Clean up cmap with gid=0 Fixes https://github.com/harfbuzz/harfbuzz/issues/1145
Behdad Esfahbod fee0f41c 2018-08-28T18:27:41 Don't declare extern symbols as inline clang -O3 was completely removing _get_gdef(), causing link failure when needed from another compilation unit. Surprisingly, "extern inline" didn't fix it.
Behdad Esfahbod 967741e4 2018-08-28T18:18:02 Add explicit to hb_auto_t 1param constructors
Behdad Esfahbod c0a3f38f 2018-08-28T17:22:38 Fix distcheck