test/subset


Log

Author Commit Date CI Message
Behdad Esfahbod e5541a0b 2025-04-05T17:02:31 [subset/test/cmap14] Reduce tested combinations Fixes https://github.com/harfbuzz/harfbuzz/issues/5254
Behdad Esfahbod d65fa934 2025-04-05T16:58:06 [subset/test/basics.tests] Reduce tested combinations
Behdad Esfahbod 5194ec47 2025-04-05T16:08:18 [test/subset] Use --preprocess instead of --preprocess-face The latter is obsolete and alias to the former.
Behdad Esfahbod 4d2a362f 2025-03-25T15:35:00 [test/subset] Remove tempdir Was creating a tempdir in /tmp for every single test item, and not removing it. Create one per test file, and remove if test successful.
Behdad Esfahbod e0aee581 2025-03-22T13:07:10 [test] Respect MESON_EXE_WRAPPER in more test runners It's not working for me though. Meson doesn't seem to set WINEPATH during testing.
Garret Rieger ea1434b8 2025-02-25T19:00:29 Split iup glyf partial instance tests into a separate set which ignores due to IUP rounding differences fonttools.
Behdad Esfahbod 9a0cf8d6 2025-02-25T00:19:25 [test/subset/cff-japanese] Shrink test Was taking too long.
Behdad Esfahbod 084fb3ab 2025-02-25T00:16:27 [test/subset/cmap] Shrink test Was taking more than the rest of the test suite combined.
Behdad Esfahbod 134eef55 2025-02-09T08:22:38 [test] Reorder test suites Makes it a bit faster. https://github.com/harfbuzz/harfbuzz/issues/4153#issuecomment-2646120679
Garret Rieger b0d52abe 2024-10-23T20:49:44 [subset] consider variation selectors subsetting cmap14 cmap14 subsetting code was not considering variation selectors in the input unicode set when deciding which variant glyphs to keep. This updates subsetting to only keeps variant glyphs if their variation selector code point is in the input unicodes set. For https://github.com/harfbuzz/harfbuzz/issues/4911
Qunxin Liu 622e9c33 2024-11-06T10:59:17 [instancer] fix for incorrect offset calculation when we have gvar padding
Qunxin Liu 6fd76e1f 2024-09-17T13:50:10 [subset] offset format fix in gvar table
Alexander Grund 70334d74 2024-09-11T14:30:32 Run subset tests with C-locale One problematic input is `--instance=wdth=112.5` which is parsed using the users local (`strtof`). So while in C or US locales it yields 112.5 in some European locales it yields 112 as the dot is not valid in this position. A European user might pass "112,5" instead but for the test the C locale is assumed, so enforce it. Fixes #4854
Qunxin Liu 634778ef 2024-08-20T14:34:09 [subset] bug fix in post table insert retain-gid holes when retain-gids is enabled
Qunxin Liu 72502ef0 2024-08-12T14:08:06 [instancer] dont return false when variation data is empty after partial instancing
Khaled Hosny a38f853e 2024-06-27T15:35:01 Drop unused Makefile.sources files
Khaled Hosny cf1fdf16 2024-06-27T06:54:02 Drop autotools build Fixes https://github.com/harfbuzz/harfbuzz/issues/4720
David Corbett 0db136b1 2024-05-09T11:49:48 [subset-cff] Shorten output of `encode_num_tp`
Qunxin Liu 7975c9ca 2024-05-08T10:11:03 [instancer] bug fix for COLRv1, add missing mapping to VarIdx::NO_VARIATION
Garret Rieger b74a7ecc 2024-05-07T19:53:01 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.
Qunxin Liu a5c9c826 2024-05-06T13:22:49 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
Qunxin Liu 3b3c154b 2024-05-06T12:56:23 add back missing tests that were disabled when wrapped by experimental
Qunxin Liu 6c898572 2024-05-02T10:11:06 fix bots
Qunxin Liu f614a7d3 2024-05-02T10:05:18 [instancer] add/update tests for COLRv1 instancing
Qunxin Liu ebcdadbf 2024-05-03T14:24:56 [instancer] add tests for instantiating BASE table
Garret Rieger f145ab2f 2024-05-03T18:24:33 Disable empty_region_vardata test when running on 32bit machines.
Garret Rieger 4cf606f6 2024-05-02T20:46:29 [instancer] Promote partial instancing api out of experimental.
Garret Rieger 2cfa5505 2024-03-27T23:21:57 [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.
Garret Rieger 6e874817 2024-03-27T17:47:57 [subset] add virtual links to keep the gdef varstore last.
Garret Rieger 71456071 2024-03-25T21:41:16 [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.
Garret Rieger 990fb14d 2024-03-28T22:32:55 [subset] Disable fonttools comparison in a few tests where rounding diffs show up. Context: https://github.com/harfbuzz/harfbuzz/issues/4642
Garret Rieger 11f5dec7 2024-03-27T19:34:51 [subset] Move post apply mvar test intance position to avoid rounding diff.
Garret Rieger 975bd39b 2024-03-27T19:28:53 [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).
Garret Rieger 15a05b24 2024-03-27T18:26:09 [subset] Update generate-expected-outputs to drop BASE. This matches the behaviour of the test runner.
Garret Rieger ec46c4c2 2024-03-27T18:11:26 [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.
Qunxin Liu cfbb6a68 2024-03-14T17:33:34 [subset] support BASE table subsetting (#4618) * [subset] support BASE table * [subset] add tests for BASE table subsetting
Qunxin Liu 84771374 2024-01-26T15:45:32 [instancer] add tests for iup delta optimization
Qunxin Liu df735213 2023-12-06T09:50:29 [instancer-solver] port solver fix (#4519) * [instancer-solver] port solver fix from https://github.com/fonttools/fonttools/pull/3374
Qunxin Liu f1ac36ba 2023-11-15T11:38:41 [instancer] update hhea vertical metrics with OS/2 ones
Qunxin Liu 2d001a0a 2023-11-08T11:11:51 [subset] OTS doesn't allow ligature attachment offset to be 0
Garret Rieger 9701b002 2023-11-06T22:14:31 [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.
Garret Rieger c6884377 2023-11-06T20:21:46 [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 https://github.com/skef/harfbuzz/commit/3ae2fe2084d96f61d8ad1bbe42a6ef4e62ec830a rebased onto head w/ tests added.
Qunxin Liu d550e16a 2023-11-06T10:31:05 [instancer] Recalc avgcharwidth after instancing
Qunxin Liu 6baf791e 2023-11-03T11:06:07 [instancer] add tests
Qunxin Liu 31b5b2b1 2023-11-02T09:08:36 [instancer] add tests for valueformat
Qunxin Liu 413af0a9 2023-11-02T11:14:48 [instancer] When partial instancing, subset LigCaretList after VarStore instantiation
Qunxin Liu f6f35f73 2023-10-27T09:31:07 [instancer] add tests for feature variations partial instancing
Qunxin Liu e595fe75 2023-10-18T16:00:06 fix bots partial instancing tests are wrapped by experimenal_api, do not enable them in Makefile
Qunxin Liu ce466989 2023-10-18T15:49:57 [subset] update tests to reflect changes in GDEF.MarkGlyphSetsDef and Lookup.MarkFilteringSet
Qunxin Liu bde6fb83 2023-10-18T10:21:02 add missing file for test empty_region_vardata
Qunxin Liu 57dac23d 2023-10-17T17:11:13 [instancer] add tests Also update tests to gei rid of no-tables-with-item-variations profile
Garret Rieger bbd53fcf 2023-10-10T21:41:42 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.
Qunxin Liu 2415d5f2 2023-09-27T13:33:09 [instancer] update tests to include GDEF/GPOS tables
Qunxin Liu ef4ff1d6 2023-09-20T11:35:33 [instancer] make varstore items sorting method match fonttool's Also update expected tests
Qunxin Liu 2d2818c0 2023-09-20T10:30:47 [instancer] update expected tests to include HVAR/VVAR tables
Qunxin Liu 6e49128a 2023-09-01T10:27:40 [instancer] always check and update default wght/width/slnt if necessary Sometimes default values in original file are incorrect, and if default value for an axis is not changed, then these values won't be updated
Qunxin Liu 7b5daff5 2023-08-31T17:50:34 [instancer] add tests for mvar partial instancing
Qunxin Liu dd8d3576 2023-08-22T12:54:50 [instancer] enable partial instancing tests when experimental api is on
Qunxin Liu bea26446 2023-08-15T14:20:54 [instancer] reference all points for gvar If a point is not referenced and delta is not inferred, set delta to 0
Qunxin Liu 0aa5dafe 2023-08-08T08:33:11 fix bots. -Also disable partial instancing tests for now, cause the command option is wrapped by experimental_api
Qunxin Liu 77b158c7 2023-08-07T16:02:02 [instancer] add tests for gvar partial instancing
Garret Rieger 77a81554 2023-05-04T23:01:56 [subset] Add some basic tests for a provided glyph map.
Behdad Esfahbod 1d31da91 2023-04-25T15:34:06 Merge pull request #4205 from harfbuzz/gvar-optimize Gvar optimize
Garret Rieger e41f3171 2023-04-25T20:54:27 [subset] Update expectation files for full_instance tests.
Garret Rieger 2175f5d0 2023-04-24T21:13:18 [subset] Fix inefficient ItemVariationStore subsetting w/ retain_gids. ItemVariationStore is relying on the assumption that the inner_map is populated for all output glyphs, this is not true for subsetting operations with retain gids enabled. Fixes fuzzer timeout: https://oss-fuzz.com/testcase-detail/4575222591520768.
Garret Rieger 3db6baa2 2023-04-17T20:01:17 [subset] add test for lig glyph fix.
Garret Rieger 14b9d8d5 2023-04-14T20:44:15 [subset] add --no-layout-closure flag. Disables layout glyph closure. Fixes #4192.
Qunxin Liu 96ed2072 2023-04-04T10:33:58 [instancer] update bound metrics for CFF2 instancing
Qunxin Liu c1acfe99 2023-03-22T19:06:58 [instancer] bug fix in TupleVariationData get_size () We need to iterate TupleVariationHeader when calculating the total size
Qunxin Liu ab87d7d2 2023-03-20T12:24:22 [instance] add tests for colrv1 full instancing
Garret Rieger a84cae42 2023-03-15T02:39:57 [subset] Don't add invalid gids (-1) to the glyphset when loading glyph map from the accelerator.
Qunxin Liu 204e155a 2023-03-14T10:25:31 [subset] Add tests for collecting name_ids from STAT and FeatureParams
Qunxin Liu a975ec48 2023-02-14T13:26:59 [instancer] apply cvar deltas
Qunxin Liu 605aed05 2023-02-24T10:17:32 [instancer] bug fix in post table applying mvar deltas
Garret Rieger ddd0f7f4 2023-02-22T20:23:34 [subset] Add a test for CFF2 instancing. Adds option to disable the fonttools comparison check in the test. This is needed since CFF2 instancing is not yet supported in fonttools.
Qunxin Liu af1e605b 2023-02-10T11:08:05 [instancer] bug fix It's possible that length of all_points equals to 4 for non-empty glyphs: a composite glyph which contains only one child glyph that is empty.
Qunxin Liu 61559568 2023-01-27T11:05:13 [subset/COLR] add tests for copying varStore
Qunxin Liu 5e868703 2023-01-25T12:27:16 [instancer] compute head/maxp values using only non-empty glyphs
Qunxin Liu 73e6f6cc 2023-01-24T16:14:11 [instancer] enable the missing test
Qunxin Liu 27f72f0d 2023-01-24T16:08:32 [instancer] avoid double free for compiled glyph bytes also increase the HB_GLYF_MAX_POINTS limit to 20000 cause the test file has a .notdef glyph which is a composite glyph and has 10176 points after get_points() call
Qunxin Liu 89d33255 2023-01-20T14:15:19 [instancer] add tests
Garret Rieger ea1ee0d4 2023-01-14T00:23:53 [instance] drop and don't collect lookups from feature variations when fully instancing. This previously incorrectly collected lookups that could be reached via feature variations that are dropped and not activated by the current instance position.
Garret Rieger c324d999 2023-01-12T18:15:07 [instancing] Add tests for MVAR instancing.
Garret Rieger 9fbe52b8 2022-12-12T20:24:24 [subset] enable instancing tests by default.
Garret Rieger eda02c2e 2022-12-05T20:18:41 [subset] Move hb_subset_preprocess to be non-experimental.
Garret Rieger 64e8707e 2022-11-24T18:24:50 [subset] don't use hb repacker when generating test files from fonttools.
Garret Rieger ff3cac0c 2022-11-23T23:50:49 [subset] Fix unecessary trailing 0 bytes left by ContextFormat2 pruning. Uneeded rules where beind removed from the count by the bytes for them was being left in the font.
Garret Rieger 2822b589 2022-11-03T19:49:49 [subset] Include instancing tests in distribution. Automatically enable them when the experimental api is enabled.
Qunxin Liu 8a552483 2022-10-27T09:43:07 [instance] update OS2/.usWeightClass and .usWidthClass when no-prune-unicode-ranges option is enabled
Garret Rieger db22bfb3 2022-10-17T18:37:07 [subset] Remove Franklin from the tests which is not an open source font.
Garret Rieger 3394ec70 2022-10-13T23:02:54 [subset] use subset accelerator in tests. This ensures it produces equivalent subsets as without the accelerator.
Qunxin Liu d5fc4a73 2022-09-14T14:43:20 [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
Qunxin Liu 47094490 2022-08-31T12:01:32 [instance] add benchmarks for instancing
Qunxin Liu 88c02e00 2022-08-26T08:34:12 [instance] add tests for full instancing Also update previous tests with GDEF/GPOS tables
Qunxin Liu f887ee0c 2022-07-27T13:18:21 [instance] update post.italicAngle Add tests for instancing glyf/hmtx
Qunxin Liu f1a69ff1 2022-06-30T16:22:15 [instance] update scripts for testing instancing
Garret Rieger d6f579e9 2022-06-30T22:22:03 [subset] add tests that exercise script filtering.
Garret Rieger 858570b1 2022-06-01T18:08:09 [subset] add some additional 32bit var store cases. Test the path where the 32 bit delta is not included.
Garret Rieger 209d6aa2 2022-06-01T18:02:03 [subset] Update make files for 32bit_var_store test.
Garret Rieger 9c41bfe1 2022-06-01T17:53:14 [subset] Add subset test of font with 32 bit delta in a var store.