\section{\module{fm} --- \emph{Font Manager} interface} \declaremodule{builtin}{fm} \modulesynopsis{\emph{Font Manager} interface for SGI workstations.} This module provides access to the IRIS \emph{Font Manager} library. \index{Font Manager, IRIS} \index{IRIS Font Manager} It is available only on Silicon Graphics machines. See also: \emph{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: \begin{funcdesc}{init}{} Initialization function. Calls \cfunction{fminit()}. It is normally not necessary to call this function, since it is called automatically the first time the \module{fm} module is imported. \end{funcdesc} \begin{funcdesc}{findfont}{fontname} Return a font handle object. Calls \code{fmfindfont(\var{fontname})}. \end{funcdesc} \begin{funcdesc}{enumerate}{} Returns a list of available font names. This is an interface to \cfunction{fmenumerate()}. \end{funcdesc} \begin{funcdesc}{prstr}{string} Render a string using the current font (see the \function{setfont()} font handle method below). Calls \code{fmprstr(\var{string})}. \end{funcdesc} \begin{funcdesc}{setpath}{string} Sets the font search path. Calls \code{fmsetpath(\var{string})}. (XXX Does not work!?!) \end{funcdesc} \begin{funcdesc}{fontpath}{} Returns the current font search path. \end{funcdesc} Font handle objects support the following operations: \setindexsubitem{(font handle method)} \begin{funcdesc}{scalefont}{factor} Returns a handle for a scaled version of this font. Calls \code{fmscalefont(\var{fh}, \var{factor})}. \end{funcdesc} \begin{funcdesc}{setfont}{} Makes this font the current font. Note: the effect is undone silently when the font handle object is deleted. Calls \code{fmsetfont(\var{fh})}. \end{funcdesc} \begin{funcdesc}{getfontname}{} Returns this font's name. Calls \code{fmgetfontname(\var{fh})}. \end{funcdesc} \begin{funcdesc}{getcomment}{} Returns the comment string associated with this font. Raises an exception if there is none. Calls \code{fmgetcomment(\var{fh})}. \end{funcdesc} \begin{funcdesc}{getfontinfo}{} Returns a tuple giving some pertinent data about this font. This is an interface to \code{fmgetfontinfo()}. The returned tuple contains the following numbers: \code{(}\var{printermatched}, \var{fixed_width}, \var{xorig}, \var{yorig}, \var{xsize}, \var{ysize}, \var{height}, \var{nglyphs}\code{)}. \end{funcdesc} \begin{funcdesc}{getstrwidth}{string} Returns the width, in pixels, of \var{string} when drawn in this font. Calls \code{fmgetstrwidth(\var{fh}, \var{string})}. \end{funcdesc}