![](https://secure.gravatar.com/avatar/d0e94fb08d4620cfbd2f8f59a7868637.jpg?s=120&d=mm&r=g)
In the last days, I played around with some truetype fonts, preparing them for use with ConTeXt by creating tfms via the texnansi encoding. Some of these truetypes have expert features embedded into their glyphs. texnansi automatically takes care of integrating the "ff," "ffi" and "ffl" ligatures. In order to extract small caps and old-style numerals, I created a modified texnansi encoding. Here it comes: /TeXnANSISCEncoding [ /.notdef % 0 /Euro % /Uni20AC 1 /.notdef % 2 /.notdef % 3 /fraction % 4 /dotaccent % 5 /hungarumlaut % 6 /ogonek % 7 /fl % 8 /.notdef % /fraction % 9 not used (see 4), backward compatability only /cwm % 10 not used, except boundary char internally maybe /ff % 11 /fi % 12 /.notdef % /fl % 13 not used (see 8), backward compatability only /ffi % 14 /ffl % 15 /dotlessi % 16 /dotlessj % 17 /grave % 18 /acute % 19 /caron % 20 /breve % 21 /macron % 22 /ring % 23 /cedilla % 24 /germandbls % 25 /AEsmall % 26 /OEsmall % 27 /Oslashsmall % 28 /AE % 29 /OE % 30 /Oslash % 31 /space % 32 % /suppress in TeX text /exclam % 33 /quotedbl % 34 % /quotedblright in TeX text /numbersign % 35 /dollar % 36 /percent % 37 /ampersand % 38 /quoteright % 39 % /quotesingle in ANSI /parenleft % 40 /parenright % 41 /asterisk % 42 /plus % 43 /comma % 44 /hyphen % 45 /period % 46 /slash % 47 /zerooldstyle % 48 /oneoldstyle % 49 /twooldstyle % 50 /threeoldstyle % 51 /fouroldstyle % 52 /fiveoldstyle % 53 /sixoldstyle % 54 /sevenoldstyle % 55 /eightoldstyle % 56 /nineoldstyle % 57 /colon % 58 /semicolon % 59 /less % 60 % /exclamdown in Tex text /equal % 61 /greater % 62 % /questiondown in TeX text /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 % /quotedblleft in TeX text /bracketright % 93 /circumflex % 94 % /asciicircum in ASCII /underscore % 95 % /dotaccent in TeX text /quoteleft % 96 % /grave accent in ANSI /Asmall % 97 /Bsmall % 98 /Csmall % 99 /Dsmall % 100 /Esmall % 101 /Fsmall % 102 /Gsmall % 103 /Hsmall % 104 /Ismall % 105 /Jsmall % 106 /Ksmall % 107 /Lsmall % 108 /Msmall % 109 /Nsmall % 110 /Osmall % 111 /Psmall % 112 /Qsmall % 113 /Rsmall % 114 /Ssmall % 115 /Tsmall % 116 /Usmall % 117 /Vsmall % 118 /Wsmall % 119 /Xsmall % 120 /Ysmall % 121 /Zsmall % 122 /braceleft % 123 % /endash in TeX text /bar % 124 % /emdash in TeX test /braceright % 125 % /hungarumlaut in TeX text /tilde % 126 % /asciitilde in ASCII /dieresis % 127 not used (see 168), use higher up instead /Lslash % 128 this position is unfortunate, but now too late to fix /quotesingle % 129 /quotesinglbase % 130 /florin % 131 /quotedblbase % 132 /ellipsis % 133 /dagger % 134 /daggerdbl % 135 /circumflex % 136 /perthousand % 137 /Scaron % 138 /guilsinglleft % 139 /OE % 140 /Zcaron % 141 /asciicircum % 142 /minus % 143 /lslash % 144 /quoteleft % 145 /quoteright % 146 /quotedblleft % 147 /quotedblright % 148 /bullet % 149 /endash % 150 /emdash % 151 /tilde % 152 /trademark % 153 /scaron % 154 /guilsinglright % 155 /oe % 156 /zcaron % 157 /asciitilde % 158 /Ydieresis % 159 /nbspace % 160 % /space (no break space) /exclamdown % 161 /cent % 162 /sterling % 163 /currency % 164 /yen % 165 /brokenbar % 166 /section % 167 /dieresis % 168 /copyright % 169 /ordfeminine % 170 /guillemotleft % 171 /logicalnot % 172 /sfthyphen % 173 % /hyphen (hanging hyphen) /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 /guillemotright % 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 % OE in T1 /Oslash % 216 /Ugrave % 217 /Uacute % 218 /Ucircumflex % 219 /Udieresis % 220 /Yacute % 221 /Thorn % 222 /germandbls % 223 /Agravesmall % 224 /Aacutesmall % 225 /Acircumflexsmall % 226 /Atildesmall % 227 /Adieresissmall % 228 /Aringsmall % 229 /AEsmall % 230 /Ccedillasmall % 231 /Egravesmall % 232 /Eacutesmall % 233 /Ecircumflexsmall % 234 /Edieresissmall % 235 /Igravesmall % 236 /Iacutesmall % 237 /Icircumflexsmall % 238 /Idieresissmall % 239 /eth % 240 /Ntildesmall % 241 /Ogravesmall % 242 /Oacutesmall % 243 /Ocircumflexsmall % 244 /Otildesmall % 245 /Odieresissmall % 246 /divide % 247 % oe in T1 /Oslashsmall % 248 /Ugravesmall % 249 /Uacutesmall % 250 /Ucircumflexsmall % 251 /Udieresissmall % 252 /Yacutesmall % 253 /Thornsmall % 254 /Ydieresissmall % 255 % germandbls in T1 ] def With the help of this encoding, I was able to create small-cap fonts with old-style numerals that I could then use in my typescript. So I'm wondering: is this a good idea, or is there a simpler way of doing this? Best Thomas