If you think a check is flawed or have an idea for a check, please file an issue at https://github.com/fonttools/fontspector/issues and remember to include a pointer to the repo and branch you're checking.
Summary
💥 ERROR | 🔥 FAIL | ⚠️ WARN | ℹ️ INFO | ✅ PASS | ⏩ SKIP |
---|---|---|---|---|---|
1 | 6 | 15 | 7 | 88 | 70 |
1% | 3% | 8% | 4% | 48% | 38% |
Meaning of check results:
- 💥 An ERROR is something wrong with Fontspector itself, possibly a bug.
- ☠ A FATAL is an extremely severe issue that must be addressed immediately.
- 🔥 A FAIL is a problem with the font that must be fixed.
- ⚠️ A WARN is something that you should consider addressing.
- ℹ️ An INFO result simply prints something useful. Typically stats.
- ✅ A PASS means the font looks good for the given checking routine.
- ⏩ And a SKIP happens when the check does not apply to the given font.
If you get ERRORs, please help us improve the tool by reporting them at our issue tracker.
(but other kinds of bug reports and/or feature requests are also always welcome, of course!)
Fontspector version: 1.5.0
Opentype Specification Checks
Checking correctness of monospaced metadata.
🔥 PaperMono-Regular.ttf
-
⚠️ WARN
The OpenType spec recommends at https://learn.microsoft.com/en-us/typography/opentype/spec/recom#hhea-table that hhea.numberOfHMetrics be set to 3 but this font has 547 instead. Please read https://github.com/fonttools/fonttools/issues/3014 to decide whether this makes sense for your font.
[code: bad-numberOfHMetrics] -
🔥 FAIL
The PANOSE numbers are incorrect for a monospaced font.
[code: mono-bad-panose]
Universal Profile Checks
Check accent of Lcaron, dcaron, lcaron, tcaron
⚠️ PaperMono-Regular.ttf
-
⚠️ WARN
dcaron is decomposed and therefore could not be checked. Please check manually.
[code: decomposed-outline]
Check if each glyph has the recommended amount of contours.
⚠️ PaperMono-Regular.ttf
-
⚠️ WARN
This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are inferred from the typical amounts 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:
- fraction (U+2044): found 2, expected one of: {1}
Familyname must be unique according to namecheck.fontdata.com
💥 PaperMono-Regular.ttf
-
💥 ERROR
Error: A network error occurred: Failed to access: http://namecheck.fontdata.com/. error sending request for url (http://namecheck.fontdata.com/api/?q=Paper+Mono)
Check font contains no unreachable glyphs
⚠️ PaperMono-Regular.ttf
-
⚠️ WARN
The following glyphs could not be reached by codepoint or substitution rules:
- blackCircled
Metadata Checks
Check for codepoints not covered by METADATA subsets.
⚠️ ttf
-
⚠️ WARN
fonts/ttf/PaperMono-Regular.ttf: 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+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: canadian-aboriginal, yi
- U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: cherokee, coptic, math, tifinagh
- U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
- U+0307 COMBINING DOT ABOVE: try adding one of: syriac, tai-le, coptic, malayalam, todhri, canadian-aboriginal, tifinagh, math, hebrew, duployan, old-permic
- U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
- U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
- U+030C COMBINING CARON: try adding one of: cherokee, tai-le
- U+0312 COMBINING TURNED COMMA ABOVE: try adding math
- U+0326 COMBINING COMMA BELOW: try adding math
- U+0327 COMBINING CEDILLA: try adding math
- U+0338 COMBINING LONG SOLIDUS OVERLAY: try adding math
- U+039B GREEK CAPITAL LETTER LAMDA: try adding one of: elbasan, greek, math
- U+03A9 GREEK CAPITAL LETTER OMEGA: try adding one of: greek, elbasan, math
- U+03BB GREEK SMALL LETTER LAMDA: try adding one of: math, greek
- U+03BC GREEK SMALL LETTER MU: try adding one of: math, greek
- U+03C0 GREEK SMALL LETTER PI: try adding one of: math, greek, yi
- U+0E3F THAI CURRENCY SYMBOL BAHT: try adding thai
- U+1EBC LATIN CAPITAL LETTER E WITH TILDE: try adding vietnamese
- U+1EBD LATIN SMALL LETTER E WITH TILDE: try adding vietnamese
- U+2021 DOUBLE DAGGER: try adding adlam
- U+2030 PER MILLE SIGN: try adding adlam
- U+2070 SUPERSCRIPT ZERO: try adding math
- U+2074 SUPERSCRIPT FOUR: try adding math
- U+2075 SUPERSCRIPT FIVE: try adding math
- U+2076 SUPERSCRIPT SIX: try adding math
- U+2077 SUPERSCRIPT SEVEN: try adding math
- U+2078 SUPERSCRIPT EIGHT: try adding math
- U+2079 SUPERSCRIPT NINE: try adding math
- U+2080 SUBSCRIPT ZERO: try adding math
- U+2081 SUBSCRIPT ONE: try adding math
- U+2082 SUBSCRIPT TWO: try adding math
- U+2083 SUBSCRIPT THREE: try adding math
- U+2084 SUBSCRIPT FOUR: try adding math
- U+2085 SUBSCRIPT FIVE: try adding math
- U+2086 SUBSCRIPT SIX: try adding math
- U+2087 SUBSCRIPT SEVEN: try adding math
- U+2088 SUBSCRIPT EIGHT: try adding math
- U+2089 SUBSCRIPT NINE: try adding math
- U+2116 NUMERO SIGN: try adding cyrillic
- U+2117 SOUND RECORDING COPYRIGHT: try adding math
- U+2153 VULGAR FRACTION ONE THIRD: try adding symbols
- U+2154 VULGAR FRACTION TWO THIRDS: try adding symbols
- U+2155 VULGAR FRACTION ONE FIFTH: try adding symbols
- U+215B VULGAR FRACTION ONE EIGHTH: try adding symbols
- U+215C VULGAR FRACTION THREE EIGHTHS: try adding symbols
- U+215D VULGAR FRACTION FIVE EIGHTHS: try adding symbols
- U+215E VULGAR FRACTION SEVEN EIGHTHS: try adding symbols
- U+2190 LEFTWARDS ARROW: try adding one of: math, symbols
- U+2192 RIGHTWARDS ARROW: try adding one of: math, symbols
- U+2194 LEFT RIGHT ARROW: try adding one of: math, symbols
- U+2195 UP DOWN ARROW: try adding one of: math, symbols
- U+2196 NORTH WEST ARROW: try adding one of: math, symbols
- U+2197 NORTH EAST ARROW: try adding one of: math, symbols
- U+2198 SOUTH EAST ARROW: try adding one of: symbols, math
- U+2199 SOUTH WEST ARROW: try adding one of: math, symbols
- U+219D RIGHTWARDS WAVE ARROW: try adding math
- U+21A9 LEFTWARDS ARROW WITH HOOK: try adding math
- U+21AA RIGHTWARDS ARROW WITH HOOK: try adding math
- U+21B0 UPWARDS ARROW WITH TIP LEFTWARDS: try adding math
- U+21B1 UPWARDS ARROW WITH TIP RIGHTWARDS: try adding math
- U+21B3 DOWNWARDS ARROW WITH TIP RIGHTWARDS: try adding math
- U+21B4 RIGHTWARDS ARROW WITH CORNER DOWNWARDS: try adding math
- U+21B5 DOWNWARDS ARROW WITH CORNER LEFTWARDS: try adding math
- U+21E4 LEFTWARDS ARROW TO BAR: try adding math
- U+21E5 RIGHTWARDS ARROW TO BAR: try adding math
- U+21E7 UPWARDS WHITE ARROW: try adding symbols
- U+2202 PARTIAL DIFFERENTIAL: try adding math
- U+2206 INCREMENT: try adding math
- U+220F N-ARY PRODUCT: try adding math
- U+2211 N-ARY SUMMATION: try adding math
- U+221A SQUARE ROOT: try adding math
- U+221E INFINITY: try adding math
- U+222B INTEGRAL: try adding math
- U+2236 RATIO: try adding math
- U+2248 ALMOST EQUAL TO: try adding math
- U+2260 NOT EQUAL TO: try adding math
- U+2264 LESS-THAN OR EQUAL TO: try adding math
- U+2265 GREATER-THAN OR EQUAL TO: try adding math
- U+2460 CIRCLED DIGIT ONE: try adding one of: mongolian, symbols, yi
- U+2461 CIRCLED DIGIT TWO: try adding one of: mongolian, yi, symbols
- U+2462 CIRCLED DIGIT THREE: try adding one of: symbols, mongolian, yi
- U+2463 CIRCLED DIGIT FOUR: try adding one of: symbols, yi, mongolian
- U+2464 CIRCLED DIGIT FIVE: try adding one of: mongolian, symbols, yi
- U+2465 CIRCLED DIGIT SIX: try adding one of: symbols, yi, mongolian
- U+2466 CIRCLED DIGIT SEVEN: try adding one of: mongolian, yi, symbols
- U+2467 CIRCLED DIGIT EIGHT: try adding one of: symbols, yi, mongolian
- U+2468 CIRCLED DIGIT NINE: try adding one of: mongolian, symbols, yi
- U+24EA CIRCLED DIGIT ZERO: try adding symbols
- U+24FF NEGATIVE CIRCLED DIGIT ZERO: try adding symbols
- U+25CA LOZENGE: try adding one of: math, symbols
- U+2776 DINGBAT NEGATIVE CIRCLED DIGIT ONE: try adding symbols
- U+2777 DINGBAT NEGATIVE CIRCLED DIGIT TWO: try adding symbols
- U+2778 DINGBAT NEGATIVE CIRCLED DIGIT THREE: try adding symbols
- U+2779 DINGBAT NEGATIVE CIRCLED DIGIT FOUR: try adding symbols
- U+277A DINGBAT NEGATIVE CIRCLED DIGIT FIVE: try adding symbols
- U+277B DINGBAT NEGATIVE CIRCLED DIGIT SIX: try adding symbols
- U+277C DINGBAT NEGATIVE CIRCLED DIGIT SEVEN: try adding symbols
- U+277D DINGBAT NEGATIVE CIRCLED DIGIT EIGHT: try adding symbols
- U+277E DINGBAT NEGATIVE CIRCLED DIGIT NINE: try adding symbols
- U+3003 DITTO MARK: try adding one of: japanese, chinese-traditional, chinese-simplified, chinese-hongkong, yi, phags-pa
- U+301C WAVE DASH: try adding japanese
Or you can add the above codepoints to one of the subsets supported by the font: cyrillic-ext, latin-ext, latin
[code: unreachable-subsetting]
Glyphset Checks
Shapes languages in all GF glyphsets.
⚠️ PaperMono-Regular.ttf
-
⚠️ WARN
Warning language shaping:
Message Languages Auxiliary orthography codepoints: * fi_Latn (Finnish) The following auxiliary characters are missing from the font: Ʒ The following auxiliary characters are missing from the font: Ǯ The following auxiliary characters are missing from the font: ʒ The following auxiliary characters are missing from the font: ǯ Auxiliary orthography codepoints: * de_Latn (German) The following auxiliary characters are missing from the font: ſ * fr_Latn (French) Auxiliary orthography codepoints: * ca_Latn (Catalan) The following auxiliary characters are missing from the font: Ŀ The following auxiliary characters are missing from the font: ŀ Auxiliary orthography codepoints: * en_Latn (English) The following auxiliary characters are missing from the font: ʻ
Font has correct separator glyphs?
⚠️ PaperMono-Regular.ttf
-
⚠️ WARN
The following separator glyphs are missing:
- U+2028
- U+2029
Licensing Checks
Copyright notices match canonical pattern in fonts
🔥 ttf
-
🔥 FAIL
PaperMono-Regular.ttf: Name Table entry: Copyright notices should match a pattern similar to:
"Copyright 2020 The Familyname Project Authors (git url)"
But instead we have got:
"copyright 2025 the paper mono project authors https://github.com/paper-design/paper-mono"
[code: bad-notice-format]
Repository Checks
Directory name in GFonts repo structure must match NameID 1 of the regular.
🔥 PaperMono-Regular.ttf
-
🔥 FAIL
Family name on the name table ('Paper Mono') does not match directory name in the repo structure ('ttf'). Expected 'papermono'.
[code: mismatch]
Font File Checks
Check font names are correct
🔥 PaperMono-Regular.ttf
-
🔥 FAIL
Font names are incorrect:
Name Current Expected Family Name Paper Mono Paper Mono Subfamily Name Regular Regular Full Name Paper Mono Regular Paper Mono Regular Postscript Name PaperMono-Regular PaperMono-Regular Typographic Family Name Paper Mono N/A Typographic Subfamily Name N/A N/A
Ensure fonts have ScriptLangTags declared on the 'meta' table.
🔥 PaperMono-Regular.ttf
-
🔥 FAIL
Please specify which languages and scripts this font supports.
[code: missing-slng-tag]
Version format is correct in 'name' table?
🔥 PaperMono-Regular.ttf
-
🔥 FAIL
The NameID.VERSION_STRING (nameID=5) value must follow the pattern "Version X.Y" with X.Y greater than or equal to 1.000.
The "Version" prefix is a recommendation given by the OpenType spec.
Current version string is: "Version 0.100; ttfautohint (v1.8.4.16-eb64)"
[code: bad-version-strings]
Checking OS/2 achVendID.
⚠️ PaperMono-Regular.ttf
-
⚠️ WARN
OS/2 VendorID value 'PAPR' 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]
Shaping Checks
Ensure dotted circle glyph is present and can attach marks.
⚠️ PaperMono-Regular.ttf
-
⚠️ WARN
No dotted circle glyph present
[code: missing-dotted-circle]
Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
⚠️ PaperMono-Regular.ttf
-
⚠️ 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:
-
į̵̒
-
į̷̒
-
į̧́
-
į̧̄
-
į̧̊
-
į̧̂
-
į̧̋
-
į̧̒
-
į̧̇
-
į̧̃
-
į̧̈
-
į̧̀
-
į̧̆
-
į̧̌
-
į̦́
-
į̦̄
-
į̦̊
-
į̦̂
-
į̦̋
-
į̦̒
-
į̦̇
-
į̦̃
-
į̦̈
-
į̦̀
-
į̦̆
-
į̦̌
-
į̸̒
-
į̨́
-
į̨̄
-
į̨̊
-
į̨̂
-
į̨̋
-
į̨̒
-
į̨̇
-
į̨̃
-
į̨̈
-
į̨̀
-
į̨̆
-
į̨̌
-
į̶́
-
į̶̄
-
į̶̊
-
į̶̂
-
į̶̋
-
į̶̒
-
į̶̇
-
į̶̃
-
į̶̈
-
į̶̀
-
į̶̆
-
į̶̌
-
į̊
-
į̋
-
į̒
-
į̇
-
į̈
-
į̆
-
Outline Checks
Are there any misaligned on-curve points?
⚠️ PaperMono-Regular.ttf
-
⚠️ WARN
The following glyphs have on-curve points which have potentially incorrect y coordinates:
-
- Uogonek (U+0172): X=407,Y=1 (should be at baseline 0?)
-
- adieresis (U+00E4): X=368.5,Y=738.5 (should be at cap-height 740?)
-
- adieresis (U+00E4): X=452,Y=738.5 (should be at cap-height 740?)
-
- adieresis (U+00E4): X=172.5,Y=738.5 (should be at cap-height 740?)
-
- adieresis (U+00E4): X=256,Y=738.5 (should be at cap-height 740?)
-
- edieresis (U+00EB): X=372.5,Y=738.5 (should be at cap-height 740?)
-
- edieresis (U+00EB): X=456,Y=738.5 (should be at cap-height 740?)
-
- edieresis (U+00EB): X=176.5,Y=738.5 (should be at cap-height 740?)
-
- edieresis (U+00EB): X=260,Y=738.5 (should be at cap-height 740?)
-
- f (U+0066): X=278.5,Y=742 (should be at cap-height 740?)
-
- g (U+0067): X=456,Y=-2 (should be at baseline 0?)
-
- g (U+0067): X=540,Y=-2 (should be at baseline 0?)
-
- gbreve (U+011F): X=456,Y=-2 (should be at baseline 0?)
-
- gbreve (U+011F): X=540,Y=-2 (should be at baseline 0?)
-
- gcaron (U+01E7): X=456,Y=-2 (should be at baseline 0?)
-
- gcaron (U+01E7): X=540,Y=-2 (should be at baseline 0?)
-
- gcircumflex (U+011D): X=456,Y=-2 (should be at baseline 0?)
-
- gcircumflex (U+011D): X=540,Y=-2 (should be at baseline 0?)
-
- uni0123 (U+0123): X=456,Y=-2 (should be at baseline 0?)
-
- uni0123 (U+0123): X=540,Y=-2 (should be at baseline 0?)
-
- gdotaccent (U+0121): X=456,Y=-2 (should be at baseline 0?)
-
- gdotaccent (U+0121): X=540,Y=-2 (should be at baseline 0?)
-
- uni1E21 (U+1E21): X=456,Y=-2 (should be at baseline 0?)
-
- uni1E21 (U+1E21): X=540,Y=-2 (should be at baseline 0?)
-
- uni01E5 (U+01E5): X=456,Y=-2 (should be at baseline 0?)
-
- uni01E5 (U+01E5): X=540,Y=-2 (should be at baseline 0?)
-
- idieresis (U+00EF): X=389.5,Y=738.5 (should be at cap-height 740?)
-
- idieresis (U+00EF): X=473,Y=738.5 (should be at cap-height 740?)
-
- idieresis (U+00EF): X=193.5,Y=738.5 (should be at cap-height 740?)
-
- idieresis (U+00EF): X=277,Y=738.5 (should be at cap-height 740?)
-
- odieresis (U+00F6): X=366.5,Y=738.5 (should be at cap-height 740?)
-
- odieresis (U+00F6): X=450,Y=738.5 (should be at cap-height 740?)
-
- odieresis (U+00F6): X=170.5,Y=738.5 (should be at cap-height 740?)
-
- odieresis (U+00F6): X=254,Y=738.5 (should be at cap-height 740?)
-
- germandbls (U+00DF): X=230,Y=-2 (should be at baseline 0?)
-
- t (U+0074): X=540,Y=-2 (should be at baseline 0?)
-
- tbar (U+0167): X=540,Y=-2 (should be at baseline 0?)
-
- tcaron (U+0165): X=540,Y=-2 (should be at baseline 0?)
-
- uni0163 (U+0163): X=540,Y=-2 (should be at baseline 0?)
-
- uni021B (U+021B): X=540,Y=-2 (should be at baseline 0?)
-
- udieresis (U+00FC): X=365.5,Y=738.5 (should be at cap-height 740?)
-
- udieresis (U+00FC): X=449,Y=738.5 (should be at cap-height 740?)
-
- udieresis (U+00FC): X=169.5,Y=738.5 (should be at cap-height 740?)
-
- udieresis (U+00FC): X=253,Y=738.5 (should be at cap-height 740?)
-
- wdieresis (U+1E85): X=366.5,Y=738.5 (should be at cap-height 740?)
-
- wdieresis (U+1E85): X=450,Y=738.5 (should be at cap-height 740?)
-
- wdieresis (U+1E85): X=170.5,Y=738.5 (should be at cap-height 740?)
-
- wdieresis (U+1E85): X=254,Y=738.5 (should be at cap-height 740?)
-
- ydieresis (U+00FF): X=365.5,Y=738.5 (should be at cap-height 740?)
-
- ydieresis (U+00FF): X=449,Y=738.5 (should be at cap-height 740?)
-
- ydieresis (U+00FF): X=169.5,Y=738.5 (should be at cap-height 740?)
-
- ydieresis (U+00FF): X=253,Y=738.5 (should be at cap-height 740?)
-
- a.ss01: X=524,Y=-2 (should be at baseline 0?)
-
- aacute.ss01: X=524,Y=-2 (should be at baseline 0?)
-
- abreve.ss01: X=524,Y=-2 (should be at baseline 0?)
-
- uni01CE.ss01: X=524,Y=-2 (should be at baseline 0?)
-
- acircumflex.ss01: X=524,Y=-2 (should be at baseline 0?)
-
- adieresis.ss01: X=524,Y=-2 (should be at baseline 0?)
-
- adieresis.ss01: X=359.5,Y=738.5 (should be at cap-height 740?)
-
- adieresis.ss01: X=443,Y=738.5 (should be at cap-height 740?)
-
- adieresis.ss01: X=163.5,Y=738.5 (should be at cap-height 740?)
-
- adieresis.ss01: X=247,Y=738.5 (should be at cap-height 740?)
-
- agrave.ss01: X=524,Y=-2 (should be at baseline 0?)
-
- amacron.ss01: X=524,Y=-2 (should be at baseline 0?)
-
- aogonek.ss01: X=524,Y=-2 (should be at baseline 0?)
-
- aring.ss01: X=524,Y=-2 (should be at baseline 0?)
-
- atilde.ss01: X=524,Y=-2 (should be at baseline 0?)
-
- adieresis.ss02: X=337.5,Y=738.5 (should be at cap-height 740?)
-
- adieresis.ss02: X=421,Y=738.5 (should be at cap-height 740?)
-
- adieresis.ss02: X=141.5,Y=738.5 (should be at cap-height 740?)
-
- adieresis.ss02: X=225,Y=738.5 (should be at cap-height 740?)
-
- fi (U+FB01): X=137.5,Y=742 (should be at cap-height 740?)
-
- fl (U+FB02): X=137.5,Y=742 (should be at cap-height 740?)
-
- seven.dnom: X=228,Y=1 (should be at baseline 0?)
-
- seven.dnom: X=298,Y=1 (should be at baseline 0?)
-
- uni2083 (U+2083): X=166,Y=2 (should be at baseline 0?)
-
- uni2083 (U+2083): X=232,Y=2 (should be at baseline 0?)
-
- braceleft (U+007B): X=348.5,Y=739 (should be at cap-height 740?)
-
- braceleft (U+007B): X=348.5,Y=1 (should be at baseline 0?)
-
- braceright (U+007D): X=271.5,Y=1 (should be at baseline 0?)
-
- braceright (U+007D): X=271.5,Y=739 (should be at cap-height 740?)
-
- florin (U+0192): X=540,Y=739 (should be at cap-height 740?)
-
- florin (U+0192): X=174,Y=-1 (should be at baseline 0?)
-
- at (U+0040): X=215.5,Y=1.5 (should be at baseline 0?)
-
- dollar (U+0024): X=279,Y=1 (should be at baseline 0?)
-
- dollar (U+0024): X=279,Y=738 (should be at cap-height 740?)
-
- dollar (U+0024): X=353,Y=738 (should be at cap-height 740?)
-
- dollar (U+0024): X=353,Y=2 (should be at baseline 0?)
-
- Euro (U+20AC): X=560,Y=738 (should be at cap-height 740?)
-
- Euro (U+20AC): X=560,Y=2 (should be at baseline 0?)
-
- uni00B5 (U+00B5): X=218,Y=-2 (should be at baseline 0?)
-
- uni0308 (U+0308): X=366.5,Y=738.5 (should be at cap-height 740?)
-
- uni0308 (U+0308): X=450,Y=738.5 (should be at cap-height 740?)
-
- uni0308 (U+0308): X=170.5,Y=738.5 (should be at cap-height 740?)
-
- uni0308 (U+0308): X=254,Y=738.5 (should be at cap-height 740?)
-
- dieresis (U+00A8): X=366.5,Y=738.5 (should be at cap-height 740?)
-
- dieresis (U+00A8): X=450,Y=738.5 (should be at cap-height 740?)
-
- dieresis (U+00A8): X=170.5,Y=738.5 (should be at cap-height 740?)
-
- dieresis (U+00A8): X=254,Y=738.5 (should be at cap-height 740?)
-
Do any segments have colinear vectors?
⚠️ PaperMono-Regular.ttf
-
⚠️ WARN
The following glyphs have colinear vectors:
- uniA78B (U+A78B): Line { p0: (276.0, 380.0), p1: (266.0, 600.0) } -> Line { p0: (266.0, 600.0), p1: (266.0, 740.0) }
- uniA78B (U+A78B): Line { p0: (354.0, 740.0), p1: (354.0, 600.0) } -> Line { p0: (354.0, 600.0), p1: (344.0, 380.0) }
- uniA78C (U+A78C): Line { p0: (276.0, 418.0), p1: (266.0, 638.0) } -> Line { p0: (266.0, 638.0), p1: (266.0, 778.0) }
- uniA78C (U+A78C): Line { p0: (354.0, 778.0), p1: (354.0, 638.0) } -> Line { p0: (354.0, 638.0), p1: (344.0, 418.0) }
Do outlines contain any jaggy segments?
⚠️ PaperMono-Regular.ttf
-
⚠️ WARN
The following glyphs have jaggy segments:
- six (U+0036): Quad(QuadBez { p0: (182.5, 400.0), p1: (177.0, 390.0), p2: (174.0, 383.0) })/Quad(QuadBez { p0: (174.0, 383.0), p1: (183.0, 396.0), p2: (204.0, 416.5) }) = 11.496563017585768
- nine (U+0039): Quad(QuadBez { p0: (437.5, 340.0), p1: (443.0, 350.0), p2: (446.0, 357.0) })/Quad(QuadBez { p0: (446.0, 357.0), p1: (437.0, 344.0), p2: (416.0, 323.5) }) = 11.496563017585768
- trademark (U+2122): Line(Line { p0: (526.0, 390.0), p1: (526.0, 656.0) })/Line(Line { p0: (526.0, 656.0), p1: (470.0, 428.0) }) = 13.799485396019389
- trademark (U+2122): Line(Line { p0: (426.0, 428.0), p1: (370.0, 656.0) })/Line(Line { p0: (370.0, 656.0), p1: (370.0, 390.0) }) = 13.799485396019389
- uni2116 (U+2116): Line(Line { p0: (140.0, 740.0), p1: (242.0, 195.0) })/Line(Line { p0: (242.0, 195.0), p1: (242.0, 740.0) }) = 10.600611698467386
- uni2116 (U+2116): Line(Line { p0: (220.0, 0.0), p1: (118.0, 545.0) })/Line(Line { p0: (118.0, 545.0), p1: (118.0, 0.0) }) = 10.600611698467386
Do outlines contain any semi-vertical or semi-horizontal lines?
⚠️ PaperMono-Regular.ttf
-
⚠️ WARN
The following glyphs have semi-vertical/semi-horizontal lines:
- uni2197 (U+2197): Line(Line { p0: (488.0, 142.0), p1: (487.0, 470.0) })
- uni2198 (U+2198): Line(Line { p0: (104.0, 170.0), p1: (432.0, 171.0) })
- uni2199 (U+2199): Line(Line { p0: (188.0, 171.0), p1: (516.0, 170.0) })
- uni2196 (U+2196): Line(Line { p0: (133.0, 470.0), p1: (132.0, 142.0) })
Are any segments inordinately short?
⚠️ PaperMono-Regular.ttf
-
⚠️ WARN
The following glyphs have short segments:
- at (U+0040) contains a short segment Quad(QuadBez { p0: (476.0, 174.0), p1: (489.0, 174.0), p2: (501.5, 187.5) })
- lozenge (U+25CA) contains a short segment Line(Line { p0: (259.0, -18.0), p1: (260.0, -16.0) })
- lozenge (U+25CA) contains a short segment Line(Line { p0: (260.0, 689.0), p1: (259.0, 690.0) })
- lozenge (U+25CA) contains a short segment Line(Line { p0: (259.0, 690.0), p1: (260.0, 690.0) })
- lozenge (U+25CA) contains a short segment Line(Line { p0: (260.0, 690.0), p1: (261.0, 691.0) })
- lozenge (U+25CA) contains a short segment Line(Line { p0: (361.0, 691.0), p1: (360.0, 689.0) })
- lozenge (U+25CA) contains a short segment Line(Line { p0: (360.0, -16.0), p1: (361.0, -17.0) })
- lozenge (U+25CA) contains a short segment Line(Line { p0: (361.0, -17.0), p1: (360.0, -17.0) })
- lozenge (U+25CA) contains a short segment Line(Line { p0: (360.0, -17.0), p1: (359.0, -18.0) })