Ein neuer Systemfont für den C64

Problem-Vergleich3

(Probleme des Original-Zeichensatzes und deren Lösungen: Zeilendurchschuss, Negativ-Schrift, x-Höhe und Buchstabenformen)

Präsentiert auf der DoReCo Party 2018

Ein C64 Zeichensatz besteht aus 256 Zeichen (8 Bit). Die 128 unterschiedlichen Zeichen des Systemfonts liegen im Zeichensatz doppelt vor, einmal positiv und einmal negativ. Der C64 besitzt im ROM 2 Zeichensätze, und zwar Großschrift/Grafikzeichen (Standard) und Groß-/Kleinschrift, zwischen denen mit der Tastenkombination C=/SHIFT (oder programmgesteuert) umgeschaltet werden kann.

Ein einzelnes Zeichen hat im Hires Textmodus eine Auflösung von 8×8 Pixeln. Jeder der beiden eingebauten Zeichensätze ist 2 KB groß (8×8 Pixel × 256 Zeichen = 16.384 Bits / 8 Bit = 2.048 Bytes), insgesamt belegen sie also 4 KB von $D000 bis $DFFF im ROM (aus Sicht der CPU). Um einen Zeichensatz zu verändern, muss man ihn entweder vorher ins RAM kopieren oder den CharROM-Baustein ersetzen.

Der C64 Systemfont ist einzuordnen als nicht-proportionaler, serifenloser Bitmap-Font. Der Font (wie auch schon der vom PET) wurde in erster Linie von Leonard Tramiel (Sohn von CEO Jack Tramiel) und PET-Designer Chuck Peddle entworfen. Der Font ist NICHT einfach aus dem PET/VC20-Zeichensatz durch Pixel-Verdoppelung hervorgegangen und die Kleinbuchstaben wurden 1:1 vom deutlich früher erschienenen Atari 400/800 Font (Scott Scheiman 1979) „übernommen“.

Das Ziel meiner Überarbeitung:

  • Verringerung der Versalhöhe 
von 7 auf 6 Pixel: Bessere Lesbarkeit von mehrzeiligem Text durch größeren Zeilendurchschuss
  • Geschlossene Negativ-Darstellung
  • Besserer Lesefluss durch einheitliche x-Höhe
  • Verbesserungen von optisch problematischen Zeichenformen

Einige wenige Kleinbuchstaben (aelnovx) und sämtliche PETSCII-Grafikzeichen bleiben unangetastet, bei vielen Großbuchstaben kann einfach eine Pixelzeile entfernt werden (BEFHIKLMNOPTUVXYZ) – aber dann kommen die Problemfälle …

Im linken blauen Block sieht man die Zeichen in Ausprägungen unterschiedlicher 8-Bit-Systeme, im weißen Block sieht man die von mir ausprobierten Lösungen und ganz rechts dann die ausgewählte Variante:

Font-Vergleich-bdhk

Font-Vergleich-Smrs

Font-Vergleich-234

Font-Vergleich-@$%&

Original (rot) und meine Überarbeitung (schwarz) aller veränderbaren Zeichen:

Font-Vergleich PETSCII vs. Retrofan

Screenshot 1: Oben die Überarbeitung, unten das Original. Oben geschlossene Negativ-Schrift und ausgeglichenes Schriftbild ohne hüpfende x-Höhe.

C64-Screenshot-xHight2

Screenshot 2: Neuer Font im Basic-Listing: Größerer „Zeilendurchschuss“, dadurch bessere Lesbarkeit. Klarere Darstellung der negativen Steuerzeichen.

C64-Basic-RF

Der neue C64-Systemfont PXLfont88665-RF2.0-C64sys.bin in Gesamt-Übersicht:

PXLfont88665-RF2.0-C64sys-u+l

Der Font liegt als 4 KB Binary vor und kann direkt in Emulatoren, wie VICE, installiert oder in einen echten Commodore 64 eingebaut werden, indem man das sog. CharROM austauscht. Auf älteren Platinen liegt der Baustein einzeln vor, oftmals ist er sogar gesockelt und kann einfach durch ein selbst gebranntes EPROM ersetzt werden.

Download: PXLfont88665-RF2.0-C64sys.bin

Ich könnte die optimierten Zeichen auf Wunsch wahrscheinlich auch in Zeichensätze anderer klassischer Systeme (mit 8×8-Pixelmatrix) einbauen.

2 Antworten to “Ein neuer Systemfont für den C64”

  1. Fredrik Ramsberg Says:

    Very nice font! I can’t find any license information. Do you allow this font to be distributed with programs?

    • retr0fan Says:

      Yes, it is allowed. Please send me the name of the program, then I can put it on the list of PRGs with my font.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s


%d Bloggern gefällt das: