-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open Sans, Roboto and Roboto Slab NAME table issues in WinWord #1618
Comments
|
OK. I'll investigate this. |
|
It looks like @mjlagattuta has just spiffed up Roboto Slab's masters for VF lifestyle so it looks like getting the slab live on site will fix this (and improve other stuff). |
|
@laerm0 sent me two sets of good and bad fonts. Here's a visual reference of how the name table entries went bad on Roboto: Roboto Thin (good) versus Roboto Thin (bad) Roboto Light (good) versus Roboto Light (bad) |
Did you mean, "using the files currently in the repo, OR my new files" Also, what versions of win & word did you test? :) |
|
Sorry, using the files currently in the repo. I used Win 10 Pro with Office 365. |
|
In this repo? Or in the API? Not sure they are in sync...
|
|
The files currently in the repo were what I tested, but I just downloaded what's being served again and it's the same as what I saw before: Open Sans and Roboto fine, Roboto Slab not. |
|
In the Roboto Slab VF (which is still in beta) I resolved this via manual edits to the STAT table, which Windows Word seems to rely on. I believe these values need to correspond to the final scale of an axis whether scaling from source file stem weights to CSS weight values and/or mapping via an avar table. The only style not present is "Roboto Slab Beta Bold" which can be accessed via turning on the bold option on the regular style. |
|
Do we have a succinct description of the rules for good and bad name table entries relevant to the issues discussed here? |
|
This is currently blocking a Font Bakery release due to fonttools/fontbakery#1974 which should address these problems, but it is not clear to me right now how to deal with it. |
|
I'd appreciate some more feedback in here, as mentioned at #1618 (comment) above. |
|
I need someone to take a look at this issue and provide some further feedback, please. |
No. Someone must investigate systematically and write those rules, and then write code that checks them. We have fonts that work, and fonts that do not work, so using fontdiffenator (or even just comparing the TTX output of the |
|
For the
For case 1 In case 2 I believe case 3 will be the most common for VFs since I don't currently see much use where a family is spread across multiple VFs and needs to make use of non-RIBBI styleNames. This is handled the same way as case 1, with Regular being the most common style name used for Case 4 would be handled in the same way that case 2 is handled. For the name tables (on the Windows platform) FontBakery currently has (in the Google Fonts specification) check 156 for the presence of Unless I am not understanding the issue properly, I believe these checks address the above problems. |
|
@mjlagattuta Thanks for the write up. We have this info has a spreadsheet Has anyone been able to verify what this user has found? |
|
Same as @laerm0 I cannot replicate this for Open Sans and Roboto but I can for Roboto Slab. I just ran the four fonts through FontBakery. Checks 157 and 158 yielded |
|
Thanks for looking into this. |
|
The implementation of |
|
Great! So then the next issue I see on FB relevant to this is that those
checks should be given a ultra high priority, as it's really really
important to get those right, and for the dashboard to make it clear where
we are in getting everything sorted on this regard
|
|
I am reviewing the other checks. They seem to be correctly implemented as well, but lack code-tests, so I am working on it right now. |
|
felipesanches/fontbakery@22fea7d fixes checks 157 and 158. It also implements code-test for check/157. |
|
@mjlagattuta, at #1618 (comment) you said:
But reading the current implementation of check/158 I see: for name in ttFont['name'].names:
if name.nameID == NameID.FONT_SUBFAMILY_NAME:
if style_with_spaces not in STYLE_NAMES:
yield FAIL, ("Style name '{}' inferred from filename"
" is not canonical."
" Valid options are: {}").format(style_with_spaces,
STYLE_NAMES)
failed = True
continueand at constants.py we have STYLE_NAMES = ["Thin",
"ExtraLight",
"Light",
"Regular",
"Medium",
"SemiBold",
"Bold",
"ExtraBold",
"Black",
"Thin Italic",
"ExtraLight Italic",
"Light Italic",
"Italic",
"Medium Italic",
"SemiBold Italic",
"Bold Italic",
"ExtraBold Italic",
"Black Italic"]So that's defnitely not RIBBI-only... Can you review that comment, please? |
|
That portion of code only checks to make sure that the style name is canonical. I believe my comment on the check was in reference to this snippet that is just below the one you referenced: if name.platformID == PlatformID.MACINTOSH:
expected_value = style_with_spaces
elif name.platformID == PlatformID.WINDOWS:
if style_with_spaces in ["Bold", "Bold Italic"]:
expected_value = style_with_spaces
else:
if "Italic" in style:
expected_value = "Italic"
else:
expected_value = "Regular"
else:
yield FAIL, ("Font should not have a "
"{} entry!").format(name_entry_id(name))
failed = TrueAfter checking that the style name is canonical then this checks that anything that is not Bold, Bold Italic, or Italic should be Regular I think this is correct for checking static fonts, but for Variable fonts, it is not, since we may want to differentiate between the font's default outlines and the regular instance (if those two things are not the same). As an example, Comfortaa VF, has a font subfamily name of "Light" in reference to its default outlines, which ensures that the instances in dropdowns on Mac do not display two "Regulars". |
|
The test case describes by example the expected behaviour: |
|
Did this ever get a solution? I still can't use Roboto Slab in Word... |
|
Also can't use Roboto Slab - regular in Word Office 2016 (on a PC) It reverts to Roboto Slab - Light. |








A user wrote to me privately that Open Sans, Roboto and Roboto Slab all have NAME table issues in Windows Word.
Open Sans when installed looks like this to Word:
So far so good.
However, the SemiBold Italic style does not render, instead the SemiBold is auto-slanted (eg the 'a' is not single story)
Similarly, Roboto Slab has 4 styles (Regular + Bold, then Thin and then Light) but only two appear in the Word picker list:
So when a document is made with them in Google Docs and exported as docx, it appears to fall back to Roboto:
I am very keen to see that Font Bakery is checking this stuff and telling people exactly what to do to fix it, and then we ensure everything in the API is fixed. :)
The text was updated successfully, but these errors were encountered: