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.
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.
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.
:fire: FAIL: Check name table: POSTSCRIPT_NAME entries.
:fire: FAIL: Does full font name begin with the font family name?
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.
:fire: 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:
Encode Sans Cond Black, not "Encode Sans Condensed Black" as seems to be indicated by the check messageEncode Sans Condensed Black, not "Encode Sans Cond Black" as seems to be indicated by the check messageSo, 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.
Note: We need to standardize short-versions of canonical names and then I can make all fontbakery checks adhere to that as well.
Per our call today, we need a standard way to abbreviate font naming.
I mentioned that we might follow the cited by the GlyphsApp Naming Tutorial with the header "The PostScript Names", which are from an earlier technical note on naming for PostScript, from Adobe (see page 27).
The one downside is that they are _very_ short, and therefore not always very easy to understand. Would the average user know that "Sm Bd" is "SemiBold"?
Short | Full
-- | --
Bd | Bold
Bk | Book
Blk | Black
Cm | Compressed
Cn | Condensed
Ct | Compact
Dm | Demi聽(prefix)
Ds | Display
Ex | Extended
Hv | Heavy
Ic | Inclined
It | Italic
Ks | Kursiv聽(German for: Italic)
Lt | Light
Md | Medium
Nd | Nord
Nr | Narrow
Obl | Oblique
Po | Poster
Rg | Regular
Sl | Slanted
Sm | Semi聽(prefix)
Su | Super
Th | Thin
Ult | Ultra聽(prefix)
Up | Upright
X | Extra聽(prefix)
If this became a real standard, applications could display the long names whenever the short names are used.
One problem with this table is that not all entries map to our current set of not-shortened canonical names.
Well... the ideal solution would be for the applications to lift the maximum length restriction on name entries. But we have to deal with legacy applications...
I think a set of Short/Medium/Full names would be better, so for things that are too long when full, but very short so almost undecipherable, and medium is not too long, that would be good
@thundernixon please propose medium names :)
Example of where medium names are useful: "Encode Sans SemiExpanded Black" is too many pixels wide to fit in the MS Word font menu, where the style of the font itself is shown, along with the name. For this, I've shortened names in the <name> table to make them (mostly) fit:

I'll write down a list of medium-sized abbreviations that I think work well and share them here for discussion in a bit.
thanks!
Background:
Font names often need to be shortened to allow installation on platforms, and sometimes to work well within UI contraints (e.g. narrow font menus). There are existing guidelines from Adobe on shortening style names for Postscript naming. However, these two-letter abbreviations are often shorter than needed, and their meaning is sometimes unclear (especially for non-type designers). Today, type designers tend to come up with medium-length abbreviations on-the-fly, but it will be simpler for users to limit the amount of abbreviations for stylistic names, and simpler to test in FontBakery if there is a canonical list of abbreviations.
Proposed system
A useful balance of clarity and brevity is the primary goal of font name abbreviations, and these dual considerations should guide decisions. Rules:
Prefixes (These have no trailing space, e.g. _DemiBold_)
| Short |Full | 鉁∕edium 鉁▅ _Note_ |
| :-- | :-- | :-- | :-- |
| Dm | Demi | -聽| _Prexfix_ |
| Sm | Semi | -聽| _Prexfix_ |
| X | Extra | Extr | _Prexfix. Not sure if medium name needed._ |
| Bd | Bold | - | |
| Bk | Book | - | |
| Blk | Black | - | _Short name is already medium-length_ |
| Cm | Compressed | Comp | |
| Cn | Condensed | Cond | |
| Ct | Compact | Cmpt | |
| Ds | Display | Disp | |
| Ex | Extended | Ext | |
| Hv | Heavy | Hvy | |
| Ic | Inclined | Incl | |
| It | Italic | Ital | |
| Ks | Kursiv | Krsv | |
| Lt | Light | Lght | |
| Md | Medium | Med | |
| Nd | Nord | - | |
| Nr | Narrow | Nrrw | |
| Obl | Oblique | Oblq | |
| Po | Poster | Pstr | |
| Rg | Regular | Reg | |
| Sl | Slanted | Slnt | |
| Su | Super | Supr | |
| Th | Thin | - | |
| Ult | Ultra | Ultr | |
| Up | Upright | Uprt | |
New names (not included on Adobe's list)
| Short |Full | 鉁∕edium 鉁▅ _Note_ |
| :-- | :-- | :-- | :-- |
| Exp | Expanded | Expd | |
| Mc | Micro | Micr聽| _For optical sizing; opposite of Display. Not sure of this one._ |
| Mn | Monospaced | Mono聽| |
| Pr | Proportional | Prop聽| |
| Rd | Round | Rnd | |
| Sn | Sans | - | |
| Sr | Serif | Srf | |
| SC | Smallcaps | - | _Specific to Google Fonts_ |
| Tx | Text | Txt聽| _For optical sizing_ |
| Wd | Wide | - | |
| VF | Variable | Var | _Google Fonts may not use this, but others are._ |
Of course, there will still be custom names we can't account for, especially for experimental and display fonts and for currently-uncommon stylistic axes like Grade. Still, this list might be a helpful starting point for extending the checks listed in this issue.
Open questions:
Still getting this issue, I suggest renaming the issue as the issues referenced are now known as:
com.google.fonts/check/name/fullfontname
com.google.fonts/check/name/postscriptname
com.google.fonts/check/name/match_familyname_fullfont
Similarly my fonts fail this test when I abbreviate part of the typographic family name, as fontbakery tries to untagle the camelcasing:
馃敟 FAIL: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
馃敟 FAIL Entry [TYPOGRAPHIC_FAMILY_NAME(16):WINDOWS(3)] on the "name" table: Expected "Bananas Extra Extended" but got "Bananas ExtraExtended". [code: non-ribbi-bad-value]
Related? https://github.com/googlefonts/fontbakery/issues/2741
Should this same issue go under here?
馃敟 FAIL: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.
馃敟 FAIL Font style is "Bold" and, for that reason, it is not expected to have a [TYPOGRAPHIC_FAMILY_NAME(16):WINDOWS(3)] entry! [code: ribbi]
The name tables are:
ID 1 FONT_FAMILY_NAME: Bananas XExt
ID 2 FONT_SUBFAMILY_NAME: Bold
ID 4 FULL_FONT_NAME: Bananas XExt Bold
ID 6 POSTSCRIPT_NAME: BananasExtraExtended-Bold
ID 16 TYPOGRAPHIC_FAMILY_NAME: Bananas ExtraExtended
It needs the ID 16 since ID 1 has been abbreviated.
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.
Something else I'd like to suggest鈥攖hat 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'd also like to suggest that for the prefix forms, like with Extra, it would be useful to be able to collapse to a single letter in extreme cases:
Short | Full | Medium | Note
-- | -- | -- | --
D | Demi | - | Prexfix
S | Semi | - | Prexfix
X | Extra | Extr | Prexfix. Not sure if medium name needed.