10743 Commits

Author SHA1 Message Date
dependabot[bot]
df48d7f34a
Bump docker/setup-qemu-action from 2.1.0 to 2.2.0
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2.1.0...v2.2.0)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-09 18:22:16 +00:00
Cosimo Lupo
d264510618
build sdist and pure wheel in the same wheels.yml workflow
.zip is deprecated for Python source distributions so use the default .tar.gz
2023-06-09 19:21:52 +01:00
Cosimo Lupo
82e368e2b7
Update NEWS.rst 2023-06-09 19:09:06 +01:00
Cosimo Lupo
b3ce0979cb
Merge pull request #3123 from fonttools/avar2-designspace
[designspace] Add avar2 mapping support
2023-06-08 12:58:51 +01:00
خالد حسني (Khaled Hosny)
9ad4a36309
Merge pull request #3130 from fonttools/fealib-ligcaret-variable
[feaLib] Support variable ligature caret position
2023-06-08 14:58:23 +03:00
Cosimo Lupo
f5c43cec49
Merge pull request #3156 from fonttools/drop-before-and-after-round
Drop impliable oncurves either before or after rounding
2023-06-08 11:57:30 +01:00
Cosimo Lupo
dfec4abf6d
glyf: use 'round' parameter in _getCoordinatesAndControls
as Behdad suggested in review
2023-06-08 11:47:47 +01:00
Cosimo Lupo
5c0f05cc42
allow to pass 'round' parameter in ttGlyphPen, optimize for noRound 2023-06-08 11:41:07 +01:00
Cosimo Lupo
86777525a6
drop oncurve if it's impliable either before OR after rounding
ofter the rounding gives us an opportunity to make an oncurve impliable, for points that were not equidistant become so after round, so why not take it!
2023-06-07 18:13:58 +01:00
Cosimo Lupo
1ca554332c
_getCoordinatesAndControls: make sure coords are rounded toInt() as gvar expects
ufo2ft will no longer send varLib already-rounded master glyf tables (to give it an opportunity to compute implied oncurves on the pre-rounded coords) so when retrieving coordinates off the glyf table in order to compute gvar deltas we have to round
2023-06-07 18:05:48 +01:00
Cosimo Lupo
97e626b23e
ttGlyphPen: drop implied before rounding, allow not to round at all
We want to be able to compute implied oncurves both before coordinates have been rounded to integer and afterwards.
Also when ufo2ft builds interpolatable master TTFs, we want to turn off the rounding so that varLib can call dropImpliedOnCurvePoints on the un-rounded coordinates, so we need an option to disable rounding the coordinates in the ttGlyphPens
2023-06-07 17:55:56 +01:00
Cosimo Lupo
f7ca9f28ac
vector: add isclose method to compare vs another Vector using math.isclose 2023-06-07 17:50:33 +01:00
Cosimo Lupo
66ce7c0e0c
Merge pull request #3155 from fonttools/fix-drop-implied-oncurves
fix a bug in dropImpliedOnCurvePoints
2023-06-06 18:02:11 +01:00
Cosimo Lupo
0761508510
must update start = last + 1 in dropImpliedOnCurvePoints
Fixes #3155
2023-06-06 17:01:40 +01:00
Cosimo Lupo
4298c28e3c
add 2nd test contour to expose bug in dropImpliedOnCurvePoints
there's a bug whereby we don't correctly drop impliable oncurve if it occurs on the first point of the second contour.. because we forgot to update the contour start = last + 1...
2023-06-06 17:00:16 +01:00
Behdad Esfahbod
65598197c8 [subset] Remove quotation marks from command-line samples
Those have confused Windows users before.

Fixes https://github.com/fonttools/fonttools/issues/3149
2023-06-05 09:42:17 -06:00
Cosimo Lupo
d673fad56b
Merge pull request #3147 from fonttools/varlib-drop-implied-oncurves
[varlib] add --drop-implied-oncurves option
2023-06-05 12:28:51 +01:00
Cosimo Lupo
5b93100616
also check endPtsOfContours in dropImpliedOnCurvePoints
as per review https://github.com/fonttools/fonttools/pull/3147#discussion_r1214708207

Also, don't do same work multiple times when dropping points from flags/endPtsOfContours arrays since these are supposed to be the same for all interpolatable glyphs
2023-06-05 12:11:17 +01:00
Behdad Esfahbod
d601646cf2 [varLib/avar2] Remove warning
https://github.com/fonttools/fonttools/pull/3123#issuecomment-1573199305
2023-06-02 12:51:25 -06:00
Cosimo Lupo
0690703b86
varLib: add --drop-implied-oncurves option
For the test, I used the Tests/varLib/data/Build.designspace as starting point, modified the 'a' glyph so that 1 on-curve point (the first one) becomes impliable for all the masters.
2023-06-02 15:50:32 +01:00
Cosimo Lupo
b6bb9dfef0
ttGlyphPen: only call dropImpliedOnCurvePoints for simple glyphs after fully formed 2023-06-02 13:53:00 +01:00
Cosimo Lupo
6a276d9f6a
dropImpliedOnCurvePoints: raise if incompatible, skip empty/composites 2023-06-02 13:51:28 +01:00
Cosimo Lupo
84cebca6a1
Merge pull request #3146 from fonttools/drop-implied-oncurves-interpolatable
implied oncurve points for interpolatable glyphs
2023-06-01 20:55:57 +01:00
Cosimo Lupo
a039e1dda8
_g_l_y_f_test: add tests for dropImpliedOnCurvePoints 2023-06-01 19:27:32 +01:00
Behdad Esfahbod
54cfb5f696 [designspaceLib/avar2] Err if mappings axes ranges are being subset 2023-06-01 12:24:51 -06:00
Behdad Esfahbod
65bc6b7cb0 [designspaceLib/avar2] Remove Windows hack in tests 2023-06-01 12:12:34 -06:00
Behdad Esfahbod
ddf16c9130 [designspaceLib/avar2] Apply review comments 2023-06-01 11:54:43 -06:00
Cosimo Lupo
3b62811b63
have dropImpliedOnCurvePoints return the set of point indices useful for testing 2023-06-01 18:21:59 +01:00
Cosimo Lupo
e19871981d
add docstring to dropImpliedOnCurvePoints function 2023-06-01 16:49:30 +01:00
Cosimo Lupo
b7f4e9b83e
move dropImpliedOnCurvePoints function to glyf table module
so it can be used by client code on multiple glyf Glyph objects regardles of TTGlyphPen
2023-06-01 16:49:29 +01:00
Cosimo Lupo
a73abc6b87
make drop_implied_oncurves work with multiple interpolatable glyphs 2023-06-01 16:49:29 +01:00
Cosimo Lupo
02a063685f
Merge pull request #3145 from fonttools/ttglyphpen-ignore-empty
TTGlyphPen: do not error with empty contours, simply ignore them
2023-05-31 13:48:14 +01:00
Cosimo Lupo
3bbc19abb1
TTGlyphPen: do not error with empty contours, simply ignore them
Fixes https://github.com/googlefonts/fontmake/issues/1001
2023-05-31 11:58:14 +01:00
Behdad Esfahbod
77c00719ba [designspaceLib/avar2] Add split test 2023-05-30 23:39:19 -06:00
Behdad Esfahbod
ca642e89c4 [designspaceLib/avar2] First stab at splitting mappings 2023-05-30 23:03:33 -06:00
Behdad Esfahbod
ce0a32d1a4 [varLib.builder] Fixup 2023-05-30 22:46:47 -06:00
Behdad Esfahbod
a8f9fa98ec [designspaceLib/docs] varLib spelling 2023-05-30 22:36:00 -06:00
Behdad Esfahbod
2740f98c9e [designspaceLib/avar2] More docs 2023-05-30 22:32:18 -06:00
Behdad Esfahbod
1b7c0bf19b [designspaceLib/avar2] Adjust version to 5.1 when writing mappings 2023-05-30 22:23:42 -06:00
Behdad Esfahbod
d513e563ff [designspaceLib/avar2] Add XML docs 2023-05-30 22:16:46 -06:00
Behdad Esfahbod
0184c91ce8 [designspaceLib/test] Fix Windows bot failure 2023-05-30 13:51:43 -06:00
Behdad Esfahbod
a99a75e8a6 [varLib/avar2] Use buildDeltaSetIndexMap()
Also change buildDeltaSetIndexMap() to move the identity
optimization there. Update the only other callsite (COLRv2).
2023-05-30 13:30:36 -06:00
Behdad Esfahbod
a08acf41f8 [varLib/avar2] Omit identity VarIdx map 2023-05-30 13:22:12 -06:00
Behdad Esfahbod
d915f08e76 [varLib/avar2] Don't require base master to be specified explicitly
We can deduce it as empty mapping.
2023-05-30 13:13:49 -06:00
Behdad Esfahbod
ff7f49a94c [varLib/avar2] Add compile test 2023-05-30 13:13:49 -06:00
Behdad Esfahbod
aabb26ed69 [designspaceLib/avar2] Add roundtrip test 2023-05-30 12:21:42 -06:00
Behdad Esfahbod
246d539e29 [designspaceLib/avar2] Warn if input location missing for an output axis
https://github.com/fonttools/fonttools/pull/3123#issuecomment-1568852694
2023-05-30 12:10:15 -06:00
Behdad Esfahbod
588cbc982d [designspaceLib/avar2] Rename variables 2023-05-30 11:55:48 -06:00
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