summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/lib/printafm.ps
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlgs/lib/printafm.ps')
-rw-r--r--Master/tlpkg/tlgs/lib/printafm.ps234
1 files changed, 117 insertions, 117 deletions
diff --git a/Master/tlpkg/tlgs/lib/printafm.ps b/Master/tlpkg/tlgs/lib/printafm.ps
index 16524c54be7..9fb6c0dd7a3 100644
--- a/Master/tlpkg/tlgs/lib/printafm.ps
+++ b/Master/tlpkg/tlgs/lib/printafm.ps
@@ -11,7 +11,7 @@
% Altered by d.love@dl.ac.uk to produce input for Rokicki's afm2tfm,
% which groks the format of the Adobe AFMs.
-% $Id: printafm.ps 8779 2008-05-27 17:07:40Z alexcher $
+% $Id$
% Modified by L. Peter Deutsch 9/14/93:
% uses Ghostscript's =only procedure to replace 'buf cvs print'.
% Modified by L. Peter Deutsch 9/6/95:
@@ -25,142 +25,142 @@
% c toupper - c
/toupper {
- dup dup 8#141 ge exch 8#172 le and {
- 8#40 sub
- } if
+ dup dup 8#141 ge exch 8#172 le and {
+ 8#40 sub
+ } if
} bind def
% print unencoded character metric data lines for glyphs in `v' array
% and reset `v' -
/printv {
- % define a new font with v as its encoding vector
- currentfont maxlength dict /f exch def
- currentfont {
- exch dup dup /FID ne exch /Encoding ne and {
- exch f 3 1 roll put
- } {
- pop pop
- } ifelse
- } forall
- f /Encoding v put
- f /FontName /temp put
- % make this new font the current font
- /temp f definefont setfont
- % print a entry for each character not in old vector
- /e currentfont /Encoding get def
- 0 1 255 {
- dup e exch get
- dup dup /.notdef ne exch s exch known not and {
- exch -1 printmetric
- } {
- pop pop
- } ifelse
- } for
- 0 1 255 {
- v exch /.notdef put
- } for
+ % define a new font with v as its encoding vector
+ currentfont maxlength dict /f exch def
+ currentfont {
+ exch dup dup /FID ne exch /Encoding ne and {
+ exch f 3 1 roll put
+ } {
+ pop pop
+ } ifelse
+ } forall
+ f /Encoding v put
+ f /FontName /temp put
+ % make this new font the current font
+ /temp f definefont setfont
+ % print a entry for each character not in old vector
+ /e currentfont /Encoding get def
+ 0 1 255 {
+ dup e exch get
+ dup dup /.notdef ne exch s exch known not and {
+ exch -1 printmetric
+ } {
+ pop pop
+ } ifelse
+ } for
+ 0 1 255 {
+ v exch /.notdef put
+ } for
} bind def
% printcharmetrics -
/printcharmetrics {
- (StartCharMetrics ) print
- currentfont /CharStrings get dup length exch /.notdef known { 1 sub } if =
- currentfont 1000 scalefont setfont 0 0 moveto
- /e currentfont /Encoding get def
- 0 1 255 {
- dup e exch get
- dup /.notdef ne {
- exch dup printmetric
- } {
- pop pop
- } ifelse
- } for
- % s contains an entry for each name in the original encoding vector
- /s 256 dict def
- e {
- s exch true put
- } forall
- % v is the new encoding vector
- /v 256 array def
- 0 1 255 {
- v exch /.notdef put
- } for
- % fill up v with names in CharStrings
- /i 0 def
- currentfont /CharStrings get {
- pop
- i 255 le {
- v i 3 -1 roll put
- /i i 1 add def
- } {
- printv
- v 0 3 -1 roll put
- /i 1 def
- } ifelse
- } forall
- printv
- (EndCharMetrics) =
+ (StartCharMetrics ) print
+ currentfont /CharStrings get dup length exch /.notdef known { 1 sub } if =
+ currentfont 1000 scalefont setfont 0 0 moveto
+ /e currentfont /Encoding get def
+ 0 1 255 {
+ dup e exch get
+ dup /.notdef ne {
+ exch dup printmetric
+ } {
+ pop pop
+ } ifelse
+ } for
+ % s contains an entry for each name in the original encoding vector
+ /s 256 dict def
+ e {
+ s exch true put
+ } forall
+ % v is the new encoding vector
+ /v 256 array def
+ 0 1 255 {
+ v exch /.notdef put
+ } for
+ % fill up v with names in CharStrings
+ /i 0 def
+ currentfont /CharStrings get {
+ pop
+ i 255 le {
+ v i 3 -1 roll put
+ /i i 1 add def
+ } {
+ printv
+ v 0 3 -1 roll put
+ /i 1 def
+ } ifelse
+ } forall
+ printv
+ (EndCharMetrics) =
} bind def
% name actual_code normal_code printmetric -
/printmetric {
- /saved save def
- (C ) print =only
- ( ; WX ) print
- onechar 0 3 -1 roll put
- onechar stringwidth pop round cvi =only
- ( ; N ) print =only
- ( ; B ) print
- onechar false charpath flattenpath mark pathbbox counttomark {
- counttomark -1 roll
- round cvi =only
- ( ) print
- } repeat pop
- (;) =
- saved restore
+ /saved save def
+ (C ) print =only
+ ( ; WX ) print
+ onechar 0 3 -1 roll put
+ onechar stringwidth pop round cvi =only
+ ( ; N ) print =only
+ ( ; B ) print
+ onechar false charpath flattenpath mark pathbbox counttomark {
+ counttomark -1 roll
+ round cvi =only
+ ( ) print
+ } repeat pop
+ (;) =
+ saved restore
} bind def
% fontname printafm -
/printafm {
- findfont gsave setfont
- (StartFontMetrics 2.0) =
-
- % Print the UniqueID
-
- currentfont /UniqueID known {
- (Comment UniqueID ) print
- currentfont /UniqueID get =only
- (\n) print
- } if
-
- (FontName ) print currentfont /FontName get =
-
- % Print the FontInfo
-
- currentfont /FontInfo get {
- exch
- dup /FSType ne {
- =string cvs dup dup 0 get 0 exch toupper put print
- ( ) print =
- } {
- pop pop
- } ifelse
- } forall
-
- % Print the FontBBox
-
- (FontBBox) print
- currentfont /FontBBox get {
- ( ) print round cvi =only
- } forall
- (\n) print
-
- printcharmetrics
- (EndFontMetrics) =
- grestore
+ findfont gsave setfont
+ (StartFontMetrics 2.0) =
+
+ % Print the UniqueID
+
+ currentfont /UniqueID known {
+ (Comment UniqueID ) print
+ currentfont /UniqueID get =only
+ (\n) print
+ } if
+
+ (FontName ) print currentfont /FontName get =
+
+ % Print the FontInfo
+
+ currentfont /FontInfo get {
+ exch
+ dup /FSType ne {
+ =string cvs dup dup 0 get 0 exch toupper put print
+ ( ) print =
+ } {
+ pop pop
+ } ifelse
+ } forall
+
+ % Print the FontBBox
+
+ (FontBBox) print
+ currentfont /FontBBox get {
+ ( ) print round cvi =only
+ } forall
+ (\n) print
+
+ printcharmetrics
+ (EndFontMetrics) =
+ grestore
} bind def
% Check for command line arguments.