Closed RosaWagner closed 4 years ago
Comments re each FAIL and WARN
FAIL: Do we have the latest version of FontBakery installed?
We can't help you with that, though I know that if you are running from source this test fails
FAIL: Check
Google Fonts Latin Core
glyph coverage. FAIL Missing required codepoints: 0x2074 (SUPERSCRIPT FOUR) and 0x2215 (DIVISION SLASH) [code: missing-codepoints]
What can I find the rationale for requiring these?
FAIL: Check license file has good copyright string. FAIL First line in license file does not match expected format: "copyright (c) 2007-2008, the c&ma guinea fulbe team;"
The first line of the license is the copyright, as required by OFL, but this font has multiple copyright holders and multiple copyright date ranges. As such the copyright notice cannot possibly match the pattern fontbakery requires.
FAIL: Check copyright namerecords match license file. 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) 2007-2008, The C&MA Guinea Fulbe Team;...
We are following SIL OFL guidelines (see "Using the OFL" section):
FAIL: Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? FAIL Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
Autohinting negatively impacts the rendering of this Arabic font so we disabled it.
FAIL: Copyright notices match canonical pattern in fonts 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 (c) 2007-2008, The C&MA Guinea Fulbe Team; Copyright renewed 2011-2012, George W. Nuss (http://www.fulbefouta.com), with the Reserved Font Name "Fouta". Copyright (c) 2004-2020, SIL International (http://www.sil.org), with Reserved Font Names 'Andika' and 'SIL'. Copyright (c) 2014-2020, SIL International (http://www.sil.org/). with Reserved Font Names "Harmattan" and "SIL"." [code: bad-notice-format]
As mentioned above, this font has multiple copyright holders and multiple copyright date ranges; the copyright notice cannot possibly match the pattern fontbakery requires.
FAIL: Font enables smart dropout control in "prep" table instructions? 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.
As mentioned above, autohinting negatively impacts the rendering of this Arabic font so we disabled it.
FAIL: Are there caret positions declared for every ligature? FAIL Failed to lookup ligatures. This font file seems to be malformed. For more info, read: googlefonts/fontbakery#1596 [code: malformed]
Caret positions would be required only for ligatures of base characters, and there are no base-character ligatures defined in Harmattan. This looks to be a problem in fonttools.
FAIL: Name table entries should not contain line-breaks. FAIL Name entry COPYRIGHT_NOTICE on platform WINDOWS contains a line-break. [code: line-break] FAIL Name entry LICENSE_DESCRIPTION on platform WINDOWS contains a line-break. [code: line-break]
There is nothing that prohibits line-break characters from name table entries, and as mentioned above, we are following SIL OFL guidelines.
FAIL: Name table strings must not contain the string 'Reserved Font Name'.
Per the 2017 agreement, SIL fonts hosted on Google can retain their RFNs.
FAIL: Check if the vertical metrics of a family are similar to the same family hosted on Google Fonts.
We increased vertical metrics to account for additional characters and addition of bold. See https://github.com/google/fonts/issues/2509#issue comment-651189975
FAIL: Checking OS/2 usWinAscent & usWinDescent. FAIL OS/2.usWinAscent value should be equal or greater than 2176, but got 2166 instead [code: ascent]
In Regular, no glyphs that have yMax greater than 2166. In Bold, only one glyph has yMax greater than 2166, namely uni064F06E2. This glyph is a zero-width ligature of two zero-width combining marks and thus, when used, is attached to a base character. Thus the actual position of this glyph on the em-square is of no consequence.
FAIL: Does the font have a DSIG table? FAIL This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly. You can add a DSIG table by running the gftools fix-dsig script. [code: lacks-signature]
There are no known applications that require a DSIG for Arabic script. This font works fine with Word 2013 which is the one known application that requires a DSIG, but that requirement is only for some Latin script features such as Stylistic Sets.
WARN: License URL matches License text on name table?
The font is correctly licensed under SIL OFL 1.1 per SIL guidelines.
WARN: Check if each glyph has the recommended amount of contours.
Iβm glad this is just as WARN because the number of contours on each glyph will depend on the script, the character, the style of font and the designer.
WARN ots-sanitize passed this file, however warnings were printed: WARN ots-sanitize passed this file, however warnings were printed: WARNING: Feat: FeatureDefn: Nonzero (flags & 0x3f00) repaired WARNING: Feat: FeatureDefn: Nonzero (flags & 0x3f00) repaired WARNING: Silf: SILSub: Nonzero attCollisions (reserved before v5)
After researching this, these turn out to be bugs in OTS. See https://github.com/khaledhosny/ots/pull/213. In any case, they are warnings about the Graphite tables which Google strips from the fonts anyway.
WARN: Does GPOS table have kerning information? WARN GPOS table lacks kerning information. [code: lacks-kern-info]
Actually, if you look, you'll find the GPOS is bursting at the seams with kerning. It is just that fontbakery is testing only the presence of simple pair kerning, but what is in Harmattan is extensive contextual kerning.
WARN: Check for points out of bounds. WARN The following glyphs have coordinates which are out of bounds: ('uni0618', -103.0, 1370.5) 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]
As it says, βit is common to ignore this messageβ
Great thank you for your precise answer!
Of course, there is a lot of flexibility in what is possible in terms of Copyright string etc, although I am not sure whether it can stay exactly this way. For example we have scripts that could fix the DSIG and the non-hinting fails very easily, it won't change the font, but will help the update to pass through all Google's automatic checks.
I discuss it with collaborators and come back to you shortly :)
Thanks @bobh0303.
From my pov, I'm a bit more relaxed with 3rd party vendors such as SIL, IBM, Microsoft Adobe etc. These vendors have their own quality checks in place, hence why I don't mind a few failing checks. The only issue that concerns me is that the vertical metrics are different.
If we're going to update this family on Google Fonts, we need to ensure that the visual regressions against the version we currently host are minimal.
We may need to make a bash script which will hotfix the ttf binaries so the following is taken care of:
Comments re each FAIL and WARN
FAIL: Do we have the latest version of FontBakery installed?
We can't help you with that, though I know that if you are running from source this test fails
Please open an issue on the fontbakery repo providing more detail about this. I am able to run this perfectly from the source repo with no problem and we do have code-tests to ensure it works properly. If you have problems, we'd like to know more and fix it.
FAIL: Check
Google Fonts Latin Core
glyph coverage. FAIL Missing required codepoints: 0x2074 (SUPERSCRIPT FOUR) and 0x2215 (DIVISION SLASH) [code: missing-codepoints]What can I find the rationale for requiring these?
The Google Fonts project defines some sets of codepoints that are required in a font. Please make sure you have a glyph for each of those. (Are you're asking how such glyphset was created?)
FAIL: Check license file has good copyright string. FAIL First line in license file does not match expected format: "copyright (c) 2007-2008, the c&ma guinea fulbe team;"
The first line of the license is the copyright, as required by OFL, but this font has multiple copyright holders and multiple copyright date ranges. As such the copyright notice cannot possibly match the pattern fontbakery requires.
I believe the most common approach would be to use something similar to this:
Copyright 2007-2020 The Harmattan Project Authors
(https://github.com/silnrsi/font-harmattan)
And then add the details to a separate CONTRIBUTORS.txt
or AUTHORS.txt
file.
FAIL: Check copyright namerecords match license file. 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) 2007-2008, The C&MA Guinea Fulbe Team;...
We are following SIL OFL guidelines (see "Using the OFL" section):
* Put your copyright and Reserved Font Names information at the beginning of the main OFL.txt file in place of the dedicated placeholders (marked with the <> characters). Include this file in your release package. * Put your copyright and the OFL text with your chosen Reserved Font Name(s) into your font files (the copyright and license fields).
Please use what the rationale suggests:
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
As far as I understand it, Google Fonts (I think @davelab6 can confirm) does not want to have the full license text inside the font binaries in order to reduce file size. We may want to add this info to the check rationale.
FAIL: Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? FAIL Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
Autohinting negatively impacts the rendering of this Arabic font so we disabled it.
So this is OK to ignore. Would you like if Font Bakery skipped this check if the font is detected as being an Arabic font? If so, please open an issue. I would be glad if we could discuss how to implement it (i.e. how to have a bullet-proof way of detecting that it is an Arabic font).
FAIL: Copyright notices match canonical pattern in fonts 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 (c) 2007-2008, The C&MA Guinea Fulbe Team; Copyright renewed 2011-2012, George W. Nuss (http://www.fulbefouta.com), with the Reserved Font Name "Fouta". Copyright (c) 2004-2020, SIL International (http://www.sil.org), with Reserved Font Names 'Andika' and 'SIL'. Copyright (c) 2014-2020, SIL International (http://www.sil.org/). with Reserved Font Names "Harmattan" and "SIL"." [code: bad-notice-format]
As mentioned above, this font has multiple copyright holders and multiple copyright date ranges; the copyright notice cannot possibly match the pattern fontbakery requires.
Please consider using the same approach I suggested earlier:
Copyright 2007-2020 The Harmattan Project Authors
(https://github.com/silnrsi/font-harmattan)
And then add the details to a separate CONTRIBUTORS.txt
or AUTHORS.txt
file.
FAIL: Font enables smart dropout control in "prep" table instructions? 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.
As mentioned above, autohinting negatively impacts the rendering of this Arabic font so we disabled it.
OK.
FAIL: Are there caret positions declared for every ligature? FAIL Failed to lookup ligatures. This font file seems to be malformed. For more info, read: googlefonts/fontbakery#1596 [code: malformed]
Caret positions would be required only for ligatures of base characters, and there are no base-character ligatures defined in Harmattan. This looks to be a problem in fonttools.
FAIL: Name table entries should not contain line-breaks. FAIL Name entry COPYRIGHT_NOTICE on platform WINDOWS contains a line-break. [code: line-break] FAIL Name entry LICENSE_DESCRIPTION on platform WINDOWS contains a line-break. [code: line-break]
There is nothing that prohibits line-break characters from name table entries, and as mentioned above, we are following SIL OFL guidelines.
Please keep the entry short to get a shorter file size. This is a technical requirement for shipping font binaries to the Google Fonts collection.
FAIL: Name table strings must not contain the string 'Reserved Font Name'.
Per the 2017 agreement, SIL fonts hosted on Google can retain their RFNs.
If you actually have such an agreement, then I guess it is OK to ignore this FAIL.
FAIL: Check if the vertical metrics of a family are similar to the same family hosted on Google Fonts.
We increased vertical metrics to account for additional characters and addition of bold. See google/fonts#2509 (comment) comment-651189975
OK
FAIL: Checking OS/2 usWinAscent & usWinDescent. FAIL OS/2.usWinAscent value should be equal or greater than 2176, but got 2166 instead [code: ascent]
In Regular, no glyphs that have yMax greater than 2166. In Bold, only one glyph has yMax greater than 2166, namely uni064F06E2. This glyph is a zero-width ligature of two zero-width combining marks and thus, when used, is attached to a base character. Thus the actual position of this glyph on the em-square is of no consequence.
Is that something we could detect automatically in fontbakery? If so, please open an issue and we'll try to improve the check.
FAIL: Does the font have a DSIG table? FAIL This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly. You can add a DSIG table by running the gftools fix-dsig script. [code: lacks-signature]
There are no known applications that require a DSIG for Arabic script. This font works fine with Word 2013 which is the one known application that requires a DSIG, but that requirement is only for some Latin script features such as Stylistic Sets.
Please open a FontBakery issue describing this and we'll try to make the check smarter regarding this.
WARN: License URL matches License text on name table?
The font is correctly licensed under SIL OFL 1.1 per SIL guidelines.
As discussed above, Google Fonts has different guidelines regarding this for file size purposes.
WARN: Check if each glyph has the recommended amount of contours.
Iβm glad this is just as WARN because the number of contours on each glyph will depend on the script, the character, the style of font and the designer.
Sure. This is OK. It only serves the purpose of a warning ;-)
WARN ots-sanitize passed this file, however warnings were printed: WARN ots-sanitize passed this file, however warnings were printed: WARNING: Feat: FeatureDefn: Nonzero (flags & 0x3f00) repaired WARNING: Feat: FeatureDefn: Nonzero (flags & 0x3f00) repaired WARNING: Silf: SILSub: Nonzero attCollisions (reserved before v5)
After researching this, these turn out to be bugs in OTS. See khaledhosny/ots#213. In any case, they are warnings about the Graphite tables which Google strips from the fonts anyway.
OK
WARN: Does GPOS table have kerning information? WARN GPOS table lacks kerning information. [code: lacks-kern-info]
Actually, if you look, you'll find the GPOS is bursting at the seams with kerning. It is just that fontbakery is testing only the presence of simple pair kerning, but what is in Harmattan is extensive contextual kerning.
Please file an issue about this and we'll improve the detection then ;-)
WARN: Check for points out of bounds. WARN The following glyphs have coordinates which are out of bounds: ('uni0618', -103.0, 1370.5) 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]
As it says, βit is common to ignore this messageβ
OK cool :-D
I've just seen @m4rc1e 's https://github.com/silnrsi/font-harmattan/issues/3#issuecomment-652375932 now and I agree with it.
Great, thank you @m4rc1e and @felipesanches :)
Sorry this was not clearly communicated earlier: SIL have some special privileges as they actively maintain their high quality fonts and are not paid by Google, so many of the minor or subjective requirements in the FB GF Profile will have exceptions granted by GF for SIL projects.
Thanks for the clarification, Dave
From my pov, I'm a bit more relaxed with 3rd party vendors such as SIL, IBM, Microsoft Adobe etc.
thx
If we're going to update this family on Google Fonts, we need to ensure that the visual regressions against the version we currently host are minimal.
Hm. As you can see in the FONTLOG, changes in vertical metrics aren't the only changes will cause "visual regressions". A significant number of glyph design, spacing and kerning changes have been implemented. So even if the v metrics changes are reverted, text will reflow differently with this font than the one you currently host.
(Having said that, we give our users an option to change the v metrics to be compatible with the 1.0 font via SIL TypeTuner, so clearly we get that there are times when keeping identical v metrics is important.)
We may need to make a bash script which will hotfix the ttf binaries so the following is taken care of:
- Vertical metrics match GF version
- DSIG is added
- GASP is updated
Let me check with our team.
A significant number of glyph design, spacing and kerning changes have been implemented
This shouldn't be a problem, as long as the changes are improvements, we're generally quite happy. Apologies for not making this clear. The only exceptions we have to this rule are vertical metrics and fairly extreme weight changes e.g making the Regular much lighter etc.
In this case the vertical metrics change is fully justified, and no further changes are needed - unless someone sees something incorrect in the logic that Bob provided in a doc and spreadsheet for how the new vertical metrics were arrived at.
Hello :) This a Fontbakery report for Harmattan + a report to compare the font already on Google and the update. You can look into this, try to resolve some fail, although if you have questions about how to resolve them or which one to ignore according to this project (example with the vertical metrics, but it is about to be figured out here). Any case, we can organise a quick call to clear things out.
Diff-Harmattan-Regular.zip
Fontbakery report
Fontbakery version: 0.7.27
[1] Family checks
π₯ FAIL: Do we have the latest version of FontBakery installed?
* [com.google.fonts/check/fontbakery_version](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/fontbakery_version) * π₯ **FAIL** Unable to detect what's the latest version of FontBakery available. Maybe we're offline? Please check Internet access and try again.[17] Harmattan-Bold.ttf
π₯ FAIL: Check `Google Fonts Latin Core` glyph coverage.
* [com.google.fonts/check/glyph_coverage](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/glyph_coverage) * π₯ **FAIL** Missing required codepoints: 0x2074 (SUPERSCRIPT FOUR) and 0x2215 (DIVISION SLASH) [code: missing-codepoints]π₯ FAIL: Check license file has good copyright string.
* [com.google.fonts/check/license/OFL_copyright](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/license/OFL_copyright) * π₯ **FAIL** First line in license file does not match expected format: "copyright (c) 2007-2008, the c&ma guinea fulbe team;"π₯ FAIL: Check copyright namerecords match license file.
* [com.google.fonts/check/name/license](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/license) * π₯ **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) 2007-2008, The C&MA Guinea Fulbe Team; Copyright renewed 2011-2012, George W. Nuss (https://www.fulbefouta.com), with the Reserved Font Name "Fouta". Copyright (c) 2004-2020, SIL International (https://www.sil.org), with Reserved Font Names 'Andika' and 'SIL'. Copyright (c) 2014-2020, SIL International (https://www.sil.org/). with Reserved Font Names "Harmattan" and "SIL". ---------------------------------------------------- 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=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]π₯ FAIL: Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* [com.google.fonts/check/gasp](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/gasp) * π₯ **FAIL** Font is missing the 'gasp' table. Try exporting the font with autohinting enabled. If you are dealing with an unhinted font, it can be fixed by running the fonts through the command 'gftools fix-nonhinting' GFTools is available at https://pypi.org/project/gftools/ [code: lacks-gasp]π₯ FAIL: Copyright notices match canonical pattern in fonts
* [com.google.fonts/check/font_copyright](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/font_copyright) * π₯ **FAIL** Name Table entry: Copyright notices should match a pattern similar to: "Copyright 2019 The Familyname Project Authors (git url)" But instead we have got: "Copyright (c) 2007-2008, The C&MA Guinea Fulbe Team; Copyright renewed 2011-2012, George W. Nuss (http://www.fulbefouta.com), with the Reserved Font Name "Fouta". Copyright (c) 2004-2020, SIL International (http://www.sil.org), with Reserved Font Names 'Andika' and 'SIL'. Copyright (c) 2014-2020, SIL International (http://www.sil.org/). with Reserved Font Names "Harmattan" and "SIL"." [code: bad-notice-format]π₯ FAIL: Font enables smart dropout control in "prep" table instructions?
* [com.google.fonts/check/smart_dropout](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/smart_dropout) * π₯ **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]π₯ FAIL: Are there caret positions declared for every ligature?
* [com.google.fonts/check/ligature_carets](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/ligature_carets) * π₯ **FAIL** Failed to lookup ligatures. This font file seems to be malformed. For more info, read: https://github.com/googlefonts/fontbakery/issues/1596 [code: malformed]π₯ FAIL: Name table entries should not contain line-breaks.
* [com.google.fonts/check/name/line_breaks](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/line_breaks) * π₯ **FAIL** Name entry COPYRIGHT_NOTICE on platform WINDOWS contains a line-break. [code: line-break] * π₯ **FAIL** Name entry LICENSE_DESCRIPTION on platform WINDOWS contains a line-break. [code: line-break]π₯ FAIL: Name table strings must not contain the string 'Reserved Font Name'.
* [com.google.fonts/check/name/rfn](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/rfn) * π₯ **FAIL** Name table entry ("Copyright (c) 2007-2008, The C&MA Guinea Fulbe Team; Copyright renewed 2011-2012, George W. Nuss (http://www.fulbefouta.com), with the Reserved Font Name "Fouta". Copyright (c) 2004-2020, SIL International (http://www.sil.org), with Reserved Font Names 'Andika' and 'SIL'. Copyright (c) 2014-2020, SIL International (http://www.sil.org/). with Reserved Font Names "Harmattan" and "SIL".") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn] * π₯ **FAIL** Name table entry ("Copyright (c) 2007-2008, The C&MA Guinea Fulbe Team; Copyright renewed 2011-2012, George W. Nuss (http://www.fulbefouta.com), with the Reserved Font Name "Fouta". Copyright (c) 2004-2020, SIL International (http://www.sil.org), with Reserved Font Names 'Andika' and 'SIL'. Copyright (c) 2014-2020, SIL International (http://www.sil.org/). with Reserved Font Names "Harmattan" and "SIL". ---------------------------------------------------- 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.") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]π₯ FAIL: Check if the vertical metrics of a family are similar to the same family hosted on Google Fonts.
* [com.google.fonts/check/vertical_metrics_regressions](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/vertical_metrics_regressions) * π₯ **FAIL** Harmattan Bold: OS/2 sTypoAscender is 2166 when it should be 2080 [code: bad-typo-ascender] * π₯ **FAIL** Harmattan Bold: OS/2 sTypoDescender is -1323 when it should be -1274 [code: bad-typo-descender] * π₯ **FAIL** Harmattan Bold: hhea Ascender is 2166 when it should be 2080 [code: bad-hhea-ascender] * π₯ **FAIL** Harmattan Bold: hhea Descender is -1323 when it should be -1274 [code: bad-hhea-descender] * π₯ **FAIL** Harmattan: OS/2 sTypoAscender is 2166 when it should be 2080 [code: bad-typo-ascender] * π₯ **FAIL** Harmattan: OS/2 sTypoDescender is -1323 when it should be -1274 [code: bad-typo-descender] * π₯ **FAIL** Harmattan: hhea Ascender is 2166 when it should be 2080 [code: bad-hhea-ascender] * π₯ **FAIL** Harmattan: hhea Descender is -1323 when it should be -1274 [code: bad-hhea-descender]π₯ FAIL: Checking OS/2 usWinAscent & usWinDescent.
* [com.google.fonts/check/family/win_ascent_and_descent](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/family/win_ascent_and_descent) * π₯ **FAIL** OS/2.usWinAscent value should be equal or greater than 2176, but got 2166 instead [code: ascent]π₯ FAIL: Does the font have a DSIG table?
* [com.google.fonts/check/dsig](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/dsig.html#com.google.fonts/check/dsig) * π₯ **FAIL** This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly. You can add a DSIG table by running the `gftools fix-dsig` script. [code: lacks-signature]β WARN: License URL matches License text on name table?
* [com.google.fonts/check/name/license_url](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/license_url) * β **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=3, enc=1, 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: Check if each glyph has the recommended amount of contours.
* [com.google.fonts/check/contour_count](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/contour_count) * β **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: numbersign Contours detected: 4 Expected: 2 Glyph name: dollar Contours detected: 2 Expected: 1 or 3 Glyph name: plus Contours detected: 2 Expected: 1 Glyph name: K Contours detected: 3 Expected: 1 or 2 Glyph name: M Contours detected: 3 Expected: 1 Glyph name: N Contours detected: 3 Expected: 1 Glyph name: R Contours detected: 3 Expected: 1 or 2 Glyph name: W Contours detected: 4 Expected: 1 or 2 Glyph name: X Contours detected: 3 Expected: 1 Glyph name: Y Contours detected: 3 Expected: 1 Glyph name: e Contours detected: 1 Expected: 2 Glyph name: g Contours detected: 4 Expected: 2 or 3 Glyph name: k Contours detected: 3 Expected: 1 or 2 Glyph name: t Contours detected: 2 Expected: 1 Glyph name: x Contours detected: 3 Expected: 1 Glyph name: yen Contours detected: 5 Expected: 1 or 2 Glyph name: plusminus Contours detected: 3 Expected: 1 or 2 Glyph name: Eth Contours detected: 3 Expected: 2 Glyph name: Ntilde Contours detected: 4 Expected: 2 Glyph name: Yacute Contours detected: 4 Expected: 2 Glyph name: egrave Contours detected: 2 Expected: 3 Glyph name: eacute Contours detected: 2 Expected: 3 Glyph name: ecircumflex Contours detected: 2 Expected: 3 Glyph name: edieresis Contours detected: 3 Expected: 4 Glyph name: eth Contours detected: 3 Expected: 2 Glyph name: notequal Contours detected: 3 Expected: 1 Glyph name: Omega Contours detected: 3 Expected: 1 Glyph name: Ydieresis Contours detected: 5 Expected: 3 Glyph name: florin Contours detected: 2 Expected: 1 Glyph name: Euro Contours detected: 3 Expected: 1 or 2 Glyph name: uniFFFC Contours detected: 0 Expected: 22 Glyph name: plusminus Contours detected: 3 Expected: 1 or 2 Glyph name: g Contours detected: 4 Expected: 2 or 3 Glyph name: eth Contours detected: 3 Expected: 2 Glyph name: fl Contours detected: 1 Expected: 2 Glyph name: Eth Contours detected: 3 Expected: 2 Glyph name: egrave Contours detected: 2 Expected: 3 Glyph name: x Contours detected: 3 Expected: 1 Glyph name: notequal Contours detected: 3 Expected: 1 Glyph name: K Contours detected: 3 Expected: 1 or 2 Glyph name: yen Contours detected: 5 Expected: 1 or 2 Glyph name: plus Contours detected: 2 Expected: 1 Glyph name: N Contours detected: 3 Expected: 1 Glyph name: X Contours detected: 3 Expected: 1 Glyph name: dollar Contours detected: 2 Expected: 1 or 3 Glyph name: R Contours detected: 3 Expected: 1 or 2 Glyph name: eacute Contours detected: 2 Expected: 3 Glyph name: uniFFFC Contours detected: 0 Expected: 22 Glyph name: Ntilde Contours detected: 4 Expected: 2 Glyph name: numbersign Contours detected: 4 Expected: 2 Glyph name: W Contours detected: 4 Expected: 1 or 2 Glyph name: Ydieresis Contours detected: 5 Expected: 3 Glyph name: k Contours detected: 3 Expected: 1 or 2 Glyph name: Y Contours detected: 3 Expected: 1 Glyph name: ecircumflex Contours detected: 2 Expected: 3 Glyph name: t Contours detected: 2 Expected: 1 Glyph name: Euro Contours detected: 3 Expected: 1 or 2 Glyph name: M Contours detected: 3 Expected: 1 Glyph name: edieresis Contours detected: 3 Expected: 4 Glyph name: e Contours detected: 1 Expected: 2 Glyph name: Yacute Contours detected: 4 Expected: 2 [code: contour-count]β WARN: Checking with ots-sanitize.
* [com.google.fonts/check/ots](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/ots) * β **WARN** ots-sanitize passed this file, however warnings were printed: WARNING: Feat: FeatureDefn: Nonzero (flags & 0x3f00) repaired WARNING: Feat: FeatureDefn: Nonzero (flags & 0x3f00) repaired WARNING: Silf: SILSub: Nonzero attCollisions (reserved before v5)β WARN: Does GPOS table have kerning information?
* [com.google.fonts/check/gpos_kerning_info](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/gpos.html#com.google.fonts/check/gpos_kerning_info) * β **WARN** GPOS table lacks kerning information. [code: lacks-kern-info]β WARN: Check for points out of bounds.
* [com.google.fonts/check/points_out_of_bounds](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/glyf.html#com.google.fonts/check/points_out_of_bounds) * β **WARN** The following glyphs have coordinates which are out of bounds: * ('uni0618', -103.0, 1370.5) 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][19] Harmattan-Regular.ttf
π₯ FAIL: Check `Google Fonts Latin Core` glyph coverage.
* [com.google.fonts/check/glyph_coverage](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/glyph_coverage) * π₯ **FAIL** Missing required codepoints: 0x2074 (SUPERSCRIPT FOUR) and 0x2215 (DIVISION SLASH) [code: missing-codepoints]π₯ FAIL: Check license file has good copyright string.
* [com.google.fonts/check/license/OFL_copyright](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/license/OFL_copyright) * π₯ **FAIL** First line in license file does not match expected format: "copyright (c) 2007-2008, the c&ma guinea fulbe team;"π₯ FAIL: Check copyright namerecords match license file.
* [com.google.fonts/check/name/license](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/license) * π₯ **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) 2007-2008, The C&MA Guinea Fulbe Team; Copyright renewed 2011-2012, George W. Nuss (https://www.fulbefouta.com), with the Reserved Font Name "Fouta". Copyright (c) 2004-2020, SIL International (https://www.sil.org), with Reserved Font Names 'Andika' and 'SIL'. Copyright (c) 2014-2020, SIL International (https://www.sil.org/). with Reserved Font Names "Harmattan" and "SIL". ---------------------------------------------------- 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=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]π₯ FAIL: Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
* [com.google.fonts/check/gasp](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/gasp) * π₯ **FAIL** Font is missing the 'gasp' table. Try exporting the font with autohinting enabled. If you are dealing with an unhinted font, it can be fixed by running the fonts through the command 'gftools fix-nonhinting' GFTools is available at https://pypi.org/project/gftools/ [code: lacks-gasp]π₯ FAIL: Copyright notices match canonical pattern in fonts
* [com.google.fonts/check/font_copyright](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/font_copyright) * π₯ **FAIL** Name Table entry: Copyright notices should match a pattern similar to: "Copyright 2019 The Familyname Project Authors (git url)" But instead we have got: "Copyright (c) 2007-2008, The C&MA Guinea Fulbe Team; Copyright renewed 2011-2012, George W. Nuss (http://www.fulbefouta.com), with the Reserved Font Name "Fouta". Copyright (c) 2004-2020, SIL International (http://www.sil.org), with Reserved Font Names 'Andika' and 'SIL'. Copyright (c) 2014-2020, SIL International (http://www.sil.org/). with Reserved Font Names "Harmattan" and "SIL"." [code: bad-notice-format]π₯ FAIL: Font enables smart dropout control in "prep" table instructions?
* [com.google.fonts/check/smart_dropout](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/smart_dropout) * π₯ **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]π₯ FAIL: Are there caret positions declared for every ligature?
* [com.google.fonts/check/ligature_carets](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/ligature_carets) * π₯ **FAIL** Failed to lookup ligatures. This font file seems to be malformed. For more info, read: https://github.com/googlefonts/fontbakery/issues/1596 [code: malformed]π₯ FAIL: Name table entries should not contain line-breaks.
* [com.google.fonts/check/name/line_breaks](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/line_breaks) * π₯ **FAIL** Name entry COPYRIGHT_NOTICE on platform WINDOWS contains a line-break. [code: line-break] * π₯ **FAIL** Name entry LICENSE_DESCRIPTION on platform WINDOWS contains a line-break. [code: line-break]π₯ FAIL: Name table strings must not contain the string 'Reserved Font Name'.
* [com.google.fonts/check/name/rfn](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/rfn) * π₯ **FAIL** Name table entry ("Copyright (c) 2007-2008, The C&MA Guinea Fulbe Team; Copyright renewed 2011-2012, George W. Nuss (http://www.fulbefouta.com), with the Reserved Font Name "Fouta". Copyright (c) 2004-2020, SIL International (http://www.sil.org), with Reserved Font Names 'Andika' and 'SIL'. Copyright (c) 2014-2020, SIL International (http://www.sil.org/). with Reserved Font Names "Harmattan" and "SIL".") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn] * π₯ **FAIL** Name table entry ("Copyright (c) 2007-2008, The C&MA Guinea Fulbe Team; Copyright renewed 2011-2012, George W. Nuss (http://www.fulbefouta.com), with the Reserved Font Name "Fouta". Copyright (c) 2004-2020, SIL International (http://www.sil.org), with Reserved Font Names 'Andika' and 'SIL'. Copyright (c) 2014-2020, SIL International (http://www.sil.org/). with Reserved Font Names "Harmattan" and "SIL". ---------------------------------------------------- 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.") contains "Reserved Font Name". This is an error except in a few specific rare cases. [code: rfn]π₯ FAIL: Check if the vertical metrics of a family are similar to the same family hosted on Google Fonts.
* [com.google.fonts/check/vertical_metrics_regressions](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/vertical_metrics_regressions) * π₯ **FAIL** Harmattan Bold: OS/2 sTypoAscender is 2166 when it should be 2080 [code: bad-typo-ascender] * π₯ **FAIL** Harmattan Bold: OS/2 sTypoDescender is -1323 when it should be -1274 [code: bad-typo-descender] * π₯ **FAIL** Harmattan Bold: hhea Ascender is 2166 when it should be 2080 [code: bad-hhea-ascender] * π₯ **FAIL** Harmattan Bold: hhea Descender is -1323 when it should be -1274 [code: bad-hhea-descender] * π₯ **FAIL** Harmattan: OS/2 sTypoAscender is 2166 when it should be 2080 [code: bad-typo-ascender] * π₯ **FAIL** Harmattan: OS/2 sTypoDescender is -1323 when it should be -1274 [code: bad-typo-descender] * π₯ **FAIL** Harmattan: hhea Ascender is 2166 when it should be 2080 [code: bad-hhea-ascender] * π₯ **FAIL** Harmattan: hhea Descender is -1323 when it should be -1274 [code: bad-hhea-descender]π₯ FAIL: Checking OS/2 usWinAscent & usWinDescent.
* [com.google.fonts/check/family/win_ascent_and_descent](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/family/win_ascent_and_descent) * π₯ **FAIL** OS/2.usWinAscent value should be equal or greater than 2176, but got 2166 instead [code: ascent]π₯ FAIL: Does the font have a DSIG table?
* [com.google.fonts/check/dsig](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/dsig.html#com.google.fonts/check/dsig) * π₯ **FAIL** This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly. You can add a DSIG table by running the `gftools fix-dsig` script. [code: lacks-signature]β WARN: License URL matches License text on name table?
* [com.google.fonts/check/name/license_url](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/license_url) * β **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=3, enc=1, 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: Glyphs are similiar to Google Fonts version?
* [com.google.fonts/check/production_glyphs_similarity](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/production_glyphs_similarity) * β **WARN** Following glyphs differ greatly from Google Fonts version: [f, uni06AE.init, uni06D0, uni077F.init, uni06D5, uni06D2, uni0760.fina, uni064A, uni08A7.sindhi, uni0765.fina, eth, uni063B.fina, uni0643.medi, uni06CF, dagger, uni2015, uni0604.4, uni0668, uni076A.init, florin, uni08A6.medi, uni06DA, uni0763.medi, uni077F, uni063B.medi, uni2068, uni06E5, uni0643, uni0683.fina, uni08A7, uni076A, yen, uni0648, uni06AC.medi, uni0764, uni08AF.fina.half, uni063C.medi, uni0604.2, uni08BC.fina, uni06AA, Ntilde, uni0603.4, uni0629, uni076A.fina, uni0685.fina, uni075D, uni06CF.fina, uni068D.fina, uni077F.medi, uni0601, uni0651064F, uni06AF, uni0639.fina, uni2066, uni0602.2, uni0601.3, uni0662, uni063C.init, t, Euro, uni08A2, uni08BB.fina, uni0766, uni0646.fina, uni06A5.fina, uni2011, uni0762.init, uni06AA.init, uni06FB.fina.half, uni0766.sindhi, uni075B, uni068E.fina, uni0765.medi, uni069F.medi, uni063A.fina, uni0685, uni062E.fina, uni2069, uni2010, uni063C.fina, uni06BA.fina, uni06CC, uni0636.fina.half, uni06AD.medi, y, uni06CE, uni0635.fina.half, uni06A0.init, uni068A.fina, uni06A0, macron, uni0684.fina, g, uni2027, uni06E3, uni0769.fina, uni075D.fina, uni063D, uni06A3.fina, uni062C, uni0645, uni066C, uni0686.fina, uni08EC, uni08AE.fina, uni0765.init, daggerdbl, uni069D.half, uni06C6, uni08AF.fina, uni0642, uni069D.fina.half, uni06CB, uni0665, uni068B, uni0689.fina, uni075A.fina, cent, uni0645.medi, AE, uni0635.fina, uni06BD.fina, uni06AD, uni0761.fina, uni0637.medi, uni06FC.init, uni063F, N, uni0762.medi, uni08FF, uni06A4.fina, uni0757, uni069D.fina, uni069E.fina.half, uni06C6.fina, uni0647.medi, uni06D6, uni0641.fina, numbersign, uni062F.fina, uni06E8, uni06A7, uni2067, zero, uni0682, uni075F, uni075B.fina, uni0683, uni06C9, uni076A.medi, uni06DD.alt.2, uni075E, uni0630.fina, uni063E, uni064A.noDots, uni0647.init, uni0767.fina, uni06DD.alt, uni0626.fina, uni06A1.fina, uni08A3.fina, uni08EF, uni06BF.fina, _gafBar, uni06C8, uni06A9.init, sterling, uni202B, uni06FB.half, uni0764.init, uni062D.fina, uni0600, uni06EE.fina, uni06C8.fina, uni0636.fina, uni06A8.fina, uni0604.3, uni0638.medi, uni0758, uni0635.half, uni206D, uni0766.medi, uni0647, uni06FB.fina, uni0600.2, uni068F.fina, uni06D1, uni08A8, uni06A7.fina, uni08A7.init, uniFDF2, uni0652.leftOpen, uni06AA.medi, uni0601.2, uni06FC, uni075F.fina, uni06E6, uni08A6.init, dollar, uni0604, uni0667, uni08A6, uni06D2.fina, uni06E2, uni0603, uni0764.fina, uni08F1, uni08A9, uni202D, uni0639, uni06DC, uni202E, uni06A2.fina, uni0766.fina, uni061C, uni08A3.medi, W, uni0762, uni0626, uni202A, uni063A.init, uni06C0, uni0624.fina, uni06AC.init, uni066F.fina, k, uni06DF, uni075D.init, uni0762.fina, uni06AC, uni0758.fina, uni06A9.medi, uni063C, ydieresis, uni069E.fina, section, uni065D, M, uni06AD.init, uni08F4, uni0649, uni06E0, _gafBarShort, oslash, uni06FC.fina, hyphen, uni0764.medi, uni08AF.half, uni069E.half, uni0684, uni0639.init, uni200D, uni068C.fina, uni06A8, uni06B8.fina, _ring, uni08A7.fina, uni075F.init, uni0644.fina, uni062D, ampersand, uni06CA.fina, uni08A4.fina, uni075E.init, uni06A9.fina, uni06ED, uni06A9, x, uni08A6.fina, uni0645.init, uni06B6.fina, uni0765.sindhi, uni200E, uni08F3, uni0663, uni08BC, uni0624, uni0603.2, K, uni06CB.fina, uni0682.fina, uni202C, uni0645.fina, uni0636.half, uni0643.init, plus, uni0763, uni06A0.fina, uni066F, uni063B.init, uni0642.fina, uni0652, yacute, uni0757.fina, uni08BD.fina, uni06B9.fina, uni06AE.medi, uni075E.fina, uni064F, uni062C.fina, uni063A, uni0602, uni06B7.fina, uni08A2.fina, uni06CA, uni06AF.fina, uni0664, uni06E7, uni08A7.medi, uni06AF.init, uni0603.3, uni069F.fina, uni0763.fina, uni08A5.fina, uni06DD.alt.3, uni0621, uni063B, uni062E, uni08A5, uni0763.init, uni200C, uni0766.init, uni06BF, uni0600.3, uni06B5.fina, uni0686, uni06C9.fina, Oslash, uni206C, uni0645.sindhi, uni0765, uni06AE, eight, uni0648.fina, uni200F, uni06AF.medi]β WARN: Check if each glyph has the recommended amount of contours.
* [com.google.fonts/check/contour_count](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/contour_count) * β **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: numbersign Contours detected: 4 Expected: 2 Glyph name: dollar Contours detected: 2 Expected: 1 or 3 Glyph name: plus Contours detected: 2 Expected: 1 Glyph name: K Contours detected: 3 Expected: 1 or 2 Glyph name: M Contours detected: 3 Expected: 1 Glyph name: N Contours detected: 3 Expected: 1 Glyph name: R Contours detected: 3 Expected: 1 or 2 Glyph name: W Contours detected: 4 Expected: 1 or 2 Glyph name: e Contours detected: 1 Expected: 2 Glyph name: f Contours detected: 2 Expected: 1 Glyph name: g Contours detected: 4 Expected: 2 or 3 Glyph name: k Contours detected: 3 Expected: 1 or 2 Glyph name: t Contours detected: 2 Expected: 1 Glyph name: x Contours detected: 3 Expected: 1 Glyph name: y Contours detected: 2 Expected: 1 Glyph name: yen Contours detected: 5 Expected: 1 or 2 Glyph name: Ntilde Contours detected: 4 Expected: 2 Glyph name: egrave Contours detected: 2 Expected: 3 Glyph name: eacute Contours detected: 2 Expected: 3 Glyph name: ecircumflex Contours detected: 2 Expected: 3 Glyph name: edieresis Contours detected: 3 Expected: 4 Glyph name: eth Contours detected: 3 Expected: 2 Glyph name: yacute Contours detected: 3 Expected: 2 Glyph name: ydieresis Contours detected: 4 Expected: 3 Glyph name: notequal Contours detected: 3 Expected: 1 Glyph name: Omega Contours detected: 3 Expected: 1 Glyph name: florin Contours detected: 2 Expected: 1 Glyph name: Euro Contours detected: 3 Expected: 1 or 2 Glyph name: uniFFFC Contours detected: 0 Expected: 22 Glyph name: f Contours detected: 2 Expected: 1 Glyph name: y Contours detected: 2 Expected: 1 Glyph name: g Contours detected: 4 Expected: 2 or 3 Glyph name: eth Contours detected: 3 Expected: 2 Glyph name: fl Contours detected: 1 Expected: 2 Glyph name: egrave Contours detected: 2 Expected: 3 Glyph name: x Contours detected: 3 Expected: 1 Glyph name: notequal Contours detected: 3 Expected: 1 Glyph name: K Contours detected: 3 Expected: 1 or 2 Glyph name: yen Contours detected: 5 Expected: 1 or 2 Glyph name: plus Contours detected: 2 Expected: 1 Glyph name: N Contours detected: 3 Expected: 1 Glyph name: dollar Contours detected: 2 Expected: 1 or 3 Glyph name: R Contours detected: 3 Expected: 1 or 2 Glyph name: eacute Contours detected: 2 Expected: 3 Glyph name: uniFFFC Contours detected: 0 Expected: 22 Glyph name: yacute Contours detected: 3 Expected: 2 Glyph name: Ntilde Contours detected: 4 Expected: 2 Glyph name: numbersign Contours detected: 4 Expected: 2 Glyph name: W Contours detected: 4 Expected: 1 or 2 Glyph name: k Contours detected: 3 Expected: 1 or 2 Glyph name: ecircumflex Contours detected: 2 Expected: 3 Glyph name: t Contours detected: 2 Expected: 1 Glyph name: Euro Contours detected: 3 Expected: 1 or 2 Glyph name: ydieresis Contours detected: 4 Expected: 3 Glyph name: M Contours detected: 3 Expected: 1 Glyph name: edieresis Contours detected: 3 Expected: 4 Glyph name: e Contours detected: 1 Expected: 2 [code: contour-count]β WARN: Check name table: FULL_FONT_NAME entries.
* [com.google.fonts/check/name/fullfontname](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/fullfontname) * β **WARN** Entry [FULL_FONT_NAME(4):WINDOWS(3)] on the "name" table: Got "Harmattan" which lacks "Regular", but it is probably OK in this case. [code: lacks-regular]β WARN: Checking with ots-sanitize.
* [com.google.fonts/check/ots](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/ots) * β **WARN** ots-sanitize passed this file, however warnings were printed: WARNING: Feat: FeatureDefn: Nonzero (flags & 0x3f00) repaired WARNING: Feat: FeatureDefn: Nonzero (flags & 0x3f00) repaired WARNING: Silf: SILSub: Nonzero attCollisions (reserved before v5)β WARN: Does GPOS table have kerning information?
* [com.google.fonts/check/gpos_kerning_info](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/gpos.html#com.google.fonts/check/gpos_kerning_info) * β **WARN** GPOS table lacks kerning information. [code: lacks-kern-info]β WARN: Check for points out of bounds.
* [com.google.fonts/check/points_out_of_bounds](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/glyf.html#com.google.fonts/check/points_out_of_bounds) * β **WARN** The following glyphs have coordinates which are out of bounds: * ('uni0618', -88.0, 1370.5) 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]Summary
Note: The following loglevels were omitted in this report: