%OP%BON %OP%JUY %OP%TM2 %OP%HM4 %OP%FM4 %OP%BM2 %OP%LM5 %OP%HE/%H4%5-10-88%H4%//%H4%Font Designer%H4%/ %OP%FO//%H4%- @P@ -%H4%// %CO:A,12,72%%C%%H1%%H2%Z88 Printer Font Designer %C%by Simon Phipps (0221) %C%%H1%Introduction %JR%This Basic program was written to allow the printing of custom %JL%characters on a DMP 2000 printer, but is likely to work virtually %JR%unaltered on most Epson-compatible dot matrix printers. It is simple to %JL%use as it provides prompts and menus throughout operation. It allows %JR%fonts to be loaded and saved in ram-disk files, and test printing of %JL%characters to be carried out. It requires Richard Russell's Basic patch %JL%to be loaded. I wrote it to amuse myself and to learn Z88 BBC Basic, %JL%and consequently there are places where the more experienced Basic %JR%programmer would undoubtedly do things differently. When he has, perhaps he would send me a copy of the improved program! %C%%H1%Getting Started %JR%From Basic, first %H4%chain%H4% the Basic patch if this has not yet been done; %JL%then %H4%load%H4% & %H4%run%H4% or %H4%chain%H4% the font editor program. This should be stored %JR%with an appropriate name on your machine so that you can find it easily! %JL%As an example, a sample font is provided. Load this by pressing %H2%L%H2% on %JR%the main menu and typing the name of the file (see the file chart %JL%provided on your EPROM). Loading will commence, and each character in %JL%turn will be displayed on the right-hand side of the screen. When the %JL%font is loaded, the main menu will be re-displayed. Connect your %JR%printer to the Z88 and press %H2%D%H2% to down-load the font to the printer. %JL%Note that you will probably need to correctly set the DIP-switches on %JR%your printer to allow down-loading of fonts. Next, press %H2%T%H2% from the %JL%main menu to enter test-print mode. The paper should back off on the %JR%printer, and a box appear around the bottom left-hand character in the %JL%grid on the screen. You can now print characters from the display by %JR%pressing %H2%ENTER%H2%. When you get bored, press %H2%DEL%H2% to return to the main menu. %C%%H1%In Detail %JL%The program is fairly self explanatory, as you should have just %JR%discovered, but this section will describe each feature in detail so that you don't miss anything. %H1%1 - Font Files %JL%Fonts are stored on RAM disk in a format which eases loading. To load %JR%any font, press %H2%L%H2% on the main menu and type a name. If you change your %JL%mind, just press %H2%ENTER%H2% without pressing any keys. No check is made on %JR%the validity of the file, so any attempt to load non-font files will %JR%produce unusual results! While the loading is taking place, one dot is %JR%displayed for each character loaded, and the new character is depicted %JL%in the proportions in which it would be printed in the Character Grid %JR%on the right of the graphics area. Unassigned character positions are %JL%left as filled boxes. Loading may be aborted at any time by pressing %H2%DEL%H2%; it will halt when the currently loading character has been loaded. %JL%Files may be saved to RAM disk by pressing %H2%S%H2% on the main menu and %JL%typing a name. A dot is displayed as each character is saved. This %JR%option may also be left without saving by just pressing enter with no %JL%text entry. You will be reminded to save the font if you try to quit the program without doing so. %H1%2 - Editing Characters %JR%To edit a character, press %H2%E%H2% from the main menu. You will be asked to %JL%select a character and a box cursor will appear on the Character Grid. %JR%Use the cursor keys to move this until it encloses the desired grid %JL%cell, and then press %H2%ENTER%H2%. You may press %H2%DEL%H2% to escape to the main %JL%menu. Only the first 18 characters can be printed; the remaining six are provided as a storage or work area. %JR%An Editing Grid is now displayed on the left-hand side of the graphics %JL%display, with the selected character depicted, and a small image of it %JR%in a box to the right. A dot cursor is provided which may be moved %JR%using the cursor keys, and individual cells (pixels) may be set dark or %JL%light by pressing the space bar. Note that no two horizontally adjacent %JR%pixels should be set as the printer is only able to print alternate pixels in any given row. %JL%If desired, another character in the Character Grid may be copied into %JR%the selected character by pressing %H2%ENTER%H2%. The box cursor will appear in %JL%the character grid and a character may be selected as before. This %JR%option may be used to "undo" an editing session on a character by %JL%selecting the character itself to copy. When editing is complete, the %JR%%H2%DEL%H2% key is pressed to return to the main menu, and the revised character is depicted in the Character Grid. %H1%3 - Printing %JL%The graphics area of the screen may be dumped to the printer by %JR%pressing %H2%G%H2% on the main menu. This uses the dump built in to the Basic patch. The dump takes just over a minute to complete. %JR%In order to print the characters designed, it is necessary to down-load %JL%them to the printer. This is done by pressing %H2%D%H2% from the main menu. One %JR%dot is displayed for each character down-loaded. Note that the edited %JL%characters are not assigned to 18 contiguous character values, as for %JR%several values (such as 8 (BS), 9 (TAB) and others) the command so represented takes precedence. %JL%Once the font has been down-loaded, individual characters may be %JR%printed by pressing %H2%T%H2% from the main menu. The printer is set to %JL%incremental mode so that the paper scrolls back to allow the last %JR%character printed to be viewed, and the box cursor appears in the %JL%Character Grid to allow selection of a character. When %H2%ENTER%H2% is %JR%pressed, the selected character is printed. The test print mode may be %JL%left by pressing %H2%DEL%H2%, at which point incremental mode on the printer is cancelled. %H1%4 - General %JR%At just about any time, the %H2%TAB%H2% key may be pressed to restore the graphics picture after it has been corrupted by use of Pipedream. %JR%Characters may be printed from Pipedream by defining character %JL%translations in the PrinterEd to select the alternate font and send the appropriate control code for the required character. %H1%Simon Phipps Telecom Gold 83:NTG339 (telex 265871 quoting this) %CO:B,12,60%%CO:C,12,48%%CO:D,12,36%%CO:E,12,24%%CO:F,12,12%