-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Add Inter type family #1908
Add Inter type family #1908
Conversation
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Love it!
Thanks @thundernixon. All image plots look good and fb errors are fine.
Could you mentioned the upstream repo and which commit has been used in the commit message? This info is useful for debugging purposes..
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
FYI: I just fixed the copyright value to include just one year ("2019") instead of a range, plus "RSMS" has been registered with Microsoft re "OS/2 VendorID". |
Version 3.5 has been published, which contains some important fixes to vertical metrics for macOS apps, by @thundernixon |
I've worked in the fresh updates to this latest push. 👍 |
Fontbakery reportFontbakery version: 0.7.1 [2] Family checks⚠ WARN: METADATA.pb: Fontfamily is listed on Google Fonts API?
⚠ WARN: Is the command `ftxvalidator` (Apple Font Tool Suite) available?
[8] Inter-Italic.ttf🔥 FAIL: Checking file is named canonically.
🔥 FAIL: Copyright notices match canonical pattern in METADATA.pb
🔥 FAIL: Copyright notices match canonical pattern in fonts
🔥 FAIL: METADATA.pb: Filename is set canonically?
🔥 FAIL: Stricter unitsPerEm criteria for Google Fonts.
🔥 FAIL: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent.
⚠ WARN: Checking unitsPerEm value is reasonable.
[8] Inter-Regular.ttf🔥 FAIL: Checking file is named canonically.
🔥 FAIL: Copyright notices match canonical pattern in METADATA.pb
🔥 FAIL: Copyright notices match canonical pattern in fonts
🔥 FAIL: METADATA.pb: Filename is set canonically?
🔥 FAIL: Stricter unitsPerEm criteria for Google Fonts.
🔥 FAIL: Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent.
⚠ WARN: Checking unitsPerEm value is reasonable.
Summary
Note: The following loglevels were omitted in this report:
Diff images: qa.zip |
Currently working out how to make the vertical metrics work well on Windows. Following FontBakery's suggestion doesn't quite fix it. The result is detailed at Inter PR rsms/inter#150. |
Unless someone else wants to pick this up, I think it's probably best to ignore FontBakery's suggestion of changing the I've tried to thoroughly understand the vertical metrics here, but there are still parts of it that are not entirely clear to me – in large part because applications aren't responding to metrics changes as I would expect them to. For example, I managed to fix the previous problems on varying bounding box height between different styles of Inter, but I am now seemingly unable to recreate those issues – even with old releases of Inter, and even when I rename these to avoid potential cacheing conflicts. All that said, it has been confirmed by rsms that the updates to vertical metrics solved known problems, and applying FontBakery's |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Is this good to go? |
This seems good to go. It's still up-to-date with the latest 3.5 release from inter. Can we push it? |
I'll merge this soon |
Actually, I'm seeing that there are a few commits in inter that were made after the latest push, so I'm going to rebuild these and repush them today, just so the PR is as fresh as the upstream. |
Including static/ and not referencing it from metadata is fine if there is value to having a committed copy of the instances. It'll be a little weird because they won't match what you'd get if you downloaded the instances from GF. |
@rsheeter I'm happy to go either way on the statics – it's ultimately up to you, Marek, & Dave. For what it's worth, I suspect that there won't be much of an overlap between folks who clone the repo for the fonts and folks who download from the GF frontend (but it would be pretty nice if the GF eng instancing code could be moved into something like a Travis CI and auto-generate statics from VF pull requests... though I'm not sure if that is possible / something that has already been considered). |
If having static/ is the only remaining concern I suggest merging (with or without static/ as you see fit), closing this ticket, and filing a separate issue issue discuss the need and approach for static/ dirs. |
Fontbakery reportFontbakery version: 0.7.17 [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/master/prebuilt/workarounds/ftxvalidator/ssh-implementation/ftxvalidator
[8] Inter[slnt,wght].ttf💔 ERROR: Check variable font instances have correct coordinate values
🔥 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: METADATA.pb weight matches postScriptName.
🔥 FAIL: 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.
🔥 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: 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).
⚠ WARN: METADATA.pb: Fontfamily is listed on Google Fonts API?
⚠ WARN: Checking unitsPerEm value is reasonable.--- Rationale --- According to the OpenType spec: The value of unitsPerEm at the head table must be a value between 16 and 16384. Any value in this range is valid. In fonts that have TrueType outlines, a power of 2 is recommended as this allows performance optimizations in some rasterizers. But 1000 is a commonly used value. And 2000 may become increasingly more common on Variable Fonts.
Summary
Note: The following loglevels were omitted in this report:
Diff images: qa.zip |
Updates here:
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
update metadata full_name for fontbakery
It looks like all open issues are resolved, unless I'm missing anything? |
I've been instructed to merge this into the repo. It can be further updated if needed. As with any other typeface in here, internal Google Fonts folks will ultimately decide when and how to bring this into production, and it may be held back temporarily. A current obstacle is that no modern browsers currently properly support the |
FYI I changed your METADATA.pb file from SANS-SERIF to SANS_SERIF. |
@m4rc1e please add Inter to |
Could we add the single-axis (weight axis) italic as well? That’s how Inter is served from its main website (two single-axis VFs) which is a workaround that works everywhere. |
For everyone watching this thread, Inter is live on Google Fonts - https://fonts.google.com/specimen/Inter Not sure when it happened. |
@rsms I will make a PR to do that next week. Hopefully, if I don't change much from the first one, it will be a relatively quick merge |
FYI, |
We've developed lint and regression tools to try to keep pace with projects like Inter, where they can be integrated into a CI process to prevent regressions from snowballing :) |
Is there a reason there is a single ttf file "Inter[slnt,wght].ttf" as opposed to the structure of most other fonts where there is a separate file for each weight/style eg. "InriaSerif-Bold.ttf" ? |
@andrewvarga It's a variable font! Please see https://variablefonts.io/ for more info |
Inter, by @rsms, is an impressive open source type project.
It's still in active development, but it's already very popular and useful for a lot of sites (GitHub uses it for marketing site headlines, for one), so it's worth adding to the GF directory.
The only remaining FontBakery issues are around VF file naming and copyright formatting. Filename issues will be resolved once there are up-to-date FontBakery checks and gftools to handle these, and copyright issues (as far as I know) are due to over-strict tests.
Upstream repo: https://github.com/rsms/inter
QA work at: https://github.com/thundernixon/inter/tree/qa/misc/googlefonts-qa
PR closes: #1455