home *** CD-ROM | disk | FTP | other *** search
- N,"LQ2500 Draft"; {revised 6/13/89, Dean Anderson}
- { following are default assignments:}
- x: df=2; {init data format to 1}
- x: xd=1; {double horizontal density. Does not affect character
- data, merely the displayed density of dots.}
- x: yd=1; {one pass, normal vertical density}
- x: pw=8; {number of print wires used if multi-pass printing}
- x: to=20; {offset of character top to baseline.}
- x: lo=0; {left offset, ignore it}
- x: cw=9; {default character width}
- x: ch=24; {default character height}
- a: aa=0; {allow adjacent dots}
- a: fw=cw; {maximum font cell width, for Normalize function}
- a: fh=ch; {max font cell height, for Normalize}
- a: bl=to; {position of baseline relative to top of font cell.}
-
- E; {end initialization section.}
-
- KI; {start input font header.}
- z 12:fs-fp; {jump to L12 if end of file reached}
- u: zz; {read first byte}
- j 40: zz,ne,27; {check for ESC}
- u: zz; {read next byte}
- j 40: zz,ne,120;{check for 'x'}
- u: zz; {read next byte}
- j 40: zz,ne,48; {check for '0'}
- u: zz; {read next byte}
- j 40: zz,ne,27; {check for ESC}
- u: zz; {read next byte}
- j 40: zz,ne,58; {check for ':'}
- u: zz; {read next byte}
- j 40: zz,ne,0; {check for 0}
- u: zz; {read next byte}
- j 40: zz,ne,0; {check for 0}
- u: zz; {read next byte}
- j 40: zz,ne,0; {check for 0}
-
- EI; {end input font header.}
-
- #:**,"Using LQ2500 Draft to load font";
- z 12:fs-fp; {will cause jump to L12 if end of file is reached}
- L 88;
- u: zz; {read a byte}
- j 40: zz,ne,27; {check for ESC}
- u: zz; {read a byte}
- j 40: zz,ne,38; {check for '&'}
- u: zz; {read a byte}
- j 40: zz,ne,0; {check for 0}
- u: cc; {get char code}
- u: zz; {get repeat of char code}
- j 40: cc,ne,zz; {check if valid}
- u: zz; {lead cols}
- u: zz; {char cols}
- u: zz; {trail cols}
-
- L 1; {label 1 to indicate start of character.}
- # : cc,"Loading code (decimal) ";
- g; {character data}
-
- ESL; {end character search, character loaded.}
- # : cc,"Loaded code (decimal) ";
-
- j 88:1,eq,1; {go get next char}
-
- L 12; {end of file reached}
- # : **,"Loaded.";
-
- j 41:1,eq,1;
- L 40;
- # : **,"Invalid font file for LQ2500 draft";
-
- L 41;
-
- KT; {start input font trailer.}
- {This font does not use a trailer.}
- ET; {end font trailer.}
-
- KS; {start search for an input character.}
- # : **,"This configuration does not support search";
- ESU; {end character search program (unsuccessful search)}
-
- KO; {start output font header.}
- u: 27;
- u: 120;
- u: 48;
- u: 27;
- u: 58;
- u: 0;
- u: 0;
- u: 0;
- EO; {end output font header.}
-
- {following lines select characters to output}
- a:cc=0; {start with first possible code, zero}
- c; {select first valid code}
- j 57:1,eq,1; {bypass first check to see if cc is back to zero}
- L 55; {jumped here to get next code}
- c; {select first valid code}
- j 59:cc,eq,0; {go to 59 if no more valid codes (cc is back to zero)}
- L 57; {valid code selected}
-
- KC; {start output character.}
- # : cc,"Sending code (decimal): ";
- u: 27;
- u: 38;
- u: 0;
- u: cc;
- u: cc;
- u: 1;
- u: 9;
- u: 2;
- g;
-
- EC; {end output character.}
- a:cc=cc+1; {increment to next code}
- j 55:1,eq,1; {jump to select it, or next higher valid code}
- L 59; {all characters have been written}
-
- KZ; {start output font trailer.}
- {This font does not use a trailer}
- ET; {end font trailer.}
-
- KP; {start download}
- # :**,"This configuration does not support download";
- EP; {end download}
- .