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

Mplus 2: Version 1.000; Mplus 1: Version 1.000 #3444

Merged
merged 13 commits into from
Sep 22, 2021
Merged

Conversation

aaronbell
Copy link
Collaborator

438bea5: [gftools-packager] Mplus 1: Version 1.000; ttfautohint (v1.8.3) added

c5ae89a: [gftools-packager] Mplus 2: Version 1.000; ttfautohint (v1.8.3) added

e97a9da: [gftools-packager] Mplus 1 Code: Version 1.000; ttfautohint (v1.8.3) added

a29c278: [gftools-packager] Mplus Code Latin: Version 1.000; ttfautohint (v1.8.3) added

@aaronbell aaronbell linked an issue May 22, 2021 that may be closed by this pull request
@aaronbell aaronbell added - Ready for Review II CJK Chinese, Japanese, Korean scripts I New Font labels May 22, 2021
@aaronbell
Copy link
Collaborator Author

FYI @mintoming

@gf-bot
Copy link

gf-bot commented May 22, 2021

Fontbakery report

Fontbakery version: 0.7.37

[1] Family checks
WARN: Is the command `ftxvalidator` (Apple Font Tool Suite) available?
--- Rationale ---
There's no reasonable (and legal) way to run the command `ftxvalidator` of the
Apple Font Tool Suite on a non-macOS machine. I.e. on GNU+Linux or Windows etc.
If Font Bakery is not running on an OSX machine, the machine running Font Bakery
could access `ftxvalidator` on OSX, e.g. via ssh or a remote procedure call
(rpc).
There's an ssh example implementation at:
https://github.com/googlefonts/fontbakery/blob/main/prebuilt/workarounds
/ftxvalidator/ssh-implementation/ftxvalidator
  • WARN Could not find ftxvalidator. [code: ftxvalidator-available]

[11] MplusCodeLatin[wdth,wght].ttf
🔥 FAIL: Check variable font instances don't have duplicate names
--- Rationale ---
This check's purpose is to detect duplicate named instances names in a given
variable font.
Repeating instance names may be the result of instances for several VF axes
defined in `fvar`, but since currently only weight+italic tokens are allowed in
instance names as per GF specs, they ended up repeating.
Instead, only a base set of fonts for the most default representation of the
family can be defined through instances in the `fvar` table, all other instances
will have to be left to access through the `STAT` table.
  • 🔥 FAIL Following instances names are duplicate:
    • Thin
    • Light
    • Regular
    • Medium
    • Bold
      [code: duplicate-instance-names]
🔥 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.usWinAscent value should be equal or greater than 1213, but got 1160 instead [code: ascent]
🔥 FAIL: Checking OS/2 Metrics match hhea Metrics.
--- Rationale ---
OS/2 and hhea vertical metric values should match. This will produce the same
linespacing on Mac, GNU+Linux and Windows.
- Mac OS X uses the hhea values.
- Windows uses OS/2 or Win, depending on the OS or fsSelection bit value.
When OS/2 and hhea vertical metrics match, the same linespacing results on
macOS, GNU+Linux and Windows. Unfortunately as of 2018, Google Fonts has
released many fonts with vertical metrics that don't match in this way. When we
fix this issue in these existing families, we will create a visible change in
line/paragraph layout for either Windows or macOS users, which will upset some
of them.
But we have a duty to fix broken stuff, and inconsistent paragraph layout is
unacceptably broken when it is possible to avoid it.
If users complain and prefer the old broken version, they have the freedom to
take care of their own situation.
  • 🔥 FAIL OS/2 sTypoAscender (880) and hhea ascent (1160) must be equal. [code: ascender]
🔥 FAIL: Checking correctness of monospaced metadata.
--- Rationale ---
There are various metadata in the OpenType spec to specify if a font is
monospaced or not. If the font is not truly monospaced, then no monospaced
metadata should be set (as sometimes they mistakenly are...)
Requirements for monospace fonts:
* post.isFixedPitch - "Set to 0 if the font is proportionally spaced, non-zero
if the font is not proportionally spaced (monospaced)"
  www.microsoft.com/typography/otspec/post.htm
* hhea.advanceWidthMax must be correct, meaning no glyph's width value is
greater.
  www.microsoft.com/typography/otspec/hhea.htm
* OS/2.panose.bProportion must be set to 9 (monospace). Spec says: "The PANOSE
definition contains ten digits each of which currently describes up to sixteen
variations. Windows uses bFamilyType, bSerifStyle and bProportion in the font
mapper to determine family type. It also uses bProportion to determine if the
font is monospaced."
  www.microsoft.com/typography/otspec/os2.htm#pan
  monotypecom-test.monotype.de/services/pan2
* OS/2.xAvgCharWidth must be set accurately.
  "OS/2.xAvgCharWidth is used when rendering monospaced fonts, at least by
Windows GDI"
  http://typedrawers.com/discussion/comment/15397/#Comment_15397
Also we should report an error for glyphs not of average width.
Please also note:
Thomas Phinney told us that a few years ago (as of December 2019), if you gave a
font a monospace flag in Panose, Microsoft Word would ignore the actual advance
widths and treat it as monospaced. Source:
https://typedrawers.com/discussion/comment/45140/#Comment_45140
  • 🔥 FAIL On monospaced fonts, the value of post.isFixedPitch must be set to a non-zero value (meaning 'fixed width monospaced'), but got 0 instead. [code: mono-bad-post-isFixedPitch]
  • 🔥 FAIL On monospaced fonts, the value of OS/2.panose.bProportion must be set to 9 (proportion: monospaced), but got 0 instead. [code: mono-bad-panose-proportion]
  • WARN Font is monospaced but 1 glyphs (0.17%) have a different width. You should check the widths of: ['m_p_l_u_s_f_o_n_t_s'] [code: mono-outliers]
WARN: METADATA.pb: Fontfamily is listed on Google Fonts API?
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: METADATA.pb: Designer is listed with the correct name on the Google Fonts catalog of designers?
  • com.google.fonts/check/metadata/designer_profiles

  • WARN It seems that Mplus Fonts 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: Check mark characters are in GDEF mark glyph class)
--- 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:
    Ccedilla, Uogonek, ccedilla, periodcentered, uni0163 and uni01EB [code: spacing-mark-glyphs]
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+030B, U+0324, U+032E and U+0331 [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+00B7, U+00C7, U+00E7, U+0163, U+0172 and U+01EB [code: non-mark-chars]
WARN: Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 4 8 47 8 137 0
0% 2% 4% 23% 4% 67% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

@aaronbell
Copy link
Collaborator Author

Regarding the FAILs on MplusCodeLatin:

  • Font contains a width axis, and per the spec, it has been left without the widths being included in the instance names, causing this error.
  • Font metrics have been left to match the other Mplus CJK fonts. This way, if it is used in conjunction with any of the other ones, it will not cause and metrics issues.
  • Font is not monospace :)

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

Thomas Linard has requested the addition of ExtraLight and SemiBold to the variable font STAT table:
coz-m/MPLUS_FONTS#14

We are working to resolve upstream.

@aaronbell
Copy link
Collaborator Author

Updated

Mplus Code Latin: Version 1.000; ttfautohint (v1.8.3) added; Mplus 1 Code: Version 1.000; ttfautohint (v1.8.3) added; Mplus 1: Version 1.000; ttfautohint (v1.8.3) added; Mplus 2: Version 1.000; ttfautohint (v1.8.3) added


25bb9a5: [gftools-packager] Mplus 1: Version 1.000; ttfautohint (v1.8.3) added

68194ea: [gftools-packager] Mplus 1 Code: Version 1.000; ttfautohint (v1.8.3) added

acfed76: [gftools-packager] Mplus 2: Version 1.000; ttfautohint (v1.8.3) added

c303d0d: [gftools-packager] Mplus Code Latin: Version 1.000; ttfautohint (v1.8.3) added

@aaronbell
Copy link
Collaborator Author

Now updated with two extra weights in each family

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

gf-bot commented May 24, 2021

Fontbakery report

Fontbakery version: 0.7.37

[1] Family checks
WARN: Is the command `ftxvalidator` (Apple Font Tool Suite) available?
--- Rationale ---
There's no reasonable (and legal) way to run the command `ftxvalidator` of the
Apple Font Tool Suite on a non-macOS machine. I.e. on GNU+Linux or Windows etc.
If Font Bakery is not running on an OSX machine, the machine running Font Bakery
could access `ftxvalidator` on OSX, e.g. via ssh or a remote procedure call
(rpc).
There's an ssh example implementation at:
https://github.com/googlefonts/fontbakery/blob/main/prebuilt/workarounds
/ftxvalidator/ssh-implementation/ftxvalidator
  • WARN Could not find ftxvalidator. [code: ftxvalidator-available]

[11] MplusCodeLatin[wdth,wght].ttf
🔥 FAIL: Check variable font instances don't have duplicate names
--- Rationale ---
This check's purpose is to detect duplicate named instances names in a given
variable font.
Repeating instance names may be the result of instances for several VF axes
defined in `fvar`, but since currently only weight+italic tokens are allowed in
instance names as per GF specs, they ended up repeating.
Instead, only a base set of fonts for the most default representation of the
family can be defined through instances in the `fvar` table, all other instances
will have to be left to access through the `STAT` table.
  • 🔥 FAIL Following instances names are duplicate:
    • Thin
    • ExtraLight
    • Light
    • Regular
    • Medium
    • SemiBold
    • Bold
      [code: duplicate-instance-names]
🔥 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.usWinAscent value should be equal or greater than 1213, but got 1160 instead [code: ascent]
🔥 FAIL: Checking OS/2 Metrics match hhea Metrics.
--- Rationale ---
OS/2 and hhea vertical metric values should match. This will produce the same
linespacing on Mac, GNU+Linux and Windows.
- Mac OS X uses the hhea values.
- Windows uses OS/2 or Win, depending on the OS or fsSelection bit value.
When OS/2 and hhea vertical metrics match, the same linespacing results on
macOS, GNU+Linux and Windows. Unfortunately as of 2018, Google Fonts has
released many fonts with vertical metrics that don't match in this way. When we
fix this issue in these existing families, we will create a visible change in
line/paragraph layout for either Windows or macOS users, which will upset some
of them.
But we have a duty to fix broken stuff, and inconsistent paragraph layout is
unacceptably broken when it is possible to avoid it.
If users complain and prefer the old broken version, they have the freedom to
take care of their own situation.
  • 🔥 FAIL OS/2 sTypoAscender (880) and hhea ascent (1160) must be equal. [code: ascender]
🔥 FAIL: Checking correctness of monospaced metadata.
--- Rationale ---
There are various metadata in the OpenType spec to specify if a font is
monospaced or not. If the font is not truly monospaced, then no monospaced
metadata should be set (as sometimes they mistakenly are...)
Requirements for monospace fonts:
* post.isFixedPitch - "Set to 0 if the font is proportionally spaced, non-zero
if the font is not proportionally spaced (monospaced)"
  www.microsoft.com/typography/otspec/post.htm
* hhea.advanceWidthMax must be correct, meaning no glyph's width value is
greater.
  www.microsoft.com/typography/otspec/hhea.htm
* OS/2.panose.bProportion must be set to 9 (monospace). Spec says: "The PANOSE
definition contains ten digits each of which currently describes up to sixteen
variations. Windows uses bFamilyType, bSerifStyle and bProportion in the font
mapper to determine family type. It also uses bProportion to determine if the
font is monospaced."
  www.microsoft.com/typography/otspec/os2.htm#pan
  monotypecom-test.monotype.de/services/pan2
* OS/2.xAvgCharWidth must be set accurately.
  "OS/2.xAvgCharWidth is used when rendering monospaced fonts, at least by
Windows GDI"
  http://typedrawers.com/discussion/comment/15397/#Comment_15397
Also we should report an error for glyphs not of average width.
Please also note:
Thomas Phinney told us that a few years ago (as of December 2019), if you gave a
font a monospace flag in Panose, Microsoft Word would ignore the actual advance
widths and treat it as monospaced. Source:
https://typedrawers.com/discussion/comment/45140/#Comment_45140
  • 🔥 FAIL On monospaced fonts, the value of post.isFixedPitch must be set to a non-zero value (meaning 'fixed width monospaced'), but got 0 instead. [code: mono-bad-post-isFixedPitch]
  • 🔥 FAIL On monospaced fonts, the value of OS/2.panose.bProportion must be set to 9 (proportion: monospaced), but got 0 instead. [code: mono-bad-panose-proportion]
  • WARN Font is monospaced but 1 glyphs (0.17%) have a different width. You should check the widths of: ['m_p_l_u_s_f_o_n_t_s'] [code: mono-outliers]
WARN: METADATA.pb: Fontfamily is listed on Google Fonts API?
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: METADATA.pb: Designer is listed with the correct name on the Google Fonts catalog of designers?
  • com.google.fonts/check/metadata/designer_profiles

  • WARN It seems that MPlus Fonts 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: Check mark characters are in GDEF mark glyph class)
--- 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:
    Ccedilla, Uogonek, ccedilla, periodcentered, uni0163 and uni01EB [code: spacing-mark-glyphs]
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+030B, U+0324, U+032E and U+0331 [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+00B7, U+00C7, U+00E7, U+0163, U+0172 and U+01EB [code: non-mark-chars]
WARN: Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 4 8 47 8 137 0
0% 2% 4% 23% 4% 67% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

@aaronbell aaronbell changed the title Mplus Code Latin: Version 1.000; ttfautohint (v1.8.3) added; Mplus 2: Version 1.000; ttfautohint (v1.8.3) added; Mplus 1: Version 1.000; ttfautohint (v1.8.3) added; Mplus 1 Code: Version 1.000; ttfautohint (v1.8.3) added Mplus Code Latin: Version 1.000; ttfautohint (v1.8.3) added; Mplus 2: Version 1.000; Mplus 1: Version 1.000; Mplus 1 Code: Version 1.000; Jun 7, 2021
@aaronbell
Copy link
Collaborator Author

I've dehinted the fonts with Kanji to save space.

@gf-bot
Copy link

gf-bot commented Jun 7, 2021

Fontbakery report

Fontbakery version: 0.7.37

[1] Family checks
WARN: Is the command `ftxvalidator` (Apple Font Tool Suite) available?
--- Rationale ---
There's no reasonable (and legal) way to run the command `ftxvalidator` of the
Apple Font Tool Suite on a non-macOS machine. I.e. on GNU+Linux or Windows etc.
If Font Bakery is not running on an OSX machine, the machine running Font Bakery
could access `ftxvalidator` on OSX, e.g. via ssh or a remote procedure call
(rpc).
There's an ssh example implementation at:
https://github.com/googlefonts/fontbakery/blob/main/prebuilt/workarounds
/ftxvalidator/ssh-implementation/ftxvalidator
  • WARN Could not find ftxvalidator. [code: ftxvalidator-available]

[11] MplusCodeLatin[wdth,wght].ttf
🔥 FAIL: Check variable font instances don't have duplicate names
--- Rationale ---
This check's purpose is to detect duplicate named instances names in a given
variable font.
Repeating instance names may be the result of instances for several VF axes
defined in `fvar`, but since currently only weight+italic tokens are allowed in
instance names as per GF specs, they ended up repeating.
Instead, only a base set of fonts for the most default representation of the
family can be defined through instances in the `fvar` table, all other instances
will have to be left to access through the `STAT` table.
  • 🔥 FAIL Following instances names are duplicate:
    • Thin
    • ExtraLight
    • Light
    • Regular
    • Medium
    • SemiBold
    • Bold
      [code: duplicate-instance-names]
🔥 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.usWinAscent value should be equal or greater than 1213, but got 1160 instead [code: ascent]
🔥 FAIL: Checking OS/2 Metrics match hhea Metrics.
--- Rationale ---
OS/2 and hhea vertical metric values should match. This will produce the same
linespacing on Mac, GNU+Linux and Windows.
- Mac OS X uses the hhea values.
- Windows uses OS/2 or Win, depending on the OS or fsSelection bit value.
When OS/2 and hhea vertical metrics match, the same linespacing results on
macOS, GNU+Linux and Windows. Unfortunately as of 2018, Google Fonts has
released many fonts with vertical metrics that don't match in this way. When we
fix this issue in these existing families, we will create a visible change in
line/paragraph layout for either Windows or macOS users, which will upset some
of them.
But we have a duty to fix broken stuff, and inconsistent paragraph layout is
unacceptably broken when it is possible to avoid it.
If users complain and prefer the old broken version, they have the freedom to
take care of their own situation.
  • 🔥 FAIL OS/2 sTypoAscender (880) and hhea ascent (1160) must be equal. [code: ascender]
🔥 FAIL: Checking correctness of monospaced metadata.
--- Rationale ---
There are various metadata in the OpenType spec to specify if a font is
monospaced or not. If the font is not truly monospaced, then no monospaced
metadata should be set (as sometimes they mistakenly are...)
Requirements for monospace fonts:
* post.isFixedPitch - "Set to 0 if the font is proportionally spaced, non-zero
if the font is not proportionally spaced (monospaced)"
  www.microsoft.com/typography/otspec/post.htm
* hhea.advanceWidthMax must be correct, meaning no glyph's width value is
greater.
  www.microsoft.com/typography/otspec/hhea.htm
* OS/2.panose.bProportion must be set to 9 (monospace). Spec says: "The PANOSE
definition contains ten digits each of which currently describes up to sixteen
variations. Windows uses bFamilyType, bSerifStyle and bProportion in the font
mapper to determine family type. It also uses bProportion to determine if the
font is monospaced."
  www.microsoft.com/typography/otspec/os2.htm#pan
  monotypecom-test.monotype.de/services/pan2
* OS/2.xAvgCharWidth must be set accurately.
  "OS/2.xAvgCharWidth is used when rendering monospaced fonts, at least by
Windows GDI"
  http://typedrawers.com/discussion/comment/15397/#Comment_15397
Also we should report an error for glyphs not of average width.
Please also note:
Thomas Phinney told us that a few years ago (as of December 2019), if you gave a
font a monospace flag in Panose, Microsoft Word would ignore the actual advance
widths and treat it as monospaced. Source:
https://typedrawers.com/discussion/comment/45140/#Comment_45140
  • 🔥 FAIL On monospaced fonts, the value of post.isFixedPitch must be set to a non-zero value (meaning 'fixed width monospaced'), but got 0 instead. [code: mono-bad-post-isFixedPitch]
  • 🔥 FAIL On monospaced fonts, the value of OS/2.panose.bProportion must be set to 9 (proportion: monospaced), but got 0 instead. [code: mono-bad-panose-proportion]
  • WARN Font is monospaced but 1 glyphs (0.17%) have a different width. You should check the widths of: ['m_p_l_u_s_f_o_n_t_s'] [code: mono-outliers]
WARN: METADATA.pb: Fontfamily is listed on Google Fonts API?
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: METADATA.pb: Designer is listed with the correct name on the Google Fonts catalog of designers?
  • com.google.fonts/check/metadata/designer_profiles

  • WARN It seems that MPlus Fonts 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: Check mark characters are in GDEF mark glyph class)
--- 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:
    Ccedilla, Uogonek, ccedilla, periodcentered, uni0163 and uni01EB [code: spacing-mark-glyphs]
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+030B, U+0324, U+032E and U+0331 [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+00B7, U+00C7, U+00E7, U+0163, U+0172 and U+01EB [code: non-mark-chars]
WARN: Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 4 8 47 8 137 0
0% 2% 4% 23% 4% 67% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

1 similar comment
@gf-bot
Copy link

gf-bot commented Jun 11, 2021

Fontbakery report

Fontbakery version: 0.7.37

[1] Family checks
WARN: Is the command `ftxvalidator` (Apple Font Tool Suite) available?
--- Rationale ---
There's no reasonable (and legal) way to run the command `ftxvalidator` of the
Apple Font Tool Suite on a non-macOS machine. I.e. on GNU+Linux or Windows etc.
If Font Bakery is not running on an OSX machine, the machine running Font Bakery
could access `ftxvalidator` on OSX, e.g. via ssh or a remote procedure call
(rpc).
There's an ssh example implementation at:
https://github.com/googlefonts/fontbakery/blob/main/prebuilt/workarounds
/ftxvalidator/ssh-implementation/ftxvalidator
  • WARN Could not find ftxvalidator. [code: ftxvalidator-available]

[11] MplusCodeLatin[wdth,wght].ttf
🔥 FAIL: Check variable font instances don't have duplicate names
--- Rationale ---
This check's purpose is to detect duplicate named instances names in a given
variable font.
Repeating instance names may be the result of instances for several VF axes
defined in `fvar`, but since currently only weight+italic tokens are allowed in
instance names as per GF specs, they ended up repeating.
Instead, only a base set of fonts for the most default representation of the
family can be defined through instances in the `fvar` table, all other instances
will have to be left to access through the `STAT` table.
  • 🔥 FAIL Following instances names are duplicate:
    • Thin
    • ExtraLight
    • Light
    • Regular
    • Medium
    • SemiBold
    • Bold
      [code: duplicate-instance-names]
🔥 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.usWinAscent value should be equal or greater than 1213, but got 1160 instead [code: ascent]
🔥 FAIL: Checking OS/2 Metrics match hhea Metrics.
--- Rationale ---
OS/2 and hhea vertical metric values should match. This will produce the same
linespacing on Mac, GNU+Linux and Windows.
- Mac OS X uses the hhea values.
- Windows uses OS/2 or Win, depending on the OS or fsSelection bit value.
When OS/2 and hhea vertical metrics match, the same linespacing results on
macOS, GNU+Linux and Windows. Unfortunately as of 2018, Google Fonts has
released many fonts with vertical metrics that don't match in this way. When we
fix this issue in these existing families, we will create a visible change in
line/paragraph layout for either Windows or macOS users, which will upset some
of them.
But we have a duty to fix broken stuff, and inconsistent paragraph layout is
unacceptably broken when it is possible to avoid it.
If users complain and prefer the old broken version, they have the freedom to
take care of their own situation.
  • 🔥 FAIL OS/2 sTypoAscender (880) and hhea ascent (1160) must be equal. [code: ascender]
🔥 FAIL: Checking correctness of monospaced metadata.
--- Rationale ---
There are various metadata in the OpenType spec to specify if a font is
monospaced or not. If the font is not truly monospaced, then no monospaced
metadata should be set (as sometimes they mistakenly are...)
Requirements for monospace fonts:
* post.isFixedPitch - "Set to 0 if the font is proportionally spaced, non-zero
if the font is not proportionally spaced (monospaced)"
  www.microsoft.com/typography/otspec/post.htm
* hhea.advanceWidthMax must be correct, meaning no glyph's width value is
greater.
  www.microsoft.com/typography/otspec/hhea.htm
* OS/2.panose.bProportion must be set to 9 (monospace). Spec says: "The PANOSE
definition contains ten digits each of which currently describes up to sixteen
variations. Windows uses bFamilyType, bSerifStyle and bProportion in the font
mapper to determine family type. It also uses bProportion to determine if the
font is monospaced."
  www.microsoft.com/typography/otspec/os2.htm#pan
  monotypecom-test.monotype.de/services/pan2
* OS/2.xAvgCharWidth must be set accurately.
  "OS/2.xAvgCharWidth is used when rendering monospaced fonts, at least by
Windows GDI"
  http://typedrawers.com/discussion/comment/15397/#Comment_15397
Also we should report an error for glyphs not of average width.
Please also note:
Thomas Phinney told us that a few years ago (as of December 2019), if you gave a
font a monospace flag in Panose, Microsoft Word would ignore the actual advance
widths and treat it as monospaced. Source:
https://typedrawers.com/discussion/comment/45140/#Comment_45140
  • 🔥 FAIL On monospaced fonts, the value of post.isFixedPitch must be set to a non-zero value (meaning 'fixed width monospaced'), but got 0 instead. [code: mono-bad-post-isFixedPitch]
  • 🔥 FAIL On monospaced fonts, the value of OS/2.panose.bProportion must be set to 9 (proportion: monospaced), but got 0 instead. [code: mono-bad-panose-proportion]
  • WARN Font is monospaced but 1 glyphs (0.17%) have a different width. You should check the widths of: ['m_p_l_u_s_f_o_n_t_s'] [code: mono-outliers]
WARN: METADATA.pb: Fontfamily is listed on Google Fonts API?
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: METADATA.pb: Designer is listed with the correct name on the Google Fonts catalog of designers?
  • com.google.fonts/check/metadata/designer_profiles

  • WARN It seems that MPlus Fonts 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: Check mark characters are in GDEF mark glyph class)
--- 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:
    Ccedilla, Uogonek, ccedilla, periodcentered, uni0163 and uni01EB [code: spacing-mark-glyphs]
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+030B, U+0324, U+032E and U+0331 [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+00B7, U+00C7, U+00E7, U+0163, U+0172 and U+01EB [code: non-mark-chars]
WARN: Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 4 8 47 8 137 0
0% 2% 4% 23% 4% 67% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

ofl/mplus1/METADATA.pb Outdated Show resolved Hide resolved
ofl/mplus1/METADATA.pb Outdated Show resolved Hide resolved
Copy link
Member

@davelab6 davelab6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking forwards to this :) However, the few minor things I commented on will, I guess, require a rebuild and coordination with the upstream to propagate them back there, so please work with @mintoming on this :)

@aaronbell
Copy link
Collaborator Author

@davelab6 These appear to be primarily metadata.pb changes rather than modifications to the actual font files. Internally, M PLUS 1P uses the "Mplus1p" name:

Screen Shot 2021-06-15 at 8 33 29 AM

I do need to rebuild the Code version as Coji's updated it, but aside from that, I don't think we need to rebuild the others.

@aaronbell
Copy link
Collaborator Author

Updated

M PLUS 1 Code: Version 1.000 added; M PLUS 2: Version 1.000 added; M PLUS 1: Version 1.000 added; M PLUS Code Latin: Version 1.000; ttfautohint (v1.8.3) added


bd10172: [gftools-packager] M PLUS 1: Version 1.000 added

7b805a9: [gftools-packager] M PLUS 1 Code: Version 1.000 added

bfc48c4: [gftools-packager] M PLUS 2: Version 1.000 added

304e509: [gftools-packager] M PLUS Code Latin: Version 1.000; ttfautohint (v1.8.3) added

@aaronbell aaronbell force-pushed the gftools_packager_mplus branch 2 times, most recently from 304e509 to f6ea9cd Compare June 15, 2021 21:50
@aaronbell
Copy link
Collaborator Author

Updated

M PLUS 1: Version 1.000 added; M PLUS 2: Version 1.000 added; M PLUS 1 Code: Version 1.000 added; M PLUS Code Latin: Version 1.000; ttfautohint (v1.8.3) added


bd10172: [gftools-packager] M PLUS 1: Version 1.000 added

7b805a9: [gftools-packager] M PLUS 1 Code: Version 1.000 added

bfc48c4: [gftools-packager] M PLUS 2: Version 1.000 added

304e509: [gftools-packager] M PLUS Code Latin: Version 1.000; ttfautohint (v1.8.3) added

@aaronbell
Copy link
Collaborator Author

Had some issues with conflicts between my local version of this and the repro :/. Think I got it all sorted out. Anyway, ended up rebuilding all the fonts to implement the fix Coji requested, and have updated metadata so this should be good to go now.

@aaronbell
Copy link
Collaborator Author

Updated

M PLUS Code Latin: Version 1.000; ttfautohint (v1.8.3) added; M PLUS 1 Code: Version 1.000 added; M PLUS 2: Version 1.000 added; M PLUS 1: Version 1.000 added


929e92a: [gftools-packager] M PLUS 1: Version 1.000 added

2c22488: [gftools-packager] ofl/mplus1 remove METADATA "source". #2587

3c46e28: [gftools-packager] M PLUS 2: Version 1.000 added

a29ef42: [gftools-packager] ofl/mplus2 remove METADATA "source". #2587

13231d2: [gftools-packager] M PLUS 1 Code: Version 1.000 added

46a6656: [gftools-packager] ofl/mplus1code remove METADATA "source". #2587

4a3599e: [gftools-packager] M PLUS Code Latin: Version 1.000; ttfautohint (v1.8.3) added

86129a6: [gftools-packager] ofl/mpluscodelatin remove METADATA "source". #2587

@RosaWagner
Copy link
Contributor

@aaronbell I still don't have a working gftools[qa], can you send me a zip ?
also, should the 1p font be deprecated after this goes to production?

@aaronbell
Copy link
Collaborator Author

1P is a rounded version which is different than these, so it shouldn't be deprecated. That said, it would probably be worth investigating if a new version of 1P should also be produced.

For QA, are you just looking for fontbakery? Or something else?

@RosaWagner
Copy link
Contributor

Also browser previews; I can still generate fontbakery report, but I can't have browser screenshots to check consistency across platform and eventual visual weirdness.

Designer would like to modify the metrics for the Latin version of the font. So I am splitting it from this PR and will do a separate PR for the font.
@aaronbell aaronbell changed the title Mplus Code Latin: Version 1.000; ttfautohint (v1.8.3) added; Mplus 2: Version 1.000; Mplus 1: Version 1.000; Mplus 1 Code: Version 1.000; Mplus 2: Version 1.000; Mplus 1: Version 1.000; Mplus 1 Code: Version 1.000; Sep 19, 2021
@aaronbell
Copy link
Collaborator Author

aaronbell commented Sep 19, 2021

Please note that I have removed M Plus Code Latin and M Plus 1 Code from this PR. The designer wants to modify the vertical metrics and I will need some time to work with him to get that done—will submit a separate PR with that font. However, I believe this is ready to move forward as is.

Designer has requested a similar treatment of the vertical metrics in M Plus 1 Code fonts as M Plus Code Latin.  Will submit those two separately than these two.
@aaronbell aaronbell changed the title Mplus 2: Version 1.000; Mplus 1: Version 1.000; Mplus 1 Code: Version 1.000; Mplus 2: Version 1.000; Mplus 1: Version 1.000 Sep 21, 2021
@RosaWagner RosaWagner merged commit a77d4e3 into main Sep 22, 2021
@RosaWagner RosaWagner deleted the gftools_packager_mplus branch September 22, 2021 16:21
@RosaWagner RosaWagner added --- Live Font is visible on API and removed --- to production labels Nov 11, 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 II CJK Chinese, Japanese, Korean scripts
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add MPLUS
4 participants