$Id: texfonts.html,v 1.1 1998/10/12 20:49:17 christof
Exp $
TeX und Schmuckschriften
Erst einmal:
Was braucht man dazu?
-
LaTeX 2e (zum Setzen)
-
dvips (wandelt .dvi nach .ps und lädt Schriften)
-
ghostscript (zum Erzeugen der .pk Dateien)
-
afm2tfm (Bestandteil von dvips, erzeugt .tfm Dateien)
-
Die .pfa/.pfb und .afm Dateien der gewünschten Schriften
Was ist empfehlenswert?
-
Linux (LaTeX funktioniert zwar auch unter Windows/Dos, viele andere nützliche
Kleinigkeiten fehlen allerdings normalerweise (bash,sed,perl,pbmtools,gs,gimp
etc.))
-
gv (DAS Programm zum Ansehen von Postscript und .pdf Dateien). Antialiasing
wirkt Wunder! Dies ist auch der Grund, weshalb ich von ghostview abrate.
Eine A4 Seite lesbar auf 800x600 geht nur mit antialiasing (Schärfe
durch Unschärfe).
-
xdvi (zum Ansehen der .dvi Dateien). Xdvi nutzte schon immer antialiasing,
deshalb konnte man es besser lesen
-
ttf2pfa um auch TrueType Schriften (v.a. Windows) nutzen zu können.
Link fehlt mir gerade ... Ghostscript kann ab Version 4 TT-Schriften direkt
nutzen (wenn ttfont.dev eincompiliert wurde). Da die Qualität der
erzeugten .pfa Dateien schlechter ist(kontrollieren), kann ich nur dazu
raten, die ttf Datei auch zu nutzen.
Erzeugen der tfm Dateien
Die Schriftdateien seien in schrift.pfb und schrift.afm.
Die PostScript Schrift heißt Schrift, die TeX Schrift soll
psch heißen (Standardbenennung).
afm2tfm schrift -t /usr/lib/teTeX/texmf/dvips/base/cork.enc -v
psch rpsch
erzeugt psch.tfm, psch.vpl und rpsch.tfm und gibt
aus. Dies sollte in psfonts.map eingetragen werden (z.B. durch afm2tfm
... >>psfonts.map).
vptovf psch.vpl psch.vf psch.tfm ; rm psch.vpl
erzeugt nun aus der menschenlesbaren (nicht aber TeX-lesbaren) .vpl Datei
eine .vf und eine .tfm Datei für die neue Schrift psch.
Nun gibt es eine Schrift rpsch und eine psch, die direkt verwendet
werden können. Die Schrift rpsch ist PostScript kodiert, die psch
Cork (T1) kodiert (siehe unten). D.h. Umlaute
sind in psch direkt verwendbar (Paket t1enc einbinden!); dagegen enthält
rpsch z.B. das TM- und (C)-Zeichen, das es in PostScript nicht jedoch unter
TeX gibt.
TrueType Schriften
Das Programm ttf2pfa erzeugt eine .afm und eine .pfa Datei.
ttf2pfa schrift.ttf schrift
afm2tfm enya -t /usr/lib/teTeX/texmf/dvips/base/cork.enc -v teny
rteny
vptovf teny.vpl teny.vf teny.tfm
Eintrag in psfonts.map nicht vergessen. In die Datei Fontmap muß
dann
Aufgrund des Teil-Umweges über afm2tfm verschwinden alle nicht-ASCII Zeichen
(Umlaute). An einer besseren Lösung arbeite ich gerade!
Benutzung der Schriften mit NFSS (New Font Selection
Scheme)
Der Wichtigste Befehl lautet erst einmal
\DeclareFontFamily{T1}{psch}{}
um die Schriftfamilie zu deklarieren. (Codierung, TeXName, Initialisierung)
Sodann kann der Schriftschnitt (Fett, Kursiv etc. sind Schnitte) mittels
\DeclareFontShape{T1}{psch}{m}{n}{<-> psch}{}
bekanntgemacht werden. (Codierung, TeXName, Stärke (c, m, b, bx),
Neigung (n, it, sl, sc), Größenbereich, Dateiname, Initialisierung).
Weitere Schnitte siehe unten.
Die Schrift wird dann mittels
\usefont{T1}{psch}{m}{n}
oder mittels
\fontencoding{T1}\fontfamily{psch}\fontseries{m}\fontshape{n}\selectfont
eingestellt. Die Größe der Schrift wird mit
\fontsize{12pt}{14pt}\selectfont
beeinflußt. Der zweite Parameter von fontsize ist der
einfache Zeilenabstand.
Hier seien noch die Befehle
\renewcommand{\rmdefault}{psch}
zur Einstellung der Standardschrift und
\renewcommand{\encodingdefault}{T1}
zur Einstellung der Standardcodierung empfohlen (Paket t1enc).
Siehe hierzu auch fntguide.tex/dvi.
Ghostscript die Fonts bekanntgeben (Fontmap, FONTPATH)
In die Datei Fontmap muß nun die Zeile
eingefügt werden und ghostscript der Pfad zu dieser Datei bekanntgegeben
werden:
export GS_FONTPATH=`pwd`:/usr/share/ghostscript/fonts
export GS_LIB=`pwd`:/usr/share/ghostscript/5.50
oder etwas anderes passendes (es könnte z.B. /usr/local/share/...
sein oder Version 4.03) (`pwd` ist das aktuelle Verzeichnis).
Benutzer der (t)csh müssen
setenv GS_FONTPATH `pwd`:/usr/share/ghostscript/fonts
setenv GS_LIB `pwd`:/usr/share/ghostscript/5.50
eingeben.
Exkurs: Kodierungen
wer unbedingt sehen möchte, welche Zeichen an welcher Position sind,
dem sei nfssfont empfohlen:
# latex nfssfont
**********************************************
* NFSS font test program version <v2.0d>
*
* Follow the instructions
**********************************************
Name of the font to test = psch
Now type a test command (\help for help):)
*\help
\init switches to another font;
\stop or \bye finishes the run;
\table prints the font layout in tabular format;
\text prints a sample text, assuming TeX text font conventions;
\sample combines \table and \text;
\mixture mixes a background character with a series of others;
\alternation interleaves a background character with a series;
\alphabet prints all lowercase letters within a given background;
\ALPHABET prints all uppercase letters within a given background;
\series prints a series of letters within a given background;
\lowers prints a comprehensive test of lowercase;
\uppers prints a comprehensive test of uppercase;
\digits prints a comprehensive test of numerals;
\math prints a comprehensive test of TeX math italic;
\names prints a text that mixes upper and lower case;
\punct prints a punctuation test;
\bigtest combines many of the above routines;
\help repeats this message;
and you can use ordinary TeX commands (e.g., to \input a file).
*\table\bye
[1]
Output written on nfssfont.dvi (1 page, 10440 bytes).
Transcript written on nfssfont.log.
# xdvi nfssfont.dvi
Kursiv, Gedehnt, ...
Schreibt man statt dessen
afm2tfm schrift -t /usr/lib/teTeX/texmf/dvips/base/cork.enc -s
0.167 -v pschi rpschi
, so erhält man pschi.tfm und rpschi.tfm (vptovf nicht vergessen).
Nun muß man die Zeile
rpschi Schrift " .167 SlantFont "
in psfonts.map eintragen. Nimmt man -e 1.3 statt -s 0.167,
so erhält man eine verbreiterte Schrift.
[-c 0.8] -V erzeugt eine Kapitälchen Version
der Schrift (kleine und große Großbuchstaben). Für eine
Outlined Version siehe die .info Datei zu dvips.
Die .tex Datei
siehe oben.
Die .dvi Datei
Am besten teilt man ghostscript mit, wo die Schriften liegen (siehe oben).
Danach sollte xdvi automatisch die .pk Dateien (Bitmap Schriften) erzeugen.
Die .ps Datei
Löscht man die psfonts.map (oder benennt sie um), sobald alle .pk
Dateien erzeugt wurden, bindet dvips die .pk Dateien in die PostScript
Datei ein. Somit sind die Schriften in der .ps Datei eingebunden. Die Auflösung
der Schriften ist jedoch auf einen Wert festgelegt (siehe config.ps).
Eine andere Möglichkeit stellt das Einbinden der .pfb Dateien dar.
Dazu muß in der psfonts.map ein <schrift.pfb angehängt werden,
z.B.
rpsch Schrift <schrift.pfb
Diese Option erzeugt größere PostScript Dateien, die allerdings
auflösungsunabhängig sind.
Tricks
Ligaturen etc.
Glossar
| .dvi |
DeVice Independant output |
Geräteunabhängiges Ausgabeformat von TeX, enthält fertig
gesetzten Text. Wird von vielen Programmen in z.B. Druckerspezifische Formate
umgewandelt. |
| .ps* |
PostScript |
Von Adobe erfundenes geräteunabhägiges Format für Druckerzeugnisse.
Viele Drucker sprechen diese Sprache. |
| .eps* |
Encapsulated PostScript |
PostScript mit bestimmten Eigenschaften. Hauptsächlich für
Grafiken verwendet |
| .pdf |
Portable Document Format |
Nachfolgeformat von PostScript. Enthält Links, Kompression |
| .html* |
HyperText Markup Language |
Alles im WorldWideWeb hat dieses Format |
| .tfm |
Tex Font Metrics |
Außmaße der Buchstaben einer TeX Schrift |
| .afm |
Adobe Font Metrics |
Außmaße der Buchstaben einer PostScript Schrift |
| .vf |
Virtual Font |
|
| .vpl* |
Virtual Property List |
Lesbare Form von .vf und .tfm Dateien |
| .pfb |
Postscript Font Binary |
PostScript Schrift (Type 1) Verschlüsselt! |
| .pfm? |
|
Binäre Form einer .afm Datei |
| .dit* |
? |
Von nroff Verwendet? |
| .pfa* |
Postscript Font Ascii |
Hexadezimale Version einer .pfb Datei |
| .ttf |
True Type Font |
Von Microsoft und Apple(?) erfundenes Konkurrenzformat zu PostScript.
Wegen der übermäßigen Verbreitung von Windows ebenfalls
sehr verbreitet. |
| .pk |
PacKed font data |
Gepackte Version einer .bm Datei |
| .bm |
BitMap |
Ausgabe von Metafont. Schrift in einer Auflösung und Größe
für einen bestimmten Drucker |
| .mf* |
MetaFont |
Der Quelltext einer TeX Schrift. (Porgrammiersprache) |
Mit * markierte Dateitypen sind 'lesbar' d.h. sie enthalten keine
nicht darstellbaren Sonderzeichen.
Konvertierungsprogramme
| ttf2pfa |
notwendig um die Zeichenabmaße der TrueType Schrift für
TeX verfügbar zu machen (via afm2tfm). Dabei leiden allerdings (noch)
die Umlaute. |
| t1disasm |
erzeugt aus einer .pfb/.pfa Datei eine veränderbare .ps Datei.
So kann man Schriften von Hand ändern. |
| t1asm |
compiliert die Schriften in das .pfa Format |
| afm2tfm |
erzeugt eine .tfm Datei aus einer .afm Datei (Zeichenabmaße) |
| gimp |
DAS freie Malprogramm. Lädt fast alles, speichert in viele Formaten |
| pbmtools |
Kommandozeilentool für Konvertierungen aller Art |
| CorelDraw/Paint, Adobe Photoshop/Illustrator |
Teure Variante von Gimp, Notwendig für Exotenformate |
| pk2bm, bm2pk |
TeX Bitmapschriften (de)komprimieren |
| vptovf, vftovp |
.vpl (lesbar) nach .tfm und .vf (nutzbar) |
| tfmtodit |
??? |