lj4_font(5) — Linux manual page

Name | Description | Limitations | Files | See also | COLOPHON

lj4_font(5)                File Formats Manual               lj4_font(5)

Name         top

       lj4_font - groff fonts for use with devlj4

Description         top

       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

       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

       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         top

       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         top

              describes the lj4 output device.

              describes the font known as F on device lj4.

              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.

              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

              map MSL indices and HP Unicode Private Use Area
              assignments to groff special character identifiers.

See also         top

       groff(1), hpftodit(1), grolj4(1), groff_font(5)

COLOPHON         top

       This page is part of the groff (GNU troff) project.  Information
       about the project can be found at 
       ⟨http://www.gnu.org/software/groff/⟩.  If you have a bug report
       for this manual page, see ⟨http://www.gnu.org/software/groff/⟩.
       This page was obtained from the project's upstream Git repository
       ⟨https://git.savannah.gnu.org/git/groff.git⟩ on 2024-06-14.  (At
       that time, the date of the most recent commit that was found in
       the repository was 2024-06-10.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to

groff 1.23.0.rc1.1931-35c9b  5 February 2022                 lj4_font(5)