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
Michiharu Ariza
515f1a1614
Merge branch 'master' into cff-subset
2018-11-16 17:38:47 -08:00
Michiharu Ariza
a6da9b9415
fixed Charset format selection
2018-11-16 17:29:03 -08: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
Michiharu Ariza
b6903bd6c4
ensure fdmap initialized as identity for single-FD (non-CID) fonts
2018-11-16 13:46:58 -08:00
Michiharu Ariza
b403be8ad9
Merge branch 'master' into cff-subset
2018-11-16 12:29:18 -08:00
Michiharu Ariza
b67a7c731f
drop dotsection as hint along with test case
2018-11-16 12:28:24 -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
Michiharu Ariza
072c7aba92
use 2-byte offset instead of 4-byte for local subrs
...
more than enough since local subrs immediately follow its corresponding private dict, as the result 2-byte redunction for each font dict with local subrs
updated api test expected subset fonts accordingly
2018-11-15 15:41:46 -08:00
Michiharu Ariza
9d0231cfe7
fixed a subset bug when no font dicts reduce
2018-11-15 15:39:43 -08: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
Michiharu Ariza
13735570f0
reject nested seac
2018-11-15 12:10:23 -08:00
Michiharu Ariza
c37aecd41c
Merge branch 'master' into cff-subset
2018-11-15 11:03:46 -08:00
Michiharu Ariza
ecdb77f0ae
fixed CFF1 subset of std encoding & non-std charset combo
2018-11-15 10:54:15 -08:00
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
Michiharu Ariza
892ab37e7c
Merge branch 'master' into cff-subset
2018-11-14 13:54:07 -08:00
Michiharu Ariza
3787c07856
Implemented seac for extents & subset along with API tests
2018-11-14 13:38:03 -08: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
Michiharu Ariza
41a8bc7fd9
Merge branch 'master' into cff-subset
2018-11-12 08:49:00 -08:00
Michiharu Ariza
0dfa584cb4
changed Adobe company name
2018-11-12 08:47:07 -08: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
Michiharu Ariza
fb2a037f54
Merge branch 'master' into cff-subset
2018-11-10 16:23:11 -08: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
Michiharu Ariza
8798416587
fixed vstem handling (lack thereof) in check_width
...
bug exposed by U+2261 equivalence in SourceCodePro-Regular.otf
2018-11-09 08:59:18 -08:00
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
Michiharu Ariza
26c291aaa0
Merge branch 'master' into cff-subset
2018-11-08 09:06:49 -08:00
Michiharu Ariza
417963dd9f
got rid of Remap::fullset() as incorrect, redundant, inefficient
2018-11-08 09:01:20 -08:00
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
Ebrahim Byagowi
b8b00fb3c6
[aat] Support Lookup<OffsetTo<>>, needed by just and lcar ( #1368 )
2018-11-08 18:53:14 +03:30
Behdad Esfahbod
15326826bf
[aat] Ignore cross-stream offset of deleted-glyphs
...
I think it makes sense to accumulate it, but Ned tells me that's
what CoreText does.
2018-11-07 21:58:04 -05:00
Michiharu Ariza
636a6833c5
fixed ends_in_hint bug
...
subr ends in hint itself should be regarded as hint
this flag should propagate to its caller if the call itself is at the end of the caller
2018-11-07 17:58:45 -08:00
Behdad Esfahbod
517a1bac97
Merge pull request #1362 from harfbuzz/cross-kern
...
Vastly improve kern/kerx tables, including cross-stream "kerning"
2018-11-07 18:40:48 -05:00
Behdad Esfahbod
b18a56a290
[kerx] Comment
2018-11-07 18:13:22 -05:00
Michiharu Ariza
4d74020694
Merge branch 'master' into cff-subset
2018-11-07 15:09:30 -08:00
Michiharu Ariza
e0c30b961d
merge with cff-subset branch
2018-11-07 15:08:55 -08:00
Behdad Esfahbod
006386be3a
[kern] Implement negative state numbers
...
Let the fuzzing bots rip this code apart...
2018-11-07 18:04:53 -05:00
Michiharu Ariza
0996c0ff62
implented no-desubroutinize with CFF2 along with API test
...
replaced AdobeVFPrototype.abc.otf with a hinted (maually) & subroutinized copy
replaced expected results as well
2018-11-07 14:48:37 -08:00
Behdad Esfahbod
29c5302376
[morx] Minor
2018-11-07 17:29:37 -05:00
Behdad Esfahbod
385f78b312
[aat] Remove deleted-glyhs after applying kerx/kern
...
Finally: Fixes https://github.com/harfbuzz/harfbuzz/issues/1356
Test case:
$ ./hb-shape GeezaPro.ttc -u U+0628,U+064A,U+064E,U+0651,U+0629
[u0629.final.tehMarbuta=4+713|u064e_u0651.shaddaFatha=1@0,-200+0|u064a.medial.yeh=1+656|u0628.initial.beh=0+656]
The mark positioning (kern table CrossStream kerning) only works if deleted
glyph (as result of ligation) is still in stream and pushed through the
state machine.
2018-11-07 17:20:47 -05:00
Behdad Esfahbod
1909072235
[aat] Add debug info to state machine
2018-11-07 16:42:16 -05:00
Behdad Esfahbod
ca23567f41
Disable fallback mark positioning if kern table has cross-stream kerning
...
Happens even if the cross-stream kerning is for cursive attachment only. Oh well..
2018-11-07 16:19:51 -05:00
Behdad Esfahbod
5cf6f94dfd
Don't apply both kerx and kern
...
Ouch!
2018-11-07 16:07:22 -05:00
Behdad Esfahbod
41cff7afc9
Minor
2018-11-07 16:05:36 -05:00
Behdad Esfahbod
9af983af24
[kern] Switch to dispatch
2018-11-07 16:03:09 -05:00
Behdad Esfahbod
bc06e2805a
[kerx/kern] Add has_cross_stream()
2018-11-07 16:02:40 -05:00
Behdad Esfahbod
ea579f9ccc
[kerx] Fix peculiar indexing that was needed previously
...
Not needed now that we use GPOS attachment for cursive kerx.
2018-11-07 15:50:23 -05:00
Behdad Esfahbod
6ee6cd93d8
[GPOS] Only mark unsafe-to-break if kerning happened
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1365
2018-11-07 15:40:55 -05:00
Behdad Esfahbod
501a364d9b
[GPOS] Add TODO item
2018-11-07 15:02:16 -05:00
Behdad Esfahbod
7a9629f2f1
[kerx] Implement CrossStream kerning for non-state-machine subtables
...
Untested.
2018-11-07 14:52:57 -05:00
Behdad Esfahbod
0eb4157011
[kerx] Disable backwards-kerning for non-state-machine tables
...
That's what the spec says for Backwards flag, only applicable to
formats 1 and 4.
2018-11-07 14:42:15 -05:00
Behdad Esfahbod
b2f687c256
[kerx] Use GPOS attachment facilities for CrossStream kerning
2018-11-07 14:38:29 -05:00
Behdad Esfahbod
e10a856eb2
[kerx] Format
2018-11-07 14:11:48 -05:00
Behdad Esfahbod
649cc3ef27
[kerx] Don't disable crossKerning if kern feature is off
2018-11-07 14:07:13 -05:00
Behdad Esfahbod
0c3b061ac2
[kern] Apply erlier, where GPOS/kerx are applied
2018-11-07 13:58:41 -05:00
Behdad Esfahbod
f4bad0086e
[kerx] Implement tupleKerning for Format1
...
Untested.
2018-11-07 13:51:17 -05:00
Behdad Esfahbod
39b4ef6f18
[kerx] Better sanitize tupleKerning
2018-11-07 13:48:45 -05:00
Behdad Esfahbod
14772da06f
[kern/kerx] Share KernTable, renamed to KerxTable
2018-11-07 13:40:22 -05:00
Behdad Esfahbod
c038f5be6b
[fallback] Minor
2018-11-07 13:35:06 -05:00
Behdad Esfahbod
db6e658e8c
[kern/kerx] More towards sharing KernTable
2018-11-07 13:33:23 -05:00
Behdad Esfahbod
89ec095979
[kern] Disable Format1 and Format3 for OT-style tables
2018-11-07 13:10:05 -05:00
Behdad Esfahbod
ab57bcae0f
[kern] Minor
2018-11-07 13:04:21 -05:00
Behdad Esfahbod
30af5b4a4c
[kern] Move code
2018-11-07 12:57:10 -05:00
Behdad Esfahbod
1ff300464a
[kern] Massage more
2018-11-07 12:51:49 -05:00
Behdad Esfahbod
8e9f6cd0fd
[kerx] More minor
2018-11-07 12:49:20 -05:00
Behdad Esfahbod
f8c3df7d4a
[kern/kerx] Minor
2018-11-07 12:48:06 -05:00
Behdad Esfahbod
f5e0a63a22
[kern/kerx] Towards sharing KernTable
2018-11-07 12:32:51 -05:00
Behdad Esfahbod
330508497d
[kern/kerx] Minor
2018-11-07 12:27:44 -05:00
Behdad Esfahbod
1a5ef84900
[kern/kerx] Share Format2
...
This, enables Format2 for kern table, which was disabled before.
2018-11-07 12:19:52 -05:00
Behdad Esfahbod
8faec4e334
[kerx] Towards merging Format2
2018-11-07 12:16:38 -05:00
Michiharu Ariza
ae8fd0dbfb
clear stack after vsindex op
2018-11-07 09:16:12 -08:00
Michiharu Ariza
7fed7d80f7
fixed off-by-one error in CFF1 Encoding lookup
2018-11-07 09:09:13 -08:00
Behdad Esfahbod
d5c0ca210f
[aat] Minor
2018-11-07 12:08:44 -05:00
Behdad Esfahbod
e72e041c3c
[kerx] Rename
2018-11-07 11:56:36 -05:00
Behdad Esfahbod
241ba7da51
[morx/kerx] Rename types
2018-11-07 11:51:40 -05:00
Behdad Esfahbod
c808e444da
[kern/kerx] Share Format1 subtable
2018-11-07 11:47:12 -05:00
Behdad Esfahbod
a244190afa
[kerx] Minor
2018-11-07 11:47:12 -05:00
Behdad Esfahbod
2a72091196
[kerx] Minor
2018-11-07 11:26:57 -05:00
Behdad Esfahbod
f5f4ca7871
[kern/kerx] Enable crossStream kerning in vertical
...
CoreText doesn't, but no reason we shouldn't do.
2018-11-07 11:21:09 -05:00
Behdad Esfahbod
d5c88af4a2
[kerx] More towards sharing Format1
2018-11-07 11:20:14 -05:00
Behdad Esfahbod
b693fd0dc6
[morx] Simplify
2018-11-07 11:10:24 -05:00
Behdad Esfahbod
ce3451dc2a
[kerx] Towards sharing Format1
2018-11-07 11:02:04 -05:00
Behdad Esfahbod
e890753ebb
[morx] Minor
2018-11-07 10:59:53 -05:00
Behdad Esfahbod
5b17853547
[kern/kerx] Share Format0
2018-11-07 10:45:25 -05:00
Behdad Esfahbod
c97dde5d55
[kern/kerx] Towards merge more
2018-11-07 10:39:39 -05:00
Behdad Esfahbod
540ccc38b0
[kern/kerx] More towards sharing
2018-11-07 10:33:46 -05:00
Behdad Esfahbod
d0f8f4c200
[kern] Move kern machine to hb-kern.hh
2018-11-07 10:25:25 -05:00
Behdad Esfahbod
a6acff252c
[kerx] Towards sharing subtables with kern
2018-11-07 10:19:57 -05:00
Behdad Esfahbod
befac337ca
[kern] Remove Override business
...
Not used in any fonts. Not well-specified when mixing kerning with
Cross-Stream positioning.
2018-11-07 09:53:50 -05:00
Behdad Esfahbod
9d5027696e
[post] Return true on truncation
...
Client can check that buffer was completely filled out and reallocate.
2018-11-07 09:16:53 -05:00
Behdad Esfahbod
7d91f07edf
[post] Protect against huge empty tables
2018-11-07 09:14:42 -05:00
Behdad Esfahbod
5ed816ab59
[post] Minor
2018-11-07 09:13:51 -05:00
Behdad Esfahbod
64f0becd89
[post] Fix bound checking
2018-11-07 09:10:55 -05:00
HinTak
7ec694ddf2
Use non-GRID-fitted values for metrics ( #1363 )
...
* Use non-GRID-fitted values for metrics
See freetype/src/base/ftobjs.c:ft_recompute_scaled_metrics() and
the usage of GRID_FIT_METRICS inside.
Fixes https://github.com/behdad/harfbuzz/issues/1262
* Update hb-ft.cc
2018-11-07 08:19:36 -05:00
Behdad Esfahbod
59e04e4231
[kern/kerx] Fix cursive joining
...
Tested with Waseem TTC:
$ hb-shape Waseem.ttc جحخج
[F1Jeem_R2=3@0,180+479|M1Khah_L2_R2=2@0,682+403|M1Hah_L2_R2=1@0,1184+403|I1Jeem_L2=0@0,1184+744]
2018-11-07 00:27:20 -05:00
Behdad Esfahbod
8d0f797139
[kern/kerx] Fix "reset" magic value
2018-11-07 00:05:10 -05:00
Behdad Esfahbod
0123976a0c
[kerx] Adjust CrossStream kern to match 'kern' table
2018-11-06 21:46:14 -05:00
Behdad Esfahbod
80a33b9ac3
[kern] More tweaks
...
Solves a mystery or two. I'm fairly confident this is what CoreText does now.
2018-11-06 21:46:14 -05:00
Behdad Esfahbod
564e8ac046
[kern] Adjust some more
...
Getting closer. So many open questions still...
2018-11-06 21:46:14 -05:00
Behdad Esfahbod
4d003b8503
[kern] Add TODO
2018-11-06 21:46:14 -05:00
Behdad Esfahbod
9810f0b80e
[kern] Minor
2018-11-06 21:46:14 -05:00
Behdad Esfahbod
9c04b60583
[kern] In Format1, adjust how kerning is done
...
In a series of kerns in one action, kern all but last glyph forward,
and the last one backward. Seems to better match what CoreText is doing.
Test cases, with GeezaPro Arabic:
$ ./hb-shape GeezaPro_10_10.ttc -u U+0631,U+0628
[u0628.beh=1+1415|u0631.reh=0@-202,0+700]
$ ./hb-shape GeezaPro_10_10.ttc -u U+0628,U+064F
[u064f.damma=0@0,-250+-250|u0628.beh=0@250,0+1665]
In a later change, I'll make kern machine avoid producing negative kerns.
2018-11-06 21:46:14 -05:00
Behdad Esfahbod
e8c4772463
[kern] XXX Negate CrossKerning sign
...
Not sure why, but seems to better match GeezaPro Arabic w CoreText.
Quite possibly I'm doing something very wrong...
2018-11-06 21:46:14 -05:00
Behdad Esfahbod
01bf43ac01
[kern] Implement CrossStream kerning
2018-11-06 17:59:31 -05:00
Behdad Esfahbod
b11830c09e
[kern] Improve Format 2
...
Still disabled.
2018-11-06 17:59:31 -05:00
Behdad Esfahbod
c0383c6bb7
Minor
2018-11-06 17:59:31 -05:00
Behdad Esfahbod
10e6f708f3
[kern] Minor
2018-11-06 17:16:23 -05:00
Behdad Esfahbod
164eedd918
[kern] Minor
2018-11-06 17:16:23 -05:00
Behdad Esfahbod
220a5991ba
[kern/kerx] Fix trace numbering
2018-11-06 17:16:23 -05:00
Michiharu Ariza
7b21319edf
don't reject empty Dict
2018-11-06 13:59:07 -08:00
Michiharu Ariza
43ee0e4d00
Merge branch 'master' into cff-subset
2018-11-06 09:57:17 -08:00
Behdad Esfahbod
bfafe208da
[kern] Switch to dispatch
2018-11-06 12:13:20 -05:00
Behdad Esfahbod
213fa3bf71
[kern] Refactor to include header in each subtable type
2018-11-06 12:13:20 -05:00
Behdad Esfahbod
b0da2cd0b9
[kern] Some more
2018-11-06 12:13:20 -05:00
Behdad Esfahbod
75b00b51c8
[kern] Renames
2018-11-06 12:13:20 -05:00
Behdad Esfahbod
37f421c951
Minor
2018-11-06 10:03:38 -05:00
Ebrahim Byagowi
9139cc23ea
Fix link issue of some of the bots
...
e.g. https://circleci.com/gh/harfbuzz/harfbuzz/52410
2018-11-06 11:17:14 +03:30
Ebrahim Byagowi
98b37f0c10
[mort] Fix table detection logic
...
mort really needs some initial tests at least.
2018-11-06 09:16:28 +03:30
Behdad Esfahbod
fa3ebf845f
Simplify some more
2018-11-05 23:34:07 -05:00
Behdad Esfahbod
61f52231f4
[math] Shorten names a bit
2018-11-05 23:28:52 -05:00
Behdad Esfahbod
737efbe655
[ot-layout] Simplify GSUB/GPOS access
...
This concludes simplifying table access to face->table.XXXX.
2018-11-05 23:26:29 -05:00
Behdad Esfahbod
5e68cec179
[ot-layout] Simplify GDEF access
2018-11-05 23:23:57 -05:00
Behdad Esfahbod
33b006cc51
[ot-layout] Simplify some access
2018-11-05 23:19:04 -05:00
Behdad Esfahbod
db35409f0d
[ot-layout] Remove ensures
2018-11-05 23:11:46 -05:00
Behdad Esfahbod
9198de7b9b
[ot-font] Remove ensure
2018-11-05 23:10:37 -05:00
Behdad Esfahbod
ea6d9b661f
[ot-face] Remove a few ensures
2018-11-05 23:10:21 -05:00
Behdad Esfahbod
0fe7a745c9
[ot-face] Simplify more table access
2018-11-05 23:10:18 -05:00
Behdad Esfahbod
a35c92cbe7
[ot-face] Simplify table access
...
Yoohoo!
2018-11-05 23:10:16 -05:00
Behdad Esfahbod
914b595f25
[ot-face] Include hb-ot-face directly in hb_face_t
...
Simplifying access coming next.
2018-11-05 23:10:12 -05:00
Behdad Esfahbod
56ba998cdd
[cmap] Push get_nominal_glyphs down into cmap accelerator
2018-11-05 19:49:54 -05:00
Behdad Esfahbod
36d85dce25
[cmap] Use hb_nonnullptr_t
2018-11-05 19:46:29 -05:00
Behdad Esfahbod
8be74d8553
2.1.1
2018-11-05 18:47:22 -05:00
Behdad Esfahbod
252632c477
[uniscribe] Fix use of deprecated API
2018-11-05 14:33:41 -05:00
Behdad Esfahbod
bb380ec183
[cmap] Make null accelerator safe
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1146
2018-11-05 13:47:30 -05:00
Behdad Esfahbod
f6fc5574d3
Add pointer magic operators to hb_atomic_ptr_t
2018-11-05 13:23:54 -05:00
Behdad Esfahbod
f6e7cb51b1
Fix const-confusion in hb_array_t as well
2018-11-05 13:23:07 -05:00
Behdad Esfahbod
0da22fb0ad
[null] Tweak hb_nonnull_ptr_t some more
2018-11-05 13:20:06 -05:00
Behdad Esfahbod
03348ce005
Minor
2018-11-05 12:59:32 -05:00
Michiharu Ariza
b721fdae66
fixed leaks in CFF subr subset
2018-11-04 16:19:15 -08:00
Michiharu Ariza
85f5644e8e
added missing switch breaks
2018-11-04 14:17:30 -08:00
Michiharu Ariza
1682d1bbec
Merge branch 'master' into cff-subset
2018-11-04 13:25:41 -08:00
Behdad Esfahbod
b605db2f65
[aat] Clean up ankr table include mess
2018-11-04 12:58:02 -05:00
Behdad Esfahbod
17335a8161
Clean up buffer->swap_buffers() calls
...
That function checks for buffer->successful already. No need
to check at call site.
2018-11-04 02:25:07 -05:00
Michiharu Ariza
191ca0f15b
CFF1 no-desubr fixes
...
make sure charstring/subrs not ending with endchar/return handled correctly
if no local subrs, skip serializing Subrs op in Private
misc fixes
2018-11-03 22:42:22 -07:00
Behdad Esfahbod
4eb52460c8
Fix >>
2018-11-03 21:45:39 -04:00
Behdad Esfahbod
ae9ad1076e
Fix "Warning: extra ";" ignored."
2018-11-03 21:41:50 -04:00
Behdad Esfahbod
d0163afb7b
Revert "Add operator char * to the naked array types as well"
...
This reverts commit db889c182e
.
Was resulting in ambigious overloads...
2018-11-03 21:38:30 -04:00
Behdad Esfahbod
c8f94a1ca6
Minor
2018-11-03 21:08:13 -04:00
Michiharu Ariza
1da4de7e7b
fix for subset fuzzer failure
...
A called subr must be freshly parsed or completely parsed. otherwise the prevoius parse must have terminated prematurely
2018-11-03 15:41:29 -07:00
Behdad Esfahbod
0b0b38ec1e
Fix null accelerator's
...
Fixes all except for cmap. To be done separately.
Part of https://github.com/harfbuzz/harfbuzz/issues/1146
2018-11-03 16:16:31 -04:00
Behdad Esfahbod
db889c182e
Add operator char * to the naked array types as well
2018-11-03 16:04:19 -04:00
Behdad Esfahbod
d6fdae310f
Add operator char * to hb_nonnull_ptr_t
2018-11-03 16:02:03 -04:00
Behdad Esfahbod
7430ff604a
Template casts in hb_nonnull_ptr_t
2018-11-03 15:59:13 -04:00
Behdad Esfahbod
da408fce98
[blob] Allow null parent in create_sub_blob()
...
Like font and unicode.
2018-11-03 15:49:37 -04:00
Behdad Esfahbod
fb0f30f55a
Add hb_nonnull_ptr_t
...
Towards fixing https://github.com/harfbuzz/harfbuzz/issues/1146
2018-11-03 15:41:32 -04:00
Behdad Esfahbod
8d98c51d13
[kern] Third try fix access violation in Format3
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11245
2018-11-03 15:14:57 -04:00
Behdad Esfahbod
f074da8c2b
[kern] Really fix access violation in Format3
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11245
2018-11-03 15:07:39 -04:00
Behdad Esfahbod
93ef20a83b
Replace most uses of is_inert with is_immutable
2018-11-03 15:03:06 -04:00
Behdad Esfahbod
0589787ff5
[kern] Fix access violation in Format3
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11245
2018-11-03 14:59:40 -04:00
Behdad Esfahbod
5570c87f21
Port objects to use header.writable instead of immutable
...
Saves 4 or 8 bytes per object on 64bit archs.
2018-11-03 14:59:40 -04:00
Behdad Esfahbod
ee351a38ec
[object] Add "writable"
2018-11-03 14:59:40 -04:00
Ebrahim Byagowi
b8a78ce201
[BASE] Improvements ( #1347 )
2018-11-03 22:28:30 +03:30
Michiharu Ariza
34b06d994a
fixed FDSelect size calcluation
2018-11-02 16:40:20 -07:00
Michiharu Ariza
481fdfdc23
Merge branch 'cff-subset' of https://github.com/harfbuzz/harfbuzz into cff-subset
2018-11-02 15:28:09 -07:00
Michiharu Ariza
1bc710a8c9
added CFF1 desubr api test cases & bug fixes
2018-11-02 15:28:01 -07:00
Khaled Hosny
2c68f34bdd
[os2] Capitalize table tag and struct
...
Other tables follow the case of the OT tag, except this one.
2018-11-02 17:17:54 -04:00
Behdad Esfahbod
8034d1dda0
[kern] Implement Format1
...
Also, implement backwards kerning for Format1 in kern and kerx.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1350
2018-11-02 14:48:04 -04:00
Behdad Esfahbod
46b3885c1a
[kern] Set subtable on sanitizer
2018-11-02 14:43:38 -04:00
Behdad Esfahbod
74c7a2c6c8
[kern] Respect more flags
2018-11-02 14:26:04 -04:00
Behdad Esfahbod
9f880bad0d
[kern] Minor
...
We like check_struct() more.
2018-11-02 13:57:41 -04:00
Behdad Esfahbod
04b82b181d
Remove pointer cast operators from ArrayOf<>
...
ArrayOf<>, unlike UnsizedArrayOf<>, has data before the array.
This was confusing. Remove.
2018-11-02 13:47:33 -04:00
Behdad Esfahbod
f1df441bed
[kern] Comment
2018-11-02 13:26:15 -04:00
Behdad Esfahbod
095f5add0b
[kern] Push apply loop to each subtable
2018-11-02 13:23:54 -04:00
Behdad Esfahbod
949dad89a8
[kern] Remove accelerator
...
It wasn't doing anything.
2018-11-02 12:47:55 -04:00
Behdad Esfahbod
0382b7184a
Use as_array in more places
2018-11-02 12:23:26 -04:00
Behdad Esfahbod
91de9dfcf3
Fix &array_of<>
2018-11-02 12:16:51 -04:00
Behdad Esfahbod
9b7cb13794
Fixup
2018-11-02 12:00:55 -04:00
Behdad Esfahbod
6e06fe162e
[kern] Implement Format3
...
Untested.
2018-11-02 11:56:55 -04:00
Behdad Esfahbod
c6ef5dbd5c
Add cast operators to hb_array_t
2018-11-02 11:51:21 -04:00
Behdad Esfahbod
72462eb765
Add UnsizedArrayOf::as_array() instead of hb_array() template
2018-11-02 11:46:42 -04:00
Behdad Esfahbod
1cf075ecb6
Add get_size to UnsizedArrayOf
2018-11-02 11:38:00 -04:00
Behdad Esfahbod
a4a7a62389
[kern] Add buffer message
2018-11-02 11:16:43 -04:00
Michiharu Ariza
0b2870085d
removed unused code
2018-11-01 22:43:17 -07:00
Michiharu Ariza
6186dbf1be
added hb_subset_input_set_desubroutinize API
...
hooked up with CFF1 subroutinizer
a renaming
2018-11-01 17:25:23 -07:00
Michiharu Ariza
b1d0c58915
removed extraneous ;s
2018-11-01 16:33:46 -07:00
Michiharu Ariza
2840a104c1
tweaks to build with new merge
2018-11-01 16:18:13 -07:00
Michiharu Ariza
e600e5440b
Merge branch 'master' into cff-subset
2018-11-01 16:13:56 -07:00
Behdad Esfahbod
de96e5c81c
[Crap] Avoid operator=
2018-11-01 18:14:41 -04:00
Behdad Esfahbod
f9353bd68c
[aat] Rely on vector auto initialization
2018-11-01 18:05:22 -04:00
Behdad Esfahbod
5a18d97b35
[aat] Remove unused forward declaration
2018-11-01 18:01:26 -04:00
Michiharu Ariza
82248b9287
fix leak attempt ^2
2018-11-01 10:36:50 -07:00
Michiharu Ariza
a9c305c2b0
fix leaks
2018-11-01 10:31:21 -07:00
Michiharu Ariza
049ce078e5
fix bogus width with --no-hinting
2018-11-01 08:46:21 -07:00
Behdad Esfahbod
07ec792212
Warning fix
2018-11-01 10:31:19 -04:00
Ebrahim Byagowi
c32280b30f
[ot-layout] minor
2018-11-01 15:31:14 +03:30
Michiharu Ariza
d56e338a90
CFF1 no-desubroutinize + no-hinting
...
no-desubroutinize option is disabled for now
code cleanup (esp. CFF1 width handling)
bug fixes & renaming
2018-10-31 22:30:34 -07:00
Behdad Esfahbod
52a00cd87f
[aat] Implement 'aalt' mapping
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1160
2018-10-31 19:06:08 -07:00
Behdad Esfahbod
6e3ea269fa
[aat] Add 'afrc' feature mapping
...
https://github.com/harfbuzz/harfbuzz/issues/1342#issuecomment-434829028
2018-10-31 19:00:11 -07:00