Behdad Esfahbod
3f46e67e8b
[statisticsPen] Report font-wide slant
2023-07-19 20:03:38 -06:00
Behdad Esfahbod
b0cf3e1ebe
[instancer] Allow null ConditionSet
...
Fixes https://github.com/fonttools/fonttools/issues/3211
2023-07-19 19:55:42 -06:00
Behdad Esfahbod
8707a1da58
[statisticsPen] Report font glyph-average weight/width
2023-07-19 19:55:32 -06:00
Martin Grödl
534cb53b4a
Fix regression
...
Bug introduced in a421f9045a (diff-c01f84c2ac99ae2b60f071d4a38ff88c2653d27f19e62e11bef3dc7fe7f68925R352)
2023-07-18 16:58:21 +02:00
Behdad Esfahbod
b14a29c353
[varLib.merger] Support sparse CursivePos
...
Part of https://github.com/fonttools/fonttools/issues/3168
2023-07-18 07:14:25 -06:00
Harry Dalton
9bfb72b055
Fix typing of script_horizontal_direction()
...
Without explicit annotation, some type checkers infer that the type of
the 'default' argument can only be type[KeyError]. This was the case
in unicodedata_test.py, where pyright disallowed "LTR". This commit adds
annotations to avoid this, fixing the issue in the test (and external
code dependent on the API).
Some of the other functions in this file have the same semantics and
suffer from the same type error, and so this fix could also be extended
to them as usage requires.
2023-07-13 13:53:36 +01:00
Harry Dalton
d61cad65fc
Remove some of the str conversions that are redundant in Python 3
2023-07-13 13:50:55 +01:00
Cosimo Lupo
fac5b47060
Bump version: 4.41.0 → 4.41.1.dev0
2023-07-12 19:27:22 +01:00
Cosimo Lupo
66fbd09186
Release 4.41.0
2023-07-12 19:27:21 +01:00
Cosimo Lupo
8846b57304
Merge pull request #3201 from NightFurySL2001/patch-1
...
Convert panoseDefault to namespace object
2023-07-12 19:24:16 +01:00
Cosimo Lupo
c9d965b581
Merge pull request #3185 from m4rc1e/clean-nametable
...
Remove redundant name table records
2023-07-12 19:12:15 +01:00
Behdad Esfahbod
fb56e7b7c9
Merge pull request #3179 from fonttools/L4-fixes
...
L4 fixes
2023-07-11 10:47:59 -04:00
Behdad Esfahbod
0893ba93f8
[instancer/L4] Address review comments
2023-07-11 08:46:46 -06:00
Cosimo Lupo
a8bd0ef1b0
CFF: use latin1 so we can roundtrip non-ascii in FullName|FontName|FamilyName
...
Fixes #2898
use Latin1Converter for all name strings, and not just for Notice and Copyright. Then at least we can round-trip binary=>TTF=>binary, even if the TTX will not show the intended string.
Given that any non-ASCII in FullName can be considered broken, this at least this would let us round-trip without error.
2023-07-10 18:12:49 +01:00
Marc Foley
cfede76fd9
Implement Cosimo feedback
2023-07-10 15:01:40 +01:00
David Corbett
4660b8c359
Return three-byte operands from encodeIntCFF
2023-07-07 12:01:15 -04:00
NFSL2001
be44c92cfa
Update Lib/fontTools/ttLib/tables/O_S_2f_2.py
...
Co-authored-by: Cosimo Lupo <cosimo@anthrotype.com>
2023-07-07 23:12:44 +08:00
NightFurySL2001
ef8e15a08c
Use Panose class
2023-07-07 22:09:58 +08:00
NightFurySL2001
ef95a58c3c
Convert panoseDefault to namespace object
2023-07-07 21:36:40 +08:00
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
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
4ae0a93692
black
...
I'm sorry.
2023-06-27 08:49:31 -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
014e6c5800
Propagate the 'hidden' flag to the fvar Axis instance
2023-06-26 17:18:40 +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
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
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
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
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