Commit Graph

5979 Commits

Author SHA1 Message Date
Behdad Esfahbod 4a6a692e3e [fvar] Use hb_array_t for axes 2018-11-19 13:06:44 -05:00
Behdad Esfahbod e009739601 [fvar] Minor 2018-11-19 12:53:53 -05:00
Behdad Esfahbod 1a2eb108b8 [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
2018-11-19 12:36:56 -05:00
Behdad Esfahbod bd6b2ba1d3 [ot-var] Add flags
Unfortunate that we don't have room in hb_ot_var_axis_t to expose flags :(.
2018-11-19 11:34:56 -05:00
Behdad Esfahbod c076c7b85c [ot-var] Use hb_ot_name_id_t 2018-11-19 11:30:40 -05:00
Behdad Esfahbod e3a1a8350a 2.1.3 2018-11-16 16:53:25 -08:00
Behdad Esfahbod 9714e114b8 Fix recent commits 2018-11-16 16:52:42 -08:00
Behdad Esfahbod 0328a1ce41 Revert b4c6113032
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.
2018-11-16 16:48:28 -08:00
Behdad Esfahbod 52f61cdb87 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.
2018-11-16 16:41:59 -08:00
Behdad Esfahbod 6910ff03e6 [aat] Fix mort shaping
Ouch!
2018-11-16 16:11:02 -08:00
Behdad Esfahbod fdb29ab2b0 2.1.2 2018-11-16 15:38:11 -08:00
Behdad Esfahbod cff4c6087f Fix vertical fallback space sign
Ouch!

Follow-up to cf203af8a3

Fixes https://github.com/harfbuzz/harfbuzz/issues/1343
2018-11-16 15:04:41 -08:00
Behdad Esfahbod 7a97f70740 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
2018-11-16 14:46:40 -08:00
Behdad Esfahbod eafd515639 Prefer morx table if GSUB is empty (no scripts)
Fixes https://github.com/harfbuzz/harfbuzz/issues/1348
2018-11-16 14:45:56 -08:00
Behdad Esfahbod aa06574823 Minor 2018-11-16 14:31:05 -08:00
Behdad Esfahbod 50d1a41c08 [coretext] Hopefully the last one 2018-11-16 08:52:57 -05:00
Behdad Esfahbod 0aab861f9c [coretext] Another round 2018-11-16 08:43:25 -05:00
Behdad Esfahbod 0809b76a9a [coretext] One more try.. 2018-11-16 08:29:47 -05:00
Behdad Esfahbod 78bd447594 [coretext] One more try 2018-11-16 04:10:53 -05:00
Behdad Esfahbod fd27a23c82 [coretext] Another build fix attemt 2018-11-16 03:57:12 -05:00
Behdad Esfahbod 729aedf0da [directwrite] Fix build 2018-11-16 03:26:46 -05:00
Behdad Esfahbod cfb9771a3b [coretext] Try to fix 2018-11-16 03:25:07 -05:00
Behdad Esfahbod e3e9547365 [coretext] Unbreak build 2018-11-16 02:55:29 -05:00
Behdad Esfahbod ce5da0f36a [shaper] Rewrite shaper data code to be more template-driven than macro-driven 2018-11-16 02:52:20 -05:00
Behdad Esfahbod cb4bf85b14 [hdmx] Fix bounds checking
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11351
2018-11-16 02:02:24 -05:00
Behdad Esfahbod af727b4e62 [hdmx] Minor 2018-11-16 01:55:39 -05:00
Behdad Esfahbod 9e9f16c92d [subset] Remove invalid glyphs from glypset to retain
Fixes https://github.com/harfbuzz/harfbuzz/pull/1388
2018-11-16 01:48:26 -05:00
Ebrahim Byagowi 11aa0468ac [subset] minor, adjust spaces 2018-11-16 00:02:47 +03:30
Ebrahim Byagowi d7c50ff0d6 [math] minor, adjust spaces 2018-11-16 00:02:47 +03:30
Behdad Esfahbod cabe433fbb [base] Add TODO items 2018-11-15 02:48:50 -05:00
Behdad Esfahbod 3bf1ce748f [shaper] Rename 2018-11-14 21:08:54 -05:00
Behdad Esfahbod c221dc0ba7 [ot-shape] Move code around 2018-11-14 19:57:19 -05:00
Ebrahim Byagowi 7867c2bad0
[STAT] Add table parsing (#1384) 2018-11-14 22:13:50 +03:30
Behdad Esfahbod 48d16c2ab2 [hmtx] Fix signedness issue
Fixes https://github.com/harfbuzz/harfbuzz/issues/1248#issuecomment-438689499
2018-11-14 09:57:05 -05:00
Ebrahim Byagowi 29db2a44a6
[ot-color/svg] Note that it can be gzipped 2018-11-14 12:13:16 +03:30
Behdad Esfahbod 3c3eb5ea9c [aat] Disable fallback mark advance zeroing and positioning if morx applied
Fixes https://github.com/harfbuzz/harfbuzz/issues/1357
2018-11-13 21:10:10 -05:00
Behdad Esfahbod dc4225ccd1 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.
2018-11-13 20:48:46 -05:00
Behdad Esfahbod 086235f593
Merge pull request #1382 from punchcutter/master
Change USE Category for Grantha Virama
2018-11-13 19:50:25 -05:00
Behdad Esfahbod 2092f595c7
Merge pull request #1380 from kbrow1i/cygwin
Don't use Win32 API on Cygwin
2018-11-13 19:49:06 -05:00
punchcutter c565fc3fb3 Change USE Category for Grantha Virama
https://github.com/harfbuzz/harfbuzz/issues/1379
2018-11-13 12:51:10 -08:00
Behdad Esfahbod 475be9d5c6 Fix Windows build 2018-11-13 13:01:13 -05:00
Behdad Esfahbod fc44dea341 Use atomic ints for upem and num_glyphs on face 2018-11-13 11:54:33 -05:00
Behdad Esfahbod 9579ed9755 Make atomic types' internal values non-mutable
This resulted from confusion previously...
2018-11-13 11:46:20 -05:00
Behdad Esfahbod c52d5bcd94 [ot-face] Add 'head' table 2018-11-13 11:41:29 -05:00
Ken Brown eee5b5ed04 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.
2018-11-12 21:07:34 -05:00
Behdad Esfahbod 56f541d000 [shape-plan] Remove unused code 2018-11-12 19:46:37 -05:00
Behdad Esfahbod 6c22f3fd95 [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.
2018-11-12 19:26:01 -05:00
Behdad Esfahbod cc8428756a [shape-plan] Cache shape plans with variations based on variation indices 2018-11-12 18:48:10 -05:00
Behdad Esfahbod 8284cb9fb3 [shape-plan] Refactor more 2018-11-12 18:18:20 -05:00
Behdad Esfahbod 1082338525 [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.
2018-11-12 18:05:02 -05:00