home *** CD-ROM | disk | FTP | other *** search
- %---> PR0691_2.PS
- %---> Präambel für PostScript.
- %---> Erzeugt den Font "LineDraw" mit den Grafik-
- %---> zeichen des IMB-PC-Zeichensatzes.
- %---> (c) 1991 G. Born & TOOLBOX
-
- /LineFont 25 dict def % Tabelle für 25 Einträge
- LineFont begin % Definiere Font
-
- % definiere die Fontparameter: Typ, Matrix,
- % "Bounding Box" und Decodierungsvektor
- /FontType 3 def % Adobe-Typ 3,
- % muß bei diesem Codie-
- % rungsverfahren 3 sein
- /FontMatrix [0.03333 0 0 0.03333 0 0] def
- /FontBBox [0 -8 18 30] def % Zeichenbox
- /Encoding 256 array def % Dekodierungsvektor
-
- % Initialisiere den Decodierungsvektor
- 0 1 255 {Encoding exch /.notdef put} for
-
- % Belege den Decodierungsvektor mit den Namen
- % der Zeichen ab Code 45!
- Encoding 45 [
- /sp /sh /light /med /dark
- /sv /srj /sdjr /dsjr /sdtr /dstr /djr /dv
- /dtr /dbr /sdbr /dsbr /str /sbl /sjb /sjt
- /sjl /sh /sjc /sdjl /dsjl /dbl /dtl /djb
- /djt /djl /dh /djc /dsjb /sdjb /dsjt /sdjt
- /sdbl /dsbl /dstl /sdtl /sdjc /dsjc /sbr /stl
- /black /bb /bl /br /bt] putinterval
-
- % Hilfsprozeduren zur Optimierung der Fontdefinition
- /a {moveto lineto stroke} bind def
- /b {moveto lineto lineto stroke} bind def
- /c {moveto 9 7 lineto stroke} bind def
- /d {moveto lineto lineto} bind def
- /e {lineto closepath fill} bind def
- /f {7 30 7 9 0 9 b} def
- /g {12 30 12 9 18 9 b} def
- /h {7 -8 7 5 0 5 b} def
- /i {12 -8 12 5 18 5 b} def
- /j {0 7 18 7 a} def
- /k {9 22 9 -8 a} def
- /l {0 5 18 5 a 0 9 18 9 a} def
- /m {7 22 7 -8 a 12 22 12 -8 a} def
- /n {0 -8 18 -8 18 22 d 0 22 e} def
-
- % Dictionary-"CharProcs", die die Prozeduren
- % zur Definition der Zeichen aufnehmen
- /CharProcs 55 dict def
- CharProcs begin
- /.notdef {} def % Unbelegte Positionen
- /sp { 1 1 moveto } def
- /sv {k} def
- /srj {k 0 7 c} def
- /sdjr {k 0 5 9 5 a 0 9 9 9 a} def
- /dsjr {m 0 7 7 7 a} def
- /sdtr {0 7 12 7 12 -8 b 7 7 7 -8 a} def
- /dstr {0 9 9 9 9 -8 b 0 5 9 5 a} def
- /djr {f h 12 -8 12 22 a} def
- /dv {m} def
- /dtr {h 0 9 12 9 12 -8 b} def
- /dbr {f 0 5 12 5 12 30 b} def
- /sdbr {0 7 12 7 12 30 b 7 7 7 30 a} def
- /dsbr {0 5 9 5 9 30 b 0 9 9 9 a} def
- /str {0 7 9 7 9 -8 b} def
- /sbl {9 30 9 7 18 7 b} def
- /sjb {j 9 30 c} def
- /sjt {j 9 -8 c} def
- /sjl {k 18 7 c} def
- /sh {j} def
- /sjc {j k} def
- /sdjl {k 9 9 18 9 a 9 5 18 5 a} def
- /dsjl {m 12 7 18 7 a} def
- /dbl {g 7 30 7 5 18 5 b} def
- /dtl {i 7 -8 7 9 18 9 b} def
- /djb {f g 0 5 18 5 a} def
- /djt {h i 0 9 18 9 a} def
- /djl {g i 7 -8 7 22 a} def
- /dh {l} def
- /djc {f g h i} def
- /dsjb {l 9 30 9 9 a} def
- /sdjb {j 7 7 7 30 a 12 7 12 30 a} def
- /dsjt {l 9 -8 9 5 a} def
- /sdjt {j 7 7 7 -8 a 12 7 12 -8 a} def
- /sdbl {7 30 7 7 18 7 b 12 30 12 7 a} def
- /dsbl {9 30 9 5 18 5 b 9 9 18 9 a} def
- /dstl {9 -8 9 9 18 9 b 9 5 18 5 a} def
- /sdtl {7 -8 7 7 18 7 b 12 -8 12 7 a} def
- /sdjc {m j} def
- /dsjc {l k} def
- /sbr {0 7 9 7 9 30 b} def
- /stl {9 -8 9 7 18 7 b} def
- /light {0.90 setgray n} def
- /med {0.60 setgray n} def
- /dark {0.30 setgray n} def
- /black {n} def
- /bt {0 7 18 7 18 22 d 0 22 e} def
- /bb {0 -8 18 -8 18 7 d 0 7 e} def
- /bl {0 -8 9 -8 9 22 d 0 22 e} def
- /br {9 -8 18 -8 18 22 d 9 22 e} def
- end % alle Zeichen in CharProcs
-
- % Prozedur "BuildChar" zum Aufbau des Zeichensatzes
- % Die Prozedur wird von der Fontmaschine mit dem
- % Code des jeweiligen Zeichens aufgerufen. Über
- % den Encodingvektor liest sie dann den Namen der
- % Ausgabeprozedur. Die Prozedur wird aus "CharProcs"
- % gelesen und mit "exec" ausgeführt.
-
- /BuildChar
- { 1 setlinewidth % Dünne Linie
- 18 0 setcharwidth % Zeichenabstand
- exch begin % Zeichencode holen
- Encoding exch get % Suche Namen
- CharProcs exch get % Suche Prozedur
- exec % Ausführen
- end
- } def
- end % Schluß von "LineDraw"
-
- % Aktiviere den Font, falls dieser noch nicht bekannt
- FontDirectory /LineDraw known not
- {/LineDraw LineFont definefont pop} if
-
- % Ende der Präambel; hier kann das eigentliche
- % Programm folgen. Das Präambelfile wird dann
- % vorab zum Drucker geschickt.
-