Home of the original IBM PC emulator for browsers.
[PCjs Machine "ibm5150"]
Waiting for machine "ibm5150" to load....
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.
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.
╔═════════════════════════════════════════════════════════════════════════╗
║ <<<< 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. ║
╚═════════════════════════════════════════════════════════════════════════╝
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.
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).
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).
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).
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.
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.
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!
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