Qunxin Liu
60e203644b
[subset] use glyphset_gsub instead of glyphset for GDEF
3 years ago
Qunxin Liu
364b6b3989
[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.
3 years ago
Qunxin Liu
8c583db9b5
[subset] COLRv1: update subset() method for new strutc ClipList and VarIdxMap
...
Also fix issues in struct PaintTransform definition
3 years ago
Qunxin Liu
ca7b9daef0
[subset] subset MATH table
3 years ago
Qunxin Liu
8c5c81746d
[subset] fix find_duplicate_features
...
We should check each feature against all other features with the same
tag for duplicates.
3 years ago
Qunxin Liu
37379f8f7d
[subset] fox for (Chain)ContextFormat3: subset lookupRecord
...
skip copying a lookupRecord if lookup referenced in the lookupRecord is
not retained after subset
3 years ago
Qunxin Liu
34e0b28fae
[subset] make glyph-names option match fonttools behavior
...
Don't encode psNames that are contained in standard glyph names set
3 years ago
Garret Rieger
44802c8ec4
[subset] use layout-features=* for layout subsetting tests w/ synthetic test fonts.
3 years ago
Garret Rieger
e39c3bde7b
[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.
3 years ago
Garret Rieger
2c024dc3cb
[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.
3 years ago
Behdad Esfahbod
7cbcdaf68a
Whitespace
3 years ago
Qunxin Liu
71b5509c19
[subset] support option --glyph-names
3 years ago
Garret Rieger
deee24fbef
[subset] Add missing FontName op code in top dict parsing.
...
Fix for #3058
3 years ago
Qunxin Liu
eee7b459ee
[subset] add option --no-prune-unicode-ranges
3 years ago
Garret Rieger
d2397d91f3
[subset] Add additional colrv1 subsetting tests that has a glyph with components.
3 years ago
Qunxin Liu
d07f789ae3
[subset] support option "--notdef-outline"
3 years ago
Qunxin Liu
cb5a6b5a27
[subset] support option --layout-features
4 years ago
Qunxin Liu
f739e1dc6a
[subset] subset both CPAL and COLRv1
4 years ago
Garret Rieger
a08900b721
[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.
4 years ago
Garret Rieger
b07b97d5d7
[subset] Add more Noto Nastaliq test cases.
4 years ago
Garret Rieger
6fddc2bbf9
[subset] subset layout tables (G*) by default.
4 years ago
Garret Rieger
4ec18c85e6
[subset] add subsetting tests with drop hints and layout subsetting enabled.
4 years ago
Garret Rieger
596f4258d0
[subset] copy Lookup::markFilteringSet when subseting.
4 years ago
Garret Rieger
c35d786397
[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.
4 years ago
Garret Rieger
85b0728783
Add full variable font subsetting test.
4 years ago
Garret Rieger
b10741ca7f
[subset] when closing glyphs in context lookups don't use a current glyph set if a lookup is already applied.
4 years ago
Garret Rieger
2773d05740
[subset] Add a test case using NotoNastaliqUrdu.
4 years ago
Qunxin Liu
95230e291d
[subset] support subsetting GSUB8
4 years ago
Qunxin Liu
0e1c0fa404
[subset] optimize glyph closure method: step 5
...
add testcase and some fixes
4 years ago
Garret Rieger
190b7a98f8
[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.
4 years ago
Garret Rieger
08a4997fde
[subset] Add subset support for Extension lookups (GPOS 9, GSUB 7).
4 years ago
Khaled Hosny
5091ea7e24
Merge pull request #2733 from astiob/buffer-context-doc
...
[docs] Describe buffer context applicability more explicitly
4 years ago
Qunxin Liu
3a0b05faf1
[subset] GPOS 5 MarkToLigature subsetting support
4 years ago
Garret Rieger
010accb3d5
[subset] Add additional test cases for the Amiri tests.
4 years ago
Garret Rieger
7b77ce0507
[subset] Add subsetting integration test using Amiri.
...
Demonstrates a failure in subsetting GPOS 8/GSUB 6.
4 years ago
Qunxin Liu
3c5bdd9bb8
[subset] GDEF AttachList subsetting support
5 years ago
Qunxin Liu
593e58c842
[subset] ChainContext subsetting fix: add lookup index remapping
5 years ago
Qunxin Liu
d7c012a08e
[subset] GDEF Variation Store: step 2
...
do subset based on variation indices collected in step 1
5 years ago
Qunxin Liu
8b5d3ebd96
[subset] GSUB5/GPOS7 Contextual Subst/Pos Subtbale Subsetting support
5 years ago
Qunxin Liu
b2a965df5e
[subset] Add support for "--gids" option
...
cmap subsetting now retains entries associated with any glyph ids explicitly requested
5 years ago
Qunxin Liu
e53c44e326
[subset] temporarily revert previous cmap commit
...
Required in https://github.com/harfbuzz/harfbuzz/issues/2356
5 years ago
Qunxin Liu
c8cc1e378d
fix issues in ClassDefFormat1 serialize:
...
glyph ids in Iterator may be non-consecutive,
so the number in classValue might be larger than length of the Iterator
5 years ago
Qunxin Liu
5ad761b943
[subset] GDEF MarkGlyphSets subsetting support
5 years ago
Qunxin Liu
fcd7f33bbb
[subset] GDEF glyphClassDef subsetting support
...
glyphClassDef uses the same ClassDef format. However, glyphClassDef table
uses predefined class values so we do not remap class values.
5 years ago
Garret Rieger
411225426f
Fix glyph closure for alternate substitution.
...
It was not filtering on the glyphs to be retained.
5 years ago
Qunxin Liu
eb7849a806
[subset] GPOS6 MarkToMark subsetting support
5 years ago
Qunxin Liu
82afc75835
[subset] GPOS4 MarkBase subsetting support
5 years ago
ckitagawa-work
774725b43a
[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.
5 years ago
Qunxin Liu
490ef1cc23
[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.
5 years ago
ckitagawa
e128f80278
parent 777ba47b50
...
author ckitagawa <ckitagawa@chromium.org> 1579631743 -0500
committer ckitagawa <ckitagawa@chromium.org> 1580506176 -0500
[subset] Add CBLC support
5 years ago