carolinashort / mansalva

Design of an informal handwritten font
SIL Open Font License 1.1
27 stars 4 forks source link

Google Font QA report #5

Closed m4rc1e closed 2 years ago

m4rc1e commented 3 years ago

Fontbakery report

Fontbakery version: 0.7.34

[2] Family checks
WARN: Is the command `ftxvalidator` (Apple Font Tool Suite) available? * [com.google.fonts/check/ftxvalidator_is_available](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/ftxvalidator_is_available)
--- Rationale ---

There's no reasonable (and legal) way to run the command `ftxvalidator` of the
Apple Font Tool Suite on a non-macOS machine. I.e. on GNU+Linux or Windows etc.

If Font Bakery is not running on an OSX machine, the machine running Font
Bakery could access `ftxvalidator` on OSX, e.g. via ssh or a remote procedure
call (rpc).

There's an ssh example implementation at:
https://github.com/googlefonts/fontbakery/blob/master/prebuilt/workarounds
/ftxvalidator/ssh-implementation/ftxvalidator

* ⚠ **WARN** Could not find ftxvalidator.
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: * /Users/marcfoley/Desktop/monsalva/fonts/fonts/Mansalva-Regular.ttf: 3.0 * /Users/marcfoley/Desktop/monsalva/fonts/fonts/Mansalva-Regular100819.ttf: 2.0009918212890625 [code: mismatch]

[10] Mansalva-Regular.ttf
🔥 FAIL: PPEM must be an integer on hinted fonts. * [com.google.fonts/check/integer_ppem_if_hinted](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/integer_ppem_if_hinted)
--- Rationale ---

Hinted fonts must have head table flag bit 3 set.

Per https://docs.microsoft.com/en-us/typography/opentype/spec/head, bit 3 of
Head::flags decides whether PPEM should be rounded. This bit should always be
set for hinted fonts.

Note:
Bit 3 = Force ppem to integer values for all internal scaler math;
        May use fractional ppem sizes if this bit is clear;

* 🔥 **FAIL** This is a hinted font, so it must have bit 3 set on the flags of the head table, so that PPEM values will be rounded into an integer value. This can be accomplished by using the 'gftools fix-hinting' command. # create virtualenvpython3 -m venv venv # activate virtualenvsource venv/bin/activate # install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]
🔥 FAIL: Space and non-breaking space have the same width? * [com.google.fonts/check/whitespace_widths](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/hmtx.html#com.google.fonts/check/whitespace_widths) * 🔥 **FAIL** Space and non-breaking space have differing width: The space glyph named space is 250 font units wide, non-breaking space named (uni00A0) is 360 font units wide, and both should be positive and the same. GlyphsApp has "Sidebearing arithmetic" (https://glyphsapp.com/tutorials/spacing) which allows you to set the non-breaking space width to always equal the space width. [code: different-widths]
🔥 FAIL: Check glyphs do not have components which are themselves components. * [com.google.fonts/check/glyf_nested_components](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/glyf.html#com.google.fonts/check/glyf_nested_components)
--- Rationale ---

There have been bugs rendering variable fonts with nested components.
Additionally, some static fonts with nested components have been reported to
have rendering and printing issues.

For more info, see:
* https://github.com/googlefonts/fontbakery/issues/2961
* https://github.com/arrowtype/recursive/issues/412

* 🔥 **FAIL** The following glyphs have components which themselves are component glyphs: * uni1EAA * uni1EB1 * uni1EAB and uni1ED7 [code: found-nested-components]
WARN: License URL matches License text on name table? * [com.google.fonts/check/name/license_url](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/license_url)
--- Rationale ---

A known license URL must be provided in the NameID 14 (LICENSE INFO URL) entry
of the name table.

The source of truth for this check is the licensing text found on the NameID 13
entry (LICENSE DESCRIPTION).

The string snippets used for detecting licensing terms are:
- "This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is available with a FAQ at: https://scripts.sil.org/OFL"
- "Licensed under the Apache License, Version 2.0"
- "Licensed under the Ubuntu Font Licence 1.0."

Currently accepted licenses are Apache or Open Font License.
For a small set of legacy families the Ubuntu Font License may be acceptable as
well.

When in doubt, please choose OFL for new font projects.

* ⚠ **WARN** Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=13] [code: http-in-description] * ⚠ **WARN** Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=13] [code: http-in-description] * ⚠ **WARN** Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description] * ⚠ **WARN** Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=13] [code: http-in-description] * ⚠ **WARN** Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description] * ⚠ **WARN** Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=14] [code: http-in-license-info] * ⚠ **WARN** Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=14] [code: http-in-license-info] * ⚠ **WARN** For now we're still accepting http URLs, but you should consider using https instead. [code: http]
WARN: Glyphs are similiar to Google Fonts version? * [com.google.fonts/check/production_glyphs_similarity](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/production_glyphs_similarity) * ⚠ **WARN** Following glyphs differ greatly from Google Fonts version: [AE, Aacute, Acircumflex, Aring, Atilde, C, C.alt2, Ccedilla, Eacute, Ecircumflex, Edieresis, Egrave, Eth, H.alt1, K.alt1, L, M.alt2, N, O.alt2, OE, Ograve, R.alt1, T.alt1, Thorn, a.alt2, ae, ampersand, atilde, caron, dotlessi, fi.liga, fl.liga, g.alt1, h, hungarumlaut, one, parenleft, parenright, plus, q, questiondown, quotesingle, s.alt1, trademark, uni2206, w, y.alt1]
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: at Contours detected: 1 Expected: 2 Glyph name: O Contours detected: 1 Expected: 2 Glyph name: b Contours detected: 1 Expected: 2 Glyph name: q Contours detected: 1 Expected: 2 Glyph name: ordfeminine Contours detected: 1 Expected: 2 or 3 Glyph name: Egrave Contours detected: 3 Expected: 2 Glyph name: Eth Contours detected: 1 Expected: 2 Glyph name: odieresis Contours detected: 3 Expected: 4 Glyph name: oslash Contours detected: 2 Expected: 3 Glyph name: thorn Contours detected: 3 Expected: 2 Glyph name: aogonek Contours detected: 3 Expected: 2 Glyph name: Dcroat Contours detected: 1 Expected: 2 Glyph name: dcroat Contours detected: 3 Expected: 2 Glyph name: eogonek Contours detected: 3 Expected: 2 Glyph name: hbar Contours detected: 2 Expected: 1 Glyph name: Lslash Contours detected: 2 Expected: 1 Glyph name: lslash Contours detected: 2 Expected: 1 Glyph name: Eng Contours detected: 2 Expected: 1 Glyph name: eng Contours detected: 2 Expected: 1 Glyph name: Ohungarumlaut Contours detected: 3 Expected: 4 Glyph name: Tbar Contours detected: 2 Expected: 1 Glyph name: tbar Contours detected: 2 Expected: 1 Glyph name: Uogonek Contours detected: 2 Expected: 1 Glyph name: uogonek Contours detected: 2 Expected: 1 Glyph name: ohorn Contours detected: 3 Expected: 2 Glyph name: Uhorn Contours detected: 2 Expected: 1 Glyph name: uhorn Contours detected: 2 Expected: 1 Glyph name: uni01D1 Contours detected: 2 Expected: 3 Glyph name: beta Contours detected: 1 Expected: 2 Glyph name: uni1E9E Contours detected: 2 Expected: 1 Glyph name: uni1ECC Contours detected: 2 Expected: 3 Glyph name: uni1ECE Contours detected: 2 Expected: 3 Glyph name: uni1ED0 Contours detected: 3 Expected: 4 Glyph name: uni1ED2 Contours detected: 3 Expected: 4 Glyph name: uni1ED4 Contours detected: 3 Expected: 4 Glyph name: uni1ED6 Contours detected: 3 Expected: 4 Glyph name: uni1ED8 Contours detected: 3 Expected: 4 Glyph name: uni1EDB Contours detected: 4 Expected: 3 Glyph name: uni1EDD Contours detected: 4 Expected: 3 Glyph name: uni1EDF Contours detected: 4 Expected: 3 Glyph name: uni1EE1 Contours detected: 4 Expected: 3 Glyph name: uni1EE3 Contours detected: 4 Expected: 3 Glyph name: uni1EE8 Contours detected: 3 Expected: 2 Glyph name: uni1EE9 Contours detected: 3 Expected: 2 Glyph name: uni1EEA Contours detected: 3 Expected: 2 Glyph name: uni1EEB Contours detected: 3 Expected: 2 Glyph name: uni1EEC Contours detected: 3 Expected: 2 Glyph name: uni1EED Contours detected: 3 Expected: 2 Glyph name: uni1EEE Contours detected: 3 Expected: 2 Glyph name: uni1EEF Contours detected: 3 Expected: 2 Glyph name: uni1EF0 Contours detected: 3 Expected: 2 Glyph name: uni1EF1 Contours detected: 3 Expected: 2 Glyph name: arrowboth Contours detected: 2 Expected: 1 Glyph name: Dcroat Contours detected: 1 Expected: 2 Glyph name: Egrave Contours detected: 3 Expected: 2 Glyph name: Eng Contours detected: 2 Expected: 1 Glyph name: Eth Contours detected: 1 Expected: 2 Glyph name: Lslash Contours detected: 2 Expected: 1 Glyph name: O Contours detected: 1 Expected: 2 Glyph name: Ohungarumlaut Contours detected: 3 Expected: 4 Glyph name: Tbar Contours detected: 2 Expected: 1 Glyph name: Uhorn Contours detected: 2 Expected: 1 Glyph name: Uogonek Contours detected: 2 Expected: 1 Glyph name: aogonek Contours detected: 3 Expected: 2 Glyph name: arrowboth Contours detected: 2 Expected: 1 Glyph name: at Contours detected: 1 Expected: 2 Glyph name: b Contours detected: 1 Expected: 2 Glyph name: beta Contours detected: 1 Expected: 2 Glyph name: dcroat Contours detected: 3 Expected: 2 Glyph name: eng Contours detected: 2 Expected: 1 Glyph name: eogonek Contours detected: 3 Expected: 2 Glyph name: hbar Contours detected: 2 Expected: 1 Glyph name: lslash Contours detected: 2 Expected: 1 Glyph name: odieresis Contours detected: 3 Expected: 4 Glyph name: ohorn Contours detected: 3 Expected: 2 Glyph name: ordfeminine Contours detected: 1 Expected: 2 or 3 Glyph name: oslash Contours detected: 2 Expected: 3 Glyph name: q Contours detected: 1 Expected: 2 Glyph name: tbar Contours detected: 2 Expected: 1 Glyph name: thorn Contours detected: 3 Expected: 2 Glyph name: uhorn Contours detected: 2 Expected: 1 Glyph name: uni01D1 Contours detected: 2 Expected: 3 Glyph name: uni1E9E Contours detected: 2 Expected: 1 Glyph name: uni1ECC Contours detected: 2 Expected: 3 Glyph name: uni1ECE Contours detected: 2 Expected: 3 Glyph name: uni1ED0 Contours detected: 3 Expected: 4 Glyph name: uni1ED2 Contours detected: 3 Expected: 4 Glyph name: uni1ED4 Contours detected: 3 Expected: 4 Glyph name: uni1ED6 Contours detected: 3 Expected: 4 Glyph name: uni1ED8 Contours detected: 3 Expected: 4 Glyph name: uni1EDB Contours detected: 4 Expected: 3 Glyph name: uni1EDD Contours detected: 4 Expected: 3 Glyph name: uni1EDF Contours detected: 4 Expected: 3 Glyph name: uni1EE1 Contours detected: 4 Expected: 3 Glyph name: uni1EE3 Contours detected: 4 Expected: 3 Glyph name: uni1EE8 Contours detected: 3 Expected: 2 Glyph name: uni1EE9 Contours detected: 3 Expected: 2 Glyph name: uni1EEA Contours detected: 3 Expected: 2 Glyph name: uni1EEB Contours detected: 3 Expected: 2 Glyph name: uni1EEC Contours detected: 3 Expected: 2 Glyph name: uni1EED Contours detected: 3 Expected: 2 Glyph name: uni1EEE Contours detected: 3 Expected: 2 Glyph name: uni1EEF Contours detected: 3 Expected: 2 Glyph name: uni1EF0 Contours detected: 3 Expected: 2 Glyph name: uni1EF1 Contours detected: 3 Expected: 2 Glyph name: uogonek Contours detected: 2 Expected: 1 [code: contour-count]
WARN: Are there caret positions declared for every ligature? * [com.google.fonts/check/ligature_carets](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/ligature_carets)
--- Rationale ---

All ligatures in a font must have corresponding caret (text cursor) positions
defined in the GDEF table, otherwhise, users may experience issues with caret
rendering.

If using GlyphsApp, ligature carets can be set directly on canvas by accessing
the `Glyph -> Set Anchors` menu option or by pressing the `Cmd+U` keyboard
shortcut.

If designing with UFOs, (as of Oct 2020) ligature carets are not yet compiled
by ufo2ft, and therefore will not build via FontMake. See
googlefonts/ufo2ft/issues/329

* ⚠ **WARN** This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
WARN: Is there kerning info for non-ligated sequences? * [com.google.fonts/check/kerning_for_non_ligated_sequences](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/kerning_for_non_ligated_sequences)
--- Rationale ---

Fonts with ligatures should have kerning on the corresponding non-ligated
sequences for text where ligatures aren't used (eg
https://github.com/impallari/Raleway/issues/14).

* ⚠ **WARN** GPOS table lacks kerning info for the following non-ligated sequences: - f + i - i + l [code: lacks-kern-info]
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 test 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: * Euro: B<<273.0,274.0>-<274.0,269.0>-<275.0,259.0>>/B<<275.0,259.0>-<275.0,262.0>-<282.0,223.0>> = 5.710593137499633 * K.alt1: B<<744.0,592.0>-<751.0,588.0>-<771.0,572.0>>/B<<771.0,572.0>-<770.0,573.0>-<788.0,558.0>> = 6.34019174590985 * M.alt1: B<<512.5,450.5>-<548.0,505.0>-<572.0,539.0>>/B<<572.0,539.0>-<569.0,535.0>-<603.0,579.0>> = 1.6523046776512118 * Ucircumflex: B<<386.0,652.0>-<375.0,662.0>-<337.0,702.0>>/B<<337.0,702.0>-<339.0,700.0>-<305.0,740.0>> = 1.4688007143857 * Wdieresis: B<<605.5,676.5>-<594.0,683.0>-<570.0,699.0>>/B<<570.0,699.0>-<574.0,696.0>-<546.0,716.0>> = 3.1798301198640497 * Ydieresis: B<<249.0,692.0>-<218.0,665.0>-<221.0,668.0>>/B<<221.0,668.0>-<194.0,646.0>-<179.5,638.0>> = 5.826342029555689 * arrowleft: B<<211.0,204.0>-<149.0,264.0>-<156.0,261.0>>/B<<156.0,261.0>-<148.0,267.0>-<132.0,277.0>> = 13.671307132195812 * arrowleft: B<<380.0,419.0>-<301.0,373.0>-<260.0,364.0>>/L<<260.0,364.0>--<322.0,365.0>> = 11.456711576034436 * arrowupdn: B<<354.0,567.0>-<340.0,601.0>-<321.0,640.0>>/B<<321.0,640.0>-<323.0,633.0>-<323.0,619.0>> = 10.028998061508487 * ccedilla: L<<377.0,82.0>--<442.0,98.0>>/B<<442.0,98.0>-<437.0,97.0>-<475.0,106.0>> = 2.518718498259937 and 24 more. [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 test 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 test is disabled for italic styles, which often contain nearly-upright
lines.

* ⚠ **WARN** The following glyphs have semi-vertical/semi-horizontal lines: * .notdef: L<<64.0,308.0>--<63.0,514.0>> * Eacute: L<<256.0,594.0>--<394.0,595.0>> * Ecaron: L<<256.0,606.0>--<394.0,607.0>> * Ecircumflex: L<<268.0,628.0>--<414.0,629.0>> * Edotaccent: L<<256.0,594.0>--<394.0,595.0>> * Hbar: L<<303.0,580.0>--<458.0,581.0>> * Thorn: L<<63.0,504.0>--<62.0,624.0>> * agrave: L<<460.0,177.0>--<459.0,58.0>> * d.alt2: L<<297.0,372.0>--<298.0,508.0>> * d.alt2: L<<413.0,319.0>--<412.0,177.0>> and 12 more. [code: found-semi-vertical]

[11] Mansalva-Regular100819.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 "/Users/marcfoley/Desktop/monsalva/fonts/fonts/Mansalva-Regular100819.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: Checking OS/2 fsType does not impose restrictions. * [com.google.fonts/check/fstype](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/fstype)
--- Rationale ---

The fsType in the OS/2 table is a legacy DRM-related field. Fonts in the Google
Fonts collection must have it set to zero (also known as "Installable
Embedding"). This setting indicates that the fonts can be embedded in documents
and permanently installed by applications on remote systems.

More detailed info is available at:
https://docs.microsoft.com/en-us/typography/opentype/spec/os2#fstype

* 🔥 **FAIL** In this font fsType is set to 8 meaning that: The font may be embedded but must only be installed temporarily on other systems. No such DRM restrictions can be enabled on the Google Fonts collection, so the fsType field must be set to zero (Installable Embedding) instead. [code: drm]
🔥 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: 0x00B7 (MIDDLE DOT), 0x02DA (RING ABOVE), 0x201A (SINGLE LOW-9 QUOTATION MARK), 0x2044 (FRACTION SLASH) and 0x2212 (MINUS SIGN) [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 2019 Mansalva Project Carolina Short (https://github.com/carolinashort/mansalva)" [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 2019 Mansalva Project Carolina Short (https://github.com/carolinashort/mansalva)" [code: bad-notice-format]
🔥 FAIL: PPEM must be an integer on hinted fonts. * [com.google.fonts/check/integer_ppem_if_hinted](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/integer_ppem_if_hinted)
--- Rationale ---

Hinted fonts must have head table flag bit 3 set.

Per https://docs.microsoft.com/en-us/typography/opentype/spec/head, bit 3 of
Head::flags decides whether PPEM should be rounded. This bit should always be
set for hinted fonts.

Note:
Bit 3 = Force ppem to integer values for all internal scaler math;
        May use fractional ppem sizes if this bit is clear;

* 🔥 **FAIL** This is a hinted font, so it must have bit 3 set on the flags of the head table, so that PPEM values will be rounded into an integer value. This can be accomplished by using the 'gftools fix-hinting' command. # create virtualenvpython3 -m venv venv # activate virtualenvsource venv/bin/activate # install gftoolspip install git+https://www.github.com/googlefonts/tools [code: bad-flags]
🔥 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 1112, but got 1111 instead [code: ascent]
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: at Contours detected: 1 Expected: 2 Glyph name: O Contours detected: 1 Expected: 2 Glyph name: b Contours detected: 1 Expected: 2 Glyph name: q Contours detected: 1 Expected: 2 Glyph name: ordfeminine Contours detected: 1 Expected: 2 or 3 Glyph name: Egrave Contours detected: 3 Expected: 2 Glyph name: Eth Contours detected: 1 Expected: 2 Glyph name: odieresis Contours detected: 3 Expected: 4 Glyph name: oslash Contours detected: 2 Expected: 3 Glyph name: thorn Contours detected: 3 Expected: 2 Glyph name: arrowup Contours detected: 2 Expected: 1 Glyph name: arrowboth Contours detected: 2 Expected: 1 Glyph name: Egrave Contours detected: 3 Expected: 2 Glyph name: Eth Contours detected: 1 Expected: 2 Glyph name: O Contours detected: 1 Expected: 2 Glyph name: arrowboth Contours detected: 2 Expected: 1 Glyph name: arrowup Contours detected: 2 Expected: 1 Glyph name: at Contours detected: 1 Expected: 2 Glyph name: b Contours detected: 1 Expected: 2 Glyph name: odieresis Contours detected: 3 Expected: 4 Glyph name: ordfeminine Contours detected: 1 Expected: 2 or 3 Glyph name: oslash Contours detected: 2 Expected: 3 Glyph name: q Contours detected: 1 Expected: 2 Glyph name: thorn Contours detected: 3 Expected: 2 [code: contour-count]
WARN: Are there caret positions declared for every ligature? * [com.google.fonts/check/ligature_carets](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/ligature_carets)
--- Rationale ---

All ligatures in a font must have corresponding caret (text cursor) positions
defined in the GDEF table, otherwhise, users may experience issues with caret
rendering.

If using GlyphsApp, ligature carets can be set directly on canvas by accessing
the `Glyph -> Set Anchors` menu option or by pressing the `Cmd+U` keyboard
shortcut.

If designing with UFOs, (as of Oct 2020) ligature carets are not yet compiled
by ufo2ft, and therefore will not build via FontMake. See
googlefonts/ufo2ft/issues/329

* ⚠ **WARN** This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
WARN: Is there kerning info for non-ligated sequences? * [com.google.fonts/check/kerning_for_non_ligated_sequences](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/kerning_for_non_ligated_sequences)
--- Rationale ---

Fonts with ligatures should have kerning on the corresponding non-ligated
sequences for text where ligatures aren't used (eg
https://github.com/impallari/Raleway/issues/14).

* ⚠ **WARN** GPOS table lacks kerning info for the following non-ligated sequences: - f + i - i + l [code: lacks-kern-info]
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 test 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: * Euro: B<<288.0,367.0>-<290.0,354.0>-<291.0,344.0>>/B<<291.0,344.0>-<291.0,347.0>-<297.0,309.0>> = 5.710593137499633 * K.alt1: B<<734.0,592.0>-<741.0,588.0>-<761.0,572.0>>/B<<761.0,572.0>-<760.0,573.0>-<778.0,558.0>> = 6.34019174590985 * M.alt1: B<<506.5,423.5>-<533.0,451.0>-<557.0,485.0>>/B<<557.0,485.0>-<554.0,481.0>-<588.0,525.0>> = 1.6523046776512118 * Ucircumflex: B<<376.0,652.0>-<365.0,662.0>-<327.0,702.0>>/B<<327.0,702.0>-<329.0,700.0>-<295.0,740.0>> = 1.4688007143857 * arrowleft: B<<191.0,194.0>-<129.0,254.0>-<136.0,251.0>>/B<<136.0,251.0>-<128.0,257.0>-<112.0,267.0>> = 13.671307132195812 * arrowleft: B<<360.0,409.0>-<281.0,363.0>-<240.0,354.0>>/L<<240.0,354.0>--<302.0,355.0>> = 11.456711576034436 * arrowupdn: B<<334.0,544.0>-<320.0,578.0>-<301.0,617.0>>/B<<301.0,617.0>-<303.0,610.0>-<303.0,596.0>> = 10.028998061508487 * ccedilla: L<<367.0,82.0>--<432.0,98.0>>/B<<432.0,98.0>-<427.0,97.0>-<465.0,106.0>> = 2.518718498259937 * dieresis: B<<296.5,442.5>-<287.0,448.0>-<269.0,463.0>>/B<<269.0,463.0>-<271.0,461.0>-<250.0,479.0>> = 5.1944289077348 * ocircumflex: B<<245.0,459.0>-<237.0,451.0>-<202.0,411.0>>/B<<202.0,411.0>-<203.0,412.0>-<186.0,392.0>> = 3.814074834290187 and 4 more. [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 test 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 test is disabled for italic styles, which often contain nearly-upright
lines.

* ⚠ **WARN** The following glyphs have semi-vertical/semi-horizontal lines: * .notdef: L<<18.0,308.0>--<17.0,514.0>> * Eacute: L<<283.0,628.0>--<429.0,629.0>> * Ecircumflex: L<<283.0,628.0>--<429.0,629.0>> * Igrave: L<<358.0,267.0>--<359.0,122.0>> * agrave: L<<450.0,177.0>--<449.0,58.0>> * l: L<<59.0,410.0>--<58.0,586.0>> * paragraph: L<<350.0,5.0>--<349.0,143.0>> and thorn: L<<52.0,-43.0>--<51.0,107.0>> [code: found-semi-vertical]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 9 14 191 16 145 0
0% 2% 4% 51% 4% 39% 0%

Note: The following loglevels were omitted in this report:

carolinashort commented 3 years ago

Hi! I've done some fixes, I still have 6 WARN but I am not sure I need to address those…?

carolinashort commented 2 years ago

font was updated and there is a new version as per December 2021