Khaled Hosny
a7ac2de5cd
[tfmLib] New library for reading TFM files
...
New library for reading TeX Font Metrics files. Does not support writing
them back.
Fixes https://github.com/fonttools/fonttools/issues/2352
2021-07-05 03:24:25 +02:00
Cosimo Lupo
a0bd872f0e
TupleVariation: make shared tuples order deterministic
...
most frequent first (like before https://github.com/fonttools/fonttools/pull/2351 ), only sort ties alphabetically
2021-07-02 12:52:54 +01:00
Cosimo Lupo
d0d59d2f2c
Add PaintScale* and Paint{Rotate,Skew}* variants
...
This updates fonttools to match the latest draft COLRv1 spec at https://github.com/googlefonts/colr-gradients-spec/pull/290
Summary of changes:
- Added 8 new PaintScale* tables: with/without centers, uniform vs non-uniform
- Added *AroundCenter variants to PaintRotate and PaintSkew (default versions no longer have centerX/Y defaulting to origin)
- PaintRotate, PaintSkew and PaintComposite formats re-numbered
2021-06-28 18:38:47 +01:00
Cosimo Lupo
1cb7e36bbd
COLRv1: rename otData structs to remove 'V1' to match updated draft spec
...
This is a breaking change (but the COLRv1 API was already marked as unstable and subject to change)
The changes in this PR are meant to match the changes from the COLRv1 draft spec at:
https://github.com/googlefonts/colr-gradients-spec/pull/302
2021-06-28 16:13:47 +01:00
Cosimo Lupo
6a97d4cfdd
subset_test: check we keep empty 'size' but drop empty 'ssXX' features
...
https://github.com/fonttools/fonttools/issues/2324
2021-05-27 09:33:29 -06:00
Cosimo Lupo
dafce3ff46
instancer_test: add test with PairPos ValueRecord with XAdvDevice but no XAdvance
...
this currently raises AttributeError in MutatorMerger.merge for ValueRecord table, because the latter assumes that whenever one of the Device tables are present the respective non-device values are also present, but they may be omitted (and it should default to 0 when missing)
2021-05-25 12:30:35 +01:00
Cosimo Lupo
adbe4c3de7
otTables_test: mixed tabs and spaces
2021-05-20 19:22:24 +01:00
Cosimo Lupo
d1e2e0e381
otTables: ignore Format attribute in split.*Subst overflow-fixing methods
...
Fixes https://github.com/fonttools/fonttools/issues/2319
2021-05-20 19:19:37 +01:00
Cosimo Lupo
447116fdba
Add test to reproduce issue 2312
2021-05-19 20:05:36 +01:00
Jens Kutilek
0cb2bea386
Add TTGlyphPointPen ( #2205 )
...
* Add TTGlyphPointPen
* Format code with black
* Implement TTGlyphPen and TTGlyphPointPen with common base class
* Use PenError instead of assert
* Add note about decomposing mixed composites to the docstring
2021-05-17 14:09:36 +02:00
Cosimo Lupo
f2df149db3
COLR: set {BaseGlyph,Layer}RecordArray to None when no colorGlyphsV0 in populateCOLRv0
...
Same when LayerV1List is empty. All these fields are optional in v1
2021-05-14 10:47:13 +01:00
Cosimo Lupo
2981e5f6ca
subset: test mixed COLR v0/v1 with subset excluding all v0 glyphs
...
This currently throws a KeyError: ('uniE004', 'BaseGlyphRecordArray')
2021-05-14 10:43:24 +01:00
Cosimo Lupo
c51d3aa061
Merge pull request #2303 from fonttools/glyphclass-by-null
...
[feaLib] Allow substituting a glyph class with NULL
2021-05-13 10:41:54 +01:00
Eigi
20c4a3ce74
test if issue #2295 is fixed
2021-05-13 09:58:53 +01:00
Cosimo Lupo
6adbf188e6
Merge pull request #2288 from fonttools/remove-overlaps-print-glyph-error
...
removeOverlaps: work around pathops.simplify error
2021-05-12 17:06:57 +01:00
Khaled Hosny
f6d2ff8d2a
[feaLib] Allow substituting a glyph class with NULL
...
sub [a b c] by NULL; was producing errors, now it builds as multiple
statements.
2021-05-12 08:53:26 +02:00
Just van Rossum
31ab3aae0b
Merge pull request #2285 from fonttools/varStore-32bit
...
Improve otBase facilities / towards 32bit VariationStore
2021-05-08 17:10:17 +02:00
Just van Rossum
9825ab0977
Fix for #2293 : allow more than one lookahead glyph/class in contextual positioning with "value at end" ( #2294 )
...
* add test that fails for #2293
* fixing #2293 : rewrite of contextual positioning logic, ensure len(suffix) > 1 yields the correct result; checking more edge cases and raising errors inspired by makeotf
* test error cases
* only check when we actually have a value
* catch one more case that makeotf errors on and we didn't
2021-05-08 09:22:30 +02:00
Just van Rossum
d601951eab
[otTables] Default varIdx should be 0xFFFFFFFF ( #2298 )
...
* default value for varIdx should be 0xFFFFFFFF to indicate 'no variations'
* use lc hex notation as per feedback
2021-05-07 22:26:48 +02:00
Cosimo Lupo
b0e24384c2
minor refactorings following review comment
...
https://github.com/fonttools/fonttools/pull/2288#discussion_r627907922
2021-05-07 09:49:40 +01:00
Cosimo Lupo
80598d3c2c
skip removeOveraps_test if pathops can't be imported
2021-05-06 20:23:56 +01:00
Cosimo Lupo
27e8943d3c
add test for pathops simplify bug workaround
2021-05-06 20:23:56 +01:00
justvanrossum
2636325844
font placeholder doesn't need an fvar table
2021-05-04 19:29:39 +02:00
justvanrossum
d3fd46e3f3
uncomment failing tests
2021-05-04 18:21:37 +02:00
justvanrossum
ad438931e4
adding compile/decompile step; this currently fails for the 32-bit tests (which are therefore commented out)
2021-05-04 17:08:27 +02:00
justvanrossum
267ab2baba
add 32-bit master value tests
2021-05-04 16:39:20 +02:00
justvanrossum
22dda54616
use optimizer
2021-05-04 16:19:48 +02:00
justvanrossum
7de2f347c5
add tests for OnlineVarStoreBuilder/VarStoreInstancer
2021-05-04 16:12:24 +02:00
justvanrossum
a7fd202952
add 32-bit tests to test_buildVarData_optimize
2021-05-04 14:49:12 +02:00
justvanrossum
eba058d439
add 32-bit tests to test_buildVarData_no_optimize
2021-05-04 14:41:01 +02:00
Cosimo Lupo
2830260a01
another test to check that empty lookups blocks are skipped
2021-04-26 10:07:36 +01:00
Cosimo Lupo
9b5bc9e18b
feaLib: ignore empty named lookup reference
...
Fixes #2276
2021-04-22 13:11:57 +01:00
Cosimo Lupo
bd618d0117
add test to repro AttributeError when getAlternateGlyphs for empty lookups
...
https://github.com/fonttools/fonttools/issues/2276
2021-04-22 12:21:30 +01:00
Garret Rieger
1bb3183231
Add tests for lazy loading of MVAR with more than 8 value records.
2021-04-21 14:37:47 -07:00
Behdad Esfahbod
bcd4a62f10
[TupleVariation] Use b'' instead of NotImplemented for "use shared points"
2021-04-09 12:16:15 -06:00
Behdad Esfahbod
ef0d695de9
[TupleVariation] Remove unused usesSharedPoints return from tv.compile()
2021-04-09 12:13:49 -06:00
Behdad Esfahbod
f7b66c7af2
[VariationData] Fix tests after recent changes
2021-04-08 18:31:24 -06:00
Behdad Esfahbod
1e6b20cc2c
[TupleVariation] Don't round deltas (again!)
...
Remove tests that passed float in.
2021-04-08 09:41:45 -06:00
Behdad Esfahbod
e9acd9634f
[GlyphCoordinates] Store int data as 4byte, not 2byte
...
The memory increase is negligible, but means that we don't have to
worry about integer overflows anymore.
2021-04-08 09:41:45 -06:00
Cosimo Lupo
2136aac0f0
subset: fix pruning unused CPAL palettes when 0xFFFF is present
...
FIxes https://github.com/fonttools/fonttools/issues/2257
2021-04-06 19:43:45 +01:00
Zachary Scheuren
41da60f130
Add missing dict operators to CFF2
2021-03-30 21:24:14 +09:00
Cosimo Lupo
a4f42d3b18
subset_test: add tests for PairPos2 useClass0 #2221
2021-03-29 16:18:42 +01:00
Just van Rossum
5fc65d7168
Misc py23 cleanups ( #2243 )
...
* Replaced all from ...py23 import * with explicit name imports, or removed completely when possible.
* Replaced tounicode() with tostr()
* Changed all BytesIO ans StringIO imports to from io import ..., replaced all UnicodeIO with StringIO.
* Replaced all unichr() with chr()
* Misc minor tweaks and fixes
2021-03-29 11:45:58 +02:00
Chris Simpkins
7abf2e4c75
transition basestring
to str
...
https://github.com/fonttools/fonttools/issues/2232
2021-03-27 10:23:29 -04:00
Behdad Esfahbod
1e83650db8
[otlLib] Ensure built SinglePos ValueRecords are padded with 0s
...
Like when they are decompiled.
Part of https://github.com/fonttools/fonttools/pull/2237
2021-03-24 09:26:26 -07:00
Behdad Esfahbod
d961ef5e52
[otlLib] Ensure built PairPos2 ValueRecords are padded with 0s
...
Like when they are decompiled.
Part of https://github.com/fonttools/fonttools/pull/2237
2021-03-24 09:26:26 -07:00
Cosimo Lupo
b1ca16738c
[otlLib] Ensure built PairPos1 ValueRecords are padded with 0s
...
Like when decompiled.
See 2089d05126 (r48578120)
Part of https://github.com/fonttools/fonttools/pull/2237
2021-03-24 09:25:42 -07:00
Behdad Esfahbod
d0aaf1bceb
[feaLib] Set RangeStart/RangeEnd as float
...
Fixes the one failing test after previous commit.
2021-03-24 08:04:14 -07:00
Nikolaus Waxweiler
cc76169074
Test that G* table compilation does not change data
2021-03-24 07:58:42 -07:00
Behdad Esfahbod
2a483f9856
[Tests] Fix most test expectations for AlternateSubst .Format removal
2021-03-23 18:01:32 -07:00