Fontbakery Technical Report

If you think a check is flawed or have an idea for a check, please file an issue at https://github.com/fonttools/fontbakery/issues and remember to include a pointer to the repo and branch you're checking.

Summary

💥 ERROR 🔥 FAIL ⚠️ WARN ⏩ SKIP ℹ️ INFO ✅ PASS
0 22 15 81 7 116
0% 12% 8% 43% 4% 61%

Note: The following loglevels were omitted in this report: SKIP, INFO, PASS, DEBUG

Meaning of check results:

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!)

FontBakery version: 0.9.2

Section: Google Fonts

🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩⏩ℹ️ℹ️ℹ️ℹ️ℹ️

Checking file is named canonically.

Check ID: <FontBakeryCheck:com.google.fonts/check/canonical_filename>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    Expected "PTMono-Regular.ttf. Got PTM55FT.ttf. [code: bad-filename]

Does DESCRIPTION file contain a upstream Git repo URL?

Check ID: <FontBakeryCheck:com.google.fonts/check/description/git_url>
🔥 PTM55FT.ttf
  • 🔥 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]

DESCRIPTION.en_us.html should end in a linebreak.

Check ID: <FontBakeryCheck:com.google.fonts/check/description/eof_linebreak>
⚠️ PTM55FT.ttf
  • ⚠️ WARN

    The last characther on DESCRIPTION.en_us.html is not a line-break. Please add it. [code: missing-eof-linebreak]

Check Google Fonts glyph coverage.

Check ID: <FontBakeryCheck:com.google.fonts/check/glyph_coverage>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    Missing required codepoints:

    - 0x0308 (COMBINING DIAERESIS)
    
    
    - 0x0300 (COMBINING GRAVE ACCENT)
    
    
    - 0x030B (COMBINING DOUBLE ACUTE ACCENT)
    
    
    - 0x0304 (COMBINING MACRON)
    
    
    - 0x010A (LATIN CAPITAL LETTER C WITH DOT ABOVE)
    
    
    - 0x0120 (LATIN CAPITAL LETTER G WITH DOT ABOVE)
    
    
    - 0x0132 (LATIN CAPITAL LIGATURE IJ)
    
    
    - 0x014A (LATIN CAPITAL LETTER ENG)
    
    
    - 0x1E82 (LATIN CAPITAL LETTER W WITH ACUTE)
    
    
    - 0x0174 (LATIN CAPITAL LETTER W WITH CIRCUMFLEX)
    
    
    - 0x1E84 (LATIN CAPITAL LETTER W WITH DIAERESIS)
    
    
    - 0x1E80 (LATIN CAPITAL LETTER W WITH GRAVE)
    
    
    - 0x0176 (LATIN CAPITAL LETTER Y WITH CIRCUMFLEX)
    
    
    - 0x1EF2 (LATIN CAPITAL LETTER Y WITH GRAVE)
    
    
    - 0x010B (LATIN SMALL LETTER C WITH DOT ABOVE)
    
    
    - 0x0121 (LATIN SMALL LETTER G WITH DOT ABOVE)
    
    
    - 0x0133 (LATIN SMALL LIGATURE IJ)
    
    
    - 0x014B (LATIN SMALL LETTER ENG)
    
    
    - 0x1E83 (LATIN SMALL LETTER W WITH ACUTE)
    
    
    - 0x0175 (LATIN SMALL LETTER W WITH CIRCUMFLEX)
    
    
    - 0x1E85 (LATIN SMALL LETTER W WITH DIAERESIS)
    
    
    - 0x1E81 (LATIN SMALL LETTER W WITH GRAVE)
    
    
    - 0x0177 (LATIN SMALL LETTER Y WITH CIRCUMFLEX)
    
    
    - 0x1EF3 (LATIN SMALL LETTER Y WITH GRAVE)
    
    
    - 0x0307 (COMBINING DOT ABOVE)
    
    
    - 0x0302 (COMBINING CIRCUMFLEX ACCENT)
    
    
    - 0x030C (COMBINING CARON)
    
    
    - 0x0306 (COMBINING BREVE)
    
    
    - 0x030A (COMBINING RING ABOVE)
    
    
    - 0x0303 (COMBINING TILDE)
    
    
    - 0x0312 (COMBINING TURNED COMMA ABOVE)
    
    
    - 0x0326 (COMBINING COMMA BELOW)
    
    
    - 0x0327 (COMBINING CEDILLA)
    
    
    - 0x0328 (COMBINING OGONEK)
    

    [code: missing-codepoints]

Check for codepoints not covered by METADATA subsets.

Check ID: <FontBakeryCheck:com.google.fonts/check/metadata/unreachable_subsetting>
⚠️ PTM55FT.ttf
  • ⚠️ 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, canadian-aboriginal
    • U+02D8 BREVE: try adding canadian-aboriginal
    • U+02D9 DOT ABOVE: try adding canadian-aboriginal
    • U+02DB OGONEK: try adding canadian-aboriginal
    • U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition
    • U+0301 COMBINING ACUTE ACCENT: try adding one of: cherokee, tifinagh, tai-le, coptic
    • U+0394 GREEK CAPITAL LETTER DELTA: try adding greek
    • U+03A9 GREEK CAPITAL LETTER OMEGA: try adding greek
    • U+03BC GREEK SMALL LETTER MU: try adding greek
    • U+03C0 GREEK SMALL LETTER PI: try adding greek
    • U+2011 NON-BREAKING HYPHEN: try adding one of: syloti-nagri, arabic
    • U+2021 DOUBLE DAGGER: not included in any glyphset definition
    • U+2030 PER MILLE SIGN: not included in any glyphset definition
    • U+2081 SUBSCRIPT ONE: not included in any glyphset definition
    • U+2082 SUBSCRIPT TWO: not included in any glyphset definition
    • U+2083 SUBSCRIPT THREE: not included in any glyphset definition
    • U+2084 SUBSCRIPT FOUR: not included in any glyphset definition
    • U+2126 OHM SIGN: not included in any glyphset definition
    • U+212E ESTIMATED SYMBOL: not included in any glyphset definition
    • U+2190 LEFTWARDS ARROW: not included in any glyphset definition
    • U+2192 RIGHTWARDS ARROW: not included in any glyphset definition
    • U+2194 LEFT RIGHT ARROW: not included in any glyphset definition
    • U+2195 UP DOWN ARROW: not included in any glyphset definition
    • U+21A8 UP DOWN ARROW WITH BASE: not included in any glyphset definition
    • U+2202 PARTIAL DIFFERENTIAL: not included in any glyphset definition
    • U+2206 INCREMENT: not included in any glyphset definition
    • U+220F N-ARY PRODUCT: not included in any glyphset definition
    • U+2211 N-ARY SUMMATION: not included in any glyphset definition
    • U+221A SQUARE ROOT: not included in any glyphset definition
    • U+221E INFINITY: not included in any glyphset definition
    • U+221F RIGHT ANGLE: not included in any glyphset definition
    • U+2229 INTERSECTION: not included in any glyphset definition
    • U+222A UNION: not included in any glyphset definition
    • U+222B INTEGRAL: not included in any glyphset definition
    • U+2248 ALMOST EQUAL TO: not included in any glyphset definition
    • U+2260 NOT EQUAL TO: not included in any glyphset definition
    • U+2261 IDENTICAL TO: not included in any glyphset definition
    • U+2264 LESS-THAN OR EQUAL TO: not included in any glyphset definition
    • U+2265 GREATER-THAN OR EQUAL TO: not included in any glyphset definition
    • U+2302 HOUSE: not included in any glyphset definition
    • U+2310 REVERSED NOT SIGN: not included in any glyphset definition
    • U+2320 TOP HALF INTEGRAL: not included in any glyphset definition
    • U+2321 BOTTOM HALF INTEGRAL: not included in any glyphset definition
    • U+2500 BOX DRAWINGS LIGHT HORIZONTAL: not included in any glyphset definition
    • U+2502 BOX DRAWINGS LIGHT VERTICAL: not included in any glyphset definition
    • U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT: not included in any glyphset definition
    • U+2510 BOX DRAWINGS LIGHT DOWN AND LEFT: not included in any glyphset definition
    • U+2514 BOX DRAWINGS LIGHT UP AND RIGHT: not included in any glyphset definition
    • U+2518 BOX DRAWINGS LIGHT UP AND LEFT: not included in any glyphset definition
    • U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT: not included in any glyphset definition
    • U+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT: not included in any glyphset definition
    • U+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL: not included in any glyphset definition
    • U+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL: not included in any glyphset definition
    • U+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL: not included in any glyphset definition
    • U+2550 BOX DRAWINGS DOUBLE HORIZONTAL: not included in any glyphset definition
    • U+2551 BOX DRAWINGS DOUBLE VERTICAL: not included in any glyphset definition
    • U+2552 BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE: not included in any glyphset definition
    • U+2553 BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE: not included in any glyphset definition
    • U+2554 BOX DRAWINGS DOUBLE DOWN AND RIGHT: not included in any glyphset definition
    • U+2555 BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE: not included in any glyphset definition
    • U+2556 BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE: not included in any glyphset definition
    • U+2557 BOX DRAWINGS DOUBLE DOWN AND LEFT: not included in any glyphset definition
    • U+2558 BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE: not included in any glyphset definition
    • U+2559 BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE: not included in any glyphset definition
    • U+255A BOX DRAWINGS DOUBLE UP AND RIGHT: not included in any glyphset definition
    • U+255B BOX DRAWINGS UP SINGLE AND LEFT DOUBLE: not included in any glyphset definition
    • U+255C BOX DRAWINGS UP DOUBLE AND LEFT SINGLE: not included in any glyphset definition
    • U+255D BOX DRAWINGS DOUBLE UP AND LEFT: not included in any glyphset definition
    • U+255E BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE: not included in any glyphset definition
    • U+255F BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE: not included in any glyphset definition
    • U+2560 BOX DRAWINGS DOUBLE VERTICAL AND RIGHT: not included in any glyphset definition
    • U+2561 BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE: not included in any glyphset definition
    • U+2562 BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE: not included in any glyphset definition
    • U+2563 BOX DRAWINGS DOUBLE VERTICAL AND LEFT: not included in any glyphset definition
    • U+2564 BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE: not included in any glyphset definition
    • U+2565 BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE: not included in any glyphset definition
    • U+2566 BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL: not included in any glyphset definition
    • U+2567 BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE: not included in any glyphset definition
    • U+2568 BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE: not included in any glyphset definition
    • U+2569 BOX DRAWINGS DOUBLE UP AND HORIZONTAL: not included in any glyphset definition
    • U+256A BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE: not included in any glyphset definition
    • U+256B BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE: not included in any glyphset definition
    • U+256C BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL: not included in any glyphset definition
    • U+2580 UPPER HALF BLOCK: not included in any glyphset definition
    • U+2584 LOWER HALF BLOCK: not included in any glyphset definition
    • U+2588 FULL BLOCK: not included in any glyphset definition
    • U+258C LEFT HALF BLOCK: not included in any glyphset definition
    • U+2590 RIGHT HALF BLOCK: not included in any glyphset definition
    • U+2591 LIGHT SHADE: not included in any glyphset definition
    • U+2592 MEDIUM SHADE: not included in any glyphset definition
    • U+2593 DARK SHADE: not included in any glyphset definition
    • U+25A0 BLACK SQUARE: not included in any glyphset definition
    • U+25A1 WHITE SQUARE: not included in any glyphset definition
    • U+25AA BLACK SMALL SQUARE: not included in any glyphset definition
    • U+25AB WHITE SMALL SQUARE: not included in any glyphset definition
    • U+25AC BLACK RECTANGLE: not included in any glyphset definition
    • U+25B2 BLACK UP-POINTING TRIANGLE: not included in any glyphset definition
    • U+25BA BLACK RIGHT-POINTING POINTER: not included in any glyphset definition
    • U+25BC BLACK DOWN-POINTING TRIANGLE: not included in any glyphset definition
    • U+25C4 BLACK LEFT-POINTING POINTER: not included in any glyphset definition
    • U+25CA LOZENGE: not included in any glyphset definition
    • U+25CB WHITE CIRCLE: not included in any glyphset definition
    • U+25CF BLACK CIRCLE: not included in any glyphset definition
    • U+25D8 INVERSE BULLET: not included in any glyphset definition
    • U+25D9 INVERSE WHITE CIRCLE: not included in any glyphset definition
    • U+25E6 WHITE BULLET: not included in any glyphset definition
    • U+263A WHITE SMILING FACE: not included in any glyphset definition
    • U+263B BLACK SMILING FACE: not included in any glyphset definition
    • U+263C WHITE SUN WITH RAYS: not included in any glyphset definition
    • U+2640 FEMALE SIGN: not included in any glyphset definition
    • U+2642 MALE SIGN: not included in any glyphset definition
    • U+2660 BLACK SPADE SUIT: not included in any glyphset definition
    • U+2663 BLACK CLUB SUIT: not included in any glyphset definition
    • U+2665 BLACK HEART SUIT: not included in any glyphset definition
    • U+2666 BLACK DIAMOND SUIT: not included in any glyphset definition
    • U+266A EIGHTH NOTE: not included in any glyphset definition
    • U+266B BEAMED EIGHTH NOTES: not included in any glyphset definition
    • U+F401 : not included in any glyphset definition
    • U+F406 : not included in any glyphset definition
    • U+F407 : not included in any glyphset definition
    • U+F408 : not included in any glyphset definition
    • U+F409 : not included in any glyphset definition
    • U+F40A : not included in any glyphset definition
    • U+F40B : not included in any glyphset definition
    • U+F40C : not included in any glyphset definition
    • U+F40D : not included in any glyphset definition
    • U+F40E : not included in any glyphset definition
    • U+F486 : not included in any glyphset definition
    • U+F487 : not included in any glyphset definition
    • U+F488 : not included in any glyphset definition
    • U+F489 : not included in any glyphset definition
    • U+F49E : not included in any glyphset definition
    • U+F49F : not included in any glyphset definition
    • U+F4C6 : not included in any glyphset definition
    • U+F4C7 : not included in any glyphset definition
    • U+F4CC : not included in any glyphset definition
    • U+F4CD : not included in any glyphset definition
    • U+F4D6 : not included in any glyphset definition
    • U+F4D7 : not included in any glyphset definition
    • U+F50A : not included in any glyphset definition
    • U+F50B : not included in any glyphset definition
    • U+F50C : not included in any glyphset definition
    • U+F50D : not included in any glyphset definition
    • U+F50E : not included in any glyphset definition
    • U+F50F : not included in any glyphset definition
    • U+F510 : not included in any glyphset definition
    • U+F511 : not included in any glyphset definition
    • U+F512 : not included in any glyphset definition
    • U+F513 : not included in any glyphset definition
    • U+F514 : not included in any glyphset definition
    • U+F515 : not included in any glyphset definition
    • U+F516 : not included in any glyphset definition
    • U+F517 : not included in any glyphset definition
    • U+F518 : not included in any glyphset definition
    • U+F519 : not included in any glyphset definition
    • U+F51A : not included in any glyphset definition
    • U+F51B : not included in any glyphset definition
    • U+F51C : not included in any glyphset definition
    • U+F51D : not included in any glyphset definition
    • U+F51E : not included in any glyphset definition
    • U+F51F : not included in any glyphset definition
    • U+F520 : not included in any glyphset definition
    • U+F521 : not included in any glyphset definition
    • U+F522 : not included in any glyphset definition
    • U+F523 : not included in any glyphset definition
    • U+F524 : not included in any glyphset definition
    • U+F525 : not included in any glyphset definition
    • U+F526 : not included in any glyphset definition
    • U+F527 : not included in any glyphset definition
    • U+F528 : not included in any glyphset definition
    • U+F529 : not included in any glyphset definition
    • U+F52A : not included in any glyphset definition
    • U+F52B : not included in any glyphset definition
    • U+F52C : not included in any glyphset definition
    • U+F52D : not included in any glyphset definition
    • U+F52E : not included in any glyphset definition
    • U+F52F : not included in any glyphset definition
    • U+F530 : not included in any glyphset definition
    • U+F531 : not included in any glyphset definition
    • U+F532 : not included in any glyphset definition
    • U+F533 : not included in any glyphset definition
    • U+F534 : not included in any glyphset definition
    • U+F535 : not included in any glyphset definition
    • U+F536 : not included in any glyphset definition
    • U+F537 : not included in any glyphset definition
    • U+F538 : not included in any glyphset definition
    • U+F539 : not included in any glyphset definition
    • U+F53A : not included in any glyphset definition
    • U+F53B : not included in any glyphset definition
    • U+F53C : not included in any glyphset definition
    • U+F53D : not included in any glyphset definition
    • U+F53E : not included in any glyphset definition
    • U+F53F : not included in any glyphset definition
    • U+F540 : not included in any glyphset definition
    • U+F541 : not included in any glyphset definition
    • U+F542 : not included in any glyphset definition
    • U+F543 : not included in any glyphset definition
    • U+F544 : not included in any glyphset definition
    • U+F545 : not included in any glyphset definition
    • U+F546 : not included in any glyphset definition
    • U+F547 : not included in any glyphset definition
    • U+F548 : not included in any glyphset definition
    • U+F549 : not included in any glyphset definition
    • U+F54A : not included in any glyphset definition
    • U+F54B : not included in any glyphset definition
    • U+F54C : not included in any glyphset definition
    • U+F54D : not included in any glyphset definition
    • U+F62C : not included in any glyphset definition
    • U+F62D : not included in any glyphset definition
    • U+F62E : not included in any glyphset definition
    • U+F62F : not included in any glyphset definition
    • U+F634 : not included in any glyphset definition
    • U+F635 : not included in any glyphset definition
    • U+F662 : not included in any glyphset definition
    • U+F6C3 : not included in any glyphset definition
    • U+F6C9 : not included in any glyphset definition
    • U+F6CA : not included in any glyphset definition
    • U+F6CB : not included in any glyphset definition
    • U+F6CE : not included in any glyphset definition
    • U+F6CF : not included in any glyphset definition
    • U+F6D0 : not included in any glyphset definition
    • U+F6D1 : not included in any glyphset definition
    • U+F6D4 : not included in any glyphset definition
    • U+FB01 LATIN SMALL LIGATURE FI: not included in any glyphset definition
    • U+FB02 LATIN SMALL LIGATURE FL: not included in any glyphset definition

    Or you can add the above codepoints to one of the subsets supported by the font: menu, cyrillic, cyrillic-ext, latin, latin-ext [code: unreachable-subsetting]

Substitute copyright, registered and trademark symbols in name table entries.

Check ID: <FontBakeryCheck:com.google.fonts/check/name/unwanted_chars>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    NAMEID #0 contains symbols that should be replaced by '(c)'. [code: unwanted-chars]

  • 🔥 FAIL

    NAMEID #0 contains symbols that should be replaced by '(c)'. [code: unwanted-chars]

Check license file has good copyright string.

Check ID: <FontBakeryCheck:com.google.fonts/check/license/OFL_copyright>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    First line in license file is:

    "copyright (c) 2011, paratype ltd. (http://www.paratype.com/public),"

    which does not match the expected format, similar to:

    "Copyright 2022 The Familyname Project Authors (git url)" [code: bad-format]

Check OFL body text is correct.

Check ID: <FontBakeryCheck:com.google.fonts/check/license/OFL_body_text>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    The OFL.txt body text is incorrect. Please use https://github.com/googlefonts/Unified-Font-Repository/blob/main/OFL.txt as a template. You should only modify the first line. [code: incorrect-ofl-body-text]

Check copyright namerecords match license file.

Check ID: <FontBakeryCheck:com.google.fonts/check/name/license>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 1 (MACINTOSH) is not specified for that. Value was: "Copyright (c) 2010, ParaType Ltd. (https://www.paratype.com/public), with Reserved Font Names "PT Sans", "PT Serif", "PT Mono" and "ParaType".

    This Font Software is licensed under the Open Font License, Version 1.1 This license is copied below, and is also available with a FAQ at: https://scripts.sil.org/OFL


    SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007

    PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.

    The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.

    DEFINITIONS "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.

    "Reserved Font Name" refers to any names specified as such after the copyright statement(s).

    "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).

    "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.

    "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.

    PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:

    1. Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.

    2. Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.

    3. No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.

    4. The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.

    5. The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.

    TERMINATION This license becomes null and void if any of the above conditions are not met.

    DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. " Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://scripts.sil.org/OFL" [code: wrong]

  • 🔥 FAIL

    License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 3 (WINDOWS) is not specified for that. Value was: "Copyright (c) 2010, ParaType Ltd. (https://www.paratype.com/public), with Reserved Font Names "PT Sans", "PT Serif", "PT Mono" and "ParaType".

    This Font Software is licensed under the Open Font License, Version 1.1 This license is copied below, and is also available with a FAQ at: https://scripts.sil.org/OFL


    SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007

    PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.

    The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.

    DEFINITIONS "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.

    "Reserved Font Name" refers to any names specified as such after the copyright statement(s).

    "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).

    "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.

    "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.

    PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:

    1. Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.

    2. Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.

    3. No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.

    4. The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.

    5. The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.

    TERMINATION This license becomes null and void if any of the above conditions are not met.

    DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. " Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://scripts.sil.org/OFL" [code: wrong]

  • ⚠️ WARN

    Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=13] [code: http-in-description]

  • ⚠️ WARN

    Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description]

  • ⚠️ WARN

    For now we're still accepting http URLs, but you should consider using https instead. [code: http]

License URL matches License text on name table?

Check ID: <FontBakeryCheck:com.google.fonts/check/name/license_url>
⚠️ PTM55FT.ttf
  • ⚠️ WARN

    Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=13] [code: http-in-description]

  • ⚠️ WARN

    Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description]

  • ⚠️ WARN

    Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=13] [code: http-in-description]

  • ⚠️ WARN

    Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description]

  • ⚠️ WARN

    Please consider using HTTPS URLs at name table entry [plat=1, enc=0, name=13] [code: http-in-description]

  • ⚠️ WARN

    Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description]

Description strings in the name table must not exceed 200 characters.

Check ID: <FontBakeryCheck:com.google.fonts/check/name/description_max_length>
⚠️ PTM55FT.ttf
  • ⚠️ WARN

    A few name table entries with ID=10 (NameID.DESCRIPTION) are longer than 200 characters. Please check whether those entries are copyright notices mistakenly stored in the description string entries by a bug in an old FontLab version. If that's the case, then such copyright notices must be removed from these entries. [code: too-long]

Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?

Check ID: <FontBakeryCheck:com.google.fonts/check/gasp>
⚠️ PTM55FT.ttf
  • ⚠️ WARN

    The gasp table has a range of 8 that may be unneccessary. [code: non-ffff-range]

  • ⚠️ WARN

    The gasp table has a range of 18 that may be unneccessary. [code: non-ffff-range]

  • ⚠️ WARN

    The gasp range 0xFFFF value 0x03 should be set to 0x0F. [code: unset-flags]

Are there non-ASCII characters in ASCII-only NAME table entries?

Check ID: <FontBakeryCheck:com.google.fonts/check/name/ascii_only_entries>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    Bad string at [nameID 0, 'mac_roman']: 'b'Copyright © 2010 ParaType Inc., ParaType Ltd. All rights reserved.'' [code: bad-string]

  • 🔥 FAIL

    Bad string at [nameID 0, 'utf_16_be']: 'b'Copyright © 2010 ParaType Inc., ParaType Ltd. All rights reserved.'' [code: bad-string]

  • 🔥 FAIL

    There are 2 strings containing non-ASCII characters in the ASCII-only NAME table entries. [code: non-ascii-strings]

METADATA.pb subsets should be alphabetically ordered.

Check ID: <FontBakeryCheck:com.google.fonts/check/metadata/subsets_order>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    METADATA.pb subsets are not sorted in alphabetical order: Got ['menu', 'cyrillic', 'cyrillic-ext', 'latin', 'latin-ext'] and expected ['cyrillic', 'cyrillic-ext', 'latin', 'latin-ext', 'menu'] [code: not-sorted]

METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?

Check ID: <FontBakeryCheck:com.google.fonts/check/metadata/match_fullname_postscript>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    METADATA.pb font full_name = "PT Mono" does not match post_script_name = "PTMono-Regular" [code: mismatch]

METADATA.pb font.filename and font.post_script_name fields have equivalent values?

Check ID: <FontBakeryCheck:com.google.fonts/check/metadata/match_filename_postscript>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    METADATA.pb font filename = "PTM55FT.ttf" does not match post_script_name="PTMono-Regular". [code: mismatch]

Copyright notices match canonical pattern in METADATA.pb

Check ID: <FontBakeryCheck:com.google.fonts/check/metadata/valid_copyright>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    METADATA.pb: Copyright notices should match a pattern similar to: "Copyright 2020 The Familyname Project Authors (git url)" But instead we have got: "copyright © 2010 paratype inc., paratype ltd (yakupov@paratype.com). all rights reserved." [code: bad-notice-format]

Copyright notices match canonical pattern in fonts

Check ID: <FontBakeryCheck:com.google.fonts/check/font_copyright>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    Name Table entry: Copyright notices should match a pattern similar to: "Copyright 2019 The Familyname Project Authors (git url)" But instead we have got: "Copyright © 2010 ParaType Inc., ParaType Ltd. All rights reserved." [code: bad-notice-format]

  • 🔥 FAIL

    Name Table entry: Copyright notices should match a pattern similar to: "Copyright 2019 The Familyname Project Authors (git url)" But instead we have got: "Copyright © 2010 ParaType Inc., ParaType Ltd. All rights reserved." [code: bad-notice-format]

Check font names are correct

Check ID: <FontBakeryCheck:com.google.fonts/check/font_names>
⚠️ PTM55FT.ttf
  • ⚠️ WARN

    Regular missing from full name [code: lacks-regular]

Copyright field for this font on METADATA.pb matches all copyright notice entries on the name table ?

Check ID: <FontBakeryCheck:com.google.fonts/check/metadata/nameid/copyright>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    Copyright field for this font on METADATA.pb ("Copyright © 2010 ParaType Inc., ParaType Ltd (yakupov@paratype.com). All rights reserved.") differs from a copyright notice entry on the name table: "Copyright © 2010 ParaType Inc., ParaType Ltd. All rights reserved." [code: mismatch]

  • 🔥 FAIL

    Copyright field for this font on METADATA.pb ("Copyright © 2010 ParaType Inc., ParaType Ltd (yakupov@paratype.com). All rights reserved.") differs from a copyright notice entry on the name table: "Copyright © 2010 ParaType Inc., ParaType Ltd. All rights reserved." [code: mismatch]

Font enables smart dropout control in "prep" table instructions?

Check ID: <FontBakeryCheck:com.google.fonts/check/smart_dropout>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    The 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the gftools fix-nonhinting script. [code: lacks-smart-dropout]

Name table entries should not contain line-breaks.

Check ID: <FontBakeryCheck:com.google.fonts/check/name/line_breaks>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    Name entry LICENSE_DESCRIPTION on platform MACINTOSH contains a line-break. [code: line-break]

  • 🔥 FAIL

    Name entry LICENSE_DESCRIPTION on platform WINDOWS contains a line-break. [code: line-break]

Directory name in GFonts repo structure must match NameID 1 of the regular.

Check ID: <FontBakeryCheck:com.google.fonts/check/repo/dirname_matches_nameid_1>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    The font seems to lack a regular. If family consists of a single-weight non-Regular style only, consider the Google Fonts specs for this case: https://github.com/googlefonts/gf-docs/tree/main/Spec#single-weight-families [code: lacks-regular]

A static fonts directory with at least two fonts must accompany variable fonts

Check ID: <FontBakeryCheck:com.google.fonts/check/repo/vf_has_static_fonts>
⚠️ PTM55FT.ttf
  • ⚠️ WARN

    Please consider adding a subdirectory called "static/" and including in it static font files. [code: missing]

Check font follows the Google Fonts vertical metric schema

Check ID: <FontBakeryCheck:com.google.fonts/check/vertical_metrics>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    The sum of hhea.ascender + abs(hhea.descender) + hhea.lineGap is 1120 when it should be at least 1200 [code: bad-hhea-range]

OS/2.fsSelection bit 7 (USE_TYPO_METRICS) is set in all fonts.

Check ID: <FontBakeryCheck:com.google.fonts/check/os2/use_typo_metrics>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    OS/2.fsSelection bit 7 (USE_TYPO_METRICS) wasNOT set in the following fonts: ['/Users/simon/others-repos/fonts/ofl/ptmono/PTM55FT.ttf']. [code: missing-os2-fsselection-bit7]

Ensure fonts have ScriptLangTags declared on the 'meta' table.

Check ID: <FontBakeryCheck:com.google.fonts/check/meta/script_lang_tags>
⚠️ PTM55FT.ttf
  • ⚠️ WARN

    This font file does not have a 'meta' table. [code: lacks-meta-table]

Section: Universal

🔥🔥🔥⚠️⚠️⚠️⏩⏩⏩⏩⏩⏩ℹ️ℹ️

Name table records must not have trailing spaces.

Check ID: <FontBakeryCheck:com.google.fonts/check/name/trailing_spaces>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    Name table record with key = (1, 0, 0, 13) has trailing spaces that must be removed: 'Copyright [...]OFTWARE. ' [code: trailing-space]

  • 🔥 FAIL

    Name table record with key = (3, 1, 1033, 13) has trailing spaces that must be removed: 'Copyright [...]OFTWARE. ' [code: trailing-space]

Checking OS/2 usWinAscent & usWinDescent.

Check ID: <FontBakeryCheck:com.google.fonts/check/family/win_ascent_and_descent>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    OS/2.usWinAscent value should be equal or greater than 915, but got 885 instead [code: ascent]

Check font contains no unreachable glyphs

Check ID: <FontBakeryCheck:com.google.fonts/check/unreachable_glyphs>
⚠️ PTM55FT.ttf
  • ⚠️ WARN

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

    - nonmarkingreturn
    

    [code: unreachable-glyphs]

Check if each glyph has the recommended amount of contours.

Check ID: <FontBakeryCheck:com.google.fonts/check/contour_count>
⚠️ PTM55FT.ttf
  • ⚠️ 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: uni00AD	Contours detected: 1	Expected: 0
    
    - Glyph name: uni20B9	Contours detected: 2	Expected: 1
    
    - Glyph name: uni20BA	Contours detected: 2	Expected: 1
    
    - Glyph name: uni20BC	Contours detected: 2	Expected: 1
    
    - Glyph name: uni20BF	Contours detected: 2	Expected: 3
    
    - Glyph name: SF510000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF520000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF220000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF210000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF500000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF490000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF280000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF270000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF360000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF190000	Contours detected: 1	Expected: 2
    
    - Glyph name: ltshade	Contours detected: 36	Expected: 46
    
    - Glyph name: shade	Contours detected: 72	Expected: 85
    
    - Glyph name: dkshade	Contours detected: 61	Expected: 73
    
    - Glyph name: SF190000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF210000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF220000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF270000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF280000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF360000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF490000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF500000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF510000	Contours detected: 1	Expected: 2
    
    - Glyph name: SF520000	Contours detected: 1	Expected: 2
    
    - Glyph name: dkshade	Contours detected: 61	Expected: 73
    
    - Glyph name: fi	Contours detected: 1	Expected: 3
    
    - Glyph name: fl	Contours detected: 1	Expected: 2
    
    - Glyph name: ltshade	Contours detected: 36	Expected: 46
    
    - Glyph name: shade	Contours detected: 72	Expected: 85
    
    - Glyph name: uni00AD	Contours detected: 1	Expected: 0
    
    - Glyph name: uni20B9	Contours detected: 2	Expected: 1
    
    - Glyph name: uni20BA	Contours detected: 2	Expected: 1
    
    - Glyph name: uni20BC	Contours detected: 2	Expected: 1
    
    - Glyph name: uni20BF	Contours detected: 2	Expected: 3
    

    [code: contour-count]

Does the font contain a soft hyphen?

Check ID: <FontBakeryCheck:com.google.fonts/check/soft_hyphen>
⚠️ PTM55FT.ttf
  • ⚠️ WARN

    This font has a 'Soft Hyphen' character. [code: softhyphen]

Ensure component transforms do not perform scaling or rotation.

Check ID: <FontBakeryCheck:com.google.fonts/check/transformed_components>
🔥 PTM55FT.ttf
  • 🔥 FAIL

    The following glyphs had components with scaling or rotation or inverted outline direction:

    • gcommaaccent (component uniF6C3)
    • union (component intersection)
    • integralbt (component integraltp) [code: transformed-components]

Section: fontbakery.profiles.name

⚠️⏩⏩

Checking correctness of monospaced metadata.

Check ID: <FontBakeryCheck:com.google.fonts/check/monospace>
⚠️ PTM55FT.ttf
  • ⚠️ WARN

    The OpenType spec recomments at https://learn.microsoft.com/en-us/typography/opentype/spec/recom#hhea-table that hhea.numberOfHMetrics be set to 3 but this font has 808 instead. Please read https://github.com/fonttools/fonttools/issues/3014 to decide whether this makes sense for your font. [code: bad-numberOfHMetrics]

Section: fontbakery.profiles.dsig

⚠️

Does the font have a DSIG table?

Check ID: <FontBakeryCheck:com.google.fonts/check/dsig>
⚠️ PTM55FT.ttf
  • ⚠️ WARN

    This font has a digital signature (DSIG table) which is only required - even if only a placeholder - on old programs like MS Office 2013 in order to work properly. The current recommendation is to completely remove the DSIG table. [code: found-DSIG]

Section: fontbakery.profiles.glyf

⚠️

Check for points out of bounds.

Check ID: <FontBakeryCheck:com.google.fonts/check/points_out_of_bounds>
⚠️ PTM55FT.ttf
  • ⚠️ WARN

    The following glyphs have coordinates which are out of bounds: * ('gcommaaccent', 339.01690673828125, 741.9856567382812) * ('integralbt', 263.0205078125, 884.9856567382812) and ('integralbt', 335.01611328125, 884.9856567382812)

    This happens a lot when points are not extremes, which is usually bad. However, fixing this alert by adding points on extremes may do more harm than good, especially with italics, calligraphic-script, handwriting, rounded and other fonts. So it is common to ignore this message. [code: points-out-of-bounds]

Section: Shaping Checks

⚠️⏩⏩⏩⏩

Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.

Check ID: <FontBakeryCheck:com.google.fonts/check/soft_dotted>
⚠️ PTM55FT.ttf
  • ⚠️ WARN

    The dot of soft dotted characters used in orthographies must disappear in the following strings: j́ į́ і́

    The dot of soft dotted characters should disappear in other cases, for example: ј́

    Your font does not cover the following languages that require the soft-dotted feature: Dutch (Latn, 31,709,104 speakers), Igbo (Latn, 27,823,640 speakers), Aghem (Latn, 38,843 speakers), Belarusian (Cyrl, 10,064,517 speakers), Lithuanian (Latn, 2,357,094 speakers), Basaa (Latn, 332,940 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Navajo (Latn, 166,319 speakers). [code: soft-dotted]