- Page 1:
MKII CONTEXT CONTEXT The history of
- Page 4 and 5:
XXI The luacation of TEX and ConTEX
- Page 6 and 7:
4 Introduction
- Page 8 and 9:
Keep in mind that the functionality
- Page 10 and 11:
tricky part of this conversion is t
- Page 12 and 13:
prologues := 1 ; mpprocset := 1 ; W
- Page 14 and 15:
code. However, the signicantly larg
- Page 16 and 17:
\input zip:///somezipfile.zip?name=
- Page 18 and 19:
ecause we could move all kind of po
- Page 20 and 21:
If an acrhive is not a real TEX tre
- Page 22 and 23:
luatools --generate This command wi
- Page 24 and 25:
I know that it sounds a bit messy,
- Page 26 and 27:
By combining Lua with TEX, we can d
- Page 28 and 29:
26 An example: CalcMath
- Page 30 and 31:
collapser was written. In the (pre)
- Page 32 and 33:
30 Going utf
- Page 34 and 35:
In practice we prefer a more abstra
- Page 36 and 37:
of making that table accessible for
- Page 38 and 39:
Therefore, it will be no surprise t
- Page 40 and 41:
{"special","pdf: 1 0 0 rg"}, {"font
- Page 42 and 43:
some neat feature of \TeX, once you
- Page 44 and 45:
OPENTYPE 144 17.571.732 ENC 268 782
- Page 46 and 47:
The font denition callback intercep
- Page 48 and 49:
When processing a not so large le b
- Page 50 and 51:
letter 105 i spacer 32 letter 116 t
- Page 52 and 53:
egister 2 3190 dimen other_char 50
- Page 54 and 55:
This example uses an active charact
- Page 56 and 57:
function tex.printlist(data) callba
- Page 58 and 59:
56 Token speak
- Page 60 and 61:
Interesting is that upto now I didn
- Page 62 and 63:
do end local function nextbyte(f) r
- Page 64 and 65:
\ctxlua{collectgarbage("setstepmul"
- Page 66 and 67:
Collecting tokens can take place in
- Page 68 and 69:
where TEX has to convert to and fro
- Page 70 and 71:
When experimenting with the new imp
- Page 72 and 73:
It will be clear that here we colle
- Page 74 and 75:
72 Nodes and attributes t={ attr={
- Page 76 and 77:
Let's end with an observation. Attr
- Page 78 and 79:
end end tex.sprint("\\setbox0=\\hbo
- Page 80 and 81:
78 Dirty tricks
- Page 82 and 83:
Those who read the previous chapter
- Page 84 and 85:
In a similar way support for xml wi
- Page 86 and 87:
Undoubtely this will have a huge im
- Page 88 and 89:
86 Going beta
- Page 90 and 91:
We like testing LuaTEX's open type
- Page 92 and 93:
k a el--rie am, ld p n th re, l ak
- Page 94 and 95:
his or her font). As said, it also
- Page 96 and 97:
["tag"]="calt", } }, ["name"]="ks_l
- Page 98 and 99:
When testing the implementation we
- Page 100 and 101:
Mr. rmn p Of course we have to test
- Page 102 and 103:
ه مَ ه لِ دْ
- Page 104 and 105:
لاۤئِهٰٖا لاۤئِه
- Page 106 and 107:
َ غْتَرِفٌُم عْتَر
- Page 108 and 109:
وَْر وةَ، ٰ ي كَ
- Page 110 and 111:
white black t-green a=1.000 t=0.500
- Page 112 and 113:
Palets work with names: \definepale
- Page 114 and 115:
• support mechanism are under con
- Page 116 and 117:
So, effectively we set a box, and e
- Page 118 and 119:
116 Colors redone
- Page 120 and 121:
• Spaces at the end of the line (
- Page 122 and 123:
兡 也 包 因 沘 氓 侷 柵 苗
- Page 124 and 125:
〉 + 々 = 〉々 〉々 〉々
- Page 126 and 127:
124 Chinese, Japanese and Korean, a
- Page 128 and 129:
for k, v in pairs(_G) do print(k, v
- Page 130 and 131:
} [4] = 200 I mistakingly assumed t
- Page 132 and 133:
130 Optimization
- Page 134 and 135:
xetex metapost We can also
- Page 136 and 137:
\startluacode xml.sprint(xml.first(
- Page 138 and 139:
a[position()=5] maybe a[first()] ma
- Page 140 and 141:
Now we have: okay okay okay Repla
- Page 142 and 143:
\startxmlsetups xml:mysetups \xmlse
- Page 144 and 145:
c1d1 c2d2 d3 d4 d5 Here com
- Page 146 and 147:
c2 d3 b/c[1] c1 c2 a/c[1] d3 a/c[-1
- Page 148 and 149: The code in traditional TEX that de
- Page 150 and 151: and this is where MkIV hooks in ist
- Page 152 and 153: con-text == [c][o](pre=n-,post=,rep
- Page 154 and 155: luastate_bytes min:37009927, max:87
- Page 156 and 157: dyn_used min:478158, max:554800, pa
- Page 158 and 159: str_ptr min:2131299, max:2136226, p
- Page 160 and 161: if_stack min:0, max:13, pages:326 k
- Page 162 and 163: pdf_refximage min:0, max:7, pages:3
- Page 164 and 165: 162 Collecting garbage
- Page 166 and 167: \definefontfeature[coward] [kern=ye
- Page 168 and 169: We do our tests of a variant of Con
- Page 170 and 171: --make or --ini --run or --fmt= --l
- Page 172 and 173: mtxrun --script font --list --patte
- Page 174 and 175: Opening up TEX started with rewriti
- Page 176 and 177: One can question if a properly work
- Page 178 and 179: ound to fonts (instead of being com
- Page 180 and 181: • TEX primitives Access to and co
- Page 182 and 183: • Open an instance using mplib.ne
- Page 184 and 185: is dened in the les whose names sta
- Page 186 and 187: }, }, ["pen"]={ { ["left_x"]=2.4548
- Page 188 and 189: local tx, ty = p.x_coord, p.y_coord
- Page 190 and 191: \startreusableMPgraphic{test} fill
- Page 192 and 193: vardef textext(expr str) = image (
- Page 194 and 195: local factor = 65536*(7200/7227) fu
- Page 196 and 197: end return t This is a typical exam
- Page 200 and 201: key concept. There are few accessib
- Page 202 and 203: \directlua 0 { for i=1,10 do tex.pr
- Page 204 and 205: } end And still it's not okay, sinc
- Page 206 and 207: eason why such code normally is not
- Page 208 and 209: Of course we can discuss until eter
- Page 210 and 211: some text some more When using Co
- Page 212 and 213: and the document itself is processe
- Page 214 and 215: setups and functions are assigned n
- Page 216: using some kind of api and history
- Page 226 and 227: In LuaTEX with ConTEXt MkIV support
- Page 228 and 229: • Designers (or programmers) may
- Page 230 and 231: 228 OpenType: too open?
- Page 232 and 233: cannot be grabbed and they make the
- Page 234 and 235: 232 It works!
- Page 236 and 237: when writing the result to le, TEX
- Page 238 and 239: 236 Virtual Reality
- Page 240 and 241: \start \textdir TLT one \bidilro tw
- Page 242 and 243: 240 Getting lost
- Page 244 and 245: using a few arabic fonts, some chin
- Page 246 and 247: The core data structure that we nee
- Page 248 and 249:
table can contain information about
- Page 250 and 251:
The ConTEXt cross reference mechani
- 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 302 and 303:
300 User code
- 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