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

Cairo v3.000 added #2294

Closed
wants to merge 1 commit into from
Closed

Cairo v3.000 added #2294

wants to merge 1 commit into from

Conversation

eliheuer
Copy link
Collaborator

From the upstream repo: https://github.com/eliheuer/titillium-web-vf
At commit: 109d49f

From the upstream repo: https://github.com/eliheuer/titillium-web-vf
At commit: 109d49f
@gf-bot
Copy link

gf-bot commented Dec 13, 2019

Fontbakery report

Fontbakery version: 0.7.16

[2] Family checks
🔥 FAIL: Check METADATA.pb parse correctly.
--- Rationale ---

The purpose of this check is to ensure that the METADATA.pb file is not
malformed.


  • 🔥 FAIL Family metadata at /tmp/tmppcteco9k/ofl/cairo failed to parse.
    TRACEBACK:
    13:14 : ' copyright: "Copyright 2009 The Cairo Project Authors (gaber@gaberism.net)': String missing ending quote: '"Copyright 2009 The Cairo Project Authors (gaber@gaberism.net)' [code: parsing-error]
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/master/prebuilt/workarounds/ftxvalidator/ssh-implementation/ftxvalidator


  • WARN ftxvalidator is not available.

[9] Cairo-Italic[wght].ttf
🔥 FAIL: Does DESCRIPTION file mention when a family is available as variable font?
--- Rationale ---

Families with variable fonts do not always mention that in their descriptions.
Therefore, this check ensures that a standard boilerplate sentence is present
in the DESCRIPTION.en_us.html files for all those families which are available
as variable fonts.


  • 🔥 FAIL Please mention in the DESCRIPTION.en-us.html that the family is a variable font. This check expects the words 'variable font' to be present in the text e.g 'This font is now available as a variable font.' [code: should-mention-varfonts]
🔥 FAIL: Copyright notices match canonical pattern in fonts
  • com.google.fonts/check/font_copyright

  • 🔥 FAIL Name Table entry: Copyright notices should match a pattern similar to: "Copyright 2019 The Familyname Project Authors (git url)"
    But instead we have got:
    "Copyright 2009 The Cairo Project Authors (gaber@gaberism.net)" [code: bad-notice-format]

🔥 FAIL: Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.
🔥 FAIL: 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 must 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.


  • 🔥 FAIL Please create a subdirectory called "static/" and include in it static font files. [code: missing]
🔥 FAIL: Are there unwanted tables?
--- Rationale ---

Some font editors store source data in their own SFNT tables, and these can
sometimes sneak into final release files, which should only have OpenType spec
tables.


They can be removed by using fonttools/ttx.

🔥 FAIL: Glyph names are all valid?
--- Rationale ---

Microsoft's recommendations for OpenType Fonts states the following:

'NOTE: The PostScript glyph name must be no longer than 31 characters, include
only uppercase or lowercase English letters, European digits, the period or the
underscore, i.e. from the set [A-Za-z0-9_.] and should start with a letter,
except the special glyph name ".notdef" which starts with a period.'

https://docs.microsoft.com/en-us/typography/opentype/spec/recom#post-table


  • 🔥 FAIL The following glyph names do not comply with naming conventions: yehHamzaabove_yehHamzaabovear.fina

A glyph name may be up to 31 characters in length, must be entirely comprised of characters from the following set: A-Z a-z 0-9 .(period) (underscore). and must not start with a digit or period. There are a few exceptions such as the special character ".notdef". The glyph names "twocents", "a1", and "" are all valid, while "2cents" and ".twocents" are not. [code: found-invalid-names]

WARN: Checking OS/2 usWeightClass.
  • com.google.fonts/check/usweightclass

  • WARN ExtraLight Italic:200 is OK on TTFs, but OTF files with those values will cause bluring on Windows. GlyphsApp users must set an Instance Custom Parameter for the Thin and ExtraLight styles to 250 and 275, so that if OTFs are exported then it will not blur on Windows. [code: blur-on-windows]

WARN: Font has old ttfautohint applied?
--- Rationale ---

This check finds which version of ttfautohint was used, by inspecting name
table entries and then finds which version of ttfautohint is currently
installed in the system.


  • WARN ttfautohint used in font = 1.8.2; installed = 1.8.3; Need to re-run with the newer version! [code: old-ttfa]
WARN: Stricter unitsPerEm criteria for Google Fonts.
--- Rationale ---

Even though the OpenType spec allows unitsPerEm to be any value between 16 and
16384, the Google Fonts project aims at a narrower set of reasonable values.

The spec suggests usage of powers of two in order to get some performance
improvements on legacy renderers, so those values are acceptable.

But value of 500 or 1000 are also acceptable, with the added benefit that it
makes upm math easier for designers, while the performance hit of not using a
power of two is most likely negligible nowadays.

Another acceptable value is 2000. Since TT outlines are all integers (no
floats), then instances in a VF suffer rounding compromises, and therefore a
1000 UPM is to small because it forces too many such compromises.

Therefore 2000 is a good 'new VF standard', because 2000 is a simple 2x
conversion from existing fonts drawn on a 1000 UPM, and anyone who knows what
10 units can do for 1000 UPM will know what 20 units does too.

Additionally, values above 2048 would result in filesize increases with not
much added benefit.


  • WARN Even though unitsPerEm (1000) in this font is reasonable. It is strongly advised to consider changing it to 2000, since it will likely improve the quality of Variable Fonts by avoiding excessive rounding of coordinates on interpolations. [code: legacy-value]

[8] Cairo[wght].ttf
🔥 FAIL: Does DESCRIPTION file mention when a family is available as variable font?
--- Rationale ---

Families with variable fonts do not always mention that in their descriptions.
Therefore, this check ensures that a standard boilerplate sentence is present
in the DESCRIPTION.en_us.html files for all those families which are available
as variable fonts.


  • 🔥 FAIL Please mention in the DESCRIPTION.en-us.html that the family is a variable font. This check expects the words 'variable font' to be present in the text e.g 'This font is now available as a variable font.' [code: should-mention-varfonts]
🔥 FAIL: Copyright notices match canonical pattern in fonts
  • com.google.fonts/check/font_copyright

  • 🔥 FAIL Name Table entry: Copyright notices should match a pattern similar to: "Copyright 2019 The Familyname Project Authors (git url)"
    But instead we have got:
    "Copyright 2009 The Cairo Project Authors (gaber@gaberism.net)" [code: bad-notice-format]

🔥 FAIL: 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 must 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.


  • 🔥 FAIL Please create a subdirectory called "static/" and include in it static font files. [code: missing]
🔥 FAIL: Are there unwanted tables?
--- Rationale ---

Some font editors store source data in their own SFNT tables, and these can
sometimes sneak into final release files, which should only have OpenType spec
tables.


They can be removed by using fonttools/ttx.

🔥 FAIL: Glyph names are all valid?
--- Rationale ---

Microsoft's recommendations for OpenType Fonts states the following:

'NOTE: The PostScript glyph name must be no longer than 31 characters, include
only uppercase or lowercase English letters, European digits, the period or the
underscore, i.e. from the set [A-Za-z0-9_.] and should start with a letter,
except the special glyph name ".notdef" which starts with a period.'

https://docs.microsoft.com/en-us/typography/opentype/spec/recom#post-table


  • 🔥 FAIL The following glyph names do not comply with naming conventions: alefMaksura_alefMaksuraar.fina.alt and yehHamzaabove_yehHamzaabovear.fina

A glyph name may be up to 31 characters in length, must be entirely comprised of characters from the following set: A-Z a-z 0-9 .(period) (underscore). and must not start with a digit or period. There are a few exceptions such as the special character ".notdef". The glyph names "twocents", "a1", and "" are all valid, while "2cents" and ".twocents" are not. [code: found-invalid-names]

WARN: Checking OS/2 usWeightClass.
  • com.google.fonts/check/usweightclass

  • WARN ExtraLight:200 is OK on TTFs, but OTF files with those values will cause bluring on Windows. GlyphsApp users must set an Instance Custom Parameter for the Thin and ExtraLight styles to 250 and 275, so that if OTFs are exported then it will not blur on Windows. [code: blur-on-windows]

WARN: Font has old ttfautohint applied?
--- Rationale ---

This check finds which version of ttfautohint was used, by inspecting name
table entries and then finds which version of ttfautohint is currently
installed in the system.


  • WARN ttfautohint used in font = 1.8.2; installed = 1.8.3; Need to re-run with the newer version! [code: old-ttfa]
WARN: Stricter unitsPerEm criteria for Google Fonts.
--- Rationale ---

Even though the OpenType spec allows unitsPerEm to be any value between 16 and
16384, the Google Fonts project aims at a narrower set of reasonable values.

The spec suggests usage of powers of two in order to get some performance
improvements on legacy renderers, so those values are acceptable.

But value of 500 or 1000 are also acceptable, with the added benefit that it
makes upm math easier for designers, while the performance hit of not using a
power of two is most likely negligible nowadays.

Another acceptable value is 2000. Since TT outlines are all integers (no
floats), then instances in a VF suffer rounding compromises, and therefore a
1000 UPM is to small because it forces too many such compromises.

Therefore 2000 is a good 'new VF standard', because 2000 is a simple 2x
conversion from existing fonts drawn on a 1000 UPM, and anyone who knows what
10 units can do for 1000 UPM will know what 20 units does too.

Additionally, values above 2048 would result in filesize increases with not
much added benefit.


  • WARN Even though unitsPerEm (1000) in this font is reasonable. It is strongly advised to consider changing it to 2000, since it will likely improve the quality of Variable Fonts by avoiding excessive rounding of coordinates on interpolations. [code: legacy-value]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 12 7 119 14 145 0
0% 4% 2% 40% 5% 49% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

Diff images: qa.zip

@m4rc1e m4rc1e self-requested a review December 18, 2019 10:51
Copy link
Collaborator

@m4rc1e m4rc1e left a comment

Choose a reason for hiding this comment

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

Weights are much heaver than previous version.

Desktop_Windows_10_chrome_69 0_

Italic has incorrect typo name. Have you named the masters in the glyph file correctly?

Include a dir which contains static fonts.

Drop MVAR tables

@m4rc1e
Copy link
Collaborator

m4rc1e commented Mar 10, 2020

Closing. #2380 is newer

@m4rc1e m4rc1e closed this Mar 10, 2020
@m4rc1e m4rc1e deleted the cairo-vf-update branch April 28, 2021 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants