| Operatoren |
set_font — Setzen eines Fonts.
set_font( : : WindowHandle, Font : )
set_font setzt den Font Font für das Ausgabefenster WindowHandle. Alle nachfolgenden Textausgaben in diesem Fenster (z.B. mit den Operatoren write_string oder read_string) verwenden nun den neuen Font anstelle des Default-Fonts (siehe set_system('default_font',Font)). Alle verfügbaren Fonts können mit Hilfe des Operators query_font abgefragt werden.
Die Syntax für die Angabe eines Fonts Font unterscheidet sich für Linux-, Windows- und OS-X-Systeme.
Unter Windows wird ein String mit folgendem Aufbau verwendet:
-FontName-Height-Width-Italic-Underlined-Strikeout-Bold-CharSet-
„Italic“, „Underlined“, „Strikeout“ und „Bold“ können die Werte 1 und 0 annehmen, um das jeweilige Fontmerkmal zu aktivieren bzw. zu deaktivieren. Zur Selektierung eines Fonts, dessen Zeichensatz („CharSet“) sich vom Default unterscheidet, sollte „CharSet“ gesetzt werden. Es können die in Windows definierten Defines ANSI_CHARSET, BALTIC_CHARSET, CHINESEBIG5_CHARSET, DEFAULT_CHARSET, EASTEUROPE_CHARSET, GB2312_CHARSET, GREEK_CHARSET, HANGUL_CHARSET, MAC_CHARSET, OEM_CHARSET, RUSSIAN_CHARSET, SHIFTJIS_CHARSET, SYMBOL_CHARSET, JOHAB_CHARSET, HEBREW_CHARSET, ARABIC_CHARSET oder der entsprechende Zahlenwert angegeben werden.
Alle Parameter sind optional und können von hinten her weggelassen werden. Allerdings muss am Anfang und Ende der Zeichenkette ein Bindestrich stehen. Um die Default-Einstellung zu verwenden, kann ein * verwendet werden. Falls kein Font mit den angegebenen Merkmalen vorhanden ist, wird alternativ ein Font gewählt, der möglichst viele der gewünschten Eigenschaften erfüllt.
Beispiele:
-Arial-10-*-1-*-*-1-ANSI_CHARSET-
-Arial-10-*-1-*-*-1-
-Arial-10-
Für weitere Einzelheiten sei auf die Windows Dokumentation (Abschnitt Fonts and Text in der MSDN) verwiesen.
Unter Linux wird der Font durch einen String mit den folgenden Komponenten spezifiziert:
-FOUNDRY-FAMILY_NAME-WEIGHT_NAME-SLANT-SETWIDTH_NAME-ADD_STYLE_NAME -PIXEL_SIZE-POINT_SIZE-RESOLUTION_X-RESOLUTION_Y-SPACING-AVERAGE_WIDTH -CHARSET_REGISTRY-CHARSET_ENCODING.
FOUNDRY ist der Name der Organisation, die den Font zur Verfügung stellt. Der eigentlich Name des Fonts ist FAMILY_NAME (z.B. 'courier'). WEIGHT_NAME beschreibt das typographische Gewicht des Fonts in Textform (z.B. 'medium', 'semibold', 'demibold' oder 'bold'). Der SLANT beschreibt den Schriftschnitt und ist einer der folgenden Codes:
r für Roman (normal)
i für Italic (kursiv)
o für Oblique (schräg)
ri für Reverse Italic (umgekehrt kursiv)
ro für Reverse Oblique (umgekehrt schräg)
ot für Other
SET_WIDTH_NAME beschreibt die proportionale Breite des Fonts in Textform (z.B. 'normal'). ADD_STYLE_NAME enthält zusätzliche typographische Stilinformation (z.B. 'serif' oder 'sans serif') und ist in den meisten Fällen ein leerer String.
PIXEL_SIZE ist die Höhe des Fonts auf dem Bildschirm in Pixeln. POINT_SIZE ist die Druckgröße für die der Font erstellt wurde. Die vertikale und horizontale Auflösung des Fonts sind RESOLUTION_Y und RESOLUTION_X. Das SPACING ist eins der der folgenden Kürzel:
p für Proportional,
m für Monospaced (gleicher Abstand) oder
c für CharCell (gleiche Fläche).
Das Mittel der Breite aller Buchstaben ist AVERAGE_WIDTH. Der vom Font kodierte Zeichensatz wird in CHARSET_REGISTRY und CHARSET_ENCODING beschrieben (z.B. ISO8859-1).
Ein gültiger String für einen Font ist zum Beispiel
'-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1',
ein 12 Pixel normal dicker Courier Font. Wie auf Windows Systemen auch müssen nicht alle Felder angegeben werden und es kann ein * verwendet werden:
'-adobe-courier-medium-r-*--12-*-*-*-*-*-*-*'.
Für weitere Einzelheiten über die einzelnen Felder sei auf "X Logical Font Description Conventions" verwiesen.
Auf OS X Systemen ist der String für Font wie folgt aufgebaut:
FONTNAME[-STYLE][FOUNDRY]-FONT_SIZE.
Da es unter OS X nicht möglich ist Wildcards zu verwenden, sollte ein String ausgewählt werden, der über query_font abgefragt wurde.
Der optionale STYLE kann unter anderem einen der folgenden Werte annehmen:
Bold,
BoldItalic oder
Italic.
FOUNDRY (auch optional) kann die Werte LT, MT oder EF annehmen. Die Fontgröße FONT_SIZE wird in Pixel bemessen.
Ein Beispiel für einen gültigen String für Font ist
'Courier-Bold-14'.
Die verfügbaren Fonts unterscheiden sich stark bei verschiedenen Rechnern. Es empfiehlt sich daher mit Wildcards, Fonttabellen oder mit query_font zu arbeiten.
Fenster-Handle.
Name des Fonts, der gesetzt wird.
get_system ('operating_system', OS)
if (OS{0:2} == 'Win')
set_font (WindowHandle, '-Courier New-18-*-*-*-*-1-')
else
set_font (WindowHandle, '-*-courier-bold-r-normal--22-*-*-*-*-*-iso8859-1')
endif
set_font liefert den Wert 2 (H_MSG_TRUE), falls der Font-Name aufgelöst werden kann. Ansonsten wird eine Fehlerbehandlung durchgeführt.
get_font, query_font, open_textwindow, open_window
Foundation
| Operatoren |