1hpftodit(1) General Commands Manual hpftodit(1)
2
3
4
6 hpftodit - create font description files for use with groff and grolj4
7
9 hpftodit [-aqs] [-i n] tfm-file map-file font-description
10
11 hpftodit -d tfm-file [map-file]
12
13 hpftodit --help
14
15 hpftodit -v
16 hpftodit --version
17
19 hpftodit creates a font description file for use with a Hewlett-Packard
20 LaserJet 4-series (or newer) printer with the grolj4(1) output driver
21 of groff(1), using data from an HP tagged font metric (TFM) file. tfm-
22 file is the name of the font's TFM file; Intellifont and TrueType TFM
23 files are supported, but symbol set TFM files are not. map-file is a
24 file giving the groff special character identifiers for glyphs in the
25 font; this file should consist of a sequence of lines of the form
26 m u c1 c2 ... [# comment]
27 where m is a decimal integer giving the glyph's MSL (Master Symbol
28 List) number, u is a hexadecimal integer giving its Unicode character
29 code, and c1, c2, ... are its groff glyph names (see groff_char(7) for
30 a list). The values can be separated by any number of spaces and/or
31 tabs. The Unicode value must use uppercase hexadecimal digits A–F, and
32 must lack a leading “0x”, “u”, or “U+”. Unicode values corresponding
33 to composite glyphs are decomposed; that is “u00C0” becomes
34 “u0041_0300”. A glyph without a groff special character identifier may
35 be named uXXXX if the glyph corresponds to a Unicode value, or as an
36 unnamed glyph “---”. If the given Unicode value is in the Private Use
37 Area (PUA) (0xE000–0xF8FF), the glyph is included as an unnamed glyph.
38 Refer to groff_diff(1) for additional information about unnamed glyphs
39 and how to access them.
40
41 Blank lines and lines beginning with “#” are ignored. A “#” following
42 one or more groff names begins a comment. Because “#” is a valid groff
43 name, it must appear first in a list of groff names if a comment is in‐
44 cluded, as in
45 3 0023 # # number sign
46 or
47 3 0023 # sh # number sign
48 whereas in
49 3 0023 sh # # number sign
50 the first “#” is interpreted as the beginning of the comment.
51
52 Output is written in groff_font(5) format to font-description, a file
53 named for the intended groff font name; if this operand is “-”, the
54 font description is written to the standard output stream.
55
56 If the -i option is used, hpftodit automatically will generate an
57 italic correction, a left italic correction, and a subscript correction
58 for each glyph (the significance of these parameters is explained in
59 groff_font(5)).
60
62 --help displays a usage message, while -v and --version show version
63 information; all exit afterward.
64
65 -a Include glyphs in the TFM file that are not included in map-
66 file. A glyph with corresponding Unicode value is given the
67 name uXXXX; a glyph without a Unicode value is included as an
68 unnamed glyph “---”. A glyph with a Unicode value in the Pri‐
69 vate Use Area (0xE000–0xF8FF) is also included as an unnamed
70 glyph.
71
72 This option provides a simple means of adding Unicode-named and
73 unnamed glyphs to a font without including them in the map file,
74 but it affords little control over which glyphs are placed in a
75 regular font and which are placed in a special font. The pres‐
76 ence or absence of the -s option has some effect on which glyphs
77 are included: without it, only the “text” symbol sets are
78 searched for matching glyphs; with it, only the “mathematical”
79 symbol sets are searched. Nonetheless, restricting the symbol
80 sets searched isn't very selective—many glyphs are placed in
81 both regular and special fonts. Normally, -a should be used
82 only as a last resort.
83
84 -d Dump information about the TFM file to the standard output
85 stream; use this to ensure that a TFM file is a proper match for
86 a font, and that its contents are suitable. The information in‐
87 cludes the values of important TFM tags and a listing (by MSL
88 number for Intellifont TFM files or by Unicode value for True‐
89 Type TFM files) of the glyphs included in the TFM file. The
90 unit of measure “DU” for some tags indicates design units; there
91 are 8782 design units per em for Intellifont fonts, and 2048 de‐
92 sign units per em for TrueType fonts. Note that the accessibil‐
93 ity of a glyph depends on its inclusion in a symbol set; some
94 TFM files list many glyphs but only a few symbol sets.
95
96 The glyph listing includes the glyph index within the TFM file,
97 the MSL or Unicode value, and the symbol set and character code
98 that will be used to print the glyph. If map-file is given,
99 groff names are given for matching glyphs. If only the glyph
100 index and MSL or Unicode value are given, the glyph does not ap‐
101 pear in any supported symbol set and cannot be printed.
102
103 With the -d option, map-file is optional, and output-font is ig‐
104 nored if given.
105
106 -i n Generate an italic correction for each glyph so that its width
107 plus its italic correction is equal to n thousandths of an em
108 plus the amount by which the right edge of the glyphs's bounding
109 box is to the right of its origin. If a negative italic correc‐
110 tion would result, use a zero italic correction instead.
111
112 Also generate a subscript correction equal to the product of the
113 tangent of the slant of the font and four fifths of the x-height
114 of the font. If a subscript correction greater than the italic
115 correction would result, use a subscript correction equal to the
116 italic correction instead.
117
118 Also generate a left italic correction for each glyph equal to n
119 thousandths of an em plus the amount by which the left edge of
120 the glyphs's bounding box is to the left of its origin. The
121 left italic correction may be negative.
122
123 This option normally is needed only with italic or oblique
124 fonts; a value of 50 (0.05 em) usually is a reasonable choice.
125
126 -q Suppress warnings about glyphs in the map file that were not
127 found in the TFM file. Warnings never are given for unnamed
128 glyphs or by glyphs named by their Unicode values. This option
129 is useful when sending the output of hpftodit to the standard
130 output stream.
131
132 -s Add the special directive to the font description file, affect‐
133 ing the order in which HP symbol sets are searched for each
134 glyph. Without this option, the “text” sets are searched before
135 the “mathematical” symbol sets. With it, the search order is
136 reversed.
137
139 /usr/share/groff/1.23.0/font/devlj4/DESC
140 describes the lj4 output device.
141
142 /usr/share/groff/1.23.0/font/devlj4/F
143 describes the font known as F on device lj4.
144
145 /usr/share/groff/1.23.0/font/devlj4/generate/Makefile
146 is a make(1) script that uses hpftodit(1) to prepare the groff
147 font description files above from HP TFM data; in can be used to
148 regenerate them in the event the TFM files are updated.
149
150 /usr/share/groff/1.23.0/font/devlj4/generate/special.awk
151 is an awk(1) script that corrects the Intellifont-based height
152 metrics for several glyphs in the S (special) font for TrueType
153 CG Times used in the HP LaserJet 4000 and later.
154
155 /usr/share/groff/1.23.0/font/devlj4/generate/special.map
156 /usr/share/groff/1.23.0/font/devlj4/generate/symbol.map
157 /usr/share/groff/1.23.0/font/devlj4/generate/text.map
158 /usr/share/groff/1.23.0/font/devlj4/generate/wingdings.map
159 map MSL indices and HP Unicode PUA assignments to groff special
160 character identifiers.
161
163 groff(1), groff_diff(1), grolj4(1), groff_font(5)
164
165
166
167groff 1.23.0 2 November 2023 hpftodit(1)