Hagen - Pragma ADE
Hagen - Pragma ADE Hagen - Pragma ADE
34 Modes glyph 256 font 33: U+00065: e glyph 258 font 33: U+0FB00: ff glyph 256 font 33: U+00065: e userskip 1.9072 - 0.9536 + 0.6357 glyph 258 font 33: U+0FB01: fi glyph 256 font 33: U+0006A: j glyph 256 font 33: U+0006E: n userskip 1.9072 - 0.9536 + 0.6357 glyph 258 font 33: U+0FB01: fi glyph 256 font 33: U+00065: e glyph 256 font 33: U+00074: t disc glyph 256 font 33: U+00073: s glyph 256 font 33: U+00065: e glyph 256 font 33: U+0006E: n prebreak : glyph 0 font 33: U+0002D: - component : glyph 1 font 33: U+00066: f disc component : glyph 1 font 33: U+00066: f component : glyph 1 font 33: U+00066: f component : glyph 1 font 33: U+00069: i component : glyph 1 font 33: U+00066: f component : glyph 1 font 33: U+00069: i prebreak : glyph 1 font 33: U+0002D: - Figure 2.6 The rendering of the Dutch words ‘ effe fijn fietsen’. features analyze=yes, curs=yes, devanagari=yes, extrafeatures=yes, kern=yes, liga=yes, mark=yes, mkmk=yes, mode=node, script=dflt, tlig=yes, trep=yes step 1 affiliation [+TLT] U+61:a U+66:f [disc] U+66:f U+69:i U+6C:l [disc] U+69:i [disc] U+61:a [disc] U+74:t U+69:i U+6F:o U+6E:n feature 'liga', lookup 'ls_l_3_s', replacing U+00066 (f) upto U+00066 (f) by ligature U+0FB00 (uniFB00) case 2
step 2 affiliation [+TLT] U+61:a U+FB00:ff U+69:i U+6C:l [disc] U+69:i [disc] U+61:a [disc] U+74:t U+69:i U+6F:o U+6E:n feature 'liga', lookup 'ls_l_4_s', replacing U+0FB00 (uniFB00) upto U+00069 (i) by ligature U+0FB03 (uniFB03) case 2 result affiliation [+TLT] U+61:a U+FB03:ffi U+6C:l [disc] U+69:i [disc] U+61:a [disc] U+74:t U+69:i U+6F:o U+6E:n Be warned that this f f i sequence not always becomes a ligature. Actually this is one area where tradition is quite visible: for some reason most fonts do have these f-related ligatures but lack others. These ligatures even have code points in Unicode which is quite debatable. Just as there are fonts with hardly any kerns (like Lucida) there are fonts that follow a different route to improve the look and feel of neighbouring glyphs, like Cambria: font 46: cambria.ttf @ 24.0pt features analyze=yes, curs=yes, devanagari=yes, extrafeatures=yes, kern=yes, liga=yes, mark=yes, mkmk=yes, mode=node, script=latn, tlig=yes, trep=yes step 1 affiliation [+TLT] U+61:a U+66:f [disc] U+66:f U+69:i U+6C:l [disc] U+69:i [disc] U+61:a [disc] U+74:t U+69:i U+6F:o U+6E:n feature 'liga', chain 'ks_latn_l_17_s', sub 'ss_l_35', lookup 'ss_l_35_s', replacing single U+00066 (f) by U+F016E (glyph976) result af
- Page 1: explaining luatex and mkiv Fonts ou
- Page 4 and 5: 2 Contents 5.4 Goodies 73 5.5 Analy
- Page 6 and 7: 4 Contents
- Page 8 and 9: 6 Introduction In this manual we wi
- Page 10 and 11: 8 Font formats a b g l q . ; ? ffi
- Page 12 and 13: 10 Font formats When T E X ships ou
- Page 14 and 15: 12 A.4 A.3 Font formats multiple ac
- Page 16 and 17: 14 Font formats can be rules that t
- Page 18 and 19: 16 Font formats /fonts/tfm/vendor/t
- Page 20 and 21: 18 Modes raw tfm normalized tfm raw
- Page 22 and 23: 20 Modes shown next: kern cyrl dflt
- Page 24 and 25: 22 Modes ccmp cyrl mkd абвгде
- Page 26 and 27: 24 Modes dlig latn gag abcdefghijkl
- Page 28 and 29: 26 Modes liga latn nsm abcdefghijkl
- Page 30 and 31: 28 Modes salt latn mol abcdefghijkl
- Page 32 and 33: 30 Modes glyph 256 font 42: U+00074
- Page 34 and 35: 32 Modes glyph 256 font 33: U+00061
- Page 38 and 39: 36 Modes optimizer that can apply a
- Page 40 and 41: 38 Modes ا خLJَ﮲ ف﮲َ step
- Page 42 and 43: 40 Modes dir +TRT glyph 256 font 49
- Page 44 and 45: 42 Modes and now we get: 123 normal
- Page 46 and 47: 44 Modes MkIV run can be faster tha
- Page 48 and 49: 46 Lookups \font \MyFontG = lmr12 s
- Page 50 and 51: 48 Lookups 3.4 Name Say that we wan
- Page 52 and 53: 50 Lookups We add another specifier
- Page 54 and 55: 52 Methods \definefont [MyFont] [Bo
- Page 56 and 57: 54 Methods } copyright = "ConTeXt d
- Page 58 and 59: 56 Features of all, all we get to s
- Page 60 and 61: 58 Features in base mode. A single
- Page 62 and 63: 60 Features accumulate within a wor
- Page 64 and 65: 62 Features features analyze=yes, c
- Page 66 and 67: 64 Features \definedfont[lmroman10-
- Page 68 and 69: 66 Features single substitutions or
- Page 70 and 71: 68 F -0.492 eatures result ffi feat
- Page 72 and 73: 70 Features font 80: lmroman10-regu
- Page 74 and 75: 72 Features font 46: cambria.ttf @
- Page 76 and 77: 74 Features } } This goodie file is
- Page 78 and 79: 76 Features { name = "msbm10.tfm",
- Page 80 and 81: 78 Features \starttypescript[somefo
- Page 82 and 83: 80 Features \setupbodyfont [mojcasf
- Page 84 and 85: 82 Features } normalweight = "extra
step 2 affiliation [+TLT] U+61:a U+FB00:ff U+69:i U+6C:l<br />
[disc] U+69:i [disc] U+61:a [disc] U+74:t U+69:i U+6F:o<br />
U+6E:n<br />
feature 'liga', lookup 'ls_l_4_s', replacing U+0FB00 (uniFB00)<br />
upto U+00069 (i) by ligature U+0FB03 (uniFB03) case 2<br />
result affiliation [+TLT] U+61:a U+FB03:ffi U+6C:l<br />
[disc] U+69:i [disc] U+61:a [disc] U+74:t U+69:i U+6F:o<br />
U+6E:n<br />
Be warned that this f f i sequence not always becomes a ligature. Actually this<br />
is one area where tradition is quite visible: for some reason most fonts do have these<br />
f-related ligatures but lack others. These ligatures even have code points in Unicode<br />
which is quite debatable. Just as there are fonts with hardly any kerns (like Lucida)<br />
there are fonts that follow a different route to improve the look and feel of neighbouring<br />
glyphs, like Cambria:<br />
font 46: cambria.ttf @ 24.0pt<br />
features analyze=yes, curs=yes, devanagari=yes, extrafeatures=yes,<br />
kern=yes, liga=yes, mark=yes, mkmk=yes, mode=node, script=latn,<br />
tlig=yes, trep=yes<br />
step 1 affiliation [+TLT] U+61:a U+66:f [disc] U+66:f U+69:i<br />
U+6C:l [disc] U+69:i [disc] U+61:a [disc] U+74:t U+69:i<br />
U+6F:o U+6E:n<br />
feature 'liga', chain 'ks_latn_l_17_s', sub 'ss_l_35', lookup<br />
'ss_l_35_s', replacing single U+00066 (f) by U+F016E<br />
(glyph976)<br />
result af