The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE

The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE

pragma.ade.nl
from pragma.ade.nl More from this publisher
29.05.2014 Views

otf.replacements otf.sequences otf.singles show what glyphs are replaced (combines other trackers) show what glyph is replaced by one other Some other trackers might also come in handy: fonts.combining fonts.defining fonts.loading show what extra characters are added when forcing combined shapes show what fonts are dened show more details when a font is loaded (and cached) for the rst time We now show another way to track what happens with your text. Because this is rather verbose, you should only apply it to words. The second argument can be -1 (right to left), 0 (default) or 1 (left to right). The third argument can be invisible in the code because the font used for verbatim might lack the shapes. A font has a different ordering than Unicode because after all one character can have multiple representations, one shape can be used for multiple characters, or shapes might not have a Unicode point at all. In MkIV we push all shapes that have no direct relationship with Unicode to the private area so that TEX still sees them (hence the large numbers in the following examples). The next example uses Latin Modern. Here we apply the following features: \definefontfeature [latin-default] [mode=node,language=dflt,script=latn, liga=yes,calt=yes,clig=yes, kern=yes] \showotfcomposition {name:lmroman12regular*latin-default at 24pt} {0} {flinke fietser} features: analyze=yes, calt=yes, clig=yes, kern=yes, language=dflt, liga=yes, mode=node, script=latn result: flinke fietser 1: U+66:f U+6C:l U+69:i U+6E:n U+6B:k U+65:e [glue] U+66:f U+69:i [disc] U+65:e U+74:t U+73:s U+65:e U+72:r 252 Tracking

flinke fietser feature liga, lookup ls_l_8_s replacing U+0066 (f) upto U+006C (l) by ligature U+FB02 (f_l) 2: U+FB02:fl U+69:i U+6E:n U+6B:k U+65:e [glue] U+66:f U+69:i [disc] U+65:e U+74:t U+73:s U+65:e U+72:r flinke fietser feature liga, lookup ls_l_9_s replacing U+0066 (f) upto U+0069 (i) by ligature U+FB01 (f_i) 3: U+FB02:fl U+69:i U+6E:n U+6B:k U+65:e [glue] U+FB01:fi [disc] U+65:e U+74:t U+73:s U+65:e U+72:r flinke fietser feature kern, lookup pp_l_1_s inserting kern -42467.328 between U+006B (k) and U+0065 (e) 4: U+FB02:fl U+69:i U+6E:n U+6B:k [kern] U+65:e [glue] U+FB01:fi [disc] U+65:e U+74:t U+73:s U+65:e U+72:r flinke fietser The next example uses Arabtype. Here we apply the following features: \definefontfeature [arabtype-default] [mode=node,language=dflt,script=arab, init=yes,medi=yes,fina=yes,isol=yes, ccmp=yes,locl=yes,calt=yes, liga=yes,clig=yes,dlig=yes,rlig=yes, mark=yes,mkmk=yes,kern=yes,curs=yes] \showotfcomposition {arabtype*arabtype-default at 48pt} {-1} {} Tracking 253

flinke fietser<br />

feature liga, lookup ls_l_8_s<br />

replacing U+0066 (f) upto U+006C (l) by ligature U+FB02 (f_l)<br />

2: U+FB02:fl U+69:i U+6E:n U+6B:k U+65:e [glue] U+66:f U+69:i<br />

[disc] U+65:e U+74:t U+73:s U+65:e U+72:r<br />

flinke fietser<br />

feature liga, lookup ls_l_9_s<br />

replacing U+0066 (f) upto U+0069 (i) by ligature U+FB01 (f_i)<br />

3: U+FB02:fl U+69:i U+6E:n U+6B:k U+65:e [glue] U+FB01:fi [disc]<br />

U+65:e U+74:t U+73:s U+65:e U+72:r<br />

flinke fietser<br />

feature kern, lookup pp_l_1_s<br />

inserting kern -42467.328 between U+006B (k) and U+0065 (e)<br />

4: U+FB02:fl U+69:i U+6E:n U+6B:k [kern] U+65:e [glue] U+FB01:fi<br />

[disc] U+65:e U+74:t U+73:s U+65:e U+72:r<br />

flinke fietser<br />

<strong>The</strong> next example uses Arabtype. Here we apply the following features:<br />

\definefontfeature<br />

[arabtype-default]<br />

[mode=node,language=dflt,script=arab,<br />

init=yes,medi=yes,fina=yes,isol=yes,<br />

ccmp=yes,locl=yes,calt=yes,<br />

liga=yes,clig=yes,dlig=yes,rlig=yes,<br />

mark=yes,mkmk=yes,kern=yes,curs=yes]<br />

\showotfcomposition<br />

{arabtype*arabtype-default at 48pt}<br />

{-1}<br />

{}<br />

Tracking 253

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

Saved successfully!

Ooh no, something went wrong!