|
Packit |
575503 |
%!
|
|
Packit |
575503 |
%%Creator: arnold@skeeve (Aharon Robbins)
|
|
Packit |
575503 |
%%Title: flashlight.small.xpic (xpic)
|
|
Packit |
575503 |
%%CreationDate: Tue Oct 24 14:41:28 2000
|
|
Packit |
575503 |
%%Pages: 1
|
|
Packit |
575503 |
%%BoundingBox: 0 0 72 28.8
|
|
Packit |
575503 |
% (in inches) at 0 0, width 1, height 0.4
|
|
Packit |
575503 |
%%EndComments
|
|
Packit |
575503 |
% Prolog for xpic to PostScript converter
|
|
Packit |
575503 |
% Author: Mark Moraes
|
|
Packit |
575503 |
% $Header: x2ps.pro,v 1.2 88/03/19 16:50:09 moraes Exp
|
|
Packit |
575503 |
% %d D - change style SOLID, DOTTED, SHORT-DASH, LONG-DASH, DOT-DASH
|
|
Packit |
575503 |
% %s F - change font to fontname
|
|
Packit |
575503 |
% %d S - change size (font size in points)
|
|
Packit |
575503 |
% (%s) rj %d t - text right just. (%d is TOPLINE, MIDLINE, BOTLINE)
|
|
Packit |
575503 |
% (%s) lj %d t - text left just. (%d is TOPLINE, MIDLINE, BOTLINE)
|
|
Packit |
575503 |
% (%s) ce %d t - text centered (%d is TOPLINE, MIDLINE, BOTLINE)
|
|
Packit |
575503 |
% %d %d l - lineto
|
|
Packit |
575503 |
% %d %d m - moveto
|
|
Packit |
575503 |
% %d %d s - spline segment
|
|
Packit |
575503 |
% x - flush line, spline
|
|
Packit |
575503 |
% <wid> <ht> <x> <y> b - box
|
|
Packit |
575503 |
% <wid> <ht> <x> <y> e - ellipse
|
|
Packit |
575503 |
% %d ss - setscale
|
|
Packit |
575503 |
% %d W - change linewidth
|
|
Packit |
575503 |
% getpagesize - gets the values of PAGEHEIGHT and PAGEWIDTH
|
|
Packit |
575503 |
% %d %d flip - translate by %d, PAGEHEIGHT - %d (this
|
|
Packit |
575503 |
% transforms to X windows coordinates)
|
|
Packit |
575503 |
save 50 dict begin /xpic exch def
|
|
Packit |
575503 |
/StartXpic {newpath 0 0 moveto [] 0 setdash 0 setgray 1 setlinecap} def
|
|
Packit |
575503 |
% Set defaults
|
|
Packit |
575503 |
/fontname /Times-Roman def
|
|
Packit |
575503 |
/ptsize 12 def
|
|
Packit |
575503 |
% halign has the values for MIDLINE, TOPLINE, BOTLINE
|
|
Packit |
575503 |
/halign 3 array def
|
|
Packit |
575503 |
/s {rcurveto} def
|
|
Packit |
575503 |
/x {stroke} def
|
|
Packit |
575503 |
/l {lineto} def
|
|
Packit |
575503 |
/m {moveto} def
|
|
Packit |
575503 |
/b {
|
|
Packit |
575503 |
/ury exch def /urx exch def /lly exch def /llx exch def
|
|
Packit |
575503 |
llx lly moveto urx lly lineto urx ury lineto
|
|
Packit |
575503 |
llx ury lineto llx lly lineto stroke
|
|
Packit |
575503 |
} def
|
|
Packit |
575503 |
/mtrx matrix def
|
|
Packit |
575503 |
/e {
|
|
Packit |
575503 |
/yc exch def /xc exch def /yrad exch def /xrad exch def
|
|
Packit |
575503 |
xc xrad add yc moveto
|
|
Packit |
575503 |
/savematrix mtrx currentmatrix def
|
|
Packit |
575503 |
xc yc translate
|
|
Packit |
575503 |
xrad yrad scale
|
|
Packit |
575503 |
0 0 1 0 360 arc
|
|
Packit |
575503 |
savematrix setmatrix stroke
|
|
Packit |
575503 |
} def
|
|
Packit |
575503 |
% The next three take the text string, and moveto the right horiz. position
|
|
Packit |
575503 |
% leaving the string on the stack.
|
|
Packit |
575503 |
/lj {} def
|
|
Packit |
575503 |
/rj {dup stringwidth pop neg 0 rmoveto} def
|
|
Packit |
575503 |
/ce {dup stringwidth pop 2 div neg 0 rmoveto} def
|
|
Packit |
575503 |
% And this is invoked after one of the three above, and
|
|
Packit |
575503 |
% computes the vert. pos, and then displays the string.
|
|
Packit |
575503 |
/t {halign exch get 0 exch rmoveto show newpath} def
|
|
Packit |
575503 |
% Store an array of patterns in /styles - a pattern is an array consisting
|
|
Packit |
575503 |
% of an array and an offset. Corresp to xpic patterns
|
|
Packit |
575503 |
% solid, dotted, short-dashed, long-dashed, dot-dashed
|
|
Packit |
575503 |
/styles [ [] 0 ] [ [1 3] 0 ] [ [4 4] 0 ] [ [8 4] 0 ] [ [1 4 4 4] 0 ]
|
|
Packit |
575503 |
5 array astore def
|
|
Packit |
575503 |
% change style to arg.
|
|
Packit |
575503 |
/D {stroke styles exch get aload pop setdash newpath} def
|
|
Packit |
575503 |
/W {stroke 0.5 mul setlinewidth newpath} def
|
|
Packit |
575503 |
% fontbox takes a fontname off the stack, and returns an array
|
|
Packit |
575503 |
% containing the values of the bottom line of the bounding box, the
|
|
Packit |
575503 |
% mid line of the bounding box, and the top line of the bounding box
|
|
Packit |
575503 |
% of that font, taken from the baseline, scaled to a font of size 1
|
|
Packit |
575503 |
/fontbox {
|
|
Packit |
575503 |
findfont dup /FontMatrix get /fm exch def /FontBBox get aload pop
|
|
Packit |
575503 |
/ytop exch def pop /ybot exch def pop
|
|
Packit |
575503 |
/ymid ytop ybot sub 2 div def
|
|
Packit |
575503 |
0 ybot fm dtransform exch pop % botline
|
|
Packit |
575503 |
dup neg exch % midline - this works better than (ytop-ybot)/2!
|
|
Packit |
575503 |
0 ytop fm dtransform exch pop exch %topline
|
|
Packit |
575503 |
% now in the order midline, topline, botline.
|
|
Packit |
575503 |
3 array astore
|
|
Packit |
575503 |
} def
|
|
Packit |
575503 |
% select font
|
|
Packit |
575503 |
/F {
|
|
Packit |
575503 |
dup /fontname exch def fontbox
|
|
Packit |
575503 |
/thisfontbox exch def SF
|
|
Packit |
575503 |
} def
|
|
Packit |
575503 |
% set point size
|
|
Packit |
575503 |
/S {/ptsize exch def SF} def
|
|
Packit |
575503 |
% actually set font
|
|
Packit |
575503 |
/SF {
|
|
Packit |
575503 |
fontname findfont ptsize curscale div scalefont setfont
|
|
Packit |
575503 |
thisfontbox aload pop
|
|
Packit |
575503 |
1 1 3 {
|
|
Packit |
575503 |
pop ptsize mul curscale div neg 3 1 roll
|
|
Packit |
575503 |
} for
|
|
Packit |
575503 |
halign astore pop
|
|
Packit |
575503 |
} def
|
|
Packit |
575503 |
% sets the scale to 72 / n, where n is on the stack, and stores the value
|
|
Packit |
575503 |
% in curscale for font scaling
|
|
Packit |
575503 |
/curscale 1 def
|
|
Packit |
575503 |
/getpagesize{newpath clippath pathbbox /pageheight exch def
|
|
Packit |
575503 |
/pagewidth exch def pop pop newpath} def
|
|
Packit |
575503 |
/flip{pageheight exch sub translate} def
|
|
Packit |
575503 |
/ss {/curscale exch 72 exch div dup dup scale def} def
|
|
Packit |
575503 |
/land {90 rotate} def
|
|
Packit |
575503 |
StartXpic
|
|
Packit |
575503 |
%%EndProlog
|
|
Packit |
575503 |
80 ss
|
|
Packit |
575503 |
0.5 W
|
|
Packit |
575503 |
0 D
|
|
Packit |
575503 |
8 16 24 16 e
|
|
Packit |
575503 |
24 32 m
|
|
Packit |
575503 |
48 24 l
|
|
Packit |
575503 |
x
|
|
Packit |
575503 |
24 0 m
|
|
Packit |
575503 |
48 8 l
|
|
Packit |
575503 |
x
|
|
Packit |
575503 |
48 24 m
|
|
Packit |
575503 |
0 0 0 -5.33333 0 -16 s
|
|
Packit |
575503 |
x
|
|
Packit |
575503 |
48 24 80 8 b
|
|
Packit |
575503 |
0 8 m
|
|
Packit |
575503 |
0 8 l
|
|
Packit |
575503 |
x
|
|
Packit |
575503 |
0 0 m
|
|
Packit |
575503 |
16 8 l
|
|
Packit |
575503 |
x
|
|
Packit |
575503 |
0 16 m
|
|
Packit |
575503 |
16 16 l
|
|
Packit |
575503 |
x
|
|
Packit |
575503 |
16 24 m
|
|
Packit |
575503 |
0 32 l
|
|
Packit |
575503 |
x
|
|
Packit |
575503 |
%%Trailer
|
|
Packit |
575503 |
showpage
|
|
Packit |
575503 |
% Trailer for xpic to PostScript converter
|
|
Packit |
575503 |
% $Header: x2ps.tra,v 1.2 89/07/02 15:59:53 moraes Exp $
|
|
Packit |
575503 |
xpic end restore
|