home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / UTILS / LASER / BFONT513.ZIP / D2500.BFC < prev    next >
Encoding:
Text File  |  1989-06-13  |  3.8 KB  |  127 lines

  1. N,"LQ2500 Draft"; {revised 6/13/89, Dean Anderson}
  2. { following are default assignments:}
  3.   x: df=2;      {init data format to 1}
  4.   x: xd=1;      {double horizontal density. Does not affect character
  5.                  data, merely the displayed density of dots.}
  6.   x: yd=1;      {one pass, normal vertical density}
  7.   x: pw=8;      {number of print wires used if multi-pass printing}
  8.   x: to=20;     {offset of character top to baseline.}
  9.   x: lo=0;      {left offset, ignore it}
  10.   x: cw=9;      {default character width}
  11.   x: ch=24;     {default character height}
  12.   a: aa=0;      {allow adjacent dots}
  13.   a: fw=cw;     {maximum font cell width, for Normalize function}
  14.   a: fh=ch;     {max font cell height, for Normalize}
  15.   a: bl=to;     {position of baseline relative to top of font cell.}
  16.  
  17. E; {end initialization section.}
  18.  
  19. KI; {start input font header.}
  20. z 12:fs-fp;     {jump to L12 if end of file reached}
  21.   u: zz;        {read first byte}
  22. j 40: zz,ne,27; {check for ESC}
  23.   u: zz;        {read next byte}
  24. j 40: zz,ne,120;{check for 'x'}
  25.   u: zz;        {read next byte}
  26. j 40: zz,ne,48; {check for '0'}
  27.   u: zz;        {read next byte}  
  28. j 40: zz,ne,27; {check for ESC}
  29.   u: zz;        {read next byte}  
  30. j 40: zz,ne,58; {check for ':'}
  31.   u: zz;        {read next byte}  
  32. j 40: zz,ne,0;  {check for 0}
  33.   u: zz;        {read next byte}  
  34. j 40: zz,ne,0;  {check for 0}
  35.   u: zz;        {read next byte}  
  36. j 40: zz,ne,0;  {check for 0}
  37.   
  38. EI; {end input font header.}
  39.  
  40. #:**,"Using LQ2500 Draft to load font";
  41. z 12:fs-fp;     {will cause jump to L12 if end of file is reached}
  42. L 88;
  43.   u: zz;        {read a byte}
  44. j 40: zz,ne,27; {check for ESC}
  45.   u: zz;        {read a byte}
  46. j 40: zz,ne,38; {check for '&'}
  47.   u: zz;        {read a byte}
  48. j 40: zz,ne,0;  {check for 0}
  49.   u: cc;        {get char code}
  50.   u: zz;        {get repeat of char code}
  51. j 40: cc,ne,zz; {check if valid}
  52.   u: zz;        {lead cols}
  53.   u: zz;        {char cols}
  54.   u: zz;        {trail cols}
  55.  
  56. L 1;            {label 1 to indicate start of character.}
  57. #  : cc,"Loading code (decimal) ";
  58.   g;            {character data}
  59.  
  60. ESL;            {end character search, character loaded.}
  61. # : cc,"Loaded code (decimal) ";
  62.  
  63. j 88:1,eq,1;    {go get next char}
  64.  
  65. L 12;           {end of file reached}
  66. #  : **,"Loaded.";
  67.  
  68. j 41:1,eq,1;
  69. L 40;
  70. #  : **,"Invalid font file for LQ2500 draft";
  71.  
  72. L 41;
  73.  
  74. KT;             {start input font trailer.}
  75.     {This font does not use a trailer.}
  76. ET;             {end font trailer.}
  77.  
  78. KS;             {start search for an input character.}
  79. #  : **,"This configuration does not support search";
  80. ESU;            {end character search program (unsuccessful search)}
  81.  
  82. KO;             {start output font header.}
  83.   u: 27;
  84.   u: 120;
  85.   u: 48;
  86.   u: 27;
  87.   u: 58;
  88.   u: 0;
  89.   u: 0;
  90.   u: 0;
  91. EO;             {end output font header.}
  92.  
  93.                 {following lines select characters to output}
  94.   a:cc=0;       {start with first possible code, zero}
  95.   c;            {select first valid code}
  96. j 57:1,eq,1;    {bypass first check to see if cc is back to zero}
  97. L 55;           {jumped here to get next code}
  98.   c;            {select first valid code}
  99. j 59:cc,eq,0;   {go to 59 if no more valid codes (cc is back to zero)}
  100. L 57;           {valid code selected}
  101.  
  102. KC;            {start output character.}
  103. #  : cc,"Sending code (decimal): ";
  104.   u: 27;
  105.   u: 38;
  106.   u: 0;
  107.   u: cc;
  108.   u: cc;
  109.   u: 1;
  110.   u: 9;
  111.   u: 2;
  112.   g;
  113.  
  114. EC;             {end output character.}
  115. a:cc=cc+1;      {increment to next code}
  116. j 55:1,eq,1;    {jump to select it, or next higher valid code}
  117. L 59;           {all characters have been written}
  118.  
  119. KZ;             {start output font trailer.}
  120.     {This font does not use a trailer}
  121. ET;             {end font trailer.}
  122.  
  123. KP;             {start download}
  124. #   :**,"This configuration does not support download";
  125. EP;             {end download}
  126. .
  127.