Skip to content
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

Google Fonts QA report #11

Closed
m4rc1e opened this issue Feb 20, 2020 · 8 comments
Closed

Google Fonts QA report #11

m4rc1e opened this issue Feb 20, 2020 · 8 comments

Comments

@m4rc1e
Copy link

m4rc1e commented Feb 20, 2020

Fontbakery report

Fontbakery version: 0.7.18

[1] Family checks
WARN: Is the command `ftxvalidator` (Apple Font Tool Suite) available?
--- Rationale ---

There's no reasonable (and legal) way to run the command `ftxvalidator` of the
Apple Font Tool Suite on a non-macOS machine. I.e. on GNU+Linux or Windows etc.

If Font Bakery is not running on an OSX machine, the machine running Font
Bakery could access `ftxvalidator` on OSX, e.g. via ssh or a remote procedure
call (rpc).

There's an ssh example implementation at:
https://github.com/googlefonts/fontbakery/blob/master/prebuilt/workarounds/ftxvalidator/ssh-implementation/ftxvalidator


  • WARN ftxvalidator is not available.

[10] Russolo[opsz,wght].ttf
🔥 FAIL: DESCRIPTION.en_us.html must have less than 1000 bytes.
🔥 FAIL: Variable font weight coordinates must be multiples of 100.
--- Rationale ---

The named instances on the weight axis of a variable font must have coordinates
that are multiples of 100 on the design space.


  • 🔥 FAIL Found a variable font instance with 'wght'=275.0. This should instead be a multiple of 100. [code: bad-coordinate]
  • 🔥 FAIL Found a variable font instance with 'wght'=275.0. This should instead be a multiple of 100. [code: bad-coordinate]
  • 🔥 FAIL Found a variable font instance with 'wght'=275.0. This should instead be a multiple of 100. [code: bad-coordinate]
🔥 FAIL: A static fonts directory with at least two fonts must accompany variable fonts
--- Rationale ---

Variable font family directories kept in the google/fonts git repo must include
a static/ subdir containing static fonts.
These files are meant to be served for users that still lack support for
variable fonts in their web browsers.


  • 🔥 FAIL Please create a subdirectory called "static/" and include in it static font files. [code: missing]
🔥 FAIL: Check variable font instances have correct coordinate values
  • com.google.fonts/check/varfont_instance_coordinates

  • 🔥 FAIL Instance "10pt ExtraLight" wght value is "275.0". It should be "200.0" [code: bad-coordinate]

  • 🔥 FAIL Instance "24pt ExtraLight" wght value is "275.0". It should be "200.0" [code: bad-coordinate]

  • 🔥 FAIL Instance "72pt ExtraLight" wght value is "275.0". It should be "200.0" [code: bad-coordinate]

🔥 FAIL: Checking OS/2 Metrics match hhea Metrics.
--- Rationale ---

When OS/2 and hhea vertical metrics match, the same linespacing results on
macOS, GNU+Linux and Windows. Unfortunately as of 2018, Google Fonts has
released many fonts with vertical metrics that don't match in this way. When we
fix this issue in these existing families, we will create a visible change in
line/paragraph layout for either Windows or macOS users, which will upset some
of them.

But we have a duty to fix broken stuff, and inconsistent paragraph layout is
unacceptably broken when it is possible to avoid it.

If users complain and prefer the old broken version, they have the freedom to
take care of their own situation.


  • 🔥 FAIL OS/2 sTypoDescender (-486) and hhea descent (-526) must be equal. [code: descender]
🔥 FAIL: Are there unwanted tables?
--- Rationale ---

Some font editors store source data in their own SFNT tables, and these can
sometimes sneak into final release files, which should only have OpenType spec
tables.


They can be removed with the gftools fix-unwanted-tables script.

🔥 FAIL: Check glyphs do not have duplicate components which have the same x,y coordinates.
--- Rationale ---

There has been cases in which fonts had faulty double quote marks, with each of
them containing two single quote marks as components with the same x, y
coordinates which makes them visually look like single quote marks.

This check ensures that glyphs do not contain duplicate components which have
the same x,y coordinates.


  • 🔥 FAIL The following glyphs have duplicate components which have the same x,y coordinates:
    • {'glyph': 'uni2052', 'component': 'bullet', 'x': 0, 'y': 0} [code: found-duplicates]
WARN: Is there kerning info for non-ligated sequences?
--- Rationale ---

Fonts with ligatures should have kerning on the corresponding non-ligated
sequences for text where ligatures aren't used (eg
https://github.com/impallari/Raleway/issues/14).


  • WARN GPOS table lacks kerning info for the following non-ligated sequences:

    • f + f
    • f + i
    • i + f
    • f + l
    • l + f
    • i + l

    [code: lacks-kern-info]

WARN: Combined length of family and style must not exceed 27 characters.
--- Rationale ---

According to a GlyphsApp tutorial [1], in order to make sure all versions of
Windows recognize it as a valid font file, we must make sure that the
concatenated length of the familyname (NameID.FONT_FAMILY_NAME) and style
(NameID.FONT_SUBFAMILY_NAME) strings in the name table do not exceed 20
characters.

After discussing the problem in more detail at `FontBakery issue #2179 [2] we
decided that allowing up to 27 chars would still be on the safe side, though.

[1]
https://glyphsapp.com/tutorials/multiple-masters-part-3-setting-up-instances
[2] https://github.com/googlefonts/fontbakery/issues/2179


  • WARN The combined length of family and style exceeds 27 chars in the following 'WINDOWS' entries:
    FONT_FAMILY_NAME = 'Russolo 10pt ExtraLight' / SUBFAMILY_NAME = 'Regular'

Please take a look at the conversation at fonttools/fontbakery#2179 in order to understand the reasoning behind these name table records max-length criteria. [code: too-long]

WARN: Checking Vertical Metric Linegaps.

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 7 4 72 8 72 0
0% 4% 2% 44% 5% 44% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

Diff images: russolo_qa.zip

@laerm0
Copy link
Owner

laerm0 commented Feb 20, 2020

Okay, great, thank you. So looking at these issues one-by-one:

  1. Description over 1000 bytes, @davelab6 said this is fine (maybe this should be switched to a warn)
  2. Font weight must be 100s: aha, this is switched now officially, cool, fixing.
  3. Static dir needed: There was an issue somewhere on google/fonts where Rod said that since the statics can be generated from the VF, putting the statics online was irrelevant. I'm trying to find it.
  4. See 2
  5. Vert metrics: okay, totally stumped. My masters have identical metrics between hhea and typo, the instances have no metrics specified. Can't figure out where the build changes this.
  6. whoops MVAR
  7. uni0252 isn't in this font; it has bullet at uni2022 and bulletoperator at uni2219 as a composite of bullet. bullet is a real glyph without components and bulletoperator only has the single component.

@laerm0
Copy link
Owner

laerm0 commented Feb 20, 2020

Okay, fixed 2 and 6, new issue with names:

**Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.

* 🔥 **FAIL** TYPOGRAPHIC_SUBFAMILY_NAME entry for Win "24pt Regular" must be "Regular". Please note, since the font style is RIBBI, this record can be safely deleted. [code: bad-win-name]*

but
screenshot_2020-02-20_12-25-40
so where's the error?

@m4rc1e
Copy link
Author

m4rc1e commented Feb 21, 2020

🔥 FAIL: DESCRIPTION.en_us.html must have less than 1000 bytes.

Ignore

🔥 FAIL: Variable font weight coordinates must be multiples of 100.

Fix. Probably linked to the ExtraLight being 250

🔥 FAIL: A static fonts directory with at least two fonts must accompany variable fonts

Ignore. This is an issue with FB.

🔥 FAIL: Checking OS/2 Metrics match hhea Metrics.

Why not run grep on the dir with the values FB is finding? this should tell you which files you need to modify.

🔥 FAIL: Are there unwanted tables?

Use gftools fix-unwanted-tables

🔥 FAIL The following glyphs have duplicate components which have the same x,y coordinates:
{'glyph': 'uni2052', 'component': 'bullet', 'x': 0, 'y': 0} [code: found-duplicates]

That glyph is in the font, it is the commercialMinusSign. Remember we're checking binaries so the glyph names may have been converted from human readable names to uni names.

Screenshot 2020-02-21 at 14 56 53

Interestingly the glyph has been marked as non-exportable. I guess fontmake ignores this. If you don't need this glyph, you may as well delete it.

@laerm0
Copy link
Owner

laerm0 commented Feb 21, 2020

Why not run grep on the dir with the values FB is finding? this should tell you which files you need to modify.

Hey, great idea. 🎉

I'll delete the commercialMinusSign.

Thanks Marc.

@m4rc1e
Copy link
Author

m4rc1e commented Feb 21, 2020

Okay, fixed 2 and 6, new issue with names:
so where's the error?

Remember these checks are broken for multi axes vfs so I'm rewriting them.

As long as the instances comply to https://gist.github.com/m4rc1e/8f4c4498519e8a36cd54e16a004275cb#instance-names I'm happy.

@laerm0
Copy link
Owner

laerm0 commented Feb 21, 2020

Excellent. Thanks again.

@laerm0
Copy link
Owner

laerm0 commented Feb 24, 2020

Hey @m4rc1e, I now have a clean build except for fontbakery disliking 200 as a weight and the lack of a statics directory.

https://travis-ci.org/laerm0/Russolo/builds/654569964

@m4rc1e
Copy link
Author

m4rc1e commented Apr 24, 2020

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants