Inter-Office MemorandumToAlto usersDateSeptember 11, 1980FromLyle RamshawLocationPalo AltoSubjectDraw 5.0OrganizationPARC/CSLXEROX Filed on: Draw-news.press- - Version 5.0 (September 9, 1980) - -Text positioningOlder versions of Draw positioned text by a rather arbitrary collection of rules. The result was that"what you saw" was not necessarily "what you got". Unfortunately, to really cure this problem, itwould be necessary for Draw to read the file Fonts.Widths, so that Draw would know the sizes ofthe characters as they appear on the printed page. That would demand substantial modification toDraw; it hasn't been done so far, and is unlikely to ever be done. Draw 5.0 does attempt to makeyour life a little easier, though, by guaranteeing a couple of simple invariants: (i) The left endpoint of the baseline of a text string that you see on your screen will be in the samelocation with repect to the graphical items on the page as the left endpoint of the baseline of thattext string in your hardcopy. In general, since the characters in the Alto display font are wider thanthe corresponding Dover printing charaters, the right end of the text on your screen will be furtherright than the right end of the text on the hardcopy. Life is hard.(ii) Arrowheads are an exception to the above rule. That is to say, if your string is a singlecharacter in the font Arrows, then the point of reference is the point of the arrowhead, rather thanthe left end of the baseline of the arrow (which happens to be at the lower left corner). Thus, thepoint of the arrowhead on your Alto screen will be in the same place as the point of the arrowheadon the hardcopy.File formatDraw 5.0 writes its .draw files in a new format; if you read in a old .draw file, the coordinates ofthe text strings will automatically be adjusted so that the text will appear in the same place in yourhardcopy. [Wizards: for technical reasons, arrowheads may move around by as much as one halfof an Alto dot in each dimension.]ReDraw compatibilityThe program ReDraw now positions text by the same rules as the ^P command in Draw.Storage spaceDraw 5.0 has about 5% more free spae than its predecessor, Draw 4.5.]gpi c8q]rX -q7Br ]q]r -q7Br Xq]r-q 7BrSsr M#0Gpi' Ct @~r<* >Y =/W ;K 9:( 89S 4 Z 3CL 1\ /9+ .MD *'8 )WI '\ & D $a !t r05 /7 u^ " t 1r%- t rD L=]XEROXPALO ALTO RESEARCH CENTERComputer Science LaboratoryApril 17, 1978To:Alto usersFrom:Patrick BaudelaireSubject:DRAW version 4.0Filed on DRAW-news.pressThe followings features have been added to DRAW since the publication of the manual inthe Alto User's Handbook. Some of these features are purely experimental: use at your ownrisk... Comments and suggestions are welcome however.-- Version 4.0 (April 17, 1978) --ColorThe main change introduced in this version is color. Curves, lines, and captions can be inblack, or one of the six basic colors that PIMLICO can print: yellow, magenta, cyan, red,green, and violet (actually a dark blue). Eight new commands in the menu pertain to color.Seven of them are tags representing available colors, symbolised by a letter (B, Y, M, C, R, G,V) in a small circle. The color commands are used in two ways: selecting the current colorin the same way the current brush or current font is selected (click the appropriate tag), orchanging the color of an element (pick the tag from the menu, and point at the element).The colors in the picture are only shown when the menu command "COLOR ON/OFF" isturned on.New DRAW file formatAddition of color information required a new format for DRAW files. Version 4.0 will readDRAW files in either the old and the new format. However files created with version 4.0cannot be read by older versions of the program.PRESS outputPRESS output (command CTRL-P) has been simplified. The option of printing the image asan Alto bitmap is not available anymore: only full PRESS output is available. Any picture isprintable on a PIMLICO printer. However, what comes out of a DOVER/SPRUCE printerdepends on the complexity of the picture (see comment below about version 2.3).Width of printed lines & curvesThe actual width of lines and curves on the printed page may be set to arbitrary values.This is specified by USER.CM entries of the form:LINEWIDTH:n w%`vp^q Q]&r%Q[s Tts QGts N>tsts Iu Ds,ts! C4rs> A6iX 2where n is one of the four line widths available from the menu (0= thinnest, 3=thickest),and 2xw is the thickness of the printed line in micas. The default for w is 16x2n.Some gains in performanceDRAW now uses floating-point and BitBlt microcode. Drawing and erasing curves goes a lotfaster.This version also has increased storage space obtained by a more efficient use of fonts.-- Version 2.3 (August 11, 1977) --PRESS outputPRESS output (command CTRL-P, in full PRESS output option) of curves and lines nowproduces a mixture of "objects" and "rectangles". Vertical and horizontal lines drawn withany of the non-round brushes are represented as "rectangles": they can be printed on aSPRUCE printer. All other lines and curves are represented as "objects": they must be printedon a PRESS printer.This means that pictures containing only horizontal and vertical lines (box diagrams, bargraphs, organization charts, etc) should be drawn with a flat or square brush: they can beprinted on DOVER. More complex pictures must be printed on a 3100 or PIMLICO printer.-- Version 2.2 (June 15, 1977) --Command line switchesA number of run-time parameters can be set with switches in the command line. Values arespecified by a decimal number, followed by "/", followed by a letter (upper or lower case).Default values are used when the switches are omitted or if the specified values seemunreasonable.Switch:specifies:n/SThe maximum number of splines (that is curves and lines) that will beallowed. The default is 200.n/KThe maximum number of knots a curve may have. The default is 100.n/TThe maximum number of text captions that will be allowed. The defaultis 100.n/GThe grid spacing, in Alto screen units. The default is 16.n/DThe length, in screen units, of line segments in dashed curves and lines.The default is 16.n/OThe length, in screen units, of omitted line segments in dashed curves andlines. The default is 8.Example:DRAW 250/S 50/k 8/GFonts, user profileFonts may be specified in the user profile USER.CM. There are two cases:- If the DRAW entry in USER.CM mentions at least one font, then only the exactNfs brs)) `0xrs)rsrsxs`r`0s \q Zfsts; X VC;Qv# Mqwsq K ts6ts9q! 6 4sE 2i O 0 G / ,t *#rsrs ({&rsrs'#rsrs!brsrs3rs &rs?rsrs# ts q /s+us ts us $L @>\H3number of specified fonts (between 1 and 4) will be loaded.- Otherwise, four default fonts are loaded: HELVETICA12, HELVETICA12B,HELVETICA8, and ARROWS10.A template for the DRAW entry is provided in DRAW-USERCM.SLICE, to be found inDRAW.DM. A valid entry looks like:[DRAW]FONT:0 HELVETICA12.ALFONT:2 HELVETICA18.ALVideo backgroundIf your Alto is equipped with a Cybernex TV-camera interface, you can display a videoimage as a background to your picture (the same feature exists in the font editor FRED).The video background is turned on and off with the toggle command CTRL-V.Freehand drawingLines and curves can be drawn freehand, as an alternative to specifying line end-points orspline knots. To go into that mode, simply pick up with the cursor the brush symbol shownin the menu inside a small square. Then draw on the screen in the usual way: press a mousebutton, move the mouse around, and release the mouse button. The trajectory of the brush-cursor is painted on the screen as you move along. But, when you have finished, thetrajectory is erased and replaced by a spline curve fitted through knots that have beenautomatically selected along the trajectory: the curve now behaves like any other curve.Some smoothing of the trajectory is done in order to eliminate irregularities due mainly tothe mouse.DRAW tries to help you in two ways:- If the trajectory that you drew seems to have little curvature, it will be replaced bya straight line, rather than a curve.- If you use the grid button (BLUE, i.e. the rightmost or bottom one), DRAW willforce the trajectory (and thus the resulting line or curve fit) to start and end on agrid point.These two features should help drawing horizontal and vertical lines on the grid mesh:boxes, rectangles, diagrams, etc.The freehand drawing features are experimental: they are prototypes of functions that wewould like to offer in other illustration systems. There are problems and imperfections.Comments and suggestions will be appreciated.Choice of spline fit methodThe standard version of DRAW (the one on the directory), uses a cubic splinemethod called natural cubic spline, with uniform parametrization.Two other versions are available, that use different spline fitting methods: the programs areidentical in all other respects, but the pictures may sometimes look very different. If youwant to try these out, help yourself with:DRAW2.RUNThis version uses a natural cubic spline, but with cord length parametrization. Thismethod simulates better a real draftsman spline tool: more rounded curves, no sharpovershoots. It is more complicated to compute.DRAW3.RUNThis version computes local cubic splines. It is currently set to use cubic B-splines.These splines have two important properties:Nfsb;`vQ,u sRu s^u sus \S tsus Zu s tsX0VT Qq Osrs- Mn>ts KBxs Hwq EsG DTC B P A N ?\A =rs6 < B :d(3 8 6Ats4<2r s1Ixs ts/Crsrs- ,QD *! (.!7 &2' $- !q stsus l rs T IT *&u~s"r s:./ u s ;rs c, >]X4- the curve usually does not go through the knots;- a knot k affects the shape of the curve only on a span extending from knotk-2 to knot k+2. B-spline curves are smoother than natural spline curves, and seem to be better forfreehand drawing. They also are simpler to compute.Nfsb2`vrs#^rsrs]&8[~4[78 5 TIMESROMAN  TIMESROMAN TIMESROMAN LOGOL TIMESROMAN LOGOL TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN HELVETICA  TIMESROMAN  TIMESROMAN HELVETICA  %  e  Y.todocs>draw-news.pressY.Y3fsltYY)shawY)YIYY3Ytrieve remote file draw-news.press*i>%)