Qunxin Liu
73e6f6cc88
[instancer] enable the missing test
2023-01-24 17:28:51 -07:00
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
2023-01-24 17:28:51 -07:00
Garret Rieger
9fbe52b88d
[subset] enable instancing tests by default.
2022-12-12 20:24:24 +00:00
Garret Rieger
2822b589bc
[subset] Include instancing tests in distribution.
...
Automatically enable them when the experimental api is enabled.
2022-11-03 14:24:15 -06:00
Garret Rieger
db22bfb3cc
[subset] Remove Franklin from the tests which is not an open source font.
2022-10-17 13:15:47 -06:00
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
2022-09-29 12:14:43 -06:00
Qunxin Liu
88c02e0024
[instance] add tests for full instancing
...
Also update previous tests with GDEF/GPOS tables
2022-09-01 09:44:28 -07:00
Qunxin Liu
f887ee0c67
[instance] update post.italicAngle
...
Add tests for instancing glyf/hmtx
2022-08-22 09:30:09 -07:00
Garret Rieger
209d6aa2b7
[subset] Update make files for 32bit_var_store test.
2022-06-01 19:31:55 +01:00
Qunxin Liu
51655a078e
[subset] COLR : only include glyphs after COLR closure
2021-12-06 13:29:21 -07:00
Qunxin Liu
74b46b29e7
[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.
2021-12-03 08:00:33 -07:00
Qunxin Liu
903a6baece
[subset] layout_features filtering fix
...
we should not use get_size (), which returns length * item_size
2021-11-25 11:24:41 -07:00
Khaled Hosny
69d8f27c69
[meson] Require 0.55.0
...
We implicitly require it for building ragel subproject. This new version
requirement should satisfied in both Fedora 33 and Debian bullseye, and
not be too cutting edge for us.
2021-11-22 03:11:36 +02:00
Qunxin Liu
84dc4e85e8
[subset] avoid writing out duplicate extra glyph names in post table
...
Add check for possible duplicate with other name index
2021-11-19 17:22:35 -07:00
Qunxin Liu
ca418cac74
[subset] keep features that have FeatureParams and the tag is "size"
2021-11-19 13:31:25 -07:00
Qunxin Liu
e88fc41ef3
[subset] inputSequence could be empty, change the sanity check
2021-11-19 12:57:43 -07:00
Qunxin Liu
540f19b6fe
[subset] fix bug in (Chain)ContextFormat2
...
Only keep rulesets for glyphs class numbers that survived in coverage
2021-11-02 16:05:55 -07:00
Qunxin Liu
60e203644b
[subset] use glyphset_gsub instead of glyphset for GDEF
2021-11-02 16:56:52 -06:00
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.
2021-11-02 15:15:02 -07:00
Behdad Esfahbod
4262636926
Merge pull request #3248 from googlefonts/connected_components
...
[repacker] Keep connected subgraphs in the same space.
2021-10-23 13:18:22 -07:00
Qunxin Liu
8c583db9b5
[subset] COLRv1: update subset() method for new strutc ClipList and VarIdxMap
...
Also fix issues in struct PaintTransform definition
2021-10-23 11:22:39 -07:00
Garret Rieger
79937d24b7
[repacker] Add repacker test that requires space splitting.
2021-10-05 12:53:21 -07:00
Garret Rieger
d5beb96e06
[repacker] add repacker isolation test on real font.
2021-09-22 18:18:50 -06:00
Qunxin Liu
ca7b9daef0
[subset] subset MATH table
2021-09-22 18:08:30 -04:00
Qunxin Liu
8c5c81746d
[subset] fix find_duplicate_features
...
We should check each feature against all other features with the same
tag for duplicates.
2021-09-22 15:35:38 -06:00
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
2021-09-08 13:55:21 -06:00
Qunxin Liu
34e0b28fae
[subset] make glyph-names option match fonttools behavior
...
Don't encode psNames that are contained in standard glyph names set
2021-08-20 01:30:23 -06:00
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.
2021-08-10 12:57:07 -06:00
Khaled Hosny
b084153317
[test] Remove subset tests from the slow suite
2021-08-04 04:12:31 +02:00
Garret Rieger
acbd8b27dc
[subset] temporarily disable COLRv1 subsetting.
...
Currently COLRv1 spec is being changed so the subsetting implementation is out of sync. Disable subsetting by failing sanitization for COLRv1 tables and disable all colrv1 tests.
2021-07-28 11:36:34 -06:00
Garret Rieger
deee24fbef
[subset] Add missing FontName op code in top dict parsing.
...
Fix for #3058
2021-07-14 16:01:18 -06:00
Garret Rieger
d2397d91f3
[subset] Add additional colrv1 subsetting tests that has a glyph with components.
2021-06-18 22:34:00 -07:00
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.
2021-05-10 15:33:54 -06:00
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.
2021-04-01 16:27:35 -06:00
Garret Rieger
85b0728783
Add full variable font subsetting test.
2021-04-01 15:26:02 -06:00
Garret Rieger
2773d05740
[subset] Add a test case using NotoNastaliqUrdu.
2021-03-31 21:03:33 -06:00
Qunxin Liu
95230e291d
[subset] support subsetting GSUB8
2021-03-29 15:54:11 -06:00
Garret Rieger
b8b8c58b9f
[subset] add tests that check for successful repacking of a real font file.
2021-03-17 15:53:58 -07:00
Qunxin Liu
0e1c0fa404
[subset] optimize glyph closure method: step 5
...
add testcase and some fixes
2021-03-17 15:22:07 -06:00
Garret Rieger
08a4997fde
[subset] Add subset support for Extension lookups (GPOS 9, GSUB 7).
2021-02-11 13:41:31 -07:00
Behdad Esfahbod
c7d232ce4e
Merge pull request #2701 from googlefonts/Mark-To-Ligature_grieger
...
[subset] GPOS 5 MarkToLigature subsetting support
2021-02-10 18:13:38 -07:00
Garret Rieger
be33704c00
Add gpos 5 tests to meson build file.
2020-10-09 16:46:46 -07:00
Garret Rieger
9fad540245
[subset] check that sub rules in ContextFormat 1 and 2 intersect the glyphs set before recursing during closure lookups.
2020-09-28 13:24:25 -07:00
Ebrahim Byagowi
6e32145dc9
[meson] Make compatbile with 0.47.0
2020-08-13 18:28:42 +04:30
Ebrahim Byagowi
47a0fbec31
[meson] Mark longer tests with slow
...
So one can skip them easily by `meson test -Cbuild --no-suite slow`
2020-06-21 08:47:10 +04:30
Qunxin Liu
973c47f6c9
[subset] Move 2 experimental public api methods to be private methods in GSUB/GPOS.
...
2 methods are: hb_ot_layout_closure_lookups and hb_ot_layout_closure_features
2020-06-12 01:20:30 +04:30
Ebrahim Byagowi
6f7048b917
[meson] Update subset tests list from autotools
2020-06-04 10:18:35 +04:30
Ebrahim Byagowi
a9d13463b5
[meson] Categorize tests using `suite: [...]`
...
So one can run a category of interested tests like
meson test -Cbuild --suite aots --suite src --print-errorlogs
Intead issuing particular tests which also is possible like
meson test -Cbuild test-shape --print-errorlogs
2020-05-30 16:58:46 +04:30
Ebrahim Byagowi
cc53fd158c
[meson] Normalize options names
...
As https://github.com/harfbuzz/harfbuzz/pull/2412#discussion_r426275027
2020-05-21 19:33:18 +04:30
Ebrahim Byagowi
f7562672f9
[meson] Use / instead join_paths
...
We need some of the very recent features of meson, let's use the new features also
2020-05-21 18:52:31 +04:30