$Id: texfonts.html,v 1.1 1998/10/12 20:49:17 christof Exp $

TeX und Schmuckschriften

Erst einmal:

Was braucht man dazu?

Was ist empfehlenswert?

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). erzeugt psch.tfm, psch.vpl und rpsch.tfm und gibt aus. Dies sollte in psfonts.map eingetragen werden (z.B. durch afm2tfm ... >>psfonts.map). 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. 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: 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 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 , so erhält man pschi.tfm und rpschi.tfm (vptovf nicht vergessen). Nun muß man die Zeile 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.

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 ???