Glyphenstudien an DEC VT100- und VT220-TerminalsVor kurzem hat mich die Emulation analoger Medien ein wenig mitgerissen: Ich wollte die Rastergrafiken von CRTs wie auf den „Glasterminals“ der Vergangenheit wie der legendären VT-Serie der Digital Equipment Corporation (DEC) neu erstellen. Dabei stellte sich eine Reihe von Fragen zu den Funktionen der Schriftanzeige in CRT-Pixelgrafiken. Ich frage mich, wie die Schriftarten tatsächlich ausgesehen haben und ob es möglich ist, sie gemäß den Spezifikationen zu rekonstruieren.
Moderne TrueType-Schriftarten erstellen VT220-Glyphen neu. Beachten Sie, dass VT-Terminals zwei Auflösungsmodi unterstützen: einen für 132 Zeichen pro Zeile und einen für 80 Zeichen (Zeichenmatrix 9 × 10 bzw. 10 × 10). In letzterem Fall wird das Intervall um ein Pixel verlängertAufgrund der Fülle an technischen Informationen auf Websites wie
vt100.net und
bitsavers.org können Sie das Erscheinungsbild dieser Schriftarten leicht bestimmen. Zum Beispiel können wir Glyphen aus der Terminal-Firmware wiederherstellen. Es gibt sogar TrueType-Schriftarten, die die VT220-Typografie wiederholen:
Glass TTY VT220 mit Rasterlinien und
DEC Terminal Modern mit modernen, glatten Umrissen (siehe Abbildung oben).
Bei näherer Betrachtung unterscheiden sich diese Schriftarten erheblich voneinander, aber keine von ihnen sieht richtig aus. Im Vergleich zu Fotos des echten VT100 machen sich die Unterschiede nicht nur in der Schriftdichte, sondern auch in der Größe und Form der Umrisse und im allgemeinen „Gefühl“ der Schrift bemerkbar. Terminalfotos können jedoch auch nicht das tatsächliche Gefühl der Schriftdichte vermitteln, da dies stark von den Aufnahmeparametern abhängt:
Abenteuerspiel Colossal CavePhoto auf dem Bildschirm von VT100. Foto: Wikipedia, Dave Fisher , 2008, Wikimedia Commons (bearbeitet, NL).
Zeigen Sie die Verzeichnisliste auf dem VT100 an. Foto: Jason Scott , 2013. Creative Commons (bearbeitet, NL).Da die Fotos nicht sehr hilfreich sind, ist es Zeit, einen Blick auf die Firmware zu werfen.
Firmware
Es gibt Kopien des ROM, Sie können einfach echte Schriftarten daraus extrahieren, die perfekt zum Original passen, oder? .. Was könnte schief gehen?
Der Inhalt des ROM von den Klemmen VT100 (links) und VT220 (rechts). Die VT200-Partition wurde von Paul Flo Williams, vt100.net (2008) durchgeführt. VT100 ergänzt von mir, N. L.). Die Zeichen 'a', 'c', 'g', '2', '6', '7', '9', '@', '%', '{', '}', '|' , '°' und die Form der Steuerzeichen (␉ ␍ ␊  ␋). Darüber hinaus hat VT220 mehr ZeichenDas sieht auch falsch aus. Natürlich erstrecken sich Glyphen vertikal bis ungefähr zur doppelten Höhe, aber dies ist nicht die einzige Verzerrung. Charaktere sehen einfach nicht richtig aus. Schauen Sie sich zum Beispiel 'p' und 'q' oder die Punkte des stromabwärtigen rechten Strichs von 'k' an, ganz zu schweigen von den lustigen Umrissen von '6' und '9' auf dem VT100 oder der verzerrten '2'! Darüber hinaus beträgt die Zeichenmatrix bei näherer Betrachtung nur 8 × 10, während wir mindestens 9 × 10 (und 10 × 10 für einen Modus mit 80 Spalten) erwartet haben, wie in den Spezifikationen beschrieben. Dies ist eindeutig nicht das, was auf dem Bildschirm angezeigt wird.
Phosphor
Schauen wir uns noch einmal die Handbücher an, insbesondere
das Technische Handbuch der VT100-Serie (2. Auflage, EK-VT100-TM-002; DEC, Maynard, Massachsetts, 1979). Es heißt, dass die Sache in der Verzögerung des Leuchtstoffs (Phosphor) ist:
Pulsdauer und Phosphoraktivierungsprofil für VT100 und VT200 (Technisches Handbuch der VT100-Serie, EK-VT100-TM-002, S. 4-78). Beachten Sie, dass Signalimpulsprofile stark idealisiert und in analoger Realität auch geneigt sindDie Zeit der vollständigen Aktivierung des Leuchtstoffs ist tatsächlich länger als die Pulsdauer für ein Pixel (40 Nanosekunden). Dies bedeutet, dass, wenn wir versuchen, nur ein Pixel anzuzeigen, der Leuchtstoff an dieser bestimmten Stelle niemals seine volle Aktivierungsstufe erreicht, was zu einem verschwommenen Bild unterschiedlicher Helligkeit zwischen den stumpfen, dünneren Abschnitten und den dichteren, dickeren führt. Daher muss die Typografie angepasst werden, um Impulse mit doppelter Dauer (80 ns) zu erzeugen, um ein klares Bild und lesbaren Text bereitzustellen.
Impulse mit einfacher und doppelter Dauer und Phosphoraktivierung (von dort, herausgegeben von NL)Punktdehnungsmuster
Zu diesem Zweck verwenden VT-Terminals ein spezielles Punktdehnungsverfahren: Einzelne Zeilen der Zeichenmatrix aus dem ROM werden im laufenden Betrieb modifiziert, wodurch alle Impulse des aktiven Pixels um ein weiteres Pixel erweitert werden. Wenn sich ein Pixel im ROM befindet, werden zwei auf dem Bildschirm angezeigt. Wo zwei in einer Reihe, werden drei angezeigt.
Somit erweitert sich unsere 8 × 10-Matrix auf die erwarteten 9 × 10 (oder 10 × 10 im 80-Spalten-Modus, bei dem das letzte Pixel zum Zeichnen von Linien durch einen anderen Impuls gestreckt wird).
Dehnungspunkte in VT100 und VT200 (Technisches Handbuch der VT100-Serie, EK-VT100-TM-002, S. 4-78)Dies führt jedoch zu unterschiedlichen Ergebnissen für Zeichen normaler Größe und doppelter Breite! Dank der Wunder der Dehnungspunkte enthält eine Schriftart zwei Schriftarten, von denen jede von der Größe des Bildschirms abhängt!

- Wie im ROM
- Einzelpunkt-Streckbreite
- Doppelte Breite mit Punktdehnung
- Einzelbreite mit Punktdehnung und Verzögerung (Leuchtstoff)
- Doppelte Breite mit Punktdehnung und Verzögerung (Leuchtstoff)
(1, 2, 3 nach Paul Flo Williams, vt100.net , 4 und 5 von mir hinzugefügt, NL)Es ist von grundlegender Bedeutung, dass das Bild (2) gepunktete Linien aufweist, die sich von den klaren Linien bei modernen Schriftrekonstruktionen unterscheiden. Wenn wir jedoch sinusförmige und kosinusähnliche Diagramme der Leuchtstoffaktivierung hinzufügen (Abb. 4 und 5 sowie ein Diagramm mit einem Aktivierungsdiagramm oben), erhalten wir eine genauere Version der tatsächlichen Anzeige auf dem Bildschirm (denken Sie daran, dass VT100 und VT220 recht auffällige Rasterlinien zeigen).
VT220-Zeichenmuster (80-Spalten-Modus).
- Wie im ROM
- Einzelpunkt-Streckbreite
- Phosphoraktivierungsgrafiken hinzugefügt
- Phosphorglühen hinzugefügt
(1 und 23 nach Paul Flo Williams, vt100.net , 3, 4 und Negativ von mir hinzugefügt, N. L.)Es gibt ein ziemlich extremes Beispiel dafür, wie das Medium das Erscheinungsbild der typografischen Form bestimmt oder wie das Design von Glyphen unter Berücksichtigung des Mediums und seiner spezifischen technologischen Einschränkungen erstellt wird, um die gewünschte Typografie zu erzielen. Betrachtet man die Phosphoraktivierungseffekte, die Verzögerung und das Leuchten, wird deutlich, warum unterschiedliche Fotos der Bildschirme von VT-Terminals je nach Verschlusszeit der Kamera unterschiedliche Schriftbreiten aufweisen, während die allgemeine Glätte der Schrift erhalten bleibt.
Hier ist eine weitere Darstellung der Schriftarten im ROM unter Verwendung der beschriebenen Effekte, die dem realen Bildschirmbild besser ähnlich sind:
Sichtbare Glyphen VT100 (links) und VT220 (rechts)Die doppelt breiten VT100-Zeichen werden im Vergleich zu den normalen einfach breiten Zeichen (schwarz auf weiß und auch negativ, wie sie auf dem Bildschirm wahrgenommen werden) unten angezeigt:

Bilder von der Werkbank
Und schließlich zwei Bilder von meiner funktionierenden „Workbench“, auf denen ich versuche, den Bildschirm des analogen Terminals in einem Webbrowser mithilfe von HTML5 und der Canvas-API neu zu erstellen. Vielleicht ein bisschen Retro-Unschärfe, aber Sie haben die Idee:
VT100-Emulation (Screenshot)
VT220-Emulation (Screenshot)Und das ist alles für heute ...