Nehmen wir an , ich habe eine Schriftart in einem bescheiden beliebtes Format ( .ttf
, .otf
usw.), und ich habe die gesetzlichen Rechte , es zu ändern. So wie es aussieht , handelt es sich um eine normale Schriftart mit unterschiedlichen Zeichen (Glyphen?), Die sich in Breite und Abstand unterscheiden. Wie würde ich diese Schrift in eine monospaced Schrift verwandeln (z. B. alle Zeichen haben die gleichen Abmessungen usw.)?
Gibt es, wenn möglich, automatisierte Tools, mit denen Sie einiges raten können? (Die Ergebnisse müssen nicht unbedingt perfekt sein .) Die Schrift ist möglicherweise groß (viele Zeichen), und die Bearbeitung kann mühsam sein.
Anregungen zu dem Problem werden sehr geschätzt! :)
Haftungsausschluss: Es tut uns leid, wenn dies als einfaches Howto betrachtet wird , aber Google hat nur sehr wenige Informationen zu diesem Thema und für einen Programmierer, der sich nicht viel mit Grafiken oder Schriftarten beschäftigt, ist dies sicherlich nicht einfach . Tut mir auch leid, wenn meine Terminologie nicht stimmt ...: P
Antworten:
Wenn Sie noch keine Schriftartbearbeitungssoftware haben, ist Fontforge kostenlos und Open Source. Die schlechte Nachricht ist, dass es eine relativ hohe Lernkurve und eine etwas ungewöhnliche Benutzeroberfläche hat.
Grundsätzlich muss jede Glyphe dieselbe Breite haben, bis auf die exakt gleiche Anzahl von Einheiten. Dies schließt auch Glyphen ein, deren Breite normalerweise Null oder eine bestimmte Breite sein sollte (z. B. Leerzeichen, Gedankenstriche usw.).
Siehe den FAQ-Eintrag "Wie markiere ich eine Schriftart als monospaced?"
Um tatsächlich die Breite aller Glyphen auf einmal in einem Stapel zu bearbeiten, können Sie einfach im Menü "Metriken" -> "Breite festlegen" auswählen, aber ich würde nicht erwarten, dass dies für alle Zeichen funktioniert. Sie müssen wahrscheinlich alle breiten Zeichen wie 'W', 'M', '@' usw. manuell bearbeiten, damit sie sich nicht überschneiden. Wenn Sie diakritische Zeichen (Akzente, die beim Rendern mit Buchstaben "kombiniert" werden sollen) kombinieren, sind möglicherweise alle Positionen durcheinander (was schwer zu testen ist, wenn Sie Amerikaner / Engländer sind und sie so gut wie nie verwenden).
Eine Person, die weiß, wie man Schriften erstellt und bearbeitet, könnte diese Aufgabe erledigen, aber es wäre immer noch nicht einfach.
quelle
Set Width
unterMetrics
Drop-Down - Menü: stellen Sie alle Glyphen auf eine durchschnittliche Breite (ändern später , wenn nötig) und schließlich wählen SieEqualise Sidebearings
auch unterMetrics
Menü die Glyphen im em-Quadrat zu zentrieren. Natürlich: Studieren Sie, wie andere die Schwierigkeiten beim Entwerfen erfolgreicher Schriften mit fester Breite überwunden haben.thomasrutter bietet eher eine technische antwort; Ich zeige Ihnen einige Prinzipien der Typografie, um Sie davon abzuhalten, das zu tun, was Sie tun möchten, es sei denn, Sie müssen es wirklich tun.
Vergrößern Sie ein "Ich" und ein "Ich" in Consolas oder Courier und dann in Corbel oder Verdana. Beachten Sie, wie unterschiedlich die Buchstaben sein müssen, damit Monospace funktioniert. Das Konvertieren einer Schriftart in Monospace erfordert viel Wissen und Arbeit. Die allgemeine Idee, Schriften überhaupt zu dehnen, wird von jedem Designer missbilligt, der es wert ist, sie zu strecken. Deshalb werden auch beim Übergang von einer normalen zu einer komprimierten Variante alle Glyphen neu gezeichnet.
Schauen Sie sich also Consolas vs. Corbel hier an und sehen Sie, wie Sie beim Vergrößern 1) den Abstand zwischen den Buchstaben, 2) die Konsistenz der Strichstärke und 3) die Passform jedes Buchstabens in der Box sehen können. Schauen Sie sich das monospaced Gesicht (zuerst) im Vergleich zum variabel beabstandeten Gesicht (zweitens) an, und sehen Sie sich dann das dritte und vierte an, um zu sehen, was passiert, wenn Sie versuchen, sich zu strecken und den Abstand zu verringern, um es gleich zu machen. Beim vierten Mal habe ich die Ms auf 75% gequetscht, um in die Schachtel zu kommen, aber jetzt sind sie viel dünner als die Is. Das wird sich bemerkbar machen, wenn es benutzt wird.
Also, kurz gesagt: Leg dich nicht mit Schriften an; Sie sind viel beeindruckender als man erwarten würde!
quelle
Ich bin auf genau dieses Problem gestoßen, als ich versuchte, den Quellcode zu bearbeiten, indem ich Unicode-Symbole stark verwendete. In diesem Zusammenhang wird der größte Teil des Quellcodes in einer Monospace-Schriftart angezeigt, und einige Symbole, die nicht in dieser Schriftart enthalten sind, beeinträchtigen die Ausrichtung.
Obwohl es wahr ist, dass das "Monospacifizieren" einer vollständigen Schrift zu schrecklichen Ergebnissen führt (Kerning, Strichbreiten und allgemeine Ausgewogenheit werden völlig durcheinander gebracht), führt das Importieren von nur wenigen Symbolen von einer Schrift variabler Breite in eine Monospace-Schrift zu anständigen Ergebnissen. Die folgende Animation zeigt die Verwendung von Consolas + Symbola als Fallback im Vergleich zur Verwendung von Consolas + einer monospazifizierten Version von Symbola:
Dies ist für fortgeschrittene Typografie nutzlos, aber ein guter Kompromiss, wenn Sie Symbole in Ihrem Quellcode verwenden möchten, ohne die Einrückung zu beeinträchtigen. Es gibt jedoch eine Reihe von Einschränkungen:
Ich habe ein GitHub-Projekt gestartet , um diese Art von Schriftumwandlungen automatisch durchzuführen. Es enthält vorgenerierte Schriftarten und Code, der die Python-Bindungen von fontforge verwendet.
Siehe auch diese Frage von emacs.se .
quelle
In der Textverarbeitung habe ich: (1) eine Tabelle erstellt; (2) in Spalten aufgeteilt - eine Spalte für jeden Buchstaben; (3) zentrierte die Buchstaben; und (4) alle inneren und äußeren Grenzen unsichtbar gemacht.
quelle