[id] = CreateFont(id, brushid, charmap, width, height, cols[, t])
id
und den Identifikator der Pinselquelle im Argument brushid
übergeben. Wenn Sie
Nil in id
übergeben, wählt CreateFont()
automatisch einen
Identifikator und gibt ihn zurück. Nachdem die Schriftart erfolgreich erstellt
wurde, können Sie sie mit UseFont() als aktuelle Schriftart
festlegen.
Der Parameter charmap
muss auf eine Zeichenkette gesetzt werden, der die
einzelnen Zeichen im Pinsel beschreibt. Die Zeichenabmessungen müssen in den
Parametern width
und height
übergeben werden. Alle Zeichen müssen die
gleichen Abmessungen haben. Die Anzahl der Zeichen pro Zeile muss im
Argument cols
übergeben werden.
Beispielsweise könnte eine Schriftart, die die Großbuchstaben A-Z unterstützt
und deren Zeichen jeweils 32 x 32 Pixel groß sind, in einem Pinsel angeordnet
werden, der 4 Reihen mit 8 Zeichen pro Reihe hat, mit Ausnahme der letzten
Reihe, die nur 2 enthält, weil das englische Alphabet nur 26 Zeichen hat, also
reichen 3 Zeilen mit 8 Zeichen plus eine letzte Zeile mit 2 Zeichen. Sie
könnten also eine solche Schriftart aus einem 256x128 großen Pinsel erstellen
und 32 für width
und height
, 8 für cols
und "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
in Charmap
übergeben.
Das optionale Tabellenargument kann verwendet werden, um einige zusätzliche Optionen festzulegen. Die folgenden Tags werden derzeit erkannt:
Name:
RowSpacing:
CreateFont()
mit diesem Tag mitteilen. Setzen Sie
diesen Tag einfach auf die Anzahl der Abstandspixel zwischen jeder Zeile und
CreateFont()
überspringt den Abstand, wenn es eine Schriftart erstellt. Der
Standardwert ist 0, was bedeutet, dass kein vertikaler Abstand vorhanden ist.
ColSpacing:
CreateFont()
mit diesem Tag mitteilen. Setzen Sie diesen Tag einfach auf
die Anzahl der Abstandspixel zwischen jedem Zeichen und CreateFont()
überspringt den Abstand, wenn er eine Schriftart erstellt. Der Standardwert
ist 0, was bedeutet, dass kein horizontaler Abstand vorhanden ist.
Ascender:
height
übergebene Zeichenhöhe minus 1.
CreateFont()
unterstützt sowohl Palettenpinsel als auch Pinsel mit Maske oder
Alphakanal. Wenn der in brushid
übergebene Pinsel ein 1-Bit-Palettenpinsel
ist, können Sie auch die Farbe der Schriftart mit SetFontColor() und
anderen Befehlen ändern, genau wie Sie es für normale Schriftarten tun
können. Wenn die Pinseltiefe jedoch mehr als 1 Bit beträgt, wird die Schriftart
als Farbschrift behandelt, die immer dieselbe Farbe verwendet, unabhängig
davon, wie die aktuelle Schriftfarbe eingestellt ist.
Beachten Sie, dass CreateFont()
ziemlich flexibel ist und auch als Kachelkarte
verwendet werden könnte. Ordnen Sie einfach jede Kachel einem Zeichen
zu und zeichnen Sie dann die gesamte Kachelkarte mit einem einzigen Aufruf
von TextOut(). Dies sollte viel schneller sein, als die Kacheln einzeln
zu zeichnen.
CreateFont(1, 2, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!-.:?",30,32,10) UseFont(1) NPrint("HELLO WORLD!")Der obige Code erstellt eine neue Schriftart aus Pinsel 2. Es gibt 41 Zeichen im Quellpinsel und sie sind als 10 Zeichen pro Zeile und jeweils 30 x 32 Pixel angelegt. Das bedeutet, dass der Quellpinsel mindestens 300 x 160 Pixel groß sein muss. Nach dem Erstellen der Schriftart wird diese als aktuelle ausgewählt und der Text "HELLO WORLD!" wird ausgegeben.