Commit Graph

2071 Commits

Author SHA1 Message Date
Behdad Esfahbod 4ab7e579cb Make HB_BORING_EXPANSION opt-in instead of opt-out
Fixes https://github.com/harfbuzz/harfbuzz/issues/3757
2022-08-12 12:23:48 -06:00
Qunxin Liu 7fde6ab025 fuzzer fix: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49790 2022-08-05 15:10:31 -06:00
Khaled Hosny afe6629b2f Fix make dist 2022-08-03 19:56:29 +02:00
Behdad Esfahbod e68e874da6 Update test/fuzzing/README 2022-08-03 11:31:34 -06:00
Behdad Esfahbod fc9e6ae8d9 [run-tests.py] Write out the failing test 2022-07-30 12:02:36 -06:00
Behdad Esfahbod 56a5bc3bd0 [emoji] Regenerate test data
Fix generator.
2022-07-30 00:08:44 -06:00
Garret Rieger f3aff45e04 [repacker] Update call to hb_subset_repack_or_fail in tests. 2022-07-29 16:16:46 -06:00
Behdad Esfahbod bdbb8c297e Add test for previous commit 2022-07-29 12:04:28 -06:00
Behdad Esfahbod e2cc34e190 [subset/GPOS] Fix a fuzzer timeout test
Fixes https://oss-fuzz.com/testcase-detail/5234369031176192
2022-07-26 12:31:40 -06:00
Behdad Esfahbod 1945b400da [cpluscplus] Wrap hb-subset types as well
Also changes signature of get_user_data of hb.h types to take const
object. This is safe.
2022-07-25 10:45:55 -06:00
Behdad Esfahbod 4cb83967aa [subset/ClassDefFormat2] Fix timeout
Fixes https://oss-fuzz.com/testcase-detail/5417800474165248
2022-07-23 11:00:20 -06:00
Behdad Esfahbod 32c85b8c8c [avar2] Fix mapping when coords length don't match
Ouch.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49407
2022-07-23 10:50:26 -06:00
Behdad Esfahbod 9eab3ac72d [CoverageFormat2] Remove hand-written loop
While on a fuzzer-found test case (added) that loop was faster,
on real fonts, including NotoNastaliq in our benchmark, it was
actually slower, which intuitively I would have expected.

Still no idea why on that fuzzer case it's faster though. :(
2022-07-21 12:36:53 -06:00
Behdad Esfahbod 7050021fed [cursive-positioning.tests] Fix test specification
Still failing. Figuring out.
2022-07-20 11:27:12 -06:00
Behdad Esfahbod 42f1d7794b Add tests for multiple cursive positioning
From https://github.com/harfbuzz/harfbuzz/issues/2469
2022-07-20 11:14:22 -06:00
Qunxin Liu f1a69ff1b9 [instance] update scripts for testing instancing 2022-07-18 14:59:07 -06:00
Behdad Esfahbod 3c84aa8416 [cff] Add a max work counter
Set to 10,000 per interpretation right now.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3700
Fixes https://oss-fuzz.com/testcase-detail/5667125715927040
2022-07-18 13:57:59 -06:00
Behdad Esfahbod a5dad50072 [aat/morx] Add test for previous commit
https://github.com/harfbuzz/harfbuzz/issues/1373
2022-07-17 21:39:41 -06:00
Behdad Esfahbod a2f0723148 [GPOS] Adjust mark attachment on multiple substitution some more
Fixes https://github.com/harfbuzz/harfbuzz/issues/1545
2022-07-13 16:02:39 -06:00
Behdad Esfahbod 386e1bbad8
Merge pull request #3699 from googlefonts/filter_scripts
[subset] Add support for --layout-scripts
2022-07-05 12:46:05 -06:00
Behdad Esfahbod b8c7c0a0e6 [fuzzer] In 50% of runs don't fail the allocator 2022-07-01 15:25:09 -06:00
Garret Rieger d6f579e96a [subset] add tests that exercise script filtering. 2022-06-30 22:22:03 +00:00
Frédéric Wang 32e542d6f0 try & fix build errors on the bot 2022-06-29 10:08:07 -06:00
Frédéric Wang 03d2376745 [math] Improve fuzzing coverage
Extend testing to cover parts that are missing according to the recent
oss-fuzz-coverage report:
- Retriving all constants from MathConstants.
- Retrieving entries from MathKern, MathGlyphPartRecord and
  MathGlyphAssembly.
- Retrieving italic correction from MathGlyphAssembly.
- Choosing between horizontal/vertical offset in MathVariants.

https://storage.googleapis.com/oss-fuzz-coverage/harfbuzz/reports/20220627/linux/src/harfbuzz/src/hb-ot-math-table.hh.html
https://github.com/harfbuzz/harfbuzz/issues/3688
2022-06-29 10:08:07 -06:00
Behdad Esfahbod 9909d11f6f [indic generator] Fix regression
Fixes https://github.com/harfbuzz/harfbuzz/issues/3690
2022-06-28 16:02:51 -06:00
David Corbett 7b0fc0be53 [test] Test the reordering of U+0E33 and U+0EB3 2022-06-27 20:18:17 -06:00
Behdad Esfahbod d3308f4713 [font] Optimize font scaling further 2022-06-27 11:28:57 -06:00
Behdad Esfahbod 556e7078f0 [font] Optimize glyph scaling 2022-06-26 17:48:43 -06:00
David Corbett 1555b30081 Add U+25CC to lone Robatic but not after U+17D9 2022-06-25 11:02:39 -06:00
David Corbett e35cfb4bde Document the subsetter argument of record-test.sh 2022-06-25 11:02:39 -06:00
Behdad Esfahbod 1db6fddb24 [arabic-fallback.hh] Hook up 3-letter ligatures 2022-06-19 10:42:06 -06:00
Behdad Esfahbod 8978a18f31 [arabick-fallback] Apply mark ligatures 2022-06-19 10:42:06 -06:00
Khaled Hosny dfc5e5a27d [test] Skip glyph positions for test failing on CI
We are not interested in glyph positioning for this test, and the
FreeType version on some CI machines is giving some different glyph
advances here.
2022-06-19 10:42:06 -06:00
Khaled Hosny 189e8c326e [ft] Remap legacy Arabic PUA codepoints
Similar to what ot font finctions does, to support Support legacy
pre-OpenType Windows 3.1-era fonts.
2022-06-19 10:42:05 -06:00
Khaled Hosny c3f590bb1e [arabic] Support legacy PUA shaping
Support legacy pre-OpenType Windows 3.1-era fonts, by remapping PUA code
points in cmap table and letting our fallback shaper build the GSUB
table.

Uniscribe applies also mset-like substitution, but our fallback mark
positioning gives better results, so this is not implemented.
2022-06-19 10:42:05 -06:00
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