| :mod:`!tkinter.font` --- Tkinter font wrapper | |
| ============================================= | |
| .. module:: tkinter.font | |
| :platform: Tk | |
| :synopsis: Tkinter font-wrapping class | |
| **Source code:** :source:`Lib/tkinter/font.py` | |
| -------------- | |
| The :mod:`tkinter.font` module provides the :class:`Font` class for creating | |
| and using named fonts. | |
| The different font weights and slants are: | |
| .. data:: NORMAL | |
| BOLD | |
| ITALIC | |
| ROMAN | |
| .. class:: Font(root=None, font=None, name=None, exists=False, **options) | |
| The :class:`Font` class represents a named font. *Font* instances are given | |
| unique names and can be specified by their family, size, and style | |
| configuration. Named fonts are Tk's method of creating and identifying | |
| fonts as a single object, rather than specifying a font by its attributes | |
| with each occurrence. | |
| arguments: | |
| | *font* - font specifier tuple (family, size, options) | |
| | *name* - unique font name | |
| | *exists* - self points to existing named font if true | |
| additional keyword options (ignored if *font* is specified): | |
| | *family* - font family i.e. Courier, Times | |
| | *size* - font size | |
| | If *size* is positive it is interpreted as size in points. | |
| | If *size* is a negative number its absolute value is treated | |
| | as size in pixels. | |
| | *weight* - font emphasis (NORMAL, BOLD) | |
| | *slant* - ROMAN, ITALIC | |
| | *underline* - font underlining (0 - none, 1 - underline) | |
| | *overstrike* - font strikeout (0 - none, 1 - strikeout) | |
| .. method:: actual(option=None, displayof=None) | |
| Return the attributes of the font. | |
| .. method:: cget(option) | |
| Retrieve an attribute of the font. | |
| .. method:: config(**options) | |
| Modify attributes of the font. | |
| .. method:: copy() | |
| Return new instance of the current font. | |
| .. method:: measure(text, displayof=None) | |
| Return amount of space the text would occupy on the specified display | |
| when formatted in the current font. If no display is specified then the | |
| main application window is assumed. | |
| .. method:: metrics(*options, **kw) | |
| Return font-specific data. | |
| Options include: | |
| *ascent* - distance between baseline and highest point that a | |
| character of the font can occupy | |
| *descent* - distance between baseline and lowest point that a | |
| character of the font can occupy | |
| *linespace* - minimum vertical separation necessary between any two | |
| characters of the font that ensures no vertical overlap between lines. | |
| *fixed* - 1 if font is fixed-width else 0 | |
| .. function:: families(root=None, displayof=None) | |
| Return the different font families. | |
| .. function:: names(root=None) | |
| Return the names of defined fonts. | |
| .. function:: nametofont(name, root=None) | |
| Return a :class:`Font` representation of a tk named font. | |
| .. versionchanged:: 3.10 | |
| The *root* parameter was added. |