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: 198