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

Correcting STAT table and other updates #22

Merged
merged 10 commits into from
Jul 20, 2021
Merged

Conversation

aaronbell
Copy link
Contributor

@aaronbell aaronbell commented Jun 22, 2021

I'm updating the font to help resolve STAT table issues. Here's the changes I've made to the file:

  • Updated build script to add STAT table with correct flags and added gftools fix-hinting
  • bumped version string

Now only 3 Fails

Fontbakery report

Fontbakery version: 0.7.37

[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/main/prebuilt/workarounds
/ftxvalidator/ssh-implementation/ftxvalidator
  • WARN Could not find ftxvalidator. [code: ftxvalidator-available]

[9] Comfortaa-VF.ttf
🔥 FAIL: Checking file is named canonically.
--- Rationale ---
A font's filename must be composed in the following manner:
<familyname>-<stylename>.ttf
- Nunito-Regular.ttf,
- Oswald-BoldItalic.ttf
Variable fonts must list the axis tags in alphabetical order in square brackets
and separated by commas:
- Roboto[wdth,wght].ttf
- Familyname-Italic[wght].ttf
  • 🔥 FAIL The file 'Comfortaa-VF.ttf' must be renamed to 'Comfortaa[wght].ttf' according to the Google Fonts naming policy for variable fonts. [code: bad-varfont-filename]
🔥 FAIL: Name table strings must not contain the string 'Reserved Font Name'.
--- Rationale ---
Some designers adopt the "Reserved Font Name" clause of the OFL license. This
means that the original author reserves the rights to the family name and other
people can only distribute modified versions using a different family name.
Google Fonts published updates to the fonts in the collection in order to fix
issues and/or implement further improvements to the fonts. It is important to
keep the family name so that users of the webfonts can benefit from the updates.
Since it would forbid such usage scenario, all families in the GFonts collection
are required to not adopt the RFN clause.
This check ensures "Reserved Font Name" is not mentioned in the name table.
  • 🔥 FAIL Name table entry ("Copyright 2011 The Comfortaa Project Authors (https://github.com/alexeiva/comfortaa), with Reserved Font Name "Comfortaa".") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
🔥 FAIL: Check glyphs do not have components which are themselves components.
--- Rationale ---
There have been bugs rendering variable fonts with nested components.
Additionally, some static fonts with nested components have been reported to
have rendering and printing issues.
For more info, see:
* https://github.com/googlefonts/fontbakery/issues/2961
* https://github.com/arrowtype/recursive/issues/412
  • 🔥 FAIL The following glyphs have components which themselves are component glyphs:
    • uni1EB6
    • uni1EAC
    • uni1EC6
    • uni1ED8
    • uni1EDA
    • uni1EE2
    • uni1EDC
    • uni1EDE
    • uni1EE0
    • uni1EE8 and 64 more. [code: found-nested-components]
WARN: Check copyright namerecords match license file.
--- Rationale ---
A known licensing description must be provided in the NameID 14 (LICENSE
DESCRIPTION) entries of the name table.
The source of truth for this check (to determine which license is in use) is a
file placed side-by-side to your font project including the licensing terms.
Depending on the chosen license, one of the following string snippets is
expected to be found on the NameID 13 (LICENSE DESCRIPTION) entries of the name
table:
- "This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is available with a FAQ at: https://scripts.sil.org/OFL"
- "Licensed under the Apache License, Version 2.0"
- "Licensed under the Ubuntu Font Licence 1.0."
Currently accepted licenses are Apache or Open Font License.
For a small set of legacy families the Ubuntu Font License may be acceptable as
well.
When in doubt, please choose OFL for new font projects.
  • WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description]
  • WARN For now we're still accepting http URLs, but you should consider using https instead.
    [code: http]
WARN: License URL matches License text on name table?
--- Rationale ---
A known license URL must be provided in the NameID 14 (LICENSE INFO URL) entry
of the name table.
The source of truth for this check is the licensing text found on the NameID 13
entry (LICENSE DESCRIPTION).
The string snippets used for detecting licensing terms are:
- "This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is available with a FAQ at: https://scripts.sil.org/OFL"
- "Licensed under the Apache License, Version 2.0"
- "Licensed under the Ubuntu Font Licence 1.0."
Currently accepted licenses are Apache or Open Font License.
For a small set of legacy families the Ubuntu Font License may be acceptable as
well.
When in doubt, please choose OFL for new font projects.
  • WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description]
  • WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description]
  • WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description]
  • WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=14] [code: http-in-license-info]
  • WARN For now we're still accepting http URLs, but you should consider using https instead.
    [code: http]
WARN: Font has old ttfautohint applied?
--- Rationale ---
This check finds which version of ttfautohint was used, by inspecting name table
entries and then finds which version of ttfautohint is currently installed in
the system.
  • WARN ttfautohint used in font = 1.8.1.43-b0c9; installed = 1.8.3; Need to re-run with the newer version! [code: old-ttfa]
WARN: Are there caret positions declared for every ligature?
--- Rationale ---
All ligatures in a font must have corresponding caret (text cursor) positions
defined in the GDEF table, otherwhise, users may experience issues with caret
rendering.
If using GlyphsApp or UFOs, ligature carets can be defined as anchors with names
starting with 'caret_'. These can be compiled with fontmake as of version
v2.4.0.
  • WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
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: Ensure Stylistic Sets have description.
--- Rationale ---
Stylistic sets should provide description text. Programs such as InDesign,
TextEdit and Inkscape use that info to display to the users so that they know
what a given stylistic set offers.
  • WARN The stylistic set ss01 lacks a description string on the 'name' table. [code: missing-description]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 3 7 93 8 93 0
0% 1% 3% 46% 4% 46% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

Please review the updated version! Thank you.

- Updated build script to add STAT table with correct flags
- Added Medium and SemiBold weights as required by GF
- Corrected the math symbols to be better center-aligned
- bumped version string
@aaronbell
Copy link
Contributor Author

@m4rc1e Marc - I think you did the original PR to GFs on this. Do you want to do the PR for the updated version, or should I?

@m4rc1e
Copy link
Contributor

m4rc1e commented Jun 23, 2021

If we're going to upgrade existing projects, I suggest we use the gftools builder. The config file for this project is going to be very trivial. Also, we should release this unhinted like the rest of the VFs.

@m4rc1e
Copy link
Contributor

m4rc1e commented Jun 23, 2021

For the ultimate win, let's use our https://github.com/googlefonts/Unified-Font-Repository. If we encounter any issues, we should fix them in that repo.

@aaronbell
Copy link
Contributor Author

Thanks Marc. My original thought was to make minimal changes to the repros, but yeah, it makes sense to do a full conversion since I’m already working on the files.

@aaronbell
Copy link
Contributor Author

@m4rc1e

I've updated the repository to follow the UFR guidelines. One oddity is that the github automated build process requires the creation of an additional branch (gh-pages) where it stores the results of the fontbakery checks. If I am updating others' repositories (where I can't seem to generate a new repro with the UFR template), if the repro owner doesn't create that branch, then the github action will always fail. Is there a reason why the build script puts those files in a separate branch rather than in a folder within the main branch?

@m4rc1e
Copy link
Contributor

m4rc1e commented Jun 29, 2021

Let's merge this and push it.

@m4rc1e
Copy link
Contributor

m4rc1e commented Jun 29, 2021

Actually, let me run a QA first.

@m4rc1e
Copy link
Contributor

m4rc1e commented Jun 29, 2021

Looks fab!

There are some rendering regressions since the previous released used the wip ttfa-vf.

Desktop_Windows_10_chrome_71 0_

Since we deprecated ttfa-vf and now just release VFs unhinted, we should merge this.

@aaronbell
Copy link
Contributor Author

Thanks Marc! Do you want me to handle PRing the update to GF?

@m4rc1e m4rc1e merged commit fcca100 into googlefonts:main Jul 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants