% 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++ 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}