|
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.
|
|
4e626278
|
2018-09-16T18:09:36
|
|
Enforce single-param static_assert() only
So we don't accidentally break it again.
|
|
ebd50b3c
|
2018-09-16T17:57:12
|
|
Fix static_assert
|
|
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.
|
|
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.
|
|
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!
|
|
effc7ced
|
2018-09-13T20:21:54
|
|
Rename HeadlessArrayOf::len to lenP1
So it doesn't accidentally match our templates, etc.
|
|
29faebe9
|
2018-09-13T18:45:35
|
|
Allow Offset<>'s that have no 0==null
|
|
361fc268
|
2018-09-13T16:47:33
|
|
Fix OffsetTo::sanitize() after reshuffling
|
|
4c6b0fb5
|
2018-09-13T16:39:30
|
|
OffsetTo::sanitize() Add version with three user_data
|
|
a73bea69
|
2018-09-13T16:31:31
|
|
OffsetTo::sanitize() more shuffling
|
|
b482e523
|
2018-09-13T16:29:49
|
|
OffsetTo::sanitize() reshuffling
|
|
bccf3e18
|
2018-09-11T01:04:50
|
|
Minor
|
|
dff2c45f
|
2018-09-10T23:29:26
|
|
Port rest from VAR to UnsizedArrayOf<>
|
|
9507b05a
|
2018-09-10T23:18:07
|
|
Simplify sanitize->check_array()
Fix a bug in CBDT sanitize, and redundant check in avar.
|
|
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
|
|
49c44b58
|
2018-09-03T16:37:17
|
|
[subset] Fix serialize_subset() calls
Ouch.
|
|
bfa72a9a
|
2018-09-01T18:34:50
|
|
[subset] Towards GSUB/GPOS subsetting
Add subset() call for GSUBGPOS struct and its dependencies.
Not hooked up anywhere.
|
|
d1f29908
|
2018-08-31T16:31:00
|
|
[subset] Add hb_subset_context_t<>
|
|
c77ae408
|
2018-08-25T22:36:36
|
|
Rename hb-*private.hh to hb-*.hh
Sorry for the noise, downstream custom builders. Please adjust.
|