diff options
Diffstat (limited to 'tex/context/base/mkiv/mult-sys.mkxl')
-rw-r--r-- | tex/context/base/mkiv/mult-sys.mkxl | 596 |
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 |