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
Behdad Esfahbod
ecdceea861
Merge pull request #1399 from harfbuzz/sharada-sandhi-mark
...
Fix USE categories for U+111C9 SHARADA SANDHI MARK
2018-11-21 16:12:32 -05:00
Behdad Esfahbod
b89c7fd3dc
Allow defining HB_USE_ATEXIT to 0
...
That's better use of that value than requiring extra macro HB_NO_ATEXIT
2018-11-21 12:32:48 -05:00
David Corbett
b3d5b0a5d9
Fix USE categories for U+111C9 SHARADA SANDHI MARK
2018-11-21 11:35:44 -05:00
Behdad Esfahbod
f48bb9a393
[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()
2018-11-20 20:46:14 -05:00
Behdad Esfahbod
b2d803cef6
Remove newly-added -hb_ot_var_axis_get_flags()
2018-11-20 20:46:14 -05:00
Behdad Esfahbod
736897d7a1
[var] Make sure hb_ot_var_axis_flags_t is int-sized
2018-11-20 20:46:14 -05:00
Behdad Esfahbod
eab5d15f61
[var] Move code
2018-11-20 20:46:14 -05:00
David Corbett
8295118279
Shrink the emoji table by merging adjacent ranges
2018-11-20 15:41:45 -05:00
Behdad Esfahbod
be1828daaa
[var] Fix type of coords returned
...
Ouch. Wonder how none of the bots caught the float->int truncation.
2018-11-20 11:16:23 -05:00
Behdad Esfahbod
831ba74382
Fix Codacy "issues"
2018-11-20 01:16:08 -05:00
David Corbett
3c7792ca32
[use] Fix reordering
...
Fixes #1235 .
2018-11-19 16:49:40 -05:00
Behdad Esfahbod
587d49fc65
[fvar] Add named-instance API
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1241
2018-11-19 14:51:34 -05:00
Behdad Esfahbod
46c0da820f
Fix build
2018-11-19 13:32:48 -05:00
Behdad Esfahbod
56c9238d3d
[fvar] Rewrite sanitize
2018-11-19 13:09:53 -05:00
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
Behdad Esfahbod
7ac03f88a2
[shape-plan] Minor
2018-11-12 17:50:30 -05:00
Behdad Esfahbod
c7be933439
[shape-plan] Refactor some more
2018-11-12 17:49:15 -05:00
Behdad Esfahbod
fc27777833
[shape-plan] Refactor more
2018-11-12 17:27:34 -05:00
Behdad Esfahbod
566612295b
[shape-plan] Turn hb_shape_plan_proposal_t into hb_shape_plan_key_t
...
And include it in hb_shape_plan_t itself.
2018-11-12 17:19:45 -05:00
Behdad Esfahbod
af123bd1b8
Add hb_memcmp()
2018-11-12 16:27:08 -05:00
Behdad Esfahbod
65456bff37
[shape-plan] Minor
2018-11-12 16:21:21 -05:00
Behdad Esfahbod
1db672a5e9
[shaper] Rename
2018-11-12 16:05:46 -05:00
Behdad Esfahbod
274f4c726f
Rename check_array2() to check_array()
2018-11-12 14:24:36 -05:00
Behdad Esfahbod
e014405a21
Rename check_array(array, a, b) to check_range()
2018-11-12 14:23:31 -05:00
Behdad Esfahbod
c8f4cc4927
[kerx] Fix integer overflow in multiply
...
Fixes https://oss-fuzz.com/v2/testcase-detail/5754863779053568
2018-11-12 14:11:29 -05:00
Behdad Esfahbod
1300f027a9
[kerx] Minor tweak on previous commit
2018-11-12 13:56:48 -05:00
Behdad Esfahbod
d6666b3866
[fuzzing] Remove limited-edition build of libraries
...
Use normal, production, shared libraries.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1237
2018-11-12 13:21:14 -05:00
Behdad Esfahbod
a549aa14a0
[kerx] Protect against stack underflow
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11367
2018-11-12 13:02:39 -05:00
Behdad Esfahbod
3e284e02c2
[shape-plan] Minor
2018-11-11 22:51:34 -05:00
Behdad Esfahbod
420c9de644
[shape-plan] Minor rename
2018-11-11 22:50:37 -05:00
Behdad Esfahbod
77bd0a6458
Add variation coords to shape_plan proposal
...
This is the root cause of bug worked around in 19e77e01bc
.
Still no shape plan caching for variations though.
2018-11-11 22:08:48 -05:00
Behdad Esfahbod
9c767d075d
Minor
2018-11-11 22:03:15 -05:00
Behdad Esfahbod
f521a28b4a
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.
2018-11-11 21:54:10 -05:00
Behdad Esfahbod
fabb012104
Remove wrong comment
2018-11-11 17:10:23 -05:00
Behdad Esfahbod
1fd183ee1c
Finish off eecccc919c
2018-11-11 16:47:52 -05:00
Behdad Esfahbod
1beacdded9
Minor
2018-11-11 16:35:28 -05:00
Behdad Esfahbod
e88d47b7f2
Minor
2018-11-11 16:25:43 -05:00
Behdad Esfahbod
55c66c7c56
Revert "Declare Null() constexpr"
...
This reverts commit 442a72d95a
.
Doesn't make sense. No idea how my local compilers where happy with it!
2018-11-11 16:09:38 -05:00
Behdad Esfahbod
98c6f03ccd
Minor
2018-11-11 15:54:20 -05:00
Behdad Esfahbod
442a72d95a
Declare Null() constexpr
2018-11-11 15:51:23 -05:00
Behdad Esfahbod
eecccc919c
Don't store to null object
...
Ouch :).
2018-11-11 15:48:47 -05:00
Behdad Esfahbod
903856ab50
Remove unused function
2018-11-11 15:45:58 -05:00
Behdad Esfahbod
0e0af11c62
[hdmx] Renames
2018-11-11 12:54:16 -05:00
Behdad Esfahbod
da6aa3b033
Add hb_blob_ptr_t.destroy()
2018-11-11 11:40:57 -05:00
Behdad Esfahbod
bb9abb4efd
[hmtx/port] Use hb_blob_ptr_t
2018-11-11 00:42:23 -05:00
Behdad Esfahbod
0e2680a6e8
[cmap] Port to hb_blob_ptr_t
...
Although didn't need it...
2018-11-11 00:28:47 -05:00
Behdad Esfahbod
0b0fad3ea8
[color] Port to hb_blob_ptr_t
...
Fix hb_blob_ptr_t::get_length () as well.
2018-11-11 00:26:55 -05:00
Behdad Esfahbod
925b7a214f
Comment
2018-11-11 00:17:30 -05:00
Behdad Esfahbod
dcb6386833
[shape-plan] Remove use of custom null object
2018-11-11 00:16:17 -05:00
Behdad Esfahbod
109891d498
[shape-plan] Make null object all zeros
...
To remove custom null object next..
2018-11-11 00:15:08 -05:00
Behdad Esfahbod
34185ff3bc
[blob] Use default null object
2018-11-11 00:12:30 -05:00
Behdad Esfahbod
2ee1d9f555
[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.
2018-11-11 00:11:28 -05:00
Behdad Esfahbod
5d0078a48b
Add hb_blob_ptr_t
...
Use in a couple of places. Push to bots to see how many unhappy before
I convert the rest.
2018-11-10 23:52:15 -05:00
Behdad Esfahbod
e44046ec49
Minor
2018-11-10 22:41:35 -05:00
Behdad Esfahbod
752bd8a192
[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
2018-11-10 21:13:32 -05:00
Behdad Esfahbod
f9e0552deb
[fuzzing] Make "make lib" faster and more usable
2018-11-10 21:06:56 -05:00
Behdad Esfahbod
4674655841
Minor
2018-11-10 20:11:10 -05:00
Behdad Esfahbod
a953b64750
Revert parts of previous commit that made clang unhappy
2018-11-10 20:10:03 -05:00
Behdad Esfahbod
1d66cdcf77
Better fix for MSVC 2008
...
Follow up on b4c6113032
Fixes https://github.com/harfbuzz/harfbuzz/issues/1374
2018-11-10 19:57:51 -05:00
Behdad Esfahbod
b4c6113032
Try fixing MSVC 2008 build
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1374
2018-11-10 16:35:39 -05:00
Behdad Esfahbod
f2e942f302
Fix hb_bytes_t's unused template array constructor
2018-11-10 16:11:14 -05:00
Behdad Esfahbod
6213a75b68
Add trivial casts to hb_bytes_t
2018-11-10 16:09:21 -05:00
Behdad Esfahbod
8bb97d2ce1
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.
2018-11-10 16:00:51 -05:00
Behdad Esfahbod
534e1d7694
Fix hb_bytes_t.cmp() for realz this time
2018-11-10 15:45:31 -05:00
Behdad Esfahbod
929f07dbfc
Fix hb_bytes_t.cmp()
...
Ouch!
2018-11-10 15:39:07 -05:00
Ebrahim Byagowi
1d82b4761d
[colr/feat/trak] minor
2018-11-10 19:31:12 +03:30
Behdad Esfahbod
3a9fa8c026
[qsort] Fix O(N^2) behavior if all array elements are the same
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11327
Reported as https://github.com/noporpoise/sort_r/issues/7
2018-11-10 01:58:26 -05:00
Behdad Esfahbod
b308aaccf0
[post] Minor
2018-11-10 01:58:26 -05:00
Behdad Esfahbod
4111c3b8cd
[post] Move sanitize close to data fields
2018-11-10 01:58:26 -05:00
Behdad Esfahbod
e26e6dbb33
[post] Remove unnecessary hb_nonnull_ptr_t<>
2018-11-10 01:58:26 -05:00
Ebrahim Byagowi
6b8178c649
[glyf] minor
2018-11-10 02:42:08 +03:30
Behdad Esfahbod
5f97fe9956
Fix a few MSVC 2008 warnings
...
https://github.com/harfbuzz/harfbuzz/issues/1374
2018-11-09 10:01:50 -05:00
Behdad Esfahbod
f51bb6ee7b
Merge pull request #1358 from ebraminio/lcar
...
Hook AAT's lcar to _get_ligature_carets
2018-11-08 14:42:40 -05:00
Ebrahim Byagowi
b986fead0a
Hook AAT's lcar to _get_ligature_carets
2018-11-08 23:06:26 +03:30
Ebrahim Byagowi
2d987110c0
[aat] Minor
2018-11-08 21:46:26 +03:30
Ebrahim Byagowi
b989507fa6
[aat] Minor ( #1369 )
2018-11-08 20:48:54 +03:30
Ebrahim Byagowi
f90423847b
[just] Initial table implementation ( #1364 )
...
A starting point, its sanitization is not tested however
2018-11-08 19:17:02 +03:30