| 
									
										
										
										
											2019-09-10 01:55:34 -07:00
										 |  |  | :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.
 | 
					
						
							| 
									
										
										
										
											2020-09-18 09:54:42 +03:00
										 |  |  |        |     If *size* is a negative number its absolute value is treated
 | 
					
						
							|  |  |  |        |     as size in pixels.
 | 
					
						
							| 
									
										
										
										
											2019-09-10 01:55:34 -07:00
										 |  |  |        | *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.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-26 05:18:06 +08:00
										 |  |  | .. function:: nametofont(name, root=None)
 | 
					
						
							| 
									
										
										
										
											2019-09-10 01:55:34 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-26 05:18:06 +08:00
										 |  |  |    Return a :class:`Font` representation of a tk named font.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    .. versionchanged:: 3.10
 | 
					
						
							|  |  |  |       The *root* parameter was added.
 |