/***************************************************************************/
/************   To customize character sets for 711/720/8100    ************/
/***************************************************************************/

   There are two default font files for the CPT-711 and CPT-720: F6x8.MAC and
   F8x16.MAC. The F6X8.MAC and F8X16.MAC files define the bitmap patterns for
   the small font (6x8) and large font (8x16) respectively. The corresponding
   ASCII value for these bitmap patterns are ranging from 32 (Hex 20) to 126
   (Hex 7E). For the small font, each character takes 8 bytes while the large
   font takes 16 bytes. The user may redefine these patterns to have a
   different typeface of the font and/or add more patterns to extend the
   character sets of these two font files. These two default font files do
   NOT define ASCII value above 126, i.e., users may add the bitmap patterns
   for ASCII 127 to 255 according to their needs.


PROCEDURES:

1. Use a text editor to open the F6X8.MAC or F8X16.MAC.
   Upon opening the file, you can see many rows of Hexadecimal values.
   For example,

   FONT_6X8:
        db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
        db  004h, 004h, 004h, 004h, 000h, 000h, 004h, 000h
        db  00ah, 00ah, 00ah, 000h, 000h, 000h, 000h, 000h
        db  00ah, 00ah, 01fh, 00ah, 01fh, 00ah, 00ah, 000h
        db  004h, 01eh, 005h, 00eh, 014h, 00fh, 004h, 000h
        db  003h, 013h, 008h, 004h, 002h, 019h, 018h, 000h
        ..................................................

   FONT_8X16:
       	db  000h, 000h,	000h, 000h, 000h, 000h,	000h, 000h
       	db  000h, 000h,	000h, 000h, 000h, 000h,	000h, 000h
        ;
       	db  000h, 000h,	000h, 018h, 03ch, 03ch,	03ch, 018h
       	db  018h, 000h,	018h, 018h, 000h, 000h,	000h, 000h
        ;
       	db  000h, 000h,	0c6h, 0c6h, 0c6h, 044h,	000h, 000h
       	db  000h, 000h,	000h, 000h, 000h, 000h,	000h, 000h
        ..................................................


   For small font (F6X8.MAC), each row represents a character.
   For large font (F6X8.MAC), every two rows represent a character.

   For example, if the bitmap of "U" is

        pattern        binary       two nibbles      hex        hex

       00000000  ==>  00000000  ==>  0000 0000  ==>  0x00  ==>  000h
       01000100  ==>  00100010  ==>  0010 0010  ==>  0x22  ==>  022h
       01000100  ==>  00100010  ==>  0010 0010  ==>  0x22  ==>  022h
       01000100  ==>  00100010  ==>  0010 0010  ==>  0x22  ==>  022h
       01000100  ==>  00100010  ==>  0010 0010  ==>  0x22  ==>  022h
       00111000  ==>  00011100  ==>  0001 1100  ==>  0x1c  ==>  01ch
       00000000  ==>  00000000  ==>  0000 0000  ==>  0x00  ==>  000h
       00000000  ==>  00000000  ==>  0000 0000  ==>  0x00  ==>  000h

   The left-hand side is the row bitmap pattern that represents the activated
   pixels on the graphic display. The right-hand side is its corresponding
   hexadecimal value. Note that the left-most pixel corresponds to the least
   significant bit when converting the row pattern to binary string.

2. Follow the above rules to convert the bitmap of your own characters or
   symbols to the Hexadecimal values and then replace or add these values to
   the contents of F6x8.MAC and F8X16.MAC.

3. Compile the F6x8.MAC and F8X16.MAC by using the X batch file (X.BAT).
   For example,

       X  F6X8.MAC     ==>     F6X8.REL
       X  F8X16.MAC    ==>     F8X16.REL
  
   The F6X8.REL and F8X16.REL are the target files after compilation.

4. Link the F6X8.REL and/or F8X16.REL by adding the F6X8.REL and/or F8X16.REL
   to the link file (*.LNK). Note the F6X8.REL and F8X16.REL must be placed
   before the BEFORE the standard libraries (711LIB.LIB / 720LIB.LIB).

   For example, the contents of your link file may become:

       -lm -lg -ll

       user.rel
       menu.rel
 
       F6X8.REL
       F8X16.REL
       ..\lib\711lib.lib
       ..\lib\c900ml.lib

       /*******************************************/
       /*  User could provide suitable values     */
       /*      to the following variables         */
       /*******************************************/
       MainStackSize = 0x001000;
       HeapSize      = 0x000100;

       .........................
       .........................


5. Relink your program and you will then have the new characters.



