This document is for an old version of Python that is no longer supported. You should install the python3 and python3-doc packages and read the Python documentation for the Python3 version packaged in this release.

# 39.7. `fm` — Font Manager interface

Deprecated since version 2.6: The `fm` module has been removed in Python 3.

This module provides access to the IRIS Font Manager library. It is available only on Silicon Graphics machines. See also: 4Sight User’s Guide, section 1, chapter 5: “Using the IRIS Font Manager.”

This is not yet a full interface to the IRIS Font Manager. Among the unsupported features are: matrix operations; cache operations; character operations (use string operations instead); some details of font info; individual glyph metrics; and printer matching.

It supports the following operations:

fm.init()

  Initialization function. Calls `fminit()`. It is normally not necessary to call this function, since it is called automatically the first time the `fm` module is imported.

fm.findfont(fontname)

  Return a font handle object. Calls `fmfindfont(fontname)`.

fm.enumerate()

  Returns a list of available font names. This is an interface to `fmenumerate()`.

fm.prstr(string)

  Render a string using the current font (see the `setfont()` font handle method below). Calls `fmprstr(string)`.

fm.setpath(string)

  Sets the font search path. Calls `fmsetpath(string)`. (XXX Does not work!?!)

fm.fontpath()

  Returns the current font search path.

Font handle objects support the following operations:

font handle.scalefont(factor)

  Returns a handle for a scaled version of this font. Calls `fmscalefont(fh, factor)`.

font handle.setfont()

  Makes this font the current font. Note: the effect is undone silently when the font handle object is deleted. Calls `fmsetfont(fh)`.

font handle.getfontname()

  Returns this font’s name. Calls `fmgetfontname(fh)`.

font handle.getcomment()

  Returns the comment string associated with this font. Raises an exception if there is none. Calls `fmgetcomment(fh)`.

font handle.getfontinfo()

  Returns a tuple giving some pertinent data about this font. This is an interface to `fmgetfontinfo()`. The returned tuple contains the following numbers: `(printermatched, fixed_width, xorig, yorig, xsize, ysize, height, nglyphs)`.

font handle.getstrwidth(string)

  Returns the width, in pixels, of string when drawn in this font. Calls `fmgetstrwidth(fh, string)`.