Khaled Hosny
a43f824af9
[feaLib] Support variable ligature caret position
...
Allow variable scaler in ligature caret position and build
CaretValueFormat3 with DeviceTable. Does not support non-variable device
table, but can be added if someone really really wants it.
2023-05-30 20:21:21 +03:00
Cosimo Lupo
0bf84f9c7b
Merge pull request #3129 from fonttools/privData_bytes
...
privData needs to padded with bytes not str
2023-05-30 12:10:30 +01:00
Behdad Esfahbod
3ba7e6d706
[instancer-solver] Fix a bug
...
Fixes https://github.com/fonttools/fonttools/issues/3139
2023-05-29 17:39:02 -06:00
Behdad Esfahbod
e587942b68
[designspaceLib/avar2] Add tests
2023-05-28 17:35:10 -06:00
Ben Kiel
fb74c16d47
Ran black on code
2023-05-28 08:28:28 -05:00
Ben Kiel
c30f4e5074
fix lint error
2023-05-28 08:19:54 -05:00
Ben Kiel
bdc3afc468
Add in a test for writing private data
2023-05-28 08:12:11 -05:00
Khaled Hosny
fd854d70d8
[feaLib] Simplify variable scalars that don’t vary
...
If a variable scalar does not vary (i.e. all values are the same), we
can simplify it and use a simple value instead. Arguably users shouldn’t
be using variable scalar in this case, but it helps when the feature
code is auto generated so each feaLib users doesn’t have to do the
check done here themselves.
2023-05-27 02:56:11 +03:00
Behdad Esfahbod
5255c01bcc
Merge pull request #3126 from fonttools/varStore-quantize
...
Var store quantize
2023-05-25 14:26:47 +02:00
Cosimo Lupo
62bca25c04
Merge pull request #3125 from fonttools/tests-warnings
...
[Tests] Silence a few deprecation warnings
2023-05-25 13:06:09 +01:00
Behdad Esfahbod
d9649a7835
[varStore] Add test for quantization
2023-05-24 18:10:08 -06:00
Behdad Esfahbod
aeaf98a438
[varStore] Another fix and test
2023-05-24 16:34:15 -06:00
Behdad Esfahbod
ab510d1e7b
[varStore] Add test resulting in empty varStore
2023-05-24 15:53:14 -06:00
Behdad Esfahbod
09dfed6b5e
[varStore] Remove unused variable in test
2023-05-24 15:38:21 -06:00
Behdad Esfahbod
171741baf2
[varStore] Log XML when first assert fails in test
2023-05-24 15:36:06 -06:00
Behdad Esfahbod
a99e130b26
[Tests] Silence a few deprecation warnings
2023-05-24 14:38:41 -06:00
Behdad Esfahbod
22c76c45ff
Merge pull request #3124 from fonttools/varStore-optimize-fix
...
[varStore] Improve optimize algorithm
2023-05-24 21:40:47 +02:00
Behdad Esfahbod
abe2a37b6f
[varStore] Add another test
2023-05-24 13:30:08 -06:00
Behdad Esfahbod
b72a8da045
[varStore] Adjust encoding overhead in optimize()
...
Previously we were not accounting for the LOffset to VarData.
2023-05-24 13:21:33 -06:00
Behdad Esfahbod
0677c0e705
[varStore] Another bugfix in optimize()
2023-05-24 13:18:58 -06:00
Behdad Esfahbod
e4281b07bc
[varStore] Add test for optimize()
...
Doesn't hit all branches yet.
2023-05-24 12:51:24 -06:00
Cosimo Lupo
d017d2b173
use pytest importorskip to skip modules that depend on extra requirements
...
this should allow to run the basic test suite against the dependency-less core of fonttools library
2023-05-24 16:26:48 +01:00
Cosimo Lupo
77a35fe16d
Merge pull request #3119 from fonttools/glyph-data-format-option
...
fontBuilder: add glyphDataFormat=0; error with accidentally cubic outlines
2023-05-23 14:57:37 +01:00
Cosimo Lupo
57d5da2039
rename parameter validateGlyphFormat and reword docstring as per review
2023-05-23 14:41:16 +01:00
Cosimo Lupo
469c9ad963
add option to skip glyphDataFormat check for speed
...
If one is certain that the glyph data has compatible format and prefers not to wait for each glyph flag to checked...
2023-05-23 13:16:02 +01:00
Cosimo Lupo
9bb3b652b0
fontBuilder_test: test error with cubics but glyf format 0
2023-05-23 12:56:09 +01:00
خالد حسني (Khaled Hosny)
a537f97b44
Merge pull request #3114 from fonttools/subset-prune-MarkGlyphSetsDef
...
[subset] Prune GDEF.MarkGlyphSetsDef
2023-05-22 18:33:37 +03:00
Cosimo Lupo
c2c2cb0949
Merge pull request #3115 from fonttools/xml-reader-join-content-chunks
...
xmlReader: join consecutive text data that had been cut by buffered xml parser
2023-05-22 12:37:23 +01:00
Khaled Hosny
7b0e3643a0
[subset] Add test for pruning GDEF.MarkGlyphSetsDef
2023-05-22 14:30:15 +03:00
Cosimo Lupo
f7c1407703
Add test to reproduce DSIG split by XML buffered parser
2023-05-22 12:15:50 +01:00
Behdad Esfahbod
4c24a3e328
[varLib/merger] Fix merging of SinglePos with pos=0
...
Fixes https://github.com/fonttools/fonttools/issues/3111
2023-05-19 18:37:15 +02:00
Simon Cozens
65bc6105f7
[feaLib] Allow empty aalt features ( #3110 )
...
* Demote "feature has not been defined" to a warning
* Rework test
* Not my black
2023-05-17 15:08:08 +01:00
David Corbett
bd00fe24f1
feaLib: Test deduped multiple substitution lookups
2023-05-14 09:35:53 -04:00
Khaled Hosny
88885ba9fc
feaLib: handle singleton class as a single glyph in multiple subst
...
This how GlyphsApp handles it and how it is handled in single
substitution.
2023-05-09 17:33:36 +03:00
خالد حسني (Khaled Hosny)
b6209e0510
Merge pull request #3103 from fonttools/multiple-subst-classes
...
feaLib: support multiple substitution with classes
2023-05-09 16:15:33 +03:00
Khaled Hosny
f642a2aac4
feaLib: support multiple substitution with classes
...
This is a GlyphsApp extension, (partially) documented [here][1], but it is a
useful one as it allows concise glyph insertion using decomposition
without having to maintain the list of glyphs in two places. E.g.
```fea
@upper = [A-Z];
lookup insert {
sub @upper by @upper connector;
} insert;
feature ccmp {
sub @upper' lookup insert x;
} ccmp;
```
As apposed to:
```fea
@upper = [A-Z];
lookup insert {
sub A by A connector;
sub B by B connector;
sub C by C connector;
sub D by D connector;
sub E by E connector;
sub F by F connector;
sub G by G connector;
sub H by H connector;
sub I by I connector;
sub J by J connector;
sub K by K connector;
sub L by L connector;
sub M by M connector;
sub N by N connector;
sub O by O connector;
sub P by P connector;
sub R by R connector;
sub S by S connector;
sub T by T connector;
sub U by U connector;
sub V by V connector;
sub W by W connector;
sub X by X connector;
sub Y by Y connector;
sub Z by Z connector;
} insert;
feature ccmp {
sub @upper' lookup insert x;
} ccmp;
```
1. http://handbook.glyphsapp.com/en/layout/multiple-substitution-with-classes/
2023-05-09 14:06:12 +03:00
Behdad Esfahbod
5b96fff9ce
[featureVars] Process lookups for features other than rvrn last
...
Fixes https://github.com/fonttools/fonttools/issues/3097
2023-05-02 10:57:43 -06:00
Jens Kutilek
85c80be6b6
Fix missing composite instructions in ttx ( #3092 )
...
* Fix calculation of haveInstructions
* Add test
2023-04-25 16:21:24 +02:00
Cosimo Lupo
df42e9d1e4
ttLib_main.py: test directly __main__.main(), coverage-py doesn't collect in subprocess
2023-04-24 11:48:36 +01:00
Cosimo Lupo
cb5aa96702
add missing __main__.py file to ttLib package, plus some tests
...
Fixes https://github.com/fonttools/fonttools/issues/17
2023-04-24 11:22:53 +01:00
Behdad Esfahbod
57c7792477
[merge] Handle differing default/nominalWidthX in CFF ( #3070 )
...
* [merge] Handle None GDEF.table.MarkGlyphSetsDef
* [merge] Handle differing CFF nominal/defaultWidthX
Fixes https://github.com/fonttools/fonttools/issues/3069
* Update Lib/fontTools/merge/tables.py
Co-authored-by: Cosimo Lupo <clupo@google.com>
---------
Co-authored-by: Cosimo Lupo <clupo@google.com>
2023-04-19 12:14:41 -06:00
Colin M. Ford
52f522525a
lastly, removing lib cruft from glyphs file
2023-04-06 11:04:47 -04:00
Colin M. Ford
ab7628b3f5
adding importerskip
for glyphsapp tests
2023-04-06 10:58:31 -04:00
Colin M. Ford
e7c9616c48
Removing UFO cruft
2023-04-06 10:44:10 -04:00
Colin M. Ford
579d0dce31
one more try with black
2023-04-06 10:08:42 -04:00
Colin M. Ford
9656e3faf1
formatting with black to get lint to pass
2023-04-05 22:33:38 -04:00
Colin M. Ford
45d1d01f66
adding more tests for varlib.interpolatable
2023-04-05 20:48:34 -04:00
Colin M. Ford
7a86dd325e
Rewriting varLib.interpolatable to allow for sparse masters + tests
2023-04-05 16:35:03 -04:00
Cosimo Lupo
8859d8669d
ttFont_test: add tests for unseekable input file with lazy=True
2023-03-21 18:15:02 +00:00
Cosimo Lupo
1d5feb81e5
ttFont_test: add reproducer for SpooledTemporaryFile has no seekable
...
Reproduces https://github.com/fonttools/fonttools/issues/3052
2023-03-21 18:08:21 +00:00