Schriftformate

Das TrueType Format – 1. Teil

von Christoph Müller, Publishing Tools Support


Auch heute noch sträuben sich jedem Anwender die Haare, der sich in einem Betrieb mit der Belichtung von Kundendaten beschäftigt, wenn er Dokumente bekommt in denen TrueType Schriften verwendet worden sind. Wenn man nachfragt, heisst es: ein schlechtes Format, Probleme beim Belichten usw.. Das ist auf jeden Fall richtig, allerdings weisen diese Aussagen vom Problem ab. Denn, nicht TrueType Schriften sind schlecht, sondern PostScript-Interpreter können mit diesem Format nicht besonders umgehen. Meist ist aber nicht das Format das Problem, sondern das Schriftfile selber. Warum das so ist und was TrueType kann, sollte dieser Artikel aufzeigen. Er soll aber auch zeigen, dass die Probleme welche wir mit diesem Format haben, nicht nur technischer Natur sind, sondern entstanden sind, weil Softwaregiganten sich um Vormachtstellungen und Lizenzen mehr Sorge machten und machen, als um die Benutzerfreundlichkeit.

 

Kapitel:
1. Die Entwicklung, 2. Aufbau und Logik hinter TrueType, 3. Das Koordinatensystem,
4. Die «font engine», oder die Darstellung von TrueType Schriften, 5. Weitere Infos zu TrueType Schriften:

1. Die Entwicklung


In den 80er Jahren war es allen grossen Betriebssystem-Herstellern bewusst, dass eine skalierbare Schriftentechnologie ein wichtiger Bestandteil der zukünftigen Betriebssysteme werden wird. Den bisher benutzte man ausschließlich Bitmap Schriften. Diese waren in allen Zwischengrössen auf dem Bildschirm gepixelt. Wer keinen PostScript fähigen Drucker besass, musste auch beim Ausdruck mit Pixeln leben.

Adobe probierte Apple und Microsoft zu überzeugen, dass sie PostScript dazu benutzen sollten, die Schriften am Bildschirm darzustellen. Diese Lösung (heute unter dem Namen: Display PostScript bekannt), hatte die richtigen Funktionen, um einwandfreie Resultate zu erreichen. Beide Firmen waren aber nicht bereit, für ein solch wichtiges Elemente in ihren Betriebssystemen, bei einer dritten Firma Lizenzen zu erwerben. Nur NeXT lizenzierte später das Display PostScript für ihr Betriebssystem NeXT Step.

Apple und Microsoft unterschrieben einen Entwicklungsvertrag, und entwickelten zusammen eine Lösung, die beiden Firmen zugute kommen sollte. Microsoft wollte eine PostScript ähnliche Grafikkern für ihr System (TrueImage), während Apple ein Schriftsystem entwickeln wollte, welches besser war als das von Adobe.

Aus dieser Zusammenarbeit entstand erst 1989 TrueType. Aus TrueImage wurde nichts. Es war fehlerhaft und instabil. Apple entwickelte aus diesen Erfahrungen heraus ein bisschen später ein System das wunderbar mit Grafik und Typografie zusammenarbeitete: QuickDraw GX. Aber in Entwicklerkreisen wurde diese Technologie nicht aufgenommen und die hervorragenden Funktionen von QuickDraw GX wurden nicht genutzt.

Adobe nahm die Entwicklung von TrueType sehr ernst. Adobe reagierte auf zwei Arten als sie merkten, dass man ihr Schriftformat nicht mehr benötigen wird. Mitte 1989 kündigte Adobe ein Programm an, das zu diesem Zeitpunkt noch nicht entwickelt war. Den "Adobe Type Manager". Ein Jahr später konnte man ATM kaufen und Adobe Type 1 Schriften auf dem Macintosh darstellen ohne Hilfe von Apple. ATM wurde sehr billig verkauft und war mit vielen Adobe Softwarepaketen gebündelt.

Der zweite Angriff erfolgte auf einer aus heutiger Sicht sehr modernen Art. Adobe gab die Spezifikationen für Type 1 Schriften frei. Früher musste man Adobe bezahlen, wenn man Type 1 Schriften herstellen wollte. Denn die Schriftdaten waren verschlüsselt und es war nicht möglich Kontrollpunkte zu erhalten, ausser tief in der PostScript Engine von Adobe.

Allerdings wurde Adobe dazu genötigt seine Spezifikationen freizugeben. Erstens waren die TrueType Spezifikationen von Anfang an öffentlich. Zweitens hatte Bitstream das Type 1 Format geknackt und streute hunderte von Type 1 Schriften auf den Markt. Sowie einen Clone von ATM, namens "FaceLift".

Im August 1989 war die Entwicklung des Formates TrueType fast fertiggestellt. Apple und Microsoft kündigten ihre strategische Allianz gegen Adobe an. In dieser Allianz wird Apple das Schriftsystem entwickeln und Microsoft die "Printing engine". Apple setzte das Format TrueType im März 1991 das erste mal ein. Es war ein 80K grosse Erweiterung für das MacOS 6.0. Microsoft setzte das TrueType Format ab Windows 3.1 ein. Eine der ersten Schriften war die "Arial" und die "Courier"

Aber wie bei allen Entwicklungen gab es auch hier nicht nur strategische Probleme, sondern auch technische Hürden zu überwinden. Windows 3.1 lief per Definition auch auf 16-bit Prozessoren. Die Windows Version des TrueType Systems musste also, im Gegensatz zur Grundentwicklung von 32-bit, auf 16-bit neu implementiert werden. So entstanden Probleme mit der Geschwindigkeit der Darstellung sowie Speicherzuweisungen. Mit komplizierten Schriften wurde meistens die Darstellung ungenau. Komplizierte Zeichen veranlassen, dass die ganze Schrift nicht dargestellt wurde, oder sie wurden dargestellt aber nicht gedruckt.

Auch für die Schriftentwickler wurde die Sache nicht einfacher. Komplizierte Beschreibungen der Kurven mussten vereinfacht werden um nicht an der 16-bit Hürde zu scheitern. Dies führte dazu, dass Schriften auf dem MacOS funktionierten, auf Windows aber nicht. Leider führte das wiederum dazu, dass viele Schriftenhersteller ihre Schriften nicht im TrueType Format veröffentlichten. So entstand ein Markt für TrueType Schriften welche aber keiner bedienen wollte. Als Folge kamen billige Kopien von Schriften auf den Markt, welche schnell gescannt oder konvertiert worden waren. Viele dieser Schriften waren fehlerhaft, von schlechter Qualität, schlechten Outlines und unbrauchbaren Hint's. (Hints sind Algorithmen welche helfen die Schrift bei niedriger Auflösung (72-600 dpi) schöner darzustellen.) Dies führte dann dazu, das TrueType einen schlechten Ruf bei professionellen Anwendern bekam.

Im August 1995, mit dem Verkauf von Windows 95, hatte Microsoft nun auch eine 32-bit TrueType engine auf dem Markt. Mit vielen gratis Schriften auf der Microsoft Webseite, probiert Microsoft das TrueType Format zu rehabilitieren.

Im Oktober 1997 veröffentliche Adobe eine Serie TrueType Schriften aus ihrer originalen Adobe Kollektion. Die Hints wurden manuell überarbeitet und bieten eine vorzügliche Qualität. Auch gelangte Adobe zur Einsicht, dass für das Gestalten von Webseiten die Type 1 Technologie nicht geeignet ist. Es kam zu einer Zusammenarbeit mit Microsoft, die sich "OpenType" nennt. Im Grundsatz geht es darum Schriften in die Webseite einzubetten und im Browser darzustellen. Die 12 Schriften welche Adobe dazu konvertierte werden gratis mit dem Internet Explorer mitgeliefert. Es sind dies: Minion, Myriad, Caflisch Script, Mezz, Penumbra, Giddyup und Variationen von Giddyup.

2. Aufbau und Logik hinter TrueType


Das TrueType Format ist unter Windows und MacOS, abgesehen vom Dateiformat, genau das selbe. Zur Beschreibung der Erscheinungsform des Zeichens, dem sogenannten "Glyph", wird eine Sequenz von Punkten auf einem Raster verwendet. Diese Punkte werden durch "on-curve" und "off-curve" unterschieden. Zwei "on-curve" Punkte beschreiben eine Gerade (P0 und P2). Ein dritter Punkt, ausserhalb der Linie, ein "off-curve" Punkt (P1) macht es möglich eine parabolische Kurve zu definieren. Kurven dieser Art sind auch als quadratische Bezier Kurven bekannt. Werden nun diese Punkte innerhalb des Raster bewegt, kann man das Aussehen der Kurve verändern.

Abbildung 1: Quadratische Kurve definiert von drei Kontrollpunkten

Wenn man nun Kurven und Geraden kombiniert, ist es möglich komplexe Glyphes zu bilden. In Abbildung 2 sind die "on-curve" Punkte schwarz und die "off-curve" weiss markiert.

Abbildung 2: A Glyphe Outline mit on-curve und off-curve Punkten.

In relativ einfache Konturen wie in Abbildung 2, definiert die Sequenz der Punkte eine geschlossene Form, die Kontur. Bei komplexeren Glyphes, wie in Abbildung 3, sind schon drei Formen, welche eine Kontur bilden.

Abbildung 3: Glyph Outline mit drei Konturen.

Um eine Kontur wie in Abbildung 3 zu beschreiben muss man weitere Regeln beachten. Zuerst müssen alle Konturen geschlossen sein. Die Punkte der ersten Kontur müssen aufsteigend nummeriert werden, beginnend mit 0 (Null). Weitere Punkte in neuen Konturen beginnen mit der nächsten freien Nummer. Die Art in der die Punkte numeriert werden ist sehr wichtig. Denn sie bestimmt in welcher Richtung die Kontur verläuft. Die Richtung einer Kontur verläuft immer von ihrer kleinsten Nummer zu der Grössten. Die Richtung einer Kontur wird gebraucht um zu definieren welche Konturen gefüllt (schwarz) und welche (weiss) sind.

3. Das Koordinatensystem


Die Punkte welche einen Glyph definieren sind auf einem Koordinatensystem, dem "Master Grid" spezifiziert. Die Einheiten werden "Font-units" genannt. Die "Font-units" stehen in einem Verhältniss zur Kegelhöhe des Zeichens. Wie in alten Zeiten "em-square" genannt. Es ist die Grösse der Schrift-Einheit, relativ zu dem em-square. welches die Auflösung des Koordinatensystems definiert. In anderen Worten: Die Auflösung des Koordinatensystems ist die Funktion der Anzahl "Font-units" pro "em-square".
Je höher die Anzahl der "Font-units" pro "em-square", desto feiner kann ein Glyph sein. Die maximale Auflösung möchte man gerne haben um auf einem Filmbelichter ein Zeichen auszugeben. Dabei sollte man beachten, dass das Skalieren von Outlines am schnellsten ist wenn man die "Font-units" pro "em-square" immer in einer zweier Potenz behält. Die Apple Schriften sind immer in einem System mit 2048 "Font-units" pro "em-square" definiert.

Abbildung 4 zeigt zwei verschiedene Koordinatensysteme. Das Koordinatensystem auf der linken Seite kann die Feinheiten des Buchstaben "A" nicht wiedergeben. Das Koordinatensystem auf der rechten Seite mit einem vier mal feineren Koordinatensystem (vier mal Anzahl "Font-units" pro "em-square"), kommt dem Original schon näher.

4. Die «font engine», oder die Darstellung von TrueType Schriften


Um ein Glyph darzustellen, also ihn für das Ausgabegerät zu rastern, sind mehrere Schritte notwendig.
1. Die "Master Outline" Beschreibung (Abbildung 5-1) des Glyphs wird zu der gewünschten Grösse skaliert (Abbildung 5-2)

Abbildung 5-1.

Abbildung 5-2.

2. Die skalierte Outline (Abbildung 5-2), wird auf dem Koordinatensystem mit seinen zugewiesenen Instruktionen und Beachtung des Auflösungsvermögens des Ausgabegerätes, platziert (Abbildung 5-3).
Abbildung 5-3.

Abbildung 5-3.

3. Der sogenannte "grid-fitted outline" wird anschliessend vom "Scan-Converter" zu einem "Bitmap" konvertiert, das für die Darstellung auf dem Ausgabemedium geeignet ist (Abbildung 5-4)

Abbildung 5-4.

Beim Rastern können sich mit der Auflösung Probleme ergeben. Wenn etwa die Auflösung des Ausgabegerätes zu niedrig ist, wie bei einem Bildschirm, stehen zuwenig Pixel zur Verfügung um den Buchstaben richtig darzustellen. Oder bei kleinen Schriften lassen sich Schriftdetails nicht richtig wiedergeben, da nicht alle Punkte gesetzt werden können. Deshalb werden in TrueType Schriften "Instructions" eingebaut. Die Instructions funktionieren wie abhängige Programme innerhalb der Schrift. Sie legen fest sich wie bei kritischen Momenten einzelne Glyphs oder die ganze Schrift zu verhalten hat. Dies wird auch "Hinting" genannt. Ziel ist es, in allen Varianten immer die beste Ausgabequalität zu erhalten.

5. Weitere Infos zu TrueType Schriften:


http://www.truetype.demon.co.uk/
http://fonts.apple.com/
http://developer.apple.com/technotes/

Brauchen Sie mehr Informationen über alles, was zum Thema Schriftformate gehört? Haben Sie Fragen, oder Bemerkungen? Kontaktieren Sie mich per e-mail. Schreiben Sie an chm@pts.ch

21.06.2000 Christoph Müller, Publishing Tools Support

E-mail an MediaforumInfo-Servicenach obenHome Zurück zur Übersicht
Mediaforum, Merkurstrasse 31, 8032 Zürich, Telefon 044/451 19 03, Fax 044/451 19 15