- Unscii ist ein Bitmap-Unicode-Font-Set auf Basis klassischer Systemschriften, das sich sowohl für Character-Cell-Art als auch für Terminal- und Programmierumgebungen eignet
- Die Hauptversionen sind unscii-8 (8×8 Pixel) und unscii-16 (8×16 Pixel); außerdem gibt es mehrere Alternativstile sowie die „full“-Variante mit ergänzten fehlenden Glyphen
- Mit den in Unicode 13.0 hinzugefügten Zeichen für „Legacy Computing“ erschien Unscii 2.0, das bestehende Fehler behebt, die Lesbarkeit verbessert und neue Zeichen ergänzt
- Durch die Untersuchung der visuellen Merkmale klassischer Systemschriften wie Amiga, Commodore 64 und IBM PC wird eine neutrale und konsistente Form umgesetzt
- Als Werkzeug, das historische Zeichenkunst mit modernen Unicode-Umgebungen verbindet, spielt es eine wichtige Rolle bei der Reproduktion von ASCII-Art und Terminalgrafik
Überblick über Unscii
- Unscii ist ein Bitmap-Unicode-Font-Set auf Basis klassischer Systemschriften
- Geeignet für Character Cell Art und auch nutzbar in Terminal- und Programmierumgebungen
- Zwei Hauptvarianten: unscii-8 (8×8 Pixel), unscii-16 (8×16 Pixel)
- Für unscii-8 existieren mehrere alternative Stile
- unscii-16-full enthält fehlende Glyphen aus Fixedsys Excelsior und GNU Unifont
- unscii-16-full steht unter GPL, die übrigen Varianten sind Public Domain
- Der Urheber ist Viznut
Unscii 2.0
- In Unicode 13.0 (2020-03-10) wurden 214 grafische Zeichen für „Legacy Computing“ ergänzt
- Darunter fehlende Zeichen aus PETSCII, Teletext/Videotex usw.
- Zeichen, die bereits in Unscii 1.x enthalten waren, erhielten eine offizielle Unicode-Zuordnung
- Der Hauptgrund für das Update auf Unscii 2.0 ist die Übernahme dieser Zuordnung
- Zusätzlich wurden Fehlerkorrekturen, Verbesserungen der Lesbarkeit und neue Zeichen umgesetzt
- Es werden Testbilder der aktuell in Unicode verfügbaren Zeichen bereitgestellt
Beispiele (EXAMPLES)
- Amiga-ANSI-Art: Hellbeards Divine Stylers, gerendert mit unscii-16
- PC-ANSI-Art: Rad Mans Ansi Love, gerendert mit unscii-16
- Commodore-64-PETSCII-Bilder: Redcrabs I Has Floppy, Dr.TerrorZs The First Ball, Mermaids Gary
- Das Quellcode-Paket enthält einen Bitmap→Unscii-Konverter
- Enthält ein Beispiel für die Umwandlung nach unscii-8 mit der 256-Farben-xterm-Palette
Download (DOWNLOADS)
- Die eigentlichen Bitmap-Formate sind HEX und PCF
- HEX ist dasselbe einfache Hexdump-Format wie im Unifont-Projekt
- TTF, OTF, WOFF sind vektorisierte Versionen
- Die PCF-Version enthält keine Zeichen oberhalb von U+FFFF
- Die neuen grafischen Zeichen werden jedoch im Bereich PUA (Private Use Area) bereitgestellt
- Die Mapping-Informationen sind in der Datei
<uns2uni.tr>enthalten
Hintergrund (BACKSTORY)
- In Unicode gibt es pseudografische Zeichen, diese werden jedoch in ANSI-Art kaum verwendet
- Auch in MUDs werden meist nur die Blockzeichen der MS-DOS-Codepage 437 genutzt
- Der Grund ist, dass die Umsetzung nicht-CP437-Grafikzeichen in bestehenden Unicode-Schriften unvollständig war
- Das Unicode Consortium zeigte nur geringes Interesse an der Umsetzung pseudografischer Zeichen
- Es entstand ein Teufelskreis: „Ohne Schriften keine Kunst, ohne Kunst keine Schriften“
- Um dieses Problem zu lösen, wurde Unscii als kunstkompatible Unicode-Schrift entwickelt
Designgrundlage
- 8×8-Systemschriften lassen sich nach Strichstärke in 1-Pixel- und 2-Pixel-Typen einteilen
- Unscii verwendet den 2-Pixel-Typ, da die Ähnlichkeit zwischen klassischen Systemen höher ist und sich so leichter eine neutrale Form umsetzen lässt
- Visuelle Basissysteme der 8×8-Version:
- Amiga (Topaz-8), Amstrad CPC, Atari 8-bit/Arcade/32-bit, BBC Micro, Commodore 64, IBM PC (CGA/VGA 80×50)
- Die 8×16-Version erweitert 8×8 nach festgelegten Umwandlungsprinzipien
- Referenzschriften: Windows Fixedsys, IBM PC VGA, X Window 8x13/9x15, Macintosh Monaco, Digital VT420, DejaVu Sans Mono, Lucida Console, Inconsolata
- Vorrang hat eine neutrale Form, bei Bedarf wird jedoch für Art-Verbindbarkeit oder Lesbarkeit angepasst
- Beispiel:
/\\XYbewahrt die Verbindbarkeit in ASCII-Art, die Serifen voniIlwurden verlängert
- Beispiel:
- Nicht definierte 8×16-Glyphen werden durch eine in der Höhe verdoppelte 8×8-Version ersetzt
Zusätzliche Varianten und Zeichen-Mapping
- Durch die Untersuchung von Spieleschriften und Fonts mit dünnen Linien entstanden unscii-8-thin, unscii-8-mcr, unscii-8-fantasy
- Hunderte nicht in Unicode enthaltene Zeichen wurden auf den PUA-Bereich gemappt
- U+E080..E0FF: Teletext/Videotex-Blockmosaike
- U+E100.. : PETSCII, weiche Videotex-Mosaike, zusätzliche Schattierungen, abgerundete Ecken usw.
- U+E800.. : untypische, aber nützliche Kreuzlinien, Diagonalen, nichtlineare Muster usw.
- U+EC00.. : besondere Zeichen wie spielorientierte Bitmaps
- Seit Unicode 13.0 sind einige dieser Zeichen offiziell in Unicode enthalten, die PUA-Zuordnung bleibt jedoch aus Kompatibilitätsgründen erhalten
1 Kommentare
Hacker-News-Kommentare
Etwas am Thema vorbei, aber verwandt
Als ich früher mit HTML + Canvas ein Invader-artiges Spiel gebaut habe, stieß ich bei der Suche nach IBM-PC-OEM-Schriften auf VileRs The Ultimate Oldschool PC Font Pack
Es ist erstaunlich, mit welcher Sorgfalt dort OEM-Schriften und ihre Varianten aus unzähligen ROMs rekonstruiert wurden
Die Seite bietet nicht nur ein detailliertes Archiv, sondern auch Funktionen wie Live-Vorschau und Korrektur des Seitenverhältnisses, was das Stöbern besonders reizvoll macht
Ich habe dort Stunden damit verbracht, verschiedene OEM-Schriften zu vergleichen, um die beste Schrift für mein Projekt zu finden
Sie eignet sich gut für Retro-Einsatzzwecke wie ANSI-Art und passt auch perfekt in moderne Umgebungen
Ich habe Viznuts Audio-/Visual-Live-Coding-Tool IBNIZ einmal bei einer Performance eingesetzt
Das war eine absolut intensive Erfahrung
IBNIZ-Link
Eine Liste seiner Arbeiten findet sich auf seinem Pouet-Profil
Ich beneide ihre Skurrilität und Genialität und hoffe, dass beim Anschauen ein wenig davon auf mich abgefärbt hat
Meine lokale Nerd Font unterstützt einige grafische Glyphen nicht
Es wäre schön, wenn so etwas ergänzt würde
Ein Blick mit
lsofzeigte, dass mehrere Schriften als Fallback verwendet wurdenDejaVuSans, DroidSansFallback, Segoe UI Symbol und weitere Schriften wurden gemischt, was am Ende zu perfektem Rendering führte
Ich arbeite gerade an einem MUD, und diese Schriften sind genau der Stil, den ich gesucht habe
Danke fürs Teilen, perfektes Timing
Jetzt, da das Terminal endlich Sixel-Unterstützung bekommt,
fühlt es sich, wie im Sixel-Wiki zu sehen, nach einer 40-jährigen Ehrenrunde an
Unkomprimierte Farbrasterdaten über eine serielle 9600-bps-Verbindung zu übertragen, war eine schreckliche Idee
Heute verschwenden wir in Gigabit-Umgebungen zwar weniger Zeit auf Nutzerseite, aber es ist immer noch Verschwendung von CPU und Komplexität
Lieber hätte ich Unterstützung für FTP oder Gopher in Webbrowsern
Constantine Bytenskys cnxt-Schrift gehört in eine ähnliche Richtung
Wenn dir unscii gefällt, wird dir wahrscheinlich auch cnxt gefallen
CNXT steht für „Constantine’s Nine x Twenty“
Die Website ist momentan nicht erreichbar, aber ich habe ein Side-Project gebaut, das mit jeder Monospace-Schrift funktioniert
Es wandelt Binärdaten in Unicode um und wieder zurück und ersetzt Steuerzeichen durch passende Symbole
printable-binary-Projekt
Ein UTF-8-Zeichen (1–3 Byte) entspricht dabei 1 Byte Eingabedaten; im Schnitt wächst die Größe um etwa 70 %, aber
dafür erhält man Binärunabhängigkeit in jedem Medium, das UTF-8 versteht
In realen Diensten könnte base64 aber effizienter sein, weil es die Größe nur um 33 % erhöht
Solche Schriften sind wirklich großartig
Ich habe diese ASCII-Art-Ästhetik vermisst und sie deshalb bannerartig in meine Blogging-Plattform lmno.lol eingebaut
Unscii ist großartig
Ich habe früher sogar einen einfachen Unscii-Art-Editor gebaut, der auch auf Mobilgeräten funktioniert
unicode-drawing-club.netlify.app
Das Favicon sieht fast identisch oder zumindest sehr ähnlich zum Logo von The Grate Book of Moo aus
Auf Hacker News ist das vielleicht eine zu obskure Referenz, aber vermutlich gibt es doch ein paar Leute, die sie erkennen