Dies ist ein sehr grundlegendes Repository für meine IBM 3161 ASCII -Terminal -Schriftart.
Dieses Repository enthält eine Bitmap -Version der Schriftart sowie eine (etwas weniger vollständige) TrueType -Version, die durch das "Tracing" -Programm von GNU Unifont erstellt wurde, mit dem es seine TrueType -Versionen erstellt. Der TrueType deckt 0x00 bis 0xff ab (das Basis -ASCII -Set und die erste 'erweiterte' Bank), während ich die Schrift in den Bitmap -Versionen um etwa 0x17F abdeckt. Über diese Schwellenwerte hinaus fällt die Schrift mehr oder weniger mehr oder weniger auf die Glyphen von Unifont zurück, die gegebenenfalls fast den IBM -Schriftglyphen entsprechen. Dies bedeutet auch, dass ich die Schriftart für andere Sprachen wie Japanisch verwenden kann, was in einem Terminal praktisch ist, wenn Sie aus einem Bereich der Welt stammen, in dem das lateinische Alphabet nicht so viel verwendet wird oder wenn Sie Dateien von Benutzern einer anderen Sprache in einem Terminalfenster befassen.
Schaffung des TrueType in dem Maße, in dem ich mich bereits aufgrund einiger fehlerhafter Entscheidungen in dem Prozess bereits bemüht habe. Ich habe zwar vor, es besser zu machen, aber es bleibt die Tatsache, dass die Behebung der Bitmap -Glyphen in TrueType eine große Anstrengung ist - zu viel für etwas, das ich selten benutze. Alle wichtigen Wesentlichen befinden sich sowieso noch im TTF, und ich gehe davon aus, dass ich den TrueType in Zukunft langsam weiter verbessern kann.
Ich habe auch die SFD -Dateien (Fontforge Spline Font Database) aufgenommen, die unkomprimierter Text sind (und damit ziemlich groß; sorry). Wenn Sie nur die Schriftart verwenden möchten, schlage ich daher vor, den Reißverschluss auf der Seite "Releases" herunterzuladen, anstatt das Repo zu klonen.
Ich habe GNU Unifont als Basis verwendet, weil es etwas ähnlich aussieht und eine Menge Unicode über den grundlegenden ASCII -Setzen Sie meine IBM -Terminalstützen ab. Darüber hinaus enthielten seine Quellen einige nützliche Tools, um Transformationen auf Schriftarten automatisch durchzuführen.
Seit ich diese Schriftart zum ersten Mal erstellt habe, habe ich immer mehr Formate gefunden, in die ich sie konvertieren kann! Immer wenn ich ein anderes Format finde, um zu portieren, mache ich es und füge hier einen Commit hinzu. Zuletzt wurde eine Amiga-Version (hergestellt in Workbench 1.3 auf einem Amiga 500) sowie Minecraft, Rockbox und eine X11-EMACS-spezifische Schriftart (um seltsame Rendering-Probleme zu beheben) hinzugefügt.
Diese Schriftart ist auch in einem kompatiblen Ressourcenpaket von Minecraft 1.11-UP erhältlich. Bei geringfügiger Optimierung sollte es auch für frühere und zukünftige Versionen funktionieren. Bequem verwendet Minecraft GNU Unifont für Unicode -Text, was auch die Basis für meine Schriftart ist. Dies hat es einfach addiert, indem einige Tools geändert wurden, die in der Unifont -Quellverteilung enthalten sind, um die Schriftart zu exportieren.
Dies hängt von Ihrer Plattform ab, aber ich werde versuchen, herauszufinden, was dort funktioniert. Für einige exotische Formate (z. B. Minecraft, Rockbox) befinden sich die Anweisungen in den jeweiligen Unterverzeichnissen der Ports.
Auf UNIX/Linux und Windows -Plattformen profitieren die Bitmap -Versionen davon, dass kein Software -Subpixel -Rendering auf sie versucht wird, wie es die TrueType -Schriftart tut. Dies gilt wahrscheinlich auch in OS X, aber ich habe die .dfont-Version der Schriftart in OS X nur aufgrund des nicht regelmäßigen Zugriffs auf OS X getestet.
Unter Windows möchten Sie die Windows Bitmap .fon -Datei und/oder die TrueType -Schriftart (.ttf). Sie können manuell in C:WindowsFonts kopiert oder aus der Schriftvorschriften für Schriftarten installiert werden.
In (Nicht-OS X/Nextstep) UNIX- und Linux-Distributionen mit X11 möchten Sie die Openentype-Bitmap (.OTB) und/oder die TrueType-Schriftart (.ttf).
Es gibt auch eine PCF-Schriftart (X11-Schriftart der alten Schule), mit der es eine gute Idee sein kann, für Programme wie xterm und die GUI-Version von emacs zu installieren.
Durch die Installation aller drei Versionen (TTF, OTB und PCF) können Sie die Schriftart mit nahezu jedem Programm auf einem Unix -System verwenden. TTF und OTB können mit den meisten GUI -Programmen von 'Font Chooser' ausgewählt werden, während der PCF für herkömmliche X11 -Programme wie xterm nützlich ist und normalerweise durch eine Textkonfigurationsdatei wie ~/.Xresources oder ~/.emacs eingestellt wird.
Ich denke, dies wird bei den BSDs mit X11 gleich sein wie für Linux -Distributionen, da sie eine Codebasis für ihre X -Server und ihr Freetyp teilen.
Es ist definitiv gleich in OpenBSD und FreeBSD, wo ich es persönlich ausprobiert habe.
Die Anweisungen zur Installation der X11 PCF -Schriftart finden Sie in der Datei x11/readme.md.
Kopieren Sie die .ttf-Datei entweder in einen lokalen Schriftartpfad (z. B. ~/.fonts oder in einen systemweiten Schriftart (z.
Dies gilt nur für Debian und Derivate. Es mag bei Distribos anders sein, die ich nicht ausprobiert habe, aber ich wette, es funktioniert auch dort. Kopieren Sie linux-console/IBM3161.psf to /usr/share/consolefonts/IBM3161.psf . Bearbeiten Sie dann /etc/default/console-setup und fügen Sie die FONT= hinzu, um zu lesen/ändern:
FONT="IBM3161.psf"
Du bist fertig. Möglicherweise müssen Sie neu starten, damit es überall zeigt.
Das setfont -Befehlszeilenprogramm sollte es auch einmal auf einem bestimmten TTY anwenden können.
Aufgabe: Schreiben Sie die FreeBSD-Konsoleninstallation auf. Ich habe es derzeit nicht dazu gebracht, sich in jedem Terminal zu ändern, nur das primäre, in dem Sie sich den Boot -Prozess ansehen. Ich hoffe, ich muss den Kernel nicht neu kompilieren, um ihn überall zu bekommen.
Ich versichere Ihnen, es funktioniert jedoch in FreeBSD.
In Apple Systems (OS X) möchten Sie die Datei '.dfont' verwenden. Wenn das fehlschlägt, probieren Sie die .ttf oder den .PT3 (PS -Typ 3). IIRC, der Installationsprozess war relativ intuitiv.
Ich weiß noch nicht, wie es auf "Classic" Mac OS installiert werden würde. Wenn jemand ein System 7 oder einen niedrigeren Floppy hat, mit dem ich meinen Mac Plus starten kann, lassen Sie es mich bitte darüber informieren (oder Sie könnten mir einen besseren klassischen Mac schicken!)
Anweisungen zur Installation der Minecraft -Version der Schriftart unter dem minecraft/ Verzeichnis.
Rockbox ist eine alternative Firmware für viele MP3 -Player. Es wurde auf meinem iPod Classic getestet. Anweisungen finden sich natürlich im rockbox/ Verzeichnis.
Ich kann diesen Port nicht mehr unterstützen, bis ich eine neue Compactflash -Karte erhalten kann, da die in meinem iPod gerade fehlgeschlagen ist und die Festplatte vor vielen Jahren fehlgeschlagen ist. Fühlen Sie sich frei, mir eine Frage zu schießen, aber ich kann sie möglicherweise nicht beantworten.
Es gibt zwei Hauptmethoden, um dies zu tun. Die erste besteht darin, nur die TrueType -Schriftart zu verwenden. Wenn ich mich richtig erinnere, räumt das alles richtig aus.
In der regulären OTB -Version werden alle Charaktere unabhängig von ihrer tatsächlichen Breite auf 16px gepolstert. Aus diesem Grund wird nicht empfohlen.
Die OTB -Datei 8wide/IBM3161APL.otb sollte jedoch funktionieren. Dies ist (wenn ich mich richtig erinnere) als solches benannt, weil es von der APL -Variante von Unifont abgeleitet wird. Ich habe festgestellt, dass die APL -Variante von Unifont in EMACs korrekt zu sein scheint, und so habe ich eine ähnliche Variante für meine eigene Schriftart gemacht.
Ich bin mir nicht sicher, ob es tatsächlich daran liegt, dass es sich um die APL -Variante handelt oder weil Emacs versucht, pcf -Stilschriften vor otb -Schriften zu priorisieren. Oder vielleicht etwas anderes, das Freetype zu tun hat. Aber was auch immer der Fall sein mag, wenn Sie irgendwo IBM3161APL.otb installieren (ich habe es in ~/.fonts/ ), sollten Sie es in GNU-EMACs mit mx customize ermöglichen, oder fügen Sie es manuell zu custom-set-faces in Ihrer EMACS-Initialisierungsdatei (normalerweise ~/.emacs oder ~/.emacs.d/init.el ).
Ein Beispiel (aus meinen custom-set-faces Elisp) folgt.
Die wichtigste Zeile, auf die man sich konzentrieren muss, ist diejenige, die die Zeichenfolge IBM3161APL enthält. Der Rest ist nur für den Kontext bereitgestellt. Es gibt fast nichts, was ich nicht so sehr mag wie unzureichende Kontext, wenn sie Code -Beispiele betrachten, insbesondere in unbekannten Sprachen.
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:family "IBM3161APL" :foundry "PfEd" :slant normal :weight normal :height 128 :width normal))))
'(term-color-blue ((t (:background "#2272D9" :foreground "#2272D9"))))
'(term-color-cyan ((t (:background "#06989A" :foreground "#06989A"))))
'(term-color-green ((t (:background "#4E9A06" :foreground "#4E9A06"))))
'(term-color-magenta ((t (:background "#A168AB" :foreground "#A168AB"))))
'(term-color-red ((t (:background "#CC0000" :foreground "#CC0000"))))
'(term-color-white ((t (:background "#D3D7CF" :foreground "#D3D7CF"))))
'(term-color-yellow ((t (:background "#C4A000" :foreground "#C4A000"))))
'(tooltip ((t (:inherit tooltip-ui :background "lightyellow" :foreground "black")))))
Wenn jemand weiß, warum diese IBM3161APL -Variante tatsächlich funktioniert, wenn der reguläre OTB nicht der Fall ist, erzählen Sie mir bitte davon. Ich würde es wirklich gerne wissen!
Ich habe die Schriftart aus meinem IBM 3161 von Hand über den integrierten "Test" -Modus aus dem Bildschirm geschaltet, in dem sie den gesamten ASCII-Zeichen auf einem einzelnen Bildschirm ausdruiert. Infolgedessen kann ich nicht garantieren, dass es in Bezug auf den Abstand zwischen den Charakteren zu 100% genau ist, aber ich kann sagen, dass ich persönlich noch nichts daran bemerkt habe. Ich habe es seit fünf Monaten ausschließlich in meinem Terminalemulator verwendet.
Sie können einige der hier verwendeten Bilder finden (obwohl ich andere habe, die ich mit einem anderen Bernstein -CRT gemacht habe; ich muss diese Dateien noch ausgraben).
Als solches bin ich so zuversichtlich, wie man es sein kann, wenn man an Vermutungen verwendet wird und (in gewissem Maße) die Buchstaben in CAD verfolgt und meine Fotos des Bildschirms verwandelt, um die Krümmung der CRT zu korrigieren. Ich bin sicher, dass die vertikalen Pixel genau sind, da ich auf meinen Fotos einzelne Scans des Elektronenstrahls erstellen kann. Ich bin mir relativ sicher, dass die horizontalen Pixel aufgrund des gesunden Menschenverstandes genau sind, die Tatsache, dass die meisten Charaktere wild falsch aussehen würden, wenn sie über ein Pixel verschoben würden, und aus einer Trigonometrie, die ich mit den CAD -Tracings verwendet habe. Charakter 0x7f ist ein Schachbrettmuster, das es mir leicht gemacht hat, herauszufinden, wie sich das Seitenverhältnis jedes Pixels in der CRT in der Nähe der Mitte des Displays befindet.
Wenn ich einen ROM Dumper hätte, könnte ich auch die ROMs innerhalb des Terminals abwerfen, da sie alle gesenkt werden. Dies mag in Zukunft passieren, aber ich habe diese Schriftart in meinen Terminal -Emulatoren und an anderen Orten für das letzte Jahr verwendet und habe noch keine Probleme gefunden.
Wenn Sie dies selbst hacken möchten, würde ich vorschlagen, die .hex-Datei als Ausgangspunkt zu verwenden, wenn Sie in der Lage sein möchten, TrueType-Versionen zu generieren. Führen Sie es mit den Hex -Quellen von Unifont zusammen.
Meine Schriftart liefert derzeit nicht die meisten der "erweiterten" Charaktere, die in den realen 3161 (Zeichen über 0x7F ) sind. Sogar die Charaktere, die Unicode -Äquivalente haben, haben sie nicht mit denselben "Zahlen" wie im Terminal verbunden, und ich bin nicht klug/talentiert/besessen genug, um diese alle auszubilden, da ich sie nie benutze. Darüber hinaus haben einige Zeichen kein Unicode -Äquivalent, das mir überhaupt bekannt ist.
Ich möchte auch versuchen, den 3161 -Teil (nicht die gesamte Unifont) in eine ordnungsgemäße TTF -Schriftart zu verwandeln, was bedeutet, dass sie nicht pixiert aussehen, sondern mit Vektoren für die verschiedenen Winkel in der Schriftart verwendet wird. Wenn Sie ein Beispiel für jemanden wünschen, der dies für eine ähnliche (aber nicht identische!) Schriftart getan hat, siehe rbanffy/3270font.
Wenn jemand sie hinzufügen möchte, werde ich Sie in seinem "Test" -Modus auf die Fotos des Terminalbildschirms verweisen, der einen vollständigen Ausdruck aller Zeichen enthält, die das Terminal anzeigen kann. Fühlen Sie sich frei, mir eine Pull -Anfrage zu senden!
Diese Schriftart Dateien sind unter der GNU General Public License (gegebenenfalls) entweder Version 2 oder (nach Ihrer Option) eine spätere Version lizenziert, mit der Ausnahme, dass die Einbettung der Schriftart in ein Dokument an sich keinen Verstoß gegen die Lizenz darstellt. Die vollständigen Bedingungen der Lizenz sind in der Lizenz von GNU Unifont.txt. Diese Lizenz wird vererbt, weil ich meine Schriftart auf GNU Unifont für fast alle Nicht-ASCII-Zeichen gestützt habe.
Wenn Sie nur die Glyphen verwenden möchten, die ich erstellt habe (0x00-0x7f im TrueType oder 0x00-0xff plus Unicode-Superscript- und Abbildungsfaktor-Ziffern in der Bitmap), sind diese Glyphen (bei Ihrer Option) unter der GNU-GPL-Version 2 oder später die Glyphen lizenziert (die SIL Open-Font 2 oder später, mit der AFFOMMENTMENTIONDED-Ausnahme. Lizenz, die unten reproduziert wird. Kontaktieren Sie mich außerdem, wenn Sie es in einem anderen Projekt oder Produkt unter inkompatiblen Bedingungen verwenden möchten, und ich verspreche, ich werde es zuvorkommen/kein Idiot haben. Es könnte sogar frei sein.
Copyright © 2017-2023 Wyatt Ward
Umverteilung und Verwendung in Quellen- und Binärformen mit oder ohne Modifikation sind zulässig, sofern die folgenden Bedingungen erfüllt sind:
Umverteilungen des Quellcode müssen die oben genannte Copyright -Mitteilung, diese Liste der Bedingungen und den folgenden Haftungsausschluss behalten.
Umverteilungen in binärer Form müssen die oben genannte Copyright -Mitteilung, diese Liste der Bedingungen und den folgenden Haftungsausschluss in der Dokumentation und/oder anderen mit der Verteilung bereitgestellten Materialien reproduzieren.
Weder der Name des Urheberrechtsinhabers noch die Namen seiner Mitwirkenden dürfen verwendet werden, um Produkte zu unterstützen oder zu fördern, die von dieser Software ohne spezifische schriftliche Genehmigung abgeleitet wurden.
Diese Software wird von den Inhabern und Mitwirkenden des Urheberrechts "wie sie" bereitgestellt, und alle ausdrücklichen oder impliziten Garantien, einschließlich, aber nicht beschränkt auf die impliziten Garantien für Handelsfähigkeit und Eignung für einen bestimmten Zweck, werden abgelehnt. In keinem Fall haftet der Urheberrechtsinhaber oder die Mitwirkenden für direkte, indirekte, zufällige, besondere, beispielhafte oder Folgeschäden (einschließlich, aber nicht beschränkt auf die Beschaffung von Ersatzgütern oder -dienstleistungen; Verlust des Verlusts des Verwendungsverlusts, Daten oder Gewinne; Gewinne oder geschäftliche Unterbrechung). Beraten über die Möglichkeit eines solchen Schadens.
-(zurück nach oben)-