> **Источник:** https://python-all.ru/2.7/library/fm.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# 39.7. [`fm`](https://python-all.ru/2.7/library/fm.html#module-fm) – *Менеджера шрифтов* интерфейс

Устарело с версии 2.6: Модуль [`fm`](https://python-all.ru/2.7/library/fm.html#module-fm) удалён в Python 3.

Этот модуль предоставляет доступ к библиотеке IRIS *Менеджера шрифтов*. Он доступен только на машинах Silicon Graphics. См. также: *Руководство пользователя 4Sight*, раздел 1, глава 5: «Использование IRIS Менеджера шрифтов».

Это еще не полный интерфейс к IRIS Менеджеру шрифтов. Среди неподдерживаемых возможностей: матричные операции; кэш-операции; символьные операции (вместо них следует использовать строковые операции); некоторые детали информации о шрифте; метрики отдельных глифов; и сопоставление с принтером.

Он поддерживает следующие операции:

#### `fm.init()`

Функция инициализации. Вызывает `fminit()`. Обычно нет необходимости вызывать эту функцию, так как она вызывается автоматически при первом импорте модуля [`fm`](https://python-all.ru/2.7/library/fm.html#module-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)`

Возвращает ширину (в пикселях) *строки* при отрисовке этим шрифтом. Вызывает `fmgetstrwidth(fh, string)`.
