|
b7c55efe
|
2025-08-26T00:28:12
|
|
[subset] Fix shaping behaviour when pruning empty mark sets
See https://github.com/harfbuzz/harfbuzz/issues/5499
|
|
fac64e58
|
2025-05-23T18:15:41
|
|
[instancer] add a test which checks calculation of vmtx tsb during CFF2 instancing.
|
|
4e767271
|
2025-05-14T23:17:54
|
|
Add a test checks we can recover from cmap4 overflow.
|
|
622e9c33
|
2024-11-06T10:59:17
|
|
[instancer] fix for incorrect offset calculation when we have gvar padding
|
|
72502ef0
|
2024-08-12T14:08:06
|
|
[instancer] dont return false when variation data is empty after partial instancing
|
|
7975c9ca
|
2024-05-08T10:11:03
|
|
[instancer] bug fix for COLRv1, add missing mapping to VarIdx::NO_VARIATION
|
|
ebcdadbf
|
2024-05-03T14:24:56
|
|
[instancer] add tests for instantiating BASE table
|
|
6e874817
|
2024-03-27T17:47:57
|
|
[subset] add virtual links to keep the gdef varstore last.
|
|
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
|
|
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).
|
|
f1ac36ba
|
2023-11-15T11:38:41
|
|
[instancer] update hhea vertical metrics with OS/2 ones
|
|
2d001a0a
|
2023-11-08T11:11:51
|
|
[subset] OTS doesn't allow ligature attachment offset to be 0
|
|
6baf791e
|
2023-11-03T11:06:07
|
|
[instancer] add tests
|
|
31b5b2b1
|
2023-11-02T09:08:36
|
|
[instancer] add tests for valueformat
|
|
413af0a9
|
2023-11-02T11:14:48
|
|
[instancer] When partial instancing, subset LigCaretList after VarStore instantiation
|
|
f6f35f73
|
2023-10-27T09:31:07
|
|
[instancer] add tests for feature variations partial instancing
|
|
bde6fb83
|
2023-10-18T10:21:02
|
|
add missing file for test empty_region_vardata
|
|
96ed2072
|
2023-04-04T10:33:58
|
|
[instancer] update bound metrics for CFF2 instancing
|
|
c1acfe99
|
2023-03-22T19:06:58
|
|
[instancer] bug fix in TupleVariationData get_size ()
We need to iterate TupleVariationHeader when calculating the total size
|
|
204e155a
|
2023-03-14T10:25:31
|
|
[subset] Add tests for collecting name_ids from STAT and FeatureParams
|
|
605aed05
|
2023-02-24T10:17:32
|
|
[instancer] bug fix in post table applying mvar deltas
|
|
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.
|
|
61559568
|
2023-01-27T11:05:13
|
|
[subset/COLR] add tests for copying varStore
|
|
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
|
|
c324d999
|
2023-01-12T18:15:07
|
|
[instancing] Add tests for MVAR instancing.
|
|
db22bfb3
|
2022-10-17T18:37:07
|
|
[subset] Remove Franklin from the tests which is not an open source font.
|
|
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
|
|
47094490
|
2022-08-31T12:01:32
|
|
[instance] add benchmarks for instancing
|
|
f887ee0c
|
2022-07-27T13:18:21
|
|
[instance] update post.italicAngle
Add tests for instancing glyf/hmtx
|
|
f1a69ff1
|
2022-06-30T16:22:15
|
|
[instance] update scripts for testing instancing
|
|
9c41bfe1
|
2022-06-01T17:53:14
|
|
[subset] Add subset test of font with 32 bit delta in a var store.
|
|
52d59bf1
|
2022-05-10T19:40:37
|
|
[perf] Make subset benchmark data driven.
|
|
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.
|
|
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.
|
|
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
|
|
51655a07
|
2021-12-05T19:27:57
|
|
[subset] COLR : only include glyphs after COLR closure
|
|
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.
|
|
903a6bae
|
2021-11-15T19:58:33
|
|
[subset] layout_features filtering fix
we should not use get_size (), which returns length * item_size
|
|
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
|
|
ca418cac
|
2021-11-17T16:42:08
|
|
[subset] keep features that have FeatureParams and the tag is "size"
|
|
e88fc41e
|
2021-11-18T16:53:36
|
|
[subset] inputSequence could be empty, change the sanity check
|
|
540f19b6
|
2021-10-29T17:11:53
|
|
[subset] fix bug in (Chain)ContextFormat2
Only keep rulesets for glyphs class numbers that survived in coverage
|
|
60e20364
|
2021-11-02T15:02:36
|
|
[subset] use glyphset_gsub instead of glyphset for GDEF
|
|
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.
|
|
42626369
|
2021-10-23T13:18:22
|
|
Merge pull request #3248 from googlefonts/connected_components
[repacker] Keep connected subgraphs in the same space.
|
|
8c583db9
|
2021-10-02T20:32:30
|
|
[subset] COLRv1: update subset() method for new strutc ClipList and VarIdxMap
Also fix issues in struct PaintTransform definition
|
|
79937d24
|
2021-10-05T12:53:21
|
|
[repacker] Add repacker test that requires space splitting.
|
|
d5beb96e
|
2021-09-09T10:40:08
|
|
[repacker] add repacker isolation test on real font.
|
|
ca7b9dae
|
2021-09-20T14:42:51
|
|
[subset] subset MATH table
|
|
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.
|
|
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
|
|
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
|
|
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.
|
|
deee24fb
|
2021-07-14T13:46:36
|
|
[subset] Add missing FontName op code in top dict parsing.
Fix for #3058
|
|
d2397d91
|
2021-06-18T18:12:19
|
|
[subset] Add additional colrv1 subsetting tests that has a glyph with components.
|
|
f739e1dc
|
2021-05-11T11:44:32
|
|
[subset] subset both CPAL and COLRv1
|
|
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.
|
|
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.
|
|
85b07287
|
2021-03-25T12:17:18
|
|
Add full variable font subsetting test.
|
|
95230e29
|
2021-03-18T17:41:25
|
|
[subset] support subsetting GSUB8
|
|
b8b8c58b
|
2020-11-10T11:56:09
|
|
[subset] add tests that check for successful repacking of a real font file.
|
|
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.
|
|
0e1c0fa4
|
2021-01-12T10:17:14
|
|
[subset] optimize glyph closure method: step 5
add testcase and some fixes
|
|
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.
|
|
08a4997f
|
2020-10-06T13:02:12
|
|
[subset] Add subset support for Extension lookups (GPOS 9, GSUB 7).
|
|
c7d232ce
|
2021-02-10T18:13:38
|
|
Merge pull request #2701 from googlefonts/Mark-To-Ligature_grieger
[subset] GPOS 5 MarkToLigature subsetting support
|
|
3a0b05fa
|
2020-02-06T15:08:26
|
|
[subset] GPOS 5 MarkToLigature subsetting support
|
|
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.
|
|
7b77ce05
|
2020-09-24T16:35:59
|
|
[subset] Add subsetting integration test using Amiri.
Demonstrates a failure in subsetting GPOS 8/GSUB 6.
|
|
3c5bdd9b
|
2020-02-18T10:02:19
|
|
[subset] GDEF AttachList subsetting support
|
|
593e58c8
|
2020-05-20T18:00:25
|
|
[subset] ChainContext subsetting fix: add lookup index remapping
|
|
d7c012a0
|
2020-02-26T13:11:42
|
|
[subset] GDEF Variation Store: step 2
do subset based on variation indices collected in step 1
|
|
8b5d3ebd
|
2020-04-17T11:58:31
|
|
[subset] GSUB5/GPOS7 Contextual Subst/Pos Subtbale Subsetting support
|
|
41122542
|
2020-02-20T13:43:06
|
|
Fix glyph closure for alternate substitution.
It was not filtering on the glyphs to be retained.
|
|
eb7849a8
|
2020-02-05T15:29:03
|
|
[subset] GPOS6 MarkToMark subsetting support
|
|
82afc758
|
2020-02-04T13:24:37
|
|
[subset] GPOS4 MarkBase subsetting support
|
|
43253e40
|
2020-02-05T17:45:19
|
|
Merge remote-tracking branch 'upstream/master'
|
|
a7f694d4
|
2020-02-05T16:31:21
|
|
Merge branch 'subset_cblc' into master
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
ed857c46
|
2020-01-24T08:52:23
|
|
[subset] Add COLR support
|
|
93376a64
|
2020-01-15T13:11:40
|
|
Add unittests
|
|
43b6c865
|
2020-01-09T10:44:20
|
|
[subset] Support sbix subsetting
|
|
ea8fdfa0
|
2019-11-22T15:59:09
|
|
Merge branch 'master' into var-subset
|
|
1f0a9d9b
|
2019-09-17T11:10:08
|
|
[subset] GPOS Lookup Type 2: PairPos
|
|
b66094ad
|
2019-09-30T16:19:18
|
|
[subset] GSUB Lookup Type 6: ChainContextSubst
|
|
19d45dca
|
2019-10-03T13:39:17
|
|
Merge remote-tracking branch 'upstream/master' into var-subset
|
|
b0c3eb06
|
2019-09-18T16:11:44
|
|
[subset] GPOS Lookup Type 3: CursivePos
|
|
bf66d1bf
|
2019-08-21T14:24:33
|
|
[subset] Add integration tests for cmap14
|
|
9ff32b79
|
2019-08-29T19:53:18
|
|
Merge remote-tracking branch 'upstream/master' into glyf-rebase
|
|
321d5588
|
2019-07-02T16:30:57
|
|
[subset] Add subsetting for GPOS Lookup Type 1: Single Adjustment Positioning Subtable
|
|
8bf989ea
|
2019-07-08T17:13:29
|
|
update from master
|
|
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
|
|
4ddab6fa
|
2019-06-05T11:21:27
|
|
Merge branch 'master' into var-subset
|
|
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
|
|
c740c863
|
2019-05-16T10:57:33
|
|
[subset] Add integration tests for SingleSubst.
|
|
9e79285e
|
2019-04-10T17:24:29
|
|
Merge branch 'master' into var-subset
|
|
e44b83aa
|
2019-04-05T10:15:08
|
|
replace test font SourceHanSans with its subet
|