LC24_200 Fonts Disc. (c) Jeff Tullin 1991 This disc is a demo version only. Although you may load and edit one of the two supplied fonts, download them to the printer and use them, the SAVE functions have been disabled, so there is no way of storing any changes you make to a font permanently. The following instructions, however, do not acknowledge this fact, and will refer to the SAVE functions as if they were intact. The complete version of the program, and an accompanying single character program, is supplied with 10 fonts on disc, and all functions enabled. It may be obtained from any PD Library which sells Deja Vu (formerly AMOS) Licenceware discs, for the usual fee, (currently 3.50 pounds sterling), of which a proportion is paid to the author. If you like the results this program gives you, I recommend you purchase the full version, because spending 3.50 is a lot faster than trying to hack into the code, or devise esoteric ways of forcing the program to save your own fonts! Have fun, and if you do buy the full version, my thanks to you. OVERVIEW: Got a 24 pin printer? Bored with the fonts already? Can`t afford a plug in Font card? Never fear, new fonts are here! This program was primarily written with the STAR LC24-200 in mind. However, by scrounging manuals from various manufacturers, I can confirm that the results should work on the following: STAR LC24_200 STAR FR24 STAR XR24 STAR LC24-10 (BUT!!! the memory on the basic machine will not allow you to re-define the whole font on the LC24-10. So its capitals & numbers only, or buy a RAM card. Sorry!) EPSON LQ850 EPSON LQ860 AMSTRAD LQ3500 AMSTRAD LQ5000 NEC (Various) PANASONIC KXP1124 (With RAM card accessory KP43) and any other 24 pin with enough memory and Epson LQ8** compatible. .. but I have to confess I can not test them all, as I don`t own them. What the program does is to allow you to design your own fonts to replace the standard ones in the printer. The printer has a certain amount of RAM for this purpose, and while some have enough to allow any letter to be re-defined, some others only allow those letters between ASCII codes 33 and 126. In order to ensure a wide compatibility, this is the range I have used for the program. (Should anyone NEED a wider range, drop me a line.) Once defined, the font can be downloaded straight to the printer, or spooled to disc, from where it can be sent to the printer later, without need for the definition program itself. Details on how to do this follow later. There are two programs on the FULL disc. One works on a whole font at a time, the other just deals with single characters. The idea behind the single character version is that you may only wish to create one special symbol, say a telephone. You would not want to do all the letters just to get one special one. So what you do is define your symbol, then download it as the ASCII value of your choice. Then, when you need to print it, you will need to switch between standard and downloaded character sets to make it print. Eg. send < ESC % 1> (Select download characters) < 255 > (.. or whatever code you re-defined) < ESC % 0> (Select normal characters) <..rest of text> ... but I personally think that is a bit of a messy way of doing things. The answer is really one reason why the whole_font program is needed. You start off with a complete copy of the standard character set. Then you can re-define as many as you like, download the data, and STAY in download mode permanently. The follow on from this, of course, is that you can re-define all of the letters to give a completely new font set. I have already designed several for you, and you will find these stored on the disc in the LC24fonts directory, with suffixes of <.font> Please note these are NOTHING LIKE workbench fonts, and can not be used by workbench or DPaint etc. (The reverse is also true, otherwise this program would not have been needed.) INSTRUCTIONS: Before you do anything: BACK UP THE DISC! (There is little space left on this disc for your own fonts, so it is a good idea to keep a copy of the original if you intend to start deleting files to make more room.) The following instructions apply to both versions of the program, except in the download /load/save areas. When the program loads, all operations are performed by using the mouse. There are several `buttons` on the right hand area which perform various tasks, and a large grid which always shows the definition of the current ASCII value. (This value only changes in the WHOLE FONT version) DRAW: (Large grid) In the large grid, you may draw while keeping the LEFT mouse button down. You can erase by 'drawing' with the RIGHT mouse button. As you draw inside the grid, you will notice that you can not `set` two adjacent `spots`. The reason for this is that the printer can not print two dots side by side fast enough, and so, must `rest` for a short while after printing the first. You are unable to see the effect of this, as the dot rows are very close together, and so the gap is obscured by the two dots which get printed on either side. If you are determined, there are ways to force the program to `set` two dots which are next to each other. If this happens, you should reset one of them to a blank space.In any case, if you do not, the printer will simply ignore the second dot when it tries to print. Some printers may reject the definition, however, so it does not pay to rely on this. To my knowledge, it is only possible to set two adjacent dots when shuffling the grid to the left or right. (See: SHUFFLE) In the whole font program , the currently selected ASCII value is shown in a small box above the grid. Clicking on this has no effect. INVERT: (A vertical curving arrow) This button causes all the dots in the grid to `flip` over top to bottom. In effect, it turns your letter upside down. MIRROR: (A horizontal curving arrow) This one is similar to the INVERT button, but turns your letter into its mirror image. This is useful for making a letter `d` from a `b` , or `p` from `q`, for instance. (See: REMEMBER) SHUFFLE: (Left or right arrows) These buttons cause all the dots in the grid to move along by one place to the left or right. If you have a dot at the extreme edge on the left, and also one on the right at the same height, then shuffling the grid will cause the problem mentioned earlier, where two dots exist side by side. The program will detect this, and an alert box will appear to warn you. I appreciate that I could have made one of the dots `vanish` but I have chosen to leave the choice of which one to you. SHUFFLE: (Up or down arrows) These work exactly as the left & right arrows, but without any problems with adjacent dots. Any dots which roll off the top or bottom of the grid will re-appear at the bottom. REMEMBER: (A small arrow pointing TO a RAM chip) If you click on this button, the current grid pattern is stored away in RAM for later use. (See : RECALL) RECALL: (A small arrow leading AWAY from the RAM chip) If no image has been stored using REMEMBER since the program began, then this has the effect of wiping out your definition. If you have pressed REMEMBER at any time, then the latest remembered grid pattern will completely overwrite the current definition. For example, you may define the letter `b`. You should click on REMEMBER, then change ASCII value (Whole font program only) to that of `d`. Click on RECALL, and you end up with your saved definition of `b` written to the grid. Click on MIRROR, and TA-DA! a brand new letter `d`! ERASE: (The box just to the left of the large grid) This will erase all the dots in the grid. There is NO built in UNDO feature, so if you think you will need to change your mind, click on the REMEMBER box first. Then, if you want the definition back, click on RECALL. HELP: (The word HELP) Gives a little help with the program. :.. (You may get help during the WHOLE_FONT program by clicking on any box on the screen, using the RIGHT mouse button. This gives a potted explanation of the function of each box.) EXIT: (The word EXIT) Use this to leave the program cleanly. INFO: (The word INFO) This shows a copyright message, and version number. SAVE: (Arrow pointing TO a large floppy disc) 1: Single character program; gives a fileselector,which you should use to enter a name for the saved definition. Single letters should have names which end in .CHR, for instance `Telephone.CHR` If you use any other suffix, it will be hard for you to locate the file later if you wish to re-load it. 2: Whole font program; in a similar manner, enter a filename for your whole font. Whole font definitions end in .FONT - eg Gothic.FONT (Again, please note, these are not bit-mapped workbench fonts.) LOAD: (Arrow pointing AWAY from a large disc) 1: Single character program; the resultant fileselector can be used to pick an existing file, and it will show all available .CHR files. 2: The whole font program operates in the same way, but it only shows .FONT files and directories. DO NOT attempt to load a Workbench or DPAINT font in this manner. The results will be unpredictable at best. LOAD SINGLE: (Small arrow, small disc, small telephone symbol) Single character definitions created with the single character program can be imported one at a time into the WHOLE FONT program. The definition will be pasted directly over that of the currently shown ASCII code. Pick a filename with the suffix .CHR (eg Myletter.CHR) DOWNLOAD: (A picture of a printer) 1: Single version; Calls up a select box, in which, by clicking on the left and right arrows, you can choose which ASCII code to re-define. Click on OK when ready, and then OK in the `PRINTER READY?` box. The codes needed to re-define the letter will be sent to the printer directly via the PAR: device. 2: Whole font; This calls up a select box which lets you choose between sending the file straight to the PRINTER , or spooled to DISC. (These two options are represented pictorially) If you choose to spool to disc, you get a file select box, and you should select a name for the output file, which should end with .CODES Eg Gothic.CODES This output file can not be edited by the program, it is purely the sequence of ASCII values required by the printer at a later time. (See : FROM CLI) If you choose to download straight to the printer, the codes are sent via PAR:. In either case, the currently executing ASCII value is shown above the grid. If the numbers fail to change, something is wrong, and you should check your printer is on line.When definition is complete, the printer should emit a beep, to signal END OF FILE. Your printer is then left in DOWNLOAD CHARACTER SET mode, and all subsequent printing will appear in your new font, until the printer is re-set or switched off. (NOTE: Re-setting the Amiga will reset the printer (with some cables). It is possible to cut the reset line IN THE LEAD to prevent this. (One person using a pre-cursor of this program for 9 pin machines attempted to modify the Amiga circuit board instead. Result: one dead Amiga.) It is also possible (but NOT RECOMMENDED ) to remove the printer lead while re-setting the Amiga to boot your text editor. Disconnecting live cables can cause damage to the Amiga too. I can accept no responsibility if you cause any damage by using either of these methods. The best way to use these fonts is detailed later.) CHANGE ASCII CODE: (Letters A,B,?) This calls up a window which shows the normal definitions of the available ascii codes. Simply click on the letter you wish to work on next, then click on the small square marked `done`. The window will drop away,the grid will be re-drawn, and the new value will be shown above it. You will notice there is sometimes a small delay before an action is carried out. The reason for this lies in the size of the grid pattern. In early versions of this program, whenever you wanted to change ASCII code or save a font, then the current grid pattern had to be analysed, and stored away in RAM. This process could take up to 2.5 seconds, and it was tooooooo long for me. So now, whenever you are NOT pressing a mouse button, the program is beavering away in the background, storing the latest changes away in memory. Any work left undone by the time you next change code, or save a definition, must therefore be finished before you can proceed. 9 times out of 10 this means no work needs doing at all. However, if you were to change code, then immediately flip the new grid pattern, then immediately change code again, all without pause, you would notice the program `stop for breath` while it caught up.Nothing to worry about. USING THE DEFINED FONTS WITHOUT THE DEFINITION PROGRAM: First, no matter what method you use to get the codes into the printer, you need to set the printer to allow it to receive download fonts, instead of using its RAM as a buffer. (WHAT! LOSE THE BUFFER? - sorry, not my fault!) This is done by setting dipswitch A-2 on the LC24-200 to OFF, and A-1 to ON. A-1 sets standard Epson emulation. A-2 sets download buffer size. (Amstrad LQ5000 - use switch DS2-4 = ON) (NEC P20/30 - set buffer capacity to at least 4K) (Panasonic KXP112x - buy a RAM card KP43) (Other printers- as I receive the information!) (Oh, and many thanks to the manufacturers who sent manuals to me. Full marks to STAR who have now sent a total of 6 different ones. Bottom of the class must be Epson who wanted me to BUY a manual called `Programming the Epson serial printer` SERIAL!!!!???!?? Hello folks, this is 1991.. Maybe I expect too much. Did I buy a copy? Answers on a postcard please....) GETTING THE .CODES FILE INTO THE PRINTER: 1: FROM CLI; You can send the escape code sequences stored on disc as .CODES to the printer by using the following command at the CLI, in a script file, or in your startup-sequence... First, create the .codes file on disc by clicking on the PRINTER icon in the program. Then click on the icon of the DISC, to show you want to spool the data to a file, instead of sending it to the printer straight away. Give the file a name ending with .codes. To send this file to the printer from CLI, enter: TYPE to PAR: (Note: You MUST use the PAR: device here instead of PRT: PRT: channels the codes through the printer drivers, which will have a field day trying to make sense of them, and it would fail to work.) 2: FROM WORKBENCH: Spool your font using a suitable filename. EG- `MYFONT.CODES` Duplicate a PROJECT icon, then rename it as eg. MYFONT (Any of the little printer icons in the LC24fonts drawer will do.) Using INFO from WORKBENCH, change the icon`s DEFAULT TOOL to read :C/ICONX (, or something similar which points to your ICONX file.) Save it. Using a text editor, create a small file which contains the line TYPE MYFONT.CODES to PAR: and save this as MYFONT, so that the MYFONT.info file belongs to it. Now, when you double click on this icon from workbench, the script file it points to will be executed, the .CODES file will be sent to the printer, which will beep when ready, and control will be returned to workbench. The fonts supplied on this disc already have icons and script files. This means that you do not need to load the definer program to use them. (This also allows users of 1/2 meg machines to use the fonts, if not define any new ones.) After control returns to the workbench, you can double click on the icon for your wordprocessor/ text editor, and proceed as normal. THIS IS THE BEST WAY TO USE THESE FONTS- as you avoid the need to reset the Amiga for rebooting purposes. Finally, a quick word to KINDWORDS users. Kindwords uses its own printer drivers and its own fonts. In order to get printout in your new font, you should boot from THIS disc as a workbench, and select PRINTER FONTS from Kindwords menus, instead of SUPERFONTS (Which always looked dodgy to me anyway.) Other graphical WPs may suffer from the same problem, but if so, no-one ever wrote and told me! Credits: This program was written over 4 weeks using AMOS and DPAINT3. Each font took at least 3 hours to design. I hope you like them! I don`t own a 24 pin printer! Thus, immense help and encouragement from Steve Mason who got me to get this together + bug tested. Thanx Steve! (Steve is also the creator of the Helvetica font on this disc.) Also thanks to my boss, who unwittingly let me borrow the Amstrad to try out the fonts on. He won`t read this, not owning an Amiga, but thanks to Geoff Purvis anyway. Finally, a quick thanks to Paul Ciupek of NBS PD, without whose help the LC10 font program would never have got off the ground,( and thus this one would never have been written), and Sandra Sharkey of Deja Vu/Amos PD, for lots of reasons. Jeff Tullin. September 1991.