9763 Commits

Author SHA1 Message Date
Behdad Esfahbod
e494b118c4 [varLib.iup] Document API 2022-08-16 14:07:43 -06:00
Behdad Esfahbod
32904d43bb [models_test] Add tests from Just 2022-08-16 12:46:44 -06:00
Behdad Esfahbod
3325b47606
Merge pull request #2717 from fonttools/varLib-narrow
[varLib.models] Generate narrower tents
2022-08-16 12:46:22 -06:00
Just van Rossum
853cadb0cd
Merge pull request #2744 from fonttools/fix-issue2694-again
[feaLib.builder] Fix for #2694: Remove GDEF warning
2022-08-16 14:46:53 +02:00
Just van Rossum
2f79fbc951 remove GDEF warning completely, as per discussion in #2694 2022-08-16 14:08:46 +02:00
Just van Rossum
10c92ba338 Fix for #2694: only warn about not-requested-GDEF if building a VF AND GPOS is requested but GDEF isn't 2022-08-15 21:20:13 +02:00
Behdad Esfahbod
171670a15f
[instancer] Simplify a couple of things (#2732)
* [instancer] Simplify normalization
2022-08-15 11:47:09 -06:00
Behdad Esfahbod
41e6f60011
Merge pull request #2738 from fonttools/glyphset
TTVarGlyphset
2022-08-15 11:07:41 -06:00
Behdad Esfahbod
dc99ab6b3f [ttGlyphSet] Address review comments 2022-08-15 11:06:51 -06:00
Behdad Esfahbod
03d264756b
Test var model error (#2217)
* [varLib.models] Add test for modeling rounding error

Tests https://github.com/fonttools/fonttools/pull/2214

If you flip demo to True, it does a slower test and demos the new error as well
as the error the old code was producing (ie. rounding deltas post-modeling).

Indeed, the new error is always capped by 0.5 as expected, whereas the old one
was unbounded. Here's the worst-case error of the bad code:

...
240     0.42    4.8
...

240 is just the line number. 0.42 is new error. 4.8 is old error.

* turn test_modeling_error into a parametrized pytest test

Like the other test methods in the same module, all those whose name starts with 'test_' are automatically discovered and run by pytest which is our default test runner. So there is no need to call the test method itself in the top-level module scope. One simply runs the test via pytest. To execute this specific test method one can do 'pytest Tests/varLib/models_test.py::test_modeling_error'.

* use pytest markers to mark specific test as 'slow'

So that one can optionally deselect tests marked with specific marker by passing -m option (e.g. to deselect 'slow' tests, pytest -m 'not slow' ...).

https://docs.pytest.org/en/stable/mark.html#registering-marks
https://docs.pytest.org/en/stable/example/parametrize.html#set-marks-or-test-id-for-individual-parametrized-test

* [varLib/models_test] Comment out non-test code

Co-authored-by: Cosimo Lupo <clupo@google.com>
2022-08-15 10:30:45 -06:00
Cosimo Lupo
9716b1c455 Bump version: 4.35.0 → 4.35.1.dev0 2022-08-15 15:53:13 +02:00
Cosimo Lupo
691a17d289 Release 4.35.0 2022-08-15 15:53:13 +02:00
Cosimo Lupo
0c2056e54d Update changelog [skip ci] 2022-08-15 15:50:09 +02:00
Cosimo Lupo
a8c09989bd
Merge pull request #2743 from fonttools/variable-colr-with-sweep-angle-bias
support proposed PaintSweepGradient's angles with +1.0 (180°) bias
2022-08-15 14:00:22 +01:00
Cosimo Lupo
e3aaf59084
Merge pull request #2734 from fonttools/instancer-bug
[instancer] Fix bug in _instantiateFeatureVariations()
2022-08-15 13:59:41 +01:00
Cosimo Lupo
1dffbae240 support proposed PaintSweepGradient's angles with +1.0 (180°) bias
In the upcoming draft of COLR spec, PaintSweepGradient's startAngle/endAngle are encoded with a +1.0 bias to allow for representation of a full +360° positive angle. Normal F2Dot14-fraction-of-half-circle angles can only represent angles between -360 <= angle < +360

This is a breaking change and will need to be coordinated with rendering implementations (at least FreeType/Skia).
2022-08-15 12:52:28 +02:00
Cosimo Lupo
87e86cb5fb
Merge pull request #2731 from fonttools/pyup-scheduled-update-2022-08-08
Scheduled weekly dependency update for week 32
2022-08-15 11:33:37 +01:00
Cosimo Lupo
0f33634a9e subset_test: fix mock test with uharfbuzz>=0.30 new 'repack_with_tag' method 2022-08-15 12:10:13 +02:00
Cosimo Lupo
615d62ab25 requirements.txt: keep scipy pinned for python_version < 3.7 2022-08-15 12:03:27 +02:00
Behdad Esfahbod
688939394b [varLib.models] Generate narrower tents
Based on https://github.com/fonttools/fonttools/pull/2218
but modify the general solver instead.
2022-08-14 14:00:09 -06:00
Behdad Esfahbod
449049a933 [mtiLib] Pad scriptTags with space
Fixes https://github.com/fonttools/fonttools/issues/1727
2022-08-14 13:05:53 -06:00
Behdad Esfahbod
26ae03f58f [ttGlyphSet] Add tests 2022-08-14 12:52:49 -06:00
Behdad Esfahbod
cdc5307d1b
[merge] Use '.' instead of '#' in duplicate glyph names (#2742)
Fixes https://github.com/fonttools/fonttools/issues/1950
2022-08-14 12:49:35 -06:00
Behdad Esfahbod
33d51f52a7 [svgPathPen] Accept --variations 2022-08-14 12:08:12 -06:00
Behdad Esfahbod
226761c8ed [ttVarGlyphSet] Set glyph height
Untested
2022-08-14 12:08:12 -06:00
Behdad Esfahbod
617e6ff3c7 [ttVarGlyphSet] Implement 'avar' mapping 2022-08-14 12:08:12 -06:00
Behdad Esfahbod
37277ee86e [glyphSet] Fix lsb offsetting 2022-08-14 12:08:12 -06:00
Behdad Esfahbod
e1d8496d73 [TTVarGlyphSet] Use shallow glyph copying 2022-08-14 12:08:12 -06:00
Behdad Esfahbod
125dbc64b5 [varLib.interpolatable] Use new ttGlyphSet var feature to open varfont 2022-08-14 12:08:12 -06:00
Behdad Esfahbod
3ae5a673bc [ttFont/ttGlyphSet] Add option to pass normalized locations 2022-08-14 12:08:12 -06:00
Behdad Esfahbod
c148dc76e6 [ttFont/ttGlyphSet] Add API for drawing variable fonts
Fixes https://github.com/fonttools/fonttools/issues/1021
2022-08-14 12:08:12 -06:00
Behdad Esfahbod
0d1550febe [ttFont] Split TTGlyphSet code into ttGlyphSet.py 2022-08-14 12:08:12 -06:00
Behdad Esfahbod
9ebebcba6d [gvar] Minor simplify 2022-08-14 12:07:54 -06:00
Behdad Esfahbod
260564a1e3
Lazy gvar (#2741)
* [gvar] Load variations lazily

Fixes https://github.com/fonttools/fonttools/issues/2740
2022-08-14 11:54:35 -06:00
Cosimo Lupo
bb6fd8d22e
Merge pull request #2730 from fonttools/varlib-pass-on-colr-layer-reuse-arg
[varlib.build_many] Pass on colr_layer_reuse
2022-08-14 11:44:20 +01:00
Behdad Esfahbod
6df779fd5d [svgPen] Add main that prints SVG for input text 2022-08-13 15:23:10 -06:00
Behdad Esfahbod
52b28f9022 [statisticsPen] Avoid division-by-zero 2022-08-12 14:00:27 -06:00
Behdad Esfahbod
2963fa503a [cffLib.widths] Fix off-by-one in values
Was wrong; didn't match the code block above it.
2022-08-09 21:44:08 -06:00
Behdad Esfahbod
13e592cadf [instancer] Fix bug in _instantiateFeatureVariations()
Fixes https://github.com/fonttools/fonttools/issues/2733
2022-08-09 17:15:29 -06:00
pyup-bot
4fa24b33ec Update uharfbuzz from 0.26.0 to 0.30.0 2022-08-08 17:10:09 +01:00
pyup-bot
199301ade5 Update scipy from 1.8.1 to 1.9.0 2022-08-08 17:10:08 +01:00
pyup-bot
e404c473a8 Update scipy from 1.7.3 to 1.9.0 2022-08-08 17:10:08 +01:00
pyup-bot
000f76682e Update reportlab from 3.6.10 to 3.6.11 2022-08-08 17:10:07 +01:00
pyup-bot
a2fcf34c81 Update sphinx from 5.0.1 to 5.1.1 2022-08-08 17:10:07 +01:00
Nikolaus Waxweiler
489eff6715 [varlib.build_many] Pass on colr_layer_reuse 2022-08-08 14:06:49 +01:00
Behdad Esfahbod
68b0509711 [varLib.AligningMerger] Try harder to make it work as a standalone merger 2022-08-04 13:22:00 -06:00
Behdad Esfahbod
287ac43212 [varLib.AligningMerger] Make it work as a standalone merger 2022-08-04 12:30:44 -06:00
خالد حسني (Khaled Hosny)
1b9731dd8c
Merge pull request #2724 from googlefonts/tag_in_hb_repack
Use new uharfbuzz repack_with_tag method if available.
2022-08-03 16:38:27 +02:00
Garret Rieger
a33972da62 Use new uharfbuzz repack_with_tag if available. 2022-07-29 21:48:25 +00:00
Behdad Esfahbod
21d22ae30f
Merge pull request #2716 from fonttools/interpolatable-opener
Interpolatable opener
2022-07-29 14:42:58 -06:00