DE-TeX-FAQ (Version 56 vom Oktober 1999)
Copyright © 1995-1999 B. Raichle, R. Niepraschk, Th. Hafner
Die Schriften der Computer-Modern-(CM)-Familie enthalten nur jeweils 128 verschiedene Zeichen. Es fehlen daher beispielsweise Umlaute und alle akzentuierten Zeichen anderer europäischer Sprachen. Diese Zeichen müssen bei Verwendung der CM-Schriften durch eine Box-Konstruktion aus Einzelzeichen zusammengebaut werden. Da TeX zur Trennung von Wörtern die Codes der Zeichen in der jeweiligen Schrift verwendet, werden Wörter mit Umlauten nur unvollständig, fehlerhaft oder überhaupt nicht getrennt.
Diese Nachteile vermeiden die EC-Schriften, indem sie in die bisher ungenutzten 128 Zeichenpositionen akzentuierte Zeichen legen. Außerdem wurden die Positionen der ,unteren' 128 Zeichen im Vergleich zu den CM-Schriften klarer strukturiert. So wurden die Positionen, die in den CM-Schriften mit den griechischen Großbuchstaben belegt sind, die für den mathematischen Formelsatz genutzt werden, in den EC-Schriften mit Lettern für gewöhnlichen Text belegt. So werden die Zeichen für Text- und mathematischen Formelsatz sauber in entsprechende Fonts voneinander getrennt, um die dadurch auftretenden Seiteneffekte zu vermeiden und um Schriften einfacher kombinieren zu können.
Ein weiterer Vorteil der EC-Schriften ist beispielsweise das Vorhandensein von Lettern für Anführungszeichen und auch die bei einigen Lettern korrigierte Unterschneidung, wie bei ,,Av''. Hierdurch ergibt sich beim Wechsel von CM- zu EC-Schriften jedoch in den meisten Fällen ein geänderter Umbruch.
Die Kodierung der EC-Schriften, die auf der TeX-Tagung TUG'90 in Cork/Irland festgelegt wurde, wird in LaTeX2e als ,T1'-Kodierung bezeichnet. Diese Kodierung entspricht im wesentlichen dem Code ISO 8859-1 (Latin-1) mit dem Unterschied, daß das scharfe s zu den anderen akzentuierten Kleinbuchstaben auf Position 255 gesetzt wurde und daß die in ISO Latin-1 mit Control-Zeichen belegten Bereiche 0-31 mit Akzenten, Anführungszeichen und Ligaturen bzw. 128-159 mit Lettern aus ISO Latin-2 (für die osteuropäischen Sprachen) belegt wurden. Eine Kodierungstabelle findet man beispielsweise in ,,dcdoc.tex'', der Dokumentation der T1-kodierten EC-Schriftfamilie.
Hinweis: Mit LaTeX2e kann man mit Hilfe des standardmäßig enthaltenen Pakets ,fontenc' sehr einfach mit
\usepackage[T1]{fontenc}T1-kodierte Schriften verwenden, falls wie bei den EC-Schriften die zugehörigen .fd-Dateien vorhanden sind. (Mit dem Paket ,inputenc' kann man die verwendete Kodierung der (La)TeX-Eingabedatei festlegen; diese hat jedoch mit der Kodierung der Schrift nichts zu tun!)
dcdoc.tex: | CTAN: fonts/ec/src/dcdoc.tex |
Bis Mitte Januar 1997 gab es die DC-Schriften ,nur' als Testversion, von denen die Versionen 1.0, 1.1, 1.2 und 1.3, teilweise in mehreren Patchleveln, veröffentlicht wurden. Diese Testversionen hatten noch den einen oder anderen Fehler und die Schriftdefinitionen wurden verändert und weiterentwickelt, so daß die tfm-Dateien der einzelnen Versionen untereinander inkompatibel sind. Es kann also sein, daß ein Dokument, das DC-Schriften verwendet, mit einer neuen Version der DC-Schriften bzw. den EC-Schriften einen anderen Umbruch haben wird. Die endgültige, ausgetestete, stabile Version der DC-Schriften heißt European/Extended-Computer-Modern-(EC)-Schriften. Sie ist ab Mitte Januar 1997 verfügbar und wird ab dem LaTeX2e-Release vom Dezember 1996 unterstützt (siehe Abschnitt 10.1.4). Die EC-Schriften sollen ebenso stabil wie die CM-Schriften sein, d.h. die tfm-Dateien dieser Schriftfamilien sollten sich nicht mehr ändern.
Um mit LaTeX2e die EC-Schriften ohne viel Aufwand benutzen zu können, benötigt man die LaTeX2e-Version vom Dezember 1996 oder neuer. Mit dieser muß nurmehr in der Präambel die Zeile \usepackage[T1]{fontenc} eingefügt werden.
Ab LaTeX2e vom Juni 1997 werden die EC-Schriften automatisch als die T1-kodierten CM-Schriften deklariert, so daß keine weiteren Installationsschritte notwendig sind. Mit der älteren Version vom Dezember 1996 werden die .fd-Dateien so konfiguriert, daß die DC-Schriften v1.2/1.3 verwendet werden. Damit stattdessen die EC-Schriften verwendet werden, müssen zusätzlich mit Hilfe der Datei ,,ec.ins'' die entsprechenden .fd-Dateien ausgepackt werden. Näheres dazu findet man in der Datei ,,install.txt'' im LaTeX2e-Paket.
Es gibt mehr als 256 Zeichen, die man in einem Text verwenden will. Deshalb werden selten benötigte, jedoch nützliche Zeichen, die nicht mehr in der T1-Kodierung Platz fanden, in einer sogenannten ,text companion'-Schrift in der Kodierung ,TS1' zusammengefaßt. Diese Schriften sind passend zur Hauptschrift entworfen und können daher problemlos mit dieser verwendet werden. Die endgültige Menge von Lettern einer Text-Companion-Schrift und deren Kodierung ,TS1' ist z.Z. noch nicht vollständig festgelegt und kann sich in späteren Versionen ändern. Dabei können nur Zeichen hinzukommen; die schon in der TS1-Kodierung vorhandenen Zeichen werden ihre Position nicht mehr ändern.
Die Text-Companion-(tc)-Schriften sind im EC-Schrift-Paket enthalten. Seit dem LaTeX2e-Release vom Dezember 1997 ist das Paket ,textcomp' fester Bestandteil von LaTeX. Gegenüber früheren Versionen dieses Pakets haben sich jedoch einige Anweisungen geändert: \textcentigrade wurde z.B. zu \textcelsius. Durch das Paket ,tccompat' sind die alten Anweisungen wieder verfügbar.
Eine Kodierungstabelle der Text-Companion-Schriften findet man in ,,dcdoc.tex'', der Dokumentation der EC-Schriftfamilie. Das Paket ,mathcomp' stellt einige ausgewählte Zeichnen aus den TC-Schriften zur Benutzung im Math-Modus zur Verfügung, darunter \tcohm, \tccentigrade, \tcmu (mu), \tcperthousend, \tcpertenthousend, \tcdigitoldstyle {0-9}.
Will man PostScript-Schriften in TS1-Kodierung benutzen, so sollte man sich die aktuellsten PostScript-Anpassungen besorgen. Seit Februar 1997 gibt es zumindest für die Standard-PostScript-Schriften entsprechende virtuelle Fonts und .fd-Dateien für LaTeX2e.
tc-Fonts: | CTAN: fonts/ec/ |
dcdoc.tex: | CTAN: fonts/ec/src/dcdoc.tex |
textcomp: | CTAN: macros/latex/base/ |
tccompat: | CTAN: macros/latex/contrib/supported/jknappen/ |
mathcomp: | CTAN: macros/latex/contrib/supported/mathcomp |
psfonts: | CTAN: fonts/psfonts/adobe/ |
(Standard-PS-Schriftanpassungen) | |
Die DC-Schriften sind seit Januar 1997 durch die EC-Schriften abgelöst worden. Man sollte daher auf diese neue Schriftfamilie umsteigen und nur noch diese einsetzen, zumal die DC-Schriften immer nur als Test veröffentlicht wurden und einige Fehler enthielten. Ebenso wurden sehr viele Dinge im Aussehen der einzelnen Zeichen, den Ligaturen und den Unterschneidungen (,Kerning') geändert, so daß ein sofortiger Umstieg auf die EC-Schriften angeraten ist.
Die unterschiedliche Zahlen in den Schriftennamen rührt von einer Nomenklatur-Änderung ab Version 1.2 der DC-Schriften her, die im September 1995 veröffentlicht wurden. Folgten die alten Version noch dem CM-Vorbild, in dem dem Basisnamen der Schrift noch die Entwurfsgröße in Punkt hinzugefügt wurde, also z.B. ,dcr' + 10 => ,dcr10', so wird die Entwurfsgröße nun in 1/100 Punkt und immer vierstellig angegeben, wie z.B. ,dcr' + 10*100 => ,dcr1000'. Dadurch können nun auch nicht ganzzahlige Entwurfsgrößen unproblematisch erfaßt werden. Beispielsweise hat ,ecrm' in der Entwurfsgröße 17.28 pt den Namen ,ecrm1728'.
LaTeX2e unterstützt seit der Version vom Dezember 1996 die neuen EC-Schriften (siehe Abschnitt 10.1.4), daher sollte diese oder eine neuere LaTeX2e-Version installiert werden. Ist ein Dokument als LaTeX-Eingabedatei vorhanden, übersetzt man dieses einfach mit der neuen LaTeX2e-Version nochmals.
Für andere (La)TeX-Dokumente oder dvi-Dateien, von denen man den Quelltext nicht besitzt, gibt es momentan folgende Möglichkeiten:
Für Version 1.2 und 1.3 kleiner Patchlevel 4 können die virtuellen Fonts für Version 1.3pl4 verwendet werden. Die dabei auftretenden Prüfsummenfehler (,checksum error') der dvi-Treiber kann ignoriert werden. Die Unterschiede im Druckergebnis ist minimal. Alte Dokumente, die als dvi-Datei vorliegen, kann man mit dem Tool ,dvicopy' und diesen virtuellen Fonts in dvi-Dateien wandeln, die nur die EC-Schriften referenzieren.
Eventuell wird es auch für die Version 1.1 der DC-Schriften virtuelle Fonts geben, die diese auf die EC-Schriften abbilden.
vf-dc13: | CTAN: fonts/dc/ |
Nein, leider noch nicht. Zur Zeit existiert ein gemeinsames
LaTeX3-/TUG-Technical-Working-Group-(TWG)-Projekt; Barbara
Beeton, Herausgeberin des TUGboat und Mitarbeiterin bei der American
Mathematical Society (AMS), ist Vorsitzende dieser TWG. Die
Arbeitsgruppe hat die nicht-triviale Aufgabe, alle benötigten
mathematischen Zeichen zusammenzutragen und entsprechende
Schriftkodierungen festzulegen. Informationen über die bisher
erarbeiteten Konzepte kann man in
http://www.tug.org/twg/mfg
finden.
Da noch keine mathematischen Schriften speziell für die EC-Schriften existieren, werden die der CM-Schriften verwendet. Die CM-Textschriften enthalten jedoch die großen griechischen Buchstaben für den mathematischen Formelsatz, so daß auch weiterhin diese Textschriften zusätzlich zu den EC-Textschriften geladen werden müssen.
Mediävalziffern erhält man in Plain-TeX durch \oldstyle {1234567890}, in LaTeX2e mit \oldstylenums {1234567890}, da TeXs Math-Italic-Schriften diese Ziffernform bereits enthalten.
Will man alle Zahlen in einem Dokument in Mediävalziffern ausgeben, ohne diese explizit mit \oldstyle bzw. \oldstylenums auszeichnen zu müssen, so benötigt man spezielle Text-Fonts, in denen die meist üblichen Versalziffern durch Mediävalziffern ersetzt wurden. Dies ist in den ECO-Schriften der Fall, die auf den EC-Schriften basieren und die als ,virtuelle Schriften' die Ziffernformen ersetzen.
ECO-Fonts: | CTAN: fonts/eco/ |
Die Knuth'sche Computer-Modern-(CM)-Familie, die zusätzlichen LaTeX-CM-Fonts und die AMS-Fonts zum mathematischen Formelsatz wurden von Bluesky und Y&Y in Type-1-Format umgesetzt und vor einiger Zeit der Öffentlichkeit frei verwendbar zur Verfügung gestellt, wobei die Rechte und die Weiterentwicklung weiterhin bei einem Konsortium verbleiben, in dem auch die AMS mitwirkt. Einige der in den ,Bluesky'-Schriften fehlenden Schriften, wie einige AMS-Schriften, die Logo- und Manual-Fonts sind seit Ende 1997, Anfang 1998 ebenso im Type-1-Format verfügbar.
Das Schriftpaket ,Bakoma' enthält diese Schriften sowohl im Type-1- als auch im True-Type-Format. Da diese jedoch Nutzungbeschränkungen unterliegen, sollte man die ,Bluesky'-Schriften vorziehen.
Das Paket ,type1cm' von David Carlisle enthält außerdem geänderte LaTeX2e-fd-Dateien für die PostScript-CM-Schriften, in denen die üblichen festen Größenabstufungen durch Bereiche abgedeckt werden, da die PostScript-Schriften skalierbar sind. Die mit diesen fd-Dateien erzeugten dvi-Dateien können daher unübliche Schriftgrößen verwenden, so daß die Weitergabe an andere problematischer sein kann.
Bluesky: | CTAN: fonts/cm/ps-type1/bluesky/ |
AMS-Fonts: | CTAN: fonts/amsfonts/ps-type1/ |
Logo: | CTAN: fonts/mflogo/ps-type1/hoekwater/ |
Manual: | CTAN: fonts/manual/ps-type1/hoekwater/ |
Bakoma: | CTAN: fonts/cm/ps-type1/bakoma/ |
type1cm: | CTAN: macros/latex/contrib/supported/type1cm/ |
Bis vor kurzem gab es die EC-Schriften nicht im Type-1-Format. Inzwischen wird eine kommerzielle Version der EC- und TC-Schriften von Micropress Inc. zusammen mit deren VTeX-System angeboten. Diese enthalten 555 vorkompilierte Schriften.
Die nur gegen eine Lizenzgebühr benutzbare Schriftfamilie EM von Y&Y enthält zwar alle Lettern der EC-Schriften, jedoch unterscheiden sich die tfm-Informationen der in T1-Kodierung verwendeten EM- von den Original-EC-Schriften. Man erhält daher einen anderen Umbruch, so daß sie keinen Ersatz darstellen.
Unter dem Namen ,Bakoma-DC' ist die Version 1.1 der DC-Fonts, die total veraltete Testversion der EC-Fonts, in Type-1-Format verfügbar. Da sich die tfm-Informationen der DC-Fonts ebenso von denen der EC-Fonts unterscheiden und man die DC-Fonts nicht mehr verwenden sollte, wird von deren Gebrauch abgeraten.
Ein nicht ganz vollwertiger Ersatz von EC-Schriften im Type-1-Format, mit denen man denselben Umbruch wie mit den EC-Schriften erhält, besteht darin, T1-kodierte virtuelle Fonts zu benutzen, die die Schriften der Computer-Modern-(CM)-Familie verwenden, da die CM-Schriftfamilie in Type-1-Format vorliegt. Solche virtuelle Schriften sind unter dem Namen Almost-European-(AE)-Schriften und unter dem Namen ZE verfügbar.
ae: | CTAN: fonts/ae/ |
ze: | CTAN: fonts/zefonts/ |
DC-1.1-Type-1: | CTAN: fonts/dc1.1-obsolete/ |
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 Doku bis ,dvips' Version 5.58). Außerdem sollte man Karl Berrys Fontname, ,Filenames for TeX fonts', in der Version 2.0 (oder neuer) durchlesen, in dem ein für alle TeX-Systeme verwendbares, einheitliches Namensschema bschrieben 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 LaTeX2e 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:
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 Zeilen 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 (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.mapzusä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 LaTeX2e 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. LaTeX2e 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 einigen freien Schriften und der Lucida-Schriftfamilie existiert in Form von ,psnfss' eine Menge von LaTeX2e-Paketen.
Unter Plain-TeX kann man diese Schrift relativ einfach z.B. durch die Anweisung \font\rmantiquauaqr7tc 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 LaTeX2e!
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 | |
TeX Font Guide: | http://www-theorie.physik.unizh.ch/~ichbin/texfonts/ |
Nelson Beebe: PostScript Type 1 fonts: | http://http://www.math.utah.edu/~beebe/fonts/postscript-type-1-fonts.html |
Es gibt prinzipiell drei Möglichkeiten:
Dieses Programm konvertiert beliebige TrueType-Schriften (auch
asiatische!) in PK-Dateien. Quellcode, Dokumentation etc. findet
man im FreeType-Paket: http://www.freetype.org/projects.htm
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).
Auch hier gibt es mehrere Ansätze.
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.
[nie verwendet; kann vermutlich asiatische Fonts bzw. Fonts mit mehr als 256 Glyphen nicht behandeln.]
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 ,GhostScript' eher schlecht. [nie verwendet; kann vermutlich asiatische Fonts bzw. Fonts mit mehr als 256 Glyphen nicht behandeln.]
[nie verwendet; kann vermutlich asiatische Fonts bzw. Fonts mit mehr als 256 Glyphen nicht behandeln.]
Mehr Informationen dazu findet man in dem Artikel ,,Using TrueType fonts with TeX (LaTeX) and pdfTeX (pdfLaTeX)'' von Damir Rakityansky:
http://quantum.bitp.kiev.ua/radamir/ttf-tex.htm
Weiterführende Informationen und Links gibt es auch von
http://www.freetype.org
DE-TeX-FAQ (Version 56 vom Oktober 1999)
Copyright © 1995-1999 B. Raichle, R. Niepraschk, Th. Hafner
detexfaq@dante.de
'
- bitte keine Fragen zu TeX!