summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/mult-sys.mkxl
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/mult-sys.mkxl')
-rw-r--r--tex/context/base/mkiv/mult-sys.mkxl596
1 files changed, 596 insertions, 0 deletions
diff --git a/tex/context/base/mkiv/mult-sys.mkxl b/tex/context/base/mkiv/mult-sys.mkxl
new file mode 100644
index 000000000..40fcb9c35
--- /dev/null
+++ b/tex/context/base/mkiv/mult-sys.mkxl
@@ -0,0 +1,596 @@
+%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 bout 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 {ancientgreek} \definesystemconstant {agr}
+\definesystemconstant {ancientlatin} \definesystemconstant {ala}
+\definesystemconstant {arabic} \definesystemconstant {ar}
+\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 {gbenglish} \definesystemconstant {gb}
+\definesystemconstant {german} \definesystemconstant {de}
+\definesystemconstant {greek} \definesystemconstant {gr}
+\definesystemconstant {hebrew} \definesystemconstant {he}
+\definesystemconstant {yiddish} \definesystemconstant {yi}
+\definesystemconstant {hungarian} \definesystemconstant {hu}
+\definesystemconstant {italian} \definesystemconstant {it}
+\definesystemconstant {japanese} \definesystemconstant {ja}
+\definesystemconstant {korean} \definesystemconstant {kr}
+\definesystemconstant {latin} \definesystemconstant {la}
+\definesystemconstant {lithuanian} \definesystemconstant {lt}
+\definesystemconstant {malayalam} \definesystemconstant {ml}
+\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 {slovak} \definesystemconstant {sk}
+\definesystemconstant {slovenian} \definesystemconstant {sl}
+\definesystemconstant {spanish} \definesystemconstant {es}
+\definesystemconstant {swedish} \definesystemconstant {sv}
+\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 For proper \UNICODE\ support we need a few font related constants.
+
+\definesystemconstant {action}
+\definesystemconstant {all}
+\definesystemconstant {ampersand}
+\definesystemconstant {ascii}
+\definesystemconstant {attribute}
+\definesystemconstant {attr}
+\definesystemconstant {author}
+\definesystemconstant {auto}
+\definesystemconstant {axis}
+\definesystemconstant {a}
+\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 {calligraphy}
+\definesystemconstant {Calligraphy}
+\definesystemconstant {Caps}
+\definesystemconstant {casual}
+\definesystemconstant {Casual}
+\definesystemconstant {catcodes}
+\definesystemconstant {catcodetable}
+\definesystemconstant {cc}
+\definesystemconstant {cg}
+\definesystemconstant {chain}
+\definesystemconstant {check}
+\definesystemconstant {child}
+\definesystemconstant {cite}
+\definesystemconstant {class}
+\definesystemconstant {clone}
+\definesystemconstant {cmyk}
+\definesystemconstant {cm}
+\definesystemconstant {code}
+\definesystemconstant {collapsing}
+\definesystemconstant {command}
+\definesystemconstant {compare}
+\definesystemconstant {complex}
+\definesystemconstant {counter}
+\definesystemconstant {cramped}
+\definesystemconstant {current}
+\definesystemconstant {c}
+\definesystemconstant {data}
+\definesystemconstant {dd}
+\definesystemconstant {decimal}
+\definesystemconstant {DefaultFont}
+\definesystemconstant {default}
+\definesystemconstant {depth}
+\definesystemconstant {designsize}
+\definesystemconstant {direction}
+\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 {extensions}
+\definesystemconstant {external}
+\definesystemconstant {ex}
+\definesystemconstant {e}
+\definesystemconstant {fallbacks}
+\definesystemconstant {fallback}
+\definesystemconstant {false}
+\definesystemconstant {fax}
+\definesystemconstant {features}
+\definesystemconstant {file}
+\definesystemconstant {filll}
+\definesystemconstant {fill}
+\definesystemconstant {fil}
+\definesystemconstant {first}
+\definesystemconstant {float}
+\definesystemconstant {font}
+\definesystemconstant {forget}
+\definesystemconstant {format}
+\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 {hw}
+\definesystemconstant {hyphenmin}
+\definesystemconstant {indeed}
+\definesystemconstant {initializations}
+\definesystemconstant {insert} % maybe insertclass
+\definesystemconstant {integral}
+\definesystemconstant {internal}
+\definesystemconstant {in}
+\definesystemconstant {italics}
+\definesystemconstant {Italic}
+\definesystemconstant {italic}
+%definesystemconstant {it}
+\definesystemconstant {itemgroupcolumns}
+\definesystemconstant {kernpairs}
+\definesystemconstant {language}
+\definesystemconstant {lcgreek}
+\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 {nocite}
+\definesystemconstant {nodepth}
+\definesystemconstant {noheight}
+\definesystemconstant {nomath}
+\definesystemconstant {none}
+\definesystemconstant {normal}
+\definesystemconstant {Normal}
+\definesystemconstant {nowidth}
+\definesystemconstant {numbering}
+\definesystemconstant {number}
+\definesystemconstant {options}
+\definesystemconstant {ord}
+\definesystemconstant {orientation}
+\definesystemconstant {otr}
+\definesystemconstant {pagefloat}
+\definesystemconstant {page}
+\definesystemconstant {paragraph}
+\definesystemconstant {parent}
+\definesystemconstant {patterns}
+\definesystemconstant {pc}
+\definesystemconstant {pickup}
+\definesystemconstant {plural}
+\definesystemconstant {plus}
+%definesystemconstant {pt}
+\definesystemconstant {realpage}
+\definesystemconstant {register}
+\definesystemconstant {Regular}
+\definesystemconstant {regular}
+\definesystemconstant {rel}
+\definesystemconstant {reset}
+\definesystemconstant {reverse}
+\definesystemconstant {rgb}
+\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 {scriptscript}
+\definesystemconstant {script}
+\definesystemconstant {sc}
+\definesystemconstant {second}
+\definesystemconstant {section}
+\definesystemconstant {SerifBoldItalic}
+\definesystemconstant {SerifBoldSlanted}
+\definesystemconstant {SerifBold}
+\definesystemconstant {SerifCaps}
+\definesystemconstant {SerifItalic}
+\definesystemconstant {SerifSlanted}
+\definesystemconstant {Serif}
+\definesystemconstant {serif}
+\definesystemconstant {setups}
+\definesystemconstant {setup}
+\definesystemconstant {set}
+\definesystemconstant {themaintextcolor}
+\definesystemconstant {simple}
+\definesystemconstant {Simple}
+\definesystemconstant {single}
+\definesystemconstant {singular}
+\definesystemconstant {size}
+\definesystemconstant {slanted}
+\definesystemconstant {Slanted}
+%definesystemconstant {sl}
+\definesystemconstant {smallcaps}
+\definesystemconstant {small}
+\definesystemconstant {somewhere}
+\definesystemconstant {special}
+\definesystemconstant {spec}
+\definesystemconstant {spot}
+\definesystemconstant {spread}
+\definesystemconstant {sp}
+\definesystemconstant {ss}
+\definesystemconstant {start}
+\definesystemconstant {stop}
+\definesystemconstant {subpage}
+\definesystemconstant {subtype}
+\definesystemconstant {sub}
+\definesystemconstant {Support}
+\definesystemconstant {sygreek}
+\definesystemconstant {symbol}
+\definesystemconstant {system} % not yet interfaces messages
+\definesystemconstant {text}
+\definesystemconstant {tex}
+\definesystemconstant {tf}
+\definesystemconstant {third}
+\definesystemconstant {topfloat}
+\definesystemconstant {top}
+\definesystemconstant {to}
+\definesystemconstant {traditional}
+\definesystemconstant {triple}
+\definesystemconstant {true}
+\definesystemconstant {tt}
+\definesystemconstant {Type}
+\definesystemconstant {ucgreek}
+\definesystemconstant {uncramped}
+\definesystemconstant {unexpanded}
+\definesystemconstant {Unicode}
+\definesystemconstant {unknown}
+\definesystemconstant {userdata}
+\definesystemconstant {userpage}
+\definesystemconstant {user}
+\definesystemconstant {vfrac}
+\definesystemconstant {white}
+\definesystemconstant {width}
+\definesystemconstant {xml}
+\definesystemconstant {xmove}
+\definesystemconstant {xoffset}
+\definesystemconstant {xx}
+\definesystemconstant {x}
+\definesystemconstant {ymove}
+\definesystemconstant {yoffset}
+
+%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 {metapost}
+\definemessageconstant {publications}
+\definemessageconstant {references}
+\definemessageconstant {regimes}
+\definemessageconstant {structures}
+\definemessageconstant {symbols}
+\definemessageconstant {system}
+\definemessageconstant {textblocks}
+\definemessageconstant {verbatims}
+\definemessageconstant {versions}
+
+%D When we use numbers and dimensions the same applies as with the keywords like
+%D \type {width} and \type {plus} mentioned earlier.
+
+\immutable\def\!!ten {10}
+\immutable\def\!!twelve {12}
+\immutable\def\!!hundred {100}
+\immutable\def\!!thousand {1000}
+\immutable\def\!!tenthousand {10000}
+\immutable\def\!!maxcard {65536}
+\immutable\def\!!medcard {32768}
+
+\immutable\def\!!zeropoint {0pt}
+\immutable\def\!!onepoint {1pt}
+\immutable\def\!!twopoint {2pt}
+\immutable\def\!!threepoint {3pt}
+\immutable\def\!!fourpoint {4pt}
+\immutable\def\!!fivepoint {5pt}
+\immutable\def\!!sixpoint {6pt}
+\immutable\def\!!sevenpoint {7pt}
+\immutable\def\!!eightpoint {8pt}
+\immutable\def\!!ninepoint {9pt}
+\immutable\def\!!tenpoint {10pt}
+\immutable\def\!!elevenpoint {11pt}
+\immutable\def\!!twelvepoint {12pt}
+\immutable\def\!!fourteenpointfour {14.4pt}
+
+\immutable\def\!!plustoken {+} % todo: \??plustoken
+\immutable\def\!!minustoken {-} % todo: \??minustoken
+
+\immutable\def\__unknown__ {\string\\//} % unlikely value
+
+%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 {mp} {mp}
+
+\defineinterfacevariable {rgb} {rgb}
+\defineinterfacevariable {cmyk} {cmyk}
+\defineinterfacevariable {mp} {mp}
+
+\defineinterfacevariable {s} {s}
+
+\defineinterfacevariable {a} {a}
+\defineinterfacevariable {b} {b}
+\defineinterfacevariable {c} {c}
+\defineinterfacevariable {d} {d}
+
+%D Special purpose variables:
+
+\immutable\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.mkiv}
+\definefileconstant {newfilename} {cont-new.mkiv}
+\definefileconstant {locfilename} {cont-loc.mkiv}
+\definefileconstant {expfilename} {cont-exp.mkiv}
+\definefileconstant {fntfilename} {cont-fnt.mkiv} % 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} {colo-run}
+\definefileconstant {font_run} {font-run}
+\definefileconstant {page_run} {page-run}
+\definefileconstant {symb_run} {symb-run}
+\definefileconstant {publ_tra} {publ-tra}
+
+%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