recursive icon indicating copy to clipboard operation
recursive copied to clipboard

Interpolation problems in `Recursive[CASL,CRSV,MONO,slnt,wght].ttf`

Open behdad opened this issue 2 years ago • 19 comments

Hello!

This is an automatically-generated report about possible interpolation problems in Recursive[CASL,CRSV,MONO,slnt,wght].ttf, as found in the Google Fonts catalog.

The particular version of the font that was tested was archive:.

To download a PDF version of this report with helpful visuals of the problems, click here; Or to view it on the GitHub website, click here.

The report follows:

Glyph horncombo was not compatible:
  Masters: '', 'CASL=1.0':
    Contour 0 start point differs: 0 in '', 48 in 'CASL=1.0'; reversed: False
Glyph one was not compatible:
  Masters: '', 'CASL=1.0':
    Contour 1 start point differs: 0 in '', 2 in 'CASL=1.0'; reversed: False
Glyph one.pnum was not compatible:
  Masters: '', 'CASL=1.0':
    Contour 1 start point differs: 0 in '', 2 in 'CASL=1.0'; reversed: False
Glyph percent was not compatible:
  Masters: 'wght=800.0061', 'wght=1000.0':
    Contour 1 structures differ: 'wght=800.0061', 'wght=1000.0'
  Masters: 'slnt=-14.0497 wght=800.0061', 'slnt=-14.0497 wght=1000.0':
    Contour 1 structures differ: 'slnt=-14.0497 wght=800.0061', 'slnt=-14.0497 wght=1000.0'
    Contour 3 structures differ: 'slnt=-14.0497 wght=800.0061', 'slnt=-14.0497 wght=1000.0'
Glyph perthousand was not compatible:
  Masters: 'wght=800.0061', 'wght=1000.0':
    Contour 2 start point differs: 0 in 'wght=800.0061', 25 in 'wght=1000.0'; reversed: True
    Contour 4 start point differs: 0 in 'wght=800.0061', 25 in 'wght=1000.0'; reversed: True
    Contour 6 start point differs: 0 in 'wght=800.0061', 25 in 'wght=1000.0'; reversed: True
  Masters: 'slnt=-14.0497 wght=800.0061', 'slnt=-14.0497 wght=1000.0':
    Contour 2 start point differs: 0 in 'slnt=-14.0497 wght=800.0061', 25 in 'slnt=-14.0497 wght=1000.0'; reversed: True
    Contour 4 start point differs: 0 in 'slnt=-14.0497 wght=800.0061', 25 in 'slnt=-14.0497 wght=1000.0'; reversed: True
    Contour 6 start point differs: 0 in 'slnt=-14.0497 wght=800.0061', 25 in 'slnt=-14.0497 wght=1000.0'; reversed: True
Glyph uni031B was not compatible:
  Masters: '', 'CASL=1.0':
    Contour 0 start point differs: 0 in '', 42 in 'CASL=1.0'; reversed: False

This report was generated using the fonttools varLib.interpolatable tool. We understand that sometimes the tool generates false-positives. Particularly for more complicated font designs. If you did not find this report useful, please apologize and ignore & close it.

To give feedback about this report, please file an issue or open a discussion at fonttools.

behdad avatar Nov 23 '23 01:11 behdad

Hey Behdad, this is a super cool report! At least in the PDF visuals, the suggested fixes all appear to be worse than the midway interpolations. But, Recursive is definitely a complex designspace with some unusual interpolations, so it's understandable that an automated tool might misinterpret a few of parts of it.

I'll close this issue, but please feel free to let me know if there's anything you think I might be missing.

Thanks!

arrowtype avatar Nov 23 '23 02:11 arrowtype

Yeah the tool cannot always propose good solution. But the first glyph seems to have kinks in that are probably unintended.

behdad avatar Nov 23 '23 02:11 behdad

Oh, upon second look, you are correct! Thanks for pointing that out.

arrowtype avatar Nov 23 '23 02:11 arrowtype

Hi again,

I'm implementing a kink-detector. It's still far from complete. But I thought I get your feedback on it.

out.pdf

behdad avatar Nov 25 '23 19:11 behdad

I think my question is, is this useful? Or those differences are small enough to let go? Basically, I'm trying to calibrate the tool.

behdad avatar Nov 25 '23 19:11 behdad

Ooh, yes, this is amazing! Definitely a useful thing to find issues that were hard to locate, before. I especially want to try this out on Shantell Sans, next.

arrowtype avatar Nov 25 '23 20:11 arrowtype

Some of the differences here are small enough to let go of, IMO. In particular, the /percent glyph is deliberately weird, and I don't see any super noticeable issues in the /one. But, seeing the issues in the the /Euro and /uni02C8 is very informative, and those are things I'd like to improve.

arrowtype avatar Nov 25 '23 20:11 arrowtype

Here's a much more aggressive version. I'm still tuning. :)

out.pdf

behdad avatar Nov 25 '23 20:11 behdad

Retweaked. Shantell Sans. Catches one that doesn't matter.

out.pdf

behdad avatar Nov 25 '23 20:11 behdad

These are great! The more aggressive version is nice, imo. Does the command line version have an arg for threshold?

arrowtype avatar Nov 25 '23 20:11 arrowtype

These are great! The more aggressive version is nice, imo.

Interesting. I thought it would be too busy. I'm still tweaking.

Does the command line version have an arg for threshold?

It will have, when I'm done with it.

behdad avatar Nov 25 '23 20:11 behdad

Does the command line version have an arg for threshold?

It will have, when I'm done with it.

For now I'm reusing the existing --tolerance. But I'll probably add a separate knob for just the kink checker as well.

behdad avatar Nov 25 '23 21:11 behdad

Here's what I'm happy with as default tolerance.

out.pdf

behdad avatar Nov 25 '23 21:11 behdad

I settled on this for default, for now. There's --kinkiness parameter you can tweak. Might tweak the defaults again. Your thoughts?

out.pdf

behdad avatar Nov 26 '23 00:11 behdad

That was way too much subtle details for the catalog. I'm trying this setting now.

out.pdf

You can still get the aggressive result if you want by setting --kinkiness to 1 or above. It defaults to .5 now.

behdad avatar Nov 26 '23 00:11 behdad

How about this as default?

out.pdf

behdad avatar Nov 26 '23 05:11 behdad

I made the default conservative, as across the catalog it was overwhelming the reports...

behdad avatar Nov 26 '23 21:11 behdad

Here's what the current output looks like. out.pdf

behdad avatar Nov 27 '23 20:11 behdad

Hey, this output is super helpful! Thanks again for the excellent testing tool. I’ll try to fix these kinks in the coming weeks, and make a new release early in the new year.

arrowtype avatar Dec 09 '23 01:12 arrowtype