17db96d56Sopenharmony_ci:mod:`tkinter.font` --- Tkinter font wrapper 27db96d56Sopenharmony_ci============================================ 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ci.. module:: tkinter.font 57db96d56Sopenharmony_ci :platform: Tk 67db96d56Sopenharmony_ci :synopsis: Tkinter font-wrapping class 77db96d56Sopenharmony_ci 87db96d56Sopenharmony_ci**Source code:** :source:`Lib/tkinter/font.py` 97db96d56Sopenharmony_ci 107db96d56Sopenharmony_ci-------------- 117db96d56Sopenharmony_ci 127db96d56Sopenharmony_ciThe :mod:`tkinter.font` module provides the :class:`Font` class for creating 137db96d56Sopenharmony_ciand using named fonts. 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ciThe different font weights and slants are: 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_ci.. data:: NORMAL 187db96d56Sopenharmony_ci BOLD 197db96d56Sopenharmony_ci ITALIC 207db96d56Sopenharmony_ci ROMAN 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ci.. class:: Font(root=None, font=None, name=None, exists=False, **options) 237db96d56Sopenharmony_ci 247db96d56Sopenharmony_ci The :class:`Font` class represents a named font. *Font* instances are given 257db96d56Sopenharmony_ci unique names and can be specified by their family, size, and style 267db96d56Sopenharmony_ci configuration. Named fonts are Tk's method of creating and identifying 277db96d56Sopenharmony_ci fonts as a single object, rather than specifying a font by its attributes 287db96d56Sopenharmony_ci with each occurrence. 297db96d56Sopenharmony_ci 307db96d56Sopenharmony_ci arguments: 317db96d56Sopenharmony_ci 327db96d56Sopenharmony_ci | *font* - font specifier tuple (family, size, options) 337db96d56Sopenharmony_ci | *name* - unique font name 347db96d56Sopenharmony_ci | *exists* - self points to existing named font if true 357db96d56Sopenharmony_ci 367db96d56Sopenharmony_ci additional keyword options (ignored if *font* is specified): 377db96d56Sopenharmony_ci 387db96d56Sopenharmony_ci | *family* - font family i.e. Courier, Times 397db96d56Sopenharmony_ci | *size* - font size 407db96d56Sopenharmony_ci | If *size* is positive it is interpreted as size in points. 417db96d56Sopenharmony_ci | If *size* is a negative number its absolute value is treated 427db96d56Sopenharmony_ci | as size in pixels. 437db96d56Sopenharmony_ci | *weight* - font emphasis (NORMAL, BOLD) 447db96d56Sopenharmony_ci | *slant* - ROMAN, ITALIC 457db96d56Sopenharmony_ci | *underline* - font underlining (0 - none, 1 - underline) 467db96d56Sopenharmony_ci | *overstrike* - font strikeout (0 - none, 1 - strikeout) 477db96d56Sopenharmony_ci 487db96d56Sopenharmony_ci .. method:: actual(option=None, displayof=None) 497db96d56Sopenharmony_ci 507db96d56Sopenharmony_ci Return the attributes of the font. 517db96d56Sopenharmony_ci 527db96d56Sopenharmony_ci .. method:: cget(option) 537db96d56Sopenharmony_ci 547db96d56Sopenharmony_ci Retrieve an attribute of the font. 557db96d56Sopenharmony_ci 567db96d56Sopenharmony_ci .. method:: config(**options) 577db96d56Sopenharmony_ci 587db96d56Sopenharmony_ci Modify attributes of the font. 597db96d56Sopenharmony_ci 607db96d56Sopenharmony_ci .. method:: copy() 617db96d56Sopenharmony_ci 627db96d56Sopenharmony_ci Return new instance of the current font. 637db96d56Sopenharmony_ci 647db96d56Sopenharmony_ci .. method:: measure(text, displayof=None) 657db96d56Sopenharmony_ci 667db96d56Sopenharmony_ci Return amount of space the text would occupy on the specified display 677db96d56Sopenharmony_ci when formatted in the current font. If no display is specified then the 687db96d56Sopenharmony_ci main application window is assumed. 697db96d56Sopenharmony_ci 707db96d56Sopenharmony_ci .. method:: metrics(*options, **kw) 717db96d56Sopenharmony_ci 727db96d56Sopenharmony_ci Return font-specific data. 737db96d56Sopenharmony_ci Options include: 747db96d56Sopenharmony_ci 757db96d56Sopenharmony_ci *ascent* - distance between baseline and highest point that a 767db96d56Sopenharmony_ci character of the font can occupy 777db96d56Sopenharmony_ci 787db96d56Sopenharmony_ci *descent* - distance between baseline and lowest point that a 797db96d56Sopenharmony_ci character of the font can occupy 807db96d56Sopenharmony_ci 817db96d56Sopenharmony_ci *linespace* - minimum vertical separation necessary between any two 827db96d56Sopenharmony_ci characters of the font that ensures no vertical overlap between lines. 837db96d56Sopenharmony_ci 847db96d56Sopenharmony_ci *fixed* - 1 if font is fixed-width else 0 857db96d56Sopenharmony_ci 867db96d56Sopenharmony_ci.. function:: families(root=None, displayof=None) 877db96d56Sopenharmony_ci 887db96d56Sopenharmony_ci Return the different font families. 897db96d56Sopenharmony_ci 907db96d56Sopenharmony_ci.. function:: names(root=None) 917db96d56Sopenharmony_ci 927db96d56Sopenharmony_ci Return the names of defined fonts. 937db96d56Sopenharmony_ci 947db96d56Sopenharmony_ci.. function:: nametofont(name, root=None) 957db96d56Sopenharmony_ci 967db96d56Sopenharmony_ci Return a :class:`Font` representation of a tk named font. 977db96d56Sopenharmony_ci 987db96d56Sopenharmony_ci .. versionchanged:: 3.10 997db96d56Sopenharmony_ci The *root* parameter was added. 100