google / fonts

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

Noto Sans Math: Version 3.000; ttfautohint (v1.8.4.7-5d5b) added #7819

Closed simoncozens closed 1 week ago

simoncozens commented 4 weeks ago

Taken from the upstream repo https://www.github.com/notofonts/math at commit https://www.github.com/notofonts/math/commit/00e9941d95b2a355399a66f3990ffde6e4985676.

PR Checklist:

simoncozens commented 4 weeks ago

Redesign by Khaled, more "sans"y.

github-actions[bot] commented 4 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] NotoSansMath-Regular.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Article page lacks visual assets.

[code: missing-visual-asset]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]

All other checks

[21] NotoSansMath-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs.
* 🔥 **FAIL**

The following glyphs lack their case-swapping counterparts:

Glyph present in the font Missing case-swapping counterpart
U+0190: LATIN CAPITAL LETTER OPEN E U+025B: LATIN SMALL LETTER OPEN E
U+01B5: LATIN CAPITAL LETTER Z WITH STROKE U+01B6: LATIN SMALL LETTER Z WITH STROKE
U+2132: TURNED CAPITAL F U+214E: TURNED SMALL F
[code: missing-case-counterparts]
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field.
* 🔥 **FAIL**

Repository URL is https://www.github.com/notofonts/math

But: OFL text has 'https://github.com/notofonts/math'

[code: mismatch]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

No GF glyphset was found to be supported >80%, so language shaping support couldn't get checked.

[code: no-glyphset-supported]
🔥 FAIL Does DESCRIPTION file contain broken links?
* 🔥 **FAIL**

The following links are broken in the farticle file: https://scriptsource.org/scr/Zmth (status code: 403)

[code: broken-links]
🔥 FAIL Check Google Fonts glyph coverage.
* 🔥 **FAIL**

Missing required codepoints:

- 0x00A1 (INVERTED EXCLAMATION MARK)

- 0x00A8 (DIAERESIS)

- 0x00AA (FEMININE ORDINAL INDICATOR)

- 0x00AB (LEFT-POINTING DOUBLE ANGLE QUOTATION MARK)

- 0x00AF (MACRON)

- 0x00B4 (ACUTE ACCENT)

- 0x00BA (MASCULINE ORDINAL INDICATOR)

- 0x00BB (RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK)

- 0x00BF (INVERTED QUESTION MARK)

- 0x00C0 (LATIN CAPITAL LETTER A WITH GRAVE)

- 167 more.

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

[code: missing-codepoints]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
* ⚠️ **WARN**

The following mark characters could be in the GDEF mark glyph class: uni031A (U+031A), uni20DD (U+20DD), uni20DE (U+20DE), uni20DF (U+20DF) and uni20E4 (U+20E4)

[code: mark-chars]
⚠️ 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: uni210A    Contours detected: 3    Expected: 2

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

- Glyph name: uni2119   Contours detected: 4    Expected: 2

- Glyph name: uni211A   Contours detected: 5    Expected: 3

- Glyph name: uni211D   Contours detected: 5    Expected: 3

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

- Glyph name: uni21B9   Contours detected: 2    Expected: 4

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

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

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

- 32 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 572 among a set of 169 math glyphs. The following math glyphs have a different width, though:

Width = 699: uni22F9, uni22F8, uni27C4, uni22F5, notelement, uni22D1, uni22F3, reflexsuperset, propersuperset, uni297E, propersubset, uni297F, element, uni2AC7, uni27C3, uni2289, uni2288, reflexsubset, uni220C, uni22D0, uni228A, notsubset, uni2AC8, uni2ABD, uni22FD, uni2285, uni2ABE, uni22F6, uni22FB, uni228B, suchthat

Width = 540: proportional

Width = 652: uni299B, uni22BE, uni299F, uni2221, uni29AB, uni29A9, uni27D4, uni29A2, uni27C0, angle, uni27D3, uni29A3, orthogonal, uni299D, uni29A4, uni29A5, uni299C, uni29A8, uni29AA, uni299E

Width = 617: uni2A27, uni2239

Width = 696: uni223E

Width = 667: uni2A33, uni223F

Width = 573: uni2A7B, greaterequal, uni2A88, lessequal, uni2271, uni2AF3, uni2270, approxequal, uni2A7C

Width = 542: uni22DE, uni227A, uni227D, uni2280, uni227C, uni22DF, uni2281, uni22E1, uni22E0, uni227B

Width = 756: uni2AEB, uni2AE0, uni22A4, uni2AE7, uni3012, uni22A5, uni2AEA, uni22A8, uni2AE2, uni2AE8, uni22A2, uni2AE4, uni2ADF, uni22A3, uni2AE9

Width = 567: uni22B0, uni22B1

Width = 532: uni22D7, uni22D6

Width = 775: uni297B, uni2979

Width = 579: uni2994, uni2993

Width = 631: uni2996, uni2995

Width = 624: uni29A1

Width = 689: uni29E4, uni29E3

Width = 744: uni29FA

Width = 916: uni29FB

Width = 745: uni2A68, uni2A69

Width = 669: uni2A79, uni2A7A

Width = 798: uni2AA1, uni2AA2

Width = 760: uni2AA8, uni2AA9, uni2AA7, uni2AA6

Width = 681: uni2AAC, smallerthan, uni2AAB, uni2AAD

Width = 679: uni2AD0, uni2AD4, uni2AC3, uni2ACF, uni2AD5, uni2ACB, uni2ABF, uni2AC9, uni2AC1, uni2AD6, uni2AC0, uni2AD3, uni2AD1, uni2ACA, uni2AC2, uni2AC5, uni2AC6, uni2AC4, uni2ACC, uni2AD2

Width = 754: uni2AE1

Width = 836: uni2AE6

Width = 547: uni2AF4

Width = 735: uni2AF5

Width = 222: uni2AF6

[code: width-outliers]
⚠️ WARN Do any segments have colinear vectors?
* ⚠️ **WARN**

The following glyphs have colinear vectors:

* u1D49C.uv001: L<<600.0,47.0>--<600.0,109.0>> -> L<<600.0,109.0>--<602.0,246.0>>

* u1D604 (U+1D604): L<<425.0,432.0>--<369.0,189.0>> -> L<<369.0,189.0>--<325.0,0.0>>

* u1D612 (U+1D612): L<<207.0,367.0>--<269.0,433.0>> -> L<<269.0,433.0>--<543.0,714.0>>

* u1D612.ssty1: L<<264.0,368.0>--<336.0,459.0>> -> L<<336.0,459.0>--<560.0,714.0>>

* u1D612.ssty2: L<<249.0,369.0>--<325.0,469.0>> -> L<<325.0,469.0>--<530.0,714.0>>

* u1D646 (U+1D646): L<<251.0,369.0>--<327.0,471.0>> -> L<<327.0,471.0>--<529.0,714.0>>

* u1D6EB (U+1D6EB): L<<207.0,367.0>--<269.0,433.0>> -> L<<269.0,433.0>--<543.0,714.0>>

* u1D6EB.ssty1: L<<264.0,368.0>--<336.0,459.0>> -> L<<336.0,459.0>--<560.0,714.0>>

* u1D6EB.ssty2: L<<249.0,369.0>--<325.0,469.0>> -> L<<325.0,469.0>--<530.0,714.0>>

* uni2983 (U+2983): L<<347.0,784.0>--<347.0,784.0>> -> L<<347.0,784.0>--<490.0,784.0>>

* 25 more.

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

[code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* W.ssty1: B<<502.5,519.5>-<497.0,547.0>-<495.0,567.0>>/B<<495.0,567.0>-<492.0,547.0>-<486.5,519.0>> = 14.241358747447757

* W.ssty2: B<<531.5,500.5>-<525.0,532.0>-<523.0,548.0>>/B<<523.0,548.0>-<521.0,530.0>-<514.5,498.5>> = 13.465208094811695

* u1D4A9 (U+1D4A9): B<<638.0,510.5>-<658.0,602.0>-<695.0,666.0>>/B<<695.0,666.0>-<653.0,623.0>-<607.0,551.5>> = 14.292682666020351

* u1D4B6 (U+1D4B6): B<<266.0,51.0>-<266.0,82.0>-<279.0,108.0>>/B<<279.0,108.0>-<200.0,-6.0>-<125.0,-6.0>> = 8.156229018789725

* u1D4B7 (U+1D4B7): B<<113.0,187.0>-<126.0,210.0>-<139.0,236.0>>/B<<139.0,236.0>-<118.0,211.0>-<103.5,197.5>> = 13.465208094811695

* u1D4B7.ssty1: B<<76.5,126.5>-<92.0,161.0>-<130.0,227.0>>/B<<130.0,227.0>-<112.0,207.0>-<98.5,194.0>> = 12.055700655308824

* u1D4B7.ssty2: B<<70.5,125.0>-<86.0,162.0>-<120.0,217.0>>/B<<120.0,217.0>-<106.0,202.0>-<92.5,190.5>> = 11.30146303143393

* u1D4B9 (U+1D4B9): B<<261.0,51.0>-<261.0,82.0>-<274.0,108.0>>/B<<274.0,108.0>-<229.0,50.0>-<192.5,22.0>> = 11.241478767626447

* u1D4BB (U+1D4BB): L<<78.0,105.0>--<153.0,236.0>>/B<<153.0,236.0>-<132.0,214.0>-<116.0,198.5>> = 13.875819336765673

* u1D4BB.ssty1: L<<84.0,109.0>--<160.0,237.0>>/B<<160.0,237.0>-<122.0,196.0>-<88.0,169.0>> = 12.125533334575563

* 120 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:

* male (U+2642): L<<565.0,534.0>--<566.0,365.0>>

* u1D61E.ssty2: L<<229.0,714.0>--<232.0,322.0>>

* u1D638.ssty2: L<<215.0,546.0>--<217.0,302.0>>

* u1D638.ssty2: L<<540.0,546.0>--<541.0,283.0>>

* u1D652 (U+1D652): L<<230.0,714.0>--<233.0,324.0>>

* u1D66C (U+1D66C): L<<198.0,546.0>--<200.0,304.0>>

* u1EEA8 (U+1EEA8): L<<303.0,80.0>--<418.0,79.0>>

* u1EEA8 (U+1EEA8): L<<418.0,59.0>--<265.0,60.0>>

* u1EEBA (U+1EEBA): L<<303.0,80.0>--<418.0,79.0>>

* u1EEBA (U+1EEBA): L<<418.0,59.0>--<285.0,60.0>>

* 20 more.

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

[code: found-semi-vertical]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
* ⚠️ **WARN**

The dot of soft dotted characters should disappear in other cases, for example: i⃐ i⃑ i⃔ i⃕ i⃖ i⃗ i⃛ i⃜ i⃡ i⃧ i⃩ ị⃐ ị⃑ ị⃔ ị⃕ ị⃖ ị⃗ ị⃛ ị⃜ ị⃡

Your font fully covers the following languages that require the soft-dotted feature: Ebira (Latn, 2,200,000 speakers), Igbo (Latn, 27,823,640 speakers), Dutch (Latn, 31,709,104 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Ekpeye (Latn, 226,000 speakers).

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

[code: soft-dotted]
⚠️ WARN METADATA.pb: Check for primary_script
* ⚠️ **WARN**

METADATA.pb: primary_script field should be 'Arab' but is missing.

[code: missing-primary-script]
⚠️ 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+0190 LATIN CAPITAL LETTER OPEN E: try adding latin-ext
  • U+01B5 LATIN CAPITAL LETTER Z WITH STROKE: try adding latin-ext
  • U+0237 LATIN SMALL LETTER DOTLESS J: try adding latin-ext
  • U+02D4 MODIFIER LETTER UP TACK: not included in any glyphset definition
  • U+02D5 MODIFIER LETTER DOWN TACK: not included in any glyphset definition
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
  • U+0310 COMBINING CANDRABINDU: not included in any glyphset definition 450 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: cyrillic, latin, math, menu

[code: unreachable-subsetting]
⚠️ WARN On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
* ⚠️ **WARN**

The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo. Please consider mentioning note-worthy improvements made to the family recently.

[code: description-not-updated]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

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

[code: lacks-meta-table]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/notosansmath

[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 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/notosansmath/NotoSansMath-Regular.ttf
Dehinted Size 662.7kb
Hinted Size 991.9kb
Increase 329.2kb
Change 49.7 %
[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 5 12 64 7 160 0
0% 0% 2% 5% 26% 3% 65% 0%

Note: The following loglevels were omitted in this report:

emmamarichal commented 1 week ago

@simoncozens Just to be sure: is that ok?

Screenshot 2024-06-26 at 16 27 45
simoncozens commented 1 week ago

OK, that's a very interesting failure of ufomerge! It added aring from Noto Sans which is a component glyph, but the components a and ringcomb already exist in Noto Sans Math and were anchored differently.

github-actions[bot] commented 1 week 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] NotoSansMath-Regular.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Article page lacks visual assets.

[code: missing-visual-asset]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]

All other checks

[22] NotoSansMath-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs.
* 🔥 **FAIL**

The following glyphs lack their case-swapping counterparts:

Glyph present in the font Missing case-swapping counterpart
U+00C5: LATIN CAPITAL LETTER A WITH RING ABOVE U+00E5: LATIN SMALL LETTER A WITH RING ABOVE
U+0190: LATIN CAPITAL LETTER OPEN E U+025B: LATIN SMALL LETTER OPEN E
U+01B5: LATIN CAPITAL LETTER Z WITH STROKE U+01B6: LATIN SMALL LETTER Z WITH STROKE
U+212B: ANGSTROM SIGN U+00E5: LATIN SMALL LETTER A WITH RING ABOVE
U+2132: TURNED CAPITAL F U+214E: TURNED SMALL F
[code: missing-case-counterparts]
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field.
* 🔥 **FAIL**

Repository URL is https://www.github.com/notofonts/math

But: OFL text has 'https://github.com/notofonts/math'

[code: mismatch]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

No GF glyphset was found to be supported >80%, so language shaping support couldn't get checked.

[code: no-glyphset-supported]
🔥 FAIL Does DESCRIPTION file contain broken links?
* 🔥 **FAIL**

The following links are broken in the farticle file: https://scriptsource.org/scr/Zmth (status code: 403)

[code: broken-links]
🔥 FAIL Check Google Fonts glyph coverage.
* 🔥 **FAIL**

Missing required codepoints:

- 0x00A1 (INVERTED EXCLAMATION MARK)

- 0x00A8 (DIAERESIS)

- 0x00AA (FEMININE ORDINAL INDICATOR)

- 0x00AB (LEFT-POINTING DOUBLE ANGLE QUOTATION MARK)

- 0x00AF (MACRON)

- 0x00B4 (ACUTE ACCENT)

- 0x00BA (MASCULINE ORDINAL INDICATOR)

- 0x00BB (RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK)

- 0x00BF (INVERTED QUESTION MARK)

- 0x00C0 (LATIN CAPITAL LETTER A WITH GRAVE)

- 168 more.

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

[code: missing-codepoints]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
* ⚠️ **WARN**

The following mark characters could be in the GDEF mark glyph class: uni031A (U+031A), uni20DD (U+20DD), uni20DE (U+20DE), uni20DF (U+20DF) and uni20E4 (U+20E4)

[code: mark-chars]
⚠️ 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: uni210A    Contours detected: 3    Expected: 2

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

- Glyph name: uni2119   Contours detected: 4    Expected: 2

- Glyph name: uni211A   Contours detected: 5    Expected: 3

- Glyph name: uni211D   Contours detected: 5    Expected: 3

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

- Glyph name: uni21B9   Contours detected: 2    Expected: 4

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

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

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

- 32 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 572 among a set of 169 math glyphs. The following math glyphs have a different width, though:

Width = 699: reflexsuperset, uni27C4, uni220C, uni22FB, uni2289, reflexsubset, uni2ABE, uni297F, uni22F5, suchthat, uni22FD, uni297E, uni2288, element, propersubset, uni22D0, uni2AC7, uni2285, uni27C3, uni22F9, uni2AC8, uni2ABD, uni22F8, notelement, uni22F3, uni228B, notsubset, uni228A, uni22F6, propersuperset, uni22D1

Width = 540: proportional

Width = 652: uni29A9, uni27D4, uni299F, uni27D3, orthogonal, uni29A2, uni299D, uni2221, uni29A4, angle, uni29AB, uni299B, uni29A5, uni22BE, uni299C, uni29AA, uni29A3, uni299E, uni29A8, uni27C0

Width = 617: uni2239, uni2A27

Width = 696: uni223E

Width = 667: uni223F, uni2A33

Width = 573: uni2270, uni2A7B, uni2A7C, uni2A88, greaterequal, approxequal, lessequal, uni2AF3, uni2271

Width = 542: uni227D, uni22E1, uni227A, uni22E0, uni2281, uni227C, uni2280, uni227B, uni22DF, uni22DE

Width = 756: uni2AE7, uni2AE9, uni2ADF, uni2AE0, uni2AEA, uni2AEB, uni2AE4, uni22A8, uni22A5, uni3012, uni22A3, uni2AE8, uni22A4, uni2AE2, uni22A2

Width = 567: uni22B1, uni22B0

Width = 532: uni22D7, uni22D6

Width = 775: uni2979, uni297B

Width = 579: uni2994, uni2993

Width = 631: uni2996, uni2995

Width = 624: uni29A1

Width = 689: uni29E4, uni29E3

Width = 744: uni29FA

Width = 916: uni29FB

Width = 745: uni2A68, uni2A69

Width = 669: uni2A7A, uni2A79

Width = 798: uni2AA1, uni2AA2

Width = 760: uni2AA9, uni2AA8, uni2AA7, uni2AA6

Width = 681: smallerthan, uni2AAC, uni2AAD, uni2AAB

Width = 679: uni2AC0, uni2AC9, uni2ACA, uni2ACB, uni2AD5, uni2ACF, uni2AD0, uni2AC1, uni2AC3, uni2AD3, uni2AC4, uni2AD1, uni2AD6, uni2AC2, uni2AC5, uni2AC6, uni2ABF, uni2AD4, uni2ACC, uni2AD2

Width = 754: uni2AE1

Width = 836: uni2AE6

Width = 547: uni2AF4

Width = 735: uni2AF5

Width = 222: uni2AF6

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

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

- uni2AAC.uv001.1
[code: unreachable-glyphs]
⚠️ WARN Do any segments have colinear vectors?
* ⚠️ **WARN**

The following glyphs have colinear vectors:

* u1D49C.uv001: L<<600.0,47.0>--<600.0,109.0>> -> L<<600.0,109.0>--<602.0,246.0>>

* u1D604 (U+1D604): L<<425.0,432.0>--<369.0,189.0>> -> L<<369.0,189.0>--<325.0,0.0>>

* u1D612 (U+1D612): L<<207.0,367.0>--<269.0,433.0>> -> L<<269.0,433.0>--<543.0,714.0>>

* u1D612.ssty1: L<<264.0,368.0>--<336.0,459.0>> -> L<<336.0,459.0>--<560.0,714.0>>

* u1D612.ssty2: L<<249.0,369.0>--<325.0,469.0>> -> L<<325.0,469.0>--<530.0,714.0>>

* u1D646 (U+1D646): L<<251.0,369.0>--<327.0,471.0>> -> L<<327.0,471.0>--<529.0,714.0>>

* u1D6EB (U+1D6EB): L<<207.0,367.0>--<269.0,433.0>> -> L<<269.0,433.0>--<543.0,714.0>>

* u1D6EB.ssty1: L<<264.0,368.0>--<336.0,459.0>> -> L<<336.0,459.0>--<560.0,714.0>>

* u1D6EB.ssty2: L<<249.0,369.0>--<325.0,469.0>> -> L<<325.0,469.0>--<530.0,714.0>>

* uni2983 (U+2983): L<<347.0,784.0>--<347.0,784.0>> -> L<<347.0,784.0>--<490.0,784.0>>

* 25 more.

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

[code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* W.ssty1: B<<502.5,519.5>-<497.0,547.0>-<495.0,567.0>>/B<<495.0,567.0>-<492.0,547.0>-<486.5,519.0>> = 14.241358747447757

* W.ssty2: B<<531.5,500.5>-<525.0,532.0>-<523.0,548.0>>/B<<523.0,548.0>-<521.0,530.0>-<514.5,498.5>> = 13.465208094811695

* u1D4A9 (U+1D4A9): B<<638.0,510.5>-<658.0,602.0>-<695.0,666.0>>/B<<695.0,666.0>-<653.0,623.0>-<607.0,551.5>> = 14.292682666020351

* u1D4B6 (U+1D4B6): B<<266.0,51.0>-<266.0,82.0>-<279.0,108.0>>/B<<279.0,108.0>-<200.0,-6.0>-<125.0,-6.0>> = 8.156229018789725

* u1D4B7 (U+1D4B7): B<<113.0,187.0>-<126.0,210.0>-<139.0,236.0>>/B<<139.0,236.0>-<118.0,211.0>-<103.5,197.5>> = 13.465208094811695

* u1D4B7.ssty1: B<<76.5,126.5>-<92.0,161.0>-<130.0,227.0>>/B<<130.0,227.0>-<112.0,207.0>-<98.5,194.0>> = 12.055700655308824

* u1D4B7.ssty2: B<<70.5,125.0>-<86.0,162.0>-<120.0,217.0>>/B<<120.0,217.0>-<106.0,202.0>-<92.5,190.5>> = 11.30146303143393

* u1D4B9 (U+1D4B9): B<<261.0,51.0>-<261.0,82.0>-<274.0,108.0>>/B<<274.0,108.0>-<229.0,50.0>-<192.5,22.0>> = 11.241478767626447

* u1D4BB (U+1D4BB): L<<78.0,105.0>--<153.0,236.0>>/B<<153.0,236.0>-<132.0,214.0>-<116.0,198.5>> = 13.875819336765673

* u1D4BB.ssty1: L<<84.0,109.0>--<160.0,237.0>>/B<<160.0,237.0>-<122.0,196.0>-<88.0,169.0>> = 12.125533334575563

* 120 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:

* male (U+2642): L<<565.0,534.0>--<566.0,365.0>>

* u1D61E.ssty2: L<<229.0,714.0>--<232.0,322.0>>

* u1D638.ssty2: L<<215.0,546.0>--<217.0,302.0>>

* u1D638.ssty2: L<<540.0,546.0>--<541.0,283.0>>

* u1D652 (U+1D652): L<<230.0,714.0>--<233.0,324.0>>

* u1D66C (U+1D66C): L<<198.0,546.0>--<200.0,304.0>>

* u1EEA8 (U+1EEA8): L<<303.0,80.0>--<418.0,79.0>>

* u1EEA8 (U+1EEA8): L<<418.0,59.0>--<265.0,60.0>>

* u1EEBA (U+1EEBA): L<<303.0,80.0>--<418.0,79.0>>

* u1EEBA (U+1EEBA): L<<418.0,59.0>--<285.0,60.0>>

* 20 more.

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

[code: found-semi-vertical]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
* ⚠️ **WARN**

The dot of soft dotted characters should disappear in other cases, for example: i⃐ i⃑ i⃔ i⃕ i⃖ i⃗ i⃛ i⃜ i⃡ i⃧ i⃩ ị⃐ ị⃑ ị⃔ ị⃕ ị⃖ ị⃗ ị⃛ ị⃜ ị⃡

Your font fully covers the following languages that require the soft-dotted feature: Ijo, Southeast (Latn, 2,471,000 speakers), Ekpeye (Latn, 226,000 speakers), Ebira (Latn, 2,200,000 speakers), Dutch (Latn, 31,709,104 speakers), Igbo (Latn, 27,823,640 speakers).

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

[code: soft-dotted]
⚠️ WARN METADATA.pb: Check for primary_script
* ⚠️ **WARN**

METADATA.pb: primary_script field should be 'Arab' but is missing.

[code: missing-primary-script]
⚠️ 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+0190 LATIN CAPITAL LETTER OPEN E: try adding latin-ext
  • U+01B5 LATIN CAPITAL LETTER Z WITH STROKE: try adding latin-ext
  • U+0237 LATIN SMALL LETTER DOTLESS J: try adding latin-ext
  • U+02D4 MODIFIER LETTER UP TACK: not included in any glyphset definition
  • U+02D5 MODIFIER LETTER DOWN TACK: not included in any glyphset definition
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
  • U+0310 COMBINING CANDRABINDU: not included in any glyphset definition 451 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: cyrillic, latin, math, menu

[code: unreachable-subsetting]
⚠️ WARN On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
* ⚠️ **WARN**

The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo. Please consider mentioning note-worthy improvements made to the family recently.

[code: description-not-updated]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

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

[code: lacks-meta-table]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/notosansmath

[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 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/notosansmath/NotoSansMath-Regular.ttf
Dehinted Size 662.4kb
Hinted Size 991.7kb
Increase 329.3kb
Change 49.7 %
[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 5 13 64 7 159 0
0% 0% 2% 5% 26% 3% 64% 0%

Note: The following loglevels were omitted in this report:

emmamarichal commented 1 week ago

Ok I see, thanks! @simoncozens

That WARN appeared since your last change, is it related too?

⚠️ WARN Check font contains no unreachable glyphs The following glyphs could not be reached by codepoint or substitution rules:

github-actions[bot] commented 1 week 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] NotoSansMath-Regular.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Article page lacks visual assets.

[code: missing-visual-asset]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]

All other checks

[21] NotoSansMath-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs.
* 🔥 **FAIL**

The following glyphs lack their case-swapping counterparts:

Glyph present in the font Missing case-swapping counterpart
U+00C5: LATIN CAPITAL LETTER A WITH RING ABOVE U+00E5: LATIN SMALL LETTER A WITH RING ABOVE
U+0190: LATIN CAPITAL LETTER OPEN E U+025B: LATIN SMALL LETTER OPEN E
U+01B5: LATIN CAPITAL LETTER Z WITH STROKE U+01B6: LATIN SMALL LETTER Z WITH STROKE
U+212B: ANGSTROM SIGN U+00E5: LATIN SMALL LETTER A WITH RING ABOVE
U+2132: TURNED CAPITAL F U+214E: TURNED SMALL F
[code: missing-case-counterparts]
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field.
* 🔥 **FAIL**

Repository URL is https://www.github.com/notofonts/math

But: OFL text has 'https://github.com/notofonts/math'

[code: mismatch]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

No GF glyphset was found to be supported >80%, so language shaping support couldn't get checked.

[code: no-glyphset-supported]
🔥 FAIL Does DESCRIPTION file contain broken links?
* 🔥 **FAIL**

The following links are broken in the farticle file: https://scriptsource.org/scr/Zmth (status code: 403)

[code: broken-links]
🔥 FAIL Check Google Fonts glyph coverage.
* 🔥 **FAIL**

Missing required codepoints:

- 0x00A1 (INVERTED EXCLAMATION MARK)

- 0x00A8 (DIAERESIS)

- 0x00AA (FEMININE ORDINAL INDICATOR)

- 0x00AB (LEFT-POINTING DOUBLE ANGLE QUOTATION MARK)

- 0x00AF (MACRON)

- 0x00B4 (ACUTE ACCENT)

- 0x00BA (MASCULINE ORDINAL INDICATOR)

- 0x00BB (RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK)

- 0x00BF (INVERTED QUESTION MARK)

- 0x00C0 (LATIN CAPITAL LETTER A WITH GRAVE)

- 168 more.

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

[code: missing-codepoints]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
* ⚠️ **WARN**

The following mark characters could be in the GDEF mark glyph class: uni031A (U+031A), uni20DD (U+20DD), uni20DE (U+20DE), uni20DF (U+20DF) and uni20E4 (U+20E4)

[code: mark-chars]
⚠️ 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: uni210A    Contours detected: 3    Expected: 2

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

- Glyph name: uni2119   Contours detected: 4    Expected: 2

- Glyph name: uni211A   Contours detected: 5    Expected: 3

- Glyph name: uni211D   Contours detected: 5    Expected: 3

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

- Glyph name: uni21B9   Contours detected: 2    Expected: 4

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

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

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

- 32 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 572 among a set of 169 math glyphs. The following math glyphs have a different width, though:

Width = 699: uni2288, uni22FB, notelement, uni2ABE, uni2289, uni297E, uni27C4, uni2285, uni22F8, uni297F, element, uni27C3, uni22F6, uni228A, uni220C, uni22D1, suchthat, notsubset, uni22D0, uni22F9, reflexsuperset, uni2ABD, uni2AC8, uni228B, uni22F5, propersubset, uni22FD, reflexsubset, uni22F3, propersuperset, uni2AC7

Width = 540: proportional

Width = 652: uni29A3, uni29A9, uni29A2, uni299D, uni299C, uni299E, uni299F, uni22BE, uni27D3, uni29AB, uni29A4, uni27D4, uni27C0, uni29AA, angle, uni29A5, uni2221, uni299B, uni29A8, orthogonal

Width = 617: uni2A27, uni2239

Width = 696: uni223E

Width = 667: uni223F, uni2A33

Width = 573: uni2270, uni2A88, uni2271, approxequal, greaterequal, uni2A7C, uni2A7B, uni2AF3, lessequal

Width = 542: uni22E1, uni227A, uni227C, uni2280, uni2281, uni22DF, uni22DE, uni22E0, uni227B, uni227D

Width = 756: uni2AE0, uni22A8, uni2AE4, uni2ADF, uni22A2, uni22A4, uni2AE9, uni22A3, uni2AEB, uni2AE8, uni2AE7, uni2AEA, uni2AE2, uni22A5, uni3012

Width = 567: uni22B0, uni22B1

Width = 532: uni22D6, uni22D7

Width = 775: uni2979, uni297B

Width = 579: uni2993, uni2994

Width = 631: uni2996, uni2995

Width = 624: uni29A1

Width = 689: uni29E4, uni29E3

Width = 744: uni29FA

Width = 916: uni29FB

Width = 745: uni2A68, uni2A69

Width = 669: uni2A7A, uni2A79

Width = 798: uni2AA2, uni2AA1

Width = 760: uni2AA6, uni2AA8, uni2AA7, uni2AA9

Width = 681: uni2AAB, uni2AAD, smallerthan, uni2AAC

Width = 679: uni2AC4, uni2AC0, uni2AC2, uni2AD0, uni2AD4, uni2ACC, uni2AC3, uni2ACB, uni2AC1, uni2AD2, uni2ABF, uni2AD6, uni2AD3, uni2AC6, uni2ACF, uni2AD1, uni2ACA, uni2AC9, uni2AC5, uni2AD5

Width = 754: uni2AE1

Width = 836: uni2AE6

Width = 547: uni2AF4

Width = 735: uni2AF5

Width = 222: uni2AF6

[code: width-outliers]
⚠️ WARN Do any segments have colinear vectors?
* ⚠️ **WARN**

The following glyphs have colinear vectors:

* u1D49C.uv001: L<<600.0,47.0>--<600.0,109.0>> -> L<<600.0,109.0>--<602.0,246.0>>

* u1D604 (U+1D604): L<<425.0,432.0>--<369.0,189.0>> -> L<<369.0,189.0>--<325.0,0.0>>

* u1D612 (U+1D612): L<<207.0,367.0>--<269.0,433.0>> -> L<<269.0,433.0>--<543.0,714.0>>

* u1D612.ssty1: L<<264.0,368.0>--<336.0,459.0>> -> L<<336.0,459.0>--<560.0,714.0>>

* u1D612.ssty2: L<<249.0,369.0>--<325.0,469.0>> -> L<<325.0,469.0>--<530.0,714.0>>

* u1D646 (U+1D646): L<<251.0,369.0>--<327.0,471.0>> -> L<<327.0,471.0>--<529.0,714.0>>

* u1D6EB (U+1D6EB): L<<207.0,367.0>--<269.0,433.0>> -> L<<269.0,433.0>--<543.0,714.0>>

* u1D6EB.ssty1: L<<264.0,368.0>--<336.0,459.0>> -> L<<336.0,459.0>--<560.0,714.0>>

* u1D6EB.ssty2: L<<249.0,369.0>--<325.0,469.0>> -> L<<325.0,469.0>--<530.0,714.0>>

* uni2983 (U+2983): L<<347.0,784.0>--<347.0,784.0>> -> L<<347.0,784.0>--<490.0,784.0>>

* 25 more.

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

[code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* W.ssty1: B<<502.5,519.5>-<497.0,547.0>-<495.0,567.0>>/B<<495.0,567.0>-<492.0,547.0>-<486.5,519.0>> = 14.241358747447757

* W.ssty2: B<<531.5,500.5>-<525.0,532.0>-<523.0,548.0>>/B<<523.0,548.0>-<521.0,530.0>-<514.5,498.5>> = 13.465208094811695

* u1D4A9 (U+1D4A9): B<<638.0,510.5>-<658.0,602.0>-<695.0,666.0>>/B<<695.0,666.0>-<653.0,623.0>-<607.0,551.5>> = 14.292682666020351

* u1D4B6 (U+1D4B6): B<<266.0,51.0>-<266.0,82.0>-<279.0,108.0>>/B<<279.0,108.0>-<200.0,-6.0>-<125.0,-6.0>> = 8.156229018789725

* u1D4B7 (U+1D4B7): B<<113.0,187.0>-<126.0,210.0>-<139.0,236.0>>/B<<139.0,236.0>-<118.0,211.0>-<103.5,197.5>> = 13.465208094811695

* u1D4B7.ssty1: B<<76.5,126.5>-<92.0,161.0>-<130.0,227.0>>/B<<130.0,227.0>-<112.0,207.0>-<98.5,194.0>> = 12.055700655308824

* u1D4B7.ssty2: B<<70.5,125.0>-<86.0,162.0>-<120.0,217.0>>/B<<120.0,217.0>-<106.0,202.0>-<92.5,190.5>> = 11.30146303143393

* u1D4B9 (U+1D4B9): B<<261.0,51.0>-<261.0,82.0>-<274.0,108.0>>/B<<274.0,108.0>-<229.0,50.0>-<192.5,22.0>> = 11.241478767626447

* u1D4BB (U+1D4BB): L<<78.0,105.0>--<153.0,236.0>>/B<<153.0,236.0>-<132.0,214.0>-<116.0,198.5>> = 13.875819336765673

* u1D4BB.ssty1: L<<84.0,109.0>--<160.0,237.0>>/B<<160.0,237.0>-<122.0,196.0>-<88.0,169.0>> = 12.125533334575563

* 120 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:

* male (U+2642): L<<565.0,534.0>--<566.0,365.0>>

* u1D61E.ssty2: L<<229.0,714.0>--<232.0,322.0>>

* u1D638.ssty2: L<<215.0,546.0>--<217.0,302.0>>

* u1D638.ssty2: L<<540.0,546.0>--<541.0,283.0>>

* u1D652 (U+1D652): L<<230.0,714.0>--<233.0,324.0>>

* u1D66C (U+1D66C): L<<198.0,546.0>--<200.0,304.0>>

* u1EEA8 (U+1EEA8): L<<303.0,80.0>--<418.0,79.0>>

* u1EEA8 (U+1EEA8): L<<418.0,59.0>--<265.0,60.0>>

* u1EEBA (U+1EEBA): L<<303.0,80.0>--<418.0,79.0>>

* u1EEBA (U+1EEBA): L<<418.0,59.0>--<285.0,60.0>>

* 20 more.

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

[code: found-semi-vertical]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
* ⚠️ **WARN**

The dot of soft dotted characters should disappear in other cases, for example: i⃐ i⃑ i⃔ i⃕ i⃖ i⃗ i⃛ i⃜ i⃡ i⃧ i⃩ ị⃐ ị⃑ ị⃔ ị⃕ ị⃖ ị⃗ ị⃛ ị⃜ ị⃡

Your font fully covers the following languages that require the soft-dotted feature: Dutch (Latn, 31,709,104 speakers), Ekpeye (Latn, 226,000 speakers), Igbo (Latn, 27,823,640 speakers), Ebira (Latn, 2,200,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers).

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

[code: soft-dotted]
⚠️ WARN METADATA.pb: Check for primary_script
* ⚠️ **WARN**

METADATA.pb: primary_script field should be 'Arab' but is missing.

[code: missing-primary-script]
⚠️ 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+0190 LATIN CAPITAL LETTER OPEN E: try adding latin-ext
  • U+01B5 LATIN CAPITAL LETTER Z WITH STROKE: try adding latin-ext
  • U+0237 LATIN SMALL LETTER DOTLESS J: try adding latin-ext
  • U+02D4 MODIFIER LETTER UP TACK: not included in any glyphset definition
  • U+02D5 MODIFIER LETTER DOWN TACK: not included in any glyphset definition
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
  • U+0310 COMBINING CANDRABINDU: not included in any glyphset definition 451 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: cyrillic, latin, math, menu

[code: unreachable-subsetting]
⚠️ WARN On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
* ⚠️ **WARN**

The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo. Please consider mentioning note-worthy improvements made to the family recently.

[code: description-not-updated]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

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

[code: lacks-meta-table]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/notosansmath

[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 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/notosansmath/NotoSansMath-Regular.ttf
Dehinted Size 662.4kb
Hinted Size 991.6kb
Increase 329.2kb
Change 49.7 %
[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 5 12 64 7 160 0
0% 0% 2% 5% 26% 3% 65% 0%

Note: The following loglevels were omitted in this report:

github-actions[bot] commented 1 week 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] NotoSansMath-Regular.ttf
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
* ⚠️ **WARN**

Article page lacks visual assets.

[code: missing-visual-asset]
ℹ️ INFO METADATA.pb: Validate family.minisite_url field.
* ℹ️ **INFO**

Please consider adding a family.minisite_url entry.

[code: lacks-minisite-url]

All other checks

[21] NotoSansMath-Regular.ttf
🔥 FAIL Ensure the font supports case swapping for all its glyphs.
* 🔥 **FAIL**

The following glyphs lack their case-swapping counterparts:

Glyph present in the font Missing case-swapping counterpart
U+00C5: LATIN CAPITAL LETTER A WITH RING ABOVE U+00E5: LATIN SMALL LETTER A WITH RING ABOVE
U+0190: LATIN CAPITAL LETTER OPEN E U+025B: LATIN SMALL LETTER OPEN E
U+01B5: LATIN CAPITAL LETTER Z WITH STROKE U+01B6: LATIN SMALL LETTER Z WITH STROKE
U+212B: ANGSTROM SIGN U+00E5: LATIN SMALL LETTER A WITH RING ABOVE
U+2132: TURNED CAPITAL F U+214E: TURNED SMALL F
[code: missing-case-counterparts]
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field.
* 🔥 **FAIL**

Repository URL is https://www.github.com/notofonts/math

But: OFL text has 'https://github.com/notofonts/math'

[code: mismatch]
🔥 FAIL Shapes languages in all GF glyphsets.
* 🔥 **FAIL**

No GF glyphset was found to be supported >80%, so language shaping support couldn't get checked.

[code: no-glyphset-supported]
🔥 FAIL Does DESCRIPTION file contain broken links?
* 🔥 **FAIL**

The following links are broken in the farticle file: https://scriptsource.org/scr/Zmth (status code: 403)

[code: broken-links]
🔥 FAIL Check Google Fonts glyph coverage.
* 🔥 **FAIL**

Missing required codepoints:

- 0x00A1 (INVERTED EXCLAMATION MARK)

- 0x00A8 (DIAERESIS)

- 0x00AA (FEMININE ORDINAL INDICATOR)

- 0x00AB (LEFT-POINTING DOUBLE ANGLE QUOTATION MARK)

- 0x00AF (MACRON)

- 0x00B4 (ACUTE ACCENT)

- 0x00BA (MASCULINE ORDINAL INDICATOR)

- 0x00BB (RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK)

- 0x00BF (INVERTED QUESTION MARK)

- 0x00C0 (LATIN CAPITAL LETTER A WITH GRAVE)

- 168 more.

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

[code: missing-codepoints]
⚠️ WARN Check mark characters are in GDEF mark glyph class.
* ⚠️ **WARN**

The following mark characters could be in the GDEF mark glyph class: uni031A (U+031A), uni20DD (U+20DD), uni20DE (U+20DE), uni20DF (U+20DF) and uni20E4 (U+20E4)

[code: mark-chars]
⚠️ 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: uni210A    Contours detected: 3    Expected: 2

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

- Glyph name: uni2119   Contours detected: 4    Expected: 2

- Glyph name: uni211A   Contours detected: 5    Expected: 3

- Glyph name: uni211D   Contours detected: 5    Expected: 3

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

- Glyph name: uni21B9   Contours detected: 2    Expected: 4

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

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

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

- 32 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 572 among a set of 169 math glyphs. The following math glyphs have a different width, though:

Width = 699: reflexsubset, uni22FD, element, uni2288, uni2AC8, uni297E, uni2ABE, propersuperset, uni22D0, uni22FB, uni27C4, uni2AC7, propersubset, suchthat, uni220C, reflexsuperset, uni2289, uni22F3, notelement, uni22F5, uni228A, uni228B, uni27C3, uni2ABD, uni2285, notsubset, uni22F8, uni22F6, uni22F9, uni22D1, uni297F

Width = 540: proportional

Width = 652: uni22BE, uni299B, uni27C0, uni27D3, uni29A8, uni29A2, uni29A9, uni299F, uni299C, uni29A3, uni2221, angle, uni299E, uni29AB, uni29A5, orthogonal, uni299D, uni29AA, uni27D4, uni29A4

Width = 617: uni2A27, uni2239

Width = 696: uni223E

Width = 667: uni223F, uni2A33

Width = 573: uni2A7C, uni2A88, uni2AF3, greaterequal, uni2271, lessequal, uni2270, uni2A7B, approxequal

Width = 542: uni22E0, uni2280, uni227C, uni22E1, uni22DF, uni227D, uni227B, uni22DE, uni2281, uni227A

Width = 756: uni2AEA, uni2AEB, uni2AE7, uni22A2, uni22A5, uni2AE8, uni3012, uni2ADF, uni2AE0, uni2AE2, uni22A8, uni22A3, uni2AE9, uni2AE4, uni22A4

Width = 567: uni22B0, uni22B1

Width = 532: uni22D6, uni22D7

Width = 775: uni297B, uni2979

Width = 579: uni2994, uni2993

Width = 631: uni2995, uni2996

Width = 624: uni29A1

Width = 689: uni29E3, uni29E4

Width = 744: uni29FA

Width = 916: uni29FB

Width = 745: uni2A69, uni2A68

Width = 669: uni2A7A, uni2A79

Width = 798: uni2AA2, uni2AA1

Width = 760: uni2AA9, uni2AA6, uni2AA8, uni2AA7

Width = 681: uni2AAC, uni2AAD, uni2AAB, smallerthan

Width = 679: uni2ACA, uni2AD6, uni2AC3, uni2ABF, uni2AC6, uni2AC5, uni2AC1, uni2AD2, uni2AD0, uni2ACC, uni2AC4, uni2ACF, uni2AC2, uni2AC9, uni2ACB, uni2AC0, uni2AD1, uni2AD5, uni2AD4, uni2AD3

Width = 754: uni2AE1

Width = 836: uni2AE6

Width = 547: uni2AF4

Width = 735: uni2AF5

Width = 222: uni2AF6

[code: width-outliers]
⚠️ WARN Do any segments have colinear vectors?
* ⚠️ **WARN**

The following glyphs have colinear vectors:

* u1D49C.uv001: L<<600.0,47.0>--<600.0,109.0>> -> L<<600.0,109.0>--<602.0,246.0>>

* u1D604 (U+1D604): L<<425.0,432.0>--<369.0,189.0>> -> L<<369.0,189.0>--<325.0,0.0>>

* u1D612 (U+1D612): L<<207.0,367.0>--<269.0,433.0>> -> L<<269.0,433.0>--<543.0,714.0>>

* u1D612.ssty1: L<<264.0,368.0>--<336.0,459.0>> -> L<<336.0,459.0>--<560.0,714.0>>

* u1D612.ssty2: L<<249.0,369.0>--<325.0,469.0>> -> L<<325.0,469.0>--<530.0,714.0>>

* u1D646 (U+1D646): L<<251.0,369.0>--<327.0,471.0>> -> L<<327.0,471.0>--<529.0,714.0>>

* u1D6EB (U+1D6EB): L<<207.0,367.0>--<269.0,433.0>> -> L<<269.0,433.0>--<543.0,714.0>>

* u1D6EB.ssty1: L<<264.0,368.0>--<336.0,459.0>> -> L<<336.0,459.0>--<560.0,714.0>>

* u1D6EB.ssty2: L<<249.0,369.0>--<325.0,469.0>> -> L<<325.0,469.0>--<530.0,714.0>>

* uni2983 (U+2983): L<<347.0,784.0>--<347.0,784.0>> -> L<<347.0,784.0>--<490.0,784.0>>

* 25 more.

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

[code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments?
* ⚠️ **WARN**

The following glyphs have jaggy segments:

* W.ssty1: B<<502.5,519.5>-<497.0,547.0>-<495.0,567.0>>/B<<495.0,567.0>-<492.0,547.0>-<486.5,519.0>> = 14.241358747447757

* W.ssty2: B<<531.5,500.5>-<525.0,532.0>-<523.0,548.0>>/B<<523.0,548.0>-<521.0,530.0>-<514.5,498.5>> = 13.465208094811695

* u1D4A9 (U+1D4A9): B<<638.0,510.5>-<658.0,602.0>-<695.0,666.0>>/B<<695.0,666.0>-<653.0,623.0>-<607.0,551.5>> = 14.292682666020351

* u1D4B6 (U+1D4B6): B<<266.0,51.0>-<266.0,82.0>-<279.0,108.0>>/B<<279.0,108.0>-<200.0,-6.0>-<125.0,-6.0>> = 8.156229018789725

* u1D4B7 (U+1D4B7): B<<113.0,187.0>-<126.0,210.0>-<139.0,236.0>>/B<<139.0,236.0>-<118.0,211.0>-<103.5,197.5>> = 13.465208094811695

* u1D4B7.ssty1: B<<76.5,126.5>-<92.0,161.0>-<130.0,227.0>>/B<<130.0,227.0>-<112.0,207.0>-<98.5,194.0>> = 12.055700655308824

* u1D4B7.ssty2: B<<70.5,125.0>-<86.0,162.0>-<120.0,217.0>>/B<<120.0,217.0>-<106.0,202.0>-<92.5,190.5>> = 11.30146303143393

* u1D4B9 (U+1D4B9): B<<261.0,51.0>-<261.0,82.0>-<274.0,108.0>>/B<<274.0,108.0>-<229.0,50.0>-<192.5,22.0>> = 11.241478767626447

* u1D4BB (U+1D4BB): L<<78.0,105.0>--<153.0,236.0>>/B<<153.0,236.0>-<132.0,214.0>-<116.0,198.5>> = 13.875819336765673

* u1D4BB.ssty1: L<<84.0,109.0>--<160.0,237.0>>/B<<160.0,237.0>-<122.0,196.0>-<88.0,169.0>> = 12.125533334575563

* 120 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:

* male (U+2642): L<<565.0,534.0>--<566.0,365.0>>

* u1D61E.ssty2: L<<229.0,714.0>--<232.0,322.0>>

* u1D638.ssty2: L<<215.0,546.0>--<217.0,302.0>>

* u1D638.ssty2: L<<540.0,546.0>--<541.0,283.0>>

* u1D652 (U+1D652): L<<230.0,714.0>--<233.0,324.0>>

* u1D66C (U+1D66C): L<<198.0,546.0>--<200.0,304.0>>

* u1EEA8 (U+1EEA8): L<<303.0,80.0>--<418.0,79.0>>

* u1EEA8 (U+1EEA8): L<<418.0,59.0>--<265.0,60.0>>

* u1EEBA (U+1EEBA): L<<303.0,80.0>--<418.0,79.0>>

* u1EEBA (U+1EEBA): L<<418.0,59.0>--<285.0,60.0>>

* 20 more.

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

[code: found-semi-vertical]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
* ⚠️ **WARN**

The dot of soft dotted characters should disappear in other cases, for example: i⃐ i⃑ i⃔ i⃕ i⃖ i⃗ i⃛ i⃜ i⃡ i⃧ i⃩ ị⃐ ị⃑ ị⃔ ị⃕ ị⃖ ị⃗ ị⃛ ị⃜ ị⃡

Your font fully covers the following languages that require the soft-dotted feature: Ekpeye (Latn, 226,000 speakers), Dutch (Latn, 31,709,104 speakers), Ebira (Latn, 2,200,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Igbo (Latn, 27,823,640 speakers).

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

[code: soft-dotted]
⚠️ WARN METADATA.pb: Check for primary_script
* ⚠️ **WARN**

METADATA.pb: primary_script field should be 'Arab' but is missing.

[code: missing-primary-script]
⚠️ 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+0190 LATIN CAPITAL LETTER OPEN E: try adding latin-ext
  • U+01B5 LATIN CAPITAL LETTER Z WITH STROKE: try adding latin-ext
  • U+0237 LATIN SMALL LETTER DOTLESS J: try adding latin-ext
  • U+02D4 MODIFIER LETTER UP TACK: not included in any glyphset definition
  • U+02D5 MODIFIER LETTER DOWN TACK: not included in any glyphset definition
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+030A COMBINING RING ABOVE: try adding syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: tai-le, cherokee
  • U+0310 COMBINING CANDRABINDU: not included in any glyphset definition 451 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: cyrillic, latin, math, menu

[code: unreachable-subsetting]
⚠️ WARN On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
* ⚠️ **WARN**

The DESCRIPTION.en_us.html file in this family has not changed in comparison to the latest font release on the google/fonts github repo. Please consider mentioning note-worthy improvements made to the family recently.

[code: description-not-updated]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
* ⚠️ **WARN**

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

[code: lacks-meta-table]
ℹ️ INFO List all superfamily filepaths
* ℹ️ **INFO**

ofl/notosansmath

[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 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/notosansmath/NotoSansMath-Regular.ttf
Dehinted Size 662.4kb
Hinted Size 991.6kb
Increase 329.2kb
Change 49.7 %
[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 5 12 64 7 160 0
0% 0% 2% 5% 26% 3% 65% 0%

Note: The following loglevels were omitted in this report: