QA-notes.md 7.7 KB

QA Notes – checking & polishing Fira Code for Google Fonts

  • autohint static TTFs
  • check extrapolated outlines for issues

Checks to resolve

======================================================================================

Waiting on others

πŸ”₯ FAIL: Copyright notices match canonical pattern in fonts * [com.google.fonts/check/font_copyright](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/font_copyright) * πŸ”₯ **FAIL** Name Table entry: Copyright notices should match a pattern similar to: 'Copyright 2017 The Familyname Project Authors (git url)' But instead we have got: 'Copyright 2012-2015 The Mozilla Foundation, Telefonica S.A., and Nikita Prokopov (https://github.com/tonsky/FiraCode)'

[119] FiraCode-Light.ttf
πŸ”₯ FAIL: Checking file is named canonically. * [com.google.fonts/check/canonical_filename](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/canonical_filename) * πŸ”₯ **FAIL** This is a variable font, but it is using a naming scheme typical of a static font. * πŸ”₯ **FAIL** Please change the font filename to use one of the following valid suffixes for variable fonts: VF, Italic-VF, Roman-VF
  • ask if/when this is changing (via hangouts) – Marc: "We’ll batch the vfs once they’ve implemented it"

======================================================================================

Edits and corrected FontBakery checks

⚠ WARN: Stricter unitsPerEm criteria for Google Fonts. * [com.google.fonts/check/unitsperem_strict](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/unitsperem_strict) * ⚠ **WARN** Even though unitsPerEm (1000) in this font is reasonable. It is strongly advised to consider changing it to 2000, since it will likely improve the quality of Variable Fonts by avoiding excessive rounding of coordinates on interpolations.
  • scale UPM to 2000

πŸ”₯ FAIL: Are there non-ASCII characters in ASCII-only NAME table entries? * [com.google.fonts/check/name/ascii_only_entries](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/name/ascii_only_entries) * πŸ”₯ **FAIL** There are 1 strings containing non-ASCII characters in the ASCII-only NAME table entries. * β„Ή **INFO** Bad string at [nameID 0, 'utf_16_be']: 'b'Copyright Β© 2015 by Nikita Prokopov''
  • remove Β© symbol

[31] Family checks
πŸ”₯ FAIL: METADATA.pb: According Google Fonts standards, families should have a Regular style. * [com.google.fonts/check/metadata/has_regular](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/metadata/has_regular) * πŸ”₯ **FAIL** This family lacks a Regular (style: normal and weight: 400) as required by Google Fonts standards.

πŸ”₯ FAIL: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/family/win_ascent_and_descent](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/family/win_ascent_and_descent) * πŸ”₯ **FAIL** OS/2.usWinAscent value should be equal or greater than 1050, but got 935 instead [code: ascent] * πŸ”₯ **FAIL** OS/2.usWinDescent value should be equal or greater than 500, but got 265 instead [code: descent]

πŸ”₯ FAIL: Glyph names are all valid? * [com.google.fonts/check/valid_glyphnames](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/valid_glyphnames) * πŸ”₯ **FAIL** The following glyph names do not comply with naming conventions: ['numbersign_numbersign_numbersign.liga', 'numbersign_numbersign_numbersign_numbersign.liga', 'numbersign_underscore_parenleft.liga', 'backslash_backslash_backslash.rem', 'numbersign_numbersign_numbersign.liga.rem', 'numbersign_numbersign_numbersign_numbersign.liga.rem', 'semicolon_semicolon_semicolon.rem', 'quadrantUpperLeftAndLowerLeftAndLowerRight', 'quadrantUpperLeftAndUpperRightAndLowerLeft', 'quadrantUpperLeftAndUpperRightAndLowerRight', 'quadrantUpperRightAndLowerLeftAndLowerRight', 'whiteSquareWithUpperLeftQuadrant', 'whiteSquareWithLowerLeftQuadrant', 'whiteSquareWithLowerRightQuadrant', 'whiteSquareWithUpperRightQuadrant', 'asciitilde_asciitilde_greater.liga', 'ampersand_ampersand_ampersand.rem', 'asciitilde_asciitilde_asciitilde.rem'] A glyph name may be up to 31 characters in length, must be entirely comprised of characters from the following set: A-Z a-z 0-9 .(period) _(underscore). and must not start with a digit or period. There are a few exceptions such as the special character ".notdef". The glyph names "twocents", "a1", and "_" are all valid, while "2cents" and ".twocents" are not.

πŸ”₯ FAIL: Variable font weight coordinates must be multiples of 100. * [com.google.fonts/check/varfont_weight_instances](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/varfont_weight_instances) * πŸ”₯ **FAIL** Found an variable font instance with 'wght'=450.0. This should instead be a multiple of 100.
  • (fontmake also started to fail, as "Retina" instance was given a custom param of weightClass: 900)

  • [x] uncheck "Retina" instance as is active instance

  • [x] file issue with FontBakery to ask Dave/Marc about this 450 weight "Retina" instance (https://github.com/googlefonts/fontbakery/issues/2420)-

  • [x] change if you find a better approach to keep Retina without disrupting builds / Regular weight

    • To set up the instance in GlyphsApp such that it exports a font as expected: "Retina" gets a custom parameter of weightClass: 450, and a glyphs menu-weight of "Normal." Tested in axis-praxis, it seems to work well. All instances have a weightClass custom parameter.

πŸ”₯ FAIL: Checking OS/2 usWeightClass. * [com.google.fonts/check/usweightclass](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/usweightclass) * πŸ”₯ **FAIL** OS/2 usWeightClass expected value for 'Light' is 300 but this font has 400.
  • explore to find why this would be happening ...
    • Encode Sans gets an OS/2 usWeightClass of 100, matching its default instance.

Solution