src/hb-open-type.hh


Log

Author Commit Date CI Message
Behdad Esfahbod 606bf574 2018-09-16T19:33:48 Revert forcing use of single-parameter static_assert() Some clang versions define static_assert as a macro apparently, so we cannot redefine it... This reverts commit 94bfea0ce6a7b4d5641c198d50751748a353df11. This reverts commit 4e62627831e7457ed60ff87712570065b14b200a.
Behdad Esfahbod 4e626278 2018-09-16T18:09:36 Enforce single-param static_assert() only So we don't accidentally break it again.
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 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 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 29faebe9 2018-09-13T18:45:35 Allow Offset<>'s that have no 0==null
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 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 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 49c44b58 2018-09-03T16:37:17 [subset] Fix serialize_subset() calls Ouch.
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 d1f29908 2018-08-31T16:31:00 [subset] Add hb_subset_context_t<>
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.