microsoft / Font-Validator

Font Validator is a tool for testing fonts prior to release. This testing ensures that fonts meet Microsoft's high quality standards and perform exceptionally well on Microsoft's platform.
Other
117 stars 41 forks source link

Skip overlapping contour check for variable fonts #65

Open HinTak opened 5 years ago

HinTak commented 5 years ago

Copied comment from https://github.com/googlefonts/fontbakery/commit/c02825bf24ef9aec73b03dfcdd4be95e5fbaf5c7

This was discussed in #2056 with @madig already. The correct way to approach this issue is to switch off those checks and not do them for variable fonts. Doing the checks then throw them away, is wasting CPU cycles. Not doing the tests also run faster and a better experience for the users. The correct way to switch it off is to put that logic in Fontval to detect variable fonts. There is already examples of such code usage in the ELDC/EBDC table checks where decisions are made based on the presence or absence of another table.

@madig @davelab6 cc

thundernixon commented 5 years ago

When I run a FontBakery test on a font I'm mastering, I get several errors that I am confused by, and which I can't find documentation for:

  • :information_source: INFO MS-FonVal: Unable to perform test due to previously detected errors DETAILS:
    • Glyph index 1 Test: ValidateSimpContMisor
    • Glyph index 10 Test: ValidateSimpContMisor
    • Glyph index 26 Test: ValidateSimpContMisor
    • Glyph index 38 Test: ValidateSimpContMisor
    • Glyph index 44 Test: ValidateSimpContMisor
    • Glyph index 69 Test: ValidateSimpContMisor
    • Glyph index 76 Test: ValidateSimpContMisor
    • Glyph index 91 Test: ValidateSimpContMisor
    • Glyph index 105 Test: ValidateSimpContMisor
    • Glyph index 107 Test: ValidateSimpContMisor
    • NOTE: 37 other similar results were hidden!

The naming of this error (and what I can understand in the fontval code) indicates that the message is about Contour Misorientation. However, the glyphs listed have similar contour directions to other glyphs.

However, each of the glyphs listed here has overlaps, while those excluded tend to be individual shapes. Is it safe to assume that this stems from the same issue, or is this something separate?

If helpful, here's the font triggering this check, the TTX xml, and the Font Bakery report: https://github.com/thundernixon/Libre-Caslon/tree/2622969efd19f148fa17536345b085441fb723c9/dist/2018-11-07-15_29

HinTak commented 5 years ago

I don't know - I think you should run FontVal bare and read the report. At least messages are in the right order. I am not sure whether test cannot continue because of contour mis-orientation, or that the mis-orientation test was not performed because of previous (other) problems. I do not want to look at FB code to find out.

I'll have a look at the font itself at some point in time, but not right away.

thundernixon commented 5 years ago

Thanks for your comments and the recommendation, @HinTak. I ran it in the Mac GUI from Georg Seifert, and found that some of the outlines did have incorrect path directions.

Once I fixed that, it appeared that anything with overlap triggered this error/info combo:

| E1111 | Intersecting contours |
| I1111 | Unable to perform test due to previously detected errors |

image

So, I just wanted to report this as something else that probably could be upgraded when Variable Font updates are supported.

HinTak commented 5 years ago

Thanks for the investigation. Yes, I filed this issue because overlapping contours are common/expected of variable fonts. I'll get to it one day, when I finish the other more urgent/important issues (like getting building with visual studio to work again, after Microsoft removed it at the beginning...)