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
300 User code
XXXIV Just plain running For testing basic LuaTEX functionality it makes sense to have a minimal system, and traditionally plain TEX has been the most natural candidate. It is for this reason that it had been on the agenda for a while to provide basic OpenType font support for plain TEX as well. Although the MkIV node mode subsystem is not yet perfect, the time was right to start experimenting with a subset of the MkIV code. Using plain roughly comes down to the following. First you need to generate a format: luatex --ini --fmt=luatex.fmt luatex-plain.tex This format has to be moved to a place where it can be found by the kpse library. Since this can differ per distribution there is no clear recipe for it, but for TEXLive some path ending in web2c/luatex is probably the right spot. After that you can run luatex luatex-test.tex This le lives under generic/context. When it is run it is quite likely that you will get an error message because the font name database cannot be found. You can generate one with the following command (which assumes that you have ConTEXt installed): mtxrun --usekpse --script fonts --names The resulting le luatex-fonts-names.lua has to be placed somewhere in your TEX tree so that it can be found anytime. Beware: the --usekpse ag is only used outside ConTEXt and provides very limited functionality, just enough for this task. Again this is a distribution specic issue so we will not dwell upon it here. The way fonts are dened is modelled after X TEX, as it makes no sense to support the somewhat more fancy ConTEXt way of doing things. Keep in mind that although ConTEXt MkIV does support the X TEX syntax too, the preferred way there is to use a more symbolic feature denition approach. E E As this is an experimental setup, it might not always work out as expected. Around LuaTEX version 0.50 we expect the code to be more or less okay. implementation The luatex-fonts.lua le is the rst in a series of basic functionality enhancements for LuaTEX derived from the ConTEXt MkIV code base. Please don't pollute the luatex-* Just plain 301
- Page 252 and 253: of them. Each lookup has a detailed
- Page 254 and 255: otf.replacements otf.sequences otf.
- Page 256 and 257: features: analyze=yes, calt=yes, cc
- Page 258 and 259: feature mark, lookup ml_arab_l_16_s
- Page 260 and 261: للِ ه ِ feature init, lo
- Page 262 and 263: features: analyze=yes, calt=yes, cc
- Page 264 and 265: esult: 1: [+TRT] U+6DD: [-TRT]
- Page 266 and 267: 2: [+TRT] U+F01DD: [-TRT] The
- Page 268 and 269: Pro. Dr. Donld E. Knuth feature cal
- Page 270 and 271: 268 Tracking
- Page 272 and 273: The order in which this happens now
- Page 274 and 275: normalizers characters words fonts
- Page 276 and 277: local function hyphenation(head,tai
- Page 278 and 279: 276 The order of things
- Page 280 and 281: of LuaTEX Taco and I worked in para
- Page 282 and 283: Next we see (scaled) Latin Modern:
- Page 284 and 285: As you can see, it is possible to a
- Page 286 and 287: next: U+FF008 { => U+FF06E { => U+F
- Page 288 and 289: end } commands = { { "slot", 1, bas
- Page 290 and 291: (a,b) = (1.20,3.40) So we don't nee
- Page 292 and 293: } description = "SOLIDUS", directio
- Page 294 and 295: ⎧ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎩
- Page 296 and 297: 840 italic 60 top_accent (0,1020) f
- Page 298 and 299: 296 Unicode math
- Page 300 and 301: tex.print("access") else tex.print(
- Page 304 and 305: namespace with code not coming from
- Page 306 and 307: • The code denes a few global tab
- Page 308 and 309: ut this now refers to an index in a
- Page 310 and 311: On the agenda is xing some ‘hyphe
- Page 312 and 313: We also use the opportunity to slow
- Page 314 and 315: Math. Because the TEX Gyre math pro
- Page 316 and 317: Tracing on Taco's machine has shown
- Page 318 and 319: node list callback tasks - 4 unique
- Page 320 and 321: pdftex 1.28 (23) 2.07 (144) 6.96 (2
- Page 322 and 323: July 19, 2009 - The number of files
- Page 324 and 325: July 19, 2009 - The relative number
XXXIV Just plain<br />
running<br />
For testing basic LuaTEX functionality it makes sense to have a minimal system, and traditionally<br />
plain TEX has been the most natural candidate. It is for this reason that it had<br />
been on the agenda for a while to provide basic OpenType font support for plain TEX as<br />
well. Although the MkIV node mode subsystem is not yet perfect, the time was right to<br />
start experimenting with a subset <strong>of</strong> the MkIV code.<br />
Using plain roughly comes down to the following. First you need to generate a format:<br />
luatex --ini --fmt=luatex.fmt luatex-plain.tex<br />
This format has to be moved to a place where it can be found by the kpse library. Since<br />
this can differ per distribution there is no clear recipe for it, but for TEXLive some path<br />
ending in web2c/luatex is probably the right spot. After that you can run<br />
luatex luatex-test.tex<br />
This le lives under generic/context. When it is run it is quite likely that you will get<br />
an error message because the font name database cannot be found. You can generate<br />
one with the following command (which assumes that you have ConTEXt installed):<br />
mtxrun --usekpse --script fonts --names<br />
<strong>The</strong> resulting le luatex-fonts-names.lua has to be placed somewhere in your TEX<br />
tree so that it can be found anytime. Beware: the --usekpse ag is only used outside<br />
ConTEXt and provides very limited functionality, just enough for this task. Again this is a<br />
distribution specic issue so we will not dwell upon it here.<br />
<strong>The</strong> way fonts are dened is modelled after X TEX, as it makes no sense to support the<br />
somewhat more fancy ConTEXt way <strong>of</strong> doing things. Keep in mind that although ConTEXt<br />
MkIV does support the X TEX syntax too, the preferred way there is to use a more symbolic<br />
feature denition approach.<br />
E<br />
E<br />
As this is an experimental setup, it might not always work out as expected. Around LuaTEX<br />
version <strong>0.50</strong> we expect the code to be more or less okay.<br />
implementation<br />
<strong>The</strong> luatex-fonts.lua le is the rst in a series <strong>of</strong> basic functionality enhancements<br />
for LuaTEX derived from the ConTEXt MkIV code base. Please don't pollute the luatex-*<br />
Just plain 301