7057 Commits

Author SHA1 Message Date
Behdad Esfahbod
85036d5d83 [avar2] Revert unneeded change to VarIdxMap
We don't use VarIdxMap anymore.
2023-03-10 11:36:31 -07:00
Cosimo Lupo
3c9aa76893
Merge pull request #3027 from fonttools/colr-clipboxes
[COLRv1] Add method to automatically compute ClipBoxes, w/ optional quantization
2023-03-10 15:43:35 +00:00
Cosimo Lupo
c15e77cbc9
ot-spec says skewX angle should be counter-clockwise so we must negate
Transform.skew method assumes skewX angle goes clockwise.

verified using test_glyphs-glyf_colr_1.ttf test font from googlefonts/color-fonts repo.
Will add that to the tests.
2023-03-10 13:16:05 +00:00
Cosimo Lupo
55cc41a24e
[otTables] implement Paint.getTransform, Paint.computeClipBox & COLR.computeClipBoxes
This for now only works for static COLR table, not variable.
2023-03-10 13:16:04 +00:00
Cosimo Lupo
217742cc44
Merge pull request #3032 from fonttools/getGlyphID-KeyError
ttFont.getGlyphID should raise KeyError on missing glyphs
2023-03-10 12:11:33 +00:00
Cosimo Lupo
b137fd9616
ttFont: raise KeyError from getGlyphID instead of returning None
Fixes #3030
2023-03-10 11:38:55 +00:00
Guillaume Ayoub
b2c75bede4 Fix glyph compilation code 2023-03-10 11:34:16 +01:00
Harry Dalton
1f3380300b Wrap XML library exceptions with glifLib types when parsing glifs
This allows dependent projects to catch errors parsing glifs without
requiring logic to account for which XML library fonttools is using
internally (e.g. for implementing fonttools/ufoLib2#264).

This commit also adds tests to ensure that the exception we expose when
glifs have invalid syntax remains stable across future releases.
2023-03-09 16:11:32 +00:00
Behdad Esfahbod
e9e55b29f7 chmod otData.py 2023-03-08 13:19:51 -07:00
Cosimo Lupo
17f431b9c2
[otTables] switch to generic table traversal for Paint.traverse 2023-03-08 19:19:50 +00:00
Cosimo Lupo
7433c5dbb9
[otTraverse] allow to use custom callback to iterate over subtables 2023-03-08 19:13:48 +00:00
Cosimo Lupo
92fbac8a64
[arrayTools] add quantizeRect 2023-03-08 19:03:50 +00:00
Behdad Esfahbod
b6acb83920 [avar2] Fix fromXML a bit 2023-03-08 11:44:23 -07:00
Behdad Esfahbod
90dd0685a4 [avar] black 2023-03-08 11:24:26 -07:00
Behdad Esfahbod
43b16df8db [avar] Update test expectations 2023-03-08 11:10:07 -07:00
Behdad Esfahbod
6c35a5b65c [avar2] Always set Version during compile 2023-03-08 11:04:52 -07:00
Behdad Esfahbod
06c725388a [avar] Fix a few tests 2023-03-08 11:02:52 -07:00
Behdad Esfahbod
564dddced2 [avar2] Fix fromXML crash 2023-03-08 10:56:45 -07:00
Behdad Esfahbod
c8d32f2bb1 [avar2] Use DeltaSetIndexMap instead of VarIdxMap 2023-03-08 10:56:07 -07:00
Behdad Esfahbod
8dfad13288 [avar2] Implement toXML 2023-03-08 09:48:32 -07:00
Behdad Esfahbod
2b5686205e [avar] Support previous API in compile/decompile
Using the otData mechanism with handcoded shim.
2023-03-08 09:29:58 -07:00
Cosimo Lupo
1a202ab1be
Merge pull request #3024 from fonttools/no-overwrite-stat
[varLib] Don't overwrite pre-existing STAT
2023-03-08 13:00:34 +00:00
Behdad Esfahbod
fd822a2602 Merge branch 'main' into avar2 2023-03-07 11:21:20 -07:00
Behdad Esfahbod
6ba1302ce4 black 2023-03-07 11:19:22 -07:00
Cosimo Lupo
5955a47f42
[varLib] build_many(DSv5) from main(); add --output-dir & --variable-fonts options
Fixes https://github.com/fonttools/fonttools/issues/2659
2023-03-07 18:13:28 +00:00
Cosimo Lupo
587b0fbf11
[varLib] don't overwrite existing feaLib-built 'STAT' table
Fixes https://github.com/googlefonts/fontmake/issues/985 and https://github.com/googlefonts/ufo2ft/issues/723
2023-03-07 17:26:15 +00:00
Cosimo Lupo
8f3d697faa
mtiLib: check for FONTTOOLS_LOOKUP_DEBUGGING env var
We do the same for feaLib.builder to decide whether to build a Debg table or not: i.e. we check if FONTTOOLS_LOOKUP_DEBUGGING environment variable is defined and if so we go on to build one, otherwise we don't.

Fixes https://github.com/fonttools/fonttools/pull/3018
2023-03-07 12:02:45 +00:00
Behdad Esfahbod
501353f3df [VarComposites] Flag rename 2023-03-06 13:10:09 -07:00
Cosimo Lupo
89e678b121
Bump version: 4.39.0 → 4.39.1.dev0 2023-03-06 16:31:59 +00:00
Cosimo Lupo
fbc82d9f0a
Release 4.39.0 2023-03-06 16:31:58 +00:00
Cosimo Lupo
c24558c57b
Merge pull request #3018 from fonttools/mtilib-debg
[mtiLib] Add debug info
2023-03-06 12:23:24 +00:00
Cosimo Lupo
e0177a9920
black 2023-03-06 12:12:18 +00:00
Cosimo Lupo
6c6373a0a4
error if no -o option provided when reading input from stdin
since we can't make up an output filename in that case
2023-03-03 16:51:33 +00:00
Cosimo Lupo
15b450e4a6
[ttx] support reading font/xml file from standard input as '-'
Fixes https://github.com/fonttools/fonttools/issues/3019
2023-03-03 14:13:06 +00:00
Simon Cozens
b22887c6b6 Add debug info to MTI feature builds 2023-03-02 20:42:37 +00:00
Cosimo Lupo
0df4997661
prevent cython.compiled raise AttributeError if cython not properly installed
It's possible sometimes that 'import cython' does not fail but then 'cython.compiled' raises AttributeError.
It actually happened in our internal production environment...

Similar issue to https://github.com/pydantic/pydantic/pull/573 and https://github.com/ipython/ipython/issues/13294
2023-03-02 17:43:38 +00:00
Nikolaus Waxweiler
54d6aaffb6 Guard against a ZeroDivisonError
The code was copied from ufo2ft.
2023-03-01 19:52:43 +00:00
Jany Belluz
760c7376fe [subset] Compute xAvgCharWidth even when --no-prune-unicode-ranges is given 2023-03-01 16:28:51 +00:00
Cosimo Lupo
d4c5eac780
Merge pull request #3007 from kontur/name-sort-encode-warning-only
Make NameRecord comparison not fail on encoding errors #3006
2023-02-27 16:31:19 +00:00
Johannes Neumeier
29f980135a Clean up and NotImplemented as proper return value 2023-02-27 09:31:13 +02:00
خالد حسني (Khaled Hosny)
4630c65471
Merge pull request #3008 from fonttools/fb-fea-debug
[fontBuilder] Add debug to addOpenTypeFeatures
2023-02-26 14:13:59 +02:00
Khaled Hosny
3a6b17d9a2 [fontBuilder] Add debug to addOpenTypeFeatures
Passed to addOpenTypeFeaturesFromString().
2023-02-24 21:46:10 +02:00
Behdad Esfahbod
b7b4a3b090 [varLib.featureVars] Fix bug in overlayBox
See added test. Previously we were cutting remainder box
even if the intersection had dimensions not present in the
remainder box. Ouch!

Fixes https://github.com/fonttools/fonttools/issues/3003
2023-02-24 07:51:00 -07:00
Johannes Neumeier
f52b3da721 Make NameRecord comparison not fail on encoding errors #3006 2023-02-24 15:58:53 +02:00
Behdad Esfahbod
52a8e3b1a4 [cu2qu.ufo] Simplify logic 2023-02-22 10:14:53 -07:00
Behdad Esfahbod
690ffca963 [cu2qu.cli] Add --mixed
Untested.
2023-02-22 10:03:45 -07:00
Behdad Esfahbod
2a93984df4 [cu2qu.ufo] Black 2023-02-22 09:55:20 -07:00
Behdad Esfahbod
1f2a8b7d27 [cu2qu.ufo] Try to be smarter about "modified" 2023-02-22 09:51:59 -07:00
Behdad Esfahbod
f53901d3f4 [qu2cu.cli] Add --all-cubic 2023-02-22 09:46:08 -07:00
Behdad Esfahbod
c8b74fd6dc [cu2qu.ufo] Add all_quadratic=True 2023-02-22 09:36:09 -07:00