Garret Rieger
0660a4d408
[subset] fix fuzzer found heap use after free in BASE subsetting.
2024-05-13 13:39:20 -07:00
David Corbett
0db136b1b0
[subset-cff] Shorten output of encode_num_tp
2024-05-12 09:04:02 -07:00
Qunxin Liu
7975c9cabd
[instancer] bug fix for COLRv1, add missing mapping to VarIdx::NO_VARIATION
2024-05-09 08:34:14 -07:00
Garret Rieger
b74a7ecc93
Fix IUP differences accoss platforms.
...
- Slightly increase the tolerance to account for differences in floating point math across platforms.
- The specific issue is a fused multiply add (d = d1 + (x - x1) * scale; in hb-subset-instancer-iup.cc)
- Also fix more implicit double conversion warnings.
2024-05-08 10:23:31 -06:00
Qunxin Liu
a5c9c82692
rename expected files from *.retain-all-codepoint.* to *.all.*
...
This is to fix file name too long error
tar: harfbuzz-8.4.0/test/subset/data/expected/sync_vmetrics/playwrite_mm.subset.default.retain-all-codepoint.SPED=25,YEXT=520,wght=100-400,slnt=18.iup_optimize.ttf: file name is too long (cannot be split); not dumped
tar: Exiting with failure status due to previous errors
2024-05-06 13:22:49 -07:00
Qunxin Liu
3b3c154bd1
add back missing tests that were disabled when wrapped by experimental
2024-05-06 12:56:23 -07:00
Qunxin Liu
6c8985724e
fix bots
2024-05-06 10:42:03 -07:00
Qunxin Liu
f614a7d309
[instancer] add/update tests for COLRv1 instancing
2024-05-06 10:41:07 -07:00
Qunxin Liu
ebcdadbf54
[instancer] add tests for instantiating BASE table
2024-05-03 17:22:16 -05:00
Behdad Esfahbod
4d2380f56d
Merge pull request #4693 from harfbuzz/promote-vf-api
...
[instancer] Promote partial instancing API out of experimental.
2024-05-03 14:05:56 -05:00
Garret Rieger
f145ab2f1e
Disable empty_region_vardata test when running on 32bit machines.
2024-05-03 18:31:18 +00:00
Behdad Esfahbod
ba1f194a1d
[gsubgpos] Reduce stack use in recursion
2024-05-02 16:37:51 -05:00
Garret Rieger
4cf606f674
[instancer] Promote partial instancing api out of experimental.
2024-05-02 21:22:18 +00:00
Garret Rieger
2cfa55056c
[instancer] Switch to doubles for delta calculations.
...
FontTools uses double's internally so match FontTool's precision so we get the same results more often for floating point calculations.
2024-04-15 16:06:19 -06:00
Garret Rieger
c84acc8e07
[subset] Fix fuzzer found memory leak.
...
Fixes https://oss-fuzz.com/testcase-detail/6159925345583104 .
2024-04-09 08:41:32 -05:00
Garret Rieger
6e87481731
[subset] add virtual links to keep the gdef varstore last.
2024-03-28 23:00:54 +00:00
Garret Rieger
7145607149
[subset] place the gdef var store at the end of the GDEF table.
...
It appears that some font processors assume it is the last sub table.
2024-03-28 23:00:54 +00:00
Garret Rieger
990fb14d78
[subset] Disable fonttools comparison in a few tests where rounding diffs show up.
...
Context: https://github.com/harfbuzz/harfbuzz/issues/4642
2024-03-28 17:00:12 -06:00
Garret Rieger
11f5dec75f
[subset] Move post apply mvar test intance position to avoid rounding diff.
2024-03-28 17:00:12 -06:00
Garret Rieger
975bd39b15
[subset] Match hb rounding to fonttools for avg char width.
...
Update Muli and Roboto input test fonts to recalc class values. FontTools recalcs class values during instancing while harfbuzz does not (like the ft subsetter).
2024-03-28 17:00:12 -06:00
Garret Rieger
15a05b2432
[subset] Update generate-expected-outputs to drop BASE.
...
This matches the behaviour of the test runner.
2024-03-28 17:00:12 -06:00
Garret Rieger
ec46c4c2e6
[subset] Update subset test suite to match some changes made to fonttools.
...
FontTools has added pruning functionality for code pages which we don't yet have in harfbuzz. Update our test runner to disable that for now. Also match fonttools and always recalc usFirst/LastCharIndex even if no prune unicode ranges is set.
2024-03-28 17:00:12 -06:00
Ozkan Sezer
dbecddb41c
tests, hb-test.h: define g_assert_false && g_assert_nonnull for old glib
...
Reference issue: https://github.com/harfbuzz/harfbuzz/issues/4577
Reference issue: https://github.com/harfbuzz/harfbuzz/issues/4624
2024-03-21 15:54:53 +02:00
Qunxin Liu
cfbb6a6872
[subset] support BASE table subsetting ( #4618 )
...
* [subset] support BASE table
* [subset] add tests for BASE table subsetting
2024-03-14 18:33:34 -06:00
Lie Yan
2da79f70a1
fix(test-ot-math.c): remove redundant lines
2024-03-09 09:34:55 -07:00
Christer Sandberg
1ab8822b41
Fixed some errors in STAT table implementation
2024-02-10 07:08:18 -07:00
Qunxin Liu
84771374e8
[instancer] add tests for iup delta optimization
2024-01-26 15:51:49 -08:00
Garret Rieger
ef1f5c4e0c
[subset] Re-use common Coverage subsetting function in PairPosFormat2.
...
Was using an identical but less efficient version. Fixes fuzzer test case: https://oss-fuzz.com/testcase-detail/6151390002806784
2024-01-08 15:34:45 -07:00
Lie Yan
c17d67467f
[ot-math] Fix a bug in MathKern::get_value()
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/4542
2024-01-07 16:10:10 +02:00
Qunxin Liu
df735213a8
[instancer-solver] port solver fix ( #4519 )
...
* [instancer-solver] port solver fix
from https://github.com/fonttools/fonttools/pull/3374
2023-12-06 10:50:29 -07:00
Qunxin Liu
f1ac36ba7f
[instancer] update hhea vertical metrics with OS/2 ones
2023-11-15 13:25:43 -07:00
Qunxin Liu
2d001a0adc
[subset] OTS doesn't allow ligature attachment offset to be 0
2023-11-08 14:10:06 -07:00
Garret Rieger
9701b0024e
[subset] Always place CFF1/2 char strings at the end of the packed table.
...
Makes the behaviour from HB_SUBSET_FLAGS_IFTB_REQUIREMENTS the default.
2023-11-06 16:49:09 -07:00
Garret Rieger
c6884377ec
[subset] Add HB_SUBSET_FLAGS_IFTB_REQUIREMENTS flag.
...
When enabled the output subset conforms to the requirements for a base font to be patched by IFTB patches. IFTB is a proposed incremental font transfer patch. This new flag is set as experimental. Currently, setting this flag causes the output subset to also use long offsets for outline data in loca/glyf, gvar, CFF, and CFF2.
This change is a version of 3ae2fe2084
rebased onto head w/ tests added.
2023-11-06 16:49:09 -07:00
Qunxin Liu
d550e16acc
[instancer] Recalc avgcharwidth after instancing
2023-11-06 13:12:04 -07:00
Qunxin Liu
6baf791e6f
[instancer] add tests
2023-11-03 11:06:07 -07:00
Qunxin Liu
31b5b2b1d7
[instancer] add tests for valueformat
2023-11-03 10:27:33 -07:00
Qunxin Liu
413af0a9b2
[instancer] When partial instancing, subset LigCaretList after VarStore instantiation
2023-11-03 10:24:56 -06:00
Qunxin Liu
f6f35f73bc
[instancer] add tests for feature variations partial instancing
2023-10-30 12:31:49 -06:00
Qunxin Liu
e595fe75cc
fix bots
...
partial instancing tests are wrapped by experimenal_api, do not enable
them in Makefile
2023-10-19 09:38:38 -07:00
Qunxin Liu
ce46698929
[subset] update tests
...
to reflect changes in GDEF.MarkGlyphSetsDef and Lookup.MarkFilteringSet
2023-10-18 15:49:57 -07:00
Qunxin Liu
bde6fb83ea
add missing file for test empty_region_vardata
2023-10-18 10:21:02 -07:00
Qunxin Liu
57dac23d79
[instancer] add tests
...
Also update tests to gei rid of no-tables-with-item-variations profile
2023-10-18 08:07:26 -06:00
Garret Rieger
bbd53fcfa4
Remove glyph_map test that uses retain gids.
...
We no longer allow the use of glyph map + retain gids (see: https://github.com/harfbuzz/harfbuzz/blob/main/src/hb-subset-plan.cc#L817 ). Also add the test to the meson file so it will be run by default.
2023-10-10 17:59:05 -06:00
Behdad Esfahbod
fc563bb437
Merge pull request #4421 from googlefonts/GDEF_GPOS
...
[instancer] support GDEF/GPOS tables
2023-10-05 11:07:17 -06:00
Khaled Hosny
6e06a193b3
Add some tests for hb_feature_[from|to]_string()
2023-09-29 18:22:44 -06:00
Garret Rieger
333946b00e
[subset] Fix fuzzer timeout.
...
Fixes https://oss-fuzz.com/testcase-detail/5458896606855168 . Limit iteration over coverage in MarkLigPosFormat1 subsetting to the number of glyphs in the liga array.
2023-09-28 14:22:51 -06:00
Qunxin Liu
9ceb800ac2
fuzzer fix https://oss-fuzz.com/testcase-detail/5842152921628672
...
Access TupleVariationData through blob, because we don't sanitize
var_data
2023-09-28 12:51:44 -06:00
Qunxin Liu
2415d5f239
[instancer] update tests to include GDEF/GPOS tables
2023-09-27 13:33:09 -07:00
Qunxin Liu
ef4ff1d6a4
[instancer] make varstore items sorting method match fonttool's
...
Also update expected tests
2023-09-20 11:45:00 -07:00