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.
- decryptedbytes
The decrypted form of
parts[1]
.- propdict[str, Any]
A dictionary of font properties. Noteworthy keys include:
FontName: PostScript name of the font
Encoding: dict from numeric codes to glyph names
FontMatrix: bytes object encoding a matrix
UniqueID: optional font identifier, dropped when modifying the font
CharStrings: dict from glyph names to byte code
Subrs: array of byte code subroutines
OtherSubrs: bytes object encoding some PostScript code
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
.
- decrypted#
- parts#
- prop#
- transform(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: