home *** CD-ROM | disk | FTP | other *** search
-
-
-
- FONTEDIT Page 1 Documentation
-
-
-
-
-
-
- USER'S MANUAL
-
-
-
-
- *********************************************************************
- * *
- * FFFFF 000 N N TTTTT EEEEE DDDD IIIII TTTTT *
- * F O O NN N T E D D I T *
- * FF O O N N N T EE D D I T *
- * F O O N NN T E D D I T *
- * F OOO N N T EEEEE DDDD IIIII T *
- * *
- *********************************************************************
-
-
-
-
- A font editing program for Epson and compatable printers.
-
-
-
-
-
- Version 1.01
-
-
-
- Written by
- Claire A. Rinehart
- April 1986
-
- Copyright (c) 1986
-
-
-
-
- FONTEDIT is distributed as a shareware program. That is, you may use
- it, copy it and distribute it freely. You may not, however, sell it
- for more the the cost of the media upon which it is distributed. The
- author will not be liable for any damages resulting from use or
- inability to use this program or its associated utilities. The
- author reserves the right of copyright and this program may not be
- used commercially without the author's written consent. If you find
- this program helpful and would like to contribute to more high
- quality programs feel free to send a contribution up to $10.
- Feedback and contributions should be addressed to Claire A. Rinehart,
- 18C University Houses, Madison, WI 53705. Messages may be left on
- the Madison PC-Users Group board (608) 256-8088.
-
-
-
-
-
-
-
-
-
-
- FONTEDIT Page 2 Documentation
-
-
-
-
- TABLE OF CONTENTS
- _________________
-
-
- Introduction . . . . . . . . . . . . 3
-
- Overview of program . . . . . . . . . . . 3
-
- Acknowledgements . . . . . . . . . . . 3
-
- FONTEDIT.LBR contents . . . . . . . . . . 4
-
- What is a user defined character? . . . . . . . 4
-
- Details of functions . . . . . . . . . . 6
-
- Load font . . . . . . . . . . . . 6
-
- Save font . . . . . . . . . . . . 6
-
- Copy characters from another font . . . . . . 7
-
- Select character . . . . . . . . . . 7
-
- Edit font . . . . . . . . . . . . 7
-
- Cursor movement . . . . . . . . . 7
-
- Inserting and Deleting dots . . . . . . 7
-
- Shifting characters . . . . . . . . 8
-
- Fill character matrix . . . . . . . 8
-
- Clear character . . . . . . . . . 8
-
- Copy character . . . . . . . . . 8
-
- Print character . . . . . . . . . 8
-
- End Edit . . . . . . . . . 8
-
- Print current font . . . . . . . . . . 9
-
- Clear font . . . . . . . . . . . . 9
-
- End FONTEDIT program . . . . . . . . . 9
-
- Loading fonts into printer RAM . . . . . . . . 10
-
- Uses of FONTEDIT . . . . . . . . . . . 10
-
-
-
-
-
-
-
-
-
-
- FONTEDIT Page 3 Documentation
-
-
- INTRODUCTION
- ------------
- The impetus for writing this program came when I bought my first
- printer, an Epson JX-80. It is the color version of the early
- FX-series printers, as far as I can tell, and lacks the built in
- Greek and line characters that are found on other machines. Since I
- needed these for scientific report writing I set about to create this
- program. I admit that it has developed further than I had originally
- intended but has proven to very functional in a number of printer
- related matters and above all, educational.
- C. A. Rinehart April 1986
-
-
- OVERVIEW
- --------
- This program is designed for Epson JX, FX-series and compatable
- printers, such as the IBM proprinter, that have the capability to
- accept downloadable font characters from the attached computer. It
- allows you to create font characters, edit them, print them, save
- them to a font file, and send them to the printers RAM area by a
- separate utility program. Partial sets of characters may be copied
- from other font files and individual characters may be moved within
- the font being edited. This allows easy mixing and matching of
- characters for application specific font files. A number of example
- font files have been included to get you started and allow you to
- experiment with user defined characters before you invest much time
- in pursuing your own devices.
-
-
- ACKNOWLEDGEMENTS
- ----------------
- I wish to acknowledge the people whose public domain software was
- drawn upon for this project.
-
- Jim Everingham The Window Manager/Editor version 1.0
-
- Bela Lubkin INT24.PAS
-
- Chris Maeder DirectoryModule procedure.
- P.O. Box 2598
- Madison, WI 53701
-
- I want to thank these people and all the other authors that
- contribute code to the public. Shared programs are a great resource
- to draw upon when developing specific software. I also want to thank
- the Madison PC User's Group Turbo Pascal Special Interest Group for
- so effectively collecting and organizing the public domain Turbo
- programs, routines and utilities. This group has over 40 dsdd
- diskettes full of public domain Turbo software which they distribute
- at a very reasonable rate ($2/disk). Contact Chris Maeder for more
- information on this library.
-
-
-
-
-
-
-
-
-
-
-
-
- FONTEDIT Page 4 Documentation
-
-
- Files in FONTEDIT library
- -------------------------
- These files should be found in the library distributed as
- FONTEDIT.LBR:
-
- FONTEDIT.COM Compiled version of FONTEDIT.
- FONTEDIT.PAS Main Turbo Pascal (tm) source code for
- FONTEDIT.
- VAR.INC Include file for WindMngr.inc.
- WINDMNGR.INC Windowing by Jim Everingham.
- ANSWER.INC Include file to get a selected response.
- IXTON.INC Include file raised integer to power.
- FILES.INC File management module.
- EPSONLDR.COM Program to load font into Epson printer.
- EPSONLDR.PAS Source code for above.
- PROLDR.COM Program to load font into IBM Proprinter.
- PROLDR.PAS Source for above.
- GRKLN.FNT Font of greek letters and lines.
- IBM.FNT Font of IBM character set.
- SIDEWAYS.FNT Font of sideways characters.
-
-
- What is a "User Defined Character"??
- ------------------------------------
- Before jumping into character generation, I feel that it may be
- helpful to understand a little of how a character is defined for the
- printer. The character matrix is a 9 by 11 block as shown in figure
- 1. Each printer has nine pins in the print head. This makes it
- possible to print dots in any of nine positions per column. There
- is a limitation to the number of pins that can be fired at once,
- however, you can only select eight of these pins at one time.
- Therefore, you must select either the top or the bottom eight pins
- when printing a character. Selection of either the top or bottom 8
- pins is controlled by the attribute byte which will be discussed
- shortly. Effectively then, you are limited to an 8 by 11 matrix when
- designing a character. Notice that there are 11 columns in the
- character matrix. These are numbered as even and odd columns. Each
- dot when printed will fill the area defined by one box. Therefore,
- even and odd numbered columns would have overlapping dots if they
- were printed adjacent to one another. Printing dots in adjacent
- even and odd columns is not possible, however, since the pins cannot
- recover fast enough to fire the next stroke. FONTEDIT will not let
- you place contiguous dots in a character but will beep to indicate
- you are trying to enter an illegal dot. In figure 1. the Xs in the
- printing row for pin 8 shows illegally positioned dots. Rows 2 to 6
- show legal dot entries.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- FONTEDIT Page 5 Documentation
-
-
- 1 3 5 7 9 11 Odd Column #s
- PIN -------------------
- 9 | | | | | | |
- -------------------
- 8 | | XX | | | |
- -------------------
- 7 | | | | | | |
- -------------------
- 6 | | X| | X| | |
- ------------------- FIGURE 1
- 5 | | X X | | |
- -------------------
- 4 | X | X| X X |
- -------------------
- 3 | | X X | | |
- -------------------
- 2 | | X| | X| | |
- -------------------
- 1 | | | | | | |
- -------------------
- 2 4 6 8 10 Even Column #s
-
-
- Another consideration when designing a font is how much space are you
- going to reserve between each character. Typically columns 10 and 11
- are left unused to provide this space. Of course if you are
- designing a font which includes line characters that need to be
- continuous then certainly you would need to use these columns so that
- the lines drawn by two characters would appear continuous.
- Each character that is sent to the printer is defined by 12
- integers. The first integer to be sent is called the attribute and
- it tells the printer whether to use the top or the bottom eight pins
- for the character. The attribute also tells the printer which column
- to start and end printing when proportionally spaced characters are
- selected. The bit pattern of the attribute is defined by column 0 in
- figure 2. The next 11 integers in the character definition define
- the bit patterns of each column 1 through 11.
-
-
- Figure 2.
- Each font character
- 0 1 2 3 4 5 6 7 8 9 10 11 is an array of 11
- | integers that contain
- bit 7 1=top 8 pins;0= bottom 8 pins the summation of the
- pattern 6 \ binary values making up
- of 5 > starting column for each column. Notice
- ColNum 0 4 / proportional spacing that ColNum 0 is not
- 3 \ displayed. This is
- 2 \ ending column for the attribute integer
- 1 / proportional spacing and is used as shown
- 0 / in the figure.
-
- Each of the 11 integers is translated by the printer into the bit
- pattern firing instructions for the eight pins designated by the
-
-
-
-
-
-
-
-
-
- FONTEDIT Page 6 Documentation
-
-
- attribute. An example of 12 integers sent to the printer and their
- translation into the printed letter X is shown in figure 3. Notice
- that the values of the 11 column integers is the summation of the
- number 2 raised to the BitPower corresponding to a 1. For example
- column 3 has a column value of 2^2 + 2^6 or 68.
-
- Figure 3.
- BitPower
- 7 t - 1 - - - - - 1 - - -
- 6 o - - 1 - - - 1 - - - - printer array
- 5 p - - - 1 - 1 - - - - - of -s and 1s.
- 4 - - - - 1 - - - - - - A 1 will be printed
- 3 p - - - 1 - 1 - - - - - as a dot.
- 2 i - - 1 - - - 1 - - - - A - as a
- 1 n - 1 - - - - - 1 - - - blank.
- 0 s 1 - - - - - - - 1 - -
- 0 1 2 3 4 5 6 7 8 9 10 11 ColNum
- | | | | | | | | | | | |
- character 128|130| 40| 40|130| 0 |
- values 1 68 16 68 1 0
-
- FontEdit reverses the process just described for printing. It allows
- you to place dots in the character matrix and then store these bit
- patterns as 12 character integers which later can be edited or sent
- to the printer RAM.
-
-
-
-
- Details of functions.
- ---------------------
- CHARACTER WINDOW SELECTION
- The main menu of FONTEDIT provides several choices that are
- selectable with the function keys. Along with the menu window there
- is a character window. The character displayed can be changed by
- using the arrow keys or function keys Fn2 and Fn3.
-
- LOAD FONT
- The function key, Fn5, will load a font from disk into memory.
- You will be shown a list of files with the extension .FNT that are on
- the default drive. You may enter one of these or a path and name of
- another file. NOTE: You do not need to enter the extension; FONTEDIT
- assumes the extension of .FNT on all font files.
-
- SAVE FONT
- The function key, Fn6, will save a font in memory as a disk file.
- You will be asked for a file name to which you want to save the
- font. FONTEDIT will indicate if the file already exists and ask you
- if you want to overwrite the existing file. If the file name you
- enter is not found then the file is created with the extension of
- .FNT. NOTE: When entering the file name you do not need to enter the
- extension. If you enter an extersion, FONTEDIT will change it to
- .FNT.
-
-
-
-
-
-
-
-
-
-
- FONTEDIT Page 7 Documentation
-
-
- COPY CHARACTERS FROM ANOTHER FONT
- FONTEDIT allows you to copy a partial font from disk into a
- designated area of the font in memory by pressing Fn7. For example,
- if you have a font of greek letters in memory (characters 49-80) and
- want to also include a line drawing font in characters 81-121 then
- you would press Fn7. You would then be shown a list of font files
- and asked to enter the name of the file from which the new characters
- will be derived (LINE). You will then be asked to enter the
- beginning character of the font on disk that you wish to copy (41).
- Next, you will be asked for the last character to copy from the disk
- file (81). This assums that you know the locations of the characters
- in the disk font file. This information is readily available if you
- print out all of the fonts you create using Fn9 and keep them as a
- hard copy. You will then be asked to enter the character number of
- the font in memory to which the characters will begin to be
- transferred (81). Transfer will then begin. Using the above example
- characters 41 to 81 from the font file LINE would be transferred into
- characters 81 to 121 in the memory resident font.
- This function allows you to move blocks of characters around
- between fonts and within a font to create application specific fonts.
- Characters may be moved around within a font by saving the font to
- disk and then copying selected blocks into a blank font using Fn7.
-
- SELECT CHARACTER
- You may move to any character in the memory resident font by
- using Fn4. After selecting this function enter a character number in
- the range 0 to 255. That character will then be displayed in the
- character window. This function saves moving through the font one
- character at a time with the cursor keys.
-
-
-
-
- EDIT FONT
- A font character can be created or edited by pressing Fn1. This
- moves the cursor to the character window. The even and odd columns
- are displayed in different colored dots. Dots on the same row must
- be separated by at least one blank column. That means that the
- closest dots on the same row will have the same color.
-
- CURSOR MOVEMENT
- The cursor is moved around the character with the cursor
- keys. When the cursor reaches one of the edges of the character
- it is wrapped around to the opposite side of the character. The
- HOME and END keys move the cursor to the top right and lower left
- parts of the character respectively. The PgUp and PgDn keys move
- the cursor to the top and bottom of the character respectively
- while remaining in the same column.
-
- INSERTING AND DELETING DOTS
- Dots may be entered into the character field by pressing the
- INS key. If the CAPSLOCK key is off the INS key will display a
- dot and remain at those coordinates. If the CAPSLOCK key is on
- then the INS key will display a dot and move the cursor
-
-
-
-
-
-
-
-
-
- FONTEDIT Page 8 Documentation
-
-
- horizontally two spaces to the next valid dot position. The DEL
- key removes a dot from the character. If the CAPSLOCK key is on,
- the dot under the cursor is deleted and the cursor moves to the
- left two spaces otherwise the cursor remains at the deleted
- position. When using INS and DEL with the CAPSLOCK on the cursor
- not only wraps to the opposite side but also move to the next
- line.
-
- SHIFTING CHARACTERS
- All the dots within the character field can be moved in each
- of four directions with the function keys Fn1, Fn2, Fn3 and Fn4.
- Fn1 moves the character to the left. Fn2 moves the character up
- while Fn3 moves the character down. Fn4 moves the character to
- the right. These keys move the character one column or row in
- their respective direction and any dots moved out of the
- character field are lost. So, for example, if you pressed Fn1 and
- then Fn4 then all dots in column 1 would have been deleted.
-
- FILL CHARACTER
- You may fill a character field with dots and then edit it
- using the DEL function. You have a choice of filling either the
- odd or even columns. Fn5 will fill the even columns and Fn6 will
- fill the odd columns.
-
- CLEAR CHARACTER
- If you wish to start creation of a character over again, you
- may delete all the dots in the current character field with the
- Fn7 key.
-
- COPY CHARACTER
- When in the edit mode you may copy a character from the font
- resident in memory into the character being edited using the Fn8
- key. When queried, enter a character number between 0 and 255.
-
- PRINT CHARACTER
- When you have completed editing a character and would like to
- see how it looks printed out, press the Fn9 key. This function
- will exit the edit mode and print the character on the printer.
- The character will be printed in single-strike, double-strike,
- emphasized and double-strike emphasized printing weights. The
- three type styles used are pica, elite and compressed. This will
- allow you to see the character printed under several different
- conditions and aid in your editing process. NOTE: Not all
- printing weights are supported for each of the three type styles
- so don't get upset if your printer doesn't print the compressed
- type style in double-strike emphasized.
-
- END EDIT
- When you have finished editing a character use the Fn10 key
- to return to the main menu. Before FONTEDIT will return to the
- main menu it will display the current state of the attribute. It
- will show whether the top or the bottom 8 pins of the print head
- are to be used. It will also show the beginning and ending
- columns of the character to be used in proportional printing. If
-
-
-
-
-
-
-
-
-
- FONTEDIT Page 9 Documentation
-
-
- these parts of the attribute are acceptable then enter NO to the
- question "Do you want to change these values?" otherwise enter
- YES. If you enter YES then you will be asked to enter values for
- each part of the attribute. You can choose between the TOP and
- BOTTOM 8 pins in the print head. Next you will be asked to enter
- the beginning and ending columns for defining a proportionally
- spaced character. For most characters that use column 1, the
- beginning should be entered as 0. The ending column should take
- into account that a space should be left between each character.
- As a general rule, the ending should be at least two columns
- greater than the last column used by the character. For example,
- if a character used columns 1 through 8 then the beginning and
- ending columns would be 0 and 10 respectively. The beginning and
- ending information will ONLY be used by the printer when it is in
- the proportional mode. It will not affect the characters
- otherwise.
-
-
- PRINT CURRENT FONT
- Whenever you want to see what characters are in your current font
- you can use Fn10 from the main menu. This will print all the
- characters currently residing in memory with the exception of a few
- characters whose numbers are used as control codes. Characters 7-15,
- 17-20, 24, 27, 127, 135 and 255 are considered by the printer to be
- control codes. Therefore, when the font is printed these characters
- will be blank. You can however create font characters with these
- numbers and upload them to your printer's RAM. These characters can
- subsequently be printed using special control codes not included in
- this program. The user is referred to the printer manual for further
- discussion on this subject. If you create a character in one of
- these controll character regions and want to see what it looks like
- on your printer then use the print character function when you are in
- the edit mode for that character. This uses the printer RAM for
- character 33 to store and print the character, therefore any
- character printed in the edit mode will be displayed on the printer.
- NOTE: Printing a font on the printer destroys any characters
- previously stored in the printer RAM. A reset code is sent to the
- printer before and after printing the font currently in memory. This
- means that a fonts will no longer reside in the printer memory after
- printing the font. To load a font into the printer for access by
- other applications see "Loading fonts into printer RAM" below.
-
- CLEAR FONT
- You may clear a font by using the Fn8 key. This is useful after
- you have created a font and want to rearrange the characters. You
- must first save the font and then use Fn8 to clear memory. You would
- then use Fn7 to read characters from your original font file into the
- appropriate character locations in memory.
-
- END FONTEDIT PROGRAM
- The function key Fn10 in the main menu will allow you to exit the
- FONTEDIT program. You will be asked if you have saved the current
- font in memory. If you have already saved it or do not wish to save
- it then enter YES, otherwise NO will return you to the main menu of
-
-
-
-
-
-
-
-
-
- FONTEDIT Page 10 Documentation
-
-
- FONTEDIT.
-
-
- LOADING FONTS INTO PRINTER RAM
- ------------------------------
- Once a font has been created you will want to load it into the
- RAM of your printer. Two utility programs are provided with FONTEDIT
- to load fonts into printer memory. These programs are EPSONLDR and
- PROLDR and are for the Epson JX, FX-series and IBM Proprinter
- respectively. The IBM Proprinter uses slightly different commands to
- load fonts into memory. The proprinter also does not support
- proportional spacing, therefore the attribute integer is modified to
- the proper format during transfer to the printer. Each program
- displays the font files found in the active directory and requests
- you to enter a file name. File names may be selected from the list
- shown and entered as part of a path:filename.
-
- USES OF FONTEDIT
- ----------------
- There are three fonts included with FONTEDIT. These fonts are:
- GrkLn.fnt, IBM.fnt and Sideways.fnt. GrkLn.fnt is a collection of
- Greek and line characters that I use with my word processor. IBM.fnt
- is the IBM character font. Sideways.fnt is a font for printing
- sideways on a dot matrix printer without using graphics mode.
- There are other possibilities for using FONTEDIT, for instance
- you might want to create large characters or a particular logo
- without switching into graphics mode. The parts can be easily
- designed by FONTEDIT and assigned to the characters of you choice.
- There is also the option of creating your own graphics characters
- that will be printed at character instead of graphics speed. I
- created some special thick line characters to draw a figure in the
- middle of some text on my word processor. It worked out nicely!
- I have used the line characters to interface my printer with the
- maze creating program MAZE1LVL.PAS. I wrote a batch file that loaded
- the line characters into the printer and set it to use the RAM area
- for printing. I then called MAZE1LVL which I had modified to pause
- and ask if a printout was wanted. My children loved it. Now they can
- not only create mazes but they can print them out and challenge their
- friends.
-
- BE CREATIVE AND ENJOY FONTEDIT !!!
-
- Claire A. Rinehart
-
- 1986
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-