home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
programs
/
fonts
/
a_q
/
chred
/
!ChrEd
/
!Help
next >
Wrap
Text File
|
1995-02-18
|
11KB
|
235 lines
!ChrEd
¯¯¯¯¯¯
System font design utility
Written by D. Salt
Version 2.07, 18 February 1995
This is a !Help-ful application which allows you to edit as many fonts as
there is memory for at any one time (well, up to 16 anyway).
ChrEd installs itself on the right hand size of the iconbar.
Before you read any further, click once on the ChrEd icon and toggle the
window you've just opened to its full size. The title of the window should be
<Untitled>.
The 'current font' is the font in the editing window with the input focus.
The editing window initially displays the edit character (the magnified
image); below left, the normal size version (black on white), which reflects
any changes made to the image above; below right, the currently selected
character (red on cream), which is not affected. Off to the left and below
are various processing options; to the right, the font display and character
selector; below that, two options that decide whether the processing icons
affect the current character or the whole set.
New features
¯¯¯¯¯¯¯¯¯¯¯¯
The save box settings (range of characters to be saved) are set up for you
when you load a font or merge two together, and stored when you save the
font.
Simple editing
¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Just move the pointer over one of the boxes in the edit character and click
Select to set a pixel, or Adjust to clear it.
Storing the edit character
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
If the current character is not the one in which you want to store the
definition of the edit character, then move the pointer to the character you
want in the character set display to the right and click on it. You will
notice that it now appears in white on black instead of red on cream (the
character immediately below, in black on white, is the redefined version, and
may also be clicked on), and that the current character box also displays
this character. By the way, you can't select Delete.
To store the character, click on the ‘Store’ icon. The character set display
will be updated to show the change.
If you want to edit the previous definition of the character, click on
‘Swap’ instead.
By selecting another character then clicking on ‘Store’ (or ‘Swap’, if
appropriate), it is possible to copy definitions all over the place - even
from one font to another.
Restoring the character to its previous shape and grabbing a new character
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
If necessary, select a character as described above, then click on ‘Grab’.
If its default shape (as in the standard character set or currently defined
system font) is required, click on ‘Default’.
Slightly less simple editing
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
The edit character can be scrolled (with wraparound) in any direction. Just
click on the appropriate arrow.
If you want to reflect the character such that ⇦ becomes ⇨, click on ‘Flip
X’. Or, to change ⇧ into ⇩, click on ‘Flip Y’ (and then click on ‘⇧’ - I
couldn't come up with a better example).
Character rotation is also easy. ‘Rotate ⇨’ rotates the character 90°
clockwise, ‘Rotate ⇦’ rotates the character 90° anticlockwise.
To logically invert the character (black becomes white, etc.), click on
‘Invert’.
You can also start afresh by clicking on ‘Clear’.
The logic operators AND, OR, EOR
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
You need to understand a bit about binary and logic operators here. If you
already do, then ignore the following paragraph and the tables following it.
You may be aware that binary is a number base using only two digits, 0 and
1. Instead of each column representing 1s, 10s, 100s etc, they represent 1s,
2s, 4s, 8s etc. You can think of 0 as ‘off’ and 1 as ‘on’, or white and black
- the possible states of each pixel in the edit character and the current
character. The most relevant part is the logic operators. In the following
tables, the digits down the side represent the possible states of a pixel in
the edit character, and the digits across the top represent the equivalent
pixel in the current character. Think of these as coordinates pointing to one
of the remaining four digits, which represents the resulting pixel state.
AND - 1 if both = 1; OR - 1 if either = 1; EOR - 1 if either, not both, = 1
¦ 0 1 ¦ 0 1 ¦ 0 1
--+----- --+----- --+-----
0 ¦ 0 0 0 ¦ 0 1 0 ¦ 0 1
1 ¦ 0 1 1 ¦ 1 1 1 ¦ 1 0
Each operator combines the edit character and the current character
appropriately, and stores the result in the edit character.
The Undo facility
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Clicking on the Undo icon will cause the last store, grab, clear, default,
AND, OR, or EOR operation to be undone. Clicking on it again will reverse the
action.
Altering the whole font in one go
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Initially, the Character option is selected. In this mode, all the icons to
the left of and below the edit character affect only the edit character.
Now click on Character set. You will notice that ‘Grab’, ‘Store’, ‘Swap’,
‘Default’, ‘AND’, ‘OR’, ‘EOR’ and the arrow icons become unavailable. Also,
the remaining icons now affect the whole font. Altering the font in this way
takes a bit longer to do - hence the hourglass.
The flip, rotate, invert and clear operations take about 1½ seconds on my
A3010.
Selecting another font to edit
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Simple - just edit it. If you use the shortcuts, it's easy enough to tell
which has the input focus.
Saving a font
¯¯¯¯¯¯¯¯¯¯¯¯¯
Click Menu over the editing window and move the pointer to the right of
‘Save font’ (for the current font, you can press F3 instead). This will open
the save window, which, for the file icon, the filename entry box to its
right, and the 'OK' button, works in exactly the same way as for any other
application.
You can tell whether a font has unsaved data because its window title has an
asterisk at the end.
Using the radio icons, you can select exactly what you want to save...
'All' selects for saving the definitions for all of the characters
(including DELETE because I couldn't be bothered to remove it);
'Top bit set': the characters shown in the lower four rows of the character
set display ('€' to 'ÿ');
'Top bit clear': the rest of the characters (Space to '~');
'Special': whichever you want - enter them in the input box immediately
below this option.
Some of you are probably looking at the save box right now, and are noticing
the toggle size icon. Click on it to extend the window to its full size -
you'll see four buttons. When you're entering the characters you want to
save, click on one of these if you want. The buttons are:
'Normal \': any special meaning the following character may have is ignored.
To include it as a character to save, click on it twice!
'To -': range of characters, starting with the preceding character, and
ending with the following character. For example, A-Z will select all upper
case letters for saving.
'Hex ☓': Character code in hexadecimal. There MUST be two hex digits
following this code.
'Ctrl |': control sequence. Use |@ for ASCII 0, |A or |a for ASCII 1 ... |Z
or |z for ASCII 26, |[ or |{ (27), |\ (28), |] or |} (29), |^ or |~ (30), |_
or |` (31), || (124), |? (127). |! will add 128 to the following character's
code. (This is a subset of the GS format.)
You cannot select unprintable characters (ASCII code less than 32) for
saving; if you try to select Delete, it will be omitted.
Loading a font
¯¯¯¯¯¯¯¯¯¯¯¯¯¯
There are three ways to load a font: double-click on the file, drag it to an
editing window (merging it with the font present in that window), or drag it
to the ChrEd icon.
Any BBC font file can be loaded, provided that the file length is non-zero,
no greater than 2240, and a multiple of 10; and each definition must start
with CHR$ 23 then a printable character. You are told about non-printable
characters and duplicate definitions; these are ignored.
Testing a font
¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Select ‘Test font’ from the editing window's menu. The screen will be
automatically redrawn using the font.
To restore the standard font, select ‘Default font’.
Removing a font
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Click on its window's close icon. If there is unsaved data, you'll be asked
if you're sure you don't want to save it.
Exiting the application
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Select ‘Quit’ from the ChrEd icon menu. If there are any unsaved changes,
you will be asked to confirm (‘Discard’) or abandon in order to save the
altered fonts (‘Cancel’).
Shortcuts
¯¯¯¯¯¯¯¯¯
In most cases, clicking Adjust on an icon will perform the reverse action.
| represents SHIFT; ^ represents CTRL; ⇦ ⇨ ⇧ ⇩ represent the cursor keys.
Icon Key(s) Icon Key(s) Icon Key(s)
---- ------ ---- ------ ---- ------
Flip X ^X Default ^D F9 Scroll ⇦ ⇦
Flip Y ^Y Clear ^C Delete Scroll ⇨ ⇨
Rotate ⇨ ^Q AND & Scroll ⇧ ⇧
Rotate ⇦ ^A OR + Scroll ⇩ ⇩
Invert ^I EOR * Character ^O
Grab ^G F7 Copy Undo F8 Char. set ^P
Store ^S F6 Insert Swap ^W F5
Key(s) Function
------ --------
Font editing window
^F2 Close editing window (font file)
F3 Opens the Save box
Shift or Ctrl + cursor keys
Select adjacent character in specified direction from current
character
Save box
F1 Equivalent to pressing RETURN or clicking ‘OK’
F2-F5 Equvalent to clicking on a radio icon - F2 = all ... F5 = special
⇧ ⇩ Move to the other input box (if not greyed out)
Escape Close
Within the character set display:
SELECT or ADJUST to select the character under the pointer
Doubleclick:
SELECT to grab the character definition
ADJUST to store the edited definition
Shift-doubleclick:
SELECT to grab the character's default definition
ADJUST to swap the character definition with the edited definition
To use a font, *Print it, or load it somewhere in memory and use
SYS "OS_WriteN",<load address>,<file size>
to set it up.
A definition for Delete is included in files saved using the 'All' option,
though it is never used.
NOTE. If the character you selected for editing does not match the character
displayed in the current character box, then you are either not using the UK
(Latin1) character set, or you've defined your own with different characters
and are using it.
I have no plans to change this; however, it is easily done - apply !Paint to
the sprite 'chred_map'. The text should be in ASCII order, 32 characters per
line, width=8, height=8, spacing=9. The text must line up perfectly with the
existing text. You will find it easiest to plot in black, globally change red
to cream, then black to red. Don't remove Delete.
If you made such a change to the sprite 'chred_map0' in an older version,
then save that sprite to the new 'Sprites' file as 'chred_map'.