
Format of troff Width Tables
As discussed in Chapter 4, troff uses width tables stored in the directory /usr/lib/font to determine how to place text on the page. To do this, it needs to know how wide each character is.
For each type of troff output device supported by your system, there should be a directory called /usr/lib/f ont/devxx, where xx is the name of the device. For example, on our system:
$ ls -F /usr/lib/font
devlj/
devps/
Within each of these directories resides an overall device description file, called DESC, and individual font files for the fonts on your system. These files exist both in ASCII and binary form. The binary files are created from the ASCII versions using a utility called makedev, and have the suffix .out.
On our system, here’s what the font directory for the HP Laserjet contains:
$ ls /usr/lib/font/devl
B DESC I S
B.out DESC.outI.out S.out
CW HB R TY
CW.out HB.out R.out TY.out
▪ The DESC File ▪
The DESC file contains an overall description of the output device, including its resolution in dots per inch, the paper size, the fonts that will be mounted by default, the available point sizes, and a complete list of all the troff special character names supported on that device.
A DESC file might look something like the following example:
# HP LaserJet
fonts 6 R I B HB CW S sizes 7 8 10 12 14 17 22 27 0 ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access