Former-commit-id:a02aeb236c
[formerly9f19e3f712
] [formerlya02aeb236c
[formerly9f19e3f712
] [formerly06a8b51d6d
[formerly 64fa9254b946eae7e61bbc3f513b7c3696c4f54f]]] Former-commit-id:06a8b51d6d
Former-commit-id:8e80217e59
[formerly3360eb6c5f
] Former-commit-id:377dcd10b9
76 lines
3.3 KiB
Python
Executable file
76 lines
3.3 KiB
Python
Executable file
#!/usr/bin/env python
|
|
"""
|
|
This is a demo script to show you how to use all the properties of an
|
|
FT2Font object. These describe global font properties. For
|
|
individual character metrices, use the Glyp object, as returned by
|
|
load_char
|
|
"""
|
|
import matplotlib
|
|
from matplotlib.ft2font import FT2Font
|
|
|
|
#fname = '/usr/local/share/matplotlib/VeraIt.ttf'
|
|
fname = matplotlib.get_data_path() + '/fonts/ttf/VeraIt.ttf'
|
|
#fname = '/usr/local/share/matplotlib/cmr10.ttf'
|
|
|
|
font = FT2Font(fname)
|
|
|
|
# these constants are used to access the style_flags and face_flags
|
|
FT_FACE_FLAG_SCALABLE = 1 << 0
|
|
FT_FACE_FLAG_FIXED_SIZES = 1 << 1
|
|
FT_FACE_FLAG_FIXED_WIDTH = 1 << 2
|
|
FT_FACE_FLAG_SFNT = 1 << 3
|
|
FT_FACE_FLAG_HORIZONTAL = 1 << 4
|
|
FT_FACE_FLAG_VERTICAL = 1 << 5
|
|
FT_FACE_FLAG_KERNING = 1 << 6
|
|
FT_FACE_FLAG_FAST_GLYPHS = 1 << 7
|
|
FT_FACE_FLAG_MULTIPLE_MASTERS = 1 << 8
|
|
FT_FACE_FLAG_GLYPH_NAMES = 1 << 9
|
|
FT_FACE_FLAG_EXTERNAL_STREAM = 1 << 10
|
|
FT_STYLE_FLAG_ITALIC = 1 << 0
|
|
FT_STYLE_FLAG_BOLD = 1 << 1
|
|
|
|
print 'Num faces :', font.num_faces # number of faces in file
|
|
print 'Num glyphs :', font.num_glyphs # number of glyphs in the face
|
|
print 'Family name :', font.family_name # face family name
|
|
print 'Syle name :', font.style_name # face syle name
|
|
print 'PS name :', font.postscript_name # the postscript name
|
|
print 'Num fixed :', font.num_fixed_sizes # number of embedded bitmap in face
|
|
|
|
# the following are only available if face.scalable
|
|
if font.scalable:
|
|
# the face global bounding box (xmin, ymin, xmax, ymax)
|
|
print 'Bbox :', font.bbox
|
|
# number of font units covered by the EM
|
|
print 'EM :', font.units_per_EM
|
|
# the ascender in 26.6 units
|
|
print 'Ascender :', font.ascender
|
|
# the descender in 26.6 units
|
|
print 'Descender :', font.descender
|
|
# the height in 26.6 units
|
|
print 'Height :', font.height
|
|
# maximum horizontal cursor advance
|
|
print 'Max adv width :', font.max_advance_width
|
|
# same for vertical layout
|
|
print 'Max adv height :', font.max_advance_height
|
|
# vertical position of the underline bar
|
|
print 'Underline pos :', font.underline_position
|
|
# vertical thickness of the underline
|
|
print 'Underline thickness :', font.underline_thickness
|
|
|
|
print 'Italics :', font.style_flags & FT_STYLE_FLAG_ITALIC != 0
|
|
print 'Bold :', font.style_flags & FT_STYLE_FLAG_BOLD != 0
|
|
print 'Scalable :', font.style_flags & FT_FACE_FLAG_SCALABLE != 0
|
|
print 'Fixed sizes :', font.style_flags & FT_FACE_FLAG_FIXED_SIZES != 0
|
|
print 'Fixed width :', font.style_flags & FT_FACE_FLAG_FIXED_WIDTH != 0
|
|
print 'SFNT :', font.style_flags & FT_FACE_FLAG_SFNT != 0
|
|
print 'Horizontal :', font.style_flags & FT_FACE_FLAG_HORIZONTAL != 0
|
|
print 'Vertical :', font.style_flags & FT_FACE_FLAG_VERTICAL != 0
|
|
print 'Kerning :', font.style_flags & FT_FACE_FLAG_KERNING != 0
|
|
print 'Fast glyphs :', font.style_flags & FT_FACE_FLAG_FAST_GLYPHS != 0
|
|
print 'Mult. masters :', font.style_flags & FT_FACE_FLAG_MULTIPLE_MASTERS != 0
|
|
print 'Glyph names :', font.style_flags & FT_FACE_FLAG_GLYPH_NAMES != 0
|
|
|
|
print dir(font)
|
|
|
|
cmap = font.get_charmap()
|
|
print font.get_kerning
|