PCjs Machines

Home of the original IBM PC emulator for browsers.

Logo

PC-SIG Diskette Library (Disk #2302)

[PCjs Machine "ibm5150"]

Waiting for machine "ibm5150" to load....

Information about “PICTURETHIS 4 OF 4 (1130,1474,2301)”

Quickly and easily prepare professional-looking drawings for printing
on PostScript-compatible laser printers and imagesetters with
PICTURETHIS.  Do them either freehand or by tracing ``template''
screens captured with a companion program, CAPTURETHIS.

Use PICTURETHIS even if you don't know how to program in the
PostScript page description language.  View a screen representation of
your drawing as you prepare it, easily making additions and
alterations.  Print PICTURETHIS drawings at lower resolution on some
dot-matrix printers, using the graphics screen dump program supplied
with DOS.

PICTURETHIS doesn't need a lot of fancy hardware -- just an IBM PC, XT,
AT, or compatible.  It doesn't even require direct access to a laser
printer.  Drawing files can be sent by mail or modem to a laser
typesetting service bureau for overnight return of low-cost prints with
300, 1270, or even 2540 dots-per-inch resolution.

FILE2302.TXT

Disk No: 2302                                                           
Disk Title: PictureThis 4 of 4 (1130, 1474, 2301)                       
PC-SIG Version: S3.01                                                   
                                                                        
Program Title: Fractint                                                 
Author Version: 13.0                                                    
Author Registration: PUBLIC DOMAIN                                      
Special Requirements: CGA                                               
                                                                        
FRACTINT plots and manipulates images of "objects" -- actually sets of  
mathematical points -- that have fractal dimension.  Using integer math,
these sets of points are generated by relatively simple calculations    
repeated over and over, feeding the results of each step back into the  
next, something computers can do very rapidly.  FRACTINT lets you zoom  
into a small area created by the calculations to reveal intricate       
detail, from which you can assign colors to selected points and         
"animate" the images by quickly shifting those color assignments.       
                                                                        
An advantage of FRACTINT over other fractal graphics programs is that,  
as formerly mentioned, it uses integer math, rather than the floating-  
point calculations.  That means that you don't need a math coprocessor  
chip (aka floating-point unit or FPU), though it will recognize and     
automatically use an 80x87 chip if it's present.                        
                                                                        
FRACTINT works with many adapter and graphics modes from CGA to the     
1024x768, 256-color 8514/A mode.  Even "larger" images, up to           
2048x2048x256, can be plotted to RAM, EMS, or disk: this bypasses the   
screen and allows you to create images with higher resolution than your 
current display can handle, and to run in "background" under            
multi-tasking control programs such as DESQview.                        
                                                                        
The program was born fast through an experiment in collaboration by Bert
Tyler and many volunteers.  The authors of this public domain program   
encourage further contribution of ideas to make FRACTINT even better    
than it already is:  "speedy, versatile, and all-around wonderful."     
                                                                        
                                                                        
PC-SIG                                                                  
1030D East Duane Avenue                                                 
Sunnyvale  Ca. 94086                                                    
(408) 730-9291                                                          
(c) Copyright 1989 PC-SIG, Inc.                                         

GO.TXT

╔═════════════════════════════════════════════════════════════════════════╗
║  <<<<  PC-SIG Disk #2302  PICTURETHIS (also #1130, #1474, #2301)  >>>>  ║
╠═════════════════════════════════════════════════════════════════════════╣
║                                                                         ║
║ To print beginning documentation and installation instructions, insert  ║
║        Disk #1130 and type:  COPY READTHIS.1ST PRN (press Enter)        ║
║                                                                         ║
║ To print further documentation, disks #1474, #2301, and #2302           ║
║ (refer to READTHIS.1ST file), type:  COPY [filename].TXT PRN (Enter)    ║
║                                                                         ║
║                                                                         ║
║                                           Copyright 1990, PC-SIG, Inc.  ║
╚═════════════════════════════════════════════════════════════════════════╝

MANUAL1.TXT


         PICTURETHIS(TM) "SHAREWARE" VERSION

         RELEASE 3.00

         MAY 15, 1989

         USER MANUAL, PART 1 OF 7 PARTS


         Copyright 1988, 1989, 1990 by Patricia Y. Williams and
           Gregory Williams, All Rights Reserved.

         HortIdeas Publishing, Route 1, Box 302, Black Lick Road,
           Gravel Switch, KY 40328 U.S.A.

         Trademarks/Owners: CaptureThis and PictureThis/Patricia Y.
           Williams and Gregory Williams; Hercules/Hercules Computer
           Technology, Inc.; IBM and PC-DOS, International Business
           Machines Corp.; LaserJet/Hewlett-Packard Co.; MS-DOS/
           Microsoft Corp.; OPTIKS/Keith P. Graham; PostScript/Adobe
           Systems Inc.; UltraScript/IMAGEN Corp.; typeface names/
           their respective owners

         NOTE: Carefully read all of the terms and conditions of the
           License Agreement (near the beginning of the READTHIS.1ST
           file on distribution disk #1) PRIOR to using the
           PictureThis and/or CaptureThis programs. USE OF THE
           PROGRAM(S) INDICATES YOUR ACCEPTANCE OF THOSE TERMS AND
           CONDITIONS.


         TABLE OF CONTENTS

           (PART 1)

           INTRODUCTION ............................................ 4

           1. PRELIMINARIES ........................................ 5

           2. RUNNING PictureThis .................................. 6

           3. EXITING FROM PictureThis ............................. 7

           4. ILLEGAL KEYSTROKES, HELP SCREENS, AND STATUS BOX ..... 7
            4.1. ILLEGAL KEYSTROKES ................................ 7
            4.2. HELP SCREENS ...................................... 7
            4.3. STATUS BOX ........................................ 8

           5. MOVING THE CURSOR .................................... 8

           6. "ZOOMING" AND SCROLLING .............................. 9
            6.1. SCREEN MAGNIFICATIONS AND THE FRAME ............... 9
            6.2. "ZOOMING" AND CENTERING .......................... 10
            6.3. SCROLLING ........................................ 10

           7. DRAWING CURVES ...................................... 11
            7.1. DRAWING A STRAIGHT LINE .......................... 11
            7.2. DRAWING A CURVED LINE ............................ 11


                                                                           2
           8. DRAWING BOXES, SQUARES, CIRCLES, AND OVALS .......... 13
            8.1. DRAWING A BOX .................................... 13
            8.2. DRAWING A SQUARE ................................. 13
            8.3. DRAWING A CIRCLE ................................. 14
            8.4. DRAWING AN OVAL (ELLIPSE) ........................ 15

         (PART 2)

           9. FINDING ENDPOINTS ................................... 16

           10. SMOOTHING CURVES ................................... 16
            10.1. MANUAL SMOOTHING ................................ 17
            10.2. AUTOMATIC SMOOTHING ............................. 18
            10.3. REMOVING GUIDELINES ............................. 19

           11. CUTTING CURVES ..................................... 19

           12. MODIFYING CURVES ................................... 19
            12.1. ERASING A CURVE ................................. 20
            12.2. CHANGING A CURVE ................................ 20
            12.3. CHANGING A CURVE'S LINE PARAMETERS .............. 20
             12.3.1. CHANGING LINE WEIGHT ......................... 21
             12.3.2. CHANGING LINE GRAY ........................... 21
             12.3.3. CHANGING THE LINECAP ......................... 22
             12.3.4. CHANGING THE DASH PATTERN .................... 22
             12.3.5. SAVING THE LINE PARAMETERS ................... 22

           13. QUICKSHOW SCREEN ................................... 23

           14. TRAILS, FILLS, AND JOINS ........................... 24
            14.1. DEFINING A TRAIL ................................ 25
            14.2. ERASING A TRAIL ................................. 26
            14.3. FILLING A TRAIL ................................. 26
             14.3.1. SPECIFYING A FILL GRAY PERCENTAGE ............ 26
             14.3.2. RESULTS OF FILLING A TRAIL ................... 27
            14.4. CHANGING THE LINE PARAMETERS OF A TRAIL ......... 29
             14.4.1. CHANGING THE LINE WEIGHT, LINE GRAY, LINECAP,
                      OR DASH PATTERN FOR ALL CURVES IN A TRAIL ... 29
             14.4.2. CHANGING THE JOIN FOR A TRAIL ................ 29
             14.4.3. TRAILS MADE OF CURVES WITH DIFFERENT LINE
                      PARAMETERS .................................. 30

         (PART 3)

           15. SETTING THE GLOBAL LINE PARAMETERS ................. 32
            15.1. SETTING LINE WEIGHT, LINE GRAY, LINECAP, AND
                   LINE JOIN ...................................... 32
            15.2. SETTING DASH PATTERN ............................ 32

           16. OBJECTS ............................................ 36
            16.1. GROUPING AN OBJECT .............................. 37
            16.2. UNGROUPING AN OBJECT ............................ 38
            16.3. ERASING AN OBJECT ............................... 38
            16.4. LAYERING OBJECTS ................................ 39
            16.5. CHANGING AN OBJECT'S PARAMETERS "GLOBALLY" ...... 40

           17. MANIPULATING OBJECTS ............................... 41
            17.1. MOVING AN OBJECT ................................ 41
            17.2. COPYING AN OBJECT ............................... 42

                                                                           3
            17.3. SCALING AN OBJECT ............................... 42
            17.4. ROTATING AN OBJECT .............................. 45
            17.5. FLIPPING AN OBJECT .............................. 46

         (PART 4)

            17.6. INCLINING AN OBJECT ............................. 47
            17.7. MULTICOPYING AN OBJECT .......................... 50

           18. TEXT ............................................... 51
            18.1. FONT FILES ...................................... 51
            18.2. FONT ENCODING ................................... 53
            18.3. TEXT PARAMETERS ................................. 54
            18.4. TEXT BLOCKS ..................................... 56
            18.5. EDITING ......................................... 57

         (PART 5)

            18.6. TYPESETTING CODES ............................... 61
            18.7. SCREEN FONTS .................................... 65
            18.8. CUTTING TEXT BLOCKS FOR RE-EDITING .............. 66
            18.9. TRANSFORMING TEXT BLOCKS ........................ 67
            18.10. MODIFICATION OF FONTS .......................... 67

           19. FILE OPERATIONS AND DOS SHELL ...................... 68
            19.1. GETTING A SAVED DRAWING ......................... 68
            19.2. SAVING A DRAWING ................................ 69
            19.3. IMPORTING CLIP ART .............................. 70
            19.4. EXPORTING CLIP ART .............................. 71
            19.5. READING A TEMPLATE FILE ......................... 71
            19.6. WRITING A POSTSCRIPT FILE ....................... 72

         (PART 6)

            19.7. SHELLING TO DOS ................................. 76
            19.8. PLOTTING DATA POINTS FROM A FILE ................ 76

           20. UNITS AND POSITION BOXES ........................... 79
            20.1. CHANGING THE CURRENT UNITS ...................... 79
            20.2. CURRENT POSITION BOX ............................ 80
            20.3. INTERNAL UNITS .................................. 80
            20.4. RELATIVE POSITION BOX ........................... 81

           21. CURSOR SPEED AND THE GRID .......................... 82
            21.1. CHANGING THE SLOW AND FAST CURSOR SPEEDS ........ 82
            21.2. SETTING THE GRID ................................ 82
             21.2.1. CHANGING THE SPACING OF THE GRID ............. 83
             21.2.2. CHANGING THE FORM OF THE GRID ................ 83
             21.2.3. CHANGING THE COLOR OF THE GRID ............... 83
             21.2.4. SAVING THE GRID PARAMETERS ................... 83
            21.3. USING THE GRID .................................. 84

           22. CHANGING THE FRAME AND SCALING THE DRAWING ......... 84
            22.1. CHANGING THE FRAME .............................. 84
            22.2. SCALING THE DRAWING ............................. 85

           23. NOTING POINTS AND MEASURING DISTANCES .............. 86
            23.1. NOTED POINTS .................................... 86
            23.2. MEASURING DISTANCES ............................. 86

                                                                           4
           24. ASPECT RATIO ....................................... 87

           25. VIEWSCREEN, PALETTE, AND SCREEN TOGGLES ............ 88
            25.1. VIEWSCREEN ...................................... 88
            25.2. CHANGING THE PALETTE ............................ 88
            25.3. SCREEN TOGGLES .................................. 88

         (PART 7)

           26. TEMPLATES .......................................... 90
            26.1. CAPTURING SCREENS FOR USE AS TEMPLATES .......... 90
            26.2. MOVING THE TEMPLATE ............................. 93

           27. DRAWING HINTS ...................................... 93
            27.1. JOINING CURVES AT ENDPOINTS ONLY ................ 93
            27.2. USING THE Del KEY TO MOVE TO ENDPOINTS .......... 93
            27.3. SMOOTHER SMOOTHING .............................. 93
            27.4. JOINING CURVES WITH DIFFERENT LINE WEIGHTS ...... 93
            27.5. DOING DETAILED WORK ON HIGH MAGNIFICATION
                   SCREENS ........................................ 94
            27.6. DOING FINE WORK ON A LARGE SCALE AND THEN
                   SCALING DOWN ................................... 94
            27.7. DRAWING AN OVAL WITH SIDE ENDPOINTS AT SPECIFIC
                   POSITIONS ...................................... 94
            27.8  ROUNDING CORNERS ................................ 94

           28. KARTOONS MODE ...................................... 95

           29. MEMORY LIMITS AND MEMORY USED BOX .................. 96

           30. INCOMPATIBILITIES AND "BUGS" ....................... 97


         INTRODUCTION

           As "desktop publishers" of two newsletters ("HortIdeas," a
         monthly review of the latest research, ideas, and products
         for home gardeners, $15.00 per year from the address above,
         and "Continuing the Conversation," a quarterly exploration of
         the ideas of cyberneticist Gregory Bateson, $8.00 per year
         from the address above) and scientific books, we've been
         appalled by the exorbitant prices and outrageous hardware
         needs of much publishing software for personal computers. So
         we decided to write PictureThis -- for ourselves AND for
         others who want to produce professional-quality drawings
         using IBM PC compatibles WITHOUT HAVING TO SPEND A FORTUNE ON
         SOFTWARE AND HARDWARE. PictureThis is inexpensive, you can
         "try it first" (as "shareware"), and it DOESN'T require a 286
         (or 386 or 486!), an EGA or VGA, a (slow!) graphical
         interface, a mouse, an expanded memory board, or even a hard
         disk. PictureThis is great for low-bucks DTP, and unsurpassed
         for LTP ("lap-top publishing") -- it has many features
         comparable to, or better than, those of memory-hogging
         PostScript drawing programs which creep along like molasses
         on an 8088. To quote A.J. Liebling: "Freedom of the press
         belongs to those who own one." We want to help make "the
         electronic press" more affordable!
           With PictureThis, you can quickly and easily produce
         RESOLUTION-INDEPENDENT drawing files for delivery to

                                                                           5
         PostScript-compatible printers (including dot-matrix printers
         teamed with low-cost Postscript emulation software, such as
         "UltraScript," and LaserJets with PostScript compatibility
         via hardware or software add-ons) and high-resolution
         imagesetters. YOU DO NOT HAVE TO KNOW HOW TO PROGRAM IN THE
         PostScript LANGUAGE TO MAKE PROFESSIONAL-LOOKING DRAWINGS
         WITH PictureThis!
           Hardware and software requirements for this "Shareware"
         Version of PictureThis: an IBM PC, XT, AT, or compatible
         running MS-DOS or PC-DOS 2.0 or above (not tested with 4.X),
         with at least 512 KB RAM, at least one floppy disk drive
         (360 KB capacity or greater), and CGA (320 x 200 four-color
         and 640 x 200 two-color resolution) video board compatibility
         (including Hercules-compatible monochrome graphics boards
         with hardware or software CGA emulation, EGA boards, and VGA
         boards), plus a PostScript-compatible printer or imagesetter
         interfaced to your computer (directly, via a cable connection
         with communications software, or indirectly, via disks sent
         to a typesetting service). If you don't have direct access to
         a PostScript-compatible output device, there are many laser
         typesetting service bureaus which can use PostScript files
         made with PictureThis (delivered on disks or via modem) to
         produce prints with 300, 1270, or even 2540 dots-per-inch
         resolution at surprisingly low cost and quick turnaround.
           PostScript-language files produced with PictureThis use
         curves -- with their shapes defined mathematically by just
         eight numbers per curve -- to construct "vector-mapped"
         drawings which, unlike "bit-mapped" drawings, can be scaled
         and rotated without becoming "jaggy." (Also, vector-mapped
         drawings typically print much faster than bit-mapped drawings
         on PostScript-compatible laser printers and imagesetters, and
         vector-mapped drawing files typically are much smaller than
         bit-mapped drawing files.) PostScript files contain ONLY
         ASCII characters, so they can be edited with a text editor or
         word processor, and they can be merged with other PostScript
         files (for example, to combine drawings with text from page
         layout programs). For additional information on the
         PostScript language, see the books about PostScript written
         by Adobe Systems Inc. and others. These books (and other very
         useful PostScript information, including tutorials and
         utility programs) are available from Synergetics, Box 809,
         Thatcher, AZ 85552 (price list free).

         1. PRELIMINARIES

           In brief, here's how you'll use PictureThis: While viewing
         their on-screen representations, you make drawings consisting
         of cubic "Bezier" curves, defining each curve by the
         locations of its two endpoints and by the locations of two
         "control points" (each associated with one of the endpoints)
         which determine the curve's shape. PictureThis produces files
         written in the PostScript language; these contain all of the
         information about your drawings needed by PostScript-
         compatible printers and imagesetters to generate prints AT
         OUTPUT-DEVICE RESOLUTION. While PostScript files are thus the
         "ultimate products" of PictureThis, several other kinds of
         files are involved in the production process, the most
         important ones being template files, drawing files, clip art
         files, and data files for two-dimensional plotting. CGA

                                                                           6
         (medium- or high-resolution) graphics screens can be captured
         in template files by using the CaptureThis (or Alternate
         CaptureThis) program provided with PictureThis; these files
         can be imported into PictureThis to provide background
         screens for tracing. Drawing files are used to store and
         retrieve information about your drawings in a compact format
         usable by PictureThis; you can save a drawing-in-progress in
         a drawing file for later recall. Clip art files are used to
         store and retrieve information about parts of your drawings,
         allowing these parts to be merged with other drawings. Data
         files contain numbers (typically generated by applications
         programs) in ASCII format, for two-dimensional plotting on
         PictureThis drawings made with PictureThis.

         2. RUNNING PictureThis

           At this point, the necessary files to use PictureThis
         should be either on your hard disk or on floppy "PROGRAM" and
         "RUN" disks, as per the READTHIS.1ST file. PLEASE don't try
         to run PictureThis from the original distribution disks,
         especially without making backup copies!
           To run PictureThis, make sure that PICTHIS3.EXE, PTS3D.OVR,
         and PTS3T.OVR are in the current directory. After the program
         loads, if you want to use text features, PT3EDIT.HLP and
         PT3FONT.HLP should be in the current directory, and the font
         files (those files in the /FONTS directory on one of the
         distribution disks) should be in the current directory OR in
         a /FONTS subdirectory of the current directory -- if you are
         using floppies, this means that you should replace the
         "PROGRAM" disk with the "RUN" disk after PictureThis has
         finished loading.
           To run PictureThis, make sure that PICTHIS3.EXE, PTS3D.OVR,
         and PTS3T.OVR are in the current directory. At the DOS
         prompt, key in "PICTHIS3" and press Enter. If you have a
         Hercules-compatible monochrome graphics board (720 x 348
         resolution) with hardware or software CGA emulation, your
         computer might "hang up" unless you immediately press Tab.
         The Tab key (ONLY if pressed while PictureThis is loading)
         switches from direct to through-the-BIOS writing of text
         characters in text mode. Some CGA emulators can't handle
         direct writing of text screens, even though they can handle
         direct writing of graphics screens (always the case in
         PictureThis). Direct writing of text is faster than through-
         the-BIOS writing, and works fine with true CGA, EGA, and VGA
         boards, so DON'T press Tab if you DON'T have a Hercules-
         compatible monochrome graphics board with CGA emulation.
           The title screen appears for a few seconds, allowing you to
         get a glimpse of PictureThis in action. Then a copyright and
         ordering information screen appears. Please read it! After 15
         seconds, you can press any key to continue. Then a blank
         screen with a border and an X-shaped cursor at the center
         appears.
           If you receive an "OUT OF MEMORY" message when you try to
         run PictureThis, don't give up. You can configure the program
         to use less RAM. If, as it attempts to load, PictureThis
         finds no configuration file (named PICTHIS.CFG) in the
         default directory, it defaults to memory level 3A (see
         Section 29), which does NOT use the least possible memory.
         Try again with memory level 2A, and if that doesn't work, 1A.

                                                                           7
         Here's how. At the DOS prompt, key in "PICTHIS3 2A" and press
         Enter. Immediately press Tab if you have a Hercules-
         compatible monochrome graphics board with hardware or
         software CGA emulation (see above). If you see "OUT OF
         MEMORY" again, repeat with "PICTHIS3 1A" -- if you STILL see
         "OUT OF MEMORY," you'll need to free up some RAM (by removing
         memory-resident "TSR" programs) and/or install more RAM
         before PictureThis will run on your machine. If the program
         loaded successfully with memory level 2A or 1A, it created a
         configuration file in the default directory; when you run
         PictureThis in the future, you can key in just "PICTHIS3" and
         press Enter (and then Tab, if necessary), and the program
         will load with the proper memory level (unless it can't
         access PICTHIS.CFG).
           If you want to make sure that the drawing screen shown on
         your monitor is properly scaled relative to the printed copy
         output's default proportions, see Section 24.

         3. EXITING FROM PictureThis

           If you want to return to the operating system, press Esc. A
         prompt appears: "Quit PictureThis? (Y/N)"; to exit, press Y.
         To remain in PictureThis and remove the exit prompt from the
         screen, press a key other than Y. Note: PictureThis usually
         is INSENSITIVE TO CASE (here, Y is treated the same as y).
           The Esc key generally is used to "back out" of an
         operation, that is, to cancel the current operation and
         return to the previous operation. (A few exceptions to this
         rule are noted later in this manual.) Press the Esc key
         enough times from (almost) wherever you are in the program,
         and you will reach the exit prompt. (More information on
         "backing out" of particular operations is given throughout
         this manual.)

         4. ILLEGAL KEYSTROKES, HELP SCREENS, AND STATUS BOX

         4.1. ILLEGAL KEYSTROKES

           In general, some keys are NOT valid at particular times in
         PictureThis. If you press an inappropriate key, you'll hear a
         beep -- just a warning, no harm done. It means: try again!
           To turn off the speaker, press H. Invalid keystrokes no
         longer beep.
           To turn the speaker back on AND to toggle on error messages
         and prompts, press H again. Now invalid keystrokes beep a
         warning, error messages are displayed when SOME illegal keys
         are pressed, and special prompts appear when some operations
         are being performed. The prompts appear at the top of the
         screen and disappear when a key is pressed (the key can
         continue the operation). A complete list of error messages is
         given in the file ERRORS.TXT included on one of the
         distribution disks. It's a good idea to toggle on the error
         messages and prompts when you're learning how to use
         PictureThis.
           To return to the initial state of beeps ONLY, press H one
         more time. Thus, H is a three-way toggle; its current status
         is shown in the status box (see Section 4.3).

         4.2. HELP SCREENS

                                                                           8
           Press ? and a contextual help screen appears, listing
         currently valid keys and their effects. A help screen DOESN'T
         appear if ? is pressed while a menu box appears on the
         screen.

         4.3. STATUS BOX

           Information about the current status of PictureThis can be
         obtained by pressing W. A status box appears in the lower
         left hand corner of the screen. To remove the box, press W
         again.
           The status box contains several mnemonic indicators. The
         first indicator shows whether the cursor will go to the
         SECOND endpoint of a curve after the curve has been set ("A "
         with automatic smoothing toggled off; "A+" with automatic
         smoothing toggled on), or to the FIRST endpoint ("A-"; no
         automatic smoothing). (See Section 10.) The second indicator
         shows whether guidelines which appear while smoothing and
         drawing squares or ovals are erased from view or not ("E+" or
         "E-"). (See Section 8.) The third indicator shows whether the
         speaker and/or prompts and error messages are toggled on
         ("H+" for speaker, prompts, and error messages; "H " for
         speaker only; and "H-" for no speaker, no prompts, and no
         error messages). (See Section 4.2.) Next is a mnemonic for
         the current operation. This mnemonic is "FREE" when no
         operation is in process. (See the Appendix for a list of all
         operation mnemonics.) Next, a letter ("E," "I," or "G")
         indicates the current cursor movement mode (external,
         internal, or snap-to grid, respectively; see Sections 5 and
         21). The following number is the current cursor speed (see
         sections 5, 20, and 21). The final two letters show the
         current units: "PX," pixels; "IN," inches; "PT," points;
         "PP," picas and points; "CM," centimeters; or "MM,"
         millimeters (see Section 20).

         5. MOVING THE CURSOR

           Keys 1 through 9 on the numeric keypad (except the central
         key 5) each move the cursor vertically, horizontally, or
         diagonally. The cursor moves in the direction corresponding
         to the direction of the pressed key from the 5 key. Note:
         NumLock must be OFF, and the Shift keys must not be pressed.
           To move the cursor DOWN, press 2; to move the cursor UP,
         press 8; to move the cursor LEFT, press 4; to move the cursor
         RIGHT, press 6; to move the cursor DIAGONALLY DOWN AND LEFT,
         press 1; to move the cursor DIAGONALLY DOWN AND RIGHT, press
         3; to move the cursor DIAGONALLY UP AND LEFT, press 7; and to
         move the cursor DIAGONALLY UP AND RIGHT, press 9.
           The distance the cursor moves on the screen when one of the
         above keys is pressed is determined by the Ins key (and also
         by the I key (see Section 20.3), the current units (see
         Section 20.1), the snap-to-grid setting (see Section 21.3),
         and the drawing scale (see Section 22.2)). The Ins key acts
         as a toggle between "slow" and "fast" cursor speeds. The
         initial "slow" setting is 1 current unit increment per
         keystroke, but it can be adjusted between 0.1 and 99.9
         current unit increments per keystroke (see Sections 20.1 and
         21.1); to "speed up" the cursor to more unit increments per
         keystroke (the default is 10, but the "fast" speed can be

                                                                           9
         adjusted between 0.1 and 99.9 current unit increments per
         keystroke (see Section 21.1)), press Ins (with NumLock
         toggled OFF and no Shift key pressed). To "slow down" the
         cursor, press Ins again.
           For diagonal cursor movements (controlled by 1, 3, 7, and 9
         on the numeric keypad), each keystroke results in a movement
         of m unit increments vertically and m unit increments
         horizontally when the cursor speed is "slow" and set to m, or
         n unit increments vertically and n unit increments
         horizontally when the cursor speed is "fast" and set to n.
         Note that m and n aren't necessary whole numbers!
           You can't move the cursor beyond the screen edge -- if you
         try, the cursor remains stopped at the edge.
           To save time when moving the cursor over large distances,
         you can use one of the several "shareware" or "freeware"
         memory-resident keyboard speedup programs currently
         available. The source code listing for QUICKEYS.COM (for
         8088- and 8086-based computers) originally was published in
         "PC Magazine", and the source code listing for SETKEY.COM
         (for 80286-based computers) originally was published in "PC
         Tech Journal"; these and similar programs are available on
         computer bulletin boards and/or from "shareware"
         distributors.
           A mouse can be used to move the cursor, as described in the
         file PTMOUSE.TXT. The cursor keys described above remain
         functional when a mouse is used; the keys allow more precise
         positioning of the cursor than does a mouse, mainly because
         you can count key presses.

         6. "ZOOMING" AND SCROLLING

         6.1. SCREEN MAGNIFICATIONS AND THE FRAME

           There are six different screen magnifications at which you
         can work in the program: 50%, 100% (which initially appears
         when PictureThis is run), 300%, 600%, 1200%, and 2400%. A
         line drawn on the 100% screen appears three times as long on
         the 300% screen, and half as long on the 50% screen; thus,
         the percentage of each screen refers to its LINEAR
         magnification. On the the 50% screen, the full drawing area
         of the screen is visible; on the 100% screen, one fourth of
         the drawing area is visible at any time; on the 300% screen,
         one thirty-sixth of the drawing area is visible at any time,
         and so forth.
           Dotted lines show the edge of the drawing frame at all six
         magnifications. The frame is a rectangular area indicating
         the portion of the drawing which will be printed. Any
         portions of curves outside of the frame WON'T BE PRINTED in
         the PostScript hard-copy output. The default frame is set at
         the edge of the visible 100% screen, in the middle of the
         full drawing screen. The current frame can be changed at any
         time (see Section 22.1).
           You can move the cursor to any of the four corners of the
         frame, regardless of the current screen magnification. To
         move the cursor to the upper left corner of the frame press
         Ctrl Home. To move the cursor to the lower left corner of the
         frame press Ctrl End. To move the cursor to the upper right
         corner of the frame press Ctrl PgUp. To move the cursor to
         the lower right corner of the frame press Ctrl PgDn.

                                                                          10
           Moving to a corner of the frame can be done during most
         operations (for example, while drawing a curve). However,
         during an operation, if the desired corner is not on the
         visible screen, the move is NOT made, and a beep sounds.
         During the "FREE" state ONLY, a move to a corner off the
         screen scrolls the screen so that the corner to which the
         cursor moves is at the edge of the newly visible screen.

         6.2. "ZOOMING" AND CENTERING

           To switch among the different screen magnifications, use
         the + and - keys on the numeric keypad. Press + to INCREASE
         the magnification. Press - to DECREASE the magnification.
         When the magnification is changed to any screen other than
         the 50% screen, the screen centers on the cursor. When
         working on the 100%, 300%, 1200%, or 2400% screen, you can
         center the screen on the cursor without "zooming" by pressing
         X. You cannot change between magnifications or center the
         screen in the middle of an operation, such as drawing a
         curve.
           Redrawing begins anew when + (except at the highest
         magnification level) or - (except at the lowest magnification
         level) is pressed, allowing quick multiple zooms.
           The current magnification level is indicated on the
         contextual help screens (see Section 4.2).

         6.3. SCROLLING

           You can scroll the 100%, 300%, 600%, 1200%, and 2400%
         screens by using the cursor keys (1 to 9, except 5, on the
         numeric keypad) with Shift pressed (or NumLock toggled on).
           To see more at the BOTTOM of the screen, press Shift 2.
           To see more at the TOP of the screen, press Shift 8.
           To see more at the LEFT side of the screen, press Shift 4.
           To see more at the RIGHT side of the screen, press Shift 6.
           To see more at the BOTTOM LEFT corner of the screen, press
         Shift 1.
           To see more at the BOTTOM RIGHT corner of the screen, press
         Shift 3.
           To see more at the UPPER LEFT corner of the screen, press
         Shift 7.
           To see more at the UPPER RIGHT corner of the screen, press
         Shift 9.
           As noted above, instead of pressing Shift simultaneously
         with numeric keypad number keys to scroll, you can toggle on
         NumLock and press the numeric keypad number keys only;
         alternatively (but not very easily!), you can use the main
         keyboard number keys (with Shift NOT pressed).
           The screen scrolls by increments of approximately one-
         quarter of the screen width/height in the chosen direction
         during horizontal/vertical scrolling, and one-quarter of the
         screen width/height in both horizontal and vertical
         directions during diagonal scrolling. The screen doesn't
         scroll beyond the edge of the entire drawing screen. You
         cannot scroll in the middle of an operation, such as drawing
         a curve.
           To center the frame on the 100%, 300%, 600%, 1200%, or
         2400% screen, press Shift 5.
           You can center the frame on the screen and concurrently

                                                                          11
         center the cursor in the frame (called "zeroing" the screen)
         by pressing Z.
           Except at 50% magnification, center the screen on the X-
         shaped cursor by pressing X.
           Fast multiple scrolls are made possible by immediate
         redrawing at the new screen position or magnification level
         when any scrolling or centering key is pressed.
           Usually when you scroll, the cursor remains at the same
         position relative to the frame. However, if the cursor would
         end up off the screen by remaining at the same position, it
         moves as close as possible to its original position, but
         still on the screen.

         7. DRAWING CURVES

           In PictureThis, a curve (including a straight line) is
         drawn by specifying the positions of its two endpoints and
         the positions of two "control points" (each of which is
         associated with one of the endpoints) which determine the
         curve's shape. These four points (eight numbers in all: four
         coordinate pairs) uniquely specify the position and shape of
         the curve. Curves drawn with PictureThis are cubic Bezier
         curves because such curves are defined in the PostScript
         language. For a mathematical definition of cubic Bezier
         curves, see the PostScript Reference Manual by Adobe Systems
         Inc., published by Addison-Wesley.

         7.1. DRAWING A STRAIGHT LINE

           While in the "FREE" state, move the cursor to a position
         desired for one of the line's endpoints.
           A. Press the F1 function key to set the first endpoint. A
         small square appears at the center of the cursor to indicate
         the first endpoint position, and the state changes to "LINE."
           B. Move the cursor to a position desired for the second
         endpoint. (A line "rubberbands" from the first endpoint.)
           C. To set the line, press the F3 function key. That's all
         there is to it! A second small square appears at the center
         of the cursor to indicate the second endpoint position, and
         the state returns to "FREE." (It's also possible to have the
         cursor automatically move back to the FIRST endpoint of a
         line when the line is set; see Section 10.2)
           Pressing Esc during the line drawing operation erases the
         line, moves the cursor back to the position of the first
         endpoint, and returns the state to "FREE."
           Note: To make a single dot on your drawing, press F1 at
         the desired position, then press F3 again WITHOUT MOVING THE
         CURSOR. The dot's size and shape are determined by the
         current line parameters (see Sections 12 and 15).
           A straight line can be drawn using a mouse to control
         cursor movement and setting of points. See the file
         PTMOUSE.TXT for details. F1, F3, and the cursor keys still
         remain functional when a mouse is used.

         7.2. DRAWING A CURVED LINE

           While in the "FREE" state, move the cursor to a position
         desired for an endpoint.
           A. Press the F1 function key to set the first endpoint. A

                                                                          12
         small square appears at the center of the cursor to indicate
         the first endpoint position, and the state changes to "LINE."
           B. Move the cursor to a position desired for a second
         endpoint. A line "rubberbands" from the first endpoint.
           C. Press the F1 function key again to set the second
         endpoint. Another small square appears, indicating the second
         endpoint's position, and the state changes to "CURVE." At
         this stage, two control points also are established, one at
         the position of each endpoint.
           D. Move the cursor away from the second endpoint. This
         moves the control point associated with the second endpoint;
         the curve's shape changes under the influence of the moving
         control point. Press the F2 function key to switch the cursor
         position to the first endpoint. Note that the position of the
         control point associated with the second endpoint is shown by
         a dot. Move the cursor away from the first endpoint. This
         moves the control point associated with the first endpoint;
         the curve's shape changes under the influence of the moving
         control point. With the F2 function key, toggle the cursor
         back and forth between the positions of the two control
         points, and move each of the control points in turn until you
         are satisfied with the shape of the curve. Note that the
         position of the control point not currently being moved by
         the cursor is indicated by a dot.
           E. To set the curve, press the F3 function key. This
         automatically moves the cursor to the second endpoint (for
         easy drawing of continuous curves made up of successively
         drawn curves) or to the first endpoint (for easy drawing of
         several curves from one endpoint), depending on the automatic
         smoothing toggle setting (see Section 10.2), and erases the
         dots indicating control points (to avoid cluttering the
         screen). The state returns to "FREE."
           Pressing Esc during the curve drawing operation BEFORE
         either control point is moved away from its associated
         endpoint "backs out" to the line drawing operation. That is,
         it erases the curve and second endpoint, moves the cursor to
         the second endpoint's position, draws a straight line from
         the first endpoint to the cursor, and changes the state from
         "CURVE" to "LINE." You then can establish a different second
         endpoint and go on to set a curve, or you can press Esc again
         to go back to the "FREE" state. Pressing Esc AFTER you have
         moved either control point from its associated endpoint
         changes the curve to a straight line, but does not erase the
         second endpoint. Next you can move the control points, or
         press Esc one time to allow a new second endpoint to be set,
         or press Esc twice to return to the "FREE" state.
           If you imagine a line connecting a curve's endpoint with
         the control point associated with that endpoint, you will
         find that the line has the same direction as (is tangent to)
         the curve at the endpoint. Ditto for the curve's other
         endpoint and its associated control point. Knowing this makes
         it easy to guess how you should move control points to make
         curves shaped as you wish. If one of a curve's control points
         has NOT been moved away from its associated endpoint, then
         BOTH ends of that curve will be tangent to imaginary lines
         connecting the respective endpoints with the control point
         which HAS BEEN MOVED away from its associated endpoint.
           You can draw a loop having both endpoints at the same
         position by pressing F1 and F1 again with no intervening

                                                                          13
         cursor movement. Then move the control points as described
         above to obtain the desired loop.
           If you press F1 to set a first endpoint and F1 again to
         set a second endpoint and move into the "CURVE" state, then
         press F3 without moving either control point from its
         associated endpoint (or if you move either control point, but
         then move it back to its associated endpoint), you will set a
         straight line equivalent to one drawn by pressing F3 at the
         second endpoint before pressing the second F1. That is, F1,
         move, F1, F3 is equivalent to F1, move, F3. The control
         points for a straight line are at the line's endpoints.
           Note that on-screen representations of curves are just
         APPROXIMATIONS to cubic Bezier curves (in fact, the screen
         representation for each curve consists of only 20 straight
         lines, for quick redrawing). These approximations are subject
         to round-off errors, especially at the 50% and 100% screen
         settings. In particular, if the same curve is drawn twice,
         with the same endpoints and control points each time, but
         WITH THE ORDER OF SPECIFYING THE ENDPOINTS REVERSED THE
         SECOND TIME THE CURVE IS DRAWN, the screen representations
         for the first and second drawings might be SLIGHTLY DIFFERENT
         (but the printed output will show only ONE curve).
           A curve can be drawn using a mouse to control cursor
         movement and setting of points. See the file PTMOUSE.TXT for
         details. F1, F2, F3, and the cursor keys still remain
         functional when a mouse is used.

         8. DRAWING BOXES, SQUARES, CIRCLES, AND OVALS

           By drawing combinations of straight lines and curves, you
         can draw boxes, squares, circles, and ovals (ellipses).
         However, PictureThis provides quicker ways to draw these
         figures.

         8.1. DRAWING A BOX

           A. In the "FREE" state, move the cursor to a position for
         one corner of the box and press B. An endpoint appears. The
         state is now "BOX."
           B. Move the cursor away from the first endpoint, in any
         direction. A box with diagonally opposite corners at the
         first endpoint's location and the cursor's location appears.
           C. When you are satisfied with the box, press F3. Four
         lines are set, with an endpoint at each corner; your box is
         complete, and the state returns to "FREE."
           Pressing Esc at any time during the box drawing operation
         erases the box, moves the cursor back to the box's first
         corner, and returns to the "FREE" state.
           To make a box with rounded corners see Section 27.8.

         8.2. DRAWING A SQUARE

           On typical CGA medium resolution graphics screens, there
         are more pixels a given distance in the horizontal direction
         than pixels the same distance in the vertical direction (the
         ratio is usually 1.2 to 1.) Therefore, if you tried to draw a
         square using the method in Section 8.1 and moved the
         cursor up and to the right by the same number of pixels, you
         would not see a square, but a rectangle that is taller than

                                                                          14
         it is wide. If the current unit setting is NOT pixels (the
         default setting when you run PictureThis is points; see
         Section 21.1 to learn how to change the unit setting), this
         isn't a problem, since ONLY pixels have different horizontal
         and vertical dimensions. That is, if the current units are
         NOT pixels, simply move the cursor to where you want one
         corner of the square, press B, move the cursor DIAGONALLY,
         and press F3. To draw a true square regardless of the current
         units, you can do the following:
           A. Move the cursor to where you want one corner of the
         square.
           B. Press B. An endpoint appears, and the state is "BOX."
           C. Press S. Two guidelines through the first corner of
         your square appear at 45 degree angles (only momentarily if
         you have the guidelines toggled off (see Section 10.3)). The
         state is "SQUARE."
           D. Move the cursor in one of the four diagonal directions
         using the numeric keypad keys (7, 9, 3, or 1). The cursor
         moves ONLY along one of the guidelines. A square is drawn,
         following the cursor.
           E. If you want to move along the other guideline, press F2.
         The square is erased and the cursor returns to the first
         corner. The cursor now can be moved along the other
         guideline. (Pressing F2 again returns the cursor to the
         original guideline.)
           F. When you are satisfied with the square, press F3. The
         guidelines are erased and four lines are established with
         endpoints at the corners. Your square is complete, and the
         state is "FREE."
           Pressing Esc during the square operation erases the
         guidelines, leaves the cursor where it is, and returns to the
         "BOX" state. You now can finish drawing a box with no
         guideline restraints, or press Esc again to return to the
         "FREE" state.
           If squares drawn by this method don't appear as true
         squares, then you need to adjust your screen's aspect ratio
         (see Section 24).
           Note: While drawing a square, the cursor moves along the
         guideline at 1 or 10 (depending on the speed toggle setting,
         slow or fast) pixels per key press, REGARDLESS of the current
         units.

         8.3. DRAWING A CIRCLE

           A. Move the cursor where you want the center of a circle
         and press O (for "oval"). Two guidelines appear through the
         cursor, one vertical and one horizontal (only momentarily if
         you have the guidelines toggled off (see Section 10.3)). The
         state is "CIRCLE."
           B. Move the cursor to the left or right along the
         horizontal guideline (using numeric keypad keys 4 or 6). A
         circle is drawn through the cursor, centered where the
         guidelines cross.
           C. When you are satisfied with the circle, press F3. The
         guidelines are erased, and four cubic Bezier curves closely
         approximating a circle are established with their endpoints
         at the top, bottom, left, and right. These curves can be
         treated subsequently as if they were drawn independently of
         each other. The cursor returns to the center of the circle;

                                                                          15
         this facilitates drawing concentric circles. (To locate the
         center of a circle previously drawn, see Section 23.2.) The
         state returns to "FREE."
           Pressing Esc during the circle operation erases the circle
         and guidelines, returns the cursor to the center of the
         circle, and returns the state to "FREE."
           If circles drawn by this method don't look like true
         circles, then you need to adjust your screen's aspect ratio
         (see Section 24).
           To draw a circle with its side or top endpoints at
         particular locations, see Section 27.7.

         8.4. DRAWING AN OVAL (ELLIPSE)

           A. Start as for drawing a circle, by pressing O when the
         cursor is where you want the center of an oval (to be
         precise, an ellipse). Move the cursor to the right or left
         along the horizontal guideline (invisible if guidelines are
         toggled off; see Section 10.3) to produce a circle.
           B. Press F2. The cursor jumps to the vertical guideline,
         where it intersects the circle (the guideline is invisible if
         guidelines are toggled off; see Section 10.3). The state is
         "OVAL".
           C. Move the cursor up or down (using numeric keypad keys 8
         or 2). An oval is drawn through the cursor and the previous
         position of the cursor on the horizontal guideline, centered
         where the guidelines cross. Pressing F2 again returns the
         cursor to its previous position on the other guideline. You
         can move the cursor on that guideline.
           D. When you are satisfied with the shape of the oval, press
         F3. The guidelines are erased and four Bezier curves closely
         approximating an oval (ellipse) are established, with their
         endpoints at the top, bottom, left, and right sides of the
         oval. These Bezier curves can be treated subsequently as if
         they were drawn independently of each other. The cursor
         returns to the center of the oval (to facilitate drawing
         concentric ovals), and the state returns to "FREE."
           Pressing Esc during the oval operation erases the
         guidelines and the oval, returns the cursor to the center of
         the oval, and returns the state to "FREE."
           If you want an oval oriented other than horizontally and
         vertically, you can rotate it (see Section 17.4). If you want
         an oval aligned so that its side endpoints are at particular
         locations, see Section 27.7.


MANUAL2.TXT


         PICTURETHIS(TM) "SHAREWARE" VERSION

         RELEASE 3.00

         MAY 15, 1989

         USER MANUAL, PART 2 OF 7 PARTS


         Copyright 1988, 1989, 1990 by Patricia Y. Williams and
           Gregory Williams, All Rights Reserved.

         HortIdeas Publishing, Route 1, Box 302, Black Lick Road,
           Gravel Switch, KY 40328 U.S.A.


         9. FINDING ENDPOINTS

           To move the cursor to an endpoint of a previously drawn
         curve, first press the Del key on the numeric keypad (with
         NumLock NOT toggled on and Shift NOT pressed). The cursor
         jumps to the endpoint which was APPROXIMATELY closest to the
         cursor's position when Del was pressed. (The measure of
         "closeness" used by PictureThis here is the sum of the
         horizontal distance and the vertical distance, rather than
         the true distance, for faster program operation.) All of the
         curves having that endpoint become dashed to help you
         distinguish the endpoint at which the cursor is now located
         from other nearby endpoints.
           If you want to move the cursor to another endpoint, press
         Space or + to shift the cursor to the NEXT closest endpoint
         on the screen to the ORIGINAL cursor position when the Del
         key was pressed. Or press - to move the cursor to the
         "previous" endpoint (which at first is the FURTHEST endpoint
         from the ORIGINAL cursor location). Continue pressing Space,
         +, and/or - until the cursor is at the desired endpoint.
           When the cursor is at the desired endpoint, press any key
         except Space, +, -, Enter, or Esc. The cursor remains at the
         selected endpoint, and the operation specified by the pressed
         key is carried out (for example, if F1 was pressed, a new
         curve is started); if a currently invalid key is pressed, the
         speaker beeps. If you prefer to remain at the endpoint and
         NOT start another operation, press Enter. In either case, the
         curves that were dashed become solid again.
           Pressing Esc at any time during the operation moves the
         cursor back to its original position when Del was pressed
         and returns all dashed curves to solid again.
           The cursor can be moved to an endpoint by using this
         operation any time you can move with the cursor keys, except
         when moving along a guideline (see Sections 8.2 and 8.3).
           Because the internal coordinates of the endpoints are finer
         than the screen resolution (see Section 20.3) at all screen
         magnifications except the highest (2400%), the cursor can
         APPEAR to be at an endpoint when it ISN'T -- the screen
         resolution is too low to distinguish "close to" from "at." IF
         YOU WANT TO POSITION THE CURSOR EXACTLY ON AN ENDPOINT, USE
         THE MOVE-TO-ENDPOINT OPERATION TO BE SURE.

         10. SMOOTHING CURVES

                                                                          17
           Using smoothing, you can draw a succession of curves end-
         to-end so that two curves sharing an endpoint also have the
         same direction (are tangent to each other) at the shared
         endpoint. Smoothing can be accessed either manually or
         automatically.

         10.1. MANUAL SMOOTHING

           For manual smoothing, during the drawing of a curve (after
         F1 has been pressed at least once to define an endpoint),
         press S to move the cursor to the endpoint associated with
         the currently selected control point IF ONE OR MORE
         PREVIOUSLY DRAWN CURVES ALSO HAVE THAT ENDPOINT. If NO
         previously drawn curves also have that endpoint, then you the
         speaker beeps (if toggled on) and an error message appears
         (if toggled on); the cursor remains where it is. If there is
         ONE previously drawn curve with ONE end at that endpoint, a
         line tangent to that previously drawn curve at the endpoint
         will appear. If there are TWO OR MORE previously drawn curves
         with that endpoint, or ONE previously drawn curve with BOTH
         of its ends at that endpoint, a prompt ("Next: +, Space"/
         "Previous: -"/"Select: Enter") appears on the left side of
         the screen, and one of the previously drawn curves is dashed
         to distinguish it. If you want to draw the new curve tangent
         to the dashed curve at their shared endpoint, press Enter. A
         guideline tangent to the dashed curve at its endpoint
         appears. Otherwise, by repeatedly pressing Space, +, and/or -
         you can cause each of the previously drawn curves with the
         selected endpoint to be dashed successively. When the curve
         to which you want the new curve being drawn to be tangent at
         their shared endpoint is dashed, press Enter to select it. A
         guideline tangent to the dashed curve at its endpoint
         appears, unless guidelines are toggled off (see Section
         10.3). For a previously drawn curve with both ends at the
         endpoint, pressing Enter when that curve is dashed causes a
         guideline tangent to one of its ends to appear; if you want
         to select the tangent to the OTHER end, instead press Esc,
         then S, and then Space, +, and/or - (repeatedly) to cycle
         through the curves until the curve with both ends at the
         selected endpoint again becomes dashed. This time when Enter
         is pressed, a guideline tangent to the OTHER end appears,
         unless guidelines are toggled off (see Section 10.3).
           The new curve's control point associated with the shared
         endpoint is constrained to move along the tangent guideline
         (whether visible or not). To move the control point with the
         cursor, first use the cursor key on the numeric keypad
         closest to the guideline direction (away from the previously
         drawn curve). Then use the "opposite" cursor key to move the
         other direction on the guideline (example: first 9, then 1).
         Note: By pressing Ins, you can toggle the cursor to move 1 or
         10 pixels (NOT any other units, regardless of the current
         units) per key press along the guideline. The new curve being
         drawn and the previously drawn curve have the same tangent at
         the endpoint they share: in other words, the two curves
         together form a SMOOTH curve (OR, if you move the control
         point back along the tangent guideline in the direction of
         the previously drawn curve, the two curves form a CUSP).
         Note: To GUARANTEE a truly smooth curve or a true cusp, you
         MUST move the control point of the new curve which is

                                                                          18
         associated with the shared endpoint AT LEAST ONE pixel along
         the tangent guideline.
           On a tangent guideline, control point position is indicated
         by a "missing" (background-colored) pixel. Move between the
         two control points of the new curve by pressing F2. A control
         point not constrained to move along a tangent line is moved
         by pressing the numeric keypad number keys, as usual. Note
         that BOTH control points of a new curve can be constrained by
         smoothing, if both of the new curve's endpoints are located
         at endpoints of previously drawn curves (press S when one of
         the control points is selected, select a previously drawn
         curve for smoothing, then press F2 to choose the other
         control point, press S again, and select another previously
         drawn curve for smoothing). After shaping the new curve as
         you desire by positioning its control points, press F3 to set
         it; this also erases tangent guidelines.
           While drawing with smoothing, pressing Esc when the cursor
         is at the control point associated with an endpoint WITH a
         tangent constraint causes the tangent guideline to be erased
         and leaves the cursor at the same position; then that control
         point can be moved WITHOUT constraint by the numeric keypad
         number keys. Pressing Esc when the cursor is at the control
         point associated with an endpoint WITHOUT a tangent
         constraint erases any tangent guidelines, and provides the
         usual escape from drawing a curve.

         10.2. AUTOMATIC SMOOTHING

           For quick drawing of a succession of continuous smooth
         curves, you can toggle automatic smoothing on by pressing A.
         Pressing A again toggles automatic smoothing off and results
         in the cursor returning to the FIRST endpoint of a curve,
         instead of the second endpoint, when the curve is set.
         Pressing A yet again results in the cursor returning to the
         second endpoint of a curve when the curve is set, with
         automatic smoothing toggled off. This three-way toggling can
         be done almost any time a menu does not appear at the top of
         the screen, and the toggled state remains in effect until you
         toggle again. The automatic smoothing indicator in the status
         box reads "A " when automatic smoothing is off and the cursor
         returns to the second endpoint when a curve is set, "A+" when
         automatic smoothing is on and the cursor returns to the
         second endpoint when a curve is set, and "A-" when automatic
         smoothing is off and the cursor returns to the first endpoint
         when a curve is set.
           With automatic smoothing ON, just after you have finished
         drawing a curve (F3 has been pressed and the cursor is
         positioned at the second endpoint of the curve), if you press
         F1 to start drawing a new curve with its first endpoint at
         the second endpoint of the curve just drawn, a guideline
         tangent to the curve just drawn appears at its second
         endpoint (if guidelines are toggled on; see Section 10.3).
         Proceed by defining a second endpoint for the new curve as
         usual (move the cursor with the numeric keypad number keys
         and press F1 again). The control point associated with the
         first endpoint of the new curve (which is also the second
         endpoint of the curve just drawn) is constrained to move
         along the tangent guideline. Other details are as given above
         with manual smoothing selected.

                                                                          19
         10.3. REMOVING GUIDELINES

           If you don't want to see tangent guidelines during
         smoothing, or if you don't want the guidelines visible when
         drawing a circle, oval, or square (perhaps for a better view
         of an area of a drawing having many curves close together),
         press E. This is a toggle; pressing it a second time restores
         the guidelines to view. "Invisible" guidelines still
         constrain cursor movement during smoothing or drawing a
         square or an oval. The guideline erase indicator in the
         status box reads "E-" if the guidelines are visible, "E+" if
         they are invisible.

         11. CUTTING CURVES

           Curves can be connected to each other with precision ONLY
         at shared endpoints (see Section 9) -- but you CAN attach new
         curves to arbitrary points on previously drawn curves. How?
         By "cutting" a previously drawn curve into TWO smoothly
         connected curves, which together very closely approximate the
         original curve. These two curves share a NEW endpoint which
         results from the cutting operation.
           To begin cutting a curve, press F5. The state changes to
         "CUT" and the cursor moves to the nearest endpoint; all
         curves associated with that endpoint are dashed, just as if
         you had pressed Del (see Section 9). Now press Space, +,
         and/or - (repeatedly) until the cursor is on one of the
         endpoints of the curve you wish to cut. Press Enter to select
         that endpoint. If only one curve is associated with the
         selected endpoint, it becomes dashed. If two or more curves
         are associated with the selected endpoint, dash the curve you
         want to cut by pressing Space, +, and/or -, and select it
         with Enter. The selected curve does NOT have to be entirely
         on the visible screen.
           Next, move the cursor ALONG the curve with the cursor keys.
         Ins can be used to switch the cursor movement increment
         between 1 and 10 pixels. (Note: If the curve goes off the
         edge of the screen and then back onto the screen, the moving
         cursor will jump from where the curve leaves the screen to
         where it reenters the screen.) When the cursor is located
         where you want a new endpoint, press F3. A new endpoint and
         two new curves replace the original curve, and the state is
         "FREE." The new curves have the same line parameters as the
         original curve (see Sections 12 and 15). These new curves are
         automatically inserted into the trail of which the original
         curve was part, in place of the original curve (see Section
         14).

         12. MODIFYING CURVES

           To alter a previously drawn curve, press F4. The state
         becomes "CURMOD." The cursor automatically jumps to the
         closest endpoint and any curves associated with that endpoint
         are dashed (as if you pressed Del). Press Space, +, and/or
         - repeatedly (see Section 9) until the cursor is on one of
         the endpoints of the curve you want to modify. Then press
         Enter. If there is only one curve with the selected endpoint,
         it is dashed, and a menu box (described below) appears. If
         there are two or more curves with the selected endpoint, a

                                                                          20
         box with instructions ("Next: +, Space"/"Previous: -"
         /"Select: Enter") appears, and one curve with the selected
         endpoint is dashed. If you want to alter the dashed curve,
         press Enter; otherwise, by pressing Space, +, and/or -
         repeatedly, you can cause any of the curves with the endpoint
         to be dashed successively. When the curve you want to modify
         is dashed, press Enter; a menu box appears, with three
         options: Erase, Change, and Line. Pressing Esc backs out to
         the "FREE" state.

         12.1. ERASING A CURVE

           While in the "CURMOD" state, the Erase option is accessed
         by pressing E. This places a prompt in the menu box ("Erase
         selected curve (Y/N)"), and sets the state to "ERASE." If you
         want to erase the curve, press Y. This erases the dashed
         curve. The cursor remains at the originally selected end
         point, the menu box disappears, and the state returns to
         "FREE." Any other key will not erase the curve, and returns
         you to the curve modification menu and state "CURMOD."
           You cannot erase a curve bounding a filled area unless you
         first change the fill to none (-1) (see Section 14.3). If you
         try to erase such a curve, an error message appears, the
         curve modification menu reappears, and the state returns to
         "CURMOD."

         12.2. CHANGING A CURVE

           While in the "CURMOD" state, the Change option is accessed
         by pressing C. IF both endpoints of the selected curve are on
         the screen, the curve is dashed and a straight line appears
         between the curve's endpoints. The state is now "CHANGE." (If
         one of the selected curve's endpoints is not on the screen,
         you hear a beep (and see an error message if toggled on) and
         return to the "FREE" state.)
           Now you can alter the shape of the replacement curve, but
         NOT the placement of its endpoints) via the F2, cursor, and
         F3 keys, as described above in Section 7.2. You also can
         smooth the curve, as described in Section 10. Throughout
         the alteration process, the original curve is dashed; this
         dashed curve disappears when F3 is pressed to end the
         process. Note: during the changing procedure, if Esc is
         pressed, the original curve becomes undashed, with the cursor
         at the curve's starting endpoint, and the state returns to
         "FREE."

         12.3. CHANGING A CURVE'S LINE PARAMETERS

           Each curve has four line parameters associated with it:
         line weight ("thickness"), line gray percentage (the gray
         shading of the curve, ranging from white to black), linecap
         (the style of the ends of the curve), and dash pattern. Each
         newly drawn curve is assigned the current "GLOBAL" values for
         these parameters. When PictureThis is first loaded, the
         values for the global parameters are as follows: line weight,
         1 PostScript point (EXACTLY 1/72 inch; NOT equal to 1
         traditional printer's point, which is only APPROXIMATELY 1/72
         inch); line gray, 100% (black; 0% corresponds to white);
         dash, solid (that is, no dash at all); linecap, round. These

                                                                          21
         GLOBAL line parameters may be changed at any time (see
         Section 15). The following procedures will change a SELECTED
         curve's line parameters ("LOCALLY"), from the "CURMOD" menu.
           The Line option is accessed by pressing L. This allows
         changes in line weight, line gray percentage, linecap, and
         dash pattern. The state changes to "THISLN," and a line
         parameter change menu appears. The top line of the menu lists
         items which can be altered (Weight, Gray, Linecap, and Dash)
         and the word Keep. The second line of the menu displays
         current values of these parameters for the selected curve
         (shown dashed).

         12.3.1. CHANGING LINE WEIGHT

           To change the weight of the selected curve, press W when
         the line parameter menu is showing. A line weight prompt
         appears. Its first line displays the current line weight in
         PostScript points (one PostScript point = EXACTLY 1/72 inch).
         The second line requests that you enter a new line weight in
         points. If you are satisfied with the current line weight,
         press Enter or Esc; this takes you back to the line parameter
         menu with no change in line weight of the selected curve. If
         you want to change the line weight, key in a number between -
         0 and 327.00 and then press Enter. If you set the line weight
         between .01 and 327.00, the weight of the curve on the
         Quickshow screen (see Section 13) and the PostScript output
         equals that value (as close as the output device allows). If
         you set the weight to 0, the curve's thickness is "hairline,"
         the least thickness available on the particular output device
         used (quite thin on 300 dpi laser printers; almost invisible
         on 1270 and 2540 dpi imagesetters). If you set the weight to
         a negative number, it is stored as -1. In PictureThis, -1
         line weight means that the curve is a "construction" or
         "blue" curve; that is, it does not appear on the output at
         all, but is used only as a reference curve, or is part of a
         trail filled with a gray shade, but doesn't show (see Section
         14.3). A curve with a line weight of -1 is shown as dotted on
         the drawing screen of PictureThis, and it does not appear at
         all on the Quickshow screen (see Section 13) or the
         Viewscreen (see Section 25.1).
           An invalid input results in an error message (and a chance
         to try again).
           After you have entered a valid line weight, the line
         parameter menu reappears with the line weight in the second
         line changed to the new line weight.

         12.3.2. CHANGING LINE GRAY

           To change the selected curve's gray shade, press G when
         the line parameter menu is showing. A line gray prompt will
         appear. The first line of this prompt indicates the current
         line gray, from 0% (white) to 100% (black). The second line
         requests that you enter a new line gray percentage. If you
         are satisfied with the current gray, press Enter or Esc,
         and the line parameter menu reappears with an unchanged line
         gray percentage. If you want to change the line gray
         percentage, enter a number between 0 (white) and 100 (black).
         An invalid entry results in an error message (and a chance to
         try again). When you have entered a legal line gray

                                                                          22
         percentage, the line parameter menu reappears with the line
         gray percentage in the second line changed to the new line
         gray percentage.

         12.3.3. CHANGING THE LINECAP

           To change the selected curve's linecap, press L when the
         line parameter menu is showing. A linecap menu appears. The
         first line of the menu shows the current linecap. The second
         line allows you to change the cap to Butt, Round, or Square.
         Pressing Esc returns to the line parameter menu without
         changing the linecap. Pressing B, R, or S changes the linecap
         to butt, round, or square, respectively, and returns to the
         line parameter menu with the new linecap displayed in the
         second line.
           For thin curves, the linecap has little importance, since
         it is barely visible; for thick curves, the linecap can be
         very significant. A butt cap is a straight line oriented
         perpendicular to a curve, located at the curve's endpoint. A
         round cap is a semicircle with radius equal to one-half of
         the line width, centered on the curve's endpoint (so it
         extends beyond the endpoint). A square cap is a straight line
         oriented perpendicular to the end of the curve, located
         beyond the curve's endpoint a distance equal to one-half of
         the line width. To see the differences among these linecaps,
         draw three horizontal lines on the screen with the same large
         line weight (say, 100 points), and choose a different linecap
         for each line, then view the lines on the Quickshow screen
         (see Section 13).

         12.3.4. CHANGING THE DASH PATTERN

           To change the selected curve's dash pattern, press D when
         the line parameter menu is showing. A dash pattern menu
         appears. The current dash pattern is shown on the second line
         of the menu. You can choose a new dash pattern from six user-
         settable dash patterns (see Section 15.2) plus the (default)
         solid setting. Each dash pattern has a number, shown in
         parentheses at the right of the second line of the menu.
         Solid is 0; the user-settable patterns are 1 through 6. Press
         Spacebar, +, and/or - repeatedly to cycle through the dash
         patterns; notice that, for each dash pattern, information is
         provided about its current settings (see Section 15.2 for
         details on these settings). If you want to change the Offset
         setting (between 0.0 and 25.5 points; see Section 15.2) for
         the dash pattern shown, press O; you're shown the current
         offset setting and prompted to key in a new one (press Esc to
         return to the dash pattern menu without changing the offset
         setting). At the dash pattern menu, press K (for "Keep") or
         Enter to use the dash pattern shown, or press Esc to use the
         old dash pattern (with its old offset setting); in either
         case, the line parameter menu reappears.

         12.3.5. SAVING THE LINE PARAMETERS

           To save the line parameters displayed on the second line of
         the line parameter menu, press K (for "Keep"). This saves the
         line parameters for the selected curve and returns to the
         "FREE" state. If you press Esc while the line parameter

                                                                          23
         menu is on the screen, any changes which you made to the
         weight, gray percentage, linecap, and/or dash pattern are NOT
         saved. You can change any of the line parameters any number
         of times before you press K; only the final values are saved.
         Pressing Enter produces the same result as pressing K.

         13. QUICKSHOW SCREEN

           The Quickshow screen allows you to see a quickly drawn
         screen representation corresponding to "showpage" in the
         PostScript language -- in other words, a representation of
         what the hard copy output will look like. To see the
         Quickshow screen for the current drawing screen (only in the
         "FREE" state), press Q.
           The Quickshow screen can be accessed at any magnification,
         and it can be zoomed or scrolled (see Section 6). The
         Quickshow screen "clips" curves (stops drawing them) at the
         current frame boundaries, shows approximations for proper
         line weights, line gray percentages, and linecaps (see
         Section 12.3), and shows dashed curves as dashed (though NOT
         with approximations to their individual dash patterns). It
         also shows joins and fills of trails (see Section 14) and
         layering of objects (see Section 16.4). Of course, the low
         resolution of the screen makes accurate representation of
         fine lines impossible, some curves have the "jaggies," and
         the grays are VERY approximate -- still, the Quickshow screen
         is a good way to predict how the PostScript output will
         appear.
           Note: PostScript hard copy output does NOT show dots (drawn
         by pressing F1 and then F3, without moving the cursor in
         between) with non-solid dash patterns or with square or butt
         linecaps, so such dots also are NOT shown on the Quickshow
         screen. Dots with dash setting 0 (see Section 15.2) and round
         linecaps (see Section 12.3.3) -- the defaults in PictureThis
         -- are shown as circles with a diameter equal to the line
         weight on both the hard-copy output and on the Quickshow
         screen.
           When the Quickshow screen has finished drawing, pressing
         Esc returns the state to "FREE" and restores the drawing
         screen to reflect what was last on the Quickshow screen. If
         there is adequate memory available and no zooming or
         scrolling has taken place, the drawing screen is restored
         almost instantaneously, instead of being redrawn curve by
         curve.
           Pressing Esc while the Quickshow screen is drawing stops
         the drawing. Pressing Esc again returns to the "FREE" state.
           Very wide curves appear rather slowly on the Quickshow
         screen when drawn with the highest possible precision
         (especially if you have a slow computer). For this reason,
         there is a user-settable "flatness" parameter that allows a
         trade-off between the speed and precision of such curves on
         the Quickshow screen. To set this parameter, press F9. The
         state changes to "MISC," and the miscellaneous operations
         menu will appear. To change the flatness parameter, press
         F. A Flatness menu appears, and you can choose between flat
         (faster) curves (by pressing F) or round (more accurate)
         curves (by pressing R). The default setting for the flatness
         parameter is flat (faster). If they are very wide, flat
         curves are indeed "flatter" than round curves on the

                                                                          24
         Quickshow screen, but not on the PostScript output.
           At high magnifications, sometimes there are errors in the
         ways extremely wide lines are shown on the Quickshow screen.
         This happens very rarely (due to an overflow) and is
         essentially harmless, so we decided not to correct it (an
         undertaking which would make the program run significantly
         slower).
           Saving and retrieving drawing files can be done while on
         the Quickshow screen (see Sections 19.1 and 19.2).
           To change the background color of the Quickshow screen,
         press B repeatedly to cycle through the 16 possibilities. The
         default is light gray.

         14. TRAILS, FILLS, AND JOINS

           A trail is a group of curves. Trails are useful because
         they can bound areas filled with gray shades, and because the
         points where the curves in a trail meet can be made to join
         neatly (important for wide curves). (Note: Trails are similar
         but NOT identical to the "paths" defined in the PostScript
         language.)
           The most common trails are continuously connected curves.
         If you draw a curve, then draw a second curve connected so
         that its first endpoint is the same as the first curve's
         second endpoint, (that is, you press F1 for the first
         endpoint of the second curve WITHOUT moving the cursor after
         pressing F3 to establish the first curve), you have drawn a
         trail of two curves. As long as you continue to connect the
         curves in this manner ("head-to-tail," so to speak), they are
         all automatically in one trail. If you connect the second
         endpoint of the final curve in your trail to the first
         endpoint of the first curve, you have made a closed trail.
         Closed trails can be filled with a gray shade. (Actually,
         open trails can be filled too, but this usually isn't
         desirable. When you fill an open trail, a construction
         (weight: -1) line automatically connects the beginning and
         end of the set of curves, to make a closed boundary suitable
         for filling.) Boxes (see Section 8.1), squares (Section 8.2),
         circles (Section 8.3), and ovals (ellipses) (Section 8.4) all
         are automatically made into closed trails when they are
         drawn.
           Most of the time while drawing in PictureThis, you need not
         be concerned about trails. They are automatically made for
         you as you draw curves. Every curve is placed in a trail, as
         noted above (some trails contain only one curve), and no
         curve is in more than one trail. However, if you want to fill
         an area that is enclosed by curves which weren't continuously
         drawn, or if you want to manipulate only part of an existing
         trail, you can still do so by defining a new trail (see
         Section 14.1). You also can define trails which are made of
         two or more unconnected subtrails; these are useful for doing
         "fancy" fills, especially for making holes in filled areas
         (see Section 14.3).
           To define or modify existing trails, access the trail menu
         by pressing F6. The state is changed to "TRAIL," and the
         trail menu appears. This menu allows you to define a new
         trail, or erase, fill, or change the line parameters for an
         existing trail. It also allows you to copy an object (defined
         in Section 16) to one or more endpoints of a trail, as

                                                                          25
         described in Section 17.7.

         14.1. DEFINING A TRAIL

           You can define a trail composed of any previously drawn
         curves. To begin this operation while in the "TRAIL" state,
         press D. The state changes to "DEFTRL," the cursor jumps to
         the nearest endpoint, and any curves with that endpoint are
         dashed (just as if you had pressed Del). Press Space, +,
         and/or - repeatedly until the cursor is on the endpoint where
         you want to BEGIN a new trail. Next, press Enter. A box with
         instructions ("Next curve: +, Space"/"Select curve:
         Enter"/"Next endpoint: Del"/"Done: D") appears on the left
         side of the screen, and one curve with the selected endpoint
         is dashed to distinguish it. If you want to start the trail
         with the dashed curve, press Enter. Otherwise, by pressing
         Space, +, and/or - repeatedly, you can cause each of the
         curves with the endpoint to be dashed successively. When the
         curve with which you want to start the trail is dashed, press
         Enter. This curve is dashed-and-dotted to show that it has
         been chosen as part of your trail, and the cursor moves to
         the other endpoint of the curve, where you can again select
         any curve (except ones already selected for the trail) to be
         the next curve in the trail. Continue with this process until
         the final curve which you want in the trail is selected. Then
         press D. Your trail is established.
           Alternatively, if your trail is to be made of disjoint
         subtrails (see Section 14.3.2 for why you might want to do
         this), with the cursor at any endpoint, instead of
         immediately selecting an associated curve, move the cursor to
         a different endpoint to start a new subtrail by pressing Del,
         followed by Space, +, and/or - repeatedly, and finally Enter
         to select a new endpoint as usual. Then you can continue, as
         above, selecting curves for your subtrail. You can make as
         many subtrails as you want. When the entire trail is
         complete, press D to establish it. (Note: In the process of
         defining the trail, if you reach an endpoint for which all
         associated curves have already been chosen for the trail, you
         have a choice only between pressing D to establish the trail
         and Del to start another subtrail.)
           If at any time during the trail definition process you
         press Esc, the selected curves are returned to normal, the
         state becomes "TRAIL," and the trail menu reappears.
           When your trail has been established, it remains "dashed-
         and-dotted" while two prompts appear successively, allowing
         the specification of a fill percentage and changed line
         parameters for (ALL curves in) the newly defined trail. The
         first prompt asks for a gray fill percentage; it is identical
         to the prompt described in Section 14.3.1. (Note: Once a new
         trail has been established by pressing D, you CANNOT "back
         out" to the trail defining process. Pressing Esc while at the
         fill prompt just continues with the next prompt and leaves
         the defined trail with NO (-1; transparent) fill.) The next
         prompt states: "Change parameters of ALL curves (Y/N)?" If
         you answer Y, a line parameter menu identical to the one
         described in Section 14.4 appears, and you can change the
         line parameters of ALL curves in the trail to be identical
         and set the join parameter (see Section 14.4.2) for the
         trail. When these two prompts have been answered, the new

                                                                          26
         trail is again solid and the state returns to "FREE."
           What happens to the previously defined trails that
         contained curves now in the newly defined trail? PictureThis
         automatically takes care of this in one of two ways. If a
         curve was in a trail which had a fill, or was part of an
         object (see Section 16), the curve is duplicated
         automatically, so identical curves are in BOTH the old and
         new trails. (Remember, a curve cannot be in more than one
         trail at a time.) Otherwise, the curve is removed from its
         old trail. (If all curves are removed from a trail, the trail
         becomes undefined.)
           The process of defining a trail sounds rather complicated
         in words, but it is actually quite simple for the most common
         class of trails (simple closed trails) -- and it isn't very
         difficult for even quite complex trails. PictureThis
         automatically does most of the work for you. Just try it and
         check your results with the Quickshow screen. Also, if you
         are careful to draw curves continuously, as described above,
         you will only rarely have to define a trail.

         14.2. ERASING A TRAIL

           An entire trail can be erased, whether filled or not. At
         the trail menu, press E. The state changes to "ERASE," the
         cursor jumps to the closest initial point of a trail, and the
         entire trail is dashed. (The initial point of a trail is the
         first endpoint of the first curve drawn for automatically
         defined trails, or the first endpoint selected for manually
         defined trails.) A box with instructions appears on the left
         side of the screen ("Next: +, Space"/ "Previous: -"/"Select:
         Enter"). If the dashed trail is the one you want to erase,
         press Enter. If you want to select a different trail, press
         Space, +, and/or - repeatedly until the trail you want to
         erase is dashed, then press Enter. If only one trail's
         initial point is on-screen, it is selected automatically,
         and the instruction box does not appear. (If you press Esc
         during this process, the trail menu reappears, and the state
         returns to "TRAIL.")
           A prompt appears: "Erase selected trail? (Y/N)." If you
         want to erase the dashed trail, press Y; the trail is erased
         and the state returns to "FREE." Otherwise, press any other
         key; the trail menu reappears and the state returns to
         "TRAIL."

         14.3. FILLING A TRAIL

           An already existing trail (either automatically or manually
         defined) can be filled with a gray shade.

         14.3.1. SPECIFYING A FILL GRAY PERCENTAGE

           While in the "TRAIL" state, to fill an unfilled trail, or
         to change the gray percentage of (or "unfill") a previously
         filled trail, press F. The state changes to "FILL," the
         cursor jumps to the closest initial point of a trail, and
         that trail is dashed. (The initial point of a trail is the
         first endpoint of the first curve drawn for automatically
         defined trails, or the first endpoint selected for manually
         defined trails.) A box with instructions will appear on the

                                                                          27
         left side of the screen ("Next: +, Space"/ "Previous: -"
         /"Select: Enter"). If the dashed trail is the one you want to
         fill, press Enter. If you want to select a different trail,
         press Space, +, and/or - repeatedly until the trail you want
         to fill is dashed, then press Enter. If only one trail has
         its initial point on-screen, it is selected automatically,
         and the instruction box does not appear. (If you press Esc
         during this process, the trail menu reappears, and the state
         returns to "TRAIL.")
           A fill prompt appears. The first line of the prompt gives
         the current fill percentage, from 0% (white) to 100% (black).
         A fill percentage of -1% means that the trail is not filled;
         it is transparent, NOT opaque. The second line requests that
         you enter a gray percentage. If you are satisfied with the
         current fill gray percentage, just press Enter and it is not
         changed. If you want to "unfill" the trail, enter a -1 at the
         prompt. Otherwise, enter a number between 0 (white) and 100
         (black). Upon your valid entry, the trail is filled and the
         state returns to "FREE." (If you press Esc instead of
         entering a fill, the state returns to "TRAIL," and the trail
         menu reappears.)
           The Quickshow screen shows approximate grays as 33
         gradually darkening patterns. Actual grays on PostScript
         output devices vary considerably. You will have to experiment
         with the grays on the particular printer you are using to
         find the most appropriate ones for your drawings.

         14.3.2. RESULTS OF FILLING A TRAIL

           PictureThis (and PostScript) fills are NOT like those of
         "paint" programs, in which a fill "paints" the interior of a
         simple closed boundary. There are three main differences:
           1. PictureThis fills (except "no fill," -1) are "opaque."
         If one trail overlaps another trail, and the trail "in front"
         is filled, the portions of the second trail which are
         "behind" (or "under") the first trail are not visible on the
         Quickshow screen or on the PostScript output. Try this by
         drawing a circle and filling it with some shade of gray. Then
         draw a box that overlaps the circle and fill it with a
         different shade of gray. Now look at it on the Quickshow
         screen. Part of the circle is entirely covered by the box.
         You actually can see the circle draw and then see the box
         cover it. It is as if the objects were cut out and pasted on
         the drawing, in order. The order in which trails are "pasted"
         on the Quickshow screen (and the PostScript output) initially
         is determined by the order in which they are drawn or defined
         (the earliest drawn/defined are "pasted on" first), but the
         order can be changed easily (see Section 16.4).
           2. PictureThis trails which form simple closed boundaries,
         such as boxes or circles, are filled exactly as you would
         expect: their interiors are filled with the selected shade of
         gray. (This is the most useful type of trail to fill and
         should suffice for most purposes.) But trails are not at all
         limited to simple closed boundaries. A single trail can cross
         itself many times, and can have many disjoint subtrails. How
         does PictureThis determine which parts of a complex trail
         will be inside the trail, and thus filled? It uses the "non-
         zero winding number rule." This means that starting at any
         point, it (conceptually) draws a line from that point in any

                                                                          28
         direction to infinity, examining each curve of the path the
         line crosses. Starting with a count of zero, it adds one each
         time a curve crosses the line from left to right and
         subtracts one each time a curve crosses the line from right
         to left. When it has completed crossing all the curves in the
         trail along the line, if the count is zero, the starting
         point is outside the trail and will not be colored gray;
         otherwise, the point is inside the trail and will be colored.
           In practice, that means that the directions in which trails
         are drawn or defined is important for complex trails.
         However, you'll probably need to worry about the direction of
         trails only very rarely. It's fun to draw or define complex
         trails with many crossings and subpaths and then fill them
         and view them on the Quickshow screen. However, complex
         trails aren't very useful in most "real" drawings. There is
         one notable exception, however: occasionally, you might want
         to create a "window" or "hole" through a trail, to let what
         is behind the trail show through. This is very simple to
         accomplish. As an example, try this. Draw two boxes, one with
         its boundaries totally inside the other, like a window in a
         door. Now define a new trail consisting of two subtrails (the
         two boxes) as follows: Press F6 to access the trail menu.
         Press D to define a trail. Press + until the cursor is on the
         lower left endpoint of the outer box, and then press Enter.
         Press + and Enter or just Enter to select the left side of
         the box. The left side of the box is dashed-and-dotted,
         indicating that it is part of the trail, and the cursor jumps
         to the top left corner of the outer box. Press Enter three
         more times, selecting the top, right, and bottom sides of the
         outer box. The cursor should now be at the lower left corner
         of the outer box again, and the outer box should be all
         dashed-and-dotted. Now press Del followed by + repeatedly
         until the cursor is on the lower left corner of the inner
         box. Then press Enter. Select the bottom of the inner box and
         press Enter. Press Enter three more times to select the
         right, top, and left sides of the inner box. Notice that you
         defined the subtrail of the inner box in the direction
         OPPOSITE that of the subtrail of the outer box. (The
         DIFFERENCE IN DIRECTIONS OF THE SUBTRAILS is what is
         important, not which endpoint you start with, or which
         direction you initially choose.) Now press D to establish the
         trail. At the fill prompt, enter some shade of gray and press
         any key except Y to answer the query about changing the
         parameters of all curves in the trail. Now press Q to see the
         Quickshow screen. Your screen should show you a box with a
         box-shaped "window" in it. Anything behind the trail will
         show through the "window." This procedure generalizes to much
         more complex shapes in the obvious way; just be sure that the
         inner trail is defined in the opposite direction to the outer
         trail, if you want a "window." (If the inner and outer trails
         are defined in the SAME direction, the window will be
         FILLED.)
           3. PictureThis can fill trails which are not closed. It
         does this by drawing a straight line with line weight -1
         (that is, a construction line) from the final endpoint of
         each subtrail to the first point of that subtrail, and then
         filling the resulting trail. Try it. Draw a trail of two
         curves on the screen (with the second endpoint of the second
         curve NOT the same as the first endpoint of the first curve)

                                                                          29
         and then fill it. PictureThis automatically connects the end
         of the trail with the beginning of the trail and fills the
         resulting trail. (You'll probably find that this feature is
         useful only occasionally.)

         14.4. CHANGING THE LINE PARAMETERS OF A TRAIL

           PictureThis allows you to change the line parameters for
         ALL of the curves in a trail at one time. Trails are made up
         of curves with various line weights, line gray percentages,
         linecaps, and dash patterns. (This is where trails differ
         from PostScript-language "paths," each of the latter made up
         of curves which all have the same line weight, line gray
         percentage, dash, and linecap.) It is often (but not
         always) best for all of the curves in a trail to have the
         same line parameters (see Section 14.4.3), making the trail
         equivalent to a PostScript "path." To change the line
         parameters for all of the curves in a trail, while in the
         "TRAIL" state press L. The state changes to "TRLNS," the
         cursor jumps to the closest on-screen initial point of a
         trail, and that trail is dashed. (The initial point of a
         trail is the first endpoint of the first curve drawn for
         automatically defined trails, or the first endpoint selected
         for manually defined trails.) A box with instructions appears
         on the left side of the screen ("Next: +, Space"/ "Previous:
         -"/"Select: Enter"). If you want to change the line
         parameters of the dashed trail, press Enter. If you want to
         select a different trail, press Space, +, and/or - repeatedly
         until the trail you want to change is dashed, then press
         Enter. If only one trail is on-screen, it is selected
         automatically, and the instruction box does not appear. (If
         you press Esc during this process, the trail menu reappears,
         and the state returns to "TRAIL.")
           A line parameter menu appears, similar but not identical to
         the line parameter menu for single curves (see Section 12.3).
         The top line of this menu shows the items which can be
         changed ("Weight," "Gray," "Linecap," and "Dash," as in the
         line parameter for single curves, and a new item: "Join"),
         plus the word "Keep." The second line of the menu displays
         the current values of these parameters for the selected
         trail. If any of these parameters have different values for
         different curves in the trail, the word "MIXED" appears under
         that parameter.

         14.4.1. CHANGING THE LINE WEIGHT, LINE GRAY, LINECAP, OR
                 DASH FOR ALL CURVES IN A TRAIL

           To change the line weight, line gray percentage, linecaps,
         or dash for all the curves in a trail, press W, G, L, or D
         respectively, and proceed exactly as for a single curve (see
         Section 12.3). (Note: You subsequently can change the line
         parameters of any individual curve in the trail to any
         value.)

         14.4.2. CHANGING THE JOIN FOR A TRAIL

           The word "Join" in the top line of the menu refers to the
         manner in which the curves in a trail are connected together
         where they join at endpoints. Like linecaps, linejoins are

                                                                          30
         insignificant for thin lines, but important for thick lines.
           To change the linejoin of a trail, press J. The join menu
         appears. The first line shows the current linejoin. The
         second line requests that you enter a new linejoin. The three
         possible linejoins are mitered, rounded, and beveled. For
         mitered joins, the outside edges of the curves are extended
         in straight lines until they meet, and filled in. For rounded
         joins, the curves are connected by a rounded end, formed by a
         circle with diameter equal to the line width. For beveled
         joins, the curves are connected with butt linecaps and filled
         in to form a bevel. If a mitered join is specified for a join
         where two curves meet at a small angle (anything less than
         approximately 11 degrees), the join is beveled to prevent the
         join from being too long.
           When a trail is drawn or defined, the join parameter for
         that trail is set to the current global linejoin. The initial
         setting for the global join in PictureThis is rounded, but
         this can be changed at any time (see Section 15.1). Boxes
         always are given mitered joins (square corners) initially, no
         matter what the global join value, but a box's join can be
         changed later.
           To set the join for a trail, press M, R, or B for mitered,
         rounded, or beveled linejoins, respectively. Pressing Esc
         backs out without changing the current linejoin. In all of
         these cases, the line parameters menu reappears. When you are
         satisfied with all the line parameters, press K (for "Keep")
         or Enter; the line parameters for all of the curves in the
         trail and the trail's join are changed, and the state returns
         to "FREE." (If you press Esc, the parameters are not changed,
         the state returns to "TRAIL," and the trail menu reappears.)
           A good way to see the different types of linejoins is to
         set the global line weight to some high value, say 100 points
         (see Section 15.1), draw three similar trails having at least
         two curves which meet at an angle, set the linejoin values
         differently for each of the trails, and view their joins on
         the Quickshow screen. Also try drawing a box with thick lines
         and changing its linejoin value.

         14.4.3. TRAILS MADE OF CURVES WITH DIFFERENT LINE PARAMETERS

           If a trail is made of curves all of which have the same
         line weight and line gray percentage, the joins at all
         endpoints are set by the linejoin specified for the trail. If
         the trail is closed (or subtrails are closed), even the final
         join of the trail (or subtrail) where the final curve
         connects to the initial curve are as specified. If the trail
         (or subtrail) is not closed, the linecaps at BOTH ends of the
         trail (or subtrail) are whatever linecap type is specified
         for the LAST curve of the trail (or subtrail).
           If a trail is made of curves of different line weights,
         different line gray percentages, or different dash patterns,
         each time there is a change in one or more of the three
         parameters along the trail, PictureThis treats it as a the
         beginning of a new subtrail (even if the last curve is
         connected to the current one). That is, as long as the
         weight, gray, and dash pattern are the same for each
         successive curve, the joins are the specified join, but if
         the next curve has a different weight, gray, and/or dash
         pattern the "subtrail" ends with a linecap which is the same

                                                                          31
         as that of the last curve before the change (its first
         linecap is the same, too). Then the next curve starts with a
         linecap. NO JOIN IS MADE. If there are any changes in weight,
         gray, or dash pattern along a closed trail, the final join is
         NOT joined, even if the last curve is the same line weight,
         gray, and dash pattern as the first curve. If you are in
         doubt as to which linecaps and joins will appear on a
         particular trail, check it on the Quickshow screen, at large
         magnification if necessary.
           As you can see, it is generally desirable to have trails
         with curves all of one line weight and gray, but there are
         times when you want to fill an area bounded by curves of
         different grays or line weights. This is perfectly legal,
         and, if you are careful, the places where two linecaps meet
         can look perfectly acceptable (see Section 27.4).


MANUAL3.TXT


         PICTURETHIS(TM) "SHAREWARE" VERSION

         RELEASE 3.00

         MAY 15, 1989

         USER MANUAL, PART 3 OF 7 PARTS


         Copyright 1988, 1989, 1990 by Patricia Y. Williams and
           Gregory Williams, All Rights Reserved.

         HortIdeas Publishing, Route 1, Box 302, Black Lick Road,
           Gravel Switch, KY 40328 U.S.A.


         15. SETTING THE GLOBAL LINE PARAMETERS

           The global line parameters can be set while in the FREE
         state by pressing L. The state changes to "NEWLNS" and a line
         parameter menu identical to the one for changing the line
         parameters of a trail appears (see Section 14.4).

         15.1. SETTING LINE WEIGHT, LINE GRAY, LINECAP, AND LINE JOIN

           At the global line parameters menu, by pressing W, G, L, or
         J, you can change the line weight, line gray percentage,
         linecaps, or linejoin, respectively, of ALL curves and trails
         drawn AFTER the change is made. The entries for these global
         parameters are made in exactly the same way as those for
         individual curves and trails (see Sections 12.3 and 14.4).
         When K (for "Keep") or Enter is pressed, the global values
         change, and the state returns to "FREE." (If Esc is pressed,
         no changes are made, and the state returns to "FREE.")

         15.2. SETTING DASH PATTERN

           Individual curves (see Section 7) and trails (see Section
         14) can be drawn either solid or with user-settable dash
         patterns. A given dash pattern can have a repeating pattern
         of up to three different dashes (each ranging in length from
         0 to 99 points), separated by up to three different gaps
         (each ranging in length from 0 to 99 points), starting (at
         the beginning of the curve or trail) a user-settable offset
         distance (ranging from 0.0 to 25.5) into the pattern
         (allowing the user to place the pattern in a desirable
         location along a curve, perhaps to allow the pattern to be
         centered on the curve, or so there are gaps or dashes at both
         ends of the curve). The dash, gap, and offset lengths are
         multiplied by a user-settable factor (ranging from 0 to 99),
         allowing quick rescaling of a particular pattern.
           To set the dash pattern of subsequently drawn curves for
         the first time in a PictureThis drawing session, press L to
         access the line menu, then press D to access the dash menu.
         The second line of the line menu shows the current dash
         pattern: the default is solid (no gaps), which is number 0 of
         7 possible dash patterns (1-6 are user-settable; 0 is not)
         from which you can choose a current dash pattern. Press +
         (same as Space) and/or - repeatedly to see each of the 7

                                                                          33
         patterns in turn. The default pattern settings are listed
         below.

         NUMBER         PATTERN
         0              Solid
         1              First Dash (Pattern Element d1) length = 1
                          point, First Gap (Pattern Element g2)
                          length = 1 point, Second Dash (Pattern
                          Element d3) length = 0, Second Gap (Pattern
                          Element g4) length = 0, Third Dash (Pattern
                          Element d5) length = 0, and Third Gap
                          (before the pattern repeats; Pattern Element
                          d6) = 0
                            or, more compactly,
                        d1=1, g2=2, d3=0, g4=0, d5=0, g6=0
         2              d1=3, g2=2, d3=0, g4=0, d5=0, g6=0
         3              d1=4, g2=2, d3=1, g4=2, d5=0, g6=0
         4              d1=4, g2=2, d3=1, g4=2, d5=1, g6=2
         5              d1=0, g2=0, d3=0, g4=0, d5=0, g6=0
         6              d1=0, g2=0, d3=0, g4=0, d5=0, g6=0

           Why these defaults? We set numbers 1, 2, 3, and 4 to
         provide commonly used patterns, as shown below. These default
         patterns should suffice for nearly all drawings, and we
         suggest that you not worry about making new patterns unless
         you absolutely must!

         1:     _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _

         2:     ___  ___  ___  ___  ___  ___  ___  ___  ___  ___

         3:     ____  _  ____  _  ____  _  ____  _  ____  _

         4:     ____  _  _  ____  _  _  ____  _  _  ____  _  _

         Numbers 5 and 6 are "zeroed" (ALL dash, no gap; that is,
         solid) to allow you to add your own patterns without needing
         to change 1 through 4. The best way to discover for yourself
         how the pattern element settings relate to dash patterns in
         the PostScript output is to try several different settings
         and look at the printed output. The rules go as follows. The
         pattern starts with d1 and ends with g6, then repeats over
         again, even if some elements are set to zero. Zero elements
         have zero length: a zero-length gap between two non-zero-
         length dashes results in a long dash with the combined length
         of the two dashes, and a zero-length dash between two non-
         zero-length gaps results in a long gap with the combined
         length of the two gaps. As in the default patterns 5 and 6,
         when all six elements are zeroed, there is NO gap, only dash.
         And if d1 = 1 and g2 = d3 = g4 = d5 = g6 = 0, there is also
         NO gap, only dash (a solid line).
           You can change a pattern element in one of the 6 patterns
         by cycling to the pattern number with + (same as Space)
         and/or - and then pressing 1 to access the prompt box for
         changing d1, 2 to access the prompt box for changing g2, etc.
         When at the prompt box for changing one of the pattern
         elements, key in the new value (0 to 99 (points)) and press
         Enter to return to the dash menu.
           At the dash menu, you also can access prompt boxes to allow

                                                                          34
         changing of the pattern multiplication factor (press M) and
         the offset (press O). The pattern multiplication factor can
         range from 0 to 99, and the offset can range from 0.0 to 25.5
         (points). For a given pattern (except number 0, which is
         always solid), all six of the pattern element lengths and the
         offset are multiplied by the "M" factor to give the actual
         lengths (in the PostScript output, assuming no subsequent
         scaling; in points) of the pattern elements and the offset.
         The offset specifies the distance into the pattern at the
         beginning of the curve (or trail consisting of more than one
         curve). The default "M" and "O" settings of the six user-
         settable dash patterns are listed below, together with their
         default dash and gap element lengths, as already noted above.

         NUMBER         M       O       d1   g2   d3   g4   d5   g6
         1              1       0.0     1    2    0    0    0    0
         2              2       0.0     3    2    0    0    0    0
         3              2       0.0     4    2    1    2    0    0
         4              2       0.0     4    2    1    2    1    2
         5              1       0.0     0    0    0    0    0    0
         6              1       0.0     0    0    0    0    0    0

           Then, taking into account the pattern multiplication
         factor, the default dash patterns 1 through 4 actually appear
         as follows in the PostScript output (assuming no subsequent
         scaling): pattern 1 has a 1-point-long dash, then a 2-point-
         long gap, then repeats; pattern 2 has a 6-point-long dash,
         then a 4-point-long gap, then repeats; pattern 3 has an 8-
         point-long dash, then a 4-point-long gap, then a 2-point-long
         dash, then a 4-point-long gap, then repeats; and pattern 4
         has an 8-point-long dash, then a 4-point-long gap, then a 2-
         point-long dash, then a 4-point-long gap, then a 2-point-long
         dash, then a 4-point-long gap, then repeats. It is important
         to realize that the lengths of the dashes and gaps do NOT
         count line caps; with a round (the default in PictureThis)
         or square linecap, dashes appear longer in the PostScript
         output (because of the line caps added onto each end), and
         gaps appear shorter, than you might expect! Since the default
         dash patterns all have offset equal to zero, each pattern
         starts at the curve (or trail) beginning at the start of its
         d1 element. But now suppose we change the "O" setting for
         pattern 3 (otherwise left at its default setting). If pattern
         3 has an offset value of 2.0 (points), then it will start at
         the curve (or trail) beginning at the MIDDLE of its d1
         element (4 points into the pattern). If pattern 3 has an
         offset value of 4.0, then it will start at the END of its d1
         element (the BEGINNING of its g2 element; 8 points into the
         pattern). And if pattern 3 has an offset value of 6.0, then
         it will start at the END of its g2 element (BEGINNING of its
         d3 element; 12 points into the pattern).
           The DASH1.DRW, DASH2.DRW, DASH3.DRW, and DASH4.DRW files on
         one of the distribution disks show the default dash patterns
         with various line widths and all three linecaps; you can
         write an Encapsulated PostScript file for this drawing
         (via F10, W, etc.), then send it to a PostScript-compatible
         printer for a handy guide to the relations between settings
         and actual output.
           Warning: If you want to change the parameters of more than
         one dash pattern number, when you finish with one number,

                                                                          35
         DON'T press + (same as Space) or - to choose another number,
         because your changes will be lost. To save the changes for
         one number, you must first press K (for "Keep") or Enter to
         exit to the line menu, then press D to get back to the dash
         menu. THEN select another dash pattern.
           Whichever dash pattern number is selected when you exit the
         dash menu by pressing K or Enter will appear in the line
         menu. If you return to the line menu from the dash menu by
         pressing Esc, ALL of the original dash pattern settings which
         existed when you accessed the dash menu will be restored --
         and any changes you made will be lost. If you exit from the
         line menu by pressing K or Enter, then the line parameters
         shown in the line menu just prior to exiting (including the
         selected dash pattern number) will be the current values. If
         you exit from the line menu by pressing Esc, then the current
         line parameters will return to those which existed when you
         originally entered the line menu, BUT IF YOU RETURNED FROM
         THE DASH MENU TO THE LINE MENU BY PRESSING K OR Enter (NOT
         Esc), ALL CHANGES WHICH YOU MADE IN DASH PATTERN PARAMETER
         SETTINGS WHILE IN THE DASH MENU WILL BE PRESERVED.
           WARNING: WHEN YOU CHANGE THE PARAMETERS FOR A GIVEN DASH
         PATTERN NUMBER (1-6), ALL PREVIOUSLY DRAWN CURVES WITH THAT
         DASH PATTERN NUMBER WILL HAVE ALL OF THEIR PARAMETER VALUES
         CHANGED TO THE NEW VALUES. However, you can change the offset
         ("O") value for an individual curve or for all of the curves
         in a trail, as discussed in the next paragraph -- just be
         careful that you don't later change the offset value again
         via the "global" dash menu!
           We've been considering only the "global" dash settings. You
         also can set the dash patterns of INDIVIDUAL curves (and all
         curves in individual trails), via (for individual curves) the
         curve modification menu (accessed by pressing F4 and
         selecting a particular curve; see Section 12.3.4) or via the
         trail menu (accessed by pressing F6 and selecting a
         particular trail; see Section 14.4). At the curve
         modification or trail menu, press L to access the ("local")
         line menu, then press D to access the ("local") dash menu.
         The current dash pattern is shown on the second line of the
         menu; for a trail, if "Mixed" appears there, then not all of
         the trail's curves have the same dash pattern. You can select
         the dash pattern number for the currently selected curve or
         trail by pressing + (same as Space) and/or - to cycle through
         the possibilities (as defined via the "global" dash menu).
         You also can change the offset by pressing "O" and keying in
         a new value, then pressing Enter. Press Esc to get back to
         the dash menu without changing the offset value. While at the
         dash menu, press Esc to return to the curve modification or
         trail menu with the original dash pattern(s) (no changes), or
         press K or Enter to return to the drawing screen with any
         changes made.
           NOTE: Clip art files with dashed curves include ONLY a
         specification of dash pattern numbers for each curve, NOT the
         parameters for each pattern which were current when the lines
         were drawn. Thus, dashed curves imported into a drawing as
         clip art will have the drawing's current dash pattern
         parameters. Drawing files contain full specification of both
         dash pattern numbers and parameters, so that, in general,
         loading a previously saved drawing overwrites the current
         parameters.

                                                                          36
           Dashed curves appear on the drawing and view screens as
         SOLID lines, (remember that construction lines, with a weight
         of -1, which don't show in the PostScript output, appear on
         the drawing screen as dotted lines) and on the Quickshow
         screen as simply-dashed (dash, gap, dash, gap,...) lines,
         REGARDLESS of their patterns. That is, no attempt is made to
         show actual dash patterns.

         16. OBJECTS

           Objects are groups of trails, text blocks (see Section
         18.4), and smaller objects. Objects can be "layered," that
         is, they can be put "in front of" or "behind" other objects,
         trails, and text blocks (see Section 14). They can be
         manipulated in many ways: moved, copied, scaled, rotated,
         flipped, and inclined (see Section 17). And they can be saved
         as clip art and retrieved for use in other drawings (see
         Sections 19.3 and 19.4).
           Objects and their manipulations provide perhaps the most
         significant advantages of PictureThis over "paint" programs.
         Instead of "painting" on a surface, with objects you can work
         with "scissors and glue" (quite easily removable glue!) and a
         "photocopier" which can (irregularly) scale and otherwise
         (linearly) distort what it copies. This affords tremendous
         flexibility!
           In almost all cases, trails and text blocks that are not in
         objects can be treated as objects: they can be layered,
         manipulated, or saved as clip art. On the other hand, objects
         CANNOT be treated as trails: they cannot be filled or
         assigned single line parameters or joins (but see global
         parameter changes, Section 16.5). However, the trails which
         make up an object can have their fills and line parameters
         changed, can have their individual curves modified, and even
         can be erased, WITHOUT disassembling the object. As an
         example of this, consider a very simple drawing of a house.
         The drawing could be made of four trails: a filled box for
         the main part of the house, a filled triangle for the roof of
         the house, and two more filled boxes for a door and window.
         If you wanted to move the house to another part of the
         drawing, you could move each individual trail separately, but
         it would be much easier to group the trails into an object
         and then move them altogether. Even after the trails were
         grouped into an object, you still could change the gray fill
         percentage for the door without disturbing the rest of the
         object.
           No trail, text block, or object can be a part of more than
         one object. The components of a PictureThis drawing can be
         thought of as forming a tree. Individual curves are the
         smallest branches. Each curve is in one AND ONLY ONE trail
         (the next larger branches). Each trail and text block can be
         in an object (still larger branches). Individual objects can
         be in larger objects (the largest branches). All trails,
         text blocks, and objects not in larger objects are in the
         drawing as a whole (the trunk), and they are in a specific
         order, ordered by the drawing sequence (or layering). Within
         each object, the component trails, text blocks, and smaller
         objects also are ordered by drawing sequence. The curves in
         each trail also are ordered by drawing sequence (the fills
         are drawn first, followed by the curves in the order they

                                                                          37
         were drawn or defined).
           Objects are formed and manipulated through the object menu.
         To form an object or manipulate an existing object, press F7.
         The state changes to "OBJECT" and an object menu appears.
         This menu allows you to "group" a new object together,
         "ungroup" an existing object into its component trails and
         smaller objects, erase an object, layer objects, and move,
         copy, scale, rotate, flip, or incline existing objects. It
         also allows you to change the parameters of an object
         "globally."

         16.1. GROUPING AN OBJECT

           To group trails, text blocks, and objects into a new
         object, press G. The state changes to "GROUP," the cursor
         jumps to the closest on-screen initial point of a trail, text
         block, or object, and that entire trail, text block, or
         object is dashed. The initial point of an object is the
         initial point of the first drawn (rearmost) element of the
         object. If the first element drawn is a trail, the initial
         point of the object is the initial point of that trail (see
         Section 14.3.1). If the first element drawn is a text block,
         the initial point is the beginning of the text block (see
         Section 18.4). If the first element drawn is an object, the
         initial point is the initial point of that object. (An aside
         to mathematicians: yes, this is indeed a recursive
         definition.) It is important to note that AN OBJECT, TRAIL,
         OR TEXT BLOCK CANNOT BE CHOSEN FOR ANY OPERATION UNLESS ITS
         INITIAL POINT IS ON THE SCREEN. An instruction box appears on
         the left side of the screen ("Next: +, Space"/ "Select:
         Enter"/"Done: D"). If the dashed trail, text block, or object
         is one you want to include in your new object, press Enter.
         The selected object is dashed-and-dotted, and the cursor
         jumps to the next closest initial point of a trail/text
         block/object. Otherwise, press Space and + repeatedly until
         the dashed trail, text block, or object is one you want to
         include. Continue in this manner, pressing Space and + to
         dash different trails/text blocks/objects and Enter to select
         trails/text blocks/objects. When you have selected all of the
         trails, text blocks, and objects that you want in your new
         object, press D. All curves return to normal, and the state
         returns to "FREE." (If you select all available trails, text
         blocks, and objects, PictureThis automatically makes them all
         into a new object without your needing to press D.) The new
         group of trails/text blocks/objects now can be manipulated as
         an object. If you press Esc during this process, all dashed
         and dashed-and-dotted curves are returned to normal, the
         state returns to "OBJECT," and the object menu reappears.
           Note that PictureThis does NOT allow you to select trails,
         text blocks, or objects which are already in other objects.
         You only can select the "outermost" elements, since no trail,
         text block, or object can be in more than one object.
           The new object appears in the drawing sequence where the
         "frontmost" of its elements previously appeared. In other
         words, if the drawing was layered correctly before the object
         was grouped, it remains layered correctly (see Section 16.4).
         If some of the components of the new object were behind some
         other object and some were in front of it, they all now are
         drawn in front of it, and the Quickshow screen looks

                                                                          38
         different than before.
           If only one object, text block, or trail is chosen to be in
         a new object, PictureThis ignores the grouping operation,
         since there is no advantage to grouping a single
         trail/text block/object. No error message given, since no
         harm has been done. This is noticeable if you grouped a
         single trail and then try to ungroup it; it does not ungroup,
         since it was never made into an object. (There is a way to
         effectively "ungroup" a single trail; see Section [16.2].) Of
         course, an object with only one element may occur if you
         group several elements into an object and then erase all but
         one element.

         16.2. UNGROUPING AN OBJECT

           At times you might want to "ungroup," or dissassemble, an
         existing object into its component parts. You might want to
         manipulate one of the component parts (see Section 17) and
         then regroup them; or you might want to relayer the component
         parts (see Section 16.4). To ungroup an existing object,
         press U. The state changes to "UNGRP," the cursor jumps to
         the closest initial point of an object, and the object
         becomes dashed. An instruction box appears on the left side
         of the screen ("Next: +, Space"/"Previous: -"/"Select:
         Enter"). Press Space, +, and/or - repeatedly until the object
         you wish to ungroup becomes dashed. Then press Enter. A
         prompt appears: "Ungroup selected object? (Y/N)." If you want
         to ungroup the selected object, press Y. The object is
         ungrouped, and the state returns to "FREE." You now can
         manipulate the component parts of the ungrouped object. If
         you press any key other than Y, the state returns to
         "OBJECT," and the object menu reappears.
           The ungrouped object's components are put into the drawing
         sequence in place of the ungrouped object. The Quickshow
         screen appears the same before and after ungrouping.
           Notice that you cannot ungroup a single trail with this
         operation. Occasionally you may wish to move or otherwise
         manipulate part of a trail. You can do this by defining PART
         of the existing trail as a new trail, and then manipulating
         that part (see Section 17). If the original trail is not
         filled and not in an object, the curves in the new trail are
         erased from the original trail, and you have divided the
         trail into two trails which can be manipulated separately.

         16.3. ERASING AN OBJECT

           An outermost object (or trail or text block) can be erased
         with all of its component parts by pressing E when the object
         menu is showing. The state changes to "ERASE," the cursor
         jumps to the closest initial point of an object, and the
         entire object is dashed. A box with instructions appears on
         the left side of the screen ("Next: +, Space"/ "Previous: -
         "/"Select: Enter"). If the "dashed" object is the one you
         want to erase, press Enter. If you wish to select a different
         object, press Space, +, and/or - repeatedly until the object
         you want to erase is dashed, then press Enter. If only one
         outermost object has its initial point on-screen, it is
         automatically selected, and the instruction box will not
         appear. If you press Esc during this process, the object menu

                                                                          39
         reappears, and the state returns to "OBJECT."
           A prompt appears: "Erase selected object? (Y/N)." If you
         want to erase the dashed object, press Y; the object is
         erased, and the state returns to "FREE." Otherwise, press any
         other key; the object menu reappears, and the state returns
         to "OBJECT."
           Note that with this operation you can erase only outermost
         trails, text blocks, and objects. PictureThis does not allow
         you to erase a component of an object unless you ungroup it
         first. In contrast, the trail erase available through the
         trail menu (see Section 14.2) allows you to erase any trail,
         whether it is in an object or not, the curve erase (see
         Section 12.1) allows you to erase any curve which does not
         border a filled area, and the text block erase (see Section
         18.8) allows you to erase any text block.
           Erasing an object, trail, curve, text block, or the entire
         drawing in PictureThis are operations which cannot be easily
         reversed. There is no "undo" in PictureThis, but it was
         designed to allow you to change anything back to a previous
         state IF you decide to do so before taking the final step.
         Before you erase anything, be certain that you want to erase
         it. If you AREN'T certain, consider saving the entire drawing
         (see Section 19.2) or a single object (see Section 19.4)
         BEFORE erasing.

         16.4. LAYERING OBJECTS

           All the elements of a PictureThis drawing are drawn on the
         Quickshow screen and the PostScript output in a specific
         order. This order is defined by the drawing sequence of the
         outermost objects and the drawing sequences of each object's
         components. Since the elements are opaque, a layered effect
         is created: objects are "behind," "in front of," or "in
         between" other objects.
           As you draw or define trails or set text blocks (see
         Section 18), they are placed at the front of the drawing.
         Unless you relayer your drawing, the first trail (or text
         block) you drew is drawn first (at the "rear"), followed by
         the next trail/text block, etc. When trails/text blocks are
         grouped together into an object, the object is placed in the
         layering where its "frontmost" component previously was. If
         the Quickshow screen looked correct before the grouping, it
         will look the same after the grouping.
           Frequently, the order in which you drew the trails/text
         blocks is not the order in which you want them to appear.
         Fortunately, this is easy to correct. To change the layering
         of objects (and trails and text blocks not in objects), while
         in the "OBJECT" state, press L. The state changes to "LAYER,"
         the cursor moves to the closest on-screen initial point of an
         outermost object (or trail or text block), and that object is
         dashed. An instruction box appears on the left side of the
         screen ("Next: +, Space"/"Previous: -"/"Select: Enter").
         Press Space, +, and/or - repeatedly until the object you want
         to layer is dashed, then press Enter. (If you press Esc
         during this operation, the state returns to "OBJECT," and the
         object menu reappears.)
           Upon pressing Enter, a layering menu appears. It allows the
         choice of moving the selected object to the front or rear of
         the drawing, or ahead of or behind selected objects. If you

                                                                          40
         press F or R (for "Front" or "Rear"), the selected object is
         moved to the front or rear of the entire drawing, the object
         is returned to normal, and the state returns to "FREE." If
         you press A or B (for "Ahead of Selected" or "Behind
         Selected" objects), the object you are layering becomes
         dotted instead of dashed, another object becomes dashed, and
         an instruction box appears on the left side of the screen
         ("Next: +, Space"/"Select: Enter"/"Done: D"). Press Space
         or + repeatedly until an object which you want the "dotted"
         object to be ahead of or behind is dashed; then press Enter
         to select that object. The selected object becomes dashed-
         and-dotted, and another object becomes dashed. Continue
         selecting objects in this manner until all of the objects
         which you wish the dotted object to be ahead of or behind are
         dashed-and-dotted; then press D for done. All of the objects
         are returned to normal, their layering is as you specified,
         and the state returns to "FREE." (If you press Esc during the
         process of selecting dashed-and-dotted objects, the dashed-
         and-dotted objects are returned to normal, but the dotted
         object will remain selected, and the layering menu will
         reappear. Another Esc will get you back to the object menu.)
           Check all layering with the Quickshow screen; since all
         elements are transparent on the drawing screen, layering can
         ONLY be observed on the Quickshow screen.
           Note that layering can be performed ONLY on the outermost
         objects, trails, and text blocks. To layer the components of
         an object, it first must be ungrouped (see Section 16.2).

         16.5. CHANGING AN OBJECT'S PARAMETERS "GLOBALLY"

           Sometimes you will want to alter the line parameters and/or
         fills for several trails in one operation. PictureThis allows
         this via the object menu. If you group all curves in a
         drawing into one object, you can, for example, change every
         linecap in the drawing to another setting, change every 10%
         fill to 25%, or change every 1-point curve to a 3-point
         curve.
           At the object menu (accessed by pressing F7),  press P (for
         "Parms") to change the line weight, line gray, linecap, dash
         pattern number, and/or line join settings of curves in an
         object, and/or fill settings of the object. First pick the
         object that you wish to modify as usual. At the parameters
         menu, press W to access the line weight change box, G to
         access the line gray change box, L to access the linecap
         change box, D to access the dash change box, J to access the
         join change box, or F to access the fill change box. For each
         of these choices, you can select those parts of the object
         having particular parameters, in turn, by pressing + (same as
         Space) and/or - (the parts become dashed-and-dotted in turn,
         and the value of the parameter for the currently dashed-and-
         dotted parts is given). Press Enter to choose the parts with
         the parameter value you wish to change. Then key in the new
         parameter value and press Enter to return to the drawing
         screen with the change made. You can return from a parameter
         change box to the parameters menu without making a change by
         pressing Esc, and you can return to the object menu from the
         parameters menu without making a change by pressing Esc.
         Note: If you want, for example, to change all 2-point curves
         to 1-point curves and all 1-point curves to .5-point curves,

                                                                          41
         be sure to change the 1-point curves first, or you will end
         up with only .5-point curves.

         17. MANIPULATING OBJECTS

           Objects can be manipulated in several ways: they can be
         moved, copied, scaled, rotated, flipped, or inclined.
         Combinations of these manipulations (performed successively)
         can be used on an object to change it in an unlimited number
         of ways. To perform any of these manipulations, you must
         first access the object menu by pressing F7. The state
         changes to "OBJECT," and the object menu appears. Press M
         for move, C for copy, S for scale, R for rotate, F for flip,
         or I for incline. The state changes to "MOVE," "COPY,"
         "SCALE," "ROTATE," "FLIP," or "INCLIN," respectively, the
         cursor moves to the closest on-screen initial point of an
         outermost object, trail, or text block, and that object is
         dashed. An instruction box appears ("Next: +,
         Space"/"Previous: -"/"Select: Enter").
           Press +, Space, and/or - repeatedly until the object which
         you want to manipulate is dashed. Then press Enter. (Pressing
         Esc returns the state to "OBJECT," and the object menu
         reappears.) If only one object is available, it is chosen
         automatically.
           After an object is chosen, each manipulation proceeds
         differently, as described in the following sections.
           The best way to learn how these manipulations work is to
         try each one on a box as you read through the instructions.
         In Section 17.6 are two examples of combined manipulations
         which you can try.

         17.1. MOVING AN OBJECT

           In the "OBJECT" state, press M and select an object, as
         described in Section 16. The state is "MOVE," and the
         selected object is dashed. If you have the prompts toggled on
         ("H+"; see Section 4.3), a prompt appears: "Move then F1 to
         set start point." Move the cursor (with the cursor keys (see
         Section 5), Del (see Section 9), the frame corner keys (see
         Section 22), Shift Del (see Section 23.1), the Tab or Shift
         Tab keys (see Section 18.5), or the margin edge keys (see
         Section 18.3)) to a start point on the object; then press F1.
         Often, it is convenient to leave the cursor where it is (at
         the initial point of the object) and press F1 immediately.
         The start point can be anywhere on the screen; it designates
         the point which you want to position elsewhere on the screen.
         It is easiest to see what you are doing if the start point is
         on an endpoint. (If you press Esc instead of F1, the state
         returns to "OBJECT," and the object menu reappears.)
           Once you have pressed F1, another prompt appears (if "H+"
         is toggled): "Move then F3 to set finish point". Move the
         cursor (a dotted line follows it) to the position where you
         want the start point of the object moved, then press F3. (If
         you press Esc instead, the "start point" prompt appears again
         if "H+" is toggled, and you can choose a new start point.)
           After you press F3, the dotted line is erased, a copy of
         the object (without endpoints) is drawn in the new position,
         and a prompt appears: "OK? (Y/N)." If the position is
         correct, press Y; the object is erased from its old position

                                                                          42
         and drawn in its new position, and the state returns to
         "FREE." The layering is not changed; the moved object still
         is behind objects it was behind before, and in front of
         objects it was in front of before. If you press any other
         key, the copy of the object is erased, the "finish point"
         prompt reappears, and the dotted line reappears from the
         start point to the cursor position. Then you can move the
         cursor again and press F3 at a different position.
           An object does NOT have to be entirely on the screen for
         this or other object manipulations. But the initial point of
         the object MUST be on the screen for it to be chosen in the
         first place, and BOTH the start and finish points must be on
         the screen.

         17.2. COPYING AN OBJECT

           In the "OBJECT" state, press C and then select an object,
         as described in Section 16. The state becomes "COPY," and the
         selected object is dashed. From now until you have selected a
         position for the copied object, this operation is carried out
         exactly like the move operation (see Section 17.1): You
         select a start point, press F1, select a finish point, then
         press F3; a copy of the object is drawn in the new position
         and an "O/K (Y/N)" prompt appears. For copying, however, if
         you press Y, the original object is NOT erased (it remains
         dashed) when the copy is drawn. A new prompt appears: "Again?
         (Y/N)." If you press Y, the dotted line reappears from the
         start point to the cursor, the "finish point" prompt shows
         again (if "H+" is toggled), and you can move the cursor to
         choose a new position for ANOTHER copy of the object. (If you
         press Esc here, you can go back and change the start point if
         you like.) Make as many copies of the object as you want (or
         as available memory allows). When you are finished and the
         "Again? (Y/N)" prompt appears, press any key other than Y.
         The original object returns to normal, and the state returns
         to "FREE."
           All copies of objects are placed at the "front" of the
         drawing, but this can be changed (see Section 16.4).
           Copies of objects are independent objects. They can be
         further manipulated without altering the original object or
         other copies of that object.

         17.3. SCALING AN OBJECT

           In the "OBJECT" state, press S; then select an object, as
         described in Section 16. The state becomes "SCALE," and the
         selected object is dashed. A prompt appears: "Replace
         original object? (Y/N/ESC)." If you press Esc, you are
         returned to the object menu and the "OBJECT" state. If you
         press Y, the scaled object REPLACES the original object when
         you have completed your manipulations. (This is similar to
         the move operation; there are the same number of objects when
         you are done as when you started.) If you press any other
         key, the original object remains IN ADDITION to any scaled
         objects which you make. (This is similar to the copy
         operation; the original object remains, and there can be any
         number of "scaled" copies.)
           A new prompt appears (if "H+" is toggled): "Move then F1 to
         set anchor point." You can move your cursor (in all possible

                                                                          43
         ways); then press F1 at an "anchor" point. The anchor point
         is a point on the screen around which the object will be
         scaled. When the object is scaled, the anchor point does NOT
         move, although other points on the object do move. Often, it
         is useful to have the anchor point on an endpoint. (If Esc
         is pressed instead of F1, the object menu returns.)
           A new menu appears, allowing you to select whether the
         scale factors (horizontal and vertical) are set by cursor
         movement or direct entry. (An Esc here backs out and lets you
         reset the anchor point.) If you want to set the scale factors
         by direct entry, press D. A prompt appears: "Uniform scaling?
         (Y/N/ESC)." If you answer Esc to this prompt, you are given
         another opportunity to select cursor movement or direct
         entry, or you can back out further. If you answer Y, it means
         that you want the object to be scaled uniformly in the
         horizontal and vertical directions (that is, the object
         retains its current proportions during scaling). In this case
         a new prompt appears: "Enter scale factor" on the first line,
         and the current scale factor (in parentheses) on the second
         line. If the current scale factor is satisfactory, press
         Enter. If you want to change the scale factor, enter a new
         value and press Enter. (If you press Esc instead, you back
         out to the "uniform scaling" prompt.) Initially, the scale
         factor is 1.0 (that is, the object does not change size at
         all), but each time you enter a new uniform scale factor, it
         is retained; the next time you scale an object, the current
         scale factor is whatever you last entered. This eases scaling
         multiple objects by the same amount. If you want to scale the
         object non-uniformly, press any other key except Y and Esc.
         You then have two successive prompts to answer; the first for
         a horizontal scale factor, the second for a vertical scale
         factor. These are answered just like the uniform scale factor
         prompt, and your entered scale factors are retained for your
         next scaling operation. Entering scale factors by direct
         entry has the advantage of being easy to understand, and it
         allows you to exactly specify scale factors.
           If you want to set the scale factors by cursor movement
         instead of direct entry, press C at the menu. A prompt
         appears (if "H+" is toggled): "Move then F2 to set 100%
         line." Move the cursor (a solid line follows) in any
         direction and then press F2 to establish the 100% scaling
         line. If this line is horizontal, you are scaling ONLY in the
         horizontal direction; if it is vertical, you are scaling ONLY
         in the vertical direction; if it is slanted, you are scaling
         in BOTH directions. If you press Esc instead of F2, you back
         out and can set a new anchor point.
           After F2 is pressed, another prompt appears (if "H+" is
         toggled): "Move then F3 to set scaling line." As you move the
         cursor, a dotted line follows from the end of the 100% line
         to the cursor. If you move back toward the anchor point, the
         scaled object becomes smaller. If you move further away from
         the anchor point, the scaled object becomes larger. If the
         scaling line and 100% line form a straight line, the scaling
         is uniform (unless the lines are horizontal or vertical). The
         effect is to move the point at which you pressed F2 (the end
         of the 100% line) to the point at which you pressed F3 (the
         end of the scaling line). This can be very useful: the anchor
         point on the object remains in its original position, while
         the point at which you pressed F2 is moved to the point at

                                                                          44
         which you pressed F3 on the screen, and the rest of the
         object is scaled with it. It is especially useful when the
         F2 and F3 keys are pressed when the cursor is on endpoints.
         This allows you to fit an object precisely among other
         objects. Pressing Esc during this process backs out a step at
         a time.
          More aid for scaling can be obtained by toggling the
         relative position box on (see Section 20.4). While setting
         the scaling line, you can see the current horizontal and
         vertical scale factors as the cursor moves.
           Once you have established the scale factors, either by
         direct entry or cursor movement, you are asked if you want to
         scale the line weights of all the curves in the object with
         first the horizontal scale factor (if it is not 1.0) and if
         not, then with the vertical scale factor (again, only if it
         is not 1.0). Sometimes this is appropriate, and sometimes
         not; it depends on the effect that you want to achieve.
           Finally, the scaled object is drawn (without endpoints) and
         an "OK? (Y/N)" prompt appears. If you are satisfied with the
         scaled object, press Y and the scaled object is drawn. If you
         are not satisfied with the scaled object, press any other
         key and you are returned to the prompt asking if you want to
         enter the scale factors by cursor movement or direct entry.
         Then you can try again. If you pressed Y, additional action
         depends on your answer to the previous prompt asking whether
         you wanted to replace the original object or not. If you are
         replacing the original object, the original object is erased,
         and the new object takes its place in the drawing sequence.
         If you are not replacing the original object, the new scaled
         object is drawn and an "Again? (Y/N)" prompt appears. If you
         answer Y, you can make more scaled copies of the original
         object. All scaled copies appear at the front of your
         drawing, but they can be layered differently (see Section
         16.4).
           While scaling, especially with large scale factors set by
         direct entry, you can see two error messages. The first
         ("END/CONTROL POINTS OFF VIRTUAL SCREEN") means that you have
         scaled part of the object not only off the entire drawing
         screen (the screen which is visible at 50% magnification),
         but also off a much larger virtual screen where PictureThis
         allows endpoints and control points to be placed. This is not
         allowed, and you are given an opportunity to reset your scale
         factors. The second message ("YOU CAN'T CHANGE THIS OBJECT IF
         SAVED") means that the initial point (See Section 16) of the
         scaled object is off the entire drawing screen (but not off
         the virtual screen). Since objects are accessed for
         alterations via their initial points, you cannot group,
         ungroup, erase, layer, or manipulate this object in the
         future. This could be highly undesirable, so don't save when
         "YOU CAN'T CHANGE THIS OBJECT IF SAVED" appears unless you're
         SURE you won't want to alter it again. You can change the
         initial point of an object by ungrouping it (see Section
         16.2), relayering it so a different component is "rearmost"
         (see Section 16.4), and then grouping it again (see Section
         16.1). (For your new "rearmost" component, you might want to
         make a construction line which will not show on output.)
         These two error messages also can appear for object
         manipulations other than scaling, but they are most likely
         when scaling.

                                                                          45
         17.4. ROTATING AN OBJECT

           In the "OBJECT" state, press R; then select an object, as
         described in Section 16. The state becomes "ROTATE," and the
         selected object is dashed. A prompt will appear: "Replace
         original object? (Y/N/ESC)." If you answer Esc, you return to
         the object menu and the "OBJECT" state. If you press Y, the
         rotated object replaces the original object when you have
         completed your manipulations. If you press any other key, the
         original object remains in addition to any rotated objects
         which you make.
           A new prompt appears (if "H+" is toggled): "Move then F1 to
         set anchor point." You can move your cursor (in all possible
         ways); then press F1 at an "anchor" point. The anchor point
         is a point on the screen around which the object will be
         rotated. When the object is rotated, the anchor point does
         NOT move, although all the other points on the object move.
         Frequently, it is useful to have the anchor point on an
         endpoint. (If Esc is pressed instead of F1, the object menu
         returns.)
           A new menu appears, allowing you to select whether the
         rotation angle is set by cursor movement or direct entry. An
         Esc here backs out and lets you reset the anchor point. If
         you want to set the rotation angle by direct entry, press
         D. A prompt appears requesting the rotation angle in degrees.
         The second line of the prompt gives the current rotation
         angle (in parentheses). If you are satisfied with the current
         rotation angle, press Enter. If you want a different rotation
         angle, type it in, followed by Enter. If you press Esc, the
         cursor movement/direct entry menu reappears. POSITIVE
         rotation angles are measured in a CLOCKWISE direction.
         NEGATIVE angles are measured in a COUNTERCLOCKWISE DIRECTION.
         The current rotation angle initially is 90 degrees. Any
         rotation angle you enter is retained and becomes the "current
         rotation angle" for your next rotation operation.
           If you want to set the rotation angle by cursor movement,
         press C. A prompt appears (if "H+" is toggled): "Move then F2
         to set 0 degree direction." Move the cursor and a solid line
         follows. This is the line from which the rotation angle is
         measured. Press F2 when the line is in the desired direction.
         Often, it is useful to place this line along a line radiating
         from the anchor point. If you press Esc, you back out and can
         reset the anchor point. When you press F2, another prompt
         appears (if "H+" is toggled): "Move then F3 to set rotation
         angle." Move the cursor away from the 0 degree direction
         line; a dotted line is drawn from the anchor point to the
         cursor. The angle between these two lines is the rotation
         angle. Press Esc to back out; you can reset the 0 degree
         direction line. (By toggling the relative position box on
         (see Section 20.4) while setting the rotation angle, you can
         see the current rotation angle as the cursor moves.) Pressing
         F3 sets the rotation angle.
           The rotated object is drawn (without endpoints) and an "OK?
         (Y/N)" prompt appears. If you are satisfied with the rotated
         object, answer Y and the rotated object is drawn. If you are
         not satisfied with the rotated object, press any other key,
         and you return to the prompt asking if you want to enter the
         rotation angle by cursor movement or direct entry; then you
         can try again. If you pressed Y, additional action depends on

                                                                          46
         your answer to the previous prompt asking whether you wanted
         to replace the original object or not. If you are replacing
         the original object, the original object is erased, and the
         new object takes its place in the drawing sequence. If you
         are not replacing the original object, the new rotated object
         is drawn and an "Again? (Y/N)" prompt appears. If you answer
         Y, you can make more rotated copies of the original object.
         All rotated copies appear at the front of your drawing, but
         they can be layered differently (see Section 16.4).

         17.5. FLIPPING AN OBJECT

           Flipping an object means flipping it over a flipline,
         making a mirror image of the object. In the "OBJECT" state,
         press F and then select an object, as described in Section
         16. The state becomes "FLIP," and the selected object is
         dashed. A prompt appears: "Replace original object?
         (Y/N/ESC)." If you answer Esc, you are returned to the object
         menu and the "OBJECT" state. If you press Y, the flipped
         object replaces the original object when you have completed
         your manipulations. If you press any other key, the original
         object remains in addition to any flipped objects which you
         make.
           A new prompt appears (if "H+" is toggled): "Move then F1 to
         set 1st flipline point." You can move your cursor (in all
         possible ways); then press F1 at one end of the line over
         which you want to flip the object. If you press Esc, the
         object menu is returned, and the state becomes "OBJECT"
         again. After you press F1, another prompt appears (if "H+" is
         toggled): "Move then F3 to set 2nd flipline point." Move the
         cursor (a dotted line follows); when it is placed so as to
         form the line over which the object will be flipped, press
         F3. If you press Esc instead, you can reset the 1st flipline
         point. The flipline can be placed anywhere on the screen, at
         any angle. Functionally, it extends at both ends past the
         edges of the entire drawing screen.
           The flipped object is drawn (without endpoints) and an "OK?
         (Y/N)" prompt appears. If you are satisfied with the flipped
         object, answer Y, and the flipped object is drawn. If you are
         not satisfied with the flipped object, press any other key,
         and you can reset both ends of the flipline. If you pressed
         Y, additional action depends on your answer to the previous
         prompt asking whether you wanted to replace the original
         object or not. If you are replacing the original object, the
         original object is erased, and the new object takes its place
         in the drawing sequence. If you are not replacing the
         original object, the new flipped object is drawn and an
         "Again? (Y/N)" prompt appears. If you answer Y, you can make
         more flipped copies of the original object. All flipped
         copies appear at the front of your drawing, but they can be
         layered differently (see Section 16.4).


MANUAL4.TXT


         PICTURETHIS "SHAREWARE" VERSION

         RELEASE 3.00

         MAY 15, 1990

         USER MANUAL, PART 4 OF 7 PARTS


         Copyright 1988, 1989, 1990 by Patricia Y. Williams and
           Gregory Williams, All Rights Reserved.

         HortIdeas Publishing, Route 1, Box 302, Black Lick Road,
           Gravel Switch, KY 40328 U.S.A.


         17.6. INCLINING AN OBJECT

           Inclining an object means leaning it away from the vertical
         or from the horizontal. This operation can be very useful for
         drawing 3-dimensional figures and shadows. To incline an
         object, while in the "OBJECT" state, press I and then select
         an object, as described in Section 16. The state becomes
         "INCLIN," and the selected object is dashed. A prompt
         appears: "Replace original object? (Y/N/ESC)." If you answer
         Esc, you are returned to the object menu and the "OBJECT"
         state. If you press Y, the inclined object replaces the
         original object when you have completed your manipulations.
         If you press any other key, the original object remains in
         addition to any inclined objects that you make.
           A new prompt appears (if "H+" is toggled): "Move then F1 to
         set anchor point." You can move the cursor (in all possible
         ways); then press F1 at an "anchor" point. The anchor point is
         a point on the screen around which the object is inclined.
         When the object is inclined, the anchor point does NOT move,
         although other points on the object move. Frequently, it is
         useful to have the anchor point on an endpoint. (If Esc is
         pressed instead of F1, the object menu returns.)
           A new menu appears, allowing you to choose whether you want
         to incline the object away from the vertical or the
         horizontal. Press V or H to choose vertical or horizontal
         inclination. (Esc allows you to reset the anchor point.)
         After you have chosen one of these, another menu appears,
         asking you to choose whether you want "Shadow" or "3-
         dimensional" inclination. These are descriptive terms to
         suggest ways the two different types of inclination are
         useful (described more fully below). Press S for "Shadow" or
         3 for "3-dimensional."
           A new menu appears, allowing you to select whether the
         inclination angle is set by cursor movement or direct entry.
         (An Esc here backs out to the inclination type menu.) If you
         want to set the inclination angle by direct entry, press D.
           A prompt appears, requesting you to enter the inclination
         angle in degrees. The second line of the prompt shows the
         current inclination angle in parentheses. If you are
         satisfied with the current inclination angle, press Enter.
         If you want a different inclination angle, type it in,
         followed by Enter. If you press Esc, the cursor movement or
         direct entry menu reappears. Positive inclination angles are

                                                                          48
         measured in a CLOCKWISE direction from a vertical line
         connecting the anchor point to the top of the screen for
         vertical inclination, or from a horizontal line connecting
         the anchor point to the right side of the screen for
         horizontal inclination. Negative angles are measured in a
         COUNTERCLOCKWISE direction. The initial current inclination
         angle is 30 degrees. Any inclination angle entered becomes
         the current inclination angle for the next inclination
         operation.
           If you want to set the inclination angle by cursor
         movement, press C. A solid line appears through the anchor
         point, vertically from the top to the bottom of the screen
         for vertical inclination, or horizontally from the left to
         the right side of the screen for horizontal inclination. A
         prompt appears (if "H+" is toggled): "Move then F3 to set
         inclination angle." Move the cursor; a dotted line follows.
         The angle between the two lines is the inclination angle.
         Press F3 when you are satisfied with the inclination angle.
         If you press Esc, you can reset the anchor point. (By
         toggling the relative position box on (see Section 20.4)
         while setting the inclination angle, you can see the current
         inclination angle as the cursor moves.)
           The inclined object is drawn (without endpoints) and an
         "OK? (Y/N)" prompt appears. If you are satisfied with the
         inclined object, answer Y, and the inclined object will be
         established. If you are not satisfied with the inclined
         object, press any other key to return to the prompt asking if
         you want vertical or horizontal inclination. If you pressed
         Y, additional action depends on your answer to the previous
         prompt asking whether you wanted to replace the original
         object or not. If you are replacing the original object, the
         original object is erased, and the new object takes its place
         in the drawing sequence. If you are not replacing the
         original object, the new inclined object is drawn and an
         "Again? (Y/N)" prompt appears. If you answer Y, you can make
         more inclined copies of the original object. All inclined
         copies appear at the front of your drawing, but they can be
         layered differently (see Section 16.4).
           Returning to the difference between "shadow" and "3-
         dimensional" inclination, the best way to SEE that difference
         is to try a couple of hands-on examples. (For both of these
         examples, toggle "H+" on, and toggle the status box on by
         pressing W.)
           The first example shows "shadow" inclination, called that
         because it can be used to create shadow effects. Clear your
         drawing by pressing C and then answering Y to the prompt.
         Next, import the clip art object file STICKFIG.CLP (included
         on one of the distribution disks). See Section 19.3 if you
         want more details on how to do this; for now, just make sure
         STICKFIG.CLP is in the default directory, then press F10,
         I, and Enter, move the highlighted box to "STICKFIG.CLP"
         (using the cursor keys), and press Enter again. At the prompt
         "OK? (Y/N)," answer Y. Press Q to see the Quickshow screen
         representation of a running stick figure. You are going to
         give the stick figure a shadow. Press Esc to return to the
         drawing screen. Press F7 and then I to start the incline
         process. The stick figure is selected automatically, since it
         is the only object available. Answer N to the prompt:
         "Replace original object? (Y/N/ESC)". Press Del to go to an

                                                                          49
         endpoint, and press Space, +, and/or - as necessary to move
         the cursor to the endpoint at the stick figure's forward
         foot. Press F1 to set the anchor point at the forward foot.
         The "vertical/horizontal" menu appears; press V for vertical.
         At the next menu, press S for shadow. At the next menu, press
         D for direct entry, and key in 50 for the desired angle. An
         inclined image of the stick figure is drawn. Press Y in
         answer to the "OK?" prompt, and N in answer to the "Again?"
         prompt. View your figures on the Quickshow screen. The shadow
         should be black, so you need to darken it. Press F6, then
         L, and then select the shadow's body as the trail you want;
         next, press G for gray and key in a line gray percentage of
         100 (black). Press K (for "Keep"). Now you need to make the
         shadow's head black too. Press F6, then F, and then select
         the shadow's head; key in 100 for the requested fill value.
         Now look at the figures on the Quickshow screen again (press
         Q). Notice that the shadow is in front of the stick figure.
         To correct this, press Esc to return to the drawing screen,
         then press F7 and L, then choose the shadow and press R to
         move it to the rear. View the Quickshow screen one more time
         (press Q). All done! Notice that the shadow reaches the same
         "height" as the stick figure. This is the important
         difference between "shadow" and "3-dimensional" inclination.
         For "shadow" inclination, the vertical (or horizontal)
         distances from a horizontal (or vertical) line through the
         anchor point to each endpoint remain the same when inclining
         vertically (or horizontally). For "3-dimensional" inclining,
         the distances of the inclined object remain proportional and
         are NOT stretched.
           As an example of "3-dimensional" inclining, you will make a
         child's alphabet block. Return to the drawing screen by
         pressing Esc. Clear the drawing by pressing C and then
         answering Y to the prompt. Now import the clip art object
         file BLKSIDE.CLP (included on one of the distribution disks).
         See Section 19.3 for more details on how to do this; for now,
         just make sure BLKSIDE.CLP is in the default directory, and
         then press F10, I, Enter, move the highlighted box to
         BLKSIDE.CLP with the cursor keys, and press Enter again. At
         the prompt "OK? (Y/N)," answer Y. Press Q to see, on the
         Quickshow screen, the side of a block with an "A" on it. You
         are going to make a drawing of a 3-dimensional block. Press
         Esc to return to the drawing screen. First you must make two
         copies of the block side. Press F7, then C. The block side
         will be selected automatically because it is the only object
         available. Press Del and then Space, + and/or - repeatedly
         until the cursor is on the lower left endpoint of the block
         side. Now press F1 to select that as the start point of the
         copy. Press Del again, then Space, +, and/or - repeatedly
         until the cursor is on the lower right endpoint of the block
         side. Now press F3. A copy of the block side will appear next
         to the original. Press Y to the "OK?" prompt, then Y to the
         "Again?" prompt. Press Del again, followed by Space, +,
         and/or - repeatedly to move the cursor to the top left
         endpoint of the original block side. Then press F3. Another
         copy of the block side appears above the original. Answer Y
         to the "OK?" prompt, but N this time to the "Again?" prompt.
         (Notice that there is some on-screen "garbage" left when
         manipulating objects; it is functionally harmless, but you
         can press D while in the "FREE" state to redraw the screen if

                                                                          50
         it becomes bothersome (see Section 25.3).) Now you need to
         scale the two copies of the block side. Press F7 and then S
         for scale, and select the top block side. Answer Y to the
         "Replace original object?" prompt. Move the cursor to near
         the bottom left corner of the top block side; press Del,
         followed by Space, +, and - repeatedly until the cursor is on
         this corner. Press F1 to set the anchor point at the corner.
         At the next menu, press D for direct entry of scale factors.
         Answer N to the "Uniform scaling?" prompt. Key in 1.0 for a
         horizontal scale factor and .6 for a vertical scale factor.
         Answer N to the prompt about scaling line weights. A
         "squashed" copy of the top block side is drawn. Press Y to
         answer the "OK?" prompt. Similarly, scale the right block
         side by .6 horizontally and 1.0 vertically, using its bottom
         left corner as the anchor point. Now the top and right sides
         need to be inclined to finish the block. Press F7 and then I.
         Select the top block side, answer Y to the "Replace original
         object?" prompt, and again move the cursor to its lower left
         endpoint. Press F1 to set the anchor point. Press V, then 3.
         Press D for direct entry, then key in an inclination angle of
         60. The top block side is inclined. Answer Y to the "OK?"
         prompt. Similarly, incline the right block side horizontally,
         at -30 degrees. Now you should have what looks like a 3-
         dimensional block. (Note that the top right corner endpoint
         of the top block side and the top right corner endpoint of
         the side block side are a few internal units (see Section
         20.3) apart. This should not be noticeable on hard copy from
         a 300 dpi laser printer, but might be slightly noticeable
         with a higher resolution output device, or if you scale up
         the block considerably. The potential problem can be
         corrected, if necessary, by ungrouping the top block side,
         erasing and redrawing the lines so they meet at the same
         endpoint, and regrouping the object. This really isn't very
         hard to do; the result is stored as a clip art object file
         (BLOCK.CLP) on one of the distribution disks.) You should
         group the three block sides into an object (F7, G, followed
         by Enter three times), or import BLOCK.CLP, to try making a
         stack of blocks, flipping or rotating the block, etc.

         17.7. MULTICOPYING AN OBJECT

           Multicopying of objects to endpoints of a trail is accessed
         via the trail menu (press F6). You can use it to copy one
         object repeatedly to several places (nice for abstract visual
         designs and data plots (see Section 19.8). Two items are
         necessary for the multicopy operation: an object to be copied
         and a trail. The object is copied to (some or all of) the
         trail's endpoints. The rest of this section shows how.
           For minimal confusion the first few times you attempt
         multicopying, toggle help to "H+" and toggle on the status
         box by pressing W.
           To begin the operation, access the trail menu by pressing
         F6, then press O. The cursor moves to the closest on-screen
         initial endpoint of a trail, the trail becomes dashed, and
         the status box says "TRAIL?" If there is only one initial
         endpoint of a trail on the screen, then that trail is
         selected automatically, and the status box says "OBJ?" If
         there are two or more starting endpoints of trails on the
         screen, you must select one of the trails by pressing +

                                                                          51
         (same as Space) and/or - (repeatedly if necessary), then
         Enter.
           Again, once a trail has been selected, the status box says
         "OBJ?" Now you must select an object (that is, a trail, a
         previously grouped object, or a text block) to be copied to
         one or more of the selected trail's endpoints -- if there is
         only one object with a starting point on the screen, that
         object is selected automatically.
           Once an object has been selected (either manually or
         automatically), the status box says "POINT?" and, if "H+" is
         toggled, a prompt appears: "F3 to set start point." Now you
         must place the cursor at the point on the object which is to
         end up on the trail's endpoints, and press F3 to select that
         point.
           Next, a prompt asks "Copy to all endpoints?" Press Y for
         automatic multicopying of the selected object to all
         endpoints of the selected trail (INCLUDING OFF-SCREEN
         ENDPOINTS!). or press N (or a key other than Y or Esc) for
         prompted copying to each endpoint (THOSE ON-SCREEN ONLY!!) in
         turn. Pressing Esc backs out to selection of the point which
         will end up on the endpoints.
           If you pressed Y the status box returns to "FREE" after the
         automatic multicopying is done. If you pressed N the cursor
         moves to an endpoint on the selected trail and you are
         prompted for Y if you want the object copied there, N if you
         don't; this repeats until the cursor has moved to all on-
         screen endpoints of the selected trail in turn OR until you
         press Esc. If you press Esc, the status box returns to
         "FREE," LEAVING ALREADY COPIED OBJECTS IN PLACE. NOTE that
         there is NO way to back out of prompted multicopying so that
         already copied objects are erased! ALSO NOTE that if memory
         limits are reached during automatic or prompted multicopying,
         appropriate error messages are shown (follow the instructions
         provided by those messages), and already copied objects are
         NOT erased!

         18. TEXT

           We've attempted to provide support for flexible text
         placement, with the needs of technical illustrators given
         highest priority. Text editing is done in a character-based
         full-screen editor so you won't have to squint at "what-you-
         see-is-SORT-of-what-you-get" low-resolution screen fonts ("Is
         that a hyphen or an endash?" "Is that a left or a right
         quote?"). Yet you can still view a representation of the
         characters on the screen, and you can still edit text blocks
         AFTER they have been transformed as objects (flipped,
         inclined, scaled, or rotated). NOTE: The following sections
         include information on text features found in the REGISTERED
         Version of PictureThis; this "Shareware" Version includes all
         of the same features, except the utility program AFMTOPT.EXE
         is not included, and font information files are provided for
         ONLY SIX PostScript fonts: Times-Roman, Times-Italic, Times-
         Bold, Times Bold-Italic, Symbol, and ZapfDingbats. If you
         want to use other fonts (including downloadable fonts),
         you'll need to register.

         18.1. FONT FILES


                                                                          52
           The Registered Version of PictureThis can use any
         PostScript-compatible font for which an Adobe Font Metrics
         (AFM) disk file is available. This includes downloadable
         fonts from several suppliers other than Adobe. If you buy a
         font and don't get its AFM file, complain to the vendor! If
         you use fonts at a typesetting service bureau, the bureau
         should supply you with AFM files. AFM files contain essential
         data on individual character sizes, relative placement of
         parts of composite ("accented") characters, and pair-wise
         kerning (adjustment of spacing between certain characters for
         better appearance, especially in large-type lines).
           Using the AFM file for a particular font, the utility
         program AFMTOPT.EXE (included on one of the PictureThis
         Registered Version distribution disks) writes two (if the AFM
         file contains no information on pair-wise kerning) or three
         files. One of these files (with extension .FNM) contains the
         PostScript name of the font (such as "Symbol"). The second
         file (with extension .FIN) contains character width
         information (and information about accented characters if
         provided by the font's AFM file). The third file (with
         extension .FKN) is written if the font's AFM file contains
         information on pair-wise kerning. PictureThis identifies each
         font (i.e., Times-Roman) by a unique number from 1 to 9999,
         and each file in the pair associated with a given font has
         "FONTXXXX.*" for its name, where XXXX is its identification
         number. For example, we have already identified the Times-
         Roman font resident in many PostScript-compatible printers as
         font number 91 for PictureThis (more on this below), and so
         the name, width, and kerning files for this font are,
         respectively, FONT91.FNM, FONT91.FIN, and FONT91.FKN. If you
         want to use the Times-Roman font in a PictureThis drawing,
         both FONT91.FNM and FONT91.FIN must be accessible to
         PictureThis.
           On one of the PictureThis distribution disks for the
         Registered version are font name, width, and kerning files
         for the 35 fonts resident in many PostScript-compatible laser
         printers. (For the "Shareware" version there are only files
         for the six mentioned fonts.) We used the AFMTOPT.EXE program
         to make them, and we numbered each font as shown below. (The
         file FONTNO.EPS on one of the PictureThis distribution disks
         is an EPS file showing the numbering; send this file to your
         PostScript printer to see what the fonts look like, and to
         see which of the fonts are resident in your printer -- non-
         resident fonts are those with names printed in Courier
         (typewriter font), except, of course, Courier itself. That's
         because when a PostScript program requests a font which is
         nonresident in AND hasn't been downloaded to the printer,
         Courier is substituted for the "missing" font. We aren't
         aware of any PostScript-compatible printers lacking Courier
         as a resident font. Warning: FONTNO.EPS takes a long time to
         print, since so many fonts are used!)

         Font Number for PictureThis    PostScript Font Name
         11                            *AvantGarde-Book
         12                            *AvantGarde-BookOblique
         13                            *AvantGarde-Demi
         14                            *AvantGarde-DemiOblique
         21                            *Bookman-Light
         22                            *Bookman-LightItalic

                                                                          53
         23                            *Bookman-Demi
         24                            *Bookman-DemiItalic
         31                            *Courier
         32                            *Courier-Oblique
         33                            *Courier-Bold
         34                            *Courier-BoldOblique
         41                            *Helvetica
         42                            *Helvetica-Oblique
         43                            *Helvetica-Bold
         44                            *Helvetica-BoldOblique
         51                            *Helvetica-Narrow
         52                            *Helvetica-Narrow-Oblique
         53                            *Helvetica-Narrow-Bold
         54                            *Helvetica-Narrow-BoldOblique
         61                            *NewCenturySchlbk-Roman
         62                            *NewCenturySchlbk-Italic
         63                            *NewCenturySchlbk-Bold
         64                            *New CenturySchlbk-BoldItalic
         71                            *Palatino-Roman
         72                            *Palatino-Italic
         73                            *Palatino-Bold
         74                            *Palatino-BoldItalic
         81                             Symbol
         91                             Times-Roman
         92                             Times-Italic
         93                             Times-Bold
         94                             Times-BoldItalic
         101                           *ZapfChancery-MediumItalic
         111                            ZapfDingbats

         * Not included with "Shareware" Version.

           If you want to make name and width files for additional
         fonts, run the AFMTOPT.EXE program (not included with
         "Shareware" Version) and follow the on-screen instructions.
         The AFM file for each additional font must be available (that
         is, in a directory on a disk accessible by the AFMTOPT.EXE
         program). Additional fonts can be numbered from 1 to 9999,
         but take care to avoid overwriting previously made name and
         width files with the same names, unless you're sure you won't
         be needing those old files. If you are using a downloadable
         font (or a font supplied with a non-Adobe PostScript-
         compatible interpreter) which is supposed to have the same
         character widths as one of the Adobe fonts, but has a
         different name -- an example is Palatine-Roman as a
         substitute for Palatino-Roman -- you can use the width
         information file corresponding to the Adobe font, and replace
         the Adobe name with the substitute non-Adobe name (WITHOUT a
         trailing carriage return) in FONTXXXX.FNM using a word
         processor or text editor which saves files in pure-ASCII
         format.

         18.2. FONT ENCODING

           Most PostScript fonts use a "standard" encoding scheme to
         assign numbers (which, in turn, are assigned to one or more
         keyboard keys) to individual characters (examples: "A" and
         "$"). All of the 35 fonts listed above EXCEPT Symbol and
         ZapfDingbats use this standard encoding. Symbol and

                                                                          54
         ZapfDingbats each use special encoding schemes, as do a few
         other commercially available "non-text" PostScript fonts.
           The ENCODLOW.TXT and ENCODALL.TXT files on one of the
         PictureThis distribution disks show the assignment of keys to
         characters (listed by their names in ASCII order) for all
         standard-encoding fonts, the Symbol font, and the
         ZapfDingbats font. If you have a dot-matrix printer capable
         of printing the full IBM character set (the characters you
         see at the DOS prompt when you hold down the Alt key while
         entering numbers between 127 and 254 on your numeric keypad),
         print out ENCODALL.TXT; otherwise print out ENCODLOW.TXT
         (which doesn't show the "high" IBM characters) on any type of
         text printer. Alternatively, you can examine ENCODALL.TXT on
         your screen (at the DOS prompt, key in "TYPE ENCODALL.TXT"
         and press Enter).
           The ENCODING.PS file on one of the PictureThis distribution
         disks can be sent to a PostScript printer to show the
         assignment of keys to characters (listed as they actually
         appear in PostScript output) for standard-encoding fonts
         (shown in the Times-Roman only), the Symbol font, and the
         ZapfDingbats font. (Note: The ENCODING.PS file takes a long
         time to print. If one of the fonts in this file isn't
         resident in or hasn't been downloaded to your printer, that
         font's characters will appear in the Courier font in the
         output.)
           In summary, each PostScript font has an identification
         number (XXXX, where XXXX can be 1 to 9999), a name file
         (FONTXXXX.FNM), a width information file (FONTXXXX.FIN), and
         (in most cases) a kerning information file (FONTXXXX.FKN),
         all made by AFMTOPT.EXE using the font's AFM file. One or
         more keyboard keys are associated with each of the font's
         characters (two examples: pressing D on the keyboard is
         associated with the character "D" in standard-encoded fonts,
         with the character "Delta" in the Symbol font, and with the
         character "four-leaf-clover" in the ZapfDingbats font;
         pressing Alt and 1 then 6 then 5 on the numeric keypad is
         associated with the character "Yen" in standard-encoded
         fonts, with the character "infinity" in the Symbol font, and
         with the character "sideways-heart" in the ZapfDingbat font.)

         18.3. TEXT PARAMETERS

           For PictureThis, complete information about a particular
         text character placed on a drawing includes more than just
         its font number and associated key(s). The character's
         position and orientation on the drawing, its size (in
         PostScript points; 1 PS point = 1/72"), and its gray shading
         (from 0%, white, to 100%, black, in 1% increments) ALL must
         be specified. Character positions and orientations must be
         specified within the PictureThis full-screen text editor or
         by transformations of previously edited text, but values of
         the other items can be specified as the editor is entered.
         (They also can be specified within the editor, by using
         typesetting codes. More on this below.)
           Access the text menu by pressing F8. The state changes to
         "TEXT." The second line of the menu lists the current values
         for text point size ("PSXXX" with XXX = 1 to 999); font
         number ("FTYYYY" with YYYY = 1 to 9999); justification
         setting ("JL" for left justified, "JR" for right justified,

                                                                          55
         "JF" for fully (both left and right) justified, "JC" for
         centered, or "JP" for positioned at cursor (explained
         below); line spacing in PostScript points ("LSZZZ.Z" with
         ZZZ.Z = 0.0 to 999.9); and text gray shading percentage
         ("GRJJJ" with JJJ = 0 to 100).
           These values can be altered by pressing P to access the
         parameters menu, then pressing P, F, J, L, or G as desired,
         next keying in the new value and pressing Enter (just
         pressing Enter keeps the old value), and finally (back at the
         Parameters menu) pressing K or Enter to keep the new value(s)
         and return to the text menu.
           While at the font number menu (accessed by pressing F at
         the parameters menu), press ? to view a help screen showing
         the numbers and names of the 35 fonts for which we provide
         name and width files (assuming that the help file PT3FONT.HLP
         is in the current directory path; otherwise, you'll get an
         error message and must press a key to continue). The font
         help screen also is accessible from within the editor (see
         below). PT3FONT.HLP can be edited with a word processor or
         text processor (in ASCII format) to customize the font help
         screen so it includes different fonts. Note: Only the first
         24 (80-character) lines of PT3FONT.HLP are read by
         PictureThis, so don't put more than 24 lines in a modified
         version.
           More than one value can be changed before you press K (or
         Enter) back at the text menu. Pressing Esc while at the
         parameters menu returns the text menu WITH THE OLD VALUES
         RESTORED.
           The default text parameter values when you load
         PictureThis are PS10, FT0, JP, LS11.0, and GR100. BEFORE YOU
         CAN EDIT, YOU MUST CHANGE THE FONT NUMBER FROM 0 TO A VALID
         NUMBER (ONE WITH ACCESSIBLE INFORMATION FILES). (But when
         a previously saved drawing file containing text is loaded
         (using the file menu, accessed by pressing F10), the text
         parameter values are changed to those current WHEN THE
         DRAWING FILE WAS SAVED, and you won't necessarily need to
         change to a valid font number.) The first time it attempts to
         access font files, PictureThis searches both the current
         directory and (if it exists) a subdirectory of the current
         directory named "\FONTS" for the files. If it finds the
         needed font information files in one of these places, it
         keeps that path as the default for future font file accesses;
         if it fails to find the needed files, you are prompted to
         specify a new directory. For best results, keep all font
         information files and screen font files (see Section 18.7) in
         the same directory as PictureThis OR in a \FONTS subdirectory
         of the PictureThis directory.
           Note that when you change the point size, the line spacing
         automatically changes to a commensurate value (you can change
         the line spacing AFTER changing the point size, if the
         spacing isn't what you want): line spacing becomes 1.2 times
         point spacing (rounded to the nearest point).
           All of the text parameter values remain unchanged unless
         they are altered via the parameters menu or during cutting
         (explained below), regardless of typesetting codes in the
         editor (also explained below); the point is that if you want
         several text blocks with the same parameters, you won't need
         to change the parameters each time you edit a new block --the
         old parameters will remain in effect unless you change them

                                                                          56
         explicitly.
           When at the text parameters menu (accessed from the "FREE"
         state by pressing F8 and then P), you can cycle through all
         previously kept sets of parameters by pressing Space, +,
         and/or - repeatedly. When a set you want to use is shown in
         the second line of the menu, press K or Enter to select that
         set and return to the text menu. This provides an easy way to
         reuse previous parameter sets, without needing to key in each
         parameter individually.

         18.4. TEXT BLOCKS

           The basic unit of text in PictureThis is the text block,
         which results from an editing session. A text block can
         include up to one full editor screen (23 lines) of
         characters. Associated with each text block are the text
         parameters just described, plus a margin which serves as a
         boundary for the text block. Margins are shown as rectangles
         (and, following some types of transformations of text blocks,
         as parallelograms) on the drawing screen. The default margin
         lines are at the edge of the 100% screen (same as the default
         frame lines).
           Text justification for a given block is done with respect
         to the block's margin's left and right vertical lines -- that
         is, they are left and right vertical lines PRIOR to any
         transformations! Text is placed between the left and right
         vertical lines (or their vertical extensions), beginning with
         the baseline (the imaginary line upon which the characters
         sit) of the first line of the text block at the current
         VERTICAL cursor position, WHETHER OR NOT THE CURSOR IS
         BETWEEN THE MARGIN'S TOP AND BOTTOM LINES, so that text can
         flow "into the top" or "out of the bottom" of the margin
         while remaining properly justified. In fact, FOR LEFT, RIGHT,
         FULL, OR CENTER JUSTIFICATION, THE CURSOR NEED NOT BE BETWEEN
         THE MARGIN'S LEFT AND RIGHT LINES: the text still will be
         placed correctly between the margin's left and right vertical
         lines. Note, however, that the position-of-cursor
         justification setting places text beginning with the left
         side of the baseline of the first character in the text block
         AT THE CURRENT (VERTICAL AND HORIZONTAL) POSITION OF THE
         CURSOR, then left-justifies the text between a vertical line
         through the cursor position and the margin's right vertical
         line (and possibly its extensions). To edit with position-of-
         cursor justification, the current cursor HORIZONTAL position
         MUST lie between the margin's left and right vertical lines
         or their extensions. Position-of-cursor justification is
         convenient for adding short text blocks (such as one-line
         labels) to drawings; if the current margin is large enough
         to include all of a drawing's area, you can use position-of-
         cursor justification to place several short text blocks
         around the drawing without needing to change the margin at
         all.
           To define a new margin, press M when at the text menu, move
         the cursor to where you want one corner of the margin and
         press F1, then move the cursor to where you want the
         diagonally opposite corner of the margin and press F3.
         Margins CANNOT be deleted. To select a different current
         margin, when at the text menu, press + and/or - to cycle
         through all of the previously defined margins. When the

                                                                          57
         margin you want to select appears, stop cycling, and that
         margin will be used as the new current margin.
           To move the cursor to the top horizontal line of the
         current margin, press Ctrl T; to move to the bottom
         horizontal line, press Ctrl B; to move to the left vertical
         line, press Ctrl L; and to move to the right vertical line,
         press Ctrl R (top, bottom, left, right, horizontal, and
         vertical apply to the margin as it appeared BEFORE any
         transformations!) When you enter the editor, the current
         margin (the one shown on the drawing screen) becomes the
         margin for the text block you are editing.

         18.5. EDITING

           Assuming that you are at the text menu with a valid font
         number (such as "FT91" for Times-Roman), you can press E or
         Enter or F8 to enter the editor.
           The top line on the editor screen shows the current values
         of text and positioning parameters.
           "PSXXX" (with XXX = 1 to 999) is the text point size
         (points are PostScript points; 1 PS point = 1/72").
           "FTYYYY" (with YYYY = 1 to 9999) is the font number.
           "JL," "JR," "JF," "JC," or "JP" is the justification
         setting: left, right, full (left and right), centered, or
         position-of-cursor.
           "LSZZZ.Z" (with ZZZ.Z = 0.0 to 999.9) is the line spacing
         in points.
           "GRJJJ" (with JJJ = 0 to 100) is the text gray shading
         percentage (white is 0, black is 100).
           "WT_______"  is the total width of the margin.
           "WU_______" is the horizontal distance from the left side
         of the margin to the current position of the cursor: the
         "width used."
           "WR_______" is the horizontal distance from the current
         position of the cursor to the right side of the margin: the
         "width remaining."
           "HU_______" is the vertical distance from the baseline of
         the first line in the text block to the current position of
         the cursor: the "height used."
           "HR_______" is the vertical distance from the current
         position of the cursor to the bottom of the margin (which
         becomes negative when the text flows "out of the bottom" of
         the margin): the "height remaining."
           The above distances ("_______") are in units which depend
         on the current units chosen via the Miscellaneous menu (F9
         and then U), as shown in the following table:

         CURRENT UNITS          DISTANCE UNITS IN EDITOR STATUS LINE
         Pixels (PX)            Pixels
         Inches (IN)            Inches (1 Inch = 6 Picas = 72 Points)
         Picas & Points(PP)     Picas & Points (1 Pica = 12 Points)
         Points (PT)            Points (1 Point = 1/72 Inches)
         Centimeters (CM)       Centimeters
         Millimeters (MM)       Millimeters

           The bottom line on the editor screen lists function key
         operations while in the editor. At the left side of the
         bottom line, "NORM" indicates that the text block being
         edited HAS NOT been transformed via object menu operations

                                                                          58
         (accessed by pressing F7); "TRANS" indicates that the text
         block HAS been transformed, so that distances indicated on
         the top line of the editor screen might not equal actual
         distances on the drawing.
           Press F1 for a help screen showing special editing keys and
         typesetting code formats; pressing F1 a second time accesses
         a screen showing font numbers and names (or you can press any
         other key to return to the editor from the first help
         screen); pressing any key returns to the editor from the
         second help screen. Accessing these two help screens requires
         that the files PT3EDIT.HLP and PT3FONT.HLP are in the current
         directory path, otherwise you'll see an error message (and
         can return to editing by pressing any key). PT3FONT.HLP is a
         text file which can be user-edited with a word processor or
         text editor and saved in ASCII format; this allows you to
         include new fonts on the font help screen. Note: Only the
         first 24 (80-character) lines in PT3FONT.HLP are read by
         PictureThis, so don't put more than 24 lines in a modified
         version.
           F2 deletes (IRRETRIEVABLY!) the entire line containing the
         cursor, moves up all lines below the deleted line by one
         line, and places the cursor at the beginning of the line
         which was formerly just below the deleted line.
           F3 "composes" the text block; that is, it counts character
         widths and takes text and positioning parameters into account
         to wrap lines properly; composing also checks for certain
         kinds of errors and reports them to the user on the top line
         of the editor screen. After making changes in a text block,
         you'll need to compose to see where the lines actually "wrap"
         to fit the margin, given the selected justification setting.
         A line which does NOT wrap on the drawing screen but is too
         wide to fit on one line of the editor screen (80 characters;
         there is no sideways scrolling in the editor) is wrapped
         automatically on the editor screen WITH A RIGHT ARROW AT THE
         END OF THE LINE signifying that the wrap is in the editor
         ONLY, NOT on the drawing. Lines which wrap on the drawing
         have NO right arrows at their ends in the editor. You can put
         a carriage return at the end of any line (by pressing
         "Enter") to FORCE a wrap on the drawing (shown in the editor
         by a DOWN ARROW); this is most useful for ending paragraphs
         when fully justifying, since without a carriage return, the
         last word is set against the right margin, (probably)
         resulting in too much space between each of the words on the
         last line.
           To clear the editor completely AND IRRETRIEVABLY, press F4;
         a prompt will ask if you really want to clear; press Y if you
         do, any other key if you don't.
           F5 "sets" the text block by composing it AND returning to
         the drawing screen, where the text block is drawn. F5 also
         checks for certain kinds of errors and reports them to the
         user on the top line; all such errors must be corrected
         before the text block can be set. In other words, correct any
         errors and press F5 again.
           To aid in correcting multiple errors, you can press F6 to
         move the cursor to the location of each error (discovered by
         PictureThis when you attempted to compose or set the current
         text block) in turn.
           Sometimes you will want to set only PART of a text block,
         leaving the remainder of the block in the editor; to mark the

                                                                          59
         end of text which is to be set, press Ctrl Q (for "quit"). On
         the editor screen, the "quit setting text" position is marked
         with a LEFT AND RIGHT ARROW. Then when you press F5, only the
         text BEFORE the arrow will be set, and the text AFTER the
         arrow will remain in the editor. Note: So you can continue
         work on a partially completed drawing where you left off,
         text in the editor when a drawing is saved is saved with the
         drawing, and it is placed back in the editor when the drawing
         is loaded again (AND TEXT CURRENTLY IN THE EDITOR IS CLEARED
         IRRETRIEVABLY). Clearing a drawing with the C key does NOT
         clear the editor, allowing you to use the text in the editor
         in a NEW drawing (but NOT in an OLD drawing accessed via
         pressing F10 and G, since old drawings clear text in the
         editor when they are loaded, as just noted).
           Press F7 to view the pair-wise kerning screen. When pair-
         wise kerning is turned on (by placing a typesetting code in
         a text block; see Section 18.6), certain contiguous pairs of
         characters are positioned closer together or further apart
         than when pair-wise kerning is turned off (also by placing a
         typesetting code in the text block). Which character pairs
         are kerned and by how much are specified by a table in one of
         the information files for the current font; this table
         originally was constructed using data in the font's AFM file;
         if a font's AFM file doesn't include pair-wise kerning data,
         then there is no kerning information file for that font. The
         kerning information file (if it exists) is read by
         PictureThis when a font is selected for use, and the data in
         the file is shown on the pair-wise kerning screen: each
         kerned pair appears with the number of units (explained in
         Section 18.6) of kerning (negative units indicate reduced
         spacing between the characters when pair-wise kerning is on,
         and positive units indicate increased spacing). To alter the
         kerning of a pair, move the block cursor (using the cursor
         keys) to the pair, press Enter, key in a new value (between
         -999 and +999, with the "+" optional), and press Enter again
         (pressing Enter without keying in a new value keeps the old
         value; keying in "0" (zero) and then pressing Enter REMOVES
         THE PAIR FROM THE TABLE). To add a new kerning pair, move the
         block cursor to the space after the end of the final column
         (where the cursor is blank), press Enter, and follow the
         instructions given (pressing Enter after keying in each item
         requested). Following each deletion and addition, the table
         is resorted alphabetically. To back out to the editor WITHOUT
         KEEPING ANY CHANGES, press Esc; or press F8 to return to the
         editor and keep all changes; or press F10 to SAVE all changes
         to a font kerning file in the current font directory, WRITING
         OVER THE OLD KERNING INFORMATION FILE IN THAT DIRECTORY
         WITHOUT WARNING.
           Pressing F8 accesses the accented (composite) character
         screen, from which you can pick a character to enter into the
         editor. The accented characters shown are those given in the
         standard-encoding AFM file (see Section 18.1), and their
         names are those used in the AFM file; to see how the
         characters appear in hard-copy output, print out the file
         ENCODING.PS (included on one of the distribution disks) on a
         PostScript-compatible printer. To enter a character into the
         editor, move the block cursor to the character and press
         Enter. The character appears in the editor (beginning with
         <TK0>) with the necessary typesetting codes for proper

                                                                          60
         positioning of the two parts of the character; you can edit
         the codes if you wish. Positioning of the parts of accented
         characters can be altered by modifying the font width
         information file using the utility program AFMTOPT.EXE (see
         Section 18.1) OR the utility program MODFONT.EXE (see Section
         18.10), but additional accented characters CANNOT be added so
         that they appear on the accented character screen. If you
         need extra accented characters, consider using a keyboard
         macro program to assign the appropriate character and
         typesetting codes to otherwise unused keys.
           You can back out of the editor and return to the drawing
         screen by pressing Esc. The text block is NOT drawn on the
         screen; it remains in the editor, so you can return to it
         later.
           Other special keys in the editor include Home and End to
         move the cursor to the beginning and the end, respectively,
         of the line it is on, and Ctrl Home and Ctrl End, to move the
         cursor to the beginning and the end, respectively, of the
         text block. The cursor keys, Back Space, and Del work as in
         most text editors.
           Occasionally, such as when you've changed to a much larger
         point size, so that there are several more lines of text than
         before, the editor overflows. THE EXCESS TEXT AT THE END OF
         THE BLOCK IS LOST IRRETREVIABLY! There is NO buffer beyond
         the 23 lines shown on-screen. PictureThis isn't meant to be
         used as a page-layout program capable of handling large
         amounts of text. We think that 23 lines of text are more than
         ample for adding captions, titles, and notes to drawings.
           On the other hand, for those few occasions when you need to
         add a lot of text to a drawing, and therefore need to
         accurately position long text blocks in succession, we've
         made it easy to move the cursor to the beginning or end of
         each text block on the drawing screen. To move the cursor to
         the beginning of each text block HAVING ITS BEGINNING ON THE
         CURRENT SCREEN, in turn, press Tab and then + (same as
         Space) or - (each text block is dashed when the cursor is at
         its beginning); to leave the cursor at the beginning of a
         text block, press Enter -- Esc returns the cursor to its
         original position. The cursor will NOT move to a text-block
         beginning NOT on the screen. Similarly, to move the cursor to
         the end of each text block HAVING ITS END ON THE CURRENT
         SCREEN, in turn, press Shift Tab, then + (same as Space) or
         - (each text block is dashed when the cursor is at its end);
         to leave the cursor at the end of a text block, press Enter
         -- Esc returns the cursor to its original position. The
         cursor will NOT move to a text-block end NOT on the screen.
           Note: If there is a carriage return (shown as a downward-
         pointing arrow on the editor screen) at the end of the "last"
         line of a text block, the end of the block is actually at the
         beginning of the line FOLLOWING the "last" line with the
         carriage return. If there is no carriage return at the end of
         the "last" line of a text block, the actual end of the block
         is at the end of the last character in the block's "last"
         line (which really is the last line!). This might be a bit
         confusing at first, but it makes it easy to align successive
         paragraphs: put a carriage return after the last paragraph in
         a text block, move the cursor to the text block's end (the
         beginning of the next line), where the next paragraph should
         start, then enter the editor to write the next paragraph).


MANUAL5.TXT


         PICTURETHIS "SHAREWARE" VERSION

         RELEASE 3.00

         MAY 15, 1990

         USER MANUAL, PART 5 OF 7 PARTS


         Copyright 1988, 1989, 1990 by Patricia Y. Williams and
           Gregory Williams, All Rights Reserved.

         HortIdeas Publishing, Route 1, Box 302, Black Lick Road,
           Gravel Switch, KY 40328 U.S.A.


         18.6. TYPESETTING CODES

           Typesetting codes can be embedded in a text block to change
         its text parameters "locally." For example, if the text block
         you are editing has a point size of 20 and you want to write
         "x subscript 1 + y superscript 2," you might type the
         following: "x" Ctrl A "PS10" Ctrl Z Ctrl A "DP6" Ctrl Z "1"
         Ctrl A "PS20" Ctrl Z Ctrl A "UP6" " + y" Ctrl A "PS10" Ctrl Z
         Ctrl A "UP12" Ctrl Z "2" Ctrl A "PS20" Ctrl Z Ctrl A "DP12"
         Ctrl Z (where Ctrl A can be replaced by Ctrl a and Ctrl Z
         can be replaced by Ctrl z). Key this into the editor to see:
         x<PS10><DP6>1<PS20><UP6> + y<PS10><UP12>2<PS20><DP12> (well,
         almost -- the less-than and greater-than characters are
         FILLED IN SOLID in the editor). (Note that there is an
         automatic subscript and superscript feature that makes this
         operation much easier.)
           A typesetting code consists of a filled-in less-than
         character (signifying "turn on the code," and obtained by
         pressing Ctrl A or Ctrl a), followed by some letters and
         numbers (the code itself), and ending with a filled-in
         greater-than character (signifying "turn off the code," and
         obtained by pressing Ctrl Z or Ctrl z). What do the codes do?
         See the table below.

         CODE           MEANING
         <PSnnn>        Change current text point size to nnn = 1 to
                          999

         <FTnnnn>       Change current font number to nnnn = 1 to 9999

         <LSnnn.n>      Change current line spacing (in points) to
                          nnn.n = 0 to 999.9

         <GRnnn>        Change current text gray percentage to nnn = 0
                          to 100

         <PCnnn>        Change current text point size to nnn times
                          previous text point size (rounding to
                          nearest point) (nnn = .1 to 100)

         <FPnnn>        Move forward nnn points (nnn = 1 to 999)

         <BPnnn>        Move backward nnn points (nnn = 1 to 999)

                                                                          62

         <UPnnn>        Move up nnn points (nnn = 1 to 999)

         <DPnnn>        Move down nnn points (nnn = 1 to 999)

         <FUnnnn>       Move forward nnnn units (nnnn = 1 to 9999)

         <BUnnnn>       Move backward nnnn units (nnnn = 1 to 9999)

         <UUnnnn>       Move up nnnn units (nnnn = 1 to 9999)

         <DUnnnn>       Move down nnnn units (nnnn = 1 to 9999)

         <MKn>          Mark position n (= 0 to 9) in text for
                          subsequent go to

         <GOn>          Go to position n (= 0 to 9) previously marked
                          and insert the following text

         <GOX>          End text to be inserted with go to; text
                          following this code begins at the position
                          just before the <GOn>; <GOX> isn't needed if
                          all of the text following <GOn>, to the end
                          of the text block, is to be inserted

         <TK[+][-]nnn>  Turn on track kerning with spacing between all
                          character pairs reduced (if nnn is negative)
                          or increased (if nnn is positive; the + sign
                          is optional) by nnn units, with nnn = -999
                          to 999

         <TKX>          Turn off track kerning

         <PKO>          Turn on pair-wise kerning

         <PKX>          Turn off pair-wise kerning

         <SBO>          Turn on subscripting with default settings for
                          subscript character size and baseline
                          positioning (that is, settings in the
                          current font's width information file,
                          which can be altered by using the utility
                          program MODFONT.EXE (see Section 18.10))

         <SBmmm,nnn>    Turn on subscripting with subscript character
                          point size mmm% of current character point
                          size (mmm = 1 to 100), and with subscript
                          character baseline position nnn% of current
                          character point size below current baseline
                          position (nnn = 0 to 100)

         <SBX>          Turn off subscripting

         <SPO>          Turn on superscripting with default settings
                          for superscript character size and baseline
                          positioning (that is, settings in the
                          current font's width information file,
                          which can be altered by using the utility
                          program MODFONT.EXE (see Section 18.10)

                                                                          63
         <SPmmm,nnn>    Turn on superscripting with subscript
                          character point size mmm% of current
                          character point size (mmm = 1 to 100), and
                          with superscript character baseline position
                          nnn% of current character point size above
                          current baseline position (nnn = 0 to 100)

         <SPX>          Turn off superscripting

           Note: In each case, the code letters can be upper (as
         shown) OR lower case.
           Note: If text to be inserted with a go to code is not ended
         with <GOX> before a carriage return or a wrap, the results
         are unpredictable, and marks within go to text don't always
         work correctly, especially if the justification is full,
         right, or centered.
           Note: Subscripts and superscripts can be nested to several
         levels.
           To make repeated use of some codes easier, and to
         facilitate the use of keyboard macro programs for "automated"
         input of text, the following codes also can be used:

         CODE           MEANING

         <PSD>          Use current text block's default point size
                          (that is, the point size specified when the
                          editor was entered)

         <PSP>          Use immediately previous point size

         <FTD>          Use current text block's default font number
                          (that is, the font number specified when the
                          editor was entered)

         <FTP>          Use immediately previous font number

         <LSD>          Use current text block's default line spacing
                          (that is, the line spacing specified when
                          the editor was entered)

         <GRD>          Use current text block's default text gray
                          percentage (that is, the text gray
                          percentage specified when the editor was
                          entered)

         <TKD>          Set track kerning to 0

         <TKP>          Turn on track kerning and use immediately
                          previous setting (= 0 if not set previously)

         <SBD>          Turn on subscripting and use default settings
                          of current font

         <SPD>          Turn on superscripting and use default
                          settings of current font

           No doubt you're still wondering what the codes REALLY do...
         and what "units" are. Look again at the "x subscript 1 + y
         superscript 2" example above. Initially, the text point size

                                                                          64
         is 20, so the "x" is a 20-point character. Then <PS10>
         changes the point size to 10, and <DP6> moves down 6 points,
         so the "1" is a 10-point character (smaller than the "x," as
         a subscript should be) placed with its baseline 6 points
         lower than the baseline of the "x" (also as a subscript
         should be). The <PS20> and <UP6> codes restore the initial
         settings so that the " + y" has the same baseline and point
         size as the "x." And similarly for the (superscript) "2."
           You can use typesetting codes to change fonts for only a
         few characters (allowing italicized phrases and special
         symbols, for example), to make a few characters gray, to
         change the spacing between certain lines, etc., etc. If you
         use PictureThis much, you'll probably soon become proficient
         at using the codes.
           Now, what are "units"? They allow us to measure distances
         RELATIVE TO THE CURRENT TEXT POINT SIZE: for PictureThis,
         there are 1000 units per em width. In typesetting, a dash or
         hyphen which is as wide as the text point size is known as an
         emdash. So an emdash for 10-point text is 10 points wide, and
         an emdash for 30-point text is 30 points wide. (An aside:
         typically, most fonts have capital letters which are about
         two-thirds as tall as their point sizes, so an "A" in a 100-
         point font is likely to be around 60 to 70 points tall. That
         gives you an idea of how big characters REALLY are when their
         font has a certain point size, even though some fonts have
         characters "large" for their point size, and others have
         characters "small" for their point size)
           By extension from the emdash, the em width of a font is
         equal to the font's point size. So, for a 10-point PostScript
         font used in PictureThis, there are 100 units per point (1000
         units per em width divided by 10 points per em width); for a
         30-point PostScript font, there are about 33 units per point
         (1000 units per em width divided by 30 points per em width);
         for a 100-point PostScript font, there are 10 units per
         point; for a 300-point PostScript font, there are about 3
         units per point; and for a 1000-point PostScript font, there
         is 1 unit per point. In other words, the ABSOLUTE size of a
         unit is PROPORTIONAL to the current text point size. One unit
         for a 100-point font is 10 times as big (as measured in
         points, inches, centimeters, etc.) as one unit for a 10-point
         font.
           The proportional relationship between units and text point
         size is useful for positioning characters relative to one
         another "the same way" (proportionally!) REGARDLESS OF TEXT
         POINT SIZE -- just use units instead of points in the
         typesetting codes used for the positioning. For example,
         suppose you want to set a "P" followed by a 3-point space and
         then a "T" at a 10-point text size. One way to do this is to
         key in "P" Ctrl A "FP3" Ctrl Z "T" in the editor. That's fine
         if you need ONLY 10-point text. But what if you also want the
         same output at, say, 20 points? (Yes, you could scale the
         PostScript output, or you could scale the text block as an
         object (as described in Section 18.9) but we're concerned
         only with the editing operations here.) You could change the
         point size to 20 and key in "FP6" instead "FP3," but you also
         could have BEGUN (at the 10-point size) by keying in "FU300"
         instead of "FP3," and then, just by changing the text point
         size to 20, you would get what you wanted at the bigger size
         (because for the 10-point font, there are 100 units per

                                                                          65
         point, and <FU300> means "move forward 3 points," while for
         the 20-point font, there are 50 units per point, and <FU300>
         means "move forward 6 points").
           Units also are convenient because of their small size
         relative to text point size, allowing extremely fine
         adjustments in character placement.

         18.7. SCREEN FONTS

           Consider the characters as represented on the drawing
         screen when you set a text block by pressing F5. The default
         setting for how the characters are shown is "text," meaning
         that each character on the drawing, view, and Quickshow
         screens is shown using a screen font: an APPROXIMATION to the
         actual PostScript output (of course, because of the low
         resolution of four-color CGA video, some characters are shown
         VERY approximately!); however, the POSITION and WIDTH of each
         character, if not always its FORM, are shown quite
         accurately. PictureThis Release 3 screen fonts are vector-
         mapped, not bit-mapped, so they can be scaled as needed.
           To change the setting for how characters are shown, press
         J (mnemonic: "jabber"), which cycles among the following
         settings: "text" on drawing, view, and Quickshow screens (the
         default, as described above); "greeked" (text represented by
         dotted ascender lines (showing the height of h's and k's) and
         baselines) on drawing, view, and quickshow screens; and
         "greeked" on drawing and view screens, but "text" on the
         Quickshow screen. Drawing is slower with the "text" setting
         than with the "greeked" setting, but, of course, the former
         provides more information.
           Standard-encoding PostScript fonts (those sometimes
         referred to as having an "International" character set) shown
         with the "text" (screen font) setting all are represented
         with the same simple "block character" screen font (adjusted,
         of course, to show correct character widths), and that screen
         font is SLANTED (at 10 degrees, unless the font has been
         slanted with the MODFONT.EXE utility program, as described in
         Section 18.10) for italic fonts and DOUBLE-WRITTEN for bold
         fonts.
           With the "text" setting, if the appropriate screen font
         files (STANDARD.SFT, SYMBOL.SFT, and/or ZAPFDB.SFT) cannot be
         accessed by PictureThis or do not fit in available memory,
         characters are represented as boxes; each box extends from
         the baseline to the ascender height (actually, an APPROXIMATE
         ascender height for the Symbol and ZapfDingbat fonts, since
         their AFM files don't provide "official" ascender heights)
         and has the width of its character. Boxes also are used in
         screen fonts when a character has a valid width (in the
         font's width file), but there is no corresponding screen
         character in the screen font file (an example is given by the
         Symbol font, in which the character associated with Alt 240
         prints as a (trademark) apple-with-a-bite-out-of-it on a few
         PostScript printers (you can guess which ones!), but as
         NOTHING on other PostScript printers; the Symbol font width
         information file FONT81.FIN on one of the PictureThis
         distribution disks includes a width for the character, since
         it is given in the Symbol AFM file, but we decided, given the
         extremely litigious stance of a certain computer company with
         respect to its intellectual properties, NOT to make an apple

                                                                          66
         screen character in the screen font file SYMBOL.SFT -- thus,
         a box, not an apple, appears on the drawing screen). You can
         see what your PostScript-compatible printer shows as the
         character associated with Alt 240 by sending the file
         ENCODING.PS, included on one of the distribution disks, to
         the printer.
           The Symbol and ZapfDingbat fonts have their own special
         screen fonts, since their encodings are special. Drawing
         files showing the standard, Symbol, and ZapfDingbat screen
         fonts (at 50-point size) are on one of the PictureThis
         distribution disks, as listed below.

         FILE NAME              FONT(S)
         STANDARD.DRW           standard-encoding
         SYMBOL.DRW             Symbol
         ZAPFDBLO.DRW           ZapfDingbats (typewriter keys:
                                  [space] through ~)
         ZAPFDBHI.DRW           ZapfDingbats (high-order keys: Alt 161
                                  through Alt 254)

           If, when setting text, you see the error message "NOT
         ENOUGH MEMORY TO DRAW TEXT," press any key and then press D
         (redraw screen). Redrawing frees up some memory. If during
         redrawing you still get the error message, then save the
         drawing, quit PictureThis, and try again with a higher memory
         configuration for the program (see Section 29). An
         alternative when memory is low is to "greek" the text, using
         the J key. "Greeked" text requires significantly less memory
         than does text shown with screen font characters. (You can
         still use the "jabber" setting that shows the characters on
         the Quickshow screen, since these use no memory.)

         18.8. CUTTING TEXT BLOCKS FOR RE-EDITING

           Now that you can put text on the drawing screen, what if
         you want to edit it again? The text menu (accessed via F8)
         allows (prompted) deletion of entire text blocks, but if you
         have less drastic editing in mind, press C (for "cut") at the
         edit menu. The cursor STAYS WHERE IT IS, the text (or
         greeking lines) of a nearby block become dashed (if on the
         screen), and an information box containing the text
         parameters of the dashed text block appears at the bottom of
         the screen. To edit the dashed block, press Enter; the text
         is "cut" from the drawing, and placed back in the editor. If
         you want to edit a different text block, press + (same as
         Space) and/or - to cycle through all of the text blocks on
         the drawing, then choose one with Enter. The chosen text is
         returned to the editor, as you can see by pressing E or Enter
         or F8.
           If there already was text in the editor, then the cut text
         goes AHEAD OF it, and a "quit set text" marker is placed
         between the cut text and the original text (this allows you
         to quickly remove, edit, and replace text without affecting
         existing text in the editor). WARNING: IF THE CUTTING
         OPERATION BRINGS IN MORE TEXT THAN THE EDITOR SCREEN CAN
         HOLD, THE END OF THE EXISTING TEXT IS LOST IRRETRIEVABLY!
         Note: An easy way to move existing text blocks around is to
         place the cursor where you want a text block to start, cut
         the text block from its old position, enter the editor, and

                                                                          67
         press F5 to set the text block at the new position.
           During the cutting operation, if the cut text block has a
         different margin than the current margin, you are asked
         whether you want to change the current margin to that of the
         cut block; if the cut text block has different text
         parameters than the current ones, you are asked whether you
         want to change the current parameters to those of the cut
         block.

         18.9. TRANSFORMING TEXT BLOCKS

           In PictureThis Release 3, text blocks can be treated as
         objects: they can be subjected to any of the operations
         accessed via the object menu, including grouping with other
         objects (text blocks and/or trails), ungrouping, erasing,
         layering, moving, copying, scaling, rotating, flipping, and
         inclining. Use the object menu (via F7, see Sections 16 and
         17) to perform any of these operations on any text block
         which has its beginning on the current drawing screen. Also
         note that text blocks can be saved (as objects) as clip art,
         for importing into other drawings.
           After a text block has been moved, copied, scaled, rotated,
         flipped, and/or inclined (several operations can be performed
         in succession), it has a new margin appropriate to the
         transformation(s) applied to it -- in other words, you can
         end up with non-rectangular margins! The old margin is
         DELETED, unless it happens to be the default margin or the
         current margin.
           Because the scaling, rotating, flipping, and inclination
         operations generally result in altered text size, shape,
         and/or orientation, not just altered position, when text
         transformed by any of these operations is cut back to the
         editor, "TRANS" appears at the lower left of the editing
         screen to remind you that the editor's counting applies to
         the text as it was PRIOR to being transformed. Yes, you can
         still edit an upside-down, rescaled, inclined, and even
         flipped (so the letters are backwards!) text block -- but
         what you see in the editor will most definitely NOT be what
         you get on the drawing! The editor's "counting" WILL be
         PROPORTIONAL to the transformed result's dimensions, since
         all of the transformations are linear. Enough said. You can
         "play around" with transformations to discover exactly what
         all of this REALLY means, if you want. We do recommend that
         you spend at least a few minutes trying out text block
         transformations prior to trying them in a "real" drawing.
         That way, (most of) the surprises you find (when what you
         thought would happen DOESN'T!!) will be more instructive than
         catastrophic.
           Finally, note that DRAWINGS WITH TEXT CANNOT BE SCALED VIA
         THE MISCELLANEOUS MENU. If you try, you'll get an error
         message. Sorry, but we don't think users would enjoy working
         in fractional text point sizes! It is sometimes important to
         scale a drawing to the desired dimensions BEFORE adding any
         text (see Section 22.2). DRAWINGS WITH TEXT STILL CAN BE
         SCALED WHEN AN ENCAPSULATED POSTSCRIPT FILE IS WRITTEN.

         18.10. MODIFICATION OF FONTS

           The MODFONT.EXE utility program (included on one of the

                                                                          68
         distribution disks) allows you to begin with a particular set
         of "old" font information files (previously made with
         AFMTOPT.EXE (see Section 18.1), and having an identification
         number between 1 and 9999), and make a new set of font
         information files with various modifications (also having an
         identification number between 1 and 9999, which can be the
         same as that of the files to be modified, in which case the
         new files WRITE OVER the old files WITHOUT WARNING). The new
         font information files are written to the directory
         containing the old font files.
           Using MODFONT.EXE is self-explanatory. You can use the
         program to create modified fonts with any combination of the
         following:
           1. Characters slanted between -60 (counterclockwise) and
         +60 degrees (clockwise) from vertical, with the same height
         as the unmodified font characters. The slant angle is shown
         on-screen when "text" is toggled on (see Section 18.7); this
         slant angle does NOT add to the default 10 degree slant angle
         when an italic font is slanted.
           2. Outlined characters with the (black) outline thickness
         adjustable between 0 and 100 units. Note: Because of the way
         the PostScript language specifies outlined characters, a
         "limitcheck" error can occur if you attempt to print several
         outlined characters in sequence; a workaround is to make sure
         that there is a typesetting code (even one that effectively
         does nothing) after every few words having outlined
         characters. Also because of PostScript idiosyncracies, you
         cannot use non-zero track kerning (see Section 18.6) with
         outlined characters -- you'll see an error message if you
         attempt this. One use of outlined characters is to make
         bolder than normal characters (with text gray = 100%); too
         bad track kerning can't be used with these characters to
         space them a bit further apart!
           3. Width of characters = 0.1 to 10 times base width
           4. Altered default settings for superscript character
         point size (1 to 100% of normal point size -- if you don't
         alter this, it is 70%) and for superscript character baseline
         position (0 to 100% of normal point size above the normal
         baseline -- if you don't alter this, it is 50%).
           5. Altered default settings for subscript character point
         size (1 to 100% of normal point size -- if you don't alter
         this, it is 70%) and for subscript character baseline
         position (0 to 100% of normal point size below the normal
         baseline -- if you don't alter this, it is 20%).
           6. Altered default settings for positioning of parts of
         accented (composite) characters.

         19. FILE OPERATIONS AND DOS SHELL

           All file input/output operations and the "shell" to the
         operating system are accessed by pressing F10. The state
         changes to "FILES," and a menu appears at the top of the
         screen, with eight options: GetDRW, SaveDRW, ImportCLP,
         ExportCLP, ReadTMP, WriteEPS, DOS, and UseDAT.

         19.1. GETTING A SAVED DRAWING

           At the file menu, the GetDRW option (for retrieving a
         PictureThis-format drawing file previously saved with the

                                                                          69
         SaveDRW option (see Section 19.2)) is accessed by pressing G.
         A prompt appears at the top of the screen. The first line of
         this prompt states: "Enter filespec for DRW retrieval." The
         second line is a file specification using your current
         directory as the path, "*" for the filename and "DRW" for the
         file extension. (We strongly recommend using the file
         extension "DRW" for your drawing files.) If you press Enter,
         you see a directory list of all files matching the
         specification in the second line of the prompt. Press the
         cursor keys to highlight the drawing file which you want to
         retreive. Press Enter and that file is retrieved.
           If you want to view the directory for a different file
         specification, instead of pressing Enter at the file
         specification prompt, key in the desired file specification
         (with a "*" or "?" to indicate a "wild card").
           If you want to retrieve a specific file without viewing the
         directory, key in the filename (with extension and the
         appropriate path specification if necessary) of a drawing
         file saved previously with the SaveDRW option, then press
         Enter. PictureThis saves the path you enter and uses it as
         the path for your next drawing retrieval.
           Within a short time, the saved drawing should appear. If
         not, pay heed to any error messages and try again. Note:
         Drawings saved using PictureThis 1 or 2 are retrieved
         correctly. Your current drawing is cleared when you bring in
         a new drawing; SAVE THE OLD DRAWING FIRST IF YOU DON'T WANT
         TO LOSE IT.

         19.2. SAVING A DRAWING

           At the file menu, the SaveDRW option (for saving the
         current drawing to disk for subsequent use in PictureThis) is
         accessed by pressing S. If you have previously retrieved or
         saved a drawing, a prompt appears asking if you want to use
         the most recent file specification. If you answer Y, the
         current drawing is saved with the file specification shown.
         If you answer N, or if you have not previously retrieved or
         saved a drawing, a different prompt appears at the top of the
         screen. The first line of this prompt states: "Enter filespec
         for DRW save." The second line is a file specification using
         your current directory as the path, "*" for the filename, and
         "DRW" for the file extension. (We strongly recommend using
         the extension "DRW" for your drawing files.) If you press
         Enter, the screen changes to a directory list of all
         files matching the specification in the second line of the
         prompt. Press the cursor keys to highlight the drawing file
         specification which you want to save the current drawing as
         and press Enter. The current drawing is saved with the
         selected specification.
           If you want to view the directory for a different file
         specification, instead of pressing Enter at the file
         specification prompt, key in the desired file specification
         (with a "*" or "?" to indicate a "wild card").
           If you want to save your drawing file with a particular
         specification without viewing the directory, at the file
         specification prompt, key in the desired specification (with
         extension and the appropriate path if necessary), then press
         Enter. PictureThis saves the path you enter and uses it as
         the path for the next drawing retrieval or save. If a file

                                                                          70
         with the specification which you keyed in already exists, a
         prompt appears, asking if you want to write over the existing
         file. If you do, press Y; if not, press N and you will be
         able to enter a different file specification.
           The saved drawing includes all of the curves and text
         blocks on the current drawing, not just those curves and
         text blocks visible on the current screen. It also includes
         the trail, object, and drawing sequence information. Along
         with the actual drawing, the current frame (see Section
         22.1), the current units (see Section 20.1), the current grid
         (see Section 21.2), the positions of all noted points (see
         Section 23.1), the scale of the drawing (see Section 22.2),
         the slow and fast cursor speeds (see Section 21.1), the dash
         patterns (see Section 15.2), the margins (see Section 18.4),
         the text parameter sets (see Section 18.3), text block
         information (see Section 18.4), and the editor contents (see
         Section 18.5) are all saved. The file saved DOES NOT include
         template information. Try to save the file again if you get
         an error message (after attempting to correct the problem).
         Note: Saving a drawing deletes from the drawing file all
         erased curves, endpoints, trails, text blocks, and objects
         (which have been erased directly or by various other
         operations). This can be useful when memory limits are being
         approached (see Section 29). To free up some memory, save the
         drawing and bring it back in. WE RECOMMEND FREQUENT SAVING
         WHILE DRAWING, FOR SAFETY!!!

         19.3. IMPORTING CLIP ART

           At the file menu, the ImportCLP option (for importing into
         the current drawing a PictureThis-format clip art file
         previously saved with the ExportCLP option (see Section
         19.4) is accessed by pressing I. A prompt appears at the top
         of the screen. The first line of the prompt states: "Enter
         filespec for CLP retrieval". The second line is a file
         specification using your current directory as the path, "*"
         for the filename, and "CLP" for the file extension. (We
         strongly recommend using CLP as the file extension for your
         clip art files.) If you press Enter, you see a directory list
         of all files matching the specification in the second line of
         the prompt. Press the cursor keys to highlight the clip art
         file which you wish to import and press Enter. That file is
         retrieved.
           If you want to view the directory for a different file
         specification, instead of pressing Enter at the file
         specification prompt, key in the desired file specification
         (with a "*" or "?" to indicate a "wild card").
           If you want to retrieve a specific file without viewing the
         directory, key in the filename (with extension and the
         appropriate path specification if necessary) of a clip art
         file saved previously with the ExportCLP option, then press
         Enter. PictureThis saves the path you enter and uses it as
         the path for the next clip art retrieval.
           When a clip art file is retrieved, the previously saved
         clip art object is added to your current drawing (without
         endpoints) and the prompt "OK? (Y/N)" appears. If you are
         satisfied with the imported object, press Y; the object is
         drawn with endpoints, and the state returns to "FREE." (Note
         that the imported object is placed wherever it was on the

                                                                          71
         screen when it was exported. It can be moved easily (see
         Section 17.1).) If you are not satisfied with the imported
         object, press N in response to the prompt, and you can key in
         a different file specification.
           Notice that your current drawing is NOT cleared when you
         import a clip art object. The imported clip art object is
         placed at the front of the current drawing, but it can be
         relayered (see Section 16.4).

         19.4. EXPORTING CLIP ART

           While at the file menu, the ExportCLP option (for saving a
         clip art object to disk for subsequent importing into a
         PictureThis drawing) is accessed by pressing E. The cursor
         jumps to the closest initial point of an outermost object,
         trail, or text block, and that object is dashed. An
         instruction box appears ("Next: +, Space"/"Previous: -"/
         "Select: Enter").
           Press +, Space, and/or - repeatedly until the object which
         you want to save is dashed. Then press Enter. Pressing Esc
         returns the files menu. If only one object is available, it
         is chosen automatically.
           If you have previously retrieved or saved a clip art
         object, a prompt appears asking if you want to use the most
         recent file specification. If you answer Y, the selected
         object is saved with that file specification. If you answer
         N or you have not previously retrieved or saved a clip art
         object, a different prompt appears at the top of the screen.
         The first line of this prompt states: "Enter filespec for CLP
         save." The second line is a file specification using your
         current directory as the path, "*" for the filename, and
         "CLP" for the file extension. (We strongly recommend using
         the extension "CLP" for your clip art files.) If you press
         Enter, you see a directory list of all files matching the
         specification in the second line of the prompt. Press the
         cursor keys to highlight the desired clip art file
         specification and press Enter. The selected object is saved
         with the selected specification.
           If you want to view the directory for a different file
         specification, instead of pressing Enter at the file
         specification prompt, key in the desired file specification
         (with a "*" or "?" to indicate a "wild card").
           If you want to save the selected object as with a
         particular file specification without viewing the directory,
         key in the filename (with extension and the appropriate path
         specification if necessary), then press Enter. PictureThis
         saves the path you enter and uses it as the path for the next
         clip art retrieval or save. If the file with the
         specification which you keyed in already exists, a prompt
         appears asking if you want to write over the existing file.
         If you do, press Y; if not, press N and you will be able to
         enter a different file specification.

         19.5. READING A TEMPLATE FILE

           At the file menu, the ReadTMP option (for retrieving a
         template previously captured with the CaptureThis or
         Alternate CaptureThis programs, as discussed in Section 26.1)
         is accessed by pressing R. A prompt appears at the top of the

                                                                          72
         screen. The first line of this prompt states: "Enter filespec
         for TMP retrieval." The second line is a file specification
         using your current directory as the path, "*" for the
         filename and "TMP" for the file extension. (We strongly
         recommend using the file extension "TMP" for your template
         files.) If you press Enter, you see a directory list of all
         files matching the specification in the second line of
         the prompt. Press the cursor keys to highlight the template
         file which you want to retreive and press Enter. That file
         is retrieved.
           If you want to view the directory for a different file
         specification, instead of pressing Enter at the file
         specification prompt, key in the desired file specification
         (with a "*" or "?" to indicate a "wild card").
           If you want to retrieve a specific file without viewing the
         directory, key in the filename (with extension and the
         appropriate path specification if necessary) of a template
         file saved previously with CaptureThis or Alternate
         CaptureThis program, then press Enter. PictureThis saves the
         path you enter and uses it as the path for the next template
         retrieval.
           The template is placed at the center of the 50% screen
         unless a previous template was moved. Templates can be moved
         around the screen easily (see Section 26.2).

         19.6. WRITING A POSTSCRIPT FILE

           At the file menu, the WriteEPS option (for saving an
         encapsulated PostScript file to disk for subsequent delivery
         to a laser printer, imagesetter, or page layout program) is
         accessed by pressing W. PictureThis allows a great deal of
         flexibility in specifying how PostScript output appears. One
         or multiple ("tiled") pages are allowed. The printed drawing
         can be small or large, and it can be scaled irregularly.
         Also, the drawing can be placed anywhere on the page, in
         "portrait" or "landscape" orientation (see below). To specify
         these parameters, several prompts appear in succession. These
         prompts all have current values which are acceptable in many
         cases. If the current value is acceptable for a prompt,
         just press Enter. Changes to any parameter are made by typing
         a new value in. Esc backs out to the previous prompt (with
         its current value), so you can reset a parameter without
         starting from the beginning.
           When you press W at the file menu, a query appears: "Use
         current settings? (Y/N)." If you press Y, ALL current
         settings (see below for descriptions of each type of setting)
         are used for saving an EPS file, and a prompt for a file
         specification appears. The default current specification is
         *.EPS in the current directory. We strongly recommend that
         you use the extension "EPS" for PostScript files created
         using PictureThis -- some desktop publishing programs REQUIRE
         this extension to read an EPS file. If you previously saved
         an EPS file, the current specification is that of the last-
         saved EPS file. Either press Enter to see a list of files
         matching the current specification and then move the block
         cursor to the desired filename and press Enter to use it for
         saving, or key in a new specification and press Enter to use
         it for saving. Pressing any key (INCLUDING Esc) other than Y
         at the use current settings query shows the first in a series

                                                                          73
         of prompts which allow changes to each setting, as described
         below.
           The first four prompts request information about the size
         and margins of the physical page on which you are printing.
         Initially, the size is set to 8.5 inches by 11 inches, and
         the margins are set to .25 inches all around. It is important
         to note that changing these parameters does NOT alter your
         output device (printer or imagesetter) to accept a different
         size paper or have different margins; those adjustments must
         be done independently, and the procedures vary with output
         device (see your output devive owner manual for more
         information). PictureThis uses the parameters to position
         drawings on individual pages, and to determine the printing
         area for multiple page drawings. The initial settings are
         acceptable in many cases, even if the margins of the printer
         you are using are slightly different. If you change any of
         these four parameters, the new values remain for the rest of
         your PictureThis session, unless they are changed by
         accessing the prompts again.
           Next a menu appears showing the current orientation
         (Portrait (the default) or Landscape). Press Enter to accept
         the current orientation or P or L to change it. "Landscape
         orientation" means that the printed output has the drawing's
         WIDTH (WHETHER OR NOT IT IS LONGER THAN THE DRAWING'S HEIGHT)
         oriented PARALLEL to the paper's height. The WIDTH direction
         always corresponds to the HORIZONTAL direction on your
         monitor screen, and the HEIGHT direction always corresponds
         to the VERTICAL direction on your monitor screen. "Portrait
         orientation" means that the drawing's WIDTH is oriented
         PARALLEL to the paper's width. See the diagrams below.

            LANDSCAPE ORIENTATION           PORTRAIT ORIENTATION
            _____________________           _____________________
           | _________           |         | _____________       |
           ||         |          |         ||             |      |
           ||         |          |         ||             |      |
           ||         |          |         ||   DRAWING   |___   |
           || DRAWING |          |         ||             |  /   |
           ||         |______    |         ||_____________| /    |
           ||         |     /    |         |    \          /     |
           ||_________|    /     |         |   WIDTH   HEIGHT    |
           |    \         /      |<-PAGE   |                     |
           |  HEIGHT    WIDTH    |  EDGES->|                     |
           |                     |         |                     |
           |                     |         |                     |
           |                     |         |                     |
           |                     |         |                     |
           |_____________________|         |_____________________|


         NOTE: DRAWING WIDTH IS USUALLY, BUT NOT NECESSARILY, LONGER
         THAN DRAWING HEIGHT.
           The next prompt requests the drawing width in inches. The
         first line of this prompt shows the current drawing width.
         Initially, it is set from your drawing's frame (see Section
         22.1) and scale (see Section 22.2). (Remember that parts of
         your drawing outside of the frame do NOT print.) If you have
         not changed the frame or the drawing's scale, the width is
         8.00 inches. If you want to change the drawing's width, key

                                                                          74
         in a new value greater than 0 inches and less than 7500
         inches. Obviously, you seldom will want to scale the drawing
         near either of the two extremes! If you do change the width
         of the drawing, another prompt appears: "Scale line weights
         with width? (Y/N)";  otherwise, a box with instructions for
         changing the height appears (described in the next
         paragraph). Scaling line weights means that the thicknesses
         of curves on the printed output are scaled proportionally to
         the width; they have the values assigned when they were
         originally drawn if the width setting is not changed. To
         scale line weights with width, press Y. To use the line
         weight values originally assigned when the curves were drawn,
         regardless of width setting changes, press any other key.
           Next, another prompt appears, requesting you to set the
         height of the drawing. The first line of the prompt ("Height
         if scaled uniformly: XXX.XX"), shows the height of the
         drawing if it is scaled uniformly with the current width.
         (This depends on the drawing's frame (see Section 22.1) and
         the aspect ratio (see Section 24).) If you want to change
         the height setting for the printed drawing output (thus
         altering the proportional scaling of width to height), key in
         a new height. (Note: if you come back to this prompt via one
         or more presses of Esc or if you accept the current width in
         the previous step, the first line changes to "Current height
         of drawing:" followed by the height which you entered or
         accepted previously.) (Note that the drawing width and height
         are not saved as such, rather, a scale factor is saved for
         each, relating the default width/height to the entered
         width/height. Thus, if you change the frame or rescale the
         drawing between EPS saves, the new width/height is its scale
         factor times the width/height of the frame. If you don't
         change the frame or scaling, the width/height doesn't
         change.)
           The next two prompts allow you to specify where the top
         left corner of the drawing's frame will appear on the paper.
         The first prompt requests the "horizontal indent": how far
         the left edge of the drawing's frame will be from the left
         edge of the paper. The initial value is the left margin of
         the paper (as set above). You can change this value to be
         anywhere between the left and right margins. The second
         prompt requests the "vertical indent": how far the top edge
         of the drawing's frame will be from the top edge of the
         paper. The initial value is the top margin of the paper (as
         set above). You can change this value to be anywhere between
         the top and bottom margins. (Note that if you indent too
         much, a drawing which normally would fit on one page extends
         to two or four pages.)
           From the settings, PictureThis calculates how many physical
         pages will be required for the drawing. If the result is more
         than one page, two more prompts appear. The first prompt asks
         if you want to overlap the page margins. If you answer Y, the
         separate page outputs have a .25 inch overlap -- the last 1/4
         inch of the page also is the first 1/4 inch on the next page,
         both horizontally and vertically. If you press any other key
         (except Esc), there is no overlap. Experiment to find which
         method is preferable for assembling multiple page drawings.
         After this prompt is answered, another prompt appears stating
         how many pages wide and high your output will be. It also
         warns you that the file to be saved is NOT an Encapsulated

                                                                          75
         PostScript file. Only drawing outputs fitting on a single
         page are made into EPS files which can be incorporated into
         other programs. Drawings requiring multiple pages are simple,
         but not Encapsulated, PostScript programs which can be sent
         to PostScript-compatible printers. (Of course, you can make a
         single-page EPS file from any drawing, by proper scaling.)
         Now you are asked if you want to continue. If the number of
         pages is satisfactory, press Y. Otherwise, press any other
         key, and you will be taken back to the drawing width prompt,
         so you can respecify the parameters.
           Finally, a prompt for the specification for the file to be
         saved appears. If you have previously saved an EPS file in
         the current PictureThis session, you are asked if you want to
         use the last entered file specification. If you answer Y,
         that specification is used. If you answer N, or if you are
         saving an EPS file for the first time in this PictureThis
         session, you see a prompt asking you to enter a file
         specification. The second line of this prompt is a file
         specification with the current directory, "*" for the
         filename, and "EPS" for the extension. (We strongly recommend
         using the extension "EPS" for Encapsulated PostScript files
         created with PictureThis.) If you press Enter, a directory
         appears for the file specification on the second line. Use
         the cursor keys to move the block cursor, and press Enter
         when the filename which you wish to use is highlighted. If
         you press Esc, you back out to the previous prompt. To see
         the directory for a different "wild card" file specification,
         key in that specification at the file specification prompt;
         an appropriate directory appears. The new specification
         becomes the current specification for the next EPS file
         save. Alternatively, at the file specification prompt you can
         key in the desired filename (with an extension and the
         appropriate operating system path specification if necessary)
         for saving. If this file already exists, you are asked if you
         want to write over it. An Esc from the file specification
         prompt backs out ALL THE WAY TO THE FILES MENU.
           After the file specification is selected in one of the
         above ways, two more prompts appear. "Created by?" is the
         first. Key in an appropriate response, then press Enter (or
         just press Enter). "Title?" is the next prompt that appears.
         Key in a title for your drawing, and press Enter (or just
         press Enter). These last two prompt answers have no effect on
         your printed drawing. They are put in the "comments" section
         at the beginning of the file you are saving (along with the
         date of file creation, as indicated by the operating system
         clock); they sometimes are used by page layout programs to
         aid in file identification. Wait until disk activity has
         stopped before you continue. (If you get an error message,
         attempt to correct the problem, then try again.)
           Encapsulated PostScript files (EPSFs) produced by
         PictureThis contain only ASCII characters, so they can be
         viewed with the operating system "TYPE" command, and they can
         be edited with most word processing programs; also, they can
         be merged with other PostScript files (see Section 19.8),
         such as those produced by page layout programs (some of which
         have the ability to recognize EPSFs for positioning and
         scaling).
           If you know how to program in PostScript, you can modify
         the output by appropriate editing of the PostScript files.


MANUAL6.TXT


         PICTURETHIS(TM) "SHAREWARE" VERSION

         RELEASE 3.00

         MAY 15, 1990

         USER MANUAL, PART 6 OF 7 PARTS


         Copyright 1988, 1989, 1990 by Patricia Y. Williams and
           Gregory Williams, All Rights Reserved.

         HortIdeas Publishing, Route 1, Box 302, Black Lick Road,
           Gravel Switch, KY 40328 U.S.A.


         19.7. SHELLING TO DOS

           PictureThis allows you to "shell" to DOS, so you can use
         the normal DOS facilities WITHOUT a "normal" exit from
         PictureThis. At the files menu, press D. When you do this,
         one of two error messages might appear. If the valid
         COMMAND.COM file is not in the current directory or in a path
         specified in your COMSPEC specification (see your DOS manual),
         you get an error message, and you aren't allowed to shell to
         DOS. If COMMAND.COM is found, but there is insufficient
         memory to shell, you get an different error message, and you
         aren't allowed to shell to DOS.
           If no problems are encountered, the DOS prompt appears, and
         you can carry out normal DOS functions. (But note that the
         PictureThis program is still taking up a considerable amount
         of memory!) When you want to return to PictureThis, at the
         DOS prompt, key in "EXIT" (or "exit"), then press Enter.
         PictureThis reappears in the "FREE" state.

         19.8. PLOTTING DATA FROM A FILE

           This feature allows two-dimensional plotting of data
         points, using numerical data files. Point or line plots can
         be made, and (assuming that there is sufficient memory),
         objects can be copied to some of the points. Axes, labels,
         notes, etc., can be added to plots as desired.
           We recommend the file extension .DAT for data files used
         with PictureThis. Such data files must be in pure-ASCII
         format (capable of being edited by a text editor or word
         processor in "non-document" or "non-formatted" mode), with
         the following characteristics:
           1. Each line must end with a carriage return and a line
         feed.
           2. Each "comment" line must begin with an equals sign
         (=). Such lines are ignored by PictureThis. Any line
         containing only a carriage return and a line feed also is
         ignored.
           3. Each data line must contain alphanumeric strings
         (fields) separated by these delimiters: space (" "), tab (^I,
         "        "), comma (","), semicolon (";"), colon (":"), or
         dollar sign ("$"). Between any two fields, there can be a
         single instance of the one of the above delimiters, preceded
         and/or followed by one or more spaces. A data line can begin

                                                                          77
         with one or more spaces, but there must not be any other
         delimiter before the first field.
           4. Only numeric strings can be parsed by PictureThis for
         plotting. Attempts to use non-numeric strings for plotting
         will produce error messages. A valid numeric string can begin
         with a plus sign ("+"), a minus sign ("-"), a decimal
         point/period ("."), or a digit ("0" through "9"). It can have
         several digits (and a decimal point if necessary) in its
         mantissa (just how many digits, we're not sure; we do know
         that a 15-digit mantissa works fine), then an exponent (power
         of 10) beginning with "E" (same as "e") or "D" (same as "d"),
         and followed by a plus sign, a minus sign, or a digit. The
         exponent must be an integer. There must not be a space
         between the mantissa and the exponent. Acceptable numbers
         are between -1.7E308 and 1.7E308. A number with absolute
         value less than about 1E-45 is turned into zero.
           The next few paragraphs follow the steps in the plotting
         procedure; in general, you can press Esc to back out
         (usually, but not always, to the previous step).
           Assuming that PictureThis can access a valid data file (two
         such files are provided on one of the distribution disks:
         TEST1.DAT and TEST2.DAT), access the file menu by pressing
         F10, then press U (for "UseDAT"). Key in a new path, if
         necessary, press Enter to see your choices, and select a
         file as usual, or key in a file name and press Enter.
           PictureThis plots a series of points (x,y) (possibly
         connected by lines) on the drawing screen, with x measured
         along the horizontal direction and y measured along the
         vertical direction. You can choose which field in each of the
         lines of the data file corresponds to x, and which
         corresponds to y. In other words, the data file is treated as
         being organized into "columns" of data. The default for x is
         the first field in each row. Press Enter to confirm the
         default, or key in a different field (up to 99). Or you can
         key in "0" to input your own (equispaced) x values; you'll be
         prompted for a starting x and an x increment. Next, choose
         which field corresponds to y; the default is the second
         field. You can key in "0" for the y field ONLY if you DIDN'T
         key in "0" for the x field. Again, if you specify a field
         which contains a non-numeric string in any line, you'll see
         an error message.
           You see how many (x,y)-pairs are in the data file and how
         many pairs can be plotted (as endpoints), given the existing
         memory capacity of PictureThis. You are asked to enter the
         number of the starting pair (press Enter to confirm the
         default: the first pair in the file). The ability to choose
         the starting-pair number is important when you want to plot
         more points than memory allows, as discussed below.
           One way to get around memory limitations and/or make a plot
         easier to read is by plotting only every nth pair in the data
         file. The default for n is 1 (no pairs are skipped). The
         maximum allowable value of n is the number of pairs in the
         file minus the starting-pair number minus one, so that a
         minimum of two pairs will be plotted. That is, they will be
         plotted in theory -- assuming that there is enough memory,
         and that none of the pairs lie outside the boundaries to be
         specified by you (see below).
           Next, you see the total number of points which can be
         plotted, taking into account current memory limits. Each

                                                                          78
         point plotted is one PictureThis curve. The number of points
         which can be plotted might not be as large as you want, but
         later, as explained below, you'll be able to make an EPS file
         with ALL of the data points you want to plot, regardless of
         memory constraints. An Enter accepts the default. Don't
         forget to leave some room in memory for non-plot curves
         (borders, tick marks, etc.) and text to be added later, if
         appropriate (such curves and text could be placed on a
         separate drawing and merged later; see below).
           If ALL of the x's in the data file (including those which
         won't be plotted "in theory") are greater than zero, then
         you're asked if the x-axis should be scaled logarithmically.
         Enter selects no logarithmic scaling. The same holds for
         logarithmic scaling of the y-axis.
           Now move the cursor to a position (XLOW, YLOW), such that
         all plotted x's are greater than or equal to XLOW, and all
         plotted y's are greater than or equal to YLOW (you'll be
         prompted to do this only if you have the help toggle set to
         "H+"). Press F3 to place a noted point and see the next two
         query boxes in turn: you can choose XLOW (the default is
         XMIN, the minimum x value in the data file) and then YLOW
         (the default is YMIN, the minimum y value in the data file).
         ANY (x,y)-PAIRS IN THE FILE WITH x LESS THAN XLOW OR y LESS
         THAN YLOW WILL NOT BE PLOTTED. Repeat cursor positioning and
         choice of values for (XHIGH,YHIGH). ANY (x,y)-PAIRS IN THE
         FILE WITH x GREATER THAN XHIGH OR y GREATER THAN YHIGH WILL
         NOT BE PLOTTED. PictureThis won't allow you to choose noted
         point positions or numerical values such that XLOW equals
         XHIGH or YLOW equals YHIGH.
           As noted above, data points can be plotted either as
         individual points (dots) or as lines connecting successive
         points. Plotted dots or lines are drawn as per current
         settings for weight, gray, linecap, dash, and join, as soon
         as you choose dots (press D) or lines (press L). (Dots will
         NOT appear on the Quickshow screen or PostScript output if
         they are dashed or if their linecap is not round.) Plotted
         lines automatically form a trail. Note that if the x's or the
         y's in the data file were not sorted in ascending or
         descending order, some of the lines might cross each other.
           The final report on plotting shows how many points actually
         were plotted -- note that data-file pairs lying outside the
         boundaries you specified were NOT plotted. Also reported is
         the number of the last pair actually plotted (not equal to
         how many points actually were plotted unless n was one, the
         starting pair was one, and no pairs read from the data file
         were outside the boundaries).
           NOTE: If, due to memory limitations, only SOME of the pairs
         in the file which you wanted to plot actually were plotted,
         you can save the current drawing and its EPS file, clear the
         screen, and plot more pairs on a second drawing, BEGINNING
         WITH THE LAST PAIR ACTUALLY PLOTTED AND USING THE SAME VALUES
         FOR n, XLOW, YLOW, XHIGH, YHIGH, AND DRAWING SCREEN
         PARAMETERS SUCH AS FRAME AND SCALING. This can be repeated as
         necessary, and then all of the resulting EPS files can be
         concatenated into a single file using a text editor or word
         processor which reads and writes pure-ASCII files. Before
         sending the consolidated file to a PostScript-compatible
         printer, you'll need to search for and remove the word
         "showpage" (which appears only once in each of the

                                                                          79
         concatenated files) IN ALL BUT THE LAST OF THE CONCATENATED
         files, and, if you used fonts which must be downloaded to
         your printer/typesetter, you'll need to make sure that ALL of
         the required fonts (specified at the end of each component
         file) are specified at the end of the consolidated file.
           You can use the noted points at opposite corners of the
         plotting boundary to help with positioning of axes and
         labels. You might want to draw a construction-line (-1
         weight) box connecting the noted points, then place scales
         along one or more of the box sides. We recommend the
         following procedure for adding scales: draw a vertical or
         horizontal scale of arbitrary size and position (possibly
         using a data file to aid positioning of tick marks --
         especially for a log scale), copy it so one point on the
         scale is where you want it, then scale it so a second point
         is where you want it.
           Since all plotted dots and lines are PictureThis curves,
         they can be manipulated in many ways. In particular, you can
         use plotted endpoints as positioning elements for other
         curves. If plotted dots/lines are construction lines, they
         won't show up in the final output. Provided that there is
         enough memory available, you can copy objects (for example,
         special plotting symbols, text characters, or even complex
         drawings) on top of plotted points (so each resultant plotted
         "point" could be, say, a 50%-gray diamond with a cross in it,
         or a 10-point "3" set in Palatino Italic, or a fancy logo).
         This is via automatic multicopying of objects to points on
         the plot (see Section 17.7). The plot must be a series of
         lines (automatically forming a trail) for multicopying.

         20. UNITS AND POSITION BOXES

           PictureThis allows you to specify the units you want to
         work in. When PictureThis is loaded, the units initially are
         PostScript points (1 PS point = 1/72").
           PictureThis has two position boxes to tell you the distance
         of the cursor from the corner of the frame and the relative
         position of the cursor to some previously specified point.

         20.1. CHANGING THE CURRENT UNIT

           To change the current unit, press F9. The state changes to
         "MISC," and the miscellaneous menu appears. To change the
         current unit, press U. The unit menu appears. The first
         element in the menu shows the current units (abbreviated). To
         choose new units, press X for pixels ("PX"), I for inches
         ("IN"), P for picas and points ("PP"), T for points ("PT"),
         C for centimeters ("CM"), or M for millimeters ("MM"). (A
         (PostScript) point is EXACTLY 1/72"; a (PostScript) pica is
         12 points or EXACTLY 1/6".) If the chosen units are NOT
         pixels, you see a further prompt asking if you want to
         measure from the top or the bottom of the frame (the
         horizontal measurement is always from the left edge of the
         frame, positive from left to right). Pixels always are
         measured from the top of the frame (positive downward). Press
         T if you want to measure the vertical units from the top of
         the frame (positive downward), B if you want to measure from
         the bottom of the frame (positive upward). The "FREE" state
         returns, and measurements in the position boxes are in the

                                                                          80
         new units. If you have toggled on the status box (see Section
         4.3), the current units (abbreviated) appear as the rightmost
         element in the box.
           Not only are the measurements shown in the current units,
         but also the cursor moves in increments related to the units.
         If the units are pixels, the cursor moves in pixels (the
         CGA screen is 320 pixels horizontally and 200 pixels
         vertically): either 1 pixel or 10 pixels. The cursor moves
         the same distance when a particular cursor key is pressed at
         any magnification, but it moves different distances for a
         cursor press in the horizontal direction than in the vertical
         direction, because CGA screen pixels are not square.
           For units other than pixels, the cursor moves in "real-
         world" units (or a multiple of real-world units), so the
         actual movement depends on the current magnification (see
         Section 6.1), scale (see Section 22.2), and aspect ratio (see
         Section 24). So, for one cursor press, the cursor moves 24
         times as far on the 2400% screen, 12 times as far on the
         1200% screen, six times as far on the 600% screen, three
         times as far on the 300% screen, and one-half as far on the
         50% screen as it moves on the 100% screen. The cursor
         movement for one cursor press at a cursor speed of 1 is shown
         in the following table.

         UNIT            CURSOR MOVEMENT INCREMENT

         inches          1/100 inch
         points          1 PostScript point (1/72")
         picas & points  1 PostScript point (1/72")
         centimeters     1/10 cm (1 mm)
         millimeters     1 mm

         If the (fast or slow) cursor speed is changed (see Section
         21.1), one cursor press will move the cursor n times the
         "cursor movement increment" in the above table, where n is
         the cursor speed.

         20.2. CURRENT POSITION BOX

           The current position box is toggled on by pressing P. (If
         you press P again, the relative position box also is toggled
         on (see Section 20.4). A third press turns both boxes off.)
           The current position box appears at the lower right corner
         of the screen; it contains two numbers. The left number is
         the horizontal distance of the cursor from the left edge of
         the frame, specified in the current units; the right number
         is the vertical distance of the cursor from the frame origin
         (top or bottom (see Section 22)), also specified in the
         current units. (Unless the current units are pixels, in which
         case the position box numbers are in "internal units" (see
         Section 20.3).) If the current units are picas and points,
         the numbers are displayed as XXX&YY, where XXX is picas and
         YY is points (example: 12&11 means 12 picas and 11 points;
         remember, 1 pica equals 12 points).

         20.3. INTERNAL UNITS

           PictureThis saves the position of the cursor and all
         elements of drawings in "internal units" (ius). These are

                                                                          81
         integer values, so most internal calculations use integers
         instead of floating point numbers (making the calculations
         faster and the drawing files smaller). Ius are smaller than
         pixels on all screens except the 2400% screen (where each
         pixel corresponds to an iu), and this allows both extremely
         high resolution in the final output and precise cutting,
         smoothing, and object manipulations (scaling, rotation,
         etc.).
           You also can move the cursor in internal units for
         extremely fine cursor placement. To move in internal units,
         press I. The cursor now moves in 1 or 10 internal unit
         increments. To return to "external units," press I again. The
         fourth character from the right in the status box is an "I"
         if the cursor is moving in ius; it is an "E" if the cursor is
         moving in external units; it is a "G" if the grid is active
         (see Section 21.3)). The number following this indicator is
         the current cursor speed. When "I" is toggled, the numbers in
         the position box still are in the current units.

         20.4. RELATIVE POSITION BOX

           The relative position box gives information about the
         position of the cursor RELATIVE to a previously set point
         (which depends on the current state). It can be toggled on
         when the current position box is on by pressing P, and it can
         be toggled off again (along with the current position box) by
         pressing P again. (P is a 3-way toggle.)
           There are four standard components of the relative position
         box: horizontal difference, vertical difference, distance,
         and angle (measured in degrees clockwise from a (conceptual)
         horizontal line extending to the right of the previously
         specified point). These numbers all are expressed in the
         current units. (The distance for pixels is expressed in
         HORIZONTAL internal units; one vertical iu is NOT as long as
         one horizontal iu!) The previously specified point for each
         state is as shown in the following table.

         STATE     POINT MEASURED FROM

         LINE      first endpoint
         CURVE     endpoint associated with current control point
         CHANGE    endpoint associated with current control point
         BOX       original box corner
         SQUARE    original square corner
         OVAL      center of oval
         FRAME     original frame corner
         GRID      current grid origin
         MOVE      start point
         COPY      start point
         SCALE     anchor point until "F2"
         ROTATE    anchor point until "F2"
         FLIP      1st flipline point
         MEASUR    point at which you pressed "M"
         TMPMOV    start point
         USEDAT    (XLOW,YLOW)

         For states not included in the above table, the relative
         position box is empty.
           There are three special relative position box values. If

                                                                          82
         the relative position box is on while scaling an object,
         after you press F2 to set the 100% scaling line, the
         horizontal and vertical scale factors are shown (see Section
         17.3). During rotation of an object, the rotation angle is
         shown (see Section 17.4), and during inclination of an
         object, the inclination angle is shown (see Section 17.6).
           Note: The information displayed in the relative position
         box is calculated using floating point calculations for all
         units. If you do not have a math coprocessor, calculations
         are slower when the relative position box is toggled on. If
         you are not using the information, toggle the box off for
         more speed.

         21. CURSOR SPEED AND THE GRID

           Cursor movements can be changed in two more ways. The slow
         and fast cursor speeds can be changed, and the cursor can be
         restricted to snap-to a user-settable grid.

         21.1. CHANGING THE SLOW AND FAST CURSOR SPEEDS

           The cursor can move at either one slow cursor speed per
         press or at one fast cursor speed per press. You can toggle
         between these two speeds with the Ins key. The slow and fast
         cursor speeds are initially set to 1 and 10 cursor increments
         (as specified in the table in Section 20.1, e.g., 1 and 10
         points) but can be changed to any value from .1 to 99.9
         (except if the current unit is pixels). To change the cursor
         speeds, press F9 to get to the miscellaneous menu. Then press
         C. A prompt appears with the current fast cursor speed shown
         on its first line. To change the fast cursor speed, enter a
         different value. You can then change the slow cursor speed
         similarly. The next-to-last element of the status box is the
         current cursor speed.

         21.2. SETTING THE GRID

           The cursor can be constrained to move on a user-settable
         grid. To set the grid, press F9 to get to the miscellaneous
         menu. Then press G. The state changes from "MISC" to "GRID,"
         and a prompt appears asking if you want to change the grid
         origin (the origin is a point which the grid goes through and
         other grid points are calculated from). The grid origin is
         initially set to be the top left corner of the initial frame,
         but it can be set to any on-screen point. (Note: Changing the
         frame does NOT change the grid origin.) If the current grid
         origin is satisfactory, press any key except Y or Esc. If you
         want to change the grid origin, press Y. A prompt appears (if
         "H+" is toggled): "Move then F3 to set grid origin," and a
         dotted line will be drawn from the current grid origin to the
         cursor. Move the cursor to a new grid origin (the dotted line
         will follow) and press F3. (Esc backs out to the prompt
         asking if you want to change the grid origin.)
           After you have established the grid origin (either by
         setting it or accepting the old one), a grid menu appears.
         The top line of this menu shows the grid parameters that you
         can change (the spacing of the grid, its form, and its
         color), and the word "Keep". The second line lists the
         current parameters.

                                                                          83
         21.2.1 CHANGING THE SPACING OF THE GRID

           To change the spacing of the grid, press S. A prompt
         appears, showing the current horizontal spacing of the grid
         in the current units (i.e., pixels, inches, etc.) and
         requesting that you enter a new horizontal spacing. (The
         initial spacing is one inch by one inch.) If the horizontal
         spacing is satisfactory, press Enter. If you want to change
         it, key in a new spacing in the current unit and then press
         Enter. (Pressing Esc backs out to the grid menu.)
           A new prompt appears, asking if you want square spacing.
         (Square spacing means that the distance in the horizontal and
         vertical direction are the same.) If you answer Y, the
         vertical spacing is calculated to be square, and the grid
         menu reappears with the new spacing in the second line. If
         you press any other key (except Esc), a prompt appears
         showing the current vertical spacing in the current unit, and
         requesting that you enter a new vertical spacing. Press Enter
         if the current vertical spacing is acceptable, or key in a
         new vertical spacing and press Enter. The grid menu reappears
         with the new horizontal and vertical spacings on the second
         line.

         21.2.2. CHANGING THE FORM OF THE GRID

           The grid can be invisible (its initial form), or it can
         show as dots on the screen at each grid point or as
         horizontal and vertical dotted lines intersecting at each
         grid point (mesh). To change the form of the grid, while in
         the grid menu, press F. A grid form menu appears. If you want
         the grid to be invisible, press N (for "None"). If you want
         the grid to appear as dots, press D. If you want the grid to
         appear as a mesh, press M. The grid menu reappears with the
         new form on the second line. Pressing Esc backs out to the
         grid menu with no change in form.

         21.2.3. CHANGING THE COLOR OF THE GRID

           The color of a visible grid can be any of four colors. To
         change the color of the grid, while at the grid menu, press
         C. A grid color menu appears. If you want the grid to show in
         the background color (sometimes useful with a template),
         press B. If you want the grid to show in the foreground color
         (the color in which curves and endpoints are drawn), press
         F. If you want the grid to be shown in one of the two
         template colors, press 1 or 2. The initial color is
         template1. The grid menu will reappear with the new color
         indicated. Esc backs out to the grid menu with no changes.

         21.2.4. SAVING THE GRID PARAMETERS

           To save altered grid parameters (including a new grid
         origin), press K (for "Keep") or Enter. The entered grid
         parameters become the current ones, the screen is redrawn
         with the new grid (even if invisible), and the state returns
         to "Free."
           If you press Esc while on the grid menu, any changes to the
         grid (including a new grid origin) are NOT saved, the state
         returns to "MISC," and the miscellaneous menu reappears.

                                                                          84
           The current grid parameters are saved with the current
         drawing (see Section 19.2), so when you retrieve a drawing,
         the grid is reset to that associated with the drawing.

         21.3. USING THE GRID

           The grid's main purpose is to restrict cursor movements to
         the grid points. To toggle on the snap-to grid, press G. The
         cursor moves to the nearest grid point (visible or
         invisible). If the status box is on, the third indicator from
         the left changes to "G." While the snap-to grid toggle is on,
         the cursor moves ONLY to grid points. Pressing a cursor key
         moves the cursor to the next grid point in the appropriate
         direction. Note: At high magnifications and large grid
         settings all of the grid points can be off-screen; the snap-
         to grid is automatically toggled off if you scroll to such a
         screen. The fast cursor speed toggle (Ins) and the internal
         unit movement toggle (I) have no effect while the snap-to
         grid is toggled on, except to change the cursor movements
         when the snap-to grid is toggled off again.
           While the snap-to grid is toggled on, the cursor will not
         move in any direction beyond the grid point closest to the
         edge of the screen in that direction. If you move the cursor
         off the grid by cursor movements not tied to the grid
         (finding endpoints, going to frame corners, etc.),
         PictureThis will check your position at the END of the
         movement, and automatically toggle the snap-to grid OFF if
         the cursor is not on a grid point.
           To toggle the snap-to grid off, press G again.

         22. CHANGING THE FRAME AND SCALING THE DRAWING

           The size and shape of the rectangular frame determines
         which portion of your drawing is printed (and shown on the
         Quickshow screen). This frame can be changed at any time. The
         scale of the frame in "real-world" coordinates can also be
         changed. This means that you can set the width or height of
         the frame to represent a different size in the current unit.
         A frame that is 8 inches wide can be set to 4 inches wide. It
         will still look the same on the screen, but moving an "inch"
         on the screen will move the cursor twice as far as before.

         22.1. CHANGING THE FRAME

           To change the frame (only when in the state "FREE"), move
         the cursor to the desired position for any corner of the new
         frame (unless you want the default frame (see below)) and
         press F. The state becomes "FRAME," and a prompt appears
         asking if you would like the default frame. (The default
         frame is the initial frame when PictureThis is started. It is
         as large as the 100% screen, and is in the middle of the 50%
         screen.) If you press Esc, the state returns to "FREE" with
         no change to the frame. If you press Y, the current frame is
         erased, the default frame is drawn, and the state returns to
         "FREE." If you press any other key, the old frame is erased,
         and a prompt (if "H+" is toggled) appears: "Move then F3 to
         set frame." Move the cursor to the diagonally opposite corner
         of your new frame. A dotted box follows the cursor. Notice
         that you can still use the Ctrl Home, Ctrl PgUp, etc., keys

                                                                          85
         to jump to the corners of the old frame, even though it is
         not visible. When the new frame is satisfactory, press F3.
         The new frame is established; the state returns to "FREE." If
         the current position box is toggled on, the numbers in it
         will change, since the position is measured from the frame
         origin (top or bottom left corner of the frame). Pressing Esc
         while changing the frame returns the old frame and returns
         the state to "FREE."
           Changing the frame does NOT change the drawing scale: the
         distance on the screen that represented an inch before the
         frame change will still represent an inch. To change the
         drawing scale, see Section 22.2.
           The frame is saved with a drawing (see Section 19.2), so if
         you retrieve a drawing, the frame changes to that saved with
         the drawing.

         22.2. SCALING THE DRAWING

           To change the scale of the drawing, press F9 to see the
         miscellaneous menu. The state becomes "MISC." Then press S.
         A menu appears, asking you to choose whether you want to
         set the horizontal or vertical frame size. (You only can
         scale one of these; the other is scaled proportionally.)
         After you press H or V to choose which frame dimension you
         want to scale, a prompt appears showing the current frame
         size (in the chosen direction and in the current units
         (inches are used if the current units are pixels)) and
         requests that you enter a new frame size (in the current
         units). If you are satisfied with the current frame
         dimension, press Enter; the "FREE" state returns. If you want
         to change the frame size, key in a new size and press Enter.
         (If you enter an illegal number, you are given another
         chance.) Another prompt appears, asking if you want to scale
         the line weights. If you answer Y, the line weights change in
         proportion to the difference between the previous size and
         the new size. For example, if the previous frame width was 8
         inches, and you change it to 4 inches, a 10 point curve
         changes to a 5 point curve. It looks exactly as it did before
         on the Quickshow screen. (The frame now represents 4 inches,
         so 5 point curves now appear the same as 10 point curves did
         before.) If you press any other key, the line weights do not
         change. In the above example, the curves now appear twice as
         thick on the Quickshow screen.
           You should NOT change the scale of the drawing frivolously.
         The only GOOD reason to change the scale is to enable you to
         work on a drawing which you need to be a specific size, in
         units that represent that specific size. If your final
         drawing is to be 5 inches wide, and you have specific
         measurements for parts of your drawing, it is convenient to
         set the frame size to 5 inches wide. Of course, an inch on
         the screen will be larger than a real inch unless you have a
         very small screen or unless the frame is smaller than the
         100% screen's width. (The initial frame is 8 inches wide and
         goes all the way across a screen which is typically about 8
         inches wide, so an inch on the 100% screen represents an inch
         on the drawing.) If you change the scale in the middle of a
         drawing, two endpoints that were a certain distance apart
         will now be a DIFFERENT distance apart. It is generally best
         to change the scale BEFORE you begin a drawing, if at all.

                                                                          86
           You CANNOT change the scale of the drawing if it contains
         any text. You MUST change the scale BEFORE any text is
         entered. (If you have deleted all text blocks, you can't
         change the scale unless you save the drawing and bring it in
         again.) For drawings with text, often it is important to
         scale a drawing to the final size with this operation, rather
         than scale it when writing its EPS file. This is because the
         fonts then will be the specified size, rather than a scaled
         size (however, for some drawings, EPS-scaling is desirable).
         So when using text, set your frame to the appropriate size
         and scale your drawing BEFORE you actually begin drawing.
           When you change the drawing's scale, the grid changes in
         appearance, but it represents the same distance between grid
         points.
           Scaling the drawing is not the only way to change the size
         of the final output. When you create a PostScript file for
         the drawing (see Section 19.6), the default size is
         determined from the drawing scale and frame size, but you can
         change the size as you wish.
           When you save a drawing (see Section 19.2), the frame and
         drawing scale are saved with it. When you retrieve a drawing,
         the drawing brings this information with it.

         23. NOTING POINTS AND MEASURING DISTANCES

           Sometimes it is useful to mark a point on the screen to
         which you want to return later, but the point is not an
         endpoint. And sometimes it is useful to be able to measure
         the distance between two arbitrary points or to move to a
         position that is a certain proportion of the distance between
         two points. PictureThis has two facilities to help.

         23.1. NOTED POINTS

           To "note" a point to which you can return later, move the
         cursor to the point and press N. A small cross appears at the
         cursor's position (you must to move the cursor to see the
         cross). Up to 25 points can be noted. To return to a noted
         point, press (simultaneously) Shift and Del. The cursor jumps
         to the nearest noted point. You then can jump to other noted
         points using Space, +, and/or -, just as when you are finding
         endpoints. Pressing Esc backs out to your original cursor
         position. Pressing Enter stops the cursor at the noted point
         it is on. Any other key stops at the noted point AND carries
         out whatever operation the key would normally carry out
         (e.g., F1 sets an endpoint).
           To erase an individual noted point, move the cursor to the
         noted point (as above) and press N again. The noted point is
         erased. To erase ALL currently noted points, press 0 (zero;
         NOT on the numeric keypad). A prompt appears, asking if you
         want to erase all the noted points. Answer Y if you want to
         erase all noted points, or press any other key if you do not
         want to erase all noted points.
           Noted points are saved with drawings, and they are
         retrieved with drawings.

         23.2. MEASURING DISTANCES

           The current position box and (especially) the relative

                                                                          87
         position box give you information about distances when you
         are drawing curves, moving objects, etc. Sometimes you need
         this information when you are performing an operation which
         doesn't register on the relative position box, such as noting
         points. Or you might like to move to the midpoint between two
         arbitrary points without doing any calculations. To perform
         these operations, while in the "FREE" state, move the cursor
         to the point you want to measure from (the "initial point")
         and press M. Now move the cursor; a dotted line follows. If
         you have the relative position box toggled on, the horizontal
         and vertical differences, the distance, and the angle from
         the point at which you pressed M all are shown. When you
         reach the point to which you want to measure (the "measuring
         point"), press F3. A prompt appears: the first line states the
         current percentage distance from the first point; the second
         line requests that you enter a percentage distance. If you
         press Enter, the current percentage is used; or you may key
         in a different percentage. The cursor moves to the percentage
         distance "between" the two points, and the percentage is
         saved for use the next time you measure. For example, 100%
         leaves the cursor at its position when F3 is pressed; 50%
         moves the cursor half way between the two points. Percentages
         greater than 100 are legal. For example, 200% moves the
         cursor along the line from the initial point to the measuring
         point twice as far as the measuring point. Negative
         percentages are also legal. For example, -100% moves the
         cursor in the OPPOSITE direction from the measuring point, on
         the same line, the same distance as the first point is from
         the measuring point. Try it. If the cursor would end up off
         the screen, you hear a beep, see an error message (if toggled
         on), and get another chance to enter a percentage. Pressing
         Esc gives you another chance to set the measuring point. If
         the cursor is moved successfully, the state returns to
         "FREE," and the dotted line is erased.

         24. ASPECT RATIO

           Pixels on a typical CGA medium resolution screen are not
         square. The ratio of the height to the width of a pixel is
         usually about 1.20 to 1. This ratio is called the aspect
         ratio. The initial aspect ratio for PictureThis is set to
         1.20. Some screens are adjusted (and some are user-
         adjustable) to have different aspect ratios. If your circles
         or squares drawn with PictureThis are not the proper shape,
         then your screen's aspect ratio is not 1.20. Not only will
         your circles and squares appear distorted on the screen, but
         also the PostScript output will be distorted in relation to
         the screen representation. To reset the aspect ratio, press
         F9 to access the miscellaneous menu and change the state to
         "MISC." Then press A. A menu appears in which you can choose
         to set the aspect ratio by cursor movement or direct entry.
         The first time you perform the operation, you should set it
         by cursor movement, to determine the correct aspect ratio for
         your screen. To do this, press C. The screen shows a large
         oval with a rectangle around it. The current aspect ratio
         appears in a small box in the bottom left corner. If the oval
         is indeed a circle, and the rectangle is square (you can
         measure to be sure), the current aspect ratio is correct for
         your screen. Otherwise, adjust the aspect ratio by moving the

                                                                          88
         cursor at the top of the oval either up or down. The oval and
         rectangle are adjusted via the cursor movement, and the
         aspect ratio changes. When the oval is a true circle, and the
         rectangle is a square, note the aspect ratio in the box and
         press F3. Alternately, you can enter the correct aspect ratio
         (if you know it) by pressing D at the menu. You see a prompt
         informing you of the current aspect ratio and asking you to
         enter a new one.
           After you have set the aspect ratio by either method, a
         prompt asks if you want the aspect ratio saved in the
         configuration file (PICTHIS.CFG) which is read when you run
         PictureThis. If you want the aspect ratio automatically set
         to the new value when you start PictureThis, answer Y;
         otherwise, press another key.

         25. VIEWSCREEN, PALETTE, AND SCREEN TOGGLES

           There are several ways to manipulate the appearance of the
         PictureThis screen. These include the viewscreen, changing
         the palette, and various screen toggles.

         25.1. VIEWSCREEN

           To view the entire drawing at any magnification WITHOUT
         the endpoints and frame showing, press V. To return to the
         drawing screen, press Esc. It is not possible to draw on
         the viewscreen: there's no cursor! The viewscreen is NOT
         clipped at the frame; you can scroll and "zoom" the
         viewscreen (see Section 6). The template shows on the
         viewscreen, but it can be toggled off by pressing T (press T
         again to restore the template). The main use of the
         viewscreen is to check how full the PictureThis memory areas
         are (see Section 29). Another use is for low-resolution
         screen "dumps" (say, to a dot-matrix printer) of a drawing in
         progress.
           Drawings can be saved and retrieved while on the viewscreen
         (see Sections 19.1 and 19.2).

         25.2. CHANGING THE PALETTE

           You might prefer to use PictureThis with a screen palette
         other than the default. Press F9 to see the miscellaneous
         menu. Then press P. A palette menu appears, showing the
         current palette number (the initial setting is 1). For the
         default palette (gray, magenta, cyan), press 1. For the
         second palette (brown, red, green), press 2. For the third
         palette (gray, red, blue), press 3. (Use the main keyboard
         number keys.)
           For the corresponding palettes at high intensity, press the
         appropriate number keys simultaneously with the Shift key.
         Some EGA and VGA video boards and monitors don't show the
         palettes as described above; you'll need to experiment to
         determine which palettes are best with your equipment.

         25.3. SCREEN TOGGLES

           To erase ALL curves comprising the current drawing
         IRRETRIEVABLY (unless you have saved the drawing previously,
         as described in Section 19.2), press C. A prompt appears

                                                                          89
         ("Clear current drawing? (Y/N)"). If you DO want to erase the
         current drawing press Y. If you DON'T want to erase the
         drawing, press any other key. If you have set any text
         parameters, or made any margins other than the default
         margin, you will be asked if you want to erase these also.
           To redraw the current screen, press D. This redraws the
         screen without making changes to the drawing. This is useful
         when unattractive "garbage" appears on the screen. Most
         PictureThis operations leave no garbage, but sometimes extra
         or missing dots result from an operation (especially when
         manipulating objects). "Garbage" also can appear when the
         position boxes (see Section 20) and/or the status box (see
         Section 4.3) is on the screen and a curve is drawn through
         parts of them. Then, if the box is removed, parts of the
         curve can disappear.
           On the 50% screen, the template is "compressed" to fit the
         available space: one pixel on the 50% screen corresponds to
         four pixels on the 100% screen. The compression algorithm
         used by PictureThis is simple: the 100% screen is divided
         into boxes with four pixels each (two across by two down),
         and the color of ONE pixel in each box is used to determine
         the color of the pixel on the 50% screen which corresponds to
         that box. You can choose the position (top left, top right,
         bottom left, or bottom right) of the pixel in each box used
         to determining colors during compression by repeatedly
         pressing D AT THE 50% SCREEN. Following each of four
         successive key presses, the screen is redrawn with a
         different "compression color pixel" position used for
         producing the template. Since there are four possible
         positions for the "compression color pixel" used, four
         successive presses of the D key return the template to the
         way it started. If you subsequently change to another
         magnification and then return, the template appears the way
         it did when you left the 50% screen. Being able to choose
         between the differently compressed templates is useful if
         some features appear clearly only on some of them.
           To remove the drawing TEMPORARILY, press R. This redraws
         the screen with the curves removed, allowing a better view of
         the template. To restore the drawing, press R again. The R
         key WON'T remove or restore a drawing on the viewscreen, but
         you can press R while the viewscreen is on so that curves
         don't show when you return to the drawing screen; sometimes
         this is useful to avoid exceeding the pixel memory limit with
         complex drawings (see Section 29 for more information).
           To remove the template TEMPORARILY, press T. To restore the
         template, press T again. This works on the drawing screen AND
         on the viewscreen.
           Note: All of the features described in this section require
         redrawing of the screen, so they are possible ONLY in the
         "FREE" state.


MANUAL7.TXT


         PICTURETHIS(TM) "SHAREWARE" VERSION

         RELEASE 3.00

         MAY 15, 1989

         USER MANUAL, PART 7 OF 7 PARTS


         Copyright 1988, 1989, 1990 by Patricia Y. Williams and
           Gregory Williams, All Rights Reserved.

         HortIdeas Publishing, Route 1, Box 302, Black Lick Road,
           Gravel Switch, KY 40328 U.S.A.


         26. TEMPLATES

           Captured CGA graphics screens can be brought into
         PictureThis to use as templates for tracing. These templates
         are read into PictureThis as described in Section 19.5.

         26.1. CAPTURING SCREENS FOR USE AS TEMPLATES

           The CaptureThis program supplied with PictureThis
         (CAPTHIS.COM) is a memory-resident ("TSR") utility which
         allows most CGA graphics mode screens to be saved in files
         which then can be loaded into PictureThis for use as drawing
         guides (templates). To be saved in a file by CaptureThis, a
         screen must be in either the medium-resolution CGA graphics
         mode (320 pixels horizontally x 200 pixels vertically) or the
         high-resolution CGA graphics mode (640 pixels horizontally x
         200 pixels vertically), and the Print Screen function
         (normally accessed by simultaneously pressing the Shift key
         and the PrtSc key next to the numeric keypad) must be
         operational (a few programs disable this function, preventing
         the capture of their screens).
           CaptureThis occasionally conflicts with some other memory
         resident programs; if you have problems with CaptureThis when
         using such programs (installed either before or after
         CaptureThis has been installed), remove the programs and try
         again with ONLY CaptureThis installed as a "TSR"; some
         experimenting is necessary to determine which memory resident
         programs can be used with CaptureThis on your computer (and
         to determine when CaptureThis should be installed relative to
         their installations -- before or after).
           SPECIAL NOTE: YOU SHOULD CONSIDER THE ETHICAL AND LEGAL
         IMPLICATIONS OF CAPTURING SCREENS SHOWING COPYRIGHTED
         MATERIALS, INCLUDING SOME SCANNED IMAGES; CONSULT AN ATTORNEY
         FOR MORE INFORMATION ABOUT COPYRIGHT LAWS.
           To capture a CGA graphics mode screen from a program, at
         the operating system prompt, with CAPTHIS.COM in the current
         directory, key in "CAPTHIS" and then press Enter. A brief
         message should appear to say that CaptureThis is installed,
         and the operating system prompt should return. If this
         doesn't happen, then either your copy of CAPTHIS.COM is
         defective, or your hardware and/or software isn't compatible
         with CaptureThis. If you try to install CaptureThis again
         after it has already been installed, a message noting that

                                                                          91
         the program is already in memory appears, and the operating
         system prompt returns. No facility is provided for removing
         CaptureThis from memory, once it has been installed.
           Assuming that CaptureThis is installed, do whatever is
         necessary to display a particular screen you want to capture
         for use as a PictureThis template. Typically, this involves
         running a graphics applications program. With the desired
         screen being displayed, press (simultaneously) Shift PrtSc.
         After these keys have been pressed, CaptureThis examines
         certain memory locations written by the BIOS to determine the
         current video mode. If the mode APPEARS to be CGA Text
         instead of CGA Graphics, a warning message appears at the top
         of the screen ("NOT CGA GRAPHICS! Try Capture? (Y/N)"/"ESC to
         Exit"). Rarely, an applications program programs the video
         controller chip directly for CGA Graphics, but fails to tell
         the BIOS (and hence CaptureThis) about it; if you think the
         screen is CGA Graphics even though CaptureThis (and the BIOS)
         disagree, you still can proceed with capturing the screen by
         pressing Y. Alternatively, to produce a normal screen dump to
         your printer, press N. CAUTION: If the printer is
         disconnected or turned off, the computer might hang up. If
         the screen is in graphics mode, you must have previously
         loaded a memory-resident program (i.e., GRAPHICS.COM,
         supplied with PC-DOS for CGA graphics screen dumps to IBM-
         compatible printers) which supports your printer's graphics
         capabilities. The third alternative is to continue with the
         applications program WITHOUT saving or dumping the screen, by
         pressing Esc. Pressing any other key has no effect.
           If, when you pressed Shift PrtSc, CaptureThis determined
         the current video mode as CGA Graphics, a slightly different
         message appears at the top of the screen ("Perform Screen
         Capture? (Y/N)"/"ESC to exit"). Press Y to proceed with
         capturing the screen, or press N for a screen dump (CAUTION:
         your computer might hang up if the printer is turned off or
         disconnected; and GRAPHICS.COM, supplied with PC-DOS, or a
         similar memory-resident graphics printer driver program must
         have been loaded previously for a proper CGA graphics screen
         dump), or press Esc to continue with the applications program
         WITHOUT saving or dumping the screen. Pressing any other key
         has no effect.
           If CaptureThis determines that the screen is not in a CGA
         mode, a normal screen dump is performed. CAUTION: your
         computer might hang up if the printer is turned off or
         disconnected; for a proper graphics screen dump, you must
         have loaded an appropriate printer driver program previously.
           Assuming that one of the messages described above DID
         appear, and that you responded to either by pressing Y, the
         second line of instructions is replaced by "Filespec for
         save?" Key in the file name you want (with an extension and
         directory specification, if appropriate). Example template
         files included on the distribution disk have a ".TMP"
         extension, and we suggest that extension for your template
         files. Next, press Enter. Pressing Esc any time before
         pressing Enter exits from CaptureThis and restores the
         current screen. If a file with the specification you have
         just entered already exists, the second line of the message
         is replaced by "Overwrite [FILE NAME]? (Y/N)"; pressing Y
         causes the file to be saved; pressing Esc removes the
         instructions from the screen and allows you to proceed

                                                                          92
         without capturing or printing the current screen; pressing
         any other key results in a prompt for a different file name
         (keyed in as described above).
           Wait until disk activity stops before proceeding. If the
         screen was captured successfully, the instructions are gone
         from the screen, and you can proceed as usual with the
         application program. If there was a problem with file
         operations, an error message appears; press any key to
         proceed without capturing or printing the current screen (of
         course, you can attempt to correct the cause of the problem,
         such as a full, bad, or write-protected disk, and then call
         up CaptureThis again by pressing Shift PrtSc).
           If CaptureThis doesn't work correctly with your computer
         or with particular programs, you should try the Alternate
         CaptureThis program (ACAPTHIS.COM) instead. Once installed,
         this program doesn't require any keyboard input other than
         Shift PrtSc to capture CGA graphics mode screens, and thus
         works even with programs which "take over" the keyboard
         (unless they take over the Print Screen interrupt).
           To installl Alternate CaptureThis, at the DOS prompt
         corresponding to the drive containing the disk with
         ACAPTHIS.COM, key in "ACAPTHIS" and then press ENTER. A
         message noting that Alternate CaptureThis has been installed
         should appear, and the DOS prompt should return. Any time
         after Alternate CaptureThis has been installed, you can
         capture a medium- or high-resolution CGA graphics screen
         simply by pressing Shift PrtSc. If Alternate CaptureThis
         determines (from your computer's BIOS) that the current video
         mode is NOT CGA graphics, it performs a normal screen dump to
         a printer. CAUTION: If a printer is not connected, or if it
         is turned off, your computer might hang up; for a graphics
         screen dump, you must have installed a memory-resident
         graphics printer driver program appropriate for the non-CGA
         graphics mode PRIOR to installing Alternate CaptureThis. If,
         according to the BIOS, the current video mode IS CGA
         graphics, Alternate CaptureThis captures the screen in a file
         named "A0.TMP" (in the current directory). Subsequently
         captured screens are saved in files having the following
         sequence of names: A1.TMP, ..., A9.TMP, B0.TMP, ..., B9.TMP,
         ..., C0.TMP, ... CAUTION: Each time ACAPTHIS is installed it
         will save screens in files (beginning with A0.TMP) WRITING
         OVER ANY EXISTING FILES IN THE CURRENT DIRECTORY WITH THE
         SAME NAMES WITHOUT WARNING -- so after saving a series of
         files with ACAPTHIS, you should rename them before installing
         ACAPTHIS again, to guard against overwriting, and to provide
         more descriptive names.
            Each template file written by CaptureThis or Alternate
         CaptureThis has a length of 16192 bytes. When imported into
         PictureThis (see Section 19.5), templates appear in only two
         colors (not counting the background color) so that the cursor
         and curves drawn with PictureThis will always show up. Color
         remappings are performed automatically by CaptureThis from
         applications program screens having ONE foreground color (in
         high-resolution CGA GRAPHICS mode) or THREE foreground colors
         (in medium-resolution CGA GRAPHICS mode) to template screens
         having TWO foreground colors in medium-resolution CGA
         GRAPHICS mode; these mappings were chosen to preserve as much
         fidelity to the original applications program screens as
         possible.

                                                                          93
           Note: It is possible to convert EGA screens to CGA screens
         for use in PictureThis by using the widely available
         "shareware" program OPTIKS. The procedure is simple: retrieve
         an EGA image (for example, from a .PCX file) in OPTIKS with
         the screen set to EGA, switch to CGA and rescale the image if
         necessary, and finally capture the CGA screen with CAPTHIS or
         ACAPTHIS.

         26.2. MOVING THE TEMPLATE

           When a template is read into PictureThis, it is placed in
         the middle of entire drawing screen. If you want to move the
         template to use it for tracing on a different part of the
         screen, WHILE AT THE 100% SCREEN, press F9 to access the
         miscellaneous menu, then press T. The state changes to
         "TMPMOV." Move the cursor to the position on the template
         which you wish to move (the start point); press F1. Now move
         the cursor (a dotted line follows) to the point to which you
         want to move the start point; press F3. The template moves,
         and the state returns to "FREE." Press Esc to back out of the
         operation.

         27. DRAWING HINTS

           This section contains several "hints" to make drawing with
         PictureThis easier and to produce better results.

         27.1. JOINING CURVES AT ENDPOINTS ONLY

           This is an important rule when using PictureThis! Because
         the screen resolution is much lower than prints made by laser
         printers and imagesetters, a curve which "looks like" it
         joins another curve on the drawing screen might NOT join it
         at all or might cross the other curve on the printed output.
         Moreover, the results will be different for different
         PostScript-compatible output devices, depending on their
         resolution. IF A CURVE NEEDS TO JOIN A PREVIOUSLY DRAWN CURVE
         PRECISELY AT A POINT NOT ALREADY AN ENDPOINT, YOU SHOULD CUT
         THE PREVIOUSLY DRAWN CURVE TO MAKE A NEW ENDPOINT.

         27.2. USING THE Del KEY TO MOVE TO ENDPOINTS

           It is necessary to be EXACTLY on an endpoint to join
         curves PRECISELY. The best way to do this is to use the Del
         key on the numeric keypad. Moving the cursor with the numeric
         keypad number keys to what APPEARS to be an endpoint will NOT
         necessarily result in the cursor being on the endpoint. (On
         the 50% screen 2304 internal-unit points show as the same
         point on the drawing screen!)

         27.3. SMOOTHER SMOOTHING

           Smoothed curves might appear "smoother" if, during
         smoothing, you move the control points AS FAR AS POSSIBLE out
         along the tangent lines away from their associated endpoints.
         This effect is because of rounding during calculations.

         27.4. JOINING CURVES WITH DIFFERENT LINE WEIGHTS


                                                                          94
           When joining curves with different line weights at a common
         endpoint, the results can appear "sloppy" on the hard-copy
         output. This is because the PostScript language allows "neat"
         joining of curves only if they have the same line weight (see
         Section 14.4.3). The best general advice we can give for
         avoiding "sloppiness" when joining curves is to keep the
         line weights of the curves nearly the same, and to connect
         LARGER line weight curves as the cross-members at "T"
         intersections, as shown below.

                      O.K.                          NO!
              ___________________           ___________________
                       |     \                       |  \
                       |      WIDE                   |   NARROW
                       |                             |
                       |--NARROW                     |--WIDE
                       |                             |

         27.5. DOING DETAILED WORK ON HIGH MAGNIFICATION SCREENS

           For detailed work, it is best to use the 300%, 600%, 1200%,
         or 2400% screens. You can see what you are doing on any of
         these screens better than on the 100% screen, and endpoints
         can be positioned more precisely at high magnifications.
         Occasionally, it is useful to establish endpoint locations on
         a high magnification screen before drawing a curve on the
         100% screen. This can be done by noting points for each
         endpoint while at high magnification, then using the
         resulting noted points to draw the curve on the 100% screen.

         27.6. DOING FINE WORK ON A LARGE SCALE AND THEN SCALING DOWN

           To draw EXTREMELY fine work, you can make a drawing at a
         large scale and then reduce it by scaling it down. The
         scaled-down object might not look perfect on the drawing
         screen, but it should look fine on the PostScript output.

         27.7. DRAWING AN OVAL WITH SIDE ENDPOINTS AT SPECIFIC
               POSITIONS

           Normally, an oval (or circle) is drawn by first specifying
         the center of the oval. You can set the side endpoints of the
         oval to be in specific positions (say at specific endpoints),
         by using measuring (see Section 23.2). First change the
         units to pixels (temporarily) for exact measurements (see
         Section 20.1) First move the cursor to one of the desired
         endpoints and remember its position (from the current
         position box). Then press M, move the cursor horizontally to
         the opposite desired endpoint, and press F3. Then key in "50"
         and press Enter to move the cursor to the center of the oval.
         Press "O" to start drawing the oval as usual. Move the cursor
         along the guideline to the first remembered endpoint. (You
         cannot press Del to get to the endpoint, because the cursor
         is restrained to the guidelines.) Then complete the oval.

         27.8 ROUNDING CORNERS

           To change a corner with two lines meeting at ANY angle to a
         rounded corner (for example, to make a box with rounded

                                                                          95
         corners), cut each of the two lines at the point at which you
         want the rounding to start (see Section 11). Then draw a
         curve with an endpoint at each cut position and ONE control
         point at the intersection of the two lines (the other control
         point should not be moved off the endpoint). This creates a
         smoothly rounded corner, even if the cut positions were not
         equidistant from the corner. Erase the lines from the cut
         position to the original corner (see Section 12.1).

         28. KARTOONS MODE

           All work and no play makes for dull graphic artists, and so
         we've included this "fun" mode in PictureThis. But it isn't
         ONLY for play: you can learn a lot about the program's
         features and how to use them by 'tooning around!
           When in the "FREE" state, press K and respond appropriately
         to subsequent prompts to enter Kartoons mode. In this mode,
         you can cycle through, modify, and save cartoon faces
         composed of parts (such as eyes and noses), each part
         associated with one of nine blocks (corresponding to
         forehead, left and right ears, chin, left and right eyebrows,
         left and right eyes, and nose). Files for several parts and
         faces (collections of particular parts) are provided in the
         \KARTOON directory on one of the distribution disks. Part
         files are named !FOREHD.NNN, !LEAR.NNN, !REAR.NNN, !CHIN.NNN,
         !LBROW.NNN, !RBROW.NNN, !LEYE.NNN, !REYE.NNN, and !NOSE.NNN,
         where NNN = 1 to 999; the format of each of these files is
         that of a standard clip art file. Face files are named *.FAC.
           To quit Kartoons mode and return to normal drawing mode,
         press C and respond appropriately to the prompts.
           In Kartoons mode, most PictureThis operations work
         normally. Those which don't are noted below. Special
         Kartoons-mode keys include the following:
           K (mnemonic: "khoose") cycles through the nine blocks,
         showing each in turn. After pressing K, you also can use +
         (same as Space) to cycle "forward" and - to cycle "backward."
         Enter selects (stops at) a block; any other key stops at a
         block and continues with the operation corresponding to that
         key.
           U (mnemonic: "use") cycles through parts (having files in
         the current part directory, which you might have been
         prompted to enter) associated with the currently selected
         block. After pressing U, you also can use + (same as Space)
         to cycle "forward" and - to cycle "backward." The order of
         cycling is based on the file extension numbers, relative to
         the file extension number of the current part. Enter selects
         (stops at) a part; any other key stops at a part and
         continues with the operation corresponding to that key.
           Y (mnemonic: "yes save") saves an object as a part file
         associated with the currently selected block. The procedure
         is the same as for saving clip art files, with successive
         objects dashed for choosing, except that there is no prompt
         for a file name. Part files are named automatically, based on
         their associated block at the time of saving; extension
         numbers are assigned in consecutive order.
           The file menu (accessed as usual by pressing F10) has no
         "GetDRW" in Kartoons mode; instead, there is "GetFAC." And
         the menu also has "PutFac."  Each face file (saved by
         pressing P at the file menu and then keying in a name;

                                                                          96
         retrieved by pressing G at the file menu, etc.) consists of a
         set of nine numbers which correspond to the extensions of the
         files for parts of that face. (When accessed with the view or
         Quickshow screen showing, the file menu shows only "SavDRW";
         you can read or write a face file only with the drawing
         screen showing.)
           Note: if you make many changes to parts of a face, the
         program memory can become full. If you see a message saying
         that the memory is almost full, quit Kartoons mode by
         pressing C, then reenter Kartoons mode by pressing K. The
         excess memory is released, and the face reappears AS YOU LEFT
         IT.

         29. MEMORY LIMITS AND MEMORY USED BOX

           Drawings produced with the "Shareware" Version of
         PictureThis are limited to 300 endpoints, 250 curves, 62
         objects, and approximately 12,000, 24,000, 36,000, 48,000, or
         60,000 bytes of pixel memory (ranging from about 1/6 to about
         5/6 of the drawing screen covered with curves and text,
         specified by starting PictureThis with 1A, 2A, 3A, 4A, or 5A
         (see Section 2)). You can determine how close you are to the
         limits by checking the memory used box, which is toggled on
         (ONLY when the viewscreen (V) is on) by pressing U. A box
         appears in the lower left corner of the viewscreen, showing
         how many curves, endpoints, objects and pixel bytes you have
         used, and how many are allowed. The "pixels used" shown are
         for the current screen and are only approximate. To toggle
         off the memory used box, press U again.
           When the value of any of these parameters (for curves,
         endpoints, objects, or pixels) reaches 90% of its maximum, a
         message appears at the top of the screen: "OVER 90% OF MEMORY
         USED"/"Press any key to continue." This is just a warning,
         and you can proceed as usual. This message continues to
         appear with every subsequent curve added, unless conditions
         are changed. When the value of any of the parameters reaches
         98% of its maximum, another message appears at the top of the
         screen: "MEMORY ALMOST FULL - SAVE DRAWING SOON"/"Press any
         key to continue." Subsequently, each time you add a curve,
         this message reappears.  We recommend that you add NO MORE
         THAN A CURVE OR TWO after the "MEMORY ALMOST FULL" message
         appears for the first time, because if you run over the
         memory limits, memory is overwritten and program behavior
         can become UNPREDICTABLE! In short, you should SAVE YOUR
         DRAWING AS SOON AS POSSIBLE AFTER SEEING THE "MEMORY ALMOST
         FULL" MESSAGE. (Note that you might see these messages
         repeatedly while a object is being manipulated (moved,
         copied, etc.). Just keep pressing a key until the messages
         stop. PictureThis will NOT let you manipulate an object if
         there is not enough memory. However, save your drawing as
         soon as the copy is complete!)
           If the memory limits are approached for curves, endpoints or
         objects, saving the drawing and then retrieving the saved
         drawing file reduces the number of curves, endpoints, and/or
         objects, IF any were erased (or cut) during the drawing
         process. (Object manipulations can create large numbers of
         erased endpoints.) If you continue to have problems, please
         consider ordering the Registered Version, which allows user
         configurable memory specifications with up to 2000 curves,

                                                                          97
         2400 endpoints, and 500 objects.
           Simply redrawing the screen (press D) or viewing the
         viewscreen (press V) can free up some pixel memory. Or if
         pixel memory is still limiting, save your drawing, leave
         PictureThis and restart with a higher pixel memory level (for
         example, 5A; see Section 2). Text on the screen drawn as
         characters can use a LOT of pixel memory; if the pixel limit
         is approached because of too much text, you can switch to
         "greeked" text (press J), which uses MUCH LESS pixel memory.
         If you press J a second time, you can still see the
         characters on the Quickshow screen, since characters on the
         Quickshow screen don't use any pixel memory. If the pixel
         limit is being approached when you have little text (most
         likely on the 100% screen), you still can draw on the 50%,
         300%, 600%, 1200%, and/or 2400% screens, being careful not to
         zoom to the 100% screen, unless you first remove the drawing
         by pressing R (see Section 25.3). The viewscreen is very
         useful for keeping track of memory usage and checking your
         drawing's progress in low-memory situations. If you want to
         read in a previously saved drawing file which might have too
         many pixels for the current memory limits, SWITCH TO THE
         VIEWSCREEN FIRST. If you see an error message, proceed
         cautiously!
           Text information is saved in a different manner than the
         preallocated memory used for curves. The first time you use
         the editor, memory is allocated for it from memory left over
         after loading PictureThis and allocating the memory specified
         for curves and pixels. Each time you add a text block, a new
         font, a screen font, a margin, or a text parameter set,
         varying amounts of memory are allocated. Thus, if your
         computer has limited memory, or if you have several TSRs or
         device drivers loaded, so that after PictureThis loads there
         is little free memory left, you might not be able to add much
         text. If you see "out of memory" messages when trying to add
         text (except one that states "NOT ENOUGH MEMORY TO DRAW
         TEXT", indicating limited pixel memory), you should save your
         drawing, exit, and restart PictureThis with a LOWER memory
         specification (e.g., 3A instead of 5A), and/or get rid of
         unnecessary TSRs and device drivers. One other step can be
         taken if you are under severe memory limitations: before you
         use the editor, and before you bring in any drawings or clip
         art containing text, press J one time. This prevents the
         screen fonts (which take considerable memory) from loading;
         unfortunately, you will not be able to see characters, even
         on the Quickshow screen.

         30. INCOMPATIBILITIES AND "BUGS"

           Please let us know about any problems you encounter with
         PictureThis and/or CaptureThis. In particular, we would like
         to know about incompatibilities with certain kinds of video
         boards so we can try to make the programs as widely useful as
         possible. Very few non-trivial programs are "bug"-free, and
         we expect users to find some "bugs" in PictureThis. In
         exchange for your "bug" report (assuming that you've found a
         real "bug"), we'll send you a free copy of the next Release,
         with the "bug" fixed. Also, we'd appreciate hearing your
         suggestions on how PictureThis might be improved. Thanks for
         helping us improve the performance of our programs!


Directory of PC-SIG Library Disk #2302

 Volume in drive A has no label
 Directory of A:\

MANUAL1  TXT     51619   5-16-90   8:27a
MANUAL2  TXT     56646   5-16-90   8:28a
MANUAL3  TXT     56250   5-15-90   5:14p
MANUAL4  TXT     53263   5-15-90   5:28p
MANUAL5  TXT     54061   5-15-90   7:56p
MANUAL6  TXT     49762   5-16-90   8:29a
MANUAL7  TXT     29119   5-15-90   8:15p
GO       BAT        40   1-01-80   6:00a
FILE2302 TXT      3109   9-19-90   9:28a
GO       TXT      1002   1-01-80  12:36a
       10 file(s)     354871 bytes
                        2048 bytes free