google / fonts

Font files available from Google Fonts, and a public issue tracker for all things Google Fonts
https://fonts.google.com
17.84k stars 2.6k forks source link

Add Go & Go Mono #1390

Open cssobral2013 opened 6 years ago

EwonRael commented 6 years ago

can you add a link to the repository?

davelab6 commented 6 years ago

https://blog.golang.org/go-fonts

laerm0 commented 6 years ago

I was talking with the designer earlier this year and I think I am going to use some free time later this year to variableize these fonts, FYI.

davelab6 commented 3 years ago

@RosaWagner this would be good to prioritize in Q1

RosaWagner commented 3 years ago

@davelab6 I started to get into this.

  1. We could fix all of that from sources, but I then I need to be put in contact with the google guys who deal with the Go project to see if are willing to bring modifications.
  2. We could hotfix the binaries, but I don't know if the authors will be happy about that.
  3. We could ship the font (without a medium weight) and not fix the issues if this project has special treatment.

Fontbakery report GO (proportional)

Fontbakery version: 0.7.37

[3] Family checks
🔥 FAIL: Fonts have consistent PANOSE proportion? * [com.google.fonts/check/family/panose_proportion](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/os2.html#com.google.fonts/check/family/panose_proportion) * 🔥 **FAIL** PANOSE proportion is not the same across this family. In order to fix this, please make sure that the panose.bProportion value is the same in the OS/2 table of all of this family font files. [code: inconsistency]
🔥 FAIL: Fonts have consistent underline thickness? * [com.google.fonts/check/family/underline_thickness](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/post.html#com.google.fonts/check/family/underline_thickness)
--- Rationale ---
Dave C Lemon (Adobe Type Team) recommends setting the underline thickness to be
consistent across the family.
If thicknesses are not family consistent, words set on the same line which have
different styles look strange.
See also:
https://twitter.com/typenerd1/status/690361887926697986
* 🔥 **FAIL** Thickness of the underline is not the same across this family. In order to fix this, please make sure that the underlineThickness value is the same in the 'post' table of all of this family font files. Detected underlineThickness values are: Go-Bold-Italic.ttf: 100 Go-Bold.ttf: 100 Go-Italic.ttf: 50 Go-Regular.ttf: 50 [code: inconsistent-underline-thickness]
WARN: Make sure all font files have the same version value. * [com.google.fonts/check/family/equal_font_versions](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/head.html#com.google.fonts/check/family/equal_font_versions) * ⚠ **WARN** Version info differs among font files of the same font project. These were the version values found: * Go-Bold-Italic.ttf: 2.00799560546875 * Go-Bold.ttf: 2.00799560546875 * Go-Italic.ttf: 2.0070037841796875 * Go-Regular.ttf: 2.00799560546875 [code: mismatch]

[23] Go-Bold-Italic.ttf
🔥 FAIL: Checking file is named canonically. * [com.google.fonts/check/canonical_filename](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/canonical_filename)
--- Rationale ---
A font's filename must be composed in the following manner:
<familyname>-<stylename>.ttf
- Nunito-Regular.ttf,
- Oswald-BoldItalic.ttf
Variable fonts must list the axis tags in alphabetical order in square brackets
and separated by commas:
- Roboto[wdth,wght].ttf
- Familyname-Italic[wght].ttf
* 🔥 **FAIL** Style name used in "Go-Bold-Italic.ttf" is not canonical. You should rebuild the font using any of the following style names: "Thin", "ExtraLight", "Light", "Regular", "Medium", "SemiBold", "Bold", "ExtraBold", "Black", "Thin Italic", "ExtraLight Italic", "Light Italic", "Italic", "Medium Italic", "SemiBold Italic", "Bold Italic", "ExtraBold Italic", "Black Italic". [code: bad-static-filename]
🔥 FAIL: Check `Google Fonts Latin Core` glyph coverage. * [com.google.fonts/check/glyph_coverage](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/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** Missing required codepoints: 0x2074 (SUPERSCRIPT FOUR) [code: missing-codepoints]
🔥 FAIL: Checking OS/2 usWeightClass. * [com.google.fonts/check/usweightclass](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/usweightclass)
--- Rationale ---
Google Fonts expects variable fonts, static ttfs and static otfs to have
differing OS/2 usWeightClass values.
For Variable Fonts, Thin-Black must be 100-900
For static ttfs, Thin-Black can be 100-900 or 250-900
For static otfs, Thin-Black must be 250-900
If static otfs are set lower than 250, text may appear blurry in legacy Windows
applications.
Glyphsapp users can change the usWeightClass value of an instance by adding a
'weightClass' customParameter.
* 🔥 **FAIL** OS/2 usWeightClass is '600' when it should be '400'. [code: bad-value]
🔥 FAIL: Copyright notices match canonical pattern in fonts * [com.google.fonts/check/font_copyright](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format] * 🔥 **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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format]
🔥 FAIL: Checking OS/2 fsSelection value. * [com.google.fonts/check/fsselection](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/fsselection) * 🔥 **FAIL** OS/2 fsSelection ITALIC bit should be unset. [code: bad-ITALIC]
🔥 FAIL: Checking post.italicAngle value. * [com.google.fonts/check/italic_angle](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/italic_angle)
--- Rationale ---
The 'post' table italicAngle property should be a reasonable amount, likely not
more than -20°, never more than -30°, and never greater than 0°. Note that in
the OpenType specification, the value is negative for a lean rightwards.
https://docs.microsoft.com/en-us/typography/opentype/spec/post
* 🔥 **FAIL** Font is not italic, so post.italicAngle should be equal to zero. [code: non-zero-normal]
🔥 FAIL: Checking head.macStyle value. * [com.google.fonts/check/mac_style](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/mac_style)
--- Rationale ---
The values of the flags on the macStyle entry on the 'head' OpenType table that
describe whether a font is bold and/or italic must be coherent with the actual
style of the font as inferred by its filename.
* 🔥 **FAIL** head macStyle ITALIC bit should be unset. [code: bad-ITALIC]
🔥 FAIL: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/name/subfamilyname](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/subfamilyname) * 🔥 **FAIL** SUBFAMILY_NAME for Mac "Bold Italic" must be "Regular" [code: bad-familyname] * 🔥 **FAIL** SUBFAMILY_NAME for Win "Bold Italic" must be "Regular" [code: bad-familyname]
🔥 FAIL: Check name table: FULL_FONT_NAME entries. * [com.google.fonts/check/name/fullfontname](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/fullfontname)
--- Rationale ---
Requirements for the FULL_FONT_NAME entries in the 'name' table.
* 🔥 **FAIL** [FULL_FONT_NAME(4):MACINTOSH(1)] Expected: "Go Bold" But got: "Go Bold Italic" [code: bad-entry] * 🔥 **FAIL** [FULL_FONT_NAME(4):WINDOWS(3)] Expected: "Go Bold" But got: "Go Bold Italic" [code: bad-entry]
🔥 FAIL: Check name table: POSTSCRIPT_NAME entries. * [com.google.fonts/check/name/postscriptname](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/postscriptname)
--- Rationale ---
Requirements for the POSTSCRIPT_NAME entries in the 'name' table.
* 🔥 **FAIL** [POSTSCRIPT_NAME(6):MACINTOSH(1)] Expected: "Go-Bold" But got: "Go-BoldItalic" [code: bad-entry] * 🔥 **FAIL** [POSTSCRIPT_NAME(6):WINDOWS(3)] Expected: "Go-Bold" But got: "Go-BoldItalic" [code: bad-entry]
🔥 FAIL: Name table entries should not contain line-breaks. * [com.google.fonts/check/name/line_breaks](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/line_breaks)
--- Rationale ---
There are some entries on the name table that may include more than one line of
text. The Google Fonts team, though, prefers to keep the name table entries
short and simple without line breaks.
For instance, some designers like to include the full text of a font license in
the "copyright notice" entry, but for the GFonts collection this entry should
only mention year, author and other basic info in a manner enforced by
com.google.fonts/check/font_copyright
* 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform MACINTOSH contains a line-break. [code: line-break] * 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform WINDOWS contains a line-break. [code: line-break]
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/family/win_ascent_and_descent](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/family/win_ascent_and_descent)
--- 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 2193, but got 1935 instead [code: ascent] * 🔥 **FAIL** OS/2.usWinDescent value should be equal or greater than 543, but got 432 instead. [code: descent]
🔥 FAIL: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/os2_metrics_match_hhea](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/os2_metrics_match_hhea)
--- 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 (1579) and hhea ascent (1935) must be equal. [code: ascender]
🔥 FAIL: Does the font have a DSIG table? * [com.google.fonts/check/dsig](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/dsig.html#com.google.fonts/check/dsig)
--- 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.
This checks verifies that this signature is available in the font.
A fake signature is enough to address this issue. If needed, a dummy table can
be added to the font with the `gftools fix-dsig` script available at
https://github.com/googlefonts/gftools
Reference: https://github.com/googlefonts/fontbakery/issues/1845
* 🔥 **FAIL** This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly. You can add a DSIG table by running the `gftools fix-dsig` script. [code: lacks-signature]
WARN: Checking OS/2 achVendID. * [com.google.fonts/check/vendor_id](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/vendor_id)
--- Rationale ---
Microsoft keeps a list of font vendors and their respective contact info. This
list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored
in the achVendID field of the OS/2 table.
Registering your ID is not mandatory, but it is a good practice since some
applications may display the type designer / type foundry contact info on some
dialog and also because that info will be visible on Microsoft's website:
https://docs.microsoft.com/en-us/typography/vendors/
This check verifies whether or not a given font's vendor ID is registered in
that list or if it has some of the default values used by the most common font
editors.
Each new FontBakery release includes a cached copy of that list of vendor IDs.
If you registered recently, you're safe to ignore warnings emitted by this
check, since your ID will soon be included in one of our upcoming releases.
* ⚠ **WARN** OS/2 VendorID value ' ' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]
WARN: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/name/description_max_length](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/description_max_length)
--- Rationale ---
An old FontLab version had a bug which caused it to store copyright notices in
nameID 10 entries.
In order to detect those and distinguish them from actual legitimate usage of
this name table entry, we expect that such strings do not exceed a reasonable
length of 200 chars.
Longer strings are likely instances of the FontLab bug.
* ⚠ **WARN** A few name table entries with ID=10 (NameID.DESCRIPTION) are longer than 200 characters. Please check whether those entries are copyright notices mistakenly stored in the description string entries by a bug in an old FontLab version. If that's the case, then such copyright notices must be removed from these entries. [code: too-long]
WARN: Font has old ttfautohint applied? * [com.google.fonts/check/old_ttfautohint](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/old_ttfautohint)
--- 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.6; installed = 1.8.3; Need to re-run with the newer version! [code: old-ttfa]
WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/contour_count](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/contour_count)
--- Rationale ---
Visually QAing thousands of glyphs by hand is tiring. Most glyphs can only be
constructured in a handful of ways. This means a glyph's contour count will only
differ slightly amongst different fonts, e.g a 'g' could either be 2 or 3
contours, depending on whether its double story or single story.
However, a quotedbl should have 2 contours, unless the font belongs to a display
family.
This check currently does not cover variable fonts because there's plenty of
alternative ways of constructing glyphs with multiple outlines for each feature
in a VarFont. The expected contour count data for this check is currently
optimized for the typical construction of glyphs in static fonts.
* ⚠ **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: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 [code: contour-count]
WARN: Checking Vertical Metric Linegaps. * [com.google.fonts/check/linegaps](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/hhea.html#com.google.fonts/check/linegaps) * ⚠ **WARN** OS/2 sTypoLineGap is not equal to 0. [code: OS/2]
WARN: Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value * [com.google.fonts/check/gpos_kerning_info](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/gpos.html#com.google.fonts/check/gpos_kerning_info) * ⚠ **WARN** GPOS table lacks kerning information. [code: lacks-kern-info]
WARN: Are there any misaligned on-curve points? * [com.google.fonts/check/outline_alignment_miss](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_alignment_miss)
--- 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: * dollar: X=775.0,Y=1479.0 (should be at cap-height 1480?) * dollar: X=935.0,Y=1479.0 (should be at cap-height 1480?) * f: X=1051.0,Y=1578.0 (should be at ascender 1579?) * t: X=665.0,Y=1.0 (should be at baseline 0?) * Aring: X=1056.0,Y=1577.0 (should be at ascender 1579?) * Aring: X=1056.0,Y=1577.0 (should be at ascender 1579?) * atilde: X=1063.0,Y=1478.0 (should be at cap-height 1480?) * ntilde: X=1055.0,Y=1478.0 (should be at cap-height 1480?) * otilde: X=1045.0,Y=1478.0 (should be at cap-height 1480?) * itilde: X=725.0,Y=1478.0 (should be at cap-height 1480?) and 30 more. [code: found-misalignments]
WARN: Do any segments have colinear vectors? * [com.google.fonts/check/outline_colinear_vectors](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_colinear_vectors)
--- Rationale ---
This check looks for consecutive line segments which have the same angle. This
normally happens if an outline point has been added by accident.
This check is not run for variable fonts, as they may legitimately have colinear
vectors.
* ⚠ **WARN** The following glyphs have colinear vectors: * Atilde: L<<1082.0,1892.0>--<1114.0,1866.0>> -> L<<1114.0,1866.0>--<1141.0,1844.0>> * Eng: L<<1601.0,1480.0>--<1306.0,0.0>> -> L<<1306.0,0.0>--<1296.0,-46.0>> * Itilde: L<<806.0,1892.0>--<838.0,1866.0>> -> L<<838.0,1866.0>--<865.0,1844.0>> * Ntilde: L<<1100.0,1892.0>--<1132.0,1866.0>> -> L<<1132.0,1866.0>--<1159.0,1844.0>> * Otilde: L<<1139.0,1892.0>--<1171.0,1866.0>> -> L<<1171.0,1866.0>--<1198.0,1844.0>> * S: L<<763.0,972.0>--<868.0,928.0>> -> L<<868.0,928.0>--<1025.0,865.0>> * S: L<<945.0,546.0>--<818.0,598.0>> -> L<<818.0,598.0>--<667.0,660.0>> * Sacute: L<<763.0,972.0>--<868.0,928.0>> -> L<<868.0,928.0>--<1025.0,865.0>> * Sacute: L<<945.0,546.0>--<818.0,598.0>> -> L<<818.0,598.0>--<667.0,660.0>> * Scaron: L<<763.0,972.0>--<868.0,928.0>> -> L<<868.0,928.0>--<1025.0,865.0>> and 53 more. [code: found-colinear-vectors]
WARN: Do outlines contain any jaggy segments? * [com.google.fonts/check/outline_jaggy_segments](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_jaggy_segments)
--- Rationale ---
This check heuristically detects outline segments which form a particularly
small angle, indicative of an outline error. This may cause false positives in
cases such as extreme ink traps, so should be regarded as advisory and backed up
by manual inspection.
* ⚠ **WARN** The following glyphs have jaggy segments: * club: B<<1029.0,241.0>-<830.0,241.0>-<716.0,514.0>>/L<<716.0,514.0>--<806.0,0.0>> = 12.732904114987004 * club: L<<537.0,0.0>--<626.0,514.0>>/B<<626.0,514.0>-<513.0,241.0>-<315.0,241.0>> = 12.662149957057041 * gopher: B<<407.5,668.0>-<371.0,664.0>-<314.0,654.0>>/B<<314.0,654.0>-<326.0,655.0>-<337.0,662.5>> = 5.186984997225381 * gopher: B<<595.0,824.5>-<640.0,816.0>-<689.0,806.0>>/B<<689.0,806.0>-<648.0,813.0>-<601.0,817.5>> = 1.8458340932778838 and lslash: L<<302.0,829.0>--<302.0,825.0>>/L<<302.0,825.0>--<453.0,1579.0>> = 11.324545016297893 [code: found-jaggy-segments]

[17] Go-Bold.ttf
🔥 FAIL: Check `Google Fonts Latin Core` glyph coverage. * [com.google.fonts/check/glyph_coverage](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/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** Missing required codepoints: 0x2074 (SUPERSCRIPT FOUR) [code: missing-codepoints]
🔥 FAIL: Checking OS/2 usWeightClass. * [com.google.fonts/check/usweightclass](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/usweightclass)
--- Rationale ---
Google Fonts expects variable fonts, static ttfs and static otfs to have
differing OS/2 usWeightClass values.
For Variable Fonts, Thin-Black must be 100-900
For static ttfs, Thin-Black can be 100-900 or 250-900
For static otfs, Thin-Black must be 250-900
If static otfs are set lower than 250, text may appear blurry in legacy Windows
applications.
Glyphsapp users can change the usWeightClass value of an instance by adding a
'weightClass' customParameter.
* 🔥 **FAIL** OS/2 usWeightClass is '600' when it should be '700'. [code: bad-value]
🔥 FAIL: Copyright notices match canonical pattern in fonts * [com.google.fonts/check/font_copyright](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format] * 🔥 **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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format]
🔥 FAIL: Name table entries should not contain line-breaks. * [com.google.fonts/check/name/line_breaks](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/line_breaks)
--- Rationale ---
There are some entries on the name table that may include more than one line of
text. The Google Fonts team, though, prefers to keep the name table entries
short and simple without line breaks.
For instance, some designers like to include the full text of a font license in
the "copyright notice" entry, but for the GFonts collection this entry should
only mention year, author and other basic info in a manner enforced by
com.google.fonts/check/font_copyright
* 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform MACINTOSH contains a line-break. [code: line-break] * 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform WINDOWS contains a line-break. [code: line-break]
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/family/win_ascent_and_descent](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/family/win_ascent_and_descent)
--- 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 2193, but got 1935 instead [code: ascent] * 🔥 **FAIL** OS/2.usWinDescent value should be equal or greater than 543, but got 432 instead. [code: descent]
🔥 FAIL: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/os2_metrics_match_hhea](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/os2_metrics_match_hhea)
--- 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 (1579) and hhea ascent (1935) must be equal. [code: ascender]
🔥 FAIL: Does the font have a DSIG table? * [com.google.fonts/check/dsig](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/dsig.html#com.google.fonts/check/dsig)
--- 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.
This checks verifies that this signature is available in the font.
A fake signature is enough to address this issue. If needed, a dummy table can
be added to the font with the `gftools fix-dsig` script available at
https://github.com/googlefonts/gftools
Reference: https://github.com/googlefonts/fontbakery/issues/1845
* 🔥 **FAIL** This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly. You can add a DSIG table by running the `gftools fix-dsig` script. [code: lacks-signature]
WARN: Checking OS/2 achVendID. * [com.google.fonts/check/vendor_id](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/vendor_id)
--- Rationale ---
Microsoft keeps a list of font vendors and their respective contact info. This
list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored
in the achVendID field of the OS/2 table.
Registering your ID is not mandatory, but it is a good practice since some
applications may display the type designer / type foundry contact info on some
dialog and also because that info will be visible on Microsoft's website:
https://docs.microsoft.com/en-us/typography/vendors/
This check verifies whether or not a given font's vendor ID is registered in
that list or if it has some of the default values used by the most common font
editors.
Each new FontBakery release includes a cached copy of that list of vendor IDs.
If you registered recently, you're safe to ignore warnings emitted by this
check, since your ID will soon be included in one of our upcoming releases.
* ⚠ **WARN** OS/2 VendorID value ' ' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]
WARN: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/name/description_max_length](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/description_max_length)
--- Rationale ---
An old FontLab version had a bug which caused it to store copyright notices in
nameID 10 entries.
In order to detect those and distinguish them from actual legitimate usage of
this name table entry, we expect that such strings do not exceed a reasonable
length of 200 chars.
Longer strings are likely instances of the FontLab bug.
* ⚠ **WARN** A few name table entries with ID=10 (NameID.DESCRIPTION) are longer than 200 characters. Please check whether those entries are copyright notices mistakenly stored in the description string entries by a bug in an old FontLab version. If that's the case, then such copyright notices must be removed from these entries. [code: too-long]
WARN: Font has old ttfautohint applied? * [com.google.fonts/check/old_ttfautohint](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/old_ttfautohint)
--- 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.6; installed = 1.8.3; Need to re-run with the newer version! [code: old-ttfa]
WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/contour_count](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/contour_count)
--- Rationale ---
Visually QAing thousands of glyphs by hand is tiring. Most glyphs can only be
constructured in a handful of ways. This means a glyph's contour count will only
differ slightly amongst different fonts, e.g a 'g' could either be 2 or 3
contours, depending on whether its double story or single story.
However, a quotedbl should have 2 contours, unless the font belongs to a display
family.
This check currently does not cover variable fonts because there's plenty of
alternative ways of constructing glyphs with multiple outlines for each feature
in a VarFont. The expected contour count data for this check is currently
optimized for the typical construction of glyphs in static fonts.
* ⚠ **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: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 [code: contour-count]
WARN: Checking Vertical Metric Linegaps. * [com.google.fonts/check/linegaps](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/hhea.html#com.google.fonts/check/linegaps) * ⚠ **WARN** OS/2 sTypoLineGap is not equal to 0. [code: OS/2]
WARN: Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value * [com.google.fonts/check/gpos_kerning_info](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/gpos.html#com.google.fonts/check/gpos_kerning_info) * ⚠ **WARN** GPOS table lacks kerning information. [code: lacks-kern-info]
WARN: Are there any misaligned on-curve points? * [com.google.fonts/check/outline_alignment_miss](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_alignment_miss)
--- 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: * dollar: X=480.0,Y=1479.0 (should be at cap-height 1480?) * dollar: X=640.0,Y=1479.0 (should be at cap-height 1480?) * f: X=736.0,Y=1578.0 (should be at ascender 1579?) * t: X=665.0,Y=1.0 (should be at baseline 0?) * Aring: X=741.0,Y=1577.0 (should be at ascender 1579?) * Aring: X=741.0,Y=1577.0 (should be at ascender 1579?) * atilde: X=700.0,Y=1478.0 (should be at cap-height 1480?) * ntilde: X=772.0,Y=1478.0 (should be at cap-height 1480?) * otilde: X=762.0,Y=1478.0 (should be at cap-height 1480?) * itilde: X=432.0,Y=1478.0 (should be at cap-height 1480?) and 28 more. [code: found-misalignments]
WARN: Do any segments have colinear vectors? * [com.google.fonts/check/outline_colinear_vectors](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_colinear_vectors)
--- Rationale ---
This check looks for consecutive line segments which have the same angle. This
normally happens if an outline point has been added by accident.
This check is not run for variable fonts, as they may legitimately have colinear
vectors.
* ⚠ **WARN** The following glyphs have colinear vectors: * Atilde: L<<716.0,1892.0>--<754.0,1866.0>> -> L<<754.0,1866.0>--<785.0,1844.0>> * Eng: L<<1306.0,1480.0>--<1306.0,0.0>> -> L<<1306.0,0.0>--<1306.0,-46.0>> * Itilde: L<<440.0,1912.0>--<478.0,1886.0>> -> L<<478.0,1886.0>--<509.0,1864.0>> * Ntilde: L<<734.0,1892.0>--<772.0,1866.0>> -> L<<772.0,1866.0>--<803.0,1844.0>> * Otilde: L<<773.0,1892.0>--<811.0,1866.0>> -> L<<811.0,1866.0>--<842.0,1844.0>> * S: L<<569.0,972.0>--<683.0,928.0>> -> L<<683.0,928.0>--<853.0,865.0>> * S: L<<836.0,546.0>--<699.0,598.0>> -> L<<699.0,598.0>--<536.0,660.0>> * Sacute: L<<569.0,972.0>--<683.0,928.0>> -> L<<683.0,928.0>--<853.0,865.0>> * Sacute: L<<836.0,546.0>--<699.0,598.0>> -> L<<699.0,598.0>--<536.0,660.0>> * Scaron: L<<569.0,972.0>--<683.0,928.0>> -> L<<683.0,928.0>--<853.0,865.0>> and 53 more. [code: found-colinear-vectors]
WARN: Do outlines contain any jaggy segments? * [com.google.fonts/check/outline_jaggy_segments](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_jaggy_segments)
--- Rationale ---
This check heuristically detects outline segments which form a particularly
small angle, indicative of an outline error. This may cause false positives in
cases such as extreme ink traps, so should be regarded as advisory and backed up
by manual inspection.
* ⚠ **WARN** The following glyphs have jaggy segments: * club: B<<1029.0,241.0>-<830.0,241.0>-<716.0,514.0>>/L<<716.0,514.0>--<806.0,0.0>> = 12.732904114987004 * club: L<<537.0,0.0>--<626.0,514.0>>/B<<626.0,514.0>-<513.0,241.0>-<315.0,241.0>> = 12.662149957057041 and lslash: L<<137.0,829.0>--<138.0,825.0>>/L<<138.0,825.0>--<138.0,1579.0>> = 14.036243467926484 [code: found-jaggy-segments]
WARN: Do outlines contain any semi-vertical or semi-horizontal lines? * [com.google.fonts/check/outline_semi_vertical](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_semi_vertical)
--- Rationale ---
This check detects line segments which are nearly, but not quite, exactly
horizontal or vertical. Sometimes such lines are created by design, but often
they are indicative of a design error.
This check is disabled for italic styles, which often contain nearly-upright
lines.
* ⚠ **WARN** The following glyphs have semi-vertical/semi-horizontal lines: * alpha: L<<1214.0,2.0>--<960.0,0.0>> * alphatonos: L<<1214.0,2.0>--<960.0,0.0>> * uni0429: L<<2036.0,210.0>--<2037.0,-395.0>> and uni2113: L<<510.0,925.0>--<509.0,793.0>> [code: found-semi-vertical]

[16] Go-Italic.ttf
🔥 FAIL: Check `Google Fonts Latin Core` glyph coverage. * [com.google.fonts/check/glyph_coverage](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/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** Missing required codepoints: 0x2074 (SUPERSCRIPT FOUR) [code: missing-codepoints]
🔥 FAIL: Copyright notices match canonical pattern in fonts * [com.google.fonts/check/font_copyright](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format] * 🔥 **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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format]
🔥 FAIL: Name table entries should not contain line-breaks. * [com.google.fonts/check/name/line_breaks](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/line_breaks)
--- Rationale ---
There are some entries on the name table that may include more than one line of
text. The Google Fonts team, though, prefers to keep the name table entries
short and simple without line breaks.
For instance, some designers like to include the full text of a font license in
the "copyright notice" entry, but for the GFonts collection this entry should
only mention year, author and other basic info in a manner enforced by
com.google.fonts/check/font_copyright
* 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform MACINTOSH contains a line-break. [code: line-break] * 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform WINDOWS contains a line-break. [code: line-break]
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/family/win_ascent_and_descent](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/family/win_ascent_and_descent)
--- 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 2193, but got 1935 instead [code: ascent] * 🔥 **FAIL** OS/2.usWinDescent value should be equal or greater than 543, but got 432 instead. [code: descent]
🔥 FAIL: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/os2_metrics_match_hhea](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/os2_metrics_match_hhea)
--- 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 (1579) and hhea ascent (1935) must be equal. [code: ascender]
🔥 FAIL: Checking font version fields (head and name table). * [com.google.fonts/check/font_version](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/head.html#com.google.fonts/check/font_version) * 🔥 **FAIL** head version is "2.00700" while name version string (for platform 1, encoding 0) is "Version 2.008; ttfautohint (v1.6)". [code: mismatch] * 🔥 **FAIL** head version is "2.00700" while name version string (for platform 3, encoding 1) is "Version 2.008; ttfautohint (v1.6)". [code: mismatch]
🔥 FAIL: Does the font have a DSIG table? * [com.google.fonts/check/dsig](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/dsig.html#com.google.fonts/check/dsig)
--- 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.
This checks verifies that this signature is available in the font.
A fake signature is enough to address this issue. If needed, a dummy table can
be added to the font with the `gftools fix-dsig` script available at
https://github.com/googlefonts/gftools
Reference: https://github.com/googlefonts/fontbakery/issues/1845
* 🔥 **FAIL** This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly. You can add a DSIG table by running the `gftools fix-dsig` script. [code: lacks-signature]
WARN: Checking OS/2 achVendID. * [com.google.fonts/check/vendor_id](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/vendor_id)
--- Rationale ---
Microsoft keeps a list of font vendors and their respective contact info. This
list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored
in the achVendID field of the OS/2 table.
Registering your ID is not mandatory, but it is a good practice since some
applications may display the type designer / type foundry contact info on some
dialog and also because that info will be visible on Microsoft's website:
https://docs.microsoft.com/en-us/typography/vendors/
This check verifies whether or not a given font's vendor ID is registered in
that list or if it has some of the default values used by the most common font
editors.
Each new FontBakery release includes a cached copy of that list of vendor IDs.
If you registered recently, you're safe to ignore warnings emitted by this
check, since your ID will soon be included in one of our upcoming releases.
* ⚠ **WARN** OS/2 VendorID value ' ' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]
WARN: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/name/description_max_length](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/description_max_length)
--- Rationale ---
An old FontLab version had a bug which caused it to store copyright notices in
nameID 10 entries.
In order to detect those and distinguish them from actual legitimate usage of
this name table entry, we expect that such strings do not exceed a reasonable
length of 200 chars.
Longer strings are likely instances of the FontLab bug.
* ⚠ **WARN** A few name table entries with ID=10 (NameID.DESCRIPTION) are longer than 200 characters. Please check whether those entries are copyright notices mistakenly stored in the description string entries by a bug in an old FontLab version. If that's the case, then such copyright notices must be removed from these entries. [code: too-long]
WARN: Font has old ttfautohint applied? * [com.google.fonts/check/old_ttfautohint](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/old_ttfautohint)
--- 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.6; installed = 1.8.3; Need to re-run with the newer version! [code: old-ttfa]
WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/contour_count](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/contour_count)
--- Rationale ---
Visually QAing thousands of glyphs by hand is tiring. Most glyphs can only be
constructured in a handful of ways. This means a glyph's contour count will only
differ slightly amongst different fonts, e.g a 'g' could either be 2 or 3
contours, depending on whether its double story or single story.
However, a quotedbl should have 2 contours, unless the font belongs to a display
family.
This check currently does not cover variable fonts because there's plenty of
alternative ways of constructing glyphs with multiple outlines for each feature
in a VarFont. The expected contour count data for this check is currently
optimized for the typical construction of glyphs in static fonts.
* ⚠ **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: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 [code: contour-count]
WARN: Checking Vertical Metric Linegaps. * [com.google.fonts/check/linegaps](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/hhea.html#com.google.fonts/check/linegaps) * ⚠ **WARN** OS/2 sTypoLineGap is not equal to 0. [code: OS/2]
WARN: Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value * [com.google.fonts/check/gpos_kerning_info](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/gpos.html#com.google.fonts/check/gpos_kerning_info) * ⚠ **WARN** GPOS table lacks kerning information. [code: lacks-kern-info]
WARN: Are there any misaligned on-curve points? * [com.google.fonts/check/outline_alignment_miss](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_alignment_miss)
--- 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: * f: X=956.0,Y=1578.0 (should be at ascender 1579?) * j: X=-152.0,Y=-397.0 (should be at descender -395?) * j: X=-152.0,Y=-397.0 (should be at descender -395?) * ij: X=282.0,Y=-397.0 (should be at descender -395?) * ij: X=282.0,Y=-397.0 (should be at descender -395?) * jcircumflex: X=-152.0,Y=-397.0 (should be at descender -395?) * jcircumflex: X=-152.0,Y=-397.0 (should be at descender -395?) * Lcaron: X=977.0,Y=1481.0 (should be at cap-height 1480?) * Lcaron: X=1174.0,Y=1481.0 (should be at cap-height 1480?) * uni0163: X=307.0,Y=-2.0 (should be at baseline 0?) and 29 more. [code: found-misalignments]
WARN: Do any segments have colinear vectors? * [com.google.fonts/check/outline_colinear_vectors](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_colinear_vectors)
--- Rationale ---
This check looks for consecutive line segments which have the same angle. This
normally happens if an outline point has been added by accident.
This check is not run for variable fonts, as they may legitimately have colinear
vectors.
* ⚠ **WARN** The following glyphs have colinear vectors: * Gamma: L<<566.0,827.0>--<535.0,672.0>> -> L<<535.0,672.0>--<401.0,0.0>> * Gamma: L<<665.0,1323.0>--<566.0,827.0>> -> L<<566.0,827.0>--<535.0,672.0>> * approxequal: L<<616.0,549.0>--<675.0,517.0>> -> L<<675.0,517.0>--<745.0,481.0>> * approxequal: L<<675.0,517.0>--<745.0,481.0>> -> L<<745.0,481.0>--<814.0,445.0>> * approxequal: L<<701.0,315.0>--<644.0,347.0>> -> L<<644.0,347.0>--<574.0,383.0>> * approxequal: L<<705.0,993.0>--<764.0,961.0>> -> L<<764.0,961.0>--<833.0,925.0>> * approxequal: L<<764.0,961.0>--<833.0,925.0>> -> L<<833.0,925.0>--<903.0,889.0>> * approxequal: L<<790.0,759.0>--<733.0,791.0>> -> L<<733.0,791.0>--<663.0,827.0>> * asciitilde: L<<720.0,703.0>--<817.0,626.0>> -> L<<817.0,626.0>--<873.0,580.0>> * asciitilde: L<<734.0,481.0>--<637.0,558.0>> -> L<<637.0,558.0>--<579.0,604.0>> and 32 more. [code: found-colinear-vectors]
WARN: Do outlines contain any jaggy segments? * [com.google.fonts/check/outline_jaggy_segments](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_jaggy_segments)
--- Rationale ---
This check heuristically detects outline segments which form a particularly
small angle, indicative of an outline error. This may cause false positives in
cases such as extreme ink traps, so should be regarded as advisory and backed up
by manual inspection.
* ⚠ **WARN** The following glyphs have jaggy segments: * Aring: B<<1157.0,1547.0>-<1085.0,1487.0>-<999.0,1480.0>>/L<<999.0,1480.0>--<1084.0,1480.0>> = 4.653351587268329 * Aring: L<<876.0,1480.0>--<957.0,1480.0>>/B<<957.0,1480.0>-<881.0,1488.0>-<836.0,1547.0>> = 6.009005957494474 * club: B<<1040.0,241.0>-<841.0,241.0>-<727.0,514.0>>/L<<727.0,514.0>--<817.0,0.0>> = 12.732904114987004 * club: L<<548.0,0.0>--<637.0,514.0>>/B<<637.0,514.0>-<524.0,241.0>-<326.0,241.0>> = 12.662149957057041 * gopher: B<<407.5,668.0>-<371.0,664.0>-<314.0,654.0>>/B<<314.0,654.0>-<326.0,655.0>-<337.0,662.5>> = 5.186984997225381 * gopher: B<<595.0,824.5>-<640.0,816.0>-<689.0,806.0>>/B<<689.0,806.0>-<648.0,813.0>-<601.0,817.5>> = 1.8458340932778838 and uni043C: L<<1225.0,825.0>--<1229.0,831.0>>/L<<1229.0,831.0>--<805.0,74.0>> = 4.4366318994291625 [code: found-jaggy-segments]

[17] Go-Regular.ttf
🔥 FAIL: Check `Google Fonts Latin Core` glyph coverage. * [com.google.fonts/check/glyph_coverage](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/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** Missing required codepoints: 0x2074 (SUPERSCRIPT FOUR) [code: missing-codepoints]
🔥 FAIL: Copyright notices match canonical pattern in fonts * [com.google.fonts/check/font_copyright](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format] * 🔥 **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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format]
🔥 FAIL: Check name table: POSTSCRIPT_NAME entries. * [com.google.fonts/check/name/postscriptname](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/postscriptname)
--- Rationale ---
Requirements for the POSTSCRIPT_NAME entries in the 'name' table.
* 🔥 **FAIL** [POSTSCRIPT_NAME(6):MACINTOSH(1)] Expected: "Go-Regular" But got: "GoRegular" [code: bad-entry] * 🔥 **FAIL** [POSTSCRIPT_NAME(6):WINDOWS(3)] Expected: "Go-Regular" But got: "GoRegular" [code: bad-entry]
🔥 FAIL: Name table entries should not contain line-breaks. * [com.google.fonts/check/name/line_breaks](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/line_breaks)
--- Rationale ---
There are some entries on the name table that may include more than one line of
text. The Google Fonts team, though, prefers to keep the name table entries
short and simple without line breaks.
For instance, some designers like to include the full text of a font license in
the "copyright notice" entry, but for the GFonts collection this entry should
only mention year, author and other basic info in a manner enforced by
com.google.fonts/check/font_copyright
* 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform MACINTOSH contains a line-break. [code: line-break] * 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform WINDOWS contains a line-break. [code: line-break]
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/family/win_ascent_and_descent](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/family/win_ascent_and_descent)
--- 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 2193, but got 1935 instead [code: ascent] * 🔥 **FAIL** OS/2.usWinDescent value should be equal or greater than 543, but got 432 instead. [code: descent]
🔥 FAIL: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/os2_metrics_match_hhea](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/os2_metrics_match_hhea)
--- 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 (1579) and hhea ascent (1935) must be equal. [code: ascender]
🔥 FAIL: Does the font have a DSIG table? * [com.google.fonts/check/dsig](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/dsig.html#com.google.fonts/check/dsig)
--- 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.
This checks verifies that this signature is available in the font.
A fake signature is enough to address this issue. If needed, a dummy table can
be added to the font with the `gftools fix-dsig` script available at
https://github.com/googlefonts/gftools
Reference: https://github.com/googlefonts/fontbakery/issues/1845
* 🔥 **FAIL** This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly. You can add a DSIG table by running the `gftools fix-dsig` script. [code: lacks-signature]
WARN: Checking OS/2 achVendID. * [com.google.fonts/check/vendor_id](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/vendor_id)
--- Rationale ---
Microsoft keeps a list of font vendors and their respective contact info. This
list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored
in the achVendID field of the OS/2 table.
Registering your ID is not mandatory, but it is a good practice since some
applications may display the type designer / type foundry contact info on some
dialog and also because that info will be visible on Microsoft's website:
https://docs.microsoft.com/en-us/typography/vendors/
This check verifies whether or not a given font's vendor ID is registered in
that list or if it has some of the default values used by the most common font
editors.
Each new FontBakery release includes a cached copy of that list of vendor IDs.
If you registered recently, you're safe to ignore warnings emitted by this
check, since your ID will soon be included in one of our upcoming releases.
* ⚠ **WARN** OS/2 VendorID value ' ' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]
WARN: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/name/description_max_length](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/description_max_length)
--- Rationale ---
An old FontLab version had a bug which caused it to store copyright notices in
nameID 10 entries.
In order to detect those and distinguish them from actual legitimate usage of
this name table entry, we expect that such strings do not exceed a reasonable
length of 200 chars.
Longer strings are likely instances of the FontLab bug.
* ⚠ **WARN** A few name table entries with ID=10 (NameID.DESCRIPTION) are longer than 200 characters. Please check whether those entries are copyright notices mistakenly stored in the description string entries by a bug in an old FontLab version. If that's the case, then such copyright notices must be removed from these entries. [code: too-long]
WARN: Font has old ttfautohint applied? * [com.google.fonts/check/old_ttfautohint](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/old_ttfautohint)
--- 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.6; installed = 1.8.3; Need to re-run with the newer version! [code: old-ttfa]
WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/contour_count](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/contour_count)
--- Rationale ---
Visually QAing thousands of glyphs by hand is tiring. Most glyphs can only be
constructured in a handful of ways. This means a glyph's contour count will only
differ slightly amongst different fonts, e.g a 'g' could either be 2 or 3
contours, depending on whether its double story or single story.
However, a quotedbl should have 2 contours, unless the font belongs to a display
family.
This check currently does not cover variable fonts because there's plenty of
alternative ways of constructing glyphs with multiple outlines for each feature
in a VarFont. The expected contour count data for this check is currently
optimized for the typical construction of glyphs in static fonts.
* ⚠ **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: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 [code: contour-count]
WARN: Checking Vertical Metric Linegaps. * [com.google.fonts/check/linegaps](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/hhea.html#com.google.fonts/check/linegaps) * ⚠ **WARN** OS/2 sTypoLineGap is not equal to 0. [code: OS/2]
WARN: Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value * [com.google.fonts/check/gpos_kerning_info](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/gpos.html#com.google.fonts/check/gpos_kerning_info) * ⚠ **WARN** GPOS table lacks kerning information. [code: lacks-kern-info]
WARN: Are there any misaligned on-curve points? * [com.google.fonts/check/outline_alignment_miss](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_alignment_miss)
--- 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: * f: X=630.0,Y=1578.0 (should be at ascender 1579?) * j: X=-84.0,Y=-397.0 (should be at descender -395?) * j: X=-84.0,Y=-397.0 (should be at descender -395?) * eth: X=108.0,Y=1580.0 (should be at ascender 1579?) * eth: X=533.0,Y=1478.0 (should be at cap-height 1480?) * aogonek: X=860.0,Y=-2.0 (should be at baseline 0?) * itilde: X=239.0,Y=1479.0 (should be at cap-height 1480?) * ij: X=351.0,Y=-397.0 (should be at descender -395?) * ij: X=351.0,Y=-397.0 (should be at descender -395?) * jcircumflex: X=-84.0,Y=-397.0 (should be at descender -395?) and 30 more. [code: found-misalignments]
WARN: Do any segments have colinear vectors? * [com.google.fonts/check/outline_colinear_vectors](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_colinear_vectors)
--- Rationale ---
This check looks for consecutive line segments which have the same angle. This
normally happens if an outline point has been added by accident.
This check is not run for variable fonts, as they may legitimately have colinear
vectors.
* ⚠ **WARN** The following glyphs have colinear vectors: * Gamma: L<<390.0,1323.0>--<390.0,827.0>> -> L<<390.0,827.0>--<390.0,672.0>> * Gamma: L<<390.0,827.0>--<390.0,672.0>> -> L<<390.0,672.0>--<390.0,0.0>> * approxequal: L<<496.0,549.0>--<561.0,517.0>> -> L<<561.0,517.0>--<638.0,481.0>> * approxequal: L<<496.0,993.0>--<561.0,961.0>> -> L<<561.0,961.0>--<638.0,925.0>> * approxequal: L<<561.0,517.0>--<638.0,481.0>> -> L<<638.0,481.0>--<715.0,445.0>> * approxequal: L<<561.0,961.0>--<638.0,925.0>> -> L<<638.0,925.0>--<715.0,889.0>> * approxequal: L<<628.0,315.0>--<564.0,347.0>> -> L<<564.0,347.0>--<487.0,383.0>> * approxequal: L<<628.0,759.0>--<564.0,791.0>> -> L<<564.0,791.0>--<487.0,827.0>> * asciitilde: L<<569.0,703.0>--<681.0,626.0>> -> L<<681.0,626.0>--<747.0,580.0>> * asciitilde: L<<627.0,481.0>--<515.0,558.0>> -> L<<515.0,558.0>--<448.0,604.0>> and 33 more. [code: found-colinear-vectors]
WARN: Do outlines contain any jaggy segments? * [com.google.fonts/check/outline_jaggy_segments](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_jaggy_segments)
--- Rationale ---
This check heuristically detects outline segments which form a particularly
small angle, indicative of an outline error. This may cause false positives in
cases such as extreme ink traps, so should be regarded as advisory and backed up
by manual inspection.
* ⚠ **WARN** The following glyphs have jaggy segments: * Aring: B<<848.0,1547.0>-<788.0,1487.0>-<704.0,1480.0>>/L<<704.0,1480.0>--<789.0,1480.0>> = 4.763641690726144 * Aring: L<<581.0,1480.0>--<662.0,1480.0>>/B<<662.0,1480.0>-<584.0,1488.0>-<527.0,1547.0>> = 5.856013585428907 * club: B<<1029.0,241.0>-<830.0,241.0>-<716.0,514.0>>/L<<716.0,514.0>--<806.0,0.0>> = 12.732904114987004 * club: L<<537.0,0.0>--<626.0,514.0>>/B<<626.0,514.0>-<513.0,241.0>-<315.0,241.0>> = 12.662149957057041 and uni043C: L<<1050.0,825.0>--<1052.0,831.0>>/L<<1052.0,831.0>--<780.0,74.0>> = 1.3290777191376548 [code: found-jaggy-segments]
WARN: Do outlines contain any semi-vertical or semi-horizontal lines? * [com.google.fonts/check/outline_semi_vertical](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_semi_vertical)
--- Rationale ---
This check detects line segments which are nearly, but not quite, exactly
horizontal or vertical. Sometimes such lines are created by design, but often
they are indicative of a design error.
This check is disabled for italic styles, which often contain nearly-upright
lines.
* ⚠ **WARN** The following glyphs have semi-vertical/semi-horizontal lines: * m: L<<1367.0,0.0>--<1366.0,759.0>> * phi: L<<754.0,549.0>--<753.0,138.0>> * uni041B: L<<556.0,1293.0>--<555.0,1163.0>> * uni043C: L<<1052.0,0.0>--<1050.0,825.0>> and uni043C: L<<316.0,805.0>--<314.0,0.0>> [code: found-semi-vertical]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 37 39 419 29 247 0
0% 5% 5% 54% 4% 32% 0%

Note: The following loglevels were omitted in this report:

Fontbakery report GO MONO

Fontbakery version: 0.7.37

[1] Family checks
🔥 FAIL: Fonts have consistent underline thickness? * [com.google.fonts/check/family/underline_thickness](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/post.html#com.google.fonts/check/family/underline_thickness)
--- Rationale ---
Dave C Lemon (Adobe Type Team) recommends setting the underline thickness to be
consistent across the family.
If thicknesses are not family consistent, words set on the same line which have
different styles look strange.
See also:
https://twitter.com/typenerd1/status/690361887926697986
* 🔥 **FAIL** Thickness of the underline is not the same across this family. In order to fix this, please make sure that the underlineThickness value is the same in the 'post' table of all of this family font files. Detected underlineThickness values are: Go-Mono-Bold-Italic.ttf: 100 Go-Mono-Bold.ttf: 100 Go-Mono-Italic.ttf: 50 Go-Mono.ttf: 50 [code: inconsistent-underline-thickness]

[17] Go-Mono-Bold-Italic.ttf
🔥 FAIL: Checking file is named canonically. * [com.google.fonts/check/canonical_filename](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/canonical_filename)
--- Rationale ---
A font's filename must be composed in the following manner:
<familyname>-<stylename>.ttf
- Nunito-Regular.ttf,
- Oswald-BoldItalic.ttf
Variable fonts must list the axis tags in alphabetical order in square brackets
and separated by commas:
- Roboto[wdth,wght].ttf
- Familyname-Italic[wght].ttf
* 🔥 **FAIL** Style name used in "Go-Mono-Bold-Italic.ttf" is not canonical. You should rebuild the font using any of the following style names: "Thin", "ExtraLight", "Light", "Regular", "Medium", "SemiBold", "Bold", "ExtraBold", "Black", "Thin Italic", "ExtraLight Italic", "Light Italic", "Italic", "Medium Italic", "SemiBold Italic", "Bold Italic", "ExtraBold Italic", "Black Italic". [code: bad-static-filename]
🔥 FAIL: Check `Google Fonts Latin Core` glyph coverage. * [com.google.fonts/check/glyph_coverage](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/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** Missing required codepoints: 0x2074 (SUPERSCRIPT FOUR) [code: missing-codepoints]
🔥 FAIL: Checking OS/2 usWeightClass. * [com.google.fonts/check/usweightclass](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/usweightclass)
--- Rationale ---
Google Fonts expects variable fonts, static ttfs and static otfs to have
differing OS/2 usWeightClass values.
For Variable Fonts, Thin-Black must be 100-900
For static ttfs, Thin-Black can be 100-900 or 250-900
For static otfs, Thin-Black must be 250-900
If static otfs are set lower than 250, text may appear blurry in legacy Windows
applications.
Glyphsapp users can change the usWeightClass value of an instance by adding a
'weightClass' customParameter.
* 🔥 **FAIL** OS/2 usWeightClass is '600' when it should be '400'. [code: bad-value]
🔥 FAIL: Copyright notices match canonical pattern in fonts * [com.google.fonts/check/font_copyright](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format] * 🔥 **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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format]
🔥 FAIL: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/name/subfamilyname](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/subfamilyname) * 🔥 **FAIL** SUBFAMILY_NAME for Mac "Bold Italic" must be "Regular" [code: bad-familyname] * 🔥 **FAIL** SUBFAMILY_NAME for Win "Bold Italic" must be "Regular" [code: bad-familyname]
🔥 FAIL: Name table entries should not contain line-breaks. * [com.google.fonts/check/name/line_breaks](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/line_breaks)
--- Rationale ---
There are some entries on the name table that may include more than one line of
text. The Google Fonts team, though, prefers to keep the name table entries
short and simple without line breaks.
For instance, some designers like to include the full text of a font license in
the "copyright notice" entry, but for the GFonts collection this entry should
only mention year, author and other basic info in a manner enforced by
com.google.fonts/check/font_copyright
* 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform MACINTOSH contains a line-break. [code: line-break] * 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform WINDOWS contains a line-break. [code: line-break]
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/family/win_ascent_and_descent](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/family/win_ascent_and_descent)
--- 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 2227, but got 1935 instead [code: ascent]
🔥 FAIL: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/os2_metrics_match_hhea](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/os2_metrics_match_hhea)
--- 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 (1579) and hhea ascent (1935) must be equal. [code: ascender]
🔥 FAIL: Does the font have a DSIG table? * [com.google.fonts/check/dsig](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/dsig.html#com.google.fonts/check/dsig)
--- 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.
This checks verifies that this signature is available in the font.
A fake signature is enough to address this issue. If needed, a dummy table can
be added to the font with the `gftools fix-dsig` script available at
https://github.com/googlefonts/gftools
Reference: https://github.com/googlefonts/fontbakery/issues/1845
* 🔥 **FAIL** This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly. You can add a DSIG table by running the `gftools fix-dsig` script. [code: lacks-signature]
WARN: Checking OS/2 achVendID. * [com.google.fonts/check/vendor_id](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/vendor_id)
--- Rationale ---
Microsoft keeps a list of font vendors and their respective contact info. This
list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored
in the achVendID field of the OS/2 table.
Registering your ID is not mandatory, but it is a good practice since some
applications may display the type designer / type foundry contact info on some
dialog and also because that info will be visible on Microsoft's website:
https://docs.microsoft.com/en-us/typography/vendors/
This check verifies whether or not a given font's vendor ID is registered in
that list or if it has some of the default values used by the most common font
editors.
Each new FontBakery release includes a cached copy of that list of vendor IDs.
If you registered recently, you're safe to ignore warnings emitted by this
check, since your ID will soon be included in one of our upcoming releases.
* ⚠ **WARN** OS/2 VendorID value ' ' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]
WARN: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/name/description_max_length](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/description_max_length)
--- Rationale ---
An old FontLab version had a bug which caused it to store copyright notices in
nameID 10 entries.
In order to detect those and distinguish them from actual legitimate usage of
this name table entry, we expect that such strings do not exceed a reasonable
length of 200 chars.
Longer strings are likely instances of the FontLab bug.
* ⚠ **WARN** A few name table entries with ID=10 (NameID.DESCRIPTION) are longer than 200 characters. Please check whether those entries are copyright notices mistakenly stored in the description string entries by a bug in an old FontLab version. If that's the case, then such copyright notices must be removed from these entries. [code: too-long]
WARN: Font has old ttfautohint applied? * [com.google.fonts/check/old_ttfautohint](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/old_ttfautohint)
--- 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.6; installed = 1.8.3; Need to re-run with the newer version! [code: old-ttfa]
WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/contour_count](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/contour_count)
--- Rationale ---
Visually QAing thousands of glyphs by hand is tiring. Most glyphs can only be
constructured in a handful of ways. This means a glyph's contour count will only
differ slightly amongst different fonts, e.g a 'g' could either be 2 or 3
contours, depending on whether its double story or single story.
However, a quotedbl should have 2 contours, unless the font belongs to a display
family.
This check currently does not cover variable fonts because there's plenty of
alternative ways of constructing glyphs with multiple outlines for each feature
in a VarFont. The expected contour count data for this check is currently
optimized for the typical construction of glyphs in static fonts.
* ⚠ **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: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: amacron Contours detected: 4 Expected: 3 Glyph name: Uogonek Contours detected: 2 Expected: 1 Glyph name: uogonek Contours detected: 2 Expected: 1 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: Uogonek Contours detected: 2 Expected: 1 Glyph name: amacron Contours detected: 4 Expected: 3 Glyph name: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 Glyph name: uogonek Contours detected: 2 Expected: 1 [code: contour-count]
WARN: Checking Vertical Metric Linegaps. * [com.google.fonts/check/linegaps](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/hhea.html#com.google.fonts/check/linegaps) * ⚠ **WARN** OS/2 sTypoLineGap is not equal to 0. [code: OS/2]
WARN: Are there any misaligned on-curve points? * [com.google.fonts/check/outline_alignment_miss](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_alignment_miss)
--- 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: * braceleft: X=404.0,Y=-1.0 (should be at baseline 0?) * paragraph: X=908.0,Y=1482.0 (should be at cap-height 1480?) * Aring: X=930.0,Y=1577.0 (should be at ascender 1579?) * atilde: X=1026.0,Y=1478.0 (should be at cap-height 1480?) * ntilde: X=1010.0,Y=1478.0 (should be at cap-height 1480?) * otilde: X=1035.0,Y=1478.0 (should be at cap-height 1480?) * itilde: X=1011.0,Y=1478.0 (should be at cap-height 1480?) * utilde: X=1013.0,Y=1478.0 (should be at cap-height 1480?) * tilde: X=1035.0,Y=1478.0 (should be at cap-height 1480?) * alphatonos: X=540.5,Y=1.0 (should be at baseline 0?) and 10 more. [code: found-misalignments]
WARN: Do any segments have colinear vectors? * [com.google.fonts/check/outline_colinear_vectors](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_colinear_vectors)
--- Rationale ---
This check looks for consecutive line segments which have the same angle. This
normally happens if an outline point has been added by accident.
This check is not run for variable fonts, as they may legitimately have colinear
vectors.
* ⚠ **WARN** The following glyphs have colinear vectors: * Atilde: L<<957.0,1892.0>--<989.0,1866.0>> -> L<<989.0,1866.0>--<1000.0,1858.0>> * Atilde: L<<958.0,1657.0>--<924.0,1683.0>> -> L<<924.0,1683.0>--<901.0,1702.0>> * Itilde: L<<933.0,1683.0>--<923.0,1691.0>> -> L<<923.0,1691.0>--<916.0,1697.0>> * Itilde: L<<966.0,1892.0>--<998.0,1866.0>> -> L<<998.0,1866.0>--<1009.0,1858.0>> * Itilde: L<<967.0,1657.0>--<933.0,1683.0>> -> L<<933.0,1683.0>--<923.0,1691.0>> * Ntilde: L<<920.0,1683.0>--<910.0,1691.0>> -> L<<910.0,1691.0>--<903.0,1697.0>> * Ntilde: L<<954.0,1657.0>--<920.0,1683.0>> -> L<<920.0,1683.0>--<910.0,1691.0>> * Otilde: L<<957.0,1892.0>--<989.0,1866.0>> -> L<<989.0,1866.0>--<1000.0,1858.0>> * Psi: L<<1038.0,939.0>--<1069.0,1029.0>> -> L<<1069.0,1029.0>--<1102.0,1126.0>> * Psi: L<<580.0,1126.0>--<576.0,1029.0>> -> L<<576.0,1029.0>--<571.0,939.0>> and 58 more. [code: found-colinear-vectors]
WARN: Do outlines contain any jaggy segments? * [com.google.fonts/check/outline_jaggy_segments](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_jaggy_segments)
--- Rationale ---
This check heuristically detects outline segments which form a particularly
small angle, indicative of an outline error. This may cause false positives in
cases such as extreme ink traps, so should be regarded as advisory and backed up
by manual inspection.
* ⚠ **WARN** The following glyphs have jaggy segments: * trademark: L<<1154.0,740.0>--<1277.0,1356.0>>/L<<1277.0,1356.0>--<1058.0,790.0>> = 9.860695262404851 and trademark: L<<965.0,790.0>--<963.0,1349.0>>/L<<963.0,1349.0>--<841.0,740.0>> = 11.533016942832205 [code: found-jaggy-segments]

[18] Go-Mono-Bold.ttf
🔥 FAIL: Checking file is named canonically. * [com.google.fonts/check/canonical_filename](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/canonical_filename)
--- Rationale ---
A font's filename must be composed in the following manner:
<familyname>-<stylename>.ttf
- Nunito-Regular.ttf,
- Oswald-BoldItalic.ttf
Variable fonts must list the axis tags in alphabetical order in square brackets
and separated by commas:
- Roboto[wdth,wght].ttf
- Familyname-Italic[wght].ttf
* 🔥 **FAIL** Style name used in "Go-Mono-Bold.ttf" is not canonical. You should rebuild the font using any of the following style names: "Thin", "ExtraLight", "Light", "Regular", "Medium", "SemiBold", "Bold", "ExtraBold", "Black", "Thin Italic", "ExtraLight Italic", "Light Italic", "Italic", "Medium Italic", "SemiBold Italic", "Bold Italic", "ExtraBold Italic", "Black Italic". [code: bad-static-filename]
🔥 FAIL: Check `Google Fonts Latin Core` glyph coverage. * [com.google.fonts/check/glyph_coverage](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/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** Missing required codepoints: 0x2074 (SUPERSCRIPT FOUR) [code: missing-codepoints]
🔥 FAIL: Checking OS/2 usWeightClass. * [com.google.fonts/check/usweightclass](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/usweightclass)
--- Rationale ---
Google Fonts expects variable fonts, static ttfs and static otfs to have
differing OS/2 usWeightClass values.
For Variable Fonts, Thin-Black must be 100-900
For static ttfs, Thin-Black can be 100-900 or 250-900
For static otfs, Thin-Black must be 250-900
If static otfs are set lower than 250, text may appear blurry in legacy Windows
applications.
Glyphsapp users can change the usWeightClass value of an instance by adding a
'weightClass' customParameter.
* 🔥 **FAIL** OS/2 usWeightClass is '600' when it should be '400'. [code: bad-value]
🔥 FAIL: Copyright notices match canonical pattern in fonts * [com.google.fonts/check/font_copyright](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format] * 🔥 **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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format]
🔥 FAIL: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/name/subfamilyname](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/subfamilyname) * 🔥 **FAIL** SUBFAMILY_NAME for Mac "Bold" must be "Regular" [code: bad-familyname] * 🔥 **FAIL** SUBFAMILY_NAME for Win "Bold" must be "Regular" [code: bad-familyname]
🔥 FAIL: Name table entries should not contain line-breaks. * [com.google.fonts/check/name/line_breaks](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/line_breaks)
--- Rationale ---
There are some entries on the name table that may include more than one line of
text. The Google Fonts team, though, prefers to keep the name table entries
short and simple without line breaks.
For instance, some designers like to include the full text of a font license in
the "copyright notice" entry, but for the GFonts collection this entry should
only mention year, author and other basic info in a manner enforced by
com.google.fonts/check/font_copyright
* 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform MACINTOSH contains a line-break. [code: line-break] * 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform WINDOWS contains a line-break. [code: line-break]
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/family/win_ascent_and_descent](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/family/win_ascent_and_descent)
--- 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 2227, but got 1935 instead [code: ascent]
🔥 FAIL: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/os2_metrics_match_hhea](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/os2_metrics_match_hhea)
--- 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 (1579) and hhea ascent (1935) must be equal. [code: ascender]
🔥 FAIL: Does the font have a DSIG table? * [com.google.fonts/check/dsig](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/dsig.html#com.google.fonts/check/dsig)
--- 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.
This checks verifies that this signature is available in the font.
A fake signature is enough to address this issue. If needed, a dummy table can
be added to the font with the `gftools fix-dsig` script available at
https://github.com/googlefonts/gftools
Reference: https://github.com/googlefonts/fontbakery/issues/1845
* 🔥 **FAIL** This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly. You can add a DSIG table by running the `gftools fix-dsig` script. [code: lacks-signature]
WARN: Checking OS/2 achVendID. * [com.google.fonts/check/vendor_id](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/vendor_id)
--- Rationale ---
Microsoft keeps a list of font vendors and their respective contact info. This
list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored
in the achVendID field of the OS/2 table.
Registering your ID is not mandatory, but it is a good practice since some
applications may display the type designer / type foundry contact info on some
dialog and also because that info will be visible on Microsoft's website:
https://docs.microsoft.com/en-us/typography/vendors/
This check verifies whether or not a given font's vendor ID is registered in
that list or if it has some of the default values used by the most common font
editors.
Each new FontBakery release includes a cached copy of that list of vendor IDs.
If you registered recently, you're safe to ignore warnings emitted by this
check, since your ID will soon be included in one of our upcoming releases.
* ⚠ **WARN** OS/2 VendorID value ' ' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]
WARN: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/name/description_max_length](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/description_max_length)
--- Rationale ---
An old FontLab version had a bug which caused it to store copyright notices in
nameID 10 entries.
In order to detect those and distinguish them from actual legitimate usage of
this name table entry, we expect that such strings do not exceed a reasonable
length of 200 chars.
Longer strings are likely instances of the FontLab bug.
* ⚠ **WARN** A few name table entries with ID=10 (NameID.DESCRIPTION) are longer than 200 characters. Please check whether those entries are copyright notices mistakenly stored in the description string entries by a bug in an old FontLab version. If that's the case, then such copyright notices must be removed from these entries. [code: too-long]
WARN: Font has old ttfautohint applied? * [com.google.fonts/check/old_ttfautohint](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/old_ttfautohint)
--- 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.6; installed = 1.8.3; Need to re-run with the newer version! [code: old-ttfa]
WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/contour_count](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/contour_count)
--- Rationale ---
Visually QAing thousands of glyphs by hand is tiring. Most glyphs can only be
constructured in a handful of ways. This means a glyph's contour count will only
differ slightly amongst different fonts, e.g a 'g' could either be 2 or 3
contours, depending on whether its double story or single story.
However, a quotedbl should have 2 contours, unless the font belongs to a display
family.
This check currently does not cover variable fonts because there's plenty of
alternative ways of constructing glyphs with multiple outlines for each feature
in a VarFont. The expected contour count data for this check is currently
optimized for the typical construction of glyphs in static fonts.
* ⚠ **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: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: Uogonek Contours detected: 2 Expected: 1 Glyph name: uogonek Contours detected: 2 Expected: 1 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: Uogonek Contours detected: 2 Expected: 1 Glyph name: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 Glyph name: uogonek Contours detected: 2 Expected: 1 [code: contour-count]
WARN: Checking Vertical Metric Linegaps. * [com.google.fonts/check/linegaps](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/hhea.html#com.google.fonts/check/linegaps) * ⚠ **WARN** OS/2 sTypoLineGap is not equal to 0. [code: OS/2]
WARN: Are there any misaligned on-curve points? * [com.google.fonts/check/outline_alignment_miss](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_alignment_miss)
--- 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: * braceleft: X=405.0,Y=-1.0 (should be at baseline 0?) * paragraph: X=612.0,Y=1482.0 (should be at cap-height 1480?) * Aring: X=615.0,Y=1577.0 (should be at ascender 1579?) * atilde: X=743.0,Y=1478.0 (should be at cap-height 1480?) * itilde: X=728.0,Y=1478.0 (should be at cap-height 1480?) * utilde: X=730.0,Y=1478.0 (should be at cap-height 1480?) * tilde: X=752.0,Y=1478.0 (should be at cap-height 1480?) * alphatonos: X=540.5,Y=1.0 (should be at baseline 0?) * alphatonos: X=300.5,Y=-1.0 (should be at baseline 0?) * alpha: X=540.5,Y=1.0 (should be at baseline 0?) and 7 more. [code: found-misalignments]
WARN: Do any segments have colinear vectors? * [com.google.fonts/check/outline_colinear_vectors](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_colinear_vectors)
--- Rationale ---
This check looks for consecutive line segments which have the same angle. This
normally happens if an outline point has been added by accident.
This check is not run for variable fonts, as they may legitimately have colinear
vectors.
* ⚠ **WARN** The following glyphs have colinear vectors: * Atilde: L<<591.0,1892.0>--<629.0,1866.0>> -> L<<629.0,1866.0>--<641.0,1858.0>> * Atilde: L<<639.0,1657.0>--<600.0,1683.0>> -> L<<600.0,1683.0>--<573.0,1702.0>> * Itilde: L<<590.0,1892.0>--<628.0,1866.0>> -> L<<628.0,1866.0>--<640.0,1858.0>> * Itilde: L<<599.0,1683.0>--<588.0,1691.0>> -> L<<588.0,1691.0>--<579.0,1697.0>> * Itilde: L<<638.0,1657.0>--<599.0,1683.0>> -> L<<599.0,1683.0>--<588.0,1691.0>> * Ntilde: L<<596.0,1683.0>--<585.0,1691.0>> -> L<<585.0,1691.0>--<576.0,1697.0>> * Ntilde: L<<635.0,1657.0>--<596.0,1683.0>> -> L<<596.0,1683.0>--<585.0,1691.0>> * Otilde: L<<591.0,1892.0>--<629.0,1866.0>> -> L<<629.0,1866.0>--<641.0,1858.0>> * Psi: L<<356.0,1126.0>--<371.0,1029.0>> -> L<<371.0,1029.0>--<384.0,939.0>> * Psi: L<<851.0,939.0>--<864.0,1029.0>> -> L<<864.0,1029.0>--<878.0,1126.0>> and 55 more. [code: found-colinear-vectors]
WARN: Do outlines contain any jaggy segments? * [com.google.fonts/check/outline_jaggy_segments](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_jaggy_segments)
--- Rationale ---
This check heuristically detects outline segments which form a particularly
small angle, indicative of an outline error. This may cause false positives in
cases such as extreme ink traps, so should be regarded as advisory and backed up
by manual inspection.
* ⚠ **WARN** The following glyphs have jaggy segments: * trademark: L<<1007.0,740.0>--<1007.0,1356.0>>/L<<1007.0,1356.0>--<901.0,790.0>> = 10.607430872774763 and trademark: L<<808.0,790.0>--<694.0,1349.0>>/L<<694.0,1349.0>--<694.0,740.0>> = 11.52658787818817 [code: found-jaggy-segments]
WARN: Do outlines contain any semi-vertical or semi-horizontal lines? * [com.google.fonts/check/outline_semi_vertical](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_semi_vertical)
--- Rationale ---
This check detects line segments which are nearly, but not quite, exactly
horizontal or vertical. Sometimes such lines are created by design, but often
they are indicative of a design error.
This check is disabled for italic styles, which often contain nearly-upright
lines.
* ⚠ **WARN** The following glyphs have semi-vertical/semi-horizontal lines: * Lslash: L<<542.0,744.0>--<543.0,185.0>> * Lslash: L<<543.0,1308.0>--<542.0,938.0>> * arrowleft: L<<391.0,753.0>--<1145.0,754.0>> and arrowright: L<<84.0,754.0>--<838.0,753.0>> [code: found-semi-vertical]

[16] Go-Mono-Italic.ttf
🔥 FAIL: Checking file is named canonically. * [com.google.fonts/check/canonical_filename](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/canonical_filename)
--- Rationale ---
A font's filename must be composed in the following manner:
<familyname>-<stylename>.ttf
- Nunito-Regular.ttf,
- Oswald-BoldItalic.ttf
Variable fonts must list the axis tags in alphabetical order in square brackets
and separated by commas:
- Roboto[wdth,wght].ttf
- Familyname-Italic[wght].ttf
* 🔥 **FAIL** Style name used in "Go-Mono-Italic.ttf" is not canonical. You should rebuild the font using any of the following style names: "Thin", "ExtraLight", "Light", "Regular", "Medium", "SemiBold", "Bold", "ExtraBold", "Black", "Thin Italic", "ExtraLight Italic", "Light Italic", "Italic", "Medium Italic", "SemiBold Italic", "Bold Italic", "ExtraBold Italic", "Black Italic". [code: bad-static-filename]
🔥 FAIL: Check `Google Fonts Latin Core` glyph coverage. * [com.google.fonts/check/glyph_coverage](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/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** Missing required codepoints: 0x2074 (SUPERSCRIPT FOUR) [code: missing-codepoints]
🔥 FAIL: Copyright notices match canonical pattern in fonts * [com.google.fonts/check/font_copyright](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format] * 🔥 **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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format]
🔥 FAIL: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/name/subfamilyname](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/subfamilyname) * 🔥 **FAIL** SUBFAMILY_NAME for Mac "Italic" must be "Regular" [code: bad-familyname] * 🔥 **FAIL** SUBFAMILY_NAME for Win "Italic" must be "Regular" [code: bad-familyname]
🔥 FAIL: Name table entries should not contain line-breaks. * [com.google.fonts/check/name/line_breaks](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/line_breaks)
--- Rationale ---
There are some entries on the name table that may include more than one line of
text. The Google Fonts team, though, prefers to keep the name table entries
short and simple without line breaks.
For instance, some designers like to include the full text of a font license in
the "copyright notice" entry, but for the GFonts collection this entry should
only mention year, author and other basic info in a manner enforced by
com.google.fonts/check/font_copyright
* 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform MACINTOSH contains a line-break. [code: line-break] * 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform WINDOWS contains a line-break. [code: line-break]
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/family/win_ascent_and_descent](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/family/win_ascent_and_descent)
--- 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 2227, but got 1935 instead [code: ascent]
🔥 FAIL: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/os2_metrics_match_hhea](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/os2_metrics_match_hhea)
--- 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 (1579) and hhea ascent (1935) must be equal. [code: ascender]
🔥 FAIL: Does the font have a DSIG table? * [com.google.fonts/check/dsig](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/dsig.html#com.google.fonts/check/dsig)
--- 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.
This checks verifies that this signature is available in the font.
A fake signature is enough to address this issue. If needed, a dummy table can
be added to the font with the `gftools fix-dsig` script available at
https://github.com/googlefonts/gftools
Reference: https://github.com/googlefonts/fontbakery/issues/1845
* 🔥 **FAIL** This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly. You can add a DSIG table by running the `gftools fix-dsig` script. [code: lacks-signature]
WARN: Checking OS/2 achVendID. * [com.google.fonts/check/vendor_id](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/vendor_id)
--- Rationale ---
Microsoft keeps a list of font vendors and their respective contact info. This
list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored
in the achVendID field of the OS/2 table.
Registering your ID is not mandatory, but it is a good practice since some
applications may display the type designer / type foundry contact info on some
dialog and also because that info will be visible on Microsoft's website:
https://docs.microsoft.com/en-us/typography/vendors/
This check verifies whether or not a given font's vendor ID is registered in
that list or if it has some of the default values used by the most common font
editors.
Each new FontBakery release includes a cached copy of that list of vendor IDs.
If you registered recently, you're safe to ignore warnings emitted by this
check, since your ID will soon be included in one of our upcoming releases.
* ⚠ **WARN** OS/2 VendorID value ' ' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]
WARN: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/name/description_max_length](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/description_max_length)
--- Rationale ---
An old FontLab version had a bug which caused it to store copyright notices in
nameID 10 entries.
In order to detect those and distinguish them from actual legitimate usage of
this name table entry, we expect that such strings do not exceed a reasonable
length of 200 chars.
Longer strings are likely instances of the FontLab bug.
* ⚠ **WARN** A few name table entries with ID=10 (NameID.DESCRIPTION) are longer than 200 characters. Please check whether those entries are copyright notices mistakenly stored in the description string entries by a bug in an old FontLab version. If that's the case, then such copyright notices must be removed from these entries. [code: too-long]
WARN: Font has old ttfautohint applied? * [com.google.fonts/check/old_ttfautohint](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/old_ttfautohint)
--- 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.6; installed = 1.8.3; Need to re-run with the newer version! [code: old-ttfa]
WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/contour_count](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/contour_count)
--- Rationale ---
Visually QAing thousands of glyphs by hand is tiring. Most glyphs can only be
constructured in a handful of ways. This means a glyph's contour count will only
differ slightly amongst different fonts, e.g a 'g' could either be 2 or 3
contours, depending on whether its double story or single story.
However, a quotedbl should have 2 contours, unless the font belongs to a display
family.
This check currently does not cover variable fonts because there's plenty of
alternative ways of constructing glyphs with multiple outlines for each feature
in a VarFont. The expected contour count data for this check is currently
optimized for the typical construction of glyphs in static fonts.
* ⚠ **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: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 [code: contour-count]
WARN: Checking Vertical Metric Linegaps. * [com.google.fonts/check/linegaps](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/hhea.html#com.google.fonts/check/linegaps) * ⚠ **WARN** OS/2 sTypoLineGap is not equal to 0. [code: OS/2]
WARN: Are there any misaligned on-curve points? * [com.google.fonts/check/outline_alignment_miss](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_alignment_miss)
--- 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: * Q: X=788.0,Y=-2.0 (should be at baseline 0?) * g: X=688.5,Y=-396.5 (should be at descender -395?) * paragraph: X=920.0,Y=1482.0 (should be at cap-height 1480?) * germandbls: X=913.0,Y=1481.0 (should be at cap-height 1480?) * gcircumflex: X=688.5,Y=-396.5 (should be at descender -395?) * gbreve: X=688.5,Y=-396.5 (should be at descender -395?) * gdotaccent: X=688.5,Y=-396.5 (should be at descender -395?) * uni0123: X=688.5,Y=-396.5 (should be at descender -395?) * Aringacute: X=815.0,Y=1479.0 (should be at cap-height 1480?) * dieresistonos: X=497.0,Y=1478.0 (should be at cap-height 1480?) and 34 more. [code: found-misalignments]
WARN: Do any segments have colinear vectors? * [com.google.fonts/check/outline_colinear_vectors](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_colinear_vectors)
--- Rationale ---
This check looks for consecutive line segments which have the same angle. This
normally happens if an outline point has been added by accident.
This check is not run for variable fonts, as they may legitimately have colinear
vectors.
* ⚠ **WARN** The following glyphs have colinear vectors: * Euro: L<<287.0,815.0>--<293.0,840.0>> -> L<<293.0,840.0>--<298.0,857.0>> * Psi: L<<1336.0,1201.0>--<1308.0,1130.0>> -> L<<1308.0,1130.0>--<1263.0,1004.0>> * Psi: L<<366.0,1004.0>--<371.0,1130.0>> -> L<<371.0,1130.0>--<371.0,1201.0>> * asciitilde: L<<729.0,728.0>--<831.0,651.0>> -> L<<831.0,651.0>--<891.0,605.0>> * asciitilde: L<<747.0,506.0>--<645.0,583.0>> -> L<<645.0,583.0>--<584.0,629.0>> * asterisk: L<<886.0,785.0>--<887.0,788.0>> -> L<<887.0,788.0>--<888.0,792.0>> * delta: L<<767.0,1169.0>--<850.0,1115.0>> -> L<<850.0,1115.0>--<945.0,1049.0>> * exclam: L<<1041.0,1480.0>--<963.0,1086.0>> -> L<<963.0,1086.0>--<800.0,459.0>> * exclam: L<<649.0,459.0>--<738.0,1086.0>> -> L<<738.0,1086.0>--<816.0,1480.0>> * exclamdbl: L<<1230.0,1480.0>--<1171.0,1184.0>> -> L<<1171.0,1184.0>--<994.0,419.0>> and 32 more. [code: found-colinear-vectors]
WARN: Do outlines contain any jaggy segments? * [com.google.fonts/check/outline_jaggy_segments](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_jaggy_segments)
--- Rationale ---
This check heuristically detects outline segments which form a particularly
small angle, indicative of an outline error. This may cause false positives in
cases such as extreme ink traps, so should be regarded as advisory and backed up
by manual inspection.
* ⚠ **WARN** The following glyphs have jaggy segments: * Aring: B<<1085.0,1544.0>-<1019.0,1489.0>-<942.0,1480.0>>/L<<942.0,1480.0>--<1004.0,1480.0>> = 6.666659890901314 * Aring: L<<815.0,1480.0>--<877.0,1480.0>>/B<<877.0,1480.0>-<816.0,1489.0>-<776.0,1532.0>> = 8.392925187392485 and Upsilontonos: B<<863.5,1306.5>-<964.0,1133.0>-<910.0,843.0>>/B<<910.0,843.0>-<1033.0,1138.0>-<1197.0,1296.0>> = 12.085589127589483 [code: found-jaggy-segments]

[17] Go-Mono.ttf
🔥 FAIL: Checking file is named canonically. * [com.google.fonts/check/canonical_filename](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/canonical_filename)
--- Rationale ---
A font's filename must be composed in the following manner:
<familyname>-<stylename>.ttf
- Nunito-Regular.ttf,
- Oswald-BoldItalic.ttf
Variable fonts must list the axis tags in alphabetical order in square brackets
and separated by commas:
- Roboto[wdth,wght].ttf
- Familyname-Italic[wght].ttf
* 🔥 **FAIL** Style name used in "Go-Mono.ttf" is not canonical. You should rebuild the font using any of the following style names: "Thin", "ExtraLight", "Light", "Regular", "Medium", "SemiBold", "Bold", "ExtraBold", "Black", "Thin Italic", "ExtraLight Italic", "Light Italic", "Italic", "Medium Italic", "SemiBold Italic", "Bold Italic", "ExtraBold Italic", "Black Italic". [code: bad-static-filename]
🔥 FAIL: Check `Google Fonts Latin Core` glyph coverage. * [com.google.fonts/check/glyph_coverage](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/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** Missing required codepoints: 0x2074 (SUPERSCRIPT FOUR) [code: missing-codepoints]
🔥 FAIL: Copyright notices match canonical pattern in fonts * [com.google.fonts/check/font_copyright](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format] * 🔥 **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 (c) 2016 by Bigelow & Holmes Inc.. All rights reserved." [code: bad-notice-format]
🔥 FAIL: Check name table: FONT_SUBFAMILY_NAME entries. * [com.google.fonts/check/name/subfamilyname](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/subfamilyname) * 🔥 **FAIL** SUBFAMILY_NAME for Mac "Regular" must be "" [code: bad-familyname]
🔥 FAIL: Name table entries should not contain line-breaks. * [com.google.fonts/check/name/line_breaks](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/line_breaks)
--- Rationale ---
There are some entries on the name table that may include more than one line of
text. The Google Fonts team, though, prefers to keep the name table entries
short and simple without line breaks.
For instance, some designers like to include the full text of a font license in
the "copyright notice" entry, but for the GFonts collection this entry should
only mention year, author and other basic info in a manner enforced by
com.google.fonts/check/font_copyright
* 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform MACINTOSH contains a line-break. [code: line-break] * 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform WINDOWS contains a line-break. [code: line-break]
🔥 FAIL: Checking OS/2 usWinAscent & usWinDescent. * [com.google.fonts/check/family/win_ascent_and_descent](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/family/win_ascent_and_descent)
--- 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 2227, but got 1935 instead [code: ascent]
🔥 FAIL: Checking OS/2 Metrics match hhea Metrics. * [com.google.fonts/check/os2_metrics_match_hhea](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/os2_metrics_match_hhea)
--- 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 (1579) and hhea ascent (1935) must be equal. [code: ascender]
🔥 FAIL: Does the font have a DSIG table? * [com.google.fonts/check/dsig](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/dsig.html#com.google.fonts/check/dsig)
--- 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.
This checks verifies that this signature is available in the font.
A fake signature is enough to address this issue. If needed, a dummy table can
be added to the font with the `gftools fix-dsig` script available at
https://github.com/googlefonts/gftools
Reference: https://github.com/googlefonts/fontbakery/issues/1845
* 🔥 **FAIL** This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly. You can add a DSIG table by running the `gftools fix-dsig` script. [code: lacks-signature]
WARN: Checking OS/2 achVendID. * [com.google.fonts/check/vendor_id](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/vendor_id)
--- Rationale ---
Microsoft keeps a list of font vendors and their respective contact info. This
list is updated regularly and is indexed by a 4-char "Vendor ID" which is stored
in the achVendID field of the OS/2 table.
Registering your ID is not mandatory, but it is a good practice since some
applications may display the type designer / type foundry contact info on some
dialog and also because that info will be visible on Microsoft's website:
https://docs.microsoft.com/en-us/typography/vendors/
This check verifies whether or not a given font's vendor ID is registered in
that list or if it has some of the default values used by the most common font
editors.
Each new FontBakery release includes a cached copy of that list of vendor IDs.
If you registered recently, you're safe to ignore warnings emitted by this
check, since your ID will soon be included in one of our upcoming releases.
* ⚠ **WARN** OS/2 VendorID value ' ' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx [code: unknown]
WARN: Description strings in the name table must not exceed 200 characters. * [com.google.fonts/check/name/description_max_length](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/description_max_length)
--- Rationale ---
An old FontLab version had a bug which caused it to store copyright notices in
nameID 10 entries.
In order to detect those and distinguish them from actual legitimate usage of
this name table entry, we expect that such strings do not exceed a reasonable
length of 200 chars.
Longer strings are likely instances of the FontLab bug.
* ⚠ **WARN** A few name table entries with ID=10 (NameID.DESCRIPTION) are longer than 200 characters. Please check whether those entries are copyright notices mistakenly stored in the description string entries by a bug in an old FontLab version. If that's the case, then such copyright notices must be removed from these entries. [code: too-long]
WARN: Font has old ttfautohint applied? * [com.google.fonts/check/old_ttfautohint](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/old_ttfautohint)
--- 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.6; installed = 1.8.3; Need to re-run with the newer version! [code: old-ttfa]
WARN: Check if each glyph has the recommended amount of contours. * [com.google.fonts/check/contour_count](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/contour_count)
--- Rationale ---
Visually QAing thousands of glyphs by hand is tiring. Most glyphs can only be
constructured in a handful of ways. This means a glyph's contour count will only
differ slightly amongst different fonts, e.g a 'g' could either be 2 or 3
contours, depending on whether its double story or single story.
However, a quotedbl should have 2 contours, unless the font belongs to a display
family.
This check currently does not cover variable fonts because there's plenty of
alternative ways of constructing glyphs with multiple outlines for each feature
in a VarFont. The expected contour count data for this check is currently
optimized for the typical construction of glyphs in static fonts.
* ⚠ **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: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: SF190000 Contours detected: 1 Expected: 2 Glyph name: SF210000 Contours detected: 1 Expected: 2 Glyph name: SF220000 Contours detected: 1 Expected: 2 Glyph name: SF270000 Contours detected: 1 Expected: 2 Glyph name: SF280000 Contours detected: 1 Expected: 2 Glyph name: SF360000 Contours detected: 1 Expected: 2 Glyph name: SF490000 Contours detected: 1 Expected: 2 Glyph name: SF500000 Contours detected: 1 Expected: 2 Glyph name: SF510000 Contours detected: 1 Expected: 2 Glyph name: SF520000 Contours detected: 1 Expected: 2 Glyph name: asterisk Contours detected: 5 Expected: 1 or 4 Glyph name: dkshade Contours detected: 19 Expected: 73 Glyph name: ltshade Contours detected: 18 Expected: 46 Glyph name: shade Contours detected: 36 Expected: 85 [code: contour-count]
WARN: Checking Vertical Metric Linegaps. * [com.google.fonts/check/linegaps](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/hhea.html#com.google.fonts/check/linegaps) * ⚠ **WARN** OS/2 sTypoLineGap is not equal to 0. [code: OS/2]
WARN: Are there any misaligned on-curve points? * [com.google.fonts/check/outline_alignment_miss](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_alignment_miss)
--- 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: * Q: X=789.0,Y=-2.0 (should be at baseline 0?) * g: X=768.0,Y=-396.5 (should be at descender -395?) * paragraph: X=624.0,Y=1482.0 (should be at cap-height 1480?) * germandbls: X=618.0,Y=1481.0 (should be at cap-height 1480?) * ntilde: X=599.0,Y=1479.0 (should be at cap-height 1480?) * gcircumflex: X=768.0,Y=-396.5 (should be at descender -395?) * gbreve: X=768.0,Y=-396.5 (should be at descender -395?) * gdotaccent: X=768.0,Y=-396.5 (should be at descender -395?) * uni0123: X=768.0,Y=-396.5 (should be at descender -395?) * Aringacute: X=520.0,Y=1479.0 (should be at cap-height 1480?) and 34 more. [code: found-misalignments]
WARN: Do any segments have colinear vectors? * [com.google.fonts/check/outline_colinear_vectors](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_colinear_vectors)
--- Rationale ---
This check looks for consecutive line segments which have the same angle. This
normally happens if an outline point has been added by accident.
This check is not run for variable fonts, as they may legitimately have colinear
vectors.
* ⚠ **WARN** The following glyphs have colinear vectors: * Euro: L<<125.0,815.0>--<126.0,840.0>> -> L<<126.0,840.0>--<127.0,857.0>> * Psi: L<<1097.0,1201.0>--<1083.0,1130.0>> -> L<<1083.0,1130.0>--<1063.0,1004.0>> * Psi: L<<166.0,1004.0>--<146.0,1130.0>> -> L<<146.0,1130.0>--<132.0,1201.0>> * asciitilde: L<<584.0,728.0>--<701.0,651.0>> -> L<<701.0,651.0>--<771.0,605.0>> * asciitilde: L<<646.0,506.0>--<529.0,583.0>> -> L<<529.0,583.0>--<459.0,629.0>> * asterisk: L<<730.0,785.0>--<730.0,788.0>> -> L<<730.0,788.0>--<730.0,792.0>> * delta: L<<534.0,1169.0>--<628.0,1115.0>> -> L<<628.0,1115.0>--<736.0,1049.0>> * eight: L<<499.0,990.0>--<597.0,915.0>> -> L<<597.0,915.0>--<682.0,862.0>> * exclam: L<<558.0,459.0>--<521.0,1086.0>> -> L<<521.0,1086.0>--<521.0,1480.0>> * exclam: L<<746.0,1480.0>--<746.0,1086.0>> -> L<<746.0,1086.0>--<709.0,459.0>> and 33 more. [code: found-colinear-vectors]
WARN: Do outlines contain any jaggy segments? * [com.google.fonts/check/outline_jaggy_segments](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_jaggy_segments)
--- Rationale ---
This check heuristically detects outline segments which form a particularly
small angle, indicative of an outline error. This may cause false positives in
cases such as extreme ink traps, so should be regarded as advisory and backed up
by manual inspection.
* ⚠ **WARN** The following glyphs have jaggy segments: * Aring: B<<777.0,1544.0>-<722.0,1489.0>-<647.0,1480.0>>/L<<647.0,1480.0>--<709.0,1480.0>> = 6.842773412630916 * Aring: L<<520.0,1480.0>--<582.0,1480.0>>/B<<582.0,1480.0>-<519.0,1489.0>-<470.0,1532.0>> = 8.13010235415596 and Upsilontonos: B<<603.0,1306.5>-<738.0,1133.0>-<742.0,843.0>>/B<<742.0,843.0>-<806.0,1138.0>-<938.5,1296.0>> = 13.030817784392735 [code: found-jaggy-segments]
WARN: Do outlines contain any semi-vertical or semi-horizontal lines? * [com.google.fonts/check/outline_semi_vertical](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/.html#com.google.fonts/check/outline_semi_vertical)
--- Rationale ---
This check detects line segments which are nearly, but not quite, exactly
horizontal or vertical. Sometimes such lines are created by design, but often
they are indicative of a design error.
This check is disabled for italic styles, which often contain nearly-upright
lines.
* ⚠ **WARN** The following glyphs have semi-vertical/semi-horizontal lines: * W: L<<557.0,1247.0>--<706.0,1248.0>> * Wacute: L<<557.0,1247.0>--<706.0,1248.0>> * Wdieresis: L<<557.0,1247.0>--<706.0,1248.0>> * Wgrave: L<<557.0,1247.0>--<706.0,1248.0>> * eng: L<<1043.0,722.0>--<1044.0,11.0>> * franc: L<<833.0,1356.0>--<329.0,1357.0>> * peseta: L<<25.0,1480.0>--<281.0,1481.0>> * uni0417: L<<136.0,1150.0>--<135.0,1459.0>> * uni043C: L<<249.0,856.0>--<243.0,123.0>> and uni0446: L<<1054.0,963.0>--<1053.0,123.0>> [code: found-semi-vertical]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 35 34 453 29 220 0
0% 5% 4% 59% 4% 29% 0%

Note: The following loglevels were omitted in this report:

davelab6 commented 3 years ago

I seem to recall this was blocked on licensing, they had MIT instead of OFL, and as you say no source provision. Your investigation is excellent to restart the conversation, I seem to recall the foundry emailed me to say they were now willing to go OFL and I didn't really respond. So I'll put you in touch with them.

davelab6 commented 3 years ago

Ok I checked and, bad news, this is still blocked on licensing. So, you'll have to park this one for now. Maybe next year...

davelab6 commented 3 years ago

Your review was very helpful for moving the conversation forwards with the foundry though, thank you for that!