Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news-res.gsl.net!news.gsl.net!news.mathworks.com!newsfeed.internetmci.com!demos!news.uni-stuttgart.de!news.urz.uni-heidelberg.de!sun.dante.de!german
From: dantefaq@dante.de (DANTE e.V., FAQ-Maintainer)
Newsgroups: de.comp.tex,de.answers,news.answers
Subject: TeX, LaTeX, DANTE e.V.: FAQ - Fragen und Antworten (Part 7 of 8)
Supersedes: <de-tex-faq-7-836386058@dante.de>
Followup-To: de.comp.tex
Date: 3 Aug 1996 04:01:56 GMT
Organization: DANTE, Deutschsprachige Anwendervereinigung TeX e.V.
Lines: 663
Approved: news-answers-request@MIT.EDU
Distribution: world
Expires: 17 Sep 96 06:00:14
Message-ID: <de-tex-faq-7-839044815@dante.de>
References: <de-tex-faq-1-839044815@dante.de>
Reply-To: dantefaq@dante.de (DANTE e.V., FAQ-Maintainer)
NNTP-Posting-Host: sun.dante.de
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Summary: This posting contains a list of Frequently Asked Questions
         (and their answers) about the typesetting system TeX and
         about DANTE e.V., the german-speaking TeX users group.
         It is in German and uses the ISO Latin-1 character set.
Keywords: FAQ TYPESETTING TeX USERGROUP DANTE
Originator: german@sun.dante.de
Xref: senator-bedfellow.mit.edu de.comp.tex:26880 de.answers:773 news.answers:78377

Posted-By: auto-faq 3.2.1.3
Archive-name: de-tex-faq/part7
Posting-Frequency: monthly
Copyright-Notice: siehe Abschnitt 1.1/see Section 1.1
URL: http://www.dante.de/dante/dante-faq.html


		Fragen und Antworten (FAQ) über

		   das Textsatzsystem TeX und
		       ~~~~~~~~~~~~~~~~~~
	DANTE, Deutschsprachige Anwendervereinigung TeX e.V.
	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

		=== Teil 7: Metafont und Schriften ==


7.1) METAFONT und METAFONT-Tools
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

7.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äßig 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.


7.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 Tools `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 Tools
`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 Tools 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ösungs-
abhä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.


7.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überhinaus 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 Tool `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 Tool
`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!


7.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.
  MetaPost-Implementierungen existieren derzeit noch nicht für alle
Plattformen, da das Programm erst seit Anfang 1995 frei erhältlich ist
(vorher nur nach Abschluß eines `non-disclosure agreements'):

 - Unix:  CTAN: graphics/metapost/ (Original: John Hobby)
          beruht auf web2c 5.8xx, setzt den web2c Konverter voraus,
          ansonsten eigenständig, nicht integriert
 - Web2C: CTAN: graphics/metapost/contrib/systems/web2c/ (Ulrik Vieth)
          demnächst in web2c-7.0 enthalten
 - Amiga: CTAN: systems/amiga/amiweb2c/ (Andreas Scherer)
 - DOS:   CTAN: systems/msdos/metapost/ (Piet van Oostrum)
          passt zu emTeX
 - OS2:   CTAN: graphics/metapost/MetaPost4OS2/ (???)


7.1.5) 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 MF-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
2602 dpi (= `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.


7.1.6) 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.mf
	   (Hinweis: Seit 8. Januar 1996 existiert Version 3.0 mit
	   neuer `mode_def' für Hires-Fax, HP Laserjet 5, u.a.)


7.1.7) Kann ich aus einer vorhandenen tfm-Datei die mf-Source
       erzeugen?  Gibt es dafür ein Tool?

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, sodaß sich der Aufwand nur in seltenen Fällen lohnt.



7.2) Schriften -- allgemein
~~~~~~~~~~~~~~~~~~~~~~~~~~~

7.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 ``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 Tools dafür findet man auf CTAN im Verzeichnis
``fonts/utilities/'', fertige Anpassungen findet man für
weitverbreitete Schriften ebenso unter ``fonts/''.

metafont-list:  CTAN:  info/metafont-list


7.2.2) Gibt es eine Schönschrift/Handschrift?

Mit `calligra' gibt es eine kalligraphische Schrift, eine schön
ausgeführte Schmuckschrift, die leider noch kleinerer Verbesserungen
(falsche Abstände vor Großbuchstaben und ß, fehlender Bindestrich)
bedürfte.  `calligra' verwendet die Kodierung `T1'.  Um korrekte
Akzente und Umlaute zu erhalten, muß man in LaTeX2e deshalb auf
\fontencoding{T1} wechseln!

Eine weitere Schrift ist die `twcal', die ursprünglich auf der
vereinfachten Ausgangsschrift `va' basiert, jedoch durch viele
Änderungen und Ligaturen weichere, durchgezogene Übergänge erhalten
hat.

calligra:   CTAN:  fonts/calligra/
twcal:      CTAN:  fonts/twcal/


7.2.3) Ich suche eine Sütterlin, Fraktur, Schwabacher, Gotische
       Schrift.

Yannis Haralambous hat einen Satz dieser altdeutschen Schriften auf
der Tagung EuroTeX'91 in Cork/Irland vorgestellt.  Neben den reinen
Brotschriften hat er auch noch mit der Schrift `yinit' große Initialen
als Schmuckschrift hinzugefügt.  Die Einbindung dieser Schriften ist
für LaTeX2e im Paket `oldgerm', das Bestandteil von `mfnfss' ist,
enthalten.
  Zu der Sütterlin-Schrift `suet14' und ihrer schräggestellten
Variante `schwell' wurde in der Newsgroup `de.comp.tex' angemerkt:
``Die Fonts sehen wirklich klasse aus.  Allerdings hat das kleine `a'
keinen Kringel (Schleifchen) rechts oben, was es nach Brockhaus und
alten Schulunterlagen haben sollte.  Auch das `k' scheint etwas
abzuweichen.''

Y.H.:    CTAN:  fonts/gothic/{yfrak,yswab,ygoth,yinit}/
mfnfss:  CTAN:  macros/latex/packages/mfnfss/     (LaTeX2e)
cmfrak:  CTAN:  fonts/gothic/cmfrak/
sueterlin/schwell:  CTAN:  fonts/gothic/sueterlin/


7.2.4) Gibt es die lateinische bzw. die vereinfachte Ausgangsschrift,
       mit der man das Schreiben in der ersten Klasse begonnen hat?

la:  CTAN:  fonts/la/
va:  CTAN:  fonts/va/



7.3) Die DC-/EC-Schriftfamilie und andere T1-kodierte Schriften
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

7.3.1) Wozu benötige ich neben der Computer-Modern-Schriftfamilie noch
       eine weitere Familie, die genau dasselbe Aussehen hat?

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 DC-Schriften, indem sie in den 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
DC-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.


*7.3.2) Was ist die Kodierung `T1'?

Die Kodierung der DC-Schriften, die auf der europäischen TeX-Tagung
EuroTeX'91 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 DC-Fonts.
  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 DC-Fonts 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/dc/mf/dcdoc.tex


7.3.3) Was sind die EC-Schriften?  Unterschied DC-, EC-Schriften?

Die endgültige, ausgetestete, stabile Version der DC-Schriften wird
einmal in European/Extended-Computer-Modern-(EC)-Schriften umbenannt.
Diese sollten dann ebenso stabil wie die CM-Schriften sein.  Dies
bedeutet, daß die DC-Schriften `nur' Test-Versionen der EC-Schriften
sind, die sicher noch den einen oder anderen Fehler enthalten und
deshalb z.Zt. noch weiterentwickelt und verändert werden!  Es kann
also sein, daß ein Dokument, das DC-Schriften verwendet, mit einer
neuen Version der DC-Schriften bzw. den endgültigen EC-Schriften einen
anderen Umbruch haben wird.


7.3.4) Wozu dienen die `tc'-Schriften? Was ist die Kodierung `TS1'?

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ültigen Menge von
Lettern einer Text-Companion-Schrift und deren Kodierung `TS1' ist
z.Zt. noch nicht vollständig festgelegt und kann sich in späteren
Versionen ändern.
  Eine erste Version von Text-Companion-(tc)-Schriften ist Bestandteil
des DC-Font-Pakets (beginnend mit Version 1.2, aktuell ist Version
1.3).  Unter LaTeX2e gibt es zur einfachen Einbindung das `textcomp'-
Package in einer Alphatest-Version.  Eine Kodierungstabelle der
Text-Companion-Schriften findet man in `dcdoc.tex', der Dokumentation
der DC-Fonts.

tc-Fonts:   CTAN: fonts/dc/
dcdoc.tex:  CTAN: fonts/dc/mf/dcdoc.tex
textcomp:   CTAN: fonts/psfonts/ts1/  (momentan nur als Test-Version!)


7.3.5) LaTeX2e verlangt `dcr1000', ich kann diesen Font aber nicht
       finden und habe nur Fonts wie `dcr10'.  Was mache ich falsch?

Ab der Version 1.2 der DC-Schriften, die Jörg Knappen Anfang September
1995 veröffentlichte, wird für diese Schriften ein anderes Schema zur
Benennung der Dateinamen verwendet.  (Aktuell ist seit 1. Juni 1996
die Version 1.3.)  Dieses löste das alte Schema für die Version 1.1
ab, die im März 1992(!) erstellt wurden.
  Folgte die Version 1.1 dem CM-Vorbild und fügte dem Basisnamen der
Schrift noch die Entwurfsgröße in Punkt, also z.B. `dcr' + 10 =>
``dcr10'', so wird ab Version 1.2 die Entwurfsgröße 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 `dcr' in der
Entwurfsgröße 17.28 pt den Namen ``dcr1728''.
  Mit den neuen Versionen wurden neben dieser Nomenklatur auch sehr
viele Dinge im Aussehen der einzelnen Zeichen, den Ligaturen und den
Unterschneidungen (`Kerning') geändert, so daß ein Umstieg auf die
DC-Fonts Version 1.3 angebracht ist.


7.3.6) Ich habe bisher DC-Fonts Version 1.1 verwendet und habe sehr
       viele Dokumente.  Wie kann ich jetzt am einfachsten auf Version
       1.3 umsteigen?

LaTeX2e unterstützt seit der Version vom Dezember 1995 die neuen
Versionen 1.2 bzw. 1.3 der DC-Schriften (optional kann man diese
LaTeX2e-Version noch so konfigurieren, daß Version 1.1 verwendet
wird).  Ist ein Dokument als LaTeX-Eingabedatei vorhanden, übersetzt
man diese 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 leider keinen einfachen Weg, da ein
einfaches Umbenennen (oder Setzen eines `links' unter Unix) von
beispielsweise ``dcr1000.tfm'' in ``dcr10.tfm'' zu einem
Prüfsummenfehler (`checksum error') im dvi-Treiber führt und das
Ergebnis auf dem Ausgabegerät durch etwas andere Maße der Lettern und
deren Positionierung zwischen Version 1.1 und 1.2/1.3 nur für
Korrekturausdrucke reicht.
   Es ist absehbar, daß es in kurzer Zeit virtuelle Fonts (vf) geben
wird, die die `realen' DC-Fonts in Version 1.2/1.3 benutzen.  Damit
kann man dann die alten pk-Font-Dateien der Version 1.1 durch diese
virtuellen Fonts ersetzen.  Dies hat den Vorteil, daß diese vf-Dateien
sehr klein sind und wenig Platz benötigen und man alte dvi-Dateien mit
dem Tool `dvicopy' in dvi-Dateien wandeln kann, die nur die DC-Fonts
Version 1.2/1.3 referenzieren.

ACHTUNG: Die DC-Schriften sind immer noch Test-Versionen, d.h. sie
werden in den nächsten Versionen wiederum kleine Inkompatibilitäten
aufweisen!  Wer unveränderliche Schriften benötigt, sollte auch
weiterhin die CM-Schriften verwenden, da deren tfm-Dateien garantiert
nicht mehr verändert werden -- ebenso wie deren kleine `Fehler' wie
z.B. fehlendes Kerning zwischen einigen Letterpaaren.


7.3.7) Gibt es die zu den DC-Schriften gehörenden Schriften für den
       mathematischen Formelsatz?

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 CTAN: info/ltx3pub/l3d007.tex
finden.


7.3.8) Wieso werden bei Verwendung von DC-Schriften noch die alten
       CM-Schriften geladen?  Ich dachte, daß die DC- die CM-Schriften
       vollständig ersetzen können?

Da noch keine mathematischen Schriften speziell für die DC-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 DC-Textschriften geladen werden
müssen.


7.3.9) Nach dem Umstieg von DC-Fonts v1.1 auf v1.2/1.3 fehlt in der
       Ausgabe das kleine scharfe s (\ss), das grosse \SS funktioniert
       dagegen.  Wieso?

Die Datei `dxbase.mf', mit der man eine neue METAFONT-Base-Datei
erstellen kann, hat sich geändert.  Wenn man noch die alte Datei aus
v1.1 zur Erzeugung der neuen DC-Fonts v1.2/1.3 verwendet, hat man u.a.
den Fehler, daß das kleine \ss nicht korrekt erzeugt wird.
  Abhilfe: Grundsätzlich keine spezielle Base-Datei für die DC-Fonts
verwenden, sondern die normale `plain'-Base verwenden.  (Der
Zeitgewinn von ca. einer Sekunde pro Font, der früher sehr viel größer
war, geht durch Probleme wie das hier beschriebene wieder verloren.)
Hat man solch `kaputte' DC-Fonts, muß man diese danach nochmals
komplett neu berechnen.


7.3.10) Beim Umstieg auf DC-Fonts v1.3 erhalte ich nur Fehlermeldung
        von Metafont (`Incomplete if ...') oder ich erhalte den
        Hinweis, daß die Versionen meines Metafont/plain.mf zu alt ist.

Die Metafont-Quellen setzen die Benutzung einer relativ neuen
Metafont- Version voraus und verwenden Definitionen aus der Datei
`plain.mf', die in `plain.mf' v2.0 noch nicht enthalten waren.
Deshalb ist es ratsam, diese Gelegenheit zu nutzen und eine möglichst
neue Version zu installieren (siehe Abschnitt 3.1.7).
  Ansonsten sollte man bei der Generierung der DC-Fonts darauf achten,
daß die Dateien

    plain.mf
    modes.mf  % oder eine lokale `Mode-Definition'-Datei

in allen Fällen _vor_

    dxbase.mf

geladen wird.  (Am besten ist es, wenn man sich _keine_ spezielle
dx-Base-Datei erzeugt, sondern die normale plain-Base-Datei verwendet,
da die DC-Fonts dann `dxbase.mf' automatisch bei Bedarf nachladen.)


*7.3.11) Mit den neuen DC-Fonts 1.3 vom Juni 1996 und `modes.mf' 3.0
        gibt es für einen 300dpi-Drucker keine Probleme.  Bei einem
        360dpi-Drucker (nechi, lqhires) schreibt Metafont aber statt
        *.360gf-Dateien nur *.300gf-Dateien erzeugt.

Ein Fehler der DC-Fonts Version 1.3 Patchlevel 0 bzw. 1 in der Datei
`dxbase.mf' bei Verwendung von `modes.mf' v3.0 führt zu diesem
Verhalten, wenn ein `mode_def' wie `nechi' einen anderen `mode_def'
verwendet und dabei nur einige Parameter anders setzt.  Er tritt also
nur bei einigen `mode_def' auf.
  Dieser Fehler ist durch DC-Fonts 1.3 Patchlevel 2 (von Anfang Juli
1996) behoben.  Tip: Besitzt man die DC-Fonts 1.3 Patchlevel 0 bzw. 1
und will diese auf Patchlevel 2 bringen, benötigt man von 1.3pl2 nur
die Dateien `dxbase.mf', `00bugs.txt' und `dc-chg.txt'.


7.4) PostScript-Schriften
~~~~~~~~~~~~~~~~~~~~~~~~~

7.4.1) Gibt es die CM-Fonts auch als PostScript-(Type-1)-Schriften?

Die Knuth'sche Computer-Modern-(CM)-Familie, die zusätzlichen
LaTeX-CM-Fonts, die aus der CM-Familie entstandene kyrillische
CMCYR-Familie und die AMS-Fonts zum mathematischen Formelsatz sind im
Type-1- und True-Type-Format in den beiden Schriftpaketen `Bakoma' und
`Paradissa' zu finden.

Bakoma:    CTAN: fonts/cm/ps-type1/bakoma/
Paradissa: CTAN: fonts/cm/ps-type1/paradissa/


7.4.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 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 erstellen:
  Gibt es im `psfonts'-Verzeichnis bereits fertige Anpassungen?  Wenn
ja, sollte man diese verwenden.  Wenn nein, sollte man sich das Tool
`fontinst' besorgen.  Mit diesem Tool kann relativ einfach aus den mit
dem PostScript-Font mitgelieferten afm-Datei die notwendigen
virtuellen Fonts (vf-Dateien) mit den entsprechenden Fontkodierungen
und Font-Definition-Files (fd-Dateien) für LaTeX2e erzeugen lassen.
Für Textschriften sollten zumindest vf-Dateien für OT1-Kodierung,
besser auf 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:
	uaqrrc.{vpl,vf,tfm}    Roman (`raw, 7-bit')
	uaqr7tc.{vpl,vf,tfm}   TeX-Text-/OT1-/CM-Encoding (`7-bit')
	uaqr8rc.{vpl,vf,tfm}   TeX Base-1 Encoding (`raw, 8-bit')
	uaqr8tc .{vpl,vf,tfm}  Cork-TeX-Text-/T1-/DC-Encoding (`8-bit')
	8r.enc                 PS-Reencoding, in `fontname' enthalten

  LaTeX2e-Font-Definition-Files:
	OT1uaq.fd
	T1uaq.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 und/oder `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' erstellen:
  Map-Datei für `dvips' erstellen.  In dieser Map-Datei wird die
Zuordnung des Font-Namens in TeX zu dem in PS verwendeten festgelegt
und evtl. die zu ladende pfb/pfa- und PS-Reencoding-Datei angegeben.
In unserem Beispiel enthält die Map-Datei `uaq.map' die Zeile

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

(dies muss 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.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 diese Map-Datei und die
pfb/pfa-Dateien zu finden sind, im Suchpfad nach PS-Header-Dateien
enthalten ist.  Dieser Suchpfad wird in der Konfigurationsdatei über
den `H'-Eintrag oder über die Umgebungsvariable DVIPSHEADERS angegeben.

Schritt 5 -- Anpassungen testen und verwenden:
  Mit LaTeX2e kann man unsere Beispielschrift einfach mittels des
Packages `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'.
  Unter plain-TeX kann man diese Schrift relativ einfach durch
z.B. die Anweisung \font\rmantiqua=uaqr7tc laden und anschließend
verwenden.  Zur Verwendung der T1-kodierten Variante `uaqr8tc' sind,
wie bei der Verwendung der DC-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/...
                  fonts/psfonts/urw/antiqua/  (unsere Beispielschrift)
fontinst:   CTAN: fonts/psfonts/tools/finst/ (neuere Version)
		  fonts/utilities/fontinst/ (enthält contrib/-Verzeichnis)

--- DE-TeX-FAQ Ende Teil 7 ---
