mod.PFoxFonts

v1.01 04.03.18


Printfox Fonts


Printfox Font zs74 all

Printfox Font zs74 upper
Oben: Das Modul "PFoxFonts"
Mitte: Der CharacterFox-Zeichensatz "zs74" in "All"-Ansicht
Unten: Dies ist die Ansicht "Upper".

Dateiformat:
Namenskennung: zs + laufende Nummer ("zs123")
Startadresse:keine, stattdessen Kennung "z" ($5a)
plus Zeichensatznummer als Bytewert
Header: 119 Bytes, darin:
1 Byte, Breite der Zeichen in Kacheln (1 bis 3)
1 Byte, Höhe der Zeichen in Pixeln (5 bis 42)
1 Byte, letzes Zeichen im Set (ASCII-Wert, meist $92, dann 114 Zeichen im Set: $92-$20=$72=114)
114 Bytes, genaue Breite jedes Zeichens im Set in Pixeln
1 Byte, Höhe ohne Unterlänge in Pixeln
1 Byte, genereller Zeichenabstand in Pixeln
Datenjedes Zeichen einzeln abgelegt:
Bytes nebeneinander bis Breite erreicht,
und untereinander bis Höhe erreicht
gepackt: ja, RLE: $9b Zähler (als Word) Byte

Laderequester

Speicherrequester
Oben der Laderequester. Er zeigt ausschließlich Printfox-
Zeichensätze an (Kennung "zs").
Unten der Speicherrequester. Dieser gibt nur Fonts wieder, die
von PFoxFonts gespeichert wurden (Kennung "Breite×Höhe‐").

Mit Entsetzen mussten wir feststellen, dass GoDot all die Jahre die ungeheure Vielfalt der Printfox-Zeichensätze vernachlässigt hat! Damit ist nun Schluss:

PFoxFonts lädt alle Arten von Printfox-Zeichensätzen und zeigt sie als Hires-Grafik an (s. rechts). Dabei werden sie in eine Form gebracht, die das Abspeichern in einem Standard-C64-Zeichensatzformat begünstigt. Printfox-Zeichensätze haben eine maximale Größe von 24×42 Pixeln (Breite×Höhe), was in PFoxFonts in max. 3×6 Chars umgesetzt wird. Sie enthalten die Daten für bis zu 114 verschiedene Zeichen, angeordnet in vier Abschnitten ("Divisions"):

Zuerst kommen die Satzzeichen und Ziffern (im Modul "Digit" genannt), dann die Großbuchstaben ("Upper", hier im Beispiel). Es folgen die Kleinbuchstaben ("Lower") und zuletzt ein paar Sonderzeichen ("Extra", bis zu 18 Zeichen), die von Font zu Font verschieden sein können.

Mit Info öffnet man den Filerequester (s.u.), um Printfox-Zeichensätze auszuwählen. Es werden nur Dateien angezeigt, die mit "ZS" beginnen. Hat man einen ausgewählt, wird diese Datei angelesen und der Header ausgewertet. Danach erfolgt die Anzeige der wichtigsten Daten: der Name des Zeichensatzes (oben unter der Titelzeile, hier zs74)) Größe der Zeichen in Kacheln (Size, hier 3×3, die Größe wird auch optisch als weißer Umriss im Kasten neben der Info-Anzeige dargestellt, hier das weiße Quadrat), echte Höhe der Zeichen in Pixeln (Height, hier 23), Ort der Basislinie (BLine, die Linie, auf der alle Buchstaben "liegen", oder anders herum: die Höhe der Unterlänge, hier 5, z.B. beim "g" und beim "ß" zu sehen), und schließlich die Anzahl der im Set mitgeführten Zeichen (Chars, hier 114). Die Zeichendaten werden bei Info noch nicht eingelesen, so kann man schnell nach einer geeigneten Zeichengröße suchen. Hat man sie gefunden, holt man sich mit Show die Zeichendaten in den Speicher und schaut sich den Zeichensatz komplett an.

Weiß man schon vorher, welchen Zeichensatz man laden möchte, geht man über das Gadget Load. Auch hierbei wird der Filerequester geöffnet und man kann aus den ZS-Dateien auswählen. Nach dem Laden erfolgt auch bei Load die Anzeige der Datei-Info oben.

Mit Show wird umgeschaltet auf Grafikdarstellung und der Zeichensatz wird angezeigt (s. rechts). Bei Zeichensätzen mit einer Breite von drei Kacheln bleibt die ganz rechte Spalte des Bildschirms dabei ungefüllt (40 lässt sich eben nicht ohne Rest durch drei teilen), was man hier als schwarzen Streifen erkennen kann. Hinweis: Große Zeichensätze (ab 2×2) beginnen in PFoxFonts erst nach dem Leerzeichen (bei einer Breite von 3 bekäme man nicht alle Buchstaben eines Abschnitts auf zwei Zeilen).

Große Zeichensätze passen nicht in einen Standard-C64-Zeichensatz hinein (der enthält maximal 256 Chars, hat also eine Höchstlänge von 2048 Bytes (256×8 Bytes). Aus diesem Grund kann man hinter Division einstellen, welchen Abschnitt des jeweiligen Zeichensatzes man gezielt laden möchte (hier "Upper", die Großbuchstaben, wie im Beispiel zu sehen). Bei einem 3×3-Zeichensatz enden die "gültigen" Daten beim Anfang des dicken schwarzen Balkens im Beispiel. Das heißt, dass die Zeichen Ä, Ö und Ü nur unvollständig in einem C64-Charset ankommen (nur ihre obersten Kachelzeilen).

Dennoch kann man mit Save einen so im Speicher befindlichen Printfox-Zeichensatz als C64-Charset abspeichern. Dieser erhält dabei die Startadresse $3800 und wird abgelegt wie eine Bitmap, also Byte für Byte, wie die Daten im Speicher stehen. Das bedeutet, dass man in einem Zeichensatzeditor möglicherweise Hand anlegen muss, was die "Geometrie" des Zeichensatzes angeht. Außerdem muss man bei den Zeichensätzen mit der Breite 3 die ungefüllte 40. Spalte ausmerzen, um Platz für eventuell nötige weitere Zeichen zu gewinnen. Speichert man einen Zeichensatz ab, so erhält er ein Präfix mit den Größenangaben (siehe im Beispiel beim "Speicherrequester", hier würde der Name "3×3-zs74" lauten). Der eigentliche Name (hier "zs74") ist frei änderbar, aber auf höchstens 12 Zeichen beschränkt.

Zeichensätze in Normalgröße (1×1, aber auch die Größen 1×2 und 2×1) behandelt PFoxFonts besonders: Sie werden vor dem Abspeichern intern umgeschichtet, sodass die Zeichen danach die Reihenfolge des im C64 eingebauten Standardzeichensatzes angenommen haben, die "Divisions" erhalten die Anordnung "Lower", "Digit" und "Upper". Damit sind sie in allen Programmen ohne weitere Maßnahmen sofort verwendbar (außer 1×2). Übrigens sieht man nach dem Abspeichern mit "Show" im unteren Teil des Grafikbildschirms auch nun die abgespeicherten Daten, so dass man die geänderte Anordnung des Charsets überprüfen kann.

Mit Leave verlässt man das Modul.


Die Daten des Zeichensatzes lädt GoDot in den Bereich der Bildanzeige (nach $2000). Deshalb kann man mit EditMask die Zeichensätze, wenn nötig, vor dem Speichern bereits vorbearbeiten (im Bild der Zeichensatz "zs17" von der Dieter-Trepkowski-Zeichensatzsammlung aus dem Scanntronik-Angebot):

Bearbeiten mit EditMask

Für größere Aufgaben sollte man den Bereich des neuen Fonts in 4Bit-Daten umwandeln (MaskTo4Bit) und weiter mit PixelEdit arbeiten.

Als C64-Charsets abgespeicherte Zeichensätze lassen sich sehr gut mit PrintTo4Bit zum Beschriften von Bildern weiterverwenden.


Weitere Beispiele:

Characterfox zs100
Konvertierungen von PFoxFonts
Es sind sehr, sehr viele gute Zeichensätze für Printfox geschaffen worden.

zurück - zum Menü für nützliche Kleinigkeiten

Arndt Dettke
support@godot64.de