1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
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 temporre 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 ausfhren
SHELL Befehl$ ' Fontnamen ermitteln
KILL TFMDatei$ ' *.tfm-Datei lschen (Befehl evtl. berflssig)
AFMDatei$ = DIR$ ' nchste *.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 fr 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 fr Slanted Fonts schreiben:
SELECT CASE LCASE$(AchtrEncDateiname$) ' Slanted Fonts fr 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 fr 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
|