[NTG-context] small caps

Thomas A.Schmitz thomas.schmitz at uni-bonn.de
Sat Feb 26 10:13:00 CET 2005


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



More information about the ntg-context mailing list