thundernixon / Playfair-Display

Playfair Display is an Open Source typeface family for display and titling use.
SIL Open Font License 1.1
0 stars 0 forks source link

Font Bakery testing for Playfair 2 Italic #3

Open thundernixon opened 6 years ago

thundernixon commented 6 years ago

Fontbakery report

[22] Family checks
:fire: FAIL: Check font has a license. * [com.google.fonts/check/028](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/028) * :fire: **FAIL** No license file was found. Please add an OFL.txt or a LICENSE.txt file. If you are running fontbakery on a Google Fonts upstream repo, which is fine, just make sure there is a temporary license file in the same folder. [code: none]
:bread: PASS: Checking all files are in the same directory. * [com.google.fonts/check/002](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/002) * :bread: **PASS** All files are in the same directory.
:bread: PASS: Fonts have equal unicode encodings? * [com.google.fonts/check/013](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/013) * :bread: **PASS** Fonts have equal unicode encodings.
:bread: PASS: Make sure all font files have the same version value. * [com.google.fonts/check/014](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/014) * :bread: **PASS** All font files have the same version.
:bread: PASS: Fonts have consistent PANOSE proportion? * [com.google.fonts/check/009](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/009) * :bread: **PASS** Fonts have consistent PANOSE proportion.
:bread: PASS: Fonts have consistent PANOSE family type? * [com.google.fonts/check/010](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/010) * :bread: **PASS** Fonts have consistent PANOSE family type.
:bread: PASS: Fonts have consistent underline thickness? * [com.google.fonts/check/008](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/008) * :bread: **PASS** Fonts have consistent underline thickness.
:zzz: SKIP: Does DESCRIPTION file contain broken links? * [com.google.fonts/check/003](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/003) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Is this a proper HTML snippet? * [com.google.fonts/check/004](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/004) * :zzz: **SKIP** Unfulfilled Conditions: descfile
:zzz: SKIP: DESCRIPTION.en_us.html must have more than 200 bytes. * [com.google.fonts/check/005](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/005) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: DESCRIPTION.en_us.html must have less than 1000 bytes. * [com.google.fonts/check/006](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/006) * :zzz: **SKIP** Unfulfilled Conditions: description
:zzz: SKIP: Font designer field in METADATA.pb must not be 'unknown'. * [com.google.fonts/check/007](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/007) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Fontfamily is listed on Google Fonts API? * [com.google.fonts/check/081](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/081) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only has unique "full_name" values. * [com.google.fonts/check/083](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/083) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: check if fonts field only contains unique style:weight pairs. * [com.google.fonts/check/084](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/084) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb license is "APACHE2", "UFL" or "OFL"? * [com.google.fonts/check/085](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/085) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb should contain at least "menu" and "latin" subsets. * [com.google.fonts/check/086](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/086) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb subsets should be alphabetically ordered. * [com.google.fonts/check/087](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/087) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Copyright notice is the same in all fonts? * [com.google.fonts/check/088](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/088) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: Check that METADATA.pb family values are all the same. * [com.google.fonts/check/089](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/089) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: According Google Fonts standards, families should have a Regular style. * [com.google.fonts/check/090](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/090) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata
:zzz: SKIP: METADATA.pb: Regular should be 400. * [com.google.fonts/check/091](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/091) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, has_regular_style

[111] PlayfairItalic-VF.ttf
:broken_heart: ERROR: Checking with Microsoft Font Validator. * [com.google.fonts/check/037](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/037) * :broken_heart: **ERROR** Mono runtime and/or Microsoft Font Validator are not available! * :broken_heart: **ERROR** Failed with FileNotFoundError: [Errno 2] No such file or directory: 'FontValidator.exe': 'FontValidator.exe'
:fire: FAIL: Font has ttfautohint params? * [com.google.fonts/check/has_ttfautohint_params](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/has_ttfautohint_params) * :fire: **FAIL** Font is lacking ttfautohint params on its version strings on the name table.
:fire: FAIL: Is 'gasp' table set to optimize rendering? * [com.google.fonts/check/062](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/062) * :fire: **FAIL** Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
:fire: FAIL: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/040](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/040) * :fire: **FAIL** OS/2.usWinAscent value should be equal or greater than 1153, but got 1072 instead [code: ascent]
:fire: FAIL: Font enables smart dropout control in "prep" table instructions? * [com.google.fonts/check/072](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/072) * :fire: **FAIL** 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the `gftools fix-nonhinting` script.
:fire: FAIL: Glyph names are all valid? * [com.google.fonts/check/058](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/058) * :fire: **FAIL** The following glyph names do not comply with naming conventions: ['A-cy', 'Be-cy', 'Ve-cy', 'Ge-cy', 'Gje-cy', 'Gheupturn-cy', 'De-cy', 'Ie-cy', 'Iegrave-cy', 'Io-cy', 'Zhe-cy', 'Ze-cy', 'Ii-cy', 'Iishort-cy', 'Iigrave-cy', 'Ka-cy', 'Kje-cy', 'El-cy', 'Em-cy', 'En-cy', 'O-cy', 'Pe-cy', 'Er-cy', 'Es-cy', 'Te-cy', 'U-cy', 'Ushort-cy', 'Ef-cy', 'Ha-cy', 'Che-cy', 'Tse-cy', 'Sha-cy', 'Shcha-cy', 'Dzhe-cy', 'Softsign-cy', 'Hardsign-cy', 'Yeru-cy', 'Lje-cy', 'Nje-cy', 'Dze-cy', 'E-cy', 'Ereversed-cy', 'I-cy', 'Yi-cy', 'Je-cy', 'Tshe-cy', 'Iu-cy', 'Ia-cy', 'Dje-cy', 'Yat-cy', 'Yusbig-cy', 'Ghestroke-cy', 'Zhedescender-cy', 'Kadescender-cy', 'Endescender-cy', 'Ustrait-cy', 'Ustraitstroke-cy', 'Shha-cy', 'Entail-cy', 'Schwa-cy', 'Obarred-cy', 'a-cy', 'be-cy', 've-cy', 'ge-cy', 'gje-cy', 'gheupturn-cy', 'de-cy', 'ie-cy', 'iegrave-cy', 'io-cy', 'zhe-cy', 'ze-cy', 'ii-cy', 'iishort-cy', 'iigrave-cy', 'ka-cy', 'kje-cy', 'el-cy', 'em-cy', 'en-cy', 'o-cy', 'pe-cy', 'er-cy', 'es-cy', 'te-cy', 'u-cy', 'ushort-cy', 'ef-cy', 'ha-cy', 'che-cy', 'tse-cy', 'sha-cy', 'shcha-cy', 'dzhe-cy', 'softsign-cy', 'hardsign-cy', 'yeru-cy', 'lje-cy', 'nje-cy', 'dze-cy', 'e-cy', 'ereversed-cy', 'i-cy', 'yi-cy', 'je-cy', 'tshe-cy', 'iu-cy', 'ia-cy', 'dje-cy', 'yat-cy', 'yusbig-cy', 'ghestroke-cy', 'zhedescender-cy', 'kadescender-cy', 'endescender-cy', 'ustrait-cy', 'ustraitstroke-cy', 'shha-cy', 'entail-cy', 'schwa-cy', 'obarred-cy', 'be-cy.srb', 'a-cy.smcp', 'be-cy.smcp', 've-cy.smcp', 'ge-cy.smcp', 'gje-cy.smcp', 'gheupturn-cy.smcp', 'de-cy.smcp', 'ie-cy.smcp', 'iegrave-cy.smcp', 'io-cy.smcp', 'zhe-cy.smcp', 'ze-cy.smcp', 'ii-cy.smcp', 'iishort-cy.smcp', 'iigrave-cy.smcp', 'ka-cy.smcp', 'kje-cy.smcp', 'el-cy.smcp', 'em-cy.smcp', 'en-cy.smcp', 'o-cy.smcp', 'pe-cy.smcp', 'er-cy.smcp', 'es-cy.smcp', 'te-cy.smcp', 'u-cy.smcp', 'ushort-cy.smcp', 'ef-cy.smcp', 'ha-cy.smcp', 'che-cy.smcp', 'tse-cy.smcp', 'sha-cy.smcp', 'shcha-cy.smcp', 'dzhe-cy.smcp', 'softsign-cy.smcp', 'hardsign-cy.smcp', 'yeru-cy.smcp', 'lje-cy.smcp', 'nje-cy.smcp', 'dze-cy.smcp', 'e-cy.smcp', 'ereversed-cy.smcp', 'i-cy.smcp', 'yi-cy.smcp', 'je-cy.smcp', 'tshe-cy.smcp', 'iu-cy.smcp', 'ia-cy.smcp', 'dje-cy.smcp', 'yat-cy.smcp', 'yusbig-cy.smcp', 'ghestroke-cy.smcp', 'zhedescender-cy.smcp', 'kadescender-cy.smcp', 'endescender-cy.smcp', 'ustrait-cy.smcp', 'ustraitstroke-cy.smcp', 'shha-cy.smcp', 'entail-cy.smcp', 'schwa-cy.smcp', 'obarred-cy.smcp', 'breve-cy', 'breve-cy.case', 'breve-cy.smcp'] 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.
:fire: FAIL: Checking unitsPerEm value is reasonable. * [com.google.fonts/check/043](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/043) * :fire: **FAIL** The value of unitsPerEm at the head table must be either 1000 or a power of 2 between 16 to 16384. Got '1240' instead.
:fire: FAIL: Does the font have a DSIG table? * [com.google.fonts/check/045](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/045) * :fire: **FAIL** This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly.
:warning: WARN: Checking OS/2 achVendID. * [com.google.fonts/check/018](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/018) * :warning: **WARN** OS/2 VendorID value 'FTH' is not a known registered id. You should set it to your own 4 character code, and register that code with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]
:warning: WARN: Is font em size (ideally) equal to 1000? * [com.google.fonts/check/116](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/116) * :warning: **WARN** Font em size (1240) is not equal to 1000.
:warning: WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/153](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/153) * :warning: **WARN** This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct. The following glyphs do not have the recommended number of contours: Glyph name: numbersign Contours detected: 4 Expected: 2 Glyph name: asterisk Contours detected: 6 Expected: 1 or 4 Glyph name: eight Contours detected: 1 Expected: 3 Glyph name: E Contours detected: 3 Expected: 1 Glyph name: F Contours detected: 3 Expected: 1 Glyph name: H Contours detected: 3 Expected: 1 Glyph name: J Contours detected: 2 Expected: 1 Glyph name: K Contours detected: 4 Expected: 1 or 2 Glyph name: N Contours detected: 3 Expected: 1 Glyph name: Q Contours detected: 1 Expected: 2 Glyph name: T Contours detected: 2 Expected: 1 Glyph name: X Contours detected: 3 Expected: 1 Glyph name: Y Contours detected: 2 Expected: 1 Glyph name: Z Contours detected: 2 Expected: 1 Glyph name: e Contours detected: 1 Expected: 2 Glyph name: f Contours detected: 2 Expected: 1 Glyph name: g Contours detected: 4 Expected: 2 or 3 Glyph name: h Contours detected: 2 Expected: 1 Glyph name: k Contours detected: 3 Expected: 1 or 2 Glyph name: m Contours detected: 3 Expected: 1 Glyph name: n Contours detected: 2 Expected: 1 Glyph name: p Contours detected: 3 Expected: 2 Glyph name: r Contours detected: 2 Expected: 1 Glyph name: t Contours detected: 2 Expected: 1 Glyph name: u Contours detected: 2 Expected: 1 Glyph name: w Contours detected: 2 Expected: 1 Glyph name: x Contours detected: 3 Expected: 1 Glyph name: y Contours detected: 2 Expected: 1 Glyph name: sterling Contours detected: 3 Expected: 1 or 2 Glyph name: yen Contours detected: 4 Expected: 1 or 2 Glyph name: euro Contours detected: 3 Expected: 1 or 2 Glyph name: softhyphen Contours detected: 0 Expected: 1 Glyph name: AE Contours detected: 4 Expected: 2 Glyph name: Egrave Contours detected: 4 Expected: 2 Glyph name: Eacute Contours detected: 4 Expected: 2 Glyph name: Ecircumflex Contours detected: 4 Expected: 2 Glyph name: Edieresis Contours detected: 5 Expected: 3 Glyph name: Eth Contours detected: 3 Expected: 2 Glyph name: Ntilde Contours detected: 4 Expected: 2 Glyph name: Oslash Contours detected: 5 Expected: 3 Glyph name: Yacute Contours detected: 3 Expected: 2 Glyph name: ae Contours detected: 2 Expected: 3 Glyph name: egrave Contours detected: 2 Expected: 3 Glyph name: eacute Contours detected: 2 Expected: 3 Glyph name: ecircumflex Contours detected: 2 Expected: 3 Glyph name: edieresis Contours detected: 3 Expected: 4 Glyph name: eth Contours detected: 3 Expected: 2 Glyph name: ntilde Contours detected: 3 Expected: 2 Glyph name: oslash Contours detected: 5 Expected: 3 Glyph name: ugrave Contours detected: 3 Expected: 2 Glyph name: uacute Contours detected: 3 Expected: 2 Glyph name: ucircumflex Contours detected: 3 Expected: 2 Glyph name: udieresis Contours detected: 4 Expected: 3 Glyph name: yacute Contours detected: 3 Expected: 2 Glyph name: thorn Contours detected: 3 Expected: 2 Glyph name: ydieresis Contours detected: 4 Expected: 3 Glyph name: aogonek Contours detected: 3 Expected: 2 Glyph name: Dcroat Contours detected: 3 Expected: 2 Glyph name: dcroat Contours detected: 3 Expected: 2 Glyph name: Emacron Contours detected: 4 Expected: 2 Glyph name: emacron Contours detected: 2 Expected: 3 Glyph name: Ebreve Contours detected: 4 Expected: 2 Glyph name: ebreve Contours detected: 2 Expected: 3 Glyph name: Edotaccent Contours detected: 4 Expected: 2 Glyph name: edotaccent Contours detected: 2 Expected: 3 Glyph name: Eogonek Contours detected: 4 Expected: 1 or 2 Glyph name: Ecaron Contours detected: 4 Expected: 2 Glyph name: ecaron Contours detected: 2 Expected: 3 Glyph name: gcircumflex Contours detected: 5 Expected: 3 or 4 Glyph name: gbreve Contours detected: 5 Expected: 3 or 4 Glyph name: gdotaccent Contours detected: 5 Expected: 3 or 4 Glyph name: gcommaaccent Contours detected: 5 Expected: 3 or 4 Glyph name: Hcircumflex Contours detected: 4 Expected: 2 Glyph name: hcircumflex Contours detected: 3 Expected: 2 Glyph name: Hbar Contours detected: 4 Expected: 2 Glyph name: hbar Contours detected: 3 Expected: 1 Glyph name: IJ Contours detected: 3 Expected: 1 or 2 Glyph name: Jcircumflex Contours detected: 3 Expected: 2 Glyph name: Kcommaaccent Contours detected: 5 Expected: 2 or 3 Glyph name: kcommaaccent Contours detected: 4 Expected: 2 or 3 Glyph name: kgreenlandic Contours detected: 3 Expected: 1 or 2 Glyph name: Lslash Contours detected: 3 Expected: 1 Glyph name: lslash Contours detected: 3 Expected: 1 Glyph name: Nacute Contours detected: 4 Expected: 2 Glyph name: nacute Contours detected: 3 Expected: 2 Glyph name: Ncommaaccent Contours detected: 4 Expected: 2 Glyph name: ncommaaccent Contours detected: 3 Expected: 2 Glyph name: Ncaron Contours detected: 4 Expected: 2 Glyph name: ncaron Contours detected: 3 Expected: 2 Glyph name: napostrophe Contours detected: 3 Expected: 2 Glyph name: Eng Contours detected: 2 Expected: 1 Glyph name: eng Contours detected: 2 Expected: 1 Glyph name: OE Contours detected: 4 Expected: 2 Glyph name: oe Contours detected: 2 Expected: 3 Glyph name: racute Contours detected: 3 Expected: 2 Glyph name: rcommaaccent Contours detected: 3 Expected: 2 Glyph name: rcaron Contours detected: 3 Expected: 2 Glyph name: Tcedilla Contours detected: 3 Expected: 1 or 2 Glyph name: tcedilla Contours detected: 3 Expected: 1 or 2 Glyph name: Tcaron Contours detected: 3 Expected: 2 Glyph name: tcaron Contours detected: 3 Expected: 2 Glyph name: Tbar Contours detected: 3 Expected: 1 Glyph name: tbar Contours detected: 3 Expected: 1 Glyph name: utilde Contours detected: 3 Expected: 2 Glyph name: umacron Contours detected: 3 Expected: 2 Glyph name: ubreve Contours detected: 3 Expected: 2 Glyph name: uring Contours detected: 4 Expected: 3 Glyph name: uhungarumlaut Contours detected: 4 Expected: 3 Glyph name: Uogonek Contours detected: 2 Expected: 1 Glyph name: uogonek Contours detected: 3 Expected: 1 Glyph name: Wcircumflex Contours detected: 3 Expected: 2 Glyph name: wcircumflex Contours detected: 3 Expected: 2 Glyph name: Ycircumflex Contours detected: 3 Expected: 2 Glyph name: ycircumflex Contours detected: 3 Expected: 2 Glyph name: Ydieresis Contours detected: 4 Expected: 3 Glyph name: Zacute Contours detected: 3 Expected: 2 Glyph name: Zdotaccent Contours detected: 3 Expected: 2 Glyph name: Zcaron Contours detected: 3 Expected: 2 Glyph name: longs Contours detected: 2 Expected: 1 Glyph name: Schwa Contours detected: 1 Expected: 2 Glyph name: leftArrow Contours detected: 4 Expected: 1 Glyph name: upArrow Contours detected: 4 Expected: 1 Glyph name: florin Contours detected: 2 Expected: 1 Glyph name: rightArrow Contours detected: 4 Expected: 1 Glyph name: downArrow Contours detected: 4 Expected: 1 Glyph name: leftRightArrow Contours detected: 3 Expected: 1 Glyph name: northWestArrow Contours detected: 4 Expected: 1 Glyph name: northEastArrow Contours detected: 4 Expected: 1 Glyph name: southEastArrow Contours detected: 4 Expected: 1 Glyph name: southWestArrow Contours detected: 4 Expected: 1 Glyph name: ohorn Contours detected: 3 Expected: 2 Glyph name: dagger Contours detected: 3 Expected: 1 or 2 Glyph name: daggerdbl Contours detected: 5 Expected: 1 or 3 Glyph name: uhorn Contours detected: 3 Expected: 1 Glyph name: ucaron Contours detected: 3 Expected: 2 Glyph name: Gstroke Contours detected: 2 Expected: 1 Glyph name: gstroke Contours detected: 5 Expected: 2 Glyph name: gcaron Contours detected: 5 Expected: 3 or 4 Glyph name: Kcaron Contours detected: 5 Expected: 2 Glyph name: kcaron Contours detected: 4 Expected: 2 Glyph name: gacute Contours detected: 5 Expected: 3 Glyph name: Oslashacute Contours detected: 6 Expected: 4 Glyph name: oslashacute Contours detected: 6 Expected: 4 Glyph name: partialdiff Contours detected: 1 Expected: 2 Glyph name: Tcommaaccent Contours detected: 3 Expected: 2 Glyph name: tcommaaccent Contours detected: 3 Expected: 2 Glyph name: Hcaron Contours detected: 4 Expected: 2 Glyph name: hcaron Contours detected: 3 Expected: 2 Glyph name: infinity Contours detected: 1 Expected: 3 Glyph name: schwa Contours detected: 1 Expected: 2 Glyph name: notequal Contours detected: 3 Expected: 1 Glyph name: fi Contours detected: 4 Expected: 1, 2 or 3 Glyph name: fl Contours detected: 3 Expected: 1 or 2 Glyph name: slashshortoverlaycomb Contours detected: 3 Expected: 1 Glyph name: slashlongoverlaycomb Contours detected: 3 Expected: 1 Glyph name: mu Contours detected: 4 Expected: 1 Glyph name: pi Contours detected: 3 Expected: 1 Glyph name: Iegrave-cy Contours detected: 4 Expected: 2 Glyph name: Io-cy Contours detected: 5 Expected: 3 Glyph name: Dje-cy Contours detected: 3 Expected: 1 Glyph name: E-cy Contours detected: 2 Expected: 1 Glyph name: Je-cy Contours detected: 2 Expected: 1 Glyph name: Lje-cy Contours detected: 1 Expected: 2 Glyph name: Nje-cy Contours detected: 3 Expected: 2 Glyph name: Tshe-cy Contours detected: 3 Expected: 1 Glyph name: Kje-cy Contours detected: 5 Expected: 2 Glyph name: Iigrave-cy Contours detected: 4 Expected: 2 Glyph name: Ushort-cy Contours detected: 3 Expected: 2 Glyph name: Dzhe-cy Contours detected: 2 Expected: 1 Glyph name: Be-cy Contours detected: 1 Expected: 2 Glyph name: Ve-cy Contours detected: 2 Expected: 3 Glyph name: De-cy Contours detected: 1 Expected: 2 Glyph name: Ie-cy Contours detected: 3 Expected: 1 Glyph name: Zhe-cy Contours detected: 7 Expected: 1 Glyph name: Ii-cy Contours detected: 3 Expected: 1 Glyph name: Iishort-cy Contours detected: 4 Expected: 2 Glyph name: Ka-cy Contours detected: 4 Expected: 1 Glyph name: En-cy Contours detected: 3 Expected: 1 Glyph name: Te-cy Contours detected: 2 Expected: 1 Glyph name: U-cy Contours detected: 2 Expected: 1 Glyph name: Ha-cy Contours detected: 3 Expected: 1 Glyph name: Che-cy Contours detected: 2 Expected: 1 Glyph name: Hardsign-cy Contours detected: 1 Expected: 2 Glyph name: Yeru-cy Contours detected: 2 Expected: 3 Glyph name: Softsign-cy Contours detected: 1 Expected: 2 Glyph name: Ereversed-cy Contours detected: 2 Expected: 1 Glyph name: Iu-cy Contours detected: 4 Expected: 2 Glyph name: be-cy Contours detected: 3 Expected: 2 Glyph name: ve-cy Contours detected: 1 Expected: 3 Glyph name: de-cy Contours detected: 1 Expected: 2 Glyph name: ie-cy Contours detected: 1 Expected: 2 Glyph name: zhe-cy Contours detected: 4 Expected: 1 Glyph name: ii-cy Contours detected: 2 Expected: 1 Glyph name: iishort-cy Contours detected: 3 Expected: 2 Glyph name: ka-cy Contours detected: 3 Expected: 1 Glyph name: el-cy Contours detected: 2 Expected: 1 Glyph name: em-cy Contours detected: 4 Expected: 1 Glyph name: en-cy Contours detected: 3 Expected: 1 Glyph name: pe-cy Contours detected: 2 Expected: 1 Glyph name: er-cy Contours detected: 3 Expected: 2 Glyph name: te-cy Contours detected: 3 Expected: 1 Glyph name: u-cy Contours detected: 2 Expected: 1 Glyph name: ha-cy Contours detected: 3 Expected: 1 Glyph name: tse-cy Contours detected: 3 Expected: 1 Glyph name: che-cy Contours detected: 2 Expected: 1 Glyph name: sha-cy Contours detected: 3 Expected: 1 Glyph name: shcha-cy Contours detected: 4 Expected: 1 Glyph name: hardsign-cy Contours detected: 1 Expected: 2 Glyph name: yeru-cy Contours detected: 2 Expected: 3 Glyph name: softsign-cy Contours detected: 1 Expected: 2 Glyph name: ereversed-cy Contours detected: 2 Expected: 1 Glyph name: iu-cy Contours detected: 4 Expected: 2 Glyph name: iegrave-cy Contours detected: 2 Expected: 3 Glyph name: io-cy Contours detected: 3 Expected: 4 Glyph name: dje-cy Contours detected: 3 Expected: 1 Glyph name: e-cy Contours detected: 2 Expected: 1 Glyph name: nje-cy Contours detected: 3 Expected: 2 Glyph name: tshe-cy Contours detected: 3 Expected: 1 Glyph name: kje-cy Contours detected: 4 Expected: 2 Glyph name: iigrave-cy Contours detected: 3 Expected: 2 Glyph name: ushort-cy Contours detected: 3 Expected: 2 Glyph name: dzhe-cy Contours detected: 3 Expected: 1 or 2 Glyph name: Yusbig-cy Contours detected: 5 Expected: 2 Glyph name: yusbig-cy Contours detected: 5 Expected: 2 Glyph name: gheupturn-cy Contours detected: 3 Expected: 1 Glyph name: Ghestroke-cy Contours detected: 2 Expected: 1 Glyph name: ghestroke-cy Contours detected: 2 Expected: 1 Glyph name: Zhedescender-cy Contours detected: 7 Expected: 1 or 2 Glyph name: zhedescender-cy Contours detected: 5 Expected: 1 or 2 Glyph name: Kadescender-cy Contours detected: 4 Expected: 1 or 2 Glyph name: kadescender-cy Contours detected: 4 Expected: 1 or 2 Glyph name: Endescender-cy Contours detected: 4 Expected: 1 or 2 Glyph name: endescender-cy Contours detected: 4 Expected: 1 or 2 Glyph name: rupeeIndian Contours detected: 3 Expected: 1 Glyph name: Ustrait-cy Contours detected: 2 Expected: 1 Glyph name: ustrait-cy Contours detected: 2 Expected: 1 Glyph name: Ustraitstroke-cy Contours detected: 3 Expected: 1 Glyph name: ustraitstroke-cy Contours detected: 3 Expected: 1 Glyph name: Shha-cy Contours detected: 2 Expected: 1 Glyph name: shha-cy Contours detected: 2 Expected: 1 Glyph name: Entail-cy Contours detected: 4 Expected: 1 or 2 Glyph name: entail-cy Contours detected: 3 Expected: 1 or 2 Glyph name: Schwa-cy Contours detected: 1 Expected: 2 Glyph name: schwa-cy Contours detected: 1 Expected: 2 Glyph name: numero Contours detected: 7 Expected: 3 or 4 Glyph name: Wgrave Contours detected: 3 Expected: 2 Glyph name: wgrave Contours detected: 3 Expected: 2 Glyph name: Wacute Contours detected: 3 Expected: 2 Glyph name: wacute Contours detected: 3 Expected: 2 Glyph name: Wdieresis Contours detected: 4 Expected: 3 Glyph name: wdieresis Contours detected: 4 Expected: 3 Glyph name: Edotbelow Contours detected: 4 Expected: 2 Glyph name: edotbelow Contours detected: 2 Expected: 3 Glyph name: Ehookabove Contours detected: 4 Expected: 2 Glyph name: ehookabove Contours detected: 2 Expected: 3 Glyph name: Etilde Contours detected: 4 Expected: 2 Glyph name: etilde Contours detected: 2 Expected: 3 Glyph name: Ecircumflexacute Contours detected: 5 Expected: 3 Glyph name: ecircumflexacute Contours detected: 3 Expected: 4 Glyph name: Ecircumflexgrave Contours detected: 5 Expected: 3 Glyph name: ecircumflexgrave Contours detected: 3 Expected: 4 Glyph name: Ecircumflexhookabove Contours detected: 5 Expected: 3 Glyph name: ecircumflexhookabove Contours detected: 3 Expected: 4 Glyph name: Ecircumflextilde Contours detected: 5 Expected: 3 Glyph name: ecircumflextilde Contours detected: 3 Expected: 4 Glyph name: Ecircumflexdotbelow Contours detected: 5 Expected: 3 Glyph name: ecircumflexdotbelow Contours detected: 3 Expected: 4 Glyph name: ohornacute Contours detected: 4 Expected: 3 Glyph name: ohorngrave Contours detected: 4 Expected: 3 Glyph name: ohornhookabove Contours detected: 4 Expected: 3 Glyph name: ohorntilde Contours detected: 4 Expected: 3 Glyph name: ohorndotbelow Contours detected: 4 Expected: 3 Glyph name: udotbelow Contours detected: 3 Expected: 2 Glyph name: uhookabove Contours detected: 3 Expected: 2 Glyph name: uhornacute Contours detected: 4 Expected: 2 Glyph name: uhorngrave Contours detected: 4 Expected: 2 Glyph name: uhornhookabove Contours detected: 4 Expected: 2 Glyph name: uhorntilde Contours detected: 4 Expected: 2 Glyph name: uhorndotbelow Contours detected: 4 Expected: 2 Glyph name: Ygrave Contours detected: 3 Expected: 2 Glyph name: ygrave Contours detected: 3 Expected: 2 Glyph name: Ydotbelow Contours detected: 3 Expected: 2 Glyph name: ydotbelow Contours detected: 3 Expected: 2 Glyph name: Yhookabove Contours detected: 3 Expected: 2 Glyph name: yhookabove Contours detected: 3 Expected: 2 Glyph name: Ytilde Contours detected: 3 Expected: 2 Glyph name: ytilde Contours detected: 3 Expected: 2
:warning: WARN: Name table strings must not contain the string 'Reserved Font Name'. * [com.google.fonts/check/152](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/152) * :warning: **WARN** Name table entry ("Copyright 2017 The Playfair Display Project Authors (https://github.com/clauseggers/Playfair-Display), with Reserved Font Name "Playfair Display".") contains "Reserved Font Name". This is an error except in a few specific rare cases.
:warning: WARN: Combined length of family and style must not exceed 20 characters. * [com.google.fonts/check/163](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/163) * :warning: **WARN** The combined length of family and style exceeds 20 chars in the following 'WINDOWS' entries: FONT_FAMILY_NAME = 'Playfair Display' / SUBFAMILY_NAME = 'Italic'
:warning: WARN: Is there kerning info for non-ligated sequences? * [com.google.fonts/check/065](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/065) * :warning: **WARN** GPOS table lacks kerning info for the following non-ligated sequences: - T + h - f + f - f + b - b + f - f + h - h + f - f + i - i + f - f + j - j + f - f + k - k + f - f + l - l + b - h + i - i + idieresis - idieresis + igrave - igrave + j - j + k - k + l - longs + longs - longs + h - h + longs - longs + i - i + longs - longs + l - l + longs - longs + t - t + h - i + l [code: lacks-kern-info]
:warning: WARN: Are there caret positions declared for every ligature? * [com.google.fonts/check/064](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/064) * :warning: **WARN** This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
:warning: WARN: Check for points out of bounds. * [com.google.fonts/check/075](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/075) * :warning: **WARN** The following glyphs have coordinates which are out of bounds: [('imacron', 370.25, 712.0)] This happens a lot when points are not extremes, which is usually bad. However, fixing this alert by adding points on extremes may do more harm than good, especially with italics, calligraphic-script, handwriting, rounded and other fonts. So it is common to ignore this message
:zzz: SKIP: Checking OS/2 usWeightClass. * [com.google.fonts/check/020](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/020) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check copyright namerecords match license file. * [com.google.fonts/check/029](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/029) * :zzz: **SKIP** Unfulfilled Conditions: license
:zzz: SKIP: Checks METADATA.pb font.name field matches family name declared on the name table. * [com.google.fonts/check/092](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/092) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checks METADATA.pb font.post_script_name matches postscript name declared on the name table. * [com.google.fonts/check/093](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/093) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.full_name value matches fullname declared on the name table? * [com.google.fonts/check/094](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/094) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name value should be same as the family name declared on the name table. * [com.google.fonts/check/095](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/095) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, style
:zzz: SKIP: METADATA.pb font.full_name and font.post_script_name fields have equivalent values ? * [com.google.fonts/check/096](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/096) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.filename and font.post_script_name fields have equivalent values? * [com.google.fonts/check/097](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/097) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name field contains font name in right format? * [com.google.fonts/check/098](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/098) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.full_name field contains font name in right format? * [com.google.fonts/check/099](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/099) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.filename field contains font name in right format? * [com.google.fonts/check/100](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/100) * :zzz: **SKIP** Unfulfilled Conditions: style, font_metadata
:zzz: SKIP: METADATA.pb font.post_script_name field contains font name in right format? * [com.google.fonts/check/101](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/101) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb matches canonical pattern? * [com.google.fonts/check/102](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/102) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Copyright notice on METADATA.pb should not contain 'Reserved Font Name'. * [com.google.fonts/check/103](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/103) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Copyright notice shouldn't exceed 500 chars. * [com.google.fonts/check/104](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/104) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Filename is set canonically? * [com.google.fonts/check/105](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/105) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata, canonical_filename
:zzz: SKIP: METADATA.pb font.style "italic" matches font internals? * [com.google.fonts/check/106](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/106) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.style "normal" matches font internals? * [com.google.fonts/check/107](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/107) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb font.name and font.full_name fields match the values declared on the name table? * [com.google.fonts/check/108](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/108) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check if fontname is not camel cased. * [com.google.fonts/check/109](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/109) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Check font name is the same as family name. * [com.google.fonts/check/110](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/110) * :zzz: **SKIP** Unfulfilled Conditions: family_metadata, font_metadata
:zzz: SKIP: METADATA.pb: Check that font weight has a canonical value. * [com.google.fonts/check/111](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/111) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Checking OS/2 usWeightClass matches weight specified at METADATA.pb. * [com.google.fonts/check/112](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/112) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb weight matches postScriptName. * [com.google.fonts/check/113](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/113) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: METADATA.pb: Font styles are named canonically? * [com.google.fonts/check/115](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/115) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Version number has increased since previous release on Google Fonts? * [com.google.fonts/check/117](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/117) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont, github_gfonts_ttFont
:zzz: SKIP: Glyphs are similiar to Google Fonts version? * [com.google.fonts/check/118](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/118) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: TTFAutohint x-height increase value is same as in previous release on Google Fonts? * [com.google.fonts/check/119](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/119) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Checking OS/2 fsSelection value. * [com.google.fonts/check/129](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/129) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking post.italicAngle value. * [com.google.fonts/check/130](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/130) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Checking head.macStyle value. * [com.google.fonts/check/131](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/131) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check font has same encoded glyphs as version hosted on fonts.google.com * [com.google.fonts/check/154](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/154) * :zzz: **SKIP** Unfulfilled Conditions: api_gfonts_ttFont
:zzz: SKIP: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ? * [com.google.fonts/check/155](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/155) * :zzz: **SKIP** Unfulfilled Conditions: font_metadata
:zzz: SKIP: Font has all mandatory 'name' table entries ? * [com.google.fonts/check/156](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/156) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_FAMILY_NAME entries. * [com.google.fonts/check/157](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/157) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/158](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/158) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: FULL_FONT_NAME entries. * [com.google.fonts/check/159](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/159) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: POSTSCRIPT_NAME entries. * [com.google.fonts/check/160](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/160) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_FAMILY_NAME entries. * [com.google.fonts/check/161](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/161) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries. * [com.google.fonts/check/162](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/162) * :zzz: **SKIP** Unfulfilled Conditions: style
:zzz: SKIP: FontForge validation outputs error messages? * [com.google.fonts/check/038](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/038) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: FontForge checks. * [com.google.fonts/check/039](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/039) * :zzz: **SKIP** Unfulfilled Conditions: fontforge_check_results
:zzz: SKIP: Monospace font has hhea.advanceWidthMax equal to each glyph's advanceWidth? * [com.google.fonts/check/079](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/079) * :zzz: **SKIP** Unfulfilled Conditions: seems_monospaced
:zzz: SKIP: The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance. * [com.google.fonts/check/167](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/167) * :zzz: **SKIP** Unfulfilled Conditions: regular_wght_coord
:zzz: SKIP: The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance. * [com.google.fonts/check/168](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/168) * :zzz: **SKIP** Unfulfilled Conditions: regular_wdth_coord
:zzz: SKIP: The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/169](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/169) * :zzz: **SKIP** Unfulfilled Conditions: regular_slnt_coord
:zzz: SKIP: The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance. * [com.google.fonts/check/170](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/170) * :zzz: **SKIP** Unfulfilled Conditions: regular_ital_coord
:zzz: SKIP: The variable font 'opsz' (Optical Size) axis coordinate should be between 9 and 13 on the 'Regular' instance. * [com.google.fonts/check/171](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/171) * :zzz: **SKIP** Unfulfilled Conditions: regular_opsz_coord
:zzz: SKIP: The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance. * [com.google.fonts/check/172](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/172) * :zzz: **SKIP** Unfulfilled Conditions: bold_wght_coord
:information_source: INFO: Show hinting filesize impact. * [com.google.fonts/check/054](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/054) * :information_source: **INFO** Hinting filesize impact: | | dist/Playfair-2-Italic-VF-2018-10-03-14_24/PlayfairItalic-VF.ttf | |:--- | ---:| | Dehinted Size | 264.5kb | | Hinted Size | 263.3kb | | Increase | -1196 bytes | | Change | -0.0 % |
:information_source: INFO: Font has old ttfautohint applied? * [com.google.fonts/check/056](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/056) * :information_source: **INFO** Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 1.201']
:information_source: INFO: EPAR table present in font? * [com.google.fonts/check/061](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/061) * :information_source: **INFO** EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818
:information_source: INFO: Check for font-v versioning * [com.google.fonts/check/166](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/166) * :information_source: **INFO** Version string is: "Version 1.201" The version string must ideally include a git commit hash and either a 'dev' or a 'release' suffix such as in the example below: "Version 1.3; git-0d08353-release"
:information_source: INFO: Font contains all required tables? * [com.google.fonts/check/052](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/052) * :information_source: **INFO** This font contains the following optional tables [GSUB, loca, GPOS] * :bread: **PASS** Font contains all required tables.
:bread: PASS: Checking file is named canonically. * [com.google.fonts/check/001](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/001) * :bread: **PASS** dist/Playfair-2-Italic-VF-2018-10-03-14_24/PlayfairItalic-VF.ttf is named canonically.
:bread: PASS: Fonts have equal numbers of glyphs? * [com.google.fonts/check/011](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/011) * :bread: **PASS** All font files in this family have an equal total ammount of glyphs.
:bread: PASS: Fonts have equal glyph names? * [com.google.fonts/check/012](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/012) * :bread: **PASS** All font files have identical glyph names.
:bread: PASS: Checking OS/2 fsType. * [com.google.fonts/check/016](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/016) * :bread: **PASS** OS/2 fsType is properly set to zero.
:bread: PASS: Substitute copyright, registered and trademark symbols in name table entries. * [com.google.fonts/check/019](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/019) * :bread: **PASS** No need to substitute copyright, registered and trademark symbols in name table entries of this font.
:bread: PASS: "License URL matches License text on name table? * [com.google.fonts/check/030](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/030) * :bread: **PASS** Font has a valid license URL in NAME table.
:bread: PASS: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/032](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/032) * :bread: **PASS** All description name records have reasonably small lengths.
:bread: PASS: Version format is correct in 'name' table? * [com.google.fonts/check/055](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/055) * :bread: **PASS** Version format in NAME table entries is correct.
:bread: PASS: Make sure family name does not begin with a digit. * [com.google.fonts/check/067](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/067) * :bread: **PASS** Font family name first character is not a digit.
:bread: PASS: Font has all expected currency sign characters? * [com.google.fonts/check/070](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/070) * :bread: **PASS** Font has all expected currency sign characters.
:bread: PASS: Are there non-ASCII characters in ASCII-only NAME table entries? * [com.google.fonts/check/074](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/074) * :bread: **PASS** None of the ASCII-only NAME table entries contain non-ASCII characteres.
:bread: PASS: Length of copyright notice must not exceed 500 characters. * [com.google.fonts/check/164](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/164) * :bread: **PASS** All copyright notice name entries on the 'name' table are shorter than 500 characters.
:bread: PASS: Familyname must be unique according to namecheck.fontdata.com * [com.google.fonts/check/165](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/165) * :bread: **PASS** Font familyname seems to be unique.
:bread: PASS: Check a static ttf can be generated from a variable font. * [com.google.fonts/check/174](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/174) * :bread: **PASS** fontTools.varLib.mutator generated a static font instance
:bread: PASS: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/042](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/042) * :bread: **PASS** OS/2.sTypoAscender/Descender match hhea.ascent/descent.
:bread: PASS: Checking with ftxvalidator. * [com.google.fonts/check/035](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/035) * :bread: **PASS** ftxvalidator passed this file
:bread: PASS: Checking with ots-sanitize. * [com.google.fonts/check/036](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/036) * :bread: **PASS** ots-sanitize passed this file
:bread: PASS: Font contains .notdef as first glyph? * [com.google.fonts/check/046](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/046) * :bread: **PASS** Font contains the .notdef glyph as the first glyph, it does not have a Unicode value assigned and contains a drawing.
:bread: PASS: Font contains glyphs for whitespace characters? * [com.google.fonts/check/047](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/047) * :bread: **PASS** Font contains glyphs for whitespace characters.
:bread: PASS: Font has **proper** whitespace glyph names? * [com.google.fonts/check/048](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/048) * :bread: **PASS** Font has **proper** whitespace glyph names.
:bread: PASS: Whitespace glyphs have ink? * [com.google.fonts/check/049](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/049) * :bread: **PASS** There is no whitespace glyph with ink.
:bread: PASS: Are there unwanted tables? * [com.google.fonts/check/053](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/053) * :bread: **PASS** There are no unwanted tables.
:bread: PASS: Font contains unique glyph names? * [com.google.fonts/check/059](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/059) * :bread: **PASS** Font contains unique glyph names.
:bread: PASS: Checking with fontTools.ttx * [com.google.fonts/check/ttx-roundtrip](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/ttx-roundtrip) * :bread: **PASS** Hey! It all looks good!
:bread: PASS: Check glyphs have unique unicode codepoints. * [com.google.fonts/check/076](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/076) * :bread: **PASS** All glyphs have unique unicode codepoint assignments.
:bread: PASS: Check all glyphs have codepoints assigned. * [com.google.fonts/check/077](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/077) * :bread: **PASS** All glyphs have a codepoint value assigned.
:bread: PASS: Checking font version fields (head and name table). * [com.google.fonts/check/044](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/044) * :bread: **PASS** All font version fields match.
:bread: PASS: Check if OS/2 xAvgCharWidth is correct. * [com.google.fonts/check/034](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/034) * :bread: **PASS** OS/2 xAvgCharWidth value is correct.
:bread: PASS: Font has correct post table version (2 for TTF, 3 for OTF)? * [com.google.fonts/check/015](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/015) * :bread: **PASS** Font has post table version 2.
:bread: PASS: Description strings in the name table must not contain copyright info. * [com.google.fonts/check/031](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/031) * :bread: **PASS** Description strings in the name table do not contain any copyright string.
:bread: PASS: Checking correctness of monospaced metadata. * [com.google.fonts/check/033](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/033) * :bread: **PASS** Font is not monospaced and all related metadata look good. [code: good]
:bread: PASS: Name table entries should not contain line-breaks. * [com.google.fonts/check/057](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/057) * :bread: **PASS** Name table entries are all single-line (no line-breaks found).
:bread: PASS: Does full font name begin with the font family name? * [com.google.fonts/check/068](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/068) * :bread: **PASS** Full font name begins with the font family name.
:bread: PASS: Font follows the family naming recommendations? * [com.google.fonts/check/071](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/071) * :bread: **PASS** Font follows the family naming recommendations.
:bread: PASS: Checking Vertical Metric Linegaps. * [com.google.fonts/check/041](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/041) * :bread: **PASS** OS/2 sTypoLineGap and hhea lineGap are both 0.
:bread: PASS: MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables? * [com.google.fonts/check/073](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/073) * :bread: **PASS** MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables.
:bread: PASS: Whitespace and non-breaking space have the same width? * [com.google.fonts/check/050](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/050) * :bread: **PASS** Whitespace and non-breaking space have the same width.
:bread: PASS: Does GPOS table have kerning information? * [com.google.fonts/check/063](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/063) * :bread: **PASS** GPOS table has got kerning information.
:bread: PASS: Is there a "kern" table declared in the font? * [com.google.fonts/check/066](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/066) * :bread: **PASS** Font does not declare an optional "kern" table.
:bread: PASS: Is there any unused data at the end of the glyf table? * [com.google.fonts/check/069](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/069) * :bread: **PASS** There is no unused data at the end of the glyf table.
:bread: PASS: Does the number of glyphs in the loca table match the maxp table? * [com.google.fonts/check/180](https://github.com/googlefonts/fontbakery/search?q=com.google.fonts/check/180) * :bread: **PASS** 'loca' table matches numGlyphs in 'maxp' table.

Summary

:broken_heart: ERROR :fire: FAIL :warning: WARN :zzz: SKIP :information_source: INFO :bread: PASS
1 8 8 64 5 47
1% 6% 6% 48% 4% 35%
thundernixon commented 6 years ago

Thinking it might make sense to start with Playfair 2 Italic, because it avoids a changing-line height issue present in a VF of Playfair Display Italic (an unwanted behavior): playfair_display_italic 2018-10-04 at 15 19 22

Playfair 2 Italic (line height doesn't change with weight): playfair_2_italic 2018-10-04 at 15 19 22