7334 Commits

Author SHA1 Message Date
Khaled Hosny
47c1edbee5 Bump version: 4.54.1 → 4.54.2.dev0 2024-09-24 17:15:33 +03:00
Khaled Hosny
112ace8189 Release 4.54.1 2024-09-24 17:15:32 +03:00
Mark Elliot
4cd0b0d87d Escape \ in subset docs 2024-09-23 12:42:15 -06:00
Behdad Esfahbod
10a61ef7de Update to Unicode 16 2024-09-23 08:46:56 -06:00
Nikolaus Waxweiler
6af41afddf Bump version: 4.54.0 → 4.54.1.dev0 2024-09-23 15:22:33 +01:00
Nikolaus Waxweiler
5429a6c7a4 Release 4.54.0 2024-09-23 15:22:33 +01:00
n8willis
63611d4474
Merge pull request #3627 from n8willis/docs-cleanup
Docs: clean up various code blocks in docstrings, to enable correct syntax highlighting in HTML / RTD output.
2024-09-16 10:40:05 +01:00
Harry Dalton
07351d12e6 Fix visual artefacts with partial L2 instancing
Closes #3634

To produce inferred deltas that will be correct given OpenType's gvar
semantics, fontTool's IUP optimisation module checks the equality of
some points. However, this happens before the points are rounded,
whereas the point comparison that happens at runtime will occur after
the points are rounded (as is necessary to serialise glyf), which leads
to diverging semantics and so diverging and incorrect implied deltas.

This leads to significant visual artefacts, e.g. where large deltas that
should be inferred based on previous values are instead interpreted as 0
at runtime.

I suspect this has gone undetected as the subsetter normally works with
rounded points; in the rarer case that partial VF instancing is
occurring with a different default position, however, varLib.instancer
will calculate and apply the relevant deltas to the font's original
coordinates to effect the new default position, which leads to unrounded
points in memory. This commit ensures that we round directly before
optimising (but still after calculating `glyf` metrics, for backward
compatibility).
2024-09-15 12:10:29 -07:00
Nathan Williis
d05cdcf21f Docs: black 2024-09-11 15:48:09 +01:00
Nathan Williis
7d93689aca Docs: workaround doctest-vs-Sphinx syntax highlighting. 2024-09-11 15:45:46 +01:00
Roel Nieskens
11343ed64c Add instructions to escape question mark
Arguments without it will not work in zsh and possibly other shells.
2024-09-10 11:17:33 -06:00
Roel Nieskens
d871fd3a08 Remove dotslash from examples 2024-09-10 11:17:33 -06:00
Nathan Williis
6914070e00 Docs, minor: remove trailing whitespace. 2024-09-04 17:36:48 +01:00
Nathan Williis
21d04842f8 Docs: fix code-example blocks in ttLib. 2024-09-03 17:55:02 +01:00
Nathan Williis
df49533892 Docs: fix code-example blocks in voltLib. 2024-09-03 17:54:45 +01:00
Nathan Williis
1fc9bc2dca Docs: fix code-example blocks in varLib/instancer. 2024-09-03 17:54:29 +01:00
Nathan Williis
23e3ab60f8 Docs: fix code-example blocks in varLib. 2024-09-03 17:53:56 +01:00
Nathan Williis
4b9cb1030e Docs: fix code-example blocks in svgLib. 2024-09-03 17:52:59 +01:00
Nathan Williis
e7c78970ce Docs: fix code-example blocks in ufoLib. 2024-09-03 17:52:20 +01:00
Nathan Williis
f771c37149 Docs: fix code-example blocks in pens. 2024-09-03 17:52:02 +01:00
n8willis
c2119229cf
Merge pull request #3625 from n8willis/docs-cleanup
Docs: fix Sphinx builds.
2024-09-03 11:21:08 +01:00
Nathan Williis
c19b1c5148 Docs: move module docstrings to first line of file, as per PEP 257. 2024-09-02 17:18:41 +01:00
Cosimo Lupo
afd73dd2b1
NameRecordVisitor: remove unnecessary check for out of bounds nameIDs 2024-08-30 18:20:13 +01:00
Cosimo Lupo
8f01590353
FeatureParamsSize.SubfamilyID is *not* actually a NameID 2024-08-30 18:20:12 +01:00
Cosimo Lupo
821f37329e
NameRecordVisitor: include whole sequence of UI labels for character variants, not just first
Fixes #3616
2024-08-30 18:20:12 +01:00
Behdad Esfahbod
132654c9e5 [varLib.avar] Comment 2024-08-30 08:46:50 -07:00
Behdad Esfahbod
2742c6287c [varLib.avar] Test & fix _pruneLocations 2024-08-30 08:46:50 -07:00
Behdad Esfahbod
700b6a7b0e [varLib.avar] Refactor code
So we can test it.
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
65ab19468d [varLib.avar] Comments and a bug fix
Code was in wrong block.
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
bd76b4a24b [varLib.avar] Handle default location mapping somewhere else 2024-08-30 08:46:50 -07:00
Behdad Esfahbod
34e38c3d03 [varLib.avar] Do less work
No need to compute outputLocation for unneeded inputLocations.
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
9f19a19c4e [varLib.avar] Introduce base master earlier 2024-08-30 08:46:50 -07:00
Behdad Esfahbod
b8306b1d82 [varLib.avar] Fix normalization
And see if I can make it deterministic. It still isn't.
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
cb031514ea [varLib.avar] Try dropping unnecessary "masters"
Untested, as I don't have a test font that exercises this.
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
e606adfffe [varLib.avar] Add peakLocation as well, oops 2024-08-30 08:46:50 -07:00
Behdad Esfahbod
0127a235af [varLib.avar] Don't require a full .designspace with sources 2024-08-30 08:46:50 -07:00
Behdad Esfahbod
297f73aeaf [varLib.avar] Err, don't drop empty pins
https://github.com/fonttools/fonttools/issues/3086#issuecomment-2263626285
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
40f6760e8a [varLib.avar] Don't clamp values
https://github.com/fonttools/fonttools/pull/3598#issuecomment-2266082009
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
150d4fc195 [varLib.avar] Sketch of code to reconstruct mappings from binary
https://github.com/Lorp/fencer/issues/25
2024-08-30 08:46:50 -07:00
Behdad Esfahbod
0c2652011e [varLib.models] By default, assume OpenType-like normalized space
See:
https://github.com/fonttools/fonttools/pull/2846#issuecomment-2267750076

I *think* this is an improvement, and no one should have been relying
on the broken existing behavior.

Docs need updating.
2024-08-16 18:45:08 -06:00
Behdad Esfahbod
ead2a18d4b [varLib.interpolatable] Support discrete axes in .designspace
Fixes https://github.com/fonttools/fonttools/issues/3597
2024-08-16 12:14:30 -06:00
Behdad Esfahbod
45bd0637bd [varLib.interpolatable]
Fix master name formatting.

https://github.com/fonttools/fonttools/pull/3599#issuecomment-2269372640
2024-08-05 09:44:59 -06:00
Behdad Esfahbod
ba20aa2f56 [merge] Format 2024-07-18 12:05:46 -06:00
David Jones
4214a66405 Minor fixes to documentation for merge 2024-07-18 12:04:59 -06:00
Simon Cozens
647abe70a9 Bump version: 4.53.1 → 4.53.2.dev0 2024-07-05 13:03:28 +01:00
Simon Cozens
d3e68f28f2 Release 4.53.1 2024-07-05 13:03:27 +01:00
Simon Cozens
3546b9f06d Search the object's MRO for visitors 2024-07-03 06:48:38 -06:00
David Corbett
aa390ec98b Fix OS/2.usMaxContext for reverse GSUB rules 2024-06-16 20:37:17 -07:00
Cosimo Lupo
97929b3236
[feaLib] try reuse existing inline chained multiple subst lookups when possible
We already do this for inline single substitutions in chained contextual lookups, this PR extends this for multiple substitutions as well.

Fixes https://github.com/fonttools/fonttools/issues/3551
2024-06-03 17:06:46 +01:00
Nikolaus Waxweiler
308b449edc Bump version: 4.53.0 → 4.53.1.dev0 2024-05-31 17:24:59 +01:00