shared_conditions

FontBakeryCondition fontbakery.profiles.shared_conditions.VFs[source][source]

Returns a list of font files which are recognized as variable fonts

FontBakeryCondition fontbakery.profiles.shared_conditions.are_ttf[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.bold_wght_coord[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.default_wght_coord[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.family_directory[source][source]

Get the path of font project directory.

fontbakery.profiles.shared_conditions.get_axis_tags_set(ttFont)[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.get_cjk_glyphs[source][source]

Return all glyphs which belong to a CJK unicode block

fontbakery.profiles.shared_conditions.get_instance_axis_value(ttFont, instance_name, axis_tag)[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.glyph_metrics_stats[source][source]

Returns a dict containing whether the font seems_monospaced, what’s the maximum glyph width and what’s the most common width.

For a font to be considered monospaced, if at least 80% of ASCII characters have glyphs, then at least 80% of those must have the same width, otherwise all glyphs of printable characters must have one of two widths or be zero-width.

FontBakeryCondition fontbakery.profiles.shared_conditions.grad_axis[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.has_STAT_table[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.has_ital_axis[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.has_name_table[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.has_opsz_axis[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.has_os2_table[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.has_slnt_axis[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.has_wdth_axis[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.has_wght_axis[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.is_bold[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.is_cff[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.is_cff2[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.is_cjk_font[source][source]

The is_claiming_to_be_cjk_font condition looks up the font’s metadata to see if it is claiming to be a CJK font. But the metadata may be wrong, and the correctness of the metadata is something what we want to check! We also want to know if the font really is a CJK font, i.e. it contains a significant number of CJK characters. We say that this definition is met if the font has more than 150 CJK Unicode code points defined in the cmap table.

FontBakeryCondition fontbakery.profiles.shared_conditions.is_claiming_to_be_cjk_font[source][source]

Test font object to confirm that it meets our definition of a CJK font file.

We do this in two ways: in some cases, we are testing the metadata, i.e. what the font claims about itself, in which case the definition is met if any of the following conditions are True:

  1. The font has a CJK code page bit set in the OS/2 table

  2. The font has a CJK Unicode range bit set in the OS/2 table

See below for another way of testing this.

FontBakeryCondition fontbakery.profiles.shared_conditions.is_hinted[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.is_indic_font[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.is_italic[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.is_ttf[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.is_variable_font[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.ital_axis[source][source]
fontbakery.profiles.shared_conditions.keyword_in_full_font_name(ttFont, keyword)[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.ligature_glyphs[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.ligatures[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.missing_whitespace_chars[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.network[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.opsz_axis[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.preferred_cmap[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.regular_ital_coord[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.regular_opsz_coord[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.regular_slnt_coord[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.regular_wdth_coord[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.regular_wght_coord[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.sibling_directories[source][source]

Given a directory, this function tries to figure out where else in the filesystem other related “sibling” families might be located. This is guesswork and may not be able to find font files in other folders not yet covered by this routine. We may improve this in the future by adding other smarter filesystem lookup procedures or even by letting the user feed explicit sibling family paths.

This function returs a list of paths to directories where related font files were detected.

FontBakeryCondition fontbakery.profiles.shared_conditions.slnt_axis[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.style[source][source]

Determine font style from canonical filename.

FontBakeryCondition fontbakery.profiles.shared_conditions.superfamily[source][source]

Given a list of directories, this functions looks for font files and returs a list of lists of the detected filepaths.

FontBakeryCondition fontbakery.profiles.shared_conditions.superfamily_ttFonts[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.ttFont[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.typo_metrics_enabled[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.unicoderange[source][source]

Get an integer bitmap representing the UnicodeRange fields in the os/2 table.

FontBakeryCondition fontbakery.profiles.shared_conditions.variable_font_filename[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.vmetrics[source][source]
FontBakeryCondition fontbakery.profiles.shared_conditions.vtt_talk_sources[source][source]

Return the tags of VTT source tables found in a font.