

The following descriptions of Deskjet softfont formats was condensed from the
Deskjet Software Developer's Guide.  It does not include complete information
about the Deskjet softfont format; it merely provides enough information for a
user to convert a Laserjet softfont to Deskjet format.

There are two descriptor areas for each Deskjet softfont, just like the
Laserjet softfonts.  The Font Descriptor is a part of the  <esc> )s#W  escape
sequence to create a font.  The Character Descriptor follows the Laserjet
escape sequence format  <esc> (s#W  and is used when downloading a character.

The same escape sequences are used in a softfont file in the same order.  The
major differences are that the Deskjet requires that the softfonts be
downloaded in ascending character order, and the descriptor formats are
different.  So, basically, if the descriptors are modified, a Laserjet softfont
can be converted to Deskjet format.

The following is a brief outline of both descriptors.  Two-byte fields are in
word format, one-byte fields in byte format.



                        DESKJET FONT DESCRIPTOR FORMAT



 Bytes        Field                      Description
-------    --------------------      ------------------------------------------

 0-1       Descriptor Size           Value always 64 for Deskjet (64 decimal)

 2-3       Font Identification       Similar to Laserjet symbol set ID. Number
                                     used is (symbol set field #  x  256) +
                                     (ASCII value for terminator). Note this is
                                     slightly different than Laserjet.

 4-5       Placement Level           Should be 100 decimal

 6-7       Font Spacing              0 = fixed   1 = proportional

 8-9       Pitch                     value =  ( CPI  x  100 )

10-11      Height                    value = ( height in points  x  100 )

12-13      Style                     0 = upright   100 = Italic

14-15      Stroke Weight             value = ( LJ stroke weight  x  100 )

16-17      Typeface                  value = ( LJ typeface  x  100)

18-19      Quality                   200 for Laserjet fonts

  20       Font Type                 0 = 7 bit  (only chars 33-127)
                                     1 = 8 bit  (only chars 22-127 and 160-255)
                                     2 = IBM    (only chars 1-6, 16-26, 28-255)

21-22      Space Width               Width of space char  (in 1/3600 inch)

  23       Unidirectional Flag       0 for Laserjet fonts

  24       Aux Compressed Flag       0 for Laserjet fonts

  25       Aux Hidden Chars Flag     0 for Laserjet fonts

  26       Half Pitch Flag           1 for Laserjet fonts

  27       Double Pitch Flag         1 for Laserjet fonts

  28       Half Height Flag          1 for Laserjet fonts

  29       Bold Flag                 0 = allow algorithmic boldfacing
                                     1 = disallow algorithmic boldfacing

  30       Draft Flag                0 = allow algorithmic draft print
                                     1 = disallow algorithmic draft print

  31       Bold Method               0 = one dot column of bolding
                                     1 = two dot columns of bolding

  32       Dot Resolution            0 for Laserjet fonts

  33       Orientation               0 = portrait    1 = landscape

                                     NOTE: Landscape is not same as Laserjet.
                                           If Landscape is selected, it will
                                           merely rotate characters. It is up
                                           to the application to correctly
                                           send characters to produce a true
                                           landscape orientation!

34-35      Baseline Offset           value = ( LJ baseline offset  x  100 )

36-37      Tall Font Offset          0 for Laserjet fonts

38-39      Single Underline Mask     15 for Laserjet fonts

40-41      Double Underline Mask     3855 for Laserjet fonts

42-43      Page Hold Timer           Time to hold page before it is ejected

44-59      Font Name                 ASCII name of font

60-61      Data Length               Length of font tables and dot data

62-63      Reserved                  must be 0



                      DESKJET CHARACTER DESCRIPTOR FORMAT



 Bytes        Field                      Description
-------    --------------------      ------------------------------------------

  0        Character Format          must be 5

  1        Reserved                  must be 0

  2        Descriptor Size           must be 6

  3        Character Type            0 for Laserjet fonts

  4        Normal Width              normal character width (in .06 inch)

  5        Compressed Width          compressed character width (in .06 inch)

  6        Left Proportional Pad     space at left of char (in .06 inch)

  7        Right Proportional Pad    space at right of char (in .06 inch)




