matplotlib.type1font

A class representing a Type 1 font.

This version reads pfa and pfb files and splits them for embedding in pdf files. It also supports SlantFont and ExtendFont transformations, similarly to pdfTeX and friends. There is no support yet for subsetting.

Usage:

>>> font = Type1Font(filename)
>>> clear_part, encrypted_part, finale = font.parts
>>> slanted_font = font.transform({'slant': 0.167})
>>> extended_font = font.transform({'extend': 1.2})

Sources:

  • Adobe Technical Note #5040, Supporting Downloadable PostScript Language Fonts.
  • Adobe Type 1 Font Format, Adobe Systems Incorporated, third printing, v1.1, 1993. ISBN 0-201-57044-0.
class matplotlib.type1font.Type1Font(input)[source]

Bases: object

A class representing a Type-1 font, for use by backends.

Attributes:
partstuple

A 3-tuple of the cleartext part, the encrypted part, and the finale of zeros.

propDict[str, Any]

A dictionary of font properties.

Initialize a Type-1 font.

Parameters:
inputstr or 3-tuple

Either a pfb file name, or a 3-tuple of already-decoded Type-1 font parts.

parts
prop
transform(self, effects)[source]

Return a new font that is slanted and/or extended.

Parameters:
effectsdict

A dict with optional entries:

  • 'slant'float, default: 0
    Tangent of the angle that the font is to be slanted to the right. Negative values slant to the left.
  • 'extend'float, default: 1
    Scaling factor for the font width. Values less than 1 condense the glyphs.
Returns:
Type1Font