-
Notifications
You must be signed in to change notification settings - Fork 16
index
-
A static fonts directory, if present, must contain manually hinted fonts (
googlefonts/repo/vf_has_static_fonts) -
All fvar axes have a correspondent Axis Record on STAT table? (
opentype/varfont/STAT_axis_record_for_each_axis) -
All name entries referenced by fvar instances exist on the name table? (
fvar_name_entries) -
All tabular figures must have the same width across the RIBBI-family. (
googlefonts/family/tnum_horizontal_metrics) -
Any CJK font should contain at least a minimal set of 150 CJK characters. (
cjk_not_enough_glyphs) -
Are any segments inordinately short? (
outline_short_segments) -
Are there any misaligned on-curve points? (
outline_alignment_miss) -
Are there caret positions declared for every ligature? (
ligature_carets) -
Are there disallowed characters in the NAME table? (
name/char_restrictions) -
Are there unwanted Apple tables? (
unwanted_aat_tables) -
Are there unwanted tables? (
unwanted_tables) -
Axes and named instances fall within correct ranges? (
opentype/fvar/axis_ranges_correct) -
Axes and named instances fall within correct ranges? (
opentype/fvar/regular_coords_correct) -
CFF table FontName must match name table ID 6 (PostScript name). (
opentype/name/postscript_vs_cff) -
Check GDEF mark glyph class doesn't have characters that are not marks. (
opentype/GDEF_non_mark_chars) -
Check Google Fonts glyph coverage. (
googlefonts/glyph_coverage) -
Check METADATA.pb font weights are correct. (
googlefonts/metadata/weightclass) -
Check METADATA.pb includes production subsets. (
googlefonts/metadata/includes_production_subsets) -
Check METADATA.pb parses correctly (
googlefonts/metadata/consistent_with_fonts) -
Check METADATA.pb parses correctly (
googlefonts/metadata/validate) -
Check OFL body text is correct. (
googlefonts/license/OFL_body_text) -
Check OS/2 achVendID against configuration (
opentype/vendor_id) -
Check a font's STAT table contains compulsory Axis Values. (
googlefonts/STAT/compulsory_axis_values) -
Check accent of Lcaron, dcaron, lcaron, tcaron (
alt_caron) -
Check axis ordering on the STAT table. (
googlefonts/STAT/axis_order) -
Check base characters have non-zero advance width. (
base_has_width) -
Check code page character ranges (
opentype/code_pages) -
Check copyright namerecords match license file. (
googlefonts/name/license) -
Check correctness of STAT table strings (
STAT_strings) -
Check family name for GF Guide compliance. (
googlefonts/name/family_name_compliance) -
Check font contains no unreachable glyphs (
unreachable_glyphs) -
Check font family directory name. (
googlefonts/metadata/family_directory_name) -
Check font follows the Google Fonts CJK vertical metric schema (
googlefonts/cjk_vertical_metrics) -
Check font follows the Google Fonts vertical metric schema (
googlefonts/vertical_metrics) -
Check font has a license. (
googlefonts/family/has_license) -
Check font names are correct (
googlefonts/font_names) -
Check for codepoints not covered by METADATA subsets. (
googlefonts/metadata/unreachable_subsetting) -
Check for points out of bounds (
opentype/points_out_of_bounds) -
Check for presence of an ARTICLE.en_us.html file (
googlefonts/description/has_article) -
Check glyphs do not have duplicate components which have the same x,y coordinates. (
opentype/glyf_non_transformed_duplicate_components) -
Check glyphs in mark glyph class are non-spacing. (
opentype/GDEF_spacing_marks) -
Check hhea.caretSlopeRise and hhea.caretSlopeRun (
opentype/caret_slope) -
Check if 0.10 <= (stem width / ascender) <= 0.82 (
iso15008/stem_width) -
Check if 0.65 => (H width / H height) => 0.80 (
iso15008/proportions) -
Check if each glyph has the recommended amount of contours. (
contour_count) -
Check if spacing between characters is adequate for display use (
iso15008/intercharacter_spacing) -
Check if spacing between lines is adequate for display use (
iso15008/interline_spacing) -
Check if spacing between words is adequate for display use (
iso15008/interword_spacing) -
Check if the axes match between the font and the Google Fonts version. (
googlefonts/axes_match) -
Check if the vertical metrics of a CJK family are similar to the same family hosted on Google Fonts. (
googlefonts/cjk_vertical_metrics_regressions) -
Check if the vertical metrics of a family are similar to the same family hosted on Google Fonts. (
googlefonts/vertical_metrics_regressions) -
Check license file has good copyright string. (
googlefonts/license/OFL_copyright) -
Check mark characters are in GDEF mark glyph class. (
opentype/GDEF_mark_chars) -
Check math signs have the same width. (
math_signs_width) -
Check name ID 25 to end with "Italic" for Italic VFs. (
googlefonts/metadata/valid_nameid25) -
Check name table IDs 1, 2, 16, 17 to conform to Italic style. (
name/italic_names) -
Check name table for empty records. (
opentype/name/empty_records) -
Check samples can be rendered (
googlefonts/metadata/can_render_samples) -
Check tabular widths don't have kerning. (
tabular_kerning) -
Check that Arabic spacing symbols U+FBB2–FBC1 aren't classified as marks. (
arabic_spacing_symbols) -
Check that METADATA.pb family values are all the same. (
googlefonts/metadata/familyname) -
Check that OS/2.fsSelection bold & italic settings are unique for each NameID1 (
opentype/family/bold_italic_unique_for_nameid1) -
Check that family axis ranges are identical (
opentype/varfont/family_axis_ranges) -
Check that format 12 cmap subtables are correctly constituted. (
cmap/format_12) -
Check that glyph for U+0675 ARABIC LETTER HIGH HAMZA is not a mark. (
arabic_high_hamza) -
Check that legacy accents aren't used in composite glyphs. (
legacy_accents) -
Check that no forbidden glyphs are found while shaping (
shaping/forbidden) -
Check that texts shape as per expectation (
shaping/regression) -
Check that variable fonts have an HVAR table. (
googlefonts/varfont/has_HVAR) -
Check the OS/2 usWeightClass is appropriate for the font's best SubFamily name. (
googlefonts/weightclass) -
Check the description doesn't contain unsupported html elements (
googlefonts/description/has_unsupported_elements) -
Check the direction of the outermost contour in each glyph (
outline_direction) -
Check there are no overlapping path segments (
overlapping_path_segments) -
Check variable font instances (
googlefonts/fvar_instances) -
Checking OS/2 Metrics match hhea Metrics. (
os2_metrics_match_hhea) -
Checking OS/2 achVendID. (
googlefonts/vendor_id) -
Checking OS/2 fsSelection value. (
opentype/fsselection) -
Checking OS/2 fsSelection value. (
opentype/xavgcharwidth) -
Checking OS/2 fsType does not impose restrictions. (
googlefonts/fstype) -
Checking OS/2 usWinAscent & usWinDescent (
family/win_ascent_and_descent) -
Checking STAT table entries in static fonts. (
STAT_in_statics) -
Checking Vertical Metric linegaps. (
linegaps) -
Checking correctness of monospaced metadata. (
opentype/monospace) -
Checking direction of slnt axis angles (
opentype/slant_direction) -
Checking file is named canonically. (
googlefonts/canonical_filename) -
Checking font version fields (head and name table). (
opentype/font_version) -
Checking head.macStyle value. (
opentype/mac_style) -
Checking if OS/2 usWeightClass matches fvar. (
opentype/weight_class_fvar) -
Checking post.italicAngle value. (
opentype/italic_angle) -
Checking that the typoAscender exceeds the yMax of the /Agrave. (
typoascender_exceeds_Agrave) -
Checking unitsPerEm value is reasonable. (
opentype/unitsperem) -
Color layers should have a minimum brightness. (
color_cpal_brightness) -
Combined length of family and style must not exceed 32 characters. (
name/family_and_style_max_length) -
Copyright notice on METADATA.pb should not contain 'Reserved Font Name'. (
googlefonts/metadata/reserved_font_name) -
Copyright notices match canonical pattern in fonts (
googlefonts/font_copyright) -
DESCRIPTION.en_us.html must have more than 200 bytes. (
googlefonts/description/min_length) -
DESCRIPTION.en_us.html should end in a linebreak. (
googlefonts/description/eof_linebreak) -
Description strings in the name table must not contain copyright info (
name/no_copyright_on_description) -
Description strings in the name table must not exceed 200 characters. (
googlefonts/name/description_max_length) -
Detect any interpolation issues in the font. (
interpolation_issues) -
Directory name in GFonts repo structure must match NameID 1 of the regular. (
googlefonts/repo/dirname_matches_nameid_1) -
Do any segments have colinear vectors? (
outline_colinear_vectors) -
Do outlines contain any jaggy segments? (
outline_jaggy_segments) -
Do outlines contain any semi-vertical or semi-horizontal lines? (
outline_semi_vertical) -
Does DESCRIPTION file contain a upstream Git repo URL? (
googlefonts/description/git_url) -
Does DESCRIPTION file contain broken links? (
googlefonts/description/broken_links) -
Does GPOS table have kerning information? (
gpos_kerning_info) -
Does METADATA.pb copyright field contain broken links? (
googlefonts/metadata/broken_links) -
Does font file include unacceptable control character glyphs? (
control_chars) -
Does full font name begin with the font family name? (
opentype/name/match_familyname_fullfont) -
Does the font contain a soft hyphen? (
soft_hyphen) -
Does the font contain chws and vchw features? (
cjk_chws_feature) -
Does the font have any invalid feature tags? (
opentype/layout_valid_feature_tags) -
Does the font have any invalid language tags? (
opentype/layout_valid_language_tags) -
Does the font have any invalid script tags? (
opentype/layout_valid_script_tags) -
Does the number of glyphs in the loca table match the maxp table? (
opentype/loca/maxp_num_glyphs) -
Each font in a family must have the same set of vertical metrics values. (
family/vertical_metrics) -
Ensure 'smcp' (small caps) lookups are defined before ligature lookups in the 'GSUB' table. (
smallcaps_before_ligatures) -
Ensure Italic styles have Roman counterparts. (
googlefonts/family/italics_have_roman_counterparts) -
Ensure METADATA.pb category field is valid. (
googlefonts/metadata/category) -
Ensure METADATA.pb does not use escaped strings. (
googlefonts/metadata/escaped_strings) -
Ensure Stylistic Sets have description. (
stylisticset_description) -
Ensure VFs do not contain (yet) the ital axis. (
varfont/unsupported_axes) -
Ensure VFs have 'ital' STAT axis. (
opentype/STAT/ital_axis) -
Ensure VFs with duplexed axes do not vary horizontal advance. (
varfont/duplexed_axis_reflow) -
Ensure component transforms do not perform scaling or rotation. (
transformed_components) -
Ensure dotted circle glyph is present and can attach marks. (
dotted_circle) -
Ensure files are not too large. (
file_size) -
Ensure font can render its own name. (
googlefonts/render_own_name) -
Ensure font doesn't have Mac name table entries (platform=1). (
no_mac_entries) -
Ensure font has the expected color font tables. (
googlefonts/color_fonts) -
Ensure fonts have ScriptLangTags declared on the 'meta' table. (
googlefonts/meta/script_lang_tags) -
Ensure glyphs do not have components which are themselves components. (
nested_components) -
Ensure indic fonts have the Indian Rupee Sign glyph. (
rupee) -
Ensure small caps glyphs are available (
missing_small_caps_glyphs) -
Ensure smart dropout control is enabled in "prep" table instructions. (
smart_dropout) -
Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (
soft_dotted) -
Ensure that all variable font files have the same set of axes and axis ranges. (
varfont/consistent_axes) -
Ensure that the font can be rasterized by FreeType. (
freetype_rasterizer) -
Ensure the font supports case swapping for all its glyphs. (
case_mapping) -
Ensure the font's instances are in the correct order. (
varfont/instances_in_order) -
Ensure there is a regular style defined in METADATA.pb. (
googlefonts/metadata/has_regular) -
Ensure variable fonts include an avar table. (
mandatory_avar_table) -
Familyname must be unique according to namecheck.fontdata.com (
fontdata_namecheck) -
Font contains '.notdef' as its first glyph? (
mandatory_glyphs) -
Font contains all required tables? (
required_tables) -
Font contains glyphs for whitespace characters? (
whitespace_glyphs) -
Font contains unique glyph names? (
unique_glyphnames) -
Font follows the family naming recommendations? (
opentype/family_naming_recommendations) -
Font has all mandatory 'name' table entries? (
googlefonts/name/mandatory_entries) -
Font has correct post table version? (
opentype/post_table_version) -
Font has correct separator glyphs? (
googlefonts/separator_glyphs) -
Font has old ttfautohint applied? (
googlefonts/old_ttfautohint) -
Font has the proper sfntVersion value? (
sfnt_version) -
Font has ttfautohint params? (
googlefonts/has_ttfautohint_params) -
Fonts have consistent PANOSE family type? (
opentype/family/panose_familytype) -
Fonts have consistent underline thickness? (
opentype/family/underline_thickness) -
Fonts have equal codepoint coverage? (
googlefonts/family/equal_codepoint_coverage) -
Glyph names are all valid? (
valid_glyphnames) -
Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (
googlefonts/gasp) -
Is there any unused data at the end of the glyf table? (
opentype/glyf_unused_data) -
Is this a proper HTML snippet? (
googlefonts/description/valid_html) -
Letters in font have glyphs that are not empty? (
empty_letters) -
License URL matches License text on name table? (
googlefonts/name/license_url) -
METADATA.pb license is "APACHE2", "UFL" or "OFL"? (
googlefonts/metadata/license) -
METADATA.pb subsets are correct? (
googlefonts/metadata/subsets_correct) -
METADATA.pb: Check URL on copyright string is the same as in repository_url field. (
googlefonts/metadata/consistent_repo_urls) -
METADATA.pb: Check for primary_script (
googlefonts/metadata/primary_script) -
METADATA.pb: Copyright notice is the same in all fonts? (
googlefonts/metadata/copyright) -
METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (
googlefonts/metadata/designer_profiles) -
METADATA.pb: Regular should be 400. (
googlefonts/metadata/regular_is_400) -
Make sure all font files have the same version value. (
opentype/family/equal_font_versions) -
Make sure family name does not begin with a digit. (
googlefonts/name/familyname_first_char) -
MaxAdvanceWidth is consistent with values in the Hmtx and Hhea tables? (
opentype/maxadvancewidth) -
Name table ID 6 (PostScript name) must be consistent across platforms. (
opentype/name/postscript_name_consistency) -
Name table entries should not contain line-breaks. (
googlefonts/name/line_breaks) -
Name table records must not have trailing spaces. (
name/trailing_spaces) -
Name table strings must not contain the string 'Reserved Font Name'. (
googlefonts/name/rfn) -
OS/2.fsSelection bit 7 (USE_TYPO_METRICS) is set in all fonts. (
googlefonts/use_typo_metrics) -
PPEM must be an integer on hinted fonts. (
integer_ppem_if_hinted) -
PostScript name follows OpenType specification requirements? (
opentype/postscript_name) -
Put an empty glyph on GID 1 right after the .notdef glyph for COLRv0 fonts. (
empty_glyph_on_gid1_for_colrv0) -
Shapes languages in all GF glyphsets. (
googlefonts/glyphsets/shape_languages) -
Show hinting filesize impact. (
hinting_impact) -
Space and non-breaking space have the same width? (
whitespace_widths) -
Stricter unitsPerEm criteria for Google Fonts. (
googlefonts/unitsperem) -
Tofu should not be shown in sample texts. (
googlefonts/tofu) -
Typographic Family name consistency. (
typographic_family_name) -
URLs on DESCRIPTION file must not display http(s) prefix. (
googlefonts/description/urls) -
VTT or Volt Source Data must not be present. (
vtt_volt_data) -
Validate METADATA.pb axes values. (
googlefonts/metadata/axes) -
Validate STAT particle names and values match the fallback names in GFAxisRegistry. (
googlefonts/STAT/axisregistry) -
Validate defaults on fvar table match registered fallback names in GFAxisRegistry. (
googlefonts/axisregistry/fvar_axis_defaults) -
Validate foundry-defined design-variation axis tag names. (
opentype/varfont/foundry_defined_tag_name) -
Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets. (
googlefonts/article/images) -
Validates subfamilyNameID and postScriptNameID for the default instance record (
opentype/varfont/valid_default_instance_nameids) -
Validates that all of the instance records in a given font have distinct data (
opentype/varfont/distinct_instance_records) -
Validates that all of the instance records in a given font have the same size (
opentype/varfont/same_size_instance_records) -
Validates that all of the name IDs in an instance record are within the correct range (
opentype/varfont/valid_nameids) -
Verify that each group of fonts with the same nameID 1 has maximum of 4 fonts. (
opentype/family/max_4_fonts_per_family_name) -
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) (
opentype/family/consistent_family_name) -
Version format is correct in 'name' table? (
googlefonts/name/version_format) -
Version number has increased since previous release on Google Fonts? (
googlefonts/version_bump) -
Whitespace glyphs have ink? (
whitespace_ink)