# lj4_font

## Name



           lj4_font - groff fonts for use with devlj4
    


## Description



           Nominally, all Hewlett-Packard LaserJet 4-series and newer
           printers have the same internal fonts: 45 scalable fonts and one
           bitmapped Lineprinter font.  The scalable fonts are available in
           sizes between 0.25 points and 999.75 points, in 0.25-point
           increments; the Lineprinter font is available only in 8.5-point
           size.
    
           The LaserJet font files included with **groff** assume that all
           printers since the LaserJet 4 are identical.  There are some
           differences between fonts in the earlier and more recent printers,
           however.  The LaserJet 4 printer used Agfa Intellifont technology
           for 35 of the internal scalable fonts; the remaining 10 scalable
           fonts were TrueType.  Beginning with the LaserJet 4000-series
           printers introduced in 1997, all scalable internal fonts have been
           TrueType.  The number of printable glyphs differs slightly between
           Intellifont and TrueType fonts (generally, the TrueType fonts
           include more glyphs), and there are some minor differences in
           glyph metrics.  Differences among printer models are described in
           the _PCL 5 Comparison Guide_ and the _PCL 5 Comparison Guide Addendum_
           (for printers introduced since approximately 2001).
    
           LaserJet printers reference a glyph by a combination of a
           256-glyph symbol set and an index within that symbol set.  Many
           glyphs appear in more than one symbol set; all combinations of
           symbol set and index that reference the same glyph are equivalent.
           For each glyph, _hpftodit_(1) searches a list of symbol sets, and
           selects the first set that contains the glyph.  The printing code
           generated by **hpftodit** is an integer that encodes a numerical value
           for the symbol set in the high byte(s), and the index in the low
           byte.  See _groff_font_(5) for a complete description of the font
           file format; symbol sets are described in greater detail in the
           _PCL 5 Printer Language Technical Reference Manual_.
    
           Two of the scalable fonts, Symbol and Wingdings, are bound to
           256-glyph symbol sets; the remaining scalable fonts, as well as
           the Lineprinter font, support numerous symbol sets, sufficient to
           enable printing of more than 600 glyphs.
    
           The metrics generated by **hpftodit** assume that the _DESC_ file
           contains values of 1200 for _res_ and 6350 for _unitwidth_ , or any
           combination (e.g., 2400 and 3175) for which
           _res_ × _unitwidth_ = 7620000.  Although HP PCL 5 LaserJet printers
           support an internal resolution of 7200 units per inch, they use a
           16-bit signed integer for cursor positioning; if **devlj4** is to
           support U.S. ledger paper (11 in × 17 in; in = inch), the maximum
           usable resolution is 32767 ÷ 17, or 1927 units per inch, which
           rounds down to 1200 units per inch.  If the largest required paper
           size is less (e.g., 8.5 in × 11 in, or A5), a greater _res_ (and
           lesser _unitwidth_) can be specified.
    


## Limitations



           Font metrics for Intellifont fonts were provided by Tagged Font
           Metric (TFM) files originally developed by Agfa/Compugraphic.  The
           TFM files provided for these fonts supported 600+ glyphs and
           contained extensive lists of kerning pairs.
    
           To accommodate developers who had become accustomed to TFM files,
           HP also provided TFM files for the 10 TrueType fonts included in
           the LaserJet 4.  The TFM files for TrueType fonts generally
           included less information than the Intellifont TFMs, supporting
           fewer glyphs, and in most cases, providing no kerning information.
           By the time the LaserJet 4000 printer was introduced, most
           developers had migrated to other means of obtaining font metrics,
           and support for new TFM files was very limited.  The TFM files
           provided for the TrueType fonts in the LaserJet 4000 support only
           the Latin 2 (ISO 8859-2) symbol set, and include no kerning
           information; consequently, they are of little value for any but
           the most rudimentary documents.
    
           Because the Intellifont TFM files contain considerably more
           information, they generally are preferable to the TrueType TFM
           files even for use with the TrueType fonts in the newer printers.
           The metrics for the TrueType fonts are very close, though not
           identical, to those for the earlier Intellifont fonts of the same
           names.  Although most output using the Intellifont metrics with
           the newer printers is quite acceptable, a few glyphs may fail to
           print as expected.  The differences in glyph metrics may be
           particularly noticeable with composite parentheses, brackets, and
           braces used by _eqn_(1).  A script, located in _/usr/local/share/_
           _groff/1.23.0/font/devlj4/generate_ , can be used to adjust the
           metrics for these glyphs in the special font “S” for use with
           printers that have all TrueType fonts.
    
           At the time HP last supported TFM files, only version 1.0 of the
           Unicode standard was available.  Consequently, many glyphs lacking
           assigned code points were assigned by HP to the Private Use Area
           (PUA).  Later versions of the Unicode standard included code
           points outside the PUA for many of these glyphs.  The HP-supplied
           TrueType TFM files use the PUA assignments; TFM files generated
           from more recent TrueType font files require the later Unicode
           values to access the same glyphs.  Consequently, two different
           mapping files may be required: one for the HP-supplied TFM files,
           and one for more recent TFM files.
    


## Files



           _/usr/local/share/groff/1.23.0/font/devlj4/DESC_
                  describes the **lj4** output device.
    
           _/usr/local/share/groff/1.23.0/font/devlj4/_ F
                  describes the font known as _F_ on device **lj4**.
    
           _/usr/local/share/groff/1.23.0/font/devlj4/generate/Makefile_
                  is a _make_(1) script that uses _hpftodit_(1) to prepare the
                  foregoing font description files from HP TFM data; in can
                  be used to regenerate the _groff_ font descriptions in the
                  event the TFM files are updated.
    
           _/usr/local/share/groff/1.23.0/font/devlj4/generate/special.awk_
                  is an _awk_(1) script that corrects the Intellifont-based
                  height metrics for several glyphs in the **S**(special) font
                  for TrueType CG Times used in the HP LaserJet 4000 and
                  later.
    
           _/usr/local/share/groff/1.23.0/font/devlj4/generate/special.map_
           _/usr/local/share/groff/1.23.0/font/devlj4/generate/symbol.map_
           _/usr/local/share/groff/1.23.0/font/devlj4/generate/text.map_
           _/usr/local/share/groff/1.23.0/font/devlj4/generate/wingdings.map_
                  map MSL indices and HP Unicode Private Use Area assignments
                  to _groff_ special character identifiers.
    


## See also



           _groff_(1), _hpftodit_(1), _grolj4_(1), _groff_font_(5)
    


* * *