--- DE-TeX-FAQ Beginn Teil 9 ---



   Fragen und Antworten (FAQ) über das Textsatzsystem TeX und DANTE,
             Deutschsprachige Anwendervereinigung TeX e.V.


            Bernd Raichle, Rolf Niepraschk und Thomas Hafner


                     Version 72 vom September 2003

------------------------------------------------------------------------


9 METAFONT und Schriften


9.1 METAFONT und METAFONT-Hilfsprogramme


9.1.1 Was ist ein Meta-Font?

Um die einzelnen Zeichen einer Schrift, eines Font, auf Papier zu
bringen, muß man wissen, an welchen Stellen das Papier mit Druckerfarbe
geschwärzt werden soll und an welchen nicht. Diese Information kann auf
verschiedene Arten repräsentiert werden: Die einfachste Form ist die
`Bitmap' bzw. `Pixelmap', d.h. jedes Zeichen wird gerastert und für
jeden einzelnen Punkt im Raster (= Pixel) wird abgespeichert, ob diese
Stelle geschwärzt werden soll. Eine Bitmap-Repräsentation hat jedoch den
Nachteil, daß man diese nicht ohne weiteres vergrößern, verkleinern oder
die Rasterung an eine andere Auflösung eines Ausgabegeräts anpassen
kann, da man in den meisten Fällen unerwünschte Seiteneffekte bekommt
(Stufen, Moiré-Effekte, dünnere Linien verschwinden bei Verkleinerung,
als regelmäßige oder unregelmäßige Muster sichtbare Rasterung u.ä.).
Man verwendet zur Beschreibung der Ausmaße und der Form eines Zeichens
daher besser eine rasterungs-, also auflösungsunabhängige
Repräsentation. Dazu gibt es nun mehrere Verfahren:
In METAFONT legt man Linienzüge durch Punkte und durch diese Punkte
festgelegte Spline-Kurven fest und zieht diese mit einem vorher
definierten `Pinsel' nach. Durch die Form und die Lage des verwendeten
Pinsels können mit denselben Kurven sehr unterschiedliche Zeichenformen
erzeugt werden. Nachdem das Zeichen aus einzelnen Kurvenzügen definiert
und mit unterschiedlichen Pinseln gezeichnet wurde, rastert METAFONT die
dadurch eingefärbten Flächenteile und erzeugt daraus einen Font in Form
einer Bitmap. Da METAFONT zur Programmierung einer solchen
Font-Beschreibung eine Programmiersprache definiert, kann ein
Font-Designer einer Font-Beschreibung beliebig viele Parameter mitgeben,
die die Form und Ausmaße der einzelnen Zeichen der erzeugten Schrift in
unterschiedlichen Richtungen verändern. Wegen dieser Möglichkeit, aus
einer einzigen Beschreibung durch Wahl verschiedener Parameter viele
verschiedene Schriften erzeugen zu können, nennt man diese
Font-Beschreibungen auch `Meta-Font'. Man kann also durch Wahl der in
einem Meta-Font definierten Parameter unterschiedliche Fonts in
verschiedenen Größen erzeugen. Durch Angabe der gewünschten Auflösung
und weiterer Parameter des Ausgabegeräts kann wiederum für einen solchen
Font eine optimal an das jeweilige Ausgabegerät angepaßte
Bitmap-Wiedergabe dieses Fonts erzeugt werden.
Neben dieser von METAFONT verwendeten Beschreibung eines Fonts in Form
von mit Pinseln gezeichneten Spline-Kurven kann man die Form eines
Zeichens auch durch die Angabe des Umrisses der zu schwärzenden Fläche
beschreiben. Auch hier werden wiederum Spline-Kurven zur Beschreibung
der Umrisse eines Zeichens verwendet. Diese Beschreibung in Form eines
sogenannten `Outline' wird beispielsweise in PostScript-Schriften
verwendet.

9.1.2 Was sind tfm-, pl-, gf-, pk-, pxl-Dateien?

Neben dem Aussehen der einzelnen Zeichen in einem Font werden noch
weitere Informationen über jedes einzelne Zeichen und über
schrift-globale Parameter benötigt: Von jedem Zeichen muß TeX die
Ausmaße in Form von Breite, Höhe und Tiefe in Bezug zur Grundlinie
wissen. Zu bildende Ligaturen (z.B. f+f => ff), das Kerning zwischen
zwei Zeichen (z.B. Unterschneidung bei `Ta') und beispielsweise der zu
verwendende Wortabstand sind weitere Informationen, die über einen Font
abgelegt sein müssen, da sie von TeX benötigt werden.
Diese Informationen liest TeX aus der `TeX Font Metric' oder kurz
tfm-Datei. Die Programme `pltotf' und `tftopl' wandeln die Informationen
in einer tfm-Datei in eine lesbare Form, die `Property List' oder kurz
pl-Datei um.
In den gf- (Generic Font), pxl- (Pixel) und pk- (Packed Pixel) Dateien
sind die Bitmap-Repräsentationen jedes Zeichens einer Schrift abgelegt.
Da pk- und pxl-Dateien genau dieselben Informationen enthalten, die
pxl-Dateien jedoch mehr Platz benötigen, werden diese heutzutage nicht
mehr verwendet und unterstützt. Mit den Programmen `gftopk' und `pktogf'
können die Bitmap-Repräsentationen ineinander umgewandelt werden. Da
gf-Dateien in der Lage sind, in einer Bitmap neben den einzelnen Pixeln
noch weitere Informationen zu enthalten (z.B. `special'-Anweisungen),
können bei dieser Umwandlung Informationen verloren gehen. Da jedoch nur
sehr wenige Programme und Gerätetreiber diese zusätzlichen Informationen
verwenden und die pk-Darstellung viel kompakter ist, sind gf-Dateien
normalerweise nur für METAFONT wichtig.
METAFONT erzeugt aus einer mf-Source eine tfm-Datei mit der
auflösungs_un_abhängigen `TeX Font Metric' und eine auflösungsabhängige
gf-Datei. Aus der gf-Datei wird üblicherweise mit `gftopk' eine pk-Datei
erzeugt.
TeX verwendet nur die Informationen in der tfm-Datei, die Bitmap in der
gf- bzw. der pk-Datei wird von TeX _nicht_ gelesen. Ein Gerätetreiber,
der eine dvi-Datei druckt oder darstellt, verwendet die pk-Dateien und
in einigen Fällen auch die tfm-Datei.

9.1.3 Was sind virtuelle Fonts, was vpl-, vf-Dateien?

Ein virtueller Font ist, wie der Name schon sagt, eine Schrift, die
keine real (in Form einer Bitmap) existierenden Zeichen enthält.
Stattdessen wird in einem virtuellen Font auf andere Schriften und die
dort enthaltene Zeichen verwiesen. Durch diesen `Trick' kann man
beispielsweise die Kodierung der Zeichen in einer Schrift umdefinieren
oder eine Schrift aus Zeichen mehrerer Schriften zusammensetzen, um so
z.B. einzelne Zeichen durch andere zu ersetzen. Darüber hinaus kann man
in virtuellen Fonts auch einzelne Zeichen aus mehreren Zeichen
zusammensetzen, indem man beispielsweise fertig akzentuierte Zeichen aus
dem entsprechenden Akzent- und Basiszeichen bildet. Eine weitere
Anwendung für virtuelle Fonts ist die Verwendung einer Ersatzschrift für
eine nicht verfügbare Schrift, die dieser möglichst nahekommt und
dieselben TeX-Font-Metric-Informationen besitzt.
Eine vf-Datei enthält die Definition eines solchen virtuellen Fonts in
binärer, sehr kompakter Form. Dieser vf-Datei muß eine tfm-Datei
zugeordnet sein, in der TeX die `TeX Font Metric' für diese Schrift
finden kann. Eine vpl-Datei ist eine für den Menschen lesbare
Darstellung der vf- und tfm-Datei in Form von `Property Lists'. Mit dem
Programm `vptovf' kann aus einer vpl-Datei eine vf- und die zugehörige
tfm-Datei erzeugt werden, mit `vftovp' bekommt man aus diesen beiden
Dateien wieder die vpl-Datei.
TeX `weiß' nichts von virtuellen Fonts. TeX liest keine vf-Dateien,
sondern benötigt nur die zugehörige tfm-Datei, aus der nicht ersichtlich
ist, ob dies ein `realer' oder ein virtueller Font ist. vf-Dateien
werden nur von den Gerätetreibern verwendet. Für Treiber, die (noch)
keine virtuellen Fonts unterstützen, kann das Programm `dvicopy'
verwendet werden, um eine dvi-Datei in eine dvi-Datei umzuwandeln, in
der alle virtuellen Fonts `aufgelöst' worden sind, also nur noch `reale'
Fonts verwendet werden. Achtung: Die meisten verfügbaren virtuellen
Fonts sind unabhängig vom Ausgabegerät, sie können jedoch auch abhängig
vom Ausgabegerät sein!

9.1.4 Was ist METAPOST?

METAPOST ist ein aus METAFONT abgeleitetes Programm zum Erstellen von
PostScript-Zeichnungen, das von John Hobby, einem ehemaligen Mitarbeiter
von Donald E. Knuth, entwickelt wurde. Die METAPOST-Sprache ist sehr eng
verwandt mit METAFONT, unterstützt aber einige zusätzliche Features, wie
beispielsweise das Beschriften von Abbildungen in TeX über einen
Präprozessor (dies setzt den dvi-Treiber `dvips' voraus).
Um eine Zeichnung zu erstellen, muss man ein METAPOST-Programm schreiben
und compilieren. Diese Arbeitsweise ähnelt METAFONT, ist somit eben ganz
anders als die sonst gewohnten Grafik-/Malprogramme. METAPOST ist dafür
aber gut für berechnete Zeichnungen geeignet oder zum Plotten von
Funktionen oder Datenwerten. Knuth benutzt es selbst für Zeichnungen in
seinen Büchern. Das Programm ist erst seit Anfang 1995 frei erhältlich,
vorher nur nach Abschluß eines `non-disclosure agreement'.
Implementierungen von METAPOST existieren mittlerweile für sehr viele
Plattformen:

* Web2c: CTAN: systems/web2c/
  Web2c enthält ab Version 7.0 METAPOST-Sources, wobei Web2c
  mittlerweile neben Unix auch Amiga, OS/2 und Windows 95/98/NT und BeOS
  unterstützt.
* teTeX: CTAN: systems/unix/teTeX/
  Ab teTeX Version 0.4 ist METAPOST enthalten.
* Amiga: CTAN: systems/amiga/amiweb2c/ (Andreas Scherer)
  Siehe auch Web2c.
* OS2: Siehe Web2c.
* Windows 95/NT: Siehe Web2c.
* DOS: CTAN: systems/msdos/metapost/ (Piet van Oostrum)
  paßt zu emTeX
  CTAN: systems/msdos/dostp22/ (Peter Breitenlohner)
  integriert in PubliC-(e-)TeX/MF/MP, TDS-kompatibel
* MacOS: CTAN: nonfree/systems/mac/cmactex/ (Tom Kiffe)

Seit März 2000 ist für METAPOST auch der graphische Editor `Metagraf'
öffentlich verfügbar, der gerade entwickelt wird. Er ist in Java
geschrieben und somit auf vielen Betriebssystem lauffähig.

METAPOST:        http://cm.bell-labs.com/who/hobby/MetaPost.html
                 CTAN: graphics/metapost/
Peter Wilson:
Some             CTAN: info/metafp.pdf
Experiences...: 
                 CTAN: info/metafp.ps
Hans Hagen:      http://www.pragma-ade.com/pragma-ade/general/manuals/beta/metafun-p.pdf
metafun: 
Denis Roegel:
The metaobj
tutorial and     http://www.loria.fr/~roegel/TeX/momanual.pdf
reference
manual: 
METAOBJ:         CTAN: graphics/metapost/contrib/macros/metaobj/
Metagraf:        http://w3.mecanica.upm.es/metapost/metagraf.html
 


9.1.5 Was ist MFT?

`mft' ist ein Programm, das aus METAFONT-Quellcode eine TeX-Datei
erzeugt, mit der dieser Quellcode schön formatiert erscheint. Damit es
wirklich schön aussieht, sind zusätzliche Kommentare im Quellcode
notwendig. Nur sehr wenige Autoren von METAFONT verwenden `mft'.

9.1.6 Beim Übersetzen einer mf-Datei erhalte ich immer eine gf-Datei mit
Endung `.2602gf' (bzw. `.260' bei Filesystemen, die nur drei Zeichen als
Datei-Extension zulassen). Wieso?

Zur Erzeugung einer Schrift für ein bestimmtes Ausgabegerät benötigt
METAFONT eine Beschreibung in Form einer `Mode Definition' (kurz:
`mode_def'), in der u.a. die Auflösung des Ausgabegeräts festgelegt
wird. METAFONT wird meist mit

  mf \mode:=<Mode-Name>; mag:=<Magnification>; input <Font-Filename>

aufgerufen (unter Unix Quote-Zeichen ' um die Argumente im
METAFONT-Aufruf nicht vergessen!), wobei mit <Mode-Name> der Namen einer
solchen `mode_def' anzugeben ist. Wird kein `mode' angegeben oder ist
<Mode-Name> unbekannt, verwendet METAFONT den Proof-Mode, der einen
Korrekturabzug der Schrift erstellt. Damit die Zeichen in diesem
Korrekturabzug groß genug sind, verwendet METAFONT dazu die Auflösung
2602dpi (= `dots per inch'). Falls dies nicht erwünscht war, sollte man
überprüfen, ob der `mode' korrekt gesetzt wurde, ob <Mode-Name>
beispielsweise korrekt angegeben wurde (Schreibfehler!) und ob
<Mode-Name> bei der Erstellung der base-Datei (`Dumpen' der Datei
``plain.mf'') mit `mode_def' definiert wurde.

9.1.7 Wozu benötige ich für jeden Druckertyp eine andere Anpassung in
Form einer `mode_def'? Wo finde ich für den Drucker XYZ eine solche
Anpassung?

Jedes Ausgabegerät hat unterschiedliche Charakteristiken. Zum einen
unterscheiden sie sich in der Auflösung, zum anderen beispielsweise auch
in der Größe eines gezeichneten Pixels. So wird bei einem
Tintenstrahldrucker im Vergleich zu einem Laserdrucker in den meisten
Fällen ein einzelner Punkt etwas größer ausfallen. Sehr große
Unterschiede treten prinzipbedingt beim Vergleich von sogenannten
`schwarz'- und `weiß'-schreibenden Laserdruckern auf. Auch wird beim
Schnitt zweier Kurven (z.B. in der Mitte des Zeichens `X') die
geschwärzte Fläche etwas größer ausfallen, da die Druckerfarbe abhängig
vom Druckprinzip und vom Druckwerk mehr oder weniger ineinander
verlaufen kann. Damit METAFONT all diese und weitere Eigenschaften eines
Ausgabegeräts bei der Erzeugung der Bitmap-Rasterung eines Zeichens in
Betracht ziehen kann, werden die einzelnen Parameterwerte für ein
Ausgabegerät in einer `Mode Definition' mit der Anweisung `mode_def'
abgelegt.
Da die Erstellung einer neuen `Mode Definition' für ein Ausgabegerät
einiges an Arbeit (Testdruck, überprüfen, anpassen, Testdruck usw.)
bedeutet, wurden von Karl Berry alle bisher für verschiedene
Ausgabegeräte gefundenen `Mode Definitions' in der Datei ``modes.mf''
gesammelt. Da ``modes.mf'' neben den `Mode Definitions' noch dafür
sorgt, daß man verschiedene Informationen (z.B. `coding scheme') über
einen Font setzen kann und diese korrekt abgelegt werden, ist diese
Datei jedem empfohlen.

modes.mf:  CTAN: fonts/modes/modes-3.5.mf
(Hinweis: Seit Februar 2002 gibt es die Version 3.5 mit
Voreinstellungen für neuere Drucker)
 


9.1.8 Kann ich aus einer vorhandenen tfm-Datei die mf-Source erzeugen?
Gibt es dafür ein Programm?

Nein. tfm-Dateien enthalten keine Bitmap- oder ähnliche Information über
das Aussehen der Zeichen in einer Schrift. Daher kann aus einem tfm-File
weder eine pk-Datei noch die mf-Source restauriert werden.
Es ist jedoch möglich, aus einer pk- und der tfm-Datei einer Schrift
eine mf-Source zu erstellen. Dabei ist das entstehende Resultat jedoch
kein _Meta_-Font mehr, sondern `nur' noch ein mf-Programm für genau
diese Schrift. Das Ergebnis ist je nach Aufwand mehr oder weniger gut
und verlangt in den meisten Fällen noch einiges an Handarbeit, so daß
sich der Aufwand nur in seltenen Fällen lohnt.

9.1.9 Wie kann ich nur die tfm-Dateien einer Schrift erzeugen?

In der Datei ``modes.mf'' ist dafür die Mode-Definition `nullmode'
gedacht, in der neben der tfm- zwar auch eine gf-Datei erzeugt wird,
jedoch in einer Auflösung von 101dpi, so daß dies schneller als mit
300dpi oder 600dpi geschieht.

9.2 Schriften - allgemein (*)


9.2.1 Gibt es eine Schrift XYZ? Wo finde ich diese?

Als erste Informationsquelle sollte man die Liste ``metafont-list'' der
verfügbaren METAFONT-Schriften nach der gesuchten Schrift durchsehen.
Diese Liste enthält eine kurze Beschreibung und Klassifikation der
meisten Schriften, die man auf CTAN im Verzeichnis ``CTAN: fonts/''
finden kann.
Beschränkt man sich nicht nur auf in METAFONT-Quellen vorhandene
Schriften, kann man auch Schriften in PostScript-Type-1- oder
Type-3-Form, PCL-Schriften u.a. auf verschiedenen ftp-Servern finden.
Existieren für diese Schriften Font-Metriken, die man in eine tfm-Datei
umwandeln kann, sind sie sehr einfach unter (La)TeX verwendbar (evtl.
nach Umkodierung mittels virtueller Fonts). Verschiedene Programme dafür
findet man auf CTAN im Verzeichnis ``CTAN: fonts/utilities/'', fertige
Anpassungen findet man für weitverbreitete Schriften ebenso unter
``CTAN: fonts/''.

metafont-list:    CTAN: info/metafont-list
Liste de fontes
au format MF sur  http://www.math.jussieu.fr/~zoonek/LaTeX/MF/liste.html
les archives
CTAN: 
Zeichensätze und  http://www.loria.fr/services/tex/german/fontes.html
Symbole: 
dpunkt-Verlag:    http://www.dpunkt.de/produkte/latex/fonts/
Adobe Type        http://www.adobe.com/type/
Library: 
symbols:          CTAN: info/symbols/
comprehensive:    CTAN: info/symbols/comprehensive/
Luc Devroye: Font http://cgm.cs.mcgill.ca/~luc/fonts.html
Pages: 
 


9.2.2 Wie installiere ich mit `dvips' eine neue PostScript-Schrift, so
daß ich diese unter (La)TeX verwenden kann?

Schritt 0 - Dokumentation lesen:
Zuerst sollte man sich die Dokumentation zum `dvips' durchlesen. Diese
beschreibt die wichtigsten Schritte, auch wenn die dort beschriebenen
Dateinamen und die Kodierungen für die PS-Schriften veraltet sind (gilt
zumindest für die Dokumentation bis `dvips' Version 5.58). Außerdem
sollte man `Filenames for TeX fonts' von Karl Berry in der Version 2.0
(oder neuer) durchlesen, in dem ein für alle TeX-Systeme verwendbares,
einheitliches Namensschema beschrieben wird.
Schritt 1 - TeX-Anpassungen besorgen oder selbst generieren:
Gibt es auf CTAN im `psfonts'-Verzeichnis bereits fertige Anpassungen?
Wenn ja, sollte man diese verwenden. Wenn nein, sollte man sich das Tool
`fontinst' besorgen, mit dem man relativ einfach aus der mit dem
PostScript-Font mitgelieferten afm-Datei die notwendigen virtuellen
Fonts (vf-Dateien) mit den entsprechenden Fontkodierungen und
Font-Definitions-(fd)-Dateien für LaTeX erzeugen lassen kann. Für
Textschriften sollten zumindest vf-Dateien für OT1-Kodierung, besser
auch noch für T1-Kodierung erzeugt werden.
Schritt 2 - PS- und TeX-Font-Dateien installieren:
Nach Schritt 1 sollten beispielsweise für die Schrift `URW Antiqua
Regular Roman Condensed' bzw. nach Berrys Namenschema `uaqr...c...'
folgende Dateien vorhanden sein:

* PS-Schrift und zugehörige Font-Metrik: uaqr8ac.{pfb,afm}
* virtueller Font, zugehörige TeX-Font-Metriken und PS-Reencoding:
  uaqr8rc.{vpl,vf,tfm} TeX Base-1 Encoding (unkodiert,
  Adobe-Std.-Encoding)
  uaqr7tc.{vpl,vf,tfm} TeX-Text-/OT1-/CM-Encoding (`7-bit')
  uaqr8tc.{vpl,vf,tfm} Cork-TeX-Text-/T1-/EC-Encoding (`8-bit')
  8r.enc PS-Reencoding, in `fontname' enthalten
* LaTeX-Font-Definition-Files:
  ot1uaq.fd (vormals: OT1uaq.fd)
  t1uaq.fd (vormals: T1uaq.fd)
  ts1uaq.fd
  antiqua.sty

und noch einige weitere Dateien für die `slanted'- und `small
caps'-Varianten, die man mit `fontinst' erzeugen kann.
Diese Dateien werden nun in folgende Verzeichnisse gelegt:
                    *.fd, *.sty => TEXINPUTS (TeX)
           *.tfm => TEXFONTS bzw. `T'-Eintrag (TeX + dvips)
               *.vf => `V'-Eintrag oder VFFONTS (dvips)
           *.pfb/pfa => `H'-Eintrag oder DVIPSHEADERS (dvips)
Schritt 3 - Map-Datei des PS-Fonts für `dvips' erzeugen:
Map-Datei für `dvips' erzeugen, in der die Zuordnung des Font-Namens in
TeX zu dem in PS verwendeten festgelegt wird und evtl. die zu ladenden
pfb-/pfa- und PS-Reencoding-Dateien angegeben werden. In unserem
Beispiel enthält die Map-Datei `uaq.map' die Zeile

  uaqr8rc URWAntiquaT-RegularCondensed "TeXBase1Encoding ReEncodeFont"
          <8r.enc <uaqr8ac.pfb

(dies muß eine einzige Zeile sein, sie wurde hier nur umbrochen, um eine
zu lange Zeile zu vermeiden!) und evtl. noch Zeilen für weitere
Schriften und Varianten.
Diese Map-Datei in ein Verzeichnis legen, in dem `dvips' nach
PS-Header-Dateien sucht (Umgebungsvariable DVIPSHEADERS bzw. `H'-Eintrag
in ``config.ps'').
Schritt 4 - `dvips'-Konfigurationsdatei anpassen:
Konfigurationsdatei ``config.ps'' des `dvips' ändern: Die in Schritt 3
erstellte Map-Datei durch die in ``config.ps'' neu einzutragende Zeile

  p +uaq.map

zusätzlich zur Standard-Map-Datei ``psfonts.map'' laden. (Ältere
`dvips'-Versionen verstehen das `+' nicht; bei diesen muß man den Inhalt
der Map-Datei ``uaq.map'' an die Datei ``psfonts.map'' anhängen und die
obige Zeile in ``config.ps'' ist wegzulassen.) Außerdem sollte man noch
überprüfen, ob das Verzeichnis, in dem die Map-Datei und die
pfb-/pfa-Dateien zu finden sind, im Suchpfad nach PS-Header-Dateien
enthalten ist (DVIPSHEADERS bzw. `H'-Eintrag in ``config.ps'').
Schritt 5 - Anpassungen testen und verwenden:
Mit LaTeX kann man unsere Beispielschrift einfach mittels des Pakets
`antiqua' verwenden, da diese Schrift damit als `\rmdefault'-Schrift
verwendet wird. Ohne dieses Package kann man auch durch die Anweisung
`\usefont'{OT1}{uaq}{m}{n} diese Schrift kurz austesten. LaTeX müßte
dazu die fd- und tfm-Dateien finden und einlesen können. `dvips' benutzt
dann die angepaßte Konfigurationsdatei, die virtuellen Schriften
``uaqr*.vf'', die Map-Datei ``uaq.map'', die eigentliche PS-Schrift
``uaqr8ac.pfb'' und schließlich noch ``8r.enc''.
Für die PostScript-Schriften, die standardmäßig mit den meisten
PostScript-fähigen Druckern mitgeliefert werden, als auch für einige
freie Schriften und die Lucida-Schriftfamilie existiert in Form von
`psnfss' eine Menge von LaTeX-Paketen.
Unter Plain-TeX kann man diese Schrift relativ einfach z.B. durch die
Anweisung \font\rmantiqua=uaqr7tc laden und anschließend verwenden. Zur
Verwendung der T1-kodierten Variante ``uaqr8tc'' sind, wie bei der
Verwendung der EC-Schriften unter Plain-TeX, noch einige Anpassungen
notwendig.
Unter LaTeX 2.09 gilt dasselbe wie für Plain-TeX, nur sollte man hier
besser \newfont{\rmantiqua}{uaqr7tc} verwenden. Will man diese Schrift
und deren Varianten statt den CM-Schriften in einem Dokument verwenden,
so sind größere Änderungen notwendig, die den Rahmen dieser FAQ sprengen
würden. Am einfachsten ist ein Umstieg auf eine aktuelle LaTeX-Version!

dvips.tex:       CTAN: dviware/dvips/
fontname:        CTAN: info/fontname/
8r.enc:          CTAN: info/fontname/8r.enc
psfonts:         CTAN: fonts/psfonts/
                 CTAN: fonts/psfonts/urw/antiqua/
                 (unsere Beispielschrift)
fontinst:        CTAN: fonts/utilities/fontinst/
                 http://www.tug.org/applications/fontinst/
psnfss:          CTAN: macros/latex/required/psnfss
                 CTAN: info/installing_psnfss_on_emtex.pdf
PostScript Type
1 fonts (Nelson  http://www.math.utah.edu/~beebe/fonts/postscript-type-1-fonts.html
Beebe): 
Walter Schmidt:
Schriften für    http://home.vr-web.de/was/fonts.html
TeX: 
Tobias
Regenbrecht:
Integration von  http://www.regenbrecht.net/psfonts/psfonts_tetex.html
PostScript-Fonts
in LaTeX2e: 
 


9.2.3 Warum sind die Buchstaben in meiner pdf-Datei von schlechter
Qualität? (*)

Schriften in pdf-Dateien werden mit schlechter Qualität dargestellt (und
evtl. auch gedruckt), wenn sie in der pdf-Datei als Bitmaps enthalten
sind, also nicht in Form von Vektorfonts. Um das zu verhindern, ist auf
folgende Punkte zu achten:

* Es dürfen im Dokument nur solche Schriften verwendet werden, die im
  Format Type-1 (PostScript) oder TrueType vorhanden sind. Welche das
  sind, sollte aus der Dokumentation des TeX-Systems hervorgehen.
  Schriften, die ausschließlich im Metafont-Format existieren, können
  hingegen in pdf-Dateien nur in Form von Bitmaps benutzt werden, sind
  also nach Möglichkeit zu vermeiden.
* Wenn Schriften sowohl im Metafont-Format als auch als Type-1 oder
  TrueType vorliegen, dann müssen die beteiligten Programme so
  konfiguriert sein, dass sie nicht die Metafont-Version verwenden. In
  aktuellen TeX-Distributionen ist das zumindest für pdfTeX
  normalerweise der Fall.

Die häufigsten Fehlerquellen sind:

* Es werden die EC- und TC-Fonts benutzt, ohne dass diese im
  Type-1-Format vorliegen. Abhilfe: EC/TC-Fonts im Type-1-Format
  beschaffen und installieren (siehe Frage 10.1.7) oder stattdessen die
  AE-Fonts verwenden (siehe ebenfalls Frage 10.1.8)
* Wenn die pdf-Datei auf dem Weg über `dvips' und nachfolgende
  Umwandlung ins pdf-Format erzeugt wurde, dann hat `dvips' die
  CM-Schriften im Metafont-Format und damit in einer Bitmap-Version
  verwendet, obwohl diese auch als Type-1 existieren. Dies ist häufig
  das voreingestellte Verhalten von `dvips'. Abhilfe: `dvips' mit einer
  passenden Option aufrufen, so dass alle vorhandenen Type-1-Fonts auch
  tatsächlich verwendet werden. Wie diese Option lautet, hängt von
  jeweiligen TeX-System ab; beachten Sie dessen Dokumentation! Mit
  vielen Systemen funktioniert:


    dvips -Ppdf -G0

  Beachten Sie dabei, dass CM-Schriften oft für bestimmte mathematische
  Symbole benötigt werden, auch wenn die Grundschrift eines Dokuments
  nicht Computer-Modern ist, z.B. mit Paketen wie `mathptmx'.
* Die pdf-Datei wurde aus PostScript durch Umwandlung mit dem Programm
  `Ghostscript' erzeugt, wobei eine ältere Version (< 6.51) zum Einsatz
  kam. Diese Programmversionen wandeln aber (fast) alle Fonts (auch
  Vektorfonts!) in Bitmaps um. Sie sind als veraltet anzusehen und
  sollten durch eine neuere Version (6.51 oder besser) ersetzt werden,
  die mit Vektorfonts umgehen kann.


Ghostscript:                                                CTAN: nonfree/support/ghostscript/
Fonts in LaTeX: Item,
www.mamster.net/tex/latex-fontfaq-amster-burton.pdf:
WWW-Link Fonts in LaTeX: Item,                              http://www.mamster.net/tex/latex-fontfaq-amster-burton.pdf
http://www.mamster.net/tex/latex-fontfaq-amster-burton.pdf:
link) Matthew Amster-Burton: The Sooper-Simple Guide to
Type 1 Fonts in LaTeX: 
 


9.2.4 In einer mit `dvips' erzeugten PostScript-Datei fehlen die
Ligaturen und andere Zeichen.

Dieses Problem kann auftreten, wenn die .ps-Datei unter Verwendung der
dvips-Option -Ppdf erzeugt wurde. Abhilfe: Ergänzen Sie beim Aufruf von
dvips die Option -G0:

    dvips -Ppdf -G0 ...

Hintergrund: Die Option -Ppdf manipuliert u.a. den Zeichensatz der
verwendeten Schriften, um einen potentiellen Fehler des `Acrobat Reader'
4.0 zu umgehen. Das ist jedoch nur dann überhaupt relevant, wenn die
.ps-Datei später in PDF umgewandelt wird, und es funktioniert außerdem
nur bei Fonts mit 128 Zeichen (z.B. CM); mit anderen Fonts führt es
dazu, dass Zeichen verloren gehen. Mit der zusätzlichen Option -G0 wird
dieses Verhalten abgestellt. Version 4.0 des Acrobat Reader ist
mittlerweile veraltet und dürfte wegen zahlreicher Mängel sowieso kaum
noch verwendet werden, so dass es wenig Sinn macht, sie weiterhin zu
berücksichtigen.
Vorsicht: Es sind auch Implementierungen von `dvips' im Umlauf, mit
denen das beschriebene Verhalten schon ohne die Option -Ppdf auftritt.
Die zusätzliche Option -G0 behebt das Problem dann ebenfalls.

9.2.5 Warum werden mit der Suchfunktion des Programms `Acrobat Reader'
keine Worte gefunden, die Umlaute enthalten?

Ein Voraussetzung dafür ist die Verwendung von T1-kodierten Schriften.
Die oftmals günstige Lösung mit dem Paket `ae'

  \usepackage{ae}

um auf die `CM'-Schriften in T1-Kodierung zugreifen zu können, versagt
leider hinsichtlich der Umlaute und anderer akzentuierter Buchstaben, da
diese auch bei Verwendung dieses Paketes intern aus mehreren Lettern
zusammengesetzt werden. Um das Problem zu umgehen, sollte man Schriften
in T1-Kodierung verwenden, in denen die Umlaute tatsächlich enthalten
sind, wie etwa die EC-Fonts (Type1-Versionen; Frage 10.1.7) oder die
PostScript-Basisfonts (siehe Frage 10.2.1).

9.3 TrueType-Schriften


9.3.1 Wie kann ich TrueType-Schriften in LaTeX verwenden?

TeX bzw. LaTeX benötigt von jeder Schrift, egal in welchem Format sie
vorliegt, nur die tfm-Dateien einer Schrift. Erst der Treiber für das
Ausgabegerät benötigt die Schrift selbst und hier ist es vom Treiber
abhängig, in welchem Format die Schrift vorliegen darf. Historisch kommt
fast jeder Treiber mit PK-Dateien bzw. METAFONT-Dateien, aus denen
PK-Dateien erzeugt werden können, zurecht. Ebenso ist die Unterstützung
von PS-Schriftformaten weit verbreitet.
Erzeugt man mit pdfTeX PDF-Dateien, so kann pdfTeX TrueType-Schriften
direkt verwenden und einbetten.
Sonst gibt es, wie oben erwähnt, prinzipiell drei Möglichkeiten:

* `ttf2pk':
  Dieses Programm konvertiert beliebige TrueType-Schriften (auch
  asiatische!) in PK-Dateien. `ttf2pk' übernimmt dabei analog zu
  `gsftopk' bei PS-Schriften das _Rendering_ für Anwendungen, die
  TrueType-Schriften nicht unterstützen. Quellcode, Dokumentation etc.
  findet man im FreeType-Paket: http://www.freetype.org/projects.html
  MikTeX und fpTeX enthalten bereits Binaries; die neuesten
  teTeX-Distributionen ab Version 1.0 haben Unterstützung für `ttf2pk'
  in den Skripten (man muß also nur `ttf2pk' kompilieren).
* TTF => PS-Fonts:
  Auch hier gibt es mehrere Ansätze.

  o `ttf2pfb':
    Konvertiert TrueType-Fonts (auch asiatische!) in Type-1
    PostScript-Schriften. Nachteile: Unterstützung von Komposit-TTFs
    derzeit nur beschränkt möglich; außerdem geht das Hinting (d.h. die
    Anpassung an kleine Schriftgrößen) verloren.
    http://www.freetype.org/projects.html
  o `ttf2pt1':
    `ttf2pt1' kann asiatische Fonts bzw. Fonts mit mehr als 256 Glyphen
    behandeln, wobei die allgemeine Beschränkung, daß ein
    Encoding-Vektor nur 256 Elemente haben kann, jedoch davon unabhängig
    besteht; kann auch Metriken im .afm-Format erzeugen, so daß
    Kerning-Informationen nicht verlorengehen.
    http://www.netspace.net.au/~mheath/ttf2pt1/
  o TTF => PS-Fonts im Type-42-Format:
    Erzeugt eine `Wrapper-Datei' um den TrueType-Font. `Ghostscript' und
    neuere PS-Interpreter haben ein eingebautes TrueType-Modul, welches
    das Type-42-Format verstehen kann - allerdings ist der
    TrueType-Rasterer von älteren Ghostscript-Versionen eher schlecht.
    (Das Programm kann vermutlich keine asiatische Fonts bzw. Fonts mit
    mehr als 256 Glyphen behandeln.)

  Prinzipiell geht bei der Konvertierung von TrueType-Schriften nach
  Type-1 das _Hinting_ verloren. Nähere Informationen hierzu findet man
  in den Texten http://www.truetype.demon.co.uk/ttandt1.htm und
  http://www.truetype.demon.co.uk/tthints.htm.
* `ttf2mf':
  [nie verwendet; kann vermutlich asiatische Fonts bzw. Fonts mit mehr
  als 256 Glyphen nicht behandeln.]
  CTAN: nonfree/support/ttf2mf/

Weitere Informationen findet man unter den folgenden URLs:

FreeType:                      http://www.freetype.org
Otfried Cheong: Using TrueType http://www.cs.uu.nl/~otfried/Pdftex/
fonts in PdfLaTeX: 
 

Zur Verwendung oder Integration von `ttf2pk' findet man weiteres unter
den folgenden URLs:

Damir Rakityansky:
Using TrueType
fonts with TeX     http://www.radamir.com/tex/ttf-tex.htm
(LaTeX) and pdfTeX
(pdfLaTeX): 
Damir Rakityansky
(dt. Ü.):
Benutzung von      CTAN: info/german/MiKTeX-WinEdt-TrueType-Anleitung/ttf.htm
TrueType-Schriften
unter TeX...: 
ttf2tex:           CTAN: support/ttf2tex/
 

Zur Konvertierung von TrueType-Schriften in eine PS-Schrift findet man
mehr unter der folgenden URL:

Harald Harders: Using TrueType fonts with CTAN: info/TrueType/index.html
teTeX and dvips: 
 


--- DE-TeX-FAQ Ende Teil 9 ---
