
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
.. "gallery/misc/ftface_props.py"
.. LINE NUMBERS ARE GIVEN BELOW.

.. only:: html

    .. note::
        :class: sphx-glr-download-link-note

        Click :ref:`here <sphx_glr_download_gallery_misc_ftface_props.py>`
        to download the full example code

.. rst-class:: sphx-glr-example-title

.. _sphx_glr_gallery_misc_ftface_props.py:


===============
Font properties
===============

This example lists the attributes of an `.FT2Font` object, which describe
global font properties.  For individual character metrics, use the `.Glyph`
object, as returned by `.load_char`.

.. GENERATED FROM PYTHON SOURCE LINES 10-65




.. rst-class:: sphx-glr-script-out

 Out:

 .. code-block:: none

    Num faces:   1
    Num glyphs:  5343
    Family name: DejaVu Sans
    Style name:  Oblique
    PS name:     DejaVuSans-Oblique
    Num fixed:   0
    Bbox:                (-2080, -717, 3398, 2187)
    EM:                  2048
    Ascender:            1901
    Descender:           -483
    Height:              2384
    Max adv width:       3461
    Max adv height:      2384
    Underline pos:       -175
    Underline thickness: 90
    Italic:           True
    Bold:             False
    Scalable:         True
    Fixed sizes:      False
    Fixed width:      False
    SFNT:             False
    Horizontal:       False
    Vertical:         False
    Kerning:          False
    Fast glyphs:      False
    Multiple masters: False
    Glyph names:      False
    External stream:  False






|

.. code-block:: default


    import os

    import matplotlib
    import matplotlib.ft2font as ft


    font = ft.FT2Font(
        # Use a font shipped with Matplotlib.
        os.path.join(matplotlib.get_data_path(),
                     'fonts/ttf/DejaVuSans-Oblique.ttf'))

    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('Style name: ', font.style_name)       # face style name
    print('PS name:    ', font.postscript_name)  # the postscript name
    print('Num fixed:  ', font.num_fixed_sizes)  # number of embedded bitmaps

    # 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)

    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(f"{style+':':17}", bool(font.style_flags & (1 << bitpos)))


.. _sphx_glr_download_gallery_misc_ftface_props.py:


.. only :: html

 .. container:: sphx-glr-footer
    :class: sphx-glr-footer-example



  .. container:: sphx-glr-download sphx-glr-download-python

     :download:`Download Python source code: ftface_props.py <ftface_props.py>`



  .. container:: sphx-glr-download sphx-glr-download-jupyter

     :download:`Download Jupyter notebook: ftface_props.ipynb <ftface_props.ipynb>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    Keywords: matplotlib code example, codex, python plot, pyplot
    `Gallery generated by Sphinx-Gallery
    <https://sphinx-gallery.readthedocs.io>`_
