10744 Commits

Author SHA1 Message Date
Cosimo Lupo
3b9a73ff83
Bump version: 4.39.3 → 4.39.4.dev0 2023-03-28 16:30:30 +01:00
Cosimo Lupo
abd7b5b15d
Release 4.39.3 2023-03-28 16:30:29 +01:00
Cosimo Lupo
1b67c062b0
Update NEWS.rst 2023-03-28 16:30:22 +01:00
Cosimo Lupo
3615b565ca sbixGlyph: don't use imageData for empty glyphs with graphicType=None
Fixes https://github.com/fonttools/fonttools/issues/3059
2023-03-27 15:23:13 +01:00
Cosimo Lupo
e73a098dec
Merge pull request #3053 from fonttools/fix-spool-temp-seekable
fix SpooledTemporaryFile has no seekable method
2023-03-22 10:47:08 +00:00
Behdad Esfahbod
14a767719b [bezierTools] Add link to algorithm
https://github.com/fonttools/fonttools/issues/3055
2023-03-21 13:30:30 -06: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
4543910367
[ttFont] fail when input is not seekable and lazy=True
the SFNTReader expects the input file to be seekable, and it already rewinds the file with file.seek(0) to get to the sfnt table directory. Thus, if TTFont is loaded with an unseekable file object and lazy=True, we raise a TTLibError requiring one to either pass a seekable input file, or to not set lazy=True (in which case the input is loaded in a seekable BytesIO)

Fixes https://github.com/fonttools/fonttools/issues/3052
2023-03-21 18:15:01 +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
Cosimo Lupo
f1c609aa57
.readthedocs.yml: don't use 'legacy' build specification
Fixes https://github.com/fonttools/fonttools/issues/3054

(I hope)

https://docs.readthedocs.io/en/stable/config-file/v2.html#legacy-build-specification
2023-03-21 18:07:54 +00:00
Cosimo Lupo
f9b941d226
use python3.10 for ReadTheDocs
Should fix https://github.com/fonttools/fonttools/issues/3054
2023-03-21 17:33:42 +00:00
Cosimo Lupo
43e2108f93
Bump version: 4.39.2 → 4.39.3.dev0 2023-03-16 19:08:18 +00:00
Cosimo Lupo
d64a26f7ef
Release 4.39.2 2023-03-16 19:08:17 +00:00
Cosimo Lupo
809748cd18
Update changelog [skip ci] 2023-03-16 19:08:12 +00:00
Cosimo Lupo
6fabdff727
Merge pull request #3046 from fonttools/fix-stat-regression
[varLib] don't skip buildVFStatTable from DSv5 with 'STAT' info
2023-03-16 19:03:20 +00:00
Cosimo Lupo
cf4a24182e
[varLib] don't skip buildVFStatTable from DSv5 with 'STAT' info
Fixes https://github.com/fonttools/fonttools/issues/3045
2023-03-16 18:29:22 +00:00
Cosimo Lupo
1216596825
Bump version: 4.39.1 → 4.39.2.dev0 2023-03-16 13:01:32 +00:00
Cosimo Lupo
199e2c2c6a
Release 4.39.1 2023-03-16 13:01:31 +00:00
Cosimo Lupo
b2d19dcf73
Update changelog 2023-03-16 13:00:40 +00:00
Cosimo Lupo
7d7b38b769
[ci] set codecov's fail_ci_if_error: false; it's too flaky! 2023-03-16 12:51:09 +00:00
Cosimo Lupo
5abdd83318
Merge pull request #3043 from fonttools/fealib-more-avar
Apply `avar` also to variable locations
2023-03-16 12:35:51 +00:00
Cosimo Lupo
69b1752d80
variableScalar: make model_cache parameter optional 2023-03-16 12:03:33 +00:00
Cosimo Lupo
5d0432a813
Merge pull request #3029 from daltonmaag/wrap-glif-xml-errors
[glifLib] Wrap XML library exceptions with glifLib types when parsing glifs
2023-03-16 11:46:45 +00:00
Nikolaus Waxweiler
ac0361fe31 Move VariableScalar cache into Builder 2023-03-16 11:27:06 +00:00
Behdad Esfahbod
05872d6878
Merge pull request #2679 from fonttools/avar2
Avar2
2023-03-15 11:56:30 -06:00
Behdad Esfahbod
2edbbc1b32 [avar2] Test xml for equality 2023-03-15 11:46:57 -06:00
Behdad Esfahbod
b009e63733 [avar2] Use fl2fi in test 2023-03-15 11:40:24 -06:00
Nikolaus Waxweiler
cf43ff5d22 Apply avar to variable locations 2023-03-15 16:19:39 +00:00
Nikolaus Waxweiler
a993247e47 Remove unused variable 2023-03-15 16:19:12 +00:00
Nikolaus Waxweiler
73e7aad1c3 Guard against missing avar entries 2023-03-15 16:18:47 +00:00
Nikolaus Waxweiler
a55a545b12
Merge pull request #3042 from fonttools/conditionset-consult-avar
Conditionset: consult avar to normalize values
2023-03-15 09:43:20 +00:00
Nikolaus Waxweiler
c3a5e9ea1f Consult avar for normalizing user-space values in conditionsets 2023-03-15 09:16:06 +00:00
Nikolaus Waxweiler
d1b916ad04 Add missing location argument
and make code nicer.
2023-03-15 09:16:06 +00:00
Behdad Esfahbod
1deed38b8d [avar2] Add compile test 2023-03-14 14:09:32 -06:00
Nikolaus Waxweiler
f926909fef Make code nicer 2023-03-14 18:24:07 +00:00
Harry Dalton
70ca6dec9b Identify the culprit glif in read errors with a loose backport of PEP678
This commit annotates errors from GlyphSet.readGlyph() with the details
of the glyph that originated them (e.g. name, path to glif). This is
implemented with a loose backport of PEP678, to avoid adding a wrapper
error that would be less specific and would break API compatibility.

In addition, this commit adds a test to ensure that the new details are
present (specifically, in the case of parsing invalid XML).
2023-03-14 15:58:18 +00:00
Jens Kutilek
032616b106
Revert black formatting of inline instruction docs (#3037)
* Revert black formatting of inline instruction docs
* Ignore block when formatting
* Format instruction list with spaces
2023-03-14 16:48:21 +01:00
Jens Kutilek
f1a75bacb2
Handle string input to Program.fromAssembly() (#3038)
* Add tests for fromAssembly() output (#3036)
* Handle string input to fromAssembly() (Fixes #3036)
* Fixups suggested by @anthrotype
* Add some more typing annotations
* Program.assembly always returns List[str] now
* Add annotation for bytecode
* Move code from setter to fromAssembly
* Remove property
* Fix attribute names
2023-03-14 14:51:16 +01:00
خالد حسني (Khaled Hosny)
444a349ef4
Merge pull request #3034 from fonttools/otlib-gpos7
[otlib] Add a config option to write GPOS 7 lookups
2023-03-13 18:16:47 +02:00
Khaled Hosny
59008b2313 Typos 2023-03-13 16:59:23 +02:00
Khaled Hosny
fd6c81585f [otlib] Add a config option to write GPOS 7 lookups
See the inline comment and option documentation
2023-03-13 16:34:33 +02:00
Cosimo Lupo
580e3b3b50
otTables: forgot to actually import TTLibError ugh 2023-03-10 19:22:58 +00:00
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
de266aa833
Merge pull request #3033 from daltonmaag/bump-docs-min-version
[docs] Bump minimum Python version in docs, as 3.8 is now required
2023-03-10 15:44:39 +00: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
Harry Dalton
81e5bf2ee7 Bump minimum Python version in docs, as 3.8 is now required 2023-03-10 15:39:09 +00:00
Cosimo Lupo
c5e464ad8f
C_O_L_R_test: add tests for computeClipBoxes
using a subset from test_glyphs font from the googlefonts/color-fonts repository
2023-03-10 15:23:30 +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