\documentstyle[12pt,twoside,german]{article}



\newfont{\logo}{logo12}

\newcommand{\mf}{{\logo META}\-{\logo FONT}}

\newfont{\bsp}{beispiel}



\author{Christoph Pagalies\\Markus Fritze}

\title{Beschreibung des Font-Converters}

\date{15.07.1990}



\begin{document}

\maketitle



\pagebreak



\section{Was is das denn?}



Als \TeX-Benutzer guckte ich immer neidisch auf die DTP-Programme, die eine 
Unmenge an Fonts zur Verf�gung hatten. Man sollte seine Texte zwar nicht 
unn�tig mit Fonts �berladen; aber mal etwas anderes als Computer Modern 
Roman w�r ja doch ganz sch�n\dots



Ein anderes Problem tauchte auf, als ich ein kleines Telefon f�r einen 
Briefkopf entwerfen wollte. Wenn ich eine ganze Font-Familie mit �hnlichen 
Zeichen produzieren will wird man von \mf\ ja ganz gut unterst�tzt --- aber 
als ich (als noch nicht sehr \mf-Bewanderter) nur ein schlichtes Zeichen 
kreieren wollte f�hlte ich mich reichlich genervt.



Also: ein Converter mu�te her. Calamus bot sich als Fontquelle an: es gibt 
schon reichlich Fonts daf�r und auch Calamus benutzt Vektorfonts. Au�erdem 
unterst�tzt Calamus nur recht �rmliche Befehle, um seine Fonts darzustellen:



Man kann den Startpunkt verschieben, vom Startpunkt zu einem n�chsten eine 
Linie oder eine B�zierkurve (mit nur 2 Haltepunkten) ziehen --- das kann 
\mf\ ja nun wahrlich schon lange.



Das Ergebnis meiner Konvertierversuche liegt nun vor Dir. Man kann jetzt 
einen \TeX-Zeichensatz mit Didot oder dem DMC-Fonteditor entwerfen und 
hinterher nach \mf\ konvertieren. Auch vollst�ndige Calamus-Fonts k�n\-nen 
�bertragen werden.



Damit auch andere in den Genu� des einfacheren Editierens kommen k�nnen, 
habe ich mich entschlossen, den Converter als Shareware-Programm 
weiterzugeben.



\section{Wozu Shareware?}\label{share}



Shareware hei�t, du darfst das Programm frei kopieren. Jeder darf es nach 
Herzenslust benutzen --- wenn man es jedoch regelm��ig verwendet oder 
professionell damit arbeitet, ist den Autoren (in diesem Fall also 
$\Sigma$-soft) etwas Geld als Anerkennung und als Ansporn f�r weitere Arbeit 
daran zu schicken.



\begin{itemize}

\item Kopiere stets alle Dateien auf der Diskette mit!



\item Wenn dir der Converter gef�llt, schick bitte 20\,DM an:



\begin{center}      $\Sigma$-soft\\

      z.\,Hd. Christoph Pagalies\\

      Am Schulwald 24b\\

      \smallskip

      2000 Norderstedt\\

\end{center}



Daf�r habst du dann folgende Vorteile:



\begin{itemize}



\item Du bekommst die neuste Version des Converters mit deiner 
per\-s�n\-lich\-en Seriennummer.



\item Wenn Du Fehler im Converter finden solltest und uns eine genaue 
Fehlerbeschreibung schickst, erh�ltst du gleich eine fehlerfreie(re) Version 
zur�ck.



\item Die Shareware-Version hat zwei kleine Einschr�nkungen: Sie kann nur 
Fonts �bersetzen, die nicht gesch�tzt sind, d.\,h. Seriennummer Null haben. 
Dies erkennt man daran, da� sie von jeder Calamus-Version geladen werden 
kann. Kauft man jedoch bei DMC oder GMA professionelle Fonts dazu, so sind 
diese mit der Seriennummer der Calamus-Version, f�r die sie gekauft wurden, 
versehen.



Au�erdem k�nnen nur 10 Eintr�ge ins ligtable vorgenommen werden. Das ist bei 
einzelnen Zeichen und zum Testen des Programms nicht weiter tragisch; bei 
gr��eren Fonts aber doch sehr st�rend.



Wenn du dich registrieren l��t, erh�lst du einen Converter, der auch solche 
Fonts verarbeiten kann.



\end{itemize}

\end{itemize}



\section{Wie geht denn das nun?}



Man l�dt den Converter (das �berrascht vielleicht jemanden, ist aber n�tig). 
Dieser fragt in einem File-Selector nach einer Font-Batch-Datei (Extension 
\verb|.FBT|). Gehen wir erstmal davon aus, da� wir eine solche nicht haben 
--- wir klicken auf "`ABBRUCH"'. Statt dessen fragt er nun nach einer 
Calamus-Font-Datei (Extension \verb|.CFN|). Hier gibt man nun den zu 
konvertierenden Font an. Als letztes sieht man den File-Selector schon 
wieder: nun wird nach der Ziel (\verb|.MF|)-Datei gefragt.



Dann geht's aber los. Der Font wird geladen und intern kurz konvertiert. Man 
sieht einige Linien, die im Calamus-Font eingestellt werden k�nnen, auf dem 
Bildschirm. Aus diesen wird die Fonth�he ermittelt. Nun k�nnen alle Zeichen 
�berarbeitet werden: Wenn du eine Taste dr�ckst, wird das Zeichen angezeigt. 
Dabei gibt es zwei Linienarten:



\begin{itemize}

\item durchgezogene Linien umschlie�en Fl�chen, die gef�llt gezeichnet 
werden --- sie werden in einen Fill-Befehl gewandelt.



\item gestrichelte Linien umschlie�en Fl�chen, die gel�scht werden --- sie 
repr�sentieren einen Unfill-Befehl.

\end{itemize}



Ein Beispiel: Der Buchstabe "`{\bsp A}"'. Die erste Linie zeichnet das 
�u�ere mit Fill, das sieht dann so aus: {\bsp B}. Die Innereien ({\bsp C}) 
werden mit Unfill wieder gel�scht, et voil�: {\bsp A}.



So weit, so gut, nur geht das ganze bei anderen Buchstaben in die Hose, so 
macht der Converter aus einem {\bsp i} ein {\bsp I}, da er den Punkt l�scht, 
statt ihn zu setzen. Hier mu� man nun nachbearbeiten: Man dr�ckt auf {\bsp 
i} und sieht, da� er den Punkt zu l�schen gedenkt. Mit den Funktionstasten 
kann man nun jede einzelne Kurve hin- und hertoggeln. \verb|F1| steht 
f�r die erste Kurve usw.



Wenn man nun fertig ist, dr�ckt man \verb|ESC|. Der Converter bietet einem 
an, den Font zu konvertieren und/oder eine Font-Batch-Datei anzulegen.



Beim Font-Erzeugen wird vorher noch eine Ligaturtabelle erstellt, in der die 
gravierensten Korrekturen eingetragen werden. Leider darf eine 
Ligaturtabelle im gegenw�rtigen \mf\ nicht allzu lang werden, warten wir das 
n�chste Update ab (Hallo Lutz!). Die so erzeugte Datei kann problemlos mit 
\mf\ �bersetzt werden, es sind keine Include-Dateien o.\,�. notwendig.



\section{Was soll ich mit Font-Batch?}



Wenn der Converter seine Arbeit beendet hat, schl�gt er einem vor, eine 
Font-Batch-Datei anzulegen. Diese sieht z.\,B. so aus:



\begin{verbatim}

This is a font batch file for the Calamus Font Converter

General settings:



DEBUG=FALSE

CORRECT=TRUE

FLOAT=1

LIGTABLE=256

SIZE=10

QUAD=18

SPACE=5

STRETCH=2

SHRINK=2

SLANT=0

EXTRA=5

INTER LETTER SPACE=5

SCALE_FACTOR=AUTO

CALAMUS FONT=D:\SOUV5ME.CFN

METAFONT FILE=D:\SOUV5ME.MF



Font conversion data:

A="A"  (+---------)

B="B"  (+---------)

C="C"  (+---------)

D="D"  (+---------)

\end{verbatim}



Diese Einstellungen k�nnen mit jedem Texteditor ge�ndert werden. Wenn 
derselbe Font nochmal konvertiert werden mu�, reicht es, die 
Font-Batch-Datei anzugeben. Wenn ein �hnlicher Font konvertiert werden soll, 
kann man dieselbe Font-Batch-Datei meist weiterverwenden --- notfalls mit 
kleinen �nderungen.



\paragraph{Was bedeutet der Kram denn nun im einzelnen?}



Alle Zeilen, die keine Gleichheitszeichen beinhalten, werden als Kommentar 
gewertet. Alle anderen weisen Variablen einen Wert zu.



Einige Variablen werden 1:1 an \mf\ weitergereicht:



\begin{center}

\begin{tabular}{|r|l|}

\hline

SIZE     & font\_size\\

QUAD     & font\_quad\\

SPACE    & font\_normal\_space\\

STRETCH  & font\_normal\_stretch\\

SHRINK   & font\_normal\_shrink\\

SLANT    & font\_slant\\

EXTRA    & font\_extra\_space\\

\hline

\end{tabular}

\end{center}



Wenn DEBUG auf TRUE gesetzt wird, f�gt der Converter noch "`{\tt 
screen\-strokes; showit;}"' ein, damit man beim \mf-Lauf alles mitverfolgen 
kann. FLOAT gibt die Zahl der Nachkommastellen an. Viele Nachkommastellen 
f�hren zwar zu einer sehr hohen Genauigkeit, mit der die Zeichen 
reproduziert werden, was sich vor allen bei Ganzseiten-Buchstaben und 
unterhalb der Wellenl�nge des Lichts bemerkbar macht, verl�ngert aber die 
Dateien extrem.



INTER LETTER SPACE ist die Variable "`i"', die zur Buchstabenbreite addiert 
wird. SCALE\_FACTOR gibt die Gr��e der "`font\_x\-height"'. Setzt man den 
FACTOR auf AUTO, so wird dieser Wert aus den Zeichenausma�en des 
Calamus-Fonts errechnet.



LIGTABLE gibt die maximale Anzahl der "`ligtable"'-Eintr�ge an und liegt 
beim jetzigen \mf\ bei 256. In der Shareware-Version sind nur 10 m�glich --- 
deshalb k�nnen gr��ere Fonts nur mit der "`regul�ren"' Version sinnvoll 
kovertiert werden.



Da auch 256 bei einigen Fonts eine gro�e Einschr�nkung sein kann (z.\,B. bei 
Englischer Schreibschrift, bei der alle Zeichen stark nach rechts geslanted 
sind), gibt es noch einen CORRECTION-Faktor. Setzt man diesen auf TRUE, so 
wird die Zeichenbreite (die \verb|beginchar|-Ma�e, die an \TeX\ weitergeben 
werden), der Buchstaben verkleinert. Damit werden die Folgebuchstaben weiter 
heranger�ckt, ohne das ein \verb|ligtable|-Eintrag n�tig ist. Setzt man 
CORRECTION auf AUTO, so werden Zeichen noch weiter verkleinert, so da� 
einige Zeichen im Extremfall sogar links in das vorhergehende Zeichen 
hineinragen k�nnen; durchschnittlich passen die Zeichen aber besser. Die 
CORRECTION hat aber einen Nachteil: Die ganzen Korrekturwerte werden nur 
durch Kombination aller Buchstaben miteinander errechnet. Wenn einige 
Buchstaben aber mit anderen Fonts kombiniert werden, geht das nat�rlich 
schief.



Last not least steht in CALAMUS FONT und METAFONT FILE Name und Pfad der 
Dateien, damit man sich beim zweiten Start des Converters zwei 
File-Selectoren sparen kann.



Darunter findet man nun die Abteilung "`Font Conversion Data"':



Hier sind alle Buchstaben im Font einmal aufgelistet. Links ist das 
\mf-Zeichen zu finden, rechts steht das Calamus-Zeichen. Hier k�nnen also 
einzelne Buchstaben vertauscht werden --- defaultm��ig geschieht dies mit 
dem "`�"', da� in Calamus woanders zu finden ist. Wenn ein Buchstabe zu 
kompliziert einzutippen ist, kann man auch dessen ASCII-Wert eingeben 
(dezimal oder mit \$ in hex).



Hinter jedem Buchstaben k�nnen in Klammern noch zehn Plus- oder Minuszeichen 
stehen, die die zehn Funktionstasten repr�sentieren. Plus bedeutet Fill, 
Minus steht f�r Unfill.



\bigskip



Abschlie�end m�chte ich jedem viel Spa� mit dem Converter w�nschen. Wer ihn 
nicht nur mal testen, sondern richtig benutzen will oder regelm��ig einen 
konvertierten Font verwendet, sollte nochmal einen Blick in 
Abschnitt~\ref{share} werfen. Falls noch Fragen offen sind, bin ich 
mailboxm��ig in der Data-Hamburg unter der Telefonnummer 040/4\,90\,55\,58, 
8N1 300/1200/2400 oder �bers Zerberus-Netz als CHRISTOPH@DATA-HH.ZER zu 
erreichen.



\end{document}

