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 | â FATAL | đĨ FAIL | â ī¸ WARN | ⊠SKIP | âšī¸ INFO | â PASS |
---|---|---|---|---|---|---|
0 | 0 | 2 | 18 | 183 | 17 | 264 |
0% | 0% | 0% | 4% | 38% | 4% | 55% |
Meaning of check results:
- đĨ An ERROR is something wrong with FontBakery itself, possibly a bug.
- â A FATAL is an extremely severe issue that must be addressed immediately.
- đĨ A FAIL is a problem with the font that must be fixed.
- â ī¸ A WARN is something that you should consider addressing.
- âšī¸ An INFO result simply prints something useful. Typically stats.
- â A PASS means the font looks good for the given checking routine.
- ⊠And a SKIP happens when the check does not apply to the given font.
If you get ERRORs, please help us improve the tool by reporting them at our issue tracker.
(but other kinds of bug reports and/or feature requests are also always welcome, of course!)
FontBakery version: 0.12.10
OpenType Specification Checks
đĨâ ī¸â ī¸â ī¸â ī¸âŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠFonts have consistent underline thickness?
â Family Check
-
â
PASS
Fonts have consistent underline thickness.
Fonts have consistent PANOSE family type?
â Family Check
-
â
PASS
All looks good!
[code: ok]
Make sure all font files have the same version value.
â Family Check
-
â
PASS
All looks good!
[code: ok]
Check that OS/2.fsSelection bold & italic settings are unique for each NameID1
â Family Check
-
â
PASS
All looks good!
[code: ok]
Verify that each group of fonts with the same nameID 1 has maximum of 4 fonts.
â Family Check
-
â
PASS
All looks good!
[code: ok]
Verify that family names in the name table are consistent across all fonts in the family. Checks Typographic Family name (nameID 16) if present, otherwise uses Font Family name (nameID 1)
â Family Check
-
â
PASS
All looks good!
[code: ok]
CFF table FontName must match name table ID 6 (PostScript name).
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cff
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cff
[code: unfulfilled-conditions]
Name table ID 6 (PostScript name) must be consistent across platforms.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check name table for empty records.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Description strings in the name table must not contain copyright info.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Does full font name begin with the font family name?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
The variable font 'wght' (Weight) axis coordinate must be 400 on the 'Regular' instance.
â Samaano[wdth,wght].ttf
-
â
PASS
Regular:wght is 400.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Regular:wght is 400.
The variable font 'wdth' (Width) axis coordinate must be 100 on the 'Regular' instance.
â Samaano[wdth,wght].ttf
-
â
PASS
Regular:wdth is 100.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Regular:wdth is 100.
The variable font 'slnt' (Slant) axis coordinate must be zero on the 'Regular' instance.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: has_slnt_axis
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: has_slnt_axis
[code: unfulfilled-conditions]
The variable font 'ital' (Italic) axis coordinate must be zero on the 'Regular' instance.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: has_ital_axis
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: has_ital_axis
[code: unfulfilled-conditions]
The variable font 'opsz' (Optical Size) axis coordinate should be between 10 and 16 on the 'Regular' instance.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: has_opsz_axis
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: has_opsz_axis
[code: unfulfilled-conditions]
The variable font 'slnt' (Slant) axis coordinate specifies positive values in its range?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: has_slnt_axis
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: has_slnt_axis
[code: unfulfilled-conditions]
The variable font 'ital' (Italic) axis coordinates is in a valid range?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: has_ital_axis
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: has_ital_axis
[code: unfulfilled-conditions]
The variable font 'wght' (Weight) axis coordinate must be within spec range of 1 to 1000 on all instances.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
The variable font 'wdth' (Width) axis coordinate must strictly greater than zero.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
All fvar axes have a correspondent Axis Record on STAT table?
â Samaano[wdth,wght].ttf
-
â
PASS
STAT table has all necessary Axis Records.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
STAT table has all necessary Axis Records.
Does the number of glyphs in the loca table match the maxp table?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
EXPERIMENTAL CHECK - Since 2024/Jun/20
Does the font's CFF table top dict strings fit into the ASCII range?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cff
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cff
[code: unfulfilled-conditions]
Is the CFF subr/gsubr call depth > 10?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cff
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cff
[code: unfulfilled-conditions]
Does the font use deprecated CFF operators or operations?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cff
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cff
[code: unfulfilled-conditions]
Is the CFF2 subr/gsubr call depth > 10?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cff2
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cff2
[code: unfulfilled-conditions]
Checking font version fields (head and name table).
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Font has correct post table version?
â Samaano[wdth,wght].ttf
-
â
PASS
Font has an acceptable post format 2.0 table version.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Font has an acceptable post format 2.0 table version.
Checking correctness of monospaced metadata.
â ī¸ Samaano[wdth,wght].ttf
-
â ī¸ WARN
The OpenType spec recommends at https://learn.microsoft.com/en-us/typography/opentype/spec/recom#hhea-table that hhea.numberOfHMetrics be set to 3 but this font has 864 instead. Please read https://github.com/fonttools/fonttools/issues/3014 to decide whether this makes sense for your font.
[code: bad-numberOfHMetrics]
â ī¸ Samaano-Italic[wdth,wght].ttf
-
â ī¸ WARN
The OpenType spec recommends at https://learn.microsoft.com/en-us/typography/opentype/spec/recom#hhea-table that hhea.numberOfHMetrics be set to 3 but this font has 863 instead. Please read https://github.com/fonttools/fonttools/issues/3014 to decide whether this makes sense for your font.
[code: bad-numberOfHMetrics]
Check if OS/2 xAvgCharWidth is correct.
â Samaano[wdth,wght].ttf
-
â
PASS
OS/2 xAvgCharWidth value is correct.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
OS/2 xAvgCharWidth value is correct.
Check if OS/2 fsSelection matches head macStyle bold and italic bits.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Checking unitsPerEm value is reasonable.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Does the font have a DSIG table?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check glyphs in mark glyph class are non-spacing.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check mark characters are in GDEF mark glyph class.
â ī¸ Samaano[wdth,wght].ttf
-
â ī¸ WARN
The following mark characters could be in the GDEF mark glyph class: uni0955 (U+0955)
[code: mark-chars]
â ī¸ Samaano-Italic[wdth,wght].ttf
-
â ī¸ WARN
The following mark characters could be in the GDEF mark glyph class: uni0955 (U+0955)
[code: mark-chars]
Check GDEF mark glyph class doesn't have characters that are not marks.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Is there a usable "kern" table declared in the font?
â Samaano[wdth,wght].ttf
-
â
PASS
Font does not declare an optional "kern" table.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Font does not declare an optional "kern" table.
Is there any unused data at the end of the glyf table?
â Samaano[wdth,wght].ttf
-
â
PASS
There is no unused data at the end of the glyf table.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
There is no unused data at the end of the glyf table.
Font follows the family naming recommendations?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
PostScript name follows OpenType specification requirements?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check for points out of bounds.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check glyphs do not have duplicate components which have the same x,y coordinates.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check code page character ranges
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Does the font have any invalid feature tags?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Does the font have any invalid script tags?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Does the font have any invalid language tags?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Checking post.italicAngle value.
â Samaano[wdth,wght].ttf
-
â
PASS
Value of post.italicAngle is 0.0 with style="Bold".
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Value of post.italicAngle is -19.989837646484375 with style="BoldItalic".
Checking head.macStyle value.
â Samaano[wdth,wght].ttf
-
â
PASS
head macStyle ITALIC bit is properly set.
-
â
PASS
head macStyle BOLD bit is properly set.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
head macStyle ITALIC bit is properly set.
-
â
PASS
head macStyle BOLD bit is properly set.
Checking OS/2 fsSelection value.
â Samaano[wdth,wght].ttf
-
â
PASS
OS/2 fsSelection REGULAR bit is properly set.
-
â
PASS
OS/2 fsSelection ITALIC bit is properly set.
-
â
PASS
OS/2 fsSelection BOLD bit is properly set.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
OS/2 fsSelection REGULAR bit is properly set.
-
â
PASS
OS/2 fsSelection ITALIC bit is properly set.
-
â
PASS
OS/2 fsSelection BOLD bit is properly set.
Check name table IDs 1, 2, 16, 17 to conform to Italic style.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Font is not Italic.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Validates that the value of axisNameID used by each VariationAxisRecord is greater than 255 and less than 32768.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Validates that the value of subfamilyNameID used by each InstanceRecord is 2, 17, or greater than 255 and less than 32768.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Validates that the value of postScriptNameID used by each InstanceRecord is 6, 0xFFFF, or greater than 255 and less than 32768.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Validates that when an instance record is included for the default instance, its subfamilyNameID value is set to a name ID whose string is equal to the string of either name ID 2 or 17, and its postScriptNameID value is set to a name ID whose string is equal to the string of name ID 6.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Validates that all of the instance records in a given font have the same size.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Validates that all of the instance records in a given font have distinct data.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Validate foundry-defined design-variation axis tag names.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check that family axis ranges are indentical
â Family Check
-
â
PASS
All looks good!
[code: ok]
STAT table has Axis Value tables?
â Samaano[wdth,wght].ttf
-
â
PASS
STAT table has Axis Value tables.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
STAT table has Axis Value tables.
Checking OS/2 achVendID against configuration.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Add the
vendor_id
key to afontbakery.yaml
file on your font project directory to enable this check. You'll also need to use the--configuration
flag when invoking fontbakery.
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Add the
vendor_id
key to afontbakery.yaml
file on your font project directory to enable this check. You'll also need to use the--configuration
flag when invoking fontbakery.
Check hhea.caretSlopeRise and hhea.caretSlopeRun
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Ensure VFs have 'ital' STAT axis.
đĨ Family Check
-
đĨ FAIL
Font Samaano[wdth,wght].ttf is missing an 'ital' axis.
[code: missing-ital-axis] -
đĨ FAIL
Font Samaano-Italic[wdth,wght].ttf is missing an 'ital' axis.
[code: missing-ital-axis]
Ensure 'ital' STAT axis is boolean value
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Font doesn't have an ital axis
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Font doesn't have an ital axis
Ensure 'ital' STAT axis is last.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
No 'ital' axis in STAT.
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
No 'ital' axis in STAT.
Superfamily Checks
âŠâŠâšī¸âšī¸List all superfamily filepaths
âšī¸ Samaano[wdth,wght].ttf
-
âšī¸ INFO
fonts/variable
[code: family-path]
âšī¸ Samaano-Italic[wdth,wght].ttf
-
âšī¸ INFO
fonts/variable
[code: family-path]
Each font in set of sibling families must have the same set of vertical metrics values.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Sibling families were not detected.
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Sibling families were not detected.
Universal Profile Checks
â ī¸â ī¸âŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâšī¸âšī¸Check accent of Lcaron, dcaron, lcaron, tcaron
â ī¸ Samaano[wdth,wght].ttf
-
â ī¸ WARN
Lcaron is decomposed and therefore could not be checked. Please check manually.
[code: decomposed-outline] -
â ī¸ WARN
dcaron is decomposed and therefore could not be checked. Please check manually.
[code: decomposed-outline] -
â ī¸ WARN
lcaron is decomposed and therefore could not be checked. Please check manually.
[code: decomposed-outline] -
â ī¸ WARN
tcaron is decomposed and therefore could not be checked. Please check manually.
[code: decomposed-outline] -
â
PASS
Looks good!
â ī¸ Samaano-Italic[wdth,wght].ttf
-
â ī¸ WARN
Lcaron is decomposed and therefore could not be checked. Please check manually.
[code: decomposed-outline] -
â ī¸ WARN
dcaron is decomposed and therefore could not be checked. Please check manually.
[code: decomposed-outline] -
â ī¸ WARN
lcaron is decomposed and therefore could not be checked. Please check manually.
[code: decomposed-outline] -
â ī¸ WARN
tcaron is decomposed and therefore could not be checked. Please check manually.
[code: decomposed-outline] -
â
PASS
Looks good!
Check that glyph for U+0675 ARABIC LETTER HIGH HAMZA is not a mark.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
This check will only run on fonts that have both glyphs U+0621 and U+0675
[code: glyphs-missing]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
This check will only run on fonts that have both glyphs U+0621 and U+0675
[code: glyphs-missing]
Check that Arabic spacing symbols U+FBB2âFBC1 aren't classified as marks.
â Samaano[wdth,wght].ttf
-
â
PASS
Looks good!
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Looks good!
Ensure the font supports case swapping for all its glyphs.
â Samaano[wdth,wght].ttf
-
â
PASS
Looks good!
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Looks good!
Does the font contain chws and vchw features?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cjk_font
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cjk_font
[code: unfulfilled-conditions]
Check if each glyph has the recommended amount of contours.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: not is_variable_font
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: not is_variable_font
[code: unfulfilled-conditions]
Checking all files are in the same directory.
â Family Check
-
â
PASS
All files are in the same directory.
Each font in a family must have the same set of vertical metrics values.
â Family Check
-
â
PASS
Vertical metrics are the same across the family.
Checking OS/2 usWinAscent & usWinDescent.
â Samaano[wdth,wght].ttf
-
â
PASS
OS/2 usWinAscent & usWinDescent values look good!
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
OS/2 usWinAscent & usWinDescent values look good!
Do we have the latest version of FontBakery installed?
â Samaano[wdth,wght].ttf
-
â
PASS
FontBakery is up-to-date.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
FontBakery is up-to-date.
Ensure that the font can be rasterized by FreeType.
â Samaano[wdth,wght].ttf
-
â
PASS
Font can be rasterized by FreeType.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Font can be rasterized by FreeType.
Ensure no GPOS7 lookups are present.
â Samaano[wdth,wght].ttf
-
â
PASS
Font has no GPOS7 lookups
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Font has no GPOS7 lookups
EXPERIMENTAL CHECK - Since 2024/Jun/10
Ensure 'smcp' (small caps) lookups are defined before ligature lookups in the 'GSUB' table.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Font lacks 'smcp' or 'liga' features.
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Font lacks 'smcp' or 'liga' features.
Detect any interpolation issues in the font.
â Samaano[wdth,wght].ttf
-
â
PASS
No interpolation issues found
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
No interpolation issues found
Check that legacy accents aren't used in composite glyphs.
â Samaano[wdth,wght].ttf
-
â
PASS
Looks good!
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Looks good!
Checking Vertical Metric Linegaps.
â Samaano[wdth,wght].ttf
-
â
PASS
OS/2 sTypoLineGap and hhea lineGap are both 0.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
OS/2 sTypoLineGap and hhea lineGap are both 0.
Font contains '.notdef' as its first glyph?
â Samaano[wdth,wght].ttf
-
â
PASS
OK
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
OK
Check math signs have the same width.
â Samaano[wdth,wght].ttf
-
â
PASS
Looks good.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Looks good.
Name table records must not have trailing spaces.
â Samaano[wdth,wght].ttf
-
â
PASS
No trailing spaces on name table entries.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
No trailing spaces on name table entries.
Checking OS/2 Metrics match hhea Metrics.
â Samaano[wdth,wght].ttf
-
â
PASS
OS/2.sTypoAscender/Descender values match hhea.ascent/descent.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
OS/2.sTypoAscender/Descender values match hhea.ascent/descent.
Checking with ots-sanitize.
â Samaano[wdth,wght].ttf
-
â
PASS
ots-sanitize passed this file
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
ots-sanitize passed this file
Font contains all required tables?
âšī¸ Samaano[wdth,wght].ttf
-
âšī¸ INFO
This font contains the following optional tables:
[code: optional-tables]- loca - prep - GPOS - GSUB - gasp
-
â
PASS
Font contains all required tables.
âšī¸ Samaano-Italic[wdth,wght].ttf
-
âšī¸ INFO
This font contains the following optional tables:
[code: optional-tables]- loca - prep - GPOS - GSUB - gasp
-
â
PASS
Font contains all required tables.
Ensure indic fonts have the Indian Rupee Sign glyph.
â Samaano[wdth,wght].ttf
-
â
PASS
Looks good!
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Looks good!
Font has the proper sfntVersion value?
â Samaano[wdth,wght].ttf
-
â
PASS
Font has the correct sfntVersion value.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Font has the correct sfntVersion value.
Does the font contain a soft hyphen?
â Samaano[wdth,wght].ttf
-
â
PASS
Looks good!
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Looks good!
Checking STAT table entries in static fonts.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: not is_variable_font
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: not is_variable_font
[code: unfulfilled-conditions]
Check correctness of STAT table strings
â Samaano[wdth,wght].ttf
-
â
PASS
Looks good!
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Looks good!
EXPERIMENTAL CHECK - Since 2024/Jun/04
Check tabular widths don't have kerning.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Ensure component transforms do not perform scaling or rotation.
â Samaano[wdth,wght].ttf
-
â
PASS
No glyphs had components with scaling or rotation
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
No glyphs had components with scaling or rotation
Checking with fontTools.ttx
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
EXPERIMENTAL CHECK - Since 2024/Jul/17
Checking that the typoAscender exceeds the yMax of the /Agrave.
â Samaano[wdth,wght].ttf
-
â
PASS
OS/2.sTypoAscender value is greater than the yMax of /Agrave.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
OS/2.sTypoAscender value is greater than the yMax of /Agrave.
Font contains unique glyph names?
â Samaano[wdth,wght].ttf
-
â
PASS
Glyph names are all unique.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Glyph names are all unique.
Check font contains no unreachable glyphs
â Samaano[wdth,wght].ttf
-
â
PASS
Font did not contain any unreachable glyphs
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Font did not contain any unreachable glyphs
Are there unwanted tables?
â Samaano[wdth,wght].ttf
-
â
PASS
There are no unwanted tables.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
There are no unwanted tables.
Glyph names are all valid?
â Samaano[wdth,wght].ttf
-
â
PASS
Glyph names are all valid.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Glyph names are all valid.
Font has **proper** whitespace glyph names?
â Samaano[wdth,wght].ttf
-
â
PASS
Font has AGL recommended names for whitespace glyphs.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Font has AGL recommended names for whitespace glyphs.
Font contains glyphs for whitespace characters?
â Samaano[wdth,wght].ttf
-
â
PASS
Font contains glyphs for whitespace characters.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Font contains glyphs for whitespace characters.
Whitespace glyphs have ink?
â Samaano[wdth,wght].ttf
-
â
PASS
There is no whitespace glyph with ink.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
There is no whitespace glyph with ink.
Space and non-breaking space have the same width?
â Samaano[wdth,wght].ttf
-
â
PASS
Space and non-breaking space have the same width.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Space and non-breaking space have the same width.
Article Checks
â ī¸â ī¸Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
â ī¸ Samaano[wdth,wght].ttf
-
â ī¸ WARN
Family metadata at fonts/variable does not have an article.
[code: lacks-article]
â ī¸ Samaano-Italic[wdth,wght].ttf
-
â ī¸ WARN
Family metadata at fonts/variable does not have an article.
[code: lacks-article]
Metadata Checks
â ī¸â ī¸âŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠDoes METADATA.pb copyright field contain broken links?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
METADATA.pb: Font styles are named canonically?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
METADATA.pb: Check that font weight has a canonical value.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
Check samples can be rendered.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
Ensure METADATA.pb category field is valid.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
Check if category on METADATA.pb matches what can be inferred from the family name.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
Validate VF axes match the ones declared on METADATA.pb.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
METADATA.pb: Check URL on copyright string is the same as in repository_url field.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
METADATA.pb: Copyright notice is the same in all fonts?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
EXPERIMENTAL CHECK - Since 2024/May/22
Validate 'date_added' field on METADATA.pb.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
Multiple values in font designer field in METADATA.pb must be separated by commas.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
At least one designer is declared in METADATA.pb
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
No applicable arguments
[code: no-arguments]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
No applicable arguments
[code: no-arguments]
Ensure METADATA.pb does not use escaped strings.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: metadata_file
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: metadata_file
[code: unfulfilled-conditions]
Check font family directory name.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
Check that METADATA.pb family values are all the same.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
METADATA.pb: Font filenames match font.filename entries?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
Validate METADATA.pb axes values are within gf_axisregistry bounds.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
Validate METADATA.pb axes tags are defined in gf_axisregistry.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
Ensure there is a regular style defined in METADATA.pb.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
Check METADATA.pb includes production subsets.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata, listed_on_gfonts_api
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata, listed_on_gfonts_api
[code: unfulfilled-conditions]
Check METADATA.pb file only contains a single CJK subset.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
METADATA.pb license is "APACHE2", "UFL" or "OFL"?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
METADATA.pb font.filename and font.post_script_name fields have equivalent values?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata, not is_variable_font
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata, not is_variable_font
[code: unfulfilled-conditions]
METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
METADATA.pb: Check font name is the same as family name.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata, font_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata, font_metadata
[code: unfulfilled-conditions]
METADATA.pb weight matches postScriptName for static fonts.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata, not is_variable_font
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata, not is_variable_font
[code: unfulfilled-conditions]
METADATA.pb should contain at least "menu" and "latin" subsets.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
METADATA.pb: Validate family.minisite_url field.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
METADATA.pb font.name and font.full_name fields match the values declared on the name table?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
METADATA.pb font.name value should be same as the family name declared on the name table.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
Check METADATA.pb font weights are correct.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
Check METADATA.pb parse correctly.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Font family at 'fonts/variable' lacks a METADATA.pb file.
[code: file-not-found]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Font family at 'fonts/variable' lacks a METADATA.pb file.
[code: file-not-found]
METADATA.pb: Check for primary_script
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
METADATA.pb: Regular should be 400.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata, has_regular_style
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata, has_regular_style
[code: unfulfilled-conditions]
Copyright notice on METADATA.pb should not contain 'Reserved Font Name'.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
METADATA.pb subsets should be alphabetically ordered.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
Ensure METADATA.pb lists all font binaries.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
METADATA.pb: check if fonts field only has unique "full_name" values.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
METADATA.pb: check if fonts field only contains unique style:weight pairs.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
Check for codepoints not covered by METADATA subsets.
â ī¸ Samaano[wdth,wght].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+02D8 BREVE: try adding one of: yi, canadian-aboriginal
- U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
- U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
- U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: math, cherokee, tifinagh, coptic
- U+0305 COMBINING OVERLINE: try adding one of: math, elbasan, glagolitic, coptic, gothic
- U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
- U+0307 COMBINING DOT ABOVE: try adding one of: math, duployan, tai-le, old-permic, tifinagh, syriac, coptic, todhri, canadian-aboriginal, malayalam, hebrew
- U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
- U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage
- U+030C COMBINING CARON: try adding one of: cherokee, tai-le
- U+030F COMBINING DOUBLE GRAVE ACCENT: not included in any glyphset definition
- U+0310 COMBINING CANDRABINDU: try adding one of: math, sunuwar
- U+0311 COMBINING INVERTED BREVE: try adding one of: todhri, coptic
- U+0312 COMBINING TURNED COMMA ABOVE: try adding math
- U+031B COMBINING HORN: not included in any glyphset definition
- U+0324 COMBINING DIAERESIS BELOW: try adding one of: cherokee, duployan, syriac
- U+0326 COMBINING COMMA BELOW: try adding math
- U+0327 COMBINING CEDILLA: try adding math
- U+0328 COMBINING OGONEK: not included in any glyphset definition
- U+032E COMBINING BREVE BELOW: try adding syriac
- U+0331 COMBINING MACRON BELOW: try adding one of: cherokee, tifinagh, syriac, caucasian-albanian, thai, sunuwar, gothic
- U+0335 COMBINING SHORT STROKE OVERLAY: not included in any glyphset definition
- U+2021 DOUBLE DAGGER: try adding adlam
- U+2030 PER MILLE SIGN: try adding adlam
- U+2052 COMMERCIAL MINUS SIGN: not included in any glyphset definition
- U+2070 SUPERSCRIPT ZERO: try adding math
- U+2071 SUPERSCRIPT LATIN SMALL LETTER I: try adding math
- U+2074 SUPERSCRIPT FOUR: try adding math
- U+2075 SUPERSCRIPT FIVE: try adding math
- U+2076 SUPERSCRIPT SIX: try adding math
- U+2077 SUPERSCRIPT SEVEN: try adding math
- U+2078 SUPERSCRIPT EIGHT: try adding math
- U+2079 SUPERSCRIPT NINE: try adding math
- U+207A SUPERSCRIPT PLUS SIGN: try adding math
- U+207B SUPERSCRIPT MINUS: try adding math
- U+207C SUPERSCRIPT EQUALS SIGN: try adding math
- U+207D SUPERSCRIPT LEFT PARENTHESIS: try adding math
- U+207E SUPERSCRIPT RIGHT PARENTHESIS: try adding math
- U+207F SUPERSCRIPT LATIN SMALL LETTER N: try adding math
- U+2080 SUBSCRIPT ZERO: try adding math
- U+2081 SUBSCRIPT ONE: try adding math
- U+2082 SUBSCRIPT TWO: try adding math
- U+2083 SUBSCRIPT THREE: try adding math
- U+2084 SUBSCRIPT FOUR: try adding math
- U+2085 SUBSCRIPT FIVE: try adding math
- U+2086 SUBSCRIPT SIX: try adding math
- U+2087 SUBSCRIPT SEVEN: try adding math
- U+2088 SUBSCRIPT EIGHT: try adding math
- U+2089 SUBSCRIPT NINE: try adding math
- U+208A SUBSCRIPT PLUS SIGN: try adding math
- U+208B SUBSCRIPT MINUS: try adding math
- U+208C SUBSCRIPT EQUALS SIGN: try adding math
- U+208D SUBSCRIPT LEFT PARENTHESIS: try adding math
- U+208E SUBSCRIPT RIGHT PARENTHESIS: try adding math
- U+2116 NUMERO SIGN: try adding cyrillic
- U+2248 ALMOST EQUAL TO: try adding math
- U+2260 NOT EQUAL TO: try adding math
- U+2264 LESS-THAN OR EQUAL TO: try adding math
- U+2265 GREATER-THAN OR EQUAL TO: try adding math
- U+27E8 MATHEMATICAL LEFT ANGLE BRACKET: try adding math
- U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET: try adding math
- U+E0FC : 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:
[code: unreachable-subsetting]devanagari
,latin
,latin-ext
,vietnamese
â ī¸ Samaano-Italic[wdth,wght].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+02D8 BREVE: try adding one of: yi, canadian-aboriginal
- U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
- U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
- U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: math, cherokee, tifinagh, coptic
- U+0305 COMBINING OVERLINE: try adding one of: math, elbasan, glagolitic, coptic, gothic
- U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
- U+0307 COMBINING DOT ABOVE: try adding one of: math, duployan, tai-le, old-permic, tifinagh, syriac, coptic, todhri, canadian-aboriginal, malayalam, hebrew
- U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
- U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage
- U+030C COMBINING CARON: try adding one of: cherokee, tai-le
- U+030F COMBINING DOUBLE GRAVE ACCENT: not included in any glyphset definition
- U+0310 COMBINING CANDRABINDU: try adding one of: math, sunuwar
- U+0311 COMBINING INVERTED BREVE: try adding one of: todhri, coptic
- U+0312 COMBINING TURNED COMMA ABOVE: try adding math
- U+031B COMBINING HORN: not included in any glyphset definition
- U+0324 COMBINING DIAERESIS BELOW: try adding one of: cherokee, duployan, syriac
- U+0326 COMBINING COMMA BELOW: try adding math
- U+0327 COMBINING CEDILLA: try adding math
- U+0328 COMBINING OGONEK: not included in any glyphset definition
- U+032E COMBINING BREVE BELOW: try adding syriac
- U+0331 COMBINING MACRON BELOW: try adding one of: cherokee, tifinagh, syriac, caucasian-albanian, thai, sunuwar, gothic
- U+0335 COMBINING SHORT STROKE OVERLAY: not included in any glyphset definition
- U+2021 DOUBLE DAGGER: try adding adlam
- U+2030 PER MILLE SIGN: try adding adlam
- U+2052 COMMERCIAL MINUS SIGN: not included in any glyphset definition
- U+2070 SUPERSCRIPT ZERO: try adding math
- U+2071 SUPERSCRIPT LATIN SMALL LETTER I: try adding math
- U+2074 SUPERSCRIPT FOUR: try adding math
- U+2075 SUPERSCRIPT FIVE: try adding math
- U+2076 SUPERSCRIPT SIX: try adding math
- U+2077 SUPERSCRIPT SEVEN: try adding math
- U+2078 SUPERSCRIPT EIGHT: try adding math
- U+2079 SUPERSCRIPT NINE: try adding math
- U+207A SUPERSCRIPT PLUS SIGN: try adding math
- U+207B SUPERSCRIPT MINUS: try adding math
- U+207C SUPERSCRIPT EQUALS SIGN: try adding math
- U+207D SUPERSCRIPT LEFT PARENTHESIS: try adding math
- U+207E SUPERSCRIPT RIGHT PARENTHESIS: try adding math
- U+207F SUPERSCRIPT LATIN SMALL LETTER N: try adding math
- U+2080 SUBSCRIPT ZERO: try adding math
- U+2081 SUBSCRIPT ONE: try adding math
- U+2082 SUBSCRIPT TWO: try adding math
- U+2083 SUBSCRIPT THREE: try adding math
- U+2084 SUBSCRIPT FOUR: try adding math
- U+2085 SUBSCRIPT FIVE: try adding math
- U+2086 SUBSCRIPT SIX: try adding math
- U+2087 SUBSCRIPT SEVEN: try adding math
- U+2088 SUBSCRIPT EIGHT: try adding math
- U+2089 SUBSCRIPT NINE: try adding math
- U+208A SUBSCRIPT PLUS SIGN: try adding math
- U+208B SUBSCRIPT MINUS: try adding math
- U+208C SUBSCRIPT EQUALS SIGN: try adding math
- U+208D SUBSCRIPT LEFT PARENTHESIS: try adding math
- U+208E SUBSCRIPT RIGHT PARENTHESIS: try adding math
- U+2116 NUMERO SIGN: try adding cyrillic
- U+2248 ALMOST EQUAL TO: try adding math
- U+2260 NOT EQUAL TO: try adding math
- U+2264 LESS-THAN OR EQUAL TO: try adding math
- U+2265 GREATER-THAN OR EQUAL TO: try adding math
- U+27E8 MATHEMATICAL LEFT ANGLE BRACKET: try adding math
- U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET: try adding math
- U+E0FC : 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:
[code: unreachable-subsetting]devanagari
,latin
,latin-ext
,vietnamese
Check for METADATA subsets with zero support.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
METADATA.pb font.filename field contains font name in right format?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: family_metadata
[code: unfulfilled-conditions]
METADATA.pb font.full_name field contains font name in right format?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
Check name ID 25 to end with "Italic" for Italic VFs.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
METADATA.pb font.post_script_name field contains font name in right format?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: font_metadata
[code: unfulfilled-conditions]
Glyphset Checks
Shapes languages in all GF glyphsets.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Description Checks
âŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâšī¸âšī¸Does DESCRIPTION file contain broken links?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description_and_article_html
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description_and_article_html
[code: unfulfilled-conditions]
DESCRIPTION.en_us.html should end in a linebreak.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description
[code: unfulfilled-conditions]
On a family update, the DESCRIPTION.en_us.html file should ideally also be updated.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description
[code: unfulfilled-conditions]
Does DESCRIPTION file contain a upstream Git repo URL?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description_html
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description_html
[code: unfulfilled-conditions]
Check the description doesn't contain unsupported html elements
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description_and_article
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description_and_article
[code: unfulfilled-conditions]
DESCRIPTION.en_us.html must have more than 200 bytes.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description
[code: unfulfilled-conditions]
Check for presence of an ARTICLE.en_us.html file
âšī¸ Samaano[wdth,wght].ttf
-
âšī¸ INFO
This font doesn't have an ARTICLE.en_us.html file.
[code: missing-article]
âšī¸ Samaano-Italic[wdth,wght].ttf
-
âšī¸ INFO
This font doesn't have an ARTICLE.en_us.html file.
[code: missing-article]
URLs on DESCRIPTION file must not display http(s) prefix.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description_and_article_html
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description_and_article_html
[code: unfulfilled-conditions]
Is this a proper HTML snippet?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description_and_article
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: description_and_article
[code: unfulfilled-conditions]
Family Checks
âŠâŠâŠDoes font file include unacceptable control character glyphs?
â Family Check
-
â
PASS
All looks good!
[code: ok]
Fonts have equal codepoint coverage
⊠Family Check
-
⊠SKIP
Unfulfilled Conditions: stylenames_are_canonical
[code: unfulfilled-conditions]
Check font has a license.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: gfonts_repo_structure
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: gfonts_repo_structure
[code: unfulfilled-conditions]
Ensure Italic styles have Roman counterparts.
â Family Check
-
â
PASS
All looks good!
[code: ok]
All tabular figures must have the same width across the RIBBI-family.
â Family Check
-
â
PASS
All looks good!
[code: ok]
Name table checks
Combined length of family and style must not exceed 32 characters.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check family name for GF Guide compliance.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check copyright namerecords match license file.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
License URL matches License text on name table?
â Samaano[wdth,wght].ttf
-
â
PASS
Font has a valid license URL in NAME table.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Font has a valid license URL in NAME table.
Name table entries should not contain line-breaks.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Name table strings must not contain the string 'Reserved Font Name'.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Substitute copyright, registered and trademark symbols in name table entries.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Repository Checks
âŠâŠâŠâŠâŠCheck OFL body text is correct.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check license file has good copyright string.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Directory name in GFonts repo structure must match NameID 1 of the regular.
⊠Family Check
-
⊠SKIP
Unfulfilled Conditions: gfonts_repo_structure
[code: unfulfilled-conditions]
A font repository should not include FontBakery report files
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check upstream.yaml file contains all required fields
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: upstream_yaml
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: upstream_yaml
[code: unfulfilled-conditions]
A static fonts directory, if present, must contain manually hinted fonts
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: gfonts_repo_structure
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: gfonts_repo_structure
[code: unfulfilled-conditions]
A font repository should not include ZIP files
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Shaping Checks
â ī¸â ī¸âŠâŠâŠâŠâŠâŠCheck that texts shape as per expectation
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Shaping test directory not defined in configuration file
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Shaping test directory not defined in configuration file
Check that no forbidden glyphs are found while shaping
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Shaping test directory not defined in configuration file
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Shaping test directory not defined in configuration file
Check that no collisions are found while shaping
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Shaping test directory not defined in configuration file
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Shaping test directory not defined in configuration file
Ensure dotted circle glyph is present and can attach marks.
â Samaano[wdth,wght].ttf
-
â
PASS
All marks were anchored to dotted circle
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All marks were anchored to dotted circle
Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
â ī¸ Samaano[wdth,wght].ttf
-
â ī¸ WARN
The dot of soft dotted characters used in orthographies must disappear in the following strings: iĖ
The dot of soft dotted characters should disappear in other cases, for example: iĖ iĖ iĖ iĖ iĖĖ iĖĖ iĖĖ iĖĖ iĖĖ iĖĖ iĖĖ iĖ¤Ė iĖ¤Ė iĖ¤Ė iĖ¤Ė iĖ¤Ė iĖ¤Ė iĖ¤Ė iĖĻĖ iĖĻĖ
Your font fully covers the following languages that require the soft-dotted feature: Dutch (Latn, 31,709,104 speakers), Lithuanian (Latn, 2,357,094 speakers).
Your font does not cover the following languages that require the soft-dotted feature: Mfumte (Latn, 79,000 speakers), Dii (Latn, 71,000 speakers), Gulay (Latn, 250,478 speakers), Belarusian (Cyrl, 10,064,517 speakers), Vute (Latn, 21,000 speakers), Maâdi (Latn, 584,000 speakers), Zapotec (Latn, 490,000 speakers), Avokaya (Latn, 100,000 speakers), Basaa (Latn, 332,940 speakers), Mundani (Latn, 34,000 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Lugbara (Latn, 2,200,000 speakers), Ngbaka (Latn, 1,020,000 speakers), Ebira (Latn, 2,200,000 speakers), Bafut (Latn, 158,146 speakers), Fur (Latn, 1,230,163 speakers), Mango (Latn, 77,000 speakers), Nzakara (Latn, 50,000 speakers), Ekpeye (Latn, 226,000 speakers), Bete-Bendi (Latn, 100,000 speakers), Igbo (Latn, 27,823,640 speakers), Nateni (Latn, 100,000 speakers), Cicipu (Latn, 44,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Ejagham (Latn, 120,000 speakers), South Central Banda (Latn, 244,000 speakers), Makaa (Latn, 221,000 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Southern Kisi (Latn, 360,000 speakers), Kom (Latn, 360,685 speakers), Aghem (Latn, 38,843 speakers), Sar (Latn, 500,000 speakers), Yala (Latn, 200,000 speakers), Navajo (Latn, 166,319 speakers), Dan (Latn, 1,099,244 speakers), Koonzime (Latn, 40,000 speakers).
[code: soft-dotted]
â ī¸ Samaano-Italic[wdth,wght].ttf
-
â ī¸ WARN
The dot of soft dotted characters used in orthographies must disappear in the following strings: iĖ
The dot of soft dotted characters should disappear in other cases, for example: iĖ iĖ iĖ iĖ iĖĖ iĖĖ iĖĖ iĖĖ iĖĖ iĖĖ iĖĖ iĖ¤Ė iĖ¤Ė iĖ¤Ė iĖ¤Ė iĖ¤Ė iĖ¤Ė iĖ¤Ė iĖĻĖ iĖĻĖ
Your font fully covers the following languages that require the soft-dotted feature: Dutch (Latn, 31,709,104 speakers), Lithuanian (Latn, 2,357,094 speakers).
Your font does not cover the following languages that require the soft-dotted feature: Mfumte (Latn, 79,000 speakers), Dii (Latn, 71,000 speakers), Gulay (Latn, 250,478 speakers), Belarusian (Cyrl, 10,064,517 speakers), Vute (Latn, 21,000 speakers), Maâdi (Latn, 584,000 speakers), Zapotec (Latn, 490,000 speakers), Avokaya (Latn, 100,000 speakers), Basaa (Latn, 332,940 speakers), Mundani (Latn, 34,000 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Lugbara (Latn, 2,200,000 speakers), Ngbaka (Latn, 1,020,000 speakers), Ebira (Latn, 2,200,000 speakers), Bafut (Latn, 158,146 speakers), Fur (Latn, 1,230,163 speakers), Mango (Latn, 77,000 speakers), Nzakara (Latn, 50,000 speakers), Ekpeye (Latn, 226,000 speakers), Bete-Bendi (Latn, 100,000 speakers), Igbo (Latn, 27,823,640 speakers), Nateni (Latn, 100,000 speakers), Cicipu (Latn, 44,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Ejagham (Latn, 120,000 speakers), South Central Banda (Latn, 244,000 speakers), Makaa (Latn, 221,000 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Southern Kisi (Latn, 360,000 speakers), Kom (Latn, 360,685 speakers), Aghem (Latn, 38,843 speakers), Sar (Latn, 500,000 speakers), Yala (Latn, 200,000 speakers), Navajo (Latn, 166,319 speakers), Dan (Latn, 1,099,244 speakers), Koonzime (Latn, 40,000 speakers).
[code: soft-dotted]
Outline Checks
â ī¸â ī¸âŠâŠâŠâŠâŠâŠâŠâŠAre there any misaligned on-curve points?
â ī¸ Samaano[wdth,wght].ttf
-
â ī¸ WARN
The following glyphs have on-curve points which have potentially incorrect y coordinates:
[code: found-misalignments]* Eogonek (U+0118): X=477.0,Y=-1.0 (should be at baseline 0?) * Eogonek (U+0118): X=595.0,Y=-1.0 (should be at baseline 0?) * Eogonek (U+0118): X=477.0,Y=-1.0 (should be at baseline 0?) * Eogonek (U+0118): X=1019.0,Y=-1.0 (should be at baseline 0?) * ccedilla (U+00E7): X=568.0,Y=2.0 (should be at baseline 0?) * ccedilla (U+00E7): X=724.0,Y=2.0 (should be at baseline 0?) * iogonek (U+012F): X=482.0,Y=2.0 (should be at baseline 0?) * iogonek (U+012F): X=600.0,Y=2.0 (should be at baseline 0?) * iogonek (U+012F): X=482.0,Y=2.0 (should be at baseline 0?) * iogonek (U+012F): X=1024.0,Y=2.0 (should be at baseline 0?) * uni0162 (U+0162): X=447.0,Y=1.0 (should be at baseline 0?) * uni0162 (U+0162): X=603.0,Y=1.0 (should be at baseline 0?) * uni01EA (U+01EA): X=484.0,Y=2.0 (should be at baseline 0?) * uni01EA (U+01EA): X=602.0,Y=2.0 (should be at baseline 0?) * uni01EA (U+01EA): X=484.0,Y=2.0 (should be at baseline 0?) * uni01EA (U+01EA): X=1026.0,Y=2.0 (should be at baseline 0?) * uni01EB (U+01EB): X=477.0,Y=1.0 (should be at baseline 0?) * uni01EB (U+01EB): X=595.0,Y=1.0 (should be at baseline 0?) * uni01EB (U+01EB): X=477.0,Y=1.0 (should be at baseline 0?) * uni01EB (U+01EB): X=1019.0,Y=1.0 (should be at baseline 0?) * uni0947 (U+0947): X=66.0,Y=1550.0 (should be at cap-height 1548?) * uniFB02 (U+FB02): X=240.0,Y=1547.0 (should be at cap-height 1548?) * uniFB02 (U+FB02): X=440.0,Y=1547.0 (should be at cap-height 1548?) * uniFB02 (U+FB02): X=241.0,Y=1547.0 (should be at cap-height 1548?) * uniFB02 (U+FB02): X=668.0,Y=1547.0 (should be at cap-height 1548?)
â ī¸ Samaano-Italic[wdth,wght].ttf
-
â ī¸ WARN
The following glyphs have on-curve points which have potentially incorrect y coordinates:
[code: found-misalignments]* Ccedilla (U+00C7): X=268.0,Y=-2.0 (should be at baseline 0?) * Ccedilla (U+00C7): X=68.0,Y=-2.0 (should be at baseline 0?) * Ccedilla (U+00C7): X=948.0,Y=-2.0 (should be at baseline 0?) * Ccedilla (U+00C7): X=153.0,Y=-2.0 (should be at baseline 0?) * uni0162 (U+0162): X=615.0,Y=2.0 (should be at baseline 0?) * uni0162 (U+0162): X=415.0,Y=2.0 (should be at baseline 0?) * uni0163 (U+0163): X=433.0,Y=-2.0 (should be at baseline 0?) * uni0163 (U+0163): X=589.0,Y=-2.0 (should be at baseline 0?) * uni01C5 (U+01C5): X=563.0,Y=1547.0 (should be at cap-height 1548?) * uni01C5 (U+01C5): X=664.0,Y=1547.0 (should be at cap-height 1548?) * uni01C5 (U+01C5): X=382.0,Y=-1.0 (should be at baseline 0?) * uni01C5 (U+01C5): X=281.0,Y=-1.0 (should be at baseline 0?) * uni01C5 (U+01C5): X=726.0,Y=1547.0 (should be at cap-height 1548?) * uni01C5 (U+01C5): X=448.0,Y=-1.0 (should be at baseline 0?) * uni01C5 (U+01C5): X=645.0,Y=1547.0 (should be at cap-height 1548?) * uni01C5 (U+01C5): X=726.0,Y=1547.0 (should be at cap-height 1548?) * uni01C5 (U+01C5): X=448.0,Y=-1.0 (should be at baseline 0?) * uni01C5 (U+01C5): X=367.0,Y=-1.0 (should be at baseline 0?) * uni01EA (U+01EA): X=480.0,Y=-1.0 (should be at baseline 0?) * uni01EA (U+01EA): X=598.0,Y=-1.0 (should be at baseline 0?) * uni01EA (U+01EA): X=480.0,Y=-1.0 (should be at baseline 0?) * uni01EA (U+01EA): X=1022.0,Y=-1.0 (should be at baseline 0?) * uni0930_uni094D.blwf: X=-384.0,Y=-614.0 (should be at descender -615?) * uni0930_uni094D.blwf: X=-605.0,Y=-614.0 (should be at descender -615?) * uniFB02 (U+FB02): X=520.0,Y=1547.0 (should be at cap-height 1548?) * uniFB02 (U+FB02): X=720.0,Y=1547.0 (should be at cap-height 1548?) * uniFB02 (U+FB02): X=521.0,Y=1547.0 (should be at cap-height 1548?) * uniFB02 (U+FB02): X=948.0,Y=1547.0 (should be at cap-height 1548?)
Are any segments inordinately short?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: not is_variable_font
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: not is_variable_font
[code: unfulfilled-conditions]
Do any segments have colinear vectors?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: not is_variable_font
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: not is_variable_font
[code: unfulfilled-conditions]
Do outlines contain any jaggy segments?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: not is_variable_font
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: not is_variable_font
[code: unfulfilled-conditions]
Do outlines contain any semi-vertical or semi-horizontal lines?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: not is_variable_font
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: not is_variable_font, not is_italic
[code: unfulfilled-conditions]
Check the direction of the outermost contour in each glyph
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Font File Checks
đĨâ ī¸â ī¸â ī¸â ī¸âŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâšī¸âšī¸âšī¸âšī¸âšī¸âšī¸âšī¸âšī¸âšī¸âšī¸âšī¸Are there unwanted Apple tables?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Checking file is named canonically.
â Samaano[wdth,wght].ttf
-
â
PASS
Font filename is correct, "Samaano[wdth,wght].ttf".
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Font filename is correct, "Samaano-Italic[wdth,wght].ttf".
Does the font contain less than 150 CJK characters?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_claiming_to_be_cjk_font
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_claiming_to_be_cjk_font
[code: unfulfilled-conditions]
Check font follows the Google Fonts CJK vertical metric schema
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cjk_font
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cjk_font
[code: unfulfilled-conditions]
Check if the vertical metrics of a CJK family are similar to the same family hosted on Google Fonts.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cjk_font, regular_remote_style
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_cjk_font, regular_remote_style
[code: unfulfilled-conditions]
Color layers should have a minimum brightness
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check font has the expected color font tables.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Put an empty glyph on GID 1 right after the .notdef glyph for COLRv0 fonts.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
EPAR table present in font?
âšī¸ Samaano[wdth,wght].ttf
-
âšī¸ INFO
EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818
[code: lacks-EPAR]
âšī¸ Samaano-Italic[wdth,wght].ttf
-
âšī¸ INFO
EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818
[code: lacks-EPAR]
Ensure files are not too large.
â Samaano[wdth,wght].ttf
-
â
PASS
Font had a reasonable file size
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Font had a reasonable file size
Copyright notices match canonical pattern in fonts
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Familyname must be unique according to namecheck.fontdata.com
â Samaano[wdth,wght].ttf
-
â
PASS
Font familyname seems to be unique.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Font familyname seems to be unique.
Check font names are correct
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Checking OS/2 fsType does not impose restrictions.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check variable font instances
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
All name entries referenced by fvar instances exist on the name table?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
âšī¸ Samaano[wdth,wght].ttf
-
âšī¸ INFO
These are the ppm ranges declared on the gasp table:
PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearTypeÂŽ
[code: ranges]
âšī¸ Samaano-Italic[wdth,wght].ttf
-
âšī¸ INFO
These are the ppm ranges declared on the gasp table:
PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearTypeÂŽ
[code: ranges]
Validate defaults on fvar table match registered fallback names in GFAxisRegistry.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check glyphs do not have components which are themselves components.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check Google Fonts glyph coverage.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Font has ttfautohint params?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Font appears to our heuristic as not hinted using ttfautohint.
[code: not-hinted]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Font appears to our heuristic as not hinted using ttfautohint.
[code: not-hinted]
Show hinting filesize impact.
âšī¸ Samaano[wdth,wght].ttf
-
âšī¸ INFO
Hinting filesize impact:
fonts/variable/Samaano[wdth,wght].ttf Dehinted Size 177.8kb Hinted Size 177.8kb Increase 24 bytes Change 0.0 %
âšī¸ Samaano-Italic[wdth,wght].ttf
-
âšī¸ INFO
Hinting filesize impact:
fonts/variable/Samaano-Italic[wdth,wght].ttf Dehinted Size 195.2kb Hinted Size 195.2kb Increase 24 bytes Change 0.0 %
PPEM must be an integer on hinted fonts.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_hinted
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: is_hinted
[code: unfulfilled-conditions]
Is there kerning info for non-ligated sequences?
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: has_kerning_info
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: has_kerning_info
[code: unfulfilled-conditions]
Are there caret positions declared for every ligature?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Ensure variable fonts include an avar table.
â ī¸ Samaano[wdth,wght].ttf
-
â ī¸ WARN
This variable font does not have an avar table.
[code: missing-avar]
â ī¸ Samaano-Italic[wdth,wght].ttf
-
â ī¸ WARN
This variable font does not have an avar table.
[code: missing-avar]
Ensure fonts have ScriptLangTags declared on the 'meta' table.
âšī¸ Samaano[wdth,wght].ttf
-
âšī¸ INFO
Latn
[code: dlng-tag] -
âšī¸ INFO
Latn,Deva
[code: slng-tag]
âšī¸ Samaano-Italic[wdth,wght].ttf
-
âšī¸ INFO
Latn
[code: dlng-tag] -
âšī¸ INFO
Latn,Deva
[code: slng-tag]
Check small caps glyphs are available.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Are there non-ASCII characters in ASCII-only NAME table entries?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Description strings in the name table must not exceed 200 characters.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Make sure family name does not begin with a digit.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Font has all mandatory 'name' table entries?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Version format is correct in 'name' table?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Ensure fonts do not contain any pre-production tables.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Font has old ttfautohint applied?
âšī¸ Samaano[wdth,wght].ttf
-
âšī¸ INFO
Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 2.010']
[code: version-not-detected]
âšī¸ Samaano-Italic[wdth,wght].ttf
-
âšī¸ INFO
Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 2.010']
[code: version-not-detected]
OS/2.fsSelection bit 7 (USE_TYPO_METRICS) is set in all fonts.
â Family Check
-
â
PASS
All looks good!
[code: ok]
Check font can render its own name.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Checking direction of slnt axis angles
â Samaano[wdth,wght].ttf
-
â
PASS
Font has no slnt axis
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Font has no slnt axis
Font enables smart dropout control in "prep" table instructions?
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check axis ordering on the STAT table.
âšī¸ Family Check
-
âšī¸ INFO
None of the fonts lack a STAT table.
[code: summary]And these are the most common STAT axis orderings: ('wdth-wght', 1) ('wght-wdth-slnt', 1)
Validate STAT particle names and values match the fallback names in GFAxisRegistry.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
đĨ Samaano-Italic[wdth,wght].ttf
-
đĨ FAIL
On the font variation axis 'slnt', the name 'Oblique' is not among the expected ones (Default) according to the Google Fonts Axis Registry.
[code: invalid-name]
Ensure Stylistic Sets have description.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Stricter unitsPerEm criteria for Google Fonts.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check the OS/2 usWeightClass is appropriate for the font's best SubFamily name.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
The variable font 'wght' (Weight) axis coordinate must be 700 on the 'Bold' instance.
â Samaano[wdth,wght].ttf
-
â
PASS
Bold:wght is 700.
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
Bold:wght is 700.
Ensure that all variable font files have the same set of axes and axis ranges.
â Family Check
-
â
PASS
All looks good!
[code: ok]
Ensure VFs with duplexed axes do not vary horizontal advance.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
This font has no duplexed axes
[code: no-relevant-axes]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
This font has no duplexed axes
[code: no-relevant-axes]
Check variable font instances don't have duplicate names
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check a static ttf can be generated from a variable font.
â Samaano[wdth,wght].ttf
-
â
PASS
fontTools.varLib.mutator generated a static font instance
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
fontTools.varLib.mutator generated a static font instance
EXPERIMENTAL CHECK - Since 2024/Mar/27
Ensure the font's instances are in the correct order.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check that variable fonts have an HVAR table.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Ensure VFs do not contain the ital axis.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Checking OS/2 achVendID.
â ī¸ Samaano[wdth,wght].ttf
-
â ī¸ WARN
OS/2 VendorID value 'anir' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
[code: unknown]
â ī¸ Samaano-Italic[wdth,wght].ttf
-
â ī¸ WARN
OS/2 VendorID value 'anir' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
[code: unknown]
Check font follows the Google Fonts vertical metric schema
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
Check if the vertical metrics of a family are similar to the same family hosted on Google Fonts.
⊠Samaano[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: regular_remote_style
[code: unfulfilled-conditions]
⊠Samaano-Italic[wdth,wght].ttf
-
⊠SKIP
Unfulfilled Conditions: regular_remote_style
[code: unfulfilled-conditions]
There must not be VTT Talk sources in the font.
â Samaano[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]
â Samaano-Italic[wdth,wght].ttf
-
â
PASS
All looks good!
[code: ok]