171 Commits

Author SHA1 Message Date
Behdad Esfahbod
cc77673eed [interpolatable] Adaptive weights
Seems to reduce false-negatives in RobotoSerif-Italic.
2023-11-24 12:25:31 -07:00
Behdad Esfahbod
077ad09108 [interpolatable] black friday! 2023-11-24 11:44:28 -07:00
Behdad Esfahbod
b6c795cfea [interpolatable] Some more improvements
Specially about reported tolerance. Report the original
tolerance.
2023-11-24 11:37:20 -07:00
Behdad Esfahbod
f99774acf0 [interpolatable] Another fixup 2023-11-24 00:16:22 -07:00
Behdad Esfahbod
25704bfe00 [interpolatable] Centralize DEFAULT_TOLERANCE 2023-11-23 23:42:41 -07:00
Behdad Esfahbod
18dcfb6593 [interpolatable] Black 2023-11-23 23:30:33 -07:00
Behdad Esfahbod
1be97cdc17 [interpolatable] Another tweak
Resuls are mostly positivel
2023-11-23 23:23:19 -07:00
Behdad Esfahbod
a0941efecb [interpolatable] Report tolerance 2023-11-23 22:01:14 -07:00
Behdad Esfahbod
8019c7ba0a [interpolatable] Fix thinko 2023-11-23 20:58:50 -07:00
Behdad Esfahbod
22de9ef3d8 [interpolatable] Try harder matching contours
This improves a bunch of .notdef glyphs.
Only adverse effect is in AdventPro's --glyphs uni2116
2023-11-23 09:21:40 -07:00
Behdad Esfahbod
4591e255d2 [interpolatable] Fixup 2023-11-23 08:52:19 -07:00
Behdad Esfahbod
0c660e31f2 [interpolatable] Refactor some code 2023-11-23 08:50:52 -07:00
Behdad Esfahbod
cfdbe69b4a [interpolatablePlot] Add a title page 2023-11-23 08:04:31 -07:00
Behdad Esfahbod
b30da672f0 Revert "[interpolatable] Use absolute sqrt area, not signed"
This reverts commit 772d1f8c7895f9b8844264488bd2b542c4391022.

The new false-positives were not worth it. It degrades
the suggested fix for some fonts, but at least they are
not false-positives.
2023-11-22 19:34:32 -07:00
Behdad Esfahbod
a72139f354 [interpolatable] Minor, remove a pair of unnecessary parentheses 2023-11-22 15:28:55 -07:00
Behdad Esfahbod
772d1f8c78 [interpolatable] Use absolute sqrt area, not signed
Results are improved. Two regressions only:
- Piazzolla uni046B
- Cairo oslash
2023-11-22 10:02:59 -07:00
Behdad Esfahbod
1cd954d0ff [interpolatable] Tweak magic number
This removes a lot of false positives, and only seems
to introduce a few false positives for Handjet and Caveat.
2023-11-22 07:48:31 -07:00
Behdad Esfahbod
e8d212609f [interpolatable] More work and less play
Reduces false-positives more than it introduces.
2023-11-21 16:39:29 -07:00
Behdad Esfahbod
3465666edf [interpolatable] Comment 2023-11-21 14:54:34 -07:00
Behdad Esfahbod
377bb5a34b [interpolatable] Comment 2023-11-21 14:03:45 -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
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
Behdad Esfahbod
5fee01c13b [interpolatable] Improve mixed-errors 2023-11-20 06:23:20 -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
dd5f34ef63 [interpolatable] Print master names before differences 2023-11-19 21:55:51 -07:00
Behdad Esfahbod
4d9864beda [interpolatablePlot] Plot fix for wrong_contour_order as well 2023-11-19 17:28:19 -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
c96b56d3de [interpolatablePlot] Draw suggested start point on the second graph 2023-11-19 07:54:14 -07:00
Behdad Esfahbod
e023a9c261 Black 2023-11-18 17:05:57 -07:00
Behdad Esfahbod
eddcb1ff52 [interpolatable] Fix drawing of reversed contour point start 2023-11-18 16:50:50 -07:00
Behdad Esfahbod
b57150b12f [interpolatable] Whitespace 2023-11-18 16:50:50 -07:00