HISTORY
    July 	  24, 1998  First edition
    September 28, 1999  English version

TITLE     onHand/Ruputer Font Manual


<<SII Codes>>
                                       * Font Code (font_code)
     Standard Font                       (font_code=0, 1, 2)
     Proportional Font                   (font_code=5, 6, 7)
     SII Pictograph
     SCOSII Codes (Standard Code Of SII) (font_code=8-60)
     SII Monomap

<<About SCOSII Codes>>

<<About Font Codes (font_code)>>
     Outline Font Codes
     Bitmap Font Codes
     List of Font Codes

<<Data Storage Types>>
     Font Storage Types
     Monomap Storage Types

<<Display Function Uses by Type>>
1. Standard Font (6 x 12, 6 x 10, 6 x 8)
2. Proportional Fonts (Width: Variable, Height: 12, 10, 8)
3. SII Pictograph (12 x 12)
4. SCOSII Codes
5. SII Monomap



<<SII Codes>>
      SII codes enable various faces of characters to be displayed on the onHand/Ruputer.  They are classified as follows by code.

    # Standard font (font_code=0, 1, 2)
          The width of fonts is fixed to 6 dots.
                Example   "abcdef.012"
                Function  printf     kput     sput
                            x         O        x

    # Proportional font (font_code=5, 6, 7)
          The width of fonts is variable.
                Example   "abcdef.012"
                Function  printf     kput     sput
                            x         O        x
  
    # SII pictograph (font_code=0)
     SII original code system that represents double-byte characters.
         Pictographs are 12 x 12 in size, and are available with applications to represent the schedule marks, etc.

          Pictograph code --- F6C0-F93F (double-byte code specification)

                Example  str=0xf89E -> (picMELODY Musical note: see  font.h.)
                Function  printf     kput     sput
                            x         x        O

    # SCOSII code (Standard Code Of SII) (font_code=8-60)
          SII original code system that represents single-byte characters.
          This code system is mainly used for time display, and includes various sizes of fonts.  However, the codes cannot designate the size of fonts and the size codes (font_code) to be described later are also required.

                Example  7*13A type time display "10:35:58"
                Function  printf     kput     sput
                            x         O        x

        * Font codes (font_code)
          Integers indicating combinations of the above codes and font sizes.  Even when the character strings to be displayed are the same, their fonts can be changed by changing their font codes.

                Example
                     STANDARD 6*12        --- font_code=0
                                  ->  kput( x, y, "10:35:58", 0, 0, 0 );

                      SCOSII  7*13A type --- font_code=32
                                  ->  kput( x, y, "10:35:58",32, 0, 0 );

                      SCOSII  3*5         --- font_code=8
                                  ->  kput( x, y, "10:35:58", 8, 0, 0 );

    SII monomap
          Used to represent dot image data with header information.
          Picture elements are represented by black and white (0 and 1).

                Function  put
                           O



<<About SCOSII Codes>>
      SII original code system that represents single-byte characters.  Because this code system is developed based on ASCII codes, some of the codes are identical to those of ASCII characters.  This code system is mainly used for time display, and includes various font sizes and character patterns.

             Code  ASCII SCOSII
              30h    0    0
              31h    1    1
              32h    2    2
              33h    3    3
              34h    4    4
              35h    5    5
              36h    6    6
              37h    7    7
              38h    8    8
              39h    9    9
              3Ah    :    :
              3Bh    ;    - <- Change
              3Ch    <    A <- Change
              3Dh    =    M <- Change
              3Eh    >    P <- Change
              3Fh    ?    sp <- Change  Space
              * Even when space (20h) is specified, it is not displayed.
                Be sure to specify '?'(3Fh).

        Example  SCOSII 9*13 time display --- "10:35:58AM -10:20:00PM"  
          
            When the time is displayed on the LCD as shown above, the following settings must be made in the kput(); function.
                  Upper left corner coordinates on screen   --- x=30, y=10
                  Character string                          --- buf="10:35:58<=?;10:20:00>="
                  Font code                                 --- font_code=40
                  Inter-character dot                       --- dot=0
                  Display pattern                           --- lop=0
                  kput( 30, 10, "10:35:58<=?;10:20:00>=", 40, 0 ,0 );

            LCD display
                +----------------------------+ 
                |   10:35:58AM -10:20:00PM   | 
                |                            | 
                |                            | 
                |                            | 
                +----------------------------+ 



<<About Font Codes (font_code)>>
      When the kput(); function is used to represent a character string, the font size and character pattern must be specified using the font codes (font_code).

     Outline font codes
      font_code=0 --- To display characters whose font size (width x height) is fixed to 6 x 12 dots.
      font_code=1 --- To display characters whose font size is fixed to 6 x 10 dots.
      font_code=2 --- To display characters whose font size is fixed to 6 x 8 dots.
      font_code=5 --- To display proportional fonts.  The width of fonts varies from character to character, but the height is fixed to 12 dots.
      font_code=6 --- To display proportional fonts.  The width of fonts varies from character to character, but the height is fixed to 10 dots.
      font_code=7 --- To display proportional fonts.  The width of fonts varies from character to character, but the height is fixed to 8 dots.
      font_code=8-60 --- SCOSII font codes.  These codes are single-byte codes partially compatible with ASCII codes.

     List of Font Codes
        font_code     Size          Contents                          printf kput  sput
             0         6*12         ASCII                               x     O     x 
             1         6*10         font_code=0 (height: 10 dots)       x     O     x 
             2         6* 8         font_code=0 (height: 8 dots)        x     O     x 

             5       Any value*12   Proportional                        x     O     x 
             6       Any value*10   Proportional                        x     O     x 
             7       Any value*8    Proportional                        x     O     x 

             8         3* 5         SCOSII                              x     O     x 
             9         3* 7         SCOSII                              x     O     x 
            10         3* 9         SCOSII                              x     O     x 
            11         4* 9         SCOSII  Standard                    x     O     x 
            12         5* 7         SCOSII                              x     O     x 
            13         Free         SCOSII                              x     O     x 
            16         5* 9 A       SCOSII                              x     O     x 
            17         5* 9 B       SCOSII  Standard                    x     O     x 
            18         Free         SCOSII                              x     O     x 
            19         5*10         SCOSII  Standard                    x     O     x 
            20         6*11         SCOSII  Digital                     x     O     x 
            21         Free         SCOSII                              x     O     x 
            24         6*13 A       SCOSII  STW (slim)                  x     O     x 
            25         6*13 B       SCOSII  STW (fat)                   x     O     x 
            26         6*13 C       SCOSII  Digital                     x     O     x 
          27-29        Free         SCOSII                              x     O     x 
            32         7*13 A       SCOSII  STW type                    x     O     x 
            33         7*13 B       SCOSII  Digital                     x     O     x 
          34-37        Free         SCOSII                              x     O     x 
            40         9*16 A       SCOSII  Standard (except AM and PM) x     O     x 
            41         9*16 B       SCOSII  Stroke style                x     O     x 
          42-45        Free         SCOSII                              x     O     x 
            48        11*17 A       SCOSII  STW type                    x     O     x 
            49        11*17 B       SCOSII                              x     O     x 
            50        11*17 C       SCOSII  Digital                     x     O     x 
          51-53       Free          SCOSII                              x     O     x 
            56        13*19 A       SCOSII                              x     O     x 
            57        13*19 B       SCOSII                              x     O     x 
            58        13*19 C       SCOSII                              x     O     x 
            59        13*19 D       SCOSII                              x     O     x 
            60        13*24         SCOSII  time.exf                    x     O     x 




<<Data Storage Types>>
     Font storage type
      The non-display areas of font sizes are padded vertically with zeros.
In addition, display data is stored consecutively.

      Example  Font size 3*9 (font_code=8) "1"
              
             0 1 2 
           0 O # O                    0   1   2  
        y  1 # # O        ->  y 0-7   86h FFh 80h
           2 # # O
           3 O # O
           4 O # O
           5 O # O
           6 O # O
           7 # # #
  
           8 # # #                    x 0   1   2 
           9 - - -        ->  y 8-15  01h 01h 01h
          10 - - -
          11 - - -
          12 - - -
          13 - - -
          14 - - -
          15 - - -
                   -: Non-display area

                             0  1  2  0  1  2
                            86 FF 80 01 01 01 

     Monomap storage type
      The monomap type has a header at the top of data.  It contains the numbers of horizontal and vertical dots.  This header information (int type) contains 16 bits (2 bytes).  Picture elements are represented in black and white, i.e., binaries (0, 1).  Like the fonts, they are stored facing vertically and sliding horizontally for high-speed display. 

       Example SII monomap 51*32

            0 1 2 3 4 5 --- 63
          0 # # # # # #
          1 # # # # # #                 0   1   2   3   4   5 ---
          2 # # O O O O     ->  0-7    FFh FFh 03h 03h 03h 03h
          3 # # O O O O
          4 # # O O O O
          5 # # O O O O
          6 # # O O O O
          7 # # O O O O

          8 # # O O O O
          9 # # O O O O                 0   1   2   3   4   5 ---
         10 # # O O O O     ->  8-15   FFh FFh 00h 00h 00h 00h 
         11 # # O O O O
         12 # # O O O O
         13 # # O O O O
         14 # # O O O O
         15 # # O O O O
          :
         31
                        Header                   Data
                     Width Height     0  1  2  3    49 50  0  1  2  3
                     33 00 20 00     FF FF 03 03 -- 00 00 FF FF 00 00 ---

        * The header (width=33h, height=20h) is stored as that of int type (2 bytes).


1. Standard Fontsi6 x 12, 6 x 10, 6 x 8j

    Contents
      font_code=0,1,2
      8bit ASCII  20h - 7Eh, 80h - FFh

-----------------------------------------------------------------------------------------------------------
     kput() 
        Font codes to which this function applies
                    font_code=0,1,2
          Example
              x=10, y=5, str="Abcdef 12345 /&@", font_code=0, dot=0, lop=0

                kput( 10, 5, "Abcdef 12345 /&@", 0, 0 ,0 );

                +---------------------------+ 
                |   Abcdef 12345 /&@        | 
                |                           | 
                |                           | 
                |                           | 
                +---------------------------+ 

     sput() 
          Not supported

=======================================================

2. Proportional Fonts (Width: Variable, Height: 12, 10, 8)

    Contents
      font_code=5,6,7
      8bit ASCII  20h - 7Eh, 80h - FFh

-------------------------------------------------------------------------------------------------
    kput() 
        Font codes to which this function applies
                    font_code=5, 6, 7
          Example
              x=10, y=5, str="Abcdef 12345 /&@", font_code=0, dot=0, lop=0

                kput( 10, 5, "Abcdef 12345 /&@", 0, 0 ,0 );

                +----------------------------+ 
                |   Abcdef 12345 /&@         | 
                |                            | 
                |                            | 
                |                            | 
                +----------------------------+ 

     sput() 
          Not supported

==========================================================

3. SII Pictograph (12 x 12)

    Contents
      Double-byte codes F6C0-F93F

---------------------------------------------------------------------------------------------------
     kput() 
          Not supported

     sput() 
          Example
              x=10, y=5, s_code=F89Eh   (picMELODY Musical node: see font.h.), lop=0
                sput( 10, 5, 0xf89e,0 );
                 

===============================================================


4. SCOSII Codes

    Contents
      SCOSII    30h-3Fh

        font_code     Dots         Data size  
             8         3* 5        3*8  = 03h
             9         3* 7        3*8  = 03h
            10         3* 9        3*16 = 06h
            11         4* 9        4*16 = 08h   Standard
            12         5* 7        5*8  = 05h
            13         Free
            16         5* 9 A      5*16 = 0Ah
            17         5* 9 B      5*16 = 0Ah  Standard
            18         Free
            19         5*10        5*16 = 0Ah  Standard
            20         6*11        6*16 = 0Ch  Digital
            21         Free
            24         6*13 A      6*16 = 0Ch  STW type (slim)
            25         6*13 B      6*16 = 0Ch  STW type (fat)
            26         6*13 C      6*16 = 0Ch  Digital
          27-29        Free
            32         7*13 A      7*16 = 0Eh  STW type
            33         7*13 B      7*16 = 0Eh  Digital
          34-37        Free
            40         9*13        9*16 = 12h  Standard (except AM and PM)
            41         9*16        9*16 = 12h  Stroke style
          42-45        Free
            48        11*17 A     11*24 = 21h  STW type
            49        11*17 B     11*24 = 21h 
            50        11*17 C     11*24 = 21h  Digital
          51-53       Free
            56        13*19 A     13*24 = 27h 
            57        13*19 B     13*24 = 27h 
            58        13*19 C     13*24 = 27h 
            59        13*19 D     13*24 = 27h 
            60        13*24       13*24 = 27h time

----------------------------------------------------------------------------------------------------------
     kput() 
        Font codes to which this function applies
                    font_code=8-61 (SCOSII code)
          Example
            x=10, y=5, str="<=?10:35:58;>=?10:20:00", font_code=11, dot=0, lop=0

                kput( 10, 5, "<=?10:35:58;>=?10:20:00", 11, 0, 0 );
                              ^^^^^^^^^^^^^^^^^^^^^^^
                                Applied for SCCOSII codes
                +---------------------------+ 
                |  AM 10:35:58~PM 10:20:00  | 
                |                           | 
                |                           | 
                |                           | 
                +---------------------------+ 

     sput() 
          Not supported

======================================================

5. SII Monomap

    Contents
        For images stored in the monomap ROM, refer to font.h.
        In addition, images read into the RAM can be displayed.

----------------------------------------------------------------------------------------------
    Example
        x=0, y=0, ptr=25F472h (mmpWRD World map: see font.h),lop=0

          put (0,0, 0x25F472,0 );

==========================================================


===============================================================================
 Copyright (c) 1998-1999.  Seiko Instruments Inc.  All rights reserved. 
===============================================================================
