Lenard Lindstrom avatar Lenard Lindstrom committed 6425e68

freetype: Font is now Face; its bold style is renamed strong to distinguish it from a bold font face in a distinct file.

Comments (0)

Files changed (13)

docs/reST/ref/freetype.rst

 ======================
 
 .. module:: pygame.freetype
-   :synopsis: Enhanced Pygame module for loading and rendering fonts
+   :synopsis: Enhanced Pygame module for loading and rendering font faces
 
-| :sl:`Enhanced Pygame module for loading and rendering fonts`
+| :sl:`Enhanced Pygame module for loading and rendering font faces`
 
 --- Note that some features may change before a formal release
 
-This module allows for rendering all font formats supported by FreeType, namely
+This module allows for rendering all face formats supported by FreeType, namely
 ``TTF``, Type1, ``CFF``, OpenType, ``SFNT``, ``PCF``, ``FNT``, ``BDF``, ``PFR``
-and Type42 fonts. It can render any UTF-32 character in a font file.
+and Type42 faces. It can render any UTF-32 character in a font file.
 
 This module is optional, and replaces all of the functionality of the original
 'font' module, whilst expanding it. This module depends in no way on the
 use the module; if the module is available and loaded, it will be automatically
 initialized by ``pygame.init()``
 
-Most of the work done with fonts is done by using the actual Font objects. The
-module by itself only has routines to initialize itself and create Font objects
-with ``pygame.freetype.Font()``.
+Most of the work done with faces is done by using the actual Face objects. The
+module by itself only has routines to initialize itself and create Face objects
+with ``pygame.freetype.Face()``.
 
-You can load fonts from the system by using the ``pygame.freetype.SysFont()``
+You can load faces from the system by using the ``pygame.freetype.SysFont()``
 function. There are a few other functions to help lookup the system fonts.
 
 For now undefined character codes are replaced with the ``undefined character``.
 How undefined codes are handled may become configurable in a future release.
 
 Pygame comes with a builtin default font. This can always be accessed by
-passing None as the font name to the Font constructor.
+passing None as the font name to the Face constructor.
 
 New in Pygame 1.9.2
 
    maximum amount of glyphs that will be cached at any given time by the
    module. Exceedingly small values will be automatically tuned for
    performance. Also a default pixel resolution, in dots per inch, can
-   be given to adjust font scaling.
+   be given to adjust face scaling.
 
 .. function:: quit
 
    file. This file can usually be found in the same directory as the font
    module, but it can also be bundled in separate archives.
 
-.. class:: Font
+.. class:: Face
 
-   | :sl:`Creates a new Font from a supported font file.`
-   | :sg:`Font(file, style=STYLE_NONE, ptsize=-1, face_index=0, vertical=0, ucs4=0, resolution=0) -> Font`
+   | :sl:`Creates a new Face instance from a supported font file.`
+   | :sg:`Face(file, style=STYLE_NONE, ptsize=-1, face_index=0, vertical=0, ucs4=0, resolution=0) -> Face`
 
    'file' can be either a string representing the font's filename, a file-like
    object containing the font, or None; in this last case the default, built-in
    font will be used.
 
    Optionally, a \*ptsize* argument may be specified to set the default size in
-   points which will be used to render the font. Such size can also be
+   points which will be used to render the face. Such size can also be
    specified manually on each method call. Because of the way the caching
    system works, specifying a default size on the constructor doesn't imply a
    performance gain over manually passing the size on each function call.
 
    If the font file has more than one face, the \*index* argument may be
-   specified to specify which face index to load. Defaults to 0; font loading
+   specified to specify which face index to load. Defaults to 0; face loading
    will fail if the given index is not contained in the font.
 
-   The 'style' argument will set the default style (oblique, underline, bold)
-   used to draw this font. This style may be overriden on any ``Font.render()``
+   The 'style' argument will set the default style (oblique, underline, strong)
+   used to draw this face. This style may be overriden on any ``Face.render()``
    call.
 
    The optional vertical argument, an integer, sets the default orientation
-   for the font: 0 (False) for horizontal, any other value (True) for vertical.
-   See :attr:`Font.vertical`.
+   for the face: 0 (False) for horizontal, any other value (True) for vertical.
+   See :attr:`Face.vertical`.
 
    The optional ucs4 argument, an integer, sets the default text translation
    mode: 0 (False) recognize UTF-16 surrogate pairs, any other value (True),
    to treat unicode text as UCS-4, with no surrogate pairs. See
-   :attr:`Font.ucs4`.
+   :attr:`Face.ucs4`.
 
    The optional resolution argument sets the pixel size, in dots per inch,
-   to use for scaling glyphs for this Font instance. If 0 then the default
-   module value, set by :meth:`freetype.init`, is used. The Font object's
+   to use for scaling glyphs for this Face instance. If 0 then the default
+   module value, set by :meth:`freetype.init`, is used. The Face object's
    resolution can only be changed by reinitializing the instance.
 
    .. attribute:: name
 
    .. method:: get_metrics
 
-      | :sl:`Gets glyph metrics for the font's characters`
+      | :sl:`Gets glyph metrics for the face's characters`
       | :sg:`get_metrics(text, ptsize=default) -> [(...), ...]`
 
       Returns the glyph metrics for each character in 'text'.
       grid-fitted pixel coordinates of type int. The advance values are 
       float values.
 
-      The calculations are done using the font's default size in points.
+      The calculations are done using the face's default size in points.
       Optionally you may specify another point size to use.
 
-      The metrics are adjusted for the current rotation, bold, and oblique
+      The metrics are adjusted for the current rotation, strong, and oblique
       settings.
 
       If text is a char (byte) string, then its encoding is assumed to be
       | :sg:`height -> int`
 
       Read only. Gets the height of the face. This is the average value of all
-      glyphs in the font.
+      glyphs in the face.
 
    .. method:: ascender
 
       | :sg:`get_sized_ascender() -> int`
 
       Return the number of units from the face's baseline to the top of the
-      bounding box. It is not adjusted for bold or rotation.
+      bounding box. It is not adjusted for strong or rotation.
 
    .. method:: get_sized_descender
 
       | :sg:`get_sized_descender() -> int`
 
       Return the number of pixels from the face's baseline to the top of the
-      bounding box. It is not adjusted for bold or rotation.
+      bounding box. It is not adjusted for strong or rotation.
 
    .. attribute:: get_sized_height
 
       | :sg:`get_sized_height() -> int`
 
       Read only. Gets the height of the face. This is the average value of all
-      glyphs in the font. It is not adjusted for bold or rotation.
+      glyphs in the face. It is not adjusted for strong or rotation.
 
    .. method:: get_sized_glyph_height
 
 
       Return the glyph bounding box height of the face in pixels.
       This is the average value of all glyphs in the face.
-      It is not adjusted for bold or rotation.
+      It is not adjusted for strong or rotation.
 
    .. method:: render
 
       surface.
 
       If an empty string is passed for text then the returned Rect is zero
-      width and the height of the font. If dest is None the returned surface is
+      width and the height of the face. If dest is None the returned surface is
       the same dimensions as the boundary rect. The rect will test False.
 
-      The rendering is done using the font's default size in points and its
-      default style, without any rotation, and taking into account fonts which
-      are set to be drawn vertically via the :meth:`Font.vertical` attribute.
+      The rendering is done using the face's default size in points and its
+      default style, without any rotation, and taking into account faces which
+      are set to be drawn vertically via the :meth:`Face.vertical` attribute.
       Optionally you may specify another point size to use via the 'ptsize'
       argument, a text rotation via the 'rotation' argument, or a new text
       style via the 'style' argument.
       | :sl:`Renders text as a string of bytes`
       | :sg:`render_raw(text, style=STYLE_DEFAULT, rotation=0, ptsize=default) -> (bytes, (int, int))`
 
-      Like ``Font.render(None, ...)`` but the tuple returned is an 8 bit
+      Like ``Face.render(None, ...)`` but the tuple returned is an 8 bit
       monochrome string of bytes and its size. The forground color is 255, the
       background 0, useful as an alpha mask for a foreground pattern.
 
    .. attribute:: style
 
-      | :sl:`Gets or sets the font's style`
+      | :sl:`Gets or sets the face's style`
       | :sg:`style -> int`
 
-      Gets or sets the default style of the Font. This default style will be
+      Gets or sets the default style of the Face. This default style will be
       used for all text rendering and size calculations unless overriden
       specifically in the \`render()` or \`get_size()` calls. The style value
       may be a bitwise ``OR`` of one or more of the following constants:
           STYLE_NONE
           STYLE_UNDERLINE
           STYLE_OBLIQUE
-          STYLE_BOLD
+          STYLE_STRONG
+	  STYLE_WIDE
 
       These constants may be found on the FreeType constants module.
       Optionally, the default style can be modified or obtained accessing the
-      individual style attributes (underline, oblique, bold).
+      individual style attributes (underline, oblique, strong).
 
    .. attribute:: underline
 
-      | :sl:`Gets or sets the font's underline style`
+      | :sl:`Gets or sets the face's underline style`
       | :sg:`underline -> bool`
 
-      Gets or sets whether the font will be underlined when drawing text. This
+      Gets or sets whether the face will be underlined when drawing text. This
       default style value will be used for all text rendering and size
       calculations unless overriden specifically in the \`render()` or
       \`get_size()` calls, via the 'style' parameter.
 
    .. attribute:: underscore
 
-      | :sl:`Gets or sets the font's underscore style`
+      | :sl:`Gets or sets the face's underscore style`
       | :sg:`underscore -> bool`
 
       Gets or sets whether the text will be underscored. Unlike underline,
       the underscore is 1 pixel thick and is positioned descender pixels
       below the baseline. This is for compatibility with font.Font.
 
-   .. attribute:: bold
+   .. attribute:: strong
 
-      | :sl:`Gets or sets the font's bold style`
-      | :sg:`bold -> bool`
+      | :sl:`Gets or sets the face's strong style`
+      | :sg:`strong -> bool`
 
-      Gets or sets whether the font will be bold when drawing text. This
+      Gets or sets whether the face will be bold when drawing text. This
       default style value will be used for all text rendering and size
       calculations unless overriden specifically in the \`render()` or
       \`get_size()` calls, via the 'style' parameter.
 
    .. attribute:: oblique
 
-      | :sl:`Gets or sets the font's oblique style`
+      | :sl:`Gets or sets the face's oblique style`
       | :sg:`oblique -> bool`
 
-      Gets or sets whether the font will be rendered as oblique. This
+      Gets or sets whether the face will be rendered as oblique. This
       default style value will be used for all text rendering and size
       calculations unless overriden specifically in the \`render()` or
       \`get_size()` calls, via the 'style' parameter.
 
    .. attribute:: wide
 
-      | :sl:`Gets or sets the font's wide style`
+      | :sl:`Gets or sets the face's wide style`
       | :sg:`wide -> bool`
 
-      Gets or sets whether the font will be stretched horizontally
+      Gets or sets whether the face will be stretched horizontally
       when drawing text. It produces a result simular to font.Font's
       bold. This style is only available for unrotated text.
 
    .. attribute:: fixed_width
 
-      | :sl:`Gets whether the font is fixed-width`
+      | :sl:`Gets whether the face is fixed-width`
       | :sg:`fixed_width -> bool`
 
-      Read only. Returns whether this Font is a fixed-width (bitmap) font.
+      Read only. Returns whether this Face is a fixed-width (bitmap) face.
 
-      Note that scalable fonts whose glyphs are all the same width (i.e.
+      Note that scalable faces whose glyphs are all the same width (i.e.
       monospace ``TTF`` fonts used for programming) are not considered fixed
       width.
 
    .. attribute:: antialiased
 
-      | :sl:`Font antialiasing mode`
+      | :sl:`Face antialiasing mode`
       | :sg:`antialiased -> bool`
 
-      Gets or sets the font's antialiasing mode. This defaults to ``True`` on
-      all fonts, which are rendered with full 8 bit blending.
+      Gets or sets the face's antialiasing mode. This defaults to ``True`` on
+      all faces, which are rendered with full 8 bit blending.
 
       Setting this to ``False`` will enable monochrome rendering. This should
       provide a small speed gain and reduce cache memory size.
       | :sl:`Character kerning mode`
       | :sg:`kerning -> bool`
 
-      Gets or sets the font's kerning mode. This defaults to False on all
-      fonts, which will be rendered by default without kerning.
+      Gets or sets the face's kerning mode. This defaults to False on all
+      faces, which will be rendered by default without kerning.
 
       Setting this to true will change all rendering methods to do kerning
       between character pairs for surface size calculation and all
 
    .. attribute:: vertical
 
-      | :sl:`Font vertical mode`
+      | :sl:`Face vertical mode`
       | :sg:`vertical -> bool`
 
-      Gets or sets whether the font is a vertical font such as fonts
+      Gets or sets whether the face is a vertical face such as faces in fonts
       representing Kanji glyphs or other styles of vertical writing.
 
-      Changing this attribute will cause the font to be rendering vertically,
+      Changing this attribute will cause the face to be rendering vertically,
       and affects all other methods which manage glyphs or text layouts to use
       vertical metrics accordingly.
 
       Note that the FreeType library doesn't automatically detect whether a
-      font contains glyphs which are always supposed to be drawn vertically, so
+      face contains glyphs which are always supposed to be drawn vertically, so
       this attribute must be set manually by the user.
 
-      Also note that several font formats (specially bitmap based ones) don't
+      Also note that several face formats (specially bitmap based ones) don't
       contain the necessary metrics to draw glyphs vertically, so drawing in
       those cases will give unspecified results.
 
    .. attribute:: origin
 
-      | :sl:`Font render to text origin mode`
+      | :sl:`Face render to text origin mode`
       | :sg:`vertical -> bool`
 
       If set True, then when rendering to an existing surface, the position
       | :sl:`Output pixel resolution in dots per inch`
       | :sg:`resolution -> int`
 
-      Gets the pixel size used in scaling font glyphs for this Font instance.
+      Gets the pixel size used in scaling face glyphs for this Face instance.
 
    .. method:: set_transform
 
 
       Set a transform matrix for the face. If None, no matrix assigned.
       The arguments can be any numeric type that can be converted
-      to a double. The matrix is applied after the bold transformation,
+      to a double. The matrix is applied after the strong transformation,
       but before oblique and rotation.
 
    .. method:: delete_transform

docs/ref/freetype.html

 <dt class="title module">
 <tt class="docutils literal"><span class="pre">pygame.freetype</span></tt></dt>
 <dd><div class="line-block">
-<div class="line"><span class="summaryline">Enhanced Pygame module for loading and rendering fonts</span></div>
+<div class="line"><span class="summaryline">Enhanced Pygame module for loading and rendering font faces</span></div>
 </div>
 <table border="1" class="toc docutils">
 <colgroup>
 <td>—</td>
 <td>Get the filename of the default font</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font">pygame.freetype.Font</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face">pygame.freetype.Face</a></td>
 <td>—</td>
-<td>Creates a new Font from a supported font file.</td>
+<td>Creates a new Face instance from a supported font file.</td>
 </tr>
 </tbody>
 </table>
 <p>&#8212; Note that some features may change before a formal release</p>
-<p>This module allows for rendering all font formats supported by FreeType, namely
+<p>This module allows for rendering all face formats supported by FreeType, namely
 <tt class="docutils literal"><span class="pre">TTF</span></tt>, Type1, <tt class="docutils literal"><span class="pre">CFF</span></tt>, OpenType, <tt class="docutils literal"><span class="pre">SFNT</span></tt>, <tt class="docutils literal"><span class="pre">PCF</span></tt>, <tt class="docutils literal"><span class="pre">FNT</span></tt>, <tt class="docutils literal"><span class="pre">BDF</span></tt>, <tt class="docutils literal"><span class="pre">PFR</span></tt>
-and Type42 fonts. It can render any UTF-32 character in a font file.</p>
+and Type42 faces. It can render any UTF-32 character in a font file.</p>
 <p>This module is optional, and replaces all of the functionality of the original
 &#8216;font&#8217; module, whilst expanding it. This module depends in no way on the
 SDL_ttf library.</p>
-<p>You should test that <a class="tooltip reference internal" href="#module-pygame.freetype" title=""><tt class="xref py py-mod docutils literal"><span class="pre">pygame.freetype</span></tt><span class="tooltip-content">Enhanced Pygame module for loading and rendering fonts</span></a> is initialized before attempting to
+<p>You should test that <a class="tooltip reference internal" href="#module-pygame.freetype" title=""><tt class="xref py py-mod docutils literal"><span class="pre">pygame.freetype</span></tt><span class="tooltip-content">Enhanced Pygame module for loading and rendering font faces</span></a> is initialized before attempting to
 use the module; if the module is available and loaded, it will be automatically
 initialized by <tt class="docutils literal"><span class="pre">pygame.init()</span></tt></p>
-<p>Most of the work done with fonts is done by using the actual Font objects. The
-module by itself only has routines to initialize itself and create Font objects
-with <tt class="docutils literal"><span class="pre">pygame.freetype.Font()</span></tt>.</p>
-<p>You can load fonts from the system by using the <tt class="docutils literal"><span class="pre">pygame.freetype.SysFont()</span></tt>
+<p>Most of the work done with faces is done by using the actual Face objects. The
+module by itself only has routines to initialize itself and create Face objects
+with <tt class="docutils literal"><span class="pre">pygame.freetype.Face()</span></tt>.</p>
+<p>You can load faces from the system by using the <tt class="docutils literal"><span class="pre">pygame.freetype.SysFont()</span></tt>
 function. There are a few other functions to help lookup the system fonts.</p>
 <p>For now undefined character codes are replaced with the <tt class="docutils literal"><span class="pre">undefined</span> <span class="pre">character</span></tt>.
 How undefined codes are handled may become configurable in a future release.</p>
 <p>Pygame comes with a builtin default font. This can always be accessed by
-passing None as the font name to the Font constructor.</p>
+passing None as the font name to the Face constructor.</p>
 <p>New in Pygame 1.9.2</p>
 <dl class="definition function">
 <dt class="title" id="pygame.freetype.get_error">
 maximum amount of glyphs that will be cached at any given time by the
 module. Exceedingly small values will be automatically tuned for
 performance. Also a default pixel resolution, in dots per inch, can
-be given to adjust font scaling.</p>
+be given to adjust face scaling.</p>
 </dd></dl>
 
 <dl class="definition function">
 </dd></dl>
 
 <dl class="definition class">
-<dt class="title" id="pygame.freetype.Font">
-<em class="property">class </em><tt class="descclassname">pygame.freetype.</tt><tt class="descname">Font</tt><a class="headerlink" href="#pygame.freetype.Font" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face">
+<em class="property">class </em><tt class="descclassname">pygame.freetype.</tt><tt class="descname">Face</tt><a class="headerlink" href="#pygame.freetype.Face" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
-<div class="line"><span class="summaryline">Creates a new Font from a supported font file.</span></div>
-<div class="line"><span class="signature">Font(file, style=STYLE_NONE, ptsize=-1, face_index=0, vertical=0, ucs4=0, resolution=0) -&gt; Font</span></div>
+<div class="line"><span class="summaryline">Creates a new Face instance from a supported font file.</span></div>
+<div class="line"><span class="signature">Face(file, style=STYLE_NONE, ptsize=-1, face_index=0, vertical=0, ucs4=0, resolution=0) -&gt; Face</span></div>
 </div>
 <table border="1" class="toc docutils">
 <colgroup>
 <col width="59%" />
 </colgroup>
 <tbody valign="top">
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.name">pygame.freetype.Font.name</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.name">pygame.freetype.Face.name</a></td>
 <td>—</td>
 <td>Gets the name of the font face.</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.path">pygame.freetype.Font.path</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.path">pygame.freetype.Face.path</a></td>
 <td>—</td>
 <td>Gets the path of the font file</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.get_rect">pygame.freetype.Font.get_rect</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.get_rect">pygame.freetype.Face.get_rect</a></td>
 <td>—</td>
 <td>Gets the size and offset of rendered text</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.get_metrics">pygame.freetype.Font.get_metrics</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.get_metrics">pygame.freetype.Face.get_metrics</a></td>
 <td>—</td>
-<td>Gets glyph metrics for the font&#8217;s characters</td>
+<td>Gets glyph metrics for the face&#8217;s characters</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.height">pygame.freetype.Font.height</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.height">pygame.freetype.Face.height</a></td>
 <td>—</td>
 <td>Gets the unscaled height of the face in font units</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.ascender">pygame.freetype.Font.ascender</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.ascender">pygame.freetype.Face.ascender</a></td>
 <td>—</td>
 <td>get the unscaled ascent of the face in font units</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.descender">pygame.freetype.Font.descender</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.descender">pygame.freetype.Face.descender</a></td>
 <td>—</td>
 <td>get the unscaled descent of the face in font units</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.get_sized_ascender">pygame.freetype.Font.get_sized_ascender</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.get_sized_ascender">pygame.freetype.Face.get_sized_ascender</a></td>
 <td>—</td>
 <td>Gets the scaled ascent the face in pixels</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.get_sized_descender">pygame.freetype.Font.get_sized_descender</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.get_sized_descender">pygame.freetype.Face.get_sized_descender</a></td>
 <td>—</td>
 <td>Gets the scaled descent the face in pixels</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.get_sized_height">pygame.freetype.Font.get_sized_height</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.get_sized_height">pygame.freetype.Face.get_sized_height</a></td>
 <td>—</td>
 <td>Gets the scaled height of the face in pixels</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.get_sized_glyph_height">pygame.freetype.Font.get_sized_glyph_height</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.get_sized_glyph_height">pygame.freetype.Face.get_sized_glyph_height</a></td>
 <td>—</td>
 <td>Gets the scaled height of the face in pixels</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.render">pygame.freetype.Font.render</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.render">pygame.freetype.Face.render</a></td>
 <td>—</td>
 <td>Renders text on a surface</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.render_raw">pygame.freetype.Font.render_raw</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.render_raw">pygame.freetype.Face.render_raw</a></td>
 <td>—</td>
 <td>Renders text as a string of bytes</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.style">pygame.freetype.Font.style</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.style">pygame.freetype.Face.style</a></td>
 <td>—</td>
-<td>Gets or sets the font&#8217;s style</td>
+<td>Gets or sets the face&#8217;s style</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.underline">pygame.freetype.Font.underline</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.underline">pygame.freetype.Face.underline</a></td>
 <td>—</td>
-<td>Gets or sets the font&#8217;s underline style</td>
+<td>Gets or sets the face&#8217;s underline style</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.underscore">pygame.freetype.Font.underscore</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.underscore">pygame.freetype.Face.underscore</a></td>
 <td>—</td>
-<td>Gets or sets the font&#8217;s underscore style</td>
+<td>Gets or sets the face&#8217;s underscore style</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.bold">pygame.freetype.Font.bold</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.strong">pygame.freetype.Face.strong</a></td>
 <td>—</td>
-<td>Gets or sets the font&#8217;s bold style</td>
+<td>Gets or sets the face&#8217;s strong style</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.oblique">pygame.freetype.Font.oblique</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.oblique">pygame.freetype.Face.oblique</a></td>
 <td>—</td>
-<td>Gets or sets the font&#8217;s oblique style</td>
+<td>Gets or sets the face&#8217;s oblique style</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.wide">pygame.freetype.Font.wide</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.wide">pygame.freetype.Face.wide</a></td>
 <td>—</td>
-<td>Gets or sets the font&#8217;s wide style</td>
+<td>Gets or sets the face&#8217;s wide style</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.fixed_width">pygame.freetype.Font.fixed_width</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.fixed_width">pygame.freetype.Face.fixed_width</a></td>
 <td>—</td>
-<td>Gets whether the font is fixed-width</td>
+<td>Gets whether the face is fixed-width</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.antialiased">pygame.freetype.Font.antialiased</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.antialiased">pygame.freetype.Face.antialiased</a></td>
 <td>—</td>
-<td>Font antialiasing mode</td>
+<td>Face antialiasing mode</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.kerning">pygame.freetype.Font.kerning</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.kerning">pygame.freetype.Face.kerning</a></td>
 <td>—</td>
 <td>Character kerning mode</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.vertical">pygame.freetype.Font.vertical</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.vertical">pygame.freetype.Face.vertical</a></td>
 <td>—</td>
-<td>Font vertical mode</td>
+<td>Face vertical mode</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.origin">pygame.freetype.Font.origin</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.origin">pygame.freetype.Face.origin</a></td>
 <td>—</td>
-<td>Font render to text origin mode</td>
+<td>Face render to text origin mode</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.pad">pygame.freetype.Font.pad</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.pad">pygame.freetype.Face.pad</a></td>
 <td>—</td>
 <td>padded boundary mode</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.ucs4">pygame.freetype.Font.ucs4</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.ucs4">pygame.freetype.Face.ucs4</a></td>
 <td>—</td>
 <td>Enables UCS-4 mode</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.resolution">pygame.freetype.Font.resolution</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.resolution">pygame.freetype.Face.resolution</a></td>
 <td>—</td>
 <td>Output pixel resolution in dots per inch</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.set_transform">pygame.freetype.Font.set_transform</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.set_transform">pygame.freetype.Face.set_transform</a></td>
 <td>—</td>
 <td>assign a glyph transformation matrix</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.delete_transform">pygame.freetype.Font.delete_transform</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.delete_transform">pygame.freetype.Face.delete_transform</a></td>
 <td>—</td>
 <td>delete a glyph transformation matrix</td>
 </tr>
-<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Font.get_transform">pygame.freetype.Font.get_transform</a></td>
+<tr><td><a class="toc reference external" href="freetype.html#pygame.freetype.Face.get_transform">pygame.freetype.Face.get_transform</a></td>
 <td>—</td>
 <td>return the user assigned transformation matrix, or None</td>
 </tr>
 object containing the font, or None; in this last case the default, built-in
 font will be used.</p>
 <p>Optionally, a *ptsize* argument may be specified to set the default size in
-points which will be used to render the font. Such size can also be
+points which will be used to render the face. Such size can also be
 specified manually on each method call. Because of the way the caching
 system works, specifying a default size on the constructor doesn&#8217;t imply a
 performance gain over manually passing the size on each function call.</p>
 <p>If the font file has more than one face, the *index* argument may be
-specified to specify which face index to load. Defaults to 0; font loading
+specified to specify which face index to load. Defaults to 0; face loading
 will fail if the given index is not contained in the font.</p>
-<p>The &#8216;style&#8217; argument will set the default style (oblique, underline, bold)
-used to draw this font. This style may be overriden on any <tt class="docutils literal"><span class="pre">Font.render()</span></tt>
+<p>The &#8216;style&#8217; argument will set the default style (oblique, underline, strong)
+used to draw this face. This style may be overriden on any <tt class="docutils literal"><span class="pre">Face.render()</span></tt>
 call.</p>
 <p>The optional vertical argument, an integer, sets the default orientation
-for the font: 0 (False) for horizontal, any other value (True) for vertical.
-See <a class="reference internal" href="#pygame.freetype.Font.vertical" title="pygame.freetype.Font.vertical"><tt class="xref py py-attr docutils literal"><span class="pre">Font.vertical</span></tt></a>.</p>
+for the face: 0 (False) for horizontal, any other value (True) for vertical.
+See <a class="reference internal" href="#pygame.freetype.Face.vertical" title="pygame.freetype.Face.vertical"><tt class="xref py py-attr docutils literal"><span class="pre">Face.vertical</span></tt></a>.</p>
 <p>The optional ucs4 argument, an integer, sets the default text translation
 mode: 0 (False) recognize UTF-16 surrogate pairs, any other value (True),
 to treat unicode text as UCS-4, with no surrogate pairs. See
-<a class="reference internal" href="#pygame.freetype.Font.ucs4" title="pygame.freetype.Font.ucs4"><tt class="xref py py-attr docutils literal"><span class="pre">Font.ucs4</span></tt></a>.</p>
+<a class="reference internal" href="#pygame.freetype.Face.ucs4" title="pygame.freetype.Face.ucs4"><tt class="xref py py-attr docutils literal"><span class="pre">Face.ucs4</span></tt></a>.</p>
 <p>The optional resolution argument sets the pixel size, in dots per inch,
-to use for scaling glyphs for this Font instance. If 0 then the default
-module value, set by <tt class="xref py py-meth docutils literal"><span class="pre">freetype.init()</span></tt>, is used. The Font object&#8217;s
+to use for scaling glyphs for this Face instance. If 0 then the default
+module value, set by <tt class="xref py py-meth docutils literal"><span class="pre">freetype.init()</span></tt>, is used. The Face object&#8217;s
 resolution can only be changed by reinitializing the instance.</p>
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.name">
-<tt class="descname">name</tt><a class="headerlink" href="#pygame.freetype.Font.name" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.name">
+<tt class="descname">name</tt><a class="headerlink" href="#pygame.freetype.Face.name" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">Gets the name of the font face.</span></div>
 <div class="line"><span class="signature">name -&gt; string</span></div>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.path">
-<tt class="descname">path</tt><a class="headerlink" href="#pygame.freetype.Font.path" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.path">
+<tt class="descname">path</tt><a class="headerlink" href="#pygame.freetype.Face.path" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">Gets the path of the font file</span></div>
 <div class="line"><span class="signature">path -&gt; unicode</span></div>
 </dd></dl>
 
 <dl class="definition method">
-<dt class="title" id="pygame.freetype.Font.get_rect">
-<tt class="descname">get_rect</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Font.get_rect" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.get_rect">
+<tt class="descname">get_rect</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Face.get_rect" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">Gets the size and offset of rendered text</span></div>
 <div class="line"><span class="signature">get_rect(text, style=STYLE_DEFAULT, rotation=0, ptsize=default) -&gt; rect</span></div>
 </dd></dl>
 
 <dl class="definition method">
-<dt class="title" id="pygame.freetype.Font.get_metrics">
-<tt class="descname">get_metrics</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Font.get_metrics" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.get_metrics">
+<tt class="descname">get_metrics</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Face.get_metrics" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
-<div class="line"><span class="summaryline">Gets glyph metrics for the font&#8217;s characters</span></div>
+<div class="line"><span class="summaryline">Gets glyph metrics for the face&#8217;s characters</span></div>
 <div class="line"><span class="signature">get_metrics(text, ptsize=default) -&gt; [(...), ...]</span></div>
 </div>
 <p>Returns the glyph metrics for each character in &#8216;text&#8217;.</p>
 <p>The bounding box min_x, max_y, min_y, and max_y values are returned as
 grid-fitted pixel coordinates of type int. The advance values are
 float values.</p>
-<p>The calculations are done using the font&#8217;s default size in points.
+<p>The calculations are done using the face&#8217;s default size in points.
 Optionally you may specify another point size to use.</p>
-<p>The metrics are adjusted for the current rotation, bold, and oblique
+<p>The metrics are adjusted for the current rotation, strong, and oblique
 settings.</p>
 <p>If text is a char (byte) string, then its encoding is assumed to be
 <tt class="docutils literal"><span class="pre">LATIN1</span></tt>.</p>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.height">
-<tt class="descname">height</tt><a class="headerlink" href="#pygame.freetype.Font.height" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.height">
+<tt class="descname">height</tt><a class="headerlink" href="#pygame.freetype.Face.height" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">Gets the unscaled height of the face in font units</span></div>
 <div class="line"><span class="signature">height -&gt; int</span></div>
 </div>
 <p>Read only. Gets the height of the face. This is the average value of all
-glyphs in the font.</p>
+glyphs in the face.</p>
 </dd></dl>
 
 <dl class="definition method">
-<dt class="title" id="pygame.freetype.Font.ascender">
-<tt class="descname">ascender</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Font.ascender" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.ascender">
+<tt class="descname">ascender</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Face.ascender" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">get the unscaled ascent of the face in font units</span></div>
 <div class="line"><span class="signature">ascender -&gt; int</span></div>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.descender">
-<tt class="descname">descender</tt><a class="headerlink" href="#pygame.freetype.Font.descender" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.descender">
+<tt class="descname">descender</tt><a class="headerlink" href="#pygame.freetype.Face.descender" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">get the unscaled descent of the face in font units</span></div>
 <div class="line"><span class="signature">descender -&gt; int</span></div>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.get_sized_ascender">
-<tt class="descname">get_sized_ascender</tt><a class="headerlink" href="#pygame.freetype.Font.get_sized_ascender" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.get_sized_ascender">
+<tt class="descname">get_sized_ascender</tt><a class="headerlink" href="#pygame.freetype.Face.get_sized_ascender" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">Gets the scaled ascent the face in pixels</span></div>
 <div class="line"><span class="signature">get_sized_ascender() -&gt; int</span></div>
 </div>
 <p>Return the number of units from the face&#8217;s baseline to the top of the
-bounding box. It is not adjusted for bold or rotation.</p>
+bounding box. It is not adjusted for strong or rotation.</p>
 </dd></dl>
 
 <dl class="definition method">
-<dt class="title" id="pygame.freetype.Font.get_sized_descender">
-<tt class="descname">get_sized_descender</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Font.get_sized_descender" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.get_sized_descender">
+<tt class="descname">get_sized_descender</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Face.get_sized_descender" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">Gets the scaled descent the face in pixels</span></div>
 <div class="line"><span class="signature">get_sized_descender() -&gt; int</span></div>
 </div>
 <p>Return the number of pixels from the face&#8217;s baseline to the top of the
-bounding box. It is not adjusted for bold or rotation.</p>
+bounding box. It is not adjusted for strong or rotation.</p>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.get_sized_height">
-<tt class="descname">get_sized_height</tt><a class="headerlink" href="#pygame.freetype.Font.get_sized_height" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.get_sized_height">
+<tt class="descname">get_sized_height</tt><a class="headerlink" href="#pygame.freetype.Face.get_sized_height" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">Gets the scaled height of the face in pixels</span></div>
 <div class="line"><span class="signature">get_sized_height() -&gt; int</span></div>
 </div>
 <p>Read only. Gets the height of the face. This is the average value of all
-glyphs in the font. It is not adjusted for bold or rotation.</p>
+glyphs in the face. It is not adjusted for strong or rotation.</p>
 </dd></dl>
 
 <dl class="definition method">
-<dt class="title" id="pygame.freetype.Font.get_sized_glyph_height">
-<tt class="descname">get_sized_glyph_height</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Font.get_sized_glyph_height" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.get_sized_glyph_height">
+<tt class="descname">get_sized_glyph_height</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Face.get_sized_glyph_height" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">Gets the scaled height of the face in pixels</span></div>
 <div class="line"><span class="signature">get_sized_glyph_height() -&gt; int</span></div>
 </div>
 <p>Return the glyph bounding box height of the face in pixels.
 This is the average value of all glyphs in the face.
-It is not adjusted for bold or rotation.</p>
+It is not adjusted for strong or rotation.</p>
 </dd></dl>
 
 <dl class="definition method">
-<dt class="title" id="pygame.freetype.Font.render">
-<tt class="descname">render</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Font.render" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.render">
+<tt class="descname">render</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Face.render" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">Renders text on a surface</span></div>
 <div class="line"><span class="signature">render(dest, text, fgcolor, bgcolor=None, style=STYLE_DEFAULT, rotation=0, ptsize=default) -&gt; (Surface, Rect)</span></div>
 rectangle giving the size and position of the rendered text within the
 surface.</p>
 <p>If an empty string is passed for text then the returned Rect is zero
-width and the height of the font. If dest is None the returned surface is
+width and the height of the face. If dest is None the returned surface is
 the same dimensions as the boundary rect. The rect will test False.</p>
-<p>The rendering is done using the font&#8217;s default size in points and its
-default style, without any rotation, and taking into account fonts which
-are set to be drawn vertically via the <a class="reference internal" href="#pygame.freetype.Font.vertical" title="pygame.freetype.Font.vertical"><tt class="xref py py-meth docutils literal"><span class="pre">Font.vertical()</span></tt></a> attribute.
+<p>The rendering is done using the face&#8217;s default size in points and its
+default style, without any rotation, and taking into account faces which
+are set to be drawn vertically via the <a class="reference internal" href="#pygame.freetype.Face.vertical" title="pygame.freetype.Face.vertical"><tt class="xref py py-meth docutils literal"><span class="pre">Face.vertical()</span></tt></a> attribute.
 Optionally you may specify another point size to use via the &#8216;ptsize&#8217;
 argument, a text rotation via the &#8216;rotation&#8217; argument, or a new text
 style via the &#8216;style&#8217; argument.</p>
 </dd></dl>
 
 <dl class="definition method">
-<dt class="title" id="pygame.freetype.Font.render_raw">
-<tt class="descname">render_raw</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Font.render_raw" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.render_raw">
+<tt class="descname">render_raw</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Face.render_raw" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">Renders text as a string of bytes</span></div>
 <div class="line"><span class="signature">render_raw(text, style=STYLE_DEFAULT, rotation=0, ptsize=default) -&gt; (bytes, (int, int))</span></div>
 </div>
-<p>Like <tt class="docutils literal"><span class="pre">Font.render(None,</span> <span class="pre">...)</span></tt> but the tuple returned is an 8 bit
+<p>Like <tt class="docutils literal"><span class="pre">Face.render(None,</span> <span class="pre">...)</span></tt> but the tuple returned is an 8 bit
 monochrome string of bytes and its size. The forground color is 255, the
 background 0, useful as an alpha mask for a foreground pattern.</p>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.style">
-<tt class="descname">style</tt><a class="headerlink" href="#pygame.freetype.Font.style" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.style">
+<tt class="descname">style</tt><a class="headerlink" href="#pygame.freetype.Face.style" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
-<div class="line"><span class="summaryline">Gets or sets the font&#8217;s style</span></div>
+<div class="line"><span class="summaryline">Gets or sets the face&#8217;s style</span></div>
 <div class="line"><span class="signature">style -&gt; int</span></div>
 </div>
-<p>Gets or sets the default style of the Font. This default style will be
+<p>Gets or sets the default style of the Face. This default style will be
 used for all text rendering and size calculations unless overriden
 specifically in the `render()` or `get_size()` calls. The style value
 may be a bitwise <tt class="docutils literal"><span class="pre">OR</span></tt> of one or more of the following constants:</p>
 <div class="highlight-python"><div class="highlight"><pre><span class="n">STYLE_NONE</span>
 <span class="n">STYLE_UNDERLINE</span>
 <span class="n">STYLE_OBLIQUE</span>
-<span class="n">STYLE_BOLD</span>
+<span class="n">STYLE_STRONG</span>
+<span class="n">STYLE_WIDE</span>
 </pre></div>
 </div>
 <p>These constants may be found on the FreeType constants module.
 Optionally, the default style can be modified or obtained accessing the
-individual style attributes (underline, oblique, bold).</p>
+individual style attributes (underline, oblique, strong).</p>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.underline">
-<tt class="descname">underline</tt><a class="headerlink" href="#pygame.freetype.Font.underline" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.underline">
+<tt class="descname">underline</tt><a class="headerlink" href="#pygame.freetype.Face.underline" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
-<div class="line"><span class="summaryline">Gets or sets the font&#8217;s underline style</span></div>
+<div class="line"><span class="summaryline">Gets or sets the face&#8217;s underline style</span></div>
 <div class="line"><span class="signature">underline -&gt; bool</span></div>
 </div>
-<p>Gets or sets whether the font will be underlined when drawing text. This
+<p>Gets or sets whether the face will be underlined when drawing text. This
 default style value will be used for all text rendering and size
 calculations unless overriden specifically in the `render()` or
 `get_size()` calls, via the &#8216;style&#8217; parameter.</p>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.underscore">
-<tt class="descname">underscore</tt><a class="headerlink" href="#pygame.freetype.Font.underscore" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.underscore">
+<tt class="descname">underscore</tt><a class="headerlink" href="#pygame.freetype.Face.underscore" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
-<div class="line"><span class="summaryline">Gets or sets the font&#8217;s underscore style</span></div>
+<div class="line"><span class="summaryline">Gets or sets the face&#8217;s underscore style</span></div>
 <div class="line"><span class="signature">underscore -&gt; bool</span></div>
 </div>
 <p>Gets or sets whether the text will be underscored. Unlike underline,
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.bold">
-<tt class="descname">bold</tt><a class="headerlink" href="#pygame.freetype.Font.bold" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.strong">
+<tt class="descname">strong</tt><a class="headerlink" href="#pygame.freetype.Face.strong" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
-<div class="line"><span class="summaryline">Gets or sets the font&#8217;s bold style</span></div>
-<div class="line"><span class="signature">bold -&gt; bool</span></div>
+<div class="line"><span class="summaryline">Gets or sets the face&#8217;s strong style</span></div>
+<div class="line"><span class="signature">strong -&gt; bool</span></div>
 </div>
-<p>Gets or sets whether the font will be bold when drawing text. This
+<p>Gets or sets whether the face will be bold when drawing text. This
 default style value will be used for all text rendering and size
 calculations unless overriden specifically in the `render()` or
 `get_size()` calls, via the &#8216;style&#8217; parameter.</p>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.oblique">
-<tt class="descname">oblique</tt><a class="headerlink" href="#pygame.freetype.Font.oblique" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.oblique">
+<tt class="descname">oblique</tt><a class="headerlink" href="#pygame.freetype.Face.oblique" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
-<div class="line"><span class="summaryline">Gets or sets the font&#8217;s oblique style</span></div>
+<div class="line"><span class="summaryline">Gets or sets the face&#8217;s oblique style</span></div>
 <div class="line"><span class="signature">oblique -&gt; bool</span></div>
 </div>
-<p>Gets or sets whether the font will be rendered as oblique. This
+<p>Gets or sets whether the face will be rendered as oblique. This
 default style value will be used for all text rendering and size
 calculations unless overriden specifically in the `render()` or
 `get_size()` calls, via the &#8216;style&#8217; parameter.</p>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.wide">
-<tt class="descname">wide</tt><a class="headerlink" href="#pygame.freetype.Font.wide" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.wide">
+<tt class="descname">wide</tt><a class="headerlink" href="#pygame.freetype.Face.wide" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
-<div class="line"><span class="summaryline">Gets or sets the font&#8217;s wide style</span></div>
+<div class="line"><span class="summaryline">Gets or sets the face&#8217;s wide style</span></div>
 <div class="line"><span class="signature">wide -&gt; bool</span></div>
 </div>
-<p>Gets or sets whether the font will be stretched horizontally
+<p>Gets or sets whether the face will be stretched horizontally
 when drawing text. It produces a result simular to font.Font&#8217;s
 bold. This style is only available for unrotated text.</p>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.fixed_width">
-<tt class="descname">fixed_width</tt><a class="headerlink" href="#pygame.freetype.Font.fixed_width" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.fixed_width">
+<tt class="descname">fixed_width</tt><a class="headerlink" href="#pygame.freetype.Face.fixed_width" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
-<div class="line"><span class="summaryline">Gets whether the font is fixed-width</span></div>
+<div class="line"><span class="summaryline">Gets whether the face is fixed-width</span></div>
 <div class="line"><span class="signature">fixed_width -&gt; bool</span></div>
 </div>
-<p>Read only. Returns whether this Font is a fixed-width (bitmap) font.</p>
-<p>Note that scalable fonts whose glyphs are all the same width (i.e.
+<p>Read only. Returns whether this Face is a fixed-width (bitmap) face.</p>
+<p>Note that scalable faces whose glyphs are all the same width (i.e.
 monospace <tt class="docutils literal"><span class="pre">TTF</span></tt> fonts used for programming) are not considered fixed
 width.</p>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.antialiased">
-<tt class="descname">antialiased</tt><a class="headerlink" href="#pygame.freetype.Font.antialiased" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.antialiased">
+<tt class="descname">antialiased</tt><a class="headerlink" href="#pygame.freetype.Face.antialiased" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
-<div class="line"><span class="summaryline">Font antialiasing mode</span></div>
+<div class="line"><span class="summaryline">Face antialiasing mode</span></div>
 <div class="line"><span class="signature">antialiased -&gt; bool</span></div>
 </div>
-<p>Gets or sets the font&#8217;s antialiasing mode. This defaults to <tt class="xref docutils literal"><span class="pre">True</span></tt> on
-all fonts, which are rendered with full 8 bit blending.</p>
+<p>Gets or sets the face&#8217;s antialiasing mode. This defaults to <tt class="xref docutils literal"><span class="pre">True</span></tt> on
+all faces, which are rendered with full 8 bit blending.</p>
 <p>Setting this to <tt class="xref docutils literal"><span class="pre">False</span></tt> will enable monochrome rendering. This should
 provide a small speed gain and reduce cache memory size.</p>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.kerning">
-<tt class="descname">kerning</tt><a class="headerlink" href="#pygame.freetype.Font.kerning" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.kerning">
+<tt class="descname">kerning</tt><a class="headerlink" href="#pygame.freetype.Face.kerning" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">Character kerning mode</span></div>
 <div class="line"><span class="signature">kerning -&gt; bool</span></div>
 </div>
-<p>Gets or sets the font&#8217;s kerning mode. This defaults to False on all
-fonts, which will be rendered by default without kerning.</p>
+<p>Gets or sets the face&#8217;s kerning mode. This defaults to False on all
+faces, which will be rendered by default without kerning.</p>
 <p>Setting this to true will change all rendering methods to do kerning
 between character pairs for surface size calculation and all
 render operations.</p>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.vertical">
-<tt class="descname">vertical</tt><a class="headerlink" href="#pygame.freetype.Font.vertical" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.vertical">
+<tt class="descname">vertical</tt><a class="headerlink" href="#pygame.freetype.Face.vertical" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
-<div class="line"><span class="summaryline">Font vertical mode</span></div>
+<div class="line"><span class="summaryline">Face vertical mode</span></div>
 <div class="line"><span class="signature">vertical -&gt; bool</span></div>
 </div>
-<p>Gets or sets whether the font is a vertical font such as fonts
+<p>Gets or sets whether the face is a vertical face such as faces in fonts
 representing Kanji glyphs or other styles of vertical writing.</p>
-<p>Changing this attribute will cause the font to be rendering vertically,
+<p>Changing this attribute will cause the face to be rendering vertically,
 and affects all other methods which manage glyphs or text layouts to use
 vertical metrics accordingly.</p>
 <p>Note that the FreeType library doesn&#8217;t automatically detect whether a
-font contains glyphs which are always supposed to be drawn vertically, so
+face contains glyphs which are always supposed to be drawn vertically, so
 this attribute must be set manually by the user.</p>
-<p>Also note that several font formats (specially bitmap based ones) don&#8217;t
+<p>Also note that several face formats (specially bitmap based ones) don&#8217;t
 contain the necessary metrics to draw glyphs vertically, so drawing in
 those cases will give unspecified results.</p>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.origin">
-<tt class="descname">origin</tt><a class="headerlink" href="#pygame.freetype.Font.origin" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.origin">
+<tt class="descname">origin</tt><a class="headerlink" href="#pygame.freetype.Face.origin" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
-<div class="line"><span class="summaryline">Font render to text origin mode</span></div>
+<div class="line"><span class="summaryline">Face render to text origin mode</span></div>
 <div class="line"><span class="signature">vertical -&gt; bool</span></div>
 </div>
 <p>If set True, then when rendering to an existing surface, the position
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.pad">
-<tt class="descname">pad</tt><a class="headerlink" href="#pygame.freetype.Font.pad" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.pad">
+<tt class="descname">pad</tt><a class="headerlink" href="#pygame.freetype.Face.pad" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">padded boundary mode</span></div>
 <div class="line"><span class="signature">pad -&gt; bool</span></div>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.ucs4">
-<tt class="descname">ucs4</tt><a class="headerlink" href="#pygame.freetype.Font.ucs4" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.ucs4">
+<tt class="descname">ucs4</tt><a class="headerlink" href="#pygame.freetype.Face.ucs4" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">Enables UCS-4 mode</span></div>
 <div class="line"><span class="signature">ucs4 -&gt; bool</span></div>
 </dd></dl>
 
 <dl class="definition attribute">
-<dt class="title" id="pygame.freetype.Font.resolution">
-<tt class="descname">resolution</tt><a class="headerlink" href="#pygame.freetype.Font.resolution" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.resolution">
+<tt class="descname">resolution</tt><a class="headerlink" href="#pygame.freetype.Face.resolution" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">Output pixel resolution in dots per inch</span></div>
 <div class="line"><span class="signature">resolution -&gt; int</span></div>
 </div>
-<p>Gets the pixel size used in scaling font glyphs for this Font instance.</p>
+<p>Gets the pixel size used in scaling face glyphs for this Face instance.</p>
 </dd></dl>
 
 <dl class="definition method">
-<dt class="title" id="pygame.freetype.Font.set_transform">
-<tt class="descname">set_transform</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Font.set_transform" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.set_transform">
+<tt class="descname">set_transform</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Face.set_transform" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">assign a glyph transformation matrix</span></div>
 <div class="line"><span class="signature">set_transform(xx, xy, yx, yy) -&gt; None</span></div>
 </div>
 <p>Set a transform matrix for the face. If None, no matrix assigned.
 The arguments can be any numeric type that can be converted
-to a double. The matrix is applied after the bold transformation,
+to a double. The matrix is applied after the strong transformation,
 but before oblique and rotation.</p>
 </dd></dl>
 
 <dl class="definition method">
-<dt class="title" id="pygame.freetype.Font.delete_transform">
-<tt class="descname">delete_transform</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Font.delete_transform" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.delete_transform">
+<tt class="descname">delete_transform</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Face.delete_transform" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">delete a glyph transformation matrix</span></div>
 <div class="line"><span class="signature">set_transform(xx, xy, yx, yy) -&gt; None</span></div>
 </dd></dl>
 
 <dl class="definition method">
-<dt class="title" id="pygame.freetype.Font.get_transform">
-<tt class="descname">get_transform</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Font.get_transform" title="Permalink to this definition">¶</a></dt>
+<dt class="title" id="pygame.freetype.Face.get_transform">
+<tt class="descname">get_transform</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.freetype.Face.get_transform" title="Permalink to this definition">¶</a></dt>
 <dd><div class="line-block">
 <div class="line"><span class="summaryline">return the user assigned transformation matrix, or None</span></div>
 <div class="line"><span class="signature">get_transform() -&gt; (double, double, double, double) or None</span></div>

examples/freetype_misc.py

     pygame.init()
 
     fontdir = os.path.dirname(os.path.abspath (__file__))
-    font = freetype.Font(os.path.join (fontdir, "data", "sans.ttf"))
+    face = freetype.Face(os.path.join (fontdir, "data", "sans.ttf"))
 
     screen = pygame.display.set_mode((800, 600))
     screen.fill (colors["grey_light"])
 
-    font.render((screen, 32, 32), "Hello World", colors["red"], colors['grey_dark'],
+    face.render((screen, 32, 32), "Hello World", colors["red"], colors['grey_dark'],
             ptsize=64, style=freetype.STYLE_UNDERLINE|freetype.STYLE_OBLIQUE)
 
-    font.render((screen, 32, 128), "abcdefghijklm", colors["grey_dark"], colors["green"],
+    face.render((screen, 32, 128), "abcdefghijklm", colors["grey_dark"], colors["green"],
             ptsize=64)
 
-    font.vertical = True
-    font.render((screen, 32, 190), "Vertical?", colors["blue"], None, ptsize=32)
-    font.vertical = False
+    face.vertical = True
+    face.render((screen, 32, 190), "Vertical?", colors["blue"], None, ptsize=32)
+    face.vertical = False
 
-    font.render((screen, 64, 190), "Let's spin!", colors["red"], None,
+    face.render((screen, 64, 190), "Let's spin!", colors["red"], None,
             ptsize=48, rotation=55)
 
-    font.render((screen, 160, 290), "All around!", colors["green"], None,
+    face.render((screen, 160, 290), "All around!", colors["green"], None,
             ptsize=48, rotation=-55)
 
-    font.render((screen, 250, 220), "and BLEND", pygame.Color(255, 0, 0, 128), None,
+    face.render((screen, 250, 220), "and BLEND", pygame.Color(255, 0, 0, 128), None,
             ptsize=64)
 
-    font.render((screen, 258, 237), "or BLAND!", pygame.Color(0, 0xCC, 28, 128), None,
+    face.render((screen, 258, 237), "or BLAND!", pygame.Color(0, 0xCC, 28, 128), None,
             ptsize=64)
 
-    font.origin = True
+    face.origin = True
     for angle in range(0, 360, 45):
-        font.render((screen, 200, 500), ")", pygame.Color('black'),
+        face.render((screen, 200, 500), ")", pygame.Color('black'),
                     ptsize=48, rotation=angle)
-    font.vertical = True
+    face.vertical = True
     for angle in range(15, 375, 30):
-        font.render((screen, 600, 400), "|^*", pygame.Color('orange'),
+        face.render((screen, 600, 400), "|^*", pygame.Color('orange'),
                     ptsize=48, rotation=angle)
-    font.vertical = False
-    font.origin = False
+    face.vertical = False
+    face.origin = False
 
     utext = pygame.compat.as_unicode(r"I \u2665 Unicode")
-    font.render((screen, 298, 320), utext, pygame.Color(0, 0xCC, 0xDD), None,
+    face.render((screen, 298, 320), utext, pygame.Color(0, 0xCC, 0xDD), None,
             ptsize=64)
 
     utext = pygame.compat.as_unicode(r"\u2665")
-    font.render((screen, 480, 32), utext, colors["grey_light"], colors["red"],
+    face.render((screen, 480, 32), utext, colors["grey_light"], colors["red"],
             ptsize=148)
 
-    font.render((screen, 380, 380), "...yes, this is an SDL surface", pygame.Color(0, 0, 0), None,
+    face.render((screen, 380, 380), "...yes, this is an SDL surface", pygame.Color(0, 0, 0), None,
             ptsize=24, style=freetype.STYLE_BOLD)
 
     pygame.display.flip()

src/doc/freetype_doc.h

 /* Auto generated file: with makeref.py .  Docs go in src/ *.doc . */
-#define DOC_PYGAMEFREETYPE "Enhanced Pygame module for loading and rendering fonts"
+#define DOC_PYGAMEFREETYPE "Enhanced Pygame module for loading and rendering font faces"
 
 #define DOC_PYGAMEFREETYPEGETERROR "get_error() -> str\nGet the latest error"
 
 
 #define DOC_PYGAMEFREETYPEGETDEFAULTFONT "get_default_font() -> string\nGet the filename of the default font"
 
-#define DOC_PYGAMEFREETYPEFONT "Font(file, style=STYLE_NONE, ptsize=-1, face_index=0, vertical=0, ucs4=0, resolution=0) -> Font\nCreates a new Font from a supported font file."
+#define DOC_PYGAMEFREETYPEFACE "Face(file, style=STYLE_NONE, ptsize=-1, face_index=0, vertical=0, ucs4=0, resolution=0) -> Face\nCreates a new Face instance from a supported font file."
 
-#define DOC_FONTNAME "name -> string\nGets the name of the font face."
+#define DOC_FACENAME "name -> string\nGets the name of the font face."
 
-#define DOC_FONTPATH "path -> unicode\nGets the path of the font file"
+#define DOC_FACEPATH "path -> unicode\nGets the path of the font file"
 
-#define DOC_FONTGETRECT "get_rect(text, style=STYLE_DEFAULT, rotation=0, ptsize=default) -> rect\nGets the size and offset of rendered text"
+#define DOC_FACEGETRECT "get_rect(text, style=STYLE_DEFAULT, rotation=0, ptsize=default) -> rect\nGets the size and offset of rendered text"
 
-#define DOC_FONTGETMETRICS "get_metrics(text, ptsize=default) -> [(...), ...]\nGets glyph metrics for the font's characters"
+#define DOC_FACEGETMETRICS "get_metrics(text, ptsize=default) -> [(...), ...]\nGets glyph metrics for the face's characters"
 
-#define DOC_FONTHEIGHT "height -> int\nGets the unscaled height of the face in font units"
+#define DOC_FACEHEIGHT "height -> int\nGets the unscaled height of the face in font units"
 
-#define DOC_FONTASCENDER "ascender -> int\nget the unscaled ascent of the face in font units"
+#define DOC_FACEASCENDER "ascender -> int\nget the unscaled ascent of the face in font units"
 
-#define DOC_FONTDESCENDER "descender -> int\nget the unscaled descent of the face in font units"
+#define DOC_FACEDESCENDER "descender -> int\nget the unscaled descent of the face in font units"
 
-#define DOC_FONTGETSIZEDASCENDER "get_sized_ascender() -> int\nGets the scaled ascent the face in pixels"
+#define DOC_FACEGETSIZEDASCENDER "get_sized_ascender() -> int\nGets the scaled ascent the face in pixels"
 
-#define DOC_FONTGETSIZEDDESCENDER "get_sized_descender() -> int\nGets the scaled descent the face in pixels"
+#define DOC_FACEGETSIZEDDESCENDER "get_sized_descender() -> int\nGets the scaled descent the face in pixels"
 
-#define DOC_FONTGETSIZEDHEIGHT "get_sized_height() -> int\nGets the scaled height of the face in pixels"
+#define DOC_FACEGETSIZEDHEIGHT "get_sized_height() -> int\nGets the scaled height of the face in pixels"
 
-#define DOC_FONTGETSIZEDGLYPHHEIGHT "get_sized_glyph_height() -> int\nGets the scaled height of the face in pixels"
+#define DOC_FACEGETSIZEDGLYPHHEIGHT "get_sized_glyph_height() -> int\nGets the scaled height of the face in pixels"
 
-#define DOC_FONTRENDER "render(dest, text, fgcolor, bgcolor=None, style=STYLE_DEFAULT, rotation=0, ptsize=default) -> (Surface, Rect)\nRenders text on a surface"
+#define DOC_FACERENDER "render(dest, text, fgcolor, bgcolor=None, style=STYLE_DEFAULT, rotation=0, ptsize=default) -> (Surface, Rect)\nRenders text on a surface"
 
-#define DOC_FONTRENDERRAW "render_raw(text, style=STYLE_DEFAULT, rotation=0, ptsize=default) -> (bytes, (int, int))\nRenders text as a string of bytes"
+#define DOC_FACERENDERRAW "render_raw(text, style=STYLE_DEFAULT, rotation=0, ptsize=default) -> (bytes, (int, int))\nRenders text as a string of bytes"
 
-#define DOC_FONTSTYLE "style -> int\nGets or sets the font's style"
+#define DOC_FACESTYLE "style -> int\nGets or sets the face's style"
 
-#define DOC_FONTUNDERLINE "underline -> bool\nGets or sets the font's underline style"
+#define DOC_FACEUNDERLINE "underline -> bool\nGets or sets the face's underline style"
 
-#define DOC_FONTUNDERSCORE "underscore -> bool\nGets or sets the font's underscore style"
+#define DOC_FACEUNDERSCORE "underscore -> bool\nGets or sets the face's underscore style"
 
-#define DOC_FONTBOLD "bold -> bool\nGets or sets the font's bold style"
+#define DOC_FACESTRONG "strong -> bool\nGets or sets the face's strong style"
 
-#define DOC_FONTOBLIQUE "oblique -> bool\nGets or sets the font's oblique style"
+#define DOC_FACEOBLIQUE "oblique -> bool\nGets or sets the face's oblique style"
 
-#define DOC_FONTWIDE "wide -> bool\nGets or sets the font's wide style"
+#define DOC_FACEWIDE "wide -> bool\nGets or sets the face's wide style"
 
-#define DOC_FONTFIXEDWIDTH "fixed_width -> bool\nGets whether the font is fixed-width"
+#define DOC_FACEFIXEDWIDTH "fixed_width -> bool\nGets whether the face is fixed-width"
 
-#define DOC_FONTANTIALIASED "antialiased -> bool\nFont antialiasing mode"
+#define DOC_FACEANTIALIASED "antialiased -> bool\nFace antialiasing mode"
 
-#define DOC_FONTKERNING "kerning -> bool\nCharacter kerning mode"
+#define DOC_FACEKERNING "kerning -> bool\nCharacter kerning mode"
 
-#define DOC_FONTVERTICAL "vertical -> bool\nFont vertical mode"
+#define DOC_FACEVERTICAL "vertical -> bool\nFace vertical mode"
 
-#define DOC_FONTORIGIN "vertical -> bool\nFont render to text origin mode"
+#define DOC_FACEORIGIN "vertical -> bool\nFace render to text origin mode"
 
-#define DOC_FONTPAD "pad -> bool\npadded boundary mode"
+#define DOC_FACEPAD "pad -> bool\npadded boundary mode"
 
-#define DOC_FONTUCS4 "ucs4 -> bool\nEnables UCS-4 mode"
+#define DOC_FACEUCS4 "ucs4 -> bool\nEnables UCS-4 mode"
 
-#define DOC_FONTRESOLUTION "resolution -> int\nOutput pixel resolution in dots per inch"
+#define DOC_FACERESOLUTION "resolution -> int\nOutput pixel resolution in dots per inch"
 
-#define DOC_FONTSETTRANSFORM "set_transform(xx, xy, yx, yy) -> None\nassign a glyph transformation matrix"
+#define DOC_FACESETTRANSFORM "set_transform(xx, xy, yx, yy) -> None\nassign a glyph transformation matrix"
 
-#define DOC_FONTDELETETRANSFORM "set_transform(xx, xy, yx, yy) -> None\ndelete a glyph transformation matrix"
+#define DOC_FACEDELETETRANSFORM "set_transform(xx, xy, yx, yy) -> None\ndelete a glyph transformation matrix"
 
-#define DOC_FONTGETTRANSFORM "get_transform() -> (double, double, double, double) or None\nreturn the user assigned transformation matrix, or None"
+#define DOC_FACEGETTRANSFORM "get_transform() -> (double, double, double, double) or None\nreturn the user assigned transformation matrix, or None"
 
 
 
 /*
 
 pygame.freetype
-Enhanced Pygame module for loading and rendering fonts
+Enhanced Pygame module for loading and rendering font faces
 
 pygame.freetype.get_error
  get_error() -> str
  get_default_font() -> string
 Get the filename of the default font
 
-pygame.freetype.Font
- Font(file, style=STYLE_NONE, ptsize=-1, face_index=0, vertical=0, ucs4=0, resolution=0) -> Font
-Creates a new Font from a supported font file.
+pygame.freetype.Face
+ Face(file, style=STYLE_NONE, ptsize=-1, face_index=0, vertical=0, ucs4=0, resolution=0) -> Face
+Creates a new Face instance from a supported font file.
 
-pygame.freetype.Font.name
+pygame.freetype.Face.name
  name -> string
 Gets the name of the font face.
 
-pygame.freetype.Font.path
+pygame.freetype.Face.path
  path -> unicode
 Gets the path of the font file
 
-pygame.freetype.Font.get_rect
+pygame.freetype.Face.get_rect
  get_rect(text, style=STYLE_DEFAULT, rotation=0, ptsize=default) -> rect
 Gets the size and offset of rendered text
 
-pygame.freetype.Font.get_metrics
+pygame.freetype.Face.get_metrics
  get_metrics(text, ptsize=default) -> [(...), ...]
-Gets glyph metrics for the font's characters
+Gets glyph metrics for the face's characters
 
-pygame.freetype.Font.height
+pygame.freetype.Face.height
  height -> int
 Gets the unscaled height of the face in font units
 
-pygame.freetype.Font.ascender
+pygame.freetype.Face.ascender
  ascender -> int
 get the unscaled ascent of the face in font units
 
-pygame.freetype.Font.descender
+pygame.freetype.Face.descender
  descender -> int
 get the unscaled descent of the face in font units
 
-pygame.freetype.Font.get_sized_ascender
+pygame.freetype.Face.get_sized_ascender
  get_sized_ascender() -> int
 Gets the scaled ascent the face in pixels
 
-pygame.freetype.Font.get_sized_descender
+pygame.freetype.Face.get_sized_descender
  get_sized_descender() -> int
 Gets the scaled descent the face in pixels
 
-pygame.freetype.Font.get_sized_height
+pygame.freetype.Face.get_sized_height
  get_sized_height() -> int
 Gets the scaled height of the face in pixels
 
-pygame.freetype.Font.get_sized_glyph_height
+pygame.freetype.Face.get_sized_glyph_height
  get_sized_glyph_height() -> int
 Gets the scaled height of the face in pixels
 
-pygame.freetype.Font.render
+pygame.freetype.Face.render
  render(dest, text, fgcolor, bgcolor=None, style=STYLE_DEFAULT, rotation=0, ptsize=default) -> (Surface, Rect)
 Renders text on a surface
 
-pygame.freetype.Font.render_raw
+pygame.freetype.Face.render_raw
  render_raw(text, style=STYLE_DEFAULT, rotation=0, ptsize=default) -> (bytes, (int, int))
 Renders text as a string of bytes
 
-pygame.freetype.Font.style
+pygame.freetype.Face.style
  style -> int
-Gets or sets the font's style
+Gets or sets the face's style
 
-pygame.freetype.Font.underline
+pygame.freetype.Face.underline
  underline -> bool
-Gets or sets the font's underline style
+Gets or sets the face's underline style
 
-pygame.freetype.Font.underscore
+pygame.freetype.Face.underscore
  underscore -> bool
-Gets or sets the font's underscore style
+Gets or sets the face's underscore style
 
-pygame.freetype.Font.bold
- bold -> bool
-Gets or sets the font's bold style
+pygame.freetype.Face.strong
+ strong -> bool
+Gets or sets the face's strong style
 
-pygame.freetype.Font.oblique
+pygame.freetype.Face.oblique
  oblique -> bool
-Gets or sets the font's oblique style
+Gets or sets the face's oblique style
 
-pygame.freetype.Font.wide
+pygame.freetype.Face.wide
  wide -> bool
-Gets or sets the font's wide style
+Gets or sets the face's wide style
 
-pygame.freetype.Font.fixed_width
+pygame.freetype.Face.fixed_width
  fixed_width -> bool
-Gets whether the font is fixed-width
+Gets whether the face is fixed-width
 
-pygame.freetype.Font.antialiased
+pygame.freetype.Face.antialiased
  antialiased -> bool
-Font antialiasing mode
+Face antialiasing mode
 
-pygame.freetype.Font.kerning
+pygame.freetype.Face.kerning
  kerning -> bool
 Character kerning mode
 
-pygame.freetype.Font.vertical
+pygame.freetype.Face.vertical
  vertical -> bool
-Font vertical mode
+Face vertical mode
 
-pygame.freetype.Font.origin
+pygame.freetype.Face.origin
  vertical -> bool
-Font render to text origin mode
+Face render to text origin mode
 
-pygame.freetype.Font.pad
+pygame.freetype.Face.pad
  pad -> bool
 padded boundary mode
 
-pygame.freetype.Font.ucs4
+pygame.freetype.Face.ucs4
  ucs4 -> bool
 Enables UCS-4 mode
 
-pygame.freetype.Font.resolution
+pygame.freetype.Face.resolution
  resolution -> int
 Output pixel resolution in dots per inch
 
-pygame.freetype.Font.set_transform
+pygame.freetype.Face.set_transform
  set_transform(xx, xy, yx, yy) -> None
 assign a glyph transformation matrix
 
-pygame.freetype.Font.delete_transform
+pygame.freetype.Face.delete_transform
  set_transform(xx, xy, yx, yy) -> None
 delete a glyph transformation matrix
 
-pygame.freetype.Font.get_transform
+pygame.freetype.Face.get_transform
  get_transform() -> (double, double, double, double) or None
 return the user assigned transformation matrix, or None
 
 #include "doc/freetype_doc.h"
 
 #define MODULE_NAME "freetype"
-#define FONT_TYPE_NAME "Font"
+#define FACE_TYPE_NAME "Face"
 
 /*
  * FreeType module declarations
 /*
  * Constructor/init/destructor
  */
-static PyObject *_ftfont_new(PyTypeObject *, PyObject *, PyObject *);
-static void _ftfont_dealloc(PyFreeTypeFont *);
-static PyObject *_ftfont_repr(PyObject *);
-static int _ftfont_init(PyObject *, PyObject *, PyObject *);
+static PyObject *_ftface_new(PyTypeObject *, PyObject *, PyObject *);
+static void _ftface_dealloc(PgFaceObject *);
+static PyObject *_ftface_repr(PyObject *);
+static int _ftface_init(PyObject *, PyObject *, PyObject *);
 
 /*
  * Main methods
  */
-static PyObject *_ftfont_getrect(PyObject *, PyObject *, PyObject *);
-static PyObject *_ftfont_getmetrics(PyObject *, PyObject *, PyObject *);
-static PyObject *_ftfont_render(PyObject *, PyObject *, PyObject *);
-static PyObject *_ftfont_render_raw(PyObject *, PyObject *, PyObject *);
-static PyObject *_ftfont_getsizedascender(PyFreeTypeFont *, PyObject *);
-static PyObject *_ftfont_getsizeddescender(PyFreeTypeFont *, PyObject *);
-static PyObject *_ftfont_getsizedheight(PyFreeTypeFont *, PyObject *);
-static PyObject *_ftfont_getsizedglyphheight(PyFreeTypeFont *, PyObject *);
-static PyObject *_ftfont_gettransform(PyFreeTypeFont *);
-static PyObject *_ftfont_settransform(PyFreeTypeFont *, PyObject *);
-static PyObject *_ftfont_deletetransform(PyFreeTypeFont *);
+static PyObject *_ftface_getrect(PyObject *, PyObject *, PyObject *);
+static PyObject *_ftface_getmetrics(PyObject *, PyObject *, PyObject *);
+static PyObject *_ftface_render(PyObject *, PyObject *, PyObject *);
+static PyObject *_ftface_render_raw(PyObject *, PyObject *, PyObject *);
+static PyObject *_ftface_getsizedascender(PgFaceObject *, PyObject *);
+static PyObject *_ftface_getsizeddescender(PgFaceObject *, PyObject *);
+static PyObject *_ftface_getsizedheight(PgFaceObject *, PyObject *);
+static PyObject *_ftface_getsizedglyphheight(PgFaceObject *, PyObject *);
+static PyObject *_ftface_gettransform(PgFaceObject *);
+static PyObject *_ftface_settransform(PgFaceObject *, PyObject *);
+static PyObject *_ftface_deletetransform(PgFaceObject *);
 
-/* static PyObject *_ftfont_copy(PyObject *); */
+/* static PyObject *_ftface_copy(PyObject *); */
 
 /*
  * Getters/setters
  */
-static PyObject *_ftfont_getstyle(PyObject *, void *);
-static int _ftfont_setstyle(PyObject *, PyObject *, void *);
-static PyObject *_ftfont_getheight(PyObject *, void *);
-static PyObject *_ftfont_getascender(PyObject *, void *);
-static PyObject *_ftfont_getdescender(PyObject *, void *);
-static PyObject *_ftfont_getname(PyObject *, void *);
-static PyObject *_ftfont_getpath(PyObject *, void *);
-static PyObject *_ftfont_getfixedwidth(PyObject *, void *);
+static PyObject *_ftface_getstyle(PyObject *, void *);
+static int _ftface_setstyle(PyObject *, PyObject *, void *);
+static PyObject *_ftface_getheight(PyObject *, void *);
+static PyObject *_ftface_getascender(PyObject *, void *);
+static PyObject *_ftface_getdescender(PyObject *, void *);
+static PyObject *_ftface_getname(PyObject *, void *);
+static PyObject *_ftface_getpath(PyObject *, void *);
+static PyObject *_ftface_getfixedwidth(PyObject *, void *);
 
-static PyObject *_ftfont_getvertical(PyObject *, void *);
-static int _ftfont_setvertical(PyObject *, PyObject *, void *);
-static PyObject *_ftfont_getantialias(PyObject *, void *);
-static int _ftfont_setantialias(PyObject *, PyObject *, void *);
-static PyObject *_ftfont_getkerning(PyObject *, void *);
-static int _ftfont_setkerning(PyObject *, PyObject *, void *);
-static PyObject *_ftfont_getucs4(PyObject *, void *);
-static int _ftfont_setucs4(PyObject *, PyObject *, void *);
-static PyObject *_ftfont_getorigin(PyObject *, void *);
-static int _ftfont_setorigin(PyObject *, PyObject *, void *);
-static PyObject *_ftfont_getpad(PyObject *, void *);
-static int _ftfont_setpad(PyObject *, PyObject *, void *);
+static PyObject *_ftface_getvertical(PyObject *, void *);
+static int _ftface_setvertical(PyObject *, PyObject *, void *);
+static PyObject *_ftface_getantialias(PyObject *, void *);
+static int _ftface_setantialias(PyObject *, PyObject *, void *);
+static PyObject *_ftface_getkerning(PyObject *, void *);
+static int _ftface_setkerning(PyObject *, PyObject *, void *);
+static PyObject *_ftface_getucs4(PyObject *, void *);
+static int _ftface_setucs4(PyObject *, PyObject *, void *);
+static PyObject *_ftface_getorigin(PyObject *, void *);
+static int _ftface_setorigin(PyObject *, PyObject *, void *);
+static PyObject *_ftface_getpad(PyObject *, void *);
+static int _ftface_setpad(PyObject *, PyObject *, void *);
 
-static PyObject *_ftfont_getresolution(PyObject *, void *);
+static PyObject *_ftface_getresolution(PyObject *, void *);
 
-static PyObject *_ftfont_getstyle_flag(PyObject *, void *);
-static int _ftfont_setstyle_flag(PyObject *, PyObject *, void *);
+static PyObject *_ftface_getstyle_flag(PyObject *, void *);
+static int _ftface_setstyle_flag(PyObject *, PyObject *, void *);
 
 #if defined(PGFT_DEBUG_CACHE)
-static PyObject *_ftfont_getdebugcachestats(PyObject *, void *);
+static PyObject *_ftface_getdebugcachestats(PyObject *, void *);
 #endif
 
 /*
  * Internal helpers
  */
-static PyObject *get_metrics(FreeTypeInstance *, FontRenderMode *,
-                             PyFreeTypeFont *, PGFT_String *);
+static PyObject *get_metrics(FreeTypeInstance *, FaceRenderMode *,
+                             PgFaceObject *, PGFT_String *);
 static PyObject *load_font_res(const char *);
 static int parse_dest(PyObject *, PyObject **, int *, int *);
 
  * Auxiliar defines
  */
 #define ASSERT_SELF_IS_ALIVE(s)                     \
-if (!PyFreeTypeFont_IS_ALIVE(s)) {                  \
+if (!PgFace_IS_ALIVE(s)) {                  \
     return RAISE(PyExc_RuntimeError,                \
-        MODULE_NAME "." FONT_TYPE_NAME              \
+        MODULE_NAME "." FACE_TYPE_NAME              \
         " instance is not initialized");            \
 }
 
 
 
 /*
- * FREETYPE FONT METHODS TABLE
+ * FREETYPE FACE METHODS TABLE
  */
-static PyMethodDef _ftfont_methods[] = {
+static PyMethodDef _ftface_methods[] = {
     {
         "get_sized_height",
-        (PyCFunction) _ftfont_getsizedheight,
+        (PyCFunction) _ftface_getsizedheight,
         METH_VARARGS,
-        DOC_FONTGETSIZEDHEIGHT
+        DOC_FACEGETSIZEDHEIGHT
     },
     {
         "get_sized_ascender",
-        (PyCFunction) _ftfont_getsizedascender,
+        (PyCFunction) _ftface_getsizedascender,
         METH_VARARGS,
-        DOC_FONTGETSIZEDASCENDER
+        DOC_FACEGETSIZEDASCENDER
     },
     {
         "get_sized_descender",
-        (PyCFunction) _ftfont_getsizeddescender,
+        (PyCFunction) _ftface_getsizeddescender,
         METH_VARARGS,
-        DOC_FONTGETSIZEDDESCENDER
+        DOC_FACEGETSIZEDDESCENDER
     },
     {
         "get_sized_glyph_height",
-        (PyCFunction) _ftfont_getsizedglyphheight,
+        (PyCFunction) _ftface_getsizedglyphheight,
         METH_VARARGS,
-        DOC_FONTGETSIZEDGLYPHHEIGHT
+        DOC_FACEGETSIZEDGLYPHHEIGHT
     },
     {
         "get_rect",
-        (PyCFunction) _ftfont_getrect,
+        (PyCFunction) _ftface_getrect,
         METH_VARARGS | METH_KEYWORDS,
-        DOC_FONTGETRECT
+        DOC_FACEGETRECT
     },
     {
         "get_metrics",
-        (PyCFunction) _ftfont_getmetrics,
+        (PyCFunction) _ftface_getmetrics,
         METH_VARARGS | METH_KEYWORDS,
-        DOC_FONTGETMETRICS
+        DOC_FACEGETMETRICS
     },
     {
         "render",
-        (PyCFunction)_ftfont_render,
+        (PyCFunction)_ftface_render,
         METH_VARARGS | METH_KEYWORDS,
-        DOC_FONTRENDER
+        DOC_FACERENDER
     },
     {
         "render_raw",
-        (PyCFunction)_ftfont_render_raw,
+        (PyCFunction)_ftface_render_raw,
         METH_VARARGS | METH_KEYWORDS,
-        DOC_FONTRENDERRAW
+        DOC_FACERENDERRAW
     },
     {
         "get_transform",
-        (PyCFunction)_ftfont_gettransform,
+        (PyCFunction)_ftface_gettransform,
         METH_NOARGS,
-        DOC_FONTGETTRANSFORM
+        DOC_FACEGETTRANSFORM
     },
     {
         "set_transform",
-        (PyCFunction)_ftfont_settransform,
+        (PyCFunction)_ftface_settransform,
         METH_VARARGS,
-        DOC_FONTSETTRANSFORM
+        DOC_FACESETTRANSFORM
     },
     {
         "delete_transform",
-        (PyCFunction)_ftfont_deletetransform,
+        (PyCFunction)_ftface_deletetransform,
         METH_NOARGS,
-        DOC_FONTDELETETRANSFORM
+        DOC_FACEDELETETRANSFORM
     },
 
     { 0, 0, 0, 0 }
 };
 
 /*
- * FREETYPE FONT GETTERS/SETTERS TABLE
+ * FREETYPE FACE GETTERS/SETTERS TABLE
  */
-static PyGetSetDef _ftfont_getsets[] = {
+static PyGetSetDef _ftface_getsets[] = {
     {
         "style",
-        _ftfont_getstyle,
-        _ftfont_setstyle,
-        DOC_FONTSTYLE,
+        _ftface_getstyle,
+        _ftface_setstyle,
+        DOC_FACESTYLE,
         0
     },
     {
         "height",
-        _ftfont_getheight,
+        _ftface_getheight,
         0,
-        DOC_FONTHEIGHT,
+        DOC_FACEHEIGHT,
         0
     },
     {
         "ascender",
-        _ftfont_getascender,
+        _ftface_getascender,
         0,
-        DOC_FONTASCENDER,
+        DOC_FACEASCENDER,
         0
     },
     {
         "descender",
-        _ftfont_getdescender,
+        _ftface_getdescender,
         0,
-        DOC_FONTASCENDER,
+        DOC_FACEASCENDER,
         0
     },
     {
         "name",
-        _ftfont_getname,
+        _ftface_getname,
         0,
-        DOC_FONTNAME,
+        DOC_FACENAME,
         0
     },
     {
         "path",
-        _ftfont_getpath,
+        _ftface_getpath,
         0,
-        DOC_FONTPATH,
+        DOC_FACEPATH,
         0
     },
     {
         "fixed_width",
-        _ftfont_getfixedwidth,
+        _ftface_getfixedwidth,
         0,
-        DOC_FONTFIXEDWIDTH,
+        DOC_FACEFIXEDWIDTH,
         0
     },
     {
         "antialiased",
-        _ftfont_getantialias,
-        _ftfont_setantialias,
-        DOC_FONTANTIALIASED,
+        _ftface_getantialias,
+        _ftface_setantialias,
+        DOC_FACEANTIALIASED,
         0
     },
     {
         "kerning",
-        _ftfont_getkerning,
-        _ftfont_setkerning,
-        DOC_FONTKERNING,
+        _ftface_getkerning,
+        _ftface_setkerning,
+        DOC_FACEKERNING,
         0
     },
     {
         "vertical",
-        _ftfont_getvertical,
-        _ftfont_setvertical,
-        DOC_FONTVERTICAL,
+        _ftface_getvertical,
+        _ftface_setvertical,
+        DOC_FACEVERTICAL,
         0
     },
     {
         "pad",
-        _ftfont_getpad,
-        _ftfont_setpad,
-        DOC_FONTPAD,
+        _ftface_getpad,
+        _ftface_setpad,
+        DOC_FACEPAD,
         0
     },
     {
         "oblique",
-        _ftfont_getstyle_flag,
-        _ftfont_setstyle_flag,
-        DOC_FONTOBLIQUE,
+        _ftface_getstyle_flag,
+        _ftface_setstyle_flag,
+        DOC_FACEOBLIQUE,
         (void *)FT_STYLE_OBLIQUE
     },
     {
-        "bold",
-        _ftfont_getstyle_flag,
-        _ftfont_setstyle_flag,
-        DOC_FONTBOLD,
-        (void *)FT_STYLE_BOLD
+        "strong",
+        _ftface_getstyle_flag,
+        _ftface_setstyle_flag,
+        DOC_FACESTRONG,
+        (void *)FT_STYLE_STRONG
     },
     {
         "underline",
-        _ftfont_getstyle_flag,
-        _ftfont_setstyle_flag,
-        DOC_FONTUNDERLINE,
+        _ftface_getstyle_flag,
+        _ftface_setstyle_flag,
+        DOC_FACEUNDERLINE,
         (void *)FT_STYLE_UNDERLINE
     },
     {
         "underscore",
-        _ftfont_getstyle_flag,
-        _ftfont_setstyle_flag,
-        DOC_FONTUNDERSCORE,
+        _ftface_getstyle_flag,
+        _ftface_setstyle_flag,
+        DOC_FACEUNDERSCORE,
         (void *)FT_STYLE_UNDERSCORE
     },
     {
         "wide",
-        _ftfont_getstyle_flag,
-        _ftfont_setstyle_flag,
-        DOC_FONTWIDE,
+        _ftface_getstyle_flag,
+        _ftface_setstyle_flag,
+        DOC_FACEWIDE,
         (void *)FT_STYLE_WIDE
     },
     {
         "ucs4",
-        _ftfont_getucs4,
-        _ftfont_setucs4,
-        DOC_FONTUCS4,
+        _ftface_getucs4,
+        _ftface_setucs4,
+        DOC_FACEUCS4,
         0
     },
     {
         "resolution",
-        _ftfont_getresolution,
+        _ftface_getresolution,
         0,
-        DOC_FONTRESOLUTION,
+        DOC_FACERESOLUTION,
         0
     },
     {
         "origin",
-        _ftfont_getorigin,
-        _ftfont_setorigin,
-        DOC_FONTORIGIN,
+        _ftface_getorigin,
+        _ftface_setorigin,
+        DOC_FACEORIGIN,
         0
     },
 #if defined(PGFT_DEBUG_CACHE)
     {
         "_debug_cache_stats",
-        _ftfont_getdebugcachestats,
+        _ftface_getdebugcachestats,
         0,
         "_debug cache fields as a tuple",
         0
 };
 
 /*
- * FREETYPE FONT BASE TYPE TABLE
+ * FREETYPE FACE BASE TYPE TABLE
  */
-#define FULL_TYPE_NAME MODULE_NAME FONT_TYPE_NAME
+#define FULL_TYPE_NAME MODULE_NAME FACE_TYPE_NAME
 
-PyTypeObject PyFreeTypeFont_Type = {
+PyTypeObject PgFace_Type = {
     TYPE_HEAD(0,0)
     FULL_TYPE_NAME,             /* tp_name */
-    sizeof (PyFreeTypeFont),    /* tp_basicsize */
+    sizeof (PgFaceObject),      /* tp_basicsize */
     0,                          /* tp_itemsize */
-    (destructor)_ftfont_dealloc,/* tp_dealloc */
+    (destructor)_ftface_dealloc,/* tp_dealloc */
     0,                          /* tp_print */
     0,                          /* tp_getattr */
     0,                          /* tp_setattr */
     0,                          /* tp_compare */
-    (reprfunc)_ftfont_repr,     /* tp_repr */
+    (reprfunc)_ftface_repr,     /* tp_repr */
     0,                          /* tp_as_number */
     0,                          /* tp_as_sequence */
     0,                          /* tp_as_mapping */
     0,                          /* tp_setattro */
     0,                          /* tp_as_buffer */
     Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
-    DOC_PYGAMEFREETYPEFONT,     /* docstring */
+    DOC_PYGAMEFREETYPEFACE,     /* docstring */
     0,                          /* tp_traverse */
     0,                          /* tp_clear */
     0,                          /* tp_richcompare */
     0,                          /* tp_weaklistoffset */
     0,                          /* tp_iter */
     0,                          /* tp_iternext */
-    _ftfont_methods,            /* tp_methods */
+    _ftface_methods,            /* tp_methods */
     0,                          /* tp_members */
-    _ftfont_getsets,            /* tp_getset */
+    _ftface_getsets,            /* tp_getset */
     0,                          /* tp_base */
     0,                          /* tp_dict */
     0,                          /* tp_descr_get */
     0,                          /* tp_descr_set */
     0,                          /* tp_dictoffset */
-    (initproc) _ftfont_init,    /* tp_init */
+    (initproc) _ftface_init,    /* tp_init */
     0,                          /* tp_alloc */
-    (newfunc) _ftfont_new,      /* tp_new */
+    (newfunc) _ftface_new,      /* tp_new */
     0,                          /* tp_free */
     0,                          /* tp_is_gc */
     0,                          /* tp_bases */
  * CONSTRUCTOR/INIT/DESTRUCTOR
  ****************************************************/
 static PyObject *
-_ftfont_new(PyTypeObject *subtype, PyObject *args, PyObject *kwds)
+_ftface_new(PyTypeObject *subtype, PyObject *args, PyObject *kwds)
 {
-    PyFreeTypeFont *obj = (PyFreeTypeFont *)(subtype->tp_alloc(subtype, 0));
+    PgFaceObject *obj = (PgFaceObject *)(subtype->tp_alloc(subtype, 0));
 
     if (obj) {
         obj->id.open_args.flags = 0;
 }
 
 static void
-_ftfont_dealloc(PyFreeTypeFont *self)
+_ftface_dealloc(PgFaceObject *self)
 {
     /* Always try to unload the font even if we cannot grab
      * a freetype instance. */
-    _PGFT_UnloadFont(FREETYPE_STATE->freetype, self);
+    _PGFT_UnloadFace(FREETYPE_STATE->freetype, self);
 
     Py_XDECREF(self->path);
     ((PyObject *)self)->ob_type->tp_free((PyObject *)self);
 }
 
 static int
-_ftfont_init(PyObject *self, PyObject *args, PyObject *kwds)
+_ftface_init(PyObject *self, PyObject *args, PyObject *kwds)
 {
     static char *kwlist[] =  {
         "font", "ptsize", "style", "face_index", "vertical",
         "ucs4", "resolution", "origin", 0
     };
 
-    PyFreeTypeFont *font = (PyFreeTypeFont *)self;
+    PgFaceObject *font = (PgFaceObject *)self;
 
     PyObject *file, *original_file;
     int face_index = 0;
 
     original_file = file;
 
-    _PGFT_UnloadFont(ft, font);
+    _PGFT_UnloadFace(ft, font);
     Py_XDECREF(font->path);
     font->path = 0;
 
 }
 
 static PyObject *
-_ftfont_repr(PyObject *self)
+_ftface_repr(PyObject *self)
 {
-    PyFreeTypeFont *font = (PyFreeTypeFont *)self;
+    PgFaceObject *font = (PgFaceObject *)self;
 
-    if (PyFreeTypeFont_IS_ALIVE(font)) {
+    if (PgFace_IS_ALIVE(font)) {
 #if PY3
-        return PyUnicode_FromFormat("Font('%.1024u')", font->path);
+        return PyUnicode_FromFormat("Face('%.1024u')", font->path);
 #else
         PyObject *str = PyUnicode_AsEncodedString(font->path,
                                                   "raw_unicode_escape",
         PyObject *rval = 0;
 
         if (str) {
-            rval = PyString_FromFormat("Font('%.1024s')",
+            rval = PyString_FromFormat("Face('%.1024s')",
                                        PyString_AS_STRING(str));
             Py_DECREF(str);
         }
         return rval;
 #endif
     }
-    return Text_FromFormat("<uninitialized Font object at %p>", (void *)self);
+    return Text_FromFormat("<uninitialized Face object at %p>", (void *)self);
 }
 
 
 
 /** Vertical attribute */
 static PyObject *
-_ftfont_getvertical(PyObject *self, void *closure)
+_ftface_getvertical(PyObject *self, void *closure)
 {
-    PyFreeTypeFont *font = (PyFreeTypeFont *)self;
+    PgFaceObject *font = (PgFaceObject *)self;
 
     return PyBool_FromLong(font->vertical);
 }
 
 static int
-_ftfont_setvertical(PyObject *self, PyObject *value, void *closure)
+_ftface_setvertical(PyObject *self, PyObject *value, void *closure)
 {
-    PyFreeTypeFont *font = (PyFreeTypeFont *)self;
+    PgFaceObject *font = (PgFaceObject *)self;
 
     if (!PyBool_Check(value)) {
         PyErr_SetString(PyExc_TypeError, "Expecting 'bool' type");
 
 /** Antialias attribute */
 static PyObject *
-_ftfont_getantialias(PyObject *self, void *closure)
+_ftface_getantialias(PyObject *self, void *closure)
 {
-    PyFreeTypeFont *font = (PyFreeTypeFont *)self;
+    PgFaceObject *font = (PgFaceObject *)self;
 
     return PyBool_FromLong(font->antialias);
 }
 
 static int
-_ftfont_setantialias(PyObject *self, PyObject *value, void *closure)
+_ftface_setantialias(PyObject *self, PyObject *value, void *closure)