Options

Variable Font Validation

Is there a validator tool?

Obviously overlaps are ok, but do winding directions make a difference in variable fonts? I ask because I believe that flipped composites are ok. (?)

Comments

  • Options
    Adam JagoszAdam Jagosz Posts: 689
    edited December 2019
    I wanted to ask the same question. So I assume it is safer to care about winding directions? Is there a reasonable way to test for them in FontLab 7? (FontAudit doesn't include it, since it's supposed to be fixed upon export, but variable fonts seemingly can't be manipulated with predictable results this way). I tried scripting, but the function I tried to use doesn't work:
    <div>from FL import *;<br>f = fl.font;<br>for g in f.glyphs:<br>&nbsp; n = g.GetContoursNumber();<br>&nbsp; for i in range(0,n):<br>&nbsp;&nbsp;&nbsp; cc = g.isContourClockwise(i);<br>&nbsp;&nbsp;&nbsp; print g.name;<br>&nbsp;&nbsp;&nbsp; print cc; # returns None for all glyphs, instead of a boolean<br>&nbsp;&nbsp;&nbsp; if cc:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print g.name + "has counter-clockwise contour " + str(i);<br></div>
  • Options
    @Adam Jagosz
    import fontlab as fl
    
    
    for glyph in (fl.flGlyph(glyph) for glyph in fl.CurrentFont().glyphs):
        if glyph.activeLayer.getContours():
            print(
                "{}: {}".format(
                    glyph.name,
                    [
                        contour.clockwise
                        for contour in glyph.activeLayer.getContours()
                    ],
                )
            )
    


  • Options
    Dave CrosslandDave Crossland Posts: 1,391
    edited December 2019
    Contributors to the FontBakery project are developing a set of checks for variable fonts. You are welcome to contribute ideas or code!

    GitHub.com/googlefonts/FontBakery
Sign In or Register to comment.