Garret Rieger
2822b589bc
[subset] Include instancing tests in distribution.
...
Automatically enable them when the experimental api is enabled.
2022-11-03 14:24:15 -06:00
Qunxin Liu
8a5524833c
[instance] update OS2/.usWeightClass and .usWidthClass when
...
no-prune-unicode-ranges option is enabled
2022-10-27 11:59:31 -06:00
Behdad Esfahbod
e854739b2d
[fuzzing] Add test font for previous commit
2022-10-26 13:12:56 -06:00
Garret Rieger
db22bfb3cc
[subset] Remove Franklin from the tests which is not an open source font.
2022-10-17 13:15:47 -06:00
Garret Rieger
3394ec7048
[subset] use subset accelerator in tests.
...
This ensures it produces equivalent subsets as without the accelerator.
2022-10-13 23:02:54 +00:00
Qunxin Liu
d5fc4a73c0
[instance] add tests for featureVariations
...
Also updated the script that is used to generate tests.With fonttools,
we now do instancing first and then subsetting.
With different order of subsetting and instancing operations on the same
VF file, fonttools seems to generate 2 different font files with different
glyph set.
1. do subsetting and then instancing: this seems result in a larger glyph
set in the font file. Lookups are collected from both retained features
and all possible alternate featurevariations, this leads to a larger
glyph set after glyph closurei. And instancer doesn't redo glyph
closure, it does lookups pruning only.
2. do instancing and then subsetting: lookups are collected from
features that are replaced already and possible alternate feature
variations
2022-09-29 12:14:43 -06:00
Jonathan Kew
21b0e59414
[aat] Add test for rlig-to-aat feature mapping in Geeza Pro.
2022-09-20 10:37:27 -06:00
David Corbett
09b9a1ffdd
[USE] Allow ZWNJ at the end of a cluster
2022-09-06 11:33:12 -06:00
Qunxin Liu
470944901f
[instance] add benchmarks for instancing
2022-09-01 13:22:05 -06:00
Qunxin Liu
88c02e0024
[instance] add tests for full instancing
...
Also update previous tests with GDEF/GPOS tables
2022-09-01 09:44:28 -07:00
David Corbett
ade87e1538
[Unicode 15] Add tests
2022-08-27 19:11:19 -04:00
David Corbett
e93c2d1309
[Unicode 15] Update the emoji table & cluster test
2022-08-27 19:11:19 -04:00
David Corbett
d0c32c5a0e
[Unicode 15] Update the UCD table
2022-08-27 19:11:16 -04:00
Qunxin Liu
f887ee0c67
[instance] update post.italicAngle
...
Add tests for instancing glyf/hmtx
2022-08-22 09:30:09 -07:00
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
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
Khaled Hosny
383c11d756
Add test for ligature-id allocation
...
Test for the fix in 7bdc20ec81
for the
regression from 43be5ba442
.
2022-04-19 16:33:57 +02:00