font.doc v0.03 Geefont prints text on a printer using the high resolution graphics mode. V0.03 needs a z-80 cpu and a Gemini 10 (star) or epson(-like) printer. Geefont has no formatting capabilities. Instead, WordStar can be used to format the text which geefont prints. Of course, straight ascii files can be used if you don't have WordStar. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: quick directions 1) put font0.com, and fontdef.bin on the default disk/user A>font0 filename -c filename = the name of the file to print ex. foo.bar a:foo.bar 9/foo.bar (user #9) 9/a:foo.bar (user 9, disk a) c = e ---- for epson g ---- for gemini 10 (default) ex. A>font0 chapter1.txt -e A>font0 b:chapter2.v2 -g :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Printer control Codes: v0.03 Geefont understands control codes that are imbedded into the text. Two of these control codes are standard and are automatically generated by your text editor (^M-return, ^J-linefeed). The rest of the control characters are non-standard; however, they are WordStar compatible. (these are WordStar compatible) ^H backspace ^M return ^J linefeed ^T superscript toggle ^V subscript toggle ^N 10 char/inch ^A 12 char/inch ^B boldface toggle ^D double-strike toggle ^X strikeout toggle ^S underscore toggle ex. The essence of life is H^V2^V0 as any chemist worth his NaCl knows. The greek symbol 'theta' is written a 0^H-. The national debt is 1.9x10^T9^T dollars. ^B Speak loudly,^B^D and say everything twice.^D note: The above examples will not print with the desired attributes. ^W next character is printed using the extended character set ^Wc prints c+128 (if c+128 is defined) note: up to 255 characters can be defined ex. The symbol, ^WD, is commonly called the divergence by some, a pain in the ^Xread end^X by others. ^R uses a symbolic name for a (extended?) character ex. ^Rpi^R rfont.dat contains the symbolic-name definitions format of rfont.dat: {symbolic_name #1} {decimal_value #1} {optional comments} {symbolic_name #2} {decimal_value #2} {optional comments} .... {symbolic_name #n} {decimal_value #n} {optional comments} n <= 129 ^Qfile^Q -- name of new font file (must be in binary - the file not the name - use makefont.com) ex. "This is greek to me." ^Qa:greek.bin^Q John Doe ^Qa:fontdef.bin^Q ^Y, ^E are reserved for future use (font changes?) ^P is reserved for future use, proportional printing toggle. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: usage on gemini 10 printers A>font0 foo.bar A>font0 b:foo.bar foo.bar is a text file with optional control characters note: fontdef.bin must be on the default disk/user number. usage on epson printers font0 foo.bar -e note: fontdef.bin must be on the default disk/user number. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: font.dat format: xx {comments} --\ i1 i2 i3 i4 | this is repeated for each character [str]$ --/ definitions: xx integer : from 0 to 255, the ascii value of the character values above 128 are can be printed using the ^W or ^R control characters {comments} ignored by program i1 integer : (i1, i2) is the position of the lower left corner i2 integer : i3 integer : width of character definition i4 integer : height of character definition [str] a sequence of '.', '*', , and s and are ignored '.' signifies a blank pixel '*' signifies a dark pixel $ defines the end of [str] 1) The number of pixels defined by [str] should equal i3*i4. 2) The total number of pixels defined by all characters must be less than 65536 (2^16). :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Making a binary font file: V0.03 of geefont reads the font data from a binary file. This makes the program much faster. However, this change requires a program to convert the ascii font file to binary. This is the job for makefont.com. restrictions: makefont.c is written in Aztec C ii v1.06b requires a z-80. Binary files are non-portable between different C compilers usage: A>makefont -- thats all makefont will ask for: 1) the name of the ascii font file, ex. font.dat 2) the name of the binary (output) file, ex. fontdef.bin 3) font size, gives the default values :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: tips: With version 0.03, there are only two ways to change the character set size. The ^N and ^A will change the spacing of the characters. The other way is to change the font file. When creating the binary font file, the program makefont will ask for the horizontal and vertical spacing of the characters. So to get a different spacing, just create a new binary font file. Formatted text files can be created using WordStar. This editor can write 'print' files on disk using the DISK FILE option. Then, the disk files can be printed using geefont. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::