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

---

# `tkinter.font` – обёртка шрифтов Tkinter

**Исходный код:** [Lib/tkinter/font.py](https://python-all.ru/src/3.14/Lib/tkinter/font.py)

---

Модуль `tkinter.font` предоставляет класс [`Font`](https://python-all.ru/3.14/library/tkinter.font.html#tkinter.font.Font) для создания и использования именованных шрифтов.

Различные насыщенности и наклоны шрифта:

#### `tkinter.font.NORMAL`

#### `tkinter.font.BOLD`

#### `tkinter.font.ITALIC`

#### `tkinter.font.ROMAN`

#### `class tkinter.font.Font(root=None, font=None, name=None, exists=False, **options)`

Класс `Font` представляет именованный шрифт. Экземпляры *Font* получают уникальные имена и могут быть заданы своим семейством, размером и конфигурацией стиля. Именованные шрифты – это метод Tk для создания и идентификации шрифтов как единого объекта, а не указания шрифта его атрибутами при каждом использовании.

Изменено в версии 3.10: Теперь два шрифта считаются равными (`==`) только если оба являются экземплярами `Font` с одинаковым именем, принадлежащими одному интерпретатору Tcl.

аргументы:

> *font*
>
> – кортеж спецификации шрифта (family, size, options)
>
> *name*
>
> – уникальное имя шрифта
>
> *exists*
>
> – если true, ссылается на существующий именованный шрифт

дополнительные ключевые параметры (игнорируются, если указан *font*):

> *family*
>
> – семейство шрифта, например, Courier, Times
>
> *size*
>
> – размер шрифта
>
> Если
>
> *size*
>
> положителен, он интерпретируется как размер в пунктах.
>
> Если
>
> *size*
>
> – отрицательное число, его абсолютное значение считается
>
> как размер в пикселях.
>
> *weight*
>
> – насыщенность шрифта (NORMAL, BOLD)
>
> *slant*
>
> – наклон (ROMAN, ITALIC)
>
> *underline*
>
> – подчёркивание шрифта (0 – нет, 1 – подчёркивание)
>
> *overstrike*
>
> – зачёркивание шрифта (0 – нет, 1 – зачёркивание)

#### `actual(option=None, displayof=None)`

Возвращает фактические атрибуты шрифта, которые могут отличаться от запрошенных из-за ограничений платформы. Без указания *option* возвращает словарь всех атрибутов; если указан *option*, возвращает значение этого единственного атрибута.

#### `cget(option)`

Извлекает атрибут шрифта.

#### `configure(**options)`

Изменяет один или несколько атрибутов шрифта. Без аргументов возвращает словарь текущих атрибутов.

[`config()`](https://python-all.ru/3.14/library/tkinter.font.html#tkinter.font.Font.config) является псевдонимом `configure()`.

#### `copy()`

Возвращает новый экземпляр текущего шрифта.

#### `measure(text, displayof=None)`

Возвращает количество пикселей, которое текст займёт на указанном дисплее при форматировании текущим шрифтом. Если дисплей не указан, используется главное окно приложения.

#### `metrics(*options, **kw)`

Возвращает данные о шрифте. Без параметров возвращает словарь, сопоставляющий каждому названию метрики её целочисленное значение; если указано одно название метрики, возвращает значение этой метрики как целое число. Параметры включают:

***ascent* – расстояние от базовой линии до самой высокой точки, которую**

может занимать символ шрифта.

***descent* – расстояние от базовой линии до самой низкой точки, которую**

может занимать символ шрифта.

***linespace* – минимальный вертикальный интервал, необходимый между любыми двумя**

символами шрифта, чтобы гарантировать отсутствие вертикального наложения строк.

*fixed* – 1, если шрифт моноширинный, иначе 0

#### `tkinter.font.families(root=None, displayof=None)`

Возвращает кортеж названий доступных семейств шрифтов.

#### `tkinter.font.names(root=None)`

Возвращает кортеж названий всех определённых шрифтов.

#### `tkinter.font.nametofont(name, root=None)`

Возвращает [`Font`](https://python-all.ru/3.14/library/tkinter.font.html#tkinter.font.Font) представление существующего именованного шрифта *name*. *root* – это виджет, интерпретатору Tcl которого принадлежит шрифт; если опущен, используется главное окно по умолчанию.

Изменено в версии 3.10: Добавлен параметр *root*.
