Qunxin Liu
f1ac36ba7f
[instancer] update hhea vertical metrics with OS/2 ones
10 months ago
Qunxin Liu
2d001a0adc
[subset] OTS doesn't allow ligature attachment offset to be 0
11 months ago
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.
11 months ago
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.
11 months ago
Qunxin Liu
d550e16acc
[instancer] Recalc avgcharwidth after instancing
11 months ago
Qunxin Liu
6baf791e6f
[instancer] add tests
11 months ago
Qunxin Liu
31b5b2b1d7
[instancer] add tests for valueformat
11 months ago
Qunxin Liu
413af0a9b2
[instancer] When partial instancing, subset LigCaretList after VarStore instantiation
11 months ago
Qunxin Liu
f6f35f73bc
[instancer] add tests for feature variations partial instancing
11 months ago
Qunxin Liu
e595fe75cc
fix bots
...
partial instancing tests are wrapped by experimenal_api, do not enable
them in Makefile
11 months ago
Qunxin Liu
ce46698929
[subset] update tests
...
to reflect changes in GDEF.MarkGlyphSetsDef and Lookup.MarkFilteringSet
11 months ago
Qunxin Liu
bde6fb83ea
add missing file for test empty_region_vardata
11 months ago
Qunxin Liu
57dac23d79
[instancer] add tests
...
Also update tests to gei rid of no-tables-with-item-variations profile
11 months ago
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.
12 months ago
Qunxin Liu
2415d5f239
[instancer] update tests to include GDEF/GPOS tables
12 months ago
Qunxin Liu
ef4ff1d6a4
[instancer] make varstore items sorting method match fonttool's
...
Also update expected tests
1 year ago
Qunxin Liu
2d2818c096
[instancer] update expected tests to include HVAR/VVAR tables
1 year ago
Qunxin Liu
6e49128afd
[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
1 year ago
Qunxin Liu
7b5daff5eb
[instancer] add tests for mvar partial instancing
1 year ago
Qunxin Liu
bea26446d2
[instancer] reference all points for gvar
...
If a point is not referenced and delta is not inferred, set delta to 0
1 year ago
Qunxin Liu
0aa5dafefd
fix bots.
...
-Also disable partial instancing tests for now, cause the command option
is wrapped by experimental_api
1 year ago
Qunxin Liu
77b158c72d
[instancer] add tests for gvar partial instancing
1 year ago
Garret Rieger
77a8155425
[subset] Add some basic tests for a provided glyph map.
1 year ago
Garret Rieger
e41f317199
[subset] Update expectation files for full_instance tests.
1 year ago
Garret Rieger
2175f5d050
[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 .
1 year ago
Garret Rieger
3db6baa20e
[subset] add test for lig glyph fix.
1 year ago
Garret Rieger
14b9d8d534
[subset] add --no-layout-closure flag.
...
Disables layout glyph closure. Fixes #4192 .
1 year ago
Qunxin Liu
96ed20725c
[instancer] update bound metrics for CFF2 instancing
1 year ago
Qunxin Liu
c1acfe9966
[instancer] bug fix in TupleVariationData get_size ()
...
We need to iterate TupleVariationHeader when calculating the total size
2 years ago
Qunxin Liu
ab87d7d225
[instance] add tests for colrv1 full instancing
2 years ago
Garret Rieger
a84cae424d
[subset] Don't add invalid gids (-1) to the glyphset when loading glyph map from the accelerator.
2 years ago
Qunxin Liu
204e155acb
[subset] Add tests for collecting name_ids from STAT and FeatureParams
2 years ago
Qunxin Liu
a975ec4842
[instancer] apply cvar deltas
2 years ago
Qunxin Liu
605aed0544
[instancer] bug fix in post table applying mvar deltas
2 years ago
Garret Rieger
ddd0f7f40b
[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.
2 years ago
Qunxin Liu
af1e605be2
[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.
2 years ago
Qunxin Liu
615595689c
[subset/COLR] add tests for copying varStore
2 years ago
Qunxin Liu
5e86870378
[instancer] compute head/maxp values using only non-empty glyphs
2 years ago
Qunxin Liu
73e6f6cc88
[instancer] enable the missing test
2 years ago
Qunxin Liu
27f72f0deb
[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
2 years ago
Qunxin Liu
89d332559e
[instancer] add tests
2 years ago
Garret Rieger
ea1ee0d4b6
[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.
2 years ago
Garret Rieger
c324d99952
[instancing] Add tests for MVAR instancing.
2 years ago
Garret Rieger
9fbe52b88d
[subset] enable instancing tests by default.
2 years ago
Garret Rieger
64e8707eca
[subset] don't use hb repacker when generating test files from fonttools.
2 years ago
Garret Rieger
ff3cac0ccd
[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.
2 years ago
Garret Rieger
2822b589bc
[subset] Include instancing tests in distribution.
...
Automatically enable them when the experimental api is enabled.
2 years ago
Qunxin Liu
8a5524833c
[instance] update OS2/.usWeightClass and .usWidthClass when
...
no-prune-unicode-ranges option is enabled
2 years ago
Garret Rieger
db22bfb3cc
[subset] Remove Franklin from the tests which is not an open source font.
2 years ago
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
2 years ago