> **Источник:** https://python-all.ru/3.12/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.12/Lib/tkinter/font.py)

---

Модуль [`tkinter.font`](https://python-all.ru/3.12/library/tkinter.font.html#module-tkinter.font) предоставляет класс [`Font`](https://python-all.ru/3.12/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`](https://python-all.ru/3.12/library/tkinter.font.html#tkinter.font.Font) представляет именованный шрифт. Экземпляры *Font* получают уникальные имена и могут быть заданы своим семейством, размером и конфигурацией стиля. Именованные шрифты – это метод Tk для создания и идентификации шрифтов как единого объекта, а не указания шрифта его атрибутами при каждом использовании.

> аргументы:
>
> > *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)`

Возвращает атрибуты шрифта.

#### `cget(option)`

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

#### `config(**options)`

Изменяет атрибуты шрифта.

#### `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.12/library/tkinter.font.html#tkinter.font.Font) представление именованного шрифта tk.

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