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

Red Hat Mono: Version 1.021 added #3703

Merged
merged 2 commits into from
Aug 17, 2021
Merged

Conversation

RosaWagner
Copy link
Contributor

e3bea03: [gftools-packager] Red Hat Mono: Version 1.021 added

a145f0a: [gftools-packager] ofl/redhatmono remove METADATA "source". #2587

@RosaWagner RosaWagner added - Ready for Review I New Font I Small Fix bugs fixed but nothing added and removed I New Font labels Aug 13, 2021
@RosaWagner
Copy link
Contributor Author

RosaWagner commented Aug 13, 2021

unblock #3519
Designer didn't want a SemiBold instance, so we had to make them identical as Medium.

@gf-bot
Copy link

gf-bot commented Aug 13, 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]

[11] RedHatMono-Italic[wght].ttf
🔥 FAIL: OS/2.fsSelection bit 7 (USE_TYPO_METRICS) is set in all fonts.
--- Rationale ---
All fonts on the Google Fonts collection should have OS/2.fsSelection bit 7
(USE_TYPO_METRICS) set. This requirement is part of the vertical metrics scheme
established as a Google Fonts policy aiming at a common ground supported by all
major font rendering environments.
For more details, read:
https://github.com/googlefonts/gf-docs/blob/main/VerticalMetrics/README.md
Below is the portion of that document that is most relevant to this check:
Use_Typo_Metrics must be enabled. This will force MS Applications to use the
OS/2 Typo values instead of the Win values. By doing this, we can freely set the
Win values to avoid clipping and control the line height with the typo values.
It has the added benefit of future line height compatibility. When a new script
is added, we simply change the Win values to the new yMin and yMax, without
needing to worry if the line height have changed.
  • 🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) wasNOT set in the following fonts: ['ofl/redhatmono/RedHatMono-Italic[wght].ttf', 'ofl/redhatmono/RedHatMono[wght].ttf']. [code: missing-os2-fsselection-bit7]
WARN: METADATA.pb: Fontfamily is listed on Google Fonts API?
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 MCKL does not have a webpage link on the catalog. Please consider providing one. [code: missing-link]
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 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: 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: 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: Check glyphs in mark glyph class are non-spacing.
--- Rationale ---
Glyphs in the GDEF mark glyph class should be non-spacing.
Spacing glyphs in the GDEF mark glyph class may have incorrect anchor
positioning that was only intended for building composite glyphs during design.
  • WARN The following spacing glyphs may be in the GDEF mark glyph class by mistake:
    acute (U+00B4), breve (U+02D8), caron (U+02C7), cedilla (U+00B8), circumflex (U+02C6), commaaccent (unencoded), dieresis (U+00A8), dotaccent (U+02D9), grave (U+0060), hungarumlaut (U+02DD) and 4 more. [code: spacing-mark-glyphs]
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+0060, U+00A8, U+00AF, U+00B4, U+00B8, U+02C6, U+02C7, U+02D8, U+02D9, U+02DA, U+02DB, U+02DC and U+02DD [code: non-mark-chars]
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:
    • exclam (U+0021): X=281.5,Y=0.5 (should be at baseline 0?)
    • period (U+002E): X=281.5,Y=0.5 (should be at baseline 0?)
    • colon (U+003A): X=281.5,Y=0.5 (should be at baseline 0?)
    • question (U+003F): X=257.5,Y=0.5 (should be at baseline 0?)
    • i (U+0069): X=351.0,Y=702.0 (should be at cap-height 700?)
    • j (U+006A): X=444.5,Y=702.0 (should be at cap-height 700?)
    • braceleft (U+007B): X=481.5,Y=701.5 (should be at cap-height 700?)
    • plusminus (U+00B1): X=57.0,Y=-1.0 (should be at baseline 0?)
    • plusminus (U+00B1): X=438.0,Y=-1.0 (should be at baseline 0?)
    • ae (U+00E6): X=456.0,Y=2.0 (should be at baseline 0?) and 46 more. [code: found-misalignments]

[10] RedHatMono[wght].ttf
🔥 FAIL: OS/2.fsSelection bit 7 (USE_TYPO_METRICS) is set in all fonts.
--- Rationale ---
All fonts on the Google Fonts collection should have OS/2.fsSelection bit 7
(USE_TYPO_METRICS) set. This requirement is part of the vertical metrics scheme
established as a Google Fonts policy aiming at a common ground supported by all
major font rendering environments.
For more details, read:
https://github.com/googlefonts/gf-docs/blob/main/VerticalMetrics/README.md
Below is the portion of that document that is most relevant to this check:
Use_Typo_Metrics must be enabled. This will force MS Applications to use the
OS/2 Typo values instead of the Win values. By doing this, we can freely set the
Win values to avoid clipping and control the line height with the typo values.
It has the added benefit of future line height compatibility. When a new script
is added, we simply change the Win values to the new yMin and yMax, without
needing to worry if the line height have changed.
  • 🔥 FAIL OS/2.fsSelection bit 7 (USE_TYPO_METRICS) wasNOT set in the following fonts: ['ofl/redhatmono/RedHatMono-Italic[wght].ttf', 'ofl/redhatmono/RedHatMono[wght].ttf']. [code: missing-os2-fsselection-bit7]
WARN: METADATA.pb: Fontfamily is listed on Google Fonts API?
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 MCKL does not have a webpage link on the catalog. Please consider providing one. [code: missing-link]
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: 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: 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: Check glyphs in mark glyph class are non-spacing.
--- Rationale ---
Glyphs in the GDEF mark glyph class should be non-spacing.
Spacing glyphs in the GDEF mark glyph class may have incorrect anchor
positioning that was only intended for building composite glyphs during design.
  • WARN The following spacing glyphs may be in the GDEF mark glyph class by mistake:
    acute (U+00B4), breve (U+02D8), caron (U+02C7), cedilla (U+00B8), circumflex (U+02C6), commaaccent (unencoded), dieresis (U+00A8), dotaccent (U+02D9), grave (U+0060), hungarumlaut (U+02DD) and 4 more. [code: spacing-mark-glyphs]
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+0060, U+00A8, U+00AF, U+00B4, U+00B8, U+02C6, U+02C7, U+02D8, U+02D9, U+02DA, U+02DB, U+02DC and U+02DD [code: non-mark-chars]
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:
    • six (U+0036): X=445.0,Y=701.0 (should be at cap-height 700?)
    • nine (U+0039): X=155.0,Y=-1.0 (should be at baseline 0?)
    • section (U+00A7): X=383.0,Y=699.5 (should be at cap-height 700?)
    • plusminus (U+00B1): X=110.0,Y=-1.0 (should be at baseline 0?)
    • plusminus (U+00B1): X=490.0,Y=-1.0 (should be at baseline 0?)
    • Oslash (U+00D8): X=520.0,Y=701.0 (should be at cap-height 700?)
    • Oslash (U+00D8): X=576.0,Y=701.0 (should be at cap-height 700?)
    • eth (U+00F0): X=232.0,Y=699.0 (should be at cap-height 700?)
    • ccaron (U+010D): X=162.0,Y=698.0 (should be at cap-height 700?)
    • ccaron (U+010D): X=206.0,Y=698.0 (should be at cap-height 700?) and 30 more. [code: found-misalignments]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 2 20 99 17 272 0
0% 0% 5% 24% 4% 66% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

@RosaWagner RosaWagner linked an issue Aug 13, 2021 that may be closed by this pull request
13 tasks
@m4rc1e m4rc1e merged commit cbc9049 into main Aug 17, 2021
@m4rc1e m4rc1e deleted the gftools_packager_ofl_redhatmono branch August 17, 2021 09:13
@RosaWagner
Copy link
Contributor Author

still in progress of fixing the fsselction bit 7

@RosaWagner
Copy link
Contributor Author

I check the files, Medium and SemiBold instances are the same as intended, but doesn't look like so in sandbox. Italic yes, but not upright.

Capture d’écran 2021-09-16 à 13 16 51

@RosaWagner RosaWagner added -- Needs manager's opinion from upper level and removed I Small Fix bugs fixed but nothing added labels Sep 16, 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 New Font
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update Red Hat Font
3 participants