|
95329081
|
2021-11-26T16:18:42
|
|
[subset] further optimize cmap4 packing.
|
|
d9660fd5
|
2021-11-25T18:15:35
|
|
[subset] Make cmap4 packing more optimal.
The current CMAP4 implementation uses whatever the current codepoint ranges are and then encodes them as indivudal glyph ids or as a delta if possible. However, it's often possible to save bytes by splitting up existing ranges and encoding parts of them using deltas where the cost of splitting the range is less than encoding each glyph individual.
|
|
49c93924
|
2021-09-24T09:28:10
|
|
[subset] During LigatureSubstFormat1 subsetting always place Coverage last.
In Windows 7 on Chrome if the coverage table comes before any of the LigatureSet or Ligature subtables the font won't load. This changes the packing order to always place the Coverage table last. Virtual links are used to ensure the repacker maintains the desired ordering.
Coincidentally fontTools also does the same thing (https://github.com/fonttools/fonttools/blob/a3f988fbf621142d7d9b3e68a69725b88f358869/Lib/fontTools/ttLib/tables/otTables.py#L1137) to reduce overflows during packing.
|
|
c2ee1fdd
|
2021-08-04T16:42:49
|
|
[subset] remove unsed table_entry struct.
|
|
dea0fe57
|
2021-08-04T16:36:20
|
|
[subset] discard extra copies of a table in face builder.
Fixes #2361. Stores tables in the builder in a hashmap so you end up with at most one copy of each table. Table serialization order is now based on tag sort order instead of order of insertion into the builder.
|
|
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.
|
|
7ccc52b0
|
2021-08-04T03:57:18
|
|
[test] Compare sha256 hash before TTX dumps
Most of time the files are identical, so instead of comparing the TTX
dump we can check sha256 hashes of the files first and if they match, we
don’t have to check the TTX dumps at all, making the subset tests orders
of magnitude faster.
time meson test --suite=subset down from:
real 0m19.418s
user 0m38.171s
sys 0m3.587s
to:
real 0m3.102s
user 0m8.622s
sys 0m1.701s
The expected files have been replaced by hb-subset output so they are
bit-identical where FontTools output might not.
The generate-expected-outputs.py now compares the hb-subset output with
fontttols subset and errors of they don’t match.
|
|
770fbd5a
|
2021-08-04T00:07:23
|
|
Revert "[test] Speed-up subset tests by saving TTX dump"
This reverts commit 278f44dcee34cea25403e42e06668f0afe2328c1.
|
|
278f44dc
|
2021-07-29T23:43:56
|
|
[test] Speed-up subset tests by saving TTX dump
Speed-up subset tests by saving TTX dump of expected output instead of
generating it each time the tests are run.
Cuts down meson test --suite=subset on my system from:
real 0m38.977s
user 1m12.024s
sys 0m10.547s
to:
real 0m22.291s
user 0m44.548s
sys 0m9.221s
Part of https://github.com/harfbuzz/harfbuzz/issues/3089
|
|
71b5509c
|
2021-07-20T20:05:35
|
|
[subset] support option --glyph-names
|
|
eee7b459
|
2021-06-24T10:17:46
|
|
[subset] add option --no-prune-unicode-ranges
|
|
d07f789a
|
2021-06-09T15:36:40
|
|
[subset] support option "--notdef-outline"
|
|
cb5a6b5a
|
2021-05-19T17:33:46
|
|
[subset] support option --layout-features
|
|
92757f68
|
2021-04-22T15:18:35
|
|
[subset] Don't drop anchor device tables when dropping hints. These may contain variation data.
Update subseting expected files to match latest version of fontTools.
|
|
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.
|
|
b2a965df
|
2020-04-22T15:58:41
|
|
[subset] Add support for "--gids" option
cmap subsetting now retains entries associated with any glyph ids explicitly requested
|
|
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.
|
|
36a5c042
|
2020-01-21T13:37:28
|
|
[subset] Add "--name-languages" and "--name-legacy" options
Make name table subsetting consistent with fontTools
|
|
e171beeb
|
2020-01-24T19:51:21
|
|
Revert "[subset] Add "--name-languages" and "--name-legacy" options"
Causes tests failures, please reapply when tests are fixed, thanks.
This reverts commit fd85818b5b85fb0ad2db71c60e94ca0689d38bca.
|
|
fd85818b
|
2020-01-21T13:37:28
|
|
[subset] Add "--name-languages" and "--name-legacy" options
Make name table subsetting consistent with fontTools
|
|
4cba7bda
|
2019-07-18T14:03:33
|
|
regenerate Confortaa subset test expected results
|
|
a76d8b0d
|
2019-07-17T14:12:06
|
|
Merge commit '504bb17287c978d60a4a515555852465319f74ed' into var-subset
|
|
1da1b4dc
|
2019-06-26T13:23:24
|
|
[subset] For option "--unicodes", add support for "*" to retain all code points
|
|
0eef8113
|
2019-07-09T11:43:59
|
|
retain gids in HVAR so in sync with fontTools
regenerate Comfortaa subset test results
|
|
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
|
|
6555f209
|
2019-05-15T09:42:38
|
|
[subset] Truncate empty gids at the end in retain-gids mode.
|
|
6faac8df
|
2019-04-10T16:38:35
|
|
[subset] Subsetting Name Table Step 4
Add unit test and integration test
|
|
e6ffcc59
|
2019-01-28T18:12:19
|
|
[subset] Add expected files for retain-gids integration tests.
|
|
79479273
|
2018-05-03T11:18:02
|
|
[subset] Update expected files for subset integration tests to include cmap4.
|
|
70a1049b
|
2018-02-27T14:28:50
|
|
[subset] Add a drop hints profile to basics.tests
|
|
33f43813
|
2018-02-26T18:39:09
|
|
[subset] Add some more variations of the basic test.
|
|
2b844803
|
2018-02-22T18:38:44
|
|
[subset] Update expected files for subsetting integration test to not include cmap 4.
|
|
a88504c6
|
2018-02-22T14:28:18
|
|
[subset] Fix checksum clearning in subset test diff. Add an updated expected file (has cmap4 restored).
|
|
04c1ec2b
|
2018-02-14T17:00:18
|
|
[subset] Don't fail on different checksum adjustment in subsetting tests.
|
|
b0eefacf
|
2018-02-12T18:15:58
|
|
[subset] Drop GSUB, GDEF, GPOS, and DSIG from subsetter expected test outputs.
|
|
38af23b8
|
2018-01-31T11:32:23
|
|
Make the expected output for subsetting basics test be equal to the input file for now.
|
|
4cdae914
|
2018-01-26T13:57:48
|
|
Add basic directory structure for subsetter integration tests. Plus a utility for generating expected output files.
|