'PAGE 1 OF 7- HELP TEXT: ***************************************************************************** *** EPSON 9-PIN PRINTER FONT EDITOR(V1.3) IN COMPILED GFA BASIC-MEDIUM REZ*** *** PUBLIC DOMAIN COPYRIGHTS APPLY- 1 OCT 87 *** *** CREDITS: *** *** AUTHOR: KEVIN MASON DELPHI-LONGSPUR GENIE-KMASON *** *** BEBUG : JERRY BETHEL DELPHI-BETHEL *** *** DIOX : PAUL HUNTINGTON GENIE-PHUNTINGTON *** *** NOTE-DIOX ROUTINES MODIFIED FOR THIS PROGRAM (SORRY PAUL) *** *** BASIC SOURCE CODE HEAVILY DOCUMENTED FOR BEGINNER PROGRAMMERS *** *** AND FOR THOSE WHO WISH TO MODIFIY PROGRAM TO NON-EPSON PRINTERS *** ***************************************************************************** FILES: EPSFNTED.PRG: COMPILED GFA BASIC PROGRAM. EPSFNTED.TXT: HELP TEXT; DOUBLE-CLICK FROM DESKTOP OR CLICK FROM PRG MENU. STDEPFNT.PFT: STANDARD EPSON 9-PIN FONT; LOAD TO GET AN UNDERSTANDING HOW FONTS ARE DESIGNED, AND USE OF UPPER/LOWER PIN OPTION. STDEPFNT.BAK: BACKUP STANDRAD FONT IN CASE USER ALTERS STDEPFNT.PFT FILE. EPSFNTED.GFA: GFA BASIC SOURCE CODE, HEAVILY DOCUMENTED. *.PFT: PRINTER FONT FILES CREATED BY EDITOR USERS. 'PAGE 2 OF 7- HELP TEXT: LIMITATIONS FOR VERSION 1.3 EPSON 9-PIN PRINTER FONT EDITOR: 1. EDITOR WORKS ONLY IN MEDIUM RESOLUTION. 2. EDITOR HAS ONLY BEEN TESTED ON EPSON FX-80 AND QMS-KISS PRINTERS, SHOULD WORK ON ANY EPSON OR EPSON COMPATIBLE (9-PIN) WITH RAM FOR DOWNLOAD FONTS. 3. EDITOR WILL ONLY MODIFY ASCII# 32-126; ASCII# 0-31 AND ASCII# 127-159 ARE USED TO STORE CONTROL CODES; ASCII# 160-254 ARE USED TO STORE THE EPSON ITALIC CHARACTER SET. 4. EDITOR WILL NOT GENERATE LASER FONTS, BUT WILL OUTPUT DOT-MATRIX FONTS TO LASER PRINTERS THAT SUPPORT EPSON EMULATION (1/72 INCH DOTS). 5. AUTHOR IS NOT A PRINTER EXPERT, AND ONLY PROGRAMS IN BASIC. 6. ALL COMMONLY ENCOUNTERED ERRORS HAVE BEEN TRAPPED, USER MAY ENCOUNTER UNKNOWN GREMLINS REQUIRING REBOOT; SAVE YOUR WORK REGULARLY. 7. PROGRAM'S GEMDOS AND XBIOS CALLS MAY NOT BE COMPATIBLE WITH FUTURE VERSIONS OF TOS, REQUIRING SOME MODIFICATION OF THE BASIC SOURCE CODE. AUTHOR WELCOMES FEEDBACK COMMENTS, ESPECIALLY FROM ADVANCED PROGRAMMERS, ON PROGRAM PROBLEMS, QUESTIONS, ETC. AUTHOR CAN BE CONTACTED BY E-MAIL: DELPHI: LONGPSUR GENIE : KMASON ' PAGE 3 OF 7- HELP TEXT: SCREEN LAYOUT: 1. EDITOR DOT GRID: 8 ROWS BY 11 COLUMNS OF GRID DOTS REPRESENTING A VISUAL PICTURE OF DOT MATRIX FONTS DURING EDITING. LEFT MOUSE CLICK ACTIVATES FIRING PIN (BLACK DOT); RIGHT MOUSE DE-ACTIVATES FIRING PIN (GREEN DOT). CAUTION: DO NOT CLICK/HOLD/PAINT DOTS, AS CALCULATION OF CHARACTER DATA MAY NOT BE ACCURATE. POINT CROSS-HAIRS AT DOT CENTER AND CLICK. CAUTION: DO NOT OVERLAP BLACK DOTS IN ROWS, THE EPSON PRINTER WILL IGNORE THE SECOND, OVERLAPPING ACTIVATED FIRE PIN. 2. UPPER/LOWER 8 OF 9 PINS FIRE BOX: SETS WHETHER UPPER (LEFT CLICK) 8 OF 9 PINS OR LOWER (RIGHT CLICK) 8 OF 9 PINS FIRE. USUALLY SET TO 'UPPER' FOR NORMAL CHARACTERS, AND LOWER FOR CHARACTERS WITH LOWER DESCENDERS (y). 9 PIN PRINTERS ACTUALLY ONLY FIRE A MAXIMUM OF 8 PINS AT A TIME. 3. CHAR# BOX: REMINDS USER OF LAST ASCII CHARACTER SELECTED FOR EDITING. 4. CHARACTER AND ATTRIBUTE DATA BYTES BOX: SHOWS USER 12 DATA BYTES FOR CHARACTER BEING EDITED IN HEX$. HELPS USER BETTER UNDERSTAND WHAT EPSON NEEDS TO FORM A CHARACTER. (NO CLICK AREA) 5. MESSAGE BOX: KEEPS USER INFORMED DURING PRG OPERATIONS. (NO CLICK AREA) 6. ASCII SELECT DIALOG BOX: SELECT ASCII# (CLICK RADIO BUTTONS) FOR EDITING. 7. ASCII HELP TABLE: REMINDS USER OF CHARACTER ASCII VALUES. 'PAGE 4 OF 7- HELP TEXT: MENU SELECTIONS: I. LOAD/SAVE: 1. LOAD FONT FROM DISK: LOAD *.PFT FILES FROM DISK; STARTS WITH DRIVE-PATHWAY EDITOR PROGRAM WAS LOADED FROM AS DEFAULT DRIVE-PATHWAY. 2. SAVE FONT TO DISK: SAVES FONTS TO DISK; *.PFT DEFAULT FILENAME. 3. QUIT PROGRAM: EXITS TO GEM DESKTOP. (SOURCE CODE EXITS TO BASIC EDITOR) II. PRINTER: 1. RESET PRINTER: SENDS CODES TO EPSON PRINTER TO ACTIVATE CHARACTER ROM SET, AND SENDS EPSON MASTER RESET CODE. CAUTION: MANY WORD PROCESSORS SEND MASTER RESET CODE BEFORE PRINTING A DOCUMENT WHICH DEACTIVATES YOUR DOWNLOADED FONT!! USER WILL HAVE TO EDIT THEIR PRINTER DRIVER TO REMOVE THE MASTER RESET CODE FROM WORD PROCESSOR OUTPUT. (EASILY DONE WITH STWRITER) 2. D/L FONT TO EPSON: SENDS CODES TO EPSON TO FIRST D/L THE ROM CHARACTER SET TO RAM. THEN FINDS WHICH CHARACTERS YOU HAVE EDITED, POINTS TO THEIR LOCATION IN EPSON RAM, SENDS CHARACTER ATTRIBUTE BYTE AND CHARACTER DATA BYTES TO THAT RAM LOCATION. BLANK EDITOR CHARACTERS ARE NOT SENT TO REPLACE THE ROM CHARACTERS RESIDING IN RAM. FINALLY CODES ARE SENT TO ACTIVATE THE MODIFIED RAM CHARACTER SET. 3. TEST PRINTER FONT: PRINTS ASCII# 32-126 IN ALL EPSON CHAR. PRINT MODES. ' PAGE 5 0F 7- HELP TEXT: MENU SELECTIONS (CONT): III. EDITOR: 1. CREATE CHARACTER: SELECT ASCII#, PREPARES BLANK CHARACTER FOR EDITING. CAUTION: DATA PREVIOUSLY AT THIS SELECTED CHARACTER LOCATION IS LOST. 2. EDIT CHARACTER: SELECT ASCII#, MOVES USER TO THAT SELECTION AND DISPLAYS CHARACTER CURRENTLY AT THAT LOCATION FOR EDITING. HINT: DO NOT OVERLAP BLACK DOTS IN A ROW DURING EDITING; THE EPSON PRINTER WILL NOT PRINT THE SECOND OVERLAPPING DOT (DATA IS IGNORED BY THE PRINTER-PINS CANNOT FIRE THAT FAST). HINT: STUDY THE STANDARD EPSON FONT FILE TO SEE VISUALLY HOW CHARACTERS ARE DESIGNED BEFORE CREATING YOUR OWN CHARACTER. 3. COPY CHARACTER: TRANSFERS CHARACTER DATA FROM FIRST SELECTED ASCII# TO SECOND SELECTED ASCII#. DOES NOT DELETE FIRST CHARACTER (AS IN MOVE). 4. DELETE CHARACTER: SELECT ASCII#, DELETES CHARACTER DATA AT THAT LOCATION. CAUTION: DATA PREVIOUSLY AT THIS SELECTED CHARCTER LOCATION IS LOST. 5. CLEAR GRID: CLEARS GRID DURING EDITING OF CHARACTER (SEE RESTORE). 6. RESTORE CHARACTER: CAN BE USED TO IMMEDIATELY RESTORE CHARACTER IF IT IS ACCIDENTLY REMOVED BY THE CLEAR GRID COMMAND. 7. ASCII TABLE [HELP]: DISPLAYS STANDARD ASCII VALUES FOR CHARACTERS 32-126. 8. HELP TEXT: DISPLAYS THE HELP TEXT IF "EPSFNTED.TXT" IN THE PRG (FOLDER). ' PAGE 6 OF 7- HELP TEXT: TUTORIAL ON CREATING USER DEFINED CHARACTERS FOR 9-PIN EPSON PRINTERS: I. COMMAND TO POINT TO RAM CHARACTERS TO BE DEFINED: LPRINT CHR$(27);"&";CHR$(0);CHR$(ASCII#1);CHR$(ASCII#2); ASCII#1 TO ASCII#2 DEFINES RANGE OF CHARACTERS TO BE EDITED. EACH LOCATION POINTED TO EXPECTS 12 CHARACTER DATA BYTES. II. TRANSLATING CHARACTER DATA TO PRINTER DOTS: EACH CHARACTER IS DEFINED BY 12 BYTES: BYTE 1 = ATTRIBUTE BYTE BYTES 2-12 = EACH BYTE REPRESENTS THE 8 BIT SUM OF ROWS FOR EACH OF THE ELEVEN COLUMNS ON THE EDITOR GRID DOT. III. ATTRIBUTE BYTE: BIT 7 = TELLS PRINTER TO FIRE UPPER OR LOWER 8 OF 9 PINS. 1 = UPPER 8 OF 9 PINS FIRE 0 = LOWER 8 OF 9 PINS FIRE BITS 4-6 = # OF FIRST COLUMN WITH DATA TO FIRE PINS. BITS 0-3 = # OF LAST COLUMN WITH DATA TO FIRE PINS. EDITOR CALCULATES ATTRIBUTE BYTE FOR THE USER. ' PAGE 7 OF 7- HELP TEXT: TUTORIAL (CONT): IV. CHARACTER DATA BYTES (ONE BYTE FOR EACH COLUMN): 8 ROWS BY 11 COLUMNS BIT 0 = 1 THRU BIT 7 = 128 FOR 8 ROWS OF BITS PER EACH COLUMN BYTE. VALUES FOR ROWS ARE LISTED TO THE LEFT OF THE DOT GRID EDITOR. BITS OF ACTIVATED PINS (BALCK DOTS) ARE ADDED TOGETHER RESULTING IN BYTE VALUE THAT IS DISPLAYED IN THE CHARACTER DATA BYTES BOX. NOTE: SOME PRINTERS ARE OPPOSITE THE EPSON; THAT IS BIT 0 = 128 AND BIT 7 = 1 !!! V. COMMAND ACTIVATE RAM CHARACTER SET: LRPINT CHR$(27);"%";CHR$(1);CHR$(0); CHR$(1)=ACTIVATE RAM VI. COMMAND TO DEACTIVATE YOUR RAM CHARACTER SET: LPRINT CHR$(27);"@"; EPSON PRINTER MASTER RESET CODE KEVIN MASON 10 OCT 87