fontbakery: Checks name/fullfontname, name/postscriptname and name/match_familyname_fullfont falsely reject abbreviated font names

Observed behavior

As described in Issue #2179, nameIDs 4 & 6 sometimes have to be abbreviated to under 29 characters (the limit is slightly debated, but it’s 31 maximum, based on sources I’ve read).

However, Check 159 simply seems to expect nameID 4 to always equal a concatenation of familyname_with_spaces and style_with_spaces, which are (I think) nameIDs 1 & 2.

Expected behavior

When nameIDs 4 & 6 are abbreviated to work in legacy software, nameIDs 1 & 2 do not need to be abbreviated. Therefore, I think this test could be an INFO or a WARN, but should not be a FAIL.

Resources and exact process needed to replicate

You can build statics in Encode Sans with the build script sources/scripts/build-statics.sh

…or visit the FontBakery report at https://github.com/thundernixon/Encode-Sans/blob/master/fonts/encodesanssemicondensed/static/EncodeSansSemiCondensed-ExtraLight-fontbakery-report.md

…but the relevant part is this:

:fire: FAIL: Check name table: FULL_FONT_NAME entries.
  • com.google.fonts/check/159
  • 🔥 FAIL Entry [FULL_FONT_NAME(4):WINDOWS(3)] on the ‘name’ table: Expected ‘Encode Sans Semi Expanded ExtraLight’ but got ‘Encode Sans SemiExpd ExLght’.
:fire: FAIL: Check name table: POSTSCRIPT_NAME entries.
  • com.google.fonts/check/160
  • 🔥 FAIL Entry [POSTSCRIPT_NAME(6):WINDOWS(3)] on the ‘name’ table: Expected ‘EncodeSansSemiExpanded-ExtraLight’ but got ‘EncodeSansSemiExpd-ExLght’.
:fire: FAIL: Does full font name begin with the font family name?
  • com.google.fonts/check/068
  • 🔥 FAIL On the ‘name’ table, the full font name (NameID 4 - FULL_FONT_NAME: ‘Encode Sans Condensed Black’) does not begin with font family name (NameID 1 - FONT_FAMILY_NAME: ‘Encode Sans Cond Black’) [code: does-not]

About this issue

  • Original URL
  • State: open
  • Created 6 years ago
  • Reactions: 1
  • Comments: 16 (9 by maintainers)

Most upvoted comments

Something else I’d like to suggest—that in the case of prefixed short names, like “Sm Bd”, that we allow them to have no space between them, ala “SmBd”. That saves an additional character, which might be very important 😄

I would like to follow up on this issue as I am running into it on several fonts that I’m working on. It really shouldn’t be a “FAIL” IMO.

As one additional thing to flag here (this can be split into a different issue if it makes more sense), the text of check 068 is a bit confusing / misleading.

🔥 FAIL On the ‘name’ table, the full font name (NameID 4 - FULL_FONT_NAME: ‘Encode Sans Condensed Black’) does not begin with font family name (NameID 1 - FONT_FAMILY_NAME: ‘Encode Sans Cond Black’) [code: does-not]

However, in this particular static instance:

  • NameID 4 is actually Encode Sans Cond Black, not “Encode Sans Condensed Black” as seems to be indicated by the check message
  • NameID 1 is actually Encode Sans Condensed Black, not “Encode Sans Cond Black” as seems to be indicated by the check message

So, it seems like the text is either mixing those strings up, or possibly the values of FULL_FONT_NAME and FONT_FAMILY_NAME aren’t getting defined in a bulletproof way.

Here’s the TTX file for Encode Sans Condensed Black