blau.jpg

© photocase.de

Schöne Buchstaben

Schriften bearbeiten mit Fontforge

01.04.2005
Im Internet freie Schriften zu finden, ist kein Problem. Oft fehlen allerdings die deutschen Umlaute. Mit Fontforge bearbeiten Sie Schriftsätze und fügen die gewünschten Zeichen hinzu.

Eigene Schriften zu entwerfen, ist nicht gerade alltäglich, denn nur Spezialisten beherrschen diese Kunst wirklich. Kleine Veränderungen einzelner Zeichen oder die Erweiterung existierender Schriftsätze sind jedoch auch ohne tiefe Typografiekenntnisse möglich. Mit dem freien Programm Fontforge [1] steht angehenden Schriftendesignern ein mächtiges Werkzeug zur Verfügung.

Der Schriftexperte

Die Software beherrscht die gängigsten Schriftformate: TrueType, Postscript Type 1 bis 3, OpenType und einige andere. Sie alle beschreiben die Umrisse von Schriften als mathematische Kurven. Das bringt den Vorteil, dass solche Fonts ohne Qualitätsverlust vergrößert und verkleinert werden können. Tatsächlich bieten diese Schriftformate buchstäblich hunderte von Einstellmöglichkeiten, bis hin zur eingebauten Programmiersprache – dementsprechend komplex gibt sich Fontforge.

Jede Font-Datei ordnet einem Zeichen ein bestimmtes Schriftbild (Glyph) zu. Das Zeichen "A" kann je nach Font zum Beispiel oben dreieckig, rechteckig oder auch rund abgeschlossen sein. Grundsätzlich unterscheidet man bei Schriften zwei Klassen: mit so genannten Serifen und ohne. Damit sind die zumeist spitzen Schnörkel an den Enden eines Buchstabens gemeint (Abbildung 1). Der Legende nach haben die Römer bei Inschriften solche Kerben angebracht, um das Absplittern des Steins zu verhindern.

Abbildung 1: Die linke Schrift enthält Serifen, die rechte gilt als Sans Serif.

Serifenschriften kommen meist bei längeren Texten zum Einsatz, wie etwa in Büchern. Auch LinuxUser benutzt eine Serifenschrift, die Garamond. Bekanntestes Mitglied der Familie ist die Times – Word-Benutzern als Times New Roman bekannt.

Serifenlose Schriften wirken, sehr allgemein gesprochen, moderner – auf Kosten der Lesbarkeit. Die Kunst der Schriftdesigner hat aber auch Mischformen hervorgebracht, die modern wirken und gut lesbar sind.

Die zweite wichtige Unterscheidung bezieht sich auf die Zeichenbreite. In nichtproportionalen Schriften nehmen alle Zeichen dieselbe Breite ein, egal ob es sich um ein breites m oder ein schmales i handelt. Der freie Raum links und rechts vom sichtbaren Teil zählt typografisch zum Zeichen dazu. Solche Schriftarten werden vor allem am Bildschirm verwendet, vorzugsweise beim Programmieren. Die Listings in LinuxUser sind in serifenlosen Font gesetzt.

Bei proportionalen Schriften nimmt dagegen jedes Zeichen nur den Raum ein, den es auch braucht. Bei gedruckten Texten kommen praktisch ausschließlich solche Fonts zum Einsatz.

Aufs Aussehen kommt es an

Hochwertige Schriften legen nicht nur das Aussehen jedes einzelnen Zeichens fest, sondern verbessern auch das Erscheinungsbild für einzelne Zeichenpaare: folgt dem P ein o, rückt die Anzeigesoftware das o etwas näher an das P heran. Durch den freien Raum unter dem Bogen des P entstünde sonst der Eindruck eines zu großen Abstands. Folgt nach dem P zum Beispiel ein l, ist diese Korrektur nicht nötig. Font-Dateien legen für viele Buchstabenpaare solche Sonderregeln fest, das so genannte Kerning (Anpassung der Laufweite).

Letztlich entscheidet also der subjektive Eindruck darüber, was eine gute Schrift ausmacht, nicht der mathematische Abstand. So verhält es sich auch mit der Schriftgröße: Üblicherweise ist das o etwa drei Prozent größer als das i, denn das Auge würde das i kleiner wahrnehmen, wäre es genauso groß wie das o.

Das sind nur einige von vielen Regeln, die man beachten muss, um hochwertige Schriften zu entwerfen. In anderen Bereichen genügt es, seiner Fantasie freien Lauf zu lassen, zum Beispiel bei Schmuckschriften fürs Web. Obwohl es empfehlenswert ist, auf Papier zu entwerfen, geht es bei der konkreten Umsetzung nicht ohne Software-Unterstützung.

Eigene Umlaute

Der Befehl fontforge startet das Programm, das zuerst ein Dateiauswahlfenster zeigt. Dort beginnen Sie mit dem Button Neu die Arbeit an einem neuen Font oder wählen eine schon existierende Schriftendatei auf der Festplatte. Wollen Sie Systemschriften bearbeiten, sollten Sie diese vorher in Ihr Home-Verzeichnis kopieren.

Als Beispiel dient die von [2] heruntergeladene Schrift AcidBath. Nach dem Laden stellt Fontforge in einem Fenster die Zeichentabelle dar (Abbildung 2). Sie zeigt für jedes Zeichen den numerischen Code und, sofern Fontforge bekannt, ein Beispielzeichen. Darunter ist etwas größer das Schriftbild dieses Zeichens im jeweiligen Font zu sehen. Der Beispiel-Font enthält zwar die ASCII-Zeichen, aber keine Umlaute.

Abbildung 2: Fontforge zeigt die Zeichentabelle des geladenen Schriftsatzes. Tooltips zeigen für jedes Zeichen den Dezimal- und Hexadezimalcode, den Unicode-Codepoint das Zeichen und das Encoding.

Vom Schriftbild entsprechen die deutschen Umlaute (ä, ö, ü) den entsprechenden Vokalen (a, o, u) mit zwei Punkten darüber, die oft auch als eigenes Zeichen existieren. Prinzipiell gibt es zwei Möglichkeiten, wie ein Programm oder ein Drucker einen solchen Umlaut darstellt: aus den beiden Grundzeichen zusammengesetzt oder beide Anteile schon in einem Zeichen vereint (pre-composed). In vielen fremden Sprachen (zum Beispiel Arabisch) ist es praktisch unmöglich, alle Kombinationsmöglichkeiten schon abzudecken. Deshalb spielen Regeln zur Zusammensetzung dort eine größere Rolle. Im Deutschen bietet es sich an, die wenigen Zeichen in den Schriftsatz aufzunehmen und sie eventuell noch individuell zu gestalten.

Tabelle 1: Kodierung von Umlauten

Zeichen Hex-Code Dezimal Name
Ä 0x00C4 196 Adieresis
Ö 0x00D6 214 Odieresis
Ü 0x00DC 220 Udieresis
ä 0x00E4 228 adieresis
ö 0x00F6 246 odieresis
ü 0x00FC 252 udieresis
ß 0x00DF 223 germandbls

Kurven zeich(n)en

Ein Doppelklick auf ein Zeichen öffnet ein Fenster, das dessen exakten Umrisse zeigt, die Sie dort auch verändern können. Mit den verschiedenen Werkzeugen der Tool-Leiste setzen Sie Kontrollpunkte für die Kurven, aus denen sich eine geschlossene Umrisslinie zusammensetzt. Abbildung 3 erklärt kurz die Funktion der Werkzeuge.

Abbildung 3: Die Tool-Leiste von Fontforge bietete Werkzeuge zum Setzen von Kontrollpunkten.

Die verschiedenen Fontsysteme wie TrueType füllen per Default das Innere eines solchen Umrisses aus. Umschließt ein Umriss einen anderen, bestimmt die Richtung der Kurve, welcher Bereich auszufüllen ist. Außenlinien sollen stets im Uhrzeigersinn gezeichnet werden. Achten Sie also beim Zeichnen Ihrer Schrift auf die richtige Richtung. Mit dem Menüpunkt ElementeCorrect Direction überprüft Fontforge die Richtung und korrigiert sie gegebenenfalls. Direkt eben diesem Menüpunkt finden sich auch die beiden Schalter Clockwise (Uhrzeigersinn) und Counter Clockwise, die die Orientierung der Kurve festlegen. Um diese Funktionen zu nutzen, müssen die Kontrollpunkte der jeweiligen Kurve markiert (gelb) sein.

An den Kontrollpunkten befinden sich zwei Linien, die jeweils die Krümmung der Kurve nach einer Seite hin bestimmen. Je länger die Linie, desto weniger stark ist die Kurve gekrümmt. Eckpunkte legen fest, wo zwei Linien nicht abgerundet aufeinander treffen, an Tangentenpunkten stoßen ein Bogen und eine gerade Linie zusammen.

Den Grundbuchstaben des Umlauts kopieren Sie sich von seinem Gegenstück. Das geht sogar direkt in der Tabellensicht, über die rechte Maustaste. Nun stellt sich die Frage, welche Stelle der neue Umlaut in der Zeichentabelle einnehmen soll. Die Antwort darauf hängt vom verwendeten Zeichen-Encoding ab (siehe Kasten "Character-Encoding").

Character-Encoding

Das Zeichen- oder englisch Character-Encoding legt fest, wie einzelne Bytes in Dateien einem Zeichen zugeordnet werden. Ein bekanntes Beispiel ist der ASCII-Code. Hier steht eine Zahl (ein Byte-Wert) einfach für ein Zeichen, zum Beispiel 97 für das "a", 98 für das "b" und so fort. ASCII kennt keine Umlaute. Deshalb verwenden viele Linux-Computer hierzulande ISO 8859-1 [3], auch bekannt als Latin-1. Die Erweiterung ISO 8859-15 bringt noch das Euro-Zeichen hinzu. In Zukunft soll Unicode die Probleme mit verschiedenen Encodings lösen: Mehrere Bytes stehen für ein Zeichen, sodass sich damit die Zeichen aller Weltsprachen kodieren lassen [4].

In Unicode/UTF-8 und ISO8859-1/Latin-1 besitzen die deutschen Umlaute praktischerweise die gleichen Codewerte (siehe Tabelle 1). Das große Ä zum Beispiel rangiert unter dem Hexadezimal-Code 0x00C4. Den kopierten Buchstaben A fügen Sie mit der rechten Maustaste ins Feld mit dieser Nummer ein. Alternativ springen Sie an diese Stelle, indem Sie den Menüpunkt AnsichtGoto wählen und dann den Namen des Zeichens eingeben, im Beispiel Adieresis.

Ein Doppelklick auf dieses Feld öffnet wieder den Glyph-Editor, in dem Sie nun über das A die beiden Punkte für die Umlaute zeichnen, was nur wenige Kontrollpunkte erfordert. Stellen Sie sich eine Uhr mit Ziffernblatt vor und setzen Sie im Uhrzeigersinn, bei 12 beginnend, Kontrollpunkte bei 3, 6, und 9 Uhr. Wenn Sie nun den Mauszeiger wieder zur 12 bewegen und klicken, schließt Fontforge die Umrisslinie. Mit den Krümmungslinien stellen Sie ein, wie stark sich die Kurve biegt. Sind Sie mit dem Ergebnis zufrieden, kopieren Sie den ersten Punkt einfach und schieben ihn an die richtige Stelle. Damit beide Punkte symmetrisch sind, spiegeln Sie den zweiten Punkt mit dem entsprechenden Werkzeug (Abbildung 4).

Abbildung 4: Altes A und zwei Punkte: fertig ist der Ä-Umlaut.

Haben Sie alle Umlaute so erzeugt, speichern Sie den Font ab. Um ihn in allen Anwendungen zu verwenden, müssen Sie ihn allerdings noch an die richtige Stelle bewegen und einen Befehl ausführen. Wie das geht, erfahren Sie in den Artikeln zu Fonts unter KDE und Gnome in diesem Heft.

Zeichen optimieren

Der Beispielfont veranschaulicht eines von vielen möglichen Problemen beim Schriftdesign: Er verwendet zu viele Kontrollpunkte für die Kontur. Allgemein sollte man eher wenige Punkte setzen, da sich durch die mathematischen Kurven auch komplizierte Verläufe einfach festlegen lassen.

Fontforge hilft auch in diesem Fall, indem es einen Umriss analysiert und überflüssige Punkte entfernt. Das passende Menü findet sich unter ElementSimplify. Wenn Sie die ersten Option Simplify wählen, reduziert Fontforge die Anzahl der Punkte erheblich (Abbildung 5).

Abbildung 5: Zuviele Kontrollpunkte verderben die Schrift (links). Fontforge reduziert ihre Anzahl auf das Nötige und vereinfacht damit die Zeichen (rechts).

Gefallen Ihnen die einzelnen Zeichen, können Sie je nach Anspruch noch das Kerning einstellen, um damit das Aussehen bestimmter Zeichenpaare zu verbessern. Dazu markieren Sie in der Tabelle mit Mausklick und Umschalt-Taste die beiden Zeichen und öffnen über das Menü DateiMetrics Window das passende Fenster (Abbildung 6).

Abbildung 6: Das Metrics-Fenster zur Anpassung der Laufweite (Kerning).

Das rechte Zeichen des Paars verschieben Sie durch Anklicken innerhalb seines eigenen Rasters. Der Menüpunkt MetricsCenter in Width zentriert das sichtbare Zeichen innerhalb der zur Verfügung stehenden Breite. Mit der grünen Linie passen Sie die Laufweite des Zeichens (Kern) an. Sind Sie mit dem Ergebnis zufrieden, schließen Sie das Fenster wieder.

Manuelle Anpassungen erfordern Schriften normalerweise, damit Sie auch stark verkleinert ansprechend aussehen. Dem Gesagten zum Trotz löst nämlich auch die Repräsentation der Fonts als mathematische Kurven nicht alle optischen Probleme: die verkleinerten Zeichen sind zwar theoretisch korrekt verkleinert, erscheinen aber hässlich und unausgewogen.

Um die Gestalt eines Zeichens zu erhalten, ist es oft besser, seine Bestandteile ungleichmäßig zu verkleinern, also zum Beispiel dickere größere Elemente mehr als kleine dünne. Für solche Fälle kennen die Font-Formate so genannte Hints (Hinweise), die dem Font-Renderer spezielle Anweisungen zur Verkleinerung geben, die von der Regel abweichen. Fontforge unterstützt den Schriftenautor durch eine Autohinting-Funktion (HintsAutoHint), die zwar nicht in allen Fällen fehlerfrei funktioniert, aber einiges an Handarbeit abnimmt. Bleibt nur noch, die generierten Hints zu überprüfen und an einigen Stellen von Hand nachzubessern. Die Fontforge-Dokumentation gibt einige Tipps [5] zu diesem komplexen Gebiet.

Für alle Schriftwünsche

Existierende Schriften zu verändern oder sogar eigene zu entwerfen, ist mit Fontforge kein Problem: Sein Funktionsumfang ist immens. Leider erscheinen durch die halbfertige Lokalisierung viele Menüpunkte in einem Gemisch aus Deutsch und Englisch. Davon abgesehen ermöglicht Fontforge selbst Einsteigern die Gestaltung individueller und interessanter Schriften.

Profis können mit Fontforge durchaus qualitativ hochwertige Schriften erzeugen, auch wenn es zum Beispiel das TrueType-Hinting nicht perfekt beherrscht. Das nötige, tiefgehende Wissen über Schriftgestaltung sowie die technischen Details von Fonts kann einem die Software jedoch nicht vermitteln. Die Link-Sammlung [6] leistet hier Starthilfe.

Infos

[1] Fontforge: http://fontforge.sourceforge.net

[2] Freie Fonts: http://www.acidfonts.com

[3] The ISO 8859 Alphabet Soup: http://czyborra.com/charsets/iso8859.html

[4] In fremden Zungen, Einführung in Unicode, Linux-Magazin 10/04, S. 118

[5] Truetype-Hinting: http://fontforge.sourceforge.net/ttinstrs.html

[6] Gute Sammlung von Typographie-Links: http://cgm.cs.mcgill.ca/~luc/fonts.html

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

Kommentare