Garret Rieger
201f02c2c2
[subset] Fix lint.
2024-10-24 00:30:38 +00:00
Garret Rieger
edaab1fa2f
[subset] Add tests for UVS + cmap14 subsetting.
2024-10-23 22:19:06 +00:00
Cosimo Lupo
dd8d80a4f2
Merge pull request #3561 from drj11/drj11/unicode-hex
...
Check unicode elements have required hex attribute
2024-10-15 16:39:12 +02:00
Khaled Hosny
f7ecc6fe65
[removeOverlaps] Add test for handling CFF.Private.nominalWidthX
...
The test currently fails because we don’t take CFF.Private.nominalWidthX
into account when creating new CharString after overlap removal.
2024-10-12 01:21:59 +03:00
Behdad Esfahbod
e8146a6d07
[glyf] Add optimizeSize option
...
Set to True by default. Can be turned to False on the table,
or at Glyph() compile time.
Also fixes Glyph's draw() to expand the glyph first. Otherwise
it was failing.
2024-10-11 08:31:31 -06:00
Behdad Esfahbod
0213bea88e
[TupleVariation] Option to optimize for loading speed, not size
2024-10-06 18:11:48 -06:00
Behdad Esfahbod
10a61ef7de
Update to Unicode 16
2024-09-23 08:46:56 -06:00
Harry Dalton
a43def09c2
Add regression test for #3634
...
ttx is based on reproduction process in initial issue.
2024-09-15 12:10:29 -07:00
Cosimo Lupo
00ad60b4c3
subset_test: add failing test to reproduce issue #3616
...
If we subset this test font (a subset of Google Fonts' Andika-Regular.ttf) and request to keep 'cv43', only the FirstParaUILabelNameID (324) is currently kept, the other two (325 amd 326) get incorectly dropped.
All referenced nameIDs should be kept.
This will be fixed with https://github.com/fonttools/fonttools/pull/3617
```
> assert nameIDs == keepNameIDs
E assert {0, 1, 2, 3, 4, 5, 6, 321, 322, 323, 324} == {0, 1, 2, 3, 4, 5, 6, 321, 322, 323, 324, 325, 326}
E Extra items in the right set:
E 325
E 326
E Full diff:
E - {0, 1, 2, 3, 4, 5, 6, 321, 322, 323, 324, 325, 326}
E ? ----------
E + {0, 1, 2, 3, 4, 5, 6, 321, 322, 323, 324}
```
2024-08-30 18:13:44 +01:00
Behdad Esfahbod
dab890e681
[varLib.avar] Add another test
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
8d58f7f730
[varLib.avar] Add roundtrip test
...
Fails currently.
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
2742c6287c
[varLib.avar] Test & fix _pruneLocations
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
ecd2d8e559
[Tests] Do not require fonttools command to be available
...
I typically run tests like:
$ python setup.py build_ext -i && PYTHONPATH=Lib pytest
Previously, this particular test and only this, required
that a `pip install -e .` has had happened. Not anymore.
2024-08-20 10:58:55 -06:00
Behdad Esfahbod
0c2652011e
[varLib.models] By default, assume OpenType-like normalized space
...
See:
https://github.com/fonttools/fonttools/pull/2846#issuecomment-2267750076
I *think* this is an improvement, and no one should have been relying
on the broken existing behavior.
Docs need updating.
2024-08-16 18:45:08 -06:00
Simon Cozens
f676472ff3
Test for visitor inheritance
2024-07-03 06:48:38 -06:00
David Corbett
aa390ec98b
Fix OS/2.usMaxContext for reverse GSUB rules
2024-06-16 20:37:17 -07:00
David Jones
7d39064a36
Fix oops: GLIF2 test should have format=2
2024-06-03 17:09:54 +01:00
Cosimo Lupo
97929b3236
[feaLib] try reuse existing inline chained multiple subst lookups when possible
...
We already do this for inline single substitutions in chained contextual lookups, this PR extends this for multiple substitutions as well.
Fixes https://github.com/fonttools/fonttools/issues/3551
2024-06-03 17:06:46 +01:00
David Jones
c7be064ef6
Test absent hex attribute on unicode element
...
(currently fails)
2024-06-03 17:01:20 +01:00
Behdad Esfahbod
1536efc22e
[CFFToCFF2] Add a test
...
Exercises:
https://github.com/fonttools/fonttools/pull/3518#discussion_r1611033728
2024-05-25 10:15:00 -06:00
Behdad Esfahbod
2ea20f9572
[bezierTools] Add a test
2024-05-24 10:36:46 -06:00
Behdad Esfahbod
db60a248dc
Merge pull request #3395 from fonttools/varc-table
...
[VARC] Variable Composites table
2024-05-24 08:09:51 -07:00
Cosimo Lupo
0902d1e482
[feaLib] don't reference same lookup multiple times within the same feature
...
Fixes https://github.com/fonttools/fonttools/issues/2946
2024-05-23 19:00:39 +01:00
Behdad Esfahbod
973dc5c9a7
[varc] Use Condition instead of ConditionSet
...
With more Condition formats.
df7dcc4618
https://github.com/harfbuzz/boring-expansion-spec/issues/147
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
9cb73dafeb
[varc] Add a conditional VarComponent test
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
74f870f4ef
[varc] Add ConditionSets
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
88828e0082
[CFF2IndexOf] Fix data_base
...
From the spec:
"Offsets in the offset array are relative to the byte
that precedes the object data."
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
5b2df6b90b
[VARC] Compute flags from XML transform components
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
037bbe1030
[VARC] Load axisValues as float
...
https://github.com/fonttools/fonttools/pull/3395#issuecomment-1897696665
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
5ad4045cec
[VarComponent] Nicer XML output
...
https://github.com/fonttools/fonttools/pull/3395#issuecomment-1895944021
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
b1142b60cb
[VARC] Adjust to latest flags change
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
297e0bd257
[VARC] Use var-int encoding for AxisIndicesIndex
...
Slightly larger fonts, but more consistency, and freed
a flag bit.
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
6a09096800
[VARC] Use variable-length encoding for VarIdx'es
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
c3dfe10cce
[VARC] Use TupleVariations tuple encoding for axisValues
...
Free improvement.
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
e88e47f8ff
[VARC] Take a stab at instancing
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
902b2a194e
[VARC] Fix scaleUpem
...
Instancing left.
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
a7ca67ada8
[VARC] Update subsetting
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
c91984ef77
[VARC] Use sparse-regions in MultiVarStore
...
Might revert as the savings are small.
https://github.com/harfbuzz/boring-expansion-spec/issues/103#issuecomment-1861531669
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
0f0148e54a
[VARC/scaleUpem] Implement
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
f24808c58c
Black
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
ce3e260955
[VARC/test] Update the rest of the test expectations
...
We're using a different font for varc-ac00-ac01...
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
28385ec07e
[VARC/test] Adjust test
...
This subset font is from a different source and has
different glyphs.
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
22e02ccb47
[VARC/test] Adjust a test
...
This worked with the previous font it seems, but not with
the new font. Or maybe I've screwed up something...
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
ebd877bbcb
[VARC/test] Start adding
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
3ff2ee61e1
Move lazy datastructures to misc.lazyTools
2024-05-22 18:45:28 -06:00
Behdad Esfahbod
c952237ed3
[otConverters] Make _LazyList generic
2024-05-22 18:45:27 -06:00
Behdad Esfahbod
65cc8bfb3c
Merge pull request #3506 from fonttools/cff2-instancing
...
[instancer] CFF2 instancing
2024-05-17 13:17:12 -07:00
Khaled Hosny
dbe1264b34
[subset] Prune unused user name IDs even with --name-IDs='*'
...
This option should affect only pre-defined name IDs, user name IDs
should be pruned when nit used, as usual.
Fixes https://github.com/fonttools/fonttools/issues/3508
2024-05-17 19:26:19 +03:00
Cosimo Lupo
511024bdc9
[ttx] use GNU-style getopt to intermix options and positional arguments
...
Fixes https://github.com/fonttools/fonttools/issues/3507
2024-05-17 12:07:59 +01:00
Behdad Esfahbod
0a7433f847
[cffLib] Add CFF<->CFF2 convertors that work on otFont
2024-05-16 16:29:22 -07:00