Commit Graph

8348 Commits

Author SHA1 Message Date
Behdad Esfahbod f99abcc379 Add template-function convenience macros 2018-11-24 00:24:01 -05:00
Behdad Esfahbod ec83b2228e Add null bytes for CmapSubtableLongGroup 2018-11-23 19:59:31 -05:00
Behdad Esfahbod e2ffb33a53 Remove lsearch for small TableDirectorys 2018-11-23 16:24:28 -05:00
Behdad Esfahbod 04f7e55369 [arrays] Add as_array() to hb_vector_t<> 2018-11-23 16:07:43 -05:00
Behdad Esfahbod c514f65181 [arrays] Add as_array() to ArrayOf<> 2018-11-23 16:04:56 -05:00
Behdad Esfahbod 9552f4ef0d [kern] Don't enforce length of last subtable 2018-11-23 15:24:17 -05:00
Behdad Esfahbod 992b712865
Merge pull request #1407 from harfbuzz/at-sign
Don't canonicalize '@' to '-' in language tags
2018-11-23 13:49:34 -05:00
David Corbett 018ba46e4d Don't canonicalize '@' to '-' in language tags
Fixes #1406.
2018-11-23 13:21:22 -05:00
Ebrahim Byagowi c9cc96c0cf
[aat] Update expectation 2018-11-23 19:58:56 +03:30
Behdad Esfahbod 748962264a [aat] Disable mark advance zeroing if kern table has state-machines
Geeza Pro for example, relies on that for fancy mark positioning.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1405
2018-11-23 11:10:17 -05:00
Behdad Esfahbod 3d2b98ef14 Minor 2018-11-23 10:58:43 -05:00
Ebrahim Byagowi 341851efe1
[aat] Add macOS specific tests (#1404) 2018-11-23 15:40:05 +03:30
Behdad Esfahbod 22798e93c4 [use] Minor clarification 2018-11-22 22:47:51 -05:00
Behdad Esfahbod a2d6c1075a Minor tweak to FLAG64 2018-11-22 22:40:57 -05:00
Behdad Esfahbod 8280459e74
Merge pull request #1291 from harfbuzz/use-reordering
[use] Fix reordering
2018-11-22 22:39:12 -05:00
Behdad Esfahbod e4a4555d1e [cmap] Move code around 2018-11-22 22:17:49 -05:00
Behdad Esfahbod 758c9d68e2 [morx/kerx] Limit range to subtable when sanitizing 2018-11-22 22:16:12 -05:00
Behdad Esfahbod a9fe787a11 [sanitizer] Add reset_object(), make set_object() do bounds-check
Affects morx/kerx run-time only currently.  Will adjust their sanitize next.
2018-11-22 22:12:36 -05:00
Behdad Esfahbod 2c8188bf59 [kerx] Make sure subtables are non-zero-length
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11400
2018-11-22 22:02:19 -05:00
Behdad Esfahbod a9e0bdc35d [GSUB] Don't flush glyphset during recursion in closure()
See comment.

Supercedes https://github.com/harfbuzz/harfbuzz/pull/1401
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11366
2018-11-22 21:30:04 -05:00
Garret Rieger 8982830d3e [subset] add fuzzer testcase. 2018-11-22 21:30:01 -05:00
Behdad Esfahbod d0e81b2cc8 [set] Rename 2018-11-22 21:20:39 -05:00
Behdad Esfahbod e866910579 Enforce requiring null_size even if min_size is 0
This concludes null-size enforcement changes
2018-11-22 18:07:59 -05:00
Behdad Esfahbod 4d4fd64ff4 Allow non-nullable OffsetTo<> to non-Null'able objects 2018-11-22 18:07:36 -05:00
Behdad Esfahbod fa9f585ec5 [glyf] Don't mark structs UNBOUNDED
See comments.
2018-11-22 17:56:51 -05:00
Behdad Esfahbod f47a60a754 Mark UnsizedArrayOf<> as UNBOUNDED
Since min_size is 0, Null() still accepts this type.
2018-11-22 17:53:29 -05:00
Behdad Esfahbod 199a0f7b41 [ot-shape] Simplify logic 2018-11-22 17:31:07 -05:00
Behdad Esfahbod 014e4980ed Move 2018-11-22 16:21:49 -05:00
Behdad Esfahbod 62890dee18 [aat] Zero mark advances if decided so even if there's cross-kerning
Cross-kerning can only take care of positioning vertically.  It doesn't
adjust mark advance...
2018-11-22 16:20:29 -05:00
Behdad Esfahbod a201fa74cd [aat] Tweak fallback positioning logic when applying morx
Such that for Indic-like scripts (eg. Khmer), we don't do any fallback mark
advance-zeroing / positioning, but we do for Latin, etc.  Reuses preferences
of our script-specific OpenType shapers for those.

Fixes regression: https://github.com/harfbuzz/harfbuzz/issues/1393
Which means, fixes again: https://github.com/harfbuzz/harfbuzz/issues/1264
While not regressing: https://github.com/harfbuzz/harfbuzz/issues/1357
2018-11-22 15:52:29 -05:00
Behdad Esfahbod fa0bd8964d [myanmar] Minor move 2018-11-22 14:46:39 -05:00
Behdad Esfahbod 7dc561984b [myanmar] If there's no GSUB table, pick myanmar shaper
Needed for morx+kern mark-zeroing interaction.  All other scripts
work this way.
2018-11-22 14:45:46 -05:00
Behdad Esfahbod 25f52f58c2 [myanmar] Remove myanmar_old shaper
Over time it has become the same as default shaper.  So, remove.
2018-11-22 14:41:01 -05:00
Behdad Esfahbod eeed802b1d Fix spurious gcc warnings
../../src/hb-null.hh:53:39: warning: enum constant in boolean context [-Wint-in-bool-context]
2018-11-22 01:53:36 -05:00
Behdad Esfahbod b96ecb9971 More
This makes more of the gcc spurious warning:

../../src/hb-null.hh:53:39: warning: enum constant in boolean context [-Wint-in-bool-context]

But not going to let that defeat correct code.  Type to switch to clang
as my main compiler...
2018-11-22 01:49:12 -05:00
Behdad Esfahbod 2737aa81e5 Fix up recent change
Fixes https://github.com/harfbuzz/harfbuzz/issues/1300
2018-11-22 01:44:27 -05:00
Behdad Esfahbod fffea5aff7 Minor 2018-11-22 01:25:34 -05:00
Behdad Esfahbod 209b58ef73 Minor 2018-11-22 01:22:33 -05:00
Behdad Esfahbod 3b9fd176e8 Disallow taking Null() of unbounded structs
Not sure I've marked all such structs.  To be done as we discover.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1300
2018-11-22 01:18:55 -05:00
Behdad Esfahbod f2b91d6510 Use Type::null_size for our structs in Null(), sizeof() for other types 2018-11-22 01:10:22 -05:00
Behdad Esfahbod 7dd945a876 One more time.. 2018-11-22 01:05:17 -05:00
Behdad Esfahbod d062ad10de Fix bots happy again, hopefully
So, our fallback static_assert cannot be had more than once per line
of source.
2018-11-22 00:39:14 -05:00
Behdad Esfahbod fb10c021c8 Revert alignof() == 1 check
Bots not happy with using "this" inside assertion...

This reverts 2656644887
2018-11-22 00:21:49 -05:00
Behdad Esfahbod 8d778877b8 .. 2018-11-21 23:46:09 -05:00
Behdad Esfahbod 8cfeed9948 Minor 2018-11-21 23:42:31 -05:00
Behdad Esfahbod e5d954a2fb Minor 2018-11-21 23:30:50 -05:00
Behdad Esfahbod e987059c61 Minor 2018-11-21 23:25:06 -05:00
Behdad Esfahbod a2b6d308a4 Remove DEFINE_SIZE_ARRAY2 2018-11-21 23:23:49 -05:00
Behdad Esfahbod 2656644887 Check alignof() structs are 1 2018-11-21 23:23:21 -05:00
Behdad Esfahbod 6321fdf704 Whitespace 2018-11-21 23:19:00 -05:00