Commit Graph

88 Commits

Author SHA1 Message Date
Qunxin Liu
593e58c842 [subset] ChainContext subsetting fix: add lookup index remapping 2020-05-27 16:58:15 -07:00
Qunxin Liu
d7c012a08e [subset] GDEF Variation Store: step 2
do subset based on variation indices collected in step 1
2020-05-21 12:43:24 -07:00
Qunxin Liu
8b5d3ebd96 [subset] GSUB5/GPOS7 Contextual Subst/Pos Subtbale Subsetting support 2020-05-20 15:12:54 -07:00
Qunxin Liu
b2a965df5e [subset] Add support for "--gids" option
cmap subsetting now retains entries associated with any glyph ids explicitly requested
2020-05-11 15:28:58 -07:00
Qunxin Liu
e53c44e326 [subset] temporarily revert previous cmap commit
Required in https://github.com/harfbuzz/harfbuzz/issues/2356
2020-04-25 12:21:22 +04:30
Ebrahim Byagowi
29c903223b Move hb_ot_layout_closure_{features,lookups} behind EXPERIMENTAL flag 2020-04-17 22:25:45 +04:30
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
2020-04-03 12:31:48 -07:00
Qunxin Liu
5ad761b943 [subset] GDEF MarkGlyphSets subsetting support 2020-02-26 15:15:21 -08:00
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.
2020-02-26 11:10:31 -08:00
Garret Rieger
411225426f Fix glyph closure for alternate substitution.
It was not filtering on the glyphs to be retained.
2020-02-21 13:01:23 +03:30
Qunxin Liu
493e40ff78 [subset] add one empty byte to glyf table
if it's going to end up empty after subsetting
This will make OTS happy and match what fontTools is doing now.
2020-02-19 12:24:38 +03:30
Qunxin Liu
eb7849a806 [subset] GPOS6 MarkToMark subsetting support 2020-02-06 10:46:05 -08:00
Qunxin Liu
82afc75835 [subset] GPOS4 MarkBase subsetting support 2020-02-06 10:46:05 -08:00
Ebrahim Byagowi
43253e404d Merge remote-tracking branch 'upstream/master' 2020-02-05 17:45:19 +03:30
Ebrahim Byagowi
a7f694d4b0 Merge branch 'subset_cblc' into master 2020-02-05 16:31:21 +03:30
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.
2020-02-05 16:13:10 +03:30
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.
2020-02-01 23:07:47 +03:30
ckitagawa
e128f80278 parent 777ba47b50
author ckitagawa <ckitagawa@chromium.org> 1579631743 -0500
committer ckitagawa <ckitagawa@chromium.org> 1580506176 -0500

[subset] Add CBLC support
2020-01-31 16:37:30 -05:00
Qunxin Liu
b6a8f5e63c [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
2020-01-31 10:49:44 -08:00
ckitagawa
ed857c4680 [subset] Add COLR support 2020-01-28 15:35:53 -05:00
Ebrahim Byagowi
d1830437c9 [tests] Apply expected results of Mplus1p-Regular subset
Related to #2131
2020-01-25 00:09:50 +03:30
Qunxin Liu
36a5c042d7 [subset] Add "--name-languages" and "--name-legacy" options
Make name table subsetting consistent with fontTools
2020-01-24 23:17:04 +03:30
Ebrahim Byagowi
e171beeb5f Revert "[subset] Add "--name-languages" and "--name-legacy" options"
Causes tests failures, please reapply when tests are fixed, thanks.

This reverts commit fd85818b5b.
2020-01-24 19:51:32 +03:30
Qunxin Liu
fd85818b5b [subset] Add "--name-languages" and "--name-legacy" options
Make name table subsetting consistent with fontTools
2020-01-23 17:24:05 -08:00
Qunxin Liu
c370da45ff [subset] Cmap table: remove encodingRecord entry for empty cmap4 subtable 2020-01-23 17:23:55 -08:00
Qunxin Liu
a3cf4ae080 [subset] Add more tests for GPOS1 subsetting
These tests were left out because of issue: https://github.com/fonttools/fonttools/issues/1709
Now re-adding these tests since the issue is resolved.
2020-01-17 13:33:46 -08:00
Qunxin Liu
e565d1f9bc [subset] subset lookup/feature/script lists for GSUB/GPOS 2020-01-15 14:04:33 -08:00
ckitagawa
93376a6436 Add unittests 2020-01-15 13:36:01 -08:00
ckitagawa
78b50a67be Address initial comments 2020-01-15 13:36:01 -08:00
ckitagawa
43b6c865ae [subset] Support sbix subsetting 2020-01-15 13:36:01 -08:00
Qunxin Liu
1db2c1d0da fix for cmap4 and OS_2 subsetting: maximum character code allowed is 0xFFFF 2020-01-09 10:00:32 -08:00
blueshade7
ea8fdfa079 Merge branch 'master' into var-subset 2019-11-22 15:59:09 -08:00
Qunxin Liu
1f0a9d9be9 [subset] GPOS Lookup Type 2: PairPos 2019-10-21 12:35:28 -07:00
Qunxin Liu
b66094ada0 [subset] GSUB Lookup Type 6: ChainContextSubst 2019-10-18 16:52:55 -07:00
Ebrahim Byagowi
19d45dcab7 Merge remote-tracking branch 'upstream/master' into var-subset 2019-10-03 13:39:17 +03:30
Qunxin Liu
b0c3eb06b6 [subset] GPOS Lookup Type 3: CursivePos 2019-09-25 05:43:25 +09:00
Qunxin Liu
bf66d1bf58 [subset] Add integration tests for cmap14 2019-09-20 07:55:11 +09:00
Ebrahim Byagowi
9ff32b79b3 Merge remote-tracking branch 'upstream/master' into glyf-rebase 2019-08-29 19:53:18 +04:30
Qunxin Liu
321d5588d4 [subset] Add subsetting for GPOS Lookup Type 1: Single Adjustment Positioning Subtable 2019-08-06 14:06:35 -07:00
blueshade7
4cba7bdae9 regenerate Confortaa subset test expected results 2019-07-18 14:03:33 -07:00
blueshade7
a76d8b0d55 Merge commit '504bb17287c978d60a4a515555852465319f74ed' into var-subset 2019-07-17 14:12:06 -07:00
Qunxin Liu
1da1b4dc94 [subset] For option "--unicodes", add support for "*" to retain all code points 2019-07-15 11:18:50 -07:00
blueshade7
0eef8113d8 retain gids in HVAR so in sync with fontTools
regenerate Comfortaa subset test results
2019-07-09 11:43:59 -07:00
blueshade7
8bf989ea70 update from master 2019-07-08 17:13:29 -07:00
Michiharu Ariza
82d4bfb8f3 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
2019-06-14 11:08:59 -07:00
Michiharu Ariza
6f35cf7a63 regenerate SourceSerifVariable expected subset results 2019-06-06 09:15:34 -07:00
Michiharu Ariza
4ddab6facc Merge branch 'master' into var-subset 2019-06-05 11:21:27 -07:00
Qunxin Liu
993d81b9c5 [subset] Add one ttf file with fvar/STAT tables to integration test
Ignore gvar/MVAR/HVAR table
add support for --nameIDs=* option
2019-05-22 17:20:45 -07:00
Garret Rieger
b928de91a7 [subset] Add test/subset/data/expected/layout to dist list. 2019-05-21 13:02:11 -07:00
Garret Rieger
c740c8636b [subset] Add integration tests for SingleSubst. 2019-05-21 13:02:11 -07:00