"tkinter.font" --- Tkinter-Hülle für Schriftarten
*************************************************

**Quellcode:** Lib/tkinter/font.py

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

Das Modul "tkinter.font" stellt die Klasse "Font" zum Erzeugen und
Verwenden benannter Schriftarten bereit.

Die verschiedenen Schriftstärken und Neigungen sind:

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* - Schriftfamilie, zum Beispiel Courier, Times
         *size* - Schriftgröße
            Ist *size* positiv, wird es als Größe in Punkt gedeutet.
            Ist *size* eine negative Zahl, wird ihr Absolutwert
            als Größe in Pixel behandelt.
         *weight* - Schriftauszeichnung (NORMAL, BOLD)
         *slant* - ROMAN, ITALIC
         *underline* - Unterstreichung der Schrift (0 - keine, 1 - unterstrichen)
         *overstrike* - Durchstreichung der Schrift (0 - keine, 1 - durchgestrichen)

   Geändert in Version 3.10: Two fonts now compare equal ("==") only
   when both are "Font" instances with the same name belonging to the
   same Tcl interpreter.

   Geändert in Version 3.16: 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)

      Gibt die tatsächlichen Attribute der Schriftart zurück, die
      wegen Plattformbeschränkungen von den angeforderten abweichen
      können. Ohne *option* wird ein Dictionary aller Attribute
      zurückgegeben. Ist *option* angegeben, wird der Wert dieses
      einzelnen Attributs zurückgegeben. Die Attribute werden auf der
      Anzeige des *displayof*-Widgets aufgelöst oder im Hauptfenster
      der Anwendung, wenn es nicht angegeben ist.

   cget(option)

      Ruft ein Attribut der Schriftart ab.

      Bemerkung:

        "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)

      Ändert ein oder mehrere Attribute der Schriftart. Ohne Argumente
      wird ein Dictionary der aktuellen Attribute zurückgegeben.

      "config()" ist ein Alias für "configure()".

   copy()

      Gibt eine eigenständige Kopie der aktuellen Schriftart zurück:
      eine neue benannte Schriftart mit denselben Attributen, aber
      einem anderen Namen, die unabhängig vom Original neu
      konfiguriert werden kann. Umhüllt die aktuelle Schriftart eine
      Schriftartbeschreibung, ist die Kopie stattdessen eine benannte
      Schriftart mit deren aufgelösten Attributen.

   measure(text, displayof=None)

      Gibt zurück, wie viel Platz der Text auf der angegebenen Anzeige
      einnehmen würde, wenn er in der aktuellen Schriftart formatiert
      wird, als ganzzahlige Anzahl von Pixeln. Ist keine Anzeige
      angegeben, wird das Hauptfenster der Anwendung angenommen.

   metrics(*options, **kw)

      Gibt schriftartspezifische Daten zurück. Ohne Optionen wird ein
      Dictionary zurückgegeben, das jeden Metriknamen auf seinen
      ganzzahligen Wert abbildet. Ist ein Optionsname angegeben, wird
      der Wert dieser Metrik als ganze Zahl zurückgegeben. Zu den
      Optionen gehören:

      *ascent* - Abstand zwischen der Grundlinie und dem höchsten
      Punkt, den ein
         Zeichen der Schriftart einnehmen kann

      *descent* - Abstand zwischen der Grundlinie und dem tiefsten
      Punkt, den ein
         Zeichen der Schriftart einnehmen kann

      *linespace* - mindestens nötiger senkrechter Abstand zwischen
      zwei beliebigen
         Zeichen der Schriftart, der senkrechte Überlappung zwischen
         Zeilen ausschließt.

      *fixed* - 1, wenn die Schriftart feste Zeichenbreite hat, sonst
      0

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

   Gibt ein Tupel mit den Namen der verfügbaren Schriftfamilien
   zurück.

tkinter.font.names(root=None)

   Gibt ein Tupel mit den Namen aller definierten Schriftarten zurück.

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

   Gibt eine "Font"-Darstellung der bestehenden benannten Schriftart
   *name* zurück. *root* ist das Widget, dessen Tcl-Interpreter die
   Schriftart besitzt. Wird es weggelassen, wird das voreingestellte
   Root-Fenster verwendet.

   Geändert in Version 3.10: Der Parameter *root* wurde hinzugefügt.
