google / fonts

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

Life Savers: Version 3.100; ttfautohint (v1.8.4.7-5d5b) added #7866

Closed emmamarichal closed 1 week ago

emmamarichal commented 2 weeks ago

Taken from the upstream repo https://github.com/googlefonts/life-savers at commit https://github.com/googlefonts/life-savers/commit/76eb6d11fa7a003dae0e05c4fa9e2f00a535d8c2.

PR Checklist:

github-actions[bot] commented 2 weeks ago

FontBakery report

fontbakery version: 0.12.7

Experimental checks

These won't break the CI job for now, but will become effective after some time if nobody raises any concern.

[2] LifeSavers-Bold.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Family metadata at ofl/lifesavers does not have an article.

[code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]
[2] LifeSavers-Regular.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Family metadata at ofl/lifesavers does not have an article.

[code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]
[2] LifeSavers-ExtraBold.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Family metadata at ofl/lifesavers does not have an article.

[code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]

All other checks

[20] LifeSavers-Bold.ttf
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Shaper didn't attach acutecomb to uni0237
^ Shaper didn't attach acutecomb to J
[code: failed-language-shaping]
🔥 FAIL Does DESCRIPTION file contain a upstream Git repo URL?
* 🔥 **FAIL**

Please host your font project on a public Git repo (such as GitHub or GitLab) and place a link in the DESCRIPTION.en_us.html file.

[code: lacks-git-url]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron
* ⚠️ **WARN**

Lcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

dcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

lcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

tcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline]
⚠️ WARN Check if each glyph has the recommended amount of contours.
* ⚠️ **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: E  Contours detected: 2    Expected: 1

- Glyph name: Egrave    Contours detected: 3    Expected: 2

- Glyph name: Eacute    Contours detected: 3    Expected: 2

- Glyph name: Ecircumflex   Contours detected: 3    Expected: 2

- Glyph name: Edieresis Contours detected: 4    Expected: 3

- Glyph name: Emacron   Contours detected: 3    Expected: 2

- Glyph name: Ebreve    Contours detected: 3    Expected: 2

- Glyph name: Edotaccent    Contours detected: 3    Expected: 2

- Glyph name: Ecaron    Contours detected: 3    Expected: 2

- Glyph name: iogonek   Contours detected: 1    Expected: 2 or 3

- 14 more.

Use -F or --full-lists to disable shortening of long lists.

[code: contour-count]
⚠️ WARN Check math signs have the same width.
* ⚠️ **WARN**

The most common width is 285 among a set of 2 math glyphs. The following math glyphs have a different width, though:

Width = 380: plus

Width = 385: equal, divide

Width = 390: logicalnot

Width = 441: plusminus

Width = 371: multiply

Width = 420: minus

[code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs
* ⚠️ **WARN**

The following glyphs could not be reached by codepoint or substitution rules:

- uni030C.alt
[code: unreachable-glyphs]
⚠️ WARN Do any segments have colinear vectors?
* ⚠️ **WARN**

The following glyphs have colinear vectors:

* f_f: L<<156.0,473.0>--<234.0,473.0>> -> L<<234.0,473.0>--<237.0,473.0>>

* f_f_j: L<<245.0,478.0>--<250.0,478.0>> -> L<<250.0,478.0>--<294.0,478.0>>

* f_f_j: L<<246.0,420.0>--<241.0,420.0>> -> L<<241.0,420.0>--<165.0,420.0>>

* f_f_k: L<<244.0,420.0>--<241.0,420.0>> -> L<<241.0,420.0>--<165.0,420.0>>

* f_f_k: L<<245.0,420.0>--<244.0,420.0>> -> L<<244.0,420.0>--<241.0,420.0>>

* f_f_k: L<<245.0,478.0>--<248.0,478.0>> -> L<<248.0,478.0>--<292.0,478.0>>

* f_f_k: L<<292.0,420.0>--<245.0,420.0>> -> L<<245.0,420.0>--<244.0,420.0>>

* f_f_l: L<<156.0,473.0>--<234.0,473.0>> -> L<<234.0,473.0>--<236.0,473.0>>

* f_f_l: L<<234.0,473.0>--<236.0,473.0>> -> L<<236.0,473.0>--<237.0,473.0>>

* f_f_l: L<<236.0,473.0>--<237.0,473.0>> -> L<<237.0,473.0>--<280.0,473.0>>

* lslash (U+0142): L<<106.0,408.0>--<106.0,413.0>> -> L<<106.0,413.0>--<106.0,613.0>>
[code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* A (U+0041): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* AE (U+00C6): B<<73.0,49.5>-<89.0,51.0>-<88.0,51.0>>/B<<88.0,51.0>-<110.0,53.0>-<122.0,62.0>> = 5.1944289077348

* AEacute (U+01FC): B<<73.0,49.5>-<89.0,51.0>-<88.0,51.0>>/B<<88.0,51.0>-<110.0,53.0>-<122.0,62.0>> = 5.1944289077348

* Aacute (U+00C1): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* Abreve (U+0102): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* Acircumflex (U+00C2): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* Adieresis (U+00C4): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* Agrave (U+00C0): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* Amacron (U+0100): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* Aogonek (U+0104): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* 28 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-jaggy-segments]
⚠️ WARN Ensure dotted circle glyph is present and can attach marks.
* ⚠️ **WARN**

No dotted circle glyph present

[code: missing-dotted-circle]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
* ⚠️ **WARN**

The dot of soft dotted characters used in orthographies must disappear in the following strings: į̀ į́ į̂ į̃ į̄ į̌

The dot of soft dotted characters should disappear in other cases, for example: į̆ į̇ į̈ į̊ į̋ į̦̀ į̦́ į̦̂ į̦̃ į̦̄ į̦̆ į̦̇ į̦̈ į̦̊ į̦̋ į̦̌ į̧̀ į̧́ į̧̂ į̧̃

Your font fully covers the following languages that require the soft-dotted feature: Lithuanian (Latn, 2,357,094 speakers).

Your font does not cover the following languages that require the soft-dotted feature: Ukrainian (Cyrl, 29,273,587 speakers), Mfumte (Latn, 79,000 speakers), Koonzime (Latn, 40,000 speakers), Southern Kisi (Latn, 360,000 speakers), Lugbara (Latn, 2,200,000 speakers), Basaa (Latn, 332,940 speakers), Makaa (Latn, 221,000 speakers), Belarusian (Cyrl, 10,064,517 speakers), Avokaya (Latn, 100,000 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Navajo (Latn, 166,319 speakers), Nateni (Latn, 100,000 speakers), Igbo (Latn, 27,823,640 speakers), Ma’di (Latn, 584,000 speakers), Aghem (Latn, 38,843 speakers), Bete-Bendi (Latn, 100,000 speakers), Cicipu (Latn, 44,000 speakers), Yala (Latn, 200,000 speakers), Ebira (Latn, 2,200,000 speakers), Mango (Latn, 77,000 speakers), Ejagham (Latn, 120,000 speakers), South Central Banda (Latn, 244,000 speakers), Dii (Latn, 71,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Mundani (Latn, 34,000 speakers), Dutch (Latn, 31,709,104 speakers), Sar (Latn, 500,000 speakers), Zapotec (Latn, 490,000 speakers), Dan (Latn, 1,099,244 speakers), Ekpeye (Latn, 226,000 speakers), Nzakara (Latn, 50,000 speakers), Gulay (Latn, 250,478 speakers), Bafut (Latn, 158,146 speakers), Fur (Latn, 1,230,163 speakers), Kom (Latn, 360,685 speakers), Ngbaka (Latn, 1,020,000 speakers), Vute (Latn, 21,000 speakers).

[code: soft-dotted]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
* ⚠️ **WARN**

The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.

  • U+02C7 CARON: try adding one of: yi, tifinagh, canadian-aboriginal
  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal
  • U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: coptic, tifinagh, cherokee, math
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: math, canadian-aboriginal, tai-le, malayalam, coptic, syriac, old-permic, tifinagh
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage 32 more.

Use -F or --full-lists to disable shortening of long lists.

Or you can add the above codepoints to one of the subsets supported by the font: latin, latin-ext, menu

[code: unreachable-subsetting]
⚠️ WARN Is there kerning info for non-ligated sequences?
* ⚠️ **WARN**

GPOS table lacks kerning info for the following non-ligated sequences:

- f + b

- f + f

- f + h

- f + i

- f + j

- f + k

- f + l

- f + t

- l + l

- t + t

- t + z
[code: lacks-kern-info]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

This font file does not have a 'meta' table.

[code: lacks-meta-table]
⚠️ WARN Checking OS/2 achVendID.
* ⚠️ **WARN**

OS/2 VendorID value 'NONE' 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]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/lifesavers

[code: family-path]
ℹ️ INFO Font contains all required tables?
* ℹ️ **INFO**

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp
[code: optional-tables]
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
* ℹ️ **INFO**

This font doesn't have an ARTICLE.en_us.html file.

[code: missing-article]
ℹ️ INFO EPAR table present in font?
* ℹ️ **INFO**

EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818

[code: lacks-EPAR]
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* ℹ️ **INFO**

These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/lifesavers/LifeSavers-Bold.ttf
Dehinted Size 133.6kb
Hinted Size 217.3kb
Increase 83.7kb
Change 62.7 %
[code: size-impact]
[20] LifeSavers-Regular.ttf
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Shaper didn't attach acutecomb to uni0237
^ Shaper didn't attach acutecomb to J
[code: failed-language-shaping]
🔥 FAIL Does DESCRIPTION file contain a upstream Git repo URL?
* 🔥 **FAIL**

Please host your font project on a public Git repo (such as GitHub or GitLab) and place a link in the DESCRIPTION.en_us.html file.

[code: lacks-git-url]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron
* ⚠️ **WARN**

Lcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

dcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

lcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

tcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline]
⚠️ WARN Check if each glyph has the recommended amount of contours.
* ⚠️ **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: iogonek    Contours detected: 1    Expected: 2 or 3

- Glyph name: uni1E9E   Contours detected: 2    Expected: 1

- Glyph name: iogonek   Contours detected: 1    Expected: 2 or 3

- Glyph name: uni1E9E   Contours detected: 2    Expected: 1
[code: contour-count]
⚠️ WARN Check math signs have the same width.
* ⚠️ **WARN**

The most common width is 265 among a set of 2 math glyphs. The following math glyphs have a different width, though:

Width = 362: plus

Width = 372: equal, multiply

Width = 375: logicalnot

Width = 390: plusminus

Width = 389: divide

Width = 397: minus

[code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs
* ⚠️ **WARN**

The following glyphs could not be reached by codepoint or substitution rules:

- uni030C.alt
[code: unreachable-glyphs]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* A (U+0041): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* AE (U+00C6): B<<60.0,29.5>-<75.0,31.0>-<74.0,31.0>>/B<<74.0,31.0>-<96.0,33.0>-<108.0,42.0>> = 5.1944289077348

* AEacute (U+01FC): B<<60.0,29.5>-<75.0,31.0>-<74.0,31.0>>/B<<74.0,31.0>-<96.0,33.0>-<108.0,42.0>> = 5.1944289077348

* Aacute (U+00C1): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* Abreve (U+0102): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* Acircumflex (U+00C2): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* Adieresis (U+00C4): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* Agrave (U+00C0): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* Amacron (U+0100): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* Aogonek (U+0104): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* 15 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
* ⚠️ **WARN**

The following glyphs have semi-vertical/semi-horizontal lines:

* c_t: L<<522.0,165.0>--<524.0,424.0>>
[code: found-semi-vertical]
⚠️ WARN Ensure dotted circle glyph is present and can attach marks.
* ⚠️ **WARN**

No dotted circle glyph present

[code: missing-dotted-circle]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
* ⚠️ **WARN**

The dot of soft dotted characters used in orthographies must disappear in the following strings: į̀ į́ į̂ į̃ į̄ į̌

The dot of soft dotted characters should disappear in other cases, for example: į̆ į̇ į̈ į̊ į̋ į̦̀ į̦́ į̦̂ į̦̃ į̦̄ į̦̆ į̦̇ į̦̈ į̦̊ į̦̋ į̦̌ į̧̀ į̧́ į̧̂ į̧̃

Your font fully covers the following languages that require the soft-dotted feature: Lithuanian (Latn, 2,357,094 speakers).

Your font does not cover the following languages that require the soft-dotted feature: Ukrainian (Cyrl, 29,273,587 speakers), Mfumte (Latn, 79,000 speakers), Koonzime (Latn, 40,000 speakers), Southern Kisi (Latn, 360,000 speakers), Lugbara (Latn, 2,200,000 speakers), Basaa (Latn, 332,940 speakers), Makaa (Latn, 221,000 speakers), Belarusian (Cyrl, 10,064,517 speakers), Avokaya (Latn, 100,000 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Navajo (Latn, 166,319 speakers), Nateni (Latn, 100,000 speakers), Igbo (Latn, 27,823,640 speakers), Ma’di (Latn, 584,000 speakers), Aghem (Latn, 38,843 speakers), Bete-Bendi (Latn, 100,000 speakers), Cicipu (Latn, 44,000 speakers), Yala (Latn, 200,000 speakers), Ebira (Latn, 2,200,000 speakers), Mango (Latn, 77,000 speakers), Ejagham (Latn, 120,000 speakers), South Central Banda (Latn, 244,000 speakers), Dii (Latn, 71,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Mundani (Latn, 34,000 speakers), Dutch (Latn, 31,709,104 speakers), Sar (Latn, 500,000 speakers), Zapotec (Latn, 490,000 speakers), Dan (Latn, 1,099,244 speakers), Ekpeye (Latn, 226,000 speakers), Nzakara (Latn, 50,000 speakers), Gulay (Latn, 250,478 speakers), Bafut (Latn, 158,146 speakers), Fur (Latn, 1,230,163 speakers), Kom (Latn, 360,685 speakers), Ngbaka (Latn, 1,020,000 speakers), Vute (Latn, 21,000 speakers).

[code: soft-dotted]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
* ⚠️ **WARN**

The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.

  • U+02C7 CARON: try adding one of: yi, tifinagh, canadian-aboriginal
  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal
  • U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: coptic, tifinagh, cherokee, math
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: math, canadian-aboriginal, tai-le, malayalam, coptic, syriac, old-permic, tifinagh
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage 32 more.

Use -F or --full-lists to disable shortening of long lists.

Or you can add the above codepoints to one of the subsets supported by the font: latin, latin-ext, menu

[code: unreachable-subsetting]
⚠️ WARN Is there kerning info for non-ligated sequences?
* ⚠️ **WARN**

GPOS table lacks kerning info for the following non-ligated sequences:

- f + b

- f + f

- f + h

- f + i

- f + j

- f + k

- f + l

- f + t

- l + l

- t + t

- t + z
[code: lacks-kern-info]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

This font file does not have a 'meta' table.

[code: lacks-meta-table]
⚠️ WARN Checking OS/2 achVendID.
* ⚠️ **WARN**

OS/2 VendorID value 'NONE' 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]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/lifesavers

[code: family-path]
ℹ️ INFO Font contains all required tables?
* ℹ️ **INFO**

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp
[code: optional-tables]
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
* ℹ️ **INFO**

This font doesn't have an ARTICLE.en_us.html file.

[code: missing-article]
ℹ️ INFO EPAR table present in font?
* ℹ️ **INFO**

EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818

[code: lacks-EPAR]
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* ℹ️ **INFO**

These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/lifesavers/LifeSavers-Regular.ttf
Dehinted Size 133.6kb
Hinted Size 212.7kb
Increase 79.1kb
Change 59.2 %
[code: size-impact]
[20] LifeSavers-ExtraBold.ttf
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Shaper didn't attach acutecomb to uni0237
^ Shaper didn't attach acutecomb to J
[code: failed-language-shaping]
🔥 FAIL Does DESCRIPTION file contain a upstream Git repo URL?
* 🔥 **FAIL**

Please host your font project on a public Git repo (such as GitHub or GitLab) and place a link in the DESCRIPTION.en_us.html file.

[code: lacks-git-url]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron
* ⚠️ **WARN**

Lcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

dcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

lcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

tcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline]
⚠️ WARN Check if each glyph has the recommended amount of contours.
* ⚠️ **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: Ccaron Contours detected: 1    Expected: 2

- Glyph name: Scaron    Contours detected: 1    Expected: 2

- Glyph name: uni1E9E   Contours detected: 2    Expected: 1

- Glyph name: Ccaron    Contours detected: 1    Expected: 2

- Glyph name: Scaron    Contours detected: 1    Expected: 2

- Glyph name: uni1E9E   Contours detected: 2    Expected: 1
[code: contour-count]
⚠️ WARN Check math signs have the same width.
* ⚠️ **WARN**

The most common width is 299 among a set of 2 math glyphs. The following math glyphs have a different width, though:

Width = 393: plus

Width = 394: equal

Width = 401: logicalnot

Width = 477: plusminus

Width = 370: multiply

Width = 382: divide

Width = 436: minus

[code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs
* ⚠️ **WARN**

The following glyphs could not be reached by codepoint or substitution rules:

- uni030C.alt
[code: unreachable-glyphs]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* AE (U+00C6): B<<83.5,61.5>-<99.0,63.0>-<98.0,63.0>>/B<<98.0,63.0>-<120.0,65.0>-<132.0,74.0>> = 5.1944289077348

* AEacute (U+01FC): B<<83.5,61.5>-<99.0,63.0>-<98.0,63.0>>/B<<98.0,63.0>-<120.0,65.0>-<132.0,74.0>> = 5.1944289077348

* OE (U+0152): B<<579.0,716.0>-<591.0,688.0>-<593.0,669.0>>/B<<593.0,669.0>-<593.0,693.0>-<593.0,702.0>> = 6.009005957494474

* eth (U+00F0): B<<364.0,456.0>-<410.0,444.0>-<445.0,413.0>>/B<<445.0,413.0>-<441.0,417.0>-<433.0,438.0>> = 3.468229258917096

* nine.dnom: B<<145.5,108.5>-<173.0,148.0>-<176.0,180.0>>/B<<176.0,180.0>-<175.0,176.0>-<168.0,165.0>> = 8.680418425071275

* nine.numr: B<<145.5,615.5>-<173.0,655.0>-<176.0,687.0>>/B<<176.0,687.0>-<175.0,683.0>-<168.0,672.0>> = 8.680418425071275

* ogonek (U+02DB): L<<77.0,13.0>--<137.0,13.0>>/B<<137.0,13.0>-<119.0,9.0>-<106.0,-6.5>> = 12.528807709151492

* oneeighth (U+215B): B<<64.0,815.0>-<75.0,821.0>-<86.0,823.0>>/B<<86.0,823.0>-<83.0,823.0>-<111.0,825.0>> = 10.304846468766044

* s.salt: B<<320.5,420.0>-<336.0,402.0>-<340.0,388.0>>/B<<340.0,388.0>-<339.0,401.0>-<338.5,411.0>> = 11.546690545927312

* three (U+0033): B<<270.0,455.5>-<223.0,431.0>-<198.0,423.0>>/B<<198.0,423.0>-<225.0,431.0>-<246.5,433.5>> = 1.2403102433016606

* 11 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
* ⚠️ **WARN**

The following glyphs have semi-vertical/semi-horizontal lines:

* I (U+0049): L<<236.0,719.0>--<234.0,65.0>>

* IJ (U+0132): L<<236.0,719.0>--<234.0,65.0>>

* Iacute (U+00CD): L<<236.0,719.0>--<234.0,65.0>>

* Ibreve (U+012C): L<<236.0,719.0>--<234.0,65.0>>

* Icircumflex (U+00CE): L<<236.0,719.0>--<234.0,65.0>>

* Idieresis (U+00CF): L<<236.0,719.0>--<234.0,65.0>>

* Idotaccent (U+0130): L<<236.0,719.0>--<234.0,65.0>>

* Igrave (U+00CC): L<<236.0,719.0>--<234.0,65.0>>

* Imacron (U+012A): L<<236.0,719.0>--<234.0,65.0>>

* Itilde (U+0128): L<<236.0,719.0>--<234.0,65.0>>
[code: found-semi-vertical]
⚠️ WARN Ensure dotted circle glyph is present and can attach marks.
* ⚠️ **WARN**

No dotted circle glyph present

[code: missing-dotted-circle]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
* ⚠️ **WARN**

The dot of soft dotted characters used in orthographies must disappear in the following strings: į̀ į́ į̂ į̃ į̄ į̌

The dot of soft dotted characters should disappear in other cases, for example: į̆ į̇ į̈ į̊ į̋ į̦̀ į̦́ į̦̂ į̦̃ į̦̄ į̦̆ į̦̇ į̦̈ į̦̊ į̦̋ į̦̌ į̧̀ į̧́ į̧̂ į̧̃

Your font fully covers the following languages that require the soft-dotted feature: Lithuanian (Latn, 2,357,094 speakers).

Your font does not cover the following languages that require the soft-dotted feature: Ukrainian (Cyrl, 29,273,587 speakers), Mfumte (Latn, 79,000 speakers), Koonzime (Latn, 40,000 speakers), Southern Kisi (Latn, 360,000 speakers), Lugbara (Latn, 2,200,000 speakers), Basaa (Latn, 332,940 speakers), Makaa (Latn, 221,000 speakers), Belarusian (Cyrl, 10,064,517 speakers), Avokaya (Latn, 100,000 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Navajo (Latn, 166,319 speakers), Nateni (Latn, 100,000 speakers), Igbo (Latn, 27,823,640 speakers), Ma’di (Latn, 584,000 speakers), Aghem (Latn, 38,843 speakers), Bete-Bendi (Latn, 100,000 speakers), Cicipu (Latn, 44,000 speakers), Yala (Latn, 200,000 speakers), Ebira (Latn, 2,200,000 speakers), Mango (Latn, 77,000 speakers), Ejagham (Latn, 120,000 speakers), South Central Banda (Latn, 244,000 speakers), Dii (Latn, 71,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Mundani (Latn, 34,000 speakers), Dutch (Latn, 31,709,104 speakers), Sar (Latn, 500,000 speakers), Zapotec (Latn, 490,000 speakers), Dan (Latn, 1,099,244 speakers), Ekpeye (Latn, 226,000 speakers), Nzakara (Latn, 50,000 speakers), Gulay (Latn, 250,478 speakers), Bafut (Latn, 158,146 speakers), Fur (Latn, 1,230,163 speakers), Kom (Latn, 360,685 speakers), Ngbaka (Latn, 1,020,000 speakers), Vute (Latn, 21,000 speakers).

[code: soft-dotted]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
* ⚠️ **WARN**

The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.

  • U+02C7 CARON: try adding one of: yi, tifinagh, canadian-aboriginal
  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal
  • U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: coptic, tifinagh, cherokee, math
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: math, canadian-aboriginal, tai-le, malayalam, coptic, syriac, old-permic, tifinagh
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage 32 more.

Use -F or --full-lists to disable shortening of long lists.

Or you can add the above codepoints to one of the subsets supported by the font: latin, latin-ext, menu

[code: unreachable-subsetting]
⚠️ WARN Is there kerning info for non-ligated sequences?
* ⚠️ **WARN**

GPOS table lacks kerning info for the following non-ligated sequences:

- f + b

- f + f

- f + h

- f + i

- f + j

- f + k

- f + l

- f + t

- l + l

- t + t

- t + z
[code: lacks-kern-info]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

This font file does not have a 'meta' table.

[code: lacks-meta-table]
⚠️ WARN Checking OS/2 achVendID.
* ⚠️ **WARN**

OS/2 VendorID value 'NONE' 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]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/lifesavers

[code: family-path]
ℹ️ INFO Font contains all required tables?
* ℹ️ **INFO**

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp
[code: optional-tables]
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
* ℹ️ **INFO**

This font doesn't have an ARTICLE.en_us.html file.

[code: missing-article]
ℹ️ INFO EPAR table present in font?
* ℹ️ **INFO**

EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818

[code: lacks-EPAR]
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* ℹ️ **INFO**

These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/lifesavers/LifeSavers-ExtraBold.ttf
Dehinted Size 132.3kb
Hinted Size 223.5kb
Increase 91.2kb
Change 68.9 %
[code: size-impact]
[1] Family checks
ℹ️ INFO Check axis ordering on the STAT table.
* ℹ️ **INFO**

All of the fonts lack a STAT table.

[code: summary]

Summary

💥 ERROR ☠ FATAL 🔥 FAIL ⚠️ WARN ⏩ SKIP ℹ️ INFO ✅ PASS 🔎 DEBUG
0 0 6 39 179 22 462 0
0% 0% 1% 6% 25% 3% 65% 0%

Note: The following loglevels were omitted in this report:

github-actions[bot] commented 2 weeks ago

FontBakery report

fontbakery version: 0.12.7

Experimental checks

These won't break the CI job for now, but will become effective after some time if nobody raises any concern.

[2] LifeSavers-Bold.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Family metadata at ofl/lifesavers does not have an article.

[code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]
[2] LifeSavers-Regular.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Family metadata at ofl/lifesavers does not have an article.

[code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]
[2] LifeSavers-ExtraBold.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Family metadata at ofl/lifesavers does not have an article.

[code: lacks-article]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]

All other checks

[20] LifeSavers-Bold.ttf
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Shaper didn't attach acutecomb to uni0237
^ Shaper didn't attach acutecomb to J
[code: failed-language-shaping]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron
* ⚠️ **WARN**

Lcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

dcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

lcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

tcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline]
⚠️ WARN Check if each glyph has the recommended amount of contours.
* ⚠️ **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: E  Contours detected: 2    Expected: 1

- Glyph name: Egrave    Contours detected: 3    Expected: 2

- Glyph name: Eacute    Contours detected: 3    Expected: 2

- Glyph name: Ecircumflex   Contours detected: 3    Expected: 2

- Glyph name: Edieresis Contours detected: 4    Expected: 3

- Glyph name: Emacron   Contours detected: 3    Expected: 2

- Glyph name: Ebreve    Contours detected: 3    Expected: 2

- Glyph name: Edotaccent    Contours detected: 3    Expected: 2

- Glyph name: Ecaron    Contours detected: 3    Expected: 2

- Glyph name: iogonek   Contours detected: 1    Expected: 2 or 3

- 14 more.

Use -F or --full-lists to disable shortening of long lists.

[code: contour-count]
⚠️ WARN Check math signs have the same width.
* ⚠️ **WARN**

The most common width is 285 among a set of 2 math glyphs. The following math glyphs have a different width, though:

Width = 380: plus

Width = 385: divide, equal

Width = 390: logicalnot

Width = 441: plusminus

Width = 371: multiply

Width = 420: minus

[code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs
* ⚠️ **WARN**

The following glyphs could not be reached by codepoint or substitution rules:

- uni030C.alt
[code: unreachable-glyphs]
⚠️ WARN Do any segments have colinear vectors?
* ⚠️ **WARN**

The following glyphs have colinear vectors:

* f_f: L<<156.0,473.0>--<234.0,473.0>> -> L<<234.0,473.0>--<237.0,473.0>>

* f_f_j: L<<245.0,478.0>--<250.0,478.0>> -> L<<250.0,478.0>--<294.0,478.0>>

* f_f_j: L<<246.0,420.0>--<241.0,420.0>> -> L<<241.0,420.0>--<165.0,420.0>>

* f_f_k: L<<244.0,420.0>--<241.0,420.0>> -> L<<241.0,420.0>--<165.0,420.0>>

* f_f_k: L<<245.0,420.0>--<244.0,420.0>> -> L<<244.0,420.0>--<241.0,420.0>>

* f_f_k: L<<245.0,478.0>--<248.0,478.0>> -> L<<248.0,478.0>--<292.0,478.0>>

* f_f_k: L<<292.0,420.0>--<245.0,420.0>> -> L<<245.0,420.0>--<244.0,420.0>>

* f_f_l: L<<156.0,473.0>--<234.0,473.0>> -> L<<234.0,473.0>--<236.0,473.0>>

* f_f_l: L<<234.0,473.0>--<236.0,473.0>> -> L<<236.0,473.0>--<237.0,473.0>>

* f_f_l: L<<236.0,473.0>--<237.0,473.0>> -> L<<237.0,473.0>--<280.0,473.0>>

* lslash (U+0142): L<<106.0,408.0>--<106.0,413.0>> -> L<<106.0,413.0>--<106.0,613.0>>
[code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* A (U+0041): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* AE (U+00C6): B<<73.0,49.5>-<89.0,51.0>-<88.0,51.0>>/B<<88.0,51.0>-<110.0,53.0>-<122.0,62.0>> = 5.1944289077348

* AEacute (U+01FC): B<<73.0,49.5>-<89.0,51.0>-<88.0,51.0>>/B<<88.0,51.0>-<110.0,53.0>-<122.0,62.0>> = 5.1944289077348

* Aacute (U+00C1): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* Abreve (U+0102): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* Acircumflex (U+00C2): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* Adieresis (U+00C4): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* Agrave (U+00C0): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* Amacron (U+0100): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* Aogonek (U+0104): B<<47.5,49.5>-<60.0,51.0>-<59.0,51.0>>/B<<59.0,51.0>-<80.0,53.0>-<91.0,62.0>> = 5.4403320310054815

* 28 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-jaggy-segments]
⚠️ WARN Ensure dotted circle glyph is present and can attach marks.
* ⚠️ **WARN**

No dotted circle glyph present

[code: missing-dotted-circle]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
* ⚠️ **WARN**

The dot of soft dotted characters used in orthographies must disappear in the following strings: į̀ į́ į̂ į̃ į̄ į̌

The dot of soft dotted characters should disappear in other cases, for example: į̆ į̇ į̈ į̊ į̋ į̦̀ į̦́ į̦̂ į̦̃ į̦̄ į̦̆ į̦̇ į̦̈ į̦̊ į̦̋ į̦̌ į̧̀ į̧́ į̧̂ į̧̃

Your font fully covers the following languages that require the soft-dotted feature: Lithuanian (Latn, 2,357,094 speakers).

Your font does not cover the following languages that require the soft-dotted feature: Kom (Latn, 360,685 speakers), Dan (Latn, 1,099,244 speakers), Igbo (Latn, 27,823,640 speakers), Aghem (Latn, 38,843 speakers), Mundani (Latn, 34,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Mfumte (Latn, 79,000 speakers), Yala (Latn, 200,000 speakers), South Central Banda (Latn, 244,000 speakers), Zapotec (Latn, 490,000 speakers), Lugbara (Latn, 2,200,000 speakers), Bete-Bendi (Latn, 100,000 speakers), Ngbaka (Latn, 1,020,000 speakers), Navajo (Latn, 166,319 speakers), Bafut (Latn, 158,146 speakers), Dutch (Latn, 31,709,104 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Belarusian (Cyrl, 10,064,517 speakers), Basaa (Latn, 332,940 speakers), Cicipu (Latn, 44,000 speakers), Sar (Latn, 500,000 speakers), Koonzime (Latn, 40,000 speakers), Makaa (Latn, 221,000 speakers), Mango (Latn, 77,000 speakers), Ejagham (Latn, 120,000 speakers), Southern Kisi (Latn, 360,000 speakers), Nateni (Latn, 100,000 speakers), Gulay (Latn, 250,478 speakers), Avokaya (Latn, 100,000 speakers), Ekpeye (Latn, 226,000 speakers), Vute (Latn, 21,000 speakers), Nzakara (Latn, 50,000 speakers), Ma’di (Latn, 584,000 speakers), Fur (Latn, 1,230,163 speakers), Ebira (Latn, 2,200,000 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Dii (Latn, 71,000 speakers).

[code: soft-dotted]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
* ⚠️ **WARN**

The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.

  • U+02C7 CARON: try adding one of: tifinagh, yi, canadian-aboriginal
  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal
  • U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: coptic, tifinagh, math, cherokee
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: tai-le, tifinagh, syriac, old-permic, math, canadian-aboriginal, coptic, malayalam
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee 32 more.

Use -F or --full-lists to disable shortening of long lists.

Or you can add the above codepoints to one of the subsets supported by the font: latin, latin-ext, menu

[code: unreachable-subsetting]
⚠️ WARN Is there kerning info for non-ligated sequences?
* ⚠️ **WARN**

GPOS table lacks kerning info for the following non-ligated sequences:

- f + b

- f + f

- f + h

- f + i

- f + j

- f + k

- f + l

- f + t

- l + l

- t + t

- t + z
[code: lacks-kern-info]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

This font file does not have a 'meta' table.

[code: lacks-meta-table]
⚠️ WARN Checking OS/2 achVendID.
* ⚠️ **WARN**

OS/2 VendorID value 'NONE' 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]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/lifesavers

[code: family-path]
ℹ️ INFO Font contains all required tables?
* ℹ️ **INFO**

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp
[code: optional-tables]
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
* ℹ️ **INFO**

Found a git repo URL: https://github.com/googlefonts/life-savers

[code: url-found]
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
* ℹ️ **INFO**

This font doesn't have an ARTICLE.en_us.html file.

[code: missing-article]
ℹ️ INFO EPAR table present in font?
* ℹ️ **INFO**

EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818

[code: lacks-EPAR]
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* ℹ️ **INFO**

These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/lifesavers/LifeSavers-Bold.ttf
Dehinted Size 133.6kb
Hinted Size 217.3kb
Increase 83.7kb
Change 62.7 %
[code: size-impact]
[20] LifeSavers-Regular.ttf
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Shaper didn't attach acutecomb to uni0237
^ Shaper didn't attach acutecomb to J
[code: failed-language-shaping]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron
* ⚠️ **WARN**

Lcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

dcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

lcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

tcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline]
⚠️ WARN Check if each glyph has the recommended amount of contours.
* ⚠️ **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: iogonek    Contours detected: 1    Expected: 2 or 3

- Glyph name: uni1E9E   Contours detected: 2    Expected: 1

- Glyph name: iogonek   Contours detected: 1    Expected: 2 or 3

- Glyph name: uni1E9E   Contours detected: 2    Expected: 1
[code: contour-count]
⚠️ WARN Check math signs have the same width.
* ⚠️ **WARN**

The most common width is 265 among a set of 2 math glyphs. The following math glyphs have a different width, though:

Width = 362: plus

Width = 372: multiply, equal

Width = 375: logicalnot

Width = 390: plusminus

Width = 389: divide

Width = 397: minus

[code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs
* ⚠️ **WARN**

The following glyphs could not be reached by codepoint or substitution rules:

- uni030C.alt
[code: unreachable-glyphs]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* A (U+0041): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* AE (U+00C6): B<<60.0,29.5>-<75.0,31.0>-<74.0,31.0>>/B<<74.0,31.0>-<96.0,33.0>-<108.0,42.0>> = 5.1944289077348

* AEacute (U+01FC): B<<60.0,29.5>-<75.0,31.0>-<74.0,31.0>>/B<<74.0,31.0>-<96.0,33.0>-<108.0,42.0>> = 5.1944289077348

* Aacute (U+00C1): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* Abreve (U+0102): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* Acircumflex (U+00C2): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* Adieresis (U+00C4): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* Agrave (U+00C0): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* Amacron (U+0100): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* Aogonek (U+0104): B<<47.0,29.5>-<62.0,31.0>-<61.0,31.0>>/B<<61.0,31.0>-<83.0,33.0>-<93.0,42.0>> = 5.1944289077348

* 15 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
* ⚠️ **WARN**

The following glyphs have semi-vertical/semi-horizontal lines:

* c_t: L<<522.0,165.0>--<524.0,424.0>>
[code: found-semi-vertical]
⚠️ WARN Ensure dotted circle glyph is present and can attach marks.
* ⚠️ **WARN**

No dotted circle glyph present

[code: missing-dotted-circle]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
* ⚠️ **WARN**

The dot of soft dotted characters used in orthographies must disappear in the following strings: į̀ į́ į̂ į̃ į̄ į̌

The dot of soft dotted characters should disappear in other cases, for example: į̆ į̇ į̈ į̊ į̋ į̦̀ į̦́ į̦̂ į̦̃ į̦̄ į̦̆ į̦̇ į̦̈ į̦̊ į̦̋ į̦̌ į̧̀ į̧́ į̧̂ į̧̃

Your font fully covers the following languages that require the soft-dotted feature: Lithuanian (Latn, 2,357,094 speakers).

Your font does not cover the following languages that require the soft-dotted feature: Kom (Latn, 360,685 speakers), Dan (Latn, 1,099,244 speakers), Igbo (Latn, 27,823,640 speakers), Aghem (Latn, 38,843 speakers), Mundani (Latn, 34,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Mfumte (Latn, 79,000 speakers), Yala (Latn, 200,000 speakers), South Central Banda (Latn, 244,000 speakers), Zapotec (Latn, 490,000 speakers), Lugbara (Latn, 2,200,000 speakers), Bete-Bendi (Latn, 100,000 speakers), Ngbaka (Latn, 1,020,000 speakers), Navajo (Latn, 166,319 speakers), Bafut (Latn, 158,146 speakers), Dutch (Latn, 31,709,104 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Belarusian (Cyrl, 10,064,517 speakers), Basaa (Latn, 332,940 speakers), Cicipu (Latn, 44,000 speakers), Sar (Latn, 500,000 speakers), Koonzime (Latn, 40,000 speakers), Makaa (Latn, 221,000 speakers), Mango (Latn, 77,000 speakers), Ejagham (Latn, 120,000 speakers), Southern Kisi (Latn, 360,000 speakers), Nateni (Latn, 100,000 speakers), Gulay (Latn, 250,478 speakers), Avokaya (Latn, 100,000 speakers), Ekpeye (Latn, 226,000 speakers), Vute (Latn, 21,000 speakers), Nzakara (Latn, 50,000 speakers), Ma’di (Latn, 584,000 speakers), Fur (Latn, 1,230,163 speakers), Ebira (Latn, 2,200,000 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Dii (Latn, 71,000 speakers).

[code: soft-dotted]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
* ⚠️ **WARN**

The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.

  • U+02C7 CARON: try adding one of: tifinagh, yi, canadian-aboriginal
  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal
  • U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: coptic, tifinagh, math, cherokee
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: tai-le, tifinagh, syriac, old-permic, math, canadian-aboriginal, coptic, malayalam
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee 32 more.

Use -F or --full-lists to disable shortening of long lists.

Or you can add the above codepoints to one of the subsets supported by the font: latin, latin-ext, menu

[code: unreachable-subsetting]
⚠️ WARN Is there kerning info for non-ligated sequences?
* ⚠️ **WARN**

GPOS table lacks kerning info for the following non-ligated sequences:

- f + b

- f + f

- f + h

- f + i

- f + j

- f + k

- f + l

- f + t

- l + l

- t + t

- t + z
[code: lacks-kern-info]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

This font file does not have a 'meta' table.

[code: lacks-meta-table]
⚠️ WARN Checking OS/2 achVendID.
* ⚠️ **WARN**

OS/2 VendorID value 'NONE' 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]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/lifesavers

[code: family-path]
ℹ️ INFO Font contains all required tables?
* ℹ️ **INFO**

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp
[code: optional-tables]
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
* ℹ️ **INFO**

Found a git repo URL: https://github.com/googlefonts/life-savers

[code: url-found]
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
* ℹ️ **INFO**

This font doesn't have an ARTICLE.en_us.html file.

[code: missing-article]
ℹ️ INFO EPAR table present in font?
* ℹ️ **INFO**

EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818

[code: lacks-EPAR]
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* ℹ️ **INFO**

These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/lifesavers/LifeSavers-Regular.ttf
Dehinted Size 133.6kb
Hinted Size 212.7kb
Increase 79.1kb
Change 59.2 %
[code: size-impact]
[20] LifeSavers-ExtraBold.ttf
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

GF_Latin_Core glyphset:

Language FAIL messages
nl_Latn (Dutch) Shaper didn't attach acutecomb to uni0237
^ Shaper didn't attach acutecomb to J
[code: failed-language-shaping]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron
* ⚠️ **WARN**

Lcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

dcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

lcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline] * ⚠️ **WARN**

tcaron is decomposed and therefore could not be checked. Please check manually.

[code: decomposed-outline]
⚠️ WARN Check if each glyph has the recommended amount of contours.
* ⚠️ **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: Ccaron Contours detected: 1    Expected: 2

- Glyph name: Scaron    Contours detected: 1    Expected: 2

- Glyph name: uni1E9E   Contours detected: 2    Expected: 1

- Glyph name: Ccaron    Contours detected: 1    Expected: 2

- Glyph name: Scaron    Contours detected: 1    Expected: 2

- Glyph name: uni1E9E   Contours detected: 2    Expected: 1
[code: contour-count]
⚠️ WARN Check math signs have the same width.
* ⚠️ **WARN**

The most common width is 299 among a set of 2 math glyphs. The following math glyphs have a different width, though:

Width = 393: plus

Width = 394: equal

Width = 401: logicalnot

Width = 477: plusminus

Width = 370: multiply

Width = 382: divide

Width = 436: minus

[code: width-outliers]
⚠️ WARN Check font contains no unreachable glyphs
* ⚠️ **WARN**

The following glyphs could not be reached by codepoint or substitution rules:

- uni030C.alt
[code: unreachable-glyphs]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* AE (U+00C6): B<<83.5,61.5>-<99.0,63.0>-<98.0,63.0>>/B<<98.0,63.0>-<120.0,65.0>-<132.0,74.0>> = 5.1944289077348

* AEacute (U+01FC): B<<83.5,61.5>-<99.0,63.0>-<98.0,63.0>>/B<<98.0,63.0>-<120.0,65.0>-<132.0,74.0>> = 5.1944289077348

* OE (U+0152): B<<579.0,716.0>-<591.0,688.0>-<593.0,669.0>>/B<<593.0,669.0>-<593.0,693.0>-<593.0,702.0>> = 6.009005957494474

* eth (U+00F0): B<<364.0,456.0>-<410.0,444.0>-<445.0,413.0>>/B<<445.0,413.0>-<441.0,417.0>-<433.0,438.0>> = 3.468229258917096

* nine.dnom: B<<145.5,108.5>-<173.0,148.0>-<176.0,180.0>>/B<<176.0,180.0>-<175.0,176.0>-<168.0,165.0>> = 8.680418425071275

* nine.numr: B<<145.5,615.5>-<173.0,655.0>-<176.0,687.0>>/B<<176.0,687.0>-<175.0,683.0>-<168.0,672.0>> = 8.680418425071275

* ogonek (U+02DB): L<<77.0,13.0>--<137.0,13.0>>/B<<137.0,13.0>-<119.0,9.0>-<106.0,-6.5>> = 12.528807709151492

* oneeighth (U+215B): B<<64.0,815.0>-<75.0,821.0>-<86.0,823.0>>/B<<86.0,823.0>-<83.0,823.0>-<111.0,825.0>> = 10.304846468766044

* s.salt: B<<320.5,420.0>-<336.0,402.0>-<340.0,388.0>>/B<<340.0,388.0>-<339.0,401.0>-<338.5,411.0>> = 11.546690545927312

* three (U+0033): B<<270.0,455.5>-<223.0,431.0>-<198.0,423.0>>/B<<198.0,423.0>-<225.0,431.0>-<246.5,433.5>> = 1.2403102433016606

* 11 more.

Use -F or --full-lists to disable shortening of long lists.

[code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines?
* ⚠️ **WARN**

The following glyphs have semi-vertical/semi-horizontal lines:

* I (U+0049): L<<236.0,719.0>--<234.0,65.0>>

* IJ (U+0132): L<<236.0,719.0>--<234.0,65.0>>

* Iacute (U+00CD): L<<236.0,719.0>--<234.0,65.0>>

* Ibreve (U+012C): L<<236.0,719.0>--<234.0,65.0>>

* Icircumflex (U+00CE): L<<236.0,719.0>--<234.0,65.0>>

* Idieresis (U+00CF): L<<236.0,719.0>--<234.0,65.0>>

* Idotaccent (U+0130): L<<236.0,719.0>--<234.0,65.0>>

* Igrave (U+00CC): L<<236.0,719.0>--<234.0,65.0>>

* Imacron (U+012A): L<<236.0,719.0>--<234.0,65.0>>

* Itilde (U+0128): L<<236.0,719.0>--<234.0,65.0>>
[code: found-semi-vertical]
⚠️ WARN Ensure dotted circle glyph is present and can attach marks.
* ⚠️ **WARN**

No dotted circle glyph present

[code: missing-dotted-circle]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
* ⚠️ **WARN**

The dot of soft dotted characters used in orthographies must disappear in the following strings: į̀ į́ į̂ į̃ į̄ į̌

The dot of soft dotted characters should disappear in other cases, for example: į̆ į̇ į̈ į̊ į̋ į̦̀ į̦́ į̦̂ į̦̃ į̦̄ į̦̆ į̦̇ į̦̈ į̦̊ į̦̋ į̦̌ į̧̀ į̧́ į̧̂ į̧̃

Your font fully covers the following languages that require the soft-dotted feature: Lithuanian (Latn, 2,357,094 speakers).

Your font does not cover the following languages that require the soft-dotted feature: Kom (Latn, 360,685 speakers), Dan (Latn, 1,099,244 speakers), Igbo (Latn, 27,823,640 speakers), Aghem (Latn, 38,843 speakers), Mundani (Latn, 34,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Mfumte (Latn, 79,000 speakers), Yala (Latn, 200,000 speakers), South Central Banda (Latn, 244,000 speakers), Zapotec (Latn, 490,000 speakers), Lugbara (Latn, 2,200,000 speakers), Bete-Bendi (Latn, 100,000 speakers), Ngbaka (Latn, 1,020,000 speakers), Navajo (Latn, 166,319 speakers), Bafut (Latn, 158,146 speakers), Dutch (Latn, 31,709,104 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Belarusian (Cyrl, 10,064,517 speakers), Basaa (Latn, 332,940 speakers), Cicipu (Latn, 44,000 speakers), Sar (Latn, 500,000 speakers), Koonzime (Latn, 40,000 speakers), Makaa (Latn, 221,000 speakers), Mango (Latn, 77,000 speakers), Ejagham (Latn, 120,000 speakers), Southern Kisi (Latn, 360,000 speakers), Nateni (Latn, 100,000 speakers), Gulay (Latn, 250,478 speakers), Avokaya (Latn, 100,000 speakers), Ekpeye (Latn, 226,000 speakers), Vute (Latn, 21,000 speakers), Nzakara (Latn, 50,000 speakers), Ma’di (Latn, 584,000 speakers), Fur (Latn, 1,230,163 speakers), Ebira (Latn, 2,200,000 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Dii (Latn, 71,000 speakers).

[code: soft-dotted]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
* ⚠️ **WARN**

The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.

  • U+02C7 CARON: try adding one of: tifinagh, yi, canadian-aboriginal
  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal
  • U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: coptic, tifinagh, math, cherokee
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: tai-le, tifinagh, syriac, old-permic, math, canadian-aboriginal, coptic, malayalam
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee 32 more.

Use -F or --full-lists to disable shortening of long lists.

Or you can add the above codepoints to one of the subsets supported by the font: latin, latin-ext, menu

[code: unreachable-subsetting]
⚠️ WARN Is there kerning info for non-ligated sequences?
* ⚠️ **WARN**

GPOS table lacks kerning info for the following non-ligated sequences:

- f + b

- f + f

- f + h

- f + i

- f + j

- f + k

- f + l

- f + t

- l + l

- t + t

- t + z
[code: lacks-kern-info]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

This font file does not have a 'meta' table.

[code: lacks-meta-table]
⚠️ WARN Checking OS/2 achVendID.
* ⚠️ **WARN**

OS/2 VendorID value 'NONE' 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]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/lifesavers

[code: family-path]
ℹ️ INFO Font contains all required tables?
* ℹ️ **INFO**

This font contains the following optional tables:

- cvt 

- fpgm

- loca

- prep

- GPOS

- GSUB

- gasp
[code: optional-tables]
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL?
* ℹ️ **INFO**

Found a git repo URL: https://github.com/googlefonts/life-savers

[code: url-found]
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file
* ℹ️ **INFO**

This font doesn't have an ARTICLE.en_us.html file.

[code: missing-article]
ℹ️ INFO EPAR table present in font?
* ℹ️ **INFO**

EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818

[code: lacks-EPAR]
ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* ℹ️ **INFO**

These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Show hinting filesize impact.
* ℹ️ **INFO**

Hinting filesize impact:

ofl/lifesavers/LifeSavers-ExtraBold.ttf
Dehinted Size 132.3kb
Hinted Size 223.5kb
Increase 91.2kb
Change 68.9 %
[code: size-impact]
[1] Family checks
ℹ️ INFO Check axis ordering on the STAT table.
* ℹ️ **INFO**

All of the fonts lack a STAT table.

[code: summary]

Summary

💥 ERROR ☠ FATAL 🔥 FAIL ⚠️ WARN ⏩ SKIP ℹ️ INFO ✅ PASS 🔎 DEBUG
0 0 3 39 179 25 462 0
0% 0% 0% 6% 25% 4% 65% 0%

Note: The following loglevels were omitted in this report: