8116 Commits

Author SHA1 Message Date
Behdad Esfahbod
24eb3f7197 [otData] Fix DeltaValue repeat value
The "" marker is used when a custom converter expects a list.
For DeltaValues, we expect a list as a single value, not a list
to be enumerated in XML. So, None is appropriate here. Cryptic,
I know...

Fixes https://github.com/fonttools/fonttools/pull/3757
2025-01-30 13:52:03 +00:00
خالد حسني (Khaled Hosny)
b467579c8d
Merge pull request #3720 from n8willis/ttLib
[Docs] ttLib: higher-level navigation and helper documentation
2025-01-29 23:23:17 +02:00
Cosimo Lupo
8a89f4f81b Bump version: 4.55.8 → 4.55.9.dev0 2025-01-29 18:01:37 +00:00
Cosimo Lupo
aef6d28737 Release 4.55.8 2025-01-29 18:01:36 +00:00
Cosimo Lupo
eece3c1b62
Merge pull request #3756 from cmyr/unicode-data-fixup
[unicodedata] Fix bug in buildUCD.py
2025-01-29 17:35:33 +00:00
Colin Rofls
b26271cc4d [unicodedata] Fix bug in buildUCD.py
The method that was being used to read the header from the input was
inadvertently dropping the first non-header line on the floor; although
this happens to be okay in some cases (where there is an empty line
after the header) in the case of newer versions of the
ScriptExtensions.txt file, this was causing the generated code to be
missing the first entry, for U+00B7 (MIDDLE DOT)
2025-01-29 11:53:58 -05:00
Cosimo Lupo
b7509b24a9 Bump version: 4.55.7 → 4.55.8.dev0 2025-01-28 12:04:09 +00:00
Cosimo Lupo
336299e390 Release 4.55.7 2025-01-28 12:04:09 +00:00
Cosimo Lupo
42db704693 Bump version: 4.55.6 → 4.55.7.dev0 2025-01-24 18:59:56 +00:00
Cosimo Lupo
db0b499558 Release 4.55.6 2025-01-24 18:59:56 +00:00
Cosimo Lupo
bddedc1bc1 restrict the rounding to where strictly needed
we don't need to round all simple glyphs' coordinates (which may be costly), only when these are used as components with an interesting transform
2025-01-24 18:05:18 +00:00
Cosimo Lupo
4ea10eb88f [glyf] fix rounding of bbox for nested transformed components
when getCoordinates is asked to round, e.g. from recalcBounds, only round the simple glyphs' coordinates; don't do any rounding for the coordinates of component glyphs otherwise rounding errors would accummulate if a composite glyph contains transformed/nested components
2025-01-24 15:10:18 +00:00
Cosimo Lupo
48a4b76332 Reapply "Bump version: 4.55.5 → 4.55.6.dev0"
This reverts commit b1ba6870af7812fa5e92e72b703dd4a06f098092.
2025-01-23 12:21:31 +00:00
Cosimo Lupo
b1ba6870af Revert "Bump version: 4.55.5 → 4.55.6.dev0"
This reverts commit 00b7bb958fb85244f09b347ce33a031d3a571b59.
2025-01-23 12:19:47 +00:00
Cosimo Lupo
00b7bb958f Bump version: 4.55.5 → 4.55.6.dev0 2025-01-23 11:31:13 +00:00
Cosimo Lupo
dcf0d5abb2 Release 4.55.5 2025-01-23 11:31:13 +00:00
Cosimo Lupo
cf20a14453
Merge pull request #3750 from fonttools/recalcBounds-round-coords
[glyf] fix bbox of transformed components with un-rounded coordinates
2025-01-23 11:26:50 +00:00
Cosimo Lupo
ec5d41929f [glyf] fix recalcBounds of transformed components with unrounded coordinates
Fixes https://github.com/googlefonts/fontc/issues/1206
2025-01-23 11:19:30 +00:00
Colin Rofls
6bc5d7f887 [feaLib] Allow duplicate script/language statements
And accumulate all of the declared lookups into the appropriate feature.
2025-01-22 12:58:44 -05:00
Cosimo Lupo
46cb2d078a Bump version: 4.55.4 → 4.55.5.dev0 2025-01-21 15:06:25 +00:00
Cosimo Lupo
7222152a41 Release 4.55.4 2025-01-21 15:06:25 +00:00
Cosimo Lupo
70fb77884c
Merge pull request #3719 from fonttools/statisticsControlPen-fix
[StatisticsControlPen] Fix uninitialized variable
2025-01-21 14:03:04 +00:00
Cosimo Lupo
49cd3c3265
Merge pull request #3732 from andrewsuzuki/fix-name-table-names-attr
Ensure names attr exists on table__n_a_m_e
2025-01-21 14:00:44 +00:00
Colin Rofls
fc32bca017 [bezierTools] Improve robustness of splitCubicAtT 2025-01-17 12:20:29 -05:00
Simon Cozens
cb159dea72
Black (#3736) 2025-01-07 08:23:24 +00:00
梁海 Liang Hai
b497b5de60
Correct docstring of AlternateSubstStatement (#3735) 2025-01-07 07:31:08 +00:00
Harry Dalton
ef07e3b2cc Add further type annotations 2025-01-03 13:16:17 -07:00
Harry Dalton
2865d19ff0 Remove redundant inline imports
Since the addition of `DecomposedTransform`, we have had a top-level
import of `math` to depend on.
2025-01-03 13:16:17 -07:00
Harry Dalton
c00bc6fecf Explicitly type arguments that are more liberal than their default value
This avoids pitfalls from type checkers having to work with limited
information, e.g., a type checker may implicitly assume that only
integers are expected where a default value is 1, whereas in reality any
float is accepted.
2025-01-03 13:16:17 -07:00
Andrew Suzuki
68dbfba5c4 Ensure names attr exists on table__n_a_m_e 2024-12-22 10:44:06 -05:00
Rod S
7e374c53da Bump version: 4.55.3 → 4.55.4.dev0 2024-12-10 12:59:30 -08:00
Rod S
8e5c1bf7e9 Release 4.55.3 2024-12-10 12:59:30 -08:00
Colin Rofls
4b9f5ef605 [feaLib] More efficient inline format 4 lookups
With this patch we will now reuse lookups more frequently when a
contextual lookup has inline ligature substitution rules.
2024-12-10 09:51:05 -07:00
Nathan Williis
1b6b5872bb Black. 2024-12-07 17:23:09 +00:00
Nathan Williis
ba77dbe696 Fix broken code block syntax. 2024-12-07 16:58:58 +00:00
Nathan Williis
7d5c516b9a Fix broken list in bfs_base_table docstring. 2024-12-07 16:58:12 +00:00
Nathan Williis
3584705ea2 [Docs] Fix docstring formatting. 2024-12-06 14:05:31 +00:00
n8willis
02cc44530b
Merge pull request #3716 from n8willis/master
[Docs] Fill out ttLib table section. Part of a bottom-up docs rework for ttLib.

Note that 23546cf changes the `import`s for ttLib/tables/_g_v_a_r.py to un-confuse autodoc.
2024-12-06 12:16:54 +00:00
Nathan Williis
23546cfaa9 [Docs] Import TupeVariation class directly in gvar table module. Fixes a Sphinx autodoc confusion. 2024-12-06 11:38:09 +00:00
Nathan Williis
314eee05c7 [Docs] Fix docstring typo in gcid table module. 2024-12-06 11:37:17 +00:00
Behdad Esfahbod
d533e8bd39 [StatisticsControlPen] Fix uninitialized variable
An open contour was hitting this because _startingPoint wasn't
set.

Fixes https://github.com/fonttools/fonttools/issues/3527
2024-12-05 14:19:08 -07:00
Khaled Hosny
eb305519a8 Bump version: 4.55.2 → 4.55.3.dev0 2024-12-05 15:46:27 +02:00
Khaled Hosny
827da6731d Release 4.55.2 2024-12-05 15:46:26 +02:00
خالد حسني (Khaled Hosny)
26590d3d6e
[feaLib] Don’t modify variable anchors in place (#3717)
When passing a parsed feature file that has variable anchors to
addOpenTypeFeatures(), builder would modify the anchors in place and
discard the variations, which break any subsequent use of the feature
file.

I encountered this building a font that has variable cursing anchors
with ufo2ft. The cursFeatureWriter would write the variable anchors, but
then when kernFeatreWriter compiles the file to get GSUB closure, the
variation would be dropped from the anchors, and later when when the
feature data is compiled into the font, the anchors would be compiled
without variations.
2024-12-05 12:09:44 +00:00
Nathan Williis
e5eb053105 Docs: add boilerplate docstrings to table converters. Mostly links to reference specs. 2024-12-04 15:58:46 +00:00
Ryan Bugden
0f840042e1 Allow axisOrdering to be set to zero
Fixes https://github.com/fonttools/fonttools/issues/3710
2024-12-03 15:22:13 -05:00
rsheeter
a1a69e40db Bump version: 4.55.1 → 4.55.2.dev0 2024-12-03 08:33:18 -08:00
rsheeter
383fc3fad7 Release 4.55.1 2024-12-03 08:33:18 -08:00
Behdad Esfahbod
1773f7b0ad [ttGlyphSet] Support VARC CFF2 fonts 2024-12-02 13:59:39 -07:00
Colin Rofls
d6f3c51895 [varLib] "Fix" cython iup issue?
In some cases we were seeing different output from iup depending on
whether or not we were running cython code.

I've tracked this particular issue down to the line that is changed in
this diff, and the change introduced in this diff does (locally, for me,
on one machine with one architecture and one compiler) seem to suppress
the problem.

However... it feels pretty bad??

I'm not sure how motivated I am to try and generate a proper minimal
test case and try to get this fixed upstream. I guess I'm.. medium
motivated? But at the very least it would be nice to figure out a more
robust way to prevent this optimization from happening, and at the very
_very_ least it would be nice to figure out away to test this.

The solution I was hoping for was some way to write some actual
hand-written C so we could have finer-grained control over what's going
on, and use that just for this one little bit of arithmetic, but I
didn't see an easy way to do that.
2024-11-27 23:07:39 -07:00