home *** CD-ROM | disk | FTP | other *** search
- FONTED ((c) B.Meißner, 1989)
- ════════════════════════════════
-
- Author:
- Burkhard Meißner
- Friedheim 86
- 2390 Flensburg
- Federal Republic of Germany
- tel.: 0049-461-30315
-
- Notice:
- ───────
-
- FONTED is a very flexible program that you can forge to you special needs; be
- sure to read the remainder of this file to become acquainted with the
- program's features.
-
- You should print this file in order to have its information at hand, when
- working with FONTED.
-
-
- Contents of this file:
- ──────────────────────
-
- 1) The Shareware concept
- 2) About the author
- 3) Disclaimer
- 4) Purpose
- 5) Hardware requirements
- 6) Starting the program
- 7) Parameter file
- 8) How to get help
- 9) Editing a font
- 10) Example screen display
- 11) Alternate pixels
- 12) Insert/Delete
- 13) Move character within box
- 14) Fold, turn or miniaturize character
- 15) Change width of character box (matrix)
- 16) Read area into paste buffer
- 17) Paste contents of paste buffer to location in character display
- 18) Invert character
- 19) Discard all changes and restore original character
- 20) Changing right or left widths
- 21) Switching to a new character
- 22) Using the alphabet display
- 23) Changing the font type
- 24) Saving your font
- 25) Using your font
- 26) Editing fonts without initialization string
- 27) Editing draft quality fonts
- 28) Merging two fonts
- 29) General advice
- 30) Technical information
- 31) Example fonts and program files
-
-
- 1) The Shareware concept:
- ──────────────────────
-
- All FONTED files, the FONTED.EXE program module and all accompanying software
- and font files are copyright Burkhard Meißner.
-
- Permission, however, is granted to everybody to copy and share these files and
- to pass copies of the program and all accompanying files, provided that:
-
- - no fee is charged on such copying and distribution, except for a nominal
- charge, covering the real costs of copying and distributing the software. All
- copying and distribution for commercial purposes is explicitly excluded.
-
- - all files are distributed together and in unaltered form; patched, truncated
- or enlarged files of the FONTED package must not be copied and distributed to
- any third party
-
- - the distributed files are not embodied in a new environment of software
- alien to the FONTED system, be it of commercial or non-commercial character
-
- We think it is fair to ask for a small registration fee that you should send
- us, if you use FONTED for your own purposes. Especially, if you are
- distributing font files around that you have produced or edited using FONTED,
- you should send us such a contribution. We think, $ 15 (25 DM in Germany) is
- appropriate. Such contribution will be gratefully received. If for any
- reason the program proves exceptionally useful to you, you are encouraged to
- send more, if you can afford it. If you want to give us your comments, bug
- reports or suggestions for improvements, we will certainly appreciate your
- efforts gratefully. Please send all communications and contribution to
-
- Burkhard Meissner
- Friedheim 86
- D-2390 Flensburg
- tel.:
- 0049-461-30315 (from overseas)
- 0461-30315 (from within Germany)
-
-
- About the author:
- 2) ─────────────────
-
- I am a classicist, working in the field of Ancient History. This year, I have
- submitted a doctoral thesis to the university of Heidelberg. Besides, I am
- working at the history department of the Technische Hochschule Darmstadt.
- Over the last years, I have acquired some programming experience in SNOBOL4,
- MacroSPITBOL, assembly language and the C programming language. Most of my
- programming is done in connection with my work and is therefore strictly
- nonnumeric in character. For such purposes, the SPITBOL and SNOBOL4
- programming languages are especially well suited. If, by chance, you have
- something of this kind to be done, get into contact with me; perhaps I can
- help you with your programming needs.
-
-
- 3) Disclaimer:
- ───────────
-
- The author does not warrant that the functions contained in the program will
- meet any users requirements or that the operation of the program will be
- uninterrupted or error-free. In no event will the author or the distributor
- be liable to the user for any damages, including lost profits, lost savings or
- other incidental or consequential damages arising out of the use or inability
- to use the program, even if the author has been advised of the possibility of
- such damages, or for any claim by any other party. The program is provided
- "as is", without warranty of any kind, either expressed or implied. The
- entire risk as to the quality and performance of the program is with the user.
- Should the program prove defective, the user assumes the entire cost of all
- necessary servicing, repair or correction. Liability is limited to replacing
- the software or refunding the purchasing price.
-
-
- 4) Purpose:
- ────────
-
- The Program reads, edits and writes binary download fonts for NEC P6/EPSON LQ
- class printers in letter quality or draft mode.
-
- The program is extraordinarily flexible and can be configured by the user to
- his particular needs.
-
- Besides the more usual editing activities it supports cutting and pasting,
- inversion of pixels, folding and size reduction along two axes and character
- moving.
-
- The program allows for the automatic creation of a widths table file
- containing all necessary information about your font to allow it to be used by
- several word processors. FONTED fonts are suitable for use in connection with
- most professional word processors.
-
-
- 5) Hardware requirements:
- ──────────────────────
-
- The program uses the default monochrome display. No graphics capabilities are
- required. You may have to adjust the brightness and contrast settings of you
- CRT in order to be able to distinguish between two variant cursor forms in the
- character display (see below). Memory requirements: 220 KByte free memory.
- Some non-critical BIOS calls are made for the screen and the keyboard. If you
- have a very non-standard BIOS, this may cause the program to not work on your
- machine. On startup, allow some time for initialization. To make use of the
- fonts produced, you should have a 24 pin printhead printer that complies with
- the EPSON LQ/NECP 5 6 7 standard and allows for the downloading of external
- font files.
-
- 6) Starting the program:
- ─────────────────────
-
- Type
-
- FONTED
-
- on the DOS prompt.
-
- If you want to modify an existing font, add the filename of the font:
-
- FONTED font.bin
-
- Before editing an existing font, you should make sure that you have made
- backup copies of your font. There is always the possibility of some hardware
- or software malfunction. For the same reason ensure that you have taken a
- backup of the program file itself.
-
- Allow some time for the program to initialize.
-
- 7) Parameter file:
- ───────────────
-
- The program reads a configuration file FONTED.CNF that must reside in the
- current working directory. It contains information about fonts and parameter
- settings to the program. Basically, its lines have the following format (in
- sequence):
-
- FONT_DESIGNATOR_SYMBOL (2 letters)
- =
- INITIALIZATION_STRING (numbers represent ASCII byte values)
- =
- MAXIMUM_LETTER_MATRIX (must be given)
- =
- FIXED_TOTAL_CHARACTER_WIDTH (optional, default: proportional spacing)
-
- Such a line might read (* marks comments):
-
- *
- * Definition for ELite printing:
- * Maximum matrix width allowed = 26
- * Fixed character width = 30
- *
- EL=27 120 1 27 77=26=30
-
- Nomenclature:
-
- FONT_DESIGNATOR_SYMBOL: A symbolic name, given to a specific font by the
- user. The font type is referred to by this symbolic name within the program.
-
- INITIALIZATION_STRING: This is a sequence of bytes at the beginning of your
- font file. Any sequence of bytes may occur; for instance you might choose a
- sequence that initializes the printer completely and sets it to a specific
- pitch/quality combination. These bytes must have meaning to your printer.
- Strictly speaking, these bytes are nothing more than a "header" to your font
- file, because the commands for loading your font into the printer's memory are
- written to the file by FONTED automatically. Nevertheless, these header bytes
- are used by FONTED to distinguish between different font types.
-
- MAXIMUM_LETTER_MATRIX: Maximum width of the character proper (ranges from 1
- to 43).
-
- FIXED_TOTAL_CHARACTER_WIDTH: In a fixed spacing font, the sum of three values
- sent to the printer must be constant: (a) the space to the left of the
- character, (b) the space occupied by the character itself and (c) the space to
- the right of the character. If given, the program adjusts these values
- automatically. If a given maximum character matrix width exceeds the
- character's total widths, the program aborts width an error message.
-
- This information is used by the program on reading and writing your font.
- Thus, all necessary "header" information about your font must be given. If,
- for instance, your font initializes the printer before downloading, modify the
- string accordingly:
-
- EL=27 64 27 120 1 27 77=26=30
-
- You can enter a variety of such font definitions. If you do not want your
- font to initialize the printer automatically, or if you want the program to
- recognize an existing font of this kind, you should not insert any numbers
- between the first = and the second = signs. The first two letters are used by
- the program to identify your font. Later you will use these letters to
- communicate with the program about font type changes etc. If you want to have
- your font as a proportional font, leave out the last fixed widths
- specification (and the preceeding = sign), if you like. Take care not to feed
- irregular values to the program; this may cause it to abort with an error.
-
- Note: You can specify character matrix widths up to 43. NEC P 5 6 7 printers
- cannot have characters built of more than 37 columns!
-
- In addition, you can alter the default character range. The default settings
- are:
-
- * Set first letter to 32 (space) and last letter to 127
- * (BACKSPACE-DELETE)
- FL=32 LL=127
-
- You are, however, not encouraged to select a very wide character range,
- because the program's capacity is limited. This can result in the program
- memory's overflowing and in an abnormal ending of FONTED. FONTED works best
- with the settings in this package's FONTED.CNF file.
-
- Normally, matrix printers do not allow for pixels to be printed in adjacent
- columns. This may cause damage to your printer's print head, and we have
- designed the program to check for occurrences of double pixels effectively.
- To override these checks, enter
-
- DOUBLE=Y
-
- in the configuration file. You are strongly discouraged from doing so,
- because this may cause harm to your print head.
-
- Instead of inserting this line in the configuration file, you can call FONTED
- with the /N parameter. When editing printer fonts, you should never do this,
- however.
-
- Enclosed with this program you will find a fully annotated configuration file
- FONTED.CNF (with embedded comments) that you should consult before altering
- the configuration or writing a new FONTED.CNF file.
-
- 8) How to get help:
- ────────────────
-
- Once you are in the character display, you can always invoke a simple HELP
- facility. On pressing ALT-H, you can have the program display to you the
- contents of a file FONTED.HLP. If this file is not present in the current
- directory, you get an error message instead. The help file displays an
- overview over the FONTED keys and some additional information. After any of
- its screens you can either return to editing or continue getting help. The
- help file itself is a simple ASCII text file, that means, you can edit it and
- change it to your needs.
-
- In fact, FONTED displays every possible contents of the file FONTED.HLP. Once
- you have become more familiar with the program, you can think of using
- FONTED.HLP to get your current directory. A sensible strategy to pursue would
- be to rename your FONTED.HLP file to some other name, say FONTHELP.TXT. You
- would then start your font editor from a batch file along the following lines:
-
- ECHO OFF
- CLS
- DIR /w > DIR.TXT
- COPY FONTHELP.TXT + DIR.TXT FONTED.HLP
- FONTED %1
-
- Suppose, you have named this batch file FE.BAT. Editing an existing font
- would then require you to enter FE font.fil. On pressing ALT-H from within
- the font editor you would see your current directory AFTER the font editor
- information. To get it right at the beginning of the font editor replace the
- fourth batch file line by
-
- COPY DIR.TXT + FONTHELP.TXT FONTED.HLP
-
- The initial help screen you get on pressing ALT-H gives an overview over all
- FONTED command keys:
-
- ╔════════════════════════════════╤═══════════════════════════════════════════╗
- ║ [CHAR] go to CHARacter │ [Home],[End] Beginning, end of row ║
- ║ [Alt-A] Go to ALPHABET display │ [PgUp/Dn] Top/bottom of column ║
- ║ [Alt-B] Previous character │ [Ctrl-Left] Move character 1 col. left ║
- ║ [Alt-C] anti-Clockwise turn │ [Ctrl-Right] Move character 1 col. right ║
- ║ [Alt-D] Duplicate to buffer │ [Ctrl-PgUp] Move character 1 row up ║
- ║ [Alt-H] type Help text │ [Ctrl-PgDn] Move character 1 row down ║
- ║ [Alt-I] Invert pixels in char. │ [+] Insert row into character ║
- ║ [Alt-L] change Left width │ [-] Delete row from character ║
- ║ [Alt-M] Mark for paste buffer │ [Esc] Restore character ║
- ║ [Alt-N] Next character │ [Ins] Insert column into character ║
- ║ [Alt-P] Paste buffer contents │ [Del] a) in character display: ║
- ║ [Alt-R] change Right width │ Delete column ║
- ║ [Alt-S] delete every 2nd col. │ b) in ALPHABET display: ║
- ║ [Alt-T] change font Type │ Delete (undefine) char. ║
- ║ [Alt-X] eXtract every 2nd row │ <RETURN> a) in character display: ║
- ║ [Alt-1] Fold char. vertically │ alternate pixel at cursor ║
- ║ [Alt-2] Fold char. horizont. │ position ║
- ║ [F1] Decrease matrix width │ b) in ALPHABET display: ║
- ║ [F2] Increase matrix width │ go to character ║
- ║ [F6] Increase matrix width │ Ctrl-<RETURN> EXIT/SAVE ║
- ╚════════════════════════════════╧═══════════════════════════════════════════╝
-
-
- 9) Editing a font:
- ───────────────
-
- The program proper displays a screen, divided into three parts:
-
- Left side: The character display Right upper corner: The parameter display
- Right lower corner: The alphabet display
-
- The character display always shows the actual character being edited, the
- parameter display shows the font type (2 letter symbol), the character, its
- ASCII value and three widths informations: the space left of the matrix, the
- matrix width itself (center) and additional space right of the matrix proper.
- The actual cursor position is shown and updated continuously. The character
- matrix frame contains two markers for the base line of normally-sized
- characters (19). The alphabet display shows the full ASCII character set,
- with an arrow indicating the actual character and small circles for all those
- characters that have been defined and are contained in the actual character
- set.
-
- The character box in the character display is made of two elements, dots ·
- signifying a non-printing position and boxes █ signifying a printing pixel.
- The overall dimensions of the character box represent the printing letter
- shape exactly, the pixels, however, are of different shape (squared instead of
- circular). Nevertheless, the character display should give you a rather clear
- idea of how the printing letter will look like. Around the character box
- there is a frame which indicates the actual box size limits. These can be
- altered (see below). Two markers indicate the default base line (19).
-
- 10) Example screen display:
- ───────────────────────
-
- │▒····································│ Curs: 01:01 Char: w (119)
- │·····································│ Help: Alt-H
- │·····································│ Type: PR Left: 4
- │·····································│ Center: 37
- │·····································│ Right: 4
- │·····································│
- │······█·······················█······│
- │···█·█·························█·█···│
- │··█·█·············█·············█·█··│ <---NON-PRINTING--CHARACTERS--->
- │·█·█·············█·█·············█·█·│
- │·█·█·············█·█·············█·█·│ !"#$%&'()*+,-./0123456789:;<=>?
- │█·█··············█·█··············█·█│ °°°°°°°°°°
- │█·█··············█·█··············█·█│ @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
- │█·█···············█···············█·█│ ° °° °°° °°° °°° °°
- │·█·█··············█··············█·█·│ `abcdefghijklmnopqrstuvwxyz{|}~
- │·█·█·············█·█·············█·█·│ °° ° °°°°°°°°°°°°°°°°° °°°
- │··█·█···········█···█···········█·█··│ ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒ
- │···█·█·······█·█·····█·█·······█·█···│
- ╞······█·█·█·█···········█·█·█·█······╡ áíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐
- │·····································│
- │·····································│ └┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀
- │·····································│
- │·····································│ αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■
- │·····································│
- └─────────────────────────────────────┘
-
-
- (Notice: <---NON-PRINTING--CHARACTERS---> are not shown as they appear
- on the screen)
-
-
- Editing a character in the character display:
- Cursor movement: CURS_UP
- CURS_DN
- CURS_RT
- CURS_LF
- HOME To left margin
- END To right margin
- PG_UP To upper margin
- PG_DN To lower margin
-
- 11) Alternate pixels:
- ─────────────────
-
- RETURN Switches between pixel set and
- pixel not set. If you are
- creating double pixels, the
- program detects this and issues
- a warning beep. The change
- affected is not executed. You
- can override this check: Start
- the program with the /n or /N
- parameter (e.d.: FONTED file.in
- /n) [or use DOUBLE=Y].
-
- There are two different cursor
- forms, one for the cursor on a
- pixel set, one for the cursor on
- a non-printing pixel position.
-
- On a pixel set, the cursor looks
- like ▓, otherwise it shows up as
- ▒. If, on reading these lines on
- your CRT, you cannot distinguish
- between these two characters,
- you should probably re-adjust
- your brightness and display
- contrast settings.
-
- 12) Insert/Delete:
- ──────────────
-
- INS Insert Column at cursor position
- DEL Delete Column at cursor position
- + Insert row at cursor position
- - Delete row at cursor position
-
-
- 13) Move character within box:
- ──────────────────────────
-
- CTRL-CURS_RT Move character 1 column right
- CTRL-CURS_LF Move character 1 column left
- CTRL-PG_UP Move character 1 row up
- CTRL-PG_DN Move character 1 row down
-
-
- 14) Fold, turn or miniaturize character:
- ────────────────────────────────────
-
- ALT-1 Fold along y axis
- ALT-2 Fold along x axis
- ALT-C Anti-Clockwise turn 90°
- ALT-S Delete every 2nd column
- ALT-X Delete every 2nd row
- (Note: The latter two are
- especially useful, if you are
- preparing a screen font for
- conversion by FONTCONV; don't
- forget to use the /n parameter
- or DOUBLE=Y in this case.
- The result will be all but
- perfect, and you will have to
- clean up the character).
- Moving your character to the right,
- left, up or down before applying
- the latter two procedures may
- yield better results. Try it out
- before saving the font (use ESC
- to restore the character to its pre-
- vious state).
-
-
-
- 15) Change width of character box (matrix):
- ───────────────────────────────────────
-
- F1 Make box smaller
- F2 or F6 Make box larger up to the limit
- set
-
- These operations affect the size of the character matrix; if it has already
- maximum size, you cannot increase it.
-
- 16) Read area into paste buffer:
- ────────────────────────────
-
- 1) Mark one corner of the area with
- ALT-M. There will be a marker
- at the cursor position where you
- hit ALT-M that looks like ≡.
-
- 2) Move the cursor to the opposite
- corner
-
- 3) Press ALT-D to duplicate every-
- thing between the marker and the
- present cursor position into the
- paste buffer.
-
- If you have invoked marking by accident, just hit ALT-D. The present pixel is
- then read into the paste buffer and its prior content dis- carded, but you can
- continue editing. If you want to re-locate the past-marker after pressing
- ALT-M just move the cursor to where you want to have it; the marker is moved
- and the paste buffer is re-initialized. The paste buffer is preserved over
- character or type changes. You may thus freely copy parts of any character
- into any other character matrix, provided they fit in the character box (see
- below). The contents of the paste buffer can be pasted more than once without
- reading it in each time anew.
-
-
- 17) Paste contents of paste buffer to location in character display:
- ────────────────────────────────────────────────────────────────
-
- Move the cursor to the upper left corner of the area and press ALT-P. If the
- contents of the paste buffer do not fit into the area, because the rows are
- not long enough, the remainder is discarded. If the contents of the paste
- buffer contain more rows than can be fitted into the area, remaining rows are
- discarded, too. If by chance your pasting of the buffer contents into the
- character matrix generates a double pixel, the program issues a warning
- message. No harm occurs, but you are encouraged to remove this double pixel
- pattern, before you try to compile your character shape into the printer's
- internal form.
-
- 18) Invert character:
- ─────────────────
-
- You can invert the pixels in the character currently edited (ALT-I). As with
- pasting, you get a warning message, if this process creates double pixels in
- one and the same row in the character matrix.
-
- 19) Discard all changes and restore original character:
- ───────────────────────────────────────────────────
-
- Press ESC. ESC restores the character to the shape it had before you started
- editing it, except for type changes.
-
- 20) Changing right or left widths:
- ──────────────────────────────
-
- If you are editing a fixed-spacing font, the spaces to the right and left of
- your character are automatically calculated by the program and adapted to your
- present character box size (width). If, however, the font you are editing is
- a proportional font (no fixed character size), you can alter these values
- manually. Press ALT-L for the left margin space and ALT-R for that to the
- right. In both cases you are asked to enter the new values directly into the
- parameter display. The values are checked and accepted only if they are
- correct. Otherwise, the old values are restored. This is the only accasion
- where you will interfere with the parameter display, execept for type change
- (see below).
-
- 21) Switching to a new character:
- ─────────────────────────────
-
- From the character display, you can switch to a new character by simply
- pressing the character on the keyboard (e.d.: a ). The present character is
- then compiled into its binary representation and the new character displayed,
- if it exists. Otherwise a new empty character box is generated for this
- character. If for some reason your character contains double pixels (as the
- result of a paste operation, for instance), it cannot be compiled. The
- program issues an error message, asking you to press any key. Afterwards you
- are back in the character display to remove any double pixels that might be
- present. Again you should press a to switch to the new character.
- Alternatively, you could press ALT-N to go to the next or ALT-B to go to the
- previous character. In any case, requesting a switch to a character outside
- the present character range results in a warning beep and nothing else.
-
- Depending upon the size of your current character, and depending upon the
- speed of your computing machinery, switching to a different character may take
- some time. You are asked to wait by FONTED while your character is compiled
- into the program's internal representation and the new character matrix set
- up.
-
- 22) Using the alphabet display:
- ───────────────────────────
-
- Pressing ALT-A you get into the alphabet display. You can move around freely
- with the cursor keys, while a normal DOS cursor is displayed. If you press
- RETURN on any character, this character is chosen to be edited next. Pressing
- DEL, you can undefine any character (delete it from the character set). Both
- operations are not allowed on the present character. Any errors bring you
- back to the character display with a warning beep. ESC brings you back
- without this beep.
-
- There are a few letters that you can choose for editing only via the ALPHABET
- display. Mainly, these are characters, whose keys have meaning to the program
- itself, for instance: - + ASCII_13 ASCII_10
-
- 23) Changing the font type:
- ───────────────────────
-
- The program detects the type of the font automatically on reading it in, as
- long as you have given it appropriate information. If what you are doing is
- creating a new character set, the last font type definition in the .CNF file
- is used as its type specification. In either case, you might want to change
- this. Press ALT-T (for type) and enter the new two-letter type specification.
- If it is a valid type identification name, the program compiles your present
- font into the new one. To do so, it must first compile your present character
- into the old format. If this cannot be done because of double pixels being
- present, you get the usual error message and the operation is aborted. If it
- can be done, the character set is converted with all widths informations
- changed accordingly. If the character boxes of any of your characters are to
- large to fit the new format (on changing from a 10 cpi or proportional font to
- a 12 cpi font. for instance), they are truncated on the right side. Otherwise
- they are left intact.
-
- 24) Saving your font:
- ─────────────────
-
- Press CTRL-RETURN. You shall then be asked to specify an output file. Enter
- the output file (or <RETURN>, if you do not want to save your font. The
- program then requests you to specify a character widths table file. Enter the
- name of this file or <RETURN>, if you do not need such a file. If you have
- responded with an empty <RETURN> to the first question, the program does not
- ask you to specify a widths table either and exits. Otherwise, the program
- saves your font to the specified file, writes a character widths table (if
- directed to do so) and exits afterwards. If the output file cannot be opened,
- the program aborts the process and returns you to the editor. If, however,
- the widths table file cannot be opened, no widths table is written and the
- program proceeds as if no widths table file had been requested. From any
- correctly written font file you can always get a widths table later.
-
- 25) Using your font:
- ────────────────
-
- The binary file obtained (the output file) must be copied to your printer's
- memory before it can be used. Do so with the DOS command
-
- COPY FONT.BIN LPT1 /B
-
- The character widths table gives you information that might be fed into your
- favourite word processor (ChiWriter from Horstmann Software, P.O. Box 5039,
- San Jose, CA 95150, California, USA is to be recommended for its flexibility
- and ease of use). The format of the character widths table file produced by
- FONTED is (in sequence):
-
- letter (decimal ASCII representation)
- space to left of character
- character matrix width
- space to right of character
- total character width
-
- units are in /360 inch for a letter quality font, /120 inch for a draft
- quality font and /80 inch for draft high speed fonts (NEC P 5 6 7).
-
- e.d.: B (66) 4 36 4 44
-
- As in the output file, letters are sorted by ascending ASCII sequence.
-
- To switch to you new font, you can employ either of two methods:
-
- - Select the "user defined" (HOST) character set
- from your printer's control panel.
-
- - Send the following ASCII character sequence
- directly to your printer (decimal values):
- 27 37 1
-
- To deselect your character set, either re-set your printer from the control
- panel, or send the following byte sequence to the printer: 27 37 0
-
- If you have desingned a fixed spacing font that contains diacritical signs
- (like our example font ELGREEK.BIN) and want to use these signs, preceed any
- of the diacritical signs by a BS (ASCII 8). This lets the printhead overprint
- the letter preceding the diacritical mark. You will have to make sure that
- your word processing software does this automatically.
-
- In the sub-directory FONTTEST you will find several files that are called by
- FONTTEST.BAT. Switch on your printer and enter "FONTTESTTEST" from the DOS
- level; your printer will print a sample from a Greek philosopher's great work
- to show you how to make use of diacritics.
-
-
- 26) Editing fonts without initialization string:
- ────────────────────────────────────────────
-
- In the parameter file, you can specify a font as having no initialization
- string by simply letting the space between the first and the second = signs
- free. Because the program recognizes the fonts by their initialization
- strings, all such fonts (with no initialization) will be regarded as identical
- on reading them. If a font with no initialization string is supplied to
- FONTED, the program will use recognize such a font as the font in your
- configuration definition that bears the symbolic name with the highest rank
- acording to alphabetic ordering ("AA" is tried before "ZZ"). After having
- read the font into the computer's memory, you can, however, convert it to any
- of the other types. To make effective use of this, you should make sure that
- the last font in your .CNF file that has an empty initialization string
- specified, is a proportionally spaced font, like:
-
- XX= =37
-
- This leaves the widths informations intact. On writing your font after
- converting it to the appropriate type and editing it in the usual manner, you
- will find the font correctly writen by the program.
-
- You should use this feature in exceptional cases only. Because the
- initialization strings are used by FONTED to recognize the fonts, and because
- an empty initialization string always matches, it may lead to a font being not
- recognized correctly. To prevent you from incurring any harm from this, try
- to figure out lexically "large" symbolic names for such fonts, like "ZZ" or
- "XX": The program sorts the fonts alphabetically, before trying to match any
- defined initialization string against the font being supplied. The first
- match counts.
-
- 27) Editing draft quality fonts:
- ────────────────────────────
-
- Instead of supplying initialization strings for letter quality fonts to the
- program, you can make it edit draft fonts. These fonts must comply with the
- restrictions imposed by your particular printer. For instance, on a NEC P 6
- printer, the characters in a draft quality font must not consist of more than
- 9 columns. Editing such fonts is straightforward. You will, however, notice
- that contrary to letter quality fonts, they do not come out with the right
- proportions on the screen. Rather, they appear squeezed along the x-axis by a
- factor of 3 and do not quite look like what they appear as on the printer.
- Editing such a font requires more imagination on the part of the user than
- editing a letter quality font. With a little practice, you can, however, use
- the program to edit draft quality fonts successfully.
-
- Editing draft quality fonts is slightly faster than editin letter quality
- fonts.
-
- 28) Merging two fonts:
- ──────────────────
-
- If you want to merge the characters of two fonts, you have three options. In
- all cases the two fonts must be of the type:
-
- 1) Supply them both consecutively to the printer; in the printer's memory all
- the characters will be accessible (unless you have a double-defined one, in
- this case only the last of two versions will be usable).
-
- 2) Or you create a version of one of these fonts without an initialization
- string. Copy this font to the tail (!) of the other font:
-
- COPY FONT_A.BIN + FONT_B.BIN FONT.BIN /B (Do not omit the /b parameter!)
-
- This will create a new font file that contains both fonts; make sure that
- FONT_B.BIN was saved as a font without a string to set up the printer. In
- this case, FONTED's memory behaves like the printer's: Of any two
- double-defined characters only the last one will be accessible. Make sure,
- FONT_B.BIN contains characters that come AFTER those in FONT_A.BIN according
- to the standard ASCII collating sequence.
-
- 3) There is a variant of method 2): Change your active font to a font type
- without a printer-setup string (that initializes your printer to a specific
- font). Instead of saving it to a new file or overwriting an existing file,
- you can append it to an existing file. On being asked for the output file
- name, just precede the filename with two ">" signs, as in: >>FONT.FIL. The
- active font is then appended to FONT.FIL rather than written over it. If
- FONT.FIL does not exist, it is created. Notice: This method is by far the
- best of all three; several times we have encountered difficulties with method
- 1)! Even with this method, you should append characters to FONT.FIL that
- occur later in the alphabet (or ASCII sequence).
-
- Generally, merging two fonts is a much safer strategy than attempting at
- handling an excessively large font. FONTED will simply abort with an error,
- if forced to work beyond its capacities.
-
- 29) General advice:
- ───────────────
-
- We have supplied a number of fonts with this package that you should use as
- examples to work upon, before trying to create a new font from scratch.
- Improving upon an existing font will always be a much better strategy than
- creating a new font from scratch. Try to make as much use as possible of the
- duplicate-and-paste buffer. This not only saves you much time but helps to
- give your characters a more uniform look.
-
-
- 30) Technical information:
- ──────────────────────
-
- The program was written in PC-SPITBOL, an implementation of the MacroSPITBOL
- language for MS-DOS machines. SPITBOL is an improved fast implementation of
- the SNOBOL4 language, which is especially suited to non-numerical programming
- in the fields of string and list processing as they frequently occur in the
- non-scientific disciplines.
-
- The program calls a few assembly language routines for the screen and the
- keyboard.
-
- I/O is done via I/O buffers of 12 KByte size.
-
- Internally, the characters are stored in a TABLE (effectively an associative
- hash array) by ASCII values. They are stored as strings of bytes as sent to
- the printer.
-
- The byte string of the character edited is converted to an array of strings,
- forming binary representation of the character's rows. This array is scanned
- columnwise on being read back to the table. As yet, this scanning is what
- limits the program's speed.
-
- Each time marking, duplication and pasting is invoked, a new paste buffer is
- set up as a new array.
-
- On a few occasions, especially on overflowing of the program's memory area,
- the FONTED may abort with an error message. If this occurs, report the
- conditions as precisely as possible to the author (including the error
- number), so that we can reproduce the error and fix possible bugs. In fact,
- FONTED should correctly edit and save any font that the NEC P 6 printer's
- built-in memory can hold.
-
-
- 31) Example fonts and program files:
- ────────────────────────────────
-
- FONTED .DOC This documentation file
- FONTED .EXE FONTED program module
- FONTED .CNF Configuration file for FONTED
- FONTED. GER German documentation file
- FONTED .HLP FONTED help file
- FONTHELP.GER German help file
- cyrill .bin Cyrillic letter quality proportional
- dhgreek .bin draft high speed Greek
- draft .bin example small draft font (incomplete)
- drgreek .bin draft Greek
- elgreek .bin Elite letter qulity Greek
- gothic .bin letter quality proportional Gothic
- greek .bin letter quality proportional Greek
- large .bin large scale sanserif font, lq, prop.
- sanserif.bin letter quality, proportional sanserif
- uncial .bin letter quality proportional uncial
-
-
- (Burkhard Meißner).