% Dies ist neufont.tex, eine kurze Einleitung in die Installation neuer Fonts
% in LaTeX, geschrieben von Bjoern Lorenz (lorenz@rz.charite.hu-berlin.de)
% Fehler und Erg"anzungen bitte direkt an den Autor

\documentclass[11pt,a4paper]{article}
\usepackage{german}

\pagestyle{headings}

\setlength{\topmargin}{0pt}             % A4-Seite mit 1" Rand an allen Seiten
\setlength{\oddsidemargin}{0pt}
\setlength{\evensidemargin}{0pt}
\setlength{\textwidth}{\paperwidth}
\addtolength{\textwidth}{-2in}
\setlength{\textheight}{\paperheight}
\addtolength{\textheight}{-\topmargin}
\addtolength{\textheight}{-\headheight}
\addtolength{\textheight}{-\headsep}
\addtolength{\textheight}{-\footskip}
\addtolength{\textheight}{-2in}

\font\mf=logo10
\hyphenchar\mf=-1
\newcommand{\MF}{{\mf META}\-{\mf FONT\/}}

\title{Einf"uhrung in die Installation neuer Fonts f"ur \LaTeXe{}}

\author{\copyright~Copyright 1997, Bj"orn Lorenz\\
        \texttt{lorenz@rz.charite.hu-berlin.de}\\
        Alle Rechte vorbehalten\thanks{Dieses Dokument ist "uber
        \texttt{CTAN/info/neufont.tex} zu erhalten und darf in
        unver"anderter Form kopiert und weitergegeben werden.}}

\date{21.~August 1997}

\begin{document}

\maketitle
\thispagestyle{empty}

\section{Einleitung}

Dieses Dokument ist das Ergebnis meiner ersten Gehversuche bei der Installation
von neuen Zeichens"atzen zur Verwendung in \LaTeXe{}. Da sich die
\MF-Kenntnisse des durchschnittlichen \LaTeXe-Nutzers "ublicherweise in Grenzen
halten, stie"s auch ich schnell auf Probleme, so dass ich nach einiger Zeit in
\texttt{de.comp.text.tex} um Hilfe bat. Dabei stellte sich heraus, dass zu
diesem Thema offensichtlich noch keine Einf"uhrung existiert, die auf CTAN zu
finden w"are, und ich wurde gebeten, meine Erfahrungen mit der Fontinstallation
kurz zusammenzufassen und auf CTAN zur Verf"ugung zu stellen. Nicht jeder
m"ochte sich schlie"slich gleich das \MF-Book kaufen, nur um einen neuen Font
nutzen zu k"onnen.

Im Folgenden wird der Installationsprozess am Beispiel der altdeutschen Fonts
von Yannis Haralambous (\texttt{CTAN/fonts/gothic/y????}) und des zur Nutzung
erforderlichen Packages {\sf oldgerm} ({\tt
CTAN/macros/latex/packages/mfnfss/oldgerm.*}) von Frank Mittelbach f"ur die
Verwendung in em\TeX\ beschrieben.

F"ur jede Art von Erg"anzungen oder (konstruktiver) Kritik bin ich dankbar. Ich
werde versuchen, diese Einf"uhrung regelm"a"sig mit den Informationen, die mir
andere \LaTeXe{}-Nutzer zukommen lassen, zu erg"anzen, damit dies vielleicht
einmal eine "`richtige"' und nicht so em\TeX-spezifische Anleitung wird.

\section{Zur Sache}

F"ur die Einbindung eines neuen Fonts sind folgende Schritte erforderlich:

\begin{enumerate}

\item Installation des Packages, das die Verwendung der gew"ahlten Fonts
   unterst"utzt, in diesem Fall {\sf oldgerm}. Der Aufruf von \LaTeXe
   \begin{verbatim}
      latex oldgerm.ins
   \end{verbatim}
   produziert den Style \texttt{oldgerm.sty} und die Font definition files {\tt
   uy????.fd} die allesamt in ein Verzeichnis des \LaTeXe-Suchpfades kopiert
   werden m"ussen, beispielsweise in\footnote{F"ur die Wahl des richtigen
   Verzeichnisses ist die Lekt"ure des Papers zur \emph{\TeX\ Document Structure
   (TDS)} hilfreich
   (\texttt{CTAN/tds/draft-standard/tds-0.9994/tds.dvi})}
   \begin{verbatim}
      \emtex\texinput\mfnfss\*.fd  und  \emtex\texinput\mfnfss\*.sty
   \end{verbatim}
   \texttt{oldgerm.sty} stellt die
   Kommandos \verb+\gothfamily+ \verb+\frakfamily+ und \verb+\swabfamily+ zur
   Verf"ugung, "uber die in \LaTeXe\ auf die neuen Fonts umgeschaltet werden kann.
   Die Deklarationen in den \texttt{*.fd} Dateien braucht \LaTeXe, um zu wissen, wie
   es die Fonts laden soll.

   Dieser Schritt kann unterbleiben, dann muss man selbst f"ur die Einbindung
   des Fonts in \LaTeXe\ sorgen, entweder einfach mittels eines
   \verb+\font\mine=myfont10+, wenn der Font als \texttt{myfont10.tfm} abgelegt wurde
   (Nutzung dann "uber \verb+{\mine Text...}+), oder wie in \texttt{fntguide.tex}
   beschrieben unter Ausnutzung des NFSS.
\item Die Font-Informationen f"ur \TeX\ sind in \texttt{*.tfm} Dateien enthalten
   (\TeX-Font-Metrics), welche nun als erstes aus den \texttt{*.mf} Dateien erzeugt
   werden m"ussen. Es stellt sich als erstes die Frage, welche der vielen
   \texttt{*.mf} Dateien "ubersetzt werden m"ussen und welche automatisch eingebunden
   werden. Im Fall der altdeutschen Fonts sind dies
   \begin{verbatim}
      yfrak.mf
      ygoth.mf
      yswab.mf
   \end{verbatim}
   Meist sind die "`top level"'-\texttt{*.mf} Dateien diejenigen, die in einer Zahl
   enden, der Design-Gr"o"se (z.~B.~\texttt{ecrm1000.mf}). Als weiterer Anhaltspunkt
   k"onnen in den \texttt{*.mf} Dateien Zeilen wie
   \begin{verbatim}
      input yfrabase;
      generate yfraknum;
   \end{verbatim}
   dienen, die darauf hinweisen, dass die entsprechenden Dateien automatisch
   eingebunden werden.
\item Alle \verb+*.mf+ Dateien werden nun in ein Verzeichnis kopiert, wo \MF\ sie
   findet, im Falle von em\TeX\ erzeugt man am besten ein Verzeichnis
   \verb+\emtex\mfinput\oldgerm+ (s.~auch \emph{TDS})
\item Zur Erzeugung der Font Metrics (\texttt{abc.tfm}) aus \texttt{abc.mf}
   ruft man \MF\ im Verzeichnis, in dem die \texttt{*.mf} Dateien stehen, mit
   \begin{verbatim}
      metafont \mode=localfont; input abc
   \end{verbatim}

   auf. \verb+\mode+ gibt das Ausgabeger"at
   an, \texttt{localfont} ist hierbei der Defaultmodus, der bei jeder \LaTeXe{}-Installation
   unterschiedlich sein kann und bei em\TeX\ z.~B.~als \texttt{laserjet} mit
   300 dpi Aufl"osung in \verb+\emtex\mfinput\etc\local.mf+ definiert ist.\footnote{
   Bei anderen \TeX-Installationen kann diese Datei auch \texttt{modes.mf} heissen}
   Dies hat jedoch nur Auswirkungen auf die erzeugte \texttt{abc.nnngf}\footnote{\texttt{nnn}
   ist die Aufl"osung des Ausgabeger"ates} Datei und ist f"ur
   \texttt{*.tfm} Dateien unerheblich, von einem kleinen Problem abgesehen:

   Bei geringen Aufl"osungen erzeugen Fonts wie z.~B.~die altdeutschen bei der
   Bearbeitung durch \MF\ Fehlermeldungen wie "`\texttt{Strange path}"', "`\texttt{bad
   pos}"' oder "`\texttt{Not a cycle}"'. Dies braucht einen normalerweise nicht zu
   beunruhigen, jedoch unterbricht es \MF\ im Ablauf. Um nicht st"andig \verb+<enter>+
   tippen zu m"ussen, kann man \MF\ im \texttt{batchmode} laufen lassen, d.~h.~es
   produziert dann keine Ausgabe auf dem Bildschirm. Fehler kann man dann nur
   noch in der Datei \texttt{abc.log} nachlesen.\footnote{Eine Alternative ist der
   \texttt{scrollmode}, bei dem die Ausgabe auf dem Bildschirm zwar erfolgt, aber bei
   Fehlern nicht angehalten wird.}
   \begin{verbatim}
      metafont \mode=localfont; batchmode; input xxx
   \end{verbatim}
   Im Falle von em\TeX\ w"are die Eingabe nun
   \begin{verbatim}
      mf386 \mode=localfont; batchmode; input ygoth
      mf386 \mode=localfont; batchmode; input yswab
      mf386 \mode=localfont; batchmode; input yfrak
   \end{verbatim}
   Dies produziert au"ser den gew"unschten \texttt{ygoth.tfm},
   \texttt{yfrak.tfm} und \texttt{yswab.tfm} auch noch
   \texttt{*.nnngf}\footnote{Wegen der DOS-Dateinamen wird nat"urlich in
   unserem Fall eine Datei mit der Endung \texttt{*.nnn} erzeugt} und die
   \texttt{*.log} Dateien, die man getrost erst einmal wieder l"oschen kann.

   Es gibt inzwischen \TeX-Installationen (z.~B.~Web2c-basierte Installationen,
   wenn man \texttt{MakeTeXTFM} einschaltet), die auch .tfm-Dateien automatisch
   erzeugen, bei denen dieser Schritt ganz unterbleiben kann.
\item Die \texttt{*.tfm} Dateien sind nun in ein Verzeichnis im \LaTeXe-Suchpfad
   zu kopieren, im Falle von em\TeX
   \begin{verbatim}
      \emtex\tfm\oldgerm\*.tfm
   \end{verbatim}
\item Mittels \verb+\usepackage{oldgerm}+ und zum Umschalten auf die neuen
   Fonts \verb+\gothfamily+ oder \verb+\frakfamily+ oder \verb+\swabfamily+
   sollte man die fonts dann schon benutzen k"onnen, ohne dass sich \LaTeXe\
   beschwert.
\item Beim Preview und beim Ausdruck k"onnen einem die Fehlermeldungen von \MF\
   wieder Unannehmlichkeiten bereiten, wenn \texttt{MFjob} versucht, die Fonts ({\tt
   *.pk}) f"ur den Previewer oder den Drucker automatisch zu erzeugen. \texttt{MFjob}
   bricht n"amlich die Bearbeitung ab, wenn \MF\ Fehlermeldungen ("`\texttt{Strange
   path}"' etc.) zur"uckgibt, und man bekommt sein Dokument nie zu sehen. Eine
   M"oglichkeit w"are, die Fonts vor dem Preview/Druck manuell zu erzeugen, was
   aber m"uhsam w"are. Man kann \texttt{MFjob} jedoch dazu "uberreden, diese Meldungen zu
   ignorieren, was "uber die Option \texttt{SET MFJOBOPT=/i} in der {\tt
   autoexec.bat} m"oglich ist.
\end{enumerate}

\section{Hilfe!} \label{help}

Auf jeden Fall ist die sehr gelungene Einf"uhrung "`\MF\ for Beginners"' von
Geoffrey Tobin zu empfehlen. Was den Aufruf von \MF\ anbelangt, sollte man
einen Blick in \texttt{metafont.doc} werfen, das in der em\TeX-Distribution
enthalten ist. Bez"uglich des NFSS von \LaTeXe{} sind Informationen in {\tt
fntguide.tex} zu finden, das Teil der \LaTeXe{}-Distribution ist.

Sollte all dies nicht zum Erfolg f"uhren, so kann man versuchen,
eine Antwort "uber die Newsgruppen \texttt{comp.text.tex} oder
\texttt{de.comp.text.tex} zu erhalten. Auf jeden Fall aber vorher
die FAQ lesen!
(z.~B.~\texttt{http://www.dante.de/dante/dante-faq.html} oder "uber
FTP auf \texttt{ftp.dante.de})

Sollte diese Kurzanleitung positive Resonanz finden, so wird es ab der
ersten "`richtigen Version"' auch eine englische Version geben.

\end{document}
