diff --git a/examples/misc/ftface_props.py b/examples/misc/ftface_props.py index e64f2ecba574..f01310948577 100755 --- a/examples/misc/ftface_props.py +++ b/examples/misc/ftface_props.py @@ -8,28 +8,14 @@ load_char """ import matplotlib -from matplotlib.ft2font import FT2Font +import matplotlib.ft2font as ft + #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 +font = ft.FT2Font(fname) print('Num faces :', font.num_faces) # number of faces in file print('Num glyphs :', font.num_glyphs) # number of glyphs in the face @@ -59,18 +45,21 @@ # 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) +for style in ('Italic', + 'Bold', + 'Scalable', + 'Fixed sizes', + 'Fixed width', + 'SFNT', + 'Horizontal', + 'Vertical', + 'Kerning', + 'Fast glyphs', + 'Multiple masters', + 'Glyph names', + 'External stream'): + bitpos = getattr(ft, style.replace(' ', '_').upper()) - 1 + print('%-17s:' % style, bool(font.style_flags & (1 << bitpos))) print(dir(font)) diff --git a/src/ft2font_wrapper.cpp b/src/ft2font_wrapper.cpp index f8d9e44e74a4..024e2c5d6141 100644 --- a/src/ft2font_wrapper.cpp +++ b/src/ft2font_wrapper.cpp @@ -1665,7 +1665,7 @@ PyMODINIT_FUNC initft2font(void) add_dict_int(d, "FIXED_WIDTH", FT_FACE_FLAG_FIXED_WIDTH) || add_dict_int(d, "SFNT", FT_FACE_FLAG_SFNT) || add_dict_int(d, "HORIZONTAL", FT_FACE_FLAG_HORIZONTAL) || - add_dict_int(d, "VERTICAL", FT_FACE_FLAG_SCALABLE) || + add_dict_int(d, "VERTICAL", FT_FACE_FLAG_VERTICAL) || add_dict_int(d, "KERNING", FT_FACE_FLAG_KERNING) || add_dict_int(d, "FAST_GLYPHS", FT_FACE_FLAG_FAST_GLYPHS) || add_dict_int(d, "MULTIPLE_MASTERS", FT_FACE_FLAG_MULTIPLE_MASTERS) ||