|
0952bc0a
|
2025-09-26T09:10:28
|
|
[subset] de-duplicate features (#5494)
|
|
aa58b43d
|
2025-09-12T14:24:41
|
|
[subset] Introduce HB_SUBSET_FLAGS_RETAIN_NUM_GLYPHS. (#5547)
Used in conjunction with retain gids, when set the num glyphs from the input font will be preserved. Empty glyphs will be inserted as necessary to maintain the num glyphs value. Put under experimental for now.
|
|
6dadd846
|
2025-09-12T18:37:30
|
|
Re-disable fonttools comparison for update_def_wght.tests
|
|
0f1dab0f
|
2025-09-12T11:43:21
|
|
[instancer/varstore] More gain_from_merging optimization (#5543)
* [instancer/varstore] More gain_from_merging optimization
* [tests] Re-enable a test that was disabled until an issue fixed
See comment.
|
|
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.
|
|
3e122d9d
|
2025-05-16T17:32:45
|
|
Disable OTS on the cmap4 overflow test case.
The test file has been stripped of most tables to avoid checking in a very large font (since it has a high number of codepoints), which causes OTS to fail on missing required tables.
|
|
4e767271
|
2025-05-14T23:17:54
|
|
Add a test checks we can recover from cmap4 overflow.
|
|
efcb7d3d
|
2025-04-11T23:34:06
|
|
[subset] close unicodes over bidi mirror variants during subsetting.
Fixes #5281. Does the closure by default, but I've introduced a new flag and option to disable this behaviour since some users may want to get the minimal set if they know they don't need the mirrored variants.
|
|
e5541a0b
|
2025-04-05T17:02:31
|
|
[subset/test/cmap14] Reduce tested combinations
Fixes https://github.com/harfbuzz/harfbuzz/issues/5254
|
|
d65fa934
|
2025-04-05T16:58:06
|
|
[subset/test/basics.tests] Reduce tested combinations
|
|
ea1434b8
|
2025-02-25T19:00:29
|
|
Split iup glyf partial instance tests into a separate set which ignores due to IUP rounding differences fonttools.
|
|
9a0cf8d6
|
2025-02-25T00:19:25
|
|
[test/subset/cff-japanese] Shrink test
Was taking too long.
|
|
084fb3ab
|
2025-02-25T00:16:27
|
|
[test/subset/cmap] Shrink test
Was taking more than the rest of the test suite combined.
|
|
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
|
|
622e9c33
|
2024-11-06T10:59:17
|
|
[instancer] fix for incorrect offset calculation when we have gvar padding
|
|
634778ef
|
2024-08-20T14:34:09
|
|
[subset] bug fix in post table
insert retain-gid holes when retain-gids is enabled
|
|
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
|
|
f614a7d3
|
2024-05-02T10:05:18
|
|
[instancer] add/update tests for COLRv1 instancing
|
|
ebcdadbf
|
2024-05-03T14:24:56
|
|
[instancer] add tests for instantiating BASE table
|
|
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.
|
|
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
|
|
11f5dec7
|
2024-03-27T19:34:51
|
|
[subset] Move post apply mvar test intance position to avoid rounding diff.
|
|
cfbb6a68
|
2024-03-14T17:33:34
|
|
[subset] support BASE table subsetting (#4618)
* [subset] support BASE table
* [subset] add tests for BASE table subsetting
|
|
84771374
|
2024-01-26T15:45:32
|
|
[instancer] add tests for iup delta optimization
|
|
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
|
|
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.
|
|
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
|
|
57dac23d
|
2023-10-17T17:11:13
|
|
[instancer] add tests
Also update tests to gei rid of no-tables-with-item-variations profile
|
|
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.
|
|
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
|
|
7b5daff5
|
2023-08-31T17:50:34
|
|
[instancer] add tests for mvar partial instancing
|
|
77b158c7
|
2023-08-07T16:02:02
|
|
[instancer] add tests for gvar partial instancing
|
|
77a81554
|
2023-05-04T23:01:56
|
|
[subset] Add some basic tests for a provided glyph map.
|
|
1d31da91
|
2023-04-25T15:34:06
|
|
Merge pull request #4205 from harfbuzz/gvar-optimize
Gvar optimize
|
|
e41f3171
|
2023-04-25T20:54:27
|
|
[subset] Update expectation files for full_instance tests.
|
|
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.
|
|
3db6baa2
|
2023-04-17T20:01:17
|
|
[subset] add test for lig glyph fix.
|
|
14b9d8d5
|
2023-04-14T20:44:15
|
|
[subset] add --no-layout-closure flag.
Disables layout glyph closure. Fixes #4192.
|
|
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
|
|
ab87d7d2
|
2023-03-20T12:24:22
|
|
[instance] add tests for colrv1 full instancing
|
|
a84cae42
|
2023-03-15T02:39:57
|
|
[subset] Don't add invalid gids (-1) to the glyphset when loading glyph map from the accelerator.
|
|
204e155a
|
2023-03-14T10:25:31
|
|
[subset] Add tests for collecting name_ids from STAT and FeatureParams
|
|
a975ec48
|
2023-02-14T13:26:59
|
|
[instancer] apply cvar deltas
|
|
605aed05
|
2023-02-24T10:17:32
|
|
[instancer] bug fix in post table applying mvar deltas
|
|
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.
|
|
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
|
|
5e868703
|
2023-01-25T12:27:16
|
|
[instancer] compute head/maxp values using only non-empty glyphs
|
|
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
|
|
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.
|
|
c324d999
|
2023-01-12T18:15:07
|
|
[instancing] Add tests for MVAR instancing.
|
|
8a552483
|
2022-10-27T09:43:07
|
|
[instance] update OS2/.usWeightClass and .usWidthClass when
no-prune-unicode-ranges option is enabled
|
|
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
|
|
88c02e00
|
2022-08-26T08:34:12
|
|
[instance] add tests for full instancing
Also update previous tests with GDEF/GPOS tables
|
|
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
|
|
d6f579e9
|
2022-06-30T22:22:03
|
|
[subset] add tests that exercise script filtering.
|
|
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.
|
|
9c41bfe1
|
2022-06-01T17:53:14
|
|
[subset] Add subset test of font with 32 bit delta in a var store.
|
|
7cb002cb
|
2022-03-14T11:40:35
|
|
[subset] bug fix in prune_langsys
we should not cache visited langsys cause 2 different Record<Langsys>
could have different Tag while pointing to the same Langsys, a langsys
is redundant in Record<Langsys> A does not mean it's redundant in Record
B. Same thing for visited_script.
Also adding the number of features in the LangSys's feature list to the
visited langsys count so it's more accurate.
Plus some improvement in langsys compare()
|
|
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.
|
|
8c583db9
|
2021-10-02T20:32:30
|
|
[subset] COLRv1: update subset() method for new strutc ClipList and VarIdxMap
Also fix issues in struct PaintTransform definition
|
|
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
|
|
44802c8e
|
2021-08-12T11:11:51
|
|
[subset] use layout-features=* for layout subsetting tests w/ synthetic test fonts.
|
|
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.
|
|
2c024dc3
|
2021-08-04T11:38:38
|
|
[subset] prune redundant cmap12 subtables.
If the post subset cmap12 table is equivalent to another cmap subtable don't include the 12 table in the final subset. Matches change https://github.com/fonttools/fonttools/pull/2146 from fontTools.
|
|
7cbcdaf6
|
2021-07-30T11:26:46
|
|
Whitespace
|
|
71b5509c
|
2021-07-20T20:05:35
|
|
[subset] support option --glyph-names
|
|
deee24fb
|
2021-07-14T13:46:36
|
|
[subset] Add missing FontName op code in top dict parsing.
Fix for #3058
|
|
eee7b459
|
2021-06-24T10:17:46
|
|
[subset] add option --no-prune-unicode-ranges
|
|
d2397d91
|
2021-06-18T18:12:19
|
|
[subset] Add additional colrv1 subsetting tests that has a glyph with components.
|
|
d07f789a
|
2021-06-09T15:36:40
|
|
[subset] support option "--notdef-outline"
|
|
cb5a6b5a
|
2021-05-19T17:33:46
|
|
[subset] support option --layout-features
|
|
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.
|
|
b07b97d5
|
2021-03-29T10:39:38
|
|
[subset] Add more Noto Nastaliq test cases.
|
|
6fddc2bb
|
2021-04-01T15:34:17
|
|
[subset] subset layout tables (G*) by default.
|
|
4ec18c85
|
2021-04-02T15:33:54
|
|
[subset] add subsetting tests with drop hints and layout subsetting enabled.
|
|
596f4258
|
2021-04-02T12:41:09
|
|
[subset] copy Lookup::markFilteringSet when subseting.
|