summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--context/data/scite/context/lexers/data/scite-context-data-context.lua4
-rw-r--r--context/data/scite/context/scite-context-data-context.properties54
-rw-r--r--doc/context/sources/general/manuals/luatex/luatex-languages.tex4
-rw-r--r--doc/context/sources/general/manuals/luatex/luatex-libraries.tex5
-rw-r--r--scripts/context/lua/mtx-unicode.lua417
-rw-r--r--scripts/context/lua/mtxrun.lua100
-rw-r--r--scripts/context/stubs/mswin/mtxrun.lua100
-rw-r--r--scripts/context/stubs/unix/mtxrun100
-rw-r--r--scripts/context/stubs/win64/mtxrun.lua100
-rw-r--r--tex/context/base/context-version.pdfbin4173 -> 4169 bytes
-rw-r--r--tex/context/base/mkii/mult-de.mkii4
-rw-r--r--tex/context/base/mkii/mult-en.mkii4
-rw-r--r--tex/context/base/mkii/mult-fr.mkii4
-rw-r--r--tex/context/base/mkii/mult-it.mkii4
-rw-r--r--tex/context/base/mkii/mult-nl.mkii4
-rw-r--r--tex/context/base/mkii/mult-pe.mkii4
-rw-r--r--tex/context/base/mkii/mult-ro.mkii4
-rw-r--r--tex/context/base/mkiv/char-cjk.lua12
-rw-r--r--tex/context/base/mkiv/char-def.lua2048
-rw-r--r--tex/context/base/mkiv/char-ini.lua43
-rw-r--r--tex/context/base/mkiv/char-ini.mkiv2
-rw-r--r--tex/context/base/mkiv/chem-ini.mkiv2
-rw-r--r--tex/context/base/mkiv/chem-str.mkiv4
-rw-r--r--tex/context/base/mkiv/cldf-ini.lua12
-rw-r--r--tex/context/base/mkiv/cont-log.mkiv37
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/core-con.lua58
-rw-r--r--tex/context/base/mkiv/core-con.mkiv37
-rw-r--r--tex/context/base/mkiv/font-run.mkiv4
-rw-r--r--tex/context/base/mkiv/grph-fig.mkiv4
-rw-r--r--tex/context/base/mkiv/grph-rul.mkiv52
-rw-r--r--tex/context/base/mkiv/lang-mis.mkiv2
-rw-r--r--tex/context/base/mkiv/lxml-aux.lua98
-rw-r--r--tex/context/base/mkiv/math-ali.mkiv17
-rw-r--r--tex/context/base/mkiv/math-arr.mkiv74
-rw-r--r--tex/context/base/mkiv/math-del.mkiv2
-rw-r--r--tex/context/base/mkiv/math-ini.mkiv9
-rw-r--r--tex/context/base/mkiv/math-pln.mkiv36
-rw-r--r--tex/context/base/mkiv/mult-def.lua40
-rw-r--r--tex/context/base/mkiv/mult-low.lua3
-rw-r--r--tex/context/base/mkiv/node-bck.mkiv2
-rw-r--r--tex/context/base/mkiv/node-rul.mkiv16
-rw-r--r--tex/context/base/mkiv/pack-com.mkiv14
-rw-r--r--tex/context/base/mkiv/pack-rul.mkiv2
-rw-r--r--tex/context/base/mkiv/phys-dim.mkiv4
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin9068 -> 9030 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin266580 -> 266584 bytes
-rw-r--r--tex/context/base/mkiv/strc-itm.mkvi4
-rw-r--r--tex/context/base/mkiv/strc-ref.lua2
-rw-r--r--tex/context/base/mkiv/supp-box.mkiv10
-rw-r--r--tex/context/base/mkiv/supp-mat.mkiv16
-rw-r--r--tex/context/base/mkiv/supp-vis.mkiv4
-rw-r--r--tex/context/base/mkiv/syst-ini.mkiv9
-rw-r--r--tex/context/base/mkiv/tabl-tab.mkiv67
-rw-r--r--tex/context/base/mkiv/tabl-tbl.mkiv7
-rw-r--r--tex/context/base/mkiv/trac-jus.mkiv2
-rw-r--r--tex/context/interface/common/keys-cs.xml4
-rw-r--r--tex/context/interface/common/keys-de.xml4
-rw-r--r--tex/context/interface/common/keys-en.xml4
-rw-r--r--tex/context/interface/common/keys-fr.xml4
-rw-r--r--tex/context/interface/common/keys-it.xml4
-rw-r--r--tex/context/interface/common/keys-nl.xml4
-rw-r--r--tex/context/interface/common/keys-pe.xml4
-rw-r--r--tex/context/interface/common/keys-ro.xml4
-rw-r--r--tex/context/modules/mkiv/m-format.mkiv4
-rw-r--r--tex/context/modules/mkiv/m-units.mkiv4
-rw-r--r--tex/context/modules/mkiv/x-chemml.mkiv32
-rw-r--r--tex/generic/context/luatex/luatex-fonts-demo-vf-4.lua76
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
70 files changed, 1105 insertions, 2716 deletions
diff --git a/context/data/scite/context/lexers/data/scite-context-data-context.lua b/context/data/scite/context/lexers/data/scite-context-data-context.lua
index f1e74df50..c78cdfb8f 100644
--- a/context/data/scite/context/lexers/data/scite-context-data-context.lua
+++ b/context/data/scite/context/lexers/data/scite-context-data-context.lua
@@ -1,4 +1,4 @@
return {
- ["constants"]={ "zerocount", "minusone", "minustwo", "plusone", "plustwo", "plusthree", "plusfour", "plusfive", "plussix", "plusseven", "pluseight", "plusnine", "plusten", "plussixteen", "plushundred", "plustwohundred", "plusthousand", "plustenthousand", "plustwentythousand", "medcard", "maxcard", "maxcardminusone", "zeropoint", "onepoint", "halfapoint", "onebasepoint", "maxdimen", "scaledpoint", "thousandpoint", "points", "halfpoint", "zeroskip", "zeromuskip", "onemuskip", "pluscxxvii", "pluscxxviii", "pluscclv", "pluscclvi", "normalpagebox", "endoflinetoken", "outputnewlinechar", "emptytoks", "empty", "undefined", "voidbox", "emptybox", "emptyvbox", "emptyhbox", "bigskipamount", "medskipamount", "smallskipamount", "fmtname", "fmtversion", "texengine", "texenginename", "texengineversion", "luatexengine", "pdftexengine", "xetexengine", "unknownengine", "activecatcode", "bgroup", "egroup", "endline", "conditionaltrue", "conditionalfalse", "attributeunsetvalue", "uprotationangle", "rightrotationangle", "downrotationangle", "leftrotationangle", "inicatcodes", "ctxcatcodes", "texcatcodes", "notcatcodes", "txtcatcodes", "vrbcatcodes", "prtcatcodes", "nilcatcodes", "luacatcodes", "tpacatcodes", "tpbcatcodes", "xmlcatcodes", "ctdcatcodes", "escapecatcode", "begingroupcatcode", "endgroupcatcode", "mathshiftcatcode", "alignmentcatcode", "endoflinecatcode", "parametercatcode", "superscriptcatcode", "subscriptcatcode", "ignorecatcode", "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode", "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", "spaceasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "lessthanasciicode", "morethanasciicode", "doublecommentsignal", "atsignasciicode", "exclamationmarkasciicode", "questionmarkasciicode", "doublequoteasciicode", "singlequoteasciicode", "forwardslashasciicode", "primeasciicode", "hyphenasciicode", "activemathcharcode", "activetabtoken", "activeformfeedtoken", "activeendoflinetoken", "batchmodecode", "nonstopmodecode", "scrollmodecode", "errorstopmodecode", "bottomlevelgroupcode", "simplegroupcode", "hboxgroupcode", "adjustedhboxgroupcode", "vboxgroupcode", "vtopgroupcode", "aligngroupcode", "noaligngroupcode", "outputgroupcode", "mathgroupcode", "discretionarygroupcode", "insertgroupcode", "vcentergroupcode", "mathchoicegroupcode", "semisimplegroupcode", "mathshiftgroupcode", "mathleftgroupcode", "vadjustgroupcode", "charnodecode", "hlistnodecode", "vlistnodecode", "rulenodecode", "insertnodecode", "marknodecode", "adjustnodecode", "ligaturenodecode", "discretionarynodecode", "whatsitnodecode", "mathnodecode", "gluenodecode", "kernnodecode", "penaltynodecode", "unsetnodecode", "mathsnodecode", "charifcode", "catifcode", "numifcode", "dimifcode", "oddifcode", "vmodeifcode", "hmodeifcode", "mmodeifcode", "innerifcode", "voidifcode", "hboxifcode", "vboxifcode", "xifcode", "eofifcode", "trueifcode", "falseifcode", "caseifcode", "definedifcode", "csnameifcode", "fontcharifcode", "fontslantperpoint", "fontinterwordspace", "fontinterwordstretch", "fontinterwordshrink", "fontexheight", "fontemwidth", "fontextraspace", "slantperpoint", "interwordspace", "interwordstretch", "interwordshrink", "exheight", "emwidth", "extraspace", "mathsupdisplay", "mathsupnormal", "mathsupcramped", "mathsubnormal", "mathsubcombined", "mathaxisheight", "muquad", "startmode", "stopmode", "startnotmode", "stopnotmode", "startmodeset", "stopmodeset", "doifmode", "doifelsemode", "doifmodeelse", "doifnotmode", "startmodeset", "stopmodeset", "startallmodes", "stopallmodes", "startnotallmodes", "stopnotallmodes", "doifallmodes", "doifelseallmodes", "doifallmodeselse", "doifnotallmodes", "startenvironment", "stopenvironment", "environment", "startcomponent", "stopcomponent", "component", "startproduct", "stopproduct", "product", "startproject", "stopproject", "project", "starttext", "stoptext", "startnotext", "stopnotext", "startdocument", "stopdocument", "documentvariable", "setupdocument", "startmodule", "stopmodule", "usemodule", "usetexmodule", "useluamodule", "setupmodule", "currentmoduleparameter", "moduleparameter", "everystarttext", "everystoptext", "startTEXpage", "stopTEXpage", "enablemode", "disablemode", "preventmode", "definemode", "globalenablemode", "globaldisablemode", "globalpreventmode", "pushmode", "popmode", "typescriptone", "typescripttwo", "typescriptthree", "mathsizesuffix", "mathordcode", "mathopcode", "mathbincode", "mathrelcode", "mathopencode", "mathclosecode", "mathpunctcode", "mathalphacode", "mathinnercode", "mathnothingcode", "mathlimopcode", "mathnolopcode", "mathboxcode", "mathchoicecode", "mathaccentcode", "mathradicalcode", "constantnumber", "constantnumberargument", "constantdimen", "constantdimenargument", "constantemptyargument", "continueifinputfile", "luastringsep", "!!bs", "!!es", "lefttorightmark", "righttoleftmark", "breakablethinspace", "nobreakspace", "nonbreakablespace", "narrownobreakspace", "zerowidthnobreakspace", "ideographicspace", "ideographichalffillspace", "twoperemspace", "threeperemspace", "fourperemspace", "fiveperemspace", "sixperemspace", "figurespace", "punctuationspace", "hairspace", "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj", "optionalspace", "asciispacechar", "Ux", "eUx" },
- ["helpers"]={ "startsetups", "stopsetups", "startxmlsetups", "stopxmlsetups", "startluasetups", "stopluasetups", "starttexsetups", "stoptexsetups", "startrawsetups", "stoprawsetups", "startlocalsetups", "stoplocalsetups", "starttexdefinition", "stoptexdefinition", "starttexcode", "stoptexcode", "startcontextcode", "stopcontextcode", "startcontextdefinitioncode", "stopcontextdefinitioncode", "texdefinition", "doifelsesetups", "doifsetupselse", "doifsetups", "doifnotsetups", "setup", "setups", "texsetup", "xmlsetup", "luasetup", "directsetup", "fastsetup", "doifelsecommandhandler", "doifcommandhandlerelse", "doifnotcommandhandler", "doifcommandhandler", "newmode", "setmode", "resetmode", "newsystemmode", "setsystemmode", "resetsystemmode", "pushsystemmode", "popsystemmode", "booleanmodevalue", "newcount", "newdimen", "newskip", "newmuskip", "newbox", "newtoks", "newread", "newwrite", "newmarks", "newinsert", "newattribute", "newif", "newlanguage", "newfamily", "newfam", "newhelp", "then", "begcsname", "strippedcsname", "checkedstrippedcsname", "firstargumentfalse", "firstargumenttrue", "secondargumentfalse", "secondargumenttrue", "thirdargumentfalse", "thirdargumenttrue", "fourthargumentfalse", "fourthargumenttrue", "fifthargumentfalse", "fifthsargumenttrue", "sixthargumentfalse", "sixtsargumenttrue", "doglobal", "dodoglobal", "redoglobal", "resetglobal", "donothing", "dontcomplain", "forgetall", "donetrue", "donefalse", "inlineordisplaymath", "indisplaymath", "forcedisplaymath", "startforceddisplaymath", "stopforceddisplaymath", "reqno", "mathortext", "htdp", "unvoidbox", "hfilll", "vfilll", "mathbox", "mathlimop", "mathnolop", "mathnothing", "mathalpha", "currentcatcodetable", "defaultcatcodetable", "catcodetablename", "newcatcodetable", "startcatcodetable", "stopcatcodetable", "startextendcatcodetable", "stopextendcatcodetable", "pushcatcodetable", "popcatcodetable", "restorecatcodes", "setcatcodetable", "letcatcodecommand", "defcatcodecommand", "uedcatcodecommand", "hglue", "vglue", "hfillneg", "vfillneg", "hfilllneg", "vfilllneg", "ruledhss", "ruledhfil", "ruledhfill", "ruledhfilneg", "ruledhfillneg", "normalhfillneg", "ruledvss", "ruledvfil", "ruledvfill", "ruledvfilneg", "ruledvfillneg", "normalvfillneg", "ruledhbox", "ruledvbox", "ruledvtop", "ruledvcenter", "ruledmbox", "ruledhpack", "ruledvpack", "ruledtpack", "ruledhskip", "ruledvskip", "ruledkern", "ruledmskip", "ruledmkern", "ruledhglue", "ruledvglue", "normalhglue", "normalvglue", "ruledpenalty", "filledhboxb", "filledhboxr", "filledhboxg", "filledhboxc", "filledhboxm", "filledhboxy", "filledhboxk", "scratchcounter", "globalscratchcounter", "scratchdimen", "globalscratchdimen", "scratchskip", "globalscratchskip", "scratchmuskip", "globalscratchmuskip", "scratchtoks", "globalscratchtoks", "scratchbox", "globalscratchbox", "normalbaselineskip", "normallineskip", "normallineskiplimit", "availablehsize", "localhsize", "setlocalhsize", "distributedhsize", "hsizefraction", "nextbox", "dowithnextbox", "dowithnextboxcs", "dowithnextboxcontent", "dowithnextboxcontentcs", "flushnextbox", "scratchwidth", "scratchheight", "scratchdepth", "scratchoffset", "scratchdistance", "scratchhsize", "scratchvsize", "scratchxoffset", "scratchyoffset", "scratchhoffset", "scratchvoffset", "scratchxposition", "scratchyposition", "scratchtopoffset", "scratchbottomoffset", "scratchleftoffset", "scratchrightoffset", "scratchcounterone", "scratchcountertwo", "scratchcounterthree", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchboxone", "scratchboxtwo", "scratchboxthree", "scratchnx", "scratchny", "scratchmx", "scratchmy", "scratchunicode", "scratchleftskip", "scratchrightskip", "scratchtopskip", "scratchbottomskip", "doif", "doifnot", "doifelse", "doifinset", "doifnotinset", "doifelseinset", "doifinsetelse", "doifelsenextchar", "doifnextcharelse", "doifelsenextoptional", "doifnextoptionalelse", "doifelsenextoptionalcs", "doifnextoptionalcselse", "doifelsefastoptionalcheck", "doiffastoptionalcheckelse", "doifelsenextbgroup", "doifnextbgroupelse", "doifelsenextbgroupcs", "doifnextbgroupcselse", "doifelsenextparenthesis", "doifnextparenthesiselse", "doifelseundefined", "doifundefinedelse", "doifelsedefined", "doifdefinedelse", "doifundefined", "doifdefined", "doifelsevalue", "doifvalue", "doifnotvalue", "doifnothing", "doifsomething", "doifelsenothing", "doifnothingelse", "doifelsesomething", "doifsomethingelse", "doifvaluenothing", "doifvaluesomething", "doifelsevaluenothing", "doifvaluenothingelse", "doifelsedimension", "doifdimensionelse", "doifelsenumber", "doifnumberelse", "doifnumber", "doifnotnumber", "doifelsecommon", "doifcommonelse", "doifcommon", "doifnotcommon", "doifinstring", "doifnotinstring", "doifelseinstring", "doifinstringelse", "doifelseassignment", "doifassignmentelse", "docheckassignment", "tracingall", "tracingnone", "loggingall", "removetoks", "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", "endgraf", "endpar", "everyendpar", "reseteverypar", "finishpar", "empty", "null", "space", "quad", "enspace", "nbsp", "obeyspaces", "obeylines", "obeyedspace", "obeyedline", "obeyedtab", "obeyedpage", "normalspace", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", "removepunctuation", "wait", "writestatus", "define", "defineexpandable", "redefine", "setmeasure", "setemeasure", "setgmeasure", "setxmeasure", "definemeasure", "freezemeasure", "measure", "measured", "installcorenamespace", "getvalue", "getuvalue", "setvalue", "setevalue", "setgvalue", "setxvalue", "letvalue", "letgvalue", "resetvalue", "undefinevalue", "ignorevalue", "setuvalue", "setuevalue", "setugvalue", "setuxvalue", "globallet", "glet", "udef", "ugdef", "uedef", "uxdef", "checked", "unique", "getparameters", "geteparameters", "getgparameters", "getxparameters", "forgetparameters", "copyparameters", "getdummyparameters", "dummyparameter", "directdummyparameter", "setdummyparameter", "letdummyparameter", "usedummystyleandcolor", "usedummystyleparameter", "usedummycolorparameter", "processcommalist", "processcommacommand", "quitcommalist", "quitprevcommalist", "processaction", "processallactions", "processfirstactioninset", "processallactionsinset", "unexpanded", "expanded", "startexpanded", "stopexpanded", "protected", "protect", "unprotect", "firstofoneargument", "firstoftwoarguments", "secondoftwoarguments", "firstofthreearguments", "secondofthreearguments", "thirdofthreearguments", "firstoffourarguments", "secondoffourarguments", "thirdoffourarguments", "fourthoffourarguments", "firstoffivearguments", "secondoffivearguments", "thirdoffivearguments", "fourthoffivearguments", "fifthoffivearguments", "firstofsixarguments", "secondofsixarguments", "thirdofsixarguments", "fourthofsixarguments", "fifthofsixarguments", "sixthofsixarguments", "firstofoneunexpanded", "firstoftwounexpanded", "secondoftwounexpanded", "firstofthreeunexpanded", "secondofthreeunexpanded", "thirdofthreeunexpanded", "gobbleoneargument", "gobbletwoarguments", "gobblethreearguments", "gobblefourarguments", "gobblefivearguments", "gobblesixarguments", "gobblesevenarguments", "gobbleeightarguments", "gobbleninearguments", "gobbletenarguments", "gobbleoneoptional", "gobbletwooptionals", "gobblethreeoptionals", "gobblefouroptionals", "gobblefiveoptionals", "dorecurse", "doloop", "exitloop", "dostepwiserecurse", "recurselevel", "recursedepth", "dofastloopcs", "dowith", "newconstant", "setnewconstant", "setconstant", "setconstantvalue", "newconditional", "settrue", "setfalse", "settruevalue", "setfalsevalue", "newmacro", "setnewmacro", "newfraction", "newsignal", "dosingleempty", "dodoubleempty", "dotripleempty", "doquadrupleempty", "doquintupleempty", "dosixtupleempty", "doseventupleempty", "dosingleargument", "dodoubleargument", "dotripleargument", "doquadrupleargument", "doquintupleargument", "dosixtupleargument", "doseventupleargument", "dosinglegroupempty", "dodoublegroupempty", "dotriplegroupempty", "doquadruplegroupempty", "doquintuplegroupempty", "permitspacesbetweengroups", "dontpermitspacesbetweengroups", "nopdfcompression", "maximumpdfcompression", "normalpdfcompression", "modulonumber", "dividenumber", "getfirstcharacter", "doifelsefirstchar", "doiffirstcharelse", "startnointerference", "stopnointerference", "twodigits", "threedigits", "leftorright", "offinterlineskip", "oninterlineskip", "nointerlineskip", "strut", "halfstrut", "quarterstrut", "depthstrut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "struthtdp", "begstrut", "endstrut", "lineheight", "ordordspacing", "ordopspacing", "ordbinspacing", "ordrelspacing", "ordopenspacing", "ordclosespacing", "ordpunctspacing", "ordinnerspacing", "opordspacing", "opopspacing", "opbinspacing", "oprelspacing", "opopenspacing", "opclosespacing", "oppunctspacing", "opinnerspacing", "binordspacing", "binopspacing", "binbinspacing", "binrelspacing", "binopenspacing", "binclosespacing", "binpunctspacing", "bininnerspacing", "relordspacing", "relopspacing", "relbinspacing", "relrelspacing", "relopenspacing", "relclosespacing", "relpunctspacing", "relinnerspacing", "openordspacing", "openopspacing", "openbinspacing", "openrelspacing", "openopenspacing", "openclosespacing", "openpunctspacing", "openinnerspacing", "closeordspacing", "closeopspacing", "closebinspacing", "closerelspacing", "closeopenspacing", "closeclosespacing", "closepunctspacing", "closeinnerspacing", "punctordspacing", "punctopspacing", "punctbinspacing", "punctrelspacing", "punctopenspacing", "punctclosespacing", "punctpunctspacing", "punctinnerspacing", "innerordspacing", "inneropspacing", "innerbinspacing", "innerrelspacing", "inneropenspacing", "innerclosespacing", "innerpunctspacing", "innerinnerspacing", "normalreqno", "startimath", "stopimath", "normalstartimath", "normalstopimath", "startdmath", "stopdmath", "normalstartdmath", "normalstopdmath", "uncramped", "cramped", "triggermathstyle", "mathstylefont", "mathsmallstylefont", "mathstyleface", "mathsmallstyleface", "mathstylecommand", "mathpalette", "mathstylehbox", "mathstylevbox", "mathstylevcenter", "mathstylevcenteredhbox", "mathstylevcenteredvbox", "mathtext", "setmathsmalltextbox", "setmathtextbox", "pushmathstyle", "popmathstyle", "triggerdisplaystyle", "triggertextstyle", "triggerscriptstyle", "triggerscriptscriptstyle", "triggeruncrampedstyle", "triggercrampedstyle", "triggersmallstyle", "triggeruncrampedsmallstyle", "triggercrampedsmallstyle", "triggerbigstyle", "triggeruncrampedbigstyle", "triggercrampedbigstyle", "luaexpr", "expelsedoif", "expdoif", "expdoifnot", "expdoifelsecommon", "expdoifcommonelse", "expdoifelseinset", "expdoifinsetelse", "ctxdirectlua", "ctxlatelua", "ctxsprint", "ctxwrite", "ctxcommand", "ctxdirectcommand", "ctxlatecommand", "ctxreport", "ctxlua", "luacode", "lateluacode", "directluacode", "registerctxluafile", "ctxloadluafile", "luaversion", "luamajorversion", "luaminorversion", "ctxluacode", "luaconditional", "luaexpanded", "startluaparameterset", "stopluaparameterset", "luaparameterset", "definenamedlua", "obeylualines", "obeyluatokens", "startluacode", "stopluacode", "startlua", "stoplua", "startctxfunction", "stopctxfunction", "ctxfunction", "startctxfunctiondefinition", "stopctxfunctiondefinition", "installctxfunction", "cldprocessfile", "cldloadfile", "cldcontext", "cldcommand", "carryoverpar", "assumelongusagecs", "Umathbotaccent", "righttolefthbox", "lefttorighthbox", "righttoleftvbox", "lefttorightvbox", "righttoleftvtop", "lefttorightvtop", "rtlhbox", "ltrhbox", "rtlvbox", "ltrvbox", "rtlvtop", "ltrvtop", "autodirhbox", "autodirvbox", "autodirvtop", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "lefttoright", "righttoleft", "synchronizelayoutdirection", "synchronizedisplaydirection", "synchronizeinlinedirection", "lesshyphens", "morehyphens", "nohyphens", "dohyphens", "Ucheckedstartdisplaymath", "Ucheckedstopdisplaymath", "break", "nobreak", "allowbreak", "goodbreak", "nospace", "nospacing", "dospacing", "naturalhbox", "naturalvbox", "naturalhpack", "naturalvpack", "frule" },
+ ["constants"]={ "zerocount", "minusone", "minustwo", "plusone", "plustwo", "plusthree", "plusfour", "plusfive", "plussix", "plusseven", "pluseight", "plusnine", "plusten", "plussixteen", "plushundred", "plustwohundred", "plusthousand", "plustenthousand", "plustwentythousand", "medcard", "maxcard", "maxcardminusone", "zeropoint", "onepoint", "halfapoint", "onebasepoint", "maxdimen", "scaledpoint", "thousandpoint", "points", "halfpoint", "zeroskip", "zeromuskip", "onemuskip", "pluscxxvii", "pluscxxviii", "pluscclv", "pluscclvi", "normalpagebox", "endoflinetoken", "outputnewlinechar", "emptytoks", "empty", "undefined", "voidbox", "emptybox", "emptyvbox", "emptyhbox", "bigskipamount", "medskipamount", "smallskipamount", "fmtname", "fmtversion", "texengine", "texenginename", "texengineversion", "luatexengine", "pdftexengine", "xetexengine", "unknownengine", "activecatcode", "bgroup", "egroup", "endline", "conditionaltrue", "conditionalfalse", "attributeunsetvalue", "uprotationangle", "rightrotationangle", "downrotationangle", "leftrotationangle", "inicatcodes", "ctxcatcodes", "texcatcodes", "notcatcodes", "txtcatcodes", "vrbcatcodes", "prtcatcodes", "nilcatcodes", "luacatcodes", "tpacatcodes", "tpbcatcodes", "xmlcatcodes", "ctdcatcodes", "escapecatcode", "begingroupcatcode", "endgroupcatcode", "mathshiftcatcode", "alignmentcatcode", "endoflinecatcode", "parametercatcode", "superscriptcatcode", "subscriptcatcode", "ignorecatcode", "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode", "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", "spaceasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "lessthanasciicode", "morethanasciicode", "doublecommentsignal", "atsignasciicode", "exclamationmarkasciicode", "questionmarkasciicode", "doublequoteasciicode", "singlequoteasciicode", "forwardslashasciicode", "primeasciicode", "hyphenasciicode", "activemathcharcode", "activetabtoken", "activeformfeedtoken", "activeendoflinetoken", "batchmodecode", "nonstopmodecode", "scrollmodecode", "errorstopmodecode", "bottomlevelgroupcode", "simplegroupcode", "hboxgroupcode", "adjustedhboxgroupcode", "vboxgroupcode", "vtopgroupcode", "aligngroupcode", "noaligngroupcode", "outputgroupcode", "mathgroupcode", "discretionarygroupcode", "insertgroupcode", "vcentergroupcode", "mathchoicegroupcode", "semisimplegroupcode", "mathshiftgroupcode", "mathleftgroupcode", "vadjustgroupcode", "charnodecode", "hlistnodecode", "vlistnodecode", "rulenodecode", "insertnodecode", "marknodecode", "adjustnodecode", "ligaturenodecode", "discretionarynodecode", "whatsitnodecode", "mathnodecode", "gluenodecode", "kernnodecode", "penaltynodecode", "unsetnodecode", "mathsnodecode", "charifcode", "catifcode", "numifcode", "dimifcode", "oddifcode", "vmodeifcode", "hmodeifcode", "mmodeifcode", "innerifcode", "voidifcode", "hboxifcode", "vboxifcode", "xifcode", "eofifcode", "trueifcode", "falseifcode", "caseifcode", "definedifcode", "csnameifcode", "fontcharifcode", "fontslantperpoint", "fontinterwordspace", "fontinterwordstretch", "fontinterwordshrink", "fontexheight", "fontemwidth", "fontextraspace", "slantperpoint", "interwordspace", "interwordstretch", "interwordshrink", "exheight", "emwidth", "extraspace", "mathsupdisplay", "mathsupnormal", "mathsupcramped", "mathsubnormal", "mathsubcombined", "mathaxisheight", "muquad", "startmode", "stopmode", "startnotmode", "stopnotmode", "startmodeset", "stopmodeset", "doifmode", "doifelsemode", "doifmodeelse", "doifnotmode", "startmodeset", "stopmodeset", "startallmodes", "stopallmodes", "startnotallmodes", "stopnotallmodes", "doifallmodes", "doifelseallmodes", "doifallmodeselse", "doifnotallmodes", "startenvironment", "stopenvironment", "environment", "startcomponent", "stopcomponent", "component", "startproduct", "stopproduct", "product", "startproject", "stopproject", "project", "starttext", "stoptext", "startnotext", "stopnotext", "startdocument", "stopdocument", "documentvariable", "setupdocument", "startmodule", "stopmodule", "usemodule", "usetexmodule", "useluamodule", "setupmodule", "currentmoduleparameter", "moduleparameter", "everystarttext", "everystoptext", "startTEXpage", "stopTEXpage", "enablemode", "disablemode", "preventmode", "definemode", "globalenablemode", "globaldisablemode", "globalpreventmode", "pushmode", "popmode", "typescriptone", "typescripttwo", "typescriptthree", "mathsizesuffix", "mathordcode", "mathopcode", "mathbincode", "mathrelcode", "mathopencode", "mathclosecode", "mathpunctcode", "mathalphacode", "mathinnercode", "mathnothingcode", "mathlimopcode", "mathnolopcode", "mathboxcode", "mathchoicecode", "mathaccentcode", "mathradicalcode", "constantnumber", "constantnumberargument", "constantdimen", "constantdimenargument", "constantemptyargument", "continueifinputfile", "luastringsep", "!!bs", "!!es", "lefttorightmark", "righttoleftmark", "breakablethinspace", "nobreakspace", "nonbreakablespace", "narrownobreakspace", "zerowidthnobreakspace", "ideographicspace", "ideographichalffillspace", "twoperemspace", "threeperemspace", "fourperemspace", "fiveperemspace", "sixperemspace", "figurespace", "punctuationspace", "hairspace", "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj", "optionalspace", "asciispacechar", "Ux", "eUx", "Umathaccents" },
+ ["helpers"]={ "startsetups", "stopsetups", "startxmlsetups", "stopxmlsetups", "startluasetups", "stopluasetups", "starttexsetups", "stoptexsetups", "startrawsetups", "stoprawsetups", "startlocalsetups", "stoplocalsetups", "starttexdefinition", "stoptexdefinition", "starttexcode", "stoptexcode", "startcontextcode", "stopcontextcode", "startcontextdefinitioncode", "stopcontextdefinitioncode", "texdefinition", "doifelsesetups", "doifsetupselse", "doifsetups", "doifnotsetups", "setup", "setups", "texsetup", "xmlsetup", "luasetup", "directsetup", "fastsetup", "doifelsecommandhandler", "doifcommandhandlerelse", "doifnotcommandhandler", "doifcommandhandler", "newmode", "setmode", "resetmode", "newsystemmode", "setsystemmode", "resetsystemmode", "pushsystemmode", "popsystemmode", "booleanmodevalue", "newcount", "newdimen", "newskip", "newmuskip", "newbox", "newtoks", "newread", "newwrite", "newmarks", "newinsert", "newattribute", "newif", "newlanguage", "newfamily", "newfam", "newhelp", "then", "begcsname", "strippedcsname", "checkedstrippedcsname", "firstargumentfalse", "firstargumenttrue", "secondargumentfalse", "secondargumenttrue", "thirdargumentfalse", "thirdargumenttrue", "fourthargumentfalse", "fourthargumenttrue", "fifthargumentfalse", "fifthsargumenttrue", "sixthargumentfalse", "sixtsargumenttrue", "doglobal", "dodoglobal", "redoglobal", "resetglobal", "donothing", "dontcomplain", "forgetall", "donetrue", "donefalse", "inlineordisplaymath", "indisplaymath", "forcedisplaymath", "startforceddisplaymath", "stopforceddisplaymath", "reqno", "mathortext", "htdp", "unvoidbox", "hfilll", "vfilll", "mathbox", "mathlimop", "mathnolop", "mathnothing", "mathalpha", "currentcatcodetable", "defaultcatcodetable", "catcodetablename", "newcatcodetable", "startcatcodetable", "stopcatcodetable", "startextendcatcodetable", "stopextendcatcodetable", "pushcatcodetable", "popcatcodetable", "restorecatcodes", "setcatcodetable", "letcatcodecommand", "defcatcodecommand", "uedcatcodecommand", "hglue", "vglue", "hfillneg", "vfillneg", "hfilllneg", "vfilllneg", "ruledhss", "ruledhfil", "ruledhfill", "ruledhfilneg", "ruledhfillneg", "normalhfillneg", "ruledvss", "ruledvfil", "ruledvfill", "ruledvfilneg", "ruledvfillneg", "normalvfillneg", "ruledhbox", "ruledvbox", "ruledvtop", "ruledvcenter", "ruledmbox", "ruledhpack", "ruledvpack", "ruledtpack", "ruledhskip", "ruledvskip", "ruledkern", "ruledmskip", "ruledmkern", "ruledhglue", "ruledvglue", "normalhglue", "normalvglue", "ruledpenalty", "filledhboxb", "filledhboxr", "filledhboxg", "filledhboxc", "filledhboxm", "filledhboxy", "filledhboxk", "scratchcounter", "globalscratchcounter", "scratchdimen", "globalscratchdimen", "scratchskip", "globalscratchskip", "scratchmuskip", "globalscratchmuskip", "scratchtoks", "globalscratchtoks", "scratchbox", "globalscratchbox", "normalbaselineskip", "normallineskip", "normallineskiplimit", "availablehsize", "localhsize", "setlocalhsize", "distributedhsize", "hsizefraction", "nextbox", "dowithnextbox", "dowithnextboxcs", "dowithnextboxcontent", "dowithnextboxcontentcs", "flushnextbox", "scratchwidth", "scratchheight", "scratchdepth", "scratchoffset", "scratchdistance", "scratchhsize", "scratchvsize", "scratchxoffset", "scratchyoffset", "scratchhoffset", "scratchvoffset", "scratchxposition", "scratchyposition", "scratchtopoffset", "scratchbottomoffset", "scratchleftoffset", "scratchrightoffset", "scratchcounterone", "scratchcountertwo", "scratchcounterthree", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchboxone", "scratchboxtwo", "scratchboxthree", "scratchnx", "scratchny", "scratchmx", "scratchmy", "scratchunicode", "scratchleftskip", "scratchrightskip", "scratchtopskip", "scratchbottomskip", "doif", "doifnot", "doifelse", "doifinset", "doifnotinset", "doifelseinset", "doifinsetelse", "doifelsenextchar", "doifnextcharelse", "doifelsenextoptional", "doifnextoptionalelse", "doifelsenextoptionalcs", "doifnextoptionalcselse", "doifelsefastoptionalcheck", "doiffastoptionalcheckelse", "doifelsenextbgroup", "doifnextbgroupelse", "doifelsenextbgroupcs", "doifnextbgroupcselse", "doifelsenextparenthesis", "doifnextparenthesiselse", "doifelseundefined", "doifundefinedelse", "doifelsedefined", "doifdefinedelse", "doifundefined", "doifdefined", "doifelsevalue", "doifvalue", "doifnotvalue", "doifnothing", "doifsomething", "doifelsenothing", "doifnothingelse", "doifelsesomething", "doifsomethingelse", "doifvaluenothing", "doifvaluesomething", "doifelsevaluenothing", "doifvaluenothingelse", "doifelsedimension", "doifdimensionelse", "doifelsenumber", "doifnumberelse", "doifnumber", "doifnotnumber", "doifelsecommon", "doifcommonelse", "doifcommon", "doifnotcommon", "doifinstring", "doifnotinstring", "doifelseinstring", "doifinstringelse", "doifelseassignment", "doifassignmentelse", "docheckassignment", "tracingall", "tracingnone", "loggingall", "removetoks", "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", "endgraf", "endpar", "everyendpar", "reseteverypar", "finishpar", "empty", "null", "space", "quad", "enspace", "nbsp", "obeyspaces", "obeylines", "obeyedspace", "obeyedline", "obeyedtab", "obeyedpage", "normalspace", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", "removepunctuation", "wait", "writestatus", "define", "defineexpandable", "redefine", "setmeasure", "setemeasure", "setgmeasure", "setxmeasure", "definemeasure", "freezemeasure", "measure", "measured", "installcorenamespace", "getvalue", "getuvalue", "setvalue", "setevalue", "setgvalue", "setxvalue", "letvalue", "letgvalue", "resetvalue", "undefinevalue", "ignorevalue", "setuvalue", "setuevalue", "setugvalue", "setuxvalue", "globallet", "glet", "udef", "ugdef", "uedef", "uxdef", "checked", "unique", "getparameters", "geteparameters", "getgparameters", "getxparameters", "forgetparameters", "copyparameters", "getdummyparameters", "dummyparameter", "directdummyparameter", "setdummyparameter", "letdummyparameter", "usedummystyleandcolor", "usedummystyleparameter", "usedummycolorparameter", "processcommalist", "processcommacommand", "quitcommalist", "quitprevcommalist", "processaction", "processallactions", "processfirstactioninset", "processallactionsinset", "unexpanded", "expanded", "startexpanded", "stopexpanded", "protected", "protect", "unprotect", "firstofoneargument", "firstoftwoarguments", "secondoftwoarguments", "firstofthreearguments", "secondofthreearguments", "thirdofthreearguments", "firstoffourarguments", "secondoffourarguments", "thirdoffourarguments", "fourthoffourarguments", "firstoffivearguments", "secondoffivearguments", "thirdoffivearguments", "fourthoffivearguments", "fifthoffivearguments", "firstofsixarguments", "secondofsixarguments", "thirdofsixarguments", "fourthofsixarguments", "fifthofsixarguments", "sixthofsixarguments", "firstofoneunexpanded", "firstoftwounexpanded", "secondoftwounexpanded", "firstofthreeunexpanded", "secondofthreeunexpanded", "thirdofthreeunexpanded", "gobbleoneargument", "gobbletwoarguments", "gobblethreearguments", "gobblefourarguments", "gobblefivearguments", "gobblesixarguments", "gobblesevenarguments", "gobbleeightarguments", "gobbleninearguments", "gobbletenarguments", "gobbleoneoptional", "gobbletwooptionals", "gobblethreeoptionals", "gobblefouroptionals", "gobblefiveoptionals", "dorecurse", "doloop", "exitloop", "dostepwiserecurse", "recurselevel", "recursedepth", "dofastloopcs", "dowith", "newconstant", "setnewconstant", "setconstant", "setconstantvalue", "newconditional", "settrue", "setfalse", "settruevalue", "setfalsevalue", "newmacro", "setnewmacro", "newfraction", "newsignal", "dosingleempty", "dodoubleempty", "dotripleempty", "doquadrupleempty", "doquintupleempty", "dosixtupleempty", "doseventupleempty", "dosingleargument", "dodoubleargument", "dotripleargument", "doquadrupleargument", "doquintupleargument", "dosixtupleargument", "doseventupleargument", "dosinglegroupempty", "dodoublegroupempty", "dotriplegroupempty", "doquadruplegroupempty", "doquintuplegroupempty", "permitspacesbetweengroups", "dontpermitspacesbetweengroups", "nopdfcompression", "maximumpdfcompression", "normalpdfcompression", "modulonumber", "dividenumber", "getfirstcharacter", "doifelsefirstchar", "doiffirstcharelse", "startnointerference", "stopnointerference", "twodigits", "threedigits", "leftorright", "offinterlineskip", "oninterlineskip", "nointerlineskip", "strut", "halfstrut", "quarterstrut", "depthstrut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "struthtdp", "begstrut", "endstrut", "lineheight", "ordordspacing", "ordopspacing", "ordbinspacing", "ordrelspacing", "ordopenspacing", "ordclosespacing", "ordpunctspacing", "ordinnerspacing", "opordspacing", "opopspacing", "opbinspacing", "oprelspacing", "opopenspacing", "opclosespacing", "oppunctspacing", "opinnerspacing", "binordspacing", "binopspacing", "binbinspacing", "binrelspacing", "binopenspacing", "binclosespacing", "binpunctspacing", "bininnerspacing", "relordspacing", "relopspacing", "relbinspacing", "relrelspacing", "relopenspacing", "relclosespacing", "relpunctspacing", "relinnerspacing", "openordspacing", "openopspacing", "openbinspacing", "openrelspacing", "openopenspacing", "openclosespacing", "openpunctspacing", "openinnerspacing", "closeordspacing", "closeopspacing", "closebinspacing", "closerelspacing", "closeopenspacing", "closeclosespacing", "closepunctspacing", "closeinnerspacing", "punctordspacing", "punctopspacing", "punctbinspacing", "punctrelspacing", "punctopenspacing", "punctclosespacing", "punctpunctspacing", "punctinnerspacing", "innerordspacing", "inneropspacing", "innerbinspacing", "innerrelspacing", "inneropenspacing", "innerclosespacing", "innerpunctspacing", "innerinnerspacing", "normalreqno", "startimath", "stopimath", "normalstartimath", "normalstopimath", "startdmath", "stopdmath", "normalstartdmath", "normalstopdmath", "normalsuperscript", "normalsubscript", "uncramped", "cramped", "triggermathstyle", "mathstylefont", "mathsmallstylefont", "mathstyleface", "mathsmallstyleface", "mathstylecommand", "mathpalette", "mathstylehbox", "mathstylevbox", "mathstylevcenter", "mathstylevcenteredhbox", "mathstylevcenteredvbox", "mathtext", "setmathsmalltextbox", "setmathtextbox", "pushmathstyle", "popmathstyle", "triggerdisplaystyle", "triggertextstyle", "triggerscriptstyle", "triggerscriptscriptstyle", "triggeruncrampedstyle", "triggercrampedstyle", "triggersmallstyle", "triggeruncrampedsmallstyle", "triggercrampedsmallstyle", "triggerbigstyle", "triggeruncrampedbigstyle", "triggercrampedbigstyle", "luaexpr", "expelsedoif", "expdoif", "expdoifnot", "expdoifelsecommon", "expdoifcommonelse", "expdoifelseinset", "expdoifinsetelse", "ctxdirectlua", "ctxlatelua", "ctxsprint", "ctxwrite", "ctxcommand", "ctxdirectcommand", "ctxlatecommand", "ctxreport", "ctxlua", "luacode", "lateluacode", "directluacode", "registerctxluafile", "ctxloadluafile", "luaversion", "luamajorversion", "luaminorversion", "ctxluacode", "luaconditional", "luaexpanded", "startluaparameterset", "stopluaparameterset", "luaparameterset", "definenamedlua", "obeylualines", "obeyluatokens", "startluacode", "stopluacode", "startlua", "stoplua", "startctxfunction", "stopctxfunction", "ctxfunction", "startctxfunctiondefinition", "stopctxfunctiondefinition", "installctxfunction", "cldprocessfile", "cldloadfile", "cldcontext", "cldcommand", "carryoverpar", "assumelongusagecs", "Umathbotaccent", "righttolefthbox", "lefttorighthbox", "righttoleftvbox", "lefttorightvbox", "righttoleftvtop", "lefttorightvtop", "rtlhbox", "ltrhbox", "rtlvbox", "ltrvbox", "rtlvtop", "ltrvtop", "autodirhbox", "autodirvbox", "autodirvtop", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "lefttoright", "righttoleft", "synchronizelayoutdirection", "synchronizedisplaydirection", "synchronizeinlinedirection", "lesshyphens", "morehyphens", "nohyphens", "dohyphens", "Ucheckedstartdisplaymath", "Ucheckedstopdisplaymath", "break", "nobreak", "allowbreak", "goodbreak", "nospace", "nospacing", "dospacing", "naturalhbox", "naturalvbox", "naturalhpack", "naturalvpack", "frule" },
} \ No newline at end of file
diff --git a/context/data/scite/context/scite-context-data-context.properties b/context/data/scite/context/scite-context-data-context.properties
index 217dad123..b189b54be 100644
--- a/context/data/scite/context/scite-context-data-context.properties
+++ b/context/data/scite/context/scite-context-data-context.properties
@@ -64,7 +64,8 @@ righttoleftmark breakablethinspace nobreakspace nonbreakablespace narrownobreaks
zerowidthnobreakspace ideographicspace ideographichalffillspace twoperemspace threeperemspace \
fourperemspace fiveperemspace sixperemspace figurespace punctuationspace \
hairspace zerowidthspace zerowidthnonjoiner zerowidthjoiner zwnj \
-zwj optionalspace asciispacechar Ux eUx
+zwj optionalspace asciispacechar Ux eUx \
+Umathaccents
keywordclass.context.helpers=\
startsetups stopsetups startxmlsetups stopxmlsetups \
@@ -182,29 +183,30 @@ punctopenspacing punctclosespacing punctpunctspacing punctinnerspacing innerords
inneropspacing innerbinspacing innerrelspacing inneropenspacing innerclosespacing \
innerpunctspacing innerinnerspacing normalreqno startimath stopimath \
normalstartimath normalstopimath startdmath stopdmath normalstartdmath \
-normalstopdmath uncramped cramped triggermathstyle mathstylefont \
-mathsmallstylefont mathstyleface mathsmallstyleface mathstylecommand mathpalette \
-mathstylehbox mathstylevbox mathstylevcenter mathstylevcenteredhbox mathstylevcenteredvbox \
-mathtext setmathsmalltextbox setmathtextbox pushmathstyle popmathstyle \
-triggerdisplaystyle triggertextstyle triggerscriptstyle triggerscriptscriptstyle triggeruncrampedstyle \
-triggercrampedstyle triggersmallstyle triggeruncrampedsmallstyle triggercrampedsmallstyle triggerbigstyle \
-triggeruncrampedbigstyle triggercrampedbigstyle luaexpr expelsedoif expdoif \
-expdoifnot expdoifelsecommon expdoifcommonelse expdoifelseinset expdoifinsetelse \
-ctxdirectlua ctxlatelua ctxsprint ctxwrite ctxcommand \
-ctxdirectcommand ctxlatecommand ctxreport ctxlua luacode \
-lateluacode directluacode registerctxluafile ctxloadluafile luaversion \
-luamajorversion luaminorversion ctxluacode luaconditional luaexpanded \
-startluaparameterset stopluaparameterset luaparameterset definenamedlua obeylualines \
-obeyluatokens startluacode stopluacode startlua stoplua \
-startctxfunction stopctxfunction ctxfunction startctxfunctiondefinition stopctxfunctiondefinition \
-installctxfunction cldprocessfile cldloadfile cldcontext cldcommand \
-carryoverpar assumelongusagecs Umathbotaccent righttolefthbox lefttorighthbox \
-righttoleftvbox lefttorightvbox righttoleftvtop lefttorightvtop rtlhbox \
-ltrhbox rtlvbox ltrvbox rtlvtop ltrvtop \
-autodirhbox autodirvbox autodirvtop leftorrighthbox leftorrightvbox \
-leftorrightvtop lefttoright righttoleft synchronizelayoutdirection synchronizedisplaydirection \
-synchronizeinlinedirection lesshyphens morehyphens nohyphens dohyphens \
-Ucheckedstartdisplaymath Ucheckedstopdisplaymath break nobreak allowbreak \
-goodbreak nospace nospacing dospacing naturalhbox \
-naturalvbox naturalhpack naturalvpack frule
+normalstopdmath normalsuperscript normalsubscript uncramped cramped \
+triggermathstyle mathstylefont mathsmallstylefont mathstyleface mathsmallstyleface \
+mathstylecommand mathpalette mathstylehbox mathstylevbox mathstylevcenter \
+mathstylevcenteredhbox mathstylevcenteredvbox mathtext setmathsmalltextbox setmathtextbox \
+pushmathstyle popmathstyle triggerdisplaystyle triggertextstyle triggerscriptstyle \
+triggerscriptscriptstyle triggeruncrampedstyle triggercrampedstyle triggersmallstyle triggeruncrampedsmallstyle \
+triggercrampedsmallstyle triggerbigstyle triggeruncrampedbigstyle triggercrampedbigstyle luaexpr \
+expelsedoif expdoif expdoifnot expdoifelsecommon expdoifcommonelse \
+expdoifelseinset expdoifinsetelse ctxdirectlua ctxlatelua ctxsprint \
+ctxwrite ctxcommand ctxdirectcommand ctxlatecommand ctxreport \
+ctxlua luacode lateluacode directluacode registerctxluafile \
+ctxloadluafile luaversion luamajorversion luaminorversion ctxluacode \
+luaconditional luaexpanded startluaparameterset stopluaparameterset luaparameterset \
+definenamedlua obeylualines obeyluatokens startluacode stopluacode \
+startlua stoplua startctxfunction stopctxfunction ctxfunction \
+startctxfunctiondefinition stopctxfunctiondefinition installctxfunction cldprocessfile cldloadfile \
+cldcontext cldcommand carryoverpar assumelongusagecs Umathbotaccent \
+righttolefthbox lefttorighthbox righttoleftvbox lefttorightvbox righttoleftvtop \
+lefttorightvtop rtlhbox ltrhbox rtlvbox ltrvbox \
+rtlvtop ltrvtop autodirhbox autodirvbox autodirvtop \
+leftorrighthbox leftorrightvbox leftorrightvtop lefttoright righttoleft \
+synchronizelayoutdirection synchronizedisplaydirection synchronizeinlinedirection lesshyphens morehyphens \
+nohyphens dohyphens Ucheckedstartdisplaymath Ucheckedstopdisplaymath break \
+nobreak allowbreak goodbreak nospace nospacing \
+dospacing naturalhbox naturalvbox naturalhpack naturalvpack \
+frule
diff --git a/doc/context/sources/general/manuals/luatex/luatex-languages.tex b/doc/context/sources/general/manuals/luatex/luatex-languages.tex
index bfcfbd878..35ffd945e 100644
--- a/doc/context/sources/general/manuals/luatex/luatex-languages.tex
+++ b/doc/context/sources/general/manuals/luatex/luatex-languages.tex
@@ -353,8 +353,8 @@ Differences between \LUATEX\ and \TEX82 that are a direct result of that:
discretionaries (instead of \TEX82's empty discretionary).
\stopitem
\startitem
- The value of the two counters related to hyphenation, \type {hyphenpenalty}
- and \type {exhyphenpenalty}, are now stored in the discretionary nodes. This
+ The value of the two counters related to hyphenation, \type {\hyphenpenalty}
+ and \type {\exhyphenpenalty}, are now stored in the discretionary nodes. This
permits a local overload for explicit \type {\discretionary} commands. The
value current when the hyphenation pass is applied is used. When no callbacks
are used this is compatible with traditional \TEX. When you apply the \LUA\
diff --git a/doc/context/sources/general/manuals/luatex/luatex-libraries.tex b/doc/context/sources/general/manuals/luatex/luatex-libraries.tex
index 79fd0c44a..d877c9c47 100644
--- a/doc/context/sources/general/manuals/luatex/luatex-libraries.tex
+++ b/doc/context/sources/general/manuals/luatex/luatex-libraries.tex
@@ -5462,11 +5462,12 @@ local w, h, d = tex.getboxresourcedimensions(n)
You can split a box:
\starttyping
-local vlist = tex.splitbox(n,height)
+local vlist = tex.splitbox(n,height,mode)
\stoptyping
The remainder is kept in the original box and a packaged vlist is returned. This
-operation is comparable to the \type {\vsplit} operation.
+operation is comparable to the \type {\vsplit} operation. The mode can be \type
+{additional} or \type {exactly} and concerns the split off box.
\subsection{Math parameters}
diff --git a/scripts/context/lua/mtx-unicode.lua b/scripts/context/lua/mtx-unicode.lua
index b76cf675e..02dafda0c 100644
--- a/scripts/context/lua/mtx-unicode.lua
+++ b/scripts/context/lua/mtx-unicode.lua
@@ -75,6 +75,15 @@ local split_space_two = lpeg.splitat (" ")
local split_range_two = lpeg.splitat ("..")
local split_colon_table = lpeg.tsplitat(lpeg.P(" ")^0 * lpeg.P(";") * lpeg.P(" ")^0)
+
+local skipped = {
+ [0x002C6] = true, -- MODIFIER LETTER CIRCUMFLEX ACCENT
+ [0x002C7] = true, -- CARON
+}
+
+for i=0x0FE00,0x0FE0F do skipped[i] = true end -- variant selector
+for i=0xE0100,0xE01EF do skipped[i] = true end -- variant selector extension
+
function scripts.unicode.update()
local unicodedata = texttables.unicodedata
local bidimirroring = texttables.bidimirroring
@@ -85,234 +94,236 @@ function scripts.unicode.update()
local characterdata = characters.data
--
for unicode, ud in table.sortedpairs(unicodedata) do
- local char = rawget(characterdata,unicode)
- local description = ud[2] or formatters["UNICODE ENTRY %U"](unicode)
- if not find(description,"^<") then
- local ld = linebreak[unicode]
- local bd = bidimirroring[unicode]
- local ed = eastasianwidth[unicode]
- local category = lower(ud[3] or "?")
- local combining = tonumber(ud[4])
- local direction = lower(ud[5] or "l") -- we could omit 'l' being the default
- local linebreak = ld and lower(ld[2] or "xx")
- local specials = ud[6] or ""
- local cjkwd = ed and lower(ed[2] or "n")
- local mirror = bd and tonumber(bd[2],16)
- local arabic = nil
- if sparse and direction == "l" then
- direction = nil
- end
- if linebreak == "xx" then
- linebreak = nil
- end
- if specials == "" then
- specials = nil
- else
- specials = lpegmatch(split_space_table,specials) -- split(specials," ")
- if tonumber(specials[1],16) then
- for i=#specials,1,-1 do
- specials[i+1] = tonumber(specials[i],16)
- end
- specials[1] = "char"
- else
- specials[1] = lower(gsub(specials[1],"[<>]",""))
- for i=2,#specials do
- specials[i] = tonumber(specials[i],16)
- end
+ if not skipped[unicode] then
+ local char = rawget(characterdata,unicode)
+ local description = ud[2] or formatters["UNICODE ENTRY %U"](unicode)
+ if not find(description,"^<") then
+ local ld = linebreak[unicode]
+ local bd = bidimirroring[unicode]
+ local ed = eastasianwidth[unicode]
+ local category = lower(ud[3] or "?")
+ local combining = tonumber(ud[4])
+ local direction = lower(ud[5] or "l") -- we could omit 'l' being the default
+ local linebreak = ld and lower(ld[2] or "xx")
+ local specials = ud[6] or ""
+ local cjkwd = ed and lower(ed[2] or "n")
+ local mirror = bd and tonumber(bd[2],16)
+ local arabic = nil
+ if sparse and direction == "l" then
+ direction = nil
end
- end
- if cjkwd == "n" then
- cjkwd = nil
- end
- local comment
- if find(description,"MATHEMATICAL") then
- comment = "check math properties"
- end
- -- there are more than arabic
- local as = arabicshaping[unicode]
- if as then
- arabic = lower(as[3])
- end
- --
- if not combining or combining == 0 then
- combining = nil
- end
- if not char then
- report("%U : adding entry %a",unicode,description)
- char = {
- -- adobename = ,
- category = category,
- comment = comment,
- cjkwd = cjkwd,
- description = description,
- direction = direction,
- mirror = mirror,
- linebreak = linebreak,
- unicodeslot = unicode,
- specials = specials,
- arabic = arabic,
- combining = combining,
- }
- characterdata[unicode] = char
- else
- if direction then
- if char.direction ~= direction then
- report("%U : setting direction to %a, %a",unicode,direction,description)
- char.direction = direction
- end
- else
- if char.direction then
- report("%U : resetting direction from %a, %a",unicode,char.direction,description)
- char.direction = nil
- end
+ if linebreak == "xx" then
+ linebreak = nil
end
- if mirror then
- if mirror ~= char.mirror then
- report("%U : setting mirror to %a, %a",unicode,mirror,description)
- char.mirror = mirror
- end
+ if specials == "" then
+ specials = nil
else
- if char.mirror then
- report("%U : resetting mirror from %a, %a",unicode,char.mirror,description)
- char.mirror = nil
+ specials = lpegmatch(split_space_table,specials) -- split(specials," ")
+ if tonumber(specials[1],16) then
+ for i=#specials,1,-1 do
+ specials[i+1] = tonumber(specials[i],16)
+ end
+ specials[1] = "char"
+ else
+ specials[1] = lower(gsub(specials[1],"[<>]",""))
+ for i=2,#specials do
+ specials[i] = tonumber(specials[i],16)
+ end
end
end
- if linebreak then
- if linebreak ~= char.linebreak then
- report("%U : setting linebreak to %a, %a",unicode,linebreak,description)
- char.linebreak = linebreak
- end
- else
- if char.linebreak then
- report("%U : resetting linebreak from %a, %a",unicode,char.linebreak,description)
- char.linebreak = nil
- end
+ if cjkwd == "n" then
+ cjkwd = nil
end
- if cjkwd then
- if cjkwd ~= char.cjkwd then
- report("%U : setting cjkwd of to %a, %a",unicode,cjkwd,description)
- char.cjkwd = cjkwd
- end
+ local comment
+ if find(description,"MATHEMATICAL") then
+ comment = "check math properties"
+ end
+ -- there are more than arabic
+ local as = arabicshaping[unicode]
+ if as then
+ arabic = lower(as[3])
+ end
+ --
+ if not combining or combining == 0 then
+ combining = nil
+ end
+ if not char then
+ report("%U : adding entry %a",unicode,description)
+ char = {
+ -- adobename = ,
+ category = category,
+ comment = comment,
+ cjkwd = cjkwd,
+ description = description,
+ direction = direction,
+ mirror = mirror,
+ linebreak = linebreak,
+ unicodeslot = unicode,
+ specials = specials,
+ arabic = arabic,
+ combining = combining,
+ }
+ characterdata[unicode] = char
else
- if char.cjkwd then
- report("%U : resetting cjkwd of from %a, %a",unicode,char.cjkwd,description)
- char.cjkwd = nil
+ if direction then
+ if char.direction ~= direction then
+ report("%U : setting direction to %a, %a",unicode,direction,description)
+ char.direction = direction
+ end
+ else
+ if char.direction then
+ report("%U : resetting direction from %a, %a",unicode,char.direction,description)
+ char.direction = nil
+ end
end
- end
- if arabic then
- if arabic ~= char.arabic then
- report("%U : setting arabic to %a, %a",unicode,arabic,description)
- char.arabic = arabic
+ if mirror then
+ if mirror ~= char.mirror then
+ report("%U : setting mirror to %a, %a",unicode,mirror,description)
+ char.mirror = mirror
+ end
+ else
+ if char.mirror then
+ report("%U : resetting mirror from %a, %a",unicode,char.mirror,description)
+ char.mirror = nil
+ end
end
- else
- if char.arabic then
- report("%U : resetting arabic from %a, %a",unicode,char.arabic,description)
- char.arabic = nil
+ if linebreak then
+ if linebreak ~= char.linebreak then
+ report("%U : setting linebreak to %a, %a",unicode,linebreak,description)
+ char.linebreak = linebreak
+ end
+ else
+ if char.linebreak then
+ report("%U : resetting linebreak from %a, %a",unicode,char.linebreak,description)
+ char.linebreak = nil
+ end
end
- end
- if combining then
- if combining ~= char.combining then
- report("%U : setting combining to %a, %a",unicode,combining,description)
- char.combining = combining
+ if cjkwd then
+ if cjkwd ~= char.cjkwd then
+ report("%U : setting cjkwd of to %a, %a",unicode,cjkwd,description)
+ char.cjkwd = cjkwd
+ end
+ else
+ if char.cjkwd then
+ report("%U : resetting cjkwd of from %a, %a",unicode,char.cjkwd,description)
+ char.cjkwd = nil
+ end
end
- else
- if char.combining then
- report("%U : resetting combining from %a, %a",unicode,char.combining,description)
+ if arabic then
+ if arabic ~= char.arabic then
+ report("%U : setting arabic to %a, %a",unicode,arabic,description)
+ char.arabic = arabic
+ end
+ else
+ if char.arabic then
+ report("%U : resetting arabic from %a, %a",unicode,char.arabic,description)
+ char.arabic = nil
+ end
end
- end
- if specials then
- if not char.specials or not are_equal(specials,char.specials) then
- local t = { specials[1] } for i=2,#specials do t[i] = formatters["%U"](specials[i]) end
- report("%U : setting specials to % + t, %a",unicode,t,description)
- char.specials = specials
+ if combining then
+ if combining ~= char.combining then
+ report("%U : setting combining to %a, %a",unicode,combining,description)
+ char.combining = combining
+ end
+ else
+ if char.combining then
+ report("%U : resetting combining from %a, %a",unicode,char.combining,description)
+ end
end
- else
- local specials = char.specials
if specials then
- local t = { } for i=2,#specials do t[i] = formatters["%U"](specials[i]) end
- if false then
- char.comment = nil
- report("%U : resetting specials from % + t, %a",unicode,t,description)
- else
- local comment = char.comment
- if not comment then
- char.comment = "check special"
- elseif not find(comment,"check special") then
- char.comment = comment .. ", check special"
+ if not char.specials or not are_equal(specials,char.specials) then
+ local t = { specials[1] } for i=2,#specials do t[i] = formatters["%U"](specials[i]) end
+ report("%U : setting specials to % + t, %a",unicode,t,description)
+ char.specials = specials
+ end
+ else
+ local specials = char.specials
+ if specials then
+ local t = { } for i=2,#specials do t[i] = formatters["%U"](specials[i]) end
+ if false then
+ char.comment = nil
+ report("%U : resetting specials from % + t, %a",unicode,t,description)
+ else
+ local comment = char.comment
+ if not comment then
+ char.comment = "check special"
+ elseif not find(comment,"check special") then
+ char.comment = comment .. ", check special"
+ end
+ report("%U : check specials % + t, %a",unicode,t,description)
end
- report("%U : check specials % + t, %a",unicode,t,description)
end
end
end
- end
- --
- local visual = char.visual
- if not visual and find(description,"MATH") then
- if find(description,"BOLD ITALIC") then
- visual = "bi"
- elseif find(description,"ITALIC") then
- visual = "it"
- elseif find(description,"BOLD") then
- visual = "bf"
- end
- if visual then
- report("%U : setting visual to %a, %a",unicode,visual,description)
- char.visual = visual
+ --
+ local visual = char.visual
+ if not visual and find(description,"MATH") then
+ if find(description,"BOLD ITALIC") then
+ visual = "bi"
+ elseif find(description,"ITALIC") then
+ visual = "it"
+ elseif find(description,"BOLD") then
+ visual = "bf"
+ end
+ if visual then
+ report("%U : setting visual to %a, %a",unicode,visual,description)
+ char.visual = visual
+ end
end
- end
- -- mathextensible
- if category == "sm" or (category == "so" and char.mathclass) then
- local mathextensible = char.mathextensible
- if mathextensible then
- -- already done
- elseif find(description,"ABOVE") then
- -- skip
- elseif find(description,"ARROWHEAD") then
- -- skip
- elseif find(description,"HALFWIDTH") then
- -- skip
- elseif find(description,"ANGLE") then
- -- skip
- elseif find(description,"THROUGH") then
- -- skip
- elseif find(description,"ARROW") then
+ -- mathextensible
+ if category == "sm" or (category == "so" and char.mathclass) then
+ local mathextensible = char.mathextensible
+ if mathextensible then
+ -- already done
+ elseif find(description,"ABOVE") then
-- skip
- local u = find(description,"UP")
- local d = find(description,"DOWN")
- local l = find(description,"LEFT")
- local r = find(description,"RIGHT")
- if find(description,"ARROWHEAD") then
+ elseif find(description,"ARROWHEAD") then
-- skip
elseif find(description,"HALFWIDTH") then
-- skip
- elseif u and d then
- if l or r then
- mathextensible = 'm' -- mixed
- else
- mathextensible = 'v' -- vertical
- end
- elseif u then
- if l or r then
- mathextensible = 'm' -- mixed
- else
- mathextensible = "u" -- up
+ elseif find(description,"ANGLE") then
+ -- skip
+ elseif find(description,"THROUGH") then
+ -- skip
+ elseif find(description,"ARROW") then
+ -- skip
+ local u = find(description,"UP")
+ local d = find(description,"DOWN")
+ local l = find(description,"LEFT")
+ local r = find(description,"RIGHT")
+ if find(description,"ARROWHEAD") then
+ -- skip
+ elseif find(description,"HALFWIDTH") then
+ -- skip
+ elseif u and d then
+ if l or r then
+ mathextensible = 'm' -- mixed
+ else
+ mathextensible = 'v' -- vertical
+ end
+ elseif u then
+ if l or r then
+ mathextensible = 'm' -- mixed
+ else
+ mathextensible = "u" -- up
+ end
+ elseif d then
+ if l or r then
+ mathextensible = 'm' -- mixed
+ else
+ mathextensible = "d" -- down
+ end
+ elseif l and r then
+ mathextensible = "h" -- horizontal
+ elseif r then
+ mathextensible = "r" -- right
+ elseif l then
+ mathextensible = "l" -- left
end
- elseif d then
- if l or r then
- mathextensible = 'm' -- mixed
- else
- mathextensible = "d" -- down
+ if mathextensible then
+ report("%U : setting mathextensible to %a, %a",unicode,mathextensible,description)
+ char.mathextensible = mathextensible
end
- elseif l and r then
- mathextensible = "h" -- horizontal
- elseif r then
- mathextensible = "r" -- right
- elseif l then
- mathextensible = "l" -- left
- end
- if mathextensible then
- report("%U : setting mathextensible to %a, %a",unicode,mathextensible,description)
- char.mathextensible = mathextensible
end
end
end
diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua
index f40b79e74..8820f6b1a 100644
--- a/scripts/context/lua/mtxrun.lua
+++ b/scripts/context/lua/mtxrun.lua
@@ -12492,7 +12492,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-aux"] = package.loaded["lxml-aux"] or true
--- original size: 29785, stripped down to: 21310
+-- original size: 30339, stripped down to: 21584
if not modules then modules={} end modules ['lxml-aux']={
version=1.001,
@@ -12826,55 +12826,59 @@ local function include(xmldata,pattern,attribute,recursive,loaddata,level)
local ek=collected[c]
local name=nil
local ekdt=ek.dt
- local ekat=ek.at
- local ekrt=ek.__p__
- local epdt=ekrt.dt
- if not attribute or attribute=="" then
- name=(type(ekdt)=="table" and ekdt[1]) or ekdt
- end
- if not name then
- for a in gmatch(attribute or "href","([^|]+)") do
- name=ekat[a]
- if name then
- break
+ if ekdt then
+ local ekat=ek.at
+ local ekrt=ek.__p__
+ if ekrt then
+ local epdt=ekrt.dt
+ if not attribute or attribute=="" then
+ name=(type(ekdt)=="table" and ekdt[1]) or ekdt
end
- end
- end
- local data=nil
- if name and name~="" then
- data=loaddata(name) or ""
- if trace_inclusions then
- report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ")
- end
- end
- if not data or data=="" then
- epdt[ek.ni]=""
- elseif ekat["parse"]=="text" then
- epdt[ek.ni]=xml.escaped(data)
- else
- local xi=xmlinheritedconvert(data,xmldata)
- if not xi then
- epdt[ek.ni]=""
- else
- if recursive then
- include(xi,pattern,attribute,recursive,loaddata,level+1)
+ if not name then
+ for a in gmatch(attribute or "href","([^|]+)") do
+ name=ekat[a]
+ if name then
+ break
+ end
+ end
end
- local child=xml.body(xi)
- child.__p__=ekrt
- child.__f__=name
- epdt[ek.ni]=child
- local inclusions=xmldata.settings.inclusions
- if inclusions then
- inclusions[#inclusions+1]=name
- else
- xmldata.settings.inclusions={ name }
+ local data=nil
+ if name and name~="" then
+ data=loaddata(name) or ""
+ if trace_inclusions then
+ report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ")
+ end
end
- if child.er then
- local badinclusions=xmldata.settings.badinclusions
- if badinclusions then
- badinclusions[#badinclusions+1]=name
+ if not data or data=="" then
+ epdt[ek.ni]=""
+ elseif ekat["parse"]=="text" then
+ epdt[ek.ni]=xml.escaped(data)
+ else
+ local xi=xmlinheritedconvert(data,xmldata)
+ if not xi then
+ epdt[ek.ni]=""
else
- xmldata.settings.badinclusions={ name }
+ if recursive then
+ include(xi,pattern,attribute,recursive,loaddata,level+1)
+ end
+ local child=xml.body(xi)
+ child.__p__=ekrt
+ child.__f__=name
+ epdt[ek.ni]=child
+ local inclusions=xmldata.settings.inclusions
+ if inclusions then
+ inclusions[#inclusions+1]=name
+ else
+ xmldata.settings.inclusions={ name }
+ end
+ if child.er then
+ local badinclusions=xmldata.settings.badinclusions
+ if badinclusions then
+ badinclusions[#badinclusions+1]=name
+ else
+ xmldata.settings.badinclusions={ name }
+ end
+ end
end
end
end
@@ -18714,8 +18718,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 795474
--- stripped bytes : 288398
+-- original bytes : 796028
+-- stripped bytes : 288678
-- end library merge
diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua
index f40b79e74..8820f6b1a 100644
--- a/scripts/context/stubs/mswin/mtxrun.lua
+++ b/scripts/context/stubs/mswin/mtxrun.lua
@@ -12492,7 +12492,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-aux"] = package.loaded["lxml-aux"] or true
--- original size: 29785, stripped down to: 21310
+-- original size: 30339, stripped down to: 21584
if not modules then modules={} end modules ['lxml-aux']={
version=1.001,
@@ -12826,55 +12826,59 @@ local function include(xmldata,pattern,attribute,recursive,loaddata,level)
local ek=collected[c]
local name=nil
local ekdt=ek.dt
- local ekat=ek.at
- local ekrt=ek.__p__
- local epdt=ekrt.dt
- if not attribute or attribute=="" then
- name=(type(ekdt)=="table" and ekdt[1]) or ekdt
- end
- if not name then
- for a in gmatch(attribute or "href","([^|]+)") do
- name=ekat[a]
- if name then
- break
+ if ekdt then
+ local ekat=ek.at
+ local ekrt=ek.__p__
+ if ekrt then
+ local epdt=ekrt.dt
+ if not attribute or attribute=="" then
+ name=(type(ekdt)=="table" and ekdt[1]) or ekdt
end
- end
- end
- local data=nil
- if name and name~="" then
- data=loaddata(name) or ""
- if trace_inclusions then
- report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ")
- end
- end
- if not data or data=="" then
- epdt[ek.ni]=""
- elseif ekat["parse"]=="text" then
- epdt[ek.ni]=xml.escaped(data)
- else
- local xi=xmlinheritedconvert(data,xmldata)
- if not xi then
- epdt[ek.ni]=""
- else
- if recursive then
- include(xi,pattern,attribute,recursive,loaddata,level+1)
+ if not name then
+ for a in gmatch(attribute or "href","([^|]+)") do
+ name=ekat[a]
+ if name then
+ break
+ end
+ end
end
- local child=xml.body(xi)
- child.__p__=ekrt
- child.__f__=name
- epdt[ek.ni]=child
- local inclusions=xmldata.settings.inclusions
- if inclusions then
- inclusions[#inclusions+1]=name
- else
- xmldata.settings.inclusions={ name }
+ local data=nil
+ if name and name~="" then
+ data=loaddata(name) or ""
+ if trace_inclusions then
+ report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ")
+ end
end
- if child.er then
- local badinclusions=xmldata.settings.badinclusions
- if badinclusions then
- badinclusions[#badinclusions+1]=name
+ if not data or data=="" then
+ epdt[ek.ni]=""
+ elseif ekat["parse"]=="text" then
+ epdt[ek.ni]=xml.escaped(data)
+ else
+ local xi=xmlinheritedconvert(data,xmldata)
+ if not xi then
+ epdt[ek.ni]=""
else
- xmldata.settings.badinclusions={ name }
+ if recursive then
+ include(xi,pattern,attribute,recursive,loaddata,level+1)
+ end
+ local child=xml.body(xi)
+ child.__p__=ekrt
+ child.__f__=name
+ epdt[ek.ni]=child
+ local inclusions=xmldata.settings.inclusions
+ if inclusions then
+ inclusions[#inclusions+1]=name
+ else
+ xmldata.settings.inclusions={ name }
+ end
+ if child.er then
+ local badinclusions=xmldata.settings.badinclusions
+ if badinclusions then
+ badinclusions[#badinclusions+1]=name
+ else
+ xmldata.settings.badinclusions={ name }
+ end
+ end
end
end
end
@@ -18714,8 +18718,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 795474
--- stripped bytes : 288398
+-- original bytes : 796028
+-- stripped bytes : 288678
-- end library merge
diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun
index f40b79e74..8820f6b1a 100644
--- a/scripts/context/stubs/unix/mtxrun
+++ b/scripts/context/stubs/unix/mtxrun
@@ -12492,7 +12492,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-aux"] = package.loaded["lxml-aux"] or true
--- original size: 29785, stripped down to: 21310
+-- original size: 30339, stripped down to: 21584
if not modules then modules={} end modules ['lxml-aux']={
version=1.001,
@@ -12826,55 +12826,59 @@ local function include(xmldata,pattern,attribute,recursive,loaddata,level)
local ek=collected[c]
local name=nil
local ekdt=ek.dt
- local ekat=ek.at
- local ekrt=ek.__p__
- local epdt=ekrt.dt
- if not attribute or attribute=="" then
- name=(type(ekdt)=="table" and ekdt[1]) or ekdt
- end
- if not name then
- for a in gmatch(attribute or "href","([^|]+)") do
- name=ekat[a]
- if name then
- break
+ if ekdt then
+ local ekat=ek.at
+ local ekrt=ek.__p__
+ if ekrt then
+ local epdt=ekrt.dt
+ if not attribute or attribute=="" then
+ name=(type(ekdt)=="table" and ekdt[1]) or ekdt
end
- end
- end
- local data=nil
- if name and name~="" then
- data=loaddata(name) or ""
- if trace_inclusions then
- report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ")
- end
- end
- if not data or data=="" then
- epdt[ek.ni]=""
- elseif ekat["parse"]=="text" then
- epdt[ek.ni]=xml.escaped(data)
- else
- local xi=xmlinheritedconvert(data,xmldata)
- if not xi then
- epdt[ek.ni]=""
- else
- if recursive then
- include(xi,pattern,attribute,recursive,loaddata,level+1)
+ if not name then
+ for a in gmatch(attribute or "href","([^|]+)") do
+ name=ekat[a]
+ if name then
+ break
+ end
+ end
end
- local child=xml.body(xi)
- child.__p__=ekrt
- child.__f__=name
- epdt[ek.ni]=child
- local inclusions=xmldata.settings.inclusions
- if inclusions then
- inclusions[#inclusions+1]=name
- else
- xmldata.settings.inclusions={ name }
+ local data=nil
+ if name and name~="" then
+ data=loaddata(name) or ""
+ if trace_inclusions then
+ report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ")
+ end
end
- if child.er then
- local badinclusions=xmldata.settings.badinclusions
- if badinclusions then
- badinclusions[#badinclusions+1]=name
+ if not data or data=="" then
+ epdt[ek.ni]=""
+ elseif ekat["parse"]=="text" then
+ epdt[ek.ni]=xml.escaped(data)
+ else
+ local xi=xmlinheritedconvert(data,xmldata)
+ if not xi then
+ epdt[ek.ni]=""
else
- xmldata.settings.badinclusions={ name }
+ if recursive then
+ include(xi,pattern,attribute,recursive,loaddata,level+1)
+ end
+ local child=xml.body(xi)
+ child.__p__=ekrt
+ child.__f__=name
+ epdt[ek.ni]=child
+ local inclusions=xmldata.settings.inclusions
+ if inclusions then
+ inclusions[#inclusions+1]=name
+ else
+ xmldata.settings.inclusions={ name }
+ end
+ if child.er then
+ local badinclusions=xmldata.settings.badinclusions
+ if badinclusions then
+ badinclusions[#badinclusions+1]=name
+ else
+ xmldata.settings.badinclusions={ name }
+ end
+ end
end
end
end
@@ -18714,8 +18718,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 795474
--- stripped bytes : 288398
+-- original bytes : 796028
+-- stripped bytes : 288678
-- end library merge
diff --git a/scripts/context/stubs/win64/mtxrun.lua b/scripts/context/stubs/win64/mtxrun.lua
index f40b79e74..8820f6b1a 100644
--- a/scripts/context/stubs/win64/mtxrun.lua
+++ b/scripts/context/stubs/win64/mtxrun.lua
@@ -12492,7 +12492,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-aux"] = package.loaded["lxml-aux"] or true
--- original size: 29785, stripped down to: 21310
+-- original size: 30339, stripped down to: 21584
if not modules then modules={} end modules ['lxml-aux']={
version=1.001,
@@ -12826,55 +12826,59 @@ local function include(xmldata,pattern,attribute,recursive,loaddata,level)
local ek=collected[c]
local name=nil
local ekdt=ek.dt
- local ekat=ek.at
- local ekrt=ek.__p__
- local epdt=ekrt.dt
- if not attribute or attribute=="" then
- name=(type(ekdt)=="table" and ekdt[1]) or ekdt
- end
- if not name then
- for a in gmatch(attribute or "href","([^|]+)") do
- name=ekat[a]
- if name then
- break
+ if ekdt then
+ local ekat=ek.at
+ local ekrt=ek.__p__
+ if ekrt then
+ local epdt=ekrt.dt
+ if not attribute or attribute=="" then
+ name=(type(ekdt)=="table" and ekdt[1]) or ekdt
end
- end
- end
- local data=nil
- if name and name~="" then
- data=loaddata(name) or ""
- if trace_inclusions then
- report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ")
- end
- end
- if not data or data=="" then
- epdt[ek.ni]=""
- elseif ekat["parse"]=="text" then
- epdt[ek.ni]=xml.escaped(data)
- else
- local xi=xmlinheritedconvert(data,xmldata)
- if not xi then
- epdt[ek.ni]=""
- else
- if recursive then
- include(xi,pattern,attribute,recursive,loaddata,level+1)
+ if not name then
+ for a in gmatch(attribute or "href","([^|]+)") do
+ name=ekat[a]
+ if name then
+ break
+ end
+ end
end
- local child=xml.body(xi)
- child.__p__=ekrt
- child.__f__=name
- epdt[ek.ni]=child
- local inclusions=xmldata.settings.inclusions
- if inclusions then
- inclusions[#inclusions+1]=name
- else
- xmldata.settings.inclusions={ name }
+ local data=nil
+ if name and name~="" then
+ data=loaddata(name) or ""
+ if trace_inclusions then
+ report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ")
+ end
end
- if child.er then
- local badinclusions=xmldata.settings.badinclusions
- if badinclusions then
- badinclusions[#badinclusions+1]=name
+ if not data or data=="" then
+ epdt[ek.ni]=""
+ elseif ekat["parse"]=="text" then
+ epdt[ek.ni]=xml.escaped(data)
+ else
+ local xi=xmlinheritedconvert(data,xmldata)
+ if not xi then
+ epdt[ek.ni]=""
else
- xmldata.settings.badinclusions={ name }
+ if recursive then
+ include(xi,pattern,attribute,recursive,loaddata,level+1)
+ end
+ local child=xml.body(xi)
+ child.__p__=ekrt
+ child.__f__=name
+ epdt[ek.ni]=child
+ local inclusions=xmldata.settings.inclusions
+ if inclusions then
+ inclusions[#inclusions+1]=name
+ else
+ xmldata.settings.inclusions={ name }
+ end
+ if child.er then
+ local badinclusions=xmldata.settings.badinclusions
+ if badinclusions then
+ badinclusions[#badinclusions+1]=name
+ else
+ xmldata.settings.badinclusions={ name }
+ end
+ end
end
end
end
@@ -18714,8 +18718,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 795474
--- stripped bytes : 288398
+-- original bytes : 796028
+-- stripped bytes : 288678
-- end library merge
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index 073cf0ee3..3da2e7b89 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/mkii/mult-de.mkii b/tex/context/base/mkii/mult-de.mkii
index 07408b328..40dbeb227 100644
--- a/tex/context/base/mkii/mult-de.mkii
+++ b/tex/context/base/mkii/mult-de.mkii
@@ -167,6 +167,7 @@
\setinterfacevariable{down}{down}
\setinterfacevariable{each}{jede}
\setinterfacevariable{edge}{kante}
+\setinterfacevariable{eight}{acht}
\setinterfacevariable{embed}{embed}
\setinterfacevariable{empty}{leer}
\setinterfacevariable{end}{end}
@@ -354,6 +355,7 @@
\setinterfacevariable{nextoddpage}{naechsteungeradeseite}
\setinterfacevariable{nextpage}{folgendeseite}
\setinterfacevariable{nextsubpage}{folgendeunterseite}
+\setinterfacevariable{nine}{neun}
\setinterfacevariable{no}{nein}
\setinterfacevariable{nocheck}{nocheck}
\setinterfacevariable{nodepth}{nodepth}
@@ -470,6 +472,7 @@
\setinterfacevariable{serifnormal}{serifnormal}
\setinterfacevariable{serried}{kleinerabstand}
\setinterfacevariable{setups}{setups}
+\setinterfacevariable{seven}{sieben}
\setinterfacevariable{sheet}{sheet}
\setinterfacevariable{shiftdown}{shiftdown}
\setinterfacevariable{shiftup}{shiftup}
@@ -477,6 +480,7 @@
\setinterfacevariable{simplefonts}{simplefonts}
\setinterfacevariable{simplelist}{simplelist}
\setinterfacevariable{singlesided}{einzelseitig}
+\setinterfacevariable{six}{sechs}
\setinterfacevariable{slanted}{geneigt}
\setinterfacevariable{slantedbold}{geneigtfett}
\setinterfacevariable{small}{klein}
diff --git a/tex/context/base/mkii/mult-en.mkii b/tex/context/base/mkii/mult-en.mkii
index 79b086342..e338d1b32 100644
--- a/tex/context/base/mkii/mult-en.mkii
+++ b/tex/context/base/mkii/mult-en.mkii
@@ -167,6 +167,7 @@
\setinterfacevariable{down}{down}
\setinterfacevariable{each}{each}
\setinterfacevariable{edge}{edge}
+\setinterfacevariable{eight}{eight}
\setinterfacevariable{embed}{embed}
\setinterfacevariable{empty}{empty}
\setinterfacevariable{end}{end}
@@ -354,6 +355,7 @@
\setinterfacevariable{nextoddpage}{nextoddpage}
\setinterfacevariable{nextpage}{nextpage}
\setinterfacevariable{nextsubpage}{nextsubpage}
+\setinterfacevariable{nine}{nine}
\setinterfacevariable{no}{no}
\setinterfacevariable{nocheck}{nocheck}
\setinterfacevariable{nodepth}{nodepth}
@@ -470,6 +472,7 @@
\setinterfacevariable{serifnormal}{serifnormal}
\setinterfacevariable{serried}{serried}
\setinterfacevariable{setups}{setups}
+\setinterfacevariable{seven}{seven}
\setinterfacevariable{sheet}{sheet}
\setinterfacevariable{shiftdown}{shiftdown}
\setinterfacevariable{shiftup}{shiftup}
@@ -477,6 +480,7 @@
\setinterfacevariable{simplefonts}{simplefonts}
\setinterfacevariable{simplelist}{simplelist}
\setinterfacevariable{singlesided}{singlesided}
+\setinterfacevariable{six}{six}
\setinterfacevariable{slanted}{slanted}
\setinterfacevariable{slantedbold}{slantedbold}
\setinterfacevariable{small}{small}
diff --git a/tex/context/base/mkii/mult-fr.mkii b/tex/context/base/mkii/mult-fr.mkii
index f4763a12d..fca13870e 100644
--- a/tex/context/base/mkii/mult-fr.mkii
+++ b/tex/context/base/mkii/mult-fr.mkii
@@ -167,6 +167,7 @@
\setinterfacevariable{down}{down}
\setinterfacevariable{each}{chaque}
\setinterfacevariable{edge}{bord}
+\setinterfacevariable{eight}{eight}
\setinterfacevariable{embed}{embed}
\setinterfacevariable{empty}{vide}
\setinterfacevariable{end}{end}
@@ -354,6 +355,7 @@
\setinterfacevariable{nextoddpage}{pageimpairesuivante}
\setinterfacevariable{nextpage}{pagesuivante}
\setinterfacevariable{nextsubpage}{souspagesuivante}
+\setinterfacevariable{nine}{nine}
\setinterfacevariable{no}{non}
\setinterfacevariable{nocheck}{nonverifie}
\setinterfacevariable{nodepth}{nodepth}
@@ -470,6 +472,7 @@
\setinterfacevariable{serifnormal}{serifnormal}
\setinterfacevariable{serried}{serried}
\setinterfacevariable{setups}{setups}
+\setinterfacevariable{seven}{seven}
\setinterfacevariable{sheet}{sheet}
\setinterfacevariable{shiftdown}{shiftdown}
\setinterfacevariable{shiftup}{shiftup}
@@ -477,6 +480,7 @@
\setinterfacevariable{simplefonts}{simplefonts}
\setinterfacevariable{simplelist}{simplelist}
\setinterfacevariable{singlesided}{recto}
+\setinterfacevariable{six}{six}
\setinterfacevariable{slanted}{incline}
\setinterfacevariable{slantedbold}{grasincline}
\setinterfacevariable{small}{petit}
diff --git a/tex/context/base/mkii/mult-it.mkii b/tex/context/base/mkii/mult-it.mkii
index e456eaf78..80efe3b52 100644
--- a/tex/context/base/mkii/mult-it.mkii
+++ b/tex/context/base/mkii/mult-it.mkii
@@ -167,6 +167,7 @@
\setinterfacevariable{down}{down}
\setinterfacevariable{each}{ogni}
\setinterfacevariable{edge}{bordo}
+\setinterfacevariable{eight}{eight}
\setinterfacevariable{embed}{embed}
\setinterfacevariable{empty}{vuoto}
\setinterfacevariable{end}{end}
@@ -354,6 +355,7 @@
\setinterfacevariable{nextoddpage}{paginadisparisuccessiva}
\setinterfacevariable{nextpage}{paginasuccessiva}
\setinterfacevariable{nextsubpage}{sottopaginasuccessiva}
+\setinterfacevariable{nine}{nine}
\setinterfacevariable{no}{no}
\setinterfacevariable{nocheck}{nocheck}
\setinterfacevariable{nodepth}{nodepth}
@@ -470,6 +472,7 @@
\setinterfacevariable{serifnormal}{serifnormal}
\setinterfacevariable{serried}{vicino}
\setinterfacevariable{setups}{setups}
+\setinterfacevariable{seven}{seven}
\setinterfacevariable{sheet}{sheet}
\setinterfacevariable{shiftdown}{shiftdown}
\setinterfacevariable{shiftup}{shiftup}
@@ -477,6 +480,7 @@
\setinterfacevariable{simplefonts}{simplefonts}
\setinterfacevariable{simplelist}{simplelist}
\setinterfacevariable{singlesided}{facciasingola}
+\setinterfacevariable{six}{six}
\setinterfacevariable{slanted}{inclinato}
\setinterfacevariable{slantedbold}{inclinatograssetto}
\setinterfacevariable{small}{piccolo}
diff --git a/tex/context/base/mkii/mult-nl.mkii b/tex/context/base/mkii/mult-nl.mkii
index 432d453ed..2c079a051 100644
--- a/tex/context/base/mkii/mult-nl.mkii
+++ b/tex/context/base/mkii/mult-nl.mkii
@@ -167,6 +167,7 @@
\setinterfacevariable{down}{omlaag}
\setinterfacevariable{each}{elk}
\setinterfacevariable{edge}{rand}
+\setinterfacevariable{eight}{acht}
\setinterfacevariable{embed}{sluitin}
\setinterfacevariable{empty}{leeg}
\setinterfacevariable{end}{eind}
@@ -354,6 +355,7 @@
\setinterfacevariable{nextoddpage}{volgendeonevenpagina}
\setinterfacevariable{nextpage}{volgendepagina}
\setinterfacevariable{nextsubpage}{volgendesubpagina}
+\setinterfacevariable{nine}{negen}
\setinterfacevariable{no}{nee}
\setinterfacevariable{nocheck}{geencontrole}
\setinterfacevariable{nodepth}{nodepth}
@@ -470,6 +472,7 @@
\setinterfacevariable{serifnormal}{serifnormal}
\setinterfacevariable{serried}{aanelkaar}
\setinterfacevariable{setups}{setups}
+\setinterfacevariable{seven}{zeven}
\setinterfacevariable{sheet}{sheet}
\setinterfacevariable{shiftdown}{shiftdown}
\setinterfacevariable{shiftup}{shiftup}
@@ -477,6 +480,7 @@
\setinterfacevariable{simplefonts}{simplefonts}
\setinterfacevariable{simplelist}{simplelist}
\setinterfacevariable{singlesided}{enkelzijdig}
+\setinterfacevariable{six}{zes}
\setinterfacevariable{slanted}{schuin}
\setinterfacevariable{slantedbold}{schuinvet}
\setinterfacevariable{small}{klein}
diff --git a/tex/context/base/mkii/mult-pe.mkii b/tex/context/base/mkii/mult-pe.mkii
index c6f7e5b3c..0b84cf465 100644
--- a/tex/context/base/mkii/mult-pe.mkii
+++ b/tex/context/base/mkii/mult-pe.mkii
@@ -167,6 +167,7 @@
\setinterfacevariable{down}{down}
\setinterfacevariable{each}{هر}
\setinterfacevariable{edge}{لبه}
+\setinterfacevariable{eight}{eight}
\setinterfacevariable{embed}{embed}
\setinterfacevariable{empty}{تهی}
\setinterfacevariable{end}{end}
@@ -354,6 +355,7 @@
\setinterfacevariable{nextoddpage}{صفحه‌فردبعدی}
\setinterfacevariable{nextpage}{صفحه‌بعدی}
\setinterfacevariable{nextsubpage}{زیرصفحه‌بعدی}
+\setinterfacevariable{nine}{nine}
\setinterfacevariable{no}{نه}
\setinterfacevariable{nocheck}{بدون‌بررسی}
\setinterfacevariable{nodepth}{nodepth}
@@ -470,6 +472,7 @@
\setinterfacevariable{serifnormal}{serifnormal}
\setinterfacevariable{serried}{تنگ‌هم}
\setinterfacevariable{setups}{setups}
+\setinterfacevariable{seven}{seven}
\setinterfacevariable{sheet}{ورقه}
\setinterfacevariable{shiftdown}{shiftdown}
\setinterfacevariable{shiftup}{shiftup}
@@ -477,6 +480,7 @@
\setinterfacevariable{simplefonts}{simplefonts}
\setinterfacevariable{simplelist}{simplelist}
\setinterfacevariable{singlesided}{یک‌رو}
+\setinterfacevariable{six}{six}
\setinterfacevariable{slanted}{خوابیده}
\setinterfacevariable{slantedbold}{مشکی‌خوابیده}
\setinterfacevariable{small}{کوچک}
diff --git a/tex/context/base/mkii/mult-ro.mkii b/tex/context/base/mkii/mult-ro.mkii
index 668a9c8e4..fa3e0f1af 100644
--- a/tex/context/base/mkii/mult-ro.mkii
+++ b/tex/context/base/mkii/mult-ro.mkii
@@ -167,6 +167,7 @@
\setinterfacevariable{down}{down}
\setinterfacevariable{each}{fiecare}
\setinterfacevariable{edge}{bordura}
+\setinterfacevariable{eight}{eight}
\setinterfacevariable{embed}{embed}
\setinterfacevariable{empty}{gol}
\setinterfacevariable{end}{end}
@@ -354,6 +355,7 @@
\setinterfacevariable{nextoddpage}{paginaimparaurmatoarea}
\setinterfacevariable{nextpage}{paginaurmatoare}
\setinterfacevariable{nextsubpage}{urmatoareasubpagina}
+\setinterfacevariable{nine}{nine}
\setinterfacevariable{no}{nu}
\setinterfacevariable{nocheck}{nocheck}
\setinterfacevariable{nodepth}{nodepth}
@@ -470,6 +472,7 @@
\setinterfacevariable{serifnormal}{serifnormal}
\setinterfacevariable{serried}{serried}
\setinterfacevariable{setups}{setups}
+\setinterfacevariable{seven}{seven}
\setinterfacevariable{sheet}{sheet}
\setinterfacevariable{shiftdown}{shiftdown}
\setinterfacevariable{shiftup}{shiftup}
@@ -477,6 +480,7 @@
\setinterfacevariable{simplefonts}{simplefonts}
\setinterfacevariable{simplelist}{simplelist}
\setinterfacevariable{singlesided}{ofata}
+\setinterfacevariable{six}{six}
\setinterfacevariable{slanted}{inclinat}
\setinterfacevariable{slantedbold}{inclinataldin}
\setinterfacevariable{small}{mic}
diff --git a/tex/context/base/mkiv/char-cjk.lua b/tex/context/base/mkiv/char-cjk.lua
index 42fb49555..9d6b28a60 100644
--- a/tex/context/base/mkiv/char-cjk.lua
+++ b/tex/context/base/mkiv/char-cjk.lua
@@ -261,7 +261,7 @@ function characters.remap_hangul_syllabe(t)
end
end
-local hangul_syllable_extender = function(k,v)
+local hangul_syllable_extender = function(k)
local t = {
unicodeslot = k,
}
@@ -270,6 +270,7 @@ local hangul_syllable_extender = function(k,v)
end
local hangul_syllable_range = {
+ name = "hangul",
first = 0xAC00,
last = 0xD7A3,
extender = hangul_syllable_extender,
@@ -1207,7 +1208,7 @@ local variants = setmetatableindex(function(t,k)
return kv
end)
-local cjk_ideograph_extender = function(k,v)
+local cjk_ideograph_extender = function(k)
local t = {
-- shcode = shcode,
unicodeslot = k,
@@ -1218,6 +1219,7 @@ local cjk_ideograph_extender = function(k,v)
end
local cjk_ideograph_range = {
+ name = "cjk ideograph",
first = 0x4E00,
last = 0x9FBB,
extender = cjk_ideograph_extender,
@@ -1235,7 +1237,7 @@ local cjk_ideograph_extension_a_metatable = {
}
}
-local cjk_ideograph_extension_a_extender = function(k,v)
+local cjk_ideograph_extension_a_extender = function(k)
local t = {
-- shcode = shcode,
unicodeslot = k,
@@ -1246,6 +1248,7 @@ local cjk_ideograph_extension_a_extender = function(k,v)
end
local cjk_ideograph_extension_a_range = {
+ name = "cjk ideograph extension a",
first = 0x3400,
last = 0x4DB5,
extender = cjk_ideograph_extension_a_extender,
@@ -1263,7 +1266,7 @@ local cjk_ideograph_extension_b_metatable = {
}
}
-local cjk_ideograph_extension_b_extender = function(k,v)
+local cjk_ideograph_extension_b_extender = function(k)
local t = {
-- shcode = shcode,
unicodeslot = k,
@@ -1274,6 +1277,7 @@ local cjk_ideograph_extension_b_extender = function(k,v)
end
local cjk_ideograph_extension_b_range = {
+ name = "cjk ideograph extension b",
first = 0x20000,
last = 0x2A6D6,
extender = cjk_ideograph_extension_b_extender,
diff --git a/tex/context/base/mkiv/char-def.lua b/tex/context/base/mkiv/char-def.lua
index 26c9c9e8c..0ca2fb18c 100644
--- a/tex/context/base/mkiv/char-def.lua
+++ b/tex/context/base/mkiv/char-def.lua
@@ -131587,134 +131587,6 @@ characters.data={
linebreak="al",
unicodeslot=0xFDFD,
},
- [0xFE00]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0001",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE00,
- },
- [0xFE01]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0002",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE01,
- },
- [0xFE02]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0003",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE02,
- },
- [0xFE03]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0004",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE03,
- },
- [0xFE04]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0005",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE04,
- },
- [0xFE05]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0006",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE05,
- },
- [0xFE06]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0007",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE06,
- },
- [0xFE07]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0008",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE07,
- },
- [0xFE08]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0009",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE08,
- },
- [0xFE09]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x000A",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE09,
- },
- [0xFE0A]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x000B",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE0A,
- },
- [0xFE0B]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x000C",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE0B,
- },
- [0xFE0C]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x000D",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE0C,
- },
- [0xFE0D]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x000E",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE0D,
- },
- [0xFE0E]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x000F",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE0E,
- },
- [0xFE0F]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0010",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xFE0F,
- },
[0xFE10]={
category="po",
cjkwd="w",
@@ -227177,1924 +227049,4 @@ characters.data={
linebreak="cm",
unicodeslot=0xE007F,
},
- [0xE0100]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0011",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0100,
- },
- [0xE0101]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0012",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0101,
- },
- [0xE0102]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0013",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0102,
- },
- [0xE0103]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0014",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0103,
- },
- [0xE0104]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0015",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0104,
- },
- [0xE0105]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0016",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0105,
- },
- [0xE0106]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0017",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0106,
- },
- [0xE0107]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0018",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0107,
- },
- [0xE0108]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0019",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0108,
- },
- [0xE0109]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x001A",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0109,
- },
- [0xE010A]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x001B",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE010A,
- },
- [0xE010B]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x001C",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE010B,
- },
- [0xE010C]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x001D",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE010C,
- },
- [0xE010D]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x001E",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE010D,
- },
- [0xE010E]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x001F",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE010E,
- },
- [0xE010F]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0020",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE010F,
- },
- [0xE0110]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0021",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0110,
- },
- [0xE0111]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0022",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0111,
- },
- [0xE0112]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0023",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0112,
- },
- [0xE0113]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0024",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0113,
- },
- [0xE0114]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0025",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0114,
- },
- [0xE0115]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0026",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0115,
- },
- [0xE0116]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0027",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0116,
- },
- [0xE0117]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0028",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0117,
- },
- [0xE0118]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0029",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0118,
- },
- [0xE0119]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x002A",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0119,
- },
- [0xE011A]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x002B",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE011A,
- },
- [0xE011B]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x002C",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE011B,
- },
- [0xE011C]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x002D",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE011C,
- },
- [0xE011D]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x002E",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE011D,
- },
- [0xE011E]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x002F",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE011E,
- },
- [0xE011F]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0030",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE011F,
- },
- [0xE0120]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0031",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0120,
- },
- [0xE0121]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0032",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0121,
- },
- [0xE0122]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0033",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0122,
- },
- [0xE0123]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0034",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0123,
- },
- [0xE0124]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0035",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0124,
- },
- [0xE0125]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0036",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0125,
- },
- [0xE0126]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0037",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0126,
- },
- [0xE0127]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0038",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0127,
- },
- [0xE0128]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0039",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0128,
- },
- [0xE0129]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x003A",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0129,
- },
- [0xE012A]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x003B",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE012A,
- },
- [0xE012B]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x003C",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE012B,
- },
- [0xE012C]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x003D",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE012C,
- },
- [0xE012D]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x003E",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE012D,
- },
- [0xE012E]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x003F",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE012E,
- },
- [0xE012F]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0040",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE012F,
- },
- [0xE0130]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0041",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0130,
- },
- [0xE0131]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0042",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0131,
- },
- [0xE0132]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0043",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0132,
- },
- [0xE0133]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0044",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0133,
- },
- [0xE0134]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0045",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0134,
- },
- [0xE0135]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0046",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0135,
- },
- [0xE0136]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0047",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0136,
- },
- [0xE0137]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0048",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0137,
- },
- [0xE0138]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0049",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0138,
- },
- [0xE0139]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x004A",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0139,
- },
- [0xE013A]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x004B",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE013A,
- },
- [0xE013B]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x004C",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE013B,
- },
- [0xE013C]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x004D",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE013C,
- },
- [0xE013D]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x004E",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE013D,
- },
- [0xE013E]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x004F",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE013E,
- },
- [0xE013F]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0050",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE013F,
- },
- [0xE0140]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0051",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0140,
- },
- [0xE0141]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0052",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0141,
- },
- [0xE0142]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0053",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0142,
- },
- [0xE0143]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0054",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0143,
- },
- [0xE0144]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0055",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0144,
- },
- [0xE0145]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0056",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0145,
- },
- [0xE0146]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0057",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0146,
- },
- [0xE0147]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0058",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0147,
- },
- [0xE0148]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0059",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0148,
- },
- [0xE0149]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x005A",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0149,
- },
- [0xE014A]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x005B",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE014A,
- },
- [0xE014B]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x005C",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE014B,
- },
- [0xE014C]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x005D",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE014C,
- },
- [0xE014D]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x005E",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE014D,
- },
- [0xE014E]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x005F",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE014E,
- },
- [0xE014F]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0060",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE014F,
- },
- [0xE0150]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0061",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0150,
- },
- [0xE0151]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0062",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0151,
- },
- [0xE0152]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0063",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0152,
- },
- [0xE0153]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0064",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0153,
- },
- [0xE0154]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0065",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0154,
- },
- [0xE0155]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0066",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0155,
- },
- [0xE0156]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0067",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0156,
- },
- [0xE0157]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0068",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0157,
- },
- [0xE0158]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0069",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0158,
- },
- [0xE0159]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x006A",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0159,
- },
- [0xE015A]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x006B",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE015A,
- },
- [0xE015B]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x006C",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE015B,
- },
- [0xE015C]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x006D",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE015C,
- },
- [0xE015D]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x006E",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE015D,
- },
- [0xE015E]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x006F",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE015E,
- },
- [0xE015F]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0070",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE015F,
- },
- [0xE0160]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0071",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0160,
- },
- [0xE0161]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0072",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0161,
- },
- [0xE0162]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0073",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0162,
- },
- [0xE0163]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0074",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0163,
- },
- [0xE0164]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0075",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0164,
- },
- [0xE0165]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0076",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0165,
- },
- [0xE0166]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0077",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0166,
- },
- [0xE0167]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0078",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0167,
- },
- [0xE0168]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0079",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0168,
- },
- [0xE0169]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x007A",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0169,
- },
- [0xE016A]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x007B",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE016A,
- },
- [0xE016B]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x007C",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE016B,
- },
- [0xE016C]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x007D",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE016C,
- },
- [0xE016D]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x007E",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE016D,
- },
- [0xE016E]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x007F",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE016E,
- },
- [0xE016F]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0080",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE016F,
- },
- [0xE0170]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0081",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0170,
- },
- [0xE0171]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0082",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0171,
- },
- [0xE0172]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0083",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0172,
- },
- [0xE0173]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0084",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0173,
- },
- [0xE0174]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0085",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0174,
- },
- [0xE0175]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0086",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0175,
- },
- [0xE0176]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0087",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0176,
- },
- [0xE0177]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0088",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0177,
- },
- [0xE0178]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0089",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0178,
- },
- [0xE0179]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x008A",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0179,
- },
- [0xE017A]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x008B",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE017A,
- },
- [0xE017B]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x008C",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE017B,
- },
- [0xE017C]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x008D",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE017C,
- },
- [0xE017D]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x008E",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE017D,
- },
- [0xE017E]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x008F",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE017E,
- },
- [0xE017F]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0090",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE017F,
- },
- [0xE0180]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0091",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0180,
- },
- [0xE0181]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0092",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0181,
- },
- [0xE0182]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0093",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0182,
- },
- [0xE0183]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0094",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0183,
- },
- [0xE0184]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0095",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0184,
- },
- [0xE0185]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0096",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0185,
- },
- [0xE0186]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0097",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0186,
- },
- [0xE0187]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0098",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0187,
- },
- [0xE0188]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0099",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0188,
- },
- [0xE0189]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x009A",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0189,
- },
- [0xE018A]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x009B",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE018A,
- },
- [0xE018B]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x009C",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE018B,
- },
- [0xE018C]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x009D",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE018C,
- },
- [0xE018D]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x009E",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE018D,
- },
- [0xE018E]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x009F",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE018E,
- },
- [0xE018F]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00A0",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE018F,
- },
- [0xE0190]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00A1",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0190,
- },
- [0xE0191]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00A2",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0191,
- },
- [0xE0192]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00A3",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0192,
- },
- [0xE0193]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00A4",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0193,
- },
- [0xE0194]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00A5",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0194,
- },
- [0xE0195]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00A6",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0195,
- },
- [0xE0196]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00A7",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0196,
- },
- [0xE0197]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00A8",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0197,
- },
- [0xE0198]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00A9",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0198,
- },
- [0xE0199]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00AA",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE0199,
- },
- [0xE019A]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00AB",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE019A,
- },
- [0xE019B]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00AC",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE019B,
- },
- [0xE019C]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00AD",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE019C,
- },
- [0xE019D]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00AE",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE019D,
- },
- [0xE019E]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00AF",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE019E,
- },
- [0xE019F]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00B0",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE019F,
- },
- [0xE01A0]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00B1",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01A0,
- },
- [0xE01A1]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00B2",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01A1,
- },
- [0xE01A2]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00B3",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01A2,
- },
- [0xE01A3]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00B4",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01A3,
- },
- [0xE01A4]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00B5",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01A4,
- },
- [0xE01A5]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00B6",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01A5,
- },
- [0xE01A6]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00B7",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01A6,
- },
- [0xE01A7]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00B8",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01A7,
- },
- [0xE01A8]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00B9",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01A8,
- },
- [0xE01A9]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00BA",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01A9,
- },
- [0xE01AA]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00BB",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01AA,
- },
- [0xE01AB]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00BC",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01AB,
- },
- [0xE01AC]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00BD",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01AC,
- },
- [0xE01AD]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00BE",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01AD,
- },
- [0xE01AE]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00BF",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01AE,
- },
- [0xE01AF]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00C0",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01AF,
- },
- [0xE01B0]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00C1",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01B0,
- },
- [0xE01B1]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00C2",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01B1,
- },
- [0xE01B2]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00C3",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01B2,
- },
- [0xE01B3]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00C4",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01B3,
- },
- [0xE01B4]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00C5",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01B4,
- },
- [0xE01B5]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00C6",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01B5,
- },
- [0xE01B6]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00C7",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01B6,
- },
- [0xE01B7]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00C8",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01B7,
- },
- [0xE01B8]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00C9",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01B8,
- },
- [0xE01B9]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00CA",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01B9,
- },
- [0xE01BA]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00CB",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01BA,
- },
- [0xE01BB]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00CC",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01BB,
- },
- [0xE01BC]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00CD",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01BC,
- },
- [0xE01BD]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00CE",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01BD,
- },
- [0xE01BE]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00CF",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01BE,
- },
- [0xE01BF]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00D0",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01BF,
- },
- [0xE01C0]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00D1",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01C0,
- },
- [0xE01C1]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00D2",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01C1,
- },
- [0xE01C2]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00D3",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01C2,
- },
- [0xE01C3]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00D4",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01C3,
- },
- [0xE01C4]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00D5",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01C4,
- },
- [0xE01C5]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00D6",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01C5,
- },
- [0xE01C6]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00D7",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01C6,
- },
- [0xE01C7]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00D8",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01C7,
- },
- [0xE01C8]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00D9",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01C8,
- },
- [0xE01C9]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00DA",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01C9,
- },
- [0xE01CA]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00DB",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01CA,
- },
- [0xE01CB]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00DC",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01CB,
- },
- [0xE01CC]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00DD",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01CC,
- },
- [0xE01CD]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00DE",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01CD,
- },
- [0xE01CE]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00DF",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01CE,
- },
- [0xE01CF]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00E0",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01CF,
- },
- [0xE01D0]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00E1",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01D0,
- },
- [0xE01D1]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00E2",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01D1,
- },
- [0xE01D2]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00E3",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01D2,
- },
- [0xE01D3]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00E4",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01D3,
- },
- [0xE01D4]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00E5",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01D4,
- },
- [0xE01D5]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00E6",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01D5,
- },
- [0xE01D6]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00E7",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01D6,
- },
- [0xE01D7]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00E8",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01D7,
- },
- [0xE01D8]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00E9",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01D8,
- },
- [0xE01D9]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00EA",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01D9,
- },
- [0xE01DA]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00EB",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01DA,
- },
- [0xE01DB]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00EC",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01DB,
- },
- [0xE01DC]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00ED",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01DC,
- },
- [0xE01DD]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00EE",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01DD,
- },
- [0xE01DE]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00EF",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01DE,
- },
- [0xE01DF]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00F0",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01DF,
- },
- [0xE01E0]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00F1",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01E0,
- },
- [0xE01E1]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00F2",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01E1,
- },
- [0xE01E2]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00F3",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01E2,
- },
- [0xE01E3]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00F4",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01E3,
- },
- [0xE01E4]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00F5",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01E4,
- },
- [0xE01E5]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00F6",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01E5,
- },
- [0xE01E6]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00F7",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01E6,
- },
- [0xE01E7]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00F8",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01E7,
- },
- [0xE01E8]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00F9",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01E8,
- },
- [0xE01E9]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00FA",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01E9,
- },
- [0xE01EA]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00FB",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01EA,
- },
- [0xE01EB]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00FC",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01EB,
- },
- [0xE01EC]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00FD",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01EC,
- },
- [0xE01ED]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00FE",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01ED,
- },
- [0xE01EE]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x00FF",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01EE,
- },
- [0xE01EF]={
- category="mn",
- cjkwd="a",
- description="VARIATION SELECTOR-0x0100",
- direction="nsm",
- linebreak="cm",
- unicodeslot=0xE01EF,
- },
}
diff --git a/tex/context/base/mkiv/char-ini.lua b/tex/context/base/mkiv/char-ini.lua
index b59c9db6d..ad53cae8f 100644
--- a/tex/context/base/mkiv/char-ini.lua
+++ b/tex/context/base/mkiv/char-ini.lua
@@ -12,7 +12,7 @@ if not modules then modules = { } end modules ['char-ini'] = {
-- we can remove the tag range starting at 0xE0000 (special applications)
local utfchar, utfbyte, utfvalues, ustring, utotable = utf.char, utf.byte, utf.values, utf.ustring, utf.totable
-local concat, unpack, tohash = table.concat, table.unpack, table.tohash
+local concat, unpack, tohash, insert = table.concat, table.unpack, table.tohash, table.insert
local next, tonumber, type, rawget, rawset = next, tonumber, type, rawget, rawset
local format, lower, gsub = string.format, string.lower, string.gsub
local P, R, S, Cs = lpeg.P, lpeg.R, lpeg.S, lpeg.Cs
@@ -128,7 +128,7 @@ setmetatableindex(data, function(t,k)
if k >= rr.first and k <= rr.last then
local extender = rr.extender
if extender then
- local v = extender(k,v)
+ local v = extender(k)
t[k] = v
return v
end
@@ -138,6 +138,45 @@ setmetatableindex(data, function(t,k)
return private -- handy for when we loop over characters in fonts and check for a property
end)
+local variant_selector_metatable = {
+ category = "mn",
+ cjkwd = "a",
+ direction = "nsm",
+ linebreak = "cm",
+}
+
+-- This saves a bit of memory and also serves as example.
+
+local f_variant = string.formatters["VARIATION SELECTOR-0x%04X"]
+
+insert(characters.ranges,{
+ first = 0xFE00,
+ last = 0xFE0F,
+ name = "variant selector",
+ extender = function(k)
+ local t = {
+ description = f_variant(k - 0xFE00 + 0x0001),
+ unicodeslot = k,
+ }
+ setmetatable(t,variant_selector_metatable)
+ return t
+ end,
+})
+
+insert(characters.ranges,{
+ first = 0xE0100,
+ last = 0xE01EF,
+ name = "variant selector extension",
+ extender = function(k)
+ local t = {
+ description = f_variant(k - 0xE0100 + 0x0011),
+ unicodeslot = k,
+ }
+ setmetatable(t,variant_selector_metatable)
+ return t
+ end,
+})
+
local blocks = allocate {
["aegeannumbers"] = { first = 0x10100, last = 0x1013F, description = "Aegean Numbers" },
["ahom"] = { first = 0x11700, last = 0x1173F, description = "Ahom" },
diff --git a/tex/context/base/mkiv/char-ini.mkiv b/tex/context/base/mkiv/char-ini.mkiv
index fd531f132..907fcff13 100644
--- a/tex/context/base/mkiv/char-ini.mkiv
+++ b/tex/context/base/mkiv/char-ini.mkiv
@@ -63,7 +63,7 @@
\else\iffontchar\font#1\relax
\char#1\relax
\else
- $\char#1$%
+ \normalstartimath\char#1\normalstopimath
\fi\fi}
%D The codes are stored in the format, so we don't need to reinitialize
diff --git a/tex/context/base/mkiv/chem-ini.mkiv b/tex/context/base/mkiv/chem-ini.mkiv
index a5cd41f2b..d18ba47a1 100644
--- a/tex/context/base/mkiv/chem-ini.mkiv
+++ b/tex/context/base/mkiv/chem-ini.mkiv
@@ -10,6 +10,8 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
+% todo: \mathscriptsmode
+
\writestatus{loading}{ConTeXt Chemistry Macros / Initialization} % might become Inline
\registerctxluafile{chem-ini}{1.001}
diff --git a/tex/context/base/mkiv/chem-str.mkiv b/tex/context/base/mkiv/chem-str.mkiv
index 5b8c6a069..0bebcf5c8 100644
--- a/tex/context/base/mkiv/chem-str.mkiv
+++ b/tex/context/base/mkiv/chem-str.mkiv
@@ -431,8 +431,8 @@
\unexpanded\def\chemicaloxidationplus {\dotriplegroupempty\chemicaloxidation{\textplus }} % {} needed!
\unexpanded\def\chemicaloxidationminus{\dotriplegroupempty\chemicaloxidation{\textminus}} % {} needed!
-\unexpanded\def\chemicalforeveropen {\dotriplegroupempty\chemicalleft {$\big[$}} % {} needed!
-\unexpanded\def\chemicalforeverclose {\dotriplegroupempty\chemicalright {$\big]$}} % {} needed!
+\unexpanded\def\chemicalforeveropen {\dotriplegroupempty\chemicalleft {\normalstartimath\big[\normalstopimath}} % {} needed!
+\unexpanded\def\chemicalforeverclose {\dotriplegroupempty\chemicalright {\normalstartimath\big]\normalstopimath}} % {} needed!
\unexpanded\def\chemicaloxidationone {\chemicaloxidation\relax1}
\unexpanded\def\chemicaloxidationtwo {\chemicaloxidation\relax2}
\unexpanded\def\chemicaloxidationthree{\chemicaloxidation\relax3}
diff --git a/tex/context/base/mkiv/cldf-ini.lua b/tex/context/base/mkiv/cldf-ini.lua
index c6e734e73..b988e867b 100644
--- a/tex/context/base/mkiv/cldf-ini.lua
+++ b/tex/context/base/mkiv/cldf-ini.lua
@@ -1325,7 +1325,7 @@ end
-- we could reuse collapsed
local traced = function(one,two,...)
- if two then
+ if two ~= nil then
-- only catcodes if 'one' is number
local catcodes = type(one) == "number" and one
local arguments = catcodes and { two, ... } or { one, two, ... }
@@ -1343,7 +1343,7 @@ local traced = function(one,two,...)
end
end
currenttrace(concat(collapsed))
- else
+ elseif one ~= nil then
-- no catcodes
local argtype = type(one)
if argtype == "string" then
@@ -1358,25 +1358,25 @@ end
local tracedflush = function(one,two,...)
nofflushes = nofflushes + 1
- if two then
+ if two ~= nil then
normalflush(one,two,...)
else
normalflush(one)
end
if tracingpermitted then
- traced(...)
+ traced(one,two,...)
end
end
local tracedflushdirect = function(one,two,...)
nofflushes = nofflushes + 1
- if two then
+ if two ~= nil then
normalflushdirect(one,two,...)
else
normalflushdirect(one)
end
if tracingpermitted then
- traced(...)
+ traced(one,two,...)
end
end
diff --git a/tex/context/base/mkiv/cont-log.mkiv b/tex/context/base/mkiv/cont-log.mkiv
index 598140d32..b8eb0679f 100644
--- a/tex/context/base/mkiv/cont-log.mkiv
+++ b/tex/context/base/mkiv/cont-log.mkiv
@@ -30,7 +30,17 @@
X%
\endgroup}
-\unexpanded\def\ConTeXt{Con\TeX t}
+\unexpanded\def\ConTeXt
+ {\dontleavehmode
+ \begingroup
+ Con%
+ \setbox\scratchboxone\hbox{T\kern\zeropoint e}%
+ \setbox\scratchboxtwo\hbox{Te}%
+ \discretionary{-}{}{\kern\dimexpr\wd\scratchboxtwo-\wd\scratchboxone\relax}%
+ \TeX
+ t%
+ \endgroup}
+
\unexpanded\def\PPCHTeX{ppch\TeX}
\unexpanded\def\PRAGMA {Pragma ADE}
@@ -59,7 +69,9 @@
\kern-.11\emwidth\TeX}
\def\syst_logos_ams_script#1%
- {$\cal\ifdim\bodyfontsize>1.1\emwidth\scriptstyle\fi#1$}
+ {\normalstartimath
+ \cal\ifdim\bodyfontsize>1.1\emwidth\scriptstyle\fi#1%
+ \normalstopimath}
\unexpanded\def\AmSTeX
{\dontleavehmode
@@ -93,9 +105,24 @@
\unexpanded\def\Context % wrong usage of \getscaledglyph
{\dontleavehmode
\begingroup
- C\kern -.0667\emwidth\getscaledglyph{.8}\empty{O\kern -.0667\emwidth N\kern
- -.0549\emwidth T\doifelseitalic{\kern-.1\emwidth}{\kern-.1667\emwidth}\lower.5\exheight\hbox
- {E}\doifelseitalic\empty{\kern-.11em}X\kern-.055\emwidth T}%
+ C%
+ \kern -.0667\emwidth
+ \getscaledglyph{.8}\empty{%
+ O\kern-.0667\emwidth
+ N%
+ \discretionary{-}{}{\kern-.0549\emwidth}%
+ T%
+ \doifelseitalic
+ {\kern-.1\emwidth}%
+ {\kern-.1667\emwidth}%
+ \lower.5\exheight\hbox{E}%
+ \doifelseitalic
+ \empty
+ {\kern-.11em}%
+ X%
+ \kern-.055\emwidth
+ T%
+ }%
\endgroup}
%D The \METAFONT\ and \METAPOST\ logos adapt themselves to the current fontsize, an
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 5ecf859bd..d4446f1ea 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2016.02.15 10:26}
+\newcontextversion{2016.02.17 11:11}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index 4b266fcde..f042da7c5 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -39,7 +39,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2016.02.15 10:26}
+\edef\contextversion{2016.02.17 11:11}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/core-con.lua b/tex/context/base/mkiv/core-con.lua
index ca44c53ca..416e7f630 100644
--- a/tex/context/base/mkiv/core-con.lua
+++ b/tex/context/base/mkiv/core-con.lua
@@ -122,7 +122,7 @@ local counters = allocate {
0x3142, 0x3145, 0x3147, 0x3148, 0x314A,
0x314B, 0x314C, 0x314D, 0x314E
},
- ['korean-parent'] = { -- parenthesed
+ ['korean-parenthesis'] = { --
0x3200, 0x3201, 0x3202, 0x3203, 0x3204,
0x3205, 0x3206, 0x3207, 0x3208, 0x3209,
0x320A, 0x320B, 0x320C, 0x320D
@@ -136,30 +136,30 @@ local counters = allocate {
languages.counters = counters
-counters['ar'] = counters['arabic']
-counters['gr'] = counters['greek']
-counters['g'] = counters['greek']
-counters['sl'] = counters['slovenian']
-counters['es'] = counters['spanish']
-counters['kr'] = counters['korean']
-counters['kr-p'] = counters['korean-parent']
-counters['kr-c'] = counters['korean-circle']
-
-counters['thainumerals'] = counters['thai']
-counters['devanagarinumerals'] = counters['devanagari']
-counters['gurmurkhinumerals'] = counters['gurmurkhi']
-counters['gujaratinumerals'] = counters['gujarati']
-counters['tibetannumerals'] = counters['tibetan']
-counters['greeknumerals'] = counters['greek']
-counters['arabicnumerals'] = counters['arabic']
-counters['persiannumerals'] = counters['persian']
-counters['arabicexnumerals'] = counters['persian']
-counters['koreannumerals'] = counters['korean']
-counters['koreanparentnumerals'] = counters['korean-parent']
-counters['koreancirclenumerals'] = counters['korean-circle']
-
-counters['sloveniannumerals'] = counters['slovenian']
-counters['spanishnumerals'] = counters['spanish']
+counters['ar'] = counters['arabic']
+counters['gr'] = counters['greek']
+counters['g'] = counters['greek']
+counters['sl'] = counters['slovenian']
+counters['es'] = counters['spanish']
+counters['kr'] = counters['korean']
+counters['kr-p'] = counters['korean-parenthesis']
+counters['kr-c'] = counters['korean-circle']
+
+counters['thainumerals'] = counters['thai']
+counters['devanagarinumerals'] = counters['devanagari']
+counters['gurmurkhinumerals'] = counters['gurmurkhi']
+counters['gujaratinumerals'] = counters['gujarati']
+counters['tibetannumerals'] = counters['tibetan']
+counters['greeknumerals'] = counters['greek']
+counters['arabicnumerals'] = counters['arabic']
+counters['persiannumerals'] = counters['persian']
+counters['arabicexnumerals'] = counters['persian']
+counters['koreannumerals'] = counters['korean']
+counters['koreanparenthesisnumerals'] = counters['korean-parenthesis']
+counters['koreancirclenumerals'] = counters['korean-circle']
+
+counters['sloveniannumerals'] = counters['slovenian']
+counters['spanishnumerals'] = counters['spanish']
local decimals = allocate {
['arabic'] = {
@@ -582,11 +582,11 @@ function converters.Spanishnumerals(n) return Alphabetic(n,"es") end
function converters.sloviannumerals(n) return alphabetic(n,"sl") end
function converters.Sloviannumerals(n) return Alphabetic(n,"sl") end
-converters['characters:es'] = converters.spanishnumerals
-converters['characters:sl'] = converters.sloveniannumerals
+converters['alphabetic:es'] = converters.spanishnumerals
+converters['alphabetic:sl'] = converters.sloveniannumerals
-converters['Characters:es'] = converters.Spanishnumerals
-converters['Characters:sl'] = converters.Sloveniannumerals
+converters['Alphabetic:es'] = converters.Spanishnumerals
+converters['Alphabetic:sl'] = converters.Sloveniannumerals
-- bonus
diff --git a/tex/context/base/mkiv/core-con.mkiv b/tex/context/base/mkiv/core-con.mkiv
index 1ca38ae14..afd3f34c4 100644
--- a/tex/context/base/mkiv/core-con.mkiv
+++ b/tex/context/base/mkiv/core-con.mkiv
@@ -97,11 +97,12 @@
\let\arabicexnumerals \persiannumerals
\def\koreannumerals #1{\clf_alphabetic\numexpr#1\relax{korean}}
-\def\koreannumeralsp #1{\clf_alphabetic\numexpr#1\relax{korean-parent}}
+\def\koreannumeralsp #1{\clf_alphabetic\numexpr#1\relax{korean-parenthesis}}
\def\koreannumeralsc #1{\clf_alphabetic\numexpr#1\relax{korean-circle}}
-\let\koreanparentnumerals\koreannumeralsp
-\let\koreancirclenumerals\koreannumeralsc
+\let\koreanparentnumerals \koreannumeralsp
+\let\koreanparenthesisnumerals\koreannumeralsp
+\let\koreancirclenumerals \koreannumeralsc
\def\chinesenumerals #1{\clf_chinesenumerals\numexpr#1\relax{normal}}
\def\chinesecapnumerals#1{\clf_chinesenumerals\numexpr#1\relax{cap}}
@@ -640,8 +641,8 @@
\defineconversion [\v!characters] [\characters]
\defineconversion [\v!Characters] [\Characters]
-\defineconversion [a] [\characters]
-\defineconversion [A] [\Characters]
+\defineconversion [a] [\alphabeticnumerals]
+\defineconversion [A] [\Alphabeticnumerals]
\defineconversion [AK] [\smallcappedcharacters]
\defineconversion [KA] [\smallcappedcharacters]
@@ -704,7 +705,9 @@
\defineconversion [persiandecimals] [\persiandecimals]
\defineconversion [koreannumerals] [\koreannumerals]
-\defineconversion [koreanparentnumerals] [\koreanparentnumerals]
+\defineconversion [koreanparennumerals] [\koreanparenthesisnumerals] % for old times sake (for a while)
+\defineconversion [koreanparenthesisnumerals]
+ [\koreanparenthesisnumerals]
\defineconversion [koreancirclenumerals] [\koreancirclenumerals]
\defineconversion [kr] [\koreannumerals]
@@ -733,20 +736,26 @@
\def\spanishnumerals #1{\clf_alphabetic\numexpr#1\relax{es}}
\def\spanishNumerals #1{\clf_Alphabetic\numexpr#1\relax{es}}
-\defineconversion [\s!sl] [character] [\sloveniannumerals]
-\defineconversion [\s!sl] [Character] [\slovenianNumerals]
-\defineconversion [\s!sl] [characters] [\sloveniannumerals]
-\defineconversion [\s!sl] [Characters] [\slovenianNumerals]
+%defineconversion [\s!sl] [character] [\sloveniannumerals]
+%defineconversion [\s!sl] [Character] [\slovenianNumerals]
+%defineconversion [\s!sl] [characters] [\sloveniannumerals]
+%defineconversion [\s!sl] [Characters] [\slovenianNumerals]
+
+\defineconversion [\s!sl] [alphabetic] [\sloveniannumerals]
+\defineconversion [\s!sl] [Alphabetic] [\slovenianNumerals]
\defineconversion [\s!sl] [a] [\sloveniannumerals]
\defineconversion [\s!sl] [A] [\slovenianNumerals]
\defineconversion [\s!sl] [AK] [\smallcapped\sloveniannumerals]
\defineconversion [\s!sl] [KA] [\smallcapped\sloveniannumerals]
-\defineconversion [\s!es] [character] [\spanishnumerals]
-\defineconversion [\s!es] [Character] [\spanishNumerals]
-\defineconversion [\s!es] [characters] [\spanishnumerals]
-\defineconversion [\s!es] [Characters] [\spanishNumerals]
+%defineconversion [\s!es] [character] [\spanishnumerals]
+%defineconversion [\s!es] [Character] [\spanishNumerals]
+%defineconversion [\s!es] [characters] [\spanishnumerals]
+%defineconversion [\s!es] [Characters] [\spanishNumerals]
+
+\defineconversion [\s!es] [alphabetic] [\spanishnumerals]
+\defineconversion [\s!es] [Alphabetic] [\spanishNumerals]
\defineconversion [\s!es] [a] [\spanishnumerals]
\defineconversion [\s!es] [A] [\spanishNumerals]
diff --git a/tex/context/base/mkiv/font-run.mkiv b/tex/context/base/mkiv/font-run.mkiv
index 1b8843b94..9a69b480f 100644
--- a/tex/context/base/mkiv/font-run.mkiv
+++ b/tex/context/base/mkiv/font-run.mkiv
@@ -61,7 +61,7 @@
\tabskip=\zeropoint\cr
\noalign{\hrule}
&\multispan{29}{\vrule\hfil\tttf\strut\title\hfil
- \llap{\string\mr\hbox to 1em{\hss:\hss}$\mr \languageparameter\c!text$\quad}\vrule}\cr
+ \llap{\string\mr\hbox to 1em{\hss:\hss}\normalstartimath\mr\languageparameter\c!text\normalstopimath\quad}\vrule}\cr
\noalign{\hrule}\next{}{\tt\string}{}
\noalign{\hrule}\next{\tt\string\rm}\rm{\languageparameter\c!text}
\noalign{\hrule}\next{\tt\string\ss}\ss{\languageparameter\c!text}
@@ -338,7 +338,7 @@
\starttabulate[||T|T|T|T|T|T|T|T|T|]
\testminimalbaseline{\hbox to 1em{\hss\showstruts\strut\hss}}%
\testminimalbaseline{(/)}%
- \testminimalbaseline{$\frac{1}{2}x\normalsuperscript2\normalsubscript3$}
+ \testminimalbaseline{\normalstartimath\frac{1}{2}x\normalsuperscript2\normalsubscript3\normalstopimath}
\stoptabulate
\fi}
diff --git a/tex/context/base/mkiv/grph-fig.mkiv b/tex/context/base/mkiv/grph-fig.mkiv
index 3bf91b28c..80b094d83 100644
--- a/tex/context/base/mkiv/grph-fig.mkiv
+++ b/tex/context/base/mkiv/grph-fig.mkiv
@@ -263,10 +263,10 @@
\let\grph_steps_three_colorbar\grph_steps_one_colorbar
\unexpanded\def\grph_steps_four_referring
- {\grph_steps_text{$\rightarrow$}}
+ {\grph_steps_text{\normalstartimath\rightarrow\normalstopimath}}
\unexpanded\def\grph_steps_four_marking
- {\grph_steps_text{$\leftarrow$}}
+ {\grph_steps_text{\normalstartimath\leftarrow\normalstopimath}}
\let\grph_steps_four_remark \grph_steps_one_remark
\let\grph_steps_four_colorbar\grph_steps_one_colorbar
diff --git a/tex/context/base/mkiv/grph-rul.mkiv b/tex/context/base/mkiv/grph-rul.mkiv
index 8e293e151..98aab3650 100644
--- a/tex/context/base/mkiv/grph-rul.mkiv
+++ b/tex/context/base/mkiv/grph-rul.mkiv
@@ -33,7 +33,57 @@
% width \overlaywidth
% height \overlayheight
% line \overlaylinewidth
-% radius \framedparameter\c!frameradius % \p_framed_backgroundradius % \framedradius
+% radius \overlayradius
% \relax]
\protect \endinput
+
+% \starttext
+%
+% \testfeatureonce{25}{\dontleavehmode
+% \ruledhbox\bgroup
+% \red \frule width 2cm height 2cm depth 1cm radius 2mm line 2pt type fill\relax
+% \hskip-2cm
+% \green \frule width 2cm height 2cm depth 1cm radius 2mm line 2pt\relax
+% \egroup
+% \space}
+%
+% \blank
+%
+% \startuseMPgraphic{demoshape:back}
+% fill
+% unitcircle xysized (RuleWidth,RuleHeight+RuleDepth)
+% withcolor RuleColor ;
+% \stopuseMPgraphic
+%
+% \startuseMPgraphic{demoshape:fore}
+% draw
+% unitcircle xysized (RuleWidth,RuleHeight+RuleDepth)
+% withcolor RuleColor
+% withpen pencircle scaled RuleThickness ;
+% \stopuseMPgraphic
+%
+% \testfeatureonce{100}{\dontleavehmode
+% \ruledhbox\bgroup
+% \red \frule width 1cm height 3mm depth 1mm type mp line 2pt data {\includeMPgraphic{demoshape:back}}\relax
+% \hskip-1cm
+% \green \frule width 1cm height 3mm depth 1mm type mp line 2pt data {\includeMPgraphic{demoshape:fore}}\relax
+% \egroup
+% \space}
+%
+% \blank
+%
+% \dontleavehmode
+% \testfeatureonce{1}{\setbox\scratchbox\hbox{\framed {test}}}
+% \framed {test}
+% \testfeatureonce{1}{\setbox\scratchbox\hbox{\framed[background=normalframe,frame=off]{test}}}
+% \framed[background=normalframe,frame=off]{test}
+% \testfeatureonce{1}{\setbox\scratchbox\hbox{\framed[corner=round] {test}}}
+% \framed[corner=round] {test}
+% \testfeatureonce{1}{\setbox\scratchbox\hbox{\framed[background=ovalframe,frame=off] {test}}}
+% \framed[background=ovalframe,frame=off] {test}
+% \testfeatureonce{1}{\setbox\scratchbox\hbox{\framed[background=ovalframe,frame=on] {test}}}
+% \framed[background=ovalframe,frame=on] {test}
+%
+% \stoptext
+
diff --git a/tex/context/base/mkiv/lang-mis.mkiv b/tex/context/base/mkiv/lang-mis.mkiv
index f442042e2..ada8f81ea 100644
--- a/tex/context/base/mkiv/lang-mis.mkiv
+++ b/tex/context/base/mkiv/lang-mis.mkiv
@@ -406,7 +406,7 @@
{\prewordbreak\discretionary{-}{}{'}\postwordbreak}
\definetextmodediscretionary ^
- {\prewordbreak\discretionary{\hbox{$|$}}{}{\hbox{$|$}}%
+ {\prewordbreak\discretionary{\hbox{\normalstartimath|\normalstopimath}}{}{\hbox{\normalstartimath|\normalstopimath}}%
\allowbreak\postwordbreak} % bugged
\definetextmodediscretionary <
diff --git a/tex/context/base/mkiv/lxml-aux.lua b/tex/context/base/mkiv/lxml-aux.lua
index 01c2a8bfc..f28fd819d 100644
--- a/tex/context/base/mkiv/lxml-aux.lua
+++ b/tex/context/base/mkiv/lxml-aux.lua
@@ -370,6 +370,8 @@ xml.insertbefore = function(r,p,e) insert_element(r,p,e,true) end
xml.injectafter = inject_element
xml.injectbefore = function(r,p,e) inject_element(r,p,e,true) end
+-- loaddata can restrict loading
+
local function include(xmldata,pattern,attribute,recursive,loaddata,level)
-- attribute = attribute or 'href'
pattern = pattern or 'include'
@@ -383,56 +385,60 @@ local function include(xmldata,pattern,attribute,recursive,loaddata,level)
local ek = collected[c]
local name = nil
local ekdt = ek.dt
- local ekat = ek.at
- local ekrt = ek.__p__
- local epdt = ekrt.dt
- if not attribute or attribute == "" then
- name = (type(ekdt) == "table" and ekdt[1]) or ekdt -- check, probably always tab or str
- end
- if not name then
- for a in gmatch(attribute or "href","([^|]+)") do
- name = ekat[a]
- if name then
- break
+ if ekdt then
+ local ekat = ek.at
+ local ekrt = ek.__p__
+ if ekrt then
+ local epdt = ekrt.dt
+ if not attribute or attribute == "" then
+ name = (type(ekdt) == "table" and ekdt[1]) or ekdt -- check, probably always tab or str
end
- end
- end
- local data = nil
- if name and name ~= "" then
- data = loaddata(name) or ""
- if trace_inclusions then
- report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ")
- end
- end
- if not data or data == "" then
- epdt[ek.ni] = "" -- xml.empty(d,k)
- elseif ekat["parse"] == "text" then
- -- for the moment hard coded
- epdt[ek.ni] = xml.escaped(data) -- d[k] = xml.escaped(data)
- else
- local xi = xmlinheritedconvert(data,xmldata)
- if not xi then
- epdt[ek.ni] = "" -- xml.empty(d,k)
- else
- if recursive then
- include(xi,pattern,attribute,recursive,loaddata,level+1)
+ if not name then
+ for a in gmatch(attribute or "href","([^|]+)") do
+ name = ekat[a]
+ if name then
+ break
+ end
+ end
end
- local child = xml.body(xi) -- xml.assign(d,k,xi)
- child.__p__ = ekrt
- child.__f__ = name -- handy for tracing
- epdt[ek.ni] = child
- local inclusions = xmldata.settings.inclusions
- if inclusions then
- inclusions[#inclusions+1] = name
- else
- xmldata.settings.inclusions = { name }
+ local data = nil
+ if name and name ~= "" then
+ data = loaddata(name) or ""
+ if trace_inclusions then
+ report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ")
+ end
end
- if child.er then
- local badinclusions = xmldata.settings.badinclusions
- if badinclusions then
- badinclusions[#badinclusions+1] = name
+ if not data or data == "" then
+ epdt[ek.ni] = "" -- xml.empty(d,k)
+ elseif ekat["parse"] == "text" then
+ -- for the moment hard coded
+ epdt[ek.ni] = xml.escaped(data) -- d[k] = xml.escaped(data)
+ else
+ local xi = xmlinheritedconvert(data,xmldata)
+ if not xi then
+ epdt[ek.ni] = "" -- xml.empty(d,k)
else
- xmldata.settings.badinclusions = { name }
+ if recursive then
+ include(xi,pattern,attribute,recursive,loaddata,level+1)
+ end
+ local child = xml.body(xi) -- xml.assign(d,k,xi)
+ child.__p__ = ekrt
+ child.__f__ = name -- handy for tracing
+ epdt[ek.ni] = child
+ local inclusions = xmldata.settings.inclusions
+ if inclusions then
+ inclusions[#inclusions+1] = name
+ else
+ xmldata.settings.inclusions = { name }
+ end
+ if child.er then
+ local badinclusions = xmldata.settings.badinclusions
+ if badinclusions then
+ badinclusions[#badinclusions+1] = name
+ else
+ xmldata.settings.badinclusions = { name }
+ end
+ end
end
end
end
diff --git a/tex/context/base/mkiv/math-ali.mkiv b/tex/context/base/mkiv/math-ali.mkiv
index c0f105121..ebb20e33e 100644
--- a/tex/context/base/mkiv/math-ali.mkiv
+++ b/tex/context/base/mkiv/math-ali.mkiv
@@ -715,10 +715,13 @@
\def\math_matrix_process#1#2%
{\dowithnextbox
{\scratchdimen\dimexpr(\nextboxdp-\nextboxht)/2 \ifcase#2\or+\mathaxisheight\textfont2\fi\relax
- \ifcase#1\relax\or\lower\scratchdimen\or\or\raise\scratchdimen\fi
- \hbox{$\mathmatrixparameter\c!left
- \vcenter{\unvbox\nextbox}%
- \mathmatrixparameter\c!right$}}%
+ \ifcase#1\relax\or\lower\scratchdimen\or\or\raise\scratchdimen\fi\hbox\bgroup
+ \normalstartimath
+ \mathmatrixparameter\c!left
+ \vcenter{\unvbox\nextbox}%
+ \mathmatrixparameter\c!right
+ \normalstopimath
+ \egroup}%
\vbox}
\unexpanded\def\installmathmatrixalignmethod#1#2%
@@ -936,7 +939,7 @@
\crcr}%
\mathsurround\zeropoint
\everycr\emptytoks
- \halign\bgroup\hfil$\scriptstyle\alignmark\alignmark$\hfil\crcr}
+ \halign\bgroup\hfil\normalstartimath\scriptstyle\alignmark\alignmark\normalstopimath\hfil\crcr}
\def\stopsubstack
{\crcr
@@ -998,9 +1001,9 @@
{\thinmuskip 0mu
\medmuskip -1mu
\thickmuskip -1mu
- \setbox\scratchbox\hbox{$#1\mathsurround\zeropoint$}%
+ \setbox\scratchbox\hbox{\normalstartimath#1\mathsurround\zeropoint\normalstopimath}%
\kern-\wd\scratchbox
- ${}#1{}\mathsurround\zeropoint$}%
+ \normalstartimath{}#1{}\mathsurround\zeropoint\normalstopimath}%
\ifdim\wd\scratchbox<\zeropoint
\endgroup
\expandafter\mathbin
diff --git a/tex/context/base/mkiv/math-arr.mkiv b/tex/context/base/mkiv/math-arr.mkiv
index 9056bf5a4..28aad8ada 100644
--- a/tex/context/base/mkiv/math-arr.mkiv
+++ b/tex/context/base/mkiv/math-arr.mkiv
@@ -76,16 +76,18 @@
\mathsurround\zeropoint
\muskip0=\muexpr\m_math_arrows_factor\muexpr\thirdoffourarguments #2\onemuskip\relax+\m_math_arrows_extra\onemuskip+\firstoffourarguments #2\onemuskip\relax
\muskip2=\muexpr\m_math_arrows_factor\muexpr\fourthoffourarguments#2\onemuskip\relax+\m_math_arrows_extra\onemuskip+\secondoffourarguments#2\onemuskip\relax
- \setbox0\hbox{$\scriptstyle
- \mkern\muskip0\relax
- #5\relax
- \mkern\muskip2\relax
- $}%
- \setbox2\hbox{$\scriptstyle
- \mkern\muskip0\relax
- #4\relax
- \mkern\muskip2\relax
- $}%
+ \setbox0\hbox{\normalstartimath
+ \scriptstyle
+ \mkern\muskip0\relax
+ #5\relax
+ \mkern\muskip2\relax
+ \normalstopimath}%
+ \setbox2\hbox{\normalstartimath
+ \scriptstyle
+ \mkern\muskip0\relax
+ #4\relax
+ \mkern\muskip2\relax
+ \normalstopimath}%
\setbox4\hbox{#3\displaystyle}%
\dimen0\wd0\relax
\ifdim\wd2>\dimen0
@@ -118,11 +120,11 @@
\def\math_arrows_construct_double#1#2#3#4#5#6#7% opt l r sp rs top bot
{\mathrel
{\scratchdimen.32\exheight\relax % was .22, todo: make configurable
- \setbox0\hbox{$\math_arrows_construct{#1}{#2}{#4}{\phantom{#6}}{#7}$}%
- \setbox2\hbox{$\math_arrows_construct{#1}{#3}{#5}{#6}{\phantom{#7}}$}%
- \raise\scratchdimen\box0
- \kern-\wd2
- \lower\scratchdimen\box2}}
+ \setbox\scratchboxone\hbox{\normalstartimath\math_arrows_construct{#1}{#2}{#4}{\phantom{#6}}{#7}\normalstopimath}%
+ \setbox\scratchboxtwo\hbox{\normalstartimath\math_arrows_construct{#1}{#3}{#5}{#6}{\phantom{#7}}\normalstopimath}%
+ \raise\scratchdimen\box\scratchboxone
+ \kern-\wd\scratchboxtwo
+ \lower\scratchdimen\box\scratchboxtwo}}
%D \macros{definematharrow}
%D
@@ -254,12 +256,14 @@
%D different set of values need to be determined.
\def\mtharrowfill#1#2#3#4#5#6#7#8%
- {$\mathsurround\zeropoint
- \thickmuskip\zeromuskip\medmuskip\thickmuskip\thinmuskip\thickmuskip
- \relax#8#5%
- \mkern-#1\onemuskip
- \cleaders\hbox{$#8\mkern-#2\onemuskip#6\mkern-#3\onemuskip$}\hfill
- \mkern-#4\onemuskip#7$}
+ {\normalstartimath
+ \mathsurround\zeropoint
+ \thickmuskip\zeromuskip\medmuskip\thickmuskip\thinmuskip\thickmuskip
+ \relax#8#5%
+ \mkern-#1\onemuskip
+ \cleaders\hbox{\normalstartimath#8\mkern-#2\onemuskip#6\mkern-#3\onemuskip\normalstopimath}\hfill
+ \mkern-#4\onemuskip#7%
+ \normalstopimath}
\def\defaultmtharrowfill{\mtharrowfill 7227}
@@ -383,10 +387,17 @@
%D for harpoons.
\def\math_arrows_over_handle_indeed#1#2#3#4%
- {\vbox{\ialign{##\crcr
- #2#3\crcr
- \noalign{\kern#1\nointerlineskip}%
- $\mathsurround\zeropoint\hfil#3#4\hfil$\crcr}}}
+ {\vbox{\ialign{%
+ \alignmark\alignmark
+ \crcr
+ #2#3%
+ \crcr
+ \noalign{\kern#1\nointerlineskip}%
+ \normalstartimath
+ \mathsurround\zeropoint\hfil#3#4\hfil
+ \normalstopimath
+ \crcr
+ }}}
%D Now the under arrows
@@ -406,10 +417,15 @@
{\mathpalette{\math_arrows_under_handle_indeed{#1}{#2}}}
\def\math_arrows_under_handle_indeed#1#2#3#4%
- {\vtop{\ialign{##\crcr
- $\mathsurround\zeropoint\hfil#3#4\hfil$\crcr
- \noalign{\nointerlineskip\kern#1}%
- #2#3\crcr}}}
+ {\vtop{\ialign{%
+ \alignmark\alignmark
+ \crcr
+ \normalstartimath\mathsurround\zeropoint\hfil#3#4\hfil\normalstopimath
+ \crcr
+ \noalign{\nointerlineskip\kern#1}%
+ #2#3%
+ \crcr
+ }}}
%D Now we define the arrows
diff --git a/tex/context/base/mkiv/math-del.mkiv b/tex/context/base/mkiv/math-del.mkiv
index 1245d31de..2d57781c8 100644
--- a/tex/context/base/mkiv/math-del.mkiv
+++ b/tex/context/base/mkiv/math-del.mkiv
@@ -41,7 +41,7 @@
\setbox\scratchbox\hbox\bgroup
\let\left \leftfakedelimiter
\let\right\rightfakedelimiter
- $#1\expandafter$\expandafter
+ \normalstartimath#1\expandafter\normalstopimath\expandafter
\egroup
\expandafter\c_math_delimiter_nesting\the\c_math_delimiter_nesting\relax}
diff --git a/tex/context/base/mkiv/math-ini.mkiv b/tex/context/base/mkiv/math-ini.mkiv
index a927b7776..2fcfa6037 100644
--- a/tex/context/base/mkiv/math-ini.mkiv
+++ b/tex/context/base/mkiv/math-ini.mkiv
@@ -14,6 +14,10 @@
\writestatus{loading}{ConTeXt Math Macros / Initializations}
% todo: hpack as we skip math anyway
+%
+% todo: 0x2061 : function application
+% todo: 0x2062 : invisible times
+% todo: 0x2063 : invisible comma
% Todo in luatex maincontrol.w: also accept a number here:
%
@@ -2196,7 +2200,9 @@
% new:
\unexpanded\def\smallmathsymbol#1%
- {\mathematics{\mathbin{\normalexpanded{\raise.15\exheight\hbox{$\triggermathstyle{\the\numexpr\normalmathstyle+2\relax}#1$}}}}}
+ {\mathematics{\mathbin{\normalexpanded{\raise.15\exheight\hbox{\normalstartimath
+ \triggermathstyle{\the\numexpr\normalmathstyle+2\relax}#1%
+ \normalstopimath}}}}}
% this should be a primitive:
@@ -2392,7 +2398,6 @@
\setupmathematics
[\s!italics=3] % for the moment only this one makes sense .. still experimental
-
\protect \endinput
% % not used (yet)
diff --git a/tex/context/base/mkiv/math-pln.mkiv b/tex/context/base/mkiv/math-pln.mkiv
index 5e4c43c81..a5ecdd11d 100644
--- a/tex/context/base/mkiv/math-pln.mkiv
+++ b/tex/context/base/mkiv/math-pln.mkiv
@@ -24,7 +24,7 @@
% might change
\unexpanded\def\hrulefill{\leaders\hrule\hfill}
-\unexpanded\def\dotfill {\cleaders\hbox{$\mathsurround\zeropoint\mkern1.5mu.\mkern1.5mu$}\hfill}
+\unexpanded\def\dotfill {\cleaders\hbox{\normalstartimath\mathsurround\zeropoint\mkern1.5mu.\mkern1.5mu\normalstopimath}\hfill}
% will move
@@ -33,7 +33,7 @@
\vtop
{\baselineskip\zeroskip
\lineskip.25\exheight
- \ialign{##\crcr#1\crcr}}}
+ \ialign{\alignmark\alignmark\crcr#1\crcr}}}
\def\ooalign % chars over each other
{\lineskiplimit-\maxdimen
@@ -71,17 +71,34 @@
\vcenter
{\normalbaselines
\mathsurround\zeropoint
- \ialign{$##\hfil$&\quad##\hfil\crcr#1\crcr}}%
+ \ialign{%
+ \normalstartimath\alignmark\alignmark\hfil\normalstopimath
+ \aligntab
+ \quad\alignmark\alignmark\hfil
+ \crcr
+ #1%
+ \crcr}}%
\right.}
\unexpanded\def\matrix#1%
{\emptyhbox
\mskip\thinmuskip
\vcenter
- {\normalbaselines\mathsurround\zeropoint
- \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr
- \mathstrut\crcr\noalign{\kern-\baselineskip}
- #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}%
+ {\normalbaselines
+ \mathsurround\zeropoint
+ \ialign{%
+ \hfil\normalstartimath\alignmark\alignmark\normalstopimath\hfil
+ \aligntab
+ \aligntab
+ \quad\hfil\normalstartimath\alignmark\alignmark\normalstopimath\hfil
+ \crcr
+ \mathstrut
+ \crcr
+ \noalign{\kern-\baselineskip}
+ #1\crcr
+ \mathstrut
+ \crcr
+ \noalign{\kern-\baselineskip}}}%
\mskip\thinmuskip}
\unexpanded\def\pmatrix#1%
@@ -117,7 +134,8 @@
{\the\mathdisplayaligntweaks
\tabskip\zeroskip
\halign
- {\hbox to \displaywidth{$\tabskip\zeroskip\everycr\emptytoks\hfil\displaystyle##\hfil$}\crcr
- #1\crcr}}
+ {\hbox to \displaywidth{%
+ \normalstartimath\tabskip\zeroskip\everycr\emptytoks\hfil\displaystyle\alignmark\alignmark\hfil\normalstopimath}\crcr
+ #1\crcr}}
\protect \endinput
diff --git a/tex/context/base/mkiv/mult-def.lua b/tex/context/base/mkiv/mult-def.lua
index c9bc10260..b82375d0a 100644
--- a/tex/context/base/mkiv/mult-def.lua
+++ b/tex/context/base/mkiv/mult-def.lua
@@ -13323,6 +13323,46 @@ return {
["pe"]="پنج",
["ro"]="cinci",
},
+ ["six"]={
+ ["cs"]="six",
+ ["de"]="sechs",
+ ["en"]="six",
+ ["fr"]="six",
+ ["it"]="six",
+ ["nl"]="zes",
+ ["pe"]="six",
+ ["ro"]="six",
+ },
+ ["seven"]={
+ ["cs"]="seven",
+ ["de"]="sieben",
+ ["en"]="seven",
+ ["fr"]="seven",
+ ["it"]="seven",
+ ["nl"]="zeven",
+ ["pe"]="seven",
+ ["ro"]="seven",
+ },
+ ["eight"]={
+ ["cs"]="eight",
+ ["de"]="acht",
+ ["en"]="eight",
+ ["fr"]="eight",
+ ["it"]="eight",
+ ["nl"]="acht",
+ ["pe"]="eight",
+ ["ro"]="eight",
+ },
+ ["nine"]={
+ ["cs"]="nine",
+ ["de"]="neun",
+ ["en"]="nine",
+ ["fr"]="nine",
+ ["it"]="nine",
+ ["nl"]="negen",
+ ["pe"]="nine",
+ ["ro"]="nine",
+ },
["fix"]={
["cs"]="fixuj",
["de"]="stellewiederher",
diff --git a/tex/context/base/mkiv/mult-low.lua b/tex/context/base/mkiv/mult-low.lua
index 124a11c4d..f71a8d50f 100644
--- a/tex/context/base/mkiv/mult-low.lua
+++ b/tex/context/base/mkiv/mult-low.lua
@@ -132,7 +132,7 @@ return {
"zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj",
"optionalspace", "asciispacechar",
--
- "Ux", "eUx",
+ "Ux", "eUx", "Umathaccents",
},
["helpers"] = {
--
@@ -366,6 +366,7 @@ return {
--
"startimath", "stopimath", "normalstartimath", "normalstopimath",
"startdmath", "stopdmath", "normalstartdmath", "normalstopdmath",
+ "normalsuperscript", "normalsubscript",
--
"uncramped", "cramped", "triggermathstyle", "mathstylefont", "mathsmallstylefont", "mathstyleface", "mathsmallstyleface", "mathstylecommand", "mathpalette",
"mathstylehbox", "mathstylevbox", "mathstylevcenter", "mathstylevcenteredhbox", "mathstylevcenteredvbox",
diff --git a/tex/context/base/mkiv/node-bck.mkiv b/tex/context/base/mkiv/node-bck.mkiv
index ed927cf0d..58edab668 100644
--- a/tex/context/base/mkiv/node-bck.mkiv
+++ b/tex/context/base/mkiv/node-bck.mkiv
@@ -16,6 +16,8 @@
%D This is first attempt to replacing backgrounds in a few tables
%D mechanisms. When used more frequently, we can store the color
%D spec in the attribute.
+%D
+%D Maybe move some to the bar handler.
\unprotect
diff --git a/tex/context/base/mkiv/node-rul.mkiv b/tex/context/base/mkiv/node-rul.mkiv
index a3df8481f..8706b8ecf 100644
--- a/tex/context/base/mkiv/node-rul.mkiv
+++ b/tex/context/base/mkiv/node-rul.mkiv
@@ -256,7 +256,15 @@
\unexpanded\def\setupunderbar[#1]% too incompatible for the moment
{}
-%D Experimental new feature:
+%D An experimental new feature:
+%D
+%D \startbuffer
+%D test {\red\underrandoms{test me}} and \underrandom{test} or \underrandom{grep} \blank
+%D test {\red\underdashes {test me}} and \underdash {test} or \underdash {grep} \blank
+%D test {\red\underdots {test me}} and \underdot {test} or \underdot {grep} \blank
+%D \stopbuffer
+%D
+%D \typebuffer \getbuffer
\startuseMPgraphic{rules:under:random}
draw
@@ -271,7 +279,7 @@
draw
((0,RuleDepth) ... (RuleWidth,RuleDepth))
shifted (0,RuleFactor*RuleOffset)
- dashed dashpattern(off 5/RuleFactor on 0 off 5/RuleFactor)
+ dashed dashpattern(on RuleFactor/2 off RuleFactor/2)
withpen pencircle scaled RuleThickness
withcolor RuleColor ;
setbounds currentpicture to unitsquare xysized(RuleWidth,RuleHeight) ;
@@ -281,8 +289,8 @@
draw
((0,RuleDepth) ... (RuleWidth,RuleDepth))
shifted (0,RuleFactor*RuleOffset)
- dashed dashpattern(on RuleFactor/2 off RuleFactor/2)
- withpen pencircle scaled RuleThickness
+ dashed dashpattern(off 3/RuleFactor on 0 off 3/RuleFactor)
+ withpen pencircle scaled 2RuleThickness
withcolor RuleColor ;
setbounds currentpicture to unitsquare xysized(RuleWidth,RuleHeight) ;
\stopuseMPgraphic
diff --git a/tex/context/base/mkiv/pack-com.mkiv b/tex/context/base/mkiv/pack-com.mkiv
index 623d669e7..c9c3bab4b 100644
--- a/tex/context/base/mkiv/pack-com.mkiv
+++ b/tex/context/base/mkiv/pack-com.mkiv
@@ -936,10 +936,14 @@
\unexpanded\def\placeontopofeachother{\bgroup\dowithnextboxcs\pack_topofeachother_one\hbox}
\unexpanded\def\placesidebyside {\bgroup\dowithnextboxcs\pack_sidebyside_one \hbox}
-\def\pack_topofeachother_one{\bgroup\setbox0\box\nextbox\dowithnextboxcs\pack_topofeachother_two\hbox}
-\def\pack_sidebyside_one {\bgroup\setbox0\box\nextbox\dowithnextboxcs\pack_sidebyside_two \hbox}
-
-\def\pack_topofeachother_two{\setbox2\box\nextbox\halign{\hss##\hss\cr\box0\cr\box2\cr}\egroup\egroup}
-\def\pack_sidebyside_two {\setbox2\box\nextbox\valign{\vss##\vss\cr\box0\cr\box2\cr}\egroup\egroup}
+\def\pack_topofeachother_one{\bgroup\setbox\scratchboxone\box\nextbox\dowithnextboxcs\pack_topofeachother_two\hbox}
+\def\pack_sidebyside_one {\bgroup\setbox\scratchboxone\box\nextbox\dowithnextboxcs\pack_sidebyside_two \hbox}
+
+\def\pack_topofeachother_two{\setbox\scratchboxtwo\box\nextbox
+ \halign{\hss\alignmark\alignmark\hss\cr\box\scratchboxone\cr\box\scratchboxtwo\cr}%
+ \egroup\egroup}
+\def\pack_sidebyside_two {\setbox\scratchboxtwo\box\nextbox
+ \valign{\vss\alignmark\alignmark\vss\cr\box\scratchboxone\cr\box\scratchboxtwo\cr}%
+ \egroup\egroup}
\protect \endinput
diff --git a/tex/context/base/mkiv/pack-rul.mkiv b/tex/context/base/mkiv/pack-rul.mkiv
index ef59209e0..2150842aa 100644
--- a/tex/context/base/mkiv/pack-rul.mkiv
+++ b/tex/context/base/mkiv/pack-rul.mkiv
@@ -435,6 +435,8 @@
\let\overlaycolor \empty
\let\overlaylinecolor \empty
+\def\overlayradius{\framedparameter\c!frameradius}
+
\newdimen\d_overlay_width
\newdimen\d_overlay_height
\newdimen\d_overlay_depth
diff --git a/tex/context/base/mkiv/phys-dim.mkiv b/tex/context/base/mkiv/phys-dim.mkiv
index fcbb53311..3ea042b05 100644
--- a/tex/context/base/mkiv/phys-dim.mkiv
+++ b/tex/context/base/mkiv/phys-dim.mkiv
@@ -145,8 +145,8 @@
\fi\fi}
\def\phys_digits_normalized_math#1#2%
- {\setbox\scratchbox\hbox{$\Ustack{#1}$}%
- \hbox to \wd\scratchbox{\hss{$\Ustack{#2}$}\hss}}
+ {\setbox\scratchbox\hbox{\normalstartimath\Ustack{#1}\normalstopimath}%
+ \hbox to \wd\scratchbox{\hss{\normalstartimath\Ustack{#2}\normalstopimath}\hss}}
\def\phys_digits_normalized_text#1#2%
{\setbox\scratchbox\hbox{#1}%
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index 6c8d173f1..1ec0e8310 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index 3d6989eb9..7670ca93c 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/strc-itm.mkvi b/tex/context/base/mkiv/strc-itm.mkvi
index f9700c481..053e35ef6 100644
--- a/tex/context/base/mkiv/strc-itm.mkvi
+++ b/tex/context/base/mkiv/strc-itm.mkvi
@@ -440,6 +440,10 @@
\setvalue{\??itemgroupkeyword\v!three }{\letitemgroupparameter\c!n\plusthree}
\setvalue{\??itemgroupkeyword\v!four }{\letitemgroupparameter\c!n\plusfour}
\setvalue{\??itemgroupkeyword\v!five }{\letitemgroupparameter\c!n\plusfive}
+\setvalue{\??itemgroupkeyword\v!six }{\letitemgroupparameter\c!n\plussix}
+\setvalue{\??itemgroupkeyword\v!seven }{\letitemgroupparameter\c!n\plusseven}
+\setvalue{\??itemgroupkeyword\v!eight }{\letitemgroupparameter\c!n\pluseight}
+\setvalue{\??itemgroupkeyword\v!nine }{\letitemgroupparameter\c!n\plusnine}
\setvalue{\??itemgroupkeyword\v!standard }{\setupcurrentitemgroup
[\c!width=1.5em,\c!factor=0,\c!distance=.5em,\c!inner=,\c!factor=0,%
\c!beforehead=,\c!afterhead=\blank,%
diff --git a/tex/context/base/mkiv/strc-ref.lua b/tex/context/base/mkiv/strc-ref.lua
index 0cb9962d3..2d6f3837b 100644
--- a/tex/context/base/mkiv/strc-ref.lua
+++ b/tex/context/base/mkiv/strc-ref.lua
@@ -1896,7 +1896,7 @@ implement {
name = "setinnerreferencemethod",
actions = references.setinnermethod,
arguments = "string",
- onlyonce = true
+ -- onlyonce = true
}
function references.getinnermethod()
diff --git a/tex/context/base/mkiv/supp-box.mkiv b/tex/context/base/mkiv/supp-box.mkiv
index e36671277..a302076f2 100644
--- a/tex/context/base/mkiv/supp-box.mkiv
+++ b/tex/context/base/mkiv/supp-box.mkiv
@@ -217,7 +217,7 @@
\unexpanded\def\syst_boxes_math_set_nextbox#1%
{\c_boxes_math_style\mathstyle
- \setbox\nextbox\hbox{$\mathsurround\zeropoint\triggermathstyle\c_boxes_math_style{#1}$}}
+ \setbox\nextbox\hbox{\normalstartimath\mathsurround\zeropoint\triggermathstyle\c_boxes_math_style{#1}\normalstopimath}}
%D \macros
%D {smash}
@@ -734,9 +734,9 @@
\def\dollap{\begingroup\dowithnextboxcs\dodollap\hbox}
\def\doclap{\begingroup\dowithnextboxcs\dodoclap\hbox}
-\def\domathclap{\mathpalette\dodomathclap} \def\dodomathclap#1#2{\doclap{$\mathsurround\zeropoint#1#2$}}
-\def\domathllap{\mathpalette\dodomathllap} \def\dodomathllap#1#2{\dollap{$\mathsurround\zeropoint#1#2$}}
-\def\domathrlap{\mathpalette\dodomathrlap} \def\dodomathrlap#1#2{\dorlap{$\mathsurround\zeropoint#1#2$}}
+\def\domathclap{\mathpalette\dodomathclap} \def\dodomathclap#1#2{\doclap{\normalstartimath\mathsurround\zeropoint#1#2\normalstopimath}}
+\def\domathllap{\mathpalette\dodomathllap} \def\dodomathllap#1#2{\dollap{\normalstartimath\mathsurround\zeropoint#1#2\normalstopimath}}
+\def\domathrlap{\mathpalette\dodomathrlap} \def\dodomathrlap#1#2{\dorlap{\normalstartimath\mathsurround\zeropoint#1#2\normalstopimath}}
\unexpanded\def\rlap{\mathortext\domathrlap\dorlap}
\unexpanded\def\llap{\mathortext\domathllap\dollap}
@@ -2735,7 +2735,7 @@
\dowithnextboxcs\syst_boxes_vcenter_finish\vbox}
\def\syst_boxes_vcenter_finish
- {\hpack{$\normalvcenter{\box\nextbox}$}%
+ {\hpack{\normalstartimath\normalvcenter{\box\nextbox}\normalstopimath}%
\egroup}
% could be \everymathematics
diff --git a/tex/context/base/mkiv/supp-mat.mkiv b/tex/context/base/mkiv/supp-mat.mkiv
index 925f25cc4..b265a7c5a 100644
--- a/tex/context/base/mkiv/supp-mat.mkiv
+++ b/tex/context/base/mkiv/supp-mat.mkiv
@@ -44,14 +44,14 @@
%D \def\MyPlus{\mathematics{\,+\,}}
%D \stoptyping
%D
-%D Which is implemented as:
-
-\let\normalsuperscript \Usuperscript
-\let\normalsubscript \Usubscript
-\let\normalstartimath \Ustartmath
-\let\normalstopimath \Ustopmath
-\let\normalstartdmath \Ustartdisplaymath
-\let\normalstopdmath \Ustopdisplaymath
+%D Which is implemented (in \type{syst-ini.mkiv}) as:
+
+% \let\normalsuperscript\Usuperscript
+% \let\normalsubscript \Usubscript
+% \let\normalstartimath \Ustartmath
+% \let\normalstopimath \Ustopmath
+% \let\normalstartdmath \Ustartdisplaymath
+% \let\normalstopdmath \Ustopdisplaymath
% \unexpanded\def\Ustartdisplaymath
% {\ifinner
diff --git a/tex/context/base/mkiv/supp-vis.mkiv b/tex/context/base/mkiv/supp-vis.mkiv
index de7c4288d..8b9420162 100644
--- a/tex/context/base/mkiv/supp-vis.mkiv
+++ b/tex/context/base/mkiv/supp-vis.mkiv
@@ -1415,7 +1415,9 @@
{\dontinterfere
\dontcomplain
\setbox\boxrulescratchbox\normalhbox
- {$\normalmkern\ifnegative-\fi\scratchskip$}%
+ {\normalstartimath
+ \normalmkern\ifnegative-\fi\scratchskip
+ \normalstopimath}%
\setbox\boxrulescratchbox\normalhbox to \wd\boxrulescratchbox
{\visualvrule
\s!height16\testrulewidth
diff --git a/tex/context/base/mkiv/syst-ini.mkiv b/tex/context/base/mkiv/syst-ini.mkiv
index f461c0e47..710ba13f9 100644
--- a/tex/context/base/mkiv/syst-ini.mkiv
+++ b/tex/context/base/mkiv/syst-ini.mkiv
@@ -1122,4 +1122,13 @@
\expandafter\edef\csname ??#1\endcsname{\v_interfaces_prefix_template_system}%
\fi}
+%D It makes more sense to have these here:
+
+\let\normalsuperscript\Usuperscript
+\let\normalsubscript \Usubscript
+\let\normalstartimath \Ustartmath
+\let\normalstopimath \Ustopmath
+\let\normalstartdmath \Ustartdisplaymath
+\let\normalstopdmath \Ustopdisplaymath
+
\protect \endinput
diff --git a/tex/context/base/mkiv/tabl-tab.mkiv b/tex/context/base/mkiv/tabl-tab.mkiv
index c8ddd131e..2fee8a5ab 100644
--- a/tex/context/base/mkiv/tabl-tab.mkiv
+++ b/tex/context/base/mkiv/tabl-tab.mkiv
@@ -131,10 +131,13 @@
\def\!tfSetWidth
{\ifx\!tfRowOfWidths\empty % true if no prior "w" keys
\ifnum\!taColumnNumber>\zerocount % true if "w" key is to right of first "|"
- \begingroup % RowOfWidths={&\omit || n copies of &\omit&\omit}, where n = number of column to the left of this one
- \scratchcounter\plusone
- \aftergroup \edef \aftergroup \!tfRowOfWidths \aftergroup {%
- \aftergroup &\aftergroup \omit
+ \begingroup % RowOfWidths={\aligntab\omit || n copies of \aligntab\omit\aligntab#\omit}, where n = number of column to the left of this one
+ \scratchcounter\plusone
+ \aftergroup\edef
+ \aftergroup\!tfRowOfWidths
+ \aftergroup{%
+ \aftergroup\aligntab
+ \aftergroup\omit
\!thLoop
\ifnum \scratchcounter<\!taColumnNumber
\advance\scratchcounter\plusone
@@ -150,7 +153,7 @@
\expandafter\!tfSetWidthValue
\fi}
-\def\!tfAOAO{&\omit&\omit}
+\def\!tfAOAO{\aligntab\omit\aligntab\omit}
\def\!tfSetWidthText[#1]%
{\def\!tfWidthText{#1}%
@@ -201,7 +204,7 @@
\else
\!tgValue
\fi
- ####%
+ \alignmark\alignmark\alignmark\alignmark
\hfil
\the\!taRuleColumnTemplate}%
\!tfAdjoinPriorColumn}
@@ -223,13 +226,13 @@
\!tfUpdateRowOfWidths
\fi
\!thToksEdef\!taDataColumnTemplate{\the\!taLeftGlue\the\!taDataColumnTemplate\the\!taRightGlue}%
- \!thToksEdef\!taPreamble{\the\!taPreamble&\the\!taDataColumnTemplate&\the\!taRuleColumnTemplate}%
+ \!thToksEdef\!taPreamble{\the\!taPreamble\aligntab\the\!taDataColumnTemplate\aligntab\the\!taRuleColumnTemplate}%
\fi
\advance \!taColumnNumber \plusone
\if!taOnceOnlyTabskip
- \!thToksEdef\!taDataColumnTemplate{####\tabskip \the\!taLastRegularTabskip}%
+ \!thToksEdef\!taDataColumnTemplate{\alignmark\alignmark\alignmark\alignmark\tabskip\the\!taLastRegularTabskip}%
\else
- \!taDataColumnTemplate{##}%
+ \!taDataColumnTemplate{\alignmark\alignmark}%
\fi
\!taRuleColumnTemplate\emptytoks
\!taLeftGlue{\hfil}%
@@ -245,12 +248,12 @@
\fi
\edef\!tfRowOfWidths
{\!tfRowOfWidths
- &%
+ \aligntab
\omit
\ifdim \!taMinimumColumnWidth>\zeropoint
\hskip \the\!taMinimumColumnWidth
\fi
- &
+ \aligntab
\omit}}
\def\!tfComputeMinColWidth
@@ -261,13 +264,18 @@
\!taMinimumColumnWidth=\wd0 }
\def\!tfFinishFormat
- {\!thToksEdef\!taPreamble{####\tabskip\tablelefttabskip&\the\!taPreamble \tabskip\tablerighttabskip&####\tabskip\zeropoint\cr}
+ {\!thToksEdef\!taPreamble{%
+ \alignmark\alignmark\alignmark\alignmark\tabskip\tablelefttabskip
+ \aligntab
+ \the\!taPreamble\tabskip\tablerighttabskip
+ \aligntab
+ \alignmark\alignmark\alignmark\alignmark\tabskip\zeropoint\cr}
\!taBeginFormatfalse
\!ttDoHalign}
\def\dotablereformat[#1]% will become local
{\omit
- \!taDataColumnTemplate{##}%
+ \!taDataColumnTemplate{\alignmark\alignmark}%
\!taLeftGlue\emptytoks
\!taRightGlue\emptytoks
\begingroup
@@ -393,7 +401,7 @@
\fi}%
\!ttemp}
-\def\newtableformatkey #1{\setvalue{!tk<\string#1>}}
+\def\newtableformatkey #1{\setvalue{!tk<\string#1>}}
\def\doreadtableformatkeys#1{\getvalue{!tk<\string#1>}}
% Key "b": b{TOKENS} adds TOKENS to the left of (before) the template
@@ -498,12 +506,12 @@
% Key "m": Math mode.
\newtableformatkey m%
- {\doreadtableformatkeys b$ a$}
+ {\doreadtableformatkeys b{\normalstartimath} a{\normalstopimath}}
% Key "M": Displaymath mode.
\newtableformatkey M%
- {\doreadtableformatkeys \{ b{$\displaystyle} a$}
+ {\doreadtableformatkeys \{ b{\normalstartimath\displaystyle} a{\normalstopimath}}
% Key "\m": Template ${}#\hfil$
\newtableformatkey \m%
@@ -777,7 +785,7 @@
\!TsFinishEnlarge}
\def\!TsEnlargeMath#1#2%
- {\setbox\scratchbox\hbox{$\mathsurround\zeropoint#1{#2}$}%
+ {\setbox\scratchbox\hbox{\normalstartimath\mathsurround\zeropoint#1{#2}\normalstopimath}%
\!TsFinishEnlarge}
\def\!TsFinishEnlarge
@@ -814,9 +822,12 @@
\else\if#1b%
\vbox
\else
- \def\dotablestandardend{\egroup$\egroup}%
- %$\vcenter
- \scratchtoks\everymath\everymath\emptytoks$\everymath\scratchtoks\vcenter
+ \def\dotablestandardend{\egroup\normalstopimath\egroup}%
+ \scratchtoks\everymath
+ \everymath\emptytoks
+ \normalstartimath
+ \everymath\scratchtoks
+ \vcenter
\fi\fi
\bgroup % for the \vtop, \vbox, or \vcenter
\fi
@@ -903,10 +914,10 @@
\hskip\@VLd}
\def\donormaltablesimplebar
- {\unskip\!ttRightGlue&&}
+ {\unskip\!ttRightGlue\aligntab\aligntab}
\def\donormaltablecomplexbar
- {\unskip\!ttRightGlue&\omit
+ {\unskip\!ttRightGlue\aligntab\omit
\hfil
\ifx\tablecurrentvrulecolor\empty\else
\switchtocolor[\tablecurrentvrulecolor]%
@@ -921,16 +932,16 @@
\fi
\global\let\tablecurrentvrulecolor\empty
\hfil
- &}
+ \aligntab}
\def\donormaltablenobar
- {\unskip\!ttRightGlue&\omit&}
+ {\unskip\!ttRightGlue\aligntab\omit\aligntab}
\def\donormaltablesinglerule
- {&\donormaltablelongrule&}
+ {\aligntab\donormaltablelongrule\aligntab}
\def\donormaltablemultirule
- {&\!ttuse\tabledrulespan\donormaltablelongrule&}
+ {\aligntab\!ttuse\tabledrulespan\donormaltablelongrule\aligntab}
% USE
@@ -1039,7 +1050,7 @@
\!thFinishVCS}
\def\!thDoMathVCS#1#2%
- {\setbox\zerocount\hbox{$\mathsurround\zeropoint#1{#2}$}%
+ {\setbox\zerocount\hbox{\normalstartimath\mathsurround\zeropoint#1{#2}\normalstopimath}%
\!thFinishVCS}
\def\!thFinishVCS
@@ -1078,7 +1089,7 @@
\!thFinishRaise} % From Plain TeX: \ht0=0pt \dp0=0pt \box0
\def\!thDoMathRaise#1#2%
- {\setbox\zerocount\hbox{\raise \!taDimenA\hbox{$\mathsurround\zeropoint#1{#2}$}}%
+ {\setbox\zerocount\hbox{\raise \!taDimenA\hbox{\normalstartimath\mathsurround\zeropoint#1{#2}\normalstopimath}}%
\!thFinishRaise}
\def\!thFinishRaise
diff --git a/tex/context/base/mkiv/tabl-tbl.mkiv b/tex/context/base/mkiv/tabl-tbl.mkiv
index f7305b5bb..23d8002d6 100644
--- a/tex/context/base/mkiv/tabl-tbl.mkiv
+++ b/tex/context/base/mkiv/tabl-tbl.mkiv
@@ -630,10 +630,11 @@
\tabl_tabulate_set_preamble}
\installtabulatepreambleoption{R}{\t_tabl_tabulate_font{\rm}%
\tabl_tabulate_set_preamble}
-\installtabulatepreambleoption{m}{\t_tabl_tabulate_bmath{$}%
- \t_tabl_tabulate_emath{$}%
+\installtabulatepreambleoption{m}{\t_tabl_tabulate_bmath{\normalstartimath}%
+ \t_tabl_tabulate_emath{\normalstopimath}%
\tabl_tabulate_set_preamble}
-\installtabulatepreambleoption{M}{\t_tabl_tabulate_bmath{$\displaystyle}\t_tabl_tabulate_emath{$}%
+\installtabulatepreambleoption{M}{\t_tabl_tabulate_bmath{\normalstartimath\displaystyle}%
+ \t_tabl_tabulate_emath{\normalstopimath}%
\tabl_tabulate_set_preamble}
\installtabulatepreambleoption{h}{\tabl_tabulate_set_hook}
\installtabulatepreambleoption{b}{\tabl_tabulate_set_before}
diff --git a/tex/context/base/mkiv/trac-jus.mkiv b/tex/context/base/mkiv/trac-jus.mkiv
index d0823d311..71d88b00e 100644
--- a/tex/context/base/mkiv/trac-jus.mkiv
+++ b/tex/context/base/mkiv/trac-jus.mkiv
@@ -1,6 +1,6 @@
%D \module
%D [ file=trac-jus,
-%D version=2112.11.27,
+%D version=2012.11.27,
%D title=\CONTEXT\ Tracing Macros,
%D subtitle=Justification,
%D author=Hans Hagen,
diff --git a/tex/context/interface/common/keys-cs.xml b/tex/context/interface/common/keys-cs.xml
index 9cea5865e..03d3d9f7e 100644
--- a/tex/context/interface/common/keys-cs.xml
+++ b/tex/context/interface/common/keys-cs.xml
@@ -170,6 +170,7 @@
<cd:variable name='down' value='down'/>
<cd:variable name='each' value='kazdy'/>
<cd:variable name='edge' value='hrana'/>
+ <cd:variable name='eight' value='eight'/>
<cd:variable name='embed' value='embed'/>
<cd:variable name='empty' value='prazdne'/>
<cd:variable name='end' value='end'/>
@@ -357,6 +358,7 @@
<cd:variable name='nextoddpage' value='dalsilichastranka'/>
<cd:variable name='nextpage' value='dalsistranka'/>
<cd:variable name='nextsubpage' value='dalsipodstranka'/>
+ <cd:variable name='nine' value='nine'/>
<cd:variable name='no' value='ne'/>
<cd:variable name='nocheck' value='nocheck'/>
<cd:variable name='nodepth' value='nodepth'/>
@@ -473,6 +475,7 @@
<cd:variable name='serifnormal' value='serifnormal'/>
<cd:variable name='serried' value='semknuto'/>
<cd:variable name='setups' value='setups'/>
+ <cd:variable name='seven' value='seven'/>
<cd:variable name='sheet' value='sheet'/>
<cd:variable name='shiftdown' value='shiftdown'/>
<cd:variable name='shiftup' value='shiftup'/>
@@ -480,6 +483,7 @@
<cd:variable name='simplefonts' value='simplefonts'/>
<cd:variable name='simplelist' value='simplelist'/>
<cd:variable name='singlesided' value='jednostranne'/>
+ <cd:variable name='six' value='six'/>
<cd:variable name='slanted' value='sklonene'/>
<cd:variable name='slantedbold' value='sklonenetucne'/>
<cd:variable name='small' value='male'/>
diff --git a/tex/context/interface/common/keys-de.xml b/tex/context/interface/common/keys-de.xml
index 83557c175..d78e1cbf0 100644
--- a/tex/context/interface/common/keys-de.xml
+++ b/tex/context/interface/common/keys-de.xml
@@ -170,6 +170,7 @@
<cd:variable name='down' value='down'/>
<cd:variable name='each' value='jede'/>
<cd:variable name='edge' value='kante'/>
+ <cd:variable name='eight' value='acht'/>
<cd:variable name='embed' value='embed'/>
<cd:variable name='empty' value='leer'/>
<cd:variable name='end' value='end'/>
@@ -357,6 +358,7 @@
<cd:variable name='nextoddpage' value='naechsteungeradeseite'/>
<cd:variable name='nextpage' value='folgendeseite'/>
<cd:variable name='nextsubpage' value='folgendeunterseite'/>
+ <cd:variable name='nine' value='neun'/>
<cd:variable name='no' value='nein'/>
<cd:variable name='nocheck' value='nocheck'/>
<cd:variable name='nodepth' value='nodepth'/>
@@ -473,6 +475,7 @@
<cd:variable name='serifnormal' value='serifnormal'/>
<cd:variable name='serried' value='kleinerabstand'/>
<cd:variable name='setups' value='setups'/>
+ <cd:variable name='seven' value='sieben'/>
<cd:variable name='sheet' value='sheet'/>
<cd:variable name='shiftdown' value='shiftdown'/>
<cd:variable name='shiftup' value='shiftup'/>
@@ -480,6 +483,7 @@
<cd:variable name='simplefonts' value='simplefonts'/>
<cd:variable name='simplelist' value='simplelist'/>
<cd:variable name='singlesided' value='einzelseitig'/>
+ <cd:variable name='six' value='sechs'/>
<cd:variable name='slanted' value='geneigt'/>
<cd:variable name='slantedbold' value='geneigtfett'/>
<cd:variable name='small' value='klein'/>
diff --git a/tex/context/interface/common/keys-en.xml b/tex/context/interface/common/keys-en.xml
index f9748423d..fae37a36a 100644
--- a/tex/context/interface/common/keys-en.xml
+++ b/tex/context/interface/common/keys-en.xml
@@ -170,6 +170,7 @@
<cd:variable name='down' value='down'/>
<cd:variable name='each' value='each'/>
<cd:variable name='edge' value='edge'/>
+ <cd:variable name='eight' value='eight'/>
<cd:variable name='embed' value='embed'/>
<cd:variable name='empty' value='empty'/>
<cd:variable name='end' value='end'/>
@@ -357,6 +358,7 @@
<cd:variable name='nextoddpage' value='nextoddpage'/>
<cd:variable name='nextpage' value='nextpage'/>
<cd:variable name='nextsubpage' value='nextsubpage'/>
+ <cd:variable name='nine' value='nine'/>
<cd:variable name='no' value='no'/>
<cd:variable name='nocheck' value='nocheck'/>
<cd:variable name='nodepth' value='nodepth'/>
@@ -473,6 +475,7 @@
<cd:variable name='serifnormal' value='serifnormal'/>
<cd:variable name='serried' value='serried'/>
<cd:variable name='setups' value='setups'/>
+ <cd:variable name='seven' value='seven'/>
<cd:variable name='sheet' value='sheet'/>
<cd:variable name='shiftdown' value='shiftdown'/>
<cd:variable name='shiftup' value='shiftup'/>
@@ -480,6 +483,7 @@
<cd:variable name='simplefonts' value='simplefonts'/>
<cd:variable name='simplelist' value='simplelist'/>
<cd:variable name='singlesided' value='singlesided'/>
+ <cd:variable name='six' value='six'/>
<cd:variable name='slanted' value='slanted'/>
<cd:variable name='slantedbold' value='slantedbold'/>
<cd:variable name='small' value='small'/>
diff --git a/tex/context/interface/common/keys-fr.xml b/tex/context/interface/common/keys-fr.xml
index 8d06486a9..337fa4b74 100644
--- a/tex/context/interface/common/keys-fr.xml
+++ b/tex/context/interface/common/keys-fr.xml
@@ -170,6 +170,7 @@
<cd:variable name='down' value='down'/>
<cd:variable name='each' value='chaque'/>
<cd:variable name='edge' value='bord'/>
+ <cd:variable name='eight' value='eight'/>
<cd:variable name='embed' value='embed'/>
<cd:variable name='empty' value='vide'/>
<cd:variable name='end' value='end'/>
@@ -357,6 +358,7 @@
<cd:variable name='nextoddpage' value='pageimpairesuivante'/>
<cd:variable name='nextpage' value='pagesuivante'/>
<cd:variable name='nextsubpage' value='souspagesuivante'/>
+ <cd:variable name='nine' value='nine'/>
<cd:variable name='no' value='non'/>
<cd:variable name='nocheck' value='nonverifie'/>
<cd:variable name='nodepth' value='nodepth'/>
@@ -473,6 +475,7 @@
<cd:variable name='serifnormal' value='serifnormal'/>
<cd:variable name='serried' value='serried'/>
<cd:variable name='setups' value='setups'/>
+ <cd:variable name='seven' value='seven'/>
<cd:variable name='sheet' value='sheet'/>
<cd:variable name='shiftdown' value='shiftdown'/>
<cd:variable name='shiftup' value='shiftup'/>
@@ -480,6 +483,7 @@
<cd:variable name='simplefonts' value='simplefonts'/>
<cd:variable name='simplelist' value='simplelist'/>
<cd:variable name='singlesided' value='recto'/>
+ <cd:variable name='six' value='six'/>
<cd:variable name='slanted' value='incline'/>
<cd:variable name='slantedbold' value='grasincline'/>
<cd:variable name='small' value='petit'/>
diff --git a/tex/context/interface/common/keys-it.xml b/tex/context/interface/common/keys-it.xml
index 2df7c0021..164b46c1d 100644
--- a/tex/context/interface/common/keys-it.xml
+++ b/tex/context/interface/common/keys-it.xml
@@ -170,6 +170,7 @@
<cd:variable name='down' value='down'/>
<cd:variable name='each' value='ogni'/>
<cd:variable name='edge' value='bordo'/>
+ <cd:variable name='eight' value='eight'/>
<cd:variable name='embed' value='embed'/>
<cd:variable name='empty' value='vuoto'/>
<cd:variable name='end' value='end'/>
@@ -357,6 +358,7 @@
<cd:variable name='nextoddpage' value='paginadisparisuccessiva'/>
<cd:variable name='nextpage' value='paginasuccessiva'/>
<cd:variable name='nextsubpage' value='sottopaginasuccessiva'/>
+ <cd:variable name='nine' value='nine'/>
<cd:variable name='no' value='no'/>
<cd:variable name='nocheck' value='nocheck'/>
<cd:variable name='nodepth' value='nodepth'/>
@@ -473,6 +475,7 @@
<cd:variable name='serifnormal' value='serifnormal'/>
<cd:variable name='serried' value='vicino'/>
<cd:variable name='setups' value='setups'/>
+ <cd:variable name='seven' value='seven'/>
<cd:variable name='sheet' value='sheet'/>
<cd:variable name='shiftdown' value='shiftdown'/>
<cd:variable name='shiftup' value='shiftup'/>
@@ -480,6 +483,7 @@
<cd:variable name='simplefonts' value='simplefonts'/>
<cd:variable name='simplelist' value='simplelist'/>
<cd:variable name='singlesided' value='facciasingola'/>
+ <cd:variable name='six' value='six'/>
<cd:variable name='slanted' value='inclinato'/>
<cd:variable name='slantedbold' value='inclinatograssetto'/>
<cd:variable name='small' value='piccolo'/>
diff --git a/tex/context/interface/common/keys-nl.xml b/tex/context/interface/common/keys-nl.xml
index d95a4e107..85d77e419 100644
--- a/tex/context/interface/common/keys-nl.xml
+++ b/tex/context/interface/common/keys-nl.xml
@@ -170,6 +170,7 @@
<cd:variable name='down' value='omlaag'/>
<cd:variable name='each' value='elk'/>
<cd:variable name='edge' value='rand'/>
+ <cd:variable name='eight' value='acht'/>
<cd:variable name='embed' value='sluitin'/>
<cd:variable name='empty' value='leeg'/>
<cd:variable name='end' value='eind'/>
@@ -357,6 +358,7 @@
<cd:variable name='nextoddpage' value='volgendeonevenpagina'/>
<cd:variable name='nextpage' value='volgendepagina'/>
<cd:variable name='nextsubpage' value='volgendesubpagina'/>
+ <cd:variable name='nine' value='negen'/>
<cd:variable name='no' value='nee'/>
<cd:variable name='nocheck' value='geencontrole'/>
<cd:variable name='nodepth' value='nodepth'/>
@@ -473,6 +475,7 @@
<cd:variable name='serifnormal' value='serifnormal'/>
<cd:variable name='serried' value='aanelkaar'/>
<cd:variable name='setups' value='setups'/>
+ <cd:variable name='seven' value='zeven'/>
<cd:variable name='sheet' value='sheet'/>
<cd:variable name='shiftdown' value='shiftdown'/>
<cd:variable name='shiftup' value='shiftup'/>
@@ -480,6 +483,7 @@
<cd:variable name='simplefonts' value='simplefonts'/>
<cd:variable name='simplelist' value='simplelist'/>
<cd:variable name='singlesided' value='enkelzijdig'/>
+ <cd:variable name='six' value='zes'/>
<cd:variable name='slanted' value='schuin'/>
<cd:variable name='slantedbold' value='schuinvet'/>
<cd:variable name='small' value='klein'/>
diff --git a/tex/context/interface/common/keys-pe.xml b/tex/context/interface/common/keys-pe.xml
index 248cf4db7..3bb8907b3 100644
--- a/tex/context/interface/common/keys-pe.xml
+++ b/tex/context/interface/common/keys-pe.xml
@@ -170,6 +170,7 @@
<cd:variable name='down' value='down'/>
<cd:variable name='each' value='هر'/>
<cd:variable name='edge' value='لبه'/>
+ <cd:variable name='eight' value='eight'/>
<cd:variable name='embed' value='embed'/>
<cd:variable name='empty' value='تهی'/>
<cd:variable name='end' value='end'/>
@@ -357,6 +358,7 @@
<cd:variable name='nextoddpage' value='صفحه‌فردبعدی'/>
<cd:variable name='nextpage' value='صفحه‌بعدی'/>
<cd:variable name='nextsubpage' value='زیرصفحه‌بعدی'/>
+ <cd:variable name='nine' value='nine'/>
<cd:variable name='no' value='نه'/>
<cd:variable name='nocheck' value='بدون‌بررسی'/>
<cd:variable name='nodepth' value='nodepth'/>
@@ -473,6 +475,7 @@
<cd:variable name='serifnormal' value='serifnormal'/>
<cd:variable name='serried' value='تنگ‌هم'/>
<cd:variable name='setups' value='setups'/>
+ <cd:variable name='seven' value='seven'/>
<cd:variable name='sheet' value='ورقه'/>
<cd:variable name='shiftdown' value='shiftdown'/>
<cd:variable name='shiftup' value='shiftup'/>
@@ -480,6 +483,7 @@
<cd:variable name='simplefonts' value='simplefonts'/>
<cd:variable name='simplelist' value='simplelist'/>
<cd:variable name='singlesided' value='یک‌رو'/>
+ <cd:variable name='six' value='six'/>
<cd:variable name='slanted' value='خوابیده'/>
<cd:variable name='slantedbold' value='مشکی‌خوابیده'/>
<cd:variable name='small' value='کوچک'/>
diff --git a/tex/context/interface/common/keys-ro.xml b/tex/context/interface/common/keys-ro.xml
index 232101d71..7ff3494aa 100644
--- a/tex/context/interface/common/keys-ro.xml
+++ b/tex/context/interface/common/keys-ro.xml
@@ -170,6 +170,7 @@
<cd:variable name='down' value='down'/>
<cd:variable name='each' value='fiecare'/>
<cd:variable name='edge' value='bordura'/>
+ <cd:variable name='eight' value='eight'/>
<cd:variable name='embed' value='embed'/>
<cd:variable name='empty' value='gol'/>
<cd:variable name='end' value='end'/>
@@ -357,6 +358,7 @@
<cd:variable name='nextoddpage' value='paginaimparaurmatoarea'/>
<cd:variable name='nextpage' value='paginaurmatoare'/>
<cd:variable name='nextsubpage' value='urmatoareasubpagina'/>
+ <cd:variable name='nine' value='nine'/>
<cd:variable name='no' value='nu'/>
<cd:variable name='nocheck' value='nocheck'/>
<cd:variable name='nodepth' value='nodepth'/>
@@ -473,6 +475,7 @@
<cd:variable name='serifnormal' value='serifnormal'/>
<cd:variable name='serried' value='serried'/>
<cd:variable name='setups' value='setups'/>
+ <cd:variable name='seven' value='seven'/>
<cd:variable name='sheet' value='sheet'/>
<cd:variable name='shiftdown' value='shiftdown'/>
<cd:variable name='shiftup' value='shiftup'/>
@@ -480,6 +483,7 @@
<cd:variable name='simplefonts' value='simplefonts'/>
<cd:variable name='simplelist' value='simplelist'/>
<cd:variable name='singlesided' value='ofata'/>
+ <cd:variable name='six' value='six'/>
<cd:variable name='slanted' value='inclinat'/>
<cd:variable name='slantedbold' value='inclinataldin'/>
<cd:variable name='small' value='mic'/>
diff --git a/tex/context/modules/mkiv/m-format.mkiv b/tex/context/modules/mkiv/m-format.mkiv
index 7cedd803f..f9dd348a4 100644
--- a/tex/context/modules/mkiv/m-format.mkiv
+++ b/tex/context/modules/mkiv/m-format.mkiv
@@ -333,8 +333,8 @@
\c!leftoffset=3em,
\c!rightoffset=2em,
\c!minwidth=5em,
- \c!left={$[$\enspace},
- \c!right={\enspace$]$}]
+ \c!left={\mathematics{[}\enspace},
+ \c!right={\enspace\mathematics{]}}]
\defineformatline[line]
[]
diff --git a/tex/context/modules/mkiv/m-units.mkiv b/tex/context/modules/mkiv/m-units.mkiv
index b0db8d548..f85a8ba8a 100644
--- a/tex/context/modules/mkiv/m-units.mkiv
+++ b/tex/context/modules/mkiv/m-units.mkiv
@@ -260,7 +260,9 @@
{\iftextdimensions
\tx\thedimensionpower
\else
- $\scriptstyle\thedimensionpower$%
+ \normalstartimath
+ \scriptstyle\thedimensionpower
+ \normalstopimath
\fi}%
\ht\scratchbox=\zeropoint
\dodimensionpower{\box\scratchbox}%
diff --git a/tex/context/modules/mkiv/x-chemml.mkiv b/tex/context/modules/mkiv/x-chemml.mkiv
index bb9065921..f0511206e 100644
--- a/tex/context/modules/mkiv/x-chemml.mkiv
+++ b/tex/context/modules/mkiv/x-chemml.mkiv
@@ -24,14 +24,12 @@
\unprotect
\startxmlsetups xml:cml:process
- \xmlstrip {#1} {cml:chem|cml:ichem|cml:dchem|cml:reaction|cml:molecule|cml:ion|cml:structure}
-
- \xmlgrab {#1} {cml:*} {cml:*}
- \xmlgrab {#1} {cml:gives|cml:equilibrium|cml:mesomeric} {cml:arrow}
- \xmlgrab {#1} {cml:plus|cml:minus|cml:equal} {cml:operator}
- \xmlgrab {#1} {cml:bond|cml:singlebond|cml:doublebound|cml:triplebond} {cml:bond}
-
- \xmlgrab {#1} {pi::chemml} {cml:pi}
+ \xmlstrip {#1} {cml:chem|cml:ichem|cml:dchem|cml:reaction|cml:molecule|cml:ion|cml:structure}
+ \xmlsetsetup {#1} {cml:*} {cml:*}
+ \xmlsetsetup {#1} {cml:gives|cml:equilibrium|cml:mesomeric} {cml:arrow}
+ \xmlsetsetup {#1} {cml:plus|cml:minus|cml:equal} {cml:operator}
+ \xmlsetsetup {#1} {cml:bond|cml:singlebond|cml:doublebound|cml:triplebond} {cml:bond}
+ \xmlsetsetup {#1} {pi::chemml} {cml:pi}
\stopxmlsetups
\xmlregistersetup{xml:cml:process}
@@ -97,15 +95,23 @@
\startxmlsetups cml:atom
\doCMLtext {
\lohi {
- $\tfxx\xmlatt{#1}{protons}$
+ \normalstartimath
+ \tfxx\xmlatt{#1}{protons}%
+ \normalstopimath
} {
- $\tfxx\xmlatt{#1}{weight}$
+ \normalstartimath
+ \tfxx\xmlatt{#1}{weight}%
+ \normalstopimath
}
\xmlflush{#1}
\lohi {
- $\tfxx\xmlatt{#1}{n}$
+ \normalstartimath
+ \tfxx\xmlatt{#1}{n}%
+ \normalstopimath
} {
- $\tfxx\xmlatt{#1}{charge}$%
+ \normalstartimath
+ \tfxx\xmlatt{#1}{charge}%
+ \normalstopimath
}
}
{\xmlindex{#1}{cml:caption}{2}}
@@ -167,7 +173,7 @@
\def\dodoCMLbond#1#2#3%
{\begingroup
- \setbox\scratchbox\hbox{$M$}%
+ \setbox\scratchbox\hbox{\normalstartimath M\normalstopimath}%
\vbox to \ht\scratchbox
{\hsize\wd\scratchbox
\vskip.1\wd\scratchbox
diff --git a/tex/generic/context/luatex/luatex-fonts-demo-vf-4.lua b/tex/generic/context/luatex/luatex-fonts-demo-vf-4.lua
new file mode 100644
index 000000000..00fc636a1
--- /dev/null
+++ b/tex/generic/context/luatex/luatex-fonts-demo-vf-4.lua
@@ -0,0 +1,76 @@
+
+return function(specification)
+ local t = { }
+ for k, v in pairs(specification.features.normal) do
+ local n = tonumber(k)
+ if n then
+ t[n] = v
+ end
+ end
+ for k, v in ipairs(t) do
+ local name, rest = string.match(v,"^(.-){(.*)}$")
+ if rest then
+ t[k] = { name = name, list = { } }
+ for s in string.gmatch(rest,"([^%+]+)") do
+ local b, e = string.match(s,"^(.-)%-(.*)$")
+ if b and e then
+ b = tonumber(b)
+ e = tonumber(e)
+ else
+ b = tonumber(s)
+ e = b
+ end
+ if b and e then
+ table.insert(t[k].list,{ b = b, e = e })
+ end
+ end
+ else
+ t[k] = { name = v }
+ end
+ end
+ local ids = { }
+ for k, v in ipairs(t) do
+ local f, id
+ if tonumber(v.name) then
+ id = tonumber(v.name)
+ f = fonts.hashes.identifiers[id]
+ else
+ f, id = fonts.constructors.readanddefine(v.name,specification.size)
+ end
+ v.f = f
+ ids[k] = { id = id }
+ end
+ local one = t[1].f
+ if one then
+ one.properties.name = specification.name
+ one.properties.virtualized = true
+ one.fonts = ids
+ local chr = one.characters
+ for n, v in ipairs(t) do
+ if n == 1 then
+ -- use font 1 as base
+ elseif v.list and #v.list > 0 then
+ local chrs = v.f.characters
+ for k, v in ipairs(v.list) do
+ for u=v.b,v.e do
+ local c = chrs[u]
+ if c then
+ c.commands = {
+ { 'slot', n, u },
+ }
+ chr[u] = c
+ end
+ end
+ end
+ else
+ for u, c in ipairs(v.f.characters) do
+ c.commands = {
+ { 'slot', n, u },
+ }
+ chr[u] = c
+ end
+ end
+ end
+ end
+ return one
+end
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 85d215e19..f10ab239a 100644
--- a/tex/generic/context/luatex/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 02/15/16 10:26:35
+-- merge date : 02/17/16 11:11:24
do -- begin closure to overcome local limits and interference