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

Orbitron v2.001 (stat fix) #3670

Merged
merged 1 commit into from
Aug 5, 2021
Merged

Orbitron v2.001 (stat fix) #3670

merged 1 commit into from
Aug 5, 2021

Conversation

aaronbell
Copy link
Collaborator

Font repro updated to the UFR format (https://github.com/aaronbell/orbitron-vf).
PR'd to upstream.

Font files rebuilt.

@aaronbell
Copy link
Collaborator Author

Fontbakery report

Fontbakery version: 0.8.0

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

[10] Orbitron[wght].ttf
🔥 FAIL: Check `Google Fonts Latin Core` glyph coverage.
--- Rationale ---
Google Fonts expects that fonts in its collection support at least the minimal
set of characters defined in the `GF-latin-core` glyph-set.
  • 🔥 FAIL Missing required codepoints: 0x005E (CIRCUMFLEX ACCENT), 0x00A4 (CURRENCY SIGN), 0x00A5 (YEN SIGN), 0x00A6 (BROKEN BAR) and 31 more. [code: missing-codepoints]
🔥 FAIL: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
🔥 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 2018 The Orbitron Project Authors (https://github.com/theleagueof/orbitron), with Reserved Font Name: "Orbitron".") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
🔥 FAIL: METADATA.pb: Designer is listed with the correct name on the Google Fonts catalog of designers?
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent.
--- Rationale ---
A font's winAscent and winDescent values should be greater than the head table's
yMax, abs(yMin) values. If they are less than these values, clipping can occur
on Windows platforms (https://github.com/RedHatBrand/Overpass/issues/33).
If the font includes tall/deep writing systems such as Arabic or Devanagari, the
winAscent and winDescent can be greater than the yMax and abs(yMin) to
accommodate vowel marks.
When the win Metrics are significantly greater than the upm, the linespacing can
appear too loose. To counteract this, enabling the OS/2 fsSelection bit 7
(Use_Typo_Metrics), will force Windows to use the OS/2 typo values instead. This
means the font developer can control the linespacing with the typo values,
whilst avoiding clipping by setting the win values to values greater than the
yMax and abs(yMin).
  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 250, but got 243 instead. [code: descent]
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: 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]
  • WARN The stylistic set ss02 lacks a description string on the 'name' table. [code: missing-description]
  • WARN The stylistic set ss03 lacks a description string on the 'name' table. [code: missing-description]
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]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 5 6 49 10 143 0
0% 2% 3% 23% 5% 67% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

@m4rc1e
Copy link
Collaborator

m4rc1e commented Aug 5, 2021

I'll fix the ci before I merge these.

@m4rc1e
Copy link
Collaborator

m4rc1e commented Aug 5, 2021

Alright, it seems that uharfbuzz can now return none for glyph_positions in 0.17.0, https://github.com/harfbuzz/uharfbuzz/releases/tag/v0.17.0. I'll pin diffenator's deps to the previous release or just fix the comprehension.

@gf-bot
Copy link

gf-bot commented Aug 5, 2021

Fontbakery report

Fontbakery version: 0.8.0

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

[10] Orbitron[wght].ttf
🔥 FAIL: Check `Google Fonts Latin Core` glyph coverage.
--- Rationale ---
Google Fonts expects that fonts in its collection support at least the minimal
set of characters defined in the `GF-latin-core` glyph-set.
  • 🔥 FAIL Missing required codepoints: 0x005E (CIRCUMFLEX ACCENT), 0x00A4 (CURRENCY SIGN), 0x00A5 (YEN SIGN), 0x00A6 (BROKEN BAR) and 31 more. [code: missing-codepoints]
🔥 FAIL: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
🔥 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 2018 The Orbitron Project Authors (https://github.com/theleagueof/orbitron), with Reserved Font Name: "Orbitron".") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]
🔥 FAIL: METADATA.pb: Designer is listed with the correct name on the Google Fonts catalog of designers?
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent.
--- Rationale ---
A font's winAscent and winDescent values should be greater than the head table's
yMax, abs(yMin) values. If they are less than these values, clipping can occur
on Windows platforms (https://github.com/RedHatBrand/Overpass/issues/33).
If the font includes tall/deep writing systems such as Arabic or Devanagari, the
winAscent and winDescent can be greater than the yMax and abs(yMin) to
accommodate vowel marks.
When the win Metrics are significantly greater than the upm, the linespacing can
appear too loose. To counteract this, enabling the OS/2 fsSelection bit 7
(Use_Typo_Metrics), will force Windows to use the OS/2 typo values instead. This
means the font developer can control the linespacing with the typo values,
whilst avoiding clipping by setting the win values to values greater than the
yMax and abs(yMin).
  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 250, but got 243 instead. [code: descent]
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: 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]
  • WARN The stylistic set ss02 lacks a description string on the 'name' table. [code: missing-description]
  • WARN The stylistic set ss03 lacks a description string on the 'name' table. [code: missing-description]
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]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 5 6 49 10 143 0
0% 2% 3% 23% 5% 67% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

@gf-bot
Copy link

gf-bot commented Aug 5, 2021

Fontbakery report

Fontbakery version: 0.8.0

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

[18] RocknRollOne-Regular.ttf
🔥 FAIL: METADATA.pb font.name value should be same as the family name declared on the name table.
🔥 FAIL: METADATA.pb font.name field contains font name in right format?
🔥 FAIL: METADATA.pb font.full_name field contains font name in right format?
🔥 FAIL: METADATA.pb font.post_script_name field contains font name in right format?
🔥 FAIL: METADATA.pb: Check if fontname is not camel cased.
🔥 FAIL: Check name table: FONT_FAMILY_NAME entries.
--- Rationale ---
Checks that the family name infered from the font filename matches the string at
nameID 1 (NAMEID_FONT_FAMILY_NAME) if it conforms to RIBBI and otherwise checks
that nameID 1 is the family name + the style name.
  • 🔥 FAIL Entry [FONT_FAMILY_NAME(1):WINDOWS(3)] on the "name" table: Expected "Rockn Roll One" but got "RocknRoll One". [code: mismatch]
  • 🔥 FAIL Entry [FONT_FAMILY_NAME(1):WINDOWS(3)] on the "name" table: Expected "Rockn Roll One" but got "ロックンロール One". [code: mismatch]
🔥 FAIL: Check name table: FULL_FONT_NAME entries.
--- Rationale ---
Requirements for the FULL_FONT_NAME entries in the 'name' table.
  • 🔥 FAIL [FULL_FONT_NAME(4):WINDOWS(3)]
    Expected: "Rockn Roll One Regular"
    But got: "RocknRoll One Regular" [code: bad-entry]
🔥 FAIL: METADATA.pb: Designer is listed with the correct name on the Google Fonts catalog of designers?
WARN: METADATA.pb: Fontfamily is listed on Google Fonts API?
WARN: Check if each glyph has the recommended amount of contours.
--- Rationale ---
Visually QAing thousands of glyphs by hand is tiring. Most glyphs can only be
constructured in a handful of ways. This means a glyph's contour count will only
differ slightly amongst different fonts, e.g a 'g' could either be 2 or 3
contours, depending on whether its double story or single story.
However, a quotedbl should have 2 contours, unless the font belongs to a display
family.
This check currently does not cover variable fonts because there's plenty of
alternative ways of constructing glyphs with multiple outlines for each feature
in a VarFont. The expected contour count data for this check is currently
optimized for the typical construction of glyphs in static fonts.
  • WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

Glyph name: e Contours detected: 1 Expected: 2
Glyph name: ae Contours detected: 2 Expected: 3
Glyph name: egrave Contours detected: 2 Expected: 3
Glyph name: eacute Contours detected: 2 Expected: 3
Glyph name: ecircumflex Contours detected: 2 Expected: 3
Glyph name: edieresis Contours detected: 3 Expected: 4
Glyph name: oe Contours detected: 2 Expected: 3
Glyph name: uni042F Contours detected: 1 Expected: 2
Glyph name: uni0435 Contours detected: 1 Expected: 2
Glyph name: uni0451 Contours detected: 3 Expected: 4
Glyph name: uni255E Contours detected: 1 Expected: 2
Glyph name: uni2561 Contours detected: 1 Expected: 2
Glyph name: ae Contours detected: 2 Expected: 3
Glyph name: e Contours detected: 1 Expected: 2
Glyph name: eacute Contours detected: 2 Expected: 3
Glyph name: ecircumflex Contours detected: 2 Expected: 3
Glyph name: edieresis Contours detected: 3 Expected: 4
Glyph name: egrave Contours detected: 2 Expected: 3
Glyph name: oe Contours detected: 2 Expected: 3
Glyph name: uni042F Contours detected: 1 Expected: 2
Glyph name: uni0435 Contours detected: 1 Expected: 2
Glyph name: uni0451 Contours detected: 3 Expected: 4 [code: contour-count]

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: 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: Check mark characters are in GDEF mark glyph class
--- Rationale ---
Mark characters should be in the GDEF mark glyph class.
  • WARN The following mark characters could be in the GDEF mark glyph class:
    U+0300, U+0303, U+0304, U+030A, U+0327, U+0332 and U+0336 [code: mark-chars]
WARN: Check GDEF mark glyph class doesn't have characters that are not marks)
--- Rationale ---
Glyphs in the GDEF mark glyph class become non-spacing and may be repositioned
if they have mark anchors.
Only combining mark glyphs should be in that class. Any non-mark glyph must not
be in that class, in particular spacing glyphs.
  • WARN The following non-mark characters should not be in the GDEF mark glyph class:
    U+02CA and U+203E [code: non-mark-chars]
WARN: Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value
WARN: Do outlines contain any jaggy segments?
--- Rationale ---
This check heuristically detects outline segments which form a particularly
small angle, indicative of an outline error. This may cause false positives in
cases such as extreme ink traps, so should be regarded as advisory and backed up
by manual inspection.
  • WARN The following glyphs have jaggy segments:
    • W.half.rotat: L<<841.0,537.0>--<518.0,480.0>>/L<<518.0,480.0>--<960.0,459.0>> = 12.728131945590283
    • W.half.rotat: L<<960.0,719.0>--<547.0,694.0>>/L<<547.0,694.0>--<936.0,637.0>> = 11.800242056304818
    • W.half: L<<121.0,800.0>--<146.0,387.0>>/L<<146.0,387.0>--<203.0,776.0>> = 11.800242056304818
    • W.half: L<<303.0,681.0>--<360.0,358.0>>/L<<360.0,358.0>--<381.0,800.0>> = 12.728131945590311
    • u28CDD: B<<500.5,399.0>-<565.0,410.0>-<625.0,423.0>>/L<<625.0,423.0>--<532.0,423.0>> = 12.225122675735754
    • u2F80F: L<<265.0,532.0>--<715.0,563.0>>/L<<715.0,563.0>--<537.0,592.0>> = 13.194221576448156
    • u2F8D3: L<<849.0,485.0>--<354.0,485.0>>/L<<354.0,485.0>--<473.0,462.0>> = 10.939091183192135
    • u2F920: L<<936.0,159.0>--<750.0,159.0>>/B<<750.0,159.0>-<798.0,148.0>-<850.5,140.0>> = 12.907408671265848
    • uni0431: B<<420.5,550.5>-<395.0,528.0>-<378.0,499.0>>/B<<378.0,499.0>-<391.0,515.0>-<413.5,527.5>> = 8.714732874861145
    • uni2667: B<<324.0,438.0>-<350.0,428.0>-<374.0,414.0>>/B<<374.0,414.0>-<327.0,448.0>-<307.5,494.5>> = 5.625700082674903 and 757 more. [code: found-jaggy-segments]
WARN: Do outlines contain any semi-vertical or semi-horizontal lines?
--- Rationale ---
This check detects line segments which are nearly, but not quite, exactly
horizontal or vertical. Sometimes such lines are created by design, but often
they are indicative of a design error.
This check is disabled for italic styles, which often contain nearly-upright
lines.
  • WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • .notdef: L<<188.0,-69.0>--<812.0,-70.0>>
  • .notdef: L<<900.0,-120.0>--<100.0,-119.0>>
  • N.half.rotat: L<<370.0,477.0>--<960.0,482.0>>
  • N.half: L<<363.0,210.0>--<358.0,800.0>>
  • Ntilde.half.rotat: L<<370.0,477.0>--<960.0,482.0>>
  • Ntilde.half: L<<363.0,210.0>--<358.0,800.0>>
  • R.rotat: L<<840.0,610.0>--<160.0,611.0>>
  • R: L<<230.0,680.0>--<229.0,0.0>>
  • block: L<<1000.0,-120.0>--<0.0,-119.0>>
  • bracketleft.half: L<<486.0,-150.0>--<209.0,-149.0>> and 836 more. [code: found-semi-vertical]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 8 11 49 8 137 0
0% 4% 5% 23% 4% 64% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

@m4rc1e
Copy link
Collaborator

m4rc1e commented Aug 5, 2021

Can you PR your modifications back to all the upstreams please.

@m4rc1e
Copy link
Collaborator

m4rc1e commented Aug 5, 2021

LGTM. Thanks.

@m4rc1e m4rc1e merged commit abf7124 into main Aug 5, 2021
@m4rc1e m4rc1e deleted the orbitron_stat branch August 5, 2021 10:23
@m4rc1e
Copy link
Collaborator

m4rc1e commented Aug 5, 2021

Can you also use the packager going forward. It makes updating the families much easier.

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.

4 participants