|
|
1.1 root 1: .if n .pH g1.picasso @(#)picasso 1.0 of 1/2/90
2: .TH PICASSO 1
3: .SH NAME
4: picasso \- a line drawing program
5: .SH SYNOPSIS
6: \f3picasso [ \-b\f2size\fP \-F\f2path\fP \-I\f2path\fP \-l\f2n\fP \-M\f2n\fP \-m\f2margin\fP \-p\f2m\fPx\f2n\fP \-t \-x ] [ \- ] [ \f2file_name\^(s)\fP ]
7: .ft 1
8: .SH DESCRIPTION
9: .B Picasso
10: is a
11: processor for a PIC-like drawing language that produces PostScript output.
12: By default, this output is scaled to fit an 8 by 10 inch print area, and
13: centered on the page.
14: .PP
15: .B \-b
16: .IR size
17: specifies a buffer of \f2size\f1 objects accumulated before translation
18: into PostScript.
19: By default, an entire picture is buffered;
20: on machines with small memories, a buffer of a few thousand objects
21: can prevent thrashing when processing a very large picture.
22: This option is for exceptional cases and is not often needed.
23: .PP
24: .B \-I
25: .IR path
26: overrides the standard path for searching for the PostScript prologue
27: and font descriptions (not needed in normal use).
28: .PP
29: .B \-F
30: .IR path
31: overrides the standard path for font width tables.
32: The default is to use the \f(CWtroff\fP tables.
33: .PP
34: .B \-l
35: .IR n
36: processes layer \f2n\f1 only, as specified by \f(CWcurlayer=\f2n\fP.
37: .PP
38: .B \-M
39: .IR n
40: magnifies the output image by \f2n\f1 (shrinks if 0 < \f2n\fP < 1).
41: .PP
42: .B \-p
43: .IR m\f3x\fPn
44: .ft 1
45: specifies output device size in inches (8.5x11 default).
46: .PP
47: .B \-t
48: packages the PostScript with surrounding troff input so that the
49: output file may be passed down a pipeline to
50: .BR troff (1).
51: The Drechsler/Wilks
52: .B mpictures
53: macro package can be used with
54: .B troff
55: to insert the pictures appropriately within the document.
56: Without the flag
57: .B picasso
58: outputs \fIonly\fR PostScript, dropping any text outside the markers
59: (.PS and .PE) delimiting each picture.
60: .PP
61: .B \-m
62: .IR margin
63: specifies an empty border, in printer's points, that
64: .B picasso
65: will place around each picture.
66: This may be useful at times to prevent too tight clipping against
67: adjacent text or the edge of the paper.
68: By default no margin is supplied;
69: to cause a 1/8" (9 point) margin, for example, specify
70: .BR \-m9 .
71: .PP
72: .B \-x
73: suppresses the default scaling and centering.
74: .PP
75: The
76: .B picasso
77: picture description language is object oriented, the basic objects being
78: .BR arrow ,
79: .BR arc ,
80: .BR box ,
81: .BR circle ,
82: .BR ellipse ,
83: .BR line ,
84: .BR sector ,
85: .BR spline ,
86: and (quoted) text.
87: These can be combined, hierarchically, into
88: .BR blocks .
89: Primitive objects can be drawn with
90: .BR solid ,
91: .BR dashed ,
92: .BR dotted ,
93: or
94: .B invisible
95: edges.
96: These edges may be of varying
97: .B weight
98: (thickness)
99: and of any shade of gray (from black = 0 to white = 1) or color.
100: The predefined colors are
101: .BR black ,
102: .BR white ,
103: .BR red ,
104: .BR green ,
105: .BR blue ,
106: .BR cyan ,
107: .BR magenta ,
108: and
109: .BR yellow .
110: .PP
111: Objects may be named and referred to by name or by anonymous
112: references such as
113: 1st box, 4th object, or 2nd last circle.
114: Object names require an initial upper case letter;
115: names beginning with lower case or an underscore are numeric variables.
116: There are a number of predefined variables such as
117: .BR circlerad ,
118: .BR boxwid ,
119: .BR linecolor .
120: .B Picasso
121: provides a limited set of programming language constructs
122: (loops, if statements, macros, some arithmetic)
123: for combining simple objects into relatively complex pictures.
124: .PP
125: By default, objects are placed on the page adjacent to each other
126: and from left to right.
127: The default direction may be changed, and any object can be placed
128: .B at
129: a specific postion,
130: given either in absolute coordinates or by reference to other objects and
131: points of interest.
132: Any object has a
133: .BR top ,
134: .BR bottom ,
135: .BR left ,
136: and
137: .B right
138: point;
139: these points may also be refered to directionally as
140: .BR north ,
141: .BR south ,
142: .BR west ,
143: and
144: .B east
145: (or
146: .BR n ,
147: .BR s ,
148: .BR w ,
149: and
150: .BR e .)
151: The ``corner'' points may also be specified,
152: .IR e.g. ,
153: .B northwest
154: or
155: .BR nw.
156: Lines have
157: .B start
158: and
159: .B end
160: points;
161: you may also refer to
162: .BR 1st ,
163: .BR 2nd ...
164: .B nth
165: points along a line.
166: Boxes, circles, and ellipses have eight predefined points corresponding
167: to the directional references mentioned above, the first point being in
168: the eastern direction and the 8th point towards the southeast.
169: For any object, the ``corner'' points really lie on the corners of a box
170: surrounding the object while the ``counted'' points lie on the object itself.
171: This distinction is normally relevant only for circles and ellipses, but
172: since an object can be rotated or otherwise transformed it occasionally
173: has significance for other objects as well.
174: .SH EXAMPLE
175: The following is a simple no-smoking sign described in the
176: .B picasso
177: language.
178:
179: .in +.5i
180: .ft CW
181: .nf
182: .PS
183: d = 0.5
184: [ box ht d wid 3.5 weight d/20
185: box ht d wid d/2 filled 0.5 noedge
186: spline weight 0.2 edge .75 right d then up d \\
187: then right d then up d
188: ]
189: linecolor = red; lineweight = 0.375
190: circle rad 3 at last block
191: line from last circle .4th to last circle .8th
192: .PE
193: .in -.5i
194: .fi
195: .ft R
196:
197: If this is used in a
198: .B troff
199: document and processed through
200: .B picasso
201: with the
202: .B -t
203: flag, the .PS marking the start of the picture can specify the size and
204: placement of the picture at that point in your document.
205: For example, to place the no smoking sign centered on the page in a 3
206: inch square area, flag the start of the picture with\f(CW .PS 3 3 c\fR.
207: .SH "SEE ALSO"
208: .BR troff (1),
209: .BR troff (5)
210: .SH REFERENCE
211: R. L. Drechsler and A. R. Wilks,
212: .I PostScript pictures in troff documents.
213: .br
214: B. W. Kernighan,
215: .I PIC \(em A Crude Graphics Language for Typesetting
216: .br
217: N-P. Nelson, M. L. Siemon,
218: .I
219: Picasso 1.0, An OPEN LOOK Drawing Program
220: .ft P
221: .\" @(#)picasso.1 1.0 of 1/4/84
222: .SH BUGS
223: .B Picasso
224: is not completely compatible with
225: .BR pic (1).
226: Besides having a number of new keywords and predefined variable names,
227: .B picasso
228: also centers pictures on a page rather than placing them at upper left.
229: .P
230: The interactive version is unable to generate many elements
231: of the language, nor will it preserve such elements (e.g., loops)
232: if they are read in then written out.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.