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

Mulish: Version 3.603 added #3762

Merged
merged 3 commits into from
Oct 14, 2021
Merged

Mulish: Version 3.603 added #3762

merged 3 commits into from
Oct 14, 2021

Conversation

aaronbell
Copy link
Collaborator

aed183b: [gftools-packager] Mulish: Version 3.603 added

eefca8f: [gftools-packager] ofl/mulish remove METADATA "source". #2587

@aaronbell aaronbell added -- Needs Upstream Resolution Upstream fix required before moving forward I VF I Font Upgrade labels Aug 26, 2021
@gf-bot
Copy link

gf-bot commented Aug 26, 2021

Fontbakery report

Fontbakery version: 0.8.1

[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]

[14] Mulish-Italic[wght].ttf
💔 ERROR: 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.
  • 💔 ERROR ttfautohint is not available. [code: not-available]
🔥 FAIL: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
--- Rationale ---
Requirements for the TYPOGRAPHIC_SUBFAMILY_NAME entries in the 'name' table.
  • 🔥 FAIL TYPOGRAPHIC_SUBFAMILY_NAME for Win "M0 Slant Italic" is incorrect. It must be "ExtraLight Italic". [code: bad-typo-win]
🔥 FAIL: Validate STAT particle names and values match the fallback names in GFAxisRegistry.
--- Rationale ---
Check that particle names and values on STAT table match the fallback names in
each axis entry at the Google Fonts Axis Registry, available at
https://github.com/google/fonts/tree/main/axisregistry
  • 🔥 FAIL On the font variation axis 'wght', the name 'ExtraBlack' is not among the expected ones (Thin, ExtraLight, Light, Regular, Medium, SemiBold, Bold, ExtraBold, Black) according to the Google Fonts Axis Registry. [code: invalid-name]
WARN: Checking OS/2 achVendID.
--- Rationale ---
Microsoft keeps a list of font vendors and their respective contact info. This
list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored
in the achVendID field of the OS/2 table.
Registering your ID is not mandatory, but it is a good practice since some
applications may display the type designer / type foundry contact info on some
dialog and also because that info will be visible on Microsoft's website:
https://docs.microsoft.com/en-us/typography/vendors/
This check verifies whether or not a given font's vendor ID is registered in
that list or if it has some of the default values used by the most common font
editors.
Each new FontBakery release includes a cached copy of that list of vendor IDs.
If you registered recently, you're safe to ignore warnings emitted by this
check, since your ID will soon be included in one of our upcoming releases.
  • WARN OS/2 VendorID value 'NONE' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
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: 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 + i
    • i + l

    [code: lacks-kern-info]

WARN: 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 may 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.
  • WARN Please consider adding a subdirectory called "static/" and including in it static font files. [code: missing]
WARN: METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
--- Rationale ---
Google Fonts has a catalog of designers.
This check ensures that the online entries of the catalog can be found based on
the designer names listed on the METADATA.pb file.
It also validates the URLs and file formats are all correctly set.
  • WARN Designer Vernon Adams does not have a webpage link on the catalog. Please consider providing one. [code: missing-link]
  • WARN Designer Cyreal does not have a webpage link on the catalog. Please consider providing one. [code: missing-link]
  • WARN It seems that Jacques Le Bailly is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry. [code: profile-not-found]
WARN: On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
--- Rationale ---
We want to ensure that any significant changes to the font family are properly
mentioned in the DESCRIPTION file.
In general, it means that the contents of the DESCRIPTION.en_us.html file will
typically change if when font files are updated. Please treat this check as a
reminder to do so whenever appropriate!
  • WARN The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo.
    Please consider mentioning note-worthy improvements made to the family recently. [code: description-not-updated]
WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table.
--- Rationale ---
The OpenType 'meta' table originated at Apple. Microsoft added it to OT with
just two DataMap records:
- dlng: comma-separated ScriptLangTags that indicate which scripts, or languages
and scripts, with possible variants, the font is designed for
- slng: comma-separated ScriptLangTags that indicate which scripts, or languages
and scripts, with possible variants, the font supports
The slng structure is intended to describe which languages and scripts the font
overall supports. For example, a Traditional Chinese font that also contains
Latin characters, can indicate Hant,Latn, showing that it supports Hant, the
Traditional Chinese variant of the Hani script, and it also supports the Latn
script
The dlng structure is far more interesting. A font may contain various glyphs,
but only a particular subset of the glyphs may be truly "leading" in the design,
while other glyphs may have been included for technical reasons. Such a
Traditional Chinese font could only list Hant there, showing that it’s designed
for Traditional Chinese, but the font would omit Latn, because the developers
don’t think the font is really recommended for purely Latin-script use.
The tags used in the structures can comprise just script, or also language and
script. For example, if a font has Bulgarian Cyrillic alternates in the locl
feature for the cyrl BGR OT languagesystem, it could also indicate in dlng
explicitly that it supports bul-Cyrl. (Note that the scripts and languages in
meta use the ISO language and script codes, not the OpenType ones).
This check ensures that the font has the meta table containing the slng and dlng
structures.
All families in the Google Fonts collection should contain the 'meta' table.
Windows 10 already uses it when deciding on which fonts to fall back to. The
Google Fonts API and also other environments could use the data for smarter
filtering. Most importantly, those entries should be added to the Noto fonts.
In the font making process, some environments store this data in external files
already. But the meta table provides a convenient way to store this inside the
font file, so some tools may add the data, and unrelated tools may read this
data. This makes the solution much more portable and universal.
  • WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
WARN: Font contains '.notdef' as its first glyph?
--- Rationale ---
The OpenType specification v1.8.2 recommends that the first glyph is the
'.notdef' glyph without a codepoint assigned and with a drawing.
https://docs.microsoft.com/en-us/typography/opentype/spec
/recom#glyph-0-the-notdef-glyph
Pre-v1.8, it was recommended that fonts should also contain 'space', 'CR' and
'.null' glyphs. This might have been relevant for MacOS 9 applications.
  • WARN Glyph '.notdef' should contain a drawing, but it is empty. [code: empty]
WARN: Does the font have a DSIG table?
--- Rationale ---
Microsoft Office 2013 and below products expect fonts to have a digital
signature declared in a DSIG table in order to implement OpenType features. The
EOL date for Microsoft Office 2013 products is 4/11/2023. This issue does not
impact Microsoft Office 2016 and above products.
As we approach the EOL date, it is now considered better to completely remove
the table.
But if you still want your font to support OpenType features on Office 2013,
then you may find it handy to add a fake signature on a dummy DSIG table by
running one of the helper scripts provided at
https://github.com/googlefonts/gftools
Reference: https://github.com/googlefonts/fontbakery/issues/1845
  • WARN This font has a digital signature (DSIG table) which is only required - even if only a dummy placeholder - on old programs like MS Office 2013 in order to work properly.
    The current recommendation is to completely remove the DSIG table. [code: found-DSIG]
WARN: Are there any misaligned on-curve points?
--- Rationale ---
This check heuristically looks for on-curve points which are close to, but do
not sit on, significant boundary coordinates. For example, a point which has a
Y-coordinate of 1 or -1 might be a misplaced baseline point. As well as the
baseline, here we also check for points near the x-height (but only for lower
case Latin letters), cap-height, ascender and descender Y coordinates.
Not all such misaligned curve points are a mistake, and sometimes the design may
call for points in locations near the boundaries. As this check is liable to
generate significant numbers of false positives, it will pass if there are more
than 100 reported misalignments.
  • WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • five (U+0035): X=198.5,Y=2.0 (should be at baseline 0?)
    • question (U+003F): X=214.0,Y=706.0 (should be at cap-height 705?)
    • G (U+0047): X=453.5,Y=-1.5 (should be at baseline 0?)
    • Q (U+0051): X=371.0,Y=1.0 (should be at baseline 0?)
    • Oslash (U+00D8): X=110.0,Y=-2.0 (should be at baseline 0?)
    • Oslash (U+00D8): X=682.0,Y=707.0 (should be at cap-height 705?)
    • atilde (U+00E3): X=317.5,Y=703.0 (should be at cap-height 705?)
    • eth (U+00F0): X=329.5,Y=704.5 (should be at cap-height 705?)
    • ntilde (U+00F1): X=316.5,Y=703.0 (should be at cap-height 705?)
    • otilde (U+00F5): X=309.5,Y=703.0 (should be at cap-height 705?) and 62 more. [code: found-misalignments]

[12] Mulish[wght].ttf
💔 ERROR: 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.
  • 💔 ERROR ttfautohint is not available. [code: not-available]
🔥 FAIL: Validate STAT particle names and values match the fallback names in GFAxisRegistry.
--- Rationale ---
Check that particle names and values on STAT table match the fallback names in
each axis entry at the Google Fonts Axis Registry, available at
https://github.com/google/fonts/tree/main/axisregistry
  • 🔥 FAIL On the font variation axis 'wght', the name 'ExtraBlack' is not among the expected ones (Thin, ExtraLight, Light, Regular, Medium, SemiBold, Bold, ExtraBold, Black) according to the Google Fonts Axis Registry. [code: invalid-name]
WARN: Checking OS/2 achVendID.
--- Rationale ---
Microsoft keeps a list of font vendors and their respective contact info. This
list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored
in the achVendID field of the OS/2 table.
Registering your ID is not mandatory, but it is a good practice since some
applications may display the type designer / type foundry contact info on some
dialog and also because that info will be visible on Microsoft's website:
https://docs.microsoft.com/en-us/typography/vendors/
This check verifies whether or not a given font's vendor ID is registered in
that list or if it has some of the default values used by the most common font
editors.
Each new FontBakery release includes a cached copy of that list of vendor IDs.
If you registered recently, you're safe to ignore warnings emitted by this
check, since your ID will soon be included in one of our upcoming releases.
  • WARN OS/2 VendorID value 'NONE' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
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: 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 + i
    • i + l

    [code: lacks-kern-info]

WARN: 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 may 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.
  • WARN Please consider adding a subdirectory called "static/" and including in it static font files. [code: missing]
WARN: METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
--- Rationale ---
Google Fonts has a catalog of designers.
This check ensures that the online entries of the catalog can be found based on
the designer names listed on the METADATA.pb file.
It also validates the URLs and file formats are all correctly set.
  • WARN Designer Vernon Adams does not have a webpage link on the catalog. Please consider providing one. [code: missing-link]
  • WARN Designer Cyreal does not have a webpage link on the catalog. Please consider providing one. [code: missing-link]
  • WARN It seems that Jacques Le Bailly is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry. [code: profile-not-found]
WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table.
--- Rationale ---
The OpenType 'meta' table originated at Apple. Microsoft added it to OT with
just two DataMap records:
- dlng: comma-separated ScriptLangTags that indicate which scripts, or languages
and scripts, with possible variants, the font is designed for
- slng: comma-separated ScriptLangTags that indicate which scripts, or languages
and scripts, with possible variants, the font supports
The slng structure is intended to describe which languages and scripts the font
overall supports. For example, a Traditional Chinese font that also contains
Latin characters, can indicate Hant,Latn, showing that it supports Hant, the
Traditional Chinese variant of the Hani script, and it also supports the Latn
script
The dlng structure is far more interesting. A font may contain various glyphs,
but only a particular subset of the glyphs may be truly "leading" in the design,
while other glyphs may have been included for technical reasons. Such a
Traditional Chinese font could only list Hant there, showing that it’s designed
for Traditional Chinese, but the font would omit Latn, because the developers
don’t think the font is really recommended for purely Latin-script use.
The tags used in the structures can comprise just script, or also language and
script. For example, if a font has Bulgarian Cyrillic alternates in the locl
feature for the cyrl BGR OT languagesystem, it could also indicate in dlng
explicitly that it supports bul-Cyrl. (Note that the scripts and languages in
meta use the ISO language and script codes, not the OpenType ones).
This check ensures that the font has the meta table containing the slng and dlng
structures.
All families in the Google Fonts collection should contain the 'meta' table.
Windows 10 already uses it when deciding on which fonts to fall back to. The
Google Fonts API and also other environments could use the data for smarter
filtering. Most importantly, those entries should be added to the Noto fonts.
In the font making process, some environments store this data in external files
already. But the meta table provides a convenient way to store this inside the
font file, so some tools may add the data, and unrelated tools may read this
data. This makes the solution much more portable and universal.
  • WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
WARN: Font contains '.notdef' as its first glyph?
--- Rationale ---
The OpenType specification v1.8.2 recommends that the first glyph is the
'.notdef' glyph without a codepoint assigned and with a drawing.
https://docs.microsoft.com/en-us/typography/opentype/spec
/recom#glyph-0-the-notdef-glyph
Pre-v1.8, it was recommended that fonts should also contain 'space', 'CR' and
'.null' glyphs. This might have been relevant for MacOS 9 applications.
  • WARN Glyph '.notdef' should contain a drawing, but it is empty. [code: empty]
WARN: Does the font have a DSIG table?
--- Rationale ---
Microsoft Office 2013 and below products expect fonts to have a digital
signature declared in a DSIG table in order to implement OpenType features. The
EOL date for Microsoft Office 2013 products is 4/11/2023. This issue does not
impact Microsoft Office 2016 and above products.
As we approach the EOL date, it is now considered better to completely remove
the table.
But if you still want your font to support OpenType features on Office 2013,
then you may find it handy to add a fake signature on a dummy DSIG table by
running one of the helper scripts provided at
https://github.com/googlefonts/gftools
Reference: https://github.com/googlefonts/fontbakery/issues/1845
  • WARN This font has a digital signature (DSIG table) which is only required - even if only a dummy placeholder - on old programs like MS Office 2013 in order to work properly.
    The current recommendation is to completely remove the DSIG table. [code: found-DSIG]
WARN: Are there any misaligned on-curve points?
--- Rationale ---
This check heuristically looks for on-curve points which are close to, but do
not sit on, significant boundary coordinates. For example, a point which has a
Y-coordinate of 1 or -1 might be a misplaced baseline point. As well as the
baseline, here we also check for points near the x-height (but only for lower
case Latin letters), cap-height, ascender and descender Y coordinates.
Not all such misaligned curve points are a mistake, and sometimes the design may
call for points in locations near the boundaries. As this check is liable to
generate significant numbers of false positives, it will pass if there are more
than 100 reported misalignments.
  • WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • five (U+0035): X=232.0,Y=2.0 (should be at baseline 0?)
    • Q (U+0051): X=411.0,Y=1.0 (should be at baseline 0?)
    • ordfeminine (U+00AA): X=94.0,Y=705.5 (should be at cap-height 705?)
    • germandbls (U+00DF): X=311.0,Y=-0.5 (should be at baseline 0?)
    • atilde (U+00E3): X=252.5,Y=706.5 (should be at cap-height 705?)
    • eth (U+00F0): X=258.0,Y=704.5 (should be at cap-height 705?)
    • ntilde (U+00F1): X=251.5,Y=706.5 (should be at cap-height 705?)
    • otilde (U+00F5): X=244.5,Y=706.5 (should be at cap-height 705?)
    • itilde (U+0129): X=76.5,Y=706.5 (should be at cap-height 705?)
    • OE (U+0152): X=462.0,Y=0.5 (should be at baseline 0?) and 50 more. [code: found-misalignments]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
2 3 22 91 15 277 0
0% 1% 5% 22% 4% 68% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

@aaronbell
Copy link
Collaborator Author

Updated

Mulish: Version 3.603 added


0dd0918: [gftools-packager] Mulish: Version 3.603 added

d060e18: [gftools-packager] ofl/mulish remove METADATA "source". #2587

@aaronbell aaronbell force-pushed the gftools_packager_ofl_mulish branch from 463d566 to d060e18 Compare September 27, 2021 16:39
@aaronbell aaronbell added - Ready for Review and removed -- Needs Upstream Resolution Upstream fix required before moving forward labels Sep 27, 2021
@aaronbell
Copy link
Collaborator Author

Ready! :)

@gf-bot
Copy link

gf-bot commented Sep 30, 2021

Fontbakery report

Fontbakery version: 0.8.2

[16] Mulish-Italic[wght].ttf
🔥 FAIL: METADATA.pb: check if fonts field only has unique "full_name" values.
🔥 FAIL: METADATA.pb: check if fonts field only contains unique style:weight pairs.
🔥 FAIL: METADATA.pb font.style "normal" matches font internals?
🔥 FAIL: METADATA.pb: Font styles are named canonically?
🔥 FAIL: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
--- Rationale ---
Requirements for the TYPOGRAPHIC_SUBFAMILY_NAME entries in the 'name' table.
  • 🔥 FAIL TYPOGRAPHIC_SUBFAMILY_NAME for Win "ExtraLight" is incorrect. It must be "ExtraLight Italic". [code: bad-typo-win]
🔥 FAIL: Validate STAT particle names and values match the fallback names in GFAxisRegistry.
--- Rationale ---
Check that particle names and values on STAT table match the fallback names in
each axis entry at the Google Fonts Axis Registry, available at
https://github.com/google/fonts/tree/main/axisregistry
  • 🔥 FAIL On the font variation axis 'wght', the name 'ExtraBlack' is not among the expected ones (Thin, ExtraLight, Light, Regular, Medium, SemiBold, Bold, ExtraBold, Black) according to the Google Fonts Axis Registry. [code: invalid-name]
WARN: Checking OS/2 achVendID.
--- Rationale ---
Microsoft keeps a list of font vendors and their respective contact info. This
list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored
in the achVendID field of the OS/2 table.
Registering your ID is not mandatory, but it is a good practice since some
applications may display the type designer / type foundry contact info on some
dialog and also because that info will be visible on Microsoft's website:
https://docs.microsoft.com/en-us/typography/vendors/
This check verifies whether or not a given font's vendor ID is registered in
that list or if it has some of the default values used by the most common font
editors.
Each new FontBakery release includes a cached copy of that list of vendor IDs.
If you registered recently, you're safe to ignore warnings emitted by this
check, since your ID will soon be included in one of our upcoming releases.
  • WARN OS/2 VendorID value 'NONE' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
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: 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 + i
    • i + l

    [code: lacks-kern-info]

WARN: 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 may 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.
  • WARN Please consider adding a subdirectory called "static/" and including in it static font files. [code: missing]
WARN: On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
--- Rationale ---
We want to ensure that any significant changes to the font family are properly
mentioned in the DESCRIPTION file.
In general, it means that the contents of the DESCRIPTION.en_us.html file will
typically change if when font files are updated. Please treat this check as a
reminder to do so whenever appropriate!
  • WARN The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo.
    Please consider mentioning note-worthy improvements made to the family recently. [code: description-not-updated]
WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table.
--- Rationale ---
The OpenType 'meta' table originated at Apple. Microsoft added it to OT with
just two DataMap records:
- dlng: comma-separated ScriptLangTags that indicate which scripts, or languages
and scripts, with possible variants, the font is designed for
- slng: comma-separated ScriptLangTags that indicate which scripts, or languages
and scripts, with possible variants, the font supports
The slng structure is intended to describe which languages and scripts the font
overall supports. For example, a Traditional Chinese font that also contains
Latin characters, can indicate Hant,Latn, showing that it supports Hant, the
Traditional Chinese variant of the Hani script, and it also supports the Latn
script
The dlng structure is far more interesting. A font may contain various glyphs,
but only a particular subset of the glyphs may be truly "leading" in the design,
while other glyphs may have been included for technical reasons. Such a
Traditional Chinese font could only list Hant there, showing that it’s designed
for Traditional Chinese, but the font would omit Latn, because the developers
don’t think the font is really recommended for purely Latin-script use.
The tags used in the structures can comprise just script, or also language and
script. For example, if a font has Bulgarian Cyrillic alternates in the locl
feature for the cyrl BGR OT languagesystem, it could also indicate in dlng
explicitly that it supports bul-Cyrl. (Note that the scripts and languages in
meta use the ISO language and script codes, not the OpenType ones).
This check ensures that the font has the meta table containing the slng and dlng
structures.
All families in the Google Fonts collection should contain the 'meta' table.
Windows 10 already uses it when deciding on which fonts to fall back to. The
Google Fonts API and also other environments could use the data for smarter
filtering. Most importantly, those entries should be added to the Noto fonts.
In the font making process, some environments store this data in external files
already. But the meta table provides a convenient way to store this inside the
font file, so some tools may add the data, and unrelated tools may read this
data. This makes the solution much more portable and universal.
  • WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
WARN: Font contains '.notdef' as its first glyph?
--- Rationale ---
The OpenType specification v1.8.2 recommends that the first glyph is the
'.notdef' glyph without a codepoint assigned and with a drawing.
https://docs.microsoft.com/en-us/typography/opentype/spec
/recom#glyph-0-the-notdef-glyph
Pre-v1.8, it was recommended that fonts should also contain 'space', 'CR' and
'.null' glyphs. This might have been relevant for MacOS 9 applications.
  • WARN Glyph '.notdef' should contain a drawing, but it is empty. [code: empty]
WARN: Does the font have a DSIG table?
--- Rationale ---
Microsoft Office 2013 and below products expect fonts to have a digital
signature declared in a DSIG table in order to implement OpenType features. The
EOL date for Microsoft Office 2013 products is 4/11/2023. This issue does not
impact Microsoft Office 2016 and above products.
As we approach the EOL date, it is now considered better to completely remove
the table.
But if you still want your font to support OpenType features on Office 2013,
then you may find it handy to add a fake signature on a dummy DSIG table by
running one of the helper scripts provided at
https://github.com/googlefonts/gftools
Reference: https://github.com/googlefonts/fontbakery/issues/1845
  • WARN This font has a digital signature (DSIG table) which is only required - even if only a dummy placeholder - on old programs like MS Office 2013 in order to work properly.
    The current recommendation is to completely remove the DSIG table. [code: found-DSIG]
WARN: Are there any misaligned on-curve points?
--- Rationale ---
This check heuristically looks for on-curve points which are close to, but do
not sit on, significant boundary coordinates. For example, a point which has a
Y-coordinate of 1 or -1 might be a misplaced baseline point. As well as the
baseline, here we also check for points near the x-height (but only for lower
case Latin letters), cap-height, ascender and descender Y coordinates.
Not all such misaligned curve points are a mistake, and sometimes the design may
call for points in locations near the boundaries. As this check is liable to
generate significant numbers of false positives, it will pass if there are more
than 100 reported misalignments.
  • WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • five (U+0035): X=198.5,Y=2.0 (should be at baseline 0?)
    • question (U+003F): X=214.0,Y=706.0 (should be at cap-height 705?)
    • G (U+0047): X=453.5,Y=-1.5 (should be at baseline 0?)
    • Q (U+0051): X=371.0,Y=1.0 (should be at baseline 0?)
    • Oslash (U+00D8): X=110.0,Y=-2.0 (should be at baseline 0?)
    • Oslash (U+00D8): X=682.0,Y=707.0 (should be at cap-height 705?)
    • atilde (U+00E3): X=317.5,Y=703.0 (should be at cap-height 705?)
    • eth (U+00F0): X=329.5,Y=704.5 (should be at cap-height 705?)
    • ntilde (U+00F1): X=316.5,Y=703.0 (should be at cap-height 705?)
    • otilde (U+00F5): X=309.5,Y=703.0 (should be at cap-height 705?) and 62 more. [code: found-misalignments]

[12] Mulish[wght].ttf
🔥 FAIL: METADATA.pb: check if fonts field only has unique "full_name" values.
🔥 FAIL: METADATA.pb: check if fonts field only contains unique style:weight pairs.
🔥 FAIL: Validate STAT particle names and values match the fallback names in GFAxisRegistry.
--- Rationale ---
Check that particle names and values on STAT table match the fallback names in
each axis entry at the Google Fonts Axis Registry, available at
https://github.com/google/fonts/tree/main/axisregistry
  • 🔥 FAIL On the font variation axis 'wght', the name 'ExtraBlack' is not among the expected ones (Thin, ExtraLight, Light, Regular, Medium, SemiBold, Bold, ExtraBold, Black) according to the Google Fonts Axis Registry. [code: invalid-name]
WARN: Checking OS/2 achVendID.
--- Rationale ---
Microsoft keeps a list of font vendors and their respective contact info. This
list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored
in the achVendID field of the OS/2 table.
Registering your ID is not mandatory, but it is a good practice since some
applications may display the type designer / type foundry contact info on some
dialog and also because that info will be visible on Microsoft's website:
https://docs.microsoft.com/en-us/typography/vendors/
This check verifies whether or not a given font's vendor ID is registered in
that list or if it has some of the default values used by the most common font
editors.
Each new FontBakery release includes a cached copy of that list of vendor IDs.
If you registered recently, you're safe to ignore warnings emitted by this
check, since your ID will soon be included in one of our upcoming releases.
  • WARN OS/2 VendorID value 'NONE' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
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: 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 + i
    • i + l

    [code: lacks-kern-info]

WARN: 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 may 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.
  • WARN Please consider adding a subdirectory called "static/" and including in it static font files. [code: missing]
WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table.
--- Rationale ---
The OpenType 'meta' table originated at Apple. Microsoft added it to OT with
just two DataMap records:
- dlng: comma-separated ScriptLangTags that indicate which scripts, or languages
and scripts, with possible variants, the font is designed for
- slng: comma-separated ScriptLangTags that indicate which scripts, or languages
and scripts, with possible variants, the font supports
The slng structure is intended to describe which languages and scripts the font
overall supports. For example, a Traditional Chinese font that also contains
Latin characters, can indicate Hant,Latn, showing that it supports Hant, the
Traditional Chinese variant of the Hani script, and it also supports the Latn
script
The dlng structure is far more interesting. A font may contain various glyphs,
but only a particular subset of the glyphs may be truly "leading" in the design,
while other glyphs may have been included for technical reasons. Such a
Traditional Chinese font could only list Hant there, showing that it’s designed
for Traditional Chinese, but the font would omit Latn, because the developers
don’t think the font is really recommended for purely Latin-script use.
The tags used in the structures can comprise just script, or also language and
script. For example, if a font has Bulgarian Cyrillic alternates in the locl
feature for the cyrl BGR OT languagesystem, it could also indicate in dlng
explicitly that it supports bul-Cyrl. (Note that the scripts and languages in
meta use the ISO language and script codes, not the OpenType ones).
This check ensures that the font has the meta table containing the slng and dlng
structures.
All families in the Google Fonts collection should contain the 'meta' table.
Windows 10 already uses it when deciding on which fonts to fall back to. The
Google Fonts API and also other environments could use the data for smarter
filtering. Most importantly, those entries should be added to the Noto fonts.
In the font making process, some environments store this data in external files
already. But the meta table provides a convenient way to store this inside the
font file, so some tools may add the data, and unrelated tools may read this
data. This makes the solution much more portable and universal.
  • WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
WARN: Font contains '.notdef' as its first glyph?
--- Rationale ---
The OpenType specification v1.8.2 recommends that the first glyph is the
'.notdef' glyph without a codepoint assigned and with a drawing.
https://docs.microsoft.com/en-us/typography/opentype/spec
/recom#glyph-0-the-notdef-glyph
Pre-v1.8, it was recommended that fonts should also contain 'space', 'CR' and
'.null' glyphs. This might have been relevant for MacOS 9 applications.
  • WARN Glyph '.notdef' should contain a drawing, but it is empty. [code: empty]
WARN: Does the font have a DSIG table?
--- Rationale ---
Microsoft Office 2013 and below products expect fonts to have a digital
signature declared in a DSIG table in order to implement OpenType features. The
EOL date for Microsoft Office 2013 products is 4/11/2023. This issue does not
impact Microsoft Office 2016 and above products.
As we approach the EOL date, it is now considered better to completely remove
the table.
But if you still want your font to support OpenType features on Office 2013,
then you may find it handy to add a fake signature on a dummy DSIG table by
running one of the helper scripts provided at
https://github.com/googlefonts/gftools
Reference: https://github.com/googlefonts/fontbakery/issues/1845
  • WARN This font has a digital signature (DSIG table) which is only required - even if only a dummy placeholder - on old programs like MS Office 2013 in order to work properly.
    The current recommendation is to completely remove the DSIG table. [code: found-DSIG]
WARN: Are there any misaligned on-curve points?
--- Rationale ---
This check heuristically looks for on-curve points which are close to, but do
not sit on, significant boundary coordinates. For example, a point which has a
Y-coordinate of 1 or -1 might be a misplaced baseline point. As well as the
baseline, here we also check for points near the x-height (but only for lower
case Latin letters), cap-height, ascender and descender Y coordinates.
Not all such misaligned curve points are a mistake, and sometimes the design may
call for points in locations near the boundaries. As this check is liable to
generate significant numbers of false positives, it will pass if there are more
than 100 reported misalignments.
  • WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • five (U+0035): X=232.0,Y=2.0 (should be at baseline 0?)
    • Q (U+0051): X=411.0,Y=1.0 (should be at baseline 0?)
    • ordfeminine (U+00AA): X=94.0,Y=705.5 (should be at cap-height 705?)
    • germandbls (U+00DF): X=311.0,Y=-0.5 (should be at baseline 0?)
    • atilde (U+00E3): X=252.5,Y=706.5 (should be at cap-height 705?)
    • eth (U+00F0): X=258.0,Y=704.5 (should be at cap-height 705?)
    • ntilde (U+00F1): X=251.5,Y=706.5 (should be at cap-height 705?)
    • otilde (U+00F5): X=244.5,Y=706.5 (should be at cap-height 705?)
    • itilde (U+0129): X=76.5,Y=706.5 (should be at cap-height 705?)
    • OE (U+0152): X=462.0,Y=0.5 (should be at baseline 0?) and 50 more. [code: found-misalignments]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 9 19 95 17 280 0
0% 2% 5% 23% 4% 67% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

@RosaWagner
Copy link
Contributor

There is an issue with the name table in Mulish Italic, name ID 1 and 2 are correct though.

    <namerecord nameID="3" platformID="3" platEncID="1" langID="0x409">
      3.603;NONE;Mulish-ExtraLight
    </namerecord>
    <namerecord nameID="4" platformID="3" platEncID="1" langID="0x409">
      Mulish ExtraLight
    </namerecord>
    <namerecord nameID="5" platformID="3" platEncID="1" langID="0x409">
      Version 3.603
    </namerecord>
    <namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
      Mulish-ExtraLight
    </namerecord>
    <namerecord nameID="16" platformID="3" platEncID="1" langID="0x409">
      Mulish
    </namerecord>
    <namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
      ExtraLight
    </namerecord>

@RosaWagner RosaWagner added -- Needs Upstream Resolution Upstream fix required before moving forward and removed - Ready for Review labels Sep 30, 2021
@aaronbell
Copy link
Collaborator Author

Ugggg. So apparently fontmake doesn't like it when your masters in the Italic are named "ExtraLight", "Regular" and so forth rather than "ExtraLight Italic" and "Italic". This naming is the result of that. I'm really not sure why it doesn't determine nameID 3,4,5,6,17 based on the nameID field 1,2 itself rather than the master name...

Anyway, I'll submit an update upstream.

@aaronbell
Copy link
Collaborator Author

Updated

Mulish: Version 3.603 added


8a21c4b: [gftools-packager] Mulish: Version 3.603 added

1e1a96c: [gftools-packager] ofl/mulish remove METADATA "source". #2587

@aaronbell aaronbell force-pushed the gftools_packager_ofl_mulish branch from d060e18 to 1e1a96c Compare October 1, 2021 15:48
@aaronbell
Copy link
Collaborator Author

name tables updated!

@aaronbell aaronbell added - Ready for Review and removed -- Needs Upstream Resolution Upstream fix required before moving forward labels Oct 1, 2021
@gf-bot
Copy link

gf-bot commented Oct 8, 2021

Fontbakery report

Fontbakery version: 0.8.2

[12] Mulish-Italic[wght].ttf
🔥 FAIL: Validate STAT particle names and values match the fallback names in GFAxisRegistry.
--- Rationale ---
Check that particle names and values on STAT table match the fallback names in
each axis entry at the Google Fonts Axis Registry, available at
https://github.com/google/fonts/tree/main/axisregistry
  • 🔥 FAIL On the font variation axis 'wght', the name 'ExtraBlack' is not among the expected ones (Thin, ExtraLight, Light, Regular, Medium, SemiBold, Bold, ExtraBold, Black) according to the Google Fonts Axis Registry. [code: invalid-name]
WARN: Checking OS/2 achVendID.
--- Rationale ---
Microsoft keeps a list of font vendors and their respective contact info. This
list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored
in the achVendID field of the OS/2 table.
Registering your ID is not mandatory, but it is a good practice since some
applications may display the type designer / type foundry contact info on some
dialog and also because that info will be visible on Microsoft's website:
https://docs.microsoft.com/en-us/typography/vendors/
This check verifies whether or not a given font's vendor ID is registered in
that list or if it has some of the default values used by the most common font
editors.
Each new FontBakery release includes a cached copy of that list of vendor IDs.
If you registered recently, you're safe to ignore warnings emitted by this
check, since your ID will soon be included in one of our upcoming releases.
  • WARN OS/2 VendorID value 'NONE' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
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: 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 + i
    • i + l

    [code: lacks-kern-info]

WARN: 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 may 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.
  • WARN Please consider adding a subdirectory called "static/" and including in it static font files. [code: missing]
WARN: METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
--- Rationale ---
Google Fonts has a catalog of designers.
This check ensures that the online entries of the catalog can be found based on
the designer names listed on the METADATA.pb file.
It also validates the URLs and file formats are all correctly set.
  • WARN It seems that Jacques Le Bailly is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry. [code: profile-not-found]
WARN: On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
--- Rationale ---
We want to ensure that any significant changes to the font family are properly
mentioned in the DESCRIPTION file.
In general, it means that the contents of the DESCRIPTION.en_us.html file will
typically change if when font files are updated. Please treat this check as a
reminder to do so whenever appropriate!
  • WARN The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo.
    Please consider mentioning note-worthy improvements made to the family recently. [code: description-not-updated]
WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table.
--- Rationale ---
The OpenType 'meta' table originated at Apple. Microsoft added it to OT with
just two DataMap records:
- dlng: comma-separated ScriptLangTags that indicate which scripts, or languages
and scripts, with possible variants, the font is designed for
- slng: comma-separated ScriptLangTags that indicate which scripts, or languages
and scripts, with possible variants, the font supports
The slng structure is intended to describe which languages and scripts the font
overall supports. For example, a Traditional Chinese font that also contains
Latin characters, can indicate Hant,Latn, showing that it supports Hant, the
Traditional Chinese variant of the Hani script, and it also supports the Latn
script
The dlng structure is far more interesting. A font may contain various glyphs,
but only a particular subset of the glyphs may be truly "leading" in the design,
while other glyphs may have been included for technical reasons. Such a
Traditional Chinese font could only list Hant there, showing that it’s designed
for Traditional Chinese, but the font would omit Latn, because the developers
don’t think the font is really recommended for purely Latin-script use.
The tags used in the structures can comprise just script, or also language and
script. For example, if a font has Bulgarian Cyrillic alternates in the locl
feature for the cyrl BGR OT languagesystem, it could also indicate in dlng
explicitly that it supports bul-Cyrl. (Note that the scripts and languages in
meta use the ISO language and script codes, not the OpenType ones).
This check ensures that the font has the meta table containing the slng and dlng
structures.
All families in the Google Fonts collection should contain the 'meta' table.
Windows 10 already uses it when deciding on which fonts to fall back to. The
Google Fonts API and also other environments could use the data for smarter
filtering. Most importantly, those entries should be added to the Noto fonts.
In the font making process, some environments store this data in external files
already. But the meta table provides a convenient way to store this inside the
font file, so some tools may add the data, and unrelated tools may read this
data. This makes the solution much more portable and universal.
  • WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
WARN: Font contains '.notdef' as its first glyph?
--- Rationale ---
The OpenType specification v1.8.2 recommends that the first glyph is the
'.notdef' glyph without a codepoint assigned and with a drawing.
https://docs.microsoft.com/en-us/typography/opentype/spec
/recom#glyph-0-the-notdef-glyph
Pre-v1.8, it was recommended that fonts should also contain 'space', 'CR' and
'.null' glyphs. This might have been relevant for MacOS 9 applications.
  • WARN Glyph '.notdef' should contain a drawing, but it is empty. [code: empty]
WARN: Does the font have a DSIG table?
--- Rationale ---
Microsoft Office 2013 and below products expect fonts to have a digital
signature declared in a DSIG table in order to implement OpenType features. The
EOL date for Microsoft Office 2013 products is 4/11/2023. This issue does not
impact Microsoft Office 2016 and above products.
As we approach the EOL date, it is now considered better to completely remove
the table.
But if you still want your font to support OpenType features on Office 2013,
then you may find it handy to add a fake signature on a dummy DSIG table by
running one of the helper scripts provided at
https://github.com/googlefonts/gftools
Reference: https://github.com/googlefonts/fontbakery/issues/1845
  • WARN This font has a digital signature (DSIG table) which is only required - even if only a dummy placeholder - on old programs like MS Office 2013 in order to work properly.
    The current recommendation is to completely remove the DSIG table. [code: found-DSIG]
WARN: Are there any misaligned on-curve points?
--- Rationale ---
This check heuristically looks for on-curve points which are close to, but do
not sit on, significant boundary coordinates. For example, a point which has a
Y-coordinate of 1 or -1 might be a misplaced baseline point. As well as the
baseline, here we also check for points near the x-height (but only for lower
case Latin letters), cap-height, ascender and descender Y coordinates.
Not all such misaligned curve points are a mistake, and sometimes the design may
call for points in locations near the boundaries. As this check is liable to
generate significant numbers of false positives, it will pass if there are more
than 100 reported misalignments.
  • WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • five (U+0035): X=198.5,Y=2.0 (should be at baseline 0?)
    • question (U+003F): X=214.0,Y=706.0 (should be at cap-height 705?)
    • G (U+0047): X=453.5,Y=-1.5 (should be at baseline 0?)
    • Q (U+0051): X=371.0,Y=1.0 (should be at baseline 0?)
    • Oslash (U+00D8): X=110.0,Y=-2.0 (should be at baseline 0?)
    • Oslash (U+00D8): X=682.0,Y=707.0 (should be at cap-height 705?)
    • atilde (U+00E3): X=317.5,Y=703.0 (should be at cap-height 705?)
    • eth (U+00F0): X=329.5,Y=704.5 (should be at cap-height 705?)
    • ntilde (U+00F1): X=316.5,Y=703.0 (should be at cap-height 705?)
    • otilde (U+00F5): X=309.5,Y=703.0 (should be at cap-height 705?) and 62 more. [code: found-misalignments]

[11] Mulish[wght].ttf
🔥 FAIL: Validate STAT particle names and values match the fallback names in GFAxisRegistry.
--- Rationale ---
Check that particle names and values on STAT table match the fallback names in
each axis entry at the Google Fonts Axis Registry, available at
https://github.com/google/fonts/tree/main/axisregistry
  • 🔥 FAIL On the font variation axis 'wght', the name 'ExtraBlack' is not among the expected ones (Thin, ExtraLight, Light, Regular, Medium, SemiBold, Bold, ExtraBold, Black) according to the Google Fonts Axis Registry. [code: invalid-name]
WARN: Checking OS/2 achVendID.
--- Rationale ---
Microsoft keeps a list of font vendors and their respective contact info. This
list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored
in the achVendID field of the OS/2 table.
Registering your ID is not mandatory, but it is a good practice since some
applications may display the type designer / type foundry contact info on some
dialog and also because that info will be visible on Microsoft's website:
https://docs.microsoft.com/en-us/typography/vendors/
This check verifies whether or not a given font's vendor ID is registered in
that list or if it has some of the default values used by the most common font
editors.
Each new FontBakery release includes a cached copy of that list of vendor IDs.
If you registered recently, you're safe to ignore warnings emitted by this
check, since your ID will soon be included in one of our upcoming releases.
  • WARN OS/2 VendorID value 'NONE' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
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: 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 + i
    • i + l

    [code: lacks-kern-info]

WARN: 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 may 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.
  • WARN Please consider adding a subdirectory called "static/" and including in it static font files. [code: missing]
WARN: METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
--- Rationale ---
Google Fonts has a catalog of designers.
This check ensures that the online entries of the catalog can be found based on
the designer names listed on the METADATA.pb file.
It also validates the URLs and file formats are all correctly set.
  • WARN It seems that Jacques Le Bailly is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry. [code: profile-not-found]
WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table.
--- Rationale ---
The OpenType 'meta' table originated at Apple. Microsoft added it to OT with
just two DataMap records:
- dlng: comma-separated ScriptLangTags that indicate which scripts, or languages
and scripts, with possible variants, the font is designed for
- slng: comma-separated ScriptLangTags that indicate which scripts, or languages
and scripts, with possible variants, the font supports
The slng structure is intended to describe which languages and scripts the font
overall supports. For example, a Traditional Chinese font that also contains
Latin characters, can indicate Hant,Latn, showing that it supports Hant, the
Traditional Chinese variant of the Hani script, and it also supports the Latn
script
The dlng structure is far more interesting. A font may contain various glyphs,
but only a particular subset of the glyphs may be truly "leading" in the design,
while other glyphs may have been included for technical reasons. Such a
Traditional Chinese font could only list Hant there, showing that it’s designed
for Traditional Chinese, but the font would omit Latn, because the developers
don’t think the font is really recommended for purely Latin-script use.
The tags used in the structures can comprise just script, or also language and
script. For example, if a font has Bulgarian Cyrillic alternates in the locl
feature for the cyrl BGR OT languagesystem, it could also indicate in dlng
explicitly that it supports bul-Cyrl. (Note that the scripts and languages in
meta use the ISO language and script codes, not the OpenType ones).
This check ensures that the font has the meta table containing the slng and dlng
structures.
All families in the Google Fonts collection should contain the 'meta' table.
Windows 10 already uses it when deciding on which fonts to fall back to. The
Google Fonts API and also other environments could use the data for smarter
filtering. Most importantly, those entries should be added to the Noto fonts.
In the font making process, some environments store this data in external files
already. But the meta table provides a convenient way to store this inside the
font file, so some tools may add the data, and unrelated tools may read this
data. This makes the solution much more portable and universal.
  • WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
WARN: Font contains '.notdef' as its first glyph?
--- Rationale ---
The OpenType specification v1.8.2 recommends that the first glyph is the
'.notdef' glyph without a codepoint assigned and with a drawing.
https://docs.microsoft.com/en-us/typography/opentype/spec
/recom#glyph-0-the-notdef-glyph
Pre-v1.8, it was recommended that fonts should also contain 'space', 'CR' and
'.null' glyphs. This might have been relevant for MacOS 9 applications.
  • WARN Glyph '.notdef' should contain a drawing, but it is empty. [code: empty]
WARN: Does the font have a DSIG table?
--- Rationale ---
Microsoft Office 2013 and below products expect fonts to have a digital
signature declared in a DSIG table in order to implement OpenType features. The
EOL date for Microsoft Office 2013 products is 4/11/2023. This issue does not
impact Microsoft Office 2016 and above products.
As we approach the EOL date, it is now considered better to completely remove
the table.
But if you still want your font to support OpenType features on Office 2013,
then you may find it handy to add a fake signature on a dummy DSIG table by
running one of the helper scripts provided at
https://github.com/googlefonts/gftools
Reference: https://github.com/googlefonts/fontbakery/issues/1845
  • WARN This font has a digital signature (DSIG table) which is only required - even if only a dummy placeholder - on old programs like MS Office 2013 in order to work properly.
    The current recommendation is to completely remove the DSIG table. [code: found-DSIG]
WARN: Are there any misaligned on-curve points?
--- Rationale ---
This check heuristically looks for on-curve points which are close to, but do
not sit on, significant boundary coordinates. For example, a point which has a
Y-coordinate of 1 or -1 might be a misplaced baseline point. As well as the
baseline, here we also check for points near the x-height (but only for lower
case Latin letters), cap-height, ascender and descender Y coordinates.
Not all such misaligned curve points are a mistake, and sometimes the design may
call for points in locations near the boundaries. As this check is liable to
generate significant numbers of false positives, it will pass if there are more
than 100 reported misalignments.
  • WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • five (U+0035): X=232.0,Y=2.0 (should be at baseline 0?)
    • Q (U+0051): X=411.0,Y=1.0 (should be at baseline 0?)
    • ordfeminine (U+00AA): X=94.0,Y=705.5 (should be at cap-height 705?)
    • germandbls (U+00DF): X=311.0,Y=-0.5 (should be at baseline 0?)
    • atilde (U+00E3): X=252.5,Y=706.5 (should be at cap-height 705?)
    • eth (U+00F0): X=258.0,Y=704.5 (should be at cap-height 705?)
    • ntilde (U+00F1): X=251.5,Y=706.5 (should be at cap-height 705?)
    • otilde (U+00F5): X=244.5,Y=706.5 (should be at cap-height 705?)
    • itilde (U+0129): X=76.5,Y=706.5 (should be at cap-height 705?)
    • OE (U+0152): X=462.0,Y=0.5 (should be at baseline 0?) and 50 more. [code: found-misalignments]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 2 21 95 17 285 0
0% 0% 5% 23% 4% 68% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

@RosaWagner RosaWagner deleted the gftools_packager_ofl_mulish branch October 14, 2021 15:13
@RosaWagner RosaWagner added --- to_production I Small Fix bugs fixed but nothing added and removed --- to_sandbox labels Nov 4, 2021
@RosaWagner RosaWagner added --- Live Font is visible on API and removed --- to production labels Nov 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
--- Live Font is visible on API I Small Fix bugs fixed but nothing added
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants