mult-sys.mkiv /size: 21 Kb    last modification: 2020-07-01 14:35
1
%D \module
2
%D [ file=mult-sys,
3
%D version=1996.06.01,
4
%D title=\CONTEXT\ Multilingual Macros,
5
%D subtitle=System,
6
%D author=Hans Hagen,
7
%D date=\currentdate,
8
%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
9
%C
10
%C This module is part of the \CONTEXT\ macro||package and is
11
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
12
%C details.
13 14
%D In boring module we define a lot of obscure but useful system constants.
15
%D By doing so we save lots of memory while at the same time we prevent
16
%D ourself making typing errors.
17 18
\writestatus
{
loading
}{
ConTeXt
Multilingual
Macros
/
System
}
19 20
\unprotect
21 22
%D This file is mostly the same as the \MKII\ variant but we keep extending
23
%D \MKIV, so it was bout time to have a dedicated variant.
24
%D
25
%D The constants are grouped in such a way that there is a minimal change of
26
%D conflicts.
27
%D
28
%D \starttyping
29
%D \definesystemconstants {word}
30
%D \definemessageconstant {word}
31
%D \stoptyping
32
%D
33
%D This commands generate \type{\s!word} and \type{\m!word}.
34 35
\definesystemconstant
{
hans
}
36
\definesystemconstant
{
taco
}
37 38
%D First we define some system constants used for both the multi||lingual
39
%D interface and multi||linguag typesetting.
40 41
% definesystemconstant {slovene}
42
% definesystemconstant {cz}
43
% definesystemconstant {vn}
44 45
\definesystemconstant
{
afrikaans
}
\definesystemconstant
{
af
}
46
\definesystemconstant
{
ancientgreek
}
\definesystemconstant
{
agr
}
47
\definesystemconstant
{
ancientlatin
}
\definesystemconstant
{
ala
}
48
\definesystemconstant
{
arabic
}
\definesystemconstant
{
ar
}
49
\definesystemconstant
{
bokmal
}
\definesystemconstant
{
nb
}
50
\definesystemconstant
{
catalan
}
\definesystemconstant
{
ca
}
51
\definesystemconstant
{
chinese
}
\definesystemconstant
{
cn
}
52
\definesystemconstant
{
chinese
}
\definesystemconstant
{
cn
}
53
\definesystemconstant
{
croatian
}
\definesystemconstant
{
hr
}
54
\definesystemconstant
{
czech
}
\definesystemconstant
{
cs
}
55
\definesystemconstant
{
danish
}
\definesystemconstant
{
da
}
56
\definesystemconstant
{
dutch
}
\definesystemconstant
{
nl
}
57
\definesystemconstant
{
english
}
\definesystemconstant
{
en
}
58
\definesystemconstant
{
estonian
}
\definesystemconstant
{
et
}
59
\definesystemconstant
{
farsi
}
\definesystemconstant
{
fa
}
% just persian
60
\definesystemconstant
{
finnish
}
\definesystemconstant
{
fi
}
61
\definesystemconstant
{
french
}
\definesystemconstant
{
fr
}
62
\definesystemconstant
{
gbenglish
}
\definesystemconstant
{
gb
}
63
\definesystemconstant
{
german
}
\definesystemconstant
{
de
}
64
\definesystemconstant
{
greek
}
\definesystemconstant
{
gr
}
65
\definesystemconstant
{
hebrew
}
\definesystemconstant
{
he
}
66
\definesystemconstant
{
yiddish
}
\definesystemconstant
{
yi
}
67
\definesystemconstant
{
hungarian
}
\definesystemconstant
{
hu
}
68
\definesystemconstant
{
italian
}
\definesystemconstant
{
it
}
69
\definesystemconstant
{
japanese
}
\definesystemconstant
{
ja
}
70
\definesystemconstant
{
korean
}
\definesystemconstant
{
kr
}
71
\definesystemconstant
{
latin
}
\definesystemconstant
{
la
}
72
\definesystemconstant
{
lithuanian
}
\definesystemconstant
{
lt
}
73
\definesystemconstant
{
malayalam
}
\definesystemconstant
{
ml
}
74
\definesystemconstant
{
norwegian
}
\definesystemconstant
{
no
}
75
\definesystemconstant
{
nynorsk
}
\definesystemconstant
{
nn
}
76
\definesystemconstant
{
persian
}
\definesystemconstant
{
pe
}
77
\definesystemconstant
{
polish
}
\definesystemconstant
{
pl
}
78
\definesystemconstant
{
portuguese
}
\definesystemconstant
{
pt
}
79
\definesystemconstant
{
romanian
}
\definesystemconstant
{
ro
}
80
\definesystemconstant
{
russian
}
\definesystemconstant
{
ru
}
81
\definesystemconstant
{
slovak
}
\definesystemconstant
{
sk
}
82
\definesystemconstant
{
slovenian
}
\definesystemconstant
{
sl
}
83
\definesystemconstant
{
spanish
}
\definesystemconstant
{
es
}
84
\definesystemconstant
{
swedish
}
\definesystemconstant
{
sv
}
85
\definesystemconstant
{
thai
}
\definesystemconstant
{
th
}
% mojca mentioned it at BT2013 but we need more info
86
\definesystemconstant
{
turkish
}
\definesystemconstant
{
tr
}
87
\definesystemconstant
{
turkmen
}
\definesystemconstant
{
tk
}
88
\definesystemconstant
{
ukenglish
}
\definesystemconstant
{
uk
}
89
\definesystemconstant
{
ukrainian
}
\definesystemconstant
{
ua
}
90
\definesystemconstant
{
usenglish
}
\definesystemconstant
{
us
}
91
\definesystemconstant
{
vietnamese
}
\definesystemconstant
{
vi
}
92 93
%D For proper \UNICODE\ support we need a few font related constants.
94 95
\definesystemconstant
{
BoldItalic
}
96
\definesystemconstant
{
BoldSlanted
}
97
\definesystemconstant
{
Bold
}
98
\definesystemconstant
{
Italic
}
99
\definesystemconstant
{
Regular
}
100
\definesystemconstant
{
Slanted
}
101
\definesystemconstant
{
Unicode
}
102 103
\definesystemconstant
{
Handwriting
}
104
\definesystemconstant
{
Calligraphy
}
105
\definesystemconstant
{
Casual
}
106 107
\definesystemconstant
{
Regular
}
108
\definesystemconstant
{
Support
}
109
\definesystemconstant
{
Type
}
110 111
\definesystemconstant
{
Math
}
% not used
112
\definesystemconstant
{
MathBold
}
% not used
113 114
\definesystemconstant
{
MathRoman
}
115
\definesystemconstant
{
MathRomanBold
}
116 117
\definesystemconstant
{
Serif
}
118
\definesystemconstant
{
SerifBold
}
119
\definesystemconstant
{
SerifItalic
}
120
\definesystemconstant
{
SerifBoldItalic
}
121
\definesystemconstant
{
SerifSlanted
}
122
\definesystemconstant
{
SerifBoldSlanted
}
123
\definesystemconstant
{
SerifCaps
}
124
%definesystemconstant {SerifCapsSlanted}
125 126
\definesystemconstant
{
Sans
}
127
\definesystemconstant
{
SansBold
}
128
\definesystemconstant
{
SansItalic
}
129
\definesystemconstant
{
SansBoldItalic
}
130
\definesystemconstant
{
SansSlanted
}
131
\definesystemconstant
{
SansBoldSlanted
}
132
\definesystemconstant
{
SansCaps
}
133
%definesystemconstant {SansCapsSlanted}
134 135
\definesystemconstant
{
Mono
}
136
\definesystemconstant
{
MonoBold
}
137
\definesystemconstant
{
MonoItalic
}
138
\definesystemconstant
{
MonoBoldItalic
}
139
\definesystemconstant
{
MonoSlanted
}
140
\definesystemconstant
{
MonoBoldSlanted
}
141
\definesystemconstant
{
MonoCaps
}
142
%definesystemconstant {MonoCapsSlanted}
143
%definesystemconstant {MonoVariable}
144 145
\definesystemconstant
{
DefaultFont
}
146 147
\definesystemconstant
{
Simple
}
148
\definesystemconstant
{
Normal
}
149
\definesystemconstant
{
Caps
}
150 151
\definesystemconstant
{
serif
}
152
\definesystemconstant
{
sans
}
153
\definesystemconstant
{
mono
}
154
\definesystemconstant
{
math
}
155
\definesystemconstant
{
nomath
}
156
\definesystemconstant
{
handwriting
}
157
\definesystemconstant
{
calligraphy
}
158
\definesystemconstant
{
casual
}
159
\definesystemconstant
{
fax
}
160 161
\definesystemconstant
{
fallback
}
162 163
%definesystemconstant {mnem} % kind of generic short tag
164 165
\definesystemconstant
{
otr
}
166
\definesystemconstant
{
box
}
167 168
\definesystemconstant
{
file
}
169
\definesystemconstant
{
name
}
170
\definesystemconstant
{
spec
}
171 172
\definesystemconstant
{
both
}
173 174
\definesystemconstant
{
internal
}
175
\definesystemconstant
{
external
}
176 177
\definesystemconstant
{
attribute
}
178 179
\definesystemconstant
{
none
}
180
\definesystemconstant
{
auto
}
181
\definesystemconstant
{
default
}
182
\definesystemconstant
{
smallcaps
}
183 184
\definesystemconstant
{
regular
}
185
\definesystemconstant
{
script
}
186
\definesystemconstant
{
fraktur
}
187
\definesystemconstant
{
blackboard
}
188 189
\definesystemconstant
{
mi
}
% maybe some day a special default vector
190
\definesystemconstant
{
tf
}
191
\definesystemconstant
{
sl
}
192
\definesystemconstant
{
it
}
193
\definesystemconstant
{
bf
}
194
\definesystemconstant
{
bs
}
195
\definesystemconstant
{
bi
}
196 197
\definesystemconstant
{
rm
}
198
\definesystemconstant
{
ss
}
199
\definesystemconstant
{
tt
}
200
\definesystemconstant
{
hw
}
201
\definesystemconstant
{
cg
}
202
\definesystemconstant
{
mm
}
203 204
\definesystemconstant
{
x
}
205
\definesystemconstant
{
xx
}
206
\definesystemconstant
{
em
}
207 208
\definesystemconstant
{
a
}
209
\definesystemconstant
{
b
}
210
\definesystemconstant
{
c
}
211
\definesystemconstant
{
d
}
212
\definesystemconstant
{
e
}
213
\definesystemconstant
{
f
}
214 215
\definesystemconstant
{
mr
}
216
\definesystemconstant
{
mb
}
217
\definesystemconstant
{
mrlr
}
218
\definesystemconstant
{
mrrl
}
219
\definesystemconstant
{
mblr
}
220
\definesystemconstant
{
mbrl
}
221 222
\definesystemconstant
{
tf
}
223
\definesystemconstant
{
bf
}
224
\definesystemconstant
{
bs
}
225
\definesystemconstant
{
bi
}
226
\definesystemconstant
{
sl
}
227
\definesystemconstant
{
it
}
228
\definesystemconstant
{
sc
}
229 230
\definesystemconstant
{
small
}
231
\definesystemconstant
{
big
}
232 233
\definesystemconstant
{
first
}
234
\definesystemconstant
{
second
}
235
\definesystemconstant
{
third
}
236 237
%D Next come some \CONTEXT\ constants, used in the definition of private commands:
238 239
\definesystemconstant
{
tex
}
240
\definesystemconstant
{
xml
}
241
\definesystemconstant
{
lua
}
242 243
\definesystemconstant
{
action
}
244
\definesystemconstant
{
ascii
}
245
\definesystemconstant
{
chain
}
246
\definesystemconstant
{
child
}
247
\definesystemconstant
{
class
}
248
\definesystemconstant
{
clone
}
249
\definesystemconstant
{
compare
}
250
\definesystemconstant
{
complex
}
251
\definesystemconstant
{
counter
}
252
\definesystemconstant
{
current
}
253
\definesystemconstant
{
default
}
254
\definesystemconstant
{
dodo
}
255
\definesystemconstant
{
done
}
256
\definesystemconstant
{
do
}
257
\definesystemconstant
{
dummy
}
258
\definesystemconstant
{
font
}
259
\definesystemconstant
{
forget
}
260
\definesystemconstant
{
global
}
261
\definesystemconstant
{
handler
}
262
\definesystemconstant
{
indeed
}
263
\definesystemconstant
{
internal
}
264
\definesystemconstant
{
link
}
265
\definesystemconstant
{
local
}
266
\definesystemconstant
{
multi
}
267
\definesystemconstant
{
next
}
268
\definesystemconstant
{
parent
}
269
\definesystemconstant
{
pickup
}
270
\definesystemconstant
{
plural
}
271
\definesystemconstant
{
section
}
272
\definesystemconstant
{
simple
}
273
\definesystemconstant
{
single
}
274
\definesystemconstant
{
singular
}
275
\definesystemconstant
{
start
}
276
\definesystemconstant
{
stop
}
277
\definesystemconstant
{
unknown
}
278 279
% translating setups is asking for a mess so we keep them as-is:
280 281
\definesystemconstant
{
setups
}
282 283
\definesystemconstant
{
cite
}
284
\definesystemconstant
{
nocite
}
285
\definesystemconstant
{
list
}
286
\definesystemconstant
{
register
}
287
\definesystemconstant
{
author
}
288
\definesystemconstant
{
numbering
}
289 290
% \def\s!parent{->} % 1% faster / => does not work in assignments
291
% \def\s!child {<-} % 1% faster / <= does not work in assignments
292 293
\definesystemconstant
{
hasnumber
}
294
\definesystemconstant
{
hastitle
}
295
\definesystemconstant
{
hascaption
}
296
\definesystemconstant
{
haslevel
}
297
\definesystemconstant
{
hasparent
}
298
\definesystemconstant
{
hassuffix
}
299 300
\definesystemconstant
{
mkiv
}
301
\definesystemconstant
{
mkii
}
302 303
\definesystemconstant
{
normal
}
304
\definesystemconstant
{
bold
}
305
\definesystemconstant
{
italic
}
306
\definesystemconstant
{
slanted
}
307
\definesystemconstant
{
smallcaps
}
308
\definesystemconstant
{
lcgreek
}
309
\definesystemconstant
{
ucgreek
}
310
\definesystemconstant
{
sygreek
}
311
\definesystemconstant
{
italics
}
312
\definesystemconstant
{
ligatures
}
313
\definesystemconstant
{
collapsing
}
314 315
\definesystemconstant
{
default
}
316 317
\definesystemconstant
{
mode
}
318
\definesystemconstant
{
setup
}
319
\definesystemconstant
{
environment
}
320
\definesystemconstant
{
document
}
321 322
%definesystemconstant {fam}
323
\definesystemconstant
{
display
}
324
\definesystemconstant
{
text
}
325
\definesystemconstant
{
script
}
326
\definesystemconstant
{
scriptscript
}
327
\definesystemconstant
{
uncramped
}
328
\definesystemconstant
{
cramped
}
329 330
\definesystemconstant
{
hyphenmin
}
331
\definesystemconstant
{
lefthyphenmin
}
332
\definesystemconstant
{
righthyphenmin
}
333
\definesystemconstant
{
lefthyphenchar
}
334
\definesystemconstant
{
righthyphenchar
}
335 336
\definesystemconstant
{
head
}
337
\definesystemconstant
{
symbol
}
338
\definesystemconstant
{
sub
}
339
\definesystemconstant
{
margin
}
340
\definesystemconstant
{
edge
}
341 342
\definesystemconstant
{
double
}
343
\definesystemconstant
{
decimal
}
344
\definesystemconstant
{
binary
}
345 346
%definesystemconstant {skewchar}
347
%definesystemconstant {hyphenchar}
348
\definesystemconstant
{
catcodes
}
349
%definesystemconstant {encoding}
350
%definesystemconstant {entities}
351
%definesystemconstant {resource}
352
\definesystemconstant
{
mapping
}
353
\definesystemconstant
{
language
}
354
\definesystemconstant
{
patterns
}
355
\definesystemconstant
{
rname
}
356
\definesystemconstant
{
rscale
}
357
%definesystemconstant {handling}
358
\definesystemconstant
{
features
}
359
\definesystemconstant
{
direction
}
360
\definesystemconstant
{
fallbacks
}
361
\definesystemconstant
{
goodies
}
362
\definesystemconstant
{
designsize
}
363
%definesystemconstant {background}
364
%definesystemconstant {ucmap}
365
\definesystemconstant
{
level
}
366
\definesystemconstant
{
integral
}
367
\definesystemconstant
{
insert
}
% maybe insertclass
368
\definesystemconstant
{
marker
}
369
\definesystemconstant
{
kernpairs
}
370
\definesystemconstant
{
mixedcolumn
}
371
\definesystemconstant
{
orientation
}
372 373
\definesystemconstant
{
ampersand
}
374 375
%definesystemconstant {property}
376
%definesystemconstant {overprint}
377
%definesystemconstant {layer}
378
\definesystemconstant
{
effect
}
% todo s
379
%definesystemconstant {negative}
380
%definesystemconstant {color}
381
%definesystemconstant {transparency}
382 383
\definesystemconstant
{
black
}
384
\definesystemconstant
{
white
}
385 386
\definesystemconstant
{
system
}
% not yet interfaces messages
387
\definesystemconstant
{
user
}
388
\definesystemconstant
{
check
}
389
\definesystemconstant
{
reset
}
390
\definesystemconstant
{
set
}
391
\definesystemconstant
{
empty
}
392 393
\definesystemconstant
{
realpage
}
394
\definesystemconstant
{
userpage
}
395
\definesystemconstant
{
subpage
}
396 397
\definesystemconstant
{
page
}
398
\definesystemconstant
{
subpage
}
399
\definesystemconstant
{
leftpage
}
400
\definesystemconstant
{
rightpage
}
401
\definesystemconstant
{
somewhere
}
402 403
\definesystemconstant
{
userdata
}
404
\definesystemconstant
{
command
}
405
\definesystemconstant
{
simple
}
406 407
\definesystemconstant
{
full
}
408
\definesystemconstant
{
text
}
409
\definesystemconstant
{
paragraph
}
410
\definesystemconstant
{
margintext
}
411
\definesystemconstant
{
line
}
412 413
\definesystemconstant
{
number
}
414
\definesystemconstant
{
symbol
}
415
\definesystemconstant
{
format
}
416
\definesystemconstant
{
data
}
417
\definesystemconstant
{
float
}
418
\definesystemconstant
{
extensions
}
419
\definesystemconstant
{
initializations
}
420 421
\definesystemconstant
{
rgb
}
422
\definesystemconstant
{
cmyk
}
423
\definesystemconstant
{
gray
}
424
\definesystemconstant
{
spot
}
425
\definesystemconstant
{
all
}
426
\definesystemconstant
{
dtp
}
427
\definesystemconstant
{
none
}
428 429
\definesystemconstant
{
map
}
430
\definesystemconstant
{
special
}
431
\definesystemconstant
{
size
}
432 433
\definesystemconstant
{
depth
}
434
\definesystemconstant
{
height
}
435
\definesystemconstant
{
noheight
}
436
\definesystemconstant
{
nodepth
}
437 438
\definesystemconstant
{
rel
}
439
\definesystemconstant
{
ord
}
440 441
%D Just to be complete we define the standard \TEX\ units.
442 443
\definesystemconstant
{
cm
}
444
\definesystemconstant
{
em
}
445
\definesystemconstant
{
ex
}
446
\definesystemconstant
{
mm
}
447
\definesystemconstant
{
pt
}
448
\definesystemconstant
{
sp
}
449
\definesystemconstant
{
bp
}
450
\definesystemconstant
{
in
}
451
\definesystemconstant
{
pc
}
452
\definesystemconstant
{
dd
}
453
\definesystemconstant
{
cc
}
454
\definesystemconstant
{
nd
}
455
\definesystemconstant
{
nc
}
456 457
\definesystemconstant
{
traditional
}
458
\definesystemconstant
{
left
}
459
\definesystemconstant
{
middle
}
460
\definesystemconstant
{
right
}
461
\definesystemconstant
{
xoffset
}
462
\definesystemconstant
{
yoffset
}
463 464
\definesystemconstant
{
topfloat
}
465
\definesystemconstant
{
bottomfloat
}
466
\definesystemconstant
{
pagefloat
}
467 468
%D As the name of their define command states, the next set of constants is used in
469
%D the message macro's.
470 471
\definemessageconstant
{
check
}
472
\definemessageconstant
{
colors
}
473
\definemessageconstant
{
columns
}
474
\definemessageconstant
{
regimes
}
475
\definemessageconstant
{
figures
}
476
\definemessageconstant
{
fields
}
477
\definemessageconstant
{
files
}
478
\definemessageconstant
{
floatblocks
}
479
\definemessageconstant
{
fonts
}
480
\definemessageconstant
{
handlings
}
481
\definemessageconstant
{
interactions
}
482
\definemessageconstant
{
javascripts
}
483
\definemessageconstant
{
layouts
}
484
\definemessageconstant
{
languages
}
485
\definemessageconstant
{
references
}
486
\definemessageconstant
{
structures
}
487
\definemessageconstant
{
symbols
}
488
\definemessageconstant
{
system
}
489
\definemessageconstant
{
lua
}
490
\definemessageconstant
{
textblocks
}
491
\definemessageconstant
{
verbatims
}
492
\definemessageconstant
{
versions
}
493
\definemessageconstant
{
metapost
}
494
\definemessageconstant
{
chemicals
}
495
\definemessageconstant
{
publications
}
496
\definemessageconstant
{
backend
}
497 498
%D When we use numbers and dimensions the same applies as with the keywords like
499
%D \type {width} and \type {plus} mentioned earlier.
500 501
\def
\!!ten
{
1
0
}
502
\def
\!!twelve
{
1
2
}
503
\def
\!!hundred
{
1
0
0
}
504
\def
\!!thousand
{
1
0
0
0
}
505
\def
\!!tenthousand
{
1
0
0
0
0
}
506
\def
\!!maxcard
{
6
5
5
3
6
}
507
\def
\!!medcard
{
3
2
7
6
8
}
508 509
\def
\!!zeropoint
{
0
pt
}
510
\def
\!!onepoint
{
1
pt
}
511
\def
\!!twopoint
{
2
pt
}
512
\def
\!!threepoint
{
3
pt
}
513
\def
\!!fourpoint
{
4
pt
}
514
\def
\!!fivepoint
{
5
pt
}
515
\def
\!!sixpoint
{
6
pt
}
516
\def
\!!sevenpoint
{
7
pt
}
517
\def
\!!eightpoint
{
8
pt
}
518
\def
\!!ninepoint
{
9
pt
}
519
\def
\!!tenpoint
{
1
0
pt
}
520
\def
\!!elevenpoint
{
1
1
pt
}
521
\def
\!!twelvepoint
{
1
2
pt
}
522
\def
\!!fourteenpointfour
{
1
4
.
4
pt
}
523 524
\def
\!!plustoken
{
+
}
525
\def
\!!minustoken
{
-
}
526 527
\def
\__unknown__
{
\string
\\
//
}
% unlikely value
528 529
%D Variables are composed of a command specific tag and a user supplied variable
530
%D (system constant). The tag \type {du} for instance is available as \type {\??du}
531
%D and expands to \type {@@du} in composed variables.
532 533
\definesystemvariable
{
du
}
% dummy, will stay
534 535
% bibl:
536 537
\definesystemvariable
{
pv
}
% PublicationVariable
538
\definesystemvariable
{
pb
}
% PuBlication
539 540
% needs checking (namespaces now)
541 542
\definesystemvariable
{
fw
}
% simpleFonts by Wolfgang
543 544
% old pragma
545 546
\definesystemvariable
{
kt
}
% KonTakten
547
\definesystemvariable
{
kw
}
% KontaktWaarde
548
\definesystemvariable
{
st
}
% STickers
549
\definesystemvariable
{
km
}
% KenMerk
550 551
% mkii
552 553
\definesystemvariable
{
xf
}
% XML File (xtag)
554
\definesystemvariable
{
xp
}
% XML Processing (xtag, so still needed)
555
\definesystemvariable
{
fo
}
% xml FO (xtag)
556
\definesystemvariable
{
fx
}
% FoXet
557 558
% mkiv
559 560
%D Next we define some language independant one letter variables and keywords. We can
561
%D actually make these system variables.
562 563
\defineinterfaceconstant
{
x
}
{
x
}
564
\defineinterfaceconstant
{
y
}
{
y
}
565
\defineinterfaceconstant
{
w
}
{
w
}
566
\defineinterfaceconstant
{
h
}
{
h
}
567
\defineinterfaceconstant
{
s
}
{
s
}
568
\defineinterfaceconstant
{
t
}
{
t
}
569 570
\defineinterfaceconstant
{
a
}
{
a
}
% can go
571
\defineinterfaceconstant
{
b
}
{
b
}
% can go
572
\defineinterfaceconstant
{
c
}
{
c
}
% can go
573
\defineinterfaceconstant
{
d
}
{
d
}
% can go
574
\defineinterfaceconstant
{
e
}
{
e
}
% can go
575
\defineinterfaceconstant
{
f
}
{
f
}
% can go
576 577
\defineinterfaceconstant
{
s
}
{
s
}
578
\defineinterfaceconstant
{
r
}
{
r
}
579
\defineinterfaceconstant
{
g
}
{
g
}
580
\defineinterfaceconstant
{
b
}
{
b
}
581
\defineinterfaceconstant
{
c
}
{
c
}
582
\defineinterfaceconstant
{
m
}
{
m
}
583
\defineinterfaceconstant
{
y
}
{
y
}
584
\defineinterfaceconstant
{
k
}
{
k
}
585
\defineinterfaceconstant
{
a
}
{
a
}
% alternative
586
\defineinterfaceconstant
{
t
}
{
t
}
% transparency
587
\defineinterfaceconstant
{
p
}
{
p
}
% percentage
588
\defineinterfaceconstant
{
h
}
{
h
}
589
\defineinterfaceconstant
{
s
}
{
s
}
590
\defineinterfaceconstant
{
v
}
{
v
}
591 592
\defineinterfaceconstant
{
rgb
}
{
rgb
}
593
\defineinterfaceconstant
{
cmyk
}
{
cmyk
}
594
\defineinterfaceconstant
{
mp
}
{
mp
}
595 596
\defineinterfacevariable
{
rgb
}
{
rgb
}
597
\defineinterfacevariable
{
cmyk
}
{
cmyk
}
598
\defineinterfacevariable
{
mp
}
{
mp
}
599 600
\defineinterfacevariable
{
s
}
{
s
}
601 602
\defineinterfacevariable
{
a
}
{
a
}
603
\defineinterfacevariable
{
b
}
{
b
}
604
\defineinterfacevariable
{
c
}
{
c
}
605
\defineinterfacevariable
{
d
}
{
d
}
606 607
%D For tagging:
608 609
\definesystemconstant
{
subtype
}
610
\definesystemconstant
{
top
}
611
\definesystemconstant
{
bottom
}
612
\definesystemconstant
{
both
}
613 614
%D Special purpose variables:
615 616
\def
\v!oddeven
#
1
{
\ifodd
#
1
\v!odd
\else
\v!even
\fi
}
617 618
%D The names of files and their extensions are fixed. \CONTEXT\ uses as less
619
%D files as possible. Utility files can be recognized by the first two
620
%D characters of the extension: \type {tu}.
621 622
%definefileconstant {utilityfilename} {texutil}
623
%definefileconstant {blockextension} {tub}
624
%definefileconstant {figureextension} {tuf}
625
%definefileconstant {inputextension} {tui}
626
%definefileconstant {outputextension} {tuo} % tup for previous run
627
%definefileconstant {optionextension} {top}
628
%definefileconstant {temporaryextension} {tmp}
629
%definefileconstant {patternsextension} {pat}
630
%definefileconstant {hyphensextension} {hyp}
631
%definefileconstant {fontmapextension} {map}
632
\definefileconstant
{
bibextension
}
{
bbl
}
633 634
%D These files are loaded at start||up. They may contain system specific setups (or
635
%D calls to other files), old macro's, to garantee compatibility and new macro's noy
636
%D yet present in the format.
637 638
\definefileconstant
{
sysfilename
}
{
cont
-
sys
.
mkiv
}
639
\definefileconstant
{
newfilename
}
{
cont
-
new
.
mkiv
}
640
\definefileconstant
{
locfilename
}
{
cont
-
loc
.
mkiv
}
641
\definefileconstant
{
expfilename
}
{
cont
-
exp
.
mkiv
}
642
\definefileconstant
{
fntfilename
}
{
cont
-
fnt
.
mkiv
}
% not yet used
643
\definefileconstant
{
gdsfilename
}
{
cont
-
fnt
.
lfg
}
% not yet used
644 645
%D The setup files for the language, font, color and special subsystems have a common
646
%D prefix. This means that we have at most three characters for unique filenames.
647 648
\definefileconstant
{
colo
_
run
}
{
colo
-
run
}
649
\definefileconstant
{
font
_
run
}
{
font
-
run
}
650
\definefileconstant
{
page
_
run
}
{
page
-
run
}
651
\definefileconstant
{
symb
_
run
}
{
symb
-
run
}
652
\definefileconstant
{
publ
_
tra
}
{
publ
-
tra
}
653 654
%D For figure inclusion we need(ed):
655 656
%defineinterfaceconstant {tif} {tif}
657
%defineinterfaceconstant {eps} {eps}
658
%defineinterfaceconstant {mps} {mps}
659
%defineinterfaceconstant {jpg} {jpg}
660
%defineinterfaceconstant {pdf} {pdf}
661
%defineinterfaceconstant {png} {png}
662
%defineinterfaceconstant {avi} {avi}
663
%defineinterfaceconstant {mov} {mov}
664
%defineinterfaceconstant {svg} {svg}
665
\defineinterfaceconstant
{
tex
}
{
tex
}
% Also gone?
666
%defineinterfaceconstant {tmp} {tmp}
667
%defineinterfaceconstant {cld} {cld}
668 669
%D A careful reader will have noticed that in the module \type {mult-ini} we defined
670
%D \type {\selectinterface}. We were not yet able to actually select an interface,
671
%D because we still had to define the constants and variables. Now we've done so,
672
%D selection is permitted.
673 674
\selectinterface
675 676
%D Ok, here are some more, because we've got ouselves some extensions to \CONTEXT.
677 678
\definemessageconstant
{
addresses
}
679
\definemessageconstant
{
documents
}
680 681
%D Nicer than being undefined:
682 683
\let
\p_align
\empty
684
\let
\p_aligntitle
\empty
685
\let
\p_continue
\empty
686
\let
\p_footer
\empty
687
\let
\p_label
\empty
688
\let
\p_number
\empty
689
\let
\p_page
\empty
690
\let
\p_state
\empty
691
\let
\p_strut
\empty
692
\let
\p_text
\empty
693
\let
\p_tolerance
\empty
694 695
% more will follow
696 697
\protect
\endinput
698