From: hessmann@unipas.fmi.uni-passau.de (Georg Hessmann)
Subject: Re: AMI: Fontlibs unter PasTex
Organization: University of Passau, Germany
Date: Tue, 22 Dec 1992 12:29:58 GMT

In article <16543bb5@f106.n248.z2.fidonet.org> Carsten_Schlote@f106.n248.z2.fidonet.org (Carsten Schlote) writes:
>In einer Msg vom <13-Dec-92 17:24:21> schrieb Stefan Zeiger (2:249/40.15) ueber
><AMI: Fontlibs unter PasTex > :
>
> CS>> Bisher hab ich z.B. einfach Fonts aus dem Verzeichnis tex:pk/90/ mit
> CS>> "flib a tex:fonlib/PK0090 file 1 file2 ..." in das Lib geschaufelt...
>
> SZ> Bist Du sicher dass Du keinen Pfad zu den Fonts angegeben hast,
> SZ> sondern das ganze im Font-Verzeichnis direkt gemacht hast ? Die Pfade
> SZ> werden naemlich mit in die Fontlibs gepackt. Du musst alle Fontlibs
> SZ> einheitlich packen und dann den genauen Namen der Fonts in den
> SZ> Libraries (inkl. Pfade !) in der Konfiguration angeben.
>
>Also die Fonts stehen unter dem gleichen Namen in den Libs, wie sie auch in
>tex:"pk/<dpi>/<font>" stehen wuerden.

Die Benennung der Fonts *innerhalb* einer Fontlibrary ist leider
ein haeufig auftretendes Problem. Wenn man z.B. nach TeX:pk/100
geht und dort einfach alle Fonts in eine Library steckt, so werden
die Fonts mit folgenden Namen in die Library eingetragen: 'cmr10.100pk ...'

Danach sucht ShowDVI und DVIprint aber leider nicht.
Diese suchen *nur* nach dem Fontnamen, also z.B. nach 'cmr10'.
Dies habe ich so eingebaut, da ja die Aufloesung bereits im Namen
der Fontlibrary angegeben ist.

Man muesste also erst die Fonts umbenennen (cmr10.100pk --> cmr10)
und dann in die Library packen, damit ShowDVI und DVIprint diese
sofort finden koennen. Eine andere Moeglichkeit ist es, den
Formatstring zu aendern, mit dessen Hilfe die Treiber die Fonts
in den Libraries suchen. Dies muss in den TeX:pk/*.fnt Files gemacht
werden. Die genaue Option habe ich aber leider nicht im Kopf.

EIne andere Moeglichkeit zur Loesung dieses Problems ist es, eine
neue Flib Version zu verwenden. In Passau (ftp.uni-passau.de
/pub/amiga/tex/PasTeX1.3) liegt die Flib Version 1.10, welche
zwei neue Optionen hat. Damit kann man sowohl den Pfad, als auch
die Extension eines Fonts abschneiden bevor dieser in die Lib.
gesteckt wird. Somit kann man mittels

% flib avse TeX:fontlib/PK0100 TeX:pk/100/#?

alle Fonts der Aufloesung 100pk mit einem Kommando in eine Fontlibrary
stecken, die auch ohne Aenderungen in *.fnt Files sofort korrekt
verarbeitet wird.



Irgendwann in naechster Zeit moechte ich beginnen PasTeX 2.0 zu entwickeln.

Dies soll ein komplettes 'rewrite' sein, bei dem ich mich nicht an
bisherige Vorgaben (*.fnt Files usw.) halten moechte.
Z.B. den Fontsuchalgorithmus moechte ich komplett neuschreiben.
(Diesmal natuerlich mit virtuellen Fonts :-)
Das Format der *.fnt Files gefaellt mir ueberhaupt nicht, einerseits
ist es zu aufgeblasen, andererseits fehlen dann doch wieder manche
Optionen, die vielleicht doch von Interesse waeren.

Bevor ich aber nun daran gehe, das Ganze komplett neu zu schreiben,
moechte ich es (ausnahmsweise :) vorher genau planen, damit auch
wirklich alles zusammen passt, und nicht noch irgendwelche Sachen
nachtraeglich eingeflickt werden sollen.

Daher nun meine Frage: WIE SOLL PasTeX GENAU MIT DEN FONTS UMGEHEN?

Darunter verstehe ich z.B.:
 - wo soll nach den Fonts gesucht werden
 - in welchen Formaten (Namensschema...) soll nach den Fonts gesucht werden
 - was ist zu tun, wenn ein Font nicht gefunden wird
   o soll durch einen Font einer aehnlichen Aufloesung ersetzt werden?
   o soll durch einen beliebigen anderen Font ersetzt werden?
   o soll das tfm File geladen werden und der Platz leer gelassen werden?
   o soll das tfm File geladen werden und schwarze Kaestchen gezeichnet werden?
   o soll Metafont aufgerufen werden? (mit welchem Mode?)
   o ... ?
 - wie wird mit virtuellen Fonts/Postscript Fonts umgegangen
 - soll es eine Moeglichkeit geben, eine Aufloesung auf eine andere zu mappen?
   (z.B. 119dpi auf 120dpi)
 - wie soll die Konfigurierbarkeit aussehen (ASCII File, Prefs Editor, ...)
 - ... 

Meine neue Fontverwaltung moechte ich als shared-Library aufbauen.
D.h. mehrere/verschiedene Treiber sollen gleichzeitig damit arbeiten
koennen und es soll nach Moeglichkeit auch einfach sein, meine
Fontverwaltung in andere, bestehende Treiber (dvips, dvilj) einzubauen.

Dadurch ergeben sich weitere Fragen:
 - wie sollte das Library Interface zu den Treibern aussehen
   o was fuer Funktionen werden benoetigt?
   o wie wird das mit der Konfigurierbarkeit geregelt?
   o Datenstrukturen?
 - wie soll die Speicherverwaltung fuer die geladenen Fonts aussehen
   (statisch/dynamisch). Wann soll der Speicher freigegeben werden?
 - ... 


_Jeder_ ist aufgerufen zu den obigen Fragen seinen Senf dazuzugeben, egal
ob PasTeX Benutzer oder nicht. Ich bin auch sehr darin interessiert, wie
andere TeX Systeme die Probleme loesen oder wo man noch etwas schoener
gestalten koennte.

Ich weiss nicht bis wann PasTeX 2.0 fertig werden wird (Ende 93?), aber
je bessere, faszinierendere und detailiertere Antworten ich bekommen werde,
desto schneller werd ich beginnen das zu implementieren.

	Georg.


PS: Ich fahr nun ueber Weinachten/Neujahr nach Hause, also nicht wundern
wenn auf mails nicht gleich eine Antwort kommt.

-- 
  hessmann@fmi.uni-passau.de			(Georg Hemann)
						(Oberer Markt 7/D-8712 Volkach)
Newsgroups: de.comp.tex