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
Behdad Esfahbod
5547bfa9f2
Merge pull request #1376 from ebraminio/minor
...
[colr/feat/trak] minor
2018-11-10 15:35:12 -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
Behdad Esfahbod
9fae611740
[test/text-rendering-tests] Update from upstream
2018-11-08 12:26:38 -05:00
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
Ebrahim Byagowi
073d0a9fbc
[ci] minor
2018-11-08 10:59:50 +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
0bf76154f1
[fuzzing] Take whatever text we can
2018-11-07 19:12:27 -05: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