Commit Graph

2036 Commits

Author SHA1 Message Date
Garret Rieger af74ab452f [repack] always run the sort in repack.
This is needed to ensure virtual link ordering constraints are respected when repack is being called from fontTools. For subset usage, repack won't be called if the graph doesn't already overflow so this change doesn't cause any extra work.
2022-06-16 15:17:58 -06:00
Garret Rieger 311413f16b [subset] Fix fuzzer issue.
Fixes https://oss-fuzz.com/testcase-detail/5693568490012672. new_index should be set from new_index2 when the entry is present in the map.
2022-06-14 17:49:13 +01:00
Behdad Esfahbod 697287fbd7 [benchmark-shape,hb-shape-threads] Fix argument parsing order
After recent change.
2022-06-05 06:53:42 -06:00
Behdad Esfahbod c03a31417b [hb-shape-threads] Adjustments similar to benchmark-shape
Duplication sighz.
2022-06-05 02:31:21 -06:00
Behdad Esfahbod d7c9cc34ae Fix build 2022-06-05 02:30:11 -06:00
Behdad Esfahbod b39b5f2f31 [name] Implement approximate language matching
Very rudimentary.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3354
2022-06-03 13:00:33 +01:00
Khaled Hosny 26d8066a41 [test/shape] Remove texts subdirectory
These texts were never hooked into the test suite, they however
represent a good collection of test texts, but one can always access
them from git history.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3123
2022-06-03 12:12:13 +01:00
Khaled Hosny cd41557a96 [test/shape] Add PhagsPa tests
Adopted from texts/in-house/shaper-arabic/script-phags-pa/misc/misc.txt.

Using Noto Sans PhagsPa.
2022-06-03 12:12:13 +01:00
Khaled Hosny 1ab12e314a [test/shape] Add Malayalam dot-reph tests
Adopted from texts/in-house/shaper-indic/script-malayalam/misc/dot-reph.txt.

Using Noto Sans Malayalam.
2022-06-03 12:12:13 +01:00
Khaled Hosny 6b2f3b5a99 [test/shape] Add Javanese tests
Adopted from texts/in-house/shaper-use/script-javanese/misc.txt.

I don’t know what font this was originally tested against, so I used
Noto Sans Javanese.
2022-06-03 12:12:13 +01:00
Khaled Hosny c9c47dd8ad [test/shape] Add Hebrew diacritics tests
Adopted from 406044986a. Using
TaameyFrankCLM.ttf from the Mozilla issue.
2022-06-03 12:12:13 +01:00
Khaled Hosny ef5d7febc8 [test/shape] Allow using hb-subset in record-test.sh
I think it is about time we use our own subsetter here. FontTools can
still be used.
2022-06-03 12:12:13 +01:00
Behdad Esfahbod 7aacdd05bd [cplusplus] Test hashing shared_ptr / unique_ptr 2022-06-03 02:10:06 -06:00
Behdad Esfahbod d7785a6da0 [cplusplus] Add unique_ptr 2022-06-02 12:43:04 -06:00
Behdad Esfahbod e0f3cab246 [cplusplus] Add hb-cplusplus.hh
Fixes https://github.com/harfbuzz/harfbuzz/issues/2152
2022-06-02 18:22:05 +01:00
Garret Rieger 98aaecd397 [subset] fix data race touching Crap() in cff subsetting. 2022-06-01 22:50:35 +01:00
Garret Rieger d8d96b26e7 [threads-test] Add a threads test against hb-subset. 2022-06-01 22:50:35 +01:00
Garret Rieger 858570b1d9 [subset] add some additional 32bit var store cases.
Test the path where the 32 bit delta is not included.
2022-06-01 19:31:55 +01:00
Garret Rieger 209d6aa2b7 [subset] Update make files for 32bit_var_store test. 2022-06-01 19:31:55 +01:00
Garret Rieger 9c41bfe1a6 [subset] Add subset test of font with 32 bit delta in a var store. 2022-06-01 19:31:55 +01:00
Behdad Esfahbod 18cd15bede Rename test 2022-06-01 07:55:59 -06:00
Behdad Esfahbod 62e803b361 [sbix] Limit glyph extents
Fixes https://github.com/harfbuzz/harfbuzz/issues/3557
2022-06-01 07:39:20 -06:00
Behdad Esfahbod 5a058ba158 [shape-fuzzer] Add commented out more buffer-verify option
Those currently fail and I've been unable to debug them.

I tried two, passing them to hb-shape doesn't reproduce the failure. :(
2022-06-01 04:53:50 -06:00
Behdad Esfahbod 189f65344a [fuzz-shape] Verify shape output
Let the fuzzers loose on shape verify.
2022-06-01 04:53:50 -06:00
Behdad Esfahbod 33145a4b75 [test/shape] Pass --unsafe-to-concat to hb-shape 2022-05-31 06:36:08 -06:00
Behdad Esfahbod b010962c3b [test/hb-shape-threads] Silence hb_language_get_default() threadysafety issue 2022-05-30 05:34:25 -06:00
Behdad Esfahbod 4e59900ff5 [test/hb-shape-threads] Share font amongst threads 2022-05-30 05:21:55 -06:00
Behdad Esfahbod 18b0bd0f5f [test/hb-shape-threads] Verify buffer 2022-05-30 05:12:12 -06:00
Behdad Esfahbod 484cc18732 [test-shape-threads] Set language 2022-05-30 05:09:53 -06:00
Behdad Esfahbod f371789b40 Sprinkle static around 2022-05-30 05:09:53 -06:00
Behdad Esfahbod 4386626ee0 [test/threads] Fix dependency 2022-05-30 05:09:53 -06:00
Behdad Esfahbod e0544c481d [test/threads] Fix distcheck 2022-05-30 05:09:53 -06:00
Behdad Esfahbod e3d5a117a3 [hb-shape-threads] Fix tsan race 2022-05-30 05:09:53 -06:00
Behdad Esfahbod 33c990f0a9 Include cassert to fix bots 2022-05-30 05:09:53 -06:00
Behdad Esfahbod 049af18684 [threads] Add suite to test 2022-05-30 05:09:53 -06:00
Behdad Esfahbod 87453f63fa [hb-shape-threads] Fix current-work-dir so test passes 2022-05-30 05:09:53 -06:00
Behdad Esfahbod f77faf8654 [hb-shape-threads] Allow overriding test parameters from cmdline 2022-05-30 05:09:53 -06:00
Behdad Esfahbod f0fba59969 [hb-shape-threads] Reduce num-iterations 2022-05-30 05:09:53 -06:00
Behdad Esfahbod e8a2436332 [threads] Add a condition_variable to test for all threads to be ready 2022-05-30 05:09:53 -06:00
Behdad Esfahbod 4d42a94c19 [threads] Add hb-shape-threads test 2022-05-30 05:09:53 -06:00
Garret Rieger 3472f73b79 [subset] also include no subset tables when guessing which tables are present. 2022-05-25 21:52:48 +00:00
Garret Rieger 9564d98739 [subset] fix subsetting of faces created via hb_face_create_for_tables.
Fixes #3609.
2022-05-25 21:16:37 +00:00
Garret Rieger 4e11da054d [repacker] update repacker test golden file.
Changed due to removal of Kahn sorting.
2022-05-20 09:41:18 -06:00
Behdad Esfahbod 25393288f0 [test] Fix compiler warning 2022-05-19 18:16:48 -06:00
Garret Rieger 52d59bf150 [perf] Make subset benchmark data driven. 2022-05-10 14:30:08 -06:00
Garret Rieger 8f9f0c494b [subset] Enforce cmap12 group ordering constraints in collect_mapping.
Fixes fuzzer issue: https://oss-fuzz.com/testcase-detail/6365271012540416
2022-05-10 12:15:09 -06:00
Garret Rieger b051f3fa83 [subset] Fix cpal subsetting when there are partial palette overlaps.
The existing code doesn't correctly handle the case where palettes partially overlap in the color record array. This changes the subsetting to only share entries in the color record array when palettes have the same first color index. Partially overlapping palettes will be converted to disjoint segments in the color record array.

Updates one of the color tests to use multiple palettes.

Also fixes fuzzer: https://oss-fuzz.com/testcase-detail/5568200165687296.
2022-05-09 12:25:05 -06:00
Behdad Esfahbod ca8a0f3ea3 [gvar] Protect against out-of-range access
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47281
Fixes https://oss-fuzz.com/testcase-detail/5508865908670464
2022-05-06 11:54:38 -06:00
Behdad Esfahbod 4de5352a3d [test] Add test
From https://github.com/harfbuzz/harfbuzz/issues/3545

Dropped the CFF table.
2022-04-28 14:40:33 -06:00
Behdad Esfahbod 4d48fae4f2 Enforce Regional_Indicators native direction to LTR
And undo the morx direction reversal change introduced in
https://github.com/harfbuzz/harfbuzz/pull/3315
23159084b4

This fixes original bug https://github.com/harfbuzz/harfbuzz/issues/3314

And the reversion in morx code fixes regressions:
https://github.com/harfbuzz/harfbuzz/issues/3528
https://github.com/harfbuzz/harfbuzz/issues/3535

Supersedes:
https://github.com/harfbuzz/harfbuzz/pull/3529
2022-04-21 11:15:34 -06:00