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

barlow to v1.422 #2072

Closed
wants to merge 3 commits into from
Closed

barlow to v1.422 #2072

wants to merge 3 commits into from

Conversation

jpt
Copy link
Contributor

@jpt jpt commented Jul 17, 2019

Replaces #2068 (cc @m4rc1e -- sorry, my git history was a mess, replaced that PR with this one)

From there:

Newest version of Barlow! Fixes a bunch of issues: https://github.com/jpt/barlow/releases/tag/1.422

Maybe more interesting -- this incorporates iKern from a commissioned Barlow fork 😄There are other changes from that font I'd like to work in to Barlow, but there's definitely a discussion to be had around around "what is a Barlow improvement" vs. "what is a too-significant change to style."

There's a bit of a roadmap here:

https://github.com/jpt/barlow/wiki/Barlow-1.5-and-2.0-Roadmap

LMK if I can help with anything to get this PR in.

Cheers!

@thlinard
Copy link
Contributor

Hi,
One question: why not update the VF version and put it in this PR?

@jpt
Copy link
Contributor Author

jpt commented Jul 17, 2019

Hi @thlinard -- the reason I still refer to Barlow VF support as "experimental" is because it isn't feature-complete. Barlow is a font with slight rounding on both the interior and exterior:

Screen Shot 2019-07-17 at 3 53 01 PM

This is produced from non-rounded masters:

Screen Shot 2019-07-17 at 3 49 22 PM

Glyphs handles the rounding on export just fine via custom parameters, e.g.:

(
        {
        Filter = "GlyphsFilterRoundCorner;15;1;";
    },
        {
        Filter = "GlyphsFilterRoundCorner;-6;1;";
    }
)

But unfortunately, Glyphs can't handle this for VF export, which means a separate source file would be necessary, where all overlaps are removed before the rounding is applied. By removing overlaps, many glyphs will then have incompatible masters -- Ø for example -- so there's a bit of manual work to be done to make Barlow VF-compatible. All this to say: Barlow as a VF doesn't quite exist yet. But it will soon, whether via manual adjustments, or by figuring out a way automate the build process.

@thlinard
Copy link
Contributor

OK, thanks for the explanations!

@jpt
Copy link
Contributor Author

jpt commented Jul 22, 2019

Hmm; this could be a non-issue due to the GF API taking in TTF files, but it may be worth waiting until jpt/barlow#53 is resolved before giving this PR too close an eye

@jpt
Copy link
Contributor Author

jpt commented Jul 29, 2019

OK, the latest binaries should be good to go!

@davelab6
Copy link
Member

davelab6 commented Aug 6, 2019

Marc is on vacation so this will take a few weeks until it can be reviewed

@m4rc1e
Copy link
Collaborator

m4rc1e commented Sep 18, 2019

Fontbakery report

Fontbakery version: 0.7.12

[7] Barlow-Black.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Check if each glyph has the recommended amount of contours.
  • com.google.fonts/check/contour_count
  • 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: lcaron Contours detected: 1 Expected: 2
Glyph name: tcaron Contours detected: 1 Expected: 2 [code: contour-count]

WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[7] Barlow-BlackItalic.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Check if each glyph has the recommended amount of contours.
  • com.google.fonts/check/contour_count
  • 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: lcaron Contours detected: 1 Expected: 2
Glyph name: tcaron Contours detected: 1 Expected: 2 [code: contour-count]

WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[6] Barlow-Bold.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[6] Barlow-BoldItalic.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[6] Barlow-ExtraBold.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[6] Barlow-ExtraBoldItalic.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[6] Barlow-ExtraLight.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[6] Barlow-ExtraLightItalic.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[5] Barlow-Italic.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[6] Barlow-Light.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[6] Barlow-LightItalic.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[6] Barlow-Medium.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[6] Barlow-MediumItalic.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[6] Barlow-Regular.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[6] Barlow-SemiBold.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[6] Barlow-SemiBoldItalic.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[7] Barlow-Thin.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Font has old ttfautohint applied?
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

[6] Barlow-ThinItalic.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts.

This can be accomplished by using the 'gftools fix-hinting' command.

create virtualenvpython3 -m venv venv

activate virtualenvsource venv/bin/activate

install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]

WARN: Checking OS/2 achVendID.
WARN: Stricter unitsPerEm criteria for Google Fonts.
  • com.google.fonts/check/unitsperem_strict
  • 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]
WARN: Glyphs are similiar to Google Fonts version?
WARN: Are there caret positions declared for every ligature?
WARN: Is there kerning info for non-ligated sequences?

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 18 92 988 108 1198 0
0% 1% 4% 41% 4% 50% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

Diff images: Barlow_qa.zip

@m4rc1e
Copy link
Collaborator

m4rc1e commented Sep 18, 2019

Apologies for the delay.

Spacing has changed quite a lot.

Desktop_Windows_10_chrome_69 0_

I prefer the looser kerning for the WA. I'm not sure about the rest

Fonts also need to be run through gftools fix-hinting

Oslashacute is not bracketed anymore. Did you generate the fonts using fontmake? if so you may want to regenerate the fonts using a newer version.

@jpt
Copy link
Contributor Author

jpt commented Sep 18, 2019

Thank you, @m4rc1e !

Spacing has changed quite a lot.

Indeed! This is thanks to iKern; the iKerning originated in a commissioned fork of Barlow, and since everything is OFL I brought the new metrics into Barlow.

I prefer the looser kerning for the WA. I'm not sure about the rest

... but it looks like there was an issue bringing the new spacing/kerning back into Barlow. It looks like the WA has no kerning at all in this PR -- I am seeing that the kerning pairs got in, but certain kerning groups did not. mekkablue and alexeiva have scripts for bringing pairs over from other files, but it looks like there is another issue with copying over the kerning itself from the Kerning palette in Glyphs, so I may have to do it to the Glyphs file with a text editor. In any case, I'll fix this bug.

Oslashacute is not bracketed anymore. Did you generate the fonts using fontmake? if so you may want to regenerate the fonts using a newer version.

The fonts were generated with Glyphs -- last I checked fontmake does not support the Glyphs rounding filters, so fontmake may not be a possibility for Barlow, unless this has changed? Oslash has (intentionally) reverted back to a full line going through at all weights as Norwegian users reported problems with legibility, but not sure what the issue is with Oslashacute in particular. Looks like the lines themselves have wonky angles though, I'll fix.

Thanks again, Marc. I'll address these issues and ping you when I've pushed up a fix.

@jpt
Copy link
Contributor Author

jpt commented Sep 20, 2019

@m4rc1e OK -- I've fixed the missing kerning pairs, and run the fonts through fix-hinting in 6640940

@RosaWagner RosaWagner added the -- Needs Upstream Resolution Upstream fix required before moving forward label Oct 19, 2020
@vv-monsalve vv-monsalve marked this pull request as draft December 3, 2020 20:19
Base automatically changed from master to main February 26, 2021 16:09
@vv-monsalve vv-monsalve removed their assignment Sep 14, 2021
@RosaWagner RosaWagner closed this Sep 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-- Needs Upstream Resolution Upstream fix required before moving forward
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants