Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / groff / src / utils / tfmtodit / tfmtodit.man
1 .ig
2 Copyright (C) 1989-2000, 2001, 2002 Free Software Foundation, Inc.
3
4 Permission is granted to make and distribute verbatim copies of
5 this manual provided the copyright notice and this permission notice
6 are preserved on all copies.
7
8 Permission is granted to copy and distribute modified versions of this
9 manual under the conditions for verbatim copying, provided that the
10 entire resulting derived work is distributed under the terms of a
11 permission notice identical to this one.
12
13 Permission is granted to copy and distribute translations of this
14 manual into another language, under the above conditions for modified
15 versions, except that this permission notice may be included in
16 translations approved by the Free Software Foundation instead of in
17 the original English.
18 ..
19 .ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
20 .el .ds tx TeX
21 .\" Like TP, but if specified indent is more than half
22 .\" the current line-length - indent, use the default indent.
23 .de Tp
24 .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
25 .el .TP "\\$1"
26 ..
27 .TH TFMTODIT @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
28 .SH NAME
29 tfmtodit \- create font files for use with groff \-Tdvi
30 .SH SYNOPSIS
31 .nr a \n(.j
32 .ad l
33 .nr i \n(.i
34 .in +\w'\fBtfmtodit 'u
35 .ti \niu
36 .B tfmtodit
37 .de OP
38 .ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]"
39 .el .RB "[\ " "\\$1" "\ ]"
40 ..
41 .OP \-sv
42 .OP \-g gf_file
43 .OP \-k skewchar
44 .I tfm_file
45 .I map_file
46 .I font
47 .br
48 .ad \na
49 .PP
50 It is possible to have whitespace between a command line option and its
51 parameter.
52 .SH DESCRIPTION
53 .B tfmtodit
54 creates a font file for use with
55 .B
56 groff \-Tdvi\fR.
57 .I tfm_file
58 is the name of the \*(tx font metric file for the font.
59 .I map_file
60 is a file giving the groff names for characters in the font;
61 this file should consist of a sequence of lines of the form:
62 .IP
63 .I
64 n c1 c2 \fR.\|.\|.
65 .LP
66 where
67 .I n
68 is a decimal integer giving the position of the character in the font,
69 and
70 .IR c1 ,
71 .IR c2 ,.\|.\|.
72 are the groff names of the character.
73 If a character has no groff names but exists in the tfm file,
74 then it will be put in the groff font file as an unnamed character.
75 .I font
76 is the name of the groff font file.
77 The groff font file is written to
78 .IR font .
79 .LP
80 The
81 .B \-s
82 option should be given if the font is special
83 (a font is
84 .I special
85 if
86 .B troff
87 should search it whenever
88 a character is not found in the current font.)
89 If the font is special,
90 it should be listed in the
91 .B fonts
92 command in the DESC file;
93 if it is not special, there is no need to list it, since
94 .B troff
95 can automatically mount it when it's first used.
96 .LP
97 To do a good job of math typesetting, groff requires
98 font metric information not present in the tfm file.
99 The reason for this is that \*(tx has separate math italic fonts
100 whereas groff uses normal italic fonts for math.
101 The additional information required by groff is given by the
102 two arguments to the
103 .B math_fit
104 macro in the Metafont programs for the Computer Modern fonts.
105 In a text font (a font for which
106 .B math_fitting
107 is false), Metafont normally ignores these two arguments.
108 Metafont can be made to put this information in the gf file
109 by loading the following definition after
110 .B cmbase
111 when creating
112 .BR cm.base :
113 .IP
114 .nf
115 .ft B
116 def ignore_math_fit(expr left_adjustment,right_adjustment) =
117     special "adjustment";
118     numspecial left_adjustment*16/designsize;
119     numspecial right_adjustment*16/designsize;
120     enddef;
121 .fi
122 .ft R
123 .LP
124 For the EC font family, load the following definition after
125 .B exbase
126 (it is probably easiest to patch
127 .B exbase.mf
128 locally):
129 .IP
130 .nf
131 .ft B
132 def ignore_math_fit(expr left_adjustment,right_adjustment) =
133     ori_special "adjustment";
134     ori_numspecial left_adjustment*16/designsize;
135     ori_numspecial right_adjustment*16/designsize;
136     enddef;
137 .fi
138 .ft R
139 .LP
140 The gf file created using this modified
141 .B cm.base
142 or
143 .B exbase
144 should be specified with the
145 .B \-g
146 option.
147 The
148 .B \-g
149 option should not be given for a font for which
150 .B math_fitting
151 is true.
152 .SH OPTIONS
153 .TP
154 .B \-v
155 Print the version number.
156 .TP
157 .B \-s
158 The font is special.
159 The effect of this option is to add the
160 .B special
161 command to the font file.
162 .TP
163 .BI \-k n
164 The skewchar of this font is at position
165 .IR n .
166 .I n
167 should be an integer;
168 it may be given in decimal,
169 or with a leading 
170 .B 0
171 in octal,
172 or with a leading
173 .B 0x
174 in hexadecimal.
175 The effect of this option is to ignore any kerns whose second component
176 is the specified character.
177 .TP
178 .BI \-g gf_file
179 .I gf_file
180 is a gf file produced by Metafont containing special and numspecial
181 commands giving additional font metric information.
182 .SH FILES
183 .Tp \w'\fB@FONTDIR@/devdvi/DESC'u+2n
184 .B @FONTDIR@/devdvi/DESC
185 Device description file.
186 .TP
187 .BI @FONTDIR@/devdvi/ F
188 Font description file for font
189 .IR F .
190 .SH "SEE ALSO"
191 .BR groff (@MAN1EXT@),
192 .BR grodvi (@MAN1EXT@),
193 .BR groff_font (@MAN5EXT@)
194 .
195 .\" Local Variables:
196 .\" mode: nroff
197 .\" End: