test/subset/data/fonts

Branch


Log

Author Commit Date CI Message
Khaled Hosny b7c55efe 2025-08-26T00:28:12 [subset] Fix shaping behaviour when pruning empty mark sets See https://github.com/harfbuzz/harfbuzz/issues/5499
Garret Rieger fac64e58 2025-05-23T18:15:41 [instancer] add a test which checks calculation of vmtx tsb during CFF2 instancing.
Garret Rieger 4e767271 2025-05-14T23:17:54 Add a test checks we can recover from cmap4 overflow.
Qunxin Liu 622e9c33 2024-11-06T10:59:17 [instancer] fix for incorrect offset calculation when we have gvar padding
Qunxin Liu 72502ef0 2024-08-12T14:08:06 [instancer] dont return false when variation data is empty after partial instancing
Qunxin Liu 7975c9ca 2024-05-08T10:11:03 [instancer] bug fix for COLRv1, add missing mapping to VarIdx::NO_VARIATION
Qunxin Liu ebcdadbf 2024-05-03T14:24:56 [instancer] add tests for instantiating BASE table
Garret Rieger 6e874817 2024-03-27T17:47:57 [subset] add virtual links to keep the gdef varstore last.
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 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).
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
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 bde6fb83 2023-10-18T10:21:02 add missing file for test empty_region_vardata
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 204e155a 2023-03-14T10:25:31 [subset] Add tests for collecting name_ids from STAT and FeatureParams
Qunxin Liu 605aed05 2023-02-24T10:17:32 [instancer] bug fix in post table applying mvar deltas
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 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
Garret Rieger c324d999 2023-01-12T18:15:07 [instancing] Add tests for MVAR instancing.
Garret Rieger db22bfb3 2022-10-17T18:37:07 [subset] Remove Franklin from the tests which is not an open source font.
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 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 9c41bfe1 2022-06-01T17:53:14 [subset] Add subset test of font with 32 bit delta in a var store.
Garret Rieger 52d59bf1 2022-05-10T19:40:37 [perf] Make subset benchmark data driven.
Garret Rieger b051f3fa 2022-05-05T23:27:34 [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.
Garret Rieger bc899650 2022-01-28T13:54:10 [subset] Fix for issue #3397. cur_intersected_glyphs gets modified during recursion leading to incorrect filtering of sub tables in some cases. So don't use cur_intersected_glyphs. Instead just add an additional entry onto the parent_active_glyphs () stack. Additionaly expands NotoNastaliqUrdu tests to include coverage of the issue from #3397.
Qunxin Liu 706014f6 2021-12-01T20:20:12 [subset] (Chain)ContextSubst glyph_closure fix - When pos_glyphs is empty, use current full glyphs set as input for subsequent recursive closure process - Also increase max_lookup_visit_count to 35000 cause a real font file hit previous limit 20000 and some lookups are dropped unexpectedly
Qunxin Liu 51655a07 2021-12-05T19:27:57 [subset] COLR : only include glyphs after COLR closure
Qunxin Liu 74b46b29 2021-12-02T19:50:16 [subset] MATH: don't serialize coverage table when iterator is empty when iterator is empty, just set coverage offset to 0. serialize() in coverage will at lease write out a 16-bit format header.
Qunxin Liu 903a6bae 2021-11-15T19:58:33 [subset] layout_features filtering fix we should not use get_size (), which returns length * item_size
Qunxin Liu 84dc4e85 2021-11-08T09:36:31 [subset] avoid writing out duplicate extra glyph names in post table Add check for possible duplicate with other name index
Qunxin Liu ca418cac 2021-11-17T16:42:08 [subset] keep features that have FeatureParams and the tag is "size"
Qunxin Liu e88fc41e 2021-11-18T16:53:36 [subset] inputSequence could be empty, change the sanity check
Qunxin Liu 540f19b6 2021-10-29T17:11:53 [subset] fix bug in (Chain)ContextFormat2 Only keep rulesets for glyphs class numbers that survived in coverage
Qunxin Liu 60e20364 2021-11-02T15:02:36 [subset] use glyphset_gsub instead of glyphset for GDEF
Qunxin Liu 364b6b39 2021-10-31T14:38:20 [subset] Don't assume FeatureList is sorted Though the spec said FeatureRecords are sorted alphabetically by feature tag, there're font files with unsorted FeatureList. And harfbuzz is not able to subset these files correctly because we use binary search in finding featureRecords when collecting lookups. Also find_duplicate_features needs to be updated to handle this.
Behdad Esfahbod 42626369 2021-10-23T13:18:22 Merge pull request #3248 from googlefonts/connected_components [repacker] Keep connected subgraphs in the same space.
Qunxin Liu 8c583db9 2021-10-02T20:32:30 [subset] COLRv1: update subset() method for new strutc ClipList and VarIdxMap Also fix issues in struct PaintTransform definition
Garret Rieger 79937d24 2021-10-05T12:53:21 [repacker] Add repacker test that requires space splitting.
Garret Rieger d5beb96e 2021-09-09T10:40:08 [repacker] add repacker isolation test on real font.
Qunxin Liu ca7b9dae 2021-09-20T14:42:51 [subset] subset MATH table
Qunxin Liu 8c5c8174 2021-09-12T20:16:30 [subset] fix find_duplicate_features We should check each feature against all other features with the same tag for duplicates.
Qunxin Liu 37379f8f 2021-09-02T11:54:37 [subset] fox for (Chain)ContextFormat3: subset lookupRecord skip copying a lookupRecord if lookup referenced in the lookupRecord is not retained after subset
Qunxin Liu 34e0b28f 2021-08-18T20:46:06 [subset] make glyph-names option match fonttools behavior Don't encode psNames that are contained in standard glyph names set
Garret Rieger e39c3bde 2021-08-10T11:41:55 [subset] fix bug in parsing glyf flags. the bytes of the flag stream were being treated as signed integers instead of unsigned as specified in the spec.
Garret Rieger deee24fb 2021-07-14T13:46:36 [subset] Add missing FontName op code in top dict parsing. Fix for #3058
Garret Rieger d2397d91 2021-06-18T18:12:19 [subset] Add additional colrv1 subsetting tests that has a glyph with components.
Qunxin Liu f739e1dc 2021-05-11T11:44:32 [subset] subset both CPAL and COLRv1
Garret Rieger a08900b7 2021-05-04T16:48:41 [subset] fix failing colrv0 subsetting when font has composite glyphs. Composite glyph collection was happening along side colrv0 glyph collection which meant it was possible to miss grabbing the component glyphs for a glyph added by colrv0.
Garret Rieger c35d7863 2021-04-01T14:32:38 [subset] never drop the 'pref' feature. Never ever drop feature 'pref', even if it's empty. Harfbuzz uses it to choose the shaper for Khmer.
Garret Rieger 85b07287 2021-03-25T12:17:18 Add full variable font subsetting test.
Qunxin Liu 95230e29 2021-03-18T17:41:25 [subset] support subsetting GSUB8
Garret Rieger b8b8c58b 2020-11-10T11:56:09 [subset] add tests that check for successful repacking of a real font file.
Qunxin Liu 56ca4357 2021-01-28T15:21:26 [subset] fix for collect_features and remove_redundant_lamngsys previously remove_redundant_sys () is missing in harfbuzz, after redundant langsys removal, some features are removed as well in prune_features() in fonttools. This change is trying to get the same result between harfbuzz and fonttools.
Qunxin Liu 0e1c0fa4 2021-01-12T10:17:14 [subset] optimize glyph closure method: step 5 add testcase and some fixes
Garret Rieger 190b7a98 2020-10-08T14:44:54 [subset] Update PairPosFormat2 subsetting to match fontTools updated subsetting (https://github.com/fonttools/fonttools/pull/2221) - subset class def 1 against the coverage table. - Don't re-use class 0 in class def 2. - Ignore class 0 glyphs for the purposes of determing format 1 vs format 2 encoding for ClassDef. Add an additional test case which demonstrates these issues.
Garret Rieger 08a4997f 2020-10-06T13:02:12 [subset] Add subset support for Extension lookups (GPOS 9, GSUB 7).
Behdad Esfahbod c7d232ce 2021-02-10T18:13:38 Merge pull request #2701 from googlefonts/Mark-To-Ligature_grieger [subset] GPOS 5 MarkToLigature subsetting support
Qunxin Liu 3a0b05fa 2020-02-06T15:08:26 [subset] GPOS 5 MarkToLigature subsetting support
Garret Rieger 3271a7cd 2020-09-28T16:46:15 [subset] Remove redundant langys from Amiri test font. FontTools removes these when subsetting but harfbuzz does not yet support redundant langsys removal. So this gets the Amiri tests passing for now.
Garret Rieger 7b77ce05 2020-09-24T16:35:59 [subset] Add subsetting integration test using Amiri. Demonstrates a failure in subsetting GPOS 8/GSUB 6.
Qunxin Liu 3c5bdd9b 2020-02-18T10:02:19 [subset] GDEF AttachList subsetting support
Qunxin Liu 593e58c8 2020-05-20T18:00:25 [subset] ChainContext subsetting fix: add lookup index remapping
Qunxin Liu d7c012a0 2020-02-26T13:11:42 [subset] GDEF Variation Store: step 2 do subset based on variation indices collected in step 1
Qunxin Liu 8b5d3ebd 2020-04-17T11:58:31 [subset] GSUB5/GPOS7 Contextual Subst/Pos Subtbale Subsetting support
Garret Rieger 41122542 2020-02-20T13:43:06 Fix glyph closure for alternate substitution. It was not filtering on the glyphs to be retained.
Qunxin Liu eb7849a8 2020-02-05T15:29:03 [subset] GPOS6 MarkToMark subsetting support
Qunxin Liu 82afc758 2020-02-04T13:24:37 [subset] GPOS4 MarkBase subsetting support
Ebrahim Byagowi 43253e40 2020-02-05T17:45:19 Merge remote-tracking branch 'upstream/master'
Ebrahim Byagowi a7f694d4 2020-02-05T16:31:21 Merge branch 'subset_cblc' into master
ckitagawa-work 774725b4 2020-02-05T07:43:10 [subset] Avoid incorrectly dropping cmap for NotoColorEmoji.ttf NotoColorEmoji.ttf uses two cmap subtables Format 14 | Platform ID 0 | Platform Encoding ID 5 Format 12 | Platform ID 3 | Platform Encoding ID 10 This combination results in the cmap table being dropped during subsetting despite being valid/required.
Qunxin Liu 490ef1cc 2020-01-28T15:57:33 [subset] Fix namerecord ordering This will fix inconsistency with fontTools. Also according to the spec, namerecords must be sorted first by platform ID, then by platform-specific ID, then by language ID, and then by name ID.
ckitagawa e128f802 2020-01-21T13:35:43 parent 777ba47b50f6379b9f9abf1d72559316b7116b9e author ckitagawa <ckitagawa@chromium.org> 1579631743 -0500 committer ckitagawa <ckitagawa@chromium.org> 1580506176 -0500 [subset] Add CBLC support
Qunxin Liu b6a8f5e6 2020-01-28T09:30:51 [subset] CMAP table subsetting fix Not all codepoints smaller than 0xFFFF go to cmap4 table. Only subset codepoints existing in each table. This will also make harfbuzz consistent with fontTools' behavior
ckitagawa ed857c46 2020-01-24T08:52:23 [subset] Add COLR support
ckitagawa 93376a64 2020-01-15T13:11:40 Add unittests
ckitagawa 43b6c865 2020-01-09T10:44:20 [subset] Support sbix subsetting
blueshade7 ea8fdfa0 2019-11-22T15:59:09 Merge branch 'master' into var-subset
Qunxin Liu 1f0a9d9b 2019-09-17T11:10:08 [subset] GPOS Lookup Type 2: PairPos
Qunxin Liu b66094ad 2019-09-30T16:19:18 [subset] GSUB Lookup Type 6: ChainContextSubst
Ebrahim Byagowi 19d45dca 2019-10-03T13:39:17 Merge remote-tracking branch 'upstream/master' into var-subset
Qunxin Liu b0c3eb06 2019-09-18T16:11:44 [subset] GPOS Lookup Type 3: CursivePos
Qunxin Liu bf66d1bf 2019-08-21T14:24:33 [subset] Add integration tests for cmap14
Ebrahim Byagowi 9ff32b79 2019-08-29T19:53:18 Merge remote-tracking branch 'upstream/master' into glyf-rebase
Qunxin Liu 321d5588 2019-07-02T16:30:57 [subset] Add subsetting for GPOS Lookup Type 1: Single Adjustment Positioning Subtable
blueshade7 8bf989ea 2019-07-08T17:13:29 update from master
Michiharu Ariza 82d4bfb8 2019-06-14T10:49:42 enable cff subset tests add Unicode UCS-4 cmap fix Unicode bits in OS/2 add Unicode cmap sub-table in SourceHanSans-Regular_subset.otf regenerate cff subset test expected results
Michiharu Ariza 4ddab6fa 2019-06-05T11:21:27 Merge branch 'master' into var-subset
Qunxin Liu 993d81b9 2019-05-14T13:55:11 [subset] Add one ttf file with fvar/STAT tables to integration test Ignore gvar/MVAR/HVAR table add support for --nameIDs=* option
Garret Rieger c740c863 2019-05-16T10:57:33 [subset] Add integration tests for SingleSubst.
Michiharu Ariza 9e79285e 2019-04-10T17:24:29 Merge branch 'master' into var-subset
Michiharu Ariza e44b83aa 2019-04-05T10:15:08 replace test font SourceHanSans with its subet