90 Commits

Author SHA1 Message Date
Behdad Esfahbod
93d5e66a6b [interpolatable] Embed <img> for SVG in HTML output
Otherwise the SVG's will refer to the wrong object id's
and show wrong glyphs!
2023-11-16 18:31:56 -07:00
Behdad Esfahbod
b0f6491be1 [interpolatable] Don't draw cupcake if --quiet
Not sure if we should fully skip writing the PDF/HTML in that case.
2023-11-16 18:15:11 -07:00
Behdad Esfahbod
3fd86077e7 [interpolatablePlot] Add --html with SVG output 2023-11-16 17:47:57 -07:00
Behdad Esfahbod
1fb31c2cb8 [interpolatablePlot] Renames 2023-11-16 17:36:37 -07:00
Behdad Esfahbod
991b865968 [interpolatablePdf] Rename to interpolatablePlot.py
On to generating SVG/HTML.
2023-11-16 17:22:26 -07:00
Behdad Esfahbod
ed542a8b18 [interpolatable] Report wrong start point and reversedness 2023-11-16 17:14:39 -07:00
Behdad Esfahbod
9a9499a193 [interpolatablePdf] Draw "other" starting point 2023-11-16 17:09:48 -07:00
Behdad Esfahbod
eb3efe3cdf [interpolatable] Report detected start point and reversedness 2023-11-16 16:50:26 -07:00
Behdad Esfahbod
f521748101 [interpolatable] Improve master names for varfonts 2023-11-16 16:19:52 -07:00
Behdad Esfahbod
fa59ada1b5 [interpolatable] Remove unused imports 2023-11-16 14:35:33 -07:00
Behdad Esfahbod
1f58691b35 [interpolatablePdf] Draw cupcake if no errors
Artwork courtesy of FontBakery.
2023-11-16 14:24:47 -07:00
Behdad Esfahbod
1ea4e32c9c [interpolatable] Reduce non-useful error reports
If contour-order is wrong for a contour, then no point
reporting its starting-point difference.
2023-11-16 12:41:32 -07:00
Behdad Esfahbod
b0de73dd70 [interpolatable] Remove a wrong break
It was making us only report wrong_contour_order for the
first master so.
2023-11-16 11:24:46 -07:00
Behdad Esfahbod
fc0efe566e [interpolatable] Emphasize area more
Also use floats. I can't measure any difference.
2023-11-16 11:09:11 -07:00
Behdad Esfahbod
60aaa35000 [interpolatable] Add --tolerance 2023-11-15 21:11:38 -07:00
Behdad Esfahbod
49893028a0 [interpolatable] Retain area sign
Reduces false-positives. Eg. with NotoSansBengali.glyphs.
2023-11-15 20:26:02 -07:00
Behdad Esfahbod
f9389a8ea9 [interpolatablePdf] Black 2023-11-15 20:02:33 -07:00
Behdad Esfahbod
c0d86edf0c [interpolatable] Start of generating PDF output 2023-11-15 17:16:18 -07:00
Behdad Esfahbod
4a4f1b89d8 [interpolatable] Simplify previous commit 2023-11-14 09:40:37 -07:00
Behdad Esfahbod
1e06fd2b1d [varLib.interpolatable] Print user axis values instead of normalized 2023-11-14 09:33:28 -07:00
Behdad Esfahbod
478e009a4e [interpolatable] Change --verbose to INFO 2023-11-14 08:47:27 -07:00
Behdad Esfahbod
fd4c0cef26 [interpolatable] Add --verbose
Mostly to return how many masters it's working on,
as per request by Marianna.
2023-11-14 08:46:32 -07:00
Behdad Esfahbod
c3d8768346 [interpolatable] Oops, fix tests 2023-10-31 09:00:00 -06:00
Behdad Esfahbod
99da7bf722 [interpolatable] Write out problems as they are discovered
Instead of writing them all at the end...
2023-10-31 08:54:33 -06:00
Behdad Esfahbod
cd31f0ce7b [interpolatable] Add test_gen that returns a generator 2023-10-31 08:45:08 -06:00
Behdad Esfahbod
6f867e9c6a [interpolatable] Use defaultdict instead of OrderedDict
Such that missing entries return [] instead of KeyError.
2023-10-31 08:41:28 -06:00
Behdad Esfahbod
6e1f55b0c8 [varLib.interpolatable] black
Oops.
2023-10-20 16:43:24 -06:00
Behdad Esfahbod
77dea10e5f [varLib.interpolatable] Speed up _rot_list() 2023-10-20 16:03:40 -06:00
Behdad Esfahbod
9ae5918806 [varLib.interpolatable] Help improvement 2023-10-19 09:49:30 -06:00
Behdad Esfahbod
1d0a180b9d [varLib.interpolatable] One other micro-optimization
Residual from 4714c37028f462b29159ef7f7186e51ef68c20e1
2023-10-16 17:53:15 -06:00
Behdad Esfahbod
872ae47536 [varLib.interpolatable] Fix subclass base 2023-10-16 17:00:43 -06:00
Behdad Esfahbod
c306836488 [varLib.interpolatable] Another micro-optimization
Don't know why the previous code was written that way!
2023-10-16 14:55:10 -06:00
Behdad Esfahbod
b3a45f9f79 [varLib.interpolatable] Micro-optimize by reusing a list 2023-10-16 14:37:16 -06:00
Behdad Esfahbod
2a855f8bd6 Revert "[varLib.interpolatable] Cythonize"
This reverts commit 0914c6c0eefb1317aba95779fb469e138b19f365.
2023-10-14 18:58:53 -04:00
Behdad Esfahbod
0914c6c0ee [varLib.interpolatable] Cythonize
Doesn't save much; only 5% in RobotoFlex.  Probably going to revert.
2023-10-14 18:58:49 -04:00
Behdad Esfahbod
b01fbf2785 [varLib.interpolatable] Skip comparing contour orders if only 0 or 1 2023-10-14 17:43:45 -04:00
Behdad Esfahbod
4714c37028 [varLib.interpolatable] Speed up m0idx finding
Don't use list.index() which would compare vectors...
2023-10-14 17:25:52 -04:00
Behdad Esfahbod
d29856b2e4 [varLib.interpolatable] Micro-optimize a check 2023-10-14 17:09:27 -04:00
Behdad Esfahbod
9f42783d6f [varLib.interpolatable] Reduce imports in bipartite-matching
Choose the right implementation upfront
2023-10-14 17:01:08 -04:00
Behdad Esfahbod
54bf9723a8 [varLib.interpolatable] Sort glyphs by glyphname by default 2023-10-12 20:57:28 -04:00
Behdad Esfahbod
ca11333bab [varLib.interpolatable] Close over component glyphs
...when processing variable font.

Continuation of 636295a7ee558c5712a719c632a91d6c65bfc6d8

Part of fixing https://github.com/fonttools/fontbakery/discussions/4301
2023-10-12 20:45:23 -04:00
Behdad Esfahbod
89b6b95ba9 [varLib.interpolatable] Combine vdiff() and vlen()
Faster.
2023-10-12 20:07:57 -04:00
Behdad Esfahbod
5eff55e654 [varLib.interpolatable] Don't iterate over all glyphs if not needed 2023-10-12 19:23:51 -04:00
Behdad Esfahbod
408dea84bc [varLib.interpolatable] Speed up complex_vlen() 2023-10-12 19:15:29 -04:00
Behdad Esfahbod
739868f78e [varLib.interpolatable] Skip "drawing" glyphs with only one master
Speeds up Handjet another 10x.

Part of fixing https://github.com/fonttools/fontbakery/discussions/4301
2023-10-12 18:49:58 -04:00
Behdad Esfahbod
636295a7ee [varLib.interpolatable] Speed up working on variable fonts
Only check each glyph at its own "master" locations instead of at
all master locations across the font.

Incomplete.

Fixes https://github.com/fonttools/fontbakery/discussions/4301
2023-10-12 16:03:22 -06:00
Behdad Esfahbod
46086cdb66 [interpolatable] Add --glyphs 2023-06-27 16:59:05 -06:00
Behdad Esfahbod
b5899772c7 [interpolatable] Use math.sqrt() 2023-04-22 14:10:11 -06:00
Colin M. Ford
edc3584d5b
Using set comprehension
Suggestion by anthrotype

Co-authored-by: Cosimo Lupo <cosimo@anthrotype.com>
2023-04-06 10:34:48 -04:00
Colin M. Ford
9656e3faf1 formatting with black to get lint to pass 2023-04-05 22:33:38 -04:00