home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DTP en Graphics 1
/
dtpgraf1.zip
/
dtpgraf1
/
DTP
/
PICTHIS4
/
MANUAL7.TXT
< prev
next >
Wrap
Text File
|
1991-12-31
|
52KB
|
986 lines
PICTURETHIS(TM) "SHAREWARE" VERSION
RELEASE 4.00
DECEMBER 31, 1991
USER MANUAL, PART 7 OF 7 PARTS
Copyright 1988, 1989, 1990, 1991 by Patricia Y. Williams and
Gregory Williams, All Rights Reserved.
HortIdeas Publishing, 460 Black Lick Road, Gravel Switch,
KY 40328 U.S.A.
26. TEMPLATES
Captured CGA, EGA, and VGA 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, EGA, and VGA 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 the medium-resolution CGA
graphics mode (320 x 200 pixels), the high-resolution CGA
graphics mode (640 x 200 pixels), EGA graphics mode (640 x
350 pixels), or VGA graphics mode (640 x 480 pixels), 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, EGA, or VGA 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
98
compatible with CaptureThis. If you try to install
CaptureThis again after it has already been installed, a
message noting that 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, when you pressed Shift PrtSc, CaptureThis determined
the current video mode as an allowable graphics mode, a
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 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 an
allowable graphics 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 you responded to the above message 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 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,
99
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 install 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 CGA, EGA, or VGA graphics screen simply by
pressing Shift PrtSc. If Alternate CaptureThis determines
(from your computer's BIOS) that the current video mode is
NOT an allowable graphics mode, 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
graphics mode PRIOR to installing Alternate CaptureThis. If,
according to the BIOS, the current video mode IS an
allowable graphics mode, 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 for CGA screens has a length of 16192 bytes.
Template files for EGA and VGA screens are compressed, so
the size will vary with the complexity of the screen. When
imported into PictureThis (see Section 19.5), pixels in the
template which are the color of the cursor and curves on the
PictureThis drawing screen are changed to an alternate color
so that the cursor and curves drawn with PictureThis will
always show up. Color remappings are performed
automatically; these mappings were chosen to preserve as
much fidelity to the original applications program screens
as possible.
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
100
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 in CGA mode 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
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
101
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
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).
27.9 CHECKING FOR WIDE SPACING WHEN FULLY JUSTIFYING
When a text line is fully justified, extra space is
inserted between each word to make the line extend all the
way to the right margin. If hyphenation is turned off or if
PictureThis cannot find a hyphenation point in the first
word in the following line, the added space can be quite
large, and look unattractive. The easiest way to find lines
with large spaces between words is to greek the text by
pressing J. Any lines with large spaces will stand out. If
you want to correct such lines, cut the text back to the
editor, and change the wording or insert a HARD-HYPHEN.
While in the editor, you can check for lines with large
102
spaces by going to the end of each line and looking at the
Width Remaining (WR) indicator in the status line. If any
lines have considerably more width remaining than most
lines, they will have large spaces. If hyphenation has been
turned off, you will have many more lines with larger spaces
than you will otherwise.
27.10 MAKING A TEXT LINE FIT WITH TRACK KERNING
Occasionally, you will find a text line that almost but
not quite fits within the margin. If you do not want this
line to be broken, you can insert a track kerning
typesetting code with a small negative unit value (e.g.,
<TK-3>) at the beginning of the text line and then compose
(F3). You may have to try various negative numbers, until
you find one that will work.
27.11 USING PAIRWISE KERNING
Do not use pairwise kerning with small text; it does not
improve the appearance of small text noticably. Pairwise
kerning can make large text look better, so it can and
should be used with large text.
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
103
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;
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. CONVERTING A WORD PROCESSOR FILE
Text can be prepared for a PictureThis drawing entirely in
the editor, but you might want to typeset text which was
previously prepared in a word processor. In Section
18.5.2.10, you learned how to import an ASCII file into the
PictureThis editor. If you import a file directly from a
word processor into the PictureThis editor, you will have
usable, but not necessarily ideal, text. The editor IGNORES
any Ctrl characters which it does not use (such as a
linefeed) and replaces RETURNS with its own END-OF-PARAGRAPH
character (down-arrow). This is fine in some cases, but not
in others.
Various word processors use different methods to mark
special occurrences (e.g., indents, page breaks) in their
files. In particular, each word processor has a special
method to distinguish between HARD-RETURNS (returns which
the user enters) and SOFT-RETURNS (returns which the word
processor inserts when it decides that a line needs to be
wrapped). A typical method is to use a SPACE followed by a
CR for a SOFT-RETURN and just a CR for a HARD-RETURN. For
typical text imported into the PictureThis editor, you want
the SOFT-RETURNS to turn into just a SPACE and the HARD-
RETURNS to turn into just a CR, since you are reformatting
the text into a different margin. To solve this problem and
other similar problems, you can run the word-processor
prepared file through the program CONVERT before you import
it into PictureThis.
CONVERT is a standalone text replacement program useful
whenever you need to modify an ASCII file. It uses convert
instruction files (we recommend using the extension .CVT),
consisting of comments and search/replace pairs. We have
104
prepared a standard convert instruction file (STANDARD.CVT)
which is useful with many word processor files.
To run CONVERT, simply type CONVERT at the command line.
You are first asked for the name of the ASCII file you want
to convert. Type in its name (with path if necessary) and
press ENTER. You are then asked for the name of the file you
want to write. Type it in and press ENTER. You are asked for
the name of the conversion instruction file (e.g.,
STANDARD.CVT). Type it in and press ENTER. You are asked if
you want to replace all multiple spaces with single spaces.
(This is preferable for most typesetting. When most people
type, they place two spaces at the end of each sentence.
This is usually NOT done when typesetting text, so it is
desirable to get rid of the multiple spaces. There are
occasions when it is not desirable to get rid of multiple
spaces; for instance, if you are typesetting computer code,
the multiple spaces at the beginning of each line give the
code "structure" which you want to maintain.) If you want to
change multiple spaces to single spaces, press Y, otherwise
press any other key. Finally you are asked if you want to
strip the high-order bits of each character. WORDSTAR and
some other word processors mark certain characters by adding
a high-order bit to the character (equivalent to adding 128
to the character's ASCII value). For files from these word
processors, press Y; the high-order bits are stripped off.
(In general, this usually won't harm text prepared by non-
WORDSTAR-like word processors.) CONVERT then reads the first
10000 characters of your Ascii file (or the whole file, if
it is shorter than 10000 characters). It performs the first
search/replace command in the chosen convert instruction
file on the entire read portion of the file. Then it
performs the second search/replace command on the results of
the first command. It continues until it performs all of the
search/replace commands in the chosen convert instruction
file, then it writes the resulting portion of the file. It
then reads the next 10000 characters of the ASCII file and
repeats the process on this portion of the file. It
continues to read and process portions of the ASCII file
until it has processed all of it.
Since CONVERT processes portions of the Ascii file
separately (so that it can handle any size file), it is
possible that at a break between portions, a search/replace
command is incorrectly processed. CONVERT attempts to
correct such errors, but it is still possible (though
unlikely) that such an error could occur. If there is a
possible error at any break point, CONVERT informs you where
the error might occur. Even if CONVERT warns you of such a
possible error, it is not likely that such an error actually
occurred, and you probably can ignore the warning. If such
an error occurred, you would probably notice it in the
process of normal proofreading.
To make a convert instruction file, use a text editor or
word processor. You do not want any special control codes,
etc. in your convert file, so save the file as an ASCII file
or non-document file. Or you can use the PictureThis editor
to make a convert instruction file. Here are the rules:
No line can be longer than 80 characters.
Any line starting in column 1 with a SEMICOLON (;) is
105
considered a comment and ignored.
Any line consisting only of a CARRIAGE RETURN is ignored. A
search line is any other line, and is immediately followed
by a replace line (no comments or empty lines are allowed
between search and replace lines).
Any keyboard character except '=' or ';' (d,G,8,*, etc.) can
be included in a search or a replace line, and represents
itself. Special strings beginning with '=' can also be used,
as described below. (In the table 'N' represents a single
digit, 0 - 9.)
Special Character Meaning
=e or =E carriage return
=l or =L line feed
== equals sign
=; semicolon
=NNN the character represented by the ASCII
value NNN; NNN must be less than
256 (e.g., =032 is the same as
SPACE, and easier to read)
=?N a wildcard character that matches any
character
=aN a wildcard character that matches any
alphabetic character (a-z, A-Z)
=#N a wildcard character that matches any
digit (0-9)
=.N a wildcard character that matches any
punctuation character
Examples of search lines:
the dog will match 'the dog'
=a3=#9 will match 'A1', 'j5', 'Q0'
=?5"=032 will match 't" ', '?" ', '4" '
t=a1=.7g will match 'th,g', 'tD@g'
When a match is found, it is replaced by what the replace
line indicates. A normal character in a replace line
produces that character. A wildcard character uses the
character that was found to replace it in its position.
Examples of search/replace pairs:
the dog 'the dog' will be replaced by 'the cat'
the cat
=a3=#9 'A1' will be replaced by '1a'; 'j5'
=#9=a3 will be replaced by '5j'
=?5"=032 't" ' will be replaced by 't'' '
=?5''=032
=a1=#1=a2=#2 'b3c4' will be replaced by 'cb43';
=a2=a1=#2=#1 'A9Q8' will be replaced by 'QA89'
106
You cannot have a wildcard character in a replace line
which does not appear in the corresponding search line. An
equals sign followed by characters which are not in the
previous list is also an illegal string. If an illegal
search/replace pair is found, CONVERT aborts the conversion
process.
Examples of illegal search/replace pairs:
=q4
a=q4
=?abc
=?cba
=32dog
dog
=a2cat=a4
=a1dog=a4
=456
ggg
STANDARD.CVT includes search/replace pairs to do the
following:
Replace SPACE followed by CARRIAGE RETURN with a SPACE. (To
get rid of some SOFT-RETURNS.)
Replace DOUBLE-QUOTES with a pair of SINGLE-QUOTES. (This is
normal typesetting practice.)
Replace a TAB with 8 spaces. (If your word processor indents
with TABs, you might want to change a TAB to no characters
instead.)
Replace a < with the special character used to start a
typesetting code in the PictureThis editor.
Replace a > with the special character used to end a
typesetting code in the PictureThis editor.
We don't know all of the ways word processors represent
SOFT-RETURNS and other important codes. If STANDARD.CVT does
not work properly with your word-processor files, you can
modify it and/or add to it to make it work. Sometimes just
writing the file out in ASCII mode might help. Try it! To
find out how your word processor represents SOFT-RETURNS,
write a short file in your word processor. Then look at the
HEX version of it using any one of numerous utilities that
exist. We'd use LOTUS MAGELLAN, but there are many more. Try
to figure out what code your word processor is using for a
SOFT-RETURN, and write a conversion instruction file to
change it to a SPACE.
30. COMMAND LINE PARAMETERS/CONFIGURATION FILE
When you install PictureThis, you must specify how many
curves you want to allow for and what screen type you are
107
using. This information is saved in a configuration file in
the default directory (called PICTHIS.CFG) and used each
time you run PICTHIS4, so you don't have to type in
configuration information when you subsequently run
PictureThis unless you want to change it.
The two command line parameters are, IN ORDER:
1. A letter (a-h or A-H). The letter indicates how many
curves are to be allowed. An 'A' (or 'a') means 250 curves.
Each succeeding letter adds 250 more curves, so: a = 250; b
= 500; c = 750; d = 1000; e = 1250; f = 1500; g = 1750; h =
2000. The default is A.
2. A three letter indicator of the screen type: CGA, EGA, or
VGA. If not specified, the default is CGA. (Case is ignored,
so ega means the same as EGA.)
The command line parameters must be specified in order,
but you do not need to specify both of them. If you need to
specify only the number of curves, just specify the first
parameter. But if you need to change the screen type, you
must specify the first two parameters.
Examples of legal command lines:
PICTHIS4 b ega
PICTHIS4 A VGA
picthis4 d
picthis4 c EGA
PictureThis saves in PICTHIS.CFG not only these command
line parameters, but also the aspect ratio and the
directories of the font files, the screen font files, and
the Kartoon features files. When you install PictureThis,
PICTHIS.CFG includes the directories of these files as
installed. If you change the locations of these files, and
PictureThis cannot find the needed file, it asks you for a
new directory. After you type in this new directory, it is
saved in PICTHIS.CFG, so you do not have to type in the
directory every time you run PictureThis.
31. MEMORY MANAGEMENT
PictureThis is a large and complex program which maintains
a large amount of user generated data and thus uses a lot of
computer memory. But it is still usable on a PC with only
standard memory (640K). There is no need to have extended
and/or expanded memory (though you can use them (see Section
32)).
31.1 MEMORY USAGE
In addition to memory used by the program itself, and
small amounts of memory used and then freed during various
operations, five types of data use considerable memory:
1. Data used to define curves, endpoints, trails, and
108
objects. You must specify how many curves are allowed with a
command line parameter (see Section 30). See Section 31.2 to
determine how to handle this curve space.
2. Textblock data (all of the text, plus all of the
information needed for placing the text in the proper
position, with the proper font, size, etc.). The memory
required for this depends on how much text is in a drawing.
When a textblock is cut or deleted, much of the memory it
used is freed, but a portion of it is NOT freed. If you cut
and delete large textblocks frequently, you can build up a
considerable amount of unusable memory. THIS MEMORY CAN BE
FREED SIMPLY BY SAVING YOUR DRAWING AND THEN GETTING IT
AGAIN.
3. Font information (character widths, kerning, etc.) for
each font used and definitions of all characters for each
screenfont used.
4. Background pixel color values for the drawing screen.
When each curve is drawn, the previous color of each pixel
in the curve is saved. This allows you to move or erase a
curve (or a full object) without leaving "holes" in the
background. (This is most obvious when you are using a
template.) This information is saved in a highly compressed
form used not only for redrawing the background when an
element is erased, but also for dashing elements for
selection (e.g., when choosing an object to copy). CGA mode
uses less pixel memory than EGA mode, which uses somewhat
less than VGA mode. Unfortunately, a page of small text uses
a lot of pixel memory, sometimes more than is available.
"Greeking" the text helps, but is sometimes undesirable.
See Section 31.3 for a way to eliminate the pixel memory
used for text.
5. A VGA template uses a portion of memory, only when a
template is read into PictureThis, and only in VGA mode. If
you no longer need a VGA template, you can free memory by
saving your drawing, exiting PictureThis, and then
restarting PictureThis.
31.2 CURVE SPACE
Memory used to store curve, endpoint, and object
definitions is determined each time that you start
PictureThis by a command line parameter or by the
PICTHIS.CFG configuration file. You can choose by command
line parameters (see Section 30), how many curves you want
to allow (proportional numbers of endpoints and objects are
then allowed also). For a simple drawing or a mostly textual
page choose A, the default. For more complex drawings,
choose a higher setting. The memory allocated when the
program starts is called "curve space."
You can determine how close you are to the limits for
curves, endpoints, and objects by checking the curve space
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, and
objects you have used, and how many are allowed. To toggle
off the curve space used box, press U again. When the value
109
of any of these parameters (for curves, endpoints, or
objects) reaches 90% of its maximum, a message appears at
the top of the screen: "OVER 90% OF CURVE SPACE 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:
"CURVE SPACE FULL - SAVE DRAWING NOW"/"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 "CURVE SPACE 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 "CURVE SPACE FULL"
MESSAGE. (Note that you may 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, restart
PictureThis with a "higher" letter (for example, B instead
of A).
31.3 TEXT BACKGROUND SAVE
Text, especially a page full of small-point-size text uses
a lot of pixel memory. There frequently isn't enough memory
to display a full page of small text on the screen. To solve
this problem, we have added the ability to turn off the
background save FOR TEXT ONLY. To do this, press F9 to enter
the Miscellaneous menu, and then press B. You can choose S
for saving the text background or N for NOT saving the text
background. With either selection, the program functions
essentially the same. When NoSave is chosen, there are only
minor differences:
a. When any text is erased, a hole is left in the
background. Press D to redraw and get rid of the hole.
b. Where text is normally dashed-and-dotted (e.g., for
grouping an object), it is dashed with NoSave.
c. Dashing and erasing of text is slower.
For normal drawing with only small amounts of text, use
the Save option (the default). If you are doing a full page
of text, it is probably preferable to use the NoSave option
and/or to "greek" the text (on the drawing screen only). If
you save a drawing, the current Save/NoSave option is saved
with the drawing and is used when the drawing is imported.
31.4 INSUFFICIENT MEMORY ERROR MESSAGES
110
When you are setting text from the editor, you might see a
message: NOT ENOUGH MEMORY FOR TEXT - SavDRW & GetDRW. Don't
panic. Save your drawing. Import it again. Then go back into
the editor and check whether you have placed an END-OF-TEXT
marker (Ctrl Q) in the appropriate place (you might have
been trying to set the contents of the entire editor, which
could be much more than will fit on the page); if not, put
one in. Press F5 to try setting the text again. If it
doesn't work this time, you will have to "greek" the text on
the drawing screen or switch to NoSave for text background.
For any other "NOT ENOUGH MEMORY" error message, do some
or all of the following (usually in the order specified):
1. Save your drawing and get it again without leaving
PictureThis.
2. If you have a lot of text, "greek" the text by pressing
J.
3. If you are in Kartoons mode, press C to exit Kartoons
mode, then K to reenter Kartoons mode where you left it, but
with extra memory available.
4. If you have a lot of text, switch to NoSave text
Background save setting.
5. Save your drawing, exit PictureThis, and reenter it with
a lower curve letter (e.g., B instead of F).
6. Exit PictureThis. At the DOS prompt type:
SET RTVMCONV=0
Restart PictureThis. This causes PictureThis to use the
least possible amount of memory for program execution,
leaving more for data. This will only have an effect if you
do not have extended or expanded memory that PictureThis can
use for swapping. PictureThis will now need to swap parts
of PICTHIS4.OVL from disk more frequently. This is fine if
PICTHIS4.OVL is on a fast hard disk or a RAM disk, but could
slow it down unacceptably if it is on a floppy. If the
slowdown is unacceptable, reset it by typing (at the DOS
prompt):
SET RTVMCONV=25.%
(Don't forget the period before the percent sign.) If the 0
setting has a desirable effect, you may want to place this
line in your AUTOEXEC.BAT file or another batch file. (See
your DOS manual.) See Section 32 for more information on
program swapping.
7. 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 then
are unable to see the characters, even on the Quickshow
screen.
111
32. OPTIMIZING OVERLAY SWAPPING
To allow for more memory for data, the PictureThis program
is contained in two files, PICTHIS4.EXE (the root section
which is always loaded) and PICTHIS4.OVL (the overlay
section, only parts of which are loaded at any time). Here's
how the overlayed program works. PICTHIS4.EXE loads and
looks for PICTHIS4.OVL. If it doesn't find PICTHIS4.OVL in
the default directory, you'll be prompted to provide a path
to it. As you use the program, parts of the overlay file are
loaded into RAM from disk, as required. After a part has
been loaded, it remains in RAM (no further disk accesses
needed) unless it is displaced by another part loaded in (if
there isn't enough room in RAM for both). If you have a
reasonably fast hard drive, the "swapping" should be barely
noticeable most of the time, but if you have a slow hard
drive or only floppy drives, you can make the "swapping" of
overlay parts instantaneous as follows:
1. If you have extended memory with an XMS v. 2 device
driver loaded (typically called HIMEM.SYS, this comes with
WINDOWS, DOS 5.0, and other software, and is also available
from some BBS's; it must be installed as a device driver in
your CONFIG.SYS file--see the instructions that come with
it), or expanded memory (EMS 3.2+) hardware or software
emulation, then the overlay parts are automatically cached
in extended and/or expanded memory, respectively, and won't
need to be read from disk the next time they are needed. (Of
course, this assumes that you have enough free extended or
expanded memory to store the parts.) NOTE: Some EMS
emulators may not work correctly, since the overlay parts
are not just cached in expanded memory, but actually run
from it.
2. If you have extended memory, but no XMS v. 2 driver and
no expanded memory, then you can set up a RAM disk (using
DOS's VDISK or RAMDRIVE or a proprietary driver) and copy
PICTHIS4.OVL to it BEFORE you load PictureThis. Make sure
that there is NOT a copy of PICTHIS4.OVL in the directory
from which you run PICTHIS4.EXE, or you won't be prompted
for the path of the overlay. When prompted, give the drive
designation for the ram drive containing PICTHIS4.OVL (most
likely, D:). The RAM disk must be at least 234KB to hold
PICTHIS4.OVL.
You need to carry out the following steps:
a. Put the device driver for the RAM disk in your CONFIG.SYS
file (see your DOS manual).
b. Rename PICTHIS4.OVL to PICTHIS4.OV in your PICTHIS4
directory (REN PICTHIS4.OVL PICTHIS4.OV).
c. Copy PICTHIS4.OV in your PICTHIS4 directory to
PICTHIS4.OVL in your RAM disk (COPY PICTHIS4.OV
D:PICTHIS4.OVL).
d. At the DOS prompt type: SET RTVMCONV=0.
This reduces the amount of conventional memory used for
overlays to the least possible amount and allows more room
for data. e. Run PictureThis.
If you want to do this all of the time, you should use a
112
batch file that carries out the last three steps. A sample
batch file named PICTHS4B.BAT is included on the
distribution disks (you may have to change it slightly).
3. If you only have floppies and no extended or expanded
memory, you can set up a RAM disk (in "lower" -- 640KB --
memory) and put PICTHIS4.OVL there for quick swapping -- but
you'll have less room for your drawing. As an alternative,
there is a compressed version of PictureThis with program
parts called PICTHS4C.EXE and PICTHS4C.OVL included on the
distribution disks, which can be used to minimize the memory
required (the RAM disk need only be 122KB), but swapping
will be slower, since the overlay parts must be decompressed
each time they are read from disk. If you do this regularly,
you should use a batch file as in number 2 above, but
modified to work with PICTHS4C. You will have to experiment
to see which setup is the best for your individual
situation.
NOTE: If you are running PictureThis on a "slow" computer
(PC or XT), you can gain quite a bit of speed, and also some
pixel memory by switching to CGA mode (see Section 30). CGA
mode doesn't look as good on the screen, but you can do
everything in CGA mode that you can in the other modes, and
the printed output has the same high resolution.
33. 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!
113