Behdad Esfahbod [Sat, 24 Nov 2018 05:25:40 +0000 (00:25 -0500)]
Add hb_static_size(T)
Behdad Esfahbod [Sat, 24 Nov 2018 05:22:21 +0000 (00:22 -0500)]
Add template-function convenience macros
Behdad Esfahbod [Sat, 24 Nov 2018 00:58:49 +0000 (19:58 -0500)]
Add null bytes for CmapSubtableLongGroup
Behdad Esfahbod [Fri, 23 Nov 2018 21:24:28 +0000 (16:24 -0500)]
Remove lsearch for small TableDirectorys
Behdad Esfahbod [Fri, 23 Nov 2018 21:07:43 +0000 (16:07 -0500)]
[arrays] Add as_array() to hb_vector_t<>
Behdad Esfahbod [Fri, 23 Nov 2018 21:04:56 +0000 (16:04 -0500)]
[arrays] Add as_array() to ArrayOf<>
Behdad Esfahbod [Fri, 23 Nov 2018 20:24:17 +0000 (15:24 -0500)]
[kern] Don't enforce length of last subtable
Behdad Esfahbod [Fri, 23 Nov 2018 18:49:34 +0000 (13:49 -0500)]
Merge pull request #1407 from harfbuzz/at-sign
Don't canonicalize '@' to '-' in language tags
David Corbett [Fri, 23 Nov 2018 18:21:22 +0000 (13:21 -0500)]
Don't canonicalize '@' to '-' in language tags
Fixes #1406.
Ebrahim Byagowi [Fri, 23 Nov 2018 16:28:56 +0000 (19:58 +0330)]
[aat] Update expectation
Behdad Esfahbod [Fri, 23 Nov 2018 16:10:17 +0000 (11:10 -0500)]
[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
Behdad Esfahbod [Fri, 23 Nov 2018 15:45:44 +0000 (10:45 -0500)]
Minor
Ebrahim Byagowi [Fri, 23 Nov 2018 12:10:05 +0000 (15:40 +0330)]
[aat] Add macOS specific tests (#1404)
Behdad Esfahbod [Fri, 23 Nov 2018 03:47:51 +0000 (22:47 -0500)]
[use] Minor clarification
Behdad Esfahbod [Fri, 23 Nov 2018 03:40:57 +0000 (22:40 -0500)]
Minor tweak to FLAG64
Behdad Esfahbod [Fri, 23 Nov 2018 03:39:12 +0000 (22:39 -0500)]
Merge pull request #1291 from harfbuzz/use-reordering
[use] Fix reordering
Behdad Esfahbod [Fri, 23 Nov 2018 03:17:49 +0000 (22:17 -0500)]
[cmap] Move code around
Behdad Esfahbod [Fri, 23 Nov 2018 03:16:12 +0000 (22:16 -0500)]
[morx/kerx] Limit range to subtable when sanitizing
Behdad Esfahbod [Fri, 23 Nov 2018 03:12:36 +0000 (22:12 -0500)]
[sanitizer] Add reset_object(), make set_object() do bounds-check
Affects morx/kerx run-time only currently. Will adjust their sanitize next.
Behdad Esfahbod [Fri, 23 Nov 2018 03:02:19 +0000 (22:02 -0500)]
[kerx] Make sure subtables are non-zero-length
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11400
Behdad Esfahbod [Fri, 23 Nov 2018 02:30:04 +0000 (21:30 -0500)]
[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
Garret Rieger [Mon, 19 Nov 2018 21:00:24 +0000 (13:00 -0800)]
[subset] add fuzzer testcase.
Behdad Esfahbod [Fri, 23 Nov 2018 02:20:39 +0000 (21:20 -0500)]
[set] Rename
Behdad Esfahbod [Thu, 22 Nov 2018 23:07:59 +0000 (18:07 -0500)]
Enforce requiring null_size even if min_size is 0
This concludes null-size enforcement changes
Behdad Esfahbod [Thu, 22 Nov 2018 23:07:36 +0000 (18:07 -0500)]
Allow non-nullable OffsetTo<> to non-Null'able objects
Behdad Esfahbod [Thu, 22 Nov 2018 22:56:51 +0000 (17:56 -0500)]
[glyf] Don't mark structs UNBOUNDED
See comments.
Behdad Esfahbod [Thu, 22 Nov 2018 22:53:29 +0000 (17:53 -0500)]
Mark UnsizedArrayOf<> as UNBOUNDED
Since min_size is 0, Null() still accepts this type.
Behdad Esfahbod [Thu, 22 Nov 2018 22:31:07 +0000 (17:31 -0500)]
[ot-shape] Simplify logic
Behdad Esfahbod [Thu, 22 Nov 2018 21:21:49 +0000 (16:21 -0500)]
Move
Behdad Esfahbod [Thu, 22 Nov 2018 21:20:29 +0000 (16:20 -0500)]
[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...
Behdad Esfahbod [Thu, 22 Nov 2018 20:52:29 +0000 (15:52 -0500)]
[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
Behdad Esfahbod [Thu, 22 Nov 2018 19:46:39 +0000 (14:46 -0500)]
[myanmar] Minor move
Behdad Esfahbod [Thu, 22 Nov 2018 19:45:46 +0000 (14:45 -0500)]
[myanmar] If there's no GSUB table, pick myanmar shaper
Needed for morx+kern mark-zeroing interaction. All other scripts
work this way.
Behdad Esfahbod [Thu, 22 Nov 2018 19:41:01 +0000 (14:41 -0500)]
[myanmar] Remove myanmar_old shaper
Over time it has become the same as default shaper. So, remove.
Behdad Esfahbod [Thu, 22 Nov 2018 06:53:36 +0000 (01:53 -0500)]
Fix spurious gcc warnings
../../src/hb-null.hh:53:39: warning: enum constant in boolean context [-Wint-in-bool-context]
Behdad Esfahbod [Thu, 22 Nov 2018 06:49:12 +0000 (01:49 -0500)]
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...
Behdad Esfahbod [Thu, 22 Nov 2018 06:44:27 +0000 (01:44 -0500)]
Fix up recent change
Fixes https://github.com/harfbuzz/harfbuzz/issues/1300
Behdad Esfahbod [Thu, 22 Nov 2018 06:25:34 +0000 (01:25 -0500)]
Minor
Behdad Esfahbod [Thu, 22 Nov 2018 06:22:33 +0000 (01:22 -0500)]
Minor
Behdad Esfahbod [Thu, 22 Nov 2018 06:18:55 +0000 (01:18 -0500)]
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
Behdad Esfahbod [Thu, 22 Nov 2018 06:10:22 +0000 (01:10 -0500)]
Use Type::null_size for our structs in Null(), sizeof() for other types
Behdad Esfahbod [Thu, 22 Nov 2018 06:05:02 +0000 (01:05 -0500)]
One more time..
Behdad Esfahbod [Thu, 22 Nov 2018 05:39:14 +0000 (00:39 -0500)]
Fix bots happy again, hopefully
So, our fallback static_assert cannot be had more than once per line
of source.
Behdad Esfahbod [Thu, 22 Nov 2018 05:21:49 +0000 (00:21 -0500)]
Revert alignof() == 1 check
Bots not happy with using "this" inside assertion...
This reverts
2656644887e77a9d814bb12374af3c26b42fd935
Behdad Esfahbod [Thu, 22 Nov 2018 04:46:09 +0000 (23:46 -0500)]
..
Behdad Esfahbod [Thu, 22 Nov 2018 04:42:31 +0000 (23:42 -0500)]
Minor
Behdad Esfahbod [Thu, 22 Nov 2018 04:30:50 +0000 (23:30 -0500)]
Minor
Behdad Esfahbod [Thu, 22 Nov 2018 04:25:06 +0000 (23:25 -0500)]
Minor
Behdad Esfahbod [Thu, 22 Nov 2018 04:23:49 +0000 (23:23 -0500)]
Remove DEFINE_SIZE_ARRAY2
Behdad Esfahbod [Thu, 22 Nov 2018 04:23:21 +0000 (23:23 -0500)]
Check alignof() structs are 1
Behdad Esfahbod [Thu, 22 Nov 2018 04:19:00 +0000 (23:19 -0500)]
Whitespace
Behdad Esfahbod [Wed, 21 Nov 2018 22:27:27 +0000 (17:27 -0500)]
Merge pull request #1400 from harfbuzz/sharada-sandhi-mark
Test U+111C9 SHARADA SANDHI MARK
David Corbett [Wed, 21 Nov 2018 21:33:45 +0000 (16:33 -0500)]
Test U+111C9 SHARADA SANDHI MARK
Behdad Esfahbod [Wed, 21 Nov 2018 21:12:32 +0000 (16:12 -0500)]
Merge pull request #1399 from harfbuzz/sharada-sandhi-mark
Fix USE categories for U+111C9 SHARADA SANDHI MARK
Behdad Esfahbod [Wed, 21 Nov 2018 17:32:48 +0000 (12:32 -0500)]
Allow defining HB_USE_ATEXIT to 0
That's better use of that value than requiring extra macro HB_NO_ATEXIT
David Corbett [Wed, 21 Nov 2018 16:35:44 +0000 (11:35 -0500)]
Fix USE categories for U+111C9 SHARADA SANDHI MARK
Behdad Esfahbod [Wed, 21 Nov 2018 01:40:55 +0000 (20:40 -0500)]
[var] Deprecated axis enumeration API and add new version
New version has axis flags.
New API:
+hb_ot_var_axis_info_t
+hb_ot_var_find_axis_info()
+hb_ot_var_get_axis_infos()
Deprecated API:
-HB_OT_VAR_NO_AXIS_INDEX
-hb_ot_var_axis_t
-hb_ot_var_find_axis()
-hb_ot_var_get_axes()
Behdad Esfahbod [Tue, 20 Nov 2018 16:42:25 +0000 (11:42 -0500)]
Remove newly-added -hb_ot_var_axis_get_flags()
Behdad Esfahbod [Tue, 20 Nov 2018 16:40:43 +0000 (11:40 -0500)]
[var] Make sure hb_ot_var_axis_flags_t is int-sized
Behdad Esfahbod [Tue, 20 Nov 2018 16:33:33 +0000 (11:33 -0500)]
[var] Move code
Behdad Esfahbod [Tue, 20 Nov 2018 21:29:30 +0000 (16:29 -0500)]
Merge pull request #1397 from harfbuzz/small-emoji-table
Shrink the emoji table by merging adjacent ranges
David Corbett [Tue, 20 Nov 2018 20:41:45 +0000 (15:41 -0500)]
Shrink the emoji table by merging adjacent ranges
Behdad Esfahbod [Tue, 20 Nov 2018 16:16:23 +0000 (11:16 -0500)]
[var] Fix type of coords returned
Ouch. Wonder how none of the bots caught the float->int truncation.
Behdad Esfahbod [Tue, 20 Nov 2018 06:38:23 +0000 (01:38 -0500)]
[travis] Update Coverity token
Behdad Esfahbod [Tue, 20 Nov 2018 06:21:36 +0000 (01:21 -0500)]
Add codecov.io badge
Behdad Esfahbod [Tue, 20 Nov 2018 06:16:08 +0000 (01:16 -0500)]
Fix Codacy "issues"
Behdad Esfahbod [Tue, 20 Nov 2018 06:06:50 +0000 (01:06 -0500)]
[travis] Another push for codecov.io after setting token
Behdad Esfahbod [Tue, 20 Nov 2018 06:03:42 +0000 (01:03 -0500)]
[travis] Add codecov.io
David Corbett [Sat, 20 Oct 2018 19:02:26 +0000 (15:02 -0400)]
[use] Fix reordering
Fixes #1235.
Behdad Esfahbod [Mon, 19 Nov 2018 19:27:19 +0000 (14:27 -0500)]
[fvar] Add named-instance API
Fixes https://github.com/harfbuzz/harfbuzz/issues/1241
Behdad Esfahbod [Mon, 19 Nov 2018 18:32:48 +0000 (13:32 -0500)]
Fix build
Behdad Esfahbod [Mon, 19 Nov 2018 18:09:53 +0000 (13:09 -0500)]
[fvar] Rewrite sanitize
Behdad Esfahbod [Mon, 19 Nov 2018 18:04:43 +0000 (13:04 -0500)]
[fvar] Use hb_array_t for axes
Behdad Esfahbod [Mon, 19 Nov 2018 17:53:53 +0000 (12:53 -0500)]
[fvar] Minor
Behdad Esfahbod [Mon, 19 Nov 2018 17:36:56 +0000 (12:36 -0500)]
[ot-var] Add hb_ot_var_axis_get_flags()
Part of https://github.com/harfbuzz/harfbuzz/issues/1241
New API:
+hb_ot_var_axis_flags_t
+hb_ot_var_axis_get_flags
Behdad Esfahbod [Mon, 19 Nov 2018 16:34:56 +0000 (11:34 -0500)]
[ot-var] Add flags
Unfortunate that we don't have room in hb_ot_var_axis_t to expose flags :(.
Behdad Esfahbod [Mon, 19 Nov 2018 16:30:40 +0000 (11:30 -0500)]
[ot-var] Use hb_ot_name_id_t
Behdad Esfahbod [Sat, 17 Nov 2018 00:53:25 +0000 (16:53 -0800)]
2.1.3
Behdad Esfahbod [Sat, 17 Nov 2018 00:52:42 +0000 (16:52 -0800)]
Fix recent commits
Behdad Esfahbod [Sat, 17 Nov 2018 00:48:28 +0000 (16:48 -0800)]
Revert
b4c61130324455bfd42095b01fa14ac901e441f1
Was causing more trouble than it solved. We use unsigned for indexing,
and it's not helpful to allow that wrapping to negative integers on
32bit machines. The only way we could work around it would have been
by accepting int64_t arg, but that's overkill.
Ignore the MSVC 2008 build issue. We don't support that compiler.
Behdad Esfahbod [Sat, 17 Nov 2018 00:41:59 +0000 (16:41 -0800)]
Detect over/under-flow in UnsizedArray::operator[]
Was causing bad substitutions in mort table because of WordOffsetToIndex()
producing negative numbers that were cast to unsigned int and returned as
large numbers (which was desirable, so they would be rejected), but then
they were cast to int when passed to this operator and acting as small
negative integers, which was bad...
Detect overflow. Ouch, however, now I see this still fails on 32-bit.
Guess I'm going to revert an earlier change.
Behdad Esfahbod [Sat, 17 Nov 2018 00:11:02 +0000 (16:11 -0800)]
[aat] Fix mort shaping
Ouch!
Behdad Esfahbod [Fri, 16 Nov 2018 23:38:11 +0000 (15:38 -0800)]
2.1.2
Behdad Esfahbod [Fri, 16 Nov 2018 23:04:41 +0000 (15:04 -0800)]
Fix vertical fallback space sign
Ouch!
Follow-up to
cf203af8a33591c163b63dbdf0fd341bc4606190
Fixes https://github.com/harfbuzz/harfbuzz/issues/1343
Behdad Esfahbod [Fri, 16 Nov 2018 22:46:40 +0000 (14:46 -0800)]
Don't apply GPOS if applying morx
That's what Apple does, and it wouldn't degrade our OpenType performance.
Part of https://github.com/harfbuzz/harfbuzz/issues/1348
Behdad Esfahbod [Fri, 16 Nov 2018 22:45:56 +0000 (14:45 -0800)]
Prefer morx table if GSUB is empty (no scripts)
Fixes https://github.com/harfbuzz/harfbuzz/issues/1348
Behdad Esfahbod [Fri, 16 Nov 2018 22:31:05 +0000 (14:31 -0800)]
Minor
Behdad Esfahbod [Fri, 16 Nov 2018 13:52:57 +0000 (08:52 -0500)]
[coretext] Hopefully the last one
Behdad Esfahbod [Fri, 16 Nov 2018 13:43:25 +0000 (08:43 -0500)]
[coretext] Another round
Behdad Esfahbod [Fri, 16 Nov 2018 13:29:47 +0000 (08:29 -0500)]
[coretext] One more try..
Behdad Esfahbod [Fri, 16 Nov 2018 09:10:53 +0000 (04:10 -0500)]
[coretext] One more try
Behdad Esfahbod [Fri, 16 Nov 2018 08:57:12 +0000 (03:57 -0500)]
[coretext] Another build fix attemt
Behdad Esfahbod [Fri, 16 Nov 2018 08:26:46 +0000 (03:26 -0500)]
[directwrite] Fix build
Behdad Esfahbod [Fri, 16 Nov 2018 08:24:22 +0000 (03:24 -0500)]
[coretext] Try to fix
Behdad Esfahbod [Fri, 16 Nov 2018 07:55:29 +0000 (02:55 -0500)]
[coretext] Unbreak build
Behdad Esfahbod [Fri, 16 Nov 2018 07:29:13 +0000 (02:29 -0500)]
[shaper] Rewrite shaper data code to be more template-driven than macro-driven
Behdad Esfahbod [Fri, 16 Nov 2018 07:02:24 +0000 (02:02 -0500)]
[hdmx] Fix bounds checking
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11351
Behdad Esfahbod [Fri, 16 Nov 2018 06:55:39 +0000 (01:55 -0500)]
[hdmx] Minor
Behdad Esfahbod [Fri, 16 Nov 2018 06:48:26 +0000 (01:48 -0500)]
[subset] Remove invalid glyphs from glypset to retain
Fixes https://github.com/harfbuzz/harfbuzz/pull/1388
Ebrahim Byagowi [Thu, 15 Nov 2018 19:40:56 +0000 (23:10 +0330)]
[subset] minor, adjust spaces