Next: , Previous: Fonts and Markers, Up: Fonts and Markers


A.1 Available text fonts

The GNU libplot library and applications built on it, such as graph, plot, pic2plot, tek2plot, and plotfont, can use many fonts. These include 22 Hershey vector fonts, 35 Postscript fonts, 45 PCL 5 fonts, and 18 Hewlett–Packard vector fonts. We call these 120 supported fonts the `built-in' fonts. The Hershey fonts are constructed from stroked characters digitized c. 1967 by Dr. Allen V. Hershey at the U.S. Naval Surface Weapons Center in Dahlgren, VA. The 35 Postscript fonts are the outline fonts resident in all modern Postscript printers, and the 45 PCL 5 fonts are the outline fonts resident in modern Hewlett–Packard LaserJet printers and plotters. (Of the PCL 5 fonts, the old LaserJet III, which was Hewlett–Packard's first PCL 5 printer, supported only eight: the Univers and CGTimes fonts.) The 18 Hewlett–Packard vector fonts are fonts that are resident in Hewlett–Packard printers and plotters (mostly the latter).

The Hershey fonts can be used by all types of Plotter supported by libplot, and the Postscript fonts can be used by X, SVG, Illustrator, Postscript, and Fig Plotters. So, for example, all variants of graph can use the Hershey fonts, and graph -T X, graph -T svg, graph -T ai, graph -T ps, graph -T cgm and graph -T fig can use the Postscript fonts. The PCL 5 fonts can be used by by SVG, Illustrator, PCL, and HP-GL Plotters, and by graph -T svg, graph -T ai, graph -T pcl, and graph -T hpgl. The Hewlett–Packard vector fonts can be used by PCL and HP-GL Plotters, and by graph -T pcl and graph -T hpgl. X Plotters and graph -T X are not restricted to the built-in Hershey and Postscript fonts. They can use any X Window System font.

The plotfont utility, which accepts the ‘-T’ option, will print a character map of any font that is available in the specified output format. See plotfont.

For the purpose of plotting text strings (see Text String Format), the 120 built-in fonts are divided into typefaces. As you can see from the following tables, our convention is that in any typeface with more than a single font, font #1 is the normal font, font #2 is italic or oblique, font #3 is bold, and font #4 is bold italic or bold oblique. Additional variants (if any) are numbered #5 and higher.

The 22 Hershey fonts are divided into typefaces as follows.

Nearly all Hershey fonts except the Symbol fonts use the ISO-Latin-1 encoding, which is a superset of ASCII. The Symbol fonts consist of Greek characters and mathematical symbols, and use the symbol font encoding documented in the Postscript Language Reference Manual. By convention, each Hershey typeface contains a symbol font (HersheySerifSymbol or HersheySansSymbol, as appropriate) as font #0.

HersheyCyrillic, HersheyCyrillic-Oblique, and HersheyEUC (which is a Japanese font) are the only non-Symbol Hershey fonts that do not use the ISO-Latin-1 encoding. For their encodings, see Cyrillic and Japanese.

The 35 Postscript fonts are divided into typefaces as follows.

All Postscript fonts except the ZapfDingbats and Symbol fonts use the ISO-Latin-1 encoding. The encodings used by the ZapfDingbats and Symbol fonts are documented in the Postscript Language Reference Manual. By convention, each Postscript typeface contains the Symbol font as font #0.

The 45 PCL 5 fonts are divided into typefaces as follows.

All PCL 5 fonts except the Wingdings and Symbol fonts use the ISO-Latin-1 encoding. The encoding used by the Symbol font is the symbol font encoding documented in the Postscript Language Reference Manual. By convention, each PCL typeface contains the Symbol font as font #0.

The 18 Hewlett–Packard vector fonts are divided into typefaces as follows.

The Hewlett–Packard vector fonts with an asterisk (the ANK and Symbol fonts) are only available when producing HP-GL/2 graphics, or HP-GL graphics for the HP7550A graphics plotter and the HP758x, HP7595A and HP7596A drafting plotters. That is, they are available only if HPGL_VERSION is "2" (the default) or "1.5". The ANK fonts are Japanese fonts (see Cyrillic and Japanese), and the Symbol fonts contain a few miscellaneous mathematical symbols.

All Hewlett–Packard vector fonts except the ANK and Symbol fonts use the ISO-Latin-1 encoding. The Arc fonts are proportional (variable-width) fonts, and the Stick fonts are fixed-width fonts. If HP-GL/2 or HP-GL output is selected, the Arc fonts are assumed to be kerned via device-resident kerning tables. But when producing PCL 5 output, it is assumed that the display device will do no kerning. Apparently Hewlett–Packard dropped support for device-resident kerning tables when emulating HP-GL/2 from within PCL 5. For information about Hewlett–Packard vector fonts and the way in which they are kerned (in HP-GL pen plotters, at least), see the article by L. W. Hennessee et al. in the Nov. 1981 issue of the Hewlett–Packard Journal.

To what extent do the fonts supported by libplot contain ligatures? The Postscript fonts, the PCL 5 fonts, and the Hewlett–Packard vector fonts, at least as implemented in libplot, do not contain ligatures. However, six of the 22 Hershey fonts contain ligatures. The character combinations "fi", "ff", "fl", "ffi", and "ffl" are automatically drawn as ligatures in HersheySerif and HersheySerif-Italic. (Also in the two HersheyCyrillic fonts and HersheyEUC, since insofar as printable ASCII characters are concerned, they are identical [or almost identical] to HersheySerif.) In addition, "tz" and "ch" are ligatures in HersheyGothicGerman. The German double-s character `ß', which is called an `eszet', is not treated as a ligature in any font. To obtain an eszet, you must either request one with the escape sequence "\ss" (see Text String Format), or, if you have an 8-bit keyboard, type an eszet explicitly.