Hello,I'm working on installing computer modern font to groff. I can almost get it to work. The only issue I'm having is supporting 'åäö' (i believe all latin1 chars). When comparing my generated dit-file with the one existing for TimesR, I see I'm missing a charset definition for ':o' (and all other latin1 chars). When trying to add it in manually: ':o 500,448,11 2 246 odieresis', it doesn't throw an error, but cant either show the glyph. Also feels way too hacky.
I have no clue about the font system, how should it work? Does it have anything to do with the enc/text.enc file, or the map/textmap files? Or does the :o definition come from the .pfb?
I'm planning on doing a clearer writeup when i know more, i think it would be helpful for groff noobs how to do stuff like this :p
appending some files which might be helpful. Please tell me if you need any more fles/information.
Thanks in advance, Olle Lögdahl
cmr10.pfa
Description: application/font-type1
# This file has been generated with GNU afmtodit (groff) version 1.22.4 # # FullName cmr10 # Version 1.1/12-Nov-94 # FamilyName cmr10 name /usr/share/groff/site-font/devpdf/CMR10 internalname cmr10 spacewidth 333 encoding text.enc ligatures fl ffi fi ff ffl 0 kernpairs A C -28 A G -28 A O -28 A Q -28 A T -83 A U -28 A V -111 A W -111 A Y -83 A t -28 D A -28 D V -28 D W -28 D X -28 D Y -28 F A -111 F C -28 F G -28 F O -28 F Q -28 F a -83 F e -83 F o -83 F r -83 F u -83 I I 28 K C -28 K G -28 K O -28 K Q -28 L T -83 L V -111 L W -111 L Y -83 O A -28 O V -28 O W -28 O X -28 O Y -28 P A -83 P a -28 P , -83 P e -28 P o -28 P . -83 R C -28 R G -28 R O -28 R Q -28 R T -83 R U -28 R V -111 R W -111 R Y -83 R t -28 T A -83 T a -83 T e -83 T o -83 T r -83 T u -83 T y -28 V A -111 V C -28 V G -28 V O -28 V Q -28 V a -83 V e -83 V o -83 V r -83 V u -83 W A -111 W C -28 W G -28 W O -28 W Q -28 W a -83 W e -83 W o -83 W r -83 W u -83 X C -28 X G -28 X O -28 X Q -28 Y A -83 Y a -83 Y e -83 Y o -83 Y r -83 Y u -83 a j 56 a v -28 a w -28 a y -28 b c 28 b d 28 b e 28 b j 56 b o 28 b q 28 b v -28 b w -28 b x -28 b y -28 c h -28 c k -28 f ] 78 f rB 78 f ! 78 f ) 78 f ? 78 f ' 78 f cq 78 ff ] 78 ff rB 78 ff ! 78 ff ) 78 ff ? 78 ff ' 78 ff cq 78 g j 28 h b -28 h t -28 h u -28 h v -28 h w -28 h y -28 k a -28 k a -56 k c -28 k e -28 k o -28 m b -28 m t -28 m u -28 m v -28 m w -28 m y -28 n b -28 n t -28 n u -28 n v -28 n w -28 n y -28 o c 28 o d 28 o e 28 o j 56 o o 28 o q 28 o v -28 o w -28 o x -28 o y -28 p c 28 p d 28 p e 28 p j 56 p o 28 p q 28 p v -28 p w -28 p x -28 p y -28 ' ! 111 cq ! 111 ' ? 111 cq ? 111 t w -28 t y -28 u w -28 v a -56 v a -28 v c -28 v e -28 v o -28 w a -28 w c -28 w e -28 w o -28 y a -28 y , -83 y e -28 y o -28 y . -83 charset space 333 0 32 space ! 278,716 2 33 exclam # 833,694,194 3 35 numbersign sh " $ 500,750,56 2 36 dollar Do " % 833,750,56 2 37 percent & 778,716,22 2 38 ampersand ' 278,694 2 39 quoteright cq " ( 389,750,250 3 40 parenleft ) 389,750,250 3 41 parenright * 500,750 2 42 asterisk + 778,583,83 0 43 plus , 278,110,194 1 44 comma - 333,247 0 45 hyphen hy " . 278,110 0 46 period / 500,750,250 3 47 slash sl " 0 500,666,22 2 48 zero 1 500,666 2 49 one 2 500,666 2 50 two 3 500,666,22 2 51 three 4 500,666 2 52 four 5 500,666,22 2 53 five 6 500,666,22 2 54 six 7 500,676,22 2 55 seven 8 500,666,22 2 56 eight 9 500,666,22 2 57 nine : 278,431 0 58 colon ; 278,431,194 1 59 semicolon = 778,367 0 61 equal ? 472,705 2 63 question @ 778,705,11 2 64 at at " A 750,716 2 65 A B 708,683 2 66 B C 722,705,22 2 67 C D 764,683 2 68 D E 681,683 2 69 E F 653,683 2 70 F G 785,705,22 2 71 G H 750,683 2 72 H I 361,683 2 73 I J 514,683,22 2 74 J K 778,683 2 75 K L 625,683 2 76 L M 917,683 2 77 M N 750,683 2 78 N O 778,705,22 2 79 O P 681,683 2 80 P Q 778,705,194 3 81 Q R 736,683,22 2 82 R S 556,705,22 2 83 S T 722,683 2 84 T U 750,683,22 2 85 U V 750,683,22 2 86 V W 1028,683,22 2 87 W X 750,683 2 88 X Y 750,683 2 89 Y Z 611,683 2 90 Z [ 278,750,250 3 91 bracketleft lB " ] 278,750,250 3 93 bracketright rB " ^ 500,694 2 94 circumflex a^ " ` 278,694 2 96 quoteleft oq " a 500,448,11 0 97 a b 556,694,11 2 98 b c 444,448,11 0 99 c d 556,694,11 2 100 d e 444,448,11 0 101 e f 306,705 2 102 f g 500,453,206 1 103 g h 556,694 2 104 h i 278,669 2 105 i j 306,669,205 3 106 j k 528,694 2 107 k l 278,694 2 108 l m 833,442 0 109 m n 556,442 0 110 n o 500,448,11 0 111 o p 556,442,194 1 112 p q 528,442,194 1 113 q r 392,442 0 114 r s 394,448,11 0 115 s t 389,615,11 2 116 t u 556,442,11 0 117 u v 528,431,11 0 118 v w 722,431,11 0 119 w x 528,431 0 120 x y 528,431,205 1 121 y z 444,431 0 122 z ~ 500,668 2 126 tilde a~ " en 500,279 0 137 endash em 1000,279 0 138 emdash ff 583,705 2 139 ff fi 556,705 2 140 fi fl 556,705 2 141 fl Fi 833,705 2 142 ffi Fl 833,705 2 143 ffl .i 278,442 0 144 dotlessi .j 306,442,205 1 145 dotlessj ga 500,698 2 146 grave a" 500,700 2 147 hungarumlaut a. 278,669 2 148 dotaccent ab 500,694 2 149 breve ah 500,640 2 150 caron ao 750,716 2 151 ring lq 500,694 2 153 quotedblleft rq 500,694 2 154 quotedblright oe 778,448,11 0 155 oe OE 1014,705,22 2 158 OE r! 278,500,216 1 161 exclamdown ad 500,669 2 168 dieresis a- 500,590 0 175 macron aa 500,698 2 180 acute ac 444,0,205 1 184 cedilla r? 472,500,205 1 191 questiondown AE 903,683 2 198 AE /O 778,740,57 2 216 Oslash ss 500,705,11 2 223 germandbls ae 722,448,11 0 230 ae /o 500,534,103 0 248 oslash *G 625,683 2 256 Gamma *S 722,683 2 257 Sigma *L 694,716 2 258 Lambda *D 833,716 2 259 Delta --- 278,392 0 260 polishlcross *W 722,705 2 261 Omega *C 667,683 2 262 Xi *H 778,705,22 2 263 Theta *Q 778,683 2 264 Psi *F 722,683 2 265 Phi *U 778,705 2 266 Upsilon *P 750,683 2 267 Pi :o 500,448.11 1 246 odieresis
# # This is the font encoding used by grops to encode the standard PS text # fonts (excluding special fonts). # asciicircum 0 asciitilde 1 Scaron 2 Zcaron 3 scaron 4 zcaron 5 Ydieresis 6 trademark 7 quotesingle 8 Euro 9 space 32 exclam 33 quotedbl 34 numbersign 35 dollar 36 percent 37 ampersand 38 quoteright 39 parenleft 40 parenright 41 asterisk 42 plus 43 comma 44 hyphen 45 period 46 slash 47 zero 48 one 49 two 50 three 51 four 52 five 53 six 54 seven 55 eight 56 nine 57 colon 58 semicolon 59 less 60 equal 61 greater 62 question 63 at 64 A 65 B 66 C 67 D 68 E 69 F 70 G 71 H 72 I 73 J 74 K 75 L 76 M 77 N 78 O 79 P 80 Q 81 R 82 S 83 T 84 U 85 V 86 W 87 X 88 Y 89 Z 90 bracketleft 91 backslash 92 bracketright 93 circumflex 94 underscore 95 quoteleft 96 a 97 b 98 c 99 d 100 e 101 f 102 g 103 h 104 i 105 j 106 k 107 l 108 m 109 n 110 o 111 p 112 q 113 r 114 s 115 t 116 u 117 v 118 w 119 x 120 y 121 z 122 braceleft 123 bar 124 braceright 125 tilde 126 quotesinglbase 128 guillemotleft 129 guillemotright 130 bullet 131 florin 132 fraction 133 perthousand 134 dagger 135 daggerdbl 136 endash 137 emdash 138 ff 139 fi 140 fl 141 ffi 142 ffl 143 dotlessi 144 dotlessj 145 grave 146 hungarumlaut 147 dotaccent 148 breve 149 caron 150 ring 151 ogonek 152 quotedblleft 153 quotedblright 154 oe 155 lslash 156 quotedblbase 157 OE 158 Lslash 159 exclamdown 161 cent 162 sterling 163 currency 164 yen 165 brokenbar 166 section 167 dieresis 168 copyright 169 ordfeminine 170 guilsinglleft 171 logicalnot 172 minus 173 registered 174 macron 175 degree 176 plusminus 177 twosuperior 178 threesuperior 179 acute 180 mu 181 paragraph 182 periodcentered 183 cedilla 184 onesuperior 185 ordmasculine 186 guilsinglright 187 onequarter 188 onehalf 189 threequarters 190 questiondown 191 Agrave 192 Aacute 193 Acircumflex 194 Atilde 195 Adieresis 196 Aring 197 AE 198 Ccedilla 199 Egrave 200 Eacute 201 Ecircumflex 202 Edieresis 203 Igrave 204 Iacute 205 Icircumflex 206 Idieresis 207 Eth 208 Ntilde 209 Ograve 210 Oacute 211 Ocircumflex 212 Otilde 213 Odieresis 214 multiply 215 Oslash 216 Ugrave 217 Uacute 218 Ucircumflex 219 Udieresis 220 Yacute 221 Thorn 222 germandbls 223 agrave 224 aacute 225 acircumflex 226 atilde 227 adieresis 228 aring 229 ae 230 ccedilla 231 egrave 232 eacute 233 ecircumflex 234 edieresis 235 igrave 236 iacute 237 icircumflex 238 idieresis 239 eth 240 ntilde 241 ograve 242 oacute 243 ocircumflex 244 otilde 245 odieresis 246 divide 247 oslash 248 ugrave 249 uacute 250 ucircumflex 251 udieresis 252 yacute 253 thorn 254 ydieresis 255
res 72000 hor 1 vert 1 sizescale 1000 unitwidth 1000 sizes 1000-10000000 0 styles R I B BI family T fonts 8 0 0 0 0 0 0 S ZD tcommand postpro gropdf papersize a4
# # Predefined groff symbols for textual fonts. # :o ö a14 rh a a A A aacute 'a Aacute 'A acircumflex ^a Acircumflex ^A acute aa adieresis :a Adieresis :A ae ae AE AE agrave `a Agrave `A aleph Ah alpha *a Alpha *A ampersand & angle /_ angleleft la angleright ra approxequal ~~ approxequal ~= aring oa Aring oA arrowboth <> arrowdblboth hA arrowdbldown dA arrowdblleft lA arrowdblright rA arrowdblup uA arrowdown da arrowhorizex an arrowleft <- arrowright -> arrowupdn va arrowup ua arrowvertex arrowvertex asciicircum ha asciitilde ti asterisk * asteriskmath ** at @ at at atilde ~a Atilde ~A backslash \ backslash rs bar | bar ba b b B B beta *b Beta *B braceex barex braceex braceex braceex braceleftex braceex bracerightex braceex bv braceleft { braceleftbt braceleftbt braceleftbt lb braceleft lC braceleftmid braceleftmid braceleftmid lk bracelefttp bracelefttp bracelefttp lt braceright } bracerightbt bracerightbt bracerightbt rb bracerightmid bracerightmid bracerightmid rk braceright rC bracerighttp bracerighttp bracerighttp rt bracketleft [ bracketleftbt bracketleftbt bracketleftbt lf bracketleftex bracketleftex bracketleft lB bracketlefttp bracketlefttp bracketlefttp lc bracketright ] bracketrightbt bracketrightbt bracketrightbt rf bracketrightex bracketrightex bracketright rB bracketrighttp bracketrighttp bracketrighttp rc breve ab brokenbar bb bullet bu cacute 'c Cacute 'C caron ah carriagereturn CR c c C C ccedilla ,c Ccedilla ,C cedilla ac cent ct checkmark OK chi *x Chi *X circle ci circlemultiply c* circleplus c+ circumflex ^ circumflex a^ club CL colon : comma , congruent =~ copyright co currency Cs daggerdbl dd dagger dg d d D D degree de delta *d Delta *D diamond DI dieresis ad divide tdi dollar $ dollar Do dotaccent a. dotlessi .i dotlessj .j dotmath md eacute 'e Eacute 'E ecircumflex ^e Ecircumflex ^E edieresis :e Edieresis :E e e E E egrave `e Egrave `E eight 8 element mo emdash em emptyset es endash en epsilon *e Epsilon *E equal = equivalence == eta *y Eta *Y Eth -D eth Sd Euro Eu exclam ! exclamdown r! existential te f f F F ff ff ffi Fi ffl Fl fi fi five 5 fiveeighths 58 fl fl florin Fn four 4 fraction f/ gamma *g Gamma *G germandbls ss g g G G gradient gr grave ga greater > greaterequal >= guillemotleft Fo guillemotright Fc guilsinglleft fo guilsinglright fc heart HE h h H H hungarumlaut a" hyphen - hyphen hy iacute 'i Iacute 'I icircumflex ^i Icircumflex ^I idieresis :i Idieresis :I Ifraktur Im igrave `i Igrave `I i i I I ij ij IJ IJ infinity if # the next line overrides the (old) PUA value of the AGL integralex u23AE integral integral integral is intersection ca iota *i Iota *I j j J J kappa *k Kappa *K k k K K lambda *l Lambda *L less < lessequal <= l l L L logicaland AN logicalnot tno logicalor OR lozenge lz lslash /l Lslash /L macron a- minus \- minute fm m m M M mu1 mc multiply tmu mu *m Mu *M # if there is "mu1" glyph in the font - comment out the following line mu mc nine 9 n n N N notelement nm notequal != notsubset nb ntilde ~n Ntilde ~N numbersign # numbersign sh nu *n Nu *N oacute 'o Oacute 'O ocircumflex ^o Ocircumflex ^O odieresis :o Odieresis :O oe oe OE OE ogonek ho ograve `o Ograve `O omega1 +p omega *w Omega *W omicron *o Omicron *O one 1 oneeighth 18 onehalf 12 onequarter 14 onesuperior S1 o o O O ordfeminine Of ordmasculine Om oslash /o Oslash /O otilde ~o Otilde ~O overline rn paragraph ps parenleft ( parenleftbt parenleftbt parenleftex parenleftex parenlefttp parenlefttp parenright ) parenrightbt parenrightbt parenrightex parenrightex parenrighttp parenrighttp partialdiff pd percent % period . periodcentered pc perpendicular pp perthousand %0 phi1 +f phi *f Phi *F pi *p Pi *P plus + plusminus t+- p p P P product product propersubset sb propersuperset sp proportional pt psi *q Psi *Q q q Q Q question ? questiondown r? quotedbl " quotedblbase Bq quotedbl dq quotedblleft lq quotedblright rq quoteleft ` quoteleft oq quoteright ' quoteright cq quotesinglbase bq quotesingle aq radicalex radicalex radical sqrt radical sr reflexsubset ib reflexsuperset ip registered rg Rfraktur Re rho *r Rho *R ring ao r r R R scaron vs Scaron vS second sd section sc semicolon ; seven 7 seveneighths 78 SF110000 br sigma1 ts sigma *s Sigma *S similar ap six 6 slash / slash sl spade SP s s S S sterling Po suchthat st summation sum tau *t Tau *T therefore 3d therefore tf theta1 +h theta *h Theta *H thorn Tp Thorn TP three 3 threeeighths 38 threequarters 34 threesuperior S3 tilde ~ tilde a~ trademark tm t t T T two 2 twosuperior S2 uacute 'u Uacute 'U ucircumflex ^u Ucircumflex ^U udieresis :u Udieresis :U ugrave `u Ugrave `U underscore _ uni03F5 +e uni210F -h uni210F hbar uni21D5 vA uni2210 coproduct uni2213 -+ uni2243 |= uni2262 ne uni226A >> uni226B << uni2285 nc uni25A1 sq uni261C lh union cu universal fa upsilon *u Upsilon *U u u U U v v V V weierstrass wp w w W W xi *c Xi *C x x X X yacute 'y Yacute 'Y ydieresis :y Ydieresis :Y yen Ye y y Y Y zcaron vz Zcaron vZ zero 0 zeta *z Zeta *Z z z Z Z