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
Ebrahim Byagowi [Thu, 15 Nov 2018 19:40:49 +0000 (23:10 +0330)]
[math] minor, adjust spaces
Behdad Esfahbod [Thu, 15 Nov 2018 07:48:50 +0000 (02:48 -0500)]
[base] Add TODO items
Behdad Esfahbod [Thu, 15 Nov 2018 02:08:54 +0000 (21:08 -0500)]
[shaper] Rename
Behdad Esfahbod [Wed, 14 Nov 2018 19:49:34 +0000 (14:49 -0500)]
[ot-shape] Move code around
Ebrahim Byagowi [Wed, 14 Nov 2018 18:43:50 +0000 (22:13 +0330)]
[STAT] Add table parsing (#1384)
Behdad Esfahbod [Wed, 14 Nov 2018 14:56:30 +0000 (09:56 -0500)]
[hmtx] Fix signedness issue
Fixes https://github.com/harfbuzz/harfbuzz/issues/1248#issuecomment-
438689499
Ebrahim Byagowi [Wed, 14 Nov 2018 08:43:16 +0000 (12:13 +0330)]
[ot-color/svg] Note that it can be gzipped
Ebrahim Byagowi [Wed, 14 Nov 2018 04:59:17 +0000 (08:29 +0330)]
Merge pull request #1383 from punchcutter/master
Add test for https://github.com/harfbuzz/harfbuzz/issues/1379
punchcutter [Wed, 14 Nov 2018 04:44:27 +0000 (20:44 -0800)]
Add Grantha test
Behdad Esfahbod [Wed, 14 Nov 2018 02:10:10 +0000 (21:10 -0500)]
[aat] Disable fallback mark advance zeroing and positioning if morx applied
Fixes https://github.com/harfbuzz/harfbuzz/issues/1357
Behdad Esfahbod [Wed, 14 Nov 2018 01:48:46 +0000 (20:48 -0500)]
Don't retry creating again and again in lazy_loader if create failed
Still does that if get_null() returns nullptr. Our shaper data objects
are like that. Shrug.
Behdad Esfahbod [Wed, 14 Nov 2018 00:50:25 +0000 (19:50 -0500)]
Merge pull request #1382 from punchcutter/master
Change USE Category for Grantha Virama
Behdad Esfahbod [Wed, 14 Nov 2018 00:49:06 +0000 (19:49 -0500)]
Merge pull request #1380 from kbrow1i/cygwin
Don't use Win32 API on Cygwin
punchcutter [Tue, 13 Nov 2018 20:51:10 +0000 (12:51 -0800)]
Change USE Category for Grantha Virama
https://github.com/harfbuzz/harfbuzz/issues/1379
Behdad Esfahbod [Tue, 13 Nov 2018 18:01:13 +0000 (13:01 -0500)]
Fix Windows build
Behdad Esfahbod [Tue, 13 Nov 2018 16:54:33 +0000 (11:54 -0500)]
Use atomic ints for upem and num_glyphs on face
Behdad Esfahbod [Tue, 13 Nov 2018 16:45:12 +0000 (11:45 -0500)]
Make atomic types' internal values non-mutable
This resulted from confusion previously...
Behdad Esfahbod [Tue, 13 Nov 2018 16:41:29 +0000 (11:41 -0500)]
[ot-face] Add 'head' table
Ken Brown [Tue, 13 Nov 2018 02:05:39 +0000 (21:05 -0500)]
Don't use Win32 API on Cygwin
Cygwin is a Posix platform to the extent possible. It should use the
Posix API except in special circumstances.
Behdad Esfahbod [Tue, 13 Nov 2018 00:46:37 +0000 (19:46 -0500)]
[shape-plan] Remove unused code
Behdad Esfahbod [Tue, 13 Nov 2018 00:26:01 +0000 (19:26 -0500)]
[shape-plan] Implement fine-grained caching plans with user-features
Only tag, value, and global-ness of features are considered, not their
start/end offsets.
Behdad Esfahbod [Mon, 12 Nov 2018 23:48:10 +0000 (18:48 -0500)]
[shape-plan] Cache shape plans with variations based on variation indices
Behdad Esfahbod [Mon, 12 Nov 2018 23:18:20 +0000 (18:18 -0500)]
[shape-plan] Refactor more
Behdad Esfahbod [Mon, 12 Nov 2018 23:05:02 +0000 (18:05 -0500)]
[shape-plan] Only use shape-plan key to initialize hb_ot_shape_plan_t
Such that we don't accidentally use info not in the cache key.
Behdad Esfahbod [Mon, 12 Nov 2018 22:50:30 +0000 (17:50 -0500)]
[shape-plan] Minor
Behdad Esfahbod [Mon, 12 Nov 2018 22:49:15 +0000 (17:49 -0500)]
[shape-plan] Refactor some more
Behdad Esfahbod [Mon, 12 Nov 2018 22:27:34 +0000 (17:27 -0500)]
[shape-plan] Refactor more
Behdad Esfahbod [Mon, 12 Nov 2018 22:19:45 +0000 (17:19 -0500)]
[shape-plan] Turn hb_shape_plan_proposal_t into hb_shape_plan_key_t
And include it in hb_shape_plan_t itself.
Behdad Esfahbod [Mon, 12 Nov 2018 21:27:08 +0000 (16:27 -0500)]
Add hb_memcmp()
Behdad Esfahbod [Mon, 12 Nov 2018 21:15:26 +0000 (16:15 -0500)]
[shape-plan] Minor
Behdad Esfahbod [Mon, 12 Nov 2018 21:05:09 +0000 (16:05 -0500)]
[shaper] Rename
Behdad Esfahbod [Mon, 12 Nov 2018 19:25:18 +0000 (14:25 -0500)]
[fuzzing] Add new test
Behdad Esfahbod [Mon, 12 Nov 2018 19:24:36 +0000 (14:24 -0500)]
Rename check_array2() to check_array()
Behdad Esfahbod [Mon, 12 Nov 2018 19:23:31 +0000 (14:23 -0500)]
Rename check_array(array, a, b) to check_range()
Behdad Esfahbod [Mon, 12 Nov 2018 19:11:29 +0000 (14:11 -0500)]
[kerx] Fix integer overflow in multiply
Fixes https://oss-fuzz.com/v2/testcase-detail/
5754863779053568
Behdad Esfahbod [Mon, 12 Nov 2018 18:56:48 +0000 (13:56 -0500)]
[kerx] Minor tweak on previous commit
Behdad Esfahbod [Mon, 12 Nov 2018 18:21:14 +0000 (13:21 -0500)]
[fuzzing] Remove limited-edition build of libraries
Use normal, production, shared libraries.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1237
Behdad Esfahbod [Mon, 12 Nov 2018 18:01:22 +0000 (13:01 -0500)]
[kerx] Protect against stack underflow
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11367
Behdad Esfahbod [Mon, 12 Nov 2018 03:51:34 +0000 (22:51 -0500)]
[shape-plan] Minor
Behdad Esfahbod [Mon, 12 Nov 2018 03:38:05 +0000 (22:38 -0500)]
[shape-plan] Minor rename
Behdad Esfahbod [Mon, 12 Nov 2018 03:08:48 +0000 (22:08 -0500)]
Add variation coords to shape_plan proposal
This is the root cause of bug worked around in
19e77e01bc13f44138e1d50533327d314dd0a018.
Still no shape plan caching for variations though.
Behdad Esfahbod [Mon, 12 Nov 2018 03:03:15 +0000 (22:03 -0500)]
Minor
Behdad Esfahbod [Mon, 12 Nov 2018 02:32:01 +0000 (21:32 -0500)]
Embed hb_ot_shape_plan_t into hb_shape_plan_t
No other shaper will need shape_plan_data, by definition. So, remove
abstraction layer and always create hb_ot_shape_plan_t as part of
hb_shape_plan_t.
Behdad Esfahbod [Sun, 11 Nov 2018 22:10:23 +0000 (17:10 -0500)]
Remove wrong comment
Behdad Esfahbod [Sun, 11 Nov 2018 21:47:52 +0000 (16:47 -0500)]
Behdad Esfahbod [Sun, 11 Nov 2018 21:35:28 +0000 (16:35 -0500)]
Minor
Behdad Esfahbod [Sun, 11 Nov 2018 21:25:43 +0000 (16:25 -0500)]
Minor
Behdad Esfahbod [Sun, 11 Nov 2018 21:09:38 +0000 (16:09 -0500)]
Revert "Declare Null() constexpr"
This reverts commit
442a72d95ab1fb3a47b486d8d1eb68e909d0ffb8.
Doesn't make sense. No idea how my local compilers where happy with it!
Behdad Esfahbod [Sun, 11 Nov 2018 20:54:20 +0000 (15:54 -0500)]
Minor
Behdad Esfahbod [Sun, 11 Nov 2018 20:51:23 +0000 (15:51 -0500)]
Declare Null() constexpr
Behdad Esfahbod [Sun, 11 Nov 2018 20:48:47 +0000 (15:48 -0500)]
Don't store to null object
Ouch :).
Behdad Esfahbod [Sun, 11 Nov 2018 20:45:58 +0000 (15:45 -0500)]
Remove unused function
Behdad Esfahbod [Sun, 11 Nov 2018 17:54:16 +0000 (12:54 -0500)]
[hdmx] Renames
Behdad Esfahbod [Sun, 11 Nov 2018 16:40:57 +0000 (11:40 -0500)]
Add hb_blob_ptr_t.destroy()
Behdad Esfahbod [Sun, 11 Nov 2018 05:39:52 +0000 (00:39 -0500)]
[hmtx/port] Use hb_blob_ptr_t
Behdad Esfahbod [Sun, 11 Nov 2018 05:28:47 +0000 (00:28 -0500)]
[cmap] Port to hb_blob_ptr_t
Although didn't need it...
Behdad Esfahbod [Sun, 11 Nov 2018 05:26:55 +0000 (00:26 -0500)]
[color] Port to hb_blob_ptr_t
Fix hb_blob_ptr_t::get_length () as well.
Behdad Esfahbod [Sun, 11 Nov 2018 05:17:30 +0000 (00:17 -0500)]
Comment
Behdad Esfahbod [Sun, 11 Nov 2018 05:16:17 +0000 (00:16 -0500)]
[shape-plan] Remove use of custom null object
Behdad Esfahbod [Sun, 11 Nov 2018 05:15:08 +0000 (00:15 -0500)]
[shape-plan] Make null object all zeros
To remove custom null object next..
Behdad Esfahbod [Sun, 11 Nov 2018 05:12:30 +0000 (00:12 -0500)]
[blob] Use default null object
Behdad Esfahbod [Sun, 11 Nov 2018 05:11:28 +0000 (00:11 -0500)]
[blob] Change null object memory mode to DUPLICATE
We never rely on that being equal to readonly. Just not being
writable. Maybe not even that given that the object is inert.
In prep for next commit, using default null pool.
Behdad Esfahbod [Sun, 11 Nov 2018 04:52:15 +0000 (23:52 -0500)]
Add hb_blob_ptr_t
Use in a couple of places. Push to bots to see how many unhappy before
I convert the rest.
Behdad Esfahbod [Sun, 11 Nov 2018 03:41:35 +0000 (22:41 -0500)]
Minor
Behdad Esfahbod [Sun, 11 Nov 2018 02:13:13 +0000 (21:13 -0500)]
[kerx] Fix Format1 tupleKern sanitization
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11312
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11305
Behdad Esfahbod [Sun, 11 Nov 2018 02:01:49 +0000 (21:01 -0500)]
[fuzzing] Make "make lib" faster and more usable
Behdad Esfahbod [Sun, 11 Nov 2018 01:11:10 +0000 (20:11 -0500)]
Minor
Behdad Esfahbod [Sun, 11 Nov 2018 01:10:03 +0000 (20:10 -0500)]
Revert parts of previous commit that made clang unhappy
Behdad Esfahbod [Sun, 11 Nov 2018 00:54:08 +0000 (19:54 -0500)]
Better fix for MSVC 2008
Follow up on
b4c61130324455bfd42095b01fa14ac901e441f1
Fixes https://github.com/harfbuzz/harfbuzz/issues/1374
Behdad Esfahbod [Sat, 10 Nov 2018 21:35:39 +0000 (16:35 -0500)]
Try fixing MSVC 2008 build
Fixes https://github.com/harfbuzz/harfbuzz/issues/1374
Behdad Esfahbod [Sat, 10 Nov 2018 21:11:14 +0000 (16:11 -0500)]
Fix hb_bytes_t's unused template array constructor
Behdad Esfahbod [Sat, 10 Nov 2018 21:09:21 +0000 (16:09 -0500)]
Add trivial casts to hb_bytes_t
Behdad Esfahbod [Sat, 10 Nov 2018 20:54:33 +0000 (15:54 -0500)]
Revert back hb_bytes_t.cmp() to the scheme it was
But fix UBSan complaint.
There's nothing in hb_bytes_t that guarantees lexical ordering, and
ordering by length first is much faster.
Behdad Esfahbod [Sat, 10 Nov 2018 20:43:16 +0000 (15:43 -0500)]
Fix hb_bytes_t.cmp() for realz this time
Behdad Esfahbod [Sat, 10 Nov 2018 20:38:48 +0000 (15:38 -0500)]
Fix hb_bytes_t.cmp()
Ouch!