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.
 |