Ebrahim Byagowi
7950beecfc
[subset] Fix null pointer dereference in hvar/vvar subset ( #2085 )
...
Rest of the code assumes there is at least one subtable, lets return here if not.
* https://crbug.com/oss-fuzz/19827
* https://crbug.com/oss-fuzz/19847
2020-01-06 21:25:00 +03:30
Ebrahim Byagowi
33c3d63a0a
Merge pull request #1594 from harfbuzz/var-subset
...
Issue 1558: [subset] TrueType/CFF2 variable font
2019-12-31 13:52:50 +03:30
Evgeniy Reizner
b79ceac3c6
Prefer UINT_MAX instead of uint overflow.
...
Also, prefer HB_FEATURE_GLOBAL_START and HB_FEATURE_GLOBAL_END.
2019-12-15 11:46:05 -08:00
Ebrahim Byagowi
6f76c325e5
[test] Update 10.15 results
...
Turned out only SFNS, which wasn't available in 10.14 anyway, needed an update
See https://crbug.com/1005969#c37 also
2019-12-10 21:43:11 +03:30
Ebrahim Byagowi
2241a676ba
[test] Add macOS 10.15 related fonts
...
breaks the test and 10.15 bot, will add the fix in next commit, also adds a broken test for f47cbade1
2019-12-10 19:50:34 +03:30
Behdad Esfahbod
b1167d19e9
Fix!
2019-12-05 15:46:58 +00:00
Behdad Esfahbod
5ff410b493
Add files, oops
2019-12-05 15:37:56 +00:00
Behdad Esfahbod
2dc20e632e
Implement fallback vertical shaping from Firefox
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/355
2019-12-05 15:28:42 +00:00
blueshade7
ed94e41065
fixed api test test-ot-glyphname
2019-11-26 18:34:06 +00:00
blueshade7
7a4745ba8d
added api test test-ot-glyphname
2019-11-26 18:34:06 +00:00
blueshade7
ea8fdfa079
Merge branch 'master' into var-subset
2019-11-22 15:59:09 -08:00
Ebrahim Byagowi
64a45be519
[ubsan] Don't decrease pointer if match_glyph_data is null ( #2048 )
...
Similar to fix on https://github.com/harfbuzz/harfbuzz/pull/2022
Fixes https://crbug.com/1023070
2019-11-09 12:25:33 +03:30
Ebrahim Byagowi
84b86a12d9
[fuzz] Remove just added case
...
It didn't fail locally but on bots causing timeout, let remove for now.
2019-11-06 09:22:34 +03:30
Ebrahim Byagowi
a8f049c9a1
[fuzz] Upload testcase of https://crbug.com/oss-fuzz/18529
...
Apparently false alarm per last comment and was ok locally also but lets have it here also
2019-11-05 22:26:36 +03:30
Khaled Hosny
dd288840d6
[cmap] Check GID before adding ranges in format 4 & 12
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/2031
2019-10-29 02:09:13 +02:00
Qunxin Liu
defe9b6da0
crash fix : Heap-buffer-overflow READ 2
...
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18513
2019-10-25 13:09:47 -07:00
Qunxin Liu
b2fcca6e14
fuzzer crash fix
...
https://oss-fuzz.com/testcase-detail/5643107869917184
2019-10-24 16:11:30 -07:00
Ebrahim Byagowi
9815ca0338
[ci] Use custom subset fuzzer timeout for failing sanitizer bots
2019-10-25 00:16:23 +03:30
Garret Rieger
95ab110cd9
Optimize intersects_array to fix fuzzer timeout.
2019-10-22 13:33:50 -07:00
Qunxin Liu
b33a0d628e
fuzzer crash fix: Null-dereference WRITE
...
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18363
2019-10-22 01:01:08 +03:30
Qunxin Liu
1f0a9d9be9
[subset] GPOS Lookup Type 2: PairPos
2019-10-21 12:35:28 -07:00
Ebrahim Byagowi
e766783152
[fuzz] Add https://crbug.com/oss-fuzz/17898 testcase
2019-10-21 22:17:06 +03:30
Qunxin Liu
b66094ada0
[subset] GSUB Lookup Type 6: ChainContextSubst
2019-10-18 16:52:55 -07:00
Garret Rieger
831daf4c76
Enforce HB_MAX_LANGSYS limit during layout subsetting.
2019-10-18 15:10:30 -07:00
Ebrahim Byagowi
453050ad30
Merge remote-tracking branch 'upstream/master' into var-subset
2019-10-13 08:45:29 +03:30
Ebrahim Byagowi
dc45f22521
[ot-metrics] Don't use mixed scaled and not scaled for generating extents
2019-10-08 23:27:39 +03:30
Ebrahim Byagowi
d73cdcf361
[ot-font] Apply font scaling before turning to int
2019-10-08 11:11:18 +03:30
Michiharu Ariza
b9ff43c162
Implement gvar table and variable glyf
...
Split from Ariza's "[subset] TrueType/CFF2 variable font" work on #1594
2019-10-06 08:58:40 +03:30
Ebrahim Byagowi
19d45dcab7
Merge remote-tracking branch 'upstream/master' into var-subset
2019-10-03 13:39:17 +03:30
Qunxin Liu
b0c3eb06b6
[subset] GPOS Lookup Type 3: CursivePos
2019-09-25 05:43:25 +09:00
Ebrahim Byagowi
0665dce116
[fuzzer] Don't process output in debug mode as it causes timeout
2019-09-21 17:36:33 +04:30
Qunxin Liu
bf66d1bf58
[subset] Add integration tests for cmap14
2019-09-20 07:55:11 +09:00
Evgeniy Reizner
7d4da8b862
Remove duplicated tests from test-ot-tag ( #1958 )
2019-09-06 12:24:32 -04:00
Behdad Esfahbod
52d19ba459
Minor
2019-09-04 11:28:40 -04:00
Ebrahim Byagowi
d3b984d379
Revert in-house pow10 ( d80a3ea
) and fix oss-fuzz/16922
...
Probably can be fixed but merging it was wrong so let's revert.
2019-09-02 18:28:03 +04:30
Ebrahim Byagowi
9ff32b79b3
Merge remote-tracking branch 'upstream/master' into glyf-rebase
2019-08-29 19:53:18 +04:30
Ebrahim Byagowi
28620310b8
[test] Avoid alloca use as clang complain
...
Fixes https://circleci.com/gh/harfbuzz/harfbuzz/108171 complain
2019-08-29 14:55:54 +04:30
Ebrahim Byagowi
875985cd48
[subset] Don't allow malicious fonts to insert unlimited table headers
...
Fixes https://crbug.com/oss-fuzz/16810
2019-08-29 14:51:22 +04:30
Ebrahim Byagowi
a0b4ac4dce
Turn 8 spaces to tab across the project
...
According to the current code style of the project
2019-08-27 02:40:41 +04:30
Ebrahim Byagowi
269a120f13
[subset] Raise the bar in new vs old table size
...
https://crbug.com/oss-fuzz/16740
This is actually an interesting thing that {h,v}mtx allocates as
much as a font pretends to have glyphs but the solution is not
that obvious as regular fonts can have less than actually containing
metrics in their {h,v}mtx. This change raises the bar to consider this
hmtx 4 byte for every glyph case.
Initially we wanted to just find things allocating crazy amount of
memory but having the assert has led to interesting findings also
so let's don't remove the assert and see what we can find elsewhere.
2019-08-25 20:37:00 +04:30
Ebrahim Byagowi
28aba780c4
[subset] Fix blob leak of _subset2 when returns early
...
Fixes https://crbug.com/oss-fuzz/16639
2019-08-24 16:11:21 +04:30
Behdad Esfahbod
163a66dc73
[test] Add test for aaa85931f3
2019-08-20 14:22:57 -07:00
Ebrahim Byagowi
d59d89b281
[test] Rebase 10.14 trak related test
2019-08-20 13:07:17 +04:30
Ebrahim Byagowi
37de38adea
Merge branch 'master' into remove-coretext-96dpi-assumption
2019-08-20 12:59:33 +04:30
Khaled Hosny
da5118da77
[ot-shape] Enable abvm/blwm features by default
...
Core Text seems to apply them to Latin text, but Uniscribe doesn’t.
See https://github.com/harfbuzz/harfbuzz/pull/1908#issuecomment-521819343
2019-08-16 02:17:32 +02:00
Khaled Hosny
2164bd6f29
[ot-shape] Enable dist feature by default ( #1908 )
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1907
2019-08-16 00:28:41 +02:00
Behdad Esfahbod
e56d4ff43b
Rename hb_ot_meta_get_entries() to +hb_ot_meta_get_entry_tags()
2019-08-13 21:02:47 -07:00
Ebrahim Byagowi
b31d627f15
Increase subset fuzzer timeout to 16s
...
To satisfy -valgrind and -tsan bots, very ugly
2019-08-11 23:34:48 +04:30
Qunxin Liu
321d5588d4
[subset] Add subsetting for GPOS Lookup Type 1: Single Adjustment Positioning Subtable
2019-08-06 14:06:35 -07:00
Qunxin Liu
37572882e7
[subset] cmap table to use _subset2 and new iterator frameworks
2019-08-05 11:26:34 -07:00
Michiharu Ariza
6b3e093911
Merge branch 'master' into var-subset
2019-07-31 16:04:48 -07:00
Ebrahim Byagowi
8c0a2e68ad
[fuzz] Add dummy call of the added APIs ( #1886 )
2019-07-30 13:16:15 +04:30
Ebrahim Byagowi
9f2b4956b4
[base] Add hb_ot_layout_get_baseline API
2019-07-30 04:42:51 +04:30
Ebrahim Byagowi
40a4b6ddbd
[var] Add a new API, hb_font_set_var_named_instance
2019-07-29 16:23:47 -07:00
Ebrahim Byagowi
b6a2281f1a
[meta] Make values match their enum type naming
2019-07-30 03:48:23 +04:30
Ebrahim Byagowi
20072a2eca
[metrics] Make values match their enum type naming
2019-07-30 03:48:23 +04:30
blueshade7
6e3bfecf35
Merge branch 'master' into var-subset
2019-07-29 12:25:43 -07:00
Ebrahim Byagowi
2c2a2b97db
[meta] Rename hb_ot_meta_t to hb_ot_meta_tag_t
2019-07-29 22:43:09 +04:30
Ebrahim Byagowi
e21bdf500d
Increase subset fuzzer timeout to 8s
...
Probably we should just remove timeout when running tsan and vaglrind here, the flaky bots
2019-07-28 22:59:09 +04:30
Ebrahim Byagowi
62932c14bd
[meta] Rename ot-metadata to ot-meta per review
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
bc65ebbce7
[meta] hb_ot_metadata_get_entries, tags iteration API
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
3ac03bd67c
[meta] New API, hb_ot_metadata_reference_entry for fetching meta entries
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
356b68a00a
[metrics] Add a test that actually practices variation ( #1858 )
2019-07-25 23:22:00 +04:30
blueshade7
5988ab8a4e
Merge branch 'master' into var-subset
2019-07-22 14:36:16 -07:00
Khaled Hosny
04c11a19b7
Merge pull request #1851 from khaledhosny/fix-sbix-extents
...
Fix sbix glyph extents
2019-07-22 16:44:47 +02:00
Ebrahim Byagowi
a51aa951b5
[metrics] Fix _get_variation API to works with actual coord values
2019-07-22 18:35:55 +04:30
Khaled Hosny
c9796d15e1
Fix sbix glyph extents
...
* The ‘height’ needs to be negated since the API returns “distance from
top to bottom side”.
* Similarly, the ‘y_offset‘ needs to be added to the height to get the
‘y_bearing’, since sbix’s offset is “the point in the glyph relative
to its lower-left corner which corresponds to the origin” while
‘y_bearing’ is the “top side of glyph from origin”.
With these changes the sbix glyph metrics return values similar to other
tables, as they were otherwise unusable.
2019-07-22 05:42:34 +02:00
Ebrahim Byagowi
bdfdac0f26
[ci][fuzzer] print valgrind failure if an error happened
2019-07-19 10:33:00 +04:30
Ebrahim Byagowi
87e628436e
Implement a simple API for fetching opentype metrics
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/1432
2019-07-18 14:15:58 -07:00
blueshade7
4cba7bdae9
regenerate Confortaa subset test expected results
2019-07-18 14:03:33 -07:00
blueshade7
a76d8b0d55
Merge commit '504bb17287c978d60a4a515555852465319f74ed' into var-subset
2019-07-17 14:12:06 -07:00
Qunxin Liu
1da1b4dc94
[subset] For option "--unicodes", add support for "*" to retain all code points
2019-07-15 11:18:50 -07:00
blueshade7
386a4a64f5
regenerate subset api test result SourceHanSans-Regular.41,4C2E.retaingids.otf
2019-07-12 17:05:34 -07:00
blueshade7
670768e5b9
fix inc-bimap for subsetting VarStore with retain-gids
2019-07-12 16:14:23 -07:00
Ebrahim Byagowi
f8242b61ab
[fuzz] Increase subset runner timeout for tsan bot
...
Now is flaky let's just increase and maybe investigate later
2019-07-11 15:10:36 +04:30
Ebrahim Byagowi
b65bad18aa
[fuzz] Don't fail when blob is empty
...
And enable more tests able to trig the issue.
2019-07-11 14:31:55 +04:30
Ebrahim Byagowi
c85f624b51
Force blob generation and memory check in hb-subset-fuzzer
2019-07-10 23:38:07 +04:30
blueshade7
0eef8113d8
retain gids in HVAR so in sync with fontTools
...
regenerate Comfortaa subset test results
2019-07-09 11:43:59 -07:00
blueshade7
6e35668b45
fix var-subset build
2019-07-09 09:47:54 -07:00
blueshade7
8bf989ea70
update from master
2019-07-08 17:13:29 -07:00
Michiharu Ariza
5763a92749
Merge branch 'master' into var-subset
2019-07-01 15:17:19 -07:00
Behdad Esfahbod
f53590971c
[test] Make Unicode tests strict against internal UCD
...
https://github.com/harfbuzz/harfbuzz/pull/1799
2019-06-27 13:42:51 -07:00
David Corbett
d42264f151
Test at least one character per Unicode version
2019-06-27 13:38:03 -07:00
Michiharu Ariza
8341c0b304
add test case file
2019-06-27 08:43:31 -07:00
Michiharu Ariza
82d4bfb8f3
enable cff subset tests
...
add Unicode UCS-4 cmap
fix Unicode bits in OS/2
add Unicode cmap sub-table in SourceHanSans-Regular_subset.otf
regenerate cff subset test expected results
2019-06-14 11:08:59 -07:00
David Corbett
4f37c0db9b
Remove 'mym3'
2019-06-11 15:41:37 -07:00
Michiharu Ariza
90872a29ee
change assert(false) to failure
2019-06-11 12:42:28 -07:00
Michiharu Ariza
6f35cf7a63
regenerate SourceSerifVariable expected subset results
2019-06-06 09:15:34 -07:00
Michiharu Ariza
66361c72f6
restore gvar/MVAR/HVAR tables in subset tests
2019-06-05 14:51:04 -07:00
Michiharu Ariza
4ddab6facc
Merge branch 'master' into var-subset
2019-06-05 11:21:27 -07:00
Michiharu Ariza
65e66a2d37
added test data
2019-06-03 16:31:41 -07:00
Bruce Mitchener
5846884f86
test: Use nullptr in C++ code. ( #1744 )
2019-06-03 12:30:25 +04:30
Behdad Esfahbod
87dd4bff1c
[math] Rename HB_MATH_GLYPH_PART_FLAG_EXTENDER
...
To HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER. Added a deprecated macro.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1734
2019-05-30 11:26:17 -04:00
Ebrahim Byagowi
8a13371847
[test] minor, fix copyright
...
nothing important, fixing a copy paste error inconsistency
2019-05-28 13:54:45 +04:30
Ebrahim Byagowi
13316ac5d4
[test] minor style improve
2019-05-28 13:48:39 +04:30
David Corbett
d64fb9db52
[use] Allow U+1A60 TAI THAM SIGN SAKOT after vowel
2019-05-27 13:14:03 -04:00
Qunxin Liu
e1a5ce6aa6
Fix fuzzer crash testcase
...
Add a check for stringOffSet(uint16) overflow,
return early if overflow happens
2019-05-24 15:26:20 -04:00
rsheeter
96de94768b
Merge pull request #1722 from googlefonts/glyf
...
[subset] Use iterators in glyf/loca subsetting
2019-05-24 11:22:41 -07:00
Rod Sheeter
e662532833
[subset] Cppcheck complaints
2019-05-24 10:39:56 -07:00
Qunxin Liu
993d81b9c5
[subset] Add one ttf file with fvar/STAT tables to integration test
...
Ignore gvar/MVAR/HVAR table
add support for --nameIDs=* option
2019-05-22 17:20:45 -07:00