fonttools / fontbakery

🧁 A font quality assurance tool for everyone
https://fontbakery.readthedocs.io
Apache License 2.0
550 stars 102 forks source link

Check common kerns are present #2739

Open davelab6 opened 4 years ago

davelab6 commented 4 years ago

https://github.com/andre-fuchs/kerning-pairs can be used to check fonts have the most common kerns, and warn if not

bobh0303 commented 4 years ago

for Latin script.

davelab6 commented 4 years ago

@vv-monsalve please can you share a list/spreadsheet with the absolutely most important kern pairs?

felipesanches commented 4 years ago

This font family may be useful for testing the proposed new check: https://github.com/google/fonts/issues/1690

davelab6 commented 4 years ago

https://twitter.com/Tosche_E/status/1282309946462306304?s=19

There are a lot of kerning pairs which seem illogical at first, and some prescriptivist designers will say "should not be kerned", but get used in the real world with disappointing results

bobh0303 commented 4 years ago

And can you please skip this test for fonts are targeted at non-latin scripts but which include Latin-1 as a user convenience (so things like system menus work).

m4rc1e commented 4 years ago

Perhaps throwing a font at a list of kerning pairs is too simplistic? I've found serif and sans will often require different pairs. Many false positives will also be raised for display families.

If we do implement this check, can it raise a WARN instead of a FAIL?

felipesanches commented 4 years ago

yeah, I think we can start at WARN level and only consider bumping it up to FAIL level after we feel confident about the quality of the results on font files in the wild

felipesanches commented 4 years ago

https://twitter.com/Tosche_E/status/1282309946462306304?s=19

Toshi's tweet is very funny, but my wife last dinner said I'm way too geek to laugh at this kind of stuff :-P

vv-monsalve commented 4 years ago

@vv-monsalve please can you share a list/spreadsheet with the absolutely most important kern pairs?

Sure, I'll create one while working on Big Shoulders (haven't saw your message before).

If we do implement this check, can it raise a WARN instead of a FAIL?

I agree some of them could depend on many factors. Nevertheless, there would be universal cases like Vo Wo To AV, not so dependant on discretional factors, that is really painful to found in any scenario.

Maybe the check could inspect if there is a kerning value for the desired list we built, and the output rationale for the Warn could suggest paying attention to them.

At the same time, I've been wondering what about cases where there is a value but it's exaggerated or shouldn't be needed for a certain par.

Screen Shot 2020-07-13 at 12 39 52

davelab6 commented 4 years ago

https://twitter.com/typegirl/status/1294431710931587075?s=19

Here's a kern pair that needs adding to your lists. The period [.] followed by any superscripted figures.

vv-monsalve commented 3 years ago

I agree some of them could depend on many factors. Nevertheless, there would be universal cases like Vo Wo To AV, not so dependant on discretional factors, that is really painful to found in any scenario.

I've created and debugged four first lists with the minimum (the musts) kerning pairs that should be covered for a Latin font.

The lists only display the actual pair of letter-letter or letter-punctuation mark and no sample texts given they were thought as sources for a new Fontbakery check.

The lists were pushed to my fork of gf-docs. Despite having checked them a couple of times to leave there the ones the more universal that are not related to specific cases (design particularities), I consider the files a WIP, as new pairs needed could be found. Suggestions are more than welcome.

yanone commented 3 years ago

This list is indeed very extensive.

+1 for raising WARNs, but I do feel that FAILs are needed for some very important pairs, especially uppercase TAT, YAY, WAW, VAV, LT, LV, LW, LY for example. These should work for almost every design. We already ignore some false positives for FAILs sometimes when necessary, and this should be one of them.

Very early in my work for GF I pushed some unimportant fonts with these pairs missing and I felt very shitty about it but was overwhelmed by the work at the time. A straight FAIL in my face would have helped me.

RosaWagner commented 3 years ago

I find the lists useful in the gfdocs as helpers to designers. Although I wouldn't make a fontbakery check out of it for several reasons. FB is QA tool for production: while we can find way to measure the quality of production, it is difficult to evaluate good design, and kerning is about good design. I am afraid if we have a warning with an extensive list of kerning pairs, it will end up ignored everytime like the "missing kerning for non-ligated sequences"…

We talked about it with Vivi and arrived to this conclusion:

davelab6 commented 3 years ago

I'm happy with that proposal @RosaWagner

I agree with @bobh0303 - I propose the check logic should downgrade from FAIIL to WARN if a non-latin glyph set is included and the number of Latin glyphs is under 250