"tkinter.font" --- Tkinter font wrapper
***************************************

**Código fuente:** Lib/tkinter/font.py

======================================================================

The "tkinter.font" module provides the "Font" class for creating and
using named fonts.

Los diferentes pesos e inclinaciones de la fuente son:

tkinter.font.NORMAL
tkinter.font.BOLD
tkinter.font.ITALIC
tkinter.font.ROMAN

class tkinter.font.Font(root=None, font=None, name=None, exists=False, **options)

   The "Font" class represents a font used by Tk widgets. It either
   creates a new *named font* or refers to an existing font. A named
   font is Tk's way of identifying a font as a single object that can
   be referred to by name and reconfigured in place, rather than
   respecifying its attributes at each use.

   With *exists* false (the default), a new named font is created. Its
   attributes are taken from the font description *font* if it is
   given, overridden by any keyword *options*. The new font is named
   *name*, or a generated unique name if *name* is omitted.

   With *exists* true, an existing font is referred to instead of
   being created. If *name* is given, it is the name of the font,
   which is reconfigured by *font* and *options* if either is given.
   If *name* is omitted, the font description *font* is wrapped as is,
   without creating a named font, so that it is used without loss of
   precision by "actual()", "measure()" and "metrics()". In this case
   no keyword options are accepted, and the "name" attribute is the
   description itself rather than a string.

   The font description *font* is a tuple of the family name, the size
   and zero or more styles, or any other form accepted by Tk, such as
   the name of a named font.

   The keyword *options* are:

         *family* - font family, for example, Courier, Times
         *size* - tamaño de fuente
            Si *size* es positivo, se interpreta como tamaño en puntos.
            Si *size* es un número negativo, se trata su valor absoluto
            como tamaño en píxeles.
         *weight* - énfasis de fuente (NORMAL, BOLD)
         *slant* - ROMAN, ITALIC
         *underline* - subrayado de fuente (0 - ninguno, 1 - subrayado)
         *overstrike* - tachado de fuente (0 - ninguno, 1 - tachado)

   Distinto en la versión 3.10: Two fonts now compare equal ("==")
   only when both are "Font" instances with the same name belonging to
   the same Tcl interpreter.

   Distinto en la versión 3.16.0a0 (unreleased): A font description
   can now be wrapped without creating a new named font, and keyword
   options now override the attributes of the specified *font*.

   actual(option=None, displayof=None)

      Return the actual attributes of the font, which may differ from
      the requested ones because of platform limitations. With no
      *option*, return a dictionary of all the attributes; if *option*
      is given, return the value of that single attribute. The
      attributes are resolved on the display of the *displayof*
      widget, or the main application window if it is not specified.

   cget(option)

      Recupera un atributo de la fuente.

      Nota:

        "cget()" and "configure()" operate on a named font and raise
        "TclError" for a wrapped font description. Use "actual()" to
        query the attributes of the latter.

   configure(**options)

      Modify one or more attributes of the font. With no arguments,
      return a dictionary of the current attributes.

      "config()" is an alias of "configure()".

   copy()

      Return a distinct copy of the current font: a new named font
      with the same attributes but a different name, which can be
      reconfigured independently of the original. If the current font
      wraps a font description, the copy is instead a named font with
      its resolved attributes.

   measure(text, displayof=None)

      Return amount of space the text would occupy on the specified
      display when formatted in the current font, as an integer number
      of pixels. If no display is specified then the main application
      window is assumed.

   metrics(*options, **kw)

      Return font-specific data. With no options, return a dictionary
      mapping each metric name to its integer value; if one option
      name is given, return that metric's value as an integer. Options
      include:

      *ascent* - distancia entre la línea de base y el punto más alto
      que un
         el carácter de la fuente puede ocupar

      *descent* - distancia entre la línea de base y el punto más bajo
      que un
         el carácter de la fuente puede ocupar

      *linespace* - separación vertical mínima necesaria entre dos
         caracteres de la fuente que aseguran que no haya
         superposición vertical entre líneas.

      *fixed* - 1 si la fuente es de ancho fijo en caso contrario 0

tkinter.font.families(root=None, displayof=None)

   Return a tuple of the names of the available font families.

tkinter.font.names(root=None)

   Return a tuple of the names of all the defined fonts.

tkinter.font.nametofont(name, root=None)

   Return a "Font" representation of the existing named font *name*.
   *root* is the widget whose Tcl interpreter owns the font; if
   omitted, the default root window is used.

   Distinto en la versión 3.10: Se agregó el parámetro *root*.
