;
                                    LCS.COM                                   

             Size (recs) CRC   Version    Author/Latest Issue      Disk
              11k (86)   3941  1.0        Gene Pizzetta 10/91      Z3COM11

  1- Syntax  2- Fonts  3- Notes                                               


   LCS is a ZCPR3 utility that loads character sets to  Wyse 60 and  Televideo
965 terminals.   Included are a  Roman  font that is  similar to that used  on
MS-DOS machines and a  Courier  font that is  somewhat easier to read than the
native font.   Provision has been made  for a user-defined font  for those who
want to design their own.
:1
 Syntax   LCS {{/}font}

   Before use LCS must be configured for either  Wyse or  Televideo terminals.
For Televideo terminals, which lack a hash block for extended TCAP's,  LCS can
also be configured to  automatically load  hashed  block to replace the weird-
looking graphic cross character.   The hashed block can be accessed as charac-
ter 92h in 8-bit mode,  or as  7-bit  graphics  character  "R".   Two types of
hashed blocks are available; try them both to see which you prefer.

   Configuration is  accomplished using  ZCNFG and the  accompanying LCSnn.CFG
file.
:2
 Available Fonts - 1/2 

  A leading slash is permissible, but not required.

     C    Courier. This font is similar to the native font, but 
          some of the characters are more open and easier to 
          read.  Zeroes are slashed.

     R    Roman.  This font is similar to fonts commonly used on 
          MS-DOS machines.  If you regularly move between MS-DOS 
          and ZCPR3, this font might ease the transition.

     M    Roman (same as R).  This option is provided in case you 
          think "MS-DOS".

     I    Roman (same as R).  This option is provided in case you 
          think "IBM".

     U    User defined.  This selection allows users to design 
          their own custom font (see below).  As distributed, it 
          merely loads a slight variation on the Courier font.
 Available Fonts - 2/2 

     N    Native.  Returns the terminal to its native font.

   Although LCS is a Z-System utility,  it should run fine without ZCPR3.  The
only difference will be that  the  program's  disk  name  will not  be used on
syntax line of the usage screen.

   This program may work on other terminals that  emulate  Wyse or  Televideo,
but I haven't tested that so there are no  guarantees.   The  only  difference
between the  Wyse and  Televideo  configurations of LCS is the lead-in string.
For Wyse terminals the lead-in is  ESC,  "cA0".   For Televideo the lead-in is
ESC, "xA0".
 Custom Fonts - 1/3 

   Designing a font is a tedious process,  but if you've  got  the  fortitude,
here's how you can implement a user-defined character set.

   Each line of a  font  definition in the  source  code is  concerned  with a
single character.  As an example, we will use the upper-case "A".   The source
code line is as follows:

     db   '41003844828282FE828282828200000000',CtrlY,0   ; A

   The lead-in string is sent automatically  by LCS,  so we won't concern our-
selves with that.  Each pair of numbers in the quoted string represents a byte
in hexadecimal.  Here's how the source code line breaks down:

     41   The first pair of digits is the ASCII value of the 
          character in hexadecimal.  In this case the upper-case 
          "A" is ASCII 041h.

     00   Sixteen pairs of digits representing the 16 scan lines
     38   used by each character.  Each pair is the hexadecimal
     44   value for a one-byte bit map, with 1 bits representing
 Custom Fonts - 2/3 
     
     82   lit pixels and 0 bits representing dark pixels.
     82
     82   = 1 0 0 0 0 0 1 0
     FE   = 1 1 1 1 1 1 1 0
     82
     82   Bit 0 (on the far right) should never be 1 because it
     82   is reserved for graphic characters.  Setting bit 0 to
     82   a 1 will cause the two character separator pixels (not
     82   part of the bit map) to also be lit, which is not what
     00   one would ordinarily want.  For the same reason, scan
     00   lines 1 and 16 should ordinarily be "00".  Your charac-
     00   ters should be restricted to 7 by 14 pixels.
     00

   CtrlY  A ^Y tells the terminal that we have reached the end of 
          the character definition.
   
     0    A final null terminates a line of characters that will 
          be sent to the terminal after each lead-in string is 
          sent.
 Custom Fonts - 3/3 

   At the end of the table, a line that contains only a null:
     db   0
tells LCS that it has reached the end of a font definition.

   Note that the example above is based on Joe Wright's original  Courier font
(the default user-defined font), which has the top of upper-case characters at
scan line 2 and decenders beginning at scan line 13:
     db   '41003844828282FE828282828200000000',CtrlY,0   ; A (user)
The remaining fonts  (including the  native font)  top out at scan line 3 with
decenders beginning at scan line 14:
     db   '4100003844828282FE8282828282000000',CtrlY,0   ; A (Courier)
     db   '410000386CC6C6C6FEC6C6C6C6C6000000',CtrlY,0   ; A (Roman)
A very few Roman characters extend beyond these limits.
:3
 Notes 
 
   a. Vs 1.0 (10/03/91, Gene Pizzetta):
      - Initial release. 
      - Courier font is modified from one  "borrowed"  from Joe Wright.   User
        font is basically a duplicate of Courier.
