DECLARE SUB FontMapErzeugen ()
DECLARE SUB VPtoVFLauf ()
DECLARE SUB PLtoTFLauf ()
CLS
FontMapErzeugen
PLtoTFLauf
VPtoVFLauf
END
SUB FontMapErzeugen
' Mit Hilfe von afm2tfm die Fontnamen aller im Unterverzeichnis
' enthaltenen FontDateinamen ermitteln
' und in eine tempor�re Datei fonts.tmp schreiben:
IF DIR$("fonts.tmp") <> "" THEN
KILL "fonts.tmp"
END IF
AFMDatei$ = DIR$("*.afm") ' AFM-Dateien ermitteln
KB$ = LCASE$(LEFT$(AFMDatei$, 3)) ' Karl-Berry-Name (die ersten 3 Buchstaben)
DO '
AFMDatei$ = LCASE$(AFMDatei$) ' Kleinschreibung sicherstellen
Punkt = INSTR(AFMDatei$, ".")
TFMDatei$ = LEFT$(AFMDatei$, Punkt) + "tfm"
Befehl$ = "afm2tfm " + AFMDatei$ + " " + TFMDatei$ + " >>fonts.tmp" ' afm2tfm in einer DOS-Shell ausf�hren
SHELL Befehl$ ' Fontnamen ermitteln
KILL TFMDatei$ ' *.tfm-Datei l�schen (Befehl evtl. �berfl�ssig)
AFMDatei$ = DIR$ ' n�chste *.afm-Datei im Unterverzeichnis
LOOP WHILE AFMDatei$ <> ""
' ***************************************************************
OPEN "fonts.tmp" FOR INPUT AS #1
OPEN "fonts.map" FOR OUTPUT AS #2
DO
LINE INPUT #1, Zeile$
Lz = INSTR(Zeile$, " ") ' Trennstelle zwischen Datei- und Fontname
Dateiname$ = LEFT$(Zeile$, Lz - 1)
Fontname$ = RIGHT$(Zeile$, LEN(Zeile$) - Lz)
' Informationen f�r Non-Slanted Fonts schreiben:
SELECT CASE LCASE$(RIGHT$(Dateiname$, 2))
CASE "8a" ' Non-Condensed Font
AchtrEncDateiname$ = LEFT$(Dateiname$, LEN(Dateiname$) - 2) + "8r"
CASE "an" ' Condensed Font
AchtrEncDateiname$ = LEFT$(Dateiname$, LEN(Dateiname$) - 2) + "rn"
END SELECT
PRINT #2, AchtrEncDateiname$ + " " + Fontname$ + " "; CHR$(34) + "TeXBase1Encoding ReEncodeFont" + CHR$(34) + " <[8r.enc <" + Dateiname$ + ".pfb"
' Informationen f�r Slanted Fonts schreiben:
SELECT CASE LCASE$(AchtrEncDateiname$) ' Slanted Fonts f�r Non-Condensed
CASE KB$ + "a8r", KB$ + "i8r", KB$ + "l8r", KB$ + "k8r", KB$ + "r8r", KB$ + "m8r", KB$ + "d8r", KB$ + "s8r", KB$ + "b8r", KB$ + "c8r", KB$ + "h8r", KB$ + "x8r", KB$ + "u8r"
AchtrEncSlDateiname$ = LEFT$(AchtrEncDateiname$, LEN(AchtrEncDateiname$) - 2) + "o8r"
PRINT #2, AchtrEncSlDateiname$ + " " + Fontname$ + " "; CHR$(34) + ".167 SlantFont TeXBase1Encoding ReEncodeFont" + CHR$(34) + " <[8r.enc <" + Dateiname$ + ".pfb"
END SELECT
SELECT CASE LCASE$(AchtrEncDateiname$) ' Slanted Fonts f�r Condensed
CASE KB$ + "a8rn", KB$ + "i8rn", KB$ + "l8rn", KB$ + "k8rn", KB$ + "r8rn", KB$ + "m8rn", KB$ + "d8rn", KB$ + "s8rn", KB$ + "b8rn", KB$ + "c8rn", KB$ + "h8rn", KB$ + "x8rn", KB$ + "u8rn"
AchtrEncSlDateiname$ = LEFT$(AchtrEncDateiname$, LEN(AchtrEncDateiname$) - 3) + "o8rn"
PRINT #2, AchtrEncSlDateiname$ + " " + Fontname$ + " "; CHR$(34) + ".167 SlantFont TeXBase1Encoding ReEncodeFont" + CHR$(34) + " <[8r.enc <" + Dateiname$ + ".pfb"
END SELECT
LOOP WHILE NOT EOF(1)
CLOSE
IF DIR$("fonts.tmp") <> "" THEN
KILL "fonts.tmp"
END IF
PRINT "Fonts.map erzeugt"
END SUB
SUB PLtoTFLauf
PLDatei$ = DIR$("*.pl")
IF PLDatei$ = "" THEN
CLS
PRINT
PRINT "No PL files available yet."
PRINT "Please run 'TeX fontinst' first!"
PRINT
PRINT "Program aborted"
END
END IF
DO
PLDatei$ = LCASE$(PLDatei$)
Punkt = INSTR(PLDatei$, ".")
TFMDatei$ = LEFT$(PLDatei$, Punkt) + "tfm"
Befehl$ = "pltotf " + PLDatei$ + " " + TFMDatei$
SHELL Befehl$
PLDatei$ = DIR$
LOOP WHILE PLDatei$ <> ""
END SUB
SUB VPtoVFLauf
VPLDatei$ = DIR$("*.vpl")
DO
VPLDatei$ = LCASE$(VPLDatei$)
Punkt = INSTR(VPLDatei$, ".")
VFDatei$ = LEFT$(VPLDatei$, Punkt) + "vf"
TFMDatei$ = LEFT$(VPLDatei$, Punkt) + "tfm"
Befehl$ = "vptovf " + VPLDatei$ + " " + VFDatei$ + " " + TFMDatei$
SHELL Befehl$
VPLDatei$ = DIR$
LOOP WHILE VPLDatei$ <> ""
END SUB