# 39.7. `fm` --- Font Manager インターフェース

バージョン 2.6 で非推奨: `fm` モジュールは Python 3 で削除されました。

このモジュールはIRIS Font Manager ライブラリへのアクセスを提供します。 Silicon Graphics マシン上だけで利用可能です。次も参照してください： 4Sight User's Guide, section 1, chapter 5: "Using the IRIS Font Manager"。

このモジュールは、まだ IRIS Font Manager への完全なインタフェースではありません。サポートされていない機能は次のものです： matrix operations; cache operations; character operations（代わりに string operations を使ってください）; font info のうちのいくつか; individual glyph metrics; printer matching。

以下の操作をサポートしています:

`fm.``init`()

  関数を初期化します。 `fminit()` を呼び出します。この関数は `fm` モジュールを最初にインポートすると自動的に呼び出されるので、普通、呼び出す必要はありません。

`fm.``findfont`(fontname)

  フォントハンドルオブジェクトを返します。 `fmfindfont(fontname)` を呼び出します。

`fm.``enumerate`()

  利用可能なフォント名のリストを返します。この関数は `fmenumerate()` へのインタフェースです。

`fm.``prstr`(string)

  現在のフォントを使って文字列をレンダリングします（下のフォントハンドルメソッド `setfont()` を参照）。 `fmprstr(string)` を呼び出します。

`fm.``setpath`(string)

  フォントの検索パスを設定します。 `fmsetpath(string)` を呼び出します。（XXX 機能しない!?!）

`fm.``fontpath`()

  現在のフォント検索パスを返します。

フォントハンドルオブジェクトは以下の操作をサポートします:

`font handle.scalefont(factor)`

  このフォントを拡大／縮小したハンドルを返します。 `fmscalefont(fh, factor)` を呼び出します。

`font handle.setfont()`

  このフォントを現在のフォントに設定します。注意：フォントハンドルオブジェクトが削除されると、設定は告知なしに元に戻ります。 `fmsetfont(fh)` を呼び出します。

`font handle.getfontname()`

  このフォントの名前を返します。 `fmgetfontname(fh)` を呼び出します。

`font handle.getcomment()`

  このフォントに関連付けられたコメント文字列を返します。コメント文字列が何もなければ例外を返します。 `fmgetcomment(fh)` を呼び出します。

`font handle.getfontinfo()`

  このフォントに関連したデータを含むタプルを返します。これは `fmgetfontinfo()` へのインタフェースです。以下の数値を含むタプルを返します： `(printermatched, fixed_width, xorig, yorig, xsize, ysize, height, nglyphs)` 。

`font handle.getstrwidth(string)`

  このフォントで string を描いたときの幅をピクセル数で返します。 `fmgetstrwidth(fh, string)` を呼び出します。