Hagen - Pragma ADE

Hagen - Pragma ADE Hagen - Pragma ADE

context.aanhet.net
from context.aanhet.net More from this publisher
13.07.2013 Views

62 Features features analyze=yes, curs=yes, devanagari=yes, extrafeatures=yes, kern=yes, liga=yes, mark=yes, mkmk=yes, mode=node, onum=yes, script=dflt, smcp=yes, tlig=yes, trep=yes step 1 It's 2013! U+49:I U+74:t U+27:' U+73:s [glue] U+32:2 U+30:0 U+31:1 U+33:3 U+21:! feature 'onum', lookup 'ss_l_4_s', replacing U+00032 (two) by single U+0F732 (two.oldstyle) feature 'onum', lookup 'ss_l_4_s', replacing U+00030 (zero) by single U+0F730 (zero.oldstyle) feature 'onum', lookup 'ss_l_4_s', replacing U+00031 (one) by single U+0F731 (one.oldstyle) feature 'onum', lookup 'ss_l_4_s', replacing U+00033 (three) by single U+0F733 (three.oldstyle) step 2 It's 2013! U+49:I U+74:t U+27:' U+73:s [glue] U+F732:2 U+F730:0 U+F731:1 U+F733:3 U+21:! feature 'trep', lookup 'ctx_trep_1_1', replacing U+00027 (quotesingle) by single U+02019 (quoteright) result It’s 2013! U+49:I U+74:t U+2019:’ U+73:s [glue] U+F732:2 U+F730:0 U+F731:1 U+F733:3 U+21:! font 64: texgyrepagella-regular.otf @ 24.0pt features analyze=yes, curs=yes, devanagari=yes, extrafeatures=yes, kern=yes, liga=yes, mark=yes, mkmk=yes, mode=node, onum=yes, script=dflt, smcp=yes, tlig=yes, trep=yes step 1 It's 2013! U+49:I U+74:t U+27:' U+73:s [glue] U+32:2 U+30:0 U+31:1 U+33:3 U+21:! feature 'smcp', lookup 'ss_l_3_s', replacing U+00074 (t) by single U+0F774 (t.sc) feature 'smcp', lookup 'ss_l_3_s', replacing U+00073 (s) by single U+0F773 (s.sc)

step 2 It's 2013! U+49:I U+F774:t U+27:' U+F773:s [glue] U+32:2 U+30:0 U+31:1 U+33:3 U+21:! feature 'onum', lookup 'ss_l_5_s', replacing U+00032 (two) by single U+0F732 (two.oldstyle) feature 'onum', lookup 'ss_l_5_s', replacing U+00030 (zero) by single U+0F730 (zero.oldstyle) feature 'onum', lookup 'ss_l_5_s', replacing U+00031 (one) by single U+0F731 (one.oldstyle) feature 'onum', lookup 'ss_l_5_s', replacing U+00033 (three) by single U+0F733 (three.oldstyle) step 3 It's 2013! U+49:I U+F774:t U+27:' U+F773:s [glue] U+F732:2 U+F730:0 U+F731:1 U+F733:3 U+21:! feature 'trep', lookup 'ctx_trep_1_1', replacing U+00027 (quotesingle) by single U+02019 (quoteright) result It’s 2013! U+49:I U+F774:t U+2019:’ U+F773:s [glue] U+F732:2 U+F730:0 U+F731:1 U+F733:3 U+21:! 5.2.5 Multiple substitution In a multiple substitution a sequence of characters (glyphs) gets replaced by another sequence. In fact, you might wonder why one--to--one, multiple--to--one and multiple--to-multiple are not all generalized into this variant. Efficiency is probably the main reason. 5 For instance the many--to--one is often used for ligatures (liga) and as a consequence liga is often misused also for non--ligatures. One usage of multiple replacements is to avoid and or undo other replacements. In the next example we see a language dependent fi ligature. Take the dutch ij and ie diftongs. Here we need to prevent the i becoming combined with the f as it would look weird. Among the solutions for this are: context dependent ligatures (which involves a lot of rules), or multiple to multiple replacements (looking at the fij sequence). \definefontfeature[default-fijn-en][default][language=eng,script=latn] \definefontfeature[default-fijn-nl][default][language=nld,script=latn] \definedfont[lmroman10-regular*default-fijn-en]\en effe fijn fietsen 5 Isn’t it strange that complex mechanisms are designed to save a few bytes while at the same time we produce ridiculous large pictures with cameras. 63 Features

step 2 It's 2013! U+49:I U+F774:t U+27:' U+F773:s [glue]<br />

U+32:2 U+30:0 U+31:1 U+33:3 U+21:!<br />

feature 'onum', lookup 'ss_l_5_s', replacing U+00032 (two) by<br />

single U+0F732 (two.oldstyle)<br />

feature 'onum', lookup 'ss_l_5_s', replacing U+00030 (zero) by<br />

single U+0F730 (zero.oldstyle)<br />

feature 'onum', lookup 'ss_l_5_s', replacing U+00031 (one) by<br />

single U+0F731 (one.oldstyle)<br />

feature 'onum', lookup 'ss_l_5_s', replacing U+00033 (three) by<br />

single U+0F733 (three.oldstyle)<br />

step 3 It's 2013! U+49:I U+F774:t U+27:' U+F773:s [glue]<br />

U+F732:2 U+F730:0 U+F731:1 U+F733:3 U+21:!<br />

feature 'trep', lookup 'ctx_trep_1_1', replacing U+00027<br />

(quotesingle) by single U+02019 (quoteright)<br />

result It’s 2013! U+49:I U+F774:t U+2019:’ U+F773:s [glue]<br />

U+F732:2 U+F730:0 U+F731:1 U+F733:3 U+21:!<br />

5.2.5 Multiple substitution<br />

In a multiple substitution a sequence of characters (glyphs) gets replaced by another<br />

sequence. In fact, you might wonder why one--to--one, multiple--to--one and multiple--to-multiple<br />

are not all generalized into this variant. Efficiency is probably the main reason. 5<br />

For instance the many--to--one is often used for ligatures (liga) and as a consequence<br />

liga is often misused also for non--ligatures.<br />

One usage of multiple replacements is to avoid and or undo other replacements. In<br />

the next example we see a language dependent fi ligature. Take the dutch ij and ie<br />

diftongs. Here we need to prevent the i becoming combined with the f as it would look<br />

weird. Among the solutions for this are: context dependent ligatures (which involves a<br />

lot of rules), or multiple to multiple replacements (looking at the fij sequence).<br />

\definefontfeature[default-fijn-en][default][language=eng,script=latn]<br />

\definefontfeature[default-fijn-nl][default][language=nld,script=latn]<br />

\definedfont[lmroman10-regular*default-fijn-en]\en effe fijn fietsen<br />

5 Isn’t it strange that complex mechanisms are designed to save a few bytes while at the same time we produce<br />

ridiculous large pictures with cameras.<br />

63<br />

Features

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!