Symbolschriften gibt es wie Sand am Meer, doch fehlt manchmal genau das benötigte Symbol. Der findige Linuxer greift zu dem freien Schrifteditor Fontforge und schmiedet die Lettern selbst .
Wer einen Text mit eigenen Symbolen ausstatten möchte, bindet diese in der Regel als Bild ein. Dazu bieten Textverarbeitungen wie Open Office Writer umfangreiche Platzierungs- und Formatierungsoptionen. Dabei gestaltet es sich jedoch schwierig, die Symbole konsistent und zum Schriftbild passend erscheinen zu lassen, vor allem dann, wenn es sehr viele werden. Auch geschieht es beim Kopieren und Einfügen leicht, dass die Bilder verrutschen.
Ein Font muss her
Komfortabler ist es, die Symbole als Zeichen einer Schriftart einzubinden. Diese sind fest im Textfluss verankert, lassen sich problemlos mit diesem kopieren und passen sich der Schriftgröße an. Vor allem bei Dokumenten, die automatisch generiert werden, ist das einfacher zu handhaben.
Dieser Artikel erstellt eine Schriftartendatei im Truetype-Format, die die bekannten Piktogramme von Frau und Mann enthält (siehe Kasten “Truetype und Opentype”). Dazu soll jeweils noch eine etwas kleinere Variante (Mädchen und Junge) kommen. Zudem ist jedes der vier Symbole in einer ausgefüllten und einer Umriss-Form gewünscht. Der Font ist bereits im praktischen Einsatz, um die Familienverhältnisse in einem Ahnenbuch zu illustrieren – es gibt sicherlich viele weitere Einsatzmöglichkeiten.
Wer seinen eigenen künstlerischen Fähigkeiten nicht traut, kann zuerst eine Vorlage für die Zeichnungen suchen. Auf der Webseite des US-amerikanischen National Park Service gibt es beispielsweise eine Public-Domain-Vorlage für das Toilettensymbol auf Parkkarten [1]. Aus der dort zu findenden PDF-Datei mit allen Symbolen schneidet der Anwender mit Inkscape das Männlein und das Weiblein aus (Abbildung 1), kopiert sie in neue Inkscape-Fenster und speichert sie jeweils als ».eps«-Datei ab. Nun kommt Fontforge [2] zum Einsatz.

Abbildung 1: Mit dem Vektorgrafik-Programm Inkscape lassen sich Teile einer PDF-Datei extrahieren. Im EPS-Format gespeichert dienen sie als Vorlage für die neue Schrift.
Das BSD-lizenzierte Programm lässt sich beispielsweise unter Debian und Ubuntu per »apt-get install fontforge« installieren. Daneben ist es als RPM-Paket, für Mac OS X und Cygwin sowie im Quelltext erhältlich. Die Benutzeroberfläche ist allerdings nicht durchgängig ins Deutsche übersetzt. Dieser Artikel verwendet Version 2009-09-23.
Fontforge eignet sich nicht nur – wie hier beschrieben – als Font-Editor, sondern lässt sich auch einsetzen, um Schriftdateien von einem Format in ein anderes umzuwandeln.
|
Truetype und |
|---|
|
Als Schriftformat hat sich auf modernen Desktop-Systemen Truetype etabliert. Es speichert die Umrisse der einzelnen Bildzeichen (Glyphen) als Vektorgrafik, sodass sie sich in jeder gewünschten Auflösung scharf drucken lassen. Truetype verwendet für die Vektordaten quadratische Splines. Dateien mit der Endung ».ttf« können auch dem Opentype-Standard entsprechen. Dieser erweitert Truetype unter anderem um bessere Unicode-Unterstützung und wichtige Features für Sprachen wie Arabisch, in denen die Form eines Zeichens von den benachbarten Zeichen im Text abhängt. Weitere Informationen zu Schriftformaten gibt ein Artikel im Linux-Magazin 10/09 [3]. |
Die neue Schrift entsteht
Nach dem Start zeigt das Programm einen Datei-öffnen-Dialog, der aber auch einen Knopf »New« bietet. Zuerst sollte die neue Schriftart im Dialog unter »Element | Schrift-Eigenschaften« einen Namen bekommen. Sie soll »ManPictogram« heißen, was der Benutzer in diesen Dialog als Schriftname eingibt. Den Familien- und den Vorzeigenamen füllt das Programm automatisch aus.
Standardmäßig verwendet Fontforge eine Kodierung, die die Schriftzeichen der westlichen Sprachen enthält. Das ist für diesen Symbolfont ungeeignet, er ist besser an den Positionen »U+E001« bis »U+E008« im Unicode-Bereich »Private Use Area« aufgehoben. Damit diese Positionen sichtbar werden, wählt der Benutzer »Encoding | Reencode | ISO 106461-1 (Unicode, BMP)« und springt mit »Ansicht | gehe zu« zum Bildzeichen »uniE001« oder scrollt dorthin.
Hier konstruiert er auch das erste Bildzeichen: Nach einem Doppelklick auf den ersten Slot mit Namen »uniE001« öffnet sich der Editor. Der Menüpunkt »Datei | Importieren« lädt die zuvor gespeicherte Datei »mann.eps«. Eine Warnung über einen »countdictstack«, der nicht lesbar sei, darf man getrost ignorieren. Das Männlein erscheint im Editor, allerdings ist sein Kopf nicht ausgefüllt (Abbildung 2). Das liegt daran, dass Fontforge unten zwei unverbundene Knoten anstelle eines einzigen Knotens importiert hat. Dies korrigiert der Anwender, indem er durch Darüberziehen der Maus beide Knoten auswählt und im Menü »Bearbeiten | Verbinden« anklickt.

Abbildung 2: Die importierte Datei erhält im Bildzeichen-Editor von Fontforge automatisch Knotenpunkte und Hilfslinien.
Der Bildzeichen-Editor
Im Editor sind drei horizontale und zwei vertikale Linien zu sehen. Der mittlere horizontale Strich stellt die Grundlinie dar, auf der die Buchstaben ohne Unterlängen stehen. Die obere markiert die maximale Höhe eines Bildzeichens, während die untere Linie den Platz für Unterlängen von Zeichen wie y oder g anzeigt.
Offensichtlich ist das Männlein noch etwas zu groß. Mit dem Skalieren-Werkzeug (»Scale the selection«) aus der Werkzeugleiste ist das rasch korrigiert. Dabei setzt der Benutzer es auf der Grundlinie an – was sich in der Zeile unterhalb der Menüleiste überprüfen lässt – und bewegt den Zeiger bei gedrückter Maustaste nach unten links, bis der Kopf der Figur unterhalb der oberen Linie platziert ist. Hält er dabei die Umstelltaste gedrückt, skaliert der Editor das Männlein in vertikaler wie horizontaler Richtung gleichermaßen. Die vertikalen Linien geben die Breite des Bildzeichens an. Dabei ist es üblich, auch links zwischen Zeichen und Begrenzungslinie einen kleinen Abstand zu lassen, die so genannte linke Führungsschiene.
Um ein exaktes Ergebnis zu erhalten, skaliert und verschiebt der Anwender das Männlein nicht mit der Maus, sondern verwendet »Metrik | Breite setzen«, um eine Breite von 400 einzustellen, und zentriert dann das Bildzeichen per »Metrik | in Breite zentrieren«.
Font-Debugging
Ein weiteres Problem der importierten EPS-Datei: Der äußere Punkt am linken Fuß (vom Betrachter aus gesehen) existiert gleich dreimal: Die beiden oberen Exemplare sind Teil des Umrisses, der untere steht allein (Abbildung 3). Um diesen zu markieren, ohne die oberen Punkte zu verschieben, kann man in diesem Fall »Bearbeiten | Auswählen | Select Open Contours« verwenden und so den Punkt sicher löschen. Das Problem der anderen beiden Punkte löst der frischgebackene Schriftdesigner, indem er einen Punkt durch einen Klick auswählt und ihn per »Bearbeiten | Merge« mit dem anderen verschmilzt.

Abbildung 3: Diese drei grünen Punkte, hier zur besseren Sichtbarkeit auseinandergezogen, liegen nach dem EPS-Import alle aufeinander.
Andere Probleme, beispielsweise Punkte, die fast, aber nicht genau vertikal ausgerichtet sind, kann Fontforge auch selber finden. Der Dialog »Element | Find Problems« offenbart eine große Auswahl an möglichen Fehlern und Fehlerquellen, die »Set All« einmal überprüft und – sofern möglich – per »Fix« automatisch korrigiert (Abbildung 4). Die Meldung »The glyph’s advance width is different from the standard width« kann man ignorieren, da keine Standardbreite vorgegeben wurde. Das Werkzeug fügt gegebenenfalls auch neue Punkte ein.

Abbildung 4: Fontforge kann eine Reihe von Problemen automatisch beheben, etwa bei Punkten, die nicht alle vertikal übereinanderstehen.
Es empfiehlt sich, das Tool wiederholt laufen zu lassen, bis es keine neuen Fehler mehr findet. Hierbei erstellt Fontforge automatisch Hints, die später dem Anzeigeprogramm dabei helfen, auch bei geringer Auflösung die Beine gleich breit erscheinen zu lassen. Wer sich an den blauen Linien stört, kann sie per »Hints | HStem löschen« und »Hints | VStem löschen« entfernen. Fontforge erzeugt sie beim Erstellen der Schriftdatei bei Bedarf erneut.
Damit ist das erste Zeichen fertiggestellt. Der Anwender schließt das Fenster und öffnet den Editor für den nächsten Slot – »uniE002« – per Doppelklick. Hier importiert er das Symbol für die Frau und wiederholt die beschriebenen Arbeitsschritte. Als Breite kommt nun 450 zur Verwendung, da das Bildzeichen wegen des Rocks etwas ausladender ist.
Kinder kriegen
Die Bildzeichen für die Kinder lassen sich nun derart erzeugen, dass sie eine Referenz auf die Bildzeichen der Eltern enthalten und lediglich die Größe ändern. Das spart Speicherplatz und nachträgliche Änderungen an den Eltern-Zeichen wirken sich automatisch auch auf die Kinder aus. Dazu wählt der Benutzer im Hauptfenster das Symbol des Mannes aus, führt »Bearbeiten | Referenz kopieren« aus, wählt dann den Slot »uniE003« und erzeugt die Referenz mit »Bearbeiten | Einfügen«. Im Bildzeichen-Editor ist die Referenz etwas heller dargestellt und man kann keine einzelnen Knoten bearbeiten.
Allerdings lässt sich das Zeichen per »Element | Transformationen | Transformieren« skalieren. Als »Origin« (Ursprung) dient »Glyph Origin«, als Transformation »Scale uniformly« mit einem Wert von beispielsweise 85 Prozent. Der Punkt »Transform Width Too« zeigt in der verwendeten Fontforge-Version leider keine Wirkung, wenn der Anwender bezüglich des Ursprungs skaliert, also skaliert er die Zeichenbreite anschließend über »Metrik | Breite setzen« um den gleichen Faktor. Das Zeichen für das Mädchen in »uniE004« entsteht auf die gleiche Weise aus dem Zeichen in »uniE002«.
Umrissene Figuren
Zusätzlich zu den ausgefüllten Bildzeichen soll die Schrift noch Umriss-Varianten enthalten. Auch die erzeugt Fontforge. Im Hauptfenster kopiert der Benutzer das Bildzeichen »uniE001«, fügt es in den Slot »uniE005« ein und wählt im Menü »Element | Strich verbreitern«. Mit dieser Funktion sind neben einfachen Umrissen auch kalligraphisch wirkende Linien möglich, hier genügt aber die simple Variante per »Stroke«.
Da die Bildzeichen keine offenen Konturen haben, ist die Einstellung »Line Cap« irrelevant. Der »Line Join« kommt an allen scharfen Ecken zum Zug, etwa in der Achsel des Männleins oder an den Rockzipfeln der weiblichen Figur. In diesem Fall ist »Miter« eine gute Wahl. Mit der »Stroke Width« spielt man ein wenig, 20 scheint erfahrungsgemäß ein guter Wert zu sein.
Das umrissene Zeichen für die Frau in »uniE006« entsteht auf gleiche Weise. Bei den Kindern ist zu beachten, dass sich aus einer Referenz kein Umriss machen lässt. Daher ist diese nach dem Kopieren noch über »Bearbeiten | Referenz Lösen« in eine normale Kopie zu verwandeln. Theoretisch ließen sich die kleinen Umriss-Bildzeichen auch als verkleinerte Referenz auf die großen erstellen, aber dann würde auch die Linienbreite dünner werden, was nicht erwünscht ist. Das Ergebnis der Mühe ist in Abbildung 5 zu sehen.
Neben dem praktischen Probleme-finden-Werkzeug bietet Fontforge auch noch einen Menüpunkt »Element | Validation | Validate« an. Dieser stellt beispielsweise fest, dass die vier Umriss-Bildzeichen nun Kontrollpunkte mit nicht ganzzahligen Koordinaten besitzen. Daher sollte der Benutzer diese vier Umriss-Bildzeichen markieren und im Kontextmenü »auf Integer« auswählen
Auch überlappen sich die Linien des Kopfes und des Körpers. Dies behebt der Punkt »Element | Überlagerungen | Überlagerungen entfernen«. Wer keine Postscript-Schrift bastelt, darf die Meldungen »Glyph contains overlapped hint« sowie »Missing Blue Values entry« getrost ignorieren. Nun steht dem Exportieren der fertigen Schriftdatei nichts mehr im Wege. Im Dialog, der sich hinter »Datei | Fonts herstellen« auftut, wählt man »Truetype« als Schriftformat und speichert die Schrift in »ManPictogram.ttf«. Diese Datei ist nun eine vollwertige Symbolschrift. In das Verzeichnis »~/.fonts« kopiert, steht sie etwa in Open Office zur Verfügung. (Abbildung 6).
Ausblick
Fontforge ist ein sehr mächtiges Werkzeug. Das braucht den interessierten Schrift-Ersteller aber nicht abzuschrecken: Einfache Schriften sind schnell erzeugt. Eine vollständige Text-Schrift zu erschaffen ist dagegen deutlich aufwändiger und fordert einiges an typographischem Wissen: Neben den vielen Buchstaben und Zeichen, die gezeichnet werden wollen, muss sich der Designer Gedanken zu Kerning, Hinting und Ligaturen machen. Vermutlich will er auch dazu passende fette und kursive Schriftschnitte erstellen. Glücklicherweise finden sich auf der Fontforge-Homepage eine ausführliche Dokumentation sowie ein zugängliches Tutorial, Letzteres auch in deutscher Sprache. (mhu)
|
Infos |
|---|
|
[1] Kartensymbole beim National Park Service: [http://www.nps.gov/hfc/carto/map-symbols.htm] [2] Fontforge:[http://fontforge.sourceforge.net] [3] Christoph Schäfer, “Scriptorium”: Linux-Magazin 10/09, S. 102 |
|
Der Autor |
|---|
|
Joachim Breitner studiert Mathematik und Informatik an der Universität Karlsruhe. Er ist Debian-Entwickler und berät als Mitarbeiter der Itomig GmbH bei Linux-Migrationen. Wenn man ihn lässt, programmiert er am liebsten in Haskell. |







