Fonts and Typefaces (rinoh.font)¶
Classes for fonts and typefaces.
- class rinoh.font.Font(filename, weight, slant, width)¶
- A collection of glyphs in a particular style - This is a base class for classes that parse different font formats. See - rinoh.font.type1and- rinoh.font.opentype.- Parameters
- filename (str) – filename of the font file to load 
- weight (FontWeight) – weight of the font 
- slant (FontSlant) – slant of the font 
- width (FontWidth) – width of the font 
 
 - encoding¶
- If no encoding is set for the - Font, glyphs are addressed by glyph ID (and thus support more than 256 glyphs).
 - get_glyph(char, variant)¶
- Return the glyph for a particular character - If the glyph of requested font variant is not present in the font, the normal variant is returned instead. If that is not present either, an exception is raised. - Parameters
- char (str of length 1) – the character for which to find the glyph 
- variant (FontVariant) – the variant of the glyph to return 
 
- Returns
- GlyphMetrics – the requested glyph 
- Raises
- MissingGlyphException – when the requested glyph is not present in the font 
 
 - get_ligature(glyph, successor_glyph)¶
- Return the ligature to replace the given glyphs - If no ligature is defined in the font for the given glyphs, return - None.- Parameters
- glyph (GlyphMetrics) – the first of the glyphs to combine 
- successor_glyph (GlyphMetrics) – the second of the glyphs to combine 
 
- Returns
- GlyphMetrics or None – the ligature to replace the given glyphs 
 
 - get_kerning(a, b)¶
- Look up the kerning for two glyphs - Parameters
- a (GlyphMetrics) – the first of the glyphs 
- b (GlyphMetrics) – the second of the glyphs 
 
- Returns
- float – the kerning value in font units 
 
 
- class rinoh.font.Typeface(name, *fonts)¶
- A set of fonts that share common design features - The fonts collected in a typeface differ in weight, width and/or slant. - Parameters
- *fonts ( - Font) – the fonts that make up this typeface
 - fonts()¶
- Generator yielding all fonts of this typeface - Yields
- Font – the next font in this typeface 
 
 - get_font(weight=400, slant='upright', width=5)¶
- Return the font matching or closest to the given style - If a font with the given weight, slant and width is available, return it. Otherwise, return the font that is closest in style. - Parameters
- weight (FontWeight) – weight of the font 
- slant (FontSlant) – slant of the font 
- width (FontWidth) – width of the font 
 
- Returns
- Font – the requested font 
 
 
- class rinoh.font.style.FontWeight¶
- Accepts: - hairline,- thin,- ultra-light,- extra-light,- light,- regular,- normal,- book,- roman,- medium,- semi-bold,- demi-bold,- bold,- extra-bold,- ultra-bold,- black,- heavy,- extra-black,- ultra-black
- class rinoh.font.style.FontSlant¶
- Accepts: - upright,- oblique,- italic
- class rinoh.font.style.FontWidth¶
- Accepts: - ultra-condensed,- extra-condensed,- condensed,- semi-condensed,- normal,- medium,- semi-expanded,- expanded,- extra-expanded,- ultra-expanded
- class rinoh.font.style.FontVariant¶
- Accepts: - normal,- small capital,- oldstyle figures
- class rinoh.font.style.TextPosition¶
- Accepts: - normal,- superscript,- subscript