home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
555a.lha
/
wbfed_v0.93
/
readme.pp
/
readme
Wrap
Text File
|
1991-10-05
|
12KB
|
283 lines
Use this software at your own risk. It is provided "as is" and author
accepts no reponsibility or liability of any kind for it's use.
Your support (monetary, technical, moral, back, and Cubs) will be appreciated
and reciprocated. Without such support, any future release will be inferior
to it's potential, non-existant, or crippled.
Please do not re-distribute the registered version.
© 1991, Patrick F. Clark
2545 30th Avenue Court
Moline, IL 61265
(309) 764-0199
BIX: pclark
REMARKS
Requires 2.04.
This is a Bitmapped font editor only, and there are no plans to implement
outline font editing. My reasoning is as follows: outline fonts are black
and white only and useful primarily for printed output. The Amiga is most
useful in video work which requires color. Outline fonts are available by
the thousands. An outline font editor would be too expensive.
Program requires fair amounts of chip memory. This effectively limits large
color fonts to machines with 1 or 2 mb chip memory. A character set uses
chip memory in proportion to the max width, height, depth, and number of
defined characters. New characters require more chip memory than existing
characters (because exact size is unknown at allocation), so if you are
short of memory in creating a new font, Saving may free up some space.
Be sure you have a complete character set specified for "System Default
Text." Font is used in buttons to indicate proper character forms.
I find Courier to be good. Any reasonable size will work.
OPERATION
Fonts can be retrieved from anywhere, and saved back where they came
from. (Existing fonts do not require a font contents record, etc.)
New fonts can only be saved in FONTS directory and will create/
update font contents record as necessary.
Keyboard (as well as buttons) selects character.
A defined character's button is displayed in a highlighed manner. A
character is "defined" if it has width or kerning.
"Standard Character Set" menu item doesn't enforce such. Just displays
fewer buttons.
"Grid" menu item will auto deselect for very large characters.
Top two actual-size text lines come and go as space permits. Top line
shows the entire set from the character *before* the one you're on,
all the way to the end, as line space allows, so you can see the effect
of kerning. Second line is some plain text.
All changes to a character are "drawn" in the magnify window. The width
of the window indicates the maximum horizontal extent of the bits of
the given character. That extent varies by character. A new character
has an extent a little larger than the maximum you specify in the New
Font request, or a little larger than the largest character in an
existing font. In order to increase the width of an existing font by
a large amount, it will be necessary to save the font.
There is a limit to the maximum and minimum kerning values that seemed
reasonable, and which I think would be capable of creating right to
left fonts. However, I don't really know how such a font is supposed
to be stored, and it has not been tested in that usage.
Save Font does an implicit re-load.
The effects of changes to a character are shown on the magnified image and
on the top text line, if any. Changes are not shown in the second
text line until it is redrawn. (Kerning effects are shown in all
three places.)
The "illegal character" character is supplied by the program and cannot be
edited. It is not the commonly used rectangle, but a series of
vertical lines.
The 1.3 default colors are right for the first 4 colors. Didn't try to
find out what the remaining default colors are, if indeed they exist.
Color fonts are saved with the colors in use at the time. A complex color-
map of an existing font can thus be lost and be difficult to re-create.
New items in version 0.92
Speed/smoothness enhancements.
Import Font "merges" (see below) the characters of the imported font onto
the characters of the current font. Used primarily as a substitute for
Save As (which doesn't exist) in order to create a new font based on an
existing one. I chose to use Import instead of Save As because I have
been burned too often by choosing Save rather than Save As after having
changed a file, and damaged the original in so doing. Note that the
characteristics of the New Font take precedence over the Import Font. This
allows one to change the number of colors, the size, and the "fixedness" of
a font: use New to specify the characteristics you want, then use Import.
Characters are aligned at their upper left corners in the Import process,
but it may be preferable to align at the lower left -- let me know what you
think.
Uses custom screen with new look. Attempts to display with raised buttons
using palette of loaded font.
Allows color palette changes to color fonts.
Drawing tools: select a group via menu
Normal Group
Freehand: Dragging "paints" while mouse is down.
Bezier: Click one end point. First point must be inside of
magnify box. Other 2 points need not be.
Drag to second end point. ** see note
Move mouse, generating desired curve.
Click to complete. ** see note
Drawing tool is reset to Freehand by software
** Note: If pointer is off the window, press any key
to complete. Window may have to be resized and
dragged in order to draw left-curving lines. The
curve will be clipped to the character box.
Ellipse: Drag out a rectangle and release. Note that all
ellipses are an odd number of bits in each direction.
With small characters, it is more acurate to draw
a guide ellipse (see below), and then draw manually.
Filled ellipse: Same as above.
Rectangle: Same.
Filled rectangle: Same.
Line: Drag out a line.
Fill: Point and click. Drawing tool is reset to Freehand by
software.
Splines Group
Freehand: Same as normal.
Fill: Same as normal.
Spline: Draws a quadratic spline based on directrix lines made
with the following 3 tools. Splines proceed from the
center of one line to the center of the next. The
direction of the lines is significant. Note that the
button is a "command" that is executed immediately.
All other buttons are "modes" and do not do anything
without further action.
PolyDraw: Draws connected directrix lines. Click on each end
point once, and on final end point twice. The
direction of the lines is maintained as drawn.
Rectangle: Draws a rectangular connected set of directrix lines.
The direction of the lines is clockwise if you drag
the rectangle down and right or up and left. Other-
wise counterclockwise.
Line: Draws a single drectrix line pointing from the
starting point to the ending point. The ending point
is indicated with a "bulb" on it's end.
Guide Lines Group: temporary drawing of several kinds for use in
guiding the drawing of "real" lines.
All tools are the same as normal, except filled tools are misssing.
Editing Tools: (editing tools do not use the clipboard)
Copy: copies the entire character to the copy buffer.
Cut: copies the entire character to the copy buffer and then clears
the character.
Copy Bits: stretch out a rectangle. Bits so selected are copied to
the copy buffer.
Paste: If copy buffer was filled via Copy Bits, changes pointer to a
paste-pot brush: point and click to paste the bits where you want.
If copy buffer was filled va Cut or Copy, does an immediate paste
of the entire character.
Merge: copy buffer is "merged" with character. Operates as does Paste.
Undo: Replaces the character with the contents of the undo buffer. The
undo-buufer is re-filled whenever you change to a new character and
whenever you *manually* select a drawing tool. The undo is a
"single level" style, and there is no re-do.
Re-sizing of window is available. If window is sized below a certain
point, will switch to topaz for buttons. Even smaller windows
have no buttons. A window can be too small for any useful work, in
which case the program will complain.
TO DO LIST
Use of system "scale" function and/or auto-scaled outline-based fonts.
Implement re-do.
Allow control over magnification. Would require scrollable design box.
Cause guide lines to stay longer
Coordinate display
Flip horizonally and vertically
Big cross-hair pointer for rectangles, etc
Circle/ellipse from center (? The current way may be best for fonts.)
Save as
Color re-map
Width/height changes, fixed/proportional changes, n-colors changes other
than via New followed by Import.
Clipboard support
Cut/Copy/Paste are internal only. Copy buffer does survive Save/Open/
New, so you can exchange characters that way.
Automatic sizing window to minimum practical size.
Allow user-supplied text to be displayed.
Handle right to left fonts?
KNOWN BUGS
Sometimes saves larger files than it loads. I know why, but it's a pain
to fix.
This is a preliminary release. Don't save over only copy of a font.
GOTCHAs
Workbench uses a different text texhnique than Intuition. Color fonts have
color zero transparent on WB, but opaque on Intuition titlebar. Don't know
about console.
HELP NEEDED
Is there any doc on Color Fonts? I worked only with .h file. Be careful.
Does anyone have a right to left font? I'd like to see one. Are they
actually supported?
HELP RECEIVED
-- Bix ID: JMBEZEAU for bezier and spline routines
-- Bix ID: LUKE.WOOD for helpful suggestions and another bezier routine
UPDATE LOG
0.9 Initial release 8/4/91
0.91 Well, that didn't take long! Fixed fonts were screwed because of
a misunderstanding I had of how the space they occupy on the screen
is calculated. The "fixedness" appears only to apply to quick
cursor calculations. If the CharSpace array or the CharKern
array is present, then character display can easily turn out to be
proportional. My old routine worked in all cases with any new or
existing font, but system routines would not work with my version
of a fixed font. The existing font base follows the actual rules.
8/5/91
0.911 Added user re-size 8/6/91
Added undo 8/6/91
Speeded up magnify 8/7/91 (BltBitMapRastPort() vs RectFill())
Smoothed operation of Cut/Copy/Paste 8/7/91 (no more big re-think)
Kept "shading" of defined characters more up to date 8/7/91
0.92 Added drawing tools 8/8-9/91
Added custom screen etc 8/14/91
Added palette requester 8/15/91
Developed very fast magnify 8/16-18/91
Added Edit enhancements 8/21/91
Reduced memory usage 8/22-27/91
Added Import 9/13/91
0.93 Added Color re-map 9/16/91