100 lines
2.9 KiB
ReStructuredText
100 lines
2.9 KiB
ReStructuredText
: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.
|