Zuordnung: Code zu Schriftzeichen

TTF-Schriften verwenden Unicode, um Buchstaben zu identifizieren. Die Zuordnung zwischen Unicodewert und Zeichen muss nicht vollständig sein und ist es auch nur in den seltensten Fällen. Als Ersatz wird ein rechteckiger Kasten zurückgeliefert. Liegt die anzuzeigende Zeichenkette nicht in Unicode vor, sondern etwa in UTF-8, ist eine Konvertierung erforderlich.

Analyse der Zeichen durch Freetype2

Freetype2 übernimmt nach dem Laden des Zeichens die Darstellung in der geforderten Auflösung. Hierzu bekommt Freetype2 für jedes Zeichen ein leeres Bitmap, das es so befüllt, wie es für die Darstellung des Schriftzeichens notwendig ist. Freetype2 kann bei diesem Schritt mittels Anti-Alias Kanten glätten und Texte so sehr sauber und gut lesbar darstellen. Zudem besteht die Möglichkeit, Kerning zu benutzen, was die Geschlossenheit der Schrift durch sinnvolles Ineinanderschieben von Buchstaben erhöht. Auch das Drehen von Texten ist möglich, auf ein zehntel Grad genau.

Darstellung der Zeichen durch GUI-Framework

Das GUI-Framework enthält die Programmschleife über die darzustellenden Schriftzeichen in der Zeichenkette. Es ist für die Umwandlung in Unicode und die entsprechenden Aufrufe an Freetype2 für jeden einzelnen Buchstaben verantwortlich. Freetype2 berechnet für jedes Schriftzeichen ein Bitmap, das das GUI-Framework anzeigt: In seiner Verantwortung liegt es, das Schriftzeichen korrekt zu positionieren. Je nach Laufrichtung der Schrift muss das GUI-Framework die entsprechende Progression vornehmen, also bei vielen Sprachen jedes Zeichen rechts seines Vorgängers anordnen. Bei Sprachen mit entgegengesetzter Schreibrichtung wie etwa Arabisch und Hebräisch ist es umgekehrt. Die Reihenfolge der Zeichen in der Zeichenkette ist jedoch für alle Sprachen gleich. Auch bei Heb­räisch und Arabisch hat der erste Buchstabe die niedrigste Adresse in der Zeichenkette. Für Kerning muss die Progression gelegentlich reduziert werden. Benachbarte Buchstaben werden dann ineinander geschoben. Freetype2 kann diese Minderung der Progression aus den beiden benachbarten Buchstaben berechnen. Die Berechnung eines Schriftzeichens aus Vektoren ist sehr aufwendig. Freetype2 bringt daher einen Cache mit, in dem alle berechneten Schriftzeichen gespeichert werden.

Seiten: 1 2 3