summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/lib/showchar.ps
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlgs/lib/showchar.ps')
-rw-r--r--Master/tlpkg/tlgs/lib/showchar.ps93
1 files changed, 93 insertions, 0 deletions
diff --git a/Master/tlpkg/tlgs/lib/showchar.ps b/Master/tlpkg/tlgs/lib/showchar.ps
new file mode 100644
index 00000000000..d6ef66c6ba0
--- /dev/null
+++ b/Master/tlpkg/tlgs/lib/showchar.ps
@@ -0,0 +1,93 @@
+% Copyright (C) 1993, 1994, 1996 Aladdin Enterprises. All rights reserved.
+%
+% This software is provided AS-IS with no warranty, either express or
+% implied.
+%
+% This software is distributed under license and may not be copied,
+% modified or distributed except as expressly authorized under the terms
+% of the license contained in the file LICENSE in this distribution.
+%
+% For more information about licensing, please refer to
+% http://www.ghostscript.com/licensing/. For information on
+% commercial licensing, go to http://www.artifex.com/licensing/ or
+% contact Artifex Software, Inc., 101 Lucas Valley Road #110,
+% San Rafael, CA 94903, U.S.A., +1(415)492-9861.
+
+% $Id: showchar.ps 6300 2005-12-28 19:56:24Z giles $
+% showchar.ps
+% Show the outline and rasterized forms of a character.
+
+/F where { pop } { /F /Times-Roman def } ifelse
+/P where { pop } { /P 16 def } ifelse
+/Rx where { pop } { /Rx 100 def } ifelse
+/Ry where { pop } { /Ry 100 def } ifelse
+/Cs where { pop } { /Cs (M) def } ifelse
+/Pr where { pop } { /Pr false def } ifelse
+/Delay where { pop } { /Delay 0 def } ifelse
+
+0 setgray
+(markpath.ps) runlibfile
+(markhint.ps) runlibfile
+/mmx [1 0 0 1 0 0] def
+/getpath % - getpath <pathproc>
+ { [
+ { /moveto cvx } { /lineto cvx } { /curveto cvx } { /closepath cvx }
+ pathforall
+ ] cvx
+ } def
+/bitselectfont % <fontname> <scale> bitselectfont -
+ { exch findfont exch scalefont setfont
+ % Compute the bounding box in device coordinates.
+ gsave [Rx 72 div 0 0 Ry 72 div 0 0] setmatrix
+ currentfont /FontMatrix get concat
+ currentfont /FontBBox get aload pop
+ transform ceiling cvi /ury exch def ceiling cvi /urx exch def
+ transform floor cvi /lly exch def floor cvi /llx exch def
+ /bbx urx llx sub def /bby ury lly sub def
+ grestore
+ } def
+/bitshow % <string> bitshow -
+ { /S exch def gsave
+ /W bbx 8 add 7 or 1 add def
+ /H bby 8 add def
+ /buf W 8 idiv string def
+ /M [Rx 72 div 0 0 Ry -72 div 4 llx sub H 4 sub] def
+ M W H <ff 00> makeimagedevice
+ /dev exch def
+ gsave dev setdevice
+ newpath 0 lly idtransform moveto
+ 0 setgray
+ gsave
+ /hpath S false charpath getpath def
+ grestore
+ S show grestore
+ 20 20 translate
+ 50000 Rx Ry .max P mul div dup scale
+ 0.7 setgray
+ 0 W H true M
+ { dup 1 add exch dev exch buf copyscanlines
+ } imagemask pop
+ 0 setlinewidth
+ gsave 0.5 1 0.5 setrgbcolor hpath exec mmx markpath grestore
+ 0 0.5 1 setrgbcolor hpath exec stroke
+ % Show the hints for Type 1 fonts also.
+ currentfont /FontType get 1 eq
+ { gsave 1 0 0 setrgbcolor
+ 0 lly M idtransform translate
+ currentfont /FontMatrix get
+ dup Pr markfonthints
+ currentfont /Encoding get S 0 get get exch Pr markcharhints
+ grestore
+ }
+ if
+ } def
+F P bitselectfont
+/S1 1 string def
+Cs
+ { /C exch def
+ currentfont /Encoding get C get /.notdef ne
+ { save S1 0 C put S1 bitshow
+ showpage restore
+ } if
+ } forall
+quit