10932 Commits

Author SHA1 Message Date
Marc Foley
b5639410ab remove redundant CPAL name removal code 2023-06-28 17:18:12 +01:00
Marc Foley
0a6e8bf1c3 convert name table _prune_pre_subset to prune_post_subset 2023-06-28 17:02:34 +01:00
Behdad Esfahbod
46086cdb66 [interpolatable] Add --glyphs 2023-06-27 16:59:05 -06:00
Behdad Esfahbod
09464e5825 Comment 2023-06-27 09:53:37 -06:00
Behdad Esfahbod
9974a74a18 [cubic-glyf] Fix drawPoints() contour ending with cubic offCurve
Fixes https://github.com/fonttools/fonttools/issues/3189
2023-06-27 11:48:25 -04:00
Behdad Esfahbod
1138e5b0df [Tests] Add cmap to dot-cubic.ttf
So we can test it with svgPathPen.
2023-06-27 08:54:42 -06:00
Behdad Esfahbod
4ae0a93692 black
I'm sorry.
2023-06-27 08:49:31 -06:00
Behdad Esfahbod
9983ffe27a [cubic-glyf] Fix tests
Ouch.
2023-06-27 08:47:56 -06:00
Behdad Esfahbod
9ec121322b [cubic-glyf] Emit integers instead of floats when possible
I was seeing unnecessary ".0" in the SVG output. Granted,
should probably be fixed in the SVG pen as well. Will do.
2023-06-27 08:43:44 -06:00
Behdad Esfahbod
0b11a46e3a [cubic-glyf] Fix rendering no-oncurve outlines
Test coming.
2023-06-27 08:39:29 -06:00
Marc Foley
edf8891fba Use NameRecordVisitor in subsetter 2023-06-27 15:23:56 +01:00
Marc Foley
a792851131 add removeUnusedNames staticmethod to name table 2023-06-27 12:06:18 +01:00
Just van Rossum
5d42fd79f6
Merge pull request #3184 from fonttools/propagate-hidden-flag
[FontBuilder] Propagate the 'hidden' flag to the fvar Axis instance
2023-06-26 22:18:09 +02:00
Marc Foley
552525dc84 clean-nametable added 2023-06-26 16:45:24 +01:00
Just van Rossum
014e6c5800 Propagate the 'hidden' flag to the fvar Axis instance 2023-06-26 17:18:40 +02:00
Just van Rossum
44cfe35b37
Merge pull request #3183 from fonttools/issue3182
[FontBuilder] Update setupAvar() to also support avar-2, fixing _add_avar() call site
2023-06-25 22:24:41 +02:00
Just van Rossum
a912f7d16f Add minimal avar test 2023-06-25 16:09:05 +02:00
Just van Rossum
b4ce8177ec Fix exception message 2023-06-25 15:48:16 +02:00
Just van Rossum
d59291a9c5 Update setupAvar to also support avar-2, fixing _add_avar() call site 2023-06-25 15:31:08 +02:00
Behdad Esfahbod
978decb3a2 [merge.cff] Fix error message
As noticed in https://github.com/fonttools/fonttools/issues/3175
2023-06-22 09:56:35 -06:00
Behdad Esfahbod
71cca00b05 [instancer/L4] Remove an unreachable code path and better comment 2023-06-21 19:01:27 -06:00
Behdad Esfahbod
ddc484d384 [instancer/L4] Add a comment 2023-06-21 18:30:19 -06:00
Behdad Esfahbod
10bc7a804a [instancer/L4] Implement an optimization 2023-06-21 17:52:12 -06:00
Behdad Esfahbod
17761cc616 [instancer/L4] Add tests 2023-06-21 15:09:56 -06:00
Behdad Esfahbod
204532aee3 [instancer/L4] Misc fixes and fix tests 2023-06-21 15:09:56 -06:00
Behdad Esfahbod
43e5aae018 [instancer/L4] Fix avar mapping as well 2023-06-21 15:09:56 -06:00
Behdad Esfahbod
72b6102949 [instancer/L4] Fix normalizeValue for L4 solver
Imagine a font with current min/default/max of 100,700,1000. And new
setting of 100,400,1000. The current normalizeLocation will calculate
the new location for 700 to be +.33, whereas it should calculate +.5!
This is because 400 translates to -.5, so 700 will be normalized to
-1,-.5,+1 and get +.33...

We need a special normalizeLocation that is aware of the "distance"
between min/default/max, ie. the non-normalized values. Then it will be
clear that the distance from 400 to 700 is equal to 700 to 1000, and as
such 700 should be normalized to .5, not .33... I'm still trying to
figure out the case where avar is present.

Store this distance in NormalizeAxisLimit and reach it out in the
solver.

Fixes https://github.com/fonttools/fonttools/issues/3177
2023-06-21 15:09:56 -06:00
Behdad Esfahbod
94e081611c [instancer/L4] Further simplify
outGain is always zero in this branch.
2023-06-21 15:09:56 -06:00
Behdad Esfahbod
7385cbbc34 [instancer/L4] Simplify 2023-06-21 15:09:56 -06:00
Behdad Esfahbod
023ad3a363 [instancer/L4] Fix crossing calculation 2023-06-21 15:09:56 -06:00
dependabot[bot]
f39c92eb3a
Bump actions/setup-python from 2 to 4
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 19:59:03 +00:00
dependabot[bot]
f8e068e451
Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 19:58:58 +00:00
خالد حسني (Khaled Hosny)
060b5f36bf
Merge pull request #3164 from fonttools/volto
Add voltLib.voltToFea module and command line tool
2023-06-16 23:55:46 +03:00
Khaled Hosny
2f97f1abe9 Rename volto to voltLib.voltToFea 2023-06-14 20:38:18 +03:00
Khaled Hosny
de76e71b7b Add Volto
A tool for converting VOLT VTP projects to feature files.

Essentially https://github.com/TiroTypeworks/TiroTools/tree/master/Volto
with minor modifications to fit into FontTools.
2023-06-14 09:17:47 +03:00
Cosimo Lupo
4923a353bb
Bump version: 4.40.0 → 4.40.1.dev0 2023-06-12 11:46:43 +01:00
Cosimo Lupo
6b14080390
Release 4.40.0 2023-06-12 11:46:39 +01:00
Cosimo Lupo
fb74ade390
Update NEWS.rst [skip ci] 2023-06-09 19:33:15 +01:00
Cosimo Lupo
9d778e1af7
Update NEWS.rst [skip ci] 2023-06-09 19:31:04 +01:00
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