Hallo Besucher, der Thread wurde 2k mal aufgerufen und enthält 10 Antworten

letzter Beitrag von Retrofan am

Systemfont für Atari ST (und Nachfolger)

  • Wie der eine oder andere vielleicht mitbekommen hat, habe ich (ursprünglich) für den C64 einen alternativen (mutmaßlich besser lesbaren) System-Zeichensatz entworfen. Nun habe ich den schon für den C128 (inkl. deutscher DIN-Belegung), den Plus/4 und einige C64-Programme angepasst und auch eine Atari 8-Bit-Anpassung ist nicht mehr fern (und sei es nur für mich selbst).


    Da der Atari ST auch einen 8x8-Systemzeichensatz (mit ähnlichen "Problemzonen") hat, würde ich auch den gerne verbessern – und in dem Zuge auch Verbesserungen am großen 8x16-Font vornehmen. Nun ist aber die Frage, wie man so einen veränderten Systemzeichensatz am sinnvollsten den Nutzern zur Verfügung stellen kann. Ein verändertes ROM-Image ist vielleicht doch etwas zu aufwendig, wenn man den Font auch z.B. irgendwie nachladen könnte. Was meinen die Atari-16Bit-Nutzer: Ist überhaupt Interesse vorhanden? Und wenn ja, wie soll man den Font ins System integrieren? Gibt es vielleicht sogar ein Tool, das ein Font-Binary beim Systemstart von Festplatte nachladen und "installieren" kann? Und wie muss so ein Bitmap-Font aufgebaut sein?


    Gibt es hier irgendwen, der sich ein wenig damit auskennt?


    Atari_ST_character_set_8x8.png

  • Also, ich habe den System-Zeichensatz ab ST - wie auch am Atari XL - nie als unleserlich empfunden - bis auf den ganz kleinen (aber was will man bei 6x6er Pixelfeld auch groß erreichen können!). Aber beim ST gab es doch viele Moglichkeiten den Font anzupassen ...
    Ich halte den Aufwand für absolut unnötig!

  • Da der Atari ST auch einen 8x8-Systemzeichensatz (mit ähnlichen "Problemzonen") hat, würde ich auch den gerne verbessern – und in dem Zuge auch Verbesserungen am großen 8x16-Font vornehmen. Nun ist aber die Frage, wie man so einen veränderten Systemzeichensatz am sinnvollsten den Nutzern zur Verfügung stellen kann. Ein verändertes ROM-Image ist vielleicht doch etwas zu aufwendig, wenn man den Font auch z.B. irgendwie nachladen könnte. Was meinen die Atari-16Bit-Nutzer: Ist überhaupt Interesse vorhanden? Und wenn ja, wie soll man den Font ins System integrieren? Gibt es vielleicht sogar ein Tool, das ein Font-Binary beim Systemstart von Festplatte nachladen und "installieren" kann? Und wie muss so ein Bitmap-Font aufgebaut sein?


    Also... ein wenig, weil seit über 25 Jahren keine Zeile mehr auf dem Atari ST selbst gecodet :-)


    Generell: Der Systemzeichensatz im ROM nutzt, soweit mir bekannt ist, nur 8x16 in Monochrom (ST-High) und 8x8 in ST-Mid und ST-Low. Der ROM Systemzeichensatz ist nicht proportional und damit auch simpel abgelegt, einfach jedes Zeichen hintereinander. Zumindest für TOS 1.04 weiß ich von der Existenz eines Patch-Tools, was an ROM Images den Font ändern kann, aber nur den 8x16 - ohne Gewähr. Im Profibuch ST (Seite 734) wird behauptet, daß laut Atari nur der 8x16 genutzt wird, was mir persönlich aber seltsam vorkommt.


    Das Nachladen ist relativ simpel mit GDOS möglich.


    Bevor Du Dir die Arbeit machst, muß man nach der Sinnhaftigkeit fragen. Es gibt eigentlich zwei große Fraktionen bei den ST Usern... die Puristen und die Post-Apokalyptischen :-D - Will sagen, die Puristen (zu denen ich gehöre) nutzen ihre Atari STs so, wie sie Atari geschaffen hat, natürlich mal mit einem kleinem Upgrade an RAM, mehr CPU-Speed, weitere serielle Schnittstellen usw.usf., aber im Großen und Ganzen "Standard" - und das heißt, auch mit TOS 1.0x oder 2.0x. Dafür gibt es GDOS, mit dem man Fonts nachladen kann. Allerdings ist das Nachladen von Systemfonts nicht gerade üblich (jedenfalls nicht bei mir), und es hat auch nur Einfluß auf GEM-basierende Programme. Als "alter Hase" arbeite ich sehr gern noch mit Kommandozeilen-Tools und Shells, die nutzen ausschließlich den Font im ROM. Von daher für Puristen wäre es sinnvoller, das ROM zu patchen.


    Die Neumodernen nutzen ET4000 Grafikkarten, generell viel Farbe auf großen Monitoren, modernere Software und Betriebssysteme, die eher Linux als TOS gleichen. Diese OS-Alternativen können von Haus aus viel mehr in Sachen Zeichensätze & Co. und haben meist auch schon eine recht ansehnliche Font-Bibliotheken ab Werk (oder zum Nachladen) dabei. Ob und inwieweit Dein Einsatz für einen modizifierten, nicht-proportionalen System-Font da gewürdigt wird... ist fraglich.


    Das ist aber meine ganz persönliche Meinung und soll Dir nur EIN Weg zur Entscheidung aufzeigen :-)

  • Zumindest für TOS 1.04 weiß ich von der Existenz eines Patch-Tools, was an ROM Images den Font ändern kann, aber nur den 8x16 - ohne Gewähr. Im Profibuch ST (Seite 734) wird behauptet, daß laut Atari nur der 8x16 genutzt wird, was mir persönlich aber seltsam vorkommt.

    Ich hatte damals einen Fonteditor und einen ACC Loader unter Blitter TOS angewandt - die haben mir dazu genügt! Der Fontloader war glaube ich aus dem TeX Paket und war nicht ein Editor auch eine Funktion bei Harlekin? Ich hatte aber ein eigenständiges Programm, aber fragt bitte nicht nach Name und Herkunft!
    Mir ist auch bekannt, daß über "GDOS" sogenannte proportionale Vektorfonts möglich waren, aber das hatte nich nie wirklich interessiert!

  • Danke für die Antworten. Mir ist bekannt, dass das Set an (nicht proportionalen) Systemfonts im ROM aus drei Größen besteht und die beiden größeren habe ich auch schon als Bitmap vorliegen. Der 8x16 ist sicherlich ausschließlich für die Hires-Darstellung in Verwendung und der 8x8 für die beiden anderen ST-Modi (einmal vertikal verdoppelt, wie es auch der C128 im 80-Zeichen-Modus macht).


    Ich war ja selbst viele Jahre lang ST-User und habe mit Calamus gearbeitet aber auch mit vielen anderen GEM-Programmen. Allerdings ist mein Wissen doch recht eingerostet. Ich zähle mich wahrscheinlich eher zu den Puristen und würde heutzutage meinen ST (Mega-4) nicht weiter aufrüsten. Wenn ich mehr Power haben will, habe ich hier auch noch STE, TT und Falcon herumstehen. Mit all den Geräten will ich mich in Zukunft wieder etwas mehr befassen und da fiel mir halt (stärker als früher) auf, dass die eingebauten Fonts durchaus verbesserungswürdig sind. Der 8x16 wahrscheinlich weniger als der 8x8 (den ich ja von früher gar nicht kenne, weil ich immer mit dem SM124 gearbeitet habe).


    Der 8x16 Fonts ist auf den ersten Blick sogar recht gelungen (für einen Monospaced-Font). Er steht nicht zu groß auf dem "Kegel" (der Maximalfläche des Zeichens), bietet dadurch genügend Zeilenabstand selbst in nichtgrafischen TOS-Programmen. Allerdings sind einige Sonderzeichen seltsam geformt (das [&] ist z.B. zu groß, das [%] zu klein), die Rechenzeichen liegen zu hoch, viele (bei uns) selten benutze Zeichen, wie die hebräischen und griechischen Buchstaben wirken, als wären sie lieblos mit einem Konverter reingeklatscht worden und auch der horizontale Stand der Zeichen auf der Fläche lässt sich verbessern, um die Buschstabenabstände noch harmonischer (und damit schneller lesbar) zu machen. Das sind alles "Kleinigkeiten" aber wenn sie einem erstmal aufgefallen sind, stören sie halt doch. Bei dem 8x8 Font kommt hinzu, dass er, wie der C64-Zeichensatz, zu hoch ist und deswegen das Lesen erschwert. Das ließe sich schnell reparieren, weil ich die meisten Zeichen aus dem modifizierten C128-Font übernehmen könnte.


    Ich würde die Fonts notfalls also auch für mich alleine verbessern – aber auch da stellt sich die Frage, wie man am besten vorgeht. Mir wäre es natürlich am liebsten, wenn man die Fonts so (lowlevel) laden könnte, dass selbst Nicht-GEM-Programme sie nutzen würden. Wenn das aber nicht ohne Neubrennen der Roms ginge, dann wäre die zweitbeste Variante mein nächster Favorit: Ein Accessory oder Auto-Ordner-Programm o.ä., dass die Fonts lädt und "ersetzt". Das wäre halt ideal, wenn doch mal jemand anderes die Fonts (testweise) nutzen möchte.


    In meinem Mega ST-4 würde ich sogar das ROM wechseln – allerdings habe ich es nicht hinbekommen mit meinem (von ALeX programmierten) Tool, das KAOS TOS 1.04 (welches in meinem ST steckt) so umzuwandeln, dass die enthaltenen Fonts erkennbar wären. Ich bin mir zwar sicher, die Stelle gefunden zu haben, an der zumindest ein Font liegt aber er ist einfach zu sehr gescrambled, als dass ich den ersetzen könnte (in einem anderen getesteten ROM ebenso).


    Nun stecke ich also in einer kleinen Sackgasse: Im ROM bekomme ich den Font nicht so einfach getauscht , wie es z.B. beim Atari 8-Bit oder dem Plus/4 der Fall ist. Und ein Tool, dass mir beim Start die Fonts austauscht, habe ich auch noch nicht gefunden. Gibt es noch weitere Tipps?

  • Wenn Du so was brauchen kannst, um die Mühe zu sparwn, ins Kernel vorzudringen, will ich Dir gerne was zV stellen!

    Das sieht schon mal recht gut aus. Was mich irritiert, ist, dass der Font in der Menüzeile nicht mitgeändert wird. Und kann man mit der Methode auch die beiden anderen Fonts (nicht nur den 8x16) ändern?


    ---


    Was ich aus dem oben verlinkten Artikel schon mal lernen konnte, ist folgendes:

    • Die 3 Systemfonts werden beim Start aus dem ROM ins RAM geladen.
    • Die Fonts sind nicht mehr so simpel aufgebaut, wie bei 8-Bittern, sondern haben: Font Header, Character Offset Table, Horizontal Offset Table und Font Data.
    • Die Reihenfolge der Bytes ist anders als bei den 8-Bittern. Das erste Byte in den Font-Data beschreibt natürlich die 1. Pixelzeile des ersten Zeichens, das nächste Byte aber nicht die 2. Pixelzeile des ersten Zeichens, sondern die 1. Pixel-Zeile des zweiten Zeichens – und so fort. Daher sah auch mein ROM-Dump als PNG so zerschreddert aus.

    Die beste Lösung wäre also wahrscheinlich, erstmal einen sauberen ST-Font als File zu erzeugen – und erst dann zu gucken, wie man den ins ROM packt oder nachträglich lädt.


    Die nächste Frage wäre also: Woher bekomme ich die ST/GEM-Systemfonts als ST-Font-Dateien (nicht TTF oder ähnliches) als Vorlagen und wo finde ich einen guten ST-Fonteditor? Oder ist das eigentlich zu kompliziert gedacht und ich kann das ganze auch außerhalb der ST-Welt (aber für den ST) generieren und einbauen.

  • Das sieht schon mal recht gut aus. Was mich irritiert, ist, dass der Font in der Menüzeile nicht mitgeändert wird. Und kann man mit der Methode auch die beiden anderen Fonts (nicht nur den 8x16) ändern?

    Natürlich - ich habe ja auch nur mit einem Accessory die Fonts getauscht, und zwischen den Screenschots kein anderes Programm genutzt, mit dem ich den Bildschirminhalt komplett verändere. Der neue Font wirkt sich nur dann auf die obere Desktop-Menüzeile aus, wenn sie refrescht wird, zB mit Laden und Beenden eines Programms:

  • Hier ist eine Liste an Programmen, um den Systemfont auszutauschen (nicht vollständig):
    http://atariuptodate.de/de/system/ (unter Systemerweiterungen - Fonts)

    Eine Liste mit Font-Editoren:
    http://atariuptodate.de/de/office/fonts/


    Es gibt verschiedene Rasterfontformate für den ST (seufz), was du suchst, ist ein Editor für den Systemzeichensatz (auch AES-Zeichensatz genannt).

  • Danke, schaue ich mir mal in Ruhe an.


    Der neue Font wirkt sich nur dann auf die obere Desktop-Menüzeile aus, wenn sie refrescht wird

    Danke für die Info. Dann wäre das auch eine Lösung. Bei deiner Lösung muss ich auch erst einen sauberen Atari-Font am Atari generieren oder kann ich das irgendwie vom Mac/PC aus "dealen"?