11226 Commits

Author SHA1 Message Date
Behdad Esfahbod
377bb5a34b [interpolatable] Comment 2023-11-21 14:03:45 -07:00
Behdad Esfahbod
e413ee4c3a [interpolatablePlot] Make cupcake ASCII-only 2023-11-21 13:33:31 -07:00
Behdad Esfahbod
df74e78487 [interpolatablePlot] Minor, write label before shrug 2023-11-21 13:08:10 -07:00
Behdad Esfahbod
c689bb475a [interpolate] Add some Black Magic
See comments.

In particular, this reports glyph "intersection" in
Archivo fonts that are broken but otherwise will go
unnoticed.
2023-11-21 12:57:41 -07:00
Behdad Esfahbod
772dc549f3
[ttGlyphSet] Add option to not recalculate glyf bounds (#3348)
Avoids unnecessary work in the interpolator.
2023-11-21 12:06:57 -07:00
Behdad Esfahbod
62a28c2183 Revert "[interpolatable] Speed up one function"
This reverts commit c48067b109dd9750a4c960d898d2821974d94c5a.

Was slower in testing.
2023-11-21 10:10:51 -07:00
Behdad Esfahbod
c48067b109 [interpolatable] Speed up one function 2023-11-21 09:49:19 -07:00
Behdad Esfahbod
d20529a65e [interpolatable] Comment 2023-11-21 09:10:58 -07:00
Behdad Esfahbod
9c154e81c2 [interpolatable] Add --name 2023-11-20 20:29:06 -07:00
Behdad Esfahbod
d8db3f47a3 [interpolatable] Err; use right transform for second contour 2023-11-20 19:34:06 -07:00
Behdad Esfahbod
97ebce4977 [interpolatable] Use eigenmagic to reduce false-positives
Mostly in Italic fonts, like RobotoSerif-Italic.
2023-11-20 19:07:24 -07:00
Behdad Esfahbod
884a802eb3 [interpolatable] Report "nothing wrong" 2023-11-20 17:41:08 -07:00
Behdad Esfahbod
dbcdbb14ca [interpolatable] Minor elif 2023-11-20 17:39:59 -07:00
Behdad Esfahbod
896aa97cd6 [interpolatable] Fixups 2023-11-20 16:37:25 -07:00
Behdad Esfahbod
42db614679 [interpolatable] Add --show-all
Helpful debugging false-negatives.
2023-11-20 16:19:28 -07:00
Behdad Esfahbod
0967829f16 [interpolatablePlot] Fix indexing when mixed problems 2023-11-20 12:39:22 -07:00
Behdad Esfahbod
c6e24b23ef [interpolatable] Add input names to any raised exception
When I'm running 24 instances at a time, it has been
impossible to know which font threw an exception...
2023-11-20 12:03:53 -07:00
Behdad Esfahbod
74fe7791ea [interpolatable] Include cross-product in the wrong_start mix
Reduces false-positives.
2023-11-20 11:56:13 -07:00
Behdad Esfahbod
51e70f9742
[interpolatable] Return master indices in addition to master names (#3346)
[interpolatable] Add master indices to problem reports

More solid than using names to refer back to the master index,
as needed in interpolatablePlot.
2023-11-20 08:59:11 -07:00
Behdad Esfahbod
82f44a6b45 black 2023-11-20 07:38:39 -07:00
Behdad Esfahbod
e1cf7b7ba6 [interpolatable] Improve mixed-error resolution
Test with:

anektamil/AnekTamil\[wdth\,wght\].ttf --glyphs guillemotleft
cairo/cairo/Cairo\[slnt\,wght\].ttf --glyphs threedotsdownbelowar.color0
adventpro/AdventPro-Italic\[wdth\,wght\].ttf --glyphs uni2116
2023-11-20 07:33:27 -07:00
Cosimo Lupo
3c6010b6c1
Bump version: 4.45.0 → 4.45.1.dev0 2023-11-20 13:53:56 +00:00
Cosimo Lupo
512e72c059
Release 4.45.0 2023-11-20 13:53:55 +00:00
Cosimo Lupo
378e2bb536
NEWS.rst: minor formatting 2023-11-20 13:52:53 +00:00
Behdad Esfahbod
56e39bd475 [NEWS] Update for interpolationPlot 2023-11-20 06:51:18 -07:00
Behdad Esfahbod
bdb826fe4d [interpolatablePlot] Ouch; and black 2023-11-20 06:39:47 -07:00
Behdad Esfahbod
6ccf29cb2f [interpolatablePlot] Use internal cairo font face for labels
For more platform-independent PDF output.
2023-11-20 06:38:08 -07:00
Behdad Esfahbod
5fee01c13b [interpolatable] Improve mixed-errors 2023-11-20 06:23:20 -07:00
Cosimo Lupo
638a16ceb8
Merge pull request #3345 from fonttools/recordingPen-draw
[RecordPen] Add draw() and drawPoints() as alias to replay()
2023-11-20 10:14:47 +00:00
Behdad Esfahbod
314cfeb566 [interpolatablePlot] Remove wrong assert 2023-11-19 23:20:17 -07:00
Behdad Esfahbod
2001764096 [interpolatablePlot] Draw multiple errors in the same page 2023-11-19 23:14:30 -07:00
Behdad Esfahbod
ec67af78b9 black 2023-11-19 22:57:12 -07:00
Behdad Esfahbod
47a7088139 [interpolatable] Sort problems by master pairs, not type 2023-11-19 22:56:04 -07:00
Behdad Esfahbod
79b3fcad28 black 2023-11-19 22:39:12 -07:00
Behdad Esfahbod
ffaf57f74a [interpolatablePlot] Show multiple wrong-contour-start in one page 2023-11-19 22:37:59 -07:00
Behdad Esfahbod
dd5f34ef63 [interpolatable] Print master names before differences 2023-11-19 21:55:51 -07:00
Behdad Esfahbod
91ffbfe312 [interpolatablePlot] Fix proposed-fix for reversed contours 2023-11-19 17:55:06 -07:00
Behdad Esfahbod
4d9864beda [interpolatablePlot] Plot fix for wrong_contour_order as well 2023-11-19 17:28:19 -07:00
Behdad Esfahbod
eacb50c57c [interpolatablePlot] Draw fixed results for contour_order 2023-11-19 16:55:18 -07:00
Behdad Esfahbod
e894bd63c6 [interpolatablePlot] Plot midway interpolation of the problem 2023-11-19 16:36:42 -07:00
Behdad Esfahbod
6f69b21cee [interpolatablePlot] Rename variable 2023-11-19 16:07:06 -07:00
Behdad Esfahbod
f3faff7b0d [interpolatable] Comment 2023-11-19 15:09:38 -07:00
Behdad Esfahbod
bb29f43c46 [interpolatable] Minor speed up 2023-11-19 14:34:27 -07:00
Behdad Esfahbod
7c92b75203 [interpolatable] Use StatisticsControlPen as well
We use both StatisticsPen and StatisticsControlPen.
If either produced a perfect matching, we accept it.
Otherwise we use the worst score of the two.

This takes care of Kablammo[MORF].ttf and Nabla[EDPT,EHLT].ttf.

Slows down the tool, but I think it's in the right direction.
Further heuristics can be used.
2023-11-19 14:01:57 -07:00
Behdad Esfahbod
c7694d5877 [statisticsPen] Remove redundant code 2023-11-19 12:31:28 -07:00
Behdad Esfahbod
1e514fce80 [statisticsPen] Handle zero area
This was dropped in the previous commit.
2023-11-19 12:22:40 -07:00
Behdad Esfahbod
4eebdf4f0d [statisticsPen] Add StatisticsControlPen
It uses the control box and discrete statistics instead
of using the Green's theorem.

Works better on contours that have no area.

Surprisingly, this seems to be slower than StatisticsPen.
Perhaps because MomentsPen is Cythonized.
2023-11-19 12:03:23 -07:00
Behdad Esfahbod
21864fc26a [statisticsPen] Another bandaid
Sigh. I'm probably doing something wrong but I don't understand.
2023-11-19 11:09:39 -07:00
Behdad Esfahbod
0d28975708 [statisticsPen] If area=0, use control-box samples
Slower because we have to remember the nodes, but
more accurate.  Particularly useful in varfonts
where they intentionally collapse a contour to
zero area.
2023-11-19 10:58:04 -07:00
Behdad Esfahbod
6e0b9c615f [statisticsPen] Another bandaid :-( 2023-11-19 08:25:32 -07:00