%D \module
%D   [       file=mult-sys,
%D        version=1996.06.01,
%D          title=\CONTEXT\ Multilingual Macros,
%D       subtitle=System,
%D         author=Hans Hagen,
%D           date=\currentdate,
%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.

%D In boring module we define a lot of obscure but useful system constants.
%D By doing so we save lots of memory while at the same time we prevent
%D ourself making typing errors.

\writestatus{loading}{ConTeXt Multilingual Macros / System}

\unprotect

%D This file is mostly the same as the \MKII\ variant but we keep extending
%D \MKIV, so it was about time to have a dedicated variant.
%D
%D The constants are grouped in such a way that there is a minimal change of
%D conflicts.
%D
%D \starttyping
%D \definesystemconstants {word}
%D \definemessageconstant {word}
%D \stoptyping
%D
%D This commands generate \type{\s!word} and \type{\m!word}.

\definesystemconstant {hans}
\definesystemconstant {taco}
\definesystemconstant {wolfgang}

%D First we define some system constants used for both the multi||lingual
%D interface and multi||linguag typesetting.

% definesystemconstant {slovene}
% definesystemconstant {cz}
% definesystemconstant {vn}

\definesystemconstant {afrikaans}      \definesystemconstant {af}
\definesystemconstant {albanian}       \definesystemconstant {sq}
                                       \definesystemconstant {als}
\definesystemconstant {armenian}       \definesystemconstant {hy}
                                       \definesystemconstant {hye}
                                       \definesystemconstant {hyw}
\definesystemconstant {ancientgreek}   \definesystemconstant {agr}
\definesystemconstant {ancientlatin}   \definesystemconstant {ala}
\definesystemconstant {arabic}         \definesystemconstant {ar}
\definesystemconstant {belarussian}    \definesystemconstant {be}
\definesystemconstant {bengali}        \definesystemconstant {bn}
\definesystemconstant {bulgarian}      \definesystemconstant {bg}
\definesystemconstant {burmese}        \definesystemconstant {my}
\definesystemconstant {bokmal}         \definesystemconstant {nb}
\definesystemconstant {catalan}        \definesystemconstant {ca}
\definesystemconstant {chinese}        \definesystemconstant {cn}
\definesystemconstant {croatian}       \definesystemconstant {hr}
\definesystemconstant {czech}          \definesystemconstant {cs}
\definesystemconstant {danish}         \definesystemconstant {da}
\definesystemconstant {dutch}          \definesystemconstant {nl}
\definesystemconstant {english}        \definesystemconstant {en}
\definesystemconstant {estonian}       \definesystemconstant {et}
\definesystemconstant {esperanto}      \definesystemconstant {eo}
\definesystemconstant {farsi}          \definesystemconstant {fa} % just persian
\definesystemconstant {finnish}        \definesystemconstant {fi}
\definesystemconstant {french}         \definesystemconstant {fr}
\definesystemconstant {gaelic}
\definesystemconstant {gbenglish}      \definesystemconstant {gb}
\definesystemconstant {german}         \definesystemconstant {de}
\definesystemconstant {greek}          \definesystemconstant {gr}
\definesystemconstant {gujarati}       \definesystemconstant {gu}
\definesystemconstant {hebrew}         \definesystemconstant {he}
\definesystemconstant {hindi}          \definesystemconstant {hi}
\definesystemconstant {yiddish}        \definesystemconstant {yi}
\definesystemconstant {hungarian}      \definesystemconstant {hu}
\definesystemconstant {indonesian}     \definesystemconstant {id}
\definesystemconstant {irish}
\definesystemconstant {irishgaelic}    \definesystemconstant {ga}
\definesystemconstant {italian}        \definesystemconstant {it}
\definesystemconstant {japanese}       \definesystemconstant {ja}
\definesystemconstant {kalaallisut}    \definesystemconstant {kal}
\definesystemconstant {kannada}        \definesystemconstant {kn}
\definesystemconstant {korean}         \definesystemconstant {kr}
\definesystemconstant {latin}          \definesystemconstant {la}
\definesystemconstant {lithuanian}     \definesystemconstant {lt}
\definesystemconstant {malay}          \definesystemconstant {ms}
\definesystemconstant {malayalam}      \definesystemconstant {ml}
\definesystemconstant {macedonian}     \definesystemconstant {mk}
\definesystemconstant {moldovan}       \definesystemconstant {mo}
\definesystemconstant {moldavian}      \definesystemconstant {md}
\definesystemconstant {montenegrin}    \definesystemconstant {cnr}
\definesystemconstant {norwegian}      \definesystemconstant {no}
\definesystemconstant {nynorsk}        \definesystemconstant {nn}
\definesystemconstant {persian}        \definesystemconstant {pe}
\definesystemconstant {polish}         \definesystemconstant {pl}
\definesystemconstant {portuguese}     \definesystemconstant {pt}
\definesystemconstant {romanian}       \definesystemconstant {ro}
\definesystemconstant {russian}        \definesystemconstant {ru}
\definesystemconstant {sanskrit}       \definesystemconstant {sa}
\definesystemconstant {scottishgaelic} \definesystemconstant {gd}
\definesystemconstant {slovak}         \definesystemconstant {sk}
\definesystemconstant {slovenian}      \definesystemconstant {sl}
\definesystemconstant {serbian}        \definesystemconstant {sr}
\definesystemconstant {spanish}        \definesystemconstant {es}
\definesystemconstant {swedish}        \definesystemconstant {sv}
\definesystemconstant {tamil}          \definesystemconstant {ta}
\definesystemconstant {telugu}         \definesystemconstant {te}
\definesystemconstant {thai}           \definesystemconstant {th} % mojca mentioned it at BT2013 but we need more info
\definesystemconstant {turkish}        \definesystemconstant {tr}
\definesystemconstant {turkmen}        \definesystemconstant {tk}
\definesystemconstant {ukenglish}      \definesystemconstant {uk}
\definesystemconstant {ukrainian}      \definesystemconstant {ua}
\definesystemconstant {usenglish}      \definesystemconstant {us}
\definesystemconstant {vietnamese}     \definesystemconstant {vi}

%D Left|-|overs:

\defineinterfaceconstant {HL} {HL}
\defineinterfaceconstant {VL} {VL}
\defineinterfaceconstant {NL} {NL}

%D For proper \UNICODE\ support we need a few font related constants.

\definesystemconstant {accent}
\definesystemconstant {action}
\definesystemconstant {all}
\definesystemconstant {always}
\definesystemconstant {ampersand}
\definesystemconstant {anchors}
\definesystemconstant {anchor}
\definesystemconstant {apostrophe}
\definesystemconstant {ascii}
\definesystemconstant {attribute}
\definesystemconstant {attr}
\definesystemconstant {author}
\definesystemconstant {auto}
\definesystemconstant {axis}
\definesystemconstant {a}
\definesystemconstant {base}
\definesystemconstant {bf}
\definesystemconstant {big}
\definesystemconstant {binary}
\definesystemconstant {bi}
\definesystemconstant {blackboard}
\definesystemconstant {black}
\definesystemconstant {BoldItalic}
\definesystemconstant {BoldSlanted}
\definesystemconstant {Bold}
\definesystemconstant {bold}
\definesystemconstant {both}
\definesystemconstant {bottomfloat}
\definesystemconstant {bottom}
\definesystemconstant {box}
\definesystemconstant {bp}
\definesystemconstant {bs}
\definesystemconstant {b}
\definesystemconstant {callbacks}
\definesystemconstant {callback}
\definesystemconstant {calligraphic}
\definesystemconstant {Calligraphy}
\definesystemconstant {calligraphy}
\definesystemconstant {Caps}
\definesystemconstant {casual}
\definesystemconstant {Casual}
\definesystemconstant {catcodes}
\definesystemconstant {catcodetable}
\definesystemconstant {cc}
\definesystemconstant {center}
\definesystemconstant {cg}
\definesystemconstant {chain}
\definesystemconstant {char}
\definesystemconstant {check}
\definesystemconstant {child}
\definesystemconstant {cite}
\definesystemconstant {class}
\definesystemconstant {clone}
\definesystemconstant {close}
\definesystemconstant {cmyk}
\definesystemconstant {cm}
\definesystemconstant {code}
\definesystemconstant {collapsing}
\definesystemconstant {command}
\definesystemconstant {compare}
\definesystemconstant {complex}
\definesystemconstant {constant}
\definesystemconstant {construction}
\definesystemconstant {container}
\definesystemconstant {counter}
\definesystemconstant {cramped}
\definesystemconstant {current}
\definesystemconstant {c}
\definesystemconstant {data}
\definesystemconstant {dd}
\definesystemconstant {decimal}
\definesystemconstant {DefaultFont}
\definesystemconstant {default}
\definesystemconstant {delay}
\definesystemconstant {depth}
\definesystemconstant {descend}
\definesystemconstant {designsize}
\definesystemconstant {direction}
\definesystemconstant {discardable}
\definesystemconstant {display}
\definesystemconstant {document}
\definesystemconstant {dodo}
\definesystemconstant {done}
\definesystemconstant {double}
\definesystemconstant {do}
\definesystemconstant {dtp}
\definesystemconstant {dummy}
\definesystemconstant {d}
\definesystemconstant {edge}
\definesystemconstant {effect}
\definesystemconstant {empty}
\definesystemconstant {em}
\definesystemconstant {environment}
\definesystemconstant {exact}
\definesystemconstant {explicitlefthyphenchar}
\definesystemconstant {explicitrighthyphenchar}
\definesystemconstant {extensions}
\definesystemconstant {external}
\definesystemconstant {ex}
\definesystemconstant {e}
\definesystemconstant {factor}
\definesystemconstant {factors}
\definesystemconstant {fallbacks}
\definesystemconstant {fallback}
\definesystemconstant {false}
\definesystemconstant {fam}
\definesystemconstant {fax}
\definesystemconstant {features}
\definesystemconstant {file}
\definesystemconstant {filll}
\definesystemconstant {fill}
\definesystemconstant {fil}
\definesystemconstant {first}
\definesystemconstant {fixed}
\definesystemconstant {float}
\definesystemconstant {font}
\definesystemconstant {forcedepth}
\definesystemconstant {forget}
\definesystemconstant {format}
\definesystemconstant {fraktion}
\definesystemconstant {fraktur}
\definesystemconstant {full}
\definesystemconstant {f}
\definesystemconstant {global}
\definesystemconstant {goodies}
\definesystemconstant {gray}
\definesystemconstant {handler}
\definesystemconstant {handwriting}
\definesystemconstant {Handwriting}
\definesystemconstant {hascaption}
\definesystemconstant {haslevel}
\definesystemconstant {hasnumber}
\definesystemconstant {hasparent}
\definesystemconstant {hassuffix}
\definesystemconstant {hastitle}
\definesystemconstant {head}
\definesystemconstant {height}
\definesystemconstant {hex}
\definesystemconstant {hfactor}
\definesystemconstant {hw}
\definesystemconstant {hyphenmin}
\definesystemconstant {identity}
\definesystemconstant {implication}
\definesystemconstant {in}
\definesystemconstant {indeed}
\definesystemconstant {index}
\definesystemconstant {initializations}
\definesystemconstant {insert} % maybe insertclass
\definesystemconstant {integral}
\definesystemconstant {internal}
\definesystemconstant {interval}
\definesystemconstant {italics}
\definesystemconstant {Italic}
\definesystemconstant {italic}
\definesystemconstant {item}
\definesystemconstant {itemgroupcolumns}
%definesystemconstant {it}
\definesystemconstant {keepbase}
\definesystemconstant {keepspacing}
\definesystemconstant {kernpairs}
\definesystemconstant {language}
\definesystemconstant {lcgreek}
\definesystemconstant {leftclass}
\definesystemconstant {lefthyphenchar}
\definesystemconstant {lefthyphenmin}
\definesystemconstant {leftpage}
\definesystemconstant {left}
\definesystemconstant {level}
\definesystemconstant {ligatures}
\definesystemconstant {line}
\definesystemconstant {link}
\definesystemconstant {list}
\definesystemconstant {local}
\definesystemconstant {lua}
\definesystemconstant {mapping}
\definesystemconstant {map}
\definesystemconstant {margintext}
\definesystemconstant {margin}
\definesystemconstant {marker}
\definesystemconstant {MathBold} % not used
\definesystemconstant {MathRomanBold}
\definesystemconstant {MathRoman}
\definesystemconstant {math}
\definesystemconstant {Math}     % not used
\definesystemconstant {mblr}
\definesystemconstant {mbrl}
\definesystemconstant {mb}
\definesystemconstant {middle}
\definesystemconstant {minus}
\definesystemconstant {mixedcolumn}
\definesystemconstant {mi} % maybe some day a special default vector
\definesystemconstant {mkii}
\definesystemconstant {mkiv}
\definesystemconstant {mm}
\definesystemconstant {mnem} % kind of generic short tag
\definesystemconstant {mode}
\definesystemconstant {MonoBoldItalic}
\definesystemconstant {MonoBoldSlanted}
\definesystemconstant {MonoBold}
\definesystemconstant {MonoCaps}
\definesystemconstant {MonoItalic}
\definesystemconstant {MonoSlanted}
\definesystemconstant {mono}
\definesystemconstant {Mono}
\definesystemconstant {mrlr}
\definesystemconstant {mrrl}
\definesystemconstant {mr}
\definesystemconstant {multi}
\definesystemconstant {name}
\definesystemconstant {next}
\definesystemconstant {noaxis}
\definesystemconstant {nocite}
\definesystemconstant {nodepth}
\definesystemconstant {noheight}
\definesystemconstant {nomath}
\definesystemconstant {none}
\definesystemconstant {nokerning}
\definesystemconstant {nosnapping}
\definesystemconstant {nooverflow}
\definesystemconstant {noprofiling}
\definesystemconstant {Normal}
\definesystemconstant {normal}
\definesystemconstant {norule}
\definesystemconstant {noskips}
\definesystemconstant {nowidth}
\definesystemconstant {numbering}
\definesystemconstant {number}
\definesystemconstant {off}
\definesystemconstant {on}
\definesystemconstant {open}
\definesystemconstant {operator}
\definesystemconstant {options}
\definesystemconstant {ordinary}
\definesystemconstant {orientation}
\definesystemconstant {otr}
\definesystemconstant {overlay}
\definesystemconstant {pagefloat}
\definesystemconstant {page}
\definesystemconstant {pair}
\definesystemconstant {paragraph}
\definesystemconstant {parent}
\definesystemconstant {patterns}
\definesystemconstant {pc}
\definesystemconstant {pickup}
\definesystemconstant {plural}
\definesystemconstant {plus}
\definesystemconstant {posit}
\definesystemconstant {private}
\definesystemconstant {prune}
\definesystemconstant {public}
%definesystemconstant {pt}
\definesystemconstant {realpage}
\definesystemconstant {reflected}
\definesystemconstant {register}
\definesystemconstant {Regular}
\definesystemconstant {regular}
\definesystemconstant {relation}
\definesystemconstant {reset}
\definesystemconstant {reverse}
\definesystemconstant {rgb}
\definesystemconstant {rightclass}
\definesystemconstant {righthyphenchar}
\definesystemconstant {righthyphenmin}
\definesystemconstant {rightpage}
\definesystemconstant {right}
\definesystemconstant {rm}
\definesystemconstant {rname}
\definesystemconstant {rscale}
\definesystemconstant {SansBoldItalic}
\definesystemconstant {SansBoldSlanted}
\definesystemconstant {SansBold}
\definesystemconstant {SansCaps}
\definesystemconstant {SansItalic}
\definesystemconstant {SansSlanted}
\definesystemconstant {sans}
\definesystemconstant {Sans}
\definesystemconstant {scaled}
\definesystemconstant {scriptscript}
\definesystemconstant {script}
\definesystemconstant {sc}
\definesystemconstant {second}
\definesystemconstant {section}
\definesystemconstant {see}
\definesystemconstant {SerifBoldItalic}
\definesystemconstant {SerifBoldSlanted}
\definesystemconstant {SerifBold}
\definesystemconstant {SerifCaps}
\definesystemconstant {SerifItalic}
\definesystemconstant {SerifSlanted}
\definesystemconstant {serif}
\definesystemconstant {Serif}
\definesystemconstant {setups}
\definesystemconstant {setup}
\definesystemconstant {set}
\definesystemconstant {shrink}
\definesystemconstant {Simple}
\definesystemconstant {simple}
\definesystemconstant {single}
\definesystemconstant {singular}
\definesystemconstant {size}
\definesystemconstant {slanted}
\definesystemconstant {Slanted}
%definesystemconstant {sl}
\definesystemconstant {snapping}
\definesystemconstant {linesnapping}
\definesystemconstant {smallcaps}
\definesystemconstant {small}
\definesystemconstant {somewhere}
\definesystemconstant {source}
\definesystemconstant {special}
\definesystemconstant {spec}
\definesystemconstant {spot}
\definesystemconstant {spread}
\definesystemconstant {sp}
\definesystemconstant {ss}
\definesystemconstant {start}
\definesystemconstant {stop}
\definesystemconstant {step}
\definesystemconstant {stretch}
\definesystemconstant {style}
\definesystemconstant {subpage}
\definesystemconstant {subtype}
\definesystemconstant {sub}
\definesystemconstant {Support}
\definesystemconstant {swap}
\definesystemconstant {sygreek}
\definesystemconstant {symbolattr}
\definesystemconstant {symbol}
\definesystemconstant {system}
\definesystemconstant {target}
\definesystemconstant {text}
\definesystemconstant {tex}
\definesystemconstant {tf}
\definesystemconstant {themaintextcolor}
\definesystemconstant {thickness}
\definesystemconstant {third}
\definesystemconstant {topfloat}
\definesystemconstant {top}
\definesystemconstant {to}
\definesystemconstant {traditional}
\definesystemconstant {trial}
\definesystemconstant {triple}
\definesystemconstant {true}
\definesystemconstant {tt}
\definesystemconstant {Type}
\definesystemconstant {ucgreek}
\definesystemconstant {uncramped}
\definesystemconstant {unexpanded}
\definesystemconstant {Unicode}
\definesystemconstant {unknown}
\definesystemconstant {unpack}
\definesystemconstant {unroll}
\definesystemconstant {upright}
\definesystemconstant {usecallback}
\definesystemconstant {userdata}
\definesystemconstant {userpage}
\definesystemconstant {user}
\definesystemconstant {variant}
\definesystemconstant {vfactor}
\definesystemconstant {vfrac}
\definesystemconstant {white}
\definesystemconstant {width}
\definesystemconstant {xml}
\definesystemconstant {xmove}
\definesystemconstant {xoffset}
\definesystemconstant {xx}
\definesystemconstant {x}
\definesystemconstant {ymove}
\definesystemconstant {yoffset}

\definesystemconstant {httolerance}
\definesystemconstant {dptolerance}

\definesystemconstant {syncpos}

\definesystemconstant {tagging}

\definesystemconstant {differentiald}
\definesystemconstant {exponentiale}
\definesystemconstant {imaginaryi}
\definesystemconstant {imaginaryj}
\definesystemconstant {constantpi}

% in spac-ali ... not yet interfaced .. maybe never

\definesystemconstant {noorphans}
\definesystemconstant {keeporphans}
\definesystemconstant {notwins}
\definesystemconstant {keeptwins}
\definesystemconstant {notoddlers}
\definesystemconstant {keeptoddlers}

%D As the name of their define command states, the next set of constants is used in
%D the message macro's.

\definemessageconstant {backend}
\definemessageconstant {check}
\definemessageconstant {chemicals}
\definemessageconstant {colors}
\definemessageconstant {columns}
\definemessageconstant {fields}
\definemessageconstant {figures}
\definemessageconstant {files}
\definemessageconstant {floatblocks}
\definemessageconstant {fonts}
\definemessageconstant {handlings}
\definemessageconstant {interactions}
\definemessageconstant {javascripts}
\definemessageconstant {languages}
\definemessageconstant {layouts}
\definemessageconstant {lua}
\definemessageconstant {math}
\definemessageconstant {metapost}
\definemessageconstant {publications}
\definemessageconstant {references}
\definemessageconstant {regimes}
\definemessageconstant {structures}
\definemessageconstant {columnset}
\definemessageconstant {symbols}
\definemessageconstant {system}
\definemessageconstant {textblocks}
\definemessageconstant {verbatims}
\definemessageconstant {versions}

\definemessageconstant {TABLE}

%D When we use numbers and dimensions the same applies as with the keywords like
%D \type {width} and \type {plus} mentioned earlier.

\permanent\cdef\!!ten                   {10}
\permanent\cdef\!!twelve                {12}
\permanent\cdef\!!hundred              {100}
\permanent\cdef\!!thousand            {1000}
\permanent\cdef\!!tenthousand        {10000}
\permanent\cdef\!!maxcard            {65536}
\permanent\cdef\!!medcard            {32768}

\permanent\cdef\!!zeropoint            {0pt}
\permanent\cdef\!!onepoint             {1pt}
\permanent\cdef\!!twopoint             {2pt}
\permanent\cdef\!!threepoint           {3pt}
\permanent\cdef\!!fourpoint            {4pt}
\permanent\cdef\!!fivepoint            {5pt}
\permanent\cdef\!!sixpoint             {6pt}
\permanent\cdef\!!sevenpoint           {7pt}
\permanent\cdef\!!eightpoint           {8pt}
\permanent\cdef\!!ninepoint            {9pt}
\permanent\cdef\!!tenpoint            {10pt}
\permanent\cdef\!!elevenpoint         {11pt}
\permanent\cdef\!!twelvepoint         {12pt}
\permanent\cdef\!!fourteenpointfour {14.4pt}

\permanent\cdef\!!plustoken  {+} % todo: \??plustoken
\permanent\cdef\!!minustoken {-} % todo: \??minustoken

%D Variables are composed of a command specific tag and a user supplied variable
%D (system constant). The tag \type {du} for instance is available as \type {\??du}
%D and expands to \type {@@du} in composed variables.

\definesystemvariable {du}   % dummy, will stay

% bibl:

\definesystemvariable {pv}   % PublicationVariable
\definesystemvariable {pb}   % PuBlication

% needs checking (namespaces now)

\definesystemvariable {fw}   % simpleFonts by Wolfgang

% old pragma

\definesystemvariable {kt}   % KonTakten
\definesystemvariable {kw}   % KontaktWaarde
\definesystemvariable {st}   % STickers
\definesystemvariable {km}   % KenMerk

% mkii

\definesystemvariable {xf}   % XML File (xtag)
\definesystemvariable {xp}   % XML Processing (xtag, so still needed)
\definesystemvariable {fo}   % xml FO (xtag)
\definesystemvariable {fx}   % FoXet

% mkiv

%D Next we define some language independant one letter variables and keywords. We can
%D actually make these system variables.

\defineinterfaceconstant {x} {x}
\defineinterfaceconstant {y} {y}
\defineinterfaceconstant {w} {w}
\defineinterfaceconstant {h} {h}
\defineinterfaceconstant {s} {s}
\defineinterfaceconstant {t} {t}

\defineinterfaceconstant {a} {a} % can go
\defineinterfaceconstant {b} {b} % can go
\defineinterfaceconstant {c} {c} % can go
\defineinterfaceconstant {d} {d} % can go
\defineinterfaceconstant {e} {e} % can go
\defineinterfaceconstant {f} {f} % can go

%defineinterfaceconstant {s} {s}
\defineinterfaceconstant {r} {r}
\defineinterfaceconstant {g} {g}
%defineinterfaceconstant {b} {b}
%defineinterfaceconstant {c} {c}
\defineinterfaceconstant {m} {m}
%defineinterfaceconstant {y} {y}
\defineinterfaceconstant {k} {k}
%defineinterfaceconstant {a} {a} % alternative
%defineinterfaceconstant {t} {t} % transparency
\defineinterfaceconstant {p} {p} % percentage
%defineinterfaceconstant {h} {h}
%defineinterfaceconstant {s} {s}
\defineinterfaceconstant {v} {v}

\defineinterfaceconstant {rgb}  {rgb}
\defineinterfaceconstant {cmyk} {cmyk}
\defineinterfaceconstant {gray} {gray}
\defineinterfaceconstant {mp}   {mp}

\defineinterfacevariable {rgb}  {rgb}
\defineinterfacevariable {cmyk} {cmyk}
\defineinterfacevariable {gray} {gray}
\defineinterfacevariable {mp}   {mp}

\defineinterfacevariable {s} {s}

\defineinterfacevariable {a} {a}
\defineinterfacevariable {b} {b}
\defineinterfacevariable {c} {c}
\defineinterfacevariable {d} {d}

%D Special purpose variables:

\permanent\def\v!oddeven#1{\ifodd#1\v!odd\else\v!even\fi}

%D The names of files and their extensions are fixed. \CONTEXT\ uses as less
%D files as possible. Utility files can be recognized by the first two
%D characters of the extension: \type {tu}.

%definefileconstant {utilityfilename}    {texutil}
%definefileconstant {blockextension}     {tub}
%definefileconstant {figureextension}    {tuf}
%definefileconstant {inputextension}     {tui}
%definefileconstant {outputextension}    {tuo} % tup for previous run
%definefileconstant {optionextension}    {top}
%definefileconstant {temporaryextension} {tmp}
%definefileconstant {patternsextension}  {pat}
%definefileconstant {hyphensextension}   {hyp}
%definefileconstant {fontmapextension}   {map}
\definefileconstant {bibextension}       {bbl}

%D These files are loaded at start||up. They may contain system specific setups (or
%D calls to other files), old macro's, to garantee compatibility and new macro's noy
%D yet present in the format.

\definefileconstant {sysfilename} {cont-sys.mkxl}
\definefileconstant {newfilename} {cont-new.mkxl}
\definefileconstant {locfilename} {cont-loc.mkxl}
\definefileconstant {expfilename} {cont-exp.mkxl}
\definefileconstant {fntfilename} {cont-fnt.mkxl} % not yet used
\definefileconstant {gdsfilename} {cont-fnt.lfg}  % not yet used

%D The setup files for the language, font, color and special subsystems have a common
%D prefix. This means that we have at most three characters for unique filenames.

\definefileconstant {colo_run} {s-colors-show}
\definefileconstant {font_run} {s-fonts-show}
\definefileconstant {page_run} {s-layout-show}
\definefileconstant {symb_run} {s-symbols-show}
\definefileconstant {publ_tra} {s-publications-show}
\definefileconstant {math_run} {s-math-show}
\definefileconstant {spac_run} {s-spacing-show}

%D For figure inclusion we need(ed):

%defineinterfaceconstant {tif}  {tif}
%defineinterfaceconstant {eps}  {eps}
%defineinterfaceconstant {mps}  {mps}
%defineinterfaceconstant {jpg}  {jpg}
%defineinterfaceconstant {pdf}  {pdf}
%defineinterfaceconstant {png}  {png}
%defineinterfaceconstant {avi}  {avi}
%defineinterfaceconstant {mov}  {mov}
%defineinterfaceconstant {svg}  {svg}
\defineinterfaceconstant {tex}  {tex} % Also gone?
%defineinterfaceconstant {tmp}  {tmp}
%defineinterfaceconstant {cld}  {cld}

%D A careful reader will have noticed that in the module \type {mult-ini} we defined
%D \type {\selectinterface}. We were not yet able to actually select an interface,
%D because we still had to define the constants and variables. Now we've done so,
%D selection is permitted.

\selectinterface

%D Ok, here are some more, because we've got ourselves some extensions to \CONTEXT.

\definemessageconstant {addresses}
\definemessageconstant {documents}

\protect \endinput
