From 15ab7c153a96a9befc4e2c1774e701f3c941cc2d Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Mon, 2 Apr 2018 16:25:10 +0200 Subject: 2018-04-02 15:51:00 --- .../lexers/data/scite-context-data-context.lua | 2 +- .../lexers/data/scite-context-data-interfaces.lua | 2 +- .../context/lexers/data/scite-context-data-tex.lua | 2 +- .../context/scite-context-data-context.properties | 146 +- .../scite-context-data-interfaces.properties | 1644 +++++++++---------- .../context/scite-context-data-tex.properties | 34 +- .../context/data/scite-context-data-context.lua | 2 +- .../context/data/scite-context-data-interfaces.lua | 2 +- .../context/data/scite-context-data-tex.lua | 2 +- doc/context/documents/general/manuals/luatex.pdf | Bin 1172101 -> 1172923 bytes doc/context/documents/general/qrcs/setup-cs.pdf | Bin 844254 -> 844329 bytes doc/context/documents/general/qrcs/setup-de.pdf | Bin 844110 -> 841953 bytes doc/context/documents/general/qrcs/setup-en.pdf | Bin 848123 -> 846098 bytes doc/context/documents/general/qrcs/setup-fr.pdf | Bin 839791 -> 840714 bytes doc/context/documents/general/qrcs/setup-it.pdf | Bin 845669 -> 842987 bytes .../documents/general/qrcs/setup-mapping-cs.pdf | Bin 358994 -> 359373 bytes .../documents/general/qrcs/setup-mapping-de.pdf | Bin 438373 -> 441447 bytes .../documents/general/qrcs/setup-mapping-en.pdf | Bin 356101 -> 356091 bytes .../documents/general/qrcs/setup-mapping-fr.pdf | Bin 359078 -> 359492 bytes .../documents/general/qrcs/setup-mapping-it.pdf | Bin 357924 -> 358028 bytes .../documents/general/qrcs/setup-mapping-nl.pdf | Bin 357376 -> 356852 bytes .../documents/general/qrcs/setup-mapping-ro.pdf | Bin 624174 -> 610245 bytes doc/context/documents/general/qrcs/setup-nl.pdf | Bin 836763 -> 835566 bytes doc/context/documents/general/qrcs/setup-ro.pdf | Bin 839748 -> 840676 bytes .../general/manuals/hybrid/hybrid-grouping.tex | 2 +- .../general/manuals/hybrid/hybrid-parbuilder.tex | 2 +- .../manuals/languages/languages-sorting.tex | 66 + .../general/manuals/luatex/luatex-enhancements.tex | 5 +- .../sources/general/manuals/luatex/luatex.tex | 4 + .../sources/general/manuals/xml/xml-mkiv.tex | 2 +- scripts/context/lua/mtx-update.lua | 2 + scripts/context/lua/mtxlibs.lua | 26 +- scripts/context/lua/mtxrun.lua | 167 +- scripts/context/stubs/install/first-setup.sh | 6 +- scripts/context/stubs/mswin/mtxrun.lua | 167 +- scripts/context/stubs/setup/setuptex | 141 +- scripts/context/stubs/unix/mtxrun | 167 +- scripts/context/stubs/win64/mtxrun.lua | 167 +- tex/context/base/mkii/cont-new.mkii | 2 +- tex/context/base/mkii/context.mkii | 2 +- tex/context/base/mkiv/anch-pgr.lua | 2 +- tex/context/base/mkiv/attr-ini.lua | 2 +- tex/context/base/mkiv/back-exp.lua | 2 +- tex/context/base/mkiv/buff-ini.lua | 2 +- tex/context/base/mkiv/buff-par.lua | 6 +- tex/context/base/mkiv/char-def.lua | 1194 +++++++++++++- tex/context/base/mkiv/char-tex.lua | 4 +- tex/context/base/mkiv/char-utf.lua | 2 +- tex/context/base/mkiv/chem-str.lua | 4 +- tex/context/base/mkiv/cldf-ini.lua | 72 +- tex/context/base/mkiv/cldf-scn.lua | 4 +- tex/context/base/mkiv/colo-ini.lua | 10 +- tex/context/base/mkiv/cont-new.mkiv | 2 +- tex/context/base/mkiv/context.mkiv | 2 +- tex/context/base/mkiv/core-con.lua | 6 +- tex/context/base/mkiv/core-dat.lua | 10 +- tex/context/base/mkiv/core-sys.lua | 2 +- tex/context/base/mkiv/core-two.lua | 8 +- tex/context/base/mkiv/core-uti.lua | 40 +- tex/context/base/mkiv/file-job.lua | 8 +- tex/context/base/mkiv/file-res.lua | 2 +- tex/context/base/mkiv/file-syn.lua | 4 +- tex/context/base/mkiv/font-cft.lua | 2 + tex/context/base/mkiv/font-col.lua | 4 +- tex/context/base/mkiv/font-con.lua | 28 +- tex/context/base/mkiv/font-ctx.lua | 10 +- tex/context/base/mkiv/font-ext.lua | 194 ++- tex/context/base/mkiv/font-map.lua | 6 +- tex/context/base/mkiv/font-osd.lua | 882 +++++----- tex/context/base/mkiv/font-ota.lua | 10 +- tex/context/base/mkiv/font-ots.lua | 2 +- tex/context/base/mkiv/font-pre.mkiv | 138 +- tex/context/base/mkiv/font-sel.lua | 2 +- tex/context/base/mkiv/grph-fil.lua | 2 +- tex/context/base/mkiv/grph-inc.lua | 4 +- tex/context/base/mkiv/java-ini.lua | 4 +- tex/context/base/mkiv/l-macro.lua | 72 +- tex/context/base/mkiv/l-package.lua | 6 +- tex/context/base/mkiv/l-table.lua | 10 +- tex/context/base/mkiv/lang-hyp.lua | 4 +- tex/context/base/mkiv/lang-ini.lua | 10 +- tex/context/base/mkiv/lang-rep.lua | 4 +- tex/context/base/mkiv/lang-url.lua | 2 +- tex/context/base/mkiv/lang-wrd.lua | 2 +- tex/context/base/mkiv/lpdf-epd.lua | 2 + tex/context/base/mkiv/lpdf-ini.lua | 30 +- tex/context/base/mkiv/lpdf-mis.lua | 32 +- tex/context/base/mkiv/lpdf-pda.xml | 9 +- tex/context/base/mkiv/lpdf-pdx.xml | 9 +- tex/context/base/mkiv/lpdf-pua.xml | 9 +- tex/context/base/mkiv/lpdf-xmp.lua | 123 +- tex/context/base/mkiv/luat-ini.mkiv | 40 +- tex/context/base/mkiv/luat-usr.lua | 4 +- tex/context/base/mkiv/lxml-css.lua | 4 +- tex/context/base/mkiv/lxml-ini.lua | 114 +- tex/context/base/mkiv/lxml-ini.mkiv | 4 + tex/context/base/mkiv/lxml-tex.lua | 44 +- tex/context/base/mkiv/lxml-xml.lua | 23 + tex/context/base/mkiv/math-map.lua | 2 +- tex/context/base/mkiv/math-noa.lua | 3 + tex/context/base/mkiv/meta-grd.mkiv | 220 ++- tex/context/base/mkiv/meta-imp-mat.mkiv | 152 +- tex/context/base/mkiv/meta-ini.mkiv | 6 + tex/context/base/mkiv/meta-tex.lua | 4 +- tex/context/base/mkiv/mlib-ctx.lua | 4 +- tex/context/base/mkiv/mlib-lua.lua | 2 +- tex/context/base/mkiv/mult-aux.lua | 2 +- tex/context/base/mkiv/mult-aux.mkiv | 9 +- tex/context/base/mkiv/mult-chk.lua | 6 +- tex/context/base/mkiv/mult-ini.lua | 20 +- tex/context/base/mkiv/mult-low.lua | 9 +- tex/context/base/mkiv/mult-prm.lua | 1 + tex/context/base/mkiv/pack-obj.lua | 12 +- tex/context/base/mkiv/page-cst.lua | 10 +- tex/context/base/mkiv/page-ini.lua | 2 +- tex/context/base/mkiv/page-inj.mkvi | 20 +- tex/context/base/mkiv/page-ins.lua | 2 +- tex/context/base/mkiv/page-sid.mkiv | 5 +- tex/context/base/mkiv/phys-dim.lua | 2 +- tex/context/base/mkiv/publ-aut.lua | 2 +- tex/context/base/mkiv/publ-ini.lua | 56 +- tex/context/base/mkiv/publ-jrn.lua | 2 +- tex/context/base/mkiv/publ-reg.lua | 4 +- tex/context/base/mkiv/scrn-but.lua | 2 +- tex/context/base/mkiv/scrn-fld.lua | 2 +- tex/context/base/mkiv/scrn-fld.mkvi | 2 +- tex/context/base/mkiv/scrn-pag.mkvi | 13 +- tex/context/base/mkiv/scrn-wid.lua | 2 +- tex/context/base/mkiv/scrp-ini.lua | 2 +- tex/context/base/mkiv/sort-ini.lua | 58 +- tex/context/base/mkiv/spac-ver.lua | 4 +- tex/context/base/mkiv/status-files.pdf | Bin 25832 -> 26081 bytes tex/context/base/mkiv/status-lua.pdf | Bin 254074 -> 255107 bytes tex/context/base/mkiv/strc-bkm.lua | 2 +- tex/context/base/mkiv/strc-blk.lua | 6 +- tex/context/base/mkiv/strc-doc.lua | 8 +- tex/context/base/mkiv/strc-lev.lua | 2 +- tex/context/base/mkiv/strc-lst.lua | 2 +- tex/context/base/mkiv/strc-mar.lua | 20 +- tex/context/base/mkiv/strc-not.lua | 8 +- tex/context/base/mkiv/strc-ref.lua | 18 +- tex/context/base/mkiv/strc-reg.lua | 8 +- tex/context/base/mkiv/strc-syn.lua | 12 +- tex/context/base/mkiv/strc-tag.lua | 17 +- tex/context/base/mkiv/supp-box.lua | 6 +- tex/context/base/mkiv/syst-aux.lua | 24 +- tex/context/base/mkiv/toks-ini.lua | 2 + tex/context/base/mkiv/toks-scn.lua | 18 + tex/context/base/mkiv/trac-ctx.lua | 4 +- tex/context/base/mkiv/trac-inf.lua | 5 +- tex/context/base/mkiv/trac-log.lua | 10 +- tex/context/base/mkiv/typo-inj.lua | 4 +- tex/context/base/mkiv/util-lua.lua | 14 +- tex/context/base/mkiv/util-sql-imp-ffi.lua | 4 +- tex/context/base/mkiv/util-str.lua | 61 +- tex/context/fonts/mkiv/type-imp-modernlatin.mkiv | 69 + tex/context/interface/mkiv/i-context.pdf | Bin 848123 -> 846098 bytes tex/context/interface/mkiv/i-readme.pdf | Bin 60774 -> 61032 bytes tex/context/modules/common/s-faq-01.tex | 12 +- tex/context/modules/common/s-faq-02.tex | 6 +- tex/context/modules/mkiv/m-punk.mkiv | 6 + tex/context/modules/mkiv/s-fonts-basics.mkiv | 175 ++ tex/context/modules/mkiv/s-fonts-overlay.mkiv | 107 ++ tex/context/modules/mkiv/s-fonts-shapes.lua | 115 +- tex/context/modules/mkiv/s-fonts-shapes.mkiv | 6 +- tex/context/modules/mkiv/s-tugboat.mkiv | 15 +- tex/context/modules/mkiv/x-asciimath.lua | 13 +- tex/context/modules/mkiv/x-asciimath.mkiv | 17 + tex/generic/context/luatex/luatex-basics-chr.lua | 1072 +++++++++++++ .../context/luatex/luatex-basics-prepare.tex | 8 +- tex/generic/context/luatex/luatex-fonts-merged.lua | 1680 ++++++++++++++++---- tex/generic/context/luatex/luatex-fonts.lua | 2 +- 172 files changed, 7586 insertions(+), 2611 deletions(-) create mode 100644 tex/context/fonts/mkiv/type-imp-modernlatin.mkiv create mode 100644 tex/context/modules/mkiv/s-fonts-basics.mkiv create mode 100644 tex/context/modules/mkiv/s-fonts-overlay.mkiv 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 3ecca045b..15ce97796 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", "maxcount", "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", "texenginefunctionality", "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", "mathexheight", "mathemwidth", "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", "unexpandeddocumentvariable", "setupdocument", "presetdocument", "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", "lrm", "rlm", "bidilre", "bidirle", "bidipop", "bidilro", "bidirlo", "breakablethinspace", "nobreakspace", "nonbreakablespace", "narrownobreakspace", "zerowidthnobreakspace", "ideographicspace", "ideographichalffillspace", "twoperemspace", "threeperemspace", "fourperemspace", "fiveperemspace", "sixperemspace", "figurespace", "punctuationspace", "hairspace", "enquad", "emquad", "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj", "optionalspace", "asciispacechar", "softhyphen", "Ux", "eUx", "Umathaccents", "parfillleftskip", "parfillrightskip" }, - ["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", "foundtrue", "foundfalse", "inlineordisplaymath", "indisplaymath", "forcedisplaymath", "startforceddisplaymath", "stopforceddisplaymath", "startpickupmath", "stoppickupmath", "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", "privatescratchcounter", "scratchdimen", "globalscratchdimen", "privatescratchdimen", "scratchskip", "globalscratchskip", "privatescratchskip", "scratchmuskip", "globalscratchmuskip", "privatescratchmuskip", "scratchtoks", "globalscratchtoks", "privatescratchtoks", "scratchbox", "globalscratchbox", "privatescratchbox", "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", "scratchcounterfour", "scratchcounterfive", "scratchcountersix", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchdimenfour", "scratchdimenfive", "scratchdimensix", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchskipfour", "scratchskipfive", "scratchskipsix", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchmuskipfour", "scratchmuskipfive", "scratchmuskipsix", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchtoksfour", "scratchtoksfive", "scratchtokssix", "scratchboxone", "scratchboxtwo", "scratchboxthree", "scratchboxfour", "scratchboxfive", "scratchboxsix", "scratchnx", "scratchny", "scratchmx", "scratchmy", "scratchunicode", "scratchmin", "scratchmax", "scratchleftskip", "scratchrightskip", "scratchtopskip", "scratchbottomskip", "doif", "doifnot", "doifelse", "doifinset", "doifnotinset", "doifelseinset", "doifinsetelse", "doifelsenextchar", "doifnextcharelse", "doifelsenextoptional", "doifnextoptionalelse", "doifelsenextoptionalcs", "doifnextoptionalcselse", "doifelsefastoptionalcheck", "doiffastoptionalcheckelse", "doifelsefastoptionalcheckcs", "doiffastoptionalcheckcselse", "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", "doiftext", "doifelsetext", "doiftextelse", "doifnottext", "tracingall", "tracingnone", "loggingall", "removetoks", "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", "endgraf", "endpar", "everyendpar", "reseteverypar", "finishpar", "empty", "null", "space", "quad", "enspace", "emspace", "charspace", "nbsp", "crlf", "obeyspaces", "obeylines", "obeyedspace", "obeyedline", "obeyedtab", "obeyedpage", "normalspace", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", "removepunctuation", "ignoreparskip", "forcestrutdepth", "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", "fastloopindex", "fastloopfinal", "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", "halflinestrut", "noheightstrut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "struthtdp", "strutgap", "begstrut", "endstrut", "lineheight", "leftboundary", "rightboundary", "signalcharacter", "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", "normalnosuperscript", "normalnosubscript", "superscript", "subscript", "nosuperscript", "nosubscript", "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", "lastlinewidth", "assumelongusagecs", "Umathbotaccent", "righttolefthbox", "lefttorighthbox", "righttoleftvbox", "lefttorightvbox", "righttoleftvtop", "lefttorightvtop", "rtlhbox", "ltrhbox", "rtlvbox", "ltrvbox", "rtlvtop", "ltrvtop", "autodirhbox", "autodirvbox", "autodirvtop", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "lefttoright", "righttoleft", "checkedlefttoright", "checkedrighttoleft", "synchronizelayoutdirection", "synchronizedisplaydirection", "synchronizeinlinedirection", "dirlre", "dirrle", "dirlro", "dirrlo", "lesshyphens", "morehyphens", "nohyphens", "dohyphens", "Ucheckedstartdisplaymath", "Ucheckedstopdisplaymath", "break", "nobreak", "allowbreak", "goodbreak", "nospace", "nospacing", "dospacing", "naturalhbox", "naturalvbox", "naturalvtop", "naturalhpack", "naturalvpack", "frule", "compoundhyphenpenalty", "start", "stop" }, + ["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", "foundtrue", "foundfalse", "inlineordisplaymath", "indisplaymath", "forcedisplaymath", "startforceddisplaymath", "stopforceddisplaymath", "startpickupmath", "stoppickupmath", "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", "privatescratchcounter", "scratchdimen", "globalscratchdimen", "privatescratchdimen", "scratchskip", "globalscratchskip", "privatescratchskip", "scratchmuskip", "globalscratchmuskip", "privatescratchmuskip", "scratchtoks", "globalscratchtoks", "privatescratchtoks", "scratchbox", "globalscratchbox", "privatescratchbox", "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", "scratchcounterfour", "scratchcounterfive", "scratchcountersix", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchdimenfour", "scratchdimenfive", "scratchdimensix", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchskipfour", "scratchskipfive", "scratchskipsix", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchmuskipfour", "scratchmuskipfive", "scratchmuskipsix", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchtoksfour", "scratchtoksfive", "scratchtokssix", "scratchboxone", "scratchboxtwo", "scratchboxthree", "scratchboxfour", "scratchboxfive", "scratchboxsix", "scratchnx", "scratchny", "scratchmx", "scratchmy", "scratchunicode", "scratchmin", "scratchmax", "scratchleftskip", "scratchrightskip", "scratchtopskip", "scratchbottomskip", "doif", "doifnot", "doifelse", "doifinset", "doifnotinset", "doifelseinset", "doifinsetelse", "doifelsenextchar", "doifnextcharelse", "doifelsenextoptional", "doifnextoptionalelse", "doifelsenextoptionalcs", "doifnextoptionalcselse", "doifelsefastoptionalcheck", "doiffastoptionalcheckelse", "doifelsefastoptionalcheckcs", "doiffastoptionalcheckcselse", "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", "doiftext", "doifelsetext", "doiftextelse", "doifnottext", "tracingall", "tracingnone", "loggingall", "removetoks", "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", "endgraf", "endpar", "everyendpar", "reseteverypar", "finishpar", "empty", "null", "space", "quad", "enspace", "emspace", "charspace", "nbsp", "crlf", "obeyspaces", "obeylines", "obeyedspace", "obeyedline", "obeyedtab", "obeyedpage", "normalspace", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", "removepunctuation", "ignoreparskip", "forcestrutdepth", "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", "setexpandeddummyparameter", "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", "fastloopindex", "fastloopfinal", "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", "halflinestrut", "noheightstrut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "struthtdp", "strutgap", "begstrut", "endstrut", "lineheight", "leftboundary", "rightboundary", "signalcharacter", "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", "normalnosuperscript", "normalnosubscript", "superscript", "subscript", "nosuperscript", "nosubscript", "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", "installctxfunctioncall", "installprotectedctxfunction", "installprotectedctxfunctioncall", "installctxscanner", "installctxscannercall", "resetctxscanner", "installprotectedctxscanner", "installprotectedctxscannercall", "cldprocessfile", "cldloadfile", "cldcontext", "cldcommand", "carryoverpar", "lastlinewidth", "assumelongusagecs", "Umathbotaccent", "righttolefthbox", "lefttorighthbox", "righttoleftvbox", "lefttorightvbox", "righttoleftvtop", "lefttorightvtop", "rtlhbox", "ltrhbox", "rtlvbox", "ltrvbox", "rtlvtop", "ltrvtop", "autodirhbox", "autodirvbox", "autodirvtop", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "lefttoright", "righttoleft", "checkedlefttoright", "checkedrighttoleft", "synchronizelayoutdirection", "synchronizedisplaydirection", "synchronizeinlinedirection", "dirlre", "dirrle", "dirlro", "dirrlo", "lesshyphens", "morehyphens", "nohyphens", "dohyphens", "Ucheckedstartdisplaymath", "Ucheckedstopdisplaymath", "break", "nobreak", "allowbreak", "goodbreak", "nospace", "nospacing", "dospacing", "naturalhbox", "naturalvbox", "naturalvtop", "naturalhpack", "naturalvpack", "frule", "compoundhyphenpenalty", "start", "stop" }, } \ No newline at end of file diff --git a/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua b/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua index 943d6bcc1..14036ae5d 100644 --- a/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua +++ b/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua @@ -1,5 +1,5 @@ return { - ["common"]={ "AEacute", "AEligature", "AEmacron", "AMSTEX", "Aacute", "Abreve", "Abreveacute", "Abrevedotbelow", "Abrevegrave", "Abrevehook", "Abrevetilde", "Acaron", "Acircumflex", "Acircumflexacute", "Acircumflexdotbelow", "Acircumflexgrave", "Acircumflexhook", "Acircumflextilde", "Adiaeresis", "Adiaeresismacron", "Adotaccent", "Adotaccentmacron", "Adotbelow", "Adoublegrave", "AfterPar", "Agrave", "Ahook", "Ainvertedbreve", "Alpha", "Alphabeticnumerals", "AmSTeX", "Amacron", "And", "Angstrom", "Aogonek", "Aring", "Aringacute", "Arrowvert", "Astroke", "Atilde", "BeforePar", "Beta", "Bhook", "Big", "Bigg", "Biggl", "Biggm", "Biggr", "Bigl", "Bigm", "Bigr", "Box", "Bumpeq", "CONTEXT", "Cacute", "Cap", "Caps", "Ccaron", "Ccedilla", "Ccircumflex", "Cdotaccent", "Character", "Characters", "Chi", "Chook", "ConTeXt", "Context", "ConvertConstantAfter", "ConvertToConstant", "Cstroke", "Cup", "DZcaronligature", "DZligature", "Dafrican", "Dcaron", "Ddownarrow", "Delta", "Dhook", "Doteq", "Downarrow", "Dstroke", "Dzcaronligature", "Dzligature", "ETEX", "Eacute", "Ebreve", "Ecaron", "Ecedilla", "Ecircumflex", "Ecircumflexacute", "Ecircumflexdotbelow", "Ecircumflexgrave", "Ecircumflexhook", "Ecircumflextilde", "Ediaeresis", "Edotaccent", "Edotbelow", "Edoublegrave", "Egrave", "Ehook", "Einvertedbreve", "Emacron", "Eogonek", "Epsilon", "Eta", "Eth", "Etilde", "Eulerconst", "EveryLine", "EveryPar", "Fhook", "Finv", "Gacute", "Game", "Gamma", "Gbreve", "Gcaron", "Gcircumflex", "Gcommaaccent", "Gdotaccent", "GetPar", "Ghook", "GotoPar", "Greeknumerals", "Gstroke", "Hat", "Hcaron", "Hcircumflex", "Hstroke", "IJligature", "INRSTEX", "Iacute", "Ibreve", "Icaron", "Icircumflex", "Idiaeresis", "Idotaccent", "Idotbelow", "Idoublegrave", "Igrave", "Ihook", "Iinvertedbreve", "Im", "Imacron", "Iogonek", "Iota", "Istroke", "Itilde", "Jcircumflex", "Join", "Kappa", "Kcaron", "Kcommaaccent", "Khook", "LAMSTEX", "LATEX", "LJligature", "LUAJITTEX", "LUATEX", "LaTeX", "Lacute", "LamSTeX", "Lambda", "Lbar", "Lcaron", "Lcommaaccent", "Ldotmiddle", "Ldsh", "Leftarrow", "Leftrightarrow", "Ljligature", "Lleftarrow", "Longleftarrow", "Longleftrightarrow", "Longmapsfrom", "Longmapsto", "Longrightarrow", "Lsh", "Lstroke", "Lua", "LuaTeX", "LuajitTeX", "METAFONT", "METAFUN", "METAPOST", "MKII", "MKIV", "MKIX", "MKVI", "MKXI", "MONTH", "MONTHLONG", "MONTHSHORT", "MPII", "MPIV", "MPVI", "MPanchor", "MPbetex", "MPc", "MPcode", "MPcolor", "MPcoloronly", "MPcolumn", "MPd", "MPdrawing", "MPfontsizehskip", "MPgetmultipars", "MPgetmultishape", "MPgetposboxes", "MPh", "MPinclusions", "MPleftskip", "MPll", "MPlr", "MPls", "MPmenubuttons", "MPn", "MPoptions", "MPoverlayanchor", "MPp", "MPpage", "MPpardata", "MPplus", "MPpos", "MPpositiongraphic", "MPposset", "MPr", "MPrawvar", "MPregion", "MPrest", "MPrightskip", "MPrs", "MPstring", "MPtext", "MPtransparency", "MPul", "MPur", "MPv", "MPvar", "MPvariable", "MPvv", "MPw", "MPwhd", "MPx", "MPxy", "MPxywhd", "MPy", "Mapsfrom", "Mapsto", "MetaFont", "MetaFun", "MetaPost", "Mu", "NJligature", "Nacute", "Ncaron", "Ncommaaccent", "Nearrow", "Neng", "Ngrave", "Njligature", "NormalizeFontHeight", "NormalizeFontWidth", "NormalizeTextHeight", "NormalizeTextWidth", "Ntilde", "Nu", "Numbers", "Nwarrow", "OEligature", "Oacute", "Obreve", "Ocaron", "Ocircumflex", "Ocircumflexacute", "Ocircumflexdotbelow", "Ocircumflexgrave", "Ocircumflexhook", "Ocircumflextilde", "Odiaeresis", "Odiaeresismacron", "Odotaccent", "Odotaccentmacron", "Odotbelow", "Odoublegrave", "Ograve", "Ohook", "Ohorn", "Ohornacute", "Ohorndotbelow", "Ohorngrave", "Ohornhook", "Ohorntilde", "Ohungarumlaut", "Oinvertedbreve", "Omacron", "Omega", "Omicron", "Oogonek", "Oogonekmacron", "Ostroke", "Ostrokeacute", "Otilde", "Otildemacron", "P", "PDFETEX", "PDFTEX", "PDFcolor", "PICTEX", "PPCHTEX", "PPCHTeX", "PRAGMA", "Phi", "Phook", "Pi", "PiCTeX", "Plankconst", "PointsToBigPoints", "PointsToReal", "PointsToWholeBigPoints", "PropertyLine", "Psi", "PtToCm", "Racute", "Rcaron", "Rcommaaccent", "Rdoublegrave", "Rdsh", "Re", "ReadFile", "Relbar", "Rho", "Rightarrow", "Rinvertedbreve", "Romannumerals", "Rrightarrow", "Rsh", "S", "Sacute", "ScaledPointsToBigPoints", "ScaledPointsToWholeBigPoints", "Scaron", "Scedilla", "Schwa", "Scircumflex", "Scommaaccent", "Searrow", "Sigma", "Smallcapped", "Subset", "Supset", "Swarrow", "TABLE", "TEX", "TaBlE", "Tau", "Tcaron", "Tcedilla", "Tcommaaccent", "TeX", "TheNormalizedFontSize", "Theta", "Thook", "Thorn", "TransparencyHack", "Tstroke", "Uacute", "Ubreve", "Ucaron", "Ucircumflex", "Udiaeresis", "Udiaeresisacute", "Udiaeresiscaron", "Udiaeresisgrave", "Udiaeresismacron", "Udotbelow", "Udoublegrave", "Ugrave", "Uhook", "Uhorn", "Uhornacute", "Uhorndotbelow", "Uhorngrave", "Uhornhook", "Uhorntilde", "Uhungarumlaut", "Uinvertedbreve", "Umacron", "Uogonek", "Uparrow", "Updownarrow", "Upsilon", "Uring", "Utilde", "Uuparrow", "VDash", "Vdash", "VerboseNumber", "Vert", "Vvdash", "WEEKDAY", "WORD", "WORDS", "Wcircumflex", "WidthSpanningText", "Word", "Words", "XETEX", "XeTeX", "Xi", "Yacute", "Ycircumflex", "Ydiaeresis", "Ydotbelow", "Ygrave", "Yhook", "Ymacron", "Ytilde", "Zacute", "Zcaron", "Zdotaccent", "Zeta", "Zhook", "Zstroke", "aacute", "abbreviation", "abjadnaivenumerals", "abjadnodotnumerals", "abjadnumerals", "about", "abreve", "abreveacute", "abrevedotbelow", "abrevegrave", "abrevehook", "abrevetilde", "acaron", "acircumflex", "acircumflexacute", "acircumflexdotbelow", "acircumflexgrave", "acircumflexhook", "acircumflextilde", "activatespacehandler", "actuarial", "acute", "acwopencirclearrow", "adaptcollector", "adaptfontfeature", "adaptlayout", "adaptpapersize", "addfeature", "addfontpath", "addtoJSpreamble", "addtocommalist", "addvalue", "adiaeresis", "adiaeresismacron", "adotaccent", "adotaccentmacron", "adotbelow", "adoublegrave", "aeacute", "aeligature", "aemacron", "afghanicurrency", "aftersplitstring", "aftertestandsplitstring", "agrave", "ahook", "ainvertedbreve", "aleph", "alignbottom", "aligned", "alignedbox", "alignedline", "alignhere", "alignmentcharacter", "allinputpaths", "alpha", "alphabeticnumerals", "alwayscitation", "alwayscite", "amacron", "amalg", "ampersand", "anchor", "angle", "aogonek", "appendetoks", "appendgvalue", "appendtocommalist", "appendtoks", "appendtoksonce", "appendvalue", "apply", "applyalternativestyle", "applyprocessor", "applytocharacters", "applytofirstcharacter", "applytosplitstringchar", "applytosplitstringcharspaced", "applytosplitstringline", "applytosplitstringlinespaced", "applytosplitstringword", "applytosplitstringwordspaced", "applytowords", "approx", "approxEq", "approxeq", "approxnEq", "arabicakbar", "arabicalayhe", "arabicallah", "arabicallallahou", "arabicasterisk", "arabicbasmalah", "arabiccomma", "arabiccuberoot", "arabicdateseparator", "arabicdecimals", "arabicdisputedendofayah", "arabicendofayah", "arabicexnumerals", "arabicfootnotemarker", "arabicfourthroot", "arabichighain", "arabichighalayheassallam", "arabichigheqala", "arabichighesala", "arabichighfootnotemarker", "arabichighjeem", "arabichighlamalef", "arabichighmadda", "arabichighmeemlong", "arabichighmeemshort", "arabichighnisf", "arabichighnoon", "arabichighnoonkasra", "arabichighqaf", "arabichighqif", "arabichighradiallahouanhu", "arabichighrahmatullahalayhe", "arabichighrubc", "arabichighsad", "arabichighsajda", "arabichighsakta", "arabichighsallallahou", "arabichighseen", "arabichighsmallsafha", "arabichightah", "arabichightakhallus", "arabichighthalatha", "arabichighwaqf", "arabichighyeh", "arabichighzain", "arabicjallajalalouhou", "arabiclettermark", "arabiclowmeemlong", "arabiclownoonkasra", "arabiclowseen", "arabicmisra", "arabicmuhammad", "arabicnumber", "arabicnumberabove", "arabicnumerals", "arabicparenleft", "arabicparenright", "arabicpercent", "arabicperiod", "arabicpermille", "arabicpertenthousand", "arabicpoeticverse", "arabicqala", "arabicquestion", "arabicrasoul", "arabicray", "arabicrialsign", "arabicsafha", "arabicsajdah", "arabicsalla", "arabicsamvat", "arabicsanah", "arabicsemicolon", "arabicshighthreedots", "arabicslcm", "arabicstartofrubc", "arabictripledot", "arabicvowelwaw", "arabicvowelyeh", "arabicwasallam", "arg", "aring", "aringacute", "arrowvert", "asciistr", "aside", "assignalfadimension", "assigndimen", "assigndimension", "assignifempty", "assigntranslation", "assignvalue", "assignwidth", "assumelongusagecs", "ast", "astype", "asymp", "at", "atilde", "atleftmargin", "atpage", "atrightmargin", "attachment", "autocap", "autodirhbox", "autodirvbox", "autodirvtop", "autoinsertnextspace", "autointegral", "automathematics", "autosetups", "availablehsize", "averagecharwidth", "backepsilon", "background", "backgroundimage", "backgroundimagefill", "backgroundline", "backprime", "backsim", "backslash", "bar", "barleftarrow", "barleftarrowrightarrowbar", "barovernorthwestarrow", "barwedge", "basegrid", "baselinebottom", "baselineleftbox", "baselinemiddlebox", "baselinerightbox", "bbordermatrix", "bbox", "because", "beforesplitstring", "beforetestandsplitstring", "beta", "beth", "between", "bhook", "big", "bigbodyfont", "bigcap", "bigcirc", "bigcircle", "bigcup", "bigdiamond", "bigg", "bigger", "biggl", "biggm", "biggr", "bigl", "bigm", "bigodot", "bigoplus", "bigotimes", "bigr", "bigskip", "bigsqcap", "bigsqcup", "bigsquare", "bigstar", "bigtimes", "bigtriangledown", "bigtriangleup", "bigudot", "biguplus", "bigvee", "bigwedge", "binom", "bitmapimage", "blacklozenge", "blackrule", "blackrules", "blacksquare", "blacktriangle", "blacktriangledown", "blacktriangleleft", "blacktriangleright", "blank", "blap", "bleed", "bleedheight", "bleedwidth", "blockligatures", "blockquote", "blocksynctexfile", "bodyfontenvironmentlist", "bodyfontsize", "bold", "boldface", "bolditalic", "boldslanted", "bookmark", "booleanmodevalue", "bordermatrix", "bot", "bottombox", "bottomleftbox", "bottomrightbox", "bowtie", "boxcursor", "boxdot", "boxmarker", "boxminus", "boxofsize", "boxplus", "boxreference", "boxtimes", "bpos", "breakablethinspace", "breakhere", "breve", "bstroke", "btxabbreviatedjournal", "btxaddjournal", "btxalwayscitation", "btxauthorfield", "btxdetail", "btxdirect", "btxdoif", "btxdoifcombiinlistelse", "btxdoifelse", "btxdoifelsecombiinlist", "btxdoifelsesameasprevious", "btxdoifelsesameaspreviouschecked", "btxdoifelseuservariable", "btxdoifnot", "btxdoifsameaspreviouscheckedelse", "btxdoifsameaspreviouselse", "btxdoifuservariableelse", "btxexpandedjournal", "btxfield", "btxfieldname", "btxfieldtype", "btxfirstofrange", "btxflush", "btxflushauthor", "btxflushauthorinverted", "btxflushauthorinvertedshort", "btxflushauthorname", "btxflushauthornormal", "btxflushauthornormalshort", "btxflushsuffix", "btxfoundname", "btxfoundtype", "btxhiddencitation", "btxhybridcite", "btxlabellanguage", "btxlabeltext", "btxlistcitation", "btxloadjournalist", "btxoneorrange", "btxremapauthor", "btxsavejournalist", "btxsetup", "btxsingularorplural", "btxsingularplural", "btxtextcitation", "buildmathaccent", "buildtextaccent", "buildtextbottomcomma", "buildtextbottomdot", "buildtextcedilla", "buildtextgrave", "buildtextmacron", "buildtextognek", "bullet", "button", "cacute", "calligraphic", "camel", "cap", "carriagereturn", "catcodetablename", "cbox", "ccaron", "ccedilla", "ccircumflex", "ccurl", "cdot", "cdotaccent", "cdotp", "cdots", "centeraligned", "centerbox", "centerdot", "centeredbox", "centeredlastline", "centerednextbox", "centerline", "cfrac", "chapter", "character", "characters", "chardescription", "charwidthlanguage", "check", "checkcharacteralign", "checkedchar", "checkedfiller", "checkedstrippedcsname", "checkinjector", "checkmark", "checknextindentation", "checknextinjector", "checkpage", "checkparameters", "checkpreviousinjector", "checksoundtrack", "checktwopassdata", "checkvariables", "chem", "chemical", "chemicalbottext", "chemicalmidtext", "chemicalsymbol", "chemicaltext", "chemicaltoptext", "chi", "chineseallnumerals", "chinesecapnumerals", "chinesenumerals", "chook", "circ", "circeq", "circlearrowleft", "circlearrowright", "circledR", "circledS", "circledast", "circledcirc", "circleddash", "circledequals", "circleonrightarrow", "citation", "cite", "clap", "classfont", "cldcommand", "cldcontext", "cldloadfile", "cldprocessfile", "cleftarrow", "clip", "clonefield", "clubsuit", "collect", "collectedtext", "collectexpanded", "colon", "coloncolonequals", "colonequals", "color", "colorbar", "colorcomponents", "colored", "coloronly", "colorvalue", "column", "columnbreak", "combinepages", "commalistelement", "commalistsentence", "commalistsize", "comment", "comparecolorgroup", "comparedimension", "comparedimensioneps", "comparepalet", "complement", "completebtxrendering", "completecontent", "completeindex", "completelist", "completelistofabbreviations", "completelistofchemicals", "completelistoffigures", "completelistofgraphics", "completelistofintermezzi", "completelistoflogos", "completelistofpublications", "completelistofsorts", "completelistofsynonyms", "completelistoftables", "completepagenumber", "completeregister", "complexes", "complexorsimple", "complexorsimpleempty", "component", "composedcollector", "composedlayer", "compresult", "cong", "constantdimen", "constantdimenargument", "constantemptyargument", "constantnumber", "constantnumberargument", "contentreference", "continuednumber", "continueifinputfile", "convertargument", "convertcommand", "convertedcounter", "converteddimen", "convertedsubcounter", "convertmonth", "convertnumber", "convertvalue", "convertvboxtohbox", "coprod", "copyboxfromcache", "copybtxlabeltext", "copyfield", "copyheadtext", "copylabeltext", "copymathlabeltext", "copyoperatortext", "copypages", "copyparameters", "copyposition", "copyprefixtext", "copyright", "copysuffixtext", "copytaglabeltext", "copyunittext", "correctwhitespace", "countersubs", "counttoken", "counttokens", "cramped", "crampedclap", "crampedllap", "crampedrlap", "crightarrow", "crightoverleftarrow", "cstroke", "ctop", "ctxcommand", "ctxdirectcommand", "ctxdirectlua", "ctxfunction", "ctxlatecommand", "ctxlatelua", "ctxloadluafile", "ctxlua", "ctxluabuffer", "ctxluacode", "ctxreport", "ctxsprint", "cup", "curlyeqprec", "curlyeqsucc", "curlyvee", "curlywedge", "currentassignmentlistkey", "currentassignmentlistvalue", "currentbtxuservariable", "currentcommalistitem", "currentcomponent", "currentdate", "currentenvironment", "currentfeaturetest", "currentheadnumber", "currentinterface", "currentlanguage", "currentlistentrydestinationattribute", "currentlistentrylimitedtext", "currentlistentrynumber", "currentlistentrypagenumber", "currentlistentryreferenceattribute", "currentlistentrytitle", "currentlistentrytitlerendered", "currentlistsymbol", "currentmainlanguage", "currentmessagetext", "currentmoduleparameter", "currentoutputstream", "currentproduct", "currentproject", "currentregime", "currentregisterpageuserdata", "currentresponses", "currenttime", "currentvalue", "currentxtablecolumn", "currentxtablerow", "curvearrowleft", "curvearrowright", "cwopencirclearrow", "cyrillicA", "cyrillicAE", "cyrillicAbreve", "cyrillicAdiaeresis", "cyrillicB", "cyrillicBIGYUS", "cyrillicBIGYUSiotified", "cyrillicC", "cyrillicCH", "cyrillicCHEDC", "cyrillicCHEDCabkhasian", "cyrillicCHEabkhasian", "cyrillicCHEdiaeresis", "cyrillicCHEkhakassian", "cyrillicCHEvertstroke", "cyrillicD", "cyrillicDASIAPNEUMATA", "cyrillicDJE", "cyrillicDZE", "cyrillicDZEabkhasian", "cyrillicDZHE", "cyrillicE", "cyrillicELtail", "cyrillicEMtail", "cyrillicENDC", "cyrillicENGHE", "cyrillicENhook", "cyrillicENtail", "cyrillicEREV", "cyrillicERY", "cyrillicERtick", "cyrillicEbreve", "cyrillicEdiaeresis", "cyrillicEgrave", "cyrillicEiotified", "cyrillicF", "cyrillicFITA", "cyrillicG", "cyrillicGHEmidhook", "cyrillicGHEstroke", "cyrillicGHEupturn", "cyrillicGJE", "cyrillicH", "cyrillicHA", "cyrillicHADC", "cyrillicHRDSN", "cyrillicI", "cyrillicIE", "cyrillicII", "cyrillicISHRT", "cyrillicISHRTtail", "cyrillicIZHITSA", "cyrillicIZHITSAdoublegrave", "cyrillicIdiaeresis", "cyrillicIgrave", "cyrillicImacron", "cyrillicJE", "cyrillicK", "cyrillicKADC", "cyrillicKAbashkir", "cyrillicKAhook", "cyrillicKAstroke", "cyrillicKAvertstroke", "cyrillicKJE", "cyrillicKOPPA", "cyrillicKSI", "cyrillicL", "cyrillicLITTLEYUS", "cyrillicLITTLEYUSiotified", "cyrillicLJE", "cyrillicM", "cyrillicN", "cyrillicNJE", "cyrillicO", "cyrillicOMEGA", "cyrillicOMEGAround", "cyrillicOMEGAtitlo", "cyrillicOT", "cyrillicObarred", "cyrillicObarreddiaeresis", "cyrillicOdiaeresis", "cyrillicP", "cyrillicPALATALIZATION", "cyrillicPALOCHKA", "cyrillicPEmidhook", "cyrillicPSI", "cyrillicPSILIPNEUMATA", "cyrillicR", "cyrillicS", "cyrillicSCHWA", "cyrillicSCHWAdiaeresis", "cyrillicSDSC", "cyrillicSEMISOFT", "cyrillicSFTSN", "cyrillicSH", "cyrillicSHCH", "cyrillicSHHA", "cyrillicT", "cyrillicTEDC", "cyrillicTETSE", "cyrillicTITLO", "cyrillicTSHE", "cyrillicU", "cyrillicUK", "cyrillicUSHRT", "cyrillicUdiaeresis", "cyrillicUdoubleacute", "cyrillicUmacron", "cyrillicV", "cyrillicYA", "cyrillicYAT", "cyrillicYERUdiaeresis", "cyrillicYI", "cyrillicYO", "cyrillicYU", "cyrillicYstr", "cyrillicYstrstroke", "cyrillicZ", "cyrillicZDSC", "cyrillicZEdiaeresis", "cyrillicZH", "cyrillicZHEbreve", "cyrillicZHEdescender", "cyrillicZHEdiaeresis", "cyrillica", "cyrillicabreve", "cyrillicadiaeresis", "cyrillicae", "cyrillicb", "cyrillicbigyus", "cyrillicbigyusiotified", "cyrillicc", "cyrillicch", "cyrilliccheabkhasian", "cyrillicchedc", "cyrillicchedcabkhasian", "cyrillicchediaeresis", "cyrillicchekhakassian", "cyrillicchevertstroke", "cyrillicd", "cyrillicdje", "cyrillicdze", "cyrillicdzeabkhasian", "cyrillicdzhe", "cyrillice", "cyrillicebreve", "cyrillicediaeresis", "cyrillicegrave", "cyrilliceiotified", "cyrilliceltail", "cyrillicemtail", "cyrillicendc", "cyrillicenghe", "cyrillicenhook", "cyrillicentail", "cyrillicerev", "cyrillicertick", "cyrillicery", "cyrillicf", "cyrillicfita", "cyrillicg", "cyrillicghemidhook", "cyrillicghestroke", "cyrillicgheupturn", "cyrillicgje", "cyrillich", "cyrillicha", "cyrillichadc", "cyrillichrdsn", "cyrillici", "cyrillicidiaeresis", "cyrillicie", "cyrillicigrave", "cyrillicii", "cyrillicimacron", "cyrillicishrt", "cyrillicishrttail", "cyrillicizhitsa", "cyrillicizhitsadoublegrave", "cyrillicje", "cyrillick", "cyrillickabashkir", "cyrillickadc", "cyrillickahook", "cyrillickastroke", "cyrillickavertstroke", "cyrillickje", "cyrillickoppa", "cyrillicksi", "cyrillicl", "cyrilliclittleyus", "cyrilliclittleyusiotified", "cyrilliclje", "cyrillicm", "cyrillicn", "cyrillicnje", "cyrillico", "cyrillicobarred", "cyrillicobarreddiaeresis", "cyrillicodiaeresis", "cyrillicomega", "cyrillicomegaround", "cyrillicomegatitlo", "cyrillicot", "cyrillicp", "cyrillicpemidhook", "cyrillicpsi", "cyrillicr", "cyrillics", "cyrillicschwa", "cyrillicschwadiaeresis", "cyrillicsdsc", "cyrillicsemisoft", "cyrillicsftsn", "cyrillicsh", "cyrillicshch", "cyrillicshha", "cyrillict", "cyrillictedc", "cyrillictetse", "cyrillictshe", "cyrillicu", "cyrillicudiaeresis", "cyrillicudoubleacute", "cyrillicuk", "cyrillicumacron", "cyrillicushrt", "cyrillicv", "cyrillicya", "cyrillicyat", "cyrillicyerudiaeresis", "cyrillicyi", "cyrillicyo", "cyrillicystr", "cyrillicystrstroke", "cyrillicyu", "cyrillicz", "cyrilliczdsc", "cyrilliczediaeresis", "cyrilliczh", "cyrilliczhebreve", "cyrilliczhedescender", "cyrilliczhediaeresis", "d", "dag", "dagger", "daleth", "dasharrow", "dashedleftarrow", "dashedrightarrow", "dashv", "datasetvariable", "date", "dayoftheweek", "dayspermonth", "dbinom", "dcaron", "dcurl", "ddag", "ddagger", "dddot", "ddot", "ddots", "decrement", "decrementcounter", "decrementedcounter", "decrementpagenumber", "decrementsubpagenumber", "decrementvalue", "defaultinterface", "defaultobjectpage", "defaultobjectreference", "defcatcodecommand", "defconvertedargument", "defconvertedcommand", "defconvertedvalue", "define", "defineMPinstance", "defineTABLEsetup", "defineaccent", "defineactivecharacter", "definealternativestyle", "defineanchor", "defineattachment", "defineattribute", "definebackground", "definebar", "defineblock", "definebodyfont", "definebodyfontenvironment", "definebodyfontswitch", "definebreakpoint", "definebreakpoints", "definebtx", "definebtxdataset", "definebtxregister", "definebtxrendering", "definebuffer", "definebutton", "definecapitals", "definecharacter", "definecharacterkerning", "definecharacterspacing", "definechemical", "definechemicals", "definechemicalsymbol", "definecollector", "definecolor", "definecolorgroup", "definecolumnbreak", "definecombination", "definecombinedlist", "definecommand", "definecomment", "definecomplexorsimple", "definecomplexorsimpleempty", "defineconversion", "defineconversionset", "definecounter", "definedataset", "definedelimitedtext", "definedeq", "definedescription", "definedfont", "defineeffect", "defineenumeration", "defineexpandable", "defineexternalfigure", "definefallbackfamily", "definefield", "definefieldbody", "definefieldbodyset", "definefieldcategory", "definefieldstack", "definefiguresymbol", "definefileconstant", "definefilefallback", "definefilesynonym", "definefiller", "definefirstline", "definefittingpage", "definefloat", "definefont", "definefontalternative", "definefontfallback", "definefontfamily", "definefontfamilypreset", "definefontfeature", "definefontfile", "definefontsize", "definefontsolution", "definefontstyle", "definefontsynonym", "defineformula", "defineformulaalternative", "defineformulaframed", "defineframed", "defineframedcontent", "defineframedtable", "defineframedtext", "definefrozenfont", "defineglobalcolor", "definegraphictypesynonym", "definegridsnapping", "definehbox", "definehead", "defineheadalternative", "definehelp", "definehigh", "definehighlight", "definehspace", "definehypenationfeatures", "defineindentedtext", "defineindenting", "defineinitial", "defineinsertion", "defineinteraction", "defineinteractionbar", "defineinteractionmenu", "defineinterfaceconstant", "defineinterfaceelement", "defineinterfacevariable", "defineinterlinespace", "defineintermediatecolor", "defineitemgroup", "defineitems", "definelabel", "definelabelclass", "definelayer", "definelayerpreset", "definelayout", "definelinefiller", "definelinenote", "definelinenumbering", "definelines", "definelist", "definelistalternative", "definelistextra", "definelow", "definelowhigh", "definelowmidhigh", "definemakeup", "definemarginblock", "definemargindata", "definemarker", "definemarking", "definemathaccent", "definemathalignment", "definemathcases", "definemathcommand", "definemathdouble", "definemathdoubleextensible", "definemathematics", "definemathextensible", "definemathfence", "definemathfraction", "definemathframed", "definemathmatrix", "definemathornament", "definemathover", "definemathoverextensible", "definemathovertextextensible", "definemathradical", "definemathstackers", "definemathstyle", "definemathtriplet", "definemathunder", "definemathunderextensible", "definemathundertextextensible", "definemathunstacked", "definemeasure", "definemessageconstant", "definemixedcolumns", "definemode", "definemultitonecolor", "definenamedcolor", "definenamespace", "definenarrower", "definenote", "defineornament", "defineoutputroutine", "defineoutputroutinecommand", "defineoverlay", "definepage", "definepagebreak", "definepagechecker", "definepagegrid", "definepagegridarea", "definepagegridspan", "definepageinjection", "definepageinjectionalternative", "definepageshift", "definepagestate", "definepairedbox", "definepalet", "definepapersize", "defineparagraph", "defineparagraphs", "defineparallel", "defineparbuilder", "defineplacement", "definepositioning", "defineprefixset", "defineprocesscolor", "defineprocessor", "defineprofile", "defineprogram", "definepushbutton", "definepushsymbol", "definereference", "definereferenceformat", "defineregister", "definerenderingwindow", "defineresetset", "definescale", "definescript", "definesection", "definesectionblock", "definesectionlevels", "defineselector", "defineseparatorset", "defineshift", "definesidebar", "definesort", "definesorting", "definespotcolor", "definestartstop", "definestyle", "definestyleinstance", "definesubfield", "definesubformula", "definesymbol", "definesynonym", "definesynonyms", "definesystemattribute", "definesystemconstant", "definesystemvariable", "definetabletemplate", "definetabulate", "definetabulation", "definetext", "definetextbackground", "definetextflow", "definetooltip", "definetransparency", "definetwopasslist", "definetype", "definetypeface", "definetypescriptprefix", "definetypescriptsynonym", "definetypesetting", "definetyping", "defineunit", "defineviewerlayer", "definevspace", "definevspacing", "definevspacingamount", "definextable", "delimited", "delimitedtext", "delta", "depthofstring", "depthonlybox", "depthspanningtext", "depthstrut", "determineheadnumber", "determinelistcharacteristics", "determinenoflines", "determineregistercharacteristics", "devanagarinumerals", "dfrac", "dhook", "diameter", "diamond", "diamondsuit", "differentialD", "differentiald", "digamma", "digits", "dimensiontocount", "directboxfromcache", "directcolor", "directcolored", "directconvertedcounter", "directcopyboxfromcache", "directdummyparameter", "directgetboxllx", "directgetboxlly", "directhighlight", "directlocalframed", "directluacode", "directselect", "directsetbar", "directsetup", "directsymbol", "directvspacing", "dis", "disabledirectives", "disableexperiments", "disablemode", "disableoutputstream", "disableparpositions", "disableregime", "disabletrackers", "displaymath", "displaymathematics", "displaymessage", "distributedhsize", "div", "dividedsize", "divideontimes", "divides", "doadaptleftskip", "doadaptrightskip", "doaddfeature", "doassign", "doassignempty", "doboundtext", "docheckassignment", "docheckedpagestate", "docheckedpair", "documentvariable", "dodoubleargument", "dodoubleargumentwithset", "dodoubleempty", "dodoubleemptywithset", "dodoublegroupempty", "doeassign", "doexpandedrecurse", "dofastloopcs", "dogetattribute", "dogetattributeid", "dogetcommacommandelement", "dogobbledoubleempty", "dogobblesingleempty", "doif", "doifMPgraphicelse", "doifallcommon", "doifallcommonelse", "doifalldefinedelse", "doifallmodes", "doifallmodeselse", "doifassignmentelse", "doifblackelse", "doifbothsides", "doifbothsidesoverruled", "doifboxelse", "doifbufferelse", "doifcolor", "doifcolorelse", "doifcommandhandler", "doifcommandhandlerelse", "doifcommon", "doifcommonelse", "doifcontent", "doifconversiondefinedelse", "doifconversionnumberelse", "doifcounter", "doifcounterelse", "doifcurrentfonthasfeatureelse", "doifdefined", "doifdefinedcounter", "doifdefinedcounterelse", "doifdefinedelse", "doifdimensionelse", "doifdimenstringelse", "doifdocumentargument", "doifdocumentargumentelse", "doifdocumentfilename", "doifdocumentfilenameelse", "doifdrawingblackelse", "doifelse", "doifelseMPgraphic", "doifelseallcommon", "doifelsealldefined", "doifelseallmodes", "doifelseassignment", "doifelseblack", "doifelsebox", "doifelseboxincache", "doifelsebuffer", "doifelsecolor", "doifelsecommandhandler", "doifelsecommon", "doifelseconversiondefined", "doifelseconversionnumber", "doifelsecounter", "doifelsecurrentfonthasfeature", "doifelsecurrentsortingused", "doifelsecurrentsynonymshown", "doifelsecurrentsynonymused", "doifelsedefined", "doifelsedefinedcounter", "doifelsedimension", "doifelsedimenstring", "doifelsedocumentargument", "doifelsedocumentfilename", "doifelsedrawingblack", "doifelseempty", "doifelseemptyvalue", "doifelseemptyvariable", "doifelseenv", "doifelsefastoptionalcheck", "doifelsefastoptionalcheckcs", "doifelsefieldbody", "doifelsefieldcategory", "doifelsefigure", "doifelsefile", "doifelsefiledefined", "doifelsefileexists", "doifelsefirstchar", "doifelseflagged", "doifelsefontchar", "doifelsefontpresent", "doifelsefontsynonym", "doifelsehasspace", "doifelsehelp", "doifelseincsname", "doifelseinelement", "doifelseinputfile", "doifelseinsertion", "doifelseinset", "doifelseinstring", "doifelseinsymbolset", "doifelseintoks", "doifelseintwopassdata", "doifelseitalic", "doifelselanguage", "doifelselayerdata", "doifelselayoutdefined", "doifelselayoutsomeline", "doifelselayouttextline", "doifelseleapyear", "doifelselist", "doifelselocation", "doifelselocfile", "doifelsemainfloatbody", "doifelsemarkedpage", "doifelsemarking", "doifelsemeaning", "doifelsemessage", "doifelsemode", "doifelsenextbgroup", "doifelsenextbgroupcs", "doifelsenextchar", "doifelsenextoptional", "doifelsenextoptionalcs", "doifelsenextparenthesis", "doifelsenonzeropositive", "doifelsenoteonsamepage", "doifelsenothing", "doifelsenumber", "doifelseobjectfound", "doifelseobjectreferencefound", "doifelseoddpage", "doifelseoddpagefloat", "doifelseoldercontext", "doifelseolderversion", "doifelseoverlapping", "doifelseoverlay", "doifelseparallel", "doifelseparentfile", "doifelsepath", "doifelsepathexists", "doifelsepatterns", "doifelseposition", "doifelsepositionaction", "doifelsepositiononpage", "doifelsepositionsonsamepage", "doifelsepositionsonthispage", "doifelsepositionsused", "doifelsereferencefound", "doifelserightpagefloat", "doifelserighttoleftinbox", "doifelsesamelinereference", "doifelsesamestring", "doifelsesetups", "doifelsesomebackground", "doifelsesomespace", "doifelsesomething", "doifelsesometoks", "doifelsestringinstring", "doifelsestructurelisthasnumber", "doifelsestructurelisthaspage", "doifelsesymboldefined", "doifelsesymbolset", "doifelsetext", "doifelsetextflow", "doifelsetextflowcollector", "doifelsetopofpage", "doifelsetypingfile", "doifelseundefined", "doifelseurldefined", "doifelsevalue", "doifelsevaluenothing", "doifelsevariable", "doifempty", "doifemptyelse", "doifemptytoks", "doifemptyvalue", "doifemptyvalueelse", "doifemptyvariable", "doifemptyvariableelse", "doifenv", "doifenvelse", "doiffastoptionalcheckcselse", "doiffastoptionalcheckelse", "doiffieldbodyelse", "doiffieldcategoryelse", "doiffigureelse", "doiffile", "doiffiledefinedelse", "doiffileelse", "doiffileexistselse", "doiffirstcharelse", "doifflaggedelse", "doiffontcharelse", "doiffontpresentelse", "doiffontsynonymelse", "doifhasspaceelse", "doifhelpelse", "doifincsnameelse", "doifinelementelse", "doifinputfileelse", "doifinsertionelse", "doifinset", "doifinsetelse", "doifinstring", "doifinstringelse", "doifinsymbolset", "doifinsymbolsetelse", "doifintokselse", "doifintwopassdataelse", "doifitalicelse", "doiflanguageelse", "doiflayerdataelse", "doiflayoutdefinedelse", "doiflayoutsomelineelse", "doiflayouttextlineelse", "doifleapyearelse", "doiflistelse", "doiflocationelse", "doiflocfileelse", "doifmainfloatbodyelse", "doifmarkingelse", "doifmeaningelse", "doifmessageelse", "doifmode", "doifmodeelse", "doifnextbgroupcselse", "doifnextbgroupelse", "doifnextcharelse", "doifnextoptionalcselse", "doifnextoptionalelse", "doifnextparenthesiselse", "doifnonzeropositiveelse", "doifnot", "doifnotallcommon", "doifnotallmodes", "doifnotcommandhandler", "doifnotcommon", "doifnotcounter", "doifnotdocumentargument", "doifnotdocumentfilename", "doifnotempty", "doifnotemptyvalue", "doifnotemptyvariable", "doifnotenv", "doifnoteonsamepageelse", "doifnotescollected", "doifnotfile", "doifnotflagged", "doifnothing", "doifnothingelse", "doifnotinset", "doifnotinsidesplitfloat", "doifnotinstring", "doifnotmode", "doifnotnumber", "doifnotsamestring", "doifnotsetups", "doifnotvalue", "doifnotvariable", "doifnumber", "doifnumberelse", "doifobjectfoundelse", "doifobjectreferencefoundelse", "doifoddpageelse", "doifoddpagefloatelse", "doifoldercontextelse", "doifolderversionelse", "doifoverlappingelse", "doifoverlayelse", "doifparallelelse", "doifparentfileelse", "doifpathelse", "doifpathexistselse", "doifpatternselse", "doifposition", "doifpositionaction", "doifpositionactionelse", "doifpositionelse", "doifpositiononpageelse", "doifpositionsonsamepageelse", "doifpositionsonthispageelse", "doifpositionsusedelse", "doifreferencefoundelse", "doifrightpagefloatelse", "doifrighttoleftinboxelse", "doifsamelinereferenceelse", "doifsamestring", "doifsamestringelse", "doifsetups", "doifsetupselse", "doifsomebackground", "doifsomebackgroundelse", "doifsomespaceelse", "doifsomething", "doifsomethingelse", "doifsometoks", "doifsometokselse", "doifstringinstringelse", "doifstructurelisthasnumberelse", "doifstructurelisthaspageelse", "doifsymboldefinedelse", "doifsymbolsetelse", "doiftext", "doiftextelse", "doiftextflowcollectorelse", "doiftextflowelse", "doiftopofpageelse", "doiftypingfileelse", "doifundefined", "doifundefinedcounter", "doifundefinedelse", "doifurldefinedelse", "doifvalue", "doifvalueelse", "doifvaluenothing", "doifvaluenothingelse", "doifvaluesomething", "doifvariable", "doifvariableelse", "doindentation", "dollar", "doloop", "doloopoverlist", "donothing", "dontconvertfont", "dontleavehmode", "dontpermitspacesbetweengroups", "dopositionaction", "doprocesslocalsetups", "doquadrupleargument", "doquadrupleempty", "doquadruplegroupempty", "doquintupleargument", "doquintupleempty", "doquintuplegroupempty", "dorechecknextindentation", "dorecurse", "dorepeatwithcommand", "doreplacefeature", "doresetandafffeature", "doresetattribute", "dorotatebox", "dosetattribute", "dosetleftskipadaption", "dosetrightskipadaption", "dosetupcheckedinterlinespace", "doseventupleargument", "doseventupleempty", "dosingleargument", "dosingleempty", "dosinglegroupempty", "dosixtupleargument", "dosixtupleempty", "dostepwiserecurse", "dosubtractfeature", "dot", "doteq", "doteqdot", "dotfskip", "dotlessI", "dotlessJ", "dotlessi", "dotlessj", "dotlessjstroke", "dotminus", "dotoks", "dotplus", "dotripleargument", "dotripleargumentwithset", "dotripleempty", "dotripleemptywithset", "dotriplegroupempty", "dots", "dottedrightarrow", "doublebar", "doublebond", "doublebrace", "doublebracket", "doublecap", "doublecup", "doubleparent", "doubleprime", "doubleverticalbar", "dowith", "dowithnextbox", "dowithnextboxcontent", "dowithnextboxcontentcs", "dowithnextboxcs", "dowithpargument", "dowithrange", "dowithwargument", "downarrow", "downdasharrow", "downdownarrows", "downharpoonleft", "downharpoonright", "downuparrows", "downwhitearrow", "downzigzagarrow", "dpofstring", "dstroke", "dtail", "dummydigit", "dummyparameter", "dzcaronligature", "dzligature", "eTeX", "eacute", "ebreve", "ecaron", "ecedilla", "ecircumflex", "ecircumflexacute", "ecircumflexdotbelow", "ecircumflexgrave", "ecircumflexhook", "ecircumflextilde", "edefconvertedargument", "ediaeresis", "edotaccent", "edotbelow", "edoublegrave", "efcmaxheight", "efcmaxwidth", "efcminheight", "efcminwidth", "efcparameter", "effect", "egrave", "ehook", "einvertedbreve", "elapsedseconds", "elapsedtime", "eleftarrowfill", "eleftharpoondownfill", "eleftharpoonupfill", "eleftrightarrowfill", "ell", "em", "emacron", "emdash", "emphasisboldface", "emphasistypeface", "emptylines", "emptyset", "emquad", "emspace", "enabledirectives", "enableexperiments", "enablemode", "enableoutputstream", "enableparpositions", "enableregime", "enabletrackers", "endash", "endnote", "enquad", "enskip", "enspace", "env", "environment", "envvar", "eogonek", "eoverbarfill", "eoverbracefill", "eoverbracketfill", "eoverparentfill", "epos", "epsilon", "eq", "eqcirc", "eqeq", "eqeqeq", "eqgtr", "eqless", "eqsim", "eqslantgtr", "eqslantless", "equaldigits", "equalscolon", "equiv", "erightarrowfill", "erightharpoondownfill", "erightharpoonupfill", "eta", "eth", "ethiopic", "etilde", "etwoheadrightarrowfill", "eunderbarfill", "eunderbracefill", "eunderbracketfill", "eunderparentfill", "exclamdown", "executeifdefined", "exists", "exitloop", "exitloopnow", "expandcheckedcsname", "expanded", "expandfontsynonym", "expdoif", "expdoifcommonelse", "expdoifelse", "expdoifelsecommon", "expdoifelseinset", "expdoifinsetelse", "expdoifnot", "exponentiale", "externalfigure", "externalfigurecollectionmaxheight", "externalfigurecollectionmaxwidth", "externalfigurecollectionminheight", "externalfigurecollectionminwidth", "externalfigurecollectionparameter", "fakebox", "fallingdotseq", "fastdecrement", "fastincrement", "fastlocalframed", "fastloopfinal", "fastloopindex", "fastscale", "fastsetup", "fastsetupwithargument", "fastsetupwithargumentswapped", "fastswitchtobodyfont", "fastsxsy", "feature", "fence", "fenced", "fetchallmarkings", "fetchallmarks", "fetchmark", "fetchmarking", "fetchonemark", "fetchonemarking", "fetchruntinecommand", "fetchtwomarkings", "fetchtwomarks", "ffiligature", "ffligature", "fflligature", "fhook", "field", "fieldbody", "fieldstack", "fifthoffivearguments", "fifthofsixarguments", "figurefilename", "figurefilepath", "figurefiletype", "figurefullname", "figureheight", "figurenaturalheight", "figurenaturalwidth", "figurespace", "figuresymbol", "figurewidth", "filename", "filigature", "filledhboxb", "filledhboxc", "filledhboxg", "filledhboxk", "filledhboxm", "filledhboxr", "filledhboxy", "filler", "fillinline", "fillinrules", "fillintext", "filterfromnext", "filterfromvalue", "filterpages", "filterreference", "findtwopassdata", "finishregisterentry", "firstcharacter", "firstcounter", "firstcountervalue", "firstoffivearguments", "firstoffourarguments", "firstofoneargument", "firstofoneunexpanded", "firstofsixarguments", "firstofthreearguments", "firstofthreeunexpanded", "firstoftwoarguments", "firstoftwounexpanded", "firstrealpage", "firstrealpagenumber", "firstsubcountervalue", "firstsubpage", "firstsubpagenumber", "firstuserpage", "firstuserpagenumber", "fitfield", "fitfieldframed", "fittopbaselinegrid", "fiveeighths", "fivesixths", "fixedspace", "fixedspaces", "flag", "flat", "flligature", "floatuserdataparameter", "flushbox", "flushboxregister", "flushcollector", "flushedrightlastline", "flushlayer", "flushlocalfloats", "flushnextbox", "flushnotes", "flushoutputstream", "flushshapebox", "flushtextflow", "flushtokens", "flushtoks", "fontalternative", "fontbody", "fontchar", "fontcharbyindex", "fontclass", "fontclassname", "fontface", "fontfeaturelist", "fontsize", "fontstyle", "footnote", "footnotetext", "forall", "forcecharacterstripping", "forcelocalfloats", "forgeteverypar", "forgetparameters", "forgetragged", "formula", "formulanumber", "foundbox", "fourfifths", "fourperemspace", "fourthoffivearguments", "fourthoffourarguments", "fourthofsixarguments", "frac", "framed", "frameddimension", "framedparameter", "framedtext", "freezedimenmacro", "freezemeasure", "frenchspacing", "from", "fromlinenote", "frown", "frozenhbox", "frule", "gacute", "gamma", "gbreve", "gcaron", "gcircumflex", "gcommaaccent", "gdefconvertedargument", "gdefconvertedcommand", "gdotaccent", "ge", "geq", "geqq", "geqslant", "getMPdrawing", "getMPlayer", "getboxfromcache", "getboxllx", "getboxlly", "getbuffer", "getbufferdata", "getcommacommandsize", "getcommalistsize", "getdayoftheweek", "getdayspermonth", "getdefinedbuffer", "getdocumentargument", "getdocumentargumentdefault", "getdocumentfilename", "getdummyparameters", "getemptyparameters", "geteparameters", "getexpandedparameters", "getfiguredimensions", "getfirstcharacter", "getfirsttwopassdata", "getfromcommacommand", "getfromcommalist", "getfromtwopassdata", "getglyphdirect", "getglyphstyled", "getgparameters", "getlasttwopassdata", "getlocalfloat", "getlocalfloats", "getmarking", "getmessage", "getnamedglyphdirect", "getnamedglyphstyled", "getnamedtwopassdatalist", "getnaturaldimensions", "getnoflines", "getobject", "getobjectdimensions", "getpaletsize", "getparameters", "getprivatechar", "getprivateslot", "getrandomcount", "getrandomdimen", "getrandomfloat", "getrandomnumber", "getrandomseed", "getraweparameters", "getrawgparameters", "getrawnoflines", "getrawparameters", "getrawxparameters", "getreference", "getreferenceentry", "getroundednoflines", "gets", "getsubstring", "gettwopassdata", "gettwopassdatalist", "getuvalue", "getvalue", "getvariable", "getvariabledefault", "getxparameters", "gg", "ggg", "gggtr", "gimel", "globaldisablemode", "globalenablemode", "globalletempty", "globalpopbox", "globalpopmacro", "globalpreventmode", "globalprocesscommalist", "globalpushbox", "globalpushmacro", "globalswapcounts", "globalswapdimens", "globalswapmacros", "globalundefine", "glyphfontfile", "gnapprox", "gneqq", "gnsim", "gobbledoubleempty", "gobbleeightarguments", "gobblefivearguments", "gobblefiveoptionals", "gobblefourarguments", "gobblefouroptionals", "gobbleninearguments", "gobbleoneargument", "gobbleoneoptional", "gobblesevenarguments", "gobblesingleempty", "gobblesixarguments", "gobblespacetokens", "gobbletenarguments", "gobblethreearguments", "gobblethreeoptionals", "gobbletwoarguments", "gobbletwooptionals", "gobbleuntil", "gobbleuntilrelax", "godown", "goto", "gotobox", "gotopage", "grabbufferdata", "grabbufferdatadirect", "grabuntil", "grave", "graycolor", "grayvalue", "greedysplitstring", "greekAlpha", "greekAlphadasia", "greekAlphadasiaperispomeni", "greekAlphadasiatonos", "greekAlphadasiavaria", "greekAlphaiotasub", "greekAlphaiotasubdasia", "greekAlphaiotasubdasiaperispomeni", "greekAlphaiotasubdasiatonos", "greekAlphaiotasubdasiavaria", "greekAlphaiotasubpsili", "greekAlphaiotasubpsiliperispomeni", "greekAlphaiotasubpsilitonos", "greekAlphaiotasubpsilivaria", "greekAlphamacron", "greekAlphapsili", "greekAlphapsiliperispomeni", "greekAlphapsilitonos", "greekAlphapsilivaria", "greekAlphatonos", "greekAlphavaria", "greekAlphavrachy", "greekBeta", "greekChi", "greekCoronis", "greekDelta", "greekEpsilon", "greekEpsilondasia", "greekEpsilondasiatonos", "greekEpsilondasiavaria", "greekEpsilonpsili", "greekEpsilonpsilitonos", "greekEpsilonpsilivaria", "greekEpsilontonos", "greekEpsilonvaria", "greekEta", "greekEtadasia", "greekEtadasiaperispomeni", "greekEtadasiatonos", "greekEtadasiavaria", "greekEtaiotasub", "greekEtaiotasubdasia", "greekEtaiotasubdasiaperispomeni", "greekEtaiotasubdasiatonos", "greekEtaiotasubdasiavaria", "greekEtaiotasubpsili", "greekEtaiotasubpsiliperispomeni", "greekEtaiotasubpsilitonos", "greekEtaiotasubpsilivaria", "greekEtapsili", "greekEtapsiliperispomeni", "greekEtapsilitonos", "greekEtapsilivaria", "greekEtatonos", "greekEtavaria", "greekGamma", "greekIota", "greekIotadasia", "greekIotadasiaperispomeni", "greekIotadasiatonos", "greekIotadasiavaria", "greekIotadialytika", "greekIotamacron", "greekIotapsili", "greekIotapsiliperispomeni", "greekIotapsilitonos", "greekIotapsilivaria", "greekIotatonos", "greekIotavaria", "greekIotavrachy", "greekKappa", "greekLambda", "greekMu", "greekNu", "greekOmega", "greekOmegadasia", "greekOmegadasiaperispomeni", "greekOmegadasiatonos", "greekOmegadasiavaria", "greekOmegaiotasub", "greekOmegaiotasubdasia", "greekOmegaiotasubdasiaperispomeni", "greekOmegaiotasubdasiatonos", "greekOmegaiotasubdasiavaria", "greekOmegaiotasubpsili", "greekOmegaiotasubpsiliperispomeni", "greekOmegaiotasubpsilitonos", "greekOmegaiotasubpsilivaria", "greekOmegapsili", "greekOmegapsiliperispomeni", "greekOmegapsilitonos", "greekOmegapsilivaria", "greekOmegatonos", "greekOmegavaria", "greekOmicron", "greekOmicrondasia", "greekOmicrondasiatonos", "greekOmicrondasiavaria", "greekOmicronpsili", "greekOmicronpsilitonos", "greekOmicronpsilivaria", "greekOmicrontonos", "greekOmicronvaria", "greekPhi", "greekPi", "greekPsi", "greekRho", "greekRhodasia", "greekSigma", "greekSigmalunate", "greekTau", "greekTheta", "greekUpsilon", "greekUpsilondasia", "greekUpsilondasiaperispomeni", "greekUpsilondasiatonos", "greekUpsilondasiavaria", "greekUpsilondialytika", "greekUpsilonmacron", "greekUpsilontonos", "greekUpsilonvaria", "greekUpsilonvrachy", "greekXi", "greekZeta", "greekalpha", "greekalphadasia", "greekalphadasiaperispomeni", "greekalphadasiatonos", "greekalphadasiavaria", "greekalphaiotasub", "greekalphaiotasubdasia", "greekalphaiotasubdasiaperispomeni", "greekalphaiotasubdasiatonos", "greekalphaiotasubdasiavaria", "greekalphaiotasubperispomeni", "greekalphaiotasubpsili", "greekalphaiotasubpsiliperispomeni", "greekalphaiotasubpsilitonos", "greekalphaiotasubpsilivaria", "greekalphaiotasubtonos", "greekalphaiotasubvaria", "greekalphamacron", "greekalphaoxia", "greekalphaperispomeni", "greekalphapsili", "greekalphapsiliperispomeni", "greekalphapsilitonos", "greekalphapsilivaria", "greekalphatonos", "greekalphavaria", "greekalphavrachy", "greekbeta", "greekchi", "greekdasia", "greekdasiaperispomeni", "greekdasiatonos", "greekdasiavaria", "greekdelta", "greekdialytikaperispomeni", "greekdialytikatonos", "greekdialytikavaria", "greekdigamma", "greekepsilon", "greekepsilonalt", "greekepsilondasia", "greekepsilondasiatonos", "greekepsilondasiavaria", "greekepsilonoxia", "greekepsilonpsili", "greekepsilonpsilitonos", "greekepsilonpsilivaria", "greekepsilontonos", "greekepsilonvaria", "greeketa", "greeketadasia", "greeketadasiaperispomeni", "greeketadasiatonos", "greeketadasiavaria", "greeketaiotasub", "greeketaiotasubdasia", "greeketaiotasubdasiaperispomeni", "greeketaiotasubdasiatonos", "greeketaiotasubdasiavaria", "greeketaiotasubperispomeni", "greeketaiotasubpsili", "greeketaiotasubpsiliperispomeni", "greeketaiotasubpsilitonos", "greeketaiotasubpsilivaria", "greeketaiotasubtonos", "greeketaiotasubvaria", "greeketaoxia", "greeketaperispomeni", "greeketapsili", "greeketapsiliperispomeni", "greeketapsilitonos", "greeketapsilivaria", "greeketatonos", "greeketavaria", "greekfinalsigma", "greekgamma", "greekiota", "greekiotadasia", "greekiotadasiaperispomeni", "greekiotadasiatonos", "greekiotadasiavaria", "greekiotadialytika", "greekiotadialytikaperispomeni", "greekiotadialytikatonos", "greekiotadialytikavaria", "greekiotamacron", "greekiotaoxia", "greekiotaperispomeni", "greekiotapsili", "greekiotapsiliperispomeni", "greekiotapsilitonos", "greekiotapsilivaria", "greekiotatonos", "greekiotavaria", "greekiotavrachy", "greekkappa", "greekkoppa", "greeklambda", "greekmu", "greeknu", "greeknumerals", "greeknumkoppa", "greekomega", "greekomegadasia", "greekomegadasiaperispomeni", "greekomegadasiatonos", "greekomegadasiavaria", "greekomegaiotasub", "greekomegaiotasubdasia", "greekomegaiotasubdasiaperispomeni", "greekomegaiotasubdasiatonos", "greekomegaiotasubdasiavaria", "greekomegaiotasubperispomeni", "greekomegaiotasubpsili", "greekomegaiotasubpsiliperispomeni", "greekomegaiotasubpsilitonos", "greekomegaiotasubpsilivaria", "greekomegaiotasubtonos", "greekomegaiotasubvaria", "greekomegaoxia", "greekomegaperispomeni", "greekomegapsili", "greekomegapsiliperispomeni", "greekomegapsilitonos", "greekomegapsilivaria", "greekomegatonos", "greekomegavaria", "greekomicron", "greekomicrondasia", "greekomicrondasiatonos", "greekomicrondasiavaria", "greekomicronoxia", "greekomicronpsili", "greekomicronpsilitonos", "greekomicronpsilivaria", "greekomicrontonos", "greekomicronvaria", "greekoxia", "greekperispomeni", "greekphi", "greekphialt", "greekpi", "greekpialt", "greekprosgegrammeni", "greekpsi", "greekpsili", "greekpsiliperispomeni", "greekpsilitonos", "greekpsilivaria", "greekrho", "greekrhoalt", "greekrhodasia", "greekrhopsili", "greeksampi", "greeksigma", "greeksigmalunate", "greekstigma", "greektau", "greektheta", "greekthetaalt", "greektonos", "greekupsilon", "greekupsilondasia", "greekupsilondasiaperispomeni", "greekupsilondasiatonos", "greekupsilondasiavaria", "greekupsilondiaeresis", "greekupsilondialytikaperispomeni", "greekupsilondialytikatonos", "greekupsilondialytikavaria", "greekupsilonmacron", "greekupsilonoxia", "greekupsilonperispomeni", "greekupsilonpsili", "greekupsilonpsiliperispomeni", "greekupsilonpsilitonos", "greekupsilonpsilivaria", "greekupsilontonos", "greekupsilonvaria", "greekupsilonvrachy", "greekvaria", "greekxi", "greekzeta", "grid", "groupedcommand", "gsetboxllx", "gsetboxlly", "gstroke", "gt", "gtrapprox", "gtrdot", "gtreqless", "gtreqqless", "gtrless", "gtrsim", "guilsingleleft", "guilsingleright", "gujaratinumerals", "gurmurkhinumerals", "hairline", "hairspace", "halflinestrut", "halfstrut", "halfwaybox", "handletokens", "handwritten", "hangul", "hanzi", "hash", "hat", "hbar", "hboxofvbox", "hboxreference", "hcaron", "hcircumflex", "hdofstring", "headhbox", "headlanguage", "headnumber", "headnumbercontent", "headnumberdistance", "headnumberwidth", "headreferenceattributes", "headsetupspacing", "headtext", "headtextcontent", "headtextdistance", "headtexts", "headtextwidth", "headvbox", "headwidth", "heartsuit", "hebrewAlef", "hebrewAyin", "hebrewBet", "hebrewDalet", "hebrewGimel", "hebrewHe", "hebrewHet", "hebrewKaf", "hebrewKaffinal", "hebrewLamed", "hebrewMem", "hebrewMemfinal", "hebrewNun", "hebrewNunfinal", "hebrewPe", "hebrewPefinal", "hebrewQof", "hebrewResh", "hebrewSamekh", "hebrewShin", "hebrewTav", "hebrewTet", "hebrewTsadi", "hebrewTsadifinal", "hebrewVav", "hebrewYod", "hebrewZayin", "heightanddepthofstring", "heightofstring", "heightspanningtext", "helptext", "hglue", "hiddenbar", "hiddencitation", "hiddencite", "hideblocks", "high", "highlight", "highordinalstr", "hilo", "himilo", "hl", "hookleftarrow", "hookrightarrow", "horizontalgrowingbar", "horizontalpositionbar", "hphantom", "hpos", "hsizefraction", "hslash", "hsmash", "hsmashbox", "hsmashed", "hspace", "hstroke", "htdpofstring", "htofstring", "hyphen", "hyphenatedcoloredword", "hyphenatedfile", "hyphenatedfilename", "hyphenatedhbox", "hyphenatedpar", "hyphenatedurl", "hyphenatedword", "iacute", "ibox", "ibreve", "icaron", "icircumflex", "ideographichalffillspace", "ideographicspace", "idiaeresis", "idotaccent", "idotbelow", "idoublegrave", "ifassignment", "iff", "ifinobject", "ifinoutputstream", "ifparameters", "iftrialtypesetting", "ignoreimplicitspaces", "ignorevalue", "igrave", "ihook", "iiiint", "iiiintop", "iiint", "iiintop", "iint", "iintop", "iinvertedbreve", "ijligature", "imacron", "imaginaryi", "imaginaryj", "imath", "immediatesavetwopassdata", "impliedby", "implies", "imply", "in", "includemenu", "includeversioninfo", "increment", "incrementcounter", "incrementedcounter", "incrementpagenumber", "incrementsubpagenumber", "incrementvalue", "indentation", "index", "infofont", "infofontbold", "inframed", "infty", "infull", "inheritparameter", "inhibitblank", "ininner", "ininneredge", "ininnermargin", "initializeboxstack", "inleft", "inleftedge", "inleftmargin", "inline", "inlinebuffer", "inlinedbox", "inlinemath", "inlinemathematics", "inlinemessage", "inlineordisplaymath", "inlineprettyprintbuffer", "inlinerange", "inmargin", "inmframed", "innerflushshapebox", "inother", "inouter", "inouteredge", "inoutermargin", "input", "inputfilebarename", "inputfilename", "inputfilerealsuffix", "inputfilesuffix", "inputgivenfile", "inright", "inrightedge", "inrightmargin", "insertpages", "installactionhandler", "installactivecharacter", "installanddefineactivecharacter", "installattributestack", "installautocommandhandler", "installautosetuphandler", "installbasicautosetuphandler", "installbasicparameterhandler", "installbottomframerenderer", "installcommandhandler", "installcorenamespace", "installdefinehandler", "installdefinitionset", "installdefinitionsetmember", "installdirectcommandhandler", "installdirectparameterhandler", "installdirectparametersethandler", "installdirectsetuphandler", "installdirectstyleandcolorhandler", "installframedautocommandhandler", "installframedcommandhandler", "installlanguage", "installleftframerenderer", "installnamespace", "installoutputroutine", "installpagearrangement", "installparameterhandler", "installparameterhashhandler", "installparametersethandler", "installparentinjector", "installrightframerenderer", "installrootparameterhandler", "installsetuphandler", "installsetuponlycommandhandler", "installshipoutmethod", "installsimplecommandhandler", "installsimpleframedcommandhandler", "installstyleandcolorhandler", "installswitchcommandhandler", "installswitchsetuphandler", "installtexdirective", "installtextracker", "installtopframerenderer", "installunitsseparator", "installunitsspace", "installversioninfo", "int", "intclockwise", "integerrounding", "integers", "interactionbar", "interactionbuttons", "interactionmenu", "intercal", "intertext", "intop", "invisibletimes", "invokepageheandler", "iogonek", "iota", "istltdir", "istrtdir", "italic", "italicbold", "italiccorrection", "italicface", "item", "items", "itemtag", "itilde", "jcaron", "jcircumflex", "jmath", "jobfilename", "jobfilesuffix", "kap", "kappa", "kcaron", "kcommaaccent", "keepblocks", "keeplinestogether", "keepunwantedspaces", "kerncharacters", "khook", "kkra", "koreancirclenumerals", "koreannumerals", "koreannumeralsc", "koreannumeralsp", "koreanparentnumerals", "lVert", "labellanguage", "labeltext", "labeltexts", "lacute", "lambda", "lambdabar", "land", "langle", "language", "languageCharacters", "languagecharacters", "languagecharwidth", "lastcounter", "lastcountervalue", "lastdigit", "lastlinewidth", "lastnaturalboxdp", "lastnaturalboxht", "lastnaturalboxwd", "lastpredefinedsymbol", "lastrealpage", "lastrealpagenumber", "lastsubcountervalue", "lastsubpage", "lastsubpagenumber", "lasttwodigits", "lastuserpage", "lastuserpagenumber", "lateluacode", "latin", "layeredtext", "layerheight", "layerwidth", "lazysavetaggedtwopassdata", "lazysavetwopassdata", "lbar", "lbox", "lbrace", "lbracket", "lcaron", "lceil", "lcommaaccent", "lcurl", "ldotmiddle", "ldotp", "ldots", "le", "leadsto", "left", "leftaligned", "leftarrow", "leftarrowtail", "leftarrowtriangle", "leftbottombox", "leftbox", "leftdasharrow", "leftguillemot", "leftharpoondown", "leftharpoonup", "lefthbox", "leftheadtext", "leftlabeltext", "leftleftarrows", "leftline", "leftmathlabeltext", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "leftrightarrow", "leftrightarrows", "leftrightarrowtriangle", "leftrightharpoons", "leftrightsquigarrow", "leftskipadaption", "leftsquigarrow", "leftsubguillemot", "leftthreetimes", "lefttopbox", "lefttoright", "lefttorighthbox", "lefttorightvbox", "lefttorightvtop", "leftwavearrow", "leftwhitearrow", "leq", "leqq", "leqslant", "lessapprox", "lessdot", "lesseqgtr", "lesseqqgtr", "lessgtr", "lesssim", "letbeundefined", "letcatcodecommand", "letcscsname", "letcsnamecs", "letcsnamecsname", "letdummyparameter", "letempty", "letgvalue", "letgvalueempty", "letgvalurelax", "letterampersand", "letterat", "letterbackslash", "letterbar", "letterbgroup", "letterclosebrace", "lettercolon", "letterdollar", "letterdoublequote", "letteregroup", "letterescape", "letterexclamationmark", "letterhash", "letterhat", "letterleftbrace", "letterleftbracket", "letterleftparenthesis", "letterless", "lettermore", "letteropenbrace", "letterpercent", "letterquestionmark", "letterrightbrace", "letterrightbracket", "letterrightparenthesis", "lettersinglequote", "letterslash", "letterspacing", "lettertilde", "letterunderscore", "letvalue", "letvalueempty", "letvaluerelax", "lfence", "lfloor", "lgroup", "lhbox", "lhooknwarrow", "lhooksearrow", "limitatefirstline", "limitatelines", "limitatetext", "line", "linefeed", "linenote", "linespanningtext", "linethickness", "linterval", "listcitation", "listcite", "listlength", "listnamespaces", "ljligature", "ll", "llangle", "llap", "llbracket", "llcorner", "lll", "llless", "lmoustache", "lnapprox", "lneq", "lneqq", "lnot", "lnsim", "loadanyfile", "loadanyfileonce", "loadbtxdefinitionfile", "loadbtxreplacementfile", "loadcldfile", "loadcldfileonce", "loadfontgoodies", "loadluafile", "loadluafileonce", "loadspellchecklist", "loadtexfile", "loadtexfileonce", "loadtypescriptfile", "localframed", "localframedwithsettings", "localhsize", "localpopbox", "localpopmacro", "localpushbox", "localpushmacro", "localundefine", "locatedfilepath", "locatefilepath", "locfilename", "logo", "lohi", "lointerval", "lomihi", "longleftarrow", "longleftrightarrow", "longmapsfrom", "longmapsto", "longrightarrow", "longrightsquigarrow", "looparrowleft", "looparrowright", "lor", "low", "lowerbox", "lowercased", "lowercasestring", "lowerleftdoubleninequote", "lowerleftsingleninequote", "lowerrightdoubleninequote", "lowerrightsingleninequote", "lozenge", "lparent", "lrcorner", "lrointerval", "lrtbbox", "lstroke", "lt", "ltimes", "ltop", "luaTeX", "luacode", "luaconditional", "luaenvironment", "luaexpanded", "luaexpr", "luafunction", "luajitTeX", "luamajorversion", "luaminorversion", "luaparameterset", "luasetup", "luaversion", "lvert", "m", "mLeftarrow", "mLeftrightarrow", "mRightarrow", "mainlanguage", "makecharacteractive", "makerawcommalist", "makestrutofbox", "maltese", "mapfontsize", "mapsdown", "mapsfrom", "mapsto", "mapsup", "margindata", "margintext", "markcontent", "marking", "markinjector", "markpage", "mat", "math", "mathampersand", "mathbf", "mathbi", "mathblackboard", "mathbs", "mathdefault", "mathdollar", "mathdouble", "mathematics", "mathfraktur", "mathfunction", "mathhash", "mathhyphen", "mathit", "mathitalic", "mathlabellanguage", "mathlabeltext", "mathlabeltexts", "mathop", "mathover", "mathpercent", "mathrm", "mathscript", "mathsl", "mathss", "mathtext", "mathtextbf", "mathtextbi", "mathtextbs", "mathtextit", "mathtextsl", "mathtexttf", "mathtf", "mathtriplet", "mathtt", "mathunder", "mathupright", "mathword", "mathwordbf", "mathwordbi", "mathwordbs", "mathwordit", "mathwordsl", "mathwordtf", "maxaligned", "mbox", "mcframed", "measure", "measured", "measuredangle", "measuredeq", "medskip", "medspace", "menubutton", "mequal", "message", "metaTeX", "mfence", "mframed", "mfunction", "mfunctionlabeltext", "mhbox", "mho", "mhookleftarrow", "mhookrightarrow", "mid", "midaligned", "middle", "middlealigned", "middlebox", "midhbox", "midsubsentence", "minimalhbox", "minus", "minuscolon", "mirror", "mixedcaps", "mkvibuffer", "mleftarrow", "mleftharpoondown", "mleftharpoonup", "mleftrightarrow", "mleftrightharpoons", "mmapsto", "models", "moduleparameter", "molecule", "mono", "monobold", "mononormal", "month", "monthlong", "monthshort", "mp", "mprandomnumber", "mrel", "mrightarrow", "mrightharpoondown", "mrightharpoonup", "mrightleftharpoons", "mrightoverleftarrow", "mtext", "mtriplerel", "mtwoheadleftarrow", "mtwoheadrightarrow", "mu", "multimap", "nHdownarrow", "nHuparrow", "nLeftarrow", "nLeftrightarrow", "nRightarrow", "nVDash", "nVdash", "nVleftarrow", "nVleftrightarrow", "nVrightarrow", "nabla", "nacute", "namedheadnumber", "namedstructureheadlocation", "namedstructureuservariable", "namedstructurevariable", "namedtaggedlabeltexts", "napostrophe", "napprox", "napproxEq", "narrownobreakspace", "nasymp", "natural", "naturalhbox", "naturalhpack", "naturalnumbers", "naturalvbox", "naturalvcenter", "naturalvpack", "naturalvtop", "naturalwd", "ncaron", "ncommaaccent", "ncong", "ncurl", "ndivides", "ne", "nearrow", "neg", "negatecolorbox", "negated", "negativesign", "negthinspace", "neng", "neq", "nequiv", "neswarrow", "newattribute", "newcatcodetable", "newcounter", "newevery", "newfrenchspacing", "newmode", "newsignal", "newsystemmode", "nexists", "nextbox", "nextboxdp", "nextboxht", "nextboxhtdp", "nextboxwd", "nextcounter", "nextcountervalue", "nextdepth", "nextparagraphs", "nextrealpage", "nextrealpagenumber", "nextsubcountervalue", "nextsubpage", "nextsubpagenumber", "nextuserpage", "nextuserpagenumber", "ngeq", "ngrave", "ngtr", "ngtrless", "ngtrsim", "ni", "nihongo", "nin", "njligature", "nleftarrow", "nleftrightarrow", "nleq", "nless", "nlessgtr", "nlesssim", "nmid", "nni", "nobar", "nobreakspace", "nocap", "nocitation", "nocite", "nodetostring", "noffigurepages", "noflines", "noflocalfloats", "noheaderandfooterlines", "noheightstrut", "noindentation", "noitem", "nonfrenchspacing", "nonmathematics", "normal", "normalboldface", "normalframedwithsettings", "normalitalicface", "normalizebodyfontsize", "normalizedfontsize", "normalizefontdepth", "normalizefontheight", "normalizefontline", "normalizefontwidth", "normalizetextdepth", "normalizetextheight", "normalizetextline", "normalizetextwidth", "normalslantedface", "normaltypeface", "nospace", "not", "note", "notesymbol", "notin", "notopandbottomlines", "notragged", "nowns", "nparallel", "nprec", "npreccurlyeq", "nrightarrow", "nsim", "nsimeq", "nsqsubseteq", "nsqsupseteq", "nsubset", "nsubseteq", "nsucc", "nsucccurlyeq", "nsupset", "nsupseteq", "ntilde", "ntimes", "ntriangleleft", "ntrianglelefteq", "ntriangleright", "ntrianglerighteq", "nu", "numberofpoints", "numbers", "nvDash", "nvdash", "nvleftarrow", "nvleftrightarrow", "nvrightarrow", "nwarrow", "nwsearrow", "oacute", "obeydepth", "objectdepth", "objectheight", "objectmargin", "objectwidth", "obox", "obreve", "ocaron", "ocircumflex", "ocircumflexacute", "ocircumflexdotbelow", "ocircumflexgrave", "ocircumflexhook", "ocircumflextilde", "odiaeresis", "odiaeresismacron", "odot", "odotaccent", "odotaccentmacron", "odotbelow", "odoublegrave", "oeligature", "offset", "offsetbox", "ograve", "ohm", "ohook", "ohorn", "ohornacute", "ohorndotbelow", "ohorngrave", "ohornhook", "ohorntilde", "ohungarumlaut", "oiiint", "oiint", "oint", "ointclockwise", "ointctrclockwise", "oinvertedbreve", "omacron", "omega", "omicron", "ominus", "onedigitrounding", "oneeighth", "onefifth", "onehalf", "onequarter", "onesixth", "onesuperior", "onethird", "oogonek", "oogonekmacron", "operatorlanguage", "operatortext", "oplus", "ordfeminine", "ordinaldaynumber", "ordinalstr", "ordmasculine", "ornamenttext", "oslash", "ostroke", "ostrokeacute", "otilde", "otildemacron", "otimes", "outputfilename", "outputstreambox", "outputstreamcopy", "outputstreamunvbox", "outputstreamunvcopy", "over", "overbar", "overbars", "overbarunderbar", "overbrace", "overbraceunderbrace", "overbracket", "overbracketunderbracket", "overlaybutton", "overlaycolor", "overlaydepth", "overlayfigure", "overlayheight", "overlaylinecolor", "overlaylinewidth", "overlayoffset", "overlayrollbutton", "overlaywidth", "overleftarrow", "overloaderror", "overparent", "overparentunderparent", "overrightarrow", "overset", "overstrike", "overstrikes", "owns", "page", "pagearea", "pagebreak", "pagefigure", "pagegridspanwidth", "pageinjection", "pagenumber", "pagereference", "pagestaterealpage", "paletsize", "paragraphmark", "parallel", "part", "partial", "pdfTeX", "pdfactualtext", "pdfbackendactualtext", "pdfbackendcurrentresources", "pdfbackendsetcatalog", "pdfbackendsetcolorspace", "pdfbackendsetextgstate", "pdfbackendsetinfo", "pdfbackendsetname", "pdfbackendsetpageattribute", "pdfbackendsetpageresource", "pdfbackendsetpagesattribute", "pdfbackendsetpattern", "pdfbackendsetshade", "pdfcolor", "pdfeTeX", "percent", "percentdimen", "periodcentered", "periods", "permitcaretescape", "permitcircumflexescape", "permitspacesbetweengroups", "perp", "persiandecimals", "persiandecimalseparator", "persiannumerals", "persianthousandsseparator", "perthousand", "phantom", "phantombox", "phi", "phook", "pi", "pickupgroupedcommand", "pitchfork", "placeattachments", "placebookmarks", "placebtxrendering", "placechemical", "placecitation", "placecombinedlist", "placecomments", "placecontent", "placecurrentformulanumber", "placedbox", "placefigure", "placefloat", "placefloatwithsetups", "placefootnotes", "placeformula", "placeframed", "placegraphic", "placeheadnumber", "placeheadtext", "placehelp", "placeindex", "placeinitial", "placeintermezzo", "placelayer", "placelayeredtext", "placelegend", "placelist", "placelistofabbreviations", "placelistofchemicals", "placelistoffigures", "placelistofgraphics", "placelistofintermezzi", "placelistoflogos", "placelistofpublications", "placelistofsorts", "placelistofsynonyms", "placelistoftables", "placelocalfootnotes", "placelocalnotes", "placement", "placenamedfloat", "placenamedformula", "placenotes", "placeongrid", "placeontopofeachother", "placepagenumber", "placepairedbox", "placeparallel", "placerawlist", "placeregister", "placerenderingwindow", "placesidebyside", "placesubformula", "placetable", "pm", "popattribute", "popmacro", "popmode", "popsystemmode", "position", "positionoverlay", "positionregionoverlay", "positivesign", "postponenotes", "prec", "precapprox", "preccurlyeq", "preceq", "preceqq", "precnapprox", "precneq", "precneqq", "precnsim", "precsim", "predefinedfont", "predefinefont", "predefinesymbol", "prefixedpagenumber", "prefixlanguage", "prefixtext", "prependetoks", "prependgvalue", "prependtocommalist", "prependtoks", "prependtoksonce", "prependvalue", "presetbtxlabeltext", "presetdocument", "presetfieldsymbols", "presetheadtext", "presetlabeltext", "presetmathlabeltext", "presetoperatortext", "presetprefixtext", "presetsuffixtext", "presettaglabeltext", "presetunittext", "pretocommalist", "prettyprintbuffer", "prevcounter", "prevcountervalue", "preventmode", "prevrealpage", "prevrealpagenumber", "prevsubcountervalue", "prevsubpage", "prevsubpagenumber", "prevuserpage", "prevuserpagenumber", "prime", "primes", "procent", "processMPbuffer", "processMPfigurefile", "processaction", "processallactionsinset", "processassignlist", "processassignmentcommand", "processassignmentlist", "processbetween", "processblocks", "processbodyfontenvironmentlist", "processcolorcomponents", "processcommacommand", "processcommalist", "processcommalistwithparameters", "processcontent", "processfile", "processfilemany", "processfilenone", "processfileonce", "processfirstactioninset", "processisolatedchars", "processisolatedwords", "processlinetablebuffer", "processlinetablefile", "processlist", "processmonth", "processranges", "processseparatedlist", "processtexbuffer", "processtokens", "processuntil", "processxtablebuffer", "processyear", "prod", "product", "profiledbox", "profilegivenbox", "program", "project", "propto", "pseudoMixedCapped", "pseudoSmallCapped", "pseudoSmallcapped", "pseudosmallcapped", "psi", "punctuationspace", "purenumber", "pushattribute", "pushbutton", "pushmacro", "pushmode", "pushoutputstream", "pushsystemmode", "putboxincache", "putnextboxincache", "qquad", "quad", "quadrupleprime", "quads", "quarterstrut", "questiondown", "questionedeq", "quitcommalist", "quitprevcommalist", "quittypescriptscanning", "quotation", "quote", "quotedbl", "quotedblbase", "quotedblleft", "quotedblright", "quoteleft", "quoteright", "quotesingle", "quotesinglebase", "rVert", "racute", "raggedbottom", "raggedcenter", "raggedleft", "raggedright", "raggedwidecenter", "raisebox", "randomizetext", "randomnumber", "rangle", "rationals", "rawcounter", "rawcountervalue", "rawdate", "rawdoifelseinset", "rawdoifinset", "rawdoifinsetelse", "rawgetparameters", "rawprocessaction", "rawprocesscommacommand", "rawprocesscommalist", "rawstructurelistuservariable", "rawsubcountervalue", "rbox", "rbrace", "rbracket", "rcaron", "rceil", "rcommaaccent", "rdoublegrave", "readfile", "readfixfile", "readjobfile", "readlocfile", "readsetfile", "readsysfile", "readtexfile", "readxmlfile", "realSmallCapped", "realSmallcapped", "realpagenumber", "reals", "realsmallcapped", "recursedepth", "recurselevel", "recursestring", "redoconvertfont", "ref", "reference", "referenceprefix", "referring", "registerattachment", "registerctxluafile", "registered", "registerexternalfigure", "registerfontclass", "registerhyphenationexception", "registerhyphenationpattern", "registermenubuttons", "registersort", "registersynonym", "registerunit", "regular", "relatemarking", "relateparameterhandlers", "relaxvalueifundefined", "relbar", "remainingcharacters", "remark", "removebottomthings", "removedepth", "removefromcommalist", "removelastskip", "removelastspace", "removemarkedcontent", "removepunctuation", "removesubstring", "removetoks", "removeunwantedspaces", "replacefeature", "replaceincommalist", "replaceword", "rescan", "rescanwithsetup", "resetMPdrawing", "resetMPenvironment", "resetMPinstance", "resetallattributes", "resetandaddfeature", "resetbar", "resetboxesincache", "resetbreakpoints", "resetbuffer", "resetcharacteralign", "resetcharacterkerning", "resetcharacterspacing", "resetcharacterstripping", "resetcollector", "resetcounter", "resetdigitsmanipulation", "resetdirection", "resetfeature", "resetflag", "resetfontcolorsheme", "resetfontfallback", "resetfontsolution", "resethyphenationfeatures", "resetinjector", "resetinteractionmenu", "resetitaliccorrection", "resetlayer", "resetlocalfloats", "resetmarker", "resetmarking", "resetmode", "resetpagenumber", "resetparallel", "resetpath", "resetpenalties", "resetprofile", "resetrecurselevel", "resetreference", "resetreplacement", "resetscript", "resetsetups", "resetshownsynonyms", "resetsubpagenumber", "resetsymbolset", "resetsystemmode", "resettimer", "resettrackers", "resettrialtypesetting", "resetusedsortings", "resetusedsynonyms", "resetuserpagenumber", "resetvalue", "resetvisualizers", "reshapebox", "resolvedglyphdirect", "resolvedglyphstyled", "restartcounter", "restorebox", "restorecatcodes", "restorecounter", "restorecurrentattributes", "restoreendofline", "restoreglobalbodyfont", "restriction", "reusableMPgraphic", "reuseMPgraphic", "reuserandomseed", "reverseddoubleprime", "reversedprime", "reversedtripleprime", "revivefeature", "rfence", "rfloor", "rgroup", "rhbox", "rho", "rhooknearrow", "rhookswarrow", "right", "rightaligned", "rightangle", "rightarrow", "rightarrowbar", "rightarrowtail", "rightarrowtriangle", "rightbottombox", "rightbox", "rightdasharrow", "rightguillemot", "rightharpoondown", "rightharpoonup", "righthbox", "rightheadtext", "rightlabeltext", "rightleftarrows", "rightleftharpoons", "rightline", "rightmathlabeltext", "rightorleftpageaction", "rightrightarrows", "rightskipadaption", "rightsquigarrow", "rightsubguillemot", "rightthreearrows", "rightthreetimes", "righttoleft", "righttolefthbox", "righttoleftvbox", "righttoleftvtop", "righttopbox", "rightwavearrow", "rightwhitearrow", "ring", "rinterval", "rinvertedbreve", "risingdotseq", "rlap", "rlointerval", "rmoustache", "rneq", "robustaddtocommalist", "robustdoifelseinset", "robustdoifinsetelse", "robustpretocommalist", "rointerval", "rollbutton", "roman", "romanC", "romanD", "romanI", "romanII", "romanIII", "romanIV", "romanIX", "romanL", "romanM", "romanV", "romanVI", "romanVII", "romanVIII", "romanX", "romanXI", "romanXII", "romanc", "romand", "romani", "romanii", "romaniii", "romaniv", "romanix", "romanl", "romanm", "romannumerals", "romanv", "romanvi", "romanvii", "romanviii", "romanx", "romanxi", "romanxii", "rootradical", "rotate", "rparent", "rrangle", "rrbracket", "rrointerval", "rtimes", "rtop", "ruledhbox", "ruledhpack", "ruledmbox", "ruledtopv", "ruledtpack", "ruledvbox", "ruledvpack", "ruledvtop", "runMPbuffer", "runninghbox", "rvert", "sacute", "safechar", "samplefile", "sans", "sansbold", "sansnormal", "sansserif", "savebox", "savebtxdataset", "savebuffer", "savecounter", "savecurrentattributes", "savenormalmeaning", "savetaggedtwopassdata", "savetwopassdata", "sbox", "scale", "scaron", "scedilla", "schwa", "schwahook", "scircumflex", "scommaaccent", "screen", "searrow", "secondoffivearguments", "secondoffourarguments", "secondofsixarguments", "secondofthreearguments", "secondofthreeunexpanded", "secondoftwoarguments", "secondoftwounexpanded", "section", "sectionmark", "seeindex", "select", "selectblocks", "serializecommalist", "serializedcommalist", "serif", "serifbold", "serifnormal", "setJSpreamble", "setMPlayer", "setMPpositiongraphic", "setMPpositiongraphicrange", "setMPtext", "setMPvariable", "setMPvariables", "setbar", "setbigbodyfont", "setboxllx", "setboxlly", "setbreakpoints", "setcapstrut", "setcatcodetable", "setcharacteralign", "setcharactercasing", "setcharactercleaning", "setcharacterkerning", "setcharacterspacing", "setcharacterstripping", "setcharstrut", "setcollector", "setcolormodell", "setcounter", "setcounterown", "setcurrentfontclass", "setdataset", "setdefaultpenalties", "setdigitsmanipulation", "setdirection", "setdocumentargument", "setdocumentargumentdefault", "setdocumentfilename", "setdummyparameter", "setelementexporttag", "setemeasure", "setevalue", "setevariable", "setevariables", "setfirstline", "setflag", "setfont", "setfontcolorsheme", "setfontfeature", "setfontsolution", "setfontstrut", "setgmeasure", "setgvalue", "setgvariable", "setgvariables", "sethboxregister", "sethyphenatedurlafter", "sethyphenatedurlbefore", "sethyphenatedurlnormal", "sethyphenationfeatures", "setinitial", "setinjector", "setinteraction", "setinterfacecommand", "setinterfaceconstant", "setinterfaceelement", "setinterfacemessage", "setinterfacevariable", "setinternalrendering", "setitaliccorrection", "setlayer", "setlayerframed", "setlayertext", "setlinefiller", "setlocalhsize", "setmainbodyfont", "setmainparbuilder", "setmarker", "setmarking", "setmathstyle", "setmeasure", "setmessagetext", "setminus", "setmode", "setnostrut", "setnote", "setnotetext", "setobject", "setoldstyle", "setpagegrid", "setpagereference", "setpagestate", "setpagestaterealpageno", "setpenalties", "setpercentdimen", "setposition", "setpositionbox", "setpositiondata", "setpositiondataplus", "setpositiononly", "setpositionplus", "setpositionstrut", "setprofile", "setrandomseed", "setreference", "setreferencedobject", "setregisterentry", "setreplacement", "setrigidcolumnbalance", "setrigidcolumnhsize", "setscript", "setsectionblock", "setsimplecolumnhsize", "setsmallbodyfont", "setsmallcaps", "setstackbox", "setstructurepageregister", "setstrut", "setsuperiors", "setsystemmode", "settabular", "settaggedmetadata", "settextcontent", "settightobject", "settightreferencedobject", "settightunreferencedobject", "settrialtypesetting", "setuevalue", "setugvalue", "setunreferencedobject", "setup", "setupMPgraphics", "setupMPinstance", "setupMPpage", "setupMPvariables", "setupTABLE", "setupTEXpage", "setupalign", "setupalternativestyles", "setuparranging", "setupattachment", "setupattachments", "setupbackend", "setupbackground", "setupbackgrounds", "setupbar", "setupbars", "setupblackrules", "setupblank", "setupbleeding", "setupblock", "setupbodyfont", "setupbookmark", "setupbottom", "setupbottomtexts", "setupbtx", "setupbtxdataset", "setupbtxlabeltext", "setupbtxlist", "setupbtxregister", "setupbtxrendering", "setupbuffer", "setupbutton", "setupcapitals", "setupcaption", "setupcaptions", "setupcharacterkerning", "setupcharacterspacing", "setupchemical", "setupchemicalframed", "setupclipping", "setupcollector", "setupcolor", "setupcolors", "setupcolumns", "setupcolumnspan", "setupcombination", "setupcombinedlist", "setupcomment", "setupcontent", "setupcounter", "setupdataset", "setupdelimitedtext", "setupdescription", "setupdirections", "setupdocument", "setupeffect", "setupenumeration", "setupenumerations", "setupenv", "setupexport", "setupexternalfigure", "setupexternalsoundtracks", "setupfield", "setupfieldbody", "setupfieldcategory", "setupfieldcontentframed", "setupfieldlabelframed", "setupfields", "setupfieldtotalframed", "setupfiller", "setupfillinlines", "setupfillinrules", "setupfirstline", "setupfittingpage", "setupfloat", "setupfloatcaption", "setupfloats", "setupfloatsplitting", "setupfontexpansion", "setupfontprotrusion", "setupfonts", "setupfontsolution", "setupfooter", "setupfootertexts", "setupforms", "setupformula", "setupformulae", "setupformulaframed", "setupframed", "setupframedcontent", "setupframedtable", "setupframedtablecolumn", "setupframedtablerow", "setupframedtext", "setupframedtexts", "setupglobalreferenceprefix", "setuphead", "setupheadalternative", "setupheader", "setupheadertexts", "setupheadnumber", "setupheads", "setupheadtext", "setuphelp", "setuphigh", "setuphighlight", "setuphyphenation", "setuphyphenmark", "setupindentedtext", "setupindenting", "setupindex", "setupinitial", "setupinsertion", "setupinteraction", "setupinteractionbar", "setupinteractionmenu", "setupinteractionscreen", "setupinterlinespace", "setupitaliccorrection", "setupitemgroup", "setupitemizations", "setupitemize", "setupitems", "setuplabel", "setuplabeltext", "setuplanguage", "setuplayer", "setuplayeredtext", "setuplayout", "setuplayouttext", "setuplegend", "setuplinefiller", "setuplinefillers", "setuplinenote", "setuplinenumbering", "setuplines", "setuplinetable", "setuplinewidth", "setuplist", "setuplistalternative", "setuplistextra", "setuplocalfloats", "setuplocalinterlinespace", "setuplow", "setuplowhigh", "setuplowmidhigh", "setupmakeup", "setupmarginblock", "setupmargindata", "setupmarginframed", "setupmarginrule", "setupmarginrules", "setupmarking", "setupmathalignment", "setupmathcases", "setupmathematics", "setupmathfence", "setupmathfraction", "setupmathfractions", "setupmathframed", "setupmathlabeltext", "setupmathmatrix", "setupmathornament", "setupmathradical", "setupmathstackers", "setupmathstyle", "setupmixedcolumns", "setupmodule", "setupnarrower", "setupnotation", "setupnotations", "setupnote", "setupnotes", "setupoffset", "setupoffsetbox", "setupoperatortext", "setupoppositeplacing", "setupoutputroutine", "setuppagechecker", "setuppagecomment", "setuppagegrid", "setuppagegridarea", "setuppagegridareatext", "setuppagegridlines", "setuppagegridspan", "setuppagegridstart", "setuppageinjection", "setuppageinjectionalternative", "setuppagenumber", "setuppagenumbering", "setuppageshift", "setuppagestate", "setuppagetransitions", "setuppairedbox", "setuppalet", "setuppaper", "setuppapersize", "setupparagraph", "setupparagraphintro", "setupparagraphnumbering", "setupparagraphs", "setupparallel", "setupperiods", "setupplacement", "setuppositionbar", "setuppositioning", "setupprefixtext", "setupprocessor", "setupprofile", "setupprograms", "setupquotation", "setupquote", "setuprealpagenumber", "setupreferenceformat", "setupreferenceprefix", "setupreferencestructureprefix", "setupreferencing", "setupregister", "setupregisters", "setuprenderingwindow", "setuprotate", "setups", "setupscale", "setupscript", "setupscripts", "setupsectionblock", "setupselector", "setupshift", "setupsidebar", "setupsorting", "setupspacing", "setupspellchecking", "setupstartstop", "setupstretched", "setupstruts", "setupstyle", "setupsubformula", "setupsubformulas", "setupsubpagenumber", "setupsuffixtext", "setupsymbolset", "setupsynctex", "setupsynonyms", "setuptables", "setuptabulate", "setuptabulation", "setuptagging", "setuptaglabeltext", "setuptext", "setuptextbackground", "setuptextflow", "setuptextrules", "setuptexttexts", "setupthinrules", "setuptolerance", "setuptooltip", "setuptop", "setuptoptexts", "setuptype", "setuptyping", "setupunit", "setupunittext", "setupurl", "setupuserpagenumber", "setupversion", "setupviewerlayer", "setupvspacing", "setupwhitespace", "setupwithargument", "setupwithargumentswapped", "setupxml", "setupxtable", "setuvalue", "setuxvalue", "setvalue", "setvariable", "setvariables", "setvboxregister", "setvisualizerfont", "setvtopregister", "setwidthof", "setxmeasure", "setxvalue", "setxvariable", "setxvariables", "seveneighths", "sfrac", "shapedhbox", "sharp", "shiftdown", "shiftup", "showallmakeup", "showattributes", "showbodyfont", "showbodyfontenvironment", "showboxes", "showbtxdatasetauthors", "showbtxdatasetcompleteness", "showbtxdatasetfields", "showbtxfields", "showbtxhashedauthors", "showbtxtables", "showchardata", "showcharratio", "showcolor", "showcolorbar", "showcolorcomponents", "showcolorgroup", "showcolorset", "showcolorstruts", "showcounter", "showdirectives", "showdirsinmargin", "showedebuginfo", "showexperiments", "showfont", "showfontdata", "showfontitalics", "showfontkerns", "showfontparameters", "showfontstrip", "showfontstyle", "showframe", "showglyphs", "showgrid", "showgridsnapping", "showhelp", "showhyphenationtrace", "showhyphens", "showinjector", "showjustification", "showkerning", "showlayout", "showlayoutcomponents", "showligature", "showligatures", "showlogcategories", "showmakeup", "showmargins", "showmessage", "showminimalbaseline", "shownextbox", "showotfcomposition", "showpalet", "showparentchain", "showprint", "showsetups", "showsetupsdefinition", "showstruts", "showsymbolset", "showtimer", "showtokens", "showtrackers", "showvalue", "showvariable", "showwarning", "sigma", "sim", "simeq", "simplealignedbox", "simplealignedboxplus", "simplealignedspreadbox", "simplegroupedcommand", "simplereversealignedbox", "simplereversealignedboxplus", "singalcharacteralign", "singlebond", "singleverticalbar", "sixperemspace", "sixthofsixarguments", "slanted", "slantedbold", "slantedface", "slash", "slicepages", "slong", "slovenianNumerals", "sloveniannumerals", "small", "smallbodyfont", "smallbold", "smallbolditalic", "smallboldslanted", "smallcappedcharacters", "smallcappedromannumerals", "smaller", "smallitalicbold", "smallnormal", "smallskip", "smallslanted", "smallslantedbold", "smalltype", "smash", "smashbox", "smashboxed", "smashedhbox", "smashedvbox", "smile", "snaptogrid", "softhyphen", "solidus", "someheadnumber", "somekindoftab", "someline", "somelocalfloat", "somenamedheadnumber", "someplace", "somewhere", "space", "spadesuit", "spanishNumerals", "spanishnumerals", "speech", "sphericalangle", "splitatasterisk", "splitatcolon", "splitatcolons", "splitatcomma", "splitatperiod", "splitdfrac", "splitfilename", "splitfloat", "splitfrac", "splitoffbase", "splitofffull", "splitoffkind", "splitoffname", "splitoffpath", "splitoffroot", "splitofftokens", "splitofftype", "splitstring", "spreadhbox", "sqcap", "sqcup", "sqrt", "sqsubset", "sqsubseteq", "sqsubsetneq", "sqsupset", "sqsupseteq", "sqsupsetneq", "square", "squaredots", "ssharp", "stackrel", "star", "stareq", "startJScode", "startJSpreamble", "startLUA", "startMP", "startMPclip", "startMPcode", "startMPdefinitions", "startMPdrawing", "startMPenvironment", "startMPextensions", "startMPinclusions", "startMPinitializations", "startMPpage", "startMPpositiongraphic", "startMPpositionmethod", "startMPrun", "startPARSEDXML", "startTABLE", "startTABLEbody", "startTABLEfoot", "startTABLEhead", "startTABLEnext", "startTC", "startTD", "startTDs", "startTEX", "startTEXpage", "startTH", "startTN", "startTR", "startTRs", "startTX", "startTY", "startXML", "startalign", "startalignment", "startallmodes", "startappendices", "startarrangedpages", "startaside", "startattachment", "startbackground", "startbackmatter", "startbar", "startbbordermatrix", "startbitmapimage", "startblockquote", "startbodymatter", "startbordermatrix", "startboxedcolumns", "startbtxlabeltext", "startbtxrenderingdefinitions", "startbuffer", "startcases", "startcatcodetable", "startcenteraligned", "startchapter", "startcharacteralign", "startcheckedfences", "startchemical", "startchemicaltext", "startcollect", "startcollecting", "startcolor", "startcolorintent", "startcoloronly", "startcolorset", "startcolumns", "startcolumnspan", "startcombination", "startcomment", "startcomponent", "startcontextcode", "startcontextdefinitioncode", "startctxfunction", "startctxfunctiondefinition", "startcurrentcolor", "startcurrentlistentrywrapper", "startdelimited", "startdelimitedtext", "startdisplaymath", "startdmath", "startdocument", "starteffect", "startelement", "startembeddedxtable", "startendnote", "startendofline", "startenvironment", "startexceptions", "startexpanded", "startexpandedcollect", "startextendedcatcodetable", "startexternalfigurecollection", "startfact", "startfigure", "startfiguretext", "startfittingpage", "startfixed", "startfloatcombination", "startfont", "startfontclass", "startfontsolution", "startfootnote", "startformula", "startformulas", "startframed", "startframedcell", "startframedcontent", "startframedrow", "startframedtable", "startframedtext", "startfrontmatter", "startgoto", "startgraphictext", "startgridsnapping", "starthanging", "starthbox", "starthboxestohbox", "starthboxregister", "starthead", "startheadtext", "starthelptext", "starthiding", "starthighlight", "starthyphenation", "startimath", "startindentation", "startindentedtext", "startinteraction", "startinteractionmenu", "startinterface", "startintermezzotext", "startintertext", "startitem", "startitemgroup", "startitemgroupcolumns", "startitemize", "startknockout", "startlabeltext", "startlayout", "startleftaligned", "startlegend", "startline", "startlinealignment", "startlinecorrection", "startlinefiller", "startlinenote", "startlinenumbering", "startlines", "startlinetable", "startlinetablebody", "startlinetablecell", "startlinetablehead", "startlocalfootnotes", "startlocalheadsetup", "startlocallinecorrection", "startlocalnotes", "startlocalsetups", "startlua", "startluacode", "startluaparameterset", "startluasetups", "startmakeup", "startmarginblock", "startmarginrule", "startmarkedcontent", "startmathalignment", "startmathcases", "startmathlabeltext", "startmathmatrix", "startmathmode", "startmathstyle", "startmatrices", "startmatrix", "startmaxaligned", "startmdformula", "startmidaligned", "startmiddlealigned", "startmiddlemakeup", "startmixedcolumns", "startmode", "startmodeset", "startmodule", "startmoduletestsection", "startmpformula", "startnamedsection", "startnamedsubformulas", "startnarrow", "startnarrower", "startnegative", "startnicelyfilledbox", "startnointerference", "startnotallmodes", "startnotext", "startnotmode", "startoperatortext", "startopposite", "startoutputstream", "startoverlay", "startoverprint", "startpacked", "startpagecomment", "startpagefigure", "startpagegrid", "startpagegridspan", "startpagelayout", "startpagemakeup", "startpar", "startparagraph", "startparagraphs", "startparagraphscell", "startparbuilder", "startpart", "startpath", "startplacechemical", "startplacefigure", "startplacefloat", "startplaceformula", "startplacegraphic", "startplaceintermezzo", "startplacelegend", "startplacepairedbox", "startplacetable", "startpositioning", "startpositionoverlay", "startpositive", "startpostponing", "startprefixtext", "startprocessassignmentcommand", "startprocessassignmentlist", "startprocesscommacommand", "startprocesscommalist", "startproduct", "startproject", "startprotect", "startprotectedcolors", "startpublication", "startpunctuation", "startquotation", "startquote", "startrandomized", "startrandomseed", "startrawsetups", "startreadingfile", "startreferenceprefix", "startregime", "startregister", "startreusableMPgraphic", "startrightaligned", "startscript", "startsdformula", "startsection", "startsectionblock", "startsectionblockenvironment", "startsectionlevel", "startsetups", "startshapebox", "startshift", "startsidebar", "startsimplecolumns", "startspecialitem", "startspeech", "startspformula", "startsplitformula", "startspread", "startstandardmakeup", "startstartstop", "startstaticMPfigure", "startstaticMPgraphic", "startstrictinspectnextcharacter", "startstructurepageregister", "startstrut", "startstyle", "startsubformulas", "startsubject", "startsubjectlevel", "startsubsection", "startsubsentence", "startsubstack", "startsubsubject", "startsubsubsection", "startsubsubsubject", "startsubsubsubsection", "startsubsubsubsubject", "startsubsubsubsubsection", "startsubsubsubsubsubject", "startsuffixtext", "startsymbolset", "starttable", "starttablehead", "starttables", "starttabletail", "starttabletext", "starttabulate", "starttabulatehead", "starttabulatetail", "starttagged", "starttaglabeltext", "starttexcode", "starttexdefinition", "starttext", "starttextbackground", "starttextbackgroundmanual", "starttextcolor", "starttextcolorintent", "starttextflow", "starttextmakeup", "starttextrule", "starttitle", "starttokens", "starttransparent", "starttypescript", "starttypescriptcollection", "starttyping", "startuniqueMPgraphic", "startuniqueMPpagegraphic", "startunittext", "startunpacked", "startusableMPgraphic", "startuseMPgraphic", "startusemathstyleparameter", "startusingbtxspecification", "startvbox", "startvboxregister", "startvboxtohbox", "startvboxtohboxseparator", "startviewerlayer", "startvtop", "startvtopregister", "startxcell", "startxcellgroup", "startxgroup", "startxmldisplayverbatim", "startxmlinlineverbatim", "startxmlraw", "startxmlsetups", "startxrow", "startxrowgroup", "startxtable", "startxtablebody", "startxtablefoot", "startxtablehead", "startxtablenext", "stligature", "stopJScode", "stopJSpreamble", "stopLUA", "stopMP", "stopMPclip", "stopMPcode", "stopMPdefinitions", "stopMPdrawing", "stopMPenvironment", "stopMPextensions", "stopMPinclusions", "stopMPinitializations", "stopMPpage", "stopMPpositiongraphic", "stopMPpositionmethod", "stopMPrun", "stopPARSEDXML", "stopTABLE", "stopTABLEbody", "stopTABLEfoot", "stopTABLEhead", "stopTABLEnext", "stopTC", "stopTD", "stopTDs", "stopTEX", "stopTEXpage", "stopTH", "stopTN", "stopTR", "stopTRs", "stopTX", "stopTY", "stopXML", "stopalign", "stopalignment", "stopallmodes", "stopappendices", "stoparrangedpages", "stopaside", "stopattachment", "stopbackground", "stopbackmatter", "stopbar", "stopbbordermatrix", "stopbitmapimage", "stopblockquote", "stopbodymatter", "stopbordermatrix", "stopboxedcolumns", "stopbtxlabeltext", "stopbtxrenderingdefinitions", "stopbuffer", "stopcases", "stopcatcodetable", "stopcenteraligned", "stopchapter", "stopcharacteralign", "stopcheckedfences", "stopchemical", "stopchemicaltext", "stopcollect", "stopcollecting", "stopcolor", "stopcolorintent", "stopcoloronly", "stopcolorset", "stopcolumns", "stopcolumnspan", "stopcombination", "stopcomment", "stopcomponent", "stopcontextcode", "stopcontextdefinitioncode", "stopctxfunction", "stopctxfunctiondefinition", "stopcurrentcolor", "stopcurrentlistentrywrapper", "stopdelimited", "stopdelimitedtext", "stopdisplaymath", "stopdmath", "stopdocument", "stopeffect", "stopelement", "stopembeddedxtable", "stopendnote", "stopendofline", "stopenvironment", "stopexceptions", "stopexpanded", "stopexpandedcollect", "stopextendedcatcodetable", "stopexternalfigurecollection", "stopfact", "stopfigure", "stopfiguretext", "stopfittingpage", "stopfixed", "stopfloatcombination", "stopfont", "stopfontclass", "stopfontsolution", "stopfootnote", "stopformula", "stopformulas", "stopframed", "stopframedcell", "stopframedcontent", "stopframedrow", "stopframedtable", "stopframedtext", "stopfrontmatter", "stopgoto", "stopgraphictext", "stopgridsnapping", "stophanging", "stophbox", "stophboxestohbox", "stophboxregister", "stophead", "stopheadtext", "stophelptext", "stophiding", "stophighlight", "stophyphenation", "stopimath", "stopindentation", "stopindentedtext", "stopinteraction", "stopinteractionmenu", "stopinterface", "stopintermezzotext", "stopintertext", "stopitem", "stopitemgroup", "stopitemgroupcolumns", "stopitemize", "stopknockout", "stoplabeltext", "stoplayout", "stopleftaligned", "stoplegend", "stopline", "stoplinealignment", "stoplinecorrection", "stoplinefiller", "stoplinenote", "stoplinenumbering", "stoplines", "stoplinetable", "stoplinetablebody", "stoplinetablecell", "stoplinetablehead", "stoplocalfootnotes", "stoplocalheadsetup", "stoplocallinecorrection", "stoplocalnotes", "stoplocalsetups", "stoplua", "stopluacode", "stopluaparameterset", "stopluasetups", "stopmakeup", "stopmarginblock", "stopmarginrule", "stopmarkedcontent", "stopmathalignment", "stopmathcases", "stopmathlabeltext", "stopmathmatrix", "stopmathmode", "stopmathstyle", "stopmatrices", "stopmatrix", "stopmaxaligned", "stopmdformula", "stopmidaligned", "stopmiddlealigned", "stopmiddlemakeup", "stopmixedcolumns", "stopmode", "stopmodeset", "stopmodule", "stopmoduletestsection", "stopmpformula", "stopnamedsection", "stopnamedsubformulas", "stopnarrow", "stopnarrower", "stopnegative", "stopnicelyfilledbox", "stopnointerference", "stopnotallmodes", "stopnotext", "stopnotmode", "stopoperatortext", "stopopposite", "stopoutputstream", "stopoverlay", "stopoverprint", "stoppacked", "stoppagecomment", "stoppagefigure", "stoppagegrid", "stoppagegridspan", "stoppagelayout", "stoppagemakeup", "stoppar", "stopparagraph", "stopparagraphs", "stopparagraphscell", "stopparbuilder", "stoppart", "stoppath", "stopplacechemical", "stopplacefigure", "stopplacefloat", "stopplaceformula", "stopplacegraphic", "stopplaceintermezzo", "stopplacelegend", "stopplacepairedbox", "stopplacetable", "stoppositioning", "stoppositionoverlay", "stoppositive", "stoppostponing", "stopprefixtext", "stopprocessassignmentcommand", "stopprocessassignmentlist", "stopprocesscommacommand", "stopprocesscommalist", "stopproduct", "stopproject", "stopprotect", "stopprotectedcolors", "stoppublication", "stoppunctuation", "stopquotation", "stopquote", "stoprandomized", "stoprandomseed", "stoprawsetups", "stopreadingfile", "stopreferenceprefix", "stopregime", "stopregister", "stopreusableMPgraphic", "stoprightaligned", "stopscript", "stopsdformula", "stopsection", "stopsectionblock", "stopsectionblockenvironment", "stopsectionlevel", "stopsetups", "stopshapebox", "stopshift", "stopsidebar", "stopsimplecolumns", "stopspecialitem", "stopspeech", "stopspformula", "stopsplitformula", "stopspread", "stopstandardmakeup", "stopstartstop", "stopstaticMPfigure", "stopstaticMPgraphic", "stopstrictinspectnextcharacter", "stopstructurepageregister", "stopstrut", "stopstyle", "stopsubformulas", "stopsubject", "stopsubjectlevel", "stopsubsection", "stopsubsentence", "stopsubstack", "stopsubsubject", "stopsubsubsection", "stopsubsubsubject", "stopsubsubsubsection", "stopsubsubsubsubject", "stopsubsubsubsubsection", "stopsubsubsubsubsubject", "stopsuffixtext", "stopsymbolset", "stoptable", "stoptablehead", "stoptables", "stoptabletail", "stoptabletext", "stoptabulate", "stoptabulatehead", "stoptabulatetail", "stoptagged", "stoptaglabeltext", "stoptexcode", "stoptexdefinition", "stoptext", "stoptextbackground", "stoptextbackgroundmanual", "stoptextcolor", "stoptextcolorintent", "stoptextflow", "stoptextmakeup", "stoptextrule", "stoptitle", "stoptokens", "stoptransparent", "stoptypescript", "stoptypescriptcollection", "stoptyping", "stopuniqueMPgraphic", "stopuniqueMPpagegraphic", "stopunittext", "stopunpacked", "stopusableMPgraphic", "stopuseMPgraphic", "stopusemathstyleparameter", "stopusingbtxspecification", "stopvbox", "stopvboxregister", "stopvboxtohbox", "stopvboxtohboxseparator", "stopviewerlayer", "stopvtop", "stopvtopregister", "stopxcell", "stopxcellgroup", "stopxgroup", "stopxmldisplayverbatim", "stopxmlinlineverbatim", "stopxmlraw", "stopxmlsetups", "stopxrow", "stopxrowgroup", "stopxtable", "stopxtablebody", "stopxtablefoot", "stopxtablehead", "stopxtablenext", "stretched", "strictdoifelsenextoptional", "strictdoifnextoptionalelse", "stripcharacter", "strippedcsname", "stripspaces", "structurelistuservariable", "structurenumber", "structuretitle", "structureuservariable", "structurevariable", "strut", "strutdp", "strutgap", "strutht", "struthtdp", "struttedbox", "strutwd", "style", "styleinstance", "subject", "subpagenumber", "subsection", "subsentence", "subset", "subseteq", "subseteqq", "subsetneq", "subsetneqq", "substituteincommalist", "subsubject", "subsubsection", "subsubsubject", "subsubsubsection", "subsubsubsubject", "subsubsubsubsection", "subsubsubsubsubject", "subtractfeature", "succ", "succapprox", "succcurlyeq", "succeq", "succeqq", "succnapprox", "succneq", "succneqq", "succnsim", "succsim", "suffixlanguage", "suffixtext", "sum", "supset", "supseteq", "supseteqq", "supsetneq", "supsetneqq", "surd", "surdradical", "swapcounts", "swapdimens", "swapface", "swapmacros", "swaptypeface", "swarrow", "switchstyleonly", "switchtobodyfont", "switchtocolor", "switchtointerlinespace", "symbol", "symbolreference", "synchronizeblank", "synchronizeindenting", "synchronizemarking", "synchronizeoutputstreams", "synchronizestrut", "synchronizewhitespace", "synctexblockfilename", "synctexresetfilename", "synctexsetfilename", "systemlog", "systemlogfirst", "systemloglast", "systemsetups", "tLeftarrow", "tLeftrightarrow", "tRightarrow", "tabulateautoline", "tabulateautorule", "tabulateline", "tabulaterule", "taggedctxcommand", "taggedlabeltexts", "taglabellanguage", "taglabeltext", "tau", "tbinom", "tbox", "tcaron", "tcedilla", "tcommaaccent", "tcurl", "tequal", "test", "testandsplitstring", "testcolumn", "testfeature", "testfeatureonce", "testpage", "testpageonly", "testpagesync", "testtokens", "tex", "texdefinition", "texsetup", "textAngstrom", "textacute", "textampersand", "textasciicircum", "textasciitilde", "textat", "textbackslash", "textbar", "textbottomcomma", "textbottomdot", "textbraceleft", "textbraceright", "textbreve", "textbrokenbar", "textbullet", "textcaron", "textcedilla", "textcelsius", "textcent", "textcircledP", "textcircumflex", "textcitation", "textcite", "textcomma", "textcontrolspace", "textcurrency", "textdag", "textddag", "textdegree", "textdiaeresis", "textdiv", "textdollar", "textdong", "textdotaccent", "textellipsis", "texteuro", "textflowcollector", "textfraction", "textgrave", "texthash", "texthorizontalbar", "texthungarumlaut", "texthyphen", "textkelvin", "textlognot", "textmacron", "textmath", "textmho", "textminus", "textmu", "textmultiply", "textnumero", "textogonek", "textohm", "textormathchar", "textounce", "textpercent", "textperiod", "textplus", "textpm", "textreference", "textring", "textrule", "textslash", "textsterling", "texttilde", "textunderscore", "textvisiblespace", "textyen", "thai", "thainumerals", "thefirstcharacter", "thenormalizedbodyfontsize", "therefore", "theremainingcharacters", "theta", "thickspace", "thinrule", "thinrules", "thinspace", "thirdoffivearguments", "thirdoffourarguments", "thirdofsixarguments", "thirdofthreearguments", "thirdofthreeunexpanded", "thook", "thookleftarrow", "thookrightarrow", "thorn", "threedigitrounding", "threeeighths", "threefifths", "threeperemspace", "threequarter", "threesuperior", "tibetannumerals", "tightlayer", "tilde", "times", "tinyfont", "title", "tlap", "tleftarrow", "tleftharpoondown", "tleftharpoonup", "tleftrightarrow", "tleftrightharpoons", "tmapsto", "to", "tochar", "tolinenote", "tooltip", "top", "topbox", "topleftbox", "toplinebox", "toprightbox", "topskippedbox", "tracecatcodetables", "tracedfontname", "traceoutputroutines", "tracepositions", "trademark", "translate", "transparencycomponents", "transparent", "trel", "triangle", "triangledown", "triangleleft", "triangleq", "triangleright", "trightarrow", "trightharpoondown", "trightharpoonup", "trightleftharpoons", "trightoverleftarrow", "triplebond", "tripleprime", "tripleverticalbar", "truefilename", "truefontname", "tstroke", "ttraggedright", "ttriplerel", "ttwoheadleftarrow", "ttwoheadrightarrow", "turnediota", "twodigitrounding", "twofifths", "twoheaddownarrow", "twoheadleftarrow", "twoheadrightarrow", "twoheadrightarrowtail", "twoheaduparrow", "twosuperior", "twothirds", "tx", "txx", "typ", "type", "typebuffer", "typedefinedbuffer", "typeface", "typefile", "typeinlinebuffer", "typescriptone", "typescriptprefix", "typescriptthree", "typescripttwo", "typesetbuffer", "typesetfile", "uacute", "ubreve", "ucaron", "ucircumflex", "uconvertnumber", "udiaeresis", "udiaeresisacute", "udiaeresiscaron", "udiaeresisgrave", "udiaeresismacron", "udotbelow", "udots", "udoublegrave", "uedcatcodecommand", "ugrave", "uhook", "uhorn", "uhornacute", "uhorndotbelow", "uhorngrave", "uhornhook", "uhorntilde", "uhungarumlaut", "uinvertedbreve", "ulcorner", "umacron", "undefinevalue", "undepthed", "underbar", "underbars", "underbrace", "underbracket", "underdash", "underdashes", "underdot", "underdots", "underleftarrow", "underparent", "underrandom", "underrandoms", "underrightarrow", "underset", "understrike", "understrikes", "undoassign", "unexpandeddocumentvariable", "unframed", "unhhbox", "unihex", "uniqueMPgraphic", "uniqueMPpagegraphic", "unit", "unitlanguage", "unitshigh", "unitslow", "unittext", "unknown", "unprotected", "unregisterhyphenationpattern", "unspaceafter", "unspaceargument", "unspaced", "unspacestring", "untexargument", "untexcommand", "uogonek", "upand", "uparrow", "updasharrow", "updownarrow", "updownarrowbar", "updownarrows", "upharpoonleft", "upharpoonright", "uplus", "uppercased", "uppercasestring", "upperleftdoubleninequote", "upperleftdoublesixquote", "upperleftsingleninequote", "upperleftsinglesixquote", "upperrightdoubleninequote", "upperrightdoublesixquote", "upperrightsingleninequote", "upperrightsinglesixquote", "upsilon", "upuparrows", "upwhitearrow", "urcorner", "uring", "url", "useJSscripts", "useMPenvironmentbuffer", "useMPgraphic", "useMPlibrary", "useMPrun", "useMPvariables", "useURL", "usealignparameter", "useblankparameter", "useblocks", "usebodyfont", "usebodyfontparameter", "usebtxdataset", "usebtxdefinitions", "usecitation", "usecolors", "usecomponent", "usedirectory", "usedummycolorparameter", "usedummystyleandcolor", "usedummystyleparameter", "useenvironment", "useexternaldocument", "useexternalfigure", "useexternalrendering", "useexternalsoundtrack", "usefigurebase", "usefile", "usegridparameter", "useindentingparameter", "useindentnextparameter", "useinterlinespaceparameter", "uselanguageparameter", "useluamodule", "usemathstyleparameter", "usemodule", "useproduct", "useprofileparameter", "useproject", "usereferenceparameter", "userpagenumber", "usesetupsparameter", "usestaticMPfigure", "usesubpath", "usesymbols", "usetexmodule", "usetypescript", "usetypescriptfile", "useurl", "usezipfile", "utfchar", "utflower", "utfupper", "utilde", "utilityregisterlength", "vDash", "varTheta", "varepsilon", "varkappa", "varnothing", "varphi", "varpi", "varrho", "varsigma", "vartheta", "vboxreference", "vdash", "vdots", "vec", "vee", "veebar", "veeeq", "verbatim", "verbatimstring", "verbosenumber", "version", "vert", "verticalgrowingbar", "verticalpositionbar", "veryraggedcenter", "veryraggedleft", "veryraggedright", "vglue", "viewerlayer", "vl", "vphantom", "vpos", "vsmash", "vsmashbox", "vsmashed", "vspace", "vspacing", "wcircumflex", "wdofstring", "wedge", "wedgeeq", "weekday", "whitearrowupfrombar", "widehat", "widetilde", "widthofstring", "widthspanningtext", "withoutpt", "word", "wordright", "words", "wordtonumber", "wp", "wr", "writebetweenlist", "writedatatolist", "writestatus", "writetolist", "xLeftarrow", "xLeftrightarrow", "xRightarrow", "xdefconvertedargument", "xequal", "xfrac", "xhookleftarrow", "xhookrightarrow", "xi", "xleftarrow", "xleftharpoondown", "xleftharpoonup", "xleftrightarrow", "xleftrightharpoons", "xmapsto", "xmladdindex", "xmlafterdocumentsetup", "xmlaftersetup", "xmlall", "xmlappenddocumentsetup", "xmlappendsetup", "xmlapplyselectors", "xmlatt", "xmlattdef", "xmlattribute", "xmlattributedef", "xmlbadinclusions", "xmlbeforedocumentsetup", "xmlbeforesetup", "xmlchainatt", "xmlchainattdef", "xmlchecknamespace", "xmlcommand", "xmlconcat", "xmlconcatrange", "xmlcontext", "xmlcount", "xmldefaulttotext", "xmldirectives", "xmldirectivesafter", "xmldirectivesbefore", "xmldisplayverbatim", "xmldoif", "xmldoifelse", "xmldoifelseempty", "xmldoifelseselfempty", "xmldoifelsetext", "xmldoifelsevalue", "xmldoifnot", "xmldoifnotselfempty", "xmldoifnottext", "xmldoifselfempty", "xmldoiftext", "xmlelement", "xmlfilter", "xmlfirst", "xmlflush", "xmlflushcontext", "xmlflushdocumentsetups", "xmlflushlinewise", "xmlflushpure", "xmlflushspacewise", "xmlflushtext", "xmlinclude", "xmlinclusion", "xmlinclusions", "xmlinfo", "xmlinjector", "xmlinlineprettyprint", "xmlinlineprettyprinttext", "xmlinlineverbatim", "xmlinstalldirective", "xmllast", "xmllastatt", "xmllastmatch", "xmllastpar", "xmlloadbuffer", "xmlloaddata", "xmlloaddirectives", "xmlloadfile", "xmlloadonly", "xmlmain", "xmlmapvalue", "xmlname", "xmlnamespace", "xmlnonspace", "xmlpar", "xmlparam", "xmlpath", "xmlpos", "xmlposition", "xmlprependdocumentsetup", "xmlprependsetup", "xmlprettyprint", "xmlprettyprinttext", "xmlprocessbuffer", "xmlprocessdata", "xmlprocessfile", "xmlpure", "xmlraw", "xmlrefatt", "xmlregistereddocumentsetups", "xmlregisteredsetups", "xmlregisterns", "xmlremapname", "xmlremapnamespace", "xmlremovedocumentsetup", "xmlremovesetup", "xmlresetdocumentsetups", "xmlresetinjectors", "xmlresetsetups", "xmlsave", "xmlsetatt", "xmlsetattribute", "xmlsetentity", "xmlsetfunction", "xmlsetinjectors", "xmlsetpar", "xmlsetparam", "xmlsetsetup", "xmlsetup", "xmlshow", "xmlsnippet", "xmlstrip", "xmlstripnolines", "xmlstripped", "xmlstrippednolines", "xmltag", "xmltexentity", "xmltext", "xmltobuffer", "xmltobufferverbose", "xmltofile", "xmlvalue", "xmlverbatim", "xrel", "xrightarrow", "xrightharpoondown", "xrightharpoonup", "xrightleftharpoons", "xrightoverleftarrow", "xsplitstring", "xtriplerel", "xtwoheadleftarrow", "xtwoheadrightarrow", "xxfrac", "xypos", "yacute", "ycircumflex", "ydiaeresis", "ydotbelow", "yen", "ygrave", "yhook", "ymacron", "ytilde", "zacute", "zcaron", "zdotaccent", "zerowidthnobreakspace", "zerowidthspace", "zeta", "zhook", "zstroke", "zwj", "zwnj" }, + ["common"]={ "AEacute", "AEligature", "AEmacron", "AMSTEX", "Aacute", "Abreve", "Abreveacute", "Abrevedotbelow", "Abrevegrave", "Abrevehook", "Abrevetilde", "Acaron", "Acircumflex", "Acircumflexacute", "Acircumflexdotbelow", "Acircumflexgrave", "Acircumflexhook", "Acircumflextilde", "Adiaeresis", "Adiaeresismacron", "Adotaccent", "Adotaccentmacron", "Adotbelow", "Adoublegrave", "AfterPar", "Agrave", "Ahook", "Ainvertedbreve", "Alpha", "Alphabeticnumerals", "AmSTeX", "Amacron", "And", "Angstrom", "Aogonek", "Aring", "Aringacute", "Arrowvert", "Astroke", "Atilde", "BeforePar", "Beta", "Bhook", "Big", "Bigg", "Biggl", "Biggm", "Biggr", "Bigl", "Bigm", "Bigr", "Box", "Bumpeq", "CONTEXT", "Cacute", "Cap", "Caps", "Ccaron", "Ccedilla", "Ccircumflex", "Cdotaccent", "Character", "Characters", "Chi", "Chook", "ConTeXt", "Context", "ConvertConstantAfter", "ConvertToConstant", "Cstroke", "Cup", "DZcaronligature", "DZligature", "Dafrican", "Dcaron", "Ddownarrow", "Delta", "Dhook", "Doteq", "Downarrow", "Dstroke", "Dzcaronligature", "Dzligature", "ETEX", "Eacute", "Ebreve", "Ecaron", "Ecedilla", "Ecircumflex", "Ecircumflexacute", "Ecircumflexdotbelow", "Ecircumflexgrave", "Ecircumflexhook", "Ecircumflextilde", "Ediaeresis", "Edotaccent", "Edotbelow", "Edoublegrave", "Egrave", "Ehook", "Einvertedbreve", "Emacron", "Eogonek", "Epsilon", "Eta", "Eth", "Etilde", "Eulerconst", "EveryLine", "EveryPar", "Fhook", "Finv", "Gacute", "Game", "Gamma", "Gbreve", "Gcaron", "Gcircumflex", "Gcommaaccent", "Gdotaccent", "GetPar", "Ghook", "GotoPar", "Greeknumerals", "Gstroke", "Hat", "Hcaron", "Hcircumflex", "Hstroke", "IJligature", "INRSTEX", "Iacute", "Ibreve", "Icaron", "Icircumflex", "Idiaeresis", "Idotaccent", "Idotbelow", "Idoublegrave", "Igrave", "Ihook", "Iinvertedbreve", "Im", "Imacron", "Iogonek", "Iota", "Istroke", "Itilde", "Jcircumflex", "Join", "Kappa", "Kcaron", "Kcommaaccent", "Khook", "LAMSTEX", "LATEX", "LJligature", "LUAJITTEX", "LUATEX", "LaTeX", "Lacute", "LamSTeX", "Lambda", "Lbar", "Lcaron", "Lcommaaccent", "Ldotmiddle", "Ldsh", "Leftarrow", "Leftrightarrow", "Ljligature", "Lleftarrow", "Longleftarrow", "Longleftrightarrow", "Longmapsfrom", "Longmapsto", "Longrightarrow", "Lsh", "Lstroke", "Lua", "LuaTeX", "LuajitTeX", "METAFONT", "METAFUN", "METAPOST", "MKII", "MKIV", "MKIX", "MKVI", "MKXI", "MONTH", "MONTHLONG", "MONTHSHORT", "MPII", "MPIV", "MPVI", "MPanchor", "MPbetex", "MPc", "MPcode", "MPcolor", "MPcoloronly", "MPcolumn", "MPd", "MPdrawing", "MPfontsizehskip", "MPgetmultipars", "MPgetmultishape", "MPgetposboxes", "MPh", "MPinclusions", "MPleftskip", "MPll", "MPlr", "MPls", "MPmenubuttons", "MPn", "MPoptions", "MPoverlayanchor", "MPp", "MPpage", "MPpardata", "MPplus", "MPpos", "MPpositiongraphic", "MPposset", "MPr", "MPrawvar", "MPregion", "MPrest", "MPrightskip", "MPrs", "MPstring", "MPtext", "MPtransparency", "MPul", "MPur", "MPv", "MPvar", "MPvariable", "MPvv", "MPw", "MPwhd", "MPx", "MPxy", "MPxywhd", "MPy", "Mapsfrom", "Mapsto", "MetaFont", "MetaFun", "MetaPost", "Mu", "NJligature", "Nacute", "Ncaron", "Ncommaaccent", "Nearrow", "Neng", "Ngrave", "Njligature", "NormalizeFontHeight", "NormalizeFontWidth", "NormalizeTextHeight", "NormalizeTextWidth", "Ntilde", "Nu", "Numbers", "Nwarrow", "OEligature", "Oacute", "Obreve", "Ocaron", "Ocircumflex", "Ocircumflexacute", "Ocircumflexdotbelow", "Ocircumflexgrave", "Ocircumflexhook", "Ocircumflextilde", "Odiaeresis", "Odiaeresismacron", "Odotaccent", "Odotaccentmacron", "Odotbelow", "Odoublegrave", "Ograve", "Ohook", "Ohorn", "Ohornacute", "Ohorndotbelow", "Ohorngrave", "Ohornhook", "Ohorntilde", "Ohungarumlaut", "Oinvertedbreve", "Omacron", "Omega", "Omicron", "Oogonek", "Oogonekmacron", "Ostroke", "Ostrokeacute", "Otilde", "Otildemacron", "P", "PDFETEX", "PDFTEX", "PDFcolor", "PICTEX", "PPCHTEX", "PPCHTeX", "PRAGMA", "Phi", "Phook", "Pi", "PiCTeX", "Plankconst", "PointsToBigPoints", "PointsToReal", "PointsToWholeBigPoints", "PropertyLine", "Psi", "PtToCm", "Racute", "Rcaron", "Rcommaaccent", "Rdoublegrave", "Rdsh", "Re", "ReadFile", "Relbar", "Rho", "Rightarrow", "Rinvertedbreve", "Romannumerals", "Rrightarrow", "Rsh", "S", "Sacute", "ScaledPointsToBigPoints", "ScaledPointsToWholeBigPoints", "Scaron", "Scedilla", "Schwa", "Scircumflex", "Scommaaccent", "Searrow", "Sigma", "Smallcapped", "Subset", "Supset", "Swarrow", "TABLE", "TEX", "TaBlE", "Tau", "Tcaron", "Tcedilla", "Tcommaaccent", "TeX", "TheNormalizedFontSize", "Theta", "Thook", "Thorn", "TransparencyHack", "Tstroke", "Uacute", "Ubreve", "Ucaron", "Ucircumflex", "Udiaeresis", "Udiaeresisacute", "Udiaeresiscaron", "Udiaeresisgrave", "Udiaeresismacron", "Udotbelow", "Udoublegrave", "Ugrave", "Uhook", "Uhorn", "Uhornacute", "Uhorndotbelow", "Uhorngrave", "Uhornhook", "Uhorntilde", "Uhungarumlaut", "Uinvertedbreve", "Umacron", "Uogonek", "Uparrow", "Updownarrow", "Upsilon", "Uring", "Utilde", "Uuparrow", "VDash", "Vdash", "VerboseNumber", "Vert", "Vvdash", "WEEKDAY", "WORD", "WORDS", "Wcircumflex", "WidthSpanningText", "Word", "Words", "XETEX", "XeTeX", "Xi", "Yacute", "Ycircumflex", "Ydiaeresis", "Ydotbelow", "Ygrave", "Yhook", "Ymacron", "Ytilde", "Zacute", "Zcaron", "Zdotaccent", "Zeta", "Zhook", "Zstroke", "aacute", "abbreviation", "abjadnaivenumerals", "abjadnodotnumerals", "abjadnumerals", "about", "abreve", "abreveacute", "abrevedotbelow", "abrevegrave", "abrevehook", "abrevetilde", "acaron", "acircumflex", "acircumflexacute", "acircumflexdotbelow", "acircumflexgrave", "acircumflexhook", "acircumflextilde", "activatespacehandler", "actuarial", "acute", "acwopencirclearrow", "adaptcollector", "adaptfontfeature", "adaptlayout", "adaptpapersize", "addfeature", "addfontpath", "addtoJSpreamble", "addtocommalist", "addvalue", "adiaeresis", "adiaeresismacron", "adotaccent", "adotaccentmacron", "adotbelow", "adoublegrave", "aeacute", "aeligature", "aemacron", "afghanicurrency", "aftersplitstring", "aftertestandsplitstring", "agrave", "ahook", "ainvertedbreve", "aleph", "alignbottom", "aligned", "alignedbox", "alignedline", "alignhere", "alignmentcharacter", "allinputpaths", "alpha", "alphabeticnumerals", "alwayscitation", "alwayscite", "amacron", "amalg", "ampersand", "anchor", "angle", "aogonek", "appendetoks", "appendgvalue", "appendtocommalist", "appendtoks", "appendtoksonce", "appendvalue", "apply", "applyalternativestyle", "applyprocessor", "applytocharacters", "applytofirstcharacter", "applytosplitstringchar", "applytosplitstringcharspaced", "applytosplitstringline", "applytosplitstringlinespaced", "applytosplitstringword", "applytosplitstringwordspaced", "applytowords", "approx", "approxEq", "approxeq", "approxnEq", "arabicakbar", "arabicalayhe", "arabicallah", "arabicallallahou", "arabicasterisk", "arabicbasmalah", "arabiccomma", "arabiccuberoot", "arabicdateseparator", "arabicdecimals", "arabicdisputedendofayah", "arabicendofayah", "arabicexnumerals", "arabicfootnotemarker", "arabicfourthroot", "arabichighain", "arabichighalayheassallam", "arabichigheqala", "arabichighesala", "arabichighfootnotemarker", "arabichighjeem", "arabichighlamalef", "arabichighmadda", "arabichighmeemlong", "arabichighmeemshort", "arabichighnisf", "arabichighnoon", "arabichighnoonkasra", "arabichighqaf", "arabichighqif", "arabichighradiallahouanhu", "arabichighrahmatullahalayhe", "arabichighrubc", "arabichighsad", "arabichighsajda", "arabichighsakta", "arabichighsallallahou", "arabichighseen", "arabichighsmallsafha", "arabichightah", "arabichightakhallus", "arabichighthalatha", "arabichighwaqf", "arabichighyeh", "arabichighzain", "arabicjallajalalouhou", "arabiclettermark", "arabiclowmeemlong", "arabiclownoonkasra", "arabiclowseen", "arabicmisra", "arabicmuhammad", "arabicnumber", "arabicnumberabove", "arabicnumerals", "arabicparenleft", "arabicparenright", "arabicpercent", "arabicperiod", "arabicpermille", "arabicpertenthousand", "arabicpoeticverse", "arabicqala", "arabicquestion", "arabicrasoul", "arabicray", "arabicrialsign", "arabicsafha", "arabicsajdah", "arabicsalla", "arabicsamvat", "arabicsanah", "arabicsemicolon", "arabicshighthreedots", "arabicslcm", "arabicstartofrubc", "arabictripledot", "arabicvowelwaw", "arabicvowelyeh", "arabicwasallam", "arg", "aring", "aringacute", "arrowvert", "asciistr", "aside", "assignalfadimension", "assigndimen", "assigndimension", "assignifempty", "assigntranslation", "assignvalue", "assignwidth", "assumelongusagecs", "ast", "astype", "asymp", "at", "atilde", "atleftmargin", "atpage", "atrightmargin", "attachment", "autocap", "autodirhbox", "autodirvbox", "autodirvtop", "autoinsertnextspace", "autointegral", "automathematics", "autosetups", "availablehsize", "averagecharwidth", "backepsilon", "background", "backgroundimage", "backgroundimagefill", "backgroundline", "backprime", "backsim", "backslash", "bar", "barleftarrow", "barleftarrowrightarrowbar", "barovernorthwestarrow", "barwedge", "basegrid", "baselinebottom", "baselineleftbox", "baselinemiddlebox", "baselinerightbox", "bbordermatrix", "bbox", "because", "beforesplitstring", "beforetestandsplitstring", "beta", "beth", "between", "bhook", "big", "bigbodyfont", "bigcap", "bigcirc", "bigcircle", "bigcup", "bigdiamond", "bigg", "bigger", "biggl", "biggm", "biggr", "bigl", "bigm", "bigodot", "bigoplus", "bigotimes", "bigr", "bigskip", "bigsqcap", "bigsqcup", "bigsquare", "bigstar", "bigtimes", "bigtriangledown", "bigtriangleup", "bigudot", "biguplus", "bigvee", "bigwedge", "binom", "bitmapimage", "blacklozenge", "blackrule", "blackrules", "blacksquare", "blacktriangle", "blacktriangledown", "blacktriangleleft", "blacktriangleright", "blank", "blap", "bleed", "bleedheight", "bleedwidth", "blockligatures", "blockquote", "blocksynctexfile", "bodyfontenvironmentlist", "bodyfontsize", "bold", "boldface", "bolditalic", "boldslanted", "bookmark", "booleanmodevalue", "bordermatrix", "bot", "bottombox", "bottomleftbox", "bottomrightbox", "bowtie", "boxcursor", "boxdot", "boxmarker", "boxminus", "boxofsize", "boxplus", "boxreference", "boxtimes", "bpos", "breakablethinspace", "breakhere", "breve", "bstroke", "btxabbreviatedjournal", "btxaddjournal", "btxalwayscitation", "btxauthorfield", "btxdetail", "btxdirect", "btxdoif", "btxdoifcombiinlistelse", "btxdoifelse", "btxdoifelsecombiinlist", "btxdoifelsesameasprevious", "btxdoifelsesameaspreviouschecked", "btxdoifelseuservariable", "btxdoifnot", "btxdoifsameaspreviouscheckedelse", "btxdoifsameaspreviouselse", "btxdoifuservariableelse", "btxexpandedjournal", "btxfield", "btxfieldname", "btxfieldtype", "btxfirstofrange", "btxflush", "btxflushauthor", "btxflushauthorinverted", "btxflushauthorinvertedshort", "btxflushauthorname", "btxflushauthornormal", "btxflushauthornormalshort", "btxflushsuffix", "btxfoundname", "btxfoundtype", "btxhiddencitation", "btxhybridcite", "btxlabellanguage", "btxlabeltext", "btxlistcitation", "btxloadjournalist", "btxoneorrange", "btxremapauthor", "btxsavejournalist", "btxsetup", "btxsingularorplural", "btxsingularplural", "btxtextcitation", "buildmathaccent", "buildtextaccent", "buildtextbottomcomma", "buildtextbottomdot", "buildtextcedilla", "buildtextgrave", "buildtextmacron", "buildtextognek", "bullet", "button", "cacute", "calligraphic", "camel", "cap", "carriagereturn", "catcodetablename", "cbox", "ccaron", "ccedilla", "ccircumflex", "ccurl", "cdot", "cdotaccent", "cdotp", "cdots", "centeraligned", "centerbox", "centerdot", "centeredbox", "centeredlastline", "centerednextbox", "centerline", "cfrac", "chapter", "character", "characters", "chardescription", "charwidthlanguage", "check", "checkcharacteralign", "checkedchar", "checkedfiller", "checkedstrippedcsname", "checkinjector", "checkmark", "checknextindentation", "checknextinjector", "checkpage", "checkparameters", "checkpreviousinjector", "checksoundtrack", "checktwopassdata", "checkvariables", "chem", "chemical", "chemicalbottext", "chemicalmidtext", "chemicalsymbol", "chemicaltext", "chemicaltoptext", "chi", "chineseallnumerals", "chinesecapnumerals", "chinesenumerals", "chook", "circ", "circeq", "circlearrowleft", "circlearrowright", "circledR", "circledS", "circledast", "circledcirc", "circleddash", "circledequals", "circleonrightarrow", "citation", "cite", "clap", "classfont", "cldcommand", "cldcontext", "cldloadfile", "cldprocessfile", "cleftarrow", "clip", "clonefield", "clubsuit", "collect", "collectedtext", "collectexpanded", "colon", "coloncolonequals", "colonequals", "color", "colorbar", "colorcomponents", "colored", "coloronly", "colorvalue", "column", "columnbreak", "combinepages", "commalistelement", "commalistsentence", "commalistsize", "comment", "comparecolorgroup", "comparedimension", "comparedimensioneps", "comparepalet", "complement", "completebtxrendering", "completecontent", "completeindex", "completelist", "completelistofabbreviations", "completelistofchemicals", "completelistoffigures", "completelistofgraphics", "completelistofintermezzi", "completelistoflogos", "completelistofpublications", "completelistofsorts", "completelistofsynonyms", "completelistoftables", "completepagenumber", "completeregister", "complexes", "complexorsimple", "complexorsimpleempty", "component", "composedcollector", "composedlayer", "compresult", "cong", "constantdimen", "constantdimenargument", "constantemptyargument", "constantnumber", "constantnumberargument", "contentreference", "continuednumber", "continueifinputfile", "convertargument", "convertcommand", "convertedcounter", "converteddimen", "convertedsubcounter", "convertmonth", "convertnumber", "convertvalue", "convertvboxtohbox", "coprod", "copyboxfromcache", "copybtxlabeltext", "copyfield", "copyheadtext", "copylabeltext", "copymathlabeltext", "copyoperatortext", "copypages", "copyparameters", "copyposition", "copyprefixtext", "copyright", "copysuffixtext", "copytaglabeltext", "copyunittext", "correctwhitespace", "countersubs", "counttoken", "counttokens", "cramped", "crampedclap", "crampedllap", "crampedrlap", "crightarrow", "crightoverleftarrow", "cstroke", "ctop", "ctxcommand", "ctxdirectcommand", "ctxdirectlua", "ctxfunction", "ctxlatecommand", "ctxlatelua", "ctxloadluafile", "ctxlua", "ctxluabuffer", "ctxluacode", "ctxreport", "ctxsprint", "cup", "curlyeqprec", "curlyeqsucc", "curlyvee", "curlywedge", "currentassignmentlistkey", "currentassignmentlistvalue", "currentbtxuservariable", "currentcommalistitem", "currentcomponent", "currentdate", "currentenvironment", "currentfeaturetest", "currentheadnumber", "currentinterface", "currentlanguage", "currentlistentrydestinationattribute", "currentlistentrylimitedtext", "currentlistentrynumber", "currentlistentrypagenumber", "currentlistentryreferenceattribute", "currentlistentrytitle", "currentlistentrytitlerendered", "currentlistsymbol", "currentmainlanguage", "currentmessagetext", "currentmoduleparameter", "currentoutputstream", "currentproduct", "currentproject", "currentregime", "currentregisterpageuserdata", "currentresponses", "currenttime", "currentvalue", "currentxtablecolumn", "currentxtablerow", "curvearrowleft", "curvearrowright", "cwopencirclearrow", "cyrillicA", "cyrillicAE", "cyrillicAbreve", "cyrillicAdiaeresis", "cyrillicB", "cyrillicBIGYUS", "cyrillicBIGYUSiotified", "cyrillicC", "cyrillicCH", "cyrillicCHEDC", "cyrillicCHEDCabkhasian", "cyrillicCHEabkhasian", "cyrillicCHEdiaeresis", "cyrillicCHEkhakassian", "cyrillicCHEvertstroke", "cyrillicD", "cyrillicDASIAPNEUMATA", "cyrillicDJE", "cyrillicDZE", "cyrillicDZEabkhasian", "cyrillicDZHE", "cyrillicE", "cyrillicELtail", "cyrillicEMtail", "cyrillicENDC", "cyrillicENGHE", "cyrillicENhook", "cyrillicENtail", "cyrillicEREV", "cyrillicERY", "cyrillicERtick", "cyrillicEbreve", "cyrillicEdiaeresis", "cyrillicEgrave", "cyrillicEiotified", "cyrillicF", "cyrillicFITA", "cyrillicG", "cyrillicGHEmidhook", "cyrillicGHEstroke", "cyrillicGHEupturn", "cyrillicGJE", "cyrillicH", "cyrillicHA", "cyrillicHADC", "cyrillicHRDSN", "cyrillicI", "cyrillicIE", "cyrillicII", "cyrillicISHRT", "cyrillicISHRTtail", "cyrillicIZHITSA", "cyrillicIZHITSAdoublegrave", "cyrillicIdiaeresis", "cyrillicIgrave", "cyrillicImacron", "cyrillicJE", "cyrillicK", "cyrillicKADC", "cyrillicKAbashkir", "cyrillicKAhook", "cyrillicKAstroke", "cyrillicKAvertstroke", "cyrillicKJE", "cyrillicKOPPA", "cyrillicKSI", "cyrillicL", "cyrillicLITTLEYUS", "cyrillicLITTLEYUSiotified", "cyrillicLJE", "cyrillicM", "cyrillicN", "cyrillicNJE", "cyrillicO", "cyrillicOMEGA", "cyrillicOMEGAround", "cyrillicOMEGAtitlo", "cyrillicOT", "cyrillicObarred", "cyrillicObarreddiaeresis", "cyrillicOdiaeresis", "cyrillicP", "cyrillicPALATALIZATION", "cyrillicPALOCHKA", "cyrillicPEmidhook", "cyrillicPSI", "cyrillicPSILIPNEUMATA", "cyrillicR", "cyrillicS", "cyrillicSCHWA", "cyrillicSCHWAdiaeresis", "cyrillicSDSC", "cyrillicSEMISOFT", "cyrillicSFTSN", "cyrillicSH", "cyrillicSHCH", "cyrillicSHHA", "cyrillicT", "cyrillicTEDC", "cyrillicTETSE", "cyrillicTITLO", "cyrillicTSHE", "cyrillicU", "cyrillicUK", "cyrillicUSHRT", "cyrillicUdiaeresis", "cyrillicUdoubleacute", "cyrillicUmacron", "cyrillicV", "cyrillicYA", "cyrillicYAT", "cyrillicYERUdiaeresis", "cyrillicYI", "cyrillicYO", "cyrillicYU", "cyrillicYstr", "cyrillicYstrstroke", "cyrillicZ", "cyrillicZDSC", "cyrillicZEdiaeresis", "cyrillicZH", "cyrillicZHEbreve", "cyrillicZHEdescender", "cyrillicZHEdiaeresis", "cyrillica", "cyrillicabreve", "cyrillicadiaeresis", "cyrillicae", "cyrillicb", "cyrillicbigyus", "cyrillicbigyusiotified", "cyrillicc", "cyrillicch", "cyrilliccheabkhasian", "cyrillicchedc", "cyrillicchedcabkhasian", "cyrillicchediaeresis", "cyrillicchekhakassian", "cyrillicchevertstroke", "cyrillicd", "cyrillicdje", "cyrillicdze", "cyrillicdzeabkhasian", "cyrillicdzhe", "cyrillice", "cyrillicebreve", "cyrillicediaeresis", "cyrillicegrave", "cyrilliceiotified", "cyrilliceltail", "cyrillicemtail", "cyrillicendc", "cyrillicenghe", "cyrillicenhook", "cyrillicentail", "cyrillicerev", "cyrillicertick", "cyrillicery", "cyrillicf", "cyrillicfita", "cyrillicg", "cyrillicghemidhook", "cyrillicghestroke", "cyrillicgheupturn", "cyrillicgje", "cyrillich", "cyrillicha", "cyrillichadc", "cyrillichrdsn", "cyrillici", "cyrillicidiaeresis", "cyrillicie", "cyrillicigrave", "cyrillicii", "cyrillicimacron", "cyrillicishrt", "cyrillicishrttail", "cyrillicizhitsa", "cyrillicizhitsadoublegrave", "cyrillicje", "cyrillick", "cyrillickabashkir", "cyrillickadc", "cyrillickahook", "cyrillickastroke", "cyrillickavertstroke", "cyrillickje", "cyrillickoppa", "cyrillicksi", "cyrillicl", "cyrilliclittleyus", "cyrilliclittleyusiotified", "cyrilliclje", "cyrillicm", "cyrillicn", "cyrillicnje", "cyrillico", "cyrillicobarred", "cyrillicobarreddiaeresis", "cyrillicodiaeresis", "cyrillicomega", "cyrillicomegaround", "cyrillicomegatitlo", "cyrillicot", "cyrillicp", "cyrillicpemidhook", "cyrillicpsi", "cyrillicr", "cyrillics", "cyrillicschwa", "cyrillicschwadiaeresis", "cyrillicsdsc", "cyrillicsemisoft", "cyrillicsftsn", "cyrillicsh", "cyrillicshch", "cyrillicshha", "cyrillict", "cyrillictedc", "cyrillictetse", "cyrillictshe", "cyrillicu", "cyrillicudiaeresis", "cyrillicudoubleacute", "cyrillicuk", "cyrillicumacron", "cyrillicushrt", "cyrillicv", "cyrillicya", "cyrillicyat", "cyrillicyerudiaeresis", "cyrillicyi", "cyrillicyo", "cyrillicystr", "cyrillicystrstroke", "cyrillicyu", "cyrillicz", "cyrilliczdsc", "cyrilliczediaeresis", "cyrilliczh", "cyrilliczhebreve", "cyrilliczhedescender", "cyrilliczhediaeresis", "d", "dag", "dagger", "daleth", "dasharrow", "dashedleftarrow", "dashedrightarrow", "dashv", "datasetvariable", "date", "dayoftheweek", "dayspermonth", "dbinom", "dcaron", "dcurl", "ddag", "ddagger", "dddot", "ddot", "ddots", "decrement", "decrementcounter", "decrementedcounter", "decrementpagenumber", "decrementsubpagenumber", "decrementvalue", "defaultinterface", "defaultobjectpage", "defaultobjectreference", "defcatcodecommand", "defconvertedargument", "defconvertedcommand", "defconvertedvalue", "define", "defineMPinstance", "defineTABLEsetup", "defineaccent", "defineactivecharacter", "definealternativestyle", "defineanchor", "defineattachment", "defineattribute", "definebackground", "definebar", "defineblock", "definebodyfont", "definebodyfontenvironment", "definebodyfontswitch", "definebreakpoint", "definebreakpoints", "definebtx", "definebtxdataset", "definebtxregister", "definebtxrendering", "definebuffer", "definebutton", "definecapitals", "definecharacter", "definecharacterkerning", "definecharacterspacing", "definechemical", "definechemicals", "definechemicalsymbol", "definecollector", "definecolor", "definecolorgroup", "definecolumnbreak", "definecombination", "definecombinedlist", "definecommand", "definecomment", "definecomplexorsimple", "definecomplexorsimpleempty", "defineconversion", "defineconversionset", "definecounter", "definedataset", "definedelimitedtext", "definedeq", "definedescription", "definedfont", "defineeffect", "defineenumeration", "defineexpandable", "defineexternalfigure", "definefallbackfamily", "definefield", "definefieldbody", "definefieldbodyset", "definefieldcategory", "definefieldstack", "definefiguresymbol", "definefileconstant", "definefilefallback", "definefilesynonym", "definefiller", "definefirstline", "definefittingpage", "definefloat", "definefont", "definefontalternative", "definefontfallback", "definefontfamily", "definefontfamilypreset", "definefontfeature", "definefontfile", "definefontsize", "definefontsolution", "definefontstyle", "definefontsynonym", "defineformula", "defineformulaalternative", "defineformulaframed", "defineframed", "defineframedcontent", "defineframedtable", "defineframedtext", "definefrozenfont", "defineglobalcolor", "definegraphictypesynonym", "definegridsnapping", "definehbox", "definehead", "defineheadalternative", "definehelp", "definehigh", "definehighlight", "definehspace", "definehypenationfeatures", "defineindentedtext", "defineindenting", "defineinitial", "defineinsertion", "defineinteraction", "defineinteractionbar", "defineinteractionmenu", "defineinterfaceconstant", "defineinterfaceelement", "defineinterfacevariable", "defineinterlinespace", "defineintermediatecolor", "defineitemgroup", "defineitems", "definelabel", "definelabelclass", "definelayer", "definelayerpreset", "definelayout", "definelinefiller", "definelinenote", "definelinenumbering", "definelines", "definelist", "definelistalternative", "definelistextra", "definelow", "definelowhigh", "definelowmidhigh", "definemakeup", "definemarginblock", "definemargindata", "definemarker", "definemarking", "definemathaccent", "definemathalignment", "definemathcases", "definemathcommand", "definemathdouble", "definemathdoubleextensible", "definemathematics", "definemathextensible", "definemathfence", "definemathfraction", "definemathframed", "definemathmatrix", "definemathornament", "definemathover", "definemathoverextensible", "definemathovertextextensible", "definemathradical", "definemathstackers", "definemathstyle", "definemathtriplet", "definemathunder", "definemathunderextensible", "definemathundertextextensible", "definemathunstacked", "definemeasure", "definemessageconstant", "definemixedcolumns", "definemode", "definemultitonecolor", "definenamedcolor", "definenamespace", "definenarrower", "definenote", "defineornament", "defineoutputroutine", "defineoutputroutinecommand", "defineoverlay", "definepage", "definepagebreak", "definepagechecker", "definepagegrid", "definepagegridarea", "definepagegridspan", "definepageinjection", "definepageinjectionalternative", "definepageshift", "definepagestate", "definepairedbox", "definepalet", "definepapersize", "defineparagraph", "defineparagraphs", "defineparallel", "defineparbuilder", "defineplacement", "definepositioning", "defineprefixset", "defineprocesscolor", "defineprocessor", "defineprofile", "defineprogram", "definepushbutton", "definepushsymbol", "definereference", "definereferenceformat", "defineregister", "definerenderingwindow", "defineresetset", "definescale", "definescript", "definesection", "definesectionblock", "definesectionlevels", "defineselector", "defineseparatorset", "defineshift", "definesidebar", "definesort", "definesorting", "definespotcolor", "definestartstop", "definestyle", "definestyleinstance", "definesubfield", "definesubformula", "definesymbol", "definesynonym", "definesynonyms", "definesystemattribute", "definesystemconstant", "definesystemvariable", "definetabletemplate", "definetabulate", "definetabulation", "definetext", "definetextbackground", "definetextflow", "definetooltip", "definetransparency", "definetwopasslist", "definetype", "definetypeface", "definetypescriptprefix", "definetypescriptsynonym", "definetypesetting", "definetyping", "defineunit", "defineviewerlayer", "definevspace", "definevspacing", "definevspacingamount", "definextable", "delimited", "delimitedtext", "delta", "depthofstring", "depthonlybox", "depthspanningtext", "depthstrut", "determineheadnumber", "determinelistcharacteristics", "determinenoflines", "determineregistercharacteristics", "devanagarinumerals", "dfrac", "dhook", "diameter", "diamond", "diamondsuit", "differentialD", "differentiald", "digamma", "digits", "dimensiontocount", "directboxfromcache", "directcolor", "directcolored", "directconvertedcounter", "directcopyboxfromcache", "directdummyparameter", "directgetboxllx", "directgetboxlly", "directhighlight", "directlocalframed", "directluacode", "directselect", "directsetbar", "directsetup", "directsymbol", "directvspacing", "dis", "disabledirectives", "disableexperiments", "disablemode", "disableoutputstream", "disableparpositions", "disableregime", "disabletrackers", "displaymath", "displaymathematics", "displaymessage", "distributedhsize", "div", "dividedsize", "divideontimes", "divides", "doadaptleftskip", "doadaptrightskip", "doaddfeature", "doassign", "doassignempty", "doboundtext", "docheckassignment", "docheckedpagestate", "docheckedpair", "documentvariable", "dodoubleargument", "dodoubleargumentwithset", "dodoubleempty", "dodoubleemptywithset", "dodoublegroupempty", "doeassign", "doexpandedrecurse", "dofastloopcs", "dogetattribute", "dogetattributeid", "dogetcommacommandelement", "dogobbledoubleempty", "dogobblesingleempty", "doif", "doifMPgraphicelse", "doifallcommon", "doifallcommonelse", "doifalldefinedelse", "doifallmodes", "doifallmodeselse", "doifassignmentelse", "doifblackelse", "doifbothsides", "doifbothsidesoverruled", "doifboxelse", "doifbufferelse", "doifcolor", "doifcolorelse", "doifcommandhandler", "doifcommandhandlerelse", "doifcommon", "doifcommonelse", "doifcontent", "doifconversiondefinedelse", "doifconversionnumberelse", "doifcounter", "doifcounterelse", "doifcurrentfonthasfeatureelse", "doifdefined", "doifdefinedcounter", "doifdefinedcounterelse", "doifdefinedelse", "doifdimensionelse", "doifdimenstringelse", "doifdocumentargument", "doifdocumentargumentelse", "doifdocumentfilename", "doifdocumentfilenameelse", "doifdrawingblackelse", "doifelse", "doifelseMPgraphic", "doifelseallcommon", "doifelsealldefined", "doifelseallmodes", "doifelseassignment", "doifelseblack", "doifelsebox", "doifelseboxincache", "doifelsebuffer", "doifelsecolor", "doifelsecommandhandler", "doifelsecommon", "doifelseconversiondefined", "doifelseconversionnumber", "doifelsecounter", "doifelsecurrentfonthasfeature", "doifelsecurrentsortingused", "doifelsecurrentsynonymshown", "doifelsecurrentsynonymused", "doifelsedefined", "doifelsedefinedcounter", "doifelsedimension", "doifelsedimenstring", "doifelsedocumentargument", "doifelsedocumentfilename", "doifelsedrawingblack", "doifelseempty", "doifelseemptyvalue", "doifelseemptyvariable", "doifelseenv", "doifelsefastoptionalcheck", "doifelsefastoptionalcheckcs", "doifelsefieldbody", "doifelsefieldcategory", "doifelsefigure", "doifelsefile", "doifelsefiledefined", "doifelsefileexists", "doifelsefirstchar", "doifelseflagged", "doifelsefontchar", "doifelsefontpresent", "doifelsefontsynonym", "doifelsehasspace", "doifelsehelp", "doifelseincsname", "doifelseinelement", "doifelseinputfile", "doifelseinsertion", "doifelseinset", "doifelseinstring", "doifelseinsymbolset", "doifelseintoks", "doifelseintwopassdata", "doifelseitalic", "doifelselanguage", "doifelselayerdata", "doifelselayoutdefined", "doifelselayoutsomeline", "doifelselayouttextline", "doifelseleapyear", "doifelselist", "doifelselocation", "doifelselocfile", "doifelsemainfloatbody", "doifelsemarkedpage", "doifelsemarking", "doifelsemeaning", "doifelsemessage", "doifelsemode", "doifelsenextbgroup", "doifelsenextbgroupcs", "doifelsenextchar", "doifelsenextoptional", "doifelsenextoptionalcs", "doifelsenextparenthesis", "doifelsenonzeropositive", "doifelsenoteonsamepage", "doifelsenothing", "doifelsenumber", "doifelseobjectfound", "doifelseobjectreferencefound", "doifelseoddpage", "doifelseoddpagefloat", "doifelseoldercontext", "doifelseolderversion", "doifelseoverlapping", "doifelseoverlay", "doifelseparallel", "doifelseparentfile", "doifelsepath", "doifelsepathexists", "doifelsepatterns", "doifelseposition", "doifelsepositionaction", "doifelsepositiononpage", "doifelsepositionsonsamepage", "doifelsepositionsonthispage", "doifelsepositionsused", "doifelsereferencefound", "doifelserightpagefloat", "doifelserighttoleftinbox", "doifelsesamelinereference", "doifelsesamestring", "doifelsesetups", "doifelsesomebackground", "doifelsesomespace", "doifelsesomething", "doifelsesometoks", "doifelsestringinstring", "doifelsestructurelisthasnumber", "doifelsestructurelisthaspage", "doifelsesymboldefined", "doifelsesymbolset", "doifelsetext", "doifelsetextflow", "doifelsetextflowcollector", "doifelsetopofpage", "doifelsetypingfile", "doifelseundefined", "doifelseurldefined", "doifelsevalue", "doifelsevaluenothing", "doifelsevariable", "doifempty", "doifemptyelse", "doifemptytoks", "doifemptyvalue", "doifemptyvalueelse", "doifemptyvariable", "doifemptyvariableelse", "doifenv", "doifenvelse", "doiffastoptionalcheckcselse", "doiffastoptionalcheckelse", "doiffieldbodyelse", "doiffieldcategoryelse", "doiffigureelse", "doiffile", "doiffiledefinedelse", "doiffileelse", "doiffileexistselse", "doiffirstcharelse", "doifflaggedelse", "doiffontcharelse", "doiffontpresentelse", "doiffontsynonymelse", "doifhasspaceelse", "doifhelpelse", "doifincsnameelse", "doifinelementelse", "doifinputfileelse", "doifinsertionelse", "doifinset", "doifinsetelse", "doifinstring", "doifinstringelse", "doifinsymbolset", "doifinsymbolsetelse", "doifintokselse", "doifintwopassdataelse", "doifitalicelse", "doiflanguageelse", "doiflayerdataelse", "doiflayoutdefinedelse", "doiflayoutsomelineelse", "doiflayouttextlineelse", "doifleapyearelse", "doiflistelse", "doiflocationelse", "doiflocfileelse", "doifmainfloatbodyelse", "doifmarkingelse", "doifmeaningelse", "doifmessageelse", "doifmode", "doifmodeelse", "doifnextbgroupcselse", "doifnextbgroupelse", "doifnextcharelse", "doifnextoptionalcselse", "doifnextoptionalelse", "doifnextparenthesiselse", "doifnonzeropositiveelse", "doifnot", "doifnotallcommon", "doifnotallmodes", "doifnotcommandhandler", "doifnotcommon", "doifnotcounter", "doifnotdocumentargument", "doifnotdocumentfilename", "doifnotempty", "doifnotemptyvalue", "doifnotemptyvariable", "doifnotenv", "doifnoteonsamepageelse", "doifnotescollected", "doifnotfile", "doifnotflagged", "doifnothing", "doifnothingelse", "doifnotinset", "doifnotinsidesplitfloat", "doifnotinstring", "doifnotmode", "doifnotnumber", "doifnotsamestring", "doifnotsetups", "doifnotvalue", "doifnotvariable", "doifnumber", "doifnumberelse", "doifobjectfoundelse", "doifobjectreferencefoundelse", "doifoddpageelse", "doifoddpagefloatelse", "doifoldercontextelse", "doifolderversionelse", "doifoverlappingelse", "doifoverlayelse", "doifparallelelse", "doifparentfileelse", "doifpathelse", "doifpathexistselse", "doifpatternselse", "doifposition", "doifpositionaction", "doifpositionactionelse", "doifpositionelse", "doifpositiononpageelse", "doifpositionsonsamepageelse", "doifpositionsonthispageelse", "doifpositionsusedelse", "doifreferencefoundelse", "doifrightpagefloatelse", "doifrighttoleftinboxelse", "doifsamelinereferenceelse", "doifsamestring", "doifsamestringelse", "doifsetups", "doifsetupselse", "doifsomebackground", "doifsomebackgroundelse", "doifsomespaceelse", "doifsomething", "doifsomethingelse", "doifsometoks", "doifsometokselse", "doifstringinstringelse", "doifstructurelisthasnumberelse", "doifstructurelisthaspageelse", "doifsymboldefinedelse", "doifsymbolsetelse", "doiftext", "doiftextelse", "doiftextflowcollectorelse", "doiftextflowelse", "doiftopofpageelse", "doiftypingfileelse", "doifundefined", "doifundefinedcounter", "doifundefinedelse", "doifurldefinedelse", "doifvalue", "doifvalueelse", "doifvaluenothing", "doifvaluenothingelse", "doifvaluesomething", "doifvariable", "doifvariableelse", "doindentation", "dollar", "doloop", "doloopoverlist", "donothing", "dontconvertfont", "dontleavehmode", "dontpermitspacesbetweengroups", "dopositionaction", "doprocesslocalsetups", "doquadrupleargument", "doquadrupleempty", "doquadruplegroupempty", "doquintupleargument", "doquintupleempty", "doquintuplegroupempty", "dorechecknextindentation", "dorecurse", "dorepeatwithcommand", "doreplacefeature", "doresetandafffeature", "doresetattribute", "dorotatebox", "dosetattribute", "dosetleftskipadaption", "dosetrightskipadaption", "dosetupcheckedinterlinespace", "doseventupleargument", "doseventupleempty", "dosingleargument", "dosingleempty", "dosinglegroupempty", "dosixtupleargument", "dosixtupleempty", "dostepwiserecurse", "dosubtractfeature", "dot", "doteq", "doteqdot", "dotfskip", "dotlessI", "dotlessJ", "dotlessi", "dotlessj", "dotlessjstroke", "dotminus", "dotoks", "dotplus", "dotripleargument", "dotripleargumentwithset", "dotripleempty", "dotripleemptywithset", "dotriplegroupempty", "dots", "dottedcircle", "dottedrightarrow", "doublebar", "doublebond", "doublebrace", "doublebracket", "doublecap", "doublecup", "doubleparent", "doubleprime", "doubleverticalbar", "dowith", "dowithnextbox", "dowithnextboxcontent", "dowithnextboxcontentcs", "dowithnextboxcs", "dowithpargument", "dowithrange", "dowithwargument", "downarrow", "downdasharrow", "downdownarrows", "downharpoonleft", "downharpoonright", "downuparrows", "downwhitearrow", "downzigzagarrow", "dpofstring", "dstroke", "dtail", "dummydigit", "dummyparameter", "dzcaronligature", "dzligature", "eTeX", "eacute", "ebreve", "ecaron", "ecedilla", "ecircumflex", "ecircumflexacute", "ecircumflexdotbelow", "ecircumflexgrave", "ecircumflexhook", "ecircumflextilde", "edefconvertedargument", "ediaeresis", "edotaccent", "edotbelow", "edoublegrave", "efcmaxheight", "efcmaxwidth", "efcminheight", "efcminwidth", "efcparameter", "effect", "egrave", "ehook", "einvertedbreve", "elapsedseconds", "elapsedtime", "eleftarrowfill", "eleftharpoondownfill", "eleftharpoonupfill", "eleftrightarrowfill", "ell", "em", "emacron", "emdash", "emphasisboldface", "emphasistypeface", "emptylines", "emptyset", "emquad", "emspace", "enabledirectives", "enableexperiments", "enablemode", "enableoutputstream", "enableparpositions", "enableregime", "enabletrackers", "endash", "endnote", "enquad", "enskip", "enspace", "env", "environment", "envvar", "eogonek", "eoverbarfill", "eoverbracefill", "eoverbracketfill", "eoverparentfill", "epos", "epsilon", "eq", "eqcirc", "eqeq", "eqeqeq", "eqgtr", "eqless", "eqsim", "eqslantgtr", "eqslantless", "equaldigits", "equalscolon", "equiv", "erightarrowfill", "erightharpoondownfill", "erightharpoonupfill", "eta", "eth", "ethiopic", "etilde", "etwoheadrightarrowfill", "eunderbarfill", "eunderbracefill", "eunderbracketfill", "eunderparentfill", "exclamdown", "executeifdefined", "exists", "exitloop", "exitloopnow", "expandcheckedcsname", "expanded", "expandfontsynonym", "expdoif", "expdoifcommonelse", "expdoifelse", "expdoifelsecommon", "expdoifelseinset", "expdoifinsetelse", "expdoifnot", "exponentiale", "externalfigure", "externalfigurecollectionmaxheight", "externalfigurecollectionmaxwidth", "externalfigurecollectionminheight", "externalfigurecollectionminwidth", "externalfigurecollectionparameter", "fakebox", "fallingdotseq", "fastdecrement", "fastincrement", "fastlocalframed", "fastloopfinal", "fastloopindex", "fastscale", "fastsetup", "fastsetupwithargument", "fastsetupwithargumentswapped", "fastswitchtobodyfont", "fastsxsy", "feature", "fence", "fenced", "fetchallmarkings", "fetchallmarks", "fetchmark", "fetchmarking", "fetchonemark", "fetchonemarking", "fetchruntinecommand", "fetchtwomarkings", "fetchtwomarks", "ffiligature", "ffligature", "fflligature", "fhook", "field", "fieldbody", "fieldstack", "fifthoffivearguments", "fifthofsixarguments", "figurefilename", "figurefilepath", "figurefiletype", "figurefullname", "figureheight", "figurenaturalheight", "figurenaturalwidth", "figurespace", "figuresymbol", "figurewidth", "filename", "filigature", "filledhboxb", "filledhboxc", "filledhboxg", "filledhboxk", "filledhboxm", "filledhboxr", "filledhboxy", "filler", "fillinline", "fillinrules", "fillintext", "filterfromnext", "filterfromvalue", "filterpages", "filterreference", "findtwopassdata", "finishregisterentry", "firstcharacter", "firstcounter", "firstcountervalue", "firstoffivearguments", "firstoffourarguments", "firstofoneargument", "firstofoneunexpanded", "firstofsixarguments", "firstofthreearguments", "firstofthreeunexpanded", "firstoftwoarguments", "firstoftwounexpanded", "firstrealpage", "firstrealpagenumber", "firstsubcountervalue", "firstsubpage", "firstsubpagenumber", "firstuserpage", "firstuserpagenumber", "fitfield", "fitfieldframed", "fittopbaselinegrid", "fiveeighths", "fivesixths", "fixedspace", "fixedspaces", "flag", "flat", "flligature", "floatuserdataparameter", "flushbox", "flushboxregister", "flushcollector", "flushedrightlastline", "flushlayer", "flushlocalfloats", "flushnextbox", "flushnotes", "flushoutputstream", "flushshapebox", "flushtextflow", "flushtokens", "flushtoks", "fontalternative", "fontbody", "fontchar", "fontcharbyindex", "fontclass", "fontclassname", "fontface", "fontfeaturelist", "fontsize", "fontstyle", "footnote", "footnotetext", "forall", "forcecharacterstripping", "forcelocalfloats", "forgeteverypar", "forgetparameters", "forgetragged", "formula", "formulanumber", "foundbox", "fourfifths", "fourperemspace", "fourthoffivearguments", "fourthoffourarguments", "fourthofsixarguments", "frac", "framed", "frameddimension", "framedparameter", "framedtext", "freezedimenmacro", "freezemeasure", "frenchspacing", "from", "fromlinenote", "frown", "frozenhbox", "frule", "gacute", "gamma", "gbreve", "gcaron", "gcircumflex", "gcommaaccent", "gdefconvertedargument", "gdefconvertedcommand", "gdotaccent", "ge", "geq", "geqq", "geqslant", "getMPdrawing", "getMPlayer", "getboxfromcache", "getboxllx", "getboxlly", "getbuffer", "getbufferdata", "getcommacommandsize", "getcommalistsize", "getdayoftheweek", "getdayspermonth", "getdefinedbuffer", "getdocumentargument", "getdocumentargumentdefault", "getdocumentfilename", "getdummyparameters", "getemptyparameters", "geteparameters", "getexpandedparameters", "getfiguredimensions", "getfirstcharacter", "getfirsttwopassdata", "getfromcommacommand", "getfromcommalist", "getfromtwopassdata", "getglyphdirect", "getglyphstyled", "getgparameters", "getlasttwopassdata", "getlocalfloat", "getlocalfloats", "getmarking", "getmessage", "getnamedglyphdirect", "getnamedglyphstyled", "getnamedtwopassdatalist", "getnaturaldimensions", "getnoflines", "getobject", "getobjectdimensions", "getpaletsize", "getparameters", "getprivatechar", "getprivateslot", "getrandomcount", "getrandomdimen", "getrandomfloat", "getrandomnumber", "getrandomseed", "getraweparameters", "getrawgparameters", "getrawnoflines", "getrawparameters", "getrawxparameters", "getreference", "getreferenceentry", "getroundednoflines", "gets", "getsubstring", "gettwopassdata", "gettwopassdatalist", "getuvalue", "getvalue", "getvariable", "getvariabledefault", "getxparameters", "gg", "ggg", "gggtr", "gimel", "globaldisablemode", "globalenablemode", "globalletempty", "globalpopbox", "globalpopmacro", "globalpreventmode", "globalprocesscommalist", "globalpushbox", "globalpushmacro", "globalswapcounts", "globalswapdimens", "globalswapmacros", "globalundefine", "glyphfontfile", "gnapprox", "gneqq", "gnsim", "gobbledoubleempty", "gobbleeightarguments", "gobblefivearguments", "gobblefiveoptionals", "gobblefourarguments", "gobblefouroptionals", "gobbleninearguments", "gobbleoneargument", "gobbleoneoptional", "gobblesevenarguments", "gobblesingleempty", "gobblesixarguments", "gobblespacetokens", "gobbletenarguments", "gobblethreearguments", "gobblethreeoptionals", "gobbletwoarguments", "gobbletwooptionals", "gobbleuntil", "gobbleuntilrelax", "godown", "goto", "gotobox", "gotopage", "grabbufferdata", "grabbufferdatadirect", "grabuntil", "grave", "graycolor", "grayvalue", "greedysplitstring", "greekAlpha", "greekAlphadasia", "greekAlphadasiaperispomeni", "greekAlphadasiatonos", "greekAlphadasiavaria", "greekAlphaiotasub", "greekAlphaiotasubdasia", "greekAlphaiotasubdasiaperispomeni", "greekAlphaiotasubdasiatonos", "greekAlphaiotasubdasiavaria", "greekAlphaiotasubpsili", "greekAlphaiotasubpsiliperispomeni", "greekAlphaiotasubpsilitonos", "greekAlphaiotasubpsilivaria", "greekAlphamacron", "greekAlphapsili", "greekAlphapsiliperispomeni", "greekAlphapsilitonos", "greekAlphapsilivaria", "greekAlphatonos", "greekAlphavaria", "greekAlphavrachy", "greekBeta", "greekChi", "greekCoronis", "greekDelta", "greekEpsilon", "greekEpsilondasia", "greekEpsilondasiatonos", "greekEpsilondasiavaria", "greekEpsilonpsili", "greekEpsilonpsilitonos", "greekEpsilonpsilivaria", "greekEpsilontonos", "greekEpsilonvaria", "greekEta", "greekEtadasia", "greekEtadasiaperispomeni", "greekEtadasiatonos", "greekEtadasiavaria", "greekEtaiotasub", "greekEtaiotasubdasia", "greekEtaiotasubdasiaperispomeni", "greekEtaiotasubdasiatonos", "greekEtaiotasubdasiavaria", "greekEtaiotasubpsili", "greekEtaiotasubpsiliperispomeni", "greekEtaiotasubpsilitonos", "greekEtaiotasubpsilivaria", "greekEtapsili", "greekEtapsiliperispomeni", "greekEtapsilitonos", "greekEtapsilivaria", "greekEtatonos", "greekEtavaria", "greekGamma", "greekIota", "greekIotadasia", "greekIotadasiaperispomeni", "greekIotadasiatonos", "greekIotadasiavaria", "greekIotadialytika", "greekIotamacron", "greekIotapsili", "greekIotapsiliperispomeni", "greekIotapsilitonos", "greekIotapsilivaria", "greekIotatonos", "greekIotavaria", "greekIotavrachy", "greekKappa", "greekLambda", "greekMu", "greekNu", "greekOmega", "greekOmegadasia", "greekOmegadasiaperispomeni", "greekOmegadasiatonos", "greekOmegadasiavaria", "greekOmegaiotasub", "greekOmegaiotasubdasia", "greekOmegaiotasubdasiaperispomeni", "greekOmegaiotasubdasiatonos", "greekOmegaiotasubdasiavaria", "greekOmegaiotasubpsili", "greekOmegaiotasubpsiliperispomeni", "greekOmegaiotasubpsilitonos", "greekOmegaiotasubpsilivaria", "greekOmegapsili", "greekOmegapsiliperispomeni", "greekOmegapsilitonos", "greekOmegapsilivaria", "greekOmegatonos", "greekOmegavaria", "greekOmicron", "greekOmicrondasia", "greekOmicrondasiatonos", "greekOmicrondasiavaria", "greekOmicronpsili", "greekOmicronpsilitonos", "greekOmicronpsilivaria", "greekOmicrontonos", "greekOmicronvaria", "greekPhi", "greekPi", "greekPsi", "greekRho", "greekRhodasia", "greekSigma", "greekSigmalunate", "greekTau", "greekTheta", "greekUpsilon", "greekUpsilondasia", "greekUpsilondasiaperispomeni", "greekUpsilondasiatonos", "greekUpsilondasiavaria", "greekUpsilondialytika", "greekUpsilonmacron", "greekUpsilontonos", "greekUpsilonvaria", "greekUpsilonvrachy", "greekXi", "greekZeta", "greekalpha", "greekalphadasia", "greekalphadasiaperispomeni", "greekalphadasiatonos", "greekalphadasiavaria", "greekalphaiotasub", "greekalphaiotasubdasia", "greekalphaiotasubdasiaperispomeni", "greekalphaiotasubdasiatonos", "greekalphaiotasubdasiavaria", "greekalphaiotasubperispomeni", "greekalphaiotasubpsili", "greekalphaiotasubpsiliperispomeni", "greekalphaiotasubpsilitonos", "greekalphaiotasubpsilivaria", "greekalphaiotasubtonos", "greekalphaiotasubvaria", "greekalphamacron", "greekalphaoxia", "greekalphaperispomeni", "greekalphapsili", "greekalphapsiliperispomeni", "greekalphapsilitonos", "greekalphapsilivaria", "greekalphatonos", "greekalphavaria", "greekalphavrachy", "greekbeta", "greekchi", "greekdasia", "greekdasiaperispomeni", "greekdasiatonos", "greekdasiavaria", "greekdelta", "greekdialytikaperispomeni", "greekdialytikatonos", "greekdialytikavaria", "greekdigamma", "greekepsilon", "greekepsilonalt", "greekepsilondasia", "greekepsilondasiatonos", "greekepsilondasiavaria", "greekepsilonoxia", "greekepsilonpsili", "greekepsilonpsilitonos", "greekepsilonpsilivaria", "greekepsilontonos", "greekepsilonvaria", "greeketa", "greeketadasia", "greeketadasiaperispomeni", "greeketadasiatonos", "greeketadasiavaria", "greeketaiotasub", "greeketaiotasubdasia", "greeketaiotasubdasiaperispomeni", "greeketaiotasubdasiatonos", "greeketaiotasubdasiavaria", "greeketaiotasubperispomeni", "greeketaiotasubpsili", "greeketaiotasubpsiliperispomeni", "greeketaiotasubpsilitonos", "greeketaiotasubpsilivaria", "greeketaiotasubtonos", "greeketaiotasubvaria", "greeketaoxia", "greeketaperispomeni", "greeketapsili", "greeketapsiliperispomeni", "greeketapsilitonos", "greeketapsilivaria", "greeketatonos", "greeketavaria", "greekfinalsigma", "greekgamma", "greekiota", "greekiotadasia", "greekiotadasiaperispomeni", "greekiotadasiatonos", "greekiotadasiavaria", "greekiotadialytika", "greekiotadialytikaperispomeni", "greekiotadialytikatonos", "greekiotadialytikavaria", "greekiotamacron", "greekiotaoxia", "greekiotaperispomeni", "greekiotapsili", "greekiotapsiliperispomeni", "greekiotapsilitonos", "greekiotapsilivaria", "greekiotatonos", "greekiotavaria", "greekiotavrachy", "greekkappa", "greekkoppa", "greeklambda", "greekmu", "greeknu", "greeknumerals", "greeknumkoppa", "greekomega", "greekomegadasia", "greekomegadasiaperispomeni", "greekomegadasiatonos", "greekomegadasiavaria", "greekomegaiotasub", "greekomegaiotasubdasia", "greekomegaiotasubdasiaperispomeni", "greekomegaiotasubdasiatonos", "greekomegaiotasubdasiavaria", "greekomegaiotasubperispomeni", "greekomegaiotasubpsili", "greekomegaiotasubpsiliperispomeni", "greekomegaiotasubpsilitonos", "greekomegaiotasubpsilivaria", "greekomegaiotasubtonos", "greekomegaiotasubvaria", "greekomegaoxia", "greekomegaperispomeni", "greekomegapsili", "greekomegapsiliperispomeni", "greekomegapsilitonos", "greekomegapsilivaria", "greekomegatonos", "greekomegavaria", "greekomicron", "greekomicrondasia", "greekomicrondasiatonos", "greekomicrondasiavaria", "greekomicronoxia", "greekomicronpsili", "greekomicronpsilitonos", "greekomicronpsilivaria", "greekomicrontonos", "greekomicronvaria", "greekoxia", "greekperispomeni", "greekphi", "greekphialt", "greekpi", "greekpialt", "greekprosgegrammeni", "greekpsi", "greekpsili", "greekpsiliperispomeni", "greekpsilitonos", "greekpsilivaria", "greekrho", "greekrhoalt", "greekrhodasia", "greekrhopsili", "greeksampi", "greeksigma", "greeksigmalunate", "greekstigma", "greektau", "greektheta", "greekthetaalt", "greektonos", "greekupsilon", "greekupsilondasia", "greekupsilondasiaperispomeni", "greekupsilondasiatonos", "greekupsilondasiavaria", "greekupsilondiaeresis", "greekupsilondialytikaperispomeni", "greekupsilondialytikatonos", "greekupsilondialytikavaria", "greekupsilonmacron", "greekupsilonoxia", "greekupsilonperispomeni", "greekupsilonpsili", "greekupsilonpsiliperispomeni", "greekupsilonpsilitonos", "greekupsilonpsilivaria", "greekupsilontonos", "greekupsilonvaria", "greekupsilonvrachy", "greekvaria", "greekxi", "greekzeta", "grid", "groupedcommand", "gsetboxllx", "gsetboxlly", "gstroke", "gt", "gtrapprox", "gtrdot", "gtreqless", "gtreqqless", "gtrless", "gtrsim", "guilsingleleft", "guilsingleright", "gujaratinumerals", "gurmurkhinumerals", "hairline", "hairspace", "halflinestrut", "halfstrut", "halfwaybox", "handletokens", "handwritten", "hangul", "hanzi", "hash", "hat", "hbar", "hboxofvbox", "hboxreference", "hcaron", "hcircumflex", "hdofstring", "headhbox", "headlanguage", "headnumber", "headnumbercontent", "headnumberdistance", "headnumberwidth", "headreferenceattributes", "headsetupspacing", "headtext", "headtextcontent", "headtextdistance", "headtexts", "headtextwidth", "headvbox", "headwidth", "heartsuit", "hebrewAlef", "hebrewAyin", "hebrewBet", "hebrewDalet", "hebrewGimel", "hebrewHe", "hebrewHet", "hebrewKaf", "hebrewKaffinal", "hebrewLamed", "hebrewMem", "hebrewMemfinal", "hebrewNun", "hebrewNunfinal", "hebrewPe", "hebrewPefinal", "hebrewQof", "hebrewResh", "hebrewSamekh", "hebrewShin", "hebrewTav", "hebrewTet", "hebrewTsadi", "hebrewTsadifinal", "hebrewVav", "hebrewYod", "hebrewZayin", "heightanddepthofstring", "heightofstring", "heightspanningtext", "helptext", "hglue", "hiddenbar", "hiddencitation", "hiddencite", "hideblocks", "high", "highlight", "highordinalstr", "hilo", "himilo", "hl", "hookleftarrow", "hookrightarrow", "horizontalgrowingbar", "horizontalpositionbar", "hphantom", "hpos", "hsizefraction", "hslash", "hsmash", "hsmashbox", "hsmashed", "hspace", "hstroke", "htdpofstring", "htofstring", "hyphen", "hyphenatedcoloredword", "hyphenatedfile", "hyphenatedfilename", "hyphenatedhbox", "hyphenatedpar", "hyphenatedurl", "hyphenatedword", "iacute", "ibox", "ibreve", "icaron", "icircumflex", "ideographichalffillspace", "ideographicspace", "idiaeresis", "idotaccent", "idotbelow", "idoublegrave", "ifassignment", "iff", "ifinobject", "ifinoutputstream", "ifparameters", "iftrialtypesetting", "ignoreimplicitspaces", "ignorevalue", "igrave", "ihook", "iiiint", "iiiintop", "iiint", "iiintop", "iint", "iintop", "iinvertedbreve", "ijligature", "imacron", "imaginaryi", "imaginaryj", "imath", "immediatesavetwopassdata", "impliedby", "implies", "imply", "in", "includemenu", "includeversioninfo", "increment", "incrementcounter", "incrementedcounter", "incrementpagenumber", "incrementsubpagenumber", "incrementvalue", "indentation", "index", "infofont", "infofontbold", "inframed", "infty", "infull", "inheritparameter", "inhibitblank", "ininner", "ininneredge", "ininnermargin", "initializeboxstack", "inleft", "inleftedge", "inleftmargin", "inline", "inlinebuffer", "inlinedbox", "inlinemath", "inlinemathematics", "inlinemessage", "inlineordisplaymath", "inlineprettyprintbuffer", "inlinerange", "inmargin", "inmframed", "innerflushshapebox", "inother", "inouter", "inouteredge", "inoutermargin", "input", "inputfilebarename", "inputfilename", "inputfilerealsuffix", "inputfilesuffix", "inputgivenfile", "inright", "inrightedge", "inrightmargin", "insertpages", "installactionhandler", "installactivecharacter", "installanddefineactivecharacter", "installattributestack", "installautocommandhandler", "installautosetuphandler", "installbasicautosetuphandler", "installbasicparameterhandler", "installbottomframerenderer", "installcommandhandler", "installcorenamespace", "installdefinehandler", "installdefinitionset", "installdefinitionsetmember", "installdirectcommandhandler", "installdirectparameterhandler", "installdirectparametersethandler", "installdirectsetuphandler", "installdirectstyleandcolorhandler", "installframedautocommandhandler", "installframedcommandhandler", "installlanguage", "installleftframerenderer", "installnamespace", "installoutputroutine", "installpagearrangement", "installparameterhandler", "installparameterhashhandler", "installparametersethandler", "installparentinjector", "installrightframerenderer", "installrootparameterhandler", "installsetuphandler", "installsetuponlycommandhandler", "installshipoutmethod", "installsimplecommandhandler", "installsimpleframedcommandhandler", "installstyleandcolorhandler", "installswitchcommandhandler", "installswitchsetuphandler", "installtexdirective", "installtextracker", "installtopframerenderer", "installunitsseparator", "installunitsspace", "installversioninfo", "int", "intclockwise", "integerrounding", "integers", "interactionbar", "interactionbuttons", "interactionmenu", "intercal", "intertext", "intop", "invisibletimes", "invokepageheandler", "iogonek", "iota", "istltdir", "istrtdir", "italic", "italicbold", "italiccorrection", "italicface", "item", "items", "itemtag", "itilde", "jcaron", "jcircumflex", "jmath", "jobfilename", "jobfilesuffix", "kap", "kappa", "kcaron", "kcommaaccent", "keepblocks", "keeplinestogether", "keepunwantedspaces", "kerncharacters", "khook", "kkra", "koreancirclenumerals", "koreannumerals", "koreannumeralsc", "koreannumeralsp", "koreanparentnumerals", "lVert", "labellanguage", "labeltext", "labeltexts", "lacute", "lambda", "lambdabar", "land", "langle", "language", "languageCharacters", "languagecharacters", "languagecharwidth", "lastcounter", "lastcountervalue", "lastdigit", "lastlinewidth", "lastnaturalboxdp", "lastnaturalboxht", "lastnaturalboxwd", "lastpredefinedsymbol", "lastrealpage", "lastrealpagenumber", "lastsubcountervalue", "lastsubpage", "lastsubpagenumber", "lasttwodigits", "lastuserpage", "lastuserpagenumber", "lateluacode", "latin", "layeredtext", "layerheight", "layerwidth", "lazysavetaggedtwopassdata", "lazysavetwopassdata", "lbar", "lbox", "lbrace", "lbracket", "lcaron", "lceil", "lcommaaccent", "lcurl", "ldotmiddle", "ldotp", "ldots", "le", "leadsto", "left", "leftaligned", "leftarrow", "leftarrowtail", "leftarrowtriangle", "leftbottombox", "leftbox", "leftdasharrow", "leftguillemot", "leftharpoondown", "leftharpoonup", "lefthbox", "leftheadtext", "leftlabeltext", "leftleftarrows", "leftline", "leftmathlabeltext", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "leftrightarrow", "leftrightarrows", "leftrightarrowtriangle", "leftrightharpoons", "leftrightsquigarrow", "leftskipadaption", "leftsquigarrow", "leftsubguillemot", "leftthreetimes", "lefttopbox", "lefttoright", "lefttorighthbox", "lefttorightvbox", "lefttorightvtop", "leftwavearrow", "leftwhitearrow", "leq", "leqq", "leqslant", "lessapprox", "lessdot", "lesseqgtr", "lesseqqgtr", "lessgtr", "lesssim", "letbeundefined", "letcatcodecommand", "letcscsname", "letcsnamecs", "letcsnamecsname", "letdummyparameter", "letempty", "letgvalue", "letgvalueempty", "letgvalurelax", "letterampersand", "letterat", "letterbackslash", "letterbar", "letterbgroup", "letterclosebrace", "lettercolon", "letterdollar", "letterdoublequote", "letteregroup", "letterescape", "letterexclamationmark", "letterhash", "letterhat", "letterleftbrace", "letterleftbracket", "letterleftparenthesis", "letterless", "lettermore", "letteropenbrace", "letterpercent", "letterquestionmark", "letterrightbrace", "letterrightbracket", "letterrightparenthesis", "lettersinglequote", "letterslash", "letterspacing", "lettertilde", "letterunderscore", "letvalue", "letvalueempty", "letvaluerelax", "lfence", "lfloor", "lgroup", "lhbox", "lhooknwarrow", "lhooksearrow", "limitatefirstline", "limitatelines", "limitatetext", "line", "linefeed", "linenote", "linespanningtext", "linethickness", "linterval", "listcitation", "listcite", "listlength", "listnamespaces", "ljligature", "ll", "llangle", "llap", "llbracket", "llcorner", "lll", "llless", "lmoustache", "lnapprox", "lneq", "lneqq", "lnot", "lnsim", "loadanyfile", "loadanyfileonce", "loadbtxdefinitionfile", "loadbtxreplacementfile", "loadcldfile", "loadcldfileonce", "loadfontgoodies", "loadluafile", "loadluafileonce", "loadspellchecklist", "loadtexfile", "loadtexfileonce", "loadtypescriptfile", "localframed", "localframedwithsettings", "localhsize", "localpopbox", "localpopmacro", "localpushbox", "localpushmacro", "localundefine", "locatedfilepath", "locatefilepath", "locfilename", "logo", "lohi", "lointerval", "lomihi", "longleftarrow", "longleftrightarrow", "longmapsfrom", "longmapsto", "longrightarrow", "longrightsquigarrow", "looparrowleft", "looparrowright", "lor", "low", "lowerbox", "lowercased", "lowercasestring", "lowerleftdoubleninequote", "lowerleftsingleninequote", "lowerrightdoubleninequote", "lowerrightsingleninequote", "lozenge", "lparent", "lrcorner", "lrointerval", "lrtbbox", "lstroke", "lt", "ltimes", "ltop", "luaTeX", "luacode", "luaconditional", "luaenvironment", "luaexpanded", "luaexpr", "luafunction", "luajitTeX", "luamajorversion", "luaminorversion", "luaparameterset", "luasetup", "luaversion", "lvert", "m", "mLeftarrow", "mLeftrightarrow", "mRightarrow", "mainlanguage", "makecharacteractive", "makerawcommalist", "makestrutofbox", "maltese", "mapfontsize", "mapsdown", "mapsfrom", "mapsto", "mapsup", "margindata", "margintext", "markcontent", "marking", "markinjector", "markpage", "mat", "math", "mathampersand", "mathbf", "mathbi", "mathblackboard", "mathbs", "mathdefault", "mathdollar", "mathdouble", "mathematics", "mathfraktur", "mathfunction", "mathhash", "mathhyphen", "mathit", "mathitalic", "mathlabellanguage", "mathlabeltext", "mathlabeltexts", "mathop", "mathover", "mathpercent", "mathrm", "mathscript", "mathsl", "mathss", "mathtext", "mathtextbf", "mathtextbi", "mathtextbs", "mathtextit", "mathtextsl", "mathtexttf", "mathtf", "mathtriplet", "mathtt", "mathunder", "mathupright", "mathword", "mathwordbf", "mathwordbi", "mathwordbs", "mathwordit", "mathwordsl", "mathwordtf", "maxaligned", "mbox", "mcframed", "measure", "measured", "measuredangle", "measuredeq", "medskip", "medspace", "menubutton", "mequal", "message", "metaTeX", "mfence", "mframed", "mfunction", "mfunctionlabeltext", "mhbox", "mho", "mhookleftarrow", "mhookrightarrow", "mid", "midaligned", "middle", "middlealigned", "middlebox", "midhbox", "midsubsentence", "minimalhbox", "minus", "minuscolon", "mirror", "mixedcaps", "mkvibuffer", "mleftarrow", "mleftharpoondown", "mleftharpoonup", "mleftrightarrow", "mleftrightharpoons", "mmapsto", "models", "moduleparameter", "molecule", "mono", "monobold", "mononormal", "month", "monthlong", "monthshort", "mp", "mprandomnumber", "mrel", "mrightarrow", "mrightharpoondown", "mrightharpoonup", "mrightleftharpoons", "mrightoverleftarrow", "mtext", "mtriplerel", "mtwoheadleftarrow", "mtwoheadrightarrow", "mu", "multimap", "nHdownarrow", "nHuparrow", "nLeftarrow", "nLeftrightarrow", "nRightarrow", "nVDash", "nVdash", "nVleftarrow", "nVleftrightarrow", "nVrightarrow", "nabla", "nacute", "namedheadnumber", "namedstructureheadlocation", "namedstructureuservariable", "namedstructurevariable", "namedtaggedlabeltexts", "napostrophe", "napprox", "napproxEq", "narrownobreakspace", "nasymp", "natural", "naturalhbox", "naturalhpack", "naturalnumbers", "naturalvbox", "naturalvcenter", "naturalvpack", "naturalvtop", "naturalwd", "ncaron", "ncommaaccent", "ncong", "ncurl", "ndivides", "ne", "nearrow", "neg", "negatecolorbox", "negated", "negativesign", "negthinspace", "neng", "neq", "nequiv", "neswarrow", "newattribute", "newcatcodetable", "newcounter", "newevery", "newfrenchspacing", "newmode", "newsignal", "newsystemmode", "nexists", "nextbox", "nextboxdp", "nextboxht", "nextboxhtdp", "nextboxwd", "nextcounter", "nextcountervalue", "nextdepth", "nextparagraphs", "nextrealpage", "nextrealpagenumber", "nextsubcountervalue", "nextsubpage", "nextsubpagenumber", "nextuserpage", "nextuserpagenumber", "ngeq", "ngrave", "ngtr", "ngtrless", "ngtrsim", "ni", "nihongo", "nin", "njligature", "nleftarrow", "nleftrightarrow", "nleq", "nless", "nlessgtr", "nlesssim", "nmid", "nni", "nobar", "nobreakspace", "nocap", "nocitation", "nocite", "nodetostring", "noffigurepages", "noflines", "noflocalfloats", "noheaderandfooterlines", "noheightstrut", "noindentation", "noitem", "nonfrenchspacing", "nonmathematics", "normal", "normalboldface", "normalframedwithsettings", "normalitalicface", "normalizebodyfontsize", "normalizedfontsize", "normalizefontdepth", "normalizefontheight", "normalizefontline", "normalizefontwidth", "normalizetextdepth", "normalizetextheight", "normalizetextline", "normalizetextwidth", "normalslantedface", "normaltypeface", "nospace", "not", "note", "notesymbol", "notin", "notopandbottomlines", "notragged", "nowns", "nparallel", "nprec", "npreccurlyeq", "nrightarrow", "nsim", "nsimeq", "nsqsubseteq", "nsqsupseteq", "nsubset", "nsubseteq", "nsucc", "nsucccurlyeq", "nsupset", "nsupseteq", "ntilde", "ntimes", "ntriangleleft", "ntrianglelefteq", "ntriangleright", "ntrianglerighteq", "nu", "numberofpoints", "numbers", "nvDash", "nvdash", "nvleftarrow", "nvleftrightarrow", "nvrightarrow", "nwarrow", "nwsearrow", "oacute", "obeydepth", "objectdepth", "objectheight", "objectmargin", "objectwidth", "obox", "obreve", "ocaron", "ocircumflex", "ocircumflexacute", "ocircumflexdotbelow", "ocircumflexgrave", "ocircumflexhook", "ocircumflextilde", "odiaeresis", "odiaeresismacron", "odot", "odotaccent", "odotaccentmacron", "odotbelow", "odoublegrave", "oeligature", "offset", "offsetbox", "ograve", "ohm", "ohook", "ohorn", "ohornacute", "ohorndotbelow", "ohorngrave", "ohornhook", "ohorntilde", "ohungarumlaut", "oiiint", "oiint", "oint", "ointclockwise", "ointctrclockwise", "oinvertedbreve", "omacron", "omega", "omicron", "ominus", "onedigitrounding", "oneeighth", "onefifth", "onehalf", "onequarter", "onesixth", "onesuperior", "onethird", "oogonek", "oogonekmacron", "operatorlanguage", "operatortext", "oplus", "ordfeminine", "ordinaldaynumber", "ordinalstr", "ordmasculine", "ornamenttext", "oslash", "ostroke", "ostrokeacute", "otilde", "otildemacron", "otimes", "outputfilename", "outputstreambox", "outputstreamcopy", "outputstreamunvbox", "outputstreamunvcopy", "over", "overbar", "overbars", "overbarunderbar", "overbrace", "overbraceunderbrace", "overbracket", "overbracketunderbracket", "overlaybutton", "overlaycolor", "overlaydepth", "overlayfigure", "overlayheight", "overlaylinecolor", "overlaylinewidth", "overlayoffset", "overlayrollbutton", "overlaywidth", "overleftarrow", "overloaderror", "overparent", "overparentunderparent", "overrightarrow", "overset", "overstrike", "overstrikes", "owns", "page", "pagearea", "pagebreak", "pagefigure", "pagegridspanwidth", "pageinjection", "pagenumber", "pagereference", "pagestaterealpage", "paletsize", "paragraphmark", "parallel", "part", "partial", "pdfTeX", "pdfactualtext", "pdfbackendactualtext", "pdfbackendcurrentresources", "pdfbackendsetcatalog", "pdfbackendsetcolorspace", "pdfbackendsetextgstate", "pdfbackendsetinfo", "pdfbackendsetname", "pdfbackendsetpageattribute", "pdfbackendsetpageresource", "pdfbackendsetpagesattribute", "pdfbackendsetpattern", "pdfbackendsetshade", "pdfcolor", "pdfeTeX", "percent", "percentdimen", "periodcentered", "periods", "permitcaretescape", "permitcircumflexescape", "permitspacesbetweengroups", "perp", "persiandecimals", "persiandecimalseparator", "persiannumerals", "persianthousandsseparator", "perthousand", "phantom", "phantombox", "phi", "phook", "pi", "pickupgroupedcommand", "pitchfork", "placeattachments", "placebookmarks", "placebtxrendering", "placechemical", "placecitation", "placecombinedlist", "placecomments", "placecontent", "placecurrentformulanumber", "placedbox", "placefigure", "placefloat", "placefloatwithsetups", "placefootnotes", "placeformula", "placeframed", "placegraphic", "placeheadnumber", "placeheadtext", "placehelp", "placeindex", "placeinitial", "placeintermezzo", "placelayer", "placelayeredtext", "placelegend", "placelist", "placelistofabbreviations", "placelistofchemicals", "placelistoffigures", "placelistofgraphics", "placelistofintermezzi", "placelistoflogos", "placelistofpublications", "placelistofsorts", "placelistofsynonyms", "placelistoftables", "placelocalfootnotes", "placelocalnotes", "placement", "placenamedfloat", "placenamedformula", "placenotes", "placeongrid", "placeontopofeachother", "placepagenumber", "placepairedbox", "placeparallel", "placerawlist", "placeregister", "placerenderingwindow", "placesidebyside", "placesubformula", "placetable", "pm", "popattribute", "popmacro", "popmode", "popsystemmode", "position", "positionoverlay", "positionregionoverlay", "positivesign", "postponenotes", "prec", "precapprox", "preccurlyeq", "preceq", "preceqq", "precnapprox", "precneq", "precneqq", "precnsim", "precsim", "predefinedfont", "predefinefont", "predefinesymbol", "prefixedpagenumber", "prefixlanguage", "prefixtext", "prependetoks", "prependgvalue", "prependtocommalist", "prependtoks", "prependtoksonce", "prependvalue", "presetbtxlabeltext", "presetdocument", "presetfieldsymbols", "presetheadtext", "presetlabeltext", "presetmathlabeltext", "presetoperatortext", "presetprefixtext", "presetsuffixtext", "presettaglabeltext", "presetunittext", "pretocommalist", "prettyprintbuffer", "prevcounter", "prevcountervalue", "preventmode", "prevrealpage", "prevrealpagenumber", "prevsubcountervalue", "prevsubpage", "prevsubpagenumber", "prevuserpage", "prevuserpagenumber", "prime", "primes", "procent", "processMPbuffer", "processMPfigurefile", "processaction", "processallactionsinset", "processassignlist", "processassignmentcommand", "processassignmentlist", "processbetween", "processblocks", "processbodyfontenvironmentlist", "processcolorcomponents", "processcommacommand", "processcommalist", "processcommalistwithparameters", "processcontent", "processfile", "processfilemany", "processfilenone", "processfileonce", "processfirstactioninset", "processisolatedchars", "processisolatedwords", "processlinetablebuffer", "processlinetablefile", "processlist", "processmonth", "processranges", "processseparatedlist", "processtexbuffer", "processtokens", "processuntil", "processxtablebuffer", "processyear", "prod", "product", "profiledbox", "profilegivenbox", "program", "project", "propto", "pseudoMixedCapped", "pseudoSmallCapped", "pseudoSmallcapped", "pseudosmallcapped", "psi", "punctuationspace", "purenumber", "pushattribute", "pushbutton", "pushmacro", "pushmode", "pushoutputstream", "pushsystemmode", "putboxincache", "putnextboxincache", "qquad", "quad", "quadrupleprime", "quads", "quarterstrut", "questiondown", "questionedeq", "quitcommalist", "quitprevcommalist", "quittypescriptscanning", "quotation", "quote", "quotedbl", "quotedblbase", "quotedblleft", "quotedblright", "quoteleft", "quoteright", "quotesingle", "quotesinglebase", "rVert", "racute", "raggedbottom", "raggedcenter", "raggedleft", "raggedright", "raggedwidecenter", "raisebox", "randomizetext", "randomnumber", "rangle", "rationals", "rawcounter", "rawcountervalue", "rawdate", "rawdoifelseinset", "rawdoifinset", "rawdoifinsetelse", "rawgetparameters", "rawprocessaction", "rawprocesscommacommand", "rawprocesscommalist", "rawstructurelistuservariable", "rawsubcountervalue", "rbox", "rbrace", "rbracket", "rcaron", "rceil", "rcommaaccent", "rdoublegrave", "readfile", "readfixfile", "readjobfile", "readlocfile", "readsetfile", "readsysfile", "readtexfile", "readxmlfile", "realSmallCapped", "realSmallcapped", "realpagenumber", "reals", "realsmallcapped", "recursedepth", "recurselevel", "recursestring", "redoconvertfont", "ref", "reference", "referenceprefix", "referring", "registerattachment", "registerctxluafile", "registered", "registerexternalfigure", "registerfontclass", "registerhyphenationexception", "registerhyphenationpattern", "registermenubuttons", "registersort", "registersynonym", "registerunit", "regular", "relatemarking", "relateparameterhandlers", "relaxvalueifundefined", "relbar", "remainingcharacters", "remark", "removebottomthings", "removedepth", "removefromcommalist", "removelastskip", "removelastspace", "removemarkedcontent", "removepunctuation", "removesubstring", "removetoks", "removeunwantedspaces", "replacefeature", "replaceincommalist", "replaceword", "rescan", "rescanwithsetup", "resetMPdrawing", "resetMPenvironment", "resetMPinstance", "resetallattributes", "resetandaddfeature", "resetbar", "resetboxesincache", "resetbreakpoints", "resetbuffer", "resetcharacteralign", "resetcharacterkerning", "resetcharacterspacing", "resetcharacterstripping", "resetcollector", "resetcounter", "resetdigitsmanipulation", "resetdirection", "resetfeature", "resetflag", "resetfontcolorsheme", "resetfontfallback", "resetfontsolution", "resethyphenationfeatures", "resetinjector", "resetinteractionmenu", "resetitaliccorrection", "resetlayer", "resetlocalfloats", "resetmarker", "resetmarking", "resetmode", "resetpagenumber", "resetparallel", "resetpath", "resetpenalties", "resetprofile", "resetrecurselevel", "resetreference", "resetreplacement", "resetscript", "resetsetups", "resetshownsynonyms", "resetsubpagenumber", "resetsymbolset", "resetsystemmode", "resettimer", "resettrackers", "resettrialtypesetting", "resetusedsortings", "resetusedsynonyms", "resetuserpagenumber", "resetvalue", "resetvisualizers", "reshapebox", "resolvedglyphdirect", "resolvedglyphstyled", "restartcounter", "restorebox", "restorecatcodes", "restorecounter", "restorecurrentattributes", "restoreendofline", "restoreglobalbodyfont", "restriction", "reusableMPgraphic", "reuseMPgraphic", "reuserandomseed", "reverseddoubleprime", "reversedprime", "reversedtripleprime", "revivefeature", "rfence", "rfloor", "rgroup", "rhbox", "rho", "rhooknearrow", "rhookswarrow", "right", "rightaligned", "rightangle", "rightarrow", "rightarrowbar", "rightarrowtail", "rightarrowtriangle", "rightbottombox", "rightbox", "rightdasharrow", "rightguillemot", "rightharpoondown", "rightharpoonup", "righthbox", "rightheadtext", "rightlabeltext", "rightleftarrows", "rightleftharpoons", "rightline", "rightmathlabeltext", "rightorleftpageaction", "rightrightarrows", "rightskipadaption", "rightsquigarrow", "rightsubguillemot", "rightthreearrows", "rightthreetimes", "righttoleft", "righttolefthbox", "righttoleftvbox", "righttoleftvtop", "righttopbox", "rightwavearrow", "rightwhitearrow", "ring", "rinterval", "rinvertedbreve", "risingdotseq", "rlap", "rlointerval", "rmoustache", "rneq", "robustaddtocommalist", "robustdoifelseinset", "robustdoifinsetelse", "robustpretocommalist", "rointerval", "rollbutton", "roman", "romanC", "romanD", "romanI", "romanII", "romanIII", "romanIV", "romanIX", "romanL", "romanM", "romanV", "romanVI", "romanVII", "romanVIII", "romanX", "romanXI", "romanXII", "romanc", "romand", "romani", "romanii", "romaniii", "romaniv", "romanix", "romanl", "romanm", "romannumerals", "romanv", "romanvi", "romanvii", "romanviii", "romanx", "romanxi", "romanxii", "rootradical", "rotate", "rparent", "rrangle", "rrbracket", "rrointerval", "rtimes", "rtop", "ruledhbox", "ruledhpack", "ruledmbox", "ruledtopv", "ruledtpack", "ruledvbox", "ruledvpack", "ruledvtop", "runMPbuffer", "runninghbox", "rvert", "sacute", "safechar", "samplefile", "sans", "sansbold", "sansnormal", "sansserif", "savebox", "savebtxdataset", "savebuffer", "savecounter", "savecurrentattributes", "savenormalmeaning", "savetaggedtwopassdata", "savetwopassdata", "sbox", "scale", "scaron", "scedilla", "schwa", "schwahook", "scircumflex", "scommaaccent", "screen", "searrow", "secondoffivearguments", "secondoffourarguments", "secondofsixarguments", "secondofthreearguments", "secondofthreeunexpanded", "secondoftwoarguments", "secondoftwounexpanded", "section", "sectionmark", "seeindex", "select", "selectblocks", "serializecommalist", "serializedcommalist", "serif", "serifbold", "serifnormal", "setJSpreamble", "setMPlayer", "setMPpositiongraphic", "setMPpositiongraphicrange", "setMPtext", "setMPvariable", "setMPvariables", "setbar", "setbigbodyfont", "setboxllx", "setboxlly", "setbreakpoints", "setcapstrut", "setcatcodetable", "setcharacteralign", "setcharactercasing", "setcharactercleaning", "setcharacterkerning", "setcharacterspacing", "setcharacterstripping", "setcharstrut", "setcollector", "setcolormodell", "setcounter", "setcounterown", "setcurrentfontclass", "setdataset", "setdefaultpenalties", "setdigitsmanipulation", "setdirection", "setdocumentargument", "setdocumentargumentdefault", "setdocumentfilename", "setdummyparameter", "setelementexporttag", "setemeasure", "setevalue", "setevariable", "setevariables", "setfirstline", "setflag", "setfont", "setfontcolorsheme", "setfontfeature", "setfontsolution", "setfontstrut", "setgmeasure", "setgvalue", "setgvariable", "setgvariables", "sethboxregister", "sethyphenatedurlafter", "sethyphenatedurlbefore", "sethyphenatedurlnormal", "sethyphenationfeatures", "setinitial", "setinjector", "setinteraction", "setinterfacecommand", "setinterfaceconstant", "setinterfaceelement", "setinterfacemessage", "setinterfacevariable", "setinternalrendering", "setitaliccorrection", "setlayer", "setlayerframed", "setlayertext", "setlinefiller", "setlocalhsize", "setmainbodyfont", "setmainparbuilder", "setmarker", "setmarking", "setmathstyle", "setmeasure", "setmessagetext", "setminus", "setmode", "setnostrut", "setnote", "setnotetext", "setobject", "setoldstyle", "setpagegrid", "setpagereference", "setpagestate", "setpagestaterealpageno", "setpenalties", "setpercentdimen", "setposition", "setpositionbox", "setpositiondata", "setpositiondataplus", "setpositiononly", "setpositionplus", "setpositionstrut", "setprofile", "setrandomseed", "setreference", "setreferencedobject", "setregisterentry", "setreplacement", "setrigidcolumnbalance", "setrigidcolumnhsize", "setscript", "setsectionblock", "setsimplecolumnhsize", "setsmallbodyfont", "setsmallcaps", "setstackbox", "setstructurepageregister", "setstrut", "setsuperiors", "setsystemmode", "settabular", "settaggedmetadata", "settextcontent", "settightobject", "settightreferencedobject", "settightunreferencedobject", "settrialtypesetting", "setuevalue", "setugvalue", "setunreferencedobject", "setup", "setupMPgraphics", "setupMPinstance", "setupMPpage", "setupMPvariables", "setupTABLE", "setupTEXpage", "setupalign", "setupalternativestyles", "setuparranging", "setupattachment", "setupattachments", "setupbackend", "setupbackground", "setupbackgrounds", "setupbar", "setupbars", "setupblackrules", "setupblank", "setupbleeding", "setupblock", "setupbodyfont", "setupbookmark", "setupbottom", "setupbottomtexts", "setupbtx", "setupbtxdataset", "setupbtxlabeltext", "setupbtxlist", "setupbtxregister", "setupbtxrendering", "setupbuffer", "setupbutton", "setupcapitals", "setupcaption", "setupcaptions", "setupcharacterkerning", "setupcharacterspacing", "setupchemical", "setupchemicalframed", "setupclipping", "setupcollector", "setupcolor", "setupcolors", "setupcolumns", "setupcolumnspan", "setupcombination", "setupcombinedlist", "setupcomment", "setupcontent", "setupcounter", "setupdataset", "setupdelimitedtext", "setupdescription", "setupdirections", "setupdocument", "setupeffect", "setupenumeration", "setupenumerations", "setupenv", "setupexport", "setupexternalfigure", "setupexternalsoundtracks", "setupfield", "setupfieldbody", "setupfieldcategory", "setupfieldcontentframed", "setupfieldlabelframed", "setupfields", "setupfieldtotalframed", "setupfiller", "setupfillinlines", "setupfillinrules", "setupfirstline", "setupfittingpage", "setupfloat", "setupfloatcaption", "setupfloats", "setupfloatsplitting", "setupfontexpansion", "setupfontprotrusion", "setupfonts", "setupfontsolution", "setupfooter", "setupfootertexts", "setupforms", "setupformula", "setupformulae", "setupformulaframed", "setupframed", "setupframedcontent", "setupframedtable", "setupframedtablecolumn", "setupframedtablerow", "setupframedtext", "setupframedtexts", "setupglobalreferenceprefix", "setuphead", "setupheadalternative", "setupheader", "setupheadertexts", "setupheadnumber", "setupheads", "setupheadtext", "setuphelp", "setuphigh", "setuphighlight", "setuphyphenation", "setuphyphenmark", "setupindentedtext", "setupindenting", "setupindex", "setupinitial", "setupinsertion", "setupinteraction", "setupinteractionbar", "setupinteractionmenu", "setupinteractionscreen", "setupinterlinespace", "setupitaliccorrection", "setupitemgroup", "setupitemizations", "setupitemize", "setupitems", "setuplabel", "setuplabeltext", "setuplanguage", "setuplayer", "setuplayeredtext", "setuplayout", "setuplayouttext", "setuplegend", "setuplinefiller", "setuplinefillers", "setuplinenote", "setuplinenumbering", "setuplines", "setuplinetable", "setuplinewidth", "setuplist", "setuplistalternative", "setuplistextra", "setuplocalfloats", "setuplocalinterlinespace", "setuplow", "setuplowhigh", "setuplowmidhigh", "setupmakeup", "setupmarginblock", "setupmargindata", "setupmarginframed", "setupmarginrule", "setupmarginrules", "setupmarking", "setupmathalignment", "setupmathcases", "setupmathematics", "setupmathfence", "setupmathfraction", "setupmathfractions", "setupmathframed", "setupmathlabeltext", "setupmathmatrix", "setupmathornament", "setupmathradical", "setupmathstackers", "setupmathstyle", "setupmixedcolumns", "setupmodule", "setupnarrower", "setupnotation", "setupnotations", "setupnote", "setupnotes", "setupoffset", "setupoffsetbox", "setupoperatortext", "setupoppositeplacing", "setupoutputroutine", "setuppagechecker", "setuppagecomment", "setuppagegrid", "setuppagegridarea", "setuppagegridareatext", "setuppagegridlines", "setuppagegridspan", "setuppagegridstart", "setuppageinjection", "setuppageinjectionalternative", "setuppagenumber", "setuppagenumbering", "setuppageshift", "setuppagestate", "setuppagetransitions", "setuppairedbox", "setuppalet", "setuppaper", "setuppapersize", "setupparagraph", "setupparagraphintro", "setupparagraphnumbering", "setupparagraphs", "setupparallel", "setupperiods", "setupplacement", "setuppositionbar", "setuppositioning", "setupprefixtext", "setupprocessor", "setupprofile", "setupprograms", "setupquotation", "setupquote", "setuprealpagenumber", "setupreferenceformat", "setupreferenceprefix", "setupreferencestructureprefix", "setupreferencing", "setupregister", "setupregisters", "setuprenderingwindow", "setuprotate", "setups", "setupscale", "setupscript", "setupscripts", "setupsectionblock", "setupselector", "setupshift", "setupsidebar", "setupsorting", "setupspacing", "setupspellchecking", "setupstartstop", "setupstretched", "setupstruts", "setupstyle", "setupsubformula", "setupsubformulas", "setupsubpagenumber", "setupsuffixtext", "setupsymbolset", "setupsynctex", "setupsynonyms", "setuptables", "setuptabulate", "setuptabulation", "setuptagging", "setuptaglabeltext", "setuptext", "setuptextbackground", "setuptextflow", "setuptextrules", "setuptexttexts", "setupthinrules", "setuptolerance", "setuptooltip", "setuptop", "setuptoptexts", "setuptype", "setuptyping", "setupunit", "setupunittext", "setupurl", "setupuserpagenumber", "setupversion", "setupviewerlayer", "setupvspacing", "setupwhitespace", "setupwithargument", "setupwithargumentswapped", "setupxml", "setupxtable", "setuvalue", "setuxvalue", "setvalue", "setvariable", "setvariables", "setvboxregister", "setvisualizerfont", "setvtopregister", "setwidthof", "setxmeasure", "setxvalue", "setxvariable", "setxvariables", "seveneighths", "sfrac", "shapedhbox", "sharp", "shiftdown", "shiftup", "showallmakeup", "showattributes", "showbodyfont", "showbodyfontenvironment", "showboxes", "showbtxdatasetauthors", "showbtxdatasetcompleteness", "showbtxdatasetfields", "showbtxfields", "showbtxhashedauthors", "showbtxtables", "showchardata", "showcharratio", "showcolor", "showcolorbar", "showcolorcomponents", "showcolorgroup", "showcolorset", "showcolorstruts", "showcounter", "showdirectives", "showdirsinmargin", "showedebuginfo", "showexperiments", "showfont", "showfontdata", "showfontitalics", "showfontkerns", "showfontparameters", "showfontstrip", "showfontstyle", "showframe", "showglyphs", "showgrid", "showgridsnapping", "showhelp", "showhyphenationtrace", "showhyphens", "showinjector", "showjustification", "showkerning", "showlayout", "showlayoutcomponents", "showligature", "showligatures", "showlogcategories", "showmakeup", "showmargins", "showmessage", "showminimalbaseline", "shownextbox", "showotfcomposition", "showpalet", "showparentchain", "showprint", "showsetups", "showsetupsdefinition", "showstruts", "showsymbolset", "showtimer", "showtokens", "showtrackers", "showvalue", "showvariable", "showwarning", "sigma", "sim", "simeq", "simplealignedbox", "simplealignedboxplus", "simplealignedspreadbox", "simplegroupedcommand", "simplereversealignedbox", "simplereversealignedboxplus", "singalcharacteralign", "singlebond", "singleverticalbar", "sixperemspace", "sixthofsixarguments", "slanted", "slantedbold", "slantedface", "slash", "slicepages", "slong", "slovenianNumerals", "sloveniannumerals", "small", "smallbodyfont", "smallbold", "smallbolditalic", "smallboldslanted", "smallcappedcharacters", "smallcappedromannumerals", "smaller", "smallitalicbold", "smallnormal", "smallskip", "smallslanted", "smallslantedbold", "smalltype", "smash", "smashbox", "smashboxed", "smashedhbox", "smashedvbox", "smile", "snaptogrid", "softhyphen", "solidus", "someheadnumber", "somekindoftab", "someline", "somelocalfloat", "somenamedheadnumber", "someplace", "somewhere", "space", "spadesuit", "spanishNumerals", "spanishnumerals", "speech", "sphericalangle", "splitatasterisk", "splitatcolon", "splitatcolons", "splitatcomma", "splitatperiod", "splitdfrac", "splitfilename", "splitfloat", "splitfrac", "splitoffbase", "splitofffull", "splitoffkind", "splitoffname", "splitoffpath", "splitoffroot", "splitofftokens", "splitofftype", "splitstring", "spreadhbox", "sqcap", "sqcup", "sqrt", "sqsubset", "sqsubseteq", "sqsubsetneq", "sqsupset", "sqsupseteq", "sqsupsetneq", "square", "squaredots", "ssharp", "stackrel", "star", "stareq", "startJScode", "startJSpreamble", "startLUA", "startMP", "startMPclip", "startMPcode", "startMPdefinitions", "startMPdrawing", "startMPenvironment", "startMPextensions", "startMPinclusions", "startMPinitializations", "startMPpage", "startMPpositiongraphic", "startMPpositionmethod", "startMPrun", "startPARSEDXML", "startTABLE", "startTABLEbody", "startTABLEfoot", "startTABLEhead", "startTABLEnext", "startTC", "startTD", "startTDs", "startTEX", "startTEXpage", "startTH", "startTN", "startTR", "startTRs", "startTX", "startTY", "startXML", "startalign", "startalignment", "startallmodes", "startappendices", "startarrangedpages", "startaside", "startattachment", "startbackground", "startbackmatter", "startbar", "startbbordermatrix", "startbitmapimage", "startblockquote", "startbodymatter", "startbordermatrix", "startboxedcolumns", "startbtxlabeltext", "startbtxrenderingdefinitions", "startbuffer", "startcases", "startcatcodetable", "startcenteraligned", "startchapter", "startcharacteralign", "startcheckedfences", "startchemical", "startchemicaltext", "startcollect", "startcollecting", "startcolor", "startcolorintent", "startcoloronly", "startcolorset", "startcolumns", "startcolumnspan", "startcombination", "startcomment", "startcomponent", "startcontextcode", "startcontextdefinitioncode", "startctxfunction", "startctxfunctiondefinition", "startcurrentcolor", "startcurrentlistentrywrapper", "startdelimited", "startdelimitedtext", "startdisplaymath", "startdmath", "startdocument", "starteffect", "startelement", "startembeddedxtable", "startendnote", "startendofline", "startenvironment", "startexceptions", "startexpanded", "startexpandedcollect", "startextendedcatcodetable", "startexternalfigurecollection", "startfact", "startfigure", "startfiguretext", "startfittingpage", "startfixed", "startfloatcombination", "startfont", "startfontclass", "startfontsolution", "startfootnote", "startformula", "startformulas", "startframed", "startframedcell", "startframedcontent", "startframedrow", "startframedtable", "startframedtext", "startfrontmatter", "startgoto", "startgraphictext", "startgridsnapping", "starthanging", "starthbox", "starthboxestohbox", "starthboxregister", "starthead", "startheadtext", "starthelptext", "starthiding", "starthighlight", "starthyphenation", "startimath", "startindentation", "startindentedtext", "startinteraction", "startinteractionmenu", "startinterface", "startintermezzotext", "startintertext", "startitem", "startitemgroup", "startitemgroupcolumns", "startitemize", "startknockout", "startlabeltext", "startlayout", "startleftaligned", "startlegend", "startline", "startlinealignment", "startlinecorrection", "startlinefiller", "startlinenote", "startlinenumbering", "startlines", "startlinetable", "startlinetablebody", "startlinetablecell", "startlinetablehead", "startlocalfootnotes", "startlocalheadsetup", "startlocallinecorrection", "startlocalnotes", "startlocalsetups", "startlua", "startluacode", "startluaparameterset", "startluasetups", "startmakeup", "startmarginblock", "startmarginrule", "startmarkedcontent", "startmathalignment", "startmathcases", "startmathlabeltext", "startmathmatrix", "startmathmode", "startmathstyle", "startmatrices", "startmatrix", "startmaxaligned", "startmdformula", "startmidaligned", "startmiddlealigned", "startmiddlemakeup", "startmixedcolumns", "startmode", "startmodeset", "startmodule", "startmoduletestsection", "startmpformula", "startnamedsection", "startnamedsubformulas", "startnarrow", "startnarrower", "startnegative", "startnicelyfilledbox", "startnointerference", "startnotallmodes", "startnotext", "startnotmode", "startoperatortext", "startopposite", "startoutputstream", "startoverlay", "startoverprint", "startpacked", "startpagecomment", "startpagefigure", "startpagegrid", "startpagegridspan", "startpagelayout", "startpagemakeup", "startpar", "startparagraph", "startparagraphs", "startparagraphscell", "startparbuilder", "startpart", "startpath", "startplacechemical", "startplacefigure", "startplacefloat", "startplaceformula", "startplacegraphic", "startplaceintermezzo", "startplacelegend", "startplacepairedbox", "startplacetable", "startpositioning", "startpositionoverlay", "startpositive", "startpostponing", "startprefixtext", "startprocessassignmentcommand", "startprocessassignmentlist", "startprocesscommacommand", "startprocesscommalist", "startproduct", "startproject", "startprotect", "startprotectedcolors", "startpublication", "startpunctuation", "startquotation", "startquote", "startrandomized", "startrandomseed", "startrawsetups", "startreadingfile", "startreferenceprefix", "startregime", "startregister", "startreusableMPgraphic", "startrightaligned", "startscript", "startsdformula", "startsection", "startsectionblock", "startsectionblockenvironment", "startsectionlevel", "startsetups", "startshapebox", "startshift", "startsidebar", "startsimplecolumns", "startspecialitem", "startspeech", "startspformula", "startsplitformula", "startspread", "startstandardmakeup", "startstartstop", "startstaticMPfigure", "startstaticMPgraphic", "startstrictinspectnextcharacter", "startstructurepageregister", "startstrut", "startstyle", "startsubformulas", "startsubject", "startsubjectlevel", "startsubsection", "startsubsentence", "startsubstack", "startsubsubject", "startsubsubsection", "startsubsubsubject", "startsubsubsubsection", "startsubsubsubsubject", "startsubsubsubsubsection", "startsubsubsubsubsubject", "startsuffixtext", "startsymbolset", "starttable", "starttablehead", "starttables", "starttabletail", "starttabletext", "starttabulate", "starttabulatehead", "starttabulatetail", "starttagged", "starttaglabeltext", "starttexcode", "starttexdefinition", "starttext", "starttextbackground", "starttextbackgroundmanual", "starttextcolor", "starttextcolorintent", "starttextflow", "starttextmakeup", "starttextrule", "starttitle", "starttokens", "starttransparent", "starttypescript", "starttypescriptcollection", "starttyping", "startuniqueMPgraphic", "startuniqueMPpagegraphic", "startunittext", "startunpacked", "startusableMPgraphic", "startuseMPgraphic", "startusemathstyleparameter", "startusingbtxspecification", "startvbox", "startvboxregister", "startvboxtohbox", "startvboxtohboxseparator", "startviewerlayer", "startvtop", "startvtopregister", "startxcell", "startxcellgroup", "startxgroup", "startxmldisplayverbatim", "startxmlinlineverbatim", "startxmlraw", "startxmlsetups", "startxrow", "startxrowgroup", "startxtable", "startxtablebody", "startxtablefoot", "startxtablehead", "startxtablenext", "stligature", "stopJScode", "stopJSpreamble", "stopLUA", "stopMP", "stopMPclip", "stopMPcode", "stopMPdefinitions", "stopMPdrawing", "stopMPenvironment", "stopMPextensions", "stopMPinclusions", "stopMPinitializations", "stopMPpage", "stopMPpositiongraphic", "stopMPpositionmethod", "stopMPrun", "stopPARSEDXML", "stopTABLE", "stopTABLEbody", "stopTABLEfoot", "stopTABLEhead", "stopTABLEnext", "stopTC", "stopTD", "stopTDs", "stopTEX", "stopTEXpage", "stopTH", "stopTN", "stopTR", "stopTRs", "stopTX", "stopTY", "stopXML", "stopalign", "stopalignment", "stopallmodes", "stopappendices", "stoparrangedpages", "stopaside", "stopattachment", "stopbackground", "stopbackmatter", "stopbar", "stopbbordermatrix", "stopbitmapimage", "stopblockquote", "stopbodymatter", "stopbordermatrix", "stopboxedcolumns", "stopbtxlabeltext", "stopbtxrenderingdefinitions", "stopbuffer", "stopcases", "stopcatcodetable", "stopcenteraligned", "stopchapter", "stopcharacteralign", "stopcheckedfences", "stopchemical", "stopchemicaltext", "stopcollect", "stopcollecting", "stopcolor", "stopcolorintent", "stopcoloronly", "stopcolorset", "stopcolumns", "stopcolumnspan", "stopcombination", "stopcomment", "stopcomponent", "stopcontextcode", "stopcontextdefinitioncode", "stopctxfunction", "stopctxfunctiondefinition", "stopcurrentcolor", "stopcurrentlistentrywrapper", "stopdelimited", "stopdelimitedtext", "stopdisplaymath", "stopdmath", "stopdocument", "stopeffect", "stopelement", "stopembeddedxtable", "stopendnote", "stopendofline", "stopenvironment", "stopexceptions", "stopexpanded", "stopexpandedcollect", "stopextendedcatcodetable", "stopexternalfigurecollection", "stopfact", "stopfigure", "stopfiguretext", "stopfittingpage", "stopfixed", "stopfloatcombination", "stopfont", "stopfontclass", "stopfontsolution", "stopfootnote", "stopformula", "stopformulas", "stopframed", "stopframedcell", "stopframedcontent", "stopframedrow", "stopframedtable", "stopframedtext", "stopfrontmatter", "stopgoto", "stopgraphictext", "stopgridsnapping", "stophanging", "stophbox", "stophboxestohbox", "stophboxregister", "stophead", "stopheadtext", "stophelptext", "stophiding", "stophighlight", "stophyphenation", "stopimath", "stopindentation", "stopindentedtext", "stopinteraction", "stopinteractionmenu", "stopinterface", "stopintermezzotext", "stopintertext", "stopitem", "stopitemgroup", "stopitemgroupcolumns", "stopitemize", "stopknockout", "stoplabeltext", "stoplayout", "stopleftaligned", "stoplegend", "stopline", "stoplinealignment", "stoplinecorrection", "stoplinefiller", "stoplinenote", "stoplinenumbering", "stoplines", "stoplinetable", "stoplinetablebody", "stoplinetablecell", "stoplinetablehead", "stoplocalfootnotes", "stoplocalheadsetup", "stoplocallinecorrection", "stoplocalnotes", "stoplocalsetups", "stoplua", "stopluacode", "stopluaparameterset", "stopluasetups", "stopmakeup", "stopmarginblock", "stopmarginrule", "stopmarkedcontent", "stopmathalignment", "stopmathcases", "stopmathlabeltext", "stopmathmatrix", "stopmathmode", "stopmathstyle", "stopmatrices", "stopmatrix", "stopmaxaligned", "stopmdformula", "stopmidaligned", "stopmiddlealigned", "stopmiddlemakeup", "stopmixedcolumns", "stopmode", "stopmodeset", "stopmodule", "stopmoduletestsection", "stopmpformula", "stopnamedsection", "stopnamedsubformulas", "stopnarrow", "stopnarrower", "stopnegative", "stopnicelyfilledbox", "stopnointerference", "stopnotallmodes", "stopnotext", "stopnotmode", "stopoperatortext", "stopopposite", "stopoutputstream", "stopoverlay", "stopoverprint", "stoppacked", "stoppagecomment", "stoppagefigure", "stoppagegrid", "stoppagegridspan", "stoppagelayout", "stoppagemakeup", "stoppar", "stopparagraph", "stopparagraphs", "stopparagraphscell", "stopparbuilder", "stoppart", "stoppath", "stopplacechemical", "stopplacefigure", "stopplacefloat", "stopplaceformula", "stopplacegraphic", "stopplaceintermezzo", "stopplacelegend", "stopplacepairedbox", "stopplacetable", "stoppositioning", "stoppositionoverlay", "stoppositive", "stoppostponing", "stopprefixtext", "stopprocessassignmentcommand", "stopprocessassignmentlist", "stopprocesscommacommand", "stopprocesscommalist", "stopproduct", "stopproject", "stopprotect", "stopprotectedcolors", "stoppublication", "stoppunctuation", "stopquotation", "stopquote", "stoprandomized", "stoprandomseed", "stoprawsetups", "stopreadingfile", "stopreferenceprefix", "stopregime", "stopregister", "stopreusableMPgraphic", "stoprightaligned", "stopscript", "stopsdformula", "stopsection", "stopsectionblock", "stopsectionblockenvironment", "stopsectionlevel", "stopsetups", "stopshapebox", "stopshift", "stopsidebar", "stopsimplecolumns", "stopspecialitem", "stopspeech", "stopspformula", "stopsplitformula", "stopspread", "stopstandardmakeup", "stopstartstop", "stopstaticMPfigure", "stopstaticMPgraphic", "stopstrictinspectnextcharacter", "stopstructurepageregister", "stopstrut", "stopstyle", "stopsubformulas", "stopsubject", "stopsubjectlevel", "stopsubsection", "stopsubsentence", "stopsubstack", "stopsubsubject", "stopsubsubsection", "stopsubsubsubject", "stopsubsubsubsection", "stopsubsubsubsubject", "stopsubsubsubsubsection", "stopsubsubsubsubsubject", "stopsuffixtext", "stopsymbolset", "stoptable", "stoptablehead", "stoptables", "stoptabletail", "stoptabletext", "stoptabulate", "stoptabulatehead", "stoptabulatetail", "stoptagged", "stoptaglabeltext", "stoptexcode", "stoptexdefinition", "stoptext", "stoptextbackground", "stoptextbackgroundmanual", "stoptextcolor", "stoptextcolorintent", "stoptextflow", "stoptextmakeup", "stoptextrule", "stoptitle", "stoptokens", "stoptransparent", "stoptypescript", "stoptypescriptcollection", "stoptyping", "stopuniqueMPgraphic", "stopuniqueMPpagegraphic", "stopunittext", "stopunpacked", "stopusableMPgraphic", "stopuseMPgraphic", "stopusemathstyleparameter", "stopusingbtxspecification", "stopvbox", "stopvboxregister", "stopvboxtohbox", "stopvboxtohboxseparator", "stopviewerlayer", "stopvtop", "stopvtopregister", "stopxcell", "stopxcellgroup", "stopxgroup", "stopxmldisplayverbatim", "stopxmlinlineverbatim", "stopxmlraw", "stopxmlsetups", "stopxrow", "stopxrowgroup", "stopxtable", "stopxtablebody", "stopxtablefoot", "stopxtablehead", "stopxtablenext", "stretched", "strictdoifelsenextoptional", "strictdoifnextoptionalelse", "stripcharacter", "strippedcsname", "stripspaces", "structurelistuservariable", "structurenumber", "structuretitle", "structureuservariable", "structurevariable", "strut", "strutdp", "strutgap", "strutht", "struthtdp", "struttedbox", "strutwd", "style", "styleinstance", "subject", "subpagenumber", "subsection", "subsentence", "subset", "subseteq", "subseteqq", "subsetneq", "subsetneqq", "substituteincommalist", "subsubject", "subsubsection", "subsubsubject", "subsubsubsection", "subsubsubsubject", "subsubsubsubsection", "subsubsubsubsubject", "subtractfeature", "succ", "succapprox", "succcurlyeq", "succeq", "succeqq", "succnapprox", "succneq", "succneqq", "succnsim", "succsim", "suffixlanguage", "suffixtext", "sum", "supset", "supseteq", "supseteqq", "supsetneq", "supsetneqq", "surd", "surdradical", "swapcounts", "swapdimens", "swapface", "swapmacros", "swaptypeface", "swarrow", "switchstyleonly", "switchtobodyfont", "switchtocolor", "switchtointerlinespace", "symbol", "symbolreference", "synchronizeblank", "synchronizeindenting", "synchronizemarking", "synchronizeoutputstreams", "synchronizestrut", "synchronizewhitespace", "synctexblockfilename", "synctexresetfilename", "synctexsetfilename", "systemlog", "systemlogfirst", "systemloglast", "systemsetups", "tLeftarrow", "tLeftrightarrow", "tRightarrow", "tabulateautoline", "tabulateautorule", "tabulateline", "tabulaterule", "taggedctxcommand", "taggedlabeltexts", "taglabellanguage", "taglabeltext", "tau", "tbinom", "tbox", "tcaron", "tcedilla", "tcommaaccent", "tcurl", "tequal", "test", "testandsplitstring", "testcolumn", "testfeature", "testfeatureonce", "testpage", "testpageonly", "testpagesync", "testtokens", "tex", "texdefinition", "texsetup", "textAngstrom", "textacute", "textampersand", "textasciicircum", "textasciitilde", "textat", "textbackslash", "textbar", "textbottomcomma", "textbottomdot", "textbraceleft", "textbraceright", "textbreve", "textbrokenbar", "textbullet", "textcaron", "textcedilla", "textcelsius", "textcent", "textcircledP", "textcircumflex", "textcitation", "textcite", "textcomma", "textcontrolspace", "textcurrency", "textdag", "textddag", "textdegree", "textdiaeresis", "textdiv", "textdollar", "textdong", "textdotaccent", "textellipsis", "texteuro", "textflowcollector", "textfraction", "textgrave", "texthash", "texthorizontalbar", "texthungarumlaut", "texthyphen", "textkelvin", "textlognot", "textmacron", "textmath", "textmho", "textminus", "textmu", "textmultiply", "textnumero", "textogonek", "textohm", "textormathchar", "textounce", "textpercent", "textperiod", "textplus", "textpm", "textreference", "textring", "textrule", "textslash", "textsterling", "texttilde", "textunderscore", "textvisiblespace", "textyen", "thai", "thainumerals", "thefirstcharacter", "thenormalizedbodyfontsize", "therefore", "theremainingcharacters", "theta", "thickspace", "thinrule", "thinrules", "thinspace", "thirdoffivearguments", "thirdoffourarguments", "thirdofsixarguments", "thirdofthreearguments", "thirdofthreeunexpanded", "thook", "thookleftarrow", "thookrightarrow", "thorn", "threedigitrounding", "threeeighths", "threefifths", "threeperemspace", "threequarter", "threesuperior", "tibetannumerals", "tightlayer", "tilde", "times", "tinyfont", "title", "tlap", "tleftarrow", "tleftharpoondown", "tleftharpoonup", "tleftrightarrow", "tleftrightharpoons", "tmapsto", "to", "tochar", "tolinenote", "tooltip", "top", "topbox", "topleftbox", "toplinebox", "toprightbox", "topskippedbox", "tracecatcodetables", "tracedfontname", "traceoutputroutines", "tracepositions", "trademark", "translate", "transparencycomponents", "transparent", "trel", "triangle", "triangledown", "triangleleft", "triangleq", "triangleright", "trightarrow", "trightharpoondown", "trightharpoonup", "trightleftharpoons", "trightoverleftarrow", "triplebond", "tripleprime", "tripleverticalbar", "truefilename", "truefontname", "tstroke", "ttraggedright", "ttriplerel", "ttwoheadleftarrow", "ttwoheadrightarrow", "turnediota", "twodigitrounding", "twofifths", "twoheaddownarrow", "twoheadleftarrow", "twoheadrightarrow", "twoheadrightarrowtail", "twoheaduparrow", "twosuperior", "twothirds", "tx", "txx", "typ", "type", "typebuffer", "typedefinedbuffer", "typeface", "typefile", "typeinlinebuffer", "typescriptone", "typescriptprefix", "typescriptthree", "typescripttwo", "typesetbuffer", "typesetfile", "uacute", "ubreve", "ucaron", "ucircumflex", "uconvertnumber", "udiaeresis", "udiaeresisacute", "udiaeresiscaron", "udiaeresisgrave", "udiaeresismacron", "udotbelow", "udots", "udoublegrave", "uedcatcodecommand", "ugrave", "uhook", "uhorn", "uhornacute", "uhorndotbelow", "uhorngrave", "uhornhook", "uhorntilde", "uhungarumlaut", "uinvertedbreve", "ulcorner", "umacron", "undefinevalue", "undepthed", "underbar", "underbars", "underbrace", "underbracket", "underdash", "underdashes", "underdot", "underdots", "underleftarrow", "underparent", "underrandom", "underrandoms", "underrightarrow", "underset", "understrike", "understrikes", "undoassign", "unexpandeddocumentvariable", "unframed", "unhhbox", "unihex", "uniqueMPgraphic", "uniqueMPpagegraphic", "unit", "unitlanguage", "unitshigh", "unitslow", "unittext", "unknown", "unprotected", "unregisterhyphenationpattern", "unspaceafter", "unspaceargument", "unspaced", "unspacestring", "untexargument", "untexcommand", "uogonek", "upand", "uparrow", "updasharrow", "updownarrow", "updownarrowbar", "updownarrows", "upharpoonleft", "upharpoonright", "uplus", "uppercased", "uppercasestring", "upperleftdoubleninequote", "upperleftdoublesixquote", "upperleftsingleninequote", "upperleftsinglesixquote", "upperrightdoubleninequote", "upperrightdoublesixquote", "upperrightsingleninequote", "upperrightsinglesixquote", "upsilon", "upuparrows", "upwhitearrow", "urcorner", "uring", "url", "useJSscripts", "useMPenvironmentbuffer", "useMPgraphic", "useMPlibrary", "useMPrun", "useMPvariables", "useURL", "usealignparameter", "useblankparameter", "useblocks", "usebodyfont", "usebodyfontparameter", "usebtxdataset", "usebtxdefinitions", "usecitation", "usecolors", "usecomponent", "usedirectory", "usedummycolorparameter", "usedummystyleandcolor", "usedummystyleparameter", "useenvironment", "useexternaldocument", "useexternalfigure", "useexternalrendering", "useexternalsoundtrack", "usefigurebase", "usefile", "usegridparameter", "useindentingparameter", "useindentnextparameter", "useinterlinespaceparameter", "uselanguageparameter", "useluamodule", "usemathstyleparameter", "usemodule", "useproduct", "useprofileparameter", "useproject", "usereferenceparameter", "userpagenumber", "usesetupsparameter", "usestaticMPfigure", "usesubpath", "usesymbols", "usetexmodule", "usetypescript", "usetypescriptfile", "useurl", "usezipfile", "utfchar", "utflower", "utfupper", "utilde", "utilityregisterlength", "vDash", "varTheta", "varepsilon", "varkappa", "varnothing", "varphi", "varpi", "varrho", "varsigma", "vartheta", "vboxreference", "vdash", "vdots", "vec", "vee", "veebar", "veeeq", "verbatim", "verbatimstring", "verbosenumber", "version", "vert", "verticalgrowingbar", "verticalpositionbar", "veryraggedcenter", "veryraggedleft", "veryraggedright", "vglue", "viewerlayer", "vl", "vphantom", "vpos", "vsmash", "vsmashbox", "vsmashed", "vspace", "vspacing", "wcircumflex", "wdofstring", "wedge", "wedgeeq", "weekday", "whitearrowupfrombar", "widehat", "widetilde", "widthofstring", "widthspanningtext", "withoutpt", "word", "wordright", "words", "wordtonumber", "wp", "wr", "writebetweenlist", "writedatatolist", "writestatus", "writetolist", "xLeftarrow", "xLeftrightarrow", "xRightarrow", "xdefconvertedargument", "xequal", "xfrac", "xhookleftarrow", "xhookrightarrow", "xi", "xleftarrow", "xleftharpoondown", "xleftharpoonup", "xleftrightarrow", "xleftrightharpoons", "xmapsto", "xmladdindex", "xmlafterdocumentsetup", "xmlaftersetup", "xmlall", "xmlappenddocumentsetup", "xmlappendsetup", "xmlapplyselectors", "xmlatt", "xmlattdef", "xmlattribute", "xmlattributedef", "xmlbadinclusions", "xmlbeforedocumentsetup", "xmlbeforesetup", "xmlchainatt", "xmlchainattdef", "xmlchecknamespace", "xmlcommand", "xmlconcat", "xmlconcatrange", "xmlcontext", "xmlcount", "xmldefaulttotext", "xmldirectives", "xmldirectivesafter", "xmldirectivesbefore", "xmldisplayverbatim", "xmldoif", "xmldoifelse", "xmldoifelseempty", "xmldoifelseselfempty", "xmldoifelsetext", "xmldoifelsevalue", "xmldoifnot", "xmldoifnotselfempty", "xmldoifnottext", "xmldoifselfempty", "xmldoiftext", "xmlelement", "xmlfilter", "xmlfirst", "xmlflush", "xmlflushcontext", "xmlflushdocumentsetups", "xmlflushlinewise", "xmlflushpure", "xmlflushspacewise", "xmlflushtext", "xmlinclude", "xmlinclusion", "xmlinclusions", "xmlinfo", "xmlinjector", "xmlinlineprettyprint", "xmlinlineprettyprinttext", "xmlinlineverbatim", "xmlinstalldirective", "xmllast", "xmllastatt", "xmllastmatch", "xmllastpar", "xmlloadbuffer", "xmlloaddata", "xmlloaddirectives", "xmlloadfile", "xmlloadonly", "xmlmain", "xmlmapvalue", "xmlname", "xmlnamespace", "xmlnonspace", "xmlpar", "xmlparam", "xmlpath", "xmlpos", "xmlposition", "xmlprependdocumentsetup", "xmlprependsetup", "xmlprettyprint", "xmlprettyprinttext", "xmlprocessbuffer", "xmlprocessdata", "xmlprocessfile", "xmlpure", "xmlraw", "xmlrefatt", "xmlregistereddocumentsetups", "xmlregisteredsetups", "xmlregisterns", "xmlremapname", "xmlremapnamespace", "xmlremovedocumentsetup", "xmlremovesetup", "xmlresetdocumentsetups", "xmlresetinjectors", "xmlresetsetups", "xmlsave", "xmlsetatt", "xmlsetattribute", "xmlsetentity", "xmlsetfunction", "xmlsetinjectors", "xmlsetpar", "xmlsetparam", "xmlsetsetup", "xmlsetup", "xmlshow", "xmlsnippet", "xmlstrip", "xmlstripnolines", "xmlstripped", "xmlstrippednolines", "xmltag", "xmltexentity", "xmltext", "xmltobuffer", "xmltobufferverbose", "xmltofile", "xmlvalue", "xmlverbatim", "xrel", "xrightarrow", "xrightharpoondown", "xrightharpoonup", "xrightleftharpoons", "xrightoverleftarrow", "xsplitstring", "xtriplerel", "xtwoheadleftarrow", "xtwoheadrightarrow", "xxfrac", "xypos", "yacute", "ycircumflex", "ydiaeresis", "ydotbelow", "yen", "ygrave", "yhook", "ymacron", "ytilde", "zacute", "zcaron", "zdotaccent", "zerowidthnobreakspace", "zerowidthspace", "zeta", "zhook", "zstroke", "zwj", "zwnj" }, ["cs"]={ "Cisla", "Kap", "MESIC", "Rimskecislice", "SLOVA", "SLOVO", "Slova", "Slovo", "VSEDNIDEN", "Znak", "Znaky", "aktualnicislonadpisu", "aktualnidatum", "barevnalista", "barva", "cernalinka", "cernelinky", "cisla", "cislonadpisu", "cislorovnice", "cislostrany", "datum", "definuj", "definujakcent", "definujbarvu", "definujblok", "definujbloksekce", "definujbuffer", "definujfont", "definujformatodkazu", "definujhbox", "definujinterakcnimenu", "definujkombinovanyseznam", "definujkonverzi", "definujnadpis", "definujobrazeksymbol", "definujodkaz", "definujodstavce", "definujopis", "definujoramovani", "definujoramovanytext", "definujpaletu", "definujplvouciobjekt", "definujpodpole", "definujpole", "definujpopis", "definujpopisek", "definujprekryv", "definujprikaz", "definujprofil", "definujprogram", "definujprostredizakladnihofontu", "definujrejstrik", "definujsablonutabulky", "definujsekci", "definujseznam", "definujskupinubarev", "definujstartstop", "definujstyl", "definujstylfontu", "definujsymbol", "definujsynonumumfontu", "definujsynonyma", "definujtabelaci", "definujtext", "definujtrideni", "definujupravu", "definujvelikostpapiru", "definujvycet", "definujzakladnifont", "definujzasobnikpoli", "definujznaceni", "definujznak", "delkaseznamu", "externiobraz", "hlavnijazyk", "hodnotabarvy", "instalacejazyka", "interakcnilista", "interakcnitlacitka", "interaktivnimenu", "jazyk", "jdidolu", "jdina", "jdinabox", "jdinastranu", "klonujpole", "komponenta", "konvertujcislo", "kopirujpole", "korekcebilehomista", "matematika", "meritko", "mesic", "mezera", "mrizka", "nastavbarvu", "nastavbarvy", "nastavbilamista", "nastavblok", "nastavbloksekce", "nastavbuffer", "nastavcernelinky", "nastavcislonadpisu", "nastavcislostrany", "nastavcislovaniodstavcu", "nastavcislovaniradku", "nastavcislovanistran", "nastavcitaci", "nastavdeleniplvoucichobjektu", "nastavdelitko", "nastavdolnitexty", "nastavhorejsek", "nastavhornitexty", "nastavinterakci", "nastavinterakcnilistu", "nastavinterakcnimenu", "nastavinterakcniobrazovku", "nastavjazyk", "nastavkapitalky", "nastavkombinovanyseznam", "nastavkomentar", "nastavkomentarstrany", "nastavmarginalnilinky", "nastavmeziradkovoumezeru", "nastavnadpis", "nastavnadpisy", "nastavodkazovani", "nastavodsazovani", "nastavodstavce", "nastavopis", "nastavoramovanetexty", "nastavoramovani", "nastavorez", "nastavotoceni", "nastavpaletu", "nastavplvouciobjekt", "nastavplvouciobjekty", "nastavpodcislostrany", "nastavpole", "nastavpolozky", "nastavpopisek", "nastavpopisky", "nastavpozadi", "nastavprechodstrany", "nastavpreskok", "nastavprogramy", "nastavradkovani", "nastavradky", "nastavrejstrik", "nastavrovnice", "nastavsadusymbolu", "nastavseznam", "nastavsirkucary", "nastavsloupce", "nastavspodek", "nastavsynonyma", "nastavtabelaci", "nastavtabulky", "nastavtenkelinky", "nastavtext", "nastavtextovelinky", "nastavtexttexty", "nastavtextyupati", "nastavtextyzahlavi", "nastavtoleranci", "nastavtrideni", "nastavtype", "nastavumisteniprotejsku", "nastavumistovani", "nastavupati", "nastavupravu", "nastavurl", "nastavusporadani", "nastavvelikostpapiru", "nastavvsechnapole", "nastavvycty", "nastavvyplnovelinky", "nastavvyplnoveradky", "nastavvzhled", "nastavzahlavi", "nastavzakladnifont", "nastavzarovnani", "nastavznaceni", "nastavzuzeni", "nastrane", "nejakyradek", "nekde", "neznamo", "nivy", "nizky", "nokap", "obrazovka", "odkaz", "odkaznastranu", "odkaznatext", "odkazujici", "opis", "opissoubor", "oramovani", "oref", "orez", "otocit", "oznaceni", "pis", "plnezneni", "pole", "polozka", "polozky", "porovnejpaletu", "porovnejskupinubarev", "pozadi", "pozice", "poznamka", "pref", "prelozit", "prepninazakladnifont", "preskoc", "prizpusobivepole", "prizpusobvzhled", "produkt", "projekt", "prostredi", "resetznaceni", "rimskecislice", "rozdelplvouciobjekt", "roztazene", "schovejbloky", "sedabarva", "sloupec", "slovovpravo", "stanovcharakteristickuseznamu", "stanovcislonadpisu", "startbarva", "startinteraktivnimenu", "startjdina", "startkomponenta", "startmarginalnilinka", "startnadpis", "startoramovani", "startpolozka", "startpozadi", "startprodukt", "startprojekt", "startprostredi", "startpublikace", "startradek", "starttextovalinka", "startumistirovnici", "startzarovnanonastred", "startzarovnanovlevo", "startzarovnanovpravo", "startzhustene", "stopbarva", "stopinteraktivnimenu", "stopjdina", "stopkomponenta", "stopmarginalnilinka", "stopnadpis", "stoporamovani", "stoppolozka", "stoppozadi", "stopprodukt", "stopprojekt", "stopprostredi", "stoppublikace", "stopradek", "stoptextovalinka", "stopumistirovnici", "stopzarovnanonastred", "stopzarovnanovlevo", "stopzarovnanovpravo", "stopzhustene", "strana", "tecky", "tenkalinka", "tenkelinky", "textovalinka", "tlacitko", "tlacitkomenu", "tloustkacary", "tref", "tvrdamezera", "tvrdemezery", "ukazbarvu", "ukazmrizku", "ukaznastaveni", "ukazpaletu", "ukazpodpery", "ukazpostredizakladnihofontu", "ukazramecek", "ukazsadusymbolu", "ukazskupinubarev", "ukazupravu", "ukazvytisk", "ukazvzhled", "ukazzakladnifont", "umistikombinovanyseznam", "umistilokalnipoznamkypodcarou", "umistinadsebe", "umistinamrizku", "umistipodrovnici", "umistipoznamkypodcarou", "umistirejstrik", "umistirovnici", "umistiseznam", "umistivedlesebe", "umistizalozky", "urcicharakteristikurejstriku", "uzijJSscripts", "uzijURL", "uzijadresar", "uzijbloky", "uzijexternidokument", "uzijexterniobraz", "uzijexternizvuk", "uzijmodul", "uzijsymbol", "uzijurl", "verze", "vlasovalinka", "vradku", "vsedniden", "vyberbloky", "vyplnenytext", "vyplnovelinky", "vyplnovyradek", "vysoky", "zachovejbloky", "zadnamezera", "zadnehorniadolniradky", "zadnezahlaviaupati", "zalozka", "zapisdoseznamu", "zapismeziseznam", "zaramovani", "zarovnanonastred", "zarovnanovlevo", "zarovnanovpravo", "zasobnikpoli", "ziskejbuffer", "ziskejznaceni", "znaceni", "znak", "znaky", "zpracujbloky", "zrcadlit", "zref" }, ["de"]={ "Buchstabe", "Buchstaben", "Kap", "MONAT", "Roemischezahlen", "WOCHENTAG", "WOERTER", "WORT", "Woerter", "Wort", "Ziffern", "amgitterausrichten", "aufseite", "ausfuelltext", "ausschnitt", "bearbeitebloecke", "behaltebloecke", "bei", "bemerkung", "benutzeverzeichnis", "beschriftung", "bestimmekopfnummer", "bestimmelistencharakeristika", "bestimmeregistercharakteristika", "bildschirm", "blanko", "buchstabe", "buchstaben", "datum", "defineschriftsynonym", "definiereabbsymbol", "definiereabsaetze", "definiereabschnitt", "definiereabschnittsblock", "definiereakzent", "definierebefehl", "definierebeschreibung", "definierebeschriftung", "definiereblock", "definierefarbe", "definierefarbengruppe", "definierefeld", "definierefeldstapel", "definierefliesstext", "definierefliesstextumgebung", "definieregleitobjekt", "definierehbox", "definiereinteraktionsmenue", "definierekonversion", "definierelabel", "definiereliste", "definieren", "definierenummerierung", "definiereoverlay", "definierepalette", "definierepapierformat", "definiereprofil", "definiereprogramme", "definierepuffer", "definierereferenz", "definierereferenzformat", "definiereregister", "definiereschrift", "definiereschriftstil", "definieresortieren", "definierestartstop", "definierestil", "definieresubfeld", "definieresymbol", "definieresynonyme", "definieretabellenvorlage", "definieretabulator", "definieretext", "definieretippen", "definiereueberschrift", "definiereumbruch", "definiereumrahmt", "definiereumrahmtertext", "definierezeichen", "definierezusammengestellteliste", "drehen", "duennelinie", "duennerumriss", "einezeile", "externeabbildung", "farbbalken", "farbe", "farbewert", "feld", "feldstapel", "festesspatium", "format", "formelnummer", "gefuelltesrechteck", "gefuelltezeile", "gestreckt", "gitter", "graufarbe", "haarlinie", "hauptsprache", "heutigesdatum", "heutigeskopfnummer", "hintergrund", "hoch", "holebeschriftung", "holepuffer", "imumriss", "installieresprache", "interaktionsbalken", "interaktionsknopfe", "interaktionsmenue", "inzeile", "irgendwo", "keinekopfundfusszeilen", "keinspatium", "keinzeilenobenundunten", "klonierefeld", "knopf", "komponente", "konvertierezahl", "kopfnummer", "kopierefeld", "korrigierezwischenraum", "liniendicke", "linksbuendig", "listenlaenge", "mathematik", "menueknopf", "monat", "nachunten", "nokap", "notiz", "passelayoutan", "passendfeld", "platzierebookmarks", "platziereformel", "platzierefussnoten", "platziereliste", "platzierelokalefussnoten", "platzierenebeneinander", "platziereregister", "platziereuntereinander", "platziereunterformel", "platzierezusammengestellteliste", "pos", "posten", "produkt", "programm", "projekt", "punkt", "rechteck", "rechtecke", "rechtsbuendig", "referenz", "referieren", "roemischezahlen", "ruecksetztenbeschriftung", "schreibezurliste", "schreibezwischenliste", "seite", "seitenreferenz", "seitenummer", "settext", "spalte", "spatium", "spiegeln", "sprache", "startfarbe", "starthintergrund", "startinteraktionsmenue", "startkleinerdurchschuss", "startkomponente", "startkopf", "startlinksbuendig", "startmarginallinie", "startplatziereformel", "startpos", "startprodukt", "startprojekt", "startpublikation", "startrechtsbuendig", "starttextlinie", "startumgebung", "startumrahmt", "startzeile", "startzentriert", "startzu", "stelleabsaetzeein", "stelleabsatznummerierungein", "stelleabschnittsblockein", "stelleanordnenein", "stelleaufzaehlungenein", "stelleausrichtungein", "stelleausschnittein", "stellebeschreibungein", "stellebeschriftungein", "stellebilderunterschriftein", "stellebildunterschriftein", "stellebindestrichein", "stelleblankoein", "stelleblockein", "stelledrehenein", "stelleduennerumrissein", "stelleeinziehenein", "stelleengerein", "stellefarbeein", "stellefarbenein", "stellefeldein", "stellefelderin", "stellefliesstextein", "stelleformelnein", "stellefusszeileein", "stellefusszeilentextein", "stellegefuelltesrechteckein", "stellegefuelltezeileein", "stellegegenueberplatzierenein", "stellegleitobjekteein", "stellegleitobjektein", "stellehintergruendeein", "stellehintergrundein", "stelleinteraktionein", "stelleinteraktionsbalkenein", "stelleinteraktionsbildschirmein", "stelleinteraktionsmenueein", "stellekommentarein", "stellekopfzahlein", "stellekopfzeileein", "stellekopfzeilentextein", "stellelayoutein", "stellelinienbreiteein", "stellelisteein", "stellemarginallinieein", "stellenobenein", "stellepaletteein", "stellepapierformatein", "stelleplatziegeteiltegleitobjekt", "stellepositionierenein", "stellepostenein", "stelleprogrammein", "stellepufferein", "stellerechteckein", "stellereferenzierenein", "stelleregisterein", "stelleseitenkommentarein", "stelleseitennummerein", "stelleseitennummeriernungein", "stelleseitenuebergangein", "stellesortierenein", "stellespaltenein", "stellespatiumein", "stellespracheein", "stellesymbolsetein", "stellesynonymein", "stelletabellenein", "stelletabulatorein", "stelletextein", "stelletextobenein", "stelletexttexteein", "stelletextumrissein", "stelletextuntenein", "stelletipein", "stelletippenein", "stelletoleranzein", "stelleueberschriftein", "stelleueberschriftenein", "stelleumbruchein", "stelleumrahmtein", "stelleumrahmtetexteein", "stelleuntenein", "stelleunterseitennummerein", "stelleurlein", "stelleversalienein", "stellezeilenabstandein", "stellezeilenein", "stellezeilennumerierungein", "stellezitierenein", "stellezusammengestelltelisteein", "stellezwischenraumein", "stopfarbe", "stophintergrund", "stopinteraktionsmenue", "stopkleinerdurchschuss", "stopkomponente", "stopkopf", "stoplinksbuendig", "stopmarginallinie", "stopplatziereformel", "stoppos", "stopprodukt", "stopprojekt", "stoppublikation", "stoprechtsbuendig", "stoptextlinie", "stopumgebung", "stopumrahmt", "stopzeile", "stopzentriert", "stopzu", "teilegleitobjekt", "textlinie", "textreferenz", "tief", "tiho", "tip", "tippedatei", "tippen", "tippepuffer", "ueber", "uebersetzten", "umgebung", "umrahmt", "unbekant", "verbergebloecke", "vergleichefarbengruppe", "vergleichepalette", "verwendeJSscript", "verwendeURL", "verwendebloecke", "verwendeexteresdokument", "verwendeexterneabbildung", "verwendeexternestonstueck", "verwendemodul", "verwendesymbole", "verwendeurl", "volleswort", "von", "waehlebloeckeaus", "wechselezumfliesstext", "wochentag", "wortrechts", "zeigedruck", "zeigeeinstellungen", "zeigefarbe", "zeigefarbengruppe", "zeigefliesstext", "zeigefliesstextumgebung", "zeigegitter", "zeigelayout", "zeigepalette", "zeigerahmen", "zeigestruts", "zeigeumbruch", "zentriert", "ziffern", "zu", "zurbox", "zurseite" }, ["en"]={}, diff --git a/context/data/scite/context/lexers/data/scite-context-data-tex.lua b/context/data/scite/context/lexers/data/scite-context-data-tex.lua index c0bce17d4..31cb6e4fb 100644 --- a/context/data/scite/context/lexers/data/scite-context-data-tex.lua +++ b/context/data/scite/context/lexers/data/scite-context-data-tex.lua @@ -1,7 +1,7 @@ return { ["aleph"]={ "Alephminorversion", "Alephrevision", "Alephversion" }, ["etex"]={ "botmarks", "clubpenalties", "currentgrouplevel", "currentgrouptype", "currentifbranch", "currentiflevel", "currentiftype", "detokenize", "dimexpr", "displaywidowpenalties", "eTeXVersion", "eTeXminorversion", "eTeXrevision", "eTeXversion", "everyeof", "firstmarks", "fontchardp", "fontcharht", "fontcharic", "fontcharwd", "glueexpr", "glueshrink", "glueshrinkorder", "gluestretch", "gluestretchorder", "gluetomu", "ifcsname", "ifdefined", "iffontchar", "interactionmode", "interlinepenalties", "lastlinefit", "lastnodetype", "marks", "muexpr", "mutoglue", "numexpr", "pagediscards", "parshapedimen", "parshapeindent", "parshapelength", "predisplaydirection", "protected", "readline", "savinghyphcodes", "savingvdiscards", "scantokens", "showgroups", "showifs", "showtokens", "splitbotmarks", "splitdiscards", "splitfirstmarks", "topmarks", "tracingassigns", "tracinggroups", "tracingifs", "tracingnesting", "tracingscantokens", "unexpanded", "unless", "widowpenalties" }, - ["luatex"]={ "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharnum", "Umathcharnumdef", "Umathcharslot", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathconnectoroverlapmin", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathinnerbinspacing", "Umathinnerclosespacing", "Umathinnerinnerspacing", "Umathinneropenspacing", "Umathinneropspacing", "Umathinnerordspacing", "Umathinnerpunctspacing", "Umathinnerrelspacing", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathnolimitsubfactor", "Umathnolimitsupfactor", "Umathopbinspacing", "Umathopclosespacing", "Umathopenbinspacing", "Umathopenclosespacing", "Umathopeninnerspacing", "Umathopenopenspacing", "Umathopenopspacing", "Umathopenordspacing", "Umathopenpunctspacing", "Umathopenrelspacing", "Umathoperatorsize", "Umathopinnerspacing", "Umathopopenspacing", "Umathopopspacing", "Umathopordspacing", "Umathoppunctspacing", "Umathoprelspacing", "Umathordbinspacing", "Umathordclosespacing", "Umathordinnerspacing", "Umathordopenspacing", "Umathordopspacing", "Umathordordspacing", "Umathordpunctspacing", "Umathordrelspacing", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervgap", "Umathpunctbinspacing", "Umathpunctclosespacing", "Umathpunctinnerspacing", "Umathpunctopenspacing", "Umathpunctopspacing", "Umathpunctordspacing", "Umathpunctpunctspacing", "Umathpunctrelspacing", "Umathquad", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalkern", "Umathradicalrule", "Umathradicalvgap", "Umathrelbinspacing", "Umathrelclosespacing", "Umathrelinnerspacing", "Umathrelopenspacing", "Umathrelopspacing", "Umathrelordspacing", "Umathrelpunctspacing", "Umathrelrelspacing", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Unosubscript", "Unosuperscript", "Uoverdelimiter", "Uradical", "Uroot", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Uunderdelimiter", "Uvextensible", "adjustspacing", "alignmark", "aligntab", "attribute", "attributedef", "automaticdiscretionary", "automatichyphenmode", "automatichyphenpenalty", "begincsname", "bodydir", "bodydirection", "boxdir", "boxdirection", "breakafterdirmode", "catcodetable", "clearmarks", "copyfont", "compoundhyphenmode", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "draftmode", "dviextension", "dvifeedback", "dvivariable", "efcode", "etoksapp", "etokspre", "expanded", "expandglyphsinfont", "explicitdiscretionary", "explicithyphenpenalty", "fontid", "formatname", "gleaders", "hjcode", "hyphenationbounds", "hyphenationmin", "hyphenpenaltymode", "ifabsdim", "ifabsnum", "ifincsname", "ifprimitive", "ignoreligaturesinfont", "initcatcodetable", "insertht", "lastnamedcs", "lastsavedboxresourceindex", "lastsavedimageresourceindex", "lastsavedimageresourcepages", "lastxpos", "lastypos", "latelua", "leftghost", "leftmarginkern", "letcharcode", "letterspacefont", "linedir", "linedirection", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "lpcode", "luaescapestring", "luafunction", "luatexbanner", "luatexrevision", "luatexversion", "mathdelimitersmode", "mathdir", "mathdirection", "mathdisplayskipmode", "matheqnogapstep", "mathitalicsmode", "mathnolimitsmode", "mathoption", "mathpenaltiesmode", "mathrulesfam", "mathrulesmode", "mathscriptsmode", "mathscriptboxmode", "mathstyle", "mathsurroundmode", "mathsurroundskip", "nohrule", "nokerns", "noligs", "normaldeviate", "nospaces", "novrule", "outputbox", "outputmode", "pagebottomoffset", "pagedir", "pagedirection", "pageheight", "pageleftoffset", "pagerightoffset", "pagetopoffset", "pagewidth", "pardir", "pardirection", "pdfextension", "pdffeedback", "pdfvariable", "postexhyphenchar", "posthyphenchar", "prebinoppenalty", "predisplaygapfactor", "preexhyphenchar", "prehyphenchar", "prerelpenalty", "primitive", "protrudechars", "pxdimen", "quitvmode", "randomseed", "rightghost", "rightmarginkern", "rpcode", "saveboxresource", "savecatcodetable", "saveimageresource", "savepos", "scantextokens", "setfontid", "setrandomseed", "shapemode", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressmathparerror", "suppressoutererror", "suppressprimitiveerror", "synctex", "tagcode", "textdir", "textdirection", "toksapp", "tokspre", "tracingfonts", "uniformdeviate", "useboxresource", "useimageresource" }, + ["luatex"]={ "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharnum", "Umathcharnumdef", "Umathcharslot", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathconnectoroverlapmin", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathinnerbinspacing", "Umathinnerclosespacing", "Umathinnerinnerspacing", "Umathinneropenspacing", "Umathinneropspacing", "Umathinnerordspacing", "Umathinnerpunctspacing", "Umathinnerrelspacing", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathnolimitsubfactor", "Umathnolimitsupfactor", "Umathopbinspacing", "Umathopclosespacing", "Umathopenbinspacing", "Umathopenclosespacing", "Umathopeninnerspacing", "Umathopenopenspacing", "Umathopenopspacing", "Umathopenordspacing", "Umathopenpunctspacing", "Umathopenrelspacing", "Umathoperatorsize", "Umathopinnerspacing", "Umathopopenspacing", "Umathopopspacing", "Umathopordspacing", "Umathoppunctspacing", "Umathoprelspacing", "Umathordbinspacing", "Umathordclosespacing", "Umathordinnerspacing", "Umathordopenspacing", "Umathordopspacing", "Umathordordspacing", "Umathordpunctspacing", "Umathordrelspacing", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervgap", "Umathpunctbinspacing", "Umathpunctclosespacing", "Umathpunctinnerspacing", "Umathpunctopenspacing", "Umathpunctopspacing", "Umathpunctordspacing", "Umathpunctpunctspacing", "Umathpunctrelspacing", "Umathquad", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalkern", "Umathradicalrule", "Umathradicalvgap", "Umathrelbinspacing", "Umathrelclosespacing", "Umathrelinnerspacing", "Umathrelopenspacing", "Umathrelopspacing", "Umathrelordspacing", "Umathrelpunctspacing", "Umathrelrelspacing", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Unosubscript", "Unosuperscript", "Uoverdelimiter", "Uradical", "Uroot", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Uunderdelimiter", "Uvextensible", "adjustspacing", "alignmark", "aligntab", "attribute", "attributedef", "automaticdiscretionary", "automatichyphenmode", "automatichyphenpenalty", "begincsname", "bodydir", "bodydirection", "boxdir", "boxdirection", "breakafterdirmode", "catcodetable", "clearmarks", "copyfont", "compoundhyphenmode", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "draftmode", "dviextension", "dvifeedback", "dvivariable", "efcode", "etoksapp", "etokspre", "expanded", "expandglyphsinfont", "explicitdiscretionary", "explicithyphenpenalty", "fontid", "formatname", "gleaders", "hjcode", "hyphenationbounds", "hyphenationmin", "hyphenpenaltymode", "ifabsdim", "ifabsnum", "ifincsname", "ifprimitive", "ignoreligaturesinfont", "initcatcodetable", "insertht", "lastnamedcs", "lastsavedboxresourceindex", "lastsavedimageresourceindex", "lastsavedimageresourcepages", "lastxpos", "lastypos", "latelua", "leftghost", "leftmarginkern", "letcharcode", "letterspacefont", "linedir", "linedirection", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "lpcode", "luaescapestring", "luafunction", "luafunctioncall", "luatexbanner", "luatexrevision", "luatexversion", "mathdelimitersmode", "mathdir", "mathdirection", "mathdisplayskipmode", "matheqnogapstep", "mathitalicsmode", "mathnolimitsmode", "mathoption", "mathpenaltiesmode", "mathrulesfam", "mathrulesmode", "mathscriptsmode", "mathscriptboxmode", "mathstyle", "mathsurroundmode", "mathsurroundskip", "nohrule", "nokerns", "noligs", "normaldeviate", "nospaces", "novrule", "outputbox", "outputmode", "pagebottomoffset", "pagedir", "pagedirection", "pageheight", "pageleftoffset", "pagerightoffset", "pagetopoffset", "pagewidth", "pardir", "pardirection", "pdfextension", "pdffeedback", "pdfvariable", "postexhyphenchar", "posthyphenchar", "prebinoppenalty", "predisplaygapfactor", "preexhyphenchar", "prehyphenchar", "prerelpenalty", "primitive", "protrudechars", "pxdimen", "quitvmode", "randomseed", "rightghost", "rightmarginkern", "rpcode", "saveboxresource", "savecatcodetable", "saveimageresource", "savepos", "scantextokens", "setfontid", "setrandomseed", "shapemode", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressmathparerror", "suppressoutererror", "suppressprimitiveerror", "synctex", "tagcode", "textdir", "textdirection", "toksapp", "tokspre", "tracingfonts", "uniformdeviate", "useboxresource", "useimageresource" }, ["omega"]={ "Omegaminorversion", "Omegarevision", "Omegaversion" }, ["pdftex"]={ "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "pdfadjustspacing", "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit", "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate", "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode", "pdfeachlinedepth", "pdfeachlineheight", "pdfendlink", "pdfendthread", "pdffirstlineheight", "pdffontattr", "pdffontexpand", "pdffontname", "pdffontobjnum", "pdffontsize", "pdfgamma", "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin", "pdfignoreddimen", "pdfignoreunknownimages", "pdfimageaddfilename", "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor", "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts", "pdfinclusionerrorlevel", "pdfinfo", "pdfinfoomitdate", "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink", "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagepages", "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral", "pdfmapfile", "pdfmapline", "pdfmajorversion", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkfixeddpi", "pdfpkmode", "pdfpkresolution", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrefobj", "pdfrefxform", "pdfrefximage", "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos", "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread", "pdfsuppressoptionalinfo", "pdfsuppressptexinfo", "pdftexbanner", "pdftexrevision", "pdftexversion", "pdfthread", "pdfthreadmargin", "pdftracingfonts", "pdftrailer", "pdftrailerid", "pdfuniformdeviate", "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr", "pdfxformmargin", "pdfxformname", "pdfxformresources", "pdfximage" }, ["tex"]={ " ", "-", "/", "Uleft", "Umiddle", "Uright", "above", "abovedisplayshortskip", "abovedisplayskip", "abovewithdelims", "accent", "adjdemerits", "advance", "afterassignment", "aftergroup", "atop", "atopwithdelims", "badness", "baselineskip", "batchmode", "begingroup", "belowdisplayshortskip", "belowdisplayskip", "binoppenalty", "botmark", "boundary", "box", "boxmaxdepth", "brokenpenalty", "catcode", "char", "chardef", "cleaders", "closein", "closeout", "clubpenalty", "copy", "count", "countdef", "cr", "crcr", "csname", "csstring", "day", "deadcycles", "def", "defaulthyphenchar", "defaultskewchar", "delcode", "delimiter", "delimiterfactor", "delimitershortfall", "dimen", "dimendef", "directlua", "discretionary", "displayindent", "displaylimits", "displaystyle", "displaywidowpenalty", "displaywidth", "divide", "doublehyphendemerits", "dp", "dump", "edef", "else", "emergencystretch", "end", "endcsname", "endgroup", "endinput", "endlinechar", "eqno", "errhelp", "errmessage", "errorcontextlines", "errorstopmode", "escapechar", "everycr", "everydisplay", "everyhbox", "everyjob", "everymath", "everypar", "everyvbox", "exhyphenchar", "exhyphenpenalty", "expandafter", "fam", "fi", "finalhyphendemerits", "firstmark", "firstvalidlanguage", "floatingpenalty", "font", "fontdimen", "fontname", "futurelet", "gdef", "global", "globaldefs", "halign", "hangafter", "hangindent", "hbadness", "hbox", "hfil", "hfill", "hfilneg", "hfuzz", "hoffset", "holdinginserts", "hpack", "hrule", "hsize", "hskip", "hss", "ht", "hyphenation", "hyphenchar", "hyphenpenalty", "if", "ifcase", "ifcat", "ifdim", "ifeof", "iffalse", "ifhbox", "ifhmode", "ifinner", "ifmmode", "ifnum", "ifodd", "iftrue", "ifvbox", "ifvmode", "ifvoid", "ifx", "ignorespaces", "immediate", "indent", "input", "inputlineno", "insert", "insertpenalties", "interlinepenalty", "jobname", "kern", "language", "lastbox", "lastkern", "lastpenalty", "lastskip", "lccode", "leaders", "left", "lefthyphenmin", "leftskip", "leqno", "let", "limits", "linepenalty", "lineskip", "lineskiplimit", "long", "looseness", "lower", "lowercase", "mag", "mark", "mathaccent", "mathbin", "mathchar", "mathchardef", "mathchoice", "mathclose", "mathcode", "mathinner", "mathop", "mathopen", "mathord", "mathpunct", "mathrel", "mathsurround", "maxdeadcycles", "maxdepth", "meaning", "medmuskip", "message", "middle", "mkern", "month", "moveleft", "moveright", "mskip", "multiply", "muskip", "muskipdef", "newlinechar", "noalign", "noboundary", "noexpand", "noindent", "nolimits", "nonscript", "nonstopmode", "nulldelimiterspace", "nullfont", "number", "omit", "openin", "openout", "or", "outer", "output", "outputpenalty", "over", "overfullrule", "overline", "overwithdelims", "pagedepth", "pagefilllstretch", "pagefillstretch", "pagefilstretch", "pagegoal", "pageshrink", "pagestretch", "pagetotal", "par", "parfillskip", "parindent", "parshape", "parskip", "patterns", "pausing", "penalty", "postdisplaypenalty", "predisplaypenalty", "predisplaysize", "pretolerance", "prevdepth", "prevgraf", "protrusionboundary", "radical", "raise", "read", "relax", "relpenalty", "right", "righthyphenmin", "rightskip", "romannumeral", "scriptfont", "scriptscriptfont", "scriptscriptstyle", "scriptspace", "scriptstyle", "scrollmode", "setbox", "setlanguage", "sfcode", "shipout", "show", "showbox", "showboxbreadth", "showboxdepth", "showlists", "showthe", "skewchar", "skip", "skipdef", "spacefactor", "spaceskip", "span", "special", "splitbotmark", "splitfirstmark", "splitmaxdepth", "splittopskip", "string", "tabskip", "textfont", "textstyle", "the", "thickmuskip", "thinmuskip", "time", "toks", "toksdef", "tolerance", "topmark", "topskip", "tpack", "tracingcommands", "tracinglostchars", "tracingmacros", "tracingonline", "tracingoutput", "tracingpages", "tracingparagraphs", "tracingrestores", "tracingstats", "uccode", "uchyph", "underline", "unhbox", "unhcopy", "unkern", "unpenalty", "unskip", "unvbox", "unvcopy", "uppercase", "vadjust", "valign", "vbadness", "vbox", "vcenter", "vfil", "vfill", "vfilneg", "vfuzz", "voffset", "vpack", "vrule", "vsize", "vskip", "vsplit", "vss", "vtop", "wd", "widowpenalty", "wordboundary", "write", "xdef", "xleaders", "xspaceskip", "year" }, diff --git a/context/data/scite/context/scite-context-data-context.properties b/context/data/scite/context/scite-context-data-context.properties index acc704051..5c089d489 100644 --- a/context/data/scite/context/scite-context-data-context.properties +++ b/context/data/scite/context/scite-context-data-context.properties @@ -153,76 +153,78 @@ 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 \ -fastloopindex fastloopfinal 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 halflinestrut noheightstrut setstrut \ -strutbox strutht strutdp strutwd struthtdp \ -strutgap begstrut endstrut lineheight leftboundary \ -rightboundary signalcharacter 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 normalnosuperscript normalnosubscript superscript \ -subscript nosuperscript nosubscript 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 lastlinewidth assumelongusagecs \ -Umathbotaccent righttolefthbox lefttorighthbox righttoleftvbox lefttorightvbox \ -righttoleftvtop lefttorightvtop rtlhbox ltrhbox rtlvbox \ -ltrvbox rtlvtop ltrvtop autodirhbox autodirvbox \ -autodirvtop leftorrighthbox leftorrightvbox leftorrightvtop lefttoright \ -righttoleft checkedlefttoright checkedrighttoleft synchronizelayoutdirection synchronizedisplaydirection \ -synchronizeinlinedirection dirlre dirrle dirlro dirrlo \ -lesshyphens morehyphens nohyphens dohyphens Ucheckedstartdisplaymath \ -Ucheckedstopdisplaymath break nobreak allowbreak goodbreak \ -nospace nospacing dospacing naturalhbox naturalvbox \ -naturalvtop naturalhpack naturalvpack frule compoundhyphenpenalty \ -start stop +directdummyparameter setdummyparameter letdummyparameter setexpandeddummyparameter 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 fastloopindex fastloopfinal 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 halflinestrut noheightstrut \ +setstrut strutbox strutht strutdp strutwd \ +struthtdp strutgap begstrut endstrut lineheight \ +leftboundary rightboundary signalcharacter 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 normalnosuperscript normalnosubscript \ +superscript subscript nosuperscript nosubscript 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 installctxfunctioncall \ +installprotectedctxfunction installprotectedctxfunctioncall installctxscanner installctxscannercall resetctxscanner \ +installprotectedctxscanner installprotectedctxscannercall cldprocessfile cldloadfile cldcontext \ +cldcommand carryoverpar lastlinewidth assumelongusagecs Umathbotaccent \ +righttolefthbox lefttorighthbox righttoleftvbox lefttorightvbox righttoleftvtop \ +lefttorightvtop rtlhbox ltrhbox rtlvbox ltrvbox \ +rtlvtop ltrvtop autodirhbox autodirvbox autodirvtop \ +leftorrighthbox leftorrightvbox leftorrightvtop lefttoright righttoleft \ +checkedlefttoright checkedrighttoleft synchronizelayoutdirection synchronizedisplaydirection synchronizeinlinedirection \ +dirlre dirrle dirlro dirrlo lesshyphens \ +morehyphens nohyphens dohyphens Ucheckedstartdisplaymath Ucheckedstopdisplaymath \ +break nobreak allowbreak goodbreak nospace \ +nospacing dospacing naturalhbox naturalvbox naturalvtop \ +naturalhpack naturalvpack frule compoundhyphenpenalty start \ +stop diff --git a/context/data/scite/context/scite-context-data-interfaces.properties b/context/data/scite/context/scite-context-data-interfaces.properties index f1d5344ff..aa5ba4612 100644 --- a/context/data/scite/context/scite-context-data-interfaces.properties +++ b/context/data/scite/context/scite-context-data-interfaces.properties @@ -391,828 +391,828 @@ dosixtupleargument dosixtupleempty dostepwiserecurse dosubtractfeature dot \ doteq doteqdot dotfskip dotlessI dotlessJ \ dotlessi dotlessj dotlessjstroke dotminus dotoks \ dotplus dotripleargument dotripleargumentwithset dotripleempty dotripleemptywithset \ -dotriplegroupempty dots dottedrightarrow doublebar doublebond \ -doublebrace doublebracket doublecap doublecup doubleparent \ -doubleprime doubleverticalbar dowith dowithnextbox dowithnextboxcontent \ -dowithnextboxcontentcs dowithnextboxcs dowithpargument dowithrange dowithwargument \ -downarrow downdasharrow downdownarrows downharpoonleft downharpoonright \ -downuparrows downwhitearrow downzigzagarrow dpofstring dstroke \ -dtail dummydigit dummyparameter dzcaronligature dzligature \ -eTeX eacute ebreve ecaron ecedilla \ -ecircumflex ecircumflexacute ecircumflexdotbelow ecircumflexgrave ecircumflexhook \ -ecircumflextilde edefconvertedargument ediaeresis edotaccent edotbelow \ -edoublegrave efcmaxheight efcmaxwidth efcminheight efcminwidth \ -efcparameter effect egrave ehook einvertedbreve \ -elapsedseconds elapsedtime eleftarrowfill eleftharpoondownfill eleftharpoonupfill \ -eleftrightarrowfill ell em emacron emdash \ -emphasisboldface emphasistypeface emptylines emptyset emquad \ -emspace enabledirectives enableexperiments enablemode enableoutputstream \ -enableparpositions enableregime enabletrackers endash endnote \ -enquad enskip enspace env environment \ -envvar eogonek eoverbarfill eoverbracefill eoverbracketfill \ -eoverparentfill epos epsilon eq eqcirc \ -eqeq eqeqeq eqgtr eqless eqsim \ -eqslantgtr eqslantless equaldigits equalscolon equiv \ -erightarrowfill erightharpoondownfill erightharpoonupfill eta eth \ -ethiopic etilde etwoheadrightarrowfill eunderbarfill eunderbracefill \ -eunderbracketfill eunderparentfill exclamdown executeifdefined exists \ -exitloop exitloopnow expandcheckedcsname expanded expandfontsynonym \ -expdoif expdoifcommonelse expdoifelse expdoifelsecommon expdoifelseinset \ -expdoifinsetelse expdoifnot exponentiale externalfigure externalfigurecollectionmaxheight \ -externalfigurecollectionmaxwidth externalfigurecollectionminheight externalfigurecollectionminwidth externalfigurecollectionparameter fakebox \ -fallingdotseq fastdecrement fastincrement fastlocalframed fastloopfinal \ -fastloopindex fastscale fastsetup fastsetupwithargument fastsetupwithargumentswapped \ -fastswitchtobodyfont fastsxsy feature fence fenced \ -fetchallmarkings fetchallmarks fetchmark fetchmarking fetchonemark \ -fetchonemarking fetchruntinecommand fetchtwomarkings fetchtwomarks ffiligature \ -ffligature fflligature fhook field fieldbody \ -fieldstack fifthoffivearguments fifthofsixarguments figurefilename figurefilepath \ -figurefiletype figurefullname figureheight figurenaturalheight figurenaturalwidth \ -figurespace figuresymbol figurewidth filename filigature \ -filledhboxb filledhboxc filledhboxg filledhboxk filledhboxm \ -filledhboxr filledhboxy filler fillinline fillinrules \ -fillintext filterfromnext filterfromvalue filterpages filterreference \ -findtwopassdata finishregisterentry firstcharacter firstcounter firstcountervalue \ -firstoffivearguments firstoffourarguments firstofoneargument firstofoneunexpanded firstofsixarguments \ -firstofthreearguments firstofthreeunexpanded firstoftwoarguments firstoftwounexpanded firstrealpage \ -firstrealpagenumber firstsubcountervalue firstsubpage firstsubpagenumber firstuserpage \ -firstuserpagenumber fitfield fitfieldframed fittopbaselinegrid fiveeighths \ -fivesixths fixedspace fixedspaces flag flat \ -flligature floatuserdataparameter flushbox flushboxregister flushcollector \ -flushedrightlastline flushlayer flushlocalfloats flushnextbox flushnotes \ -flushoutputstream flushshapebox flushtextflow flushtokens flushtoks \ -fontalternative fontbody fontchar fontcharbyindex fontclass \ -fontclassname fontface fontfeaturelist fontsize fontstyle \ -footnote footnotetext forall forcecharacterstripping forcelocalfloats \ -forgeteverypar forgetparameters forgetragged formula formulanumber \ -foundbox fourfifths fourperemspace fourthoffivearguments fourthoffourarguments \ -fourthofsixarguments frac framed frameddimension framedparameter \ -framedtext freezedimenmacro freezemeasure frenchspacing from \ -fromlinenote frown frozenhbox frule gacute \ -gamma gbreve gcaron gcircumflex gcommaaccent \ -gdefconvertedargument gdefconvertedcommand gdotaccent ge geq \ -geqq geqslant getMPdrawing getMPlayer getboxfromcache \ -getboxllx getboxlly getbuffer getbufferdata getcommacommandsize \ -getcommalistsize getdayoftheweek getdayspermonth getdefinedbuffer getdocumentargument \ -getdocumentargumentdefault getdocumentfilename getdummyparameters getemptyparameters geteparameters \ -getexpandedparameters getfiguredimensions getfirstcharacter getfirsttwopassdata getfromcommacommand \ -getfromcommalist getfromtwopassdata getglyphdirect getglyphstyled getgparameters \ -getlasttwopassdata getlocalfloat getlocalfloats getmarking getmessage \ -getnamedglyphdirect getnamedglyphstyled getnamedtwopassdatalist getnaturaldimensions getnoflines \ -getobject getobjectdimensions getpaletsize getparameters getprivatechar \ -getprivateslot getrandomcount getrandomdimen getrandomfloat getrandomnumber \ -getrandomseed getraweparameters getrawgparameters getrawnoflines getrawparameters \ -getrawxparameters getreference getreferenceentry getroundednoflines gets \ -getsubstring gettwopassdata gettwopassdatalist getuvalue getvalue \ -getvariable getvariabledefault getxparameters gg ggg \ -gggtr gimel globaldisablemode globalenablemode globalletempty \ -globalpopbox globalpopmacro globalpreventmode globalprocesscommalist globalpushbox \ -globalpushmacro globalswapcounts globalswapdimens globalswapmacros globalundefine \ -glyphfontfile gnapprox gneqq gnsim gobbledoubleempty \ -gobbleeightarguments gobblefivearguments gobblefiveoptionals gobblefourarguments gobblefouroptionals \ -gobbleninearguments gobbleoneargument gobbleoneoptional gobblesevenarguments gobblesingleempty \ -gobblesixarguments gobblespacetokens gobbletenarguments gobblethreearguments gobblethreeoptionals \ -gobbletwoarguments gobbletwooptionals gobbleuntil gobbleuntilrelax godown \ -goto gotobox gotopage grabbufferdata grabbufferdatadirect \ -grabuntil grave graycolor grayvalue greedysplitstring \ -greekAlpha greekAlphadasia greekAlphadasiaperispomeni greekAlphadasiatonos greekAlphadasiavaria \ -greekAlphaiotasub greekAlphaiotasubdasia greekAlphaiotasubdasiaperispomeni greekAlphaiotasubdasiatonos greekAlphaiotasubdasiavaria \ -greekAlphaiotasubpsili greekAlphaiotasubpsiliperispomeni greekAlphaiotasubpsilitonos greekAlphaiotasubpsilivaria greekAlphamacron \ -greekAlphapsili greekAlphapsiliperispomeni greekAlphapsilitonos greekAlphapsilivaria greekAlphatonos \ -greekAlphavaria greekAlphavrachy greekBeta greekChi greekCoronis \ -greekDelta greekEpsilon greekEpsilondasia greekEpsilondasiatonos greekEpsilondasiavaria \ -greekEpsilonpsili greekEpsilonpsilitonos greekEpsilonpsilivaria greekEpsilontonos greekEpsilonvaria \ -greekEta greekEtadasia greekEtadasiaperispomeni greekEtadasiatonos greekEtadasiavaria \ -greekEtaiotasub greekEtaiotasubdasia greekEtaiotasubdasiaperispomeni greekEtaiotasubdasiatonos greekEtaiotasubdasiavaria \ -greekEtaiotasubpsili greekEtaiotasubpsiliperispomeni greekEtaiotasubpsilitonos greekEtaiotasubpsilivaria greekEtapsili \ -greekEtapsiliperispomeni greekEtapsilitonos greekEtapsilivaria greekEtatonos greekEtavaria \ -greekGamma greekIota greekIotadasia greekIotadasiaperispomeni greekIotadasiatonos \ -greekIotadasiavaria greekIotadialytika greekIotamacron greekIotapsili greekIotapsiliperispomeni \ -greekIotapsilitonos greekIotapsilivaria greekIotatonos greekIotavaria greekIotavrachy \ -greekKappa greekLambda greekMu greekNu greekOmega \ -greekOmegadasia greekOmegadasiaperispomeni greekOmegadasiatonos greekOmegadasiavaria greekOmegaiotasub \ -greekOmegaiotasubdasia greekOmegaiotasubdasiaperispomeni greekOmegaiotasubdasiatonos greekOmegaiotasubdasiavaria greekOmegaiotasubpsili \ -greekOmegaiotasubpsiliperispomeni greekOmegaiotasubpsilitonos greekOmegaiotasubpsilivaria greekOmegapsili greekOmegapsiliperispomeni \ -greekOmegapsilitonos greekOmegapsilivaria greekOmegatonos greekOmegavaria greekOmicron \ -greekOmicrondasia greekOmicrondasiatonos greekOmicrondasiavaria greekOmicronpsili greekOmicronpsilitonos \ -greekOmicronpsilivaria greekOmicrontonos greekOmicronvaria greekPhi greekPi \ -greekPsi greekRho greekRhodasia greekSigma greekSigmalunate \ -greekTau greekTheta greekUpsilon greekUpsilondasia greekUpsilondasiaperispomeni \ -greekUpsilondasiatonos greekUpsilondasiavaria greekUpsilondialytika greekUpsilonmacron greekUpsilontonos \ -greekUpsilonvaria greekUpsilonvrachy greekXi greekZeta greekalpha \ -greekalphadasia greekalphadasiaperispomeni greekalphadasiatonos greekalphadasiavaria greekalphaiotasub \ -greekalphaiotasubdasia greekalphaiotasubdasiaperispomeni greekalphaiotasubdasiatonos greekalphaiotasubdasiavaria greekalphaiotasubperispomeni \ -greekalphaiotasubpsili greekalphaiotasubpsiliperispomeni greekalphaiotasubpsilitonos greekalphaiotasubpsilivaria greekalphaiotasubtonos \ -greekalphaiotasubvaria greekalphamacron greekalphaoxia greekalphaperispomeni greekalphapsili \ -greekalphapsiliperispomeni greekalphapsilitonos greekalphapsilivaria greekalphatonos greekalphavaria \ -greekalphavrachy greekbeta greekchi greekdasia greekdasiaperispomeni \ -greekdasiatonos greekdasiavaria greekdelta greekdialytikaperispomeni greekdialytikatonos \ -greekdialytikavaria greekdigamma greekepsilon greekepsilonalt greekepsilondasia \ -greekepsilondasiatonos greekepsilondasiavaria greekepsilonoxia greekepsilonpsili greekepsilonpsilitonos \ -greekepsilonpsilivaria greekepsilontonos greekepsilonvaria greeketa greeketadasia \ -greeketadasiaperispomeni greeketadasiatonos greeketadasiavaria greeketaiotasub greeketaiotasubdasia \ -greeketaiotasubdasiaperispomeni greeketaiotasubdasiatonos greeketaiotasubdasiavaria greeketaiotasubperispomeni greeketaiotasubpsili \ -greeketaiotasubpsiliperispomeni greeketaiotasubpsilitonos greeketaiotasubpsilivaria greeketaiotasubtonos greeketaiotasubvaria \ -greeketaoxia greeketaperispomeni greeketapsili greeketapsiliperispomeni greeketapsilitonos \ -greeketapsilivaria greeketatonos greeketavaria greekfinalsigma greekgamma \ -greekiota greekiotadasia greekiotadasiaperispomeni greekiotadasiatonos greekiotadasiavaria \ -greekiotadialytika greekiotadialytikaperispomeni greekiotadialytikatonos greekiotadialytikavaria greekiotamacron \ -greekiotaoxia greekiotaperispomeni greekiotapsili greekiotapsiliperispomeni greekiotapsilitonos \ -greekiotapsilivaria greekiotatonos greekiotavaria greekiotavrachy greekkappa \ -greekkoppa greeklambda greekmu greeknu greeknumerals \ -greeknumkoppa greekomega greekomegadasia greekomegadasiaperispomeni greekomegadasiatonos \ -greekomegadasiavaria greekomegaiotasub greekomegaiotasubdasia greekomegaiotasubdasiaperispomeni greekomegaiotasubdasiatonos \ -greekomegaiotasubdasiavaria greekomegaiotasubperispomeni greekomegaiotasubpsili greekomegaiotasubpsiliperispomeni greekomegaiotasubpsilitonos \ -greekomegaiotasubpsilivaria greekomegaiotasubtonos greekomegaiotasubvaria greekomegaoxia greekomegaperispomeni \ -greekomegapsili greekomegapsiliperispomeni greekomegapsilitonos greekomegapsilivaria greekomegatonos \ -greekomegavaria greekomicron greekomicrondasia greekomicrondasiatonos greekomicrondasiavaria \ -greekomicronoxia greekomicronpsili greekomicronpsilitonos greekomicronpsilivaria greekomicrontonos \ -greekomicronvaria greekoxia greekperispomeni greekphi greekphialt \ -greekpi greekpialt greekprosgegrammeni greekpsi greekpsili \ -greekpsiliperispomeni greekpsilitonos greekpsilivaria greekrho greekrhoalt \ -greekrhodasia greekrhopsili greeksampi greeksigma greeksigmalunate \ -greekstigma greektau greektheta greekthetaalt greektonos \ -greekupsilon greekupsilondasia greekupsilondasiaperispomeni greekupsilondasiatonos greekupsilondasiavaria \ -greekupsilondiaeresis greekupsilondialytikaperispomeni greekupsilondialytikatonos greekupsilondialytikavaria greekupsilonmacron \ -greekupsilonoxia greekupsilonperispomeni greekupsilonpsili greekupsilonpsiliperispomeni greekupsilonpsilitonos \ -greekupsilonpsilivaria greekupsilontonos greekupsilonvaria greekupsilonvrachy greekvaria \ -greekxi greekzeta grid groupedcommand gsetboxllx \ -gsetboxlly gstroke gt gtrapprox gtrdot \ -gtreqless gtreqqless gtrless gtrsim guilsingleleft \ -guilsingleright gujaratinumerals gurmurkhinumerals hairline hairspace \ -halflinestrut halfstrut halfwaybox handletokens handwritten \ -hangul hanzi hash hat hbar \ -hboxofvbox hboxreference hcaron hcircumflex hdofstring \ -headhbox headlanguage headnumber headnumbercontent headnumberdistance \ -headnumberwidth headreferenceattributes headsetupspacing headtext headtextcontent \ -headtextdistance headtexts headtextwidth headvbox headwidth \ -heartsuit hebrewAlef hebrewAyin hebrewBet hebrewDalet \ -hebrewGimel hebrewHe hebrewHet hebrewKaf hebrewKaffinal \ -hebrewLamed hebrewMem hebrewMemfinal hebrewNun hebrewNunfinal \ -hebrewPe hebrewPefinal hebrewQof hebrewResh hebrewSamekh \ -hebrewShin hebrewTav hebrewTet hebrewTsadi hebrewTsadifinal \ -hebrewVav hebrewYod hebrewZayin heightanddepthofstring heightofstring \ -heightspanningtext helptext hglue hiddenbar hiddencitation \ -hiddencite hideblocks high highlight highordinalstr \ -hilo himilo hl hookleftarrow hookrightarrow \ -horizontalgrowingbar horizontalpositionbar hphantom hpos hsizefraction \ -hslash hsmash hsmashbox hsmashed hspace \ -hstroke htdpofstring htofstring hyphen hyphenatedcoloredword \ -hyphenatedfile hyphenatedfilename hyphenatedhbox hyphenatedpar hyphenatedurl \ -hyphenatedword iacute ibox ibreve icaron \ -icircumflex ideographichalffillspace ideographicspace idiaeresis idotaccent \ -idotbelow idoublegrave ifassignment iff ifinobject \ -ifinoutputstream ifparameters iftrialtypesetting ignoreimplicitspaces ignorevalue \ -igrave ihook iiiint iiiintop iiint \ -iiintop iint iintop iinvertedbreve ijligature \ -imacron imaginaryi imaginaryj imath immediatesavetwopassdata \ -impliedby implies imply in includemenu \ -includeversioninfo increment incrementcounter incrementedcounter incrementpagenumber \ -incrementsubpagenumber incrementvalue indentation index infofont \ -infofontbold inframed infty infull inheritparameter \ -inhibitblank ininner ininneredge ininnermargin initializeboxstack \ -inleft inleftedge inleftmargin inline inlinebuffer \ -inlinedbox inlinemath inlinemathematics inlinemessage inlineordisplaymath \ -inlineprettyprintbuffer inlinerange inmargin inmframed innerflushshapebox \ -inother inouter inouteredge inoutermargin input \ -inputfilebarename inputfilename inputfilerealsuffix inputfilesuffix inputgivenfile \ -inright inrightedge inrightmargin insertpages installactionhandler \ -installactivecharacter installanddefineactivecharacter installattributestack installautocommandhandler installautosetuphandler \ -installbasicautosetuphandler installbasicparameterhandler installbottomframerenderer installcommandhandler installcorenamespace \ -installdefinehandler installdefinitionset installdefinitionsetmember installdirectcommandhandler installdirectparameterhandler \ -installdirectparametersethandler installdirectsetuphandler installdirectstyleandcolorhandler installframedautocommandhandler installframedcommandhandler \ -installlanguage installleftframerenderer installnamespace installoutputroutine installpagearrangement \ -installparameterhandler installparameterhashhandler installparametersethandler installparentinjector installrightframerenderer \ -installrootparameterhandler installsetuphandler installsetuponlycommandhandler installshipoutmethod installsimplecommandhandler \ -installsimpleframedcommandhandler installstyleandcolorhandler installswitchcommandhandler installswitchsetuphandler installtexdirective \ -installtextracker installtopframerenderer installunitsseparator installunitsspace installversioninfo \ -int intclockwise integerrounding integers interactionbar \ -interactionbuttons interactionmenu intercal intertext intop \ -invisibletimes invokepageheandler iogonek iota istltdir \ -istrtdir italic italicbold italiccorrection italicface \ -item items itemtag itilde jcaron \ -jcircumflex jmath jobfilename jobfilesuffix kap \ -kappa kcaron kcommaaccent keepblocks keeplinestogether \ -keepunwantedspaces kerncharacters khook kkra koreancirclenumerals \ -koreannumerals koreannumeralsc koreannumeralsp koreanparentnumerals lVert \ -labellanguage labeltext labeltexts lacute lambda \ -lambdabar land langle language languageCharacters \ -languagecharacters languagecharwidth lastcounter lastcountervalue lastdigit \ -lastlinewidth lastnaturalboxdp lastnaturalboxht lastnaturalboxwd lastpredefinedsymbol \ -lastrealpage lastrealpagenumber lastsubcountervalue lastsubpage lastsubpagenumber \ -lasttwodigits lastuserpage lastuserpagenumber lateluacode latin \ -layeredtext layerheight layerwidth lazysavetaggedtwopassdata lazysavetwopassdata \ -lbar lbox lbrace lbracket lcaron \ -lceil lcommaaccent lcurl ldotmiddle ldotp \ -ldots le leadsto left leftaligned \ -leftarrow leftarrowtail leftarrowtriangle leftbottombox leftbox \ -leftdasharrow leftguillemot leftharpoondown leftharpoonup lefthbox \ -leftheadtext leftlabeltext leftleftarrows leftline leftmathlabeltext \ -leftorrighthbox leftorrightvbox leftorrightvtop leftrightarrow leftrightarrows \ -leftrightarrowtriangle leftrightharpoons leftrightsquigarrow leftskipadaption leftsquigarrow \ -leftsubguillemot leftthreetimes lefttopbox lefttoright lefttorighthbox \ -lefttorightvbox lefttorightvtop leftwavearrow leftwhitearrow leq \ -leqq leqslant lessapprox lessdot lesseqgtr \ -lesseqqgtr lessgtr lesssim letbeundefined letcatcodecommand \ -letcscsname letcsnamecs letcsnamecsname letdummyparameter letempty \ -letgvalue letgvalueempty letgvalurelax letterampersand letterat \ -letterbackslash letterbar letterbgroup letterclosebrace lettercolon \ -letterdollar letterdoublequote letteregroup letterescape letterexclamationmark \ -letterhash letterhat letterleftbrace letterleftbracket letterleftparenthesis \ -letterless lettermore letteropenbrace letterpercent letterquestionmark \ -letterrightbrace letterrightbracket letterrightparenthesis lettersinglequote letterslash \ -letterspacing lettertilde letterunderscore letvalue letvalueempty \ -letvaluerelax lfence lfloor lgroup lhbox \ -lhooknwarrow lhooksearrow limitatefirstline limitatelines limitatetext \ -line linefeed linenote linespanningtext linethickness \ -linterval listcitation listcite listlength listnamespaces \ -ljligature ll llangle llap llbracket \ -llcorner lll llless lmoustache lnapprox \ -lneq lneqq lnot lnsim loadanyfile \ -loadanyfileonce loadbtxdefinitionfile loadbtxreplacementfile loadcldfile loadcldfileonce \ -loadfontgoodies loadluafile loadluafileonce loadspellchecklist loadtexfile \ -loadtexfileonce loadtypescriptfile localframed localframedwithsettings localhsize \ -localpopbox localpopmacro localpushbox localpushmacro localundefine \ -locatedfilepath locatefilepath locfilename logo lohi \ -lointerval lomihi longleftarrow longleftrightarrow longmapsfrom \ -longmapsto longrightarrow longrightsquigarrow looparrowleft looparrowright \ -lor low lowerbox lowercased lowercasestring \ -lowerleftdoubleninequote lowerleftsingleninequote lowerrightdoubleninequote lowerrightsingleninequote lozenge \ -lparent lrcorner lrointerval lrtbbox lstroke \ -lt ltimes ltop luaTeX luacode \ -luaconditional luaenvironment luaexpanded luaexpr luafunction \ -luajitTeX luamajorversion luaminorversion luaparameterset luasetup \ -luaversion lvert m mLeftarrow mLeftrightarrow \ -mRightarrow mainlanguage makecharacteractive makerawcommalist makestrutofbox \ -maltese mapfontsize mapsdown mapsfrom mapsto \ -mapsup margindata margintext markcontent marking \ -markinjector markpage mat math mathampersand \ -mathbf mathbi mathblackboard mathbs mathdefault \ -mathdollar mathdouble mathematics mathfraktur mathfunction \ -mathhash mathhyphen mathit mathitalic mathlabellanguage \ -mathlabeltext mathlabeltexts mathop mathover mathpercent \ -mathrm mathscript mathsl mathss mathtext \ -mathtextbf mathtextbi mathtextbs mathtextit mathtextsl \ -mathtexttf mathtf mathtriplet mathtt mathunder \ -mathupright mathword mathwordbf mathwordbi mathwordbs \ -mathwordit mathwordsl mathwordtf maxaligned mbox \ -mcframed measure measured measuredangle measuredeq \ -medskip medspace menubutton mequal message \ -metaTeX mfence mframed mfunction mfunctionlabeltext \ -mhbox mho mhookleftarrow mhookrightarrow mid \ -midaligned middle middlealigned middlebox midhbox \ -midsubsentence minimalhbox minus minuscolon mirror \ -mixedcaps mkvibuffer mleftarrow mleftharpoondown mleftharpoonup \ -mleftrightarrow mleftrightharpoons mmapsto models moduleparameter \ -molecule mono monobold mononormal month \ -monthlong monthshort mp mprandomnumber mrel \ -mrightarrow mrightharpoondown mrightharpoonup mrightleftharpoons mrightoverleftarrow \ -mtext mtriplerel mtwoheadleftarrow mtwoheadrightarrow mu \ -multimap nHdownarrow nHuparrow nLeftarrow nLeftrightarrow \ -nRightarrow nVDash nVdash nVleftarrow nVleftrightarrow \ -nVrightarrow nabla nacute namedheadnumber namedstructureheadlocation \ -namedstructureuservariable namedstructurevariable namedtaggedlabeltexts napostrophe napprox \ -napproxEq narrownobreakspace nasymp natural naturalhbox \ -naturalhpack naturalnumbers naturalvbox naturalvcenter naturalvpack \ -naturalvtop naturalwd ncaron ncommaaccent ncong \ -ncurl ndivides ne nearrow neg \ -negatecolorbox negated negativesign negthinspace neng \ -neq nequiv neswarrow newattribute newcatcodetable \ -newcounter newevery newfrenchspacing newmode newsignal \ -newsystemmode nexists nextbox nextboxdp nextboxht \ -nextboxhtdp nextboxwd nextcounter nextcountervalue nextdepth \ -nextparagraphs nextrealpage nextrealpagenumber nextsubcountervalue nextsubpage \ -nextsubpagenumber nextuserpage nextuserpagenumber ngeq ngrave \ -ngtr ngtrless ngtrsim ni nihongo \ -nin njligature nleftarrow nleftrightarrow nleq \ -nless nlessgtr nlesssim nmid nni \ -nobar nobreakspace nocap nocitation nocite \ -nodetostring noffigurepages noflines noflocalfloats noheaderandfooterlines \ -noheightstrut noindentation noitem nonfrenchspacing nonmathematics \ -normal normalboldface normalframedwithsettings normalitalicface normalizebodyfontsize \ -normalizedfontsize normalizefontdepth normalizefontheight normalizefontline normalizefontwidth \ -normalizetextdepth normalizetextheight normalizetextline normalizetextwidth normalslantedface \ -normaltypeface nospace not note notesymbol \ -notin notopandbottomlines notragged nowns nparallel \ -nprec npreccurlyeq nrightarrow nsim nsimeq \ -nsqsubseteq nsqsupseteq nsubset nsubseteq nsucc \ -nsucccurlyeq nsupset nsupseteq ntilde ntimes \ -ntriangleleft ntrianglelefteq ntriangleright ntrianglerighteq nu \ -numberofpoints numbers nvDash nvdash nvleftarrow \ -nvleftrightarrow nvrightarrow nwarrow nwsearrow oacute \ -obeydepth objectdepth objectheight objectmargin objectwidth \ -obox obreve ocaron ocircumflex ocircumflexacute \ -ocircumflexdotbelow ocircumflexgrave ocircumflexhook ocircumflextilde odiaeresis \ -odiaeresismacron odot odotaccent odotaccentmacron odotbelow \ -odoublegrave oeligature offset offsetbox ograve \ -ohm ohook ohorn ohornacute ohorndotbelow \ -ohorngrave ohornhook ohorntilde ohungarumlaut oiiint \ -oiint oint ointclockwise ointctrclockwise oinvertedbreve \ -omacron omega omicron ominus onedigitrounding \ -oneeighth onefifth onehalf onequarter onesixth \ -onesuperior onethird oogonek oogonekmacron operatorlanguage \ -operatortext oplus ordfeminine ordinaldaynumber ordinalstr \ -ordmasculine ornamenttext oslash ostroke ostrokeacute \ -otilde otildemacron otimes outputfilename outputstreambox \ -outputstreamcopy outputstreamunvbox outputstreamunvcopy over overbar \ -overbars overbarunderbar overbrace overbraceunderbrace overbracket \ -overbracketunderbracket overlaybutton overlaycolor overlaydepth overlayfigure \ -overlayheight overlaylinecolor overlaylinewidth overlayoffset overlayrollbutton \ -overlaywidth overleftarrow overloaderror overparent overparentunderparent \ -overrightarrow overset overstrike overstrikes owns \ -page pagearea pagebreak pagefigure pagegridspanwidth \ -pageinjection pagenumber pagereference pagestaterealpage paletsize \ -paragraphmark parallel part partial pdfTeX \ -pdfactualtext pdfbackendactualtext pdfbackendcurrentresources pdfbackendsetcatalog pdfbackendsetcolorspace \ -pdfbackendsetextgstate pdfbackendsetinfo pdfbackendsetname pdfbackendsetpageattribute pdfbackendsetpageresource \ -pdfbackendsetpagesattribute pdfbackendsetpattern pdfbackendsetshade pdfcolor pdfeTeX \ -percent percentdimen periodcentered periods permitcaretescape \ -permitcircumflexescape permitspacesbetweengroups perp persiandecimals persiandecimalseparator \ -persiannumerals persianthousandsseparator perthousand phantom phantombox \ -phi phook pi pickupgroupedcommand pitchfork \ -placeattachments placebookmarks placebtxrendering placechemical placecitation \ -placecombinedlist placecomments placecontent placecurrentformulanumber placedbox \ -placefigure placefloat placefloatwithsetups placefootnotes placeformula \ -placeframed placegraphic placeheadnumber placeheadtext placehelp \ -placeindex placeinitial placeintermezzo placelayer placelayeredtext \ -placelegend placelist placelistofabbreviations placelistofchemicals placelistoffigures \ -placelistofgraphics placelistofintermezzi placelistoflogos placelistofpublications placelistofsorts \ -placelistofsynonyms placelistoftables placelocalfootnotes placelocalnotes placement \ -placenamedfloat placenamedformula placenotes placeongrid placeontopofeachother \ -placepagenumber placepairedbox placeparallel placerawlist placeregister \ -placerenderingwindow placesidebyside placesubformula placetable pm \ -popattribute popmacro popmode popsystemmode position \ -positionoverlay positionregionoverlay positivesign postponenotes prec \ -precapprox preccurlyeq preceq preceqq precnapprox \ -precneq precneqq precnsim precsim predefinedfont \ -predefinefont predefinesymbol prefixedpagenumber prefixlanguage prefixtext \ -prependetoks prependgvalue prependtocommalist prependtoks prependtoksonce \ -prependvalue presetbtxlabeltext presetdocument presetfieldsymbols presetheadtext \ -presetlabeltext presetmathlabeltext presetoperatortext presetprefixtext presetsuffixtext \ -presettaglabeltext presetunittext pretocommalist prettyprintbuffer prevcounter \ -prevcountervalue preventmode prevrealpage prevrealpagenumber prevsubcountervalue \ -prevsubpage prevsubpagenumber prevuserpage prevuserpagenumber prime \ -primes procent processMPbuffer processMPfigurefile processaction \ -processallactionsinset processassignlist processassignmentcommand processassignmentlist processbetween \ -processblocks processbodyfontenvironmentlist processcolorcomponents processcommacommand processcommalist \ -processcommalistwithparameters processcontent processfile processfilemany processfilenone \ -processfileonce processfirstactioninset processisolatedchars processisolatedwords processlinetablebuffer \ -processlinetablefile processlist processmonth processranges processseparatedlist \ -processtexbuffer processtokens processuntil processxtablebuffer processyear \ -prod product profiledbox profilegivenbox program \ -project propto pseudoMixedCapped pseudoSmallCapped pseudoSmallcapped \ -pseudosmallcapped psi punctuationspace purenumber pushattribute \ -pushbutton pushmacro pushmode pushoutputstream pushsystemmode \ -putboxincache putnextboxincache qquad quad quadrupleprime \ -quads quarterstrut questiondown questionedeq quitcommalist \ -quitprevcommalist quittypescriptscanning quotation quote quotedbl \ -quotedblbase quotedblleft quotedblright quoteleft quoteright \ -quotesingle quotesinglebase rVert racute raggedbottom \ -raggedcenter raggedleft raggedright raggedwidecenter raisebox \ -randomizetext randomnumber rangle rationals rawcounter \ -rawcountervalue rawdate rawdoifelseinset rawdoifinset rawdoifinsetelse \ -rawgetparameters rawprocessaction rawprocesscommacommand rawprocesscommalist rawstructurelistuservariable \ -rawsubcountervalue rbox rbrace rbracket rcaron \ -rceil rcommaaccent rdoublegrave readfile readfixfile \ -readjobfile readlocfile readsetfile readsysfile readtexfile \ -readxmlfile realSmallCapped realSmallcapped realpagenumber reals \ -realsmallcapped recursedepth recurselevel recursestring redoconvertfont \ -ref reference referenceprefix referring registerattachment \ -registerctxluafile registered registerexternalfigure registerfontclass registerhyphenationexception \ -registerhyphenationpattern registermenubuttons registersort registersynonym registerunit \ -regular relatemarking relateparameterhandlers relaxvalueifundefined relbar \ -remainingcharacters remark removebottomthings removedepth removefromcommalist \ -removelastskip removelastspace removemarkedcontent removepunctuation removesubstring \ -removetoks removeunwantedspaces replacefeature replaceincommalist replaceword \ -rescan rescanwithsetup resetMPdrawing resetMPenvironment resetMPinstance \ -resetallattributes resetandaddfeature resetbar resetboxesincache resetbreakpoints \ -resetbuffer resetcharacteralign resetcharacterkerning resetcharacterspacing resetcharacterstripping \ -resetcollector resetcounter resetdigitsmanipulation resetdirection resetfeature \ -resetflag resetfontcolorsheme resetfontfallback resetfontsolution resethyphenationfeatures \ -resetinjector resetinteractionmenu resetitaliccorrection resetlayer resetlocalfloats \ -resetmarker resetmarking resetmode resetpagenumber resetparallel \ -resetpath resetpenalties resetprofile resetrecurselevel resetreference \ -resetreplacement resetscript resetsetups resetshownsynonyms resetsubpagenumber \ -resetsymbolset resetsystemmode resettimer resettrackers resettrialtypesetting \ -resetusedsortings resetusedsynonyms resetuserpagenumber resetvalue resetvisualizers \ -reshapebox resolvedglyphdirect resolvedglyphstyled restartcounter restorebox \ -restorecatcodes restorecounter restorecurrentattributes restoreendofline restoreglobalbodyfont \ -restriction reusableMPgraphic reuseMPgraphic reuserandomseed reverseddoubleprime \ -reversedprime reversedtripleprime revivefeature rfence rfloor \ -rgroup rhbox rho rhooknearrow rhookswarrow \ -right rightaligned rightangle rightarrow rightarrowbar \ -rightarrowtail rightarrowtriangle rightbottombox rightbox rightdasharrow \ -rightguillemot rightharpoondown rightharpoonup righthbox rightheadtext \ -rightlabeltext rightleftarrows rightleftharpoons rightline rightmathlabeltext \ -rightorleftpageaction rightrightarrows rightskipadaption rightsquigarrow rightsubguillemot \ -rightthreearrows rightthreetimes righttoleft righttolefthbox righttoleftvbox \ -righttoleftvtop righttopbox rightwavearrow rightwhitearrow ring \ -rinterval rinvertedbreve risingdotseq rlap rlointerval \ -rmoustache rneq robustaddtocommalist robustdoifelseinset robustdoifinsetelse \ -robustpretocommalist rointerval rollbutton roman romanC \ -romanD romanI romanII romanIII romanIV \ -romanIX romanL romanM romanV romanVI \ -romanVII romanVIII romanX romanXI romanXII \ -romanc romand romani romanii romaniii \ -romaniv romanix romanl romanm romannumerals \ -romanv romanvi romanvii romanviii romanx \ -romanxi romanxii rootradical rotate rparent \ -rrangle rrbracket rrointerval rtimes rtop \ -ruledhbox ruledhpack ruledmbox ruledtopv ruledtpack \ -ruledvbox ruledvpack ruledvtop runMPbuffer runninghbox \ -rvert sacute safechar samplefile sans \ -sansbold sansnormal sansserif savebox savebtxdataset \ -savebuffer savecounter savecurrentattributes savenormalmeaning savetaggedtwopassdata \ -savetwopassdata sbox scale scaron scedilla \ -schwa schwahook scircumflex scommaaccent screen \ -searrow secondoffivearguments secondoffourarguments secondofsixarguments secondofthreearguments \ -secondofthreeunexpanded secondoftwoarguments secondoftwounexpanded section sectionmark \ -seeindex select selectblocks serializecommalist serializedcommalist \ -serif serifbold serifnormal setJSpreamble setMPlayer \ -setMPpositiongraphic setMPpositiongraphicrange setMPtext setMPvariable setMPvariables \ -setbar setbigbodyfont setboxllx setboxlly setbreakpoints \ -setcapstrut setcatcodetable setcharacteralign setcharactercasing setcharactercleaning \ -setcharacterkerning setcharacterspacing setcharacterstripping setcharstrut setcollector \ -setcolormodell setcounter setcounterown setcurrentfontclass setdataset \ -setdefaultpenalties setdigitsmanipulation setdirection setdocumentargument setdocumentargumentdefault \ -setdocumentfilename setdummyparameter setelementexporttag setemeasure setevalue \ -setevariable setevariables setfirstline setflag setfont \ -setfontcolorsheme setfontfeature setfontsolution setfontstrut setgmeasure \ -setgvalue setgvariable setgvariables sethboxregister sethyphenatedurlafter \ -sethyphenatedurlbefore sethyphenatedurlnormal sethyphenationfeatures setinitial setinjector \ -setinteraction setinterfacecommand setinterfaceconstant setinterfaceelement setinterfacemessage \ -setinterfacevariable setinternalrendering setitaliccorrection setlayer setlayerframed \ -setlayertext setlinefiller setlocalhsize setmainbodyfont setmainparbuilder \ -setmarker setmarking setmathstyle setmeasure setmessagetext \ -setminus setmode setnostrut setnote setnotetext \ -setobject setoldstyle setpagegrid setpagereference setpagestate \ -setpagestaterealpageno setpenalties setpercentdimen setposition setpositionbox \ -setpositiondata setpositiondataplus setpositiononly setpositionplus setpositionstrut \ -setprofile setrandomseed setreference setreferencedobject setregisterentry \ -setreplacement setrigidcolumnbalance setrigidcolumnhsize setscript setsectionblock \ -setsimplecolumnhsize setsmallbodyfont setsmallcaps setstackbox setstructurepageregister \ -setstrut setsuperiors setsystemmode settabular settaggedmetadata \ -settextcontent settightobject settightreferencedobject settightunreferencedobject settrialtypesetting \ -setuevalue setugvalue setunreferencedobject setup setupMPgraphics \ -setupMPinstance setupMPpage setupMPvariables setupTABLE setupTEXpage \ -setupalign setupalternativestyles setuparranging setupattachment setupattachments \ -setupbackend setupbackground setupbackgrounds setupbar setupbars \ -setupblackrules setupblank setupbleeding setupblock setupbodyfont \ -setupbookmark setupbottom setupbottomtexts setupbtx setupbtxdataset \ -setupbtxlabeltext setupbtxlist setupbtxregister setupbtxrendering setupbuffer \ -setupbutton setupcapitals setupcaption setupcaptions setupcharacterkerning \ -setupcharacterspacing setupchemical setupchemicalframed setupclipping setupcollector \ -setupcolor setupcolors setupcolumns setupcolumnspan setupcombination \ -setupcombinedlist setupcomment setupcontent setupcounter setupdataset \ -setupdelimitedtext setupdescription setupdirections setupdocument setupeffect \ -setupenumeration setupenumerations setupenv setupexport setupexternalfigure \ -setupexternalsoundtracks setupfield setupfieldbody setupfieldcategory setupfieldcontentframed \ -setupfieldlabelframed setupfields setupfieldtotalframed setupfiller setupfillinlines \ -setupfillinrules setupfirstline setupfittingpage setupfloat setupfloatcaption \ -setupfloats setupfloatsplitting setupfontexpansion setupfontprotrusion setupfonts \ -setupfontsolution setupfooter setupfootertexts setupforms setupformula \ -setupformulae setupformulaframed setupframed setupframedcontent setupframedtable \ -setupframedtablecolumn setupframedtablerow setupframedtext setupframedtexts setupglobalreferenceprefix \ -setuphead setupheadalternative setupheader setupheadertexts setupheadnumber \ -setupheads setupheadtext setuphelp setuphigh setuphighlight \ -setuphyphenation setuphyphenmark setupindentedtext setupindenting setupindex \ -setupinitial setupinsertion setupinteraction setupinteractionbar setupinteractionmenu \ -setupinteractionscreen setupinterlinespace setupitaliccorrection setupitemgroup setupitemizations \ -setupitemize setupitems setuplabel setuplabeltext setuplanguage \ -setuplayer setuplayeredtext setuplayout setuplayouttext setuplegend \ -setuplinefiller setuplinefillers setuplinenote setuplinenumbering setuplines \ -setuplinetable setuplinewidth setuplist setuplistalternative setuplistextra \ -setuplocalfloats setuplocalinterlinespace setuplow setuplowhigh setuplowmidhigh \ -setupmakeup setupmarginblock setupmargindata setupmarginframed setupmarginrule \ -setupmarginrules setupmarking setupmathalignment setupmathcases setupmathematics \ -setupmathfence setupmathfraction setupmathfractions setupmathframed setupmathlabeltext \ -setupmathmatrix setupmathornament setupmathradical setupmathstackers setupmathstyle \ -setupmixedcolumns setupmodule setupnarrower setupnotation setupnotations \ -setupnote setupnotes setupoffset setupoffsetbox setupoperatortext \ -setupoppositeplacing setupoutputroutine setuppagechecker setuppagecomment setuppagegrid \ -setuppagegridarea setuppagegridareatext setuppagegridlines setuppagegridspan setuppagegridstart \ -setuppageinjection setuppageinjectionalternative setuppagenumber setuppagenumbering setuppageshift \ -setuppagestate setuppagetransitions setuppairedbox setuppalet setuppaper \ -setuppapersize setupparagraph setupparagraphintro setupparagraphnumbering setupparagraphs \ -setupparallel setupperiods setupplacement setuppositionbar setuppositioning \ -setupprefixtext setupprocessor setupprofile setupprograms setupquotation \ -setupquote setuprealpagenumber setupreferenceformat setupreferenceprefix setupreferencestructureprefix \ -setupreferencing setupregister setupregisters setuprenderingwindow setuprotate \ -setups setupscale setupscript setupscripts setupsectionblock \ -setupselector setupshift setupsidebar setupsorting setupspacing \ -setupspellchecking setupstartstop setupstretched setupstruts setupstyle \ -setupsubformula setupsubformulas setupsubpagenumber setupsuffixtext setupsymbolset \ -setupsynctex setupsynonyms setuptables setuptabulate setuptabulation \ -setuptagging setuptaglabeltext setuptext setuptextbackground setuptextflow \ -setuptextrules setuptexttexts setupthinrules setuptolerance setuptooltip \ -setuptop setuptoptexts setuptype setuptyping setupunit \ -setupunittext setupurl setupuserpagenumber setupversion setupviewerlayer \ -setupvspacing setupwhitespace setupwithargument setupwithargumentswapped setupxml \ -setupxtable setuvalue setuxvalue setvalue setvariable \ -setvariables setvboxregister setvisualizerfont setvtopregister setwidthof \ -setxmeasure setxvalue setxvariable setxvariables seveneighths \ -sfrac shapedhbox sharp shiftdown shiftup \ -showallmakeup showattributes showbodyfont showbodyfontenvironment showboxes \ -showbtxdatasetauthors showbtxdatasetcompleteness showbtxdatasetfields showbtxfields showbtxhashedauthors \ -showbtxtables showchardata showcharratio showcolor showcolorbar \ -showcolorcomponents showcolorgroup showcolorset showcolorstruts showcounter \ -showdirectives showdirsinmargin showedebuginfo showexperiments showfont \ -showfontdata showfontitalics showfontkerns showfontparameters showfontstrip \ -showfontstyle showframe showglyphs showgrid showgridsnapping \ -showhelp showhyphenationtrace showhyphens showinjector showjustification \ -showkerning showlayout showlayoutcomponents showligature showligatures \ -showlogcategories showmakeup showmargins showmessage showminimalbaseline \ -shownextbox showotfcomposition showpalet showparentchain showprint \ -showsetups showsetupsdefinition showstruts showsymbolset showtimer \ -showtokens showtrackers showvalue showvariable showwarning \ -sigma sim simeq simplealignedbox simplealignedboxplus \ -simplealignedspreadbox simplegroupedcommand simplereversealignedbox simplereversealignedboxplus singalcharacteralign \ -singlebond singleverticalbar sixperemspace sixthofsixarguments slanted \ -slantedbold slantedface slash slicepages slong \ -slovenianNumerals sloveniannumerals small smallbodyfont smallbold \ -smallbolditalic smallboldslanted smallcappedcharacters smallcappedromannumerals smaller \ -smallitalicbold smallnormal smallskip smallslanted smallslantedbold \ -smalltype smash smashbox smashboxed smashedhbox \ -smashedvbox smile snaptogrid softhyphen solidus \ -someheadnumber somekindoftab someline somelocalfloat somenamedheadnumber \ -someplace somewhere space spadesuit spanishNumerals \ -spanishnumerals speech sphericalangle splitatasterisk splitatcolon \ -splitatcolons splitatcomma splitatperiod splitdfrac splitfilename \ -splitfloat splitfrac splitoffbase splitofffull splitoffkind \ -splitoffname splitoffpath splitoffroot splitofftokens splitofftype \ -splitstring spreadhbox sqcap sqcup sqrt \ -sqsubset sqsubseteq sqsubsetneq sqsupset sqsupseteq \ -sqsupsetneq square squaredots ssharp stackrel \ -star stareq startJScode startJSpreamble startLUA \ -startMP startMPclip startMPcode startMPdefinitions startMPdrawing \ -startMPenvironment startMPextensions startMPinclusions startMPinitializations startMPpage \ -startMPpositiongraphic startMPpositionmethod startMPrun startPARSEDXML startTABLE \ -startTABLEbody startTABLEfoot startTABLEhead startTABLEnext startTC \ -startTD startTDs startTEX startTEXpage startTH \ -startTN startTR startTRs startTX startTY \ -startXML startalign startalignment startallmodes startappendices \ -startarrangedpages startaside startattachment startbackground startbackmatter \ -startbar startbbordermatrix startbitmapimage startblockquote startbodymatter \ -startbordermatrix startboxedcolumns startbtxlabeltext startbtxrenderingdefinitions startbuffer \ -startcases startcatcodetable startcenteraligned startchapter startcharacteralign \ -startcheckedfences startchemical startchemicaltext startcollect startcollecting \ -startcolor startcolorintent startcoloronly startcolorset startcolumns \ -startcolumnspan startcombination startcomment startcomponent startcontextcode \ -startcontextdefinitioncode startctxfunction startctxfunctiondefinition startcurrentcolor startcurrentlistentrywrapper \ -startdelimited startdelimitedtext startdisplaymath startdmath startdocument \ -starteffect startelement startembeddedxtable startendnote startendofline \ -startenvironment startexceptions startexpanded startexpandedcollect startextendedcatcodetable \ -startexternalfigurecollection startfact startfigure startfiguretext startfittingpage \ -startfixed startfloatcombination startfont startfontclass startfontsolution \ -startfootnote startformula startformulas startframed startframedcell \ -startframedcontent startframedrow startframedtable startframedtext startfrontmatter \ -startgoto startgraphictext startgridsnapping starthanging starthbox \ -starthboxestohbox starthboxregister starthead startheadtext starthelptext \ -starthiding starthighlight starthyphenation startimath startindentation \ -startindentedtext startinteraction startinteractionmenu startinterface startintermezzotext \ -startintertext startitem startitemgroup startitemgroupcolumns startitemize \ -startknockout startlabeltext startlayout startleftaligned startlegend \ -startline startlinealignment startlinecorrection startlinefiller startlinenote \ -startlinenumbering startlines startlinetable startlinetablebody startlinetablecell \ -startlinetablehead startlocalfootnotes startlocalheadsetup startlocallinecorrection startlocalnotes \ -startlocalsetups startlua startluacode startluaparameterset startluasetups \ -startmakeup startmarginblock startmarginrule startmarkedcontent startmathalignment \ -startmathcases startmathlabeltext startmathmatrix startmathmode startmathstyle \ -startmatrices startmatrix startmaxaligned startmdformula startmidaligned \ -startmiddlealigned startmiddlemakeup startmixedcolumns startmode startmodeset \ -startmodule startmoduletestsection startmpformula startnamedsection startnamedsubformulas \ -startnarrow startnarrower startnegative startnicelyfilledbox startnointerference \ -startnotallmodes startnotext startnotmode startoperatortext startopposite \ -startoutputstream startoverlay startoverprint startpacked startpagecomment \ -startpagefigure startpagegrid startpagegridspan startpagelayout startpagemakeup \ -startpar startparagraph startparagraphs startparagraphscell startparbuilder \ -startpart startpath startplacechemical startplacefigure startplacefloat \ -startplaceformula startplacegraphic startplaceintermezzo startplacelegend startplacepairedbox \ -startplacetable startpositioning startpositionoverlay startpositive startpostponing \ -startprefixtext startprocessassignmentcommand startprocessassignmentlist startprocesscommacommand startprocesscommalist \ -startproduct startproject startprotect startprotectedcolors startpublication \ -startpunctuation startquotation startquote startrandomized startrandomseed \ -startrawsetups startreadingfile startreferenceprefix startregime startregister \ -startreusableMPgraphic startrightaligned startscript startsdformula startsection \ -startsectionblock startsectionblockenvironment startsectionlevel startsetups startshapebox \ -startshift startsidebar startsimplecolumns startspecialitem startspeech \ -startspformula startsplitformula startspread startstandardmakeup startstartstop \ -startstaticMPfigure startstaticMPgraphic startstrictinspectnextcharacter startstructurepageregister startstrut \ -startstyle startsubformulas startsubject startsubjectlevel startsubsection \ -startsubsentence startsubstack startsubsubject startsubsubsection startsubsubsubject \ -startsubsubsubsection startsubsubsubsubject startsubsubsubsubsection startsubsubsubsubsubject startsuffixtext \ -startsymbolset starttable starttablehead starttables starttabletail \ -starttabletext starttabulate starttabulatehead starttabulatetail starttagged \ -starttaglabeltext starttexcode starttexdefinition starttext starttextbackground \ -starttextbackgroundmanual starttextcolor starttextcolorintent starttextflow starttextmakeup \ -starttextrule starttitle starttokens starttransparent starttypescript \ -starttypescriptcollection starttyping startuniqueMPgraphic startuniqueMPpagegraphic startunittext \ -startunpacked startusableMPgraphic startuseMPgraphic startusemathstyleparameter startusingbtxspecification \ -startvbox startvboxregister startvboxtohbox startvboxtohboxseparator startviewerlayer \ -startvtop startvtopregister startxcell startxcellgroup startxgroup \ -startxmldisplayverbatim startxmlinlineverbatim startxmlraw startxmlsetups startxrow \ -startxrowgroup startxtable startxtablebody startxtablefoot startxtablehead \ -startxtablenext stligature stopJScode stopJSpreamble stopLUA \ -stopMP stopMPclip stopMPcode stopMPdefinitions stopMPdrawing \ -stopMPenvironment stopMPextensions stopMPinclusions stopMPinitializations stopMPpage \ -stopMPpositiongraphic stopMPpositionmethod stopMPrun stopPARSEDXML stopTABLE \ -stopTABLEbody stopTABLEfoot stopTABLEhead stopTABLEnext stopTC \ -stopTD stopTDs stopTEX stopTEXpage stopTH \ -stopTN stopTR stopTRs stopTX stopTY \ -stopXML stopalign stopalignment stopallmodes stopappendices \ -stoparrangedpages stopaside stopattachment stopbackground stopbackmatter \ -stopbar stopbbordermatrix stopbitmapimage stopblockquote stopbodymatter \ -stopbordermatrix stopboxedcolumns stopbtxlabeltext stopbtxrenderingdefinitions stopbuffer \ -stopcases stopcatcodetable stopcenteraligned stopchapter stopcharacteralign \ -stopcheckedfences stopchemical stopchemicaltext stopcollect stopcollecting \ -stopcolor stopcolorintent stopcoloronly stopcolorset stopcolumns \ -stopcolumnspan stopcombination stopcomment stopcomponent stopcontextcode \ -stopcontextdefinitioncode stopctxfunction stopctxfunctiondefinition stopcurrentcolor stopcurrentlistentrywrapper \ -stopdelimited stopdelimitedtext stopdisplaymath stopdmath stopdocument \ -stopeffect stopelement stopembeddedxtable stopendnote stopendofline \ -stopenvironment stopexceptions stopexpanded stopexpandedcollect stopextendedcatcodetable \ -stopexternalfigurecollection stopfact stopfigure stopfiguretext stopfittingpage \ -stopfixed stopfloatcombination stopfont stopfontclass stopfontsolution \ -stopfootnote stopformula stopformulas stopframed stopframedcell \ -stopframedcontent stopframedrow stopframedtable stopframedtext stopfrontmatter \ -stopgoto stopgraphictext stopgridsnapping stophanging stophbox \ -stophboxestohbox stophboxregister stophead stopheadtext stophelptext \ -stophiding stophighlight stophyphenation stopimath stopindentation \ -stopindentedtext stopinteraction stopinteractionmenu stopinterface stopintermezzotext \ -stopintertext stopitem stopitemgroup stopitemgroupcolumns stopitemize \ -stopknockout stoplabeltext stoplayout stopleftaligned stoplegend \ -stopline stoplinealignment stoplinecorrection stoplinefiller stoplinenote \ -stoplinenumbering stoplines stoplinetable stoplinetablebody stoplinetablecell \ -stoplinetablehead stoplocalfootnotes stoplocalheadsetup stoplocallinecorrection stoplocalnotes \ -stoplocalsetups stoplua stopluacode stopluaparameterset stopluasetups \ -stopmakeup stopmarginblock stopmarginrule stopmarkedcontent stopmathalignment \ -stopmathcases stopmathlabeltext stopmathmatrix stopmathmode stopmathstyle \ -stopmatrices stopmatrix stopmaxaligned stopmdformula stopmidaligned \ -stopmiddlealigned stopmiddlemakeup stopmixedcolumns stopmode stopmodeset \ -stopmodule stopmoduletestsection stopmpformula stopnamedsection stopnamedsubformulas \ -stopnarrow stopnarrower stopnegative stopnicelyfilledbox stopnointerference \ -stopnotallmodes stopnotext stopnotmode stopoperatortext stopopposite \ -stopoutputstream stopoverlay stopoverprint stoppacked stoppagecomment \ -stoppagefigure stoppagegrid stoppagegridspan stoppagelayout stoppagemakeup \ -stoppar stopparagraph stopparagraphs stopparagraphscell stopparbuilder \ -stoppart stoppath stopplacechemical stopplacefigure stopplacefloat \ -stopplaceformula stopplacegraphic stopplaceintermezzo stopplacelegend stopplacepairedbox \ -stopplacetable stoppositioning stoppositionoverlay stoppositive stoppostponing \ -stopprefixtext stopprocessassignmentcommand stopprocessassignmentlist stopprocesscommacommand stopprocesscommalist \ -stopproduct stopproject stopprotect stopprotectedcolors stoppublication \ -stoppunctuation stopquotation stopquote stoprandomized stoprandomseed \ -stoprawsetups stopreadingfile stopreferenceprefix stopregime stopregister \ -stopreusableMPgraphic stoprightaligned stopscript stopsdformula stopsection \ -stopsectionblock stopsectionblockenvironment stopsectionlevel stopsetups stopshapebox \ -stopshift stopsidebar stopsimplecolumns stopspecialitem stopspeech \ -stopspformula stopsplitformula stopspread stopstandardmakeup stopstartstop \ -stopstaticMPfigure stopstaticMPgraphic stopstrictinspectnextcharacter stopstructurepageregister stopstrut \ -stopstyle stopsubformulas stopsubject stopsubjectlevel stopsubsection \ -stopsubsentence stopsubstack stopsubsubject stopsubsubsection stopsubsubsubject \ -stopsubsubsubsection stopsubsubsubsubject stopsubsubsubsubsection stopsubsubsubsubsubject stopsuffixtext \ -stopsymbolset stoptable stoptablehead stoptables stoptabletail \ -stoptabletext stoptabulate stoptabulatehead stoptabulatetail stoptagged \ -stoptaglabeltext stoptexcode stoptexdefinition stoptext stoptextbackground \ -stoptextbackgroundmanual stoptextcolor stoptextcolorintent stoptextflow stoptextmakeup \ -stoptextrule stoptitle stoptokens stoptransparent stoptypescript \ -stoptypescriptcollection stoptyping stopuniqueMPgraphic stopuniqueMPpagegraphic stopunittext \ -stopunpacked stopusableMPgraphic stopuseMPgraphic stopusemathstyleparameter stopusingbtxspecification \ -stopvbox stopvboxregister stopvboxtohbox stopvboxtohboxseparator stopviewerlayer \ -stopvtop stopvtopregister stopxcell stopxcellgroup stopxgroup \ -stopxmldisplayverbatim stopxmlinlineverbatim stopxmlraw stopxmlsetups stopxrow \ -stopxrowgroup stopxtable stopxtablebody stopxtablefoot stopxtablehead \ -stopxtablenext stretched strictdoifelsenextoptional strictdoifnextoptionalelse stripcharacter \ -strippedcsname stripspaces structurelistuservariable structurenumber structuretitle \ -structureuservariable structurevariable strut strutdp strutgap \ -strutht struthtdp struttedbox strutwd style \ -styleinstance subject subpagenumber subsection subsentence \ -subset subseteq subseteqq subsetneq subsetneqq \ -substituteincommalist subsubject subsubsection subsubsubject subsubsubsection \ -subsubsubsubject subsubsubsubsection subsubsubsubsubject subtractfeature succ \ -succapprox succcurlyeq succeq succeqq succnapprox \ -succneq succneqq succnsim succsim suffixlanguage \ -suffixtext sum supset supseteq supseteqq \ -supsetneq supsetneqq surd surdradical swapcounts \ -swapdimens swapface swapmacros swaptypeface swarrow \ -switchstyleonly switchtobodyfont switchtocolor switchtointerlinespace symbol \ -symbolreference synchronizeblank synchronizeindenting synchronizemarking synchronizeoutputstreams \ -synchronizestrut synchronizewhitespace synctexblockfilename synctexresetfilename synctexsetfilename \ -systemlog systemlogfirst systemloglast systemsetups tLeftarrow \ -tLeftrightarrow tRightarrow tabulateautoline tabulateautorule tabulateline \ -tabulaterule taggedctxcommand taggedlabeltexts taglabellanguage taglabeltext \ -tau tbinom tbox tcaron tcedilla \ -tcommaaccent tcurl tequal test testandsplitstring \ -testcolumn testfeature testfeatureonce testpage testpageonly \ -testpagesync testtokens tex texdefinition texsetup \ -textAngstrom textacute textampersand textasciicircum textasciitilde \ -textat textbackslash textbar textbottomcomma textbottomdot \ -textbraceleft textbraceright textbreve textbrokenbar textbullet \ -textcaron textcedilla textcelsius textcent textcircledP \ -textcircumflex textcitation textcite textcomma textcontrolspace \ -textcurrency textdag textddag textdegree textdiaeresis \ -textdiv textdollar textdong textdotaccent textellipsis \ -texteuro textflowcollector textfraction textgrave texthash \ -texthorizontalbar texthungarumlaut texthyphen textkelvin textlognot \ -textmacron textmath textmho textminus textmu \ -textmultiply textnumero textogonek textohm textormathchar \ -textounce textpercent textperiod textplus textpm \ -textreference textring textrule textslash textsterling \ -texttilde textunderscore textvisiblespace textyen thai \ -thainumerals thefirstcharacter thenormalizedbodyfontsize therefore theremainingcharacters \ -theta thickspace thinrule thinrules thinspace \ -thirdoffivearguments thirdoffourarguments thirdofsixarguments thirdofthreearguments thirdofthreeunexpanded \ -thook thookleftarrow thookrightarrow thorn threedigitrounding \ -threeeighths threefifths threeperemspace threequarter threesuperior \ -tibetannumerals tightlayer tilde times tinyfont \ -title tlap tleftarrow tleftharpoondown tleftharpoonup \ -tleftrightarrow tleftrightharpoons tmapsto to tochar \ -tolinenote tooltip top topbox topleftbox \ -toplinebox toprightbox topskippedbox tracecatcodetables tracedfontname \ -traceoutputroutines tracepositions trademark translate transparencycomponents \ -transparent trel triangle triangledown triangleleft \ -triangleq triangleright trightarrow trightharpoondown trightharpoonup \ -trightleftharpoons trightoverleftarrow triplebond tripleprime tripleverticalbar \ -truefilename truefontname tstroke ttraggedright ttriplerel \ -ttwoheadleftarrow ttwoheadrightarrow turnediota twodigitrounding twofifths \ -twoheaddownarrow twoheadleftarrow twoheadrightarrow twoheadrightarrowtail twoheaduparrow \ -twosuperior twothirds tx txx typ \ -type typebuffer typedefinedbuffer typeface typefile \ -typeinlinebuffer typescriptone typescriptprefix typescriptthree typescripttwo \ -typesetbuffer typesetfile uacute ubreve ucaron \ -ucircumflex uconvertnumber udiaeresis udiaeresisacute udiaeresiscaron \ -udiaeresisgrave udiaeresismacron udotbelow udots udoublegrave \ -uedcatcodecommand ugrave uhook uhorn uhornacute \ -uhorndotbelow uhorngrave uhornhook uhorntilde uhungarumlaut \ -uinvertedbreve ulcorner umacron undefinevalue undepthed \ -underbar underbars underbrace underbracket underdash \ -underdashes underdot underdots underleftarrow underparent \ -underrandom underrandoms underrightarrow underset understrike \ -understrikes undoassign unexpandeddocumentvariable unframed unhhbox \ -unihex uniqueMPgraphic uniqueMPpagegraphic unit unitlanguage \ -unitshigh unitslow unittext unknown unprotected \ -unregisterhyphenationpattern unspaceafter unspaceargument unspaced unspacestring \ -untexargument untexcommand uogonek upand uparrow \ -updasharrow updownarrow updownarrowbar updownarrows upharpoonleft \ -upharpoonright uplus uppercased uppercasestring upperleftdoubleninequote \ -upperleftdoublesixquote upperleftsingleninequote upperleftsinglesixquote upperrightdoubleninequote upperrightdoublesixquote \ -upperrightsingleninequote upperrightsinglesixquote upsilon upuparrows upwhitearrow \ -urcorner uring url useJSscripts useMPenvironmentbuffer \ -useMPgraphic useMPlibrary useMPrun useMPvariables useURL \ -usealignparameter useblankparameter useblocks usebodyfont usebodyfontparameter \ -usebtxdataset usebtxdefinitions usecitation usecolors usecomponent \ -usedirectory usedummycolorparameter usedummystyleandcolor usedummystyleparameter useenvironment \ -useexternaldocument useexternalfigure useexternalrendering useexternalsoundtrack usefigurebase \ -usefile usegridparameter useindentingparameter useindentnextparameter useinterlinespaceparameter \ -uselanguageparameter useluamodule usemathstyleparameter usemodule useproduct \ -useprofileparameter useproject usereferenceparameter userpagenumber usesetupsparameter \ -usestaticMPfigure usesubpath usesymbols usetexmodule usetypescript \ -usetypescriptfile useurl usezipfile utfchar utflower \ -utfupper utilde utilityregisterlength vDash varTheta \ -varepsilon varkappa varnothing varphi varpi \ -varrho varsigma vartheta vboxreference vdash \ -vdots vec vee veebar veeeq \ -verbatim verbatimstring verbosenumber version vert \ -verticalgrowingbar verticalpositionbar veryraggedcenter veryraggedleft veryraggedright \ -vglue viewerlayer vl vphantom vpos \ -vsmash vsmashbox vsmashed vspace vspacing \ -wcircumflex wdofstring wedge wedgeeq weekday \ -whitearrowupfrombar widehat widetilde widthofstring widthspanningtext \ -withoutpt word wordright words wordtonumber \ -wp wr writebetweenlist writedatatolist writestatus \ -writetolist xLeftarrow xLeftrightarrow xRightarrow xdefconvertedargument \ -xequal xfrac xhookleftarrow xhookrightarrow xi \ -xleftarrow xleftharpoondown xleftharpoonup xleftrightarrow xleftrightharpoons \ -xmapsto xmladdindex xmlafterdocumentsetup xmlaftersetup xmlall \ -xmlappenddocumentsetup xmlappendsetup xmlapplyselectors xmlatt xmlattdef \ -xmlattribute xmlattributedef xmlbadinclusions xmlbeforedocumentsetup xmlbeforesetup \ -xmlchainatt xmlchainattdef xmlchecknamespace xmlcommand xmlconcat \ -xmlconcatrange xmlcontext xmlcount xmldefaulttotext xmldirectives \ -xmldirectivesafter xmldirectivesbefore xmldisplayverbatim xmldoif xmldoifelse \ -xmldoifelseempty xmldoifelseselfempty xmldoifelsetext xmldoifelsevalue xmldoifnot \ -xmldoifnotselfempty xmldoifnottext xmldoifselfempty xmldoiftext xmlelement \ -xmlfilter xmlfirst xmlflush xmlflushcontext xmlflushdocumentsetups \ -xmlflushlinewise xmlflushpure xmlflushspacewise xmlflushtext xmlinclude \ -xmlinclusion xmlinclusions xmlinfo xmlinjector xmlinlineprettyprint \ -xmlinlineprettyprinttext xmlinlineverbatim xmlinstalldirective xmllast xmllastatt \ -xmllastmatch xmllastpar xmlloadbuffer xmlloaddata xmlloaddirectives \ -xmlloadfile xmlloadonly xmlmain xmlmapvalue xmlname \ -xmlnamespace xmlnonspace xmlpar xmlparam xmlpath \ -xmlpos xmlposition xmlprependdocumentsetup xmlprependsetup xmlprettyprint \ -xmlprettyprinttext xmlprocessbuffer xmlprocessdata xmlprocessfile xmlpure \ -xmlraw xmlrefatt xmlregistereddocumentsetups xmlregisteredsetups xmlregisterns \ -xmlremapname xmlremapnamespace xmlremovedocumentsetup xmlremovesetup xmlresetdocumentsetups \ -xmlresetinjectors xmlresetsetups xmlsave xmlsetatt xmlsetattribute \ -xmlsetentity xmlsetfunction xmlsetinjectors xmlsetpar xmlsetparam \ -xmlsetsetup xmlsetup xmlshow xmlsnippet xmlstrip \ -xmlstripnolines xmlstripped xmlstrippednolines xmltag xmltexentity \ -xmltext xmltobuffer xmltobufferverbose xmltofile xmlvalue \ -xmlverbatim xrel xrightarrow xrightharpoondown xrightharpoonup \ -xrightleftharpoons xrightoverleftarrow xsplitstring xtriplerel xtwoheadleftarrow \ -xtwoheadrightarrow xxfrac xypos yacute ycircumflex \ -ydiaeresis ydotbelow yen ygrave yhook \ -ymacron ytilde zacute zcaron zdotaccent \ -zerowidthnobreakspace zerowidthspace zeta zhook zstroke \ -zwj zwnj +dotriplegroupempty dots dottedcircle dottedrightarrow doublebar \ +doublebond doublebrace doublebracket doublecap doublecup \ +doubleparent doubleprime doubleverticalbar dowith dowithnextbox \ +dowithnextboxcontent dowithnextboxcontentcs dowithnextboxcs dowithpargument dowithrange \ +dowithwargument downarrow downdasharrow downdownarrows downharpoonleft \ +downharpoonright downuparrows downwhitearrow downzigzagarrow dpofstring \ +dstroke dtail dummydigit dummyparameter dzcaronligature \ +dzligature eTeX eacute ebreve ecaron \ +ecedilla ecircumflex ecircumflexacute ecircumflexdotbelow ecircumflexgrave \ +ecircumflexhook ecircumflextilde edefconvertedargument ediaeresis edotaccent \ +edotbelow edoublegrave efcmaxheight efcmaxwidth efcminheight \ +efcminwidth efcparameter effect egrave ehook \ +einvertedbreve elapsedseconds elapsedtime eleftarrowfill eleftharpoondownfill \ +eleftharpoonupfill eleftrightarrowfill ell em emacron \ +emdash emphasisboldface emphasistypeface emptylines emptyset \ +emquad emspace enabledirectives enableexperiments enablemode \ +enableoutputstream enableparpositions enableregime enabletrackers endash \ +endnote enquad enskip enspace env \ +environment envvar eogonek eoverbarfill eoverbracefill \ +eoverbracketfill eoverparentfill epos epsilon eq \ +eqcirc eqeq eqeqeq eqgtr eqless \ +eqsim eqslantgtr eqslantless equaldigits equalscolon \ +equiv erightarrowfill erightharpoondownfill erightharpoonupfill eta \ +eth ethiopic etilde etwoheadrightarrowfill eunderbarfill \ +eunderbracefill eunderbracketfill eunderparentfill exclamdown executeifdefined \ +exists exitloop exitloopnow expandcheckedcsname expanded \ +expandfontsynonym expdoif expdoifcommonelse expdoifelse expdoifelsecommon \ +expdoifelseinset expdoifinsetelse expdoifnot exponentiale externalfigure \ +externalfigurecollectionmaxheight externalfigurecollectionmaxwidth externalfigurecollectionminheight externalfigurecollectionminwidth externalfigurecollectionparameter \ +fakebox fallingdotseq fastdecrement fastincrement fastlocalframed \ +fastloopfinal fastloopindex fastscale fastsetup fastsetupwithargument \ +fastsetupwithargumentswapped fastswitchtobodyfont fastsxsy feature fence \ +fenced fetchallmarkings fetchallmarks fetchmark fetchmarking \ +fetchonemark fetchonemarking fetchruntinecommand fetchtwomarkings fetchtwomarks \ +ffiligature ffligature fflligature fhook field \ +fieldbody fieldstack fifthoffivearguments fifthofsixarguments figurefilename \ +figurefilepath figurefiletype figurefullname figureheight figurenaturalheight \ +figurenaturalwidth figurespace figuresymbol figurewidth filename \ +filigature filledhboxb filledhboxc filledhboxg filledhboxk \ +filledhboxm filledhboxr filledhboxy filler fillinline \ +fillinrules fillintext filterfromnext filterfromvalue filterpages \ +filterreference findtwopassdata finishregisterentry firstcharacter firstcounter \ +firstcountervalue firstoffivearguments firstoffourarguments firstofoneargument firstofoneunexpanded \ +firstofsixarguments firstofthreearguments firstofthreeunexpanded firstoftwoarguments firstoftwounexpanded \ +firstrealpage firstrealpagenumber firstsubcountervalue firstsubpage firstsubpagenumber \ +firstuserpage firstuserpagenumber fitfield fitfieldframed fittopbaselinegrid \ +fiveeighths fivesixths fixedspace fixedspaces flag \ +flat flligature floatuserdataparameter flushbox flushboxregister \ +flushcollector flushedrightlastline flushlayer flushlocalfloats flushnextbox \ +flushnotes flushoutputstream flushshapebox flushtextflow flushtokens \ +flushtoks fontalternative fontbody fontchar fontcharbyindex \ +fontclass fontclassname fontface fontfeaturelist fontsize \ +fontstyle footnote footnotetext forall forcecharacterstripping \ +forcelocalfloats forgeteverypar forgetparameters forgetragged formula \ +formulanumber foundbox fourfifths fourperemspace fourthoffivearguments \ +fourthoffourarguments fourthofsixarguments frac framed frameddimension \ +framedparameter framedtext freezedimenmacro freezemeasure frenchspacing \ +from fromlinenote frown frozenhbox frule \ +gacute gamma gbreve gcaron gcircumflex \ +gcommaaccent gdefconvertedargument gdefconvertedcommand gdotaccent ge \ +geq geqq geqslant getMPdrawing getMPlayer \ +getboxfromcache getboxllx getboxlly getbuffer getbufferdata \ +getcommacommandsize getcommalistsize getdayoftheweek getdayspermonth getdefinedbuffer \ +getdocumentargument getdocumentargumentdefault getdocumentfilename getdummyparameters getemptyparameters \ +geteparameters getexpandedparameters getfiguredimensions getfirstcharacter getfirsttwopassdata \ +getfromcommacommand getfromcommalist getfromtwopassdata getglyphdirect getglyphstyled \ +getgparameters getlasttwopassdata getlocalfloat getlocalfloats getmarking \ +getmessage getnamedglyphdirect getnamedglyphstyled getnamedtwopassdatalist getnaturaldimensions \ +getnoflines getobject getobjectdimensions getpaletsize getparameters \ +getprivatechar getprivateslot getrandomcount getrandomdimen getrandomfloat \ +getrandomnumber getrandomseed getraweparameters getrawgparameters getrawnoflines \ +getrawparameters getrawxparameters getreference getreferenceentry getroundednoflines \ +gets getsubstring gettwopassdata gettwopassdatalist getuvalue \ +getvalue getvariable getvariabledefault getxparameters gg \ +ggg gggtr gimel globaldisablemode globalenablemode \ +globalletempty globalpopbox globalpopmacro globalpreventmode globalprocesscommalist \ +globalpushbox globalpushmacro globalswapcounts globalswapdimens globalswapmacros \ +globalundefine glyphfontfile gnapprox gneqq gnsim \ +gobbledoubleempty gobbleeightarguments gobblefivearguments gobblefiveoptionals gobblefourarguments \ +gobblefouroptionals gobbleninearguments gobbleoneargument gobbleoneoptional gobblesevenarguments \ +gobblesingleempty gobblesixarguments gobblespacetokens gobbletenarguments gobblethreearguments \ +gobblethreeoptionals gobbletwoarguments gobbletwooptionals gobbleuntil gobbleuntilrelax \ +godown goto gotobox gotopage grabbufferdata \ +grabbufferdatadirect grabuntil grave graycolor grayvalue \ +greedysplitstring greekAlpha greekAlphadasia greekAlphadasiaperispomeni greekAlphadasiatonos \ +greekAlphadasiavaria greekAlphaiotasub greekAlphaiotasubdasia greekAlphaiotasubdasiaperispomeni greekAlphaiotasubdasiatonos \ +greekAlphaiotasubdasiavaria greekAlphaiotasubpsili greekAlphaiotasubpsiliperispomeni greekAlphaiotasubpsilitonos greekAlphaiotasubpsilivaria \ +greekAlphamacron greekAlphapsili greekAlphapsiliperispomeni greekAlphapsilitonos greekAlphapsilivaria \ +greekAlphatonos greekAlphavaria greekAlphavrachy greekBeta greekChi \ +greekCoronis greekDelta greekEpsilon greekEpsilondasia greekEpsilondasiatonos \ +greekEpsilondasiavaria greekEpsilonpsili greekEpsilonpsilitonos greekEpsilonpsilivaria greekEpsilontonos \ +greekEpsilonvaria greekEta greekEtadasia greekEtadasiaperispomeni greekEtadasiatonos \ +greekEtadasiavaria greekEtaiotasub greekEtaiotasubdasia greekEtaiotasubdasiaperispomeni greekEtaiotasubdasiatonos \ +greekEtaiotasubdasiavaria greekEtaiotasubpsili greekEtaiotasubpsiliperispomeni greekEtaiotasubpsilitonos greekEtaiotasubpsilivaria \ +greekEtapsili greekEtapsiliperispomeni greekEtapsilitonos greekEtapsilivaria greekEtatonos \ +greekEtavaria greekGamma greekIota greekIotadasia greekIotadasiaperispomeni \ +greekIotadasiatonos greekIotadasiavaria greekIotadialytika greekIotamacron greekIotapsili \ +greekIotapsiliperispomeni greekIotapsilitonos greekIotapsilivaria greekIotatonos greekIotavaria \ +greekIotavrachy greekKappa greekLambda greekMu greekNu \ +greekOmega greekOmegadasia greekOmegadasiaperispomeni greekOmegadasiatonos greekOmegadasiavaria \ +greekOmegaiotasub greekOmegaiotasubdasia greekOmegaiotasubdasiaperispomeni greekOmegaiotasubdasiatonos greekOmegaiotasubdasiavaria \ +greekOmegaiotasubpsili greekOmegaiotasubpsiliperispomeni greekOmegaiotasubpsilitonos greekOmegaiotasubpsilivaria greekOmegapsili \ +greekOmegapsiliperispomeni greekOmegapsilitonos greekOmegapsilivaria greekOmegatonos greekOmegavaria \ +greekOmicron greekOmicrondasia greekOmicrondasiatonos greekOmicrondasiavaria greekOmicronpsili \ +greekOmicronpsilitonos greekOmicronpsilivaria greekOmicrontonos greekOmicronvaria greekPhi \ +greekPi greekPsi greekRho greekRhodasia greekSigma \ +greekSigmalunate greekTau greekTheta greekUpsilon greekUpsilondasia \ +greekUpsilondasiaperispomeni greekUpsilondasiatonos greekUpsilondasiavaria greekUpsilondialytika greekUpsilonmacron \ +greekUpsilontonos greekUpsilonvaria greekUpsilonvrachy greekXi greekZeta \ +greekalpha greekalphadasia greekalphadasiaperispomeni greekalphadasiatonos greekalphadasiavaria \ +greekalphaiotasub greekalphaiotasubdasia greekalphaiotasubdasiaperispomeni greekalphaiotasubdasiatonos greekalphaiotasubdasiavaria \ +greekalphaiotasubperispomeni greekalphaiotasubpsili greekalphaiotasubpsiliperispomeni greekalphaiotasubpsilitonos greekalphaiotasubpsilivaria \ +greekalphaiotasubtonos greekalphaiotasubvaria greekalphamacron greekalphaoxia greekalphaperispomeni \ +greekalphapsili greekalphapsiliperispomeni greekalphapsilitonos greekalphapsilivaria greekalphatonos \ +greekalphavaria greekalphavrachy greekbeta greekchi greekdasia \ +greekdasiaperispomeni greekdasiatonos greekdasiavaria greekdelta greekdialytikaperispomeni \ +greekdialytikatonos greekdialytikavaria greekdigamma greekepsilon greekepsilonalt \ +greekepsilondasia greekepsilondasiatonos greekepsilondasiavaria greekepsilonoxia greekepsilonpsili \ +greekepsilonpsilitonos greekepsilonpsilivaria greekepsilontonos greekepsilonvaria greeketa \ +greeketadasia greeketadasiaperispomeni greeketadasiatonos greeketadasiavaria greeketaiotasub \ +greeketaiotasubdasia greeketaiotasubdasiaperispomeni greeketaiotasubdasiatonos greeketaiotasubdasiavaria greeketaiotasubperispomeni \ +greeketaiotasubpsili greeketaiotasubpsiliperispomeni greeketaiotasubpsilitonos greeketaiotasubpsilivaria greeketaiotasubtonos \ +greeketaiotasubvaria greeketaoxia greeketaperispomeni greeketapsili greeketapsiliperispomeni \ +greeketapsilitonos greeketapsilivaria greeketatonos greeketavaria greekfinalsigma \ +greekgamma greekiota greekiotadasia greekiotadasiaperispomeni greekiotadasiatonos \ +greekiotadasiavaria greekiotadialytika greekiotadialytikaperispomeni greekiotadialytikatonos greekiotadialytikavaria \ +greekiotamacron greekiotaoxia greekiotaperispomeni greekiotapsili greekiotapsiliperispomeni \ +greekiotapsilitonos greekiotapsilivaria greekiotatonos greekiotavaria greekiotavrachy \ +greekkappa greekkoppa greeklambda greekmu greeknu \ +greeknumerals greeknumkoppa greekomega greekomegadasia greekomegadasiaperispomeni \ +greekomegadasiatonos greekomegadasiavaria greekomegaiotasub greekomegaiotasubdasia greekomegaiotasubdasiaperispomeni \ +greekomegaiotasubdasiatonos greekomegaiotasubdasiavaria greekomegaiotasubperispomeni greekomegaiotasubpsili greekomegaiotasubpsiliperispomeni \ +greekomegaiotasubpsilitonos greekomegaiotasubpsilivaria greekomegaiotasubtonos greekomegaiotasubvaria greekomegaoxia \ +greekomegaperispomeni greekomegapsili greekomegapsiliperispomeni greekomegapsilitonos greekomegapsilivaria \ +greekomegatonos greekomegavaria greekomicron greekomicrondasia greekomicrondasiatonos \ +greekomicrondasiavaria greekomicronoxia greekomicronpsili greekomicronpsilitonos greekomicronpsilivaria \ +greekomicrontonos greekomicronvaria greekoxia greekperispomeni greekphi \ +greekphialt greekpi greekpialt greekprosgegrammeni greekpsi \ +greekpsili greekpsiliperispomeni greekpsilitonos greekpsilivaria greekrho \ +greekrhoalt greekrhodasia greekrhopsili greeksampi greeksigma \ +greeksigmalunate greekstigma greektau greektheta greekthetaalt \ +greektonos greekupsilon greekupsilondasia greekupsilondasiaperispomeni greekupsilondasiatonos \ +greekupsilondasiavaria greekupsilondiaeresis greekupsilondialytikaperispomeni greekupsilondialytikatonos greekupsilondialytikavaria \ +greekupsilonmacron greekupsilonoxia greekupsilonperispomeni greekupsilonpsili greekupsilonpsiliperispomeni \ +greekupsilonpsilitonos greekupsilonpsilivaria greekupsilontonos greekupsilonvaria greekupsilonvrachy \ +greekvaria greekxi greekzeta grid groupedcommand \ +gsetboxllx gsetboxlly gstroke gt gtrapprox \ +gtrdot gtreqless gtreqqless gtrless gtrsim \ +guilsingleleft guilsingleright gujaratinumerals gurmurkhinumerals hairline \ +hairspace halflinestrut halfstrut halfwaybox handletokens \ +handwritten hangul hanzi hash hat \ +hbar hboxofvbox hboxreference hcaron hcircumflex \ +hdofstring headhbox headlanguage headnumber headnumbercontent \ +headnumberdistance headnumberwidth headreferenceattributes headsetupspacing headtext \ +headtextcontent headtextdistance headtexts headtextwidth headvbox \ +headwidth heartsuit hebrewAlef hebrewAyin hebrewBet \ +hebrewDalet hebrewGimel hebrewHe hebrewHet hebrewKaf \ +hebrewKaffinal hebrewLamed hebrewMem hebrewMemfinal hebrewNun \ +hebrewNunfinal hebrewPe hebrewPefinal hebrewQof hebrewResh \ +hebrewSamekh hebrewShin hebrewTav hebrewTet hebrewTsadi \ +hebrewTsadifinal hebrewVav hebrewYod hebrewZayin heightanddepthofstring \ +heightofstring heightspanningtext helptext hglue hiddenbar \ +hiddencitation hiddencite hideblocks high highlight \ +highordinalstr hilo himilo hl hookleftarrow \ +hookrightarrow horizontalgrowingbar horizontalpositionbar hphantom hpos \ +hsizefraction hslash hsmash hsmashbox hsmashed \ +hspace hstroke htdpofstring htofstring hyphen \ +hyphenatedcoloredword hyphenatedfile hyphenatedfilename hyphenatedhbox hyphenatedpar \ +hyphenatedurl hyphenatedword iacute ibox ibreve \ +icaron icircumflex ideographichalffillspace ideographicspace idiaeresis \ +idotaccent idotbelow idoublegrave ifassignment iff \ +ifinobject ifinoutputstream ifparameters iftrialtypesetting ignoreimplicitspaces \ +ignorevalue igrave ihook iiiint iiiintop \ +iiint iiintop iint iintop iinvertedbreve \ +ijligature imacron imaginaryi imaginaryj imath \ +immediatesavetwopassdata impliedby implies imply in \ +includemenu includeversioninfo increment incrementcounter incrementedcounter \ +incrementpagenumber incrementsubpagenumber incrementvalue indentation index \ +infofont infofontbold inframed infty infull \ +inheritparameter inhibitblank ininner ininneredge ininnermargin \ +initializeboxstack inleft inleftedge inleftmargin inline \ +inlinebuffer inlinedbox inlinemath inlinemathematics inlinemessage \ +inlineordisplaymath inlineprettyprintbuffer inlinerange inmargin inmframed \ +innerflushshapebox inother inouter inouteredge inoutermargin \ +input inputfilebarename inputfilename inputfilerealsuffix inputfilesuffix \ +inputgivenfile inright inrightedge inrightmargin insertpages \ +installactionhandler installactivecharacter installanddefineactivecharacter installattributestack installautocommandhandler \ +installautosetuphandler installbasicautosetuphandler installbasicparameterhandler installbottomframerenderer installcommandhandler \ +installcorenamespace installdefinehandler installdefinitionset installdefinitionsetmember installdirectcommandhandler \ +installdirectparameterhandler installdirectparametersethandler installdirectsetuphandler installdirectstyleandcolorhandler installframedautocommandhandler \ +installframedcommandhandler installlanguage installleftframerenderer installnamespace installoutputroutine \ +installpagearrangement installparameterhandler installparameterhashhandler installparametersethandler installparentinjector \ +installrightframerenderer installrootparameterhandler installsetuphandler installsetuponlycommandhandler installshipoutmethod \ +installsimplecommandhandler installsimpleframedcommandhandler installstyleandcolorhandler installswitchcommandhandler installswitchsetuphandler \ +installtexdirective installtextracker installtopframerenderer installunitsseparator installunitsspace \ +installversioninfo int intclockwise integerrounding integers \ +interactionbar interactionbuttons interactionmenu intercal intertext \ +intop invisibletimes invokepageheandler iogonek iota \ +istltdir istrtdir italic italicbold italiccorrection \ +italicface item items itemtag itilde \ +jcaron jcircumflex jmath jobfilename jobfilesuffix \ +kap kappa kcaron kcommaaccent keepblocks \ +keeplinestogether keepunwantedspaces kerncharacters khook kkra \ +koreancirclenumerals koreannumerals koreannumeralsc koreannumeralsp koreanparentnumerals \ +lVert labellanguage labeltext labeltexts lacute \ +lambda lambdabar land langle language \ +languageCharacters languagecharacters languagecharwidth lastcounter lastcountervalue \ +lastdigit lastlinewidth lastnaturalboxdp lastnaturalboxht lastnaturalboxwd \ +lastpredefinedsymbol lastrealpage lastrealpagenumber lastsubcountervalue lastsubpage \ +lastsubpagenumber lasttwodigits lastuserpage lastuserpagenumber lateluacode \ +latin layeredtext layerheight layerwidth lazysavetaggedtwopassdata \ +lazysavetwopassdata lbar lbox lbrace lbracket \ +lcaron lceil lcommaaccent lcurl ldotmiddle \ +ldotp ldots le leadsto left \ +leftaligned leftarrow leftarrowtail leftarrowtriangle leftbottombox \ +leftbox leftdasharrow leftguillemot leftharpoondown leftharpoonup \ +lefthbox leftheadtext leftlabeltext leftleftarrows leftline \ +leftmathlabeltext leftorrighthbox leftorrightvbox leftorrightvtop leftrightarrow \ +leftrightarrows leftrightarrowtriangle leftrightharpoons leftrightsquigarrow leftskipadaption \ +leftsquigarrow leftsubguillemot leftthreetimes lefttopbox lefttoright \ +lefttorighthbox lefttorightvbox lefttorightvtop leftwavearrow leftwhitearrow \ +leq leqq leqslant lessapprox lessdot \ +lesseqgtr lesseqqgtr lessgtr lesssim letbeundefined \ +letcatcodecommand letcscsname letcsnamecs letcsnamecsname letdummyparameter \ +letempty letgvalue letgvalueempty letgvalurelax letterampersand \ +letterat letterbackslash letterbar letterbgroup letterclosebrace \ +lettercolon letterdollar letterdoublequote letteregroup letterescape \ +letterexclamationmark letterhash letterhat letterleftbrace letterleftbracket \ +letterleftparenthesis letterless lettermore letteropenbrace letterpercent \ +letterquestionmark letterrightbrace letterrightbracket letterrightparenthesis lettersinglequote \ +letterslash letterspacing lettertilde letterunderscore letvalue \ +letvalueempty letvaluerelax lfence lfloor lgroup \ +lhbox lhooknwarrow lhooksearrow limitatefirstline limitatelines \ +limitatetext line linefeed linenote linespanningtext \ +linethickness linterval listcitation listcite listlength \ +listnamespaces ljligature ll llangle llap \ +llbracket llcorner lll llless lmoustache \ +lnapprox lneq lneqq lnot lnsim \ +loadanyfile loadanyfileonce loadbtxdefinitionfile loadbtxreplacementfile loadcldfile \ +loadcldfileonce loadfontgoodies loadluafile loadluafileonce loadspellchecklist \ +loadtexfile loadtexfileonce loadtypescriptfile localframed localframedwithsettings \ +localhsize localpopbox localpopmacro localpushbox localpushmacro \ +localundefine locatedfilepath locatefilepath locfilename logo \ +lohi lointerval lomihi longleftarrow longleftrightarrow \ +longmapsfrom longmapsto longrightarrow longrightsquigarrow looparrowleft \ +looparrowright lor low lowerbox lowercased \ +lowercasestring lowerleftdoubleninequote lowerleftsingleninequote lowerrightdoubleninequote lowerrightsingleninequote \ +lozenge lparent lrcorner lrointerval lrtbbox \ +lstroke lt ltimes ltop luaTeX \ +luacode luaconditional luaenvironment luaexpanded luaexpr \ +luafunction luajitTeX luamajorversion luaminorversion luaparameterset \ +luasetup luaversion lvert m mLeftarrow \ +mLeftrightarrow mRightarrow mainlanguage makecharacteractive makerawcommalist \ +makestrutofbox maltese mapfontsize mapsdown mapsfrom \ +mapsto mapsup margindata margintext markcontent \ +marking markinjector markpage mat math \ +mathampersand mathbf mathbi mathblackboard mathbs \ +mathdefault mathdollar mathdouble mathematics mathfraktur \ +mathfunction mathhash mathhyphen mathit mathitalic \ +mathlabellanguage mathlabeltext mathlabeltexts mathop mathover \ +mathpercent mathrm mathscript mathsl mathss \ +mathtext mathtextbf mathtextbi mathtextbs mathtextit \ +mathtextsl mathtexttf mathtf mathtriplet mathtt \ +mathunder mathupright mathword mathwordbf mathwordbi \ +mathwordbs mathwordit mathwordsl mathwordtf maxaligned \ +mbox mcframed measure measured measuredangle \ +measuredeq medskip medspace menubutton mequal \ +message metaTeX mfence mframed mfunction \ +mfunctionlabeltext mhbox mho mhookleftarrow mhookrightarrow \ +mid midaligned middle middlealigned middlebox \ +midhbox midsubsentence minimalhbox minus minuscolon \ +mirror mixedcaps mkvibuffer mleftarrow mleftharpoondown \ +mleftharpoonup mleftrightarrow mleftrightharpoons mmapsto models \ +moduleparameter molecule mono monobold mononormal \ +month monthlong monthshort mp mprandomnumber \ +mrel mrightarrow mrightharpoondown mrightharpoonup mrightleftharpoons \ +mrightoverleftarrow mtext mtriplerel mtwoheadleftarrow mtwoheadrightarrow \ +mu multimap nHdownarrow nHuparrow nLeftarrow \ +nLeftrightarrow nRightarrow nVDash nVdash nVleftarrow \ +nVleftrightarrow nVrightarrow nabla nacute namedheadnumber \ +namedstructureheadlocation namedstructureuservariable namedstructurevariable namedtaggedlabeltexts napostrophe \ +napprox napproxEq narrownobreakspace nasymp natural \ +naturalhbox naturalhpack naturalnumbers naturalvbox naturalvcenter \ +naturalvpack naturalvtop naturalwd ncaron ncommaaccent \ +ncong ncurl ndivides ne nearrow \ +neg negatecolorbox negated negativesign negthinspace \ +neng neq nequiv neswarrow newattribute \ +newcatcodetable newcounter newevery newfrenchspacing newmode \ +newsignal newsystemmode nexists nextbox nextboxdp \ +nextboxht nextboxhtdp nextboxwd nextcounter nextcountervalue \ +nextdepth nextparagraphs nextrealpage nextrealpagenumber nextsubcountervalue \ +nextsubpage nextsubpagenumber nextuserpage nextuserpagenumber ngeq \ +ngrave ngtr ngtrless ngtrsim ni \ +nihongo nin njligature nleftarrow nleftrightarrow \ +nleq nless nlessgtr nlesssim nmid \ +nni nobar nobreakspace nocap nocitation \ +nocite nodetostring noffigurepages noflines noflocalfloats \ +noheaderandfooterlines noheightstrut noindentation noitem nonfrenchspacing \ +nonmathematics normal normalboldface normalframedwithsettings normalitalicface \ +normalizebodyfontsize normalizedfontsize normalizefontdepth normalizefontheight normalizefontline \ +normalizefontwidth normalizetextdepth normalizetextheight normalizetextline normalizetextwidth \ +normalslantedface normaltypeface nospace not note \ +notesymbol notin notopandbottomlines notragged nowns \ +nparallel nprec npreccurlyeq nrightarrow nsim \ +nsimeq nsqsubseteq nsqsupseteq nsubset nsubseteq \ +nsucc nsucccurlyeq nsupset nsupseteq ntilde \ +ntimes ntriangleleft ntrianglelefteq ntriangleright ntrianglerighteq \ +nu numberofpoints numbers nvDash nvdash \ +nvleftarrow nvleftrightarrow nvrightarrow nwarrow nwsearrow \ +oacute obeydepth objectdepth objectheight objectmargin \ +objectwidth obox obreve ocaron ocircumflex \ +ocircumflexacute ocircumflexdotbelow ocircumflexgrave ocircumflexhook ocircumflextilde \ +odiaeresis odiaeresismacron odot odotaccent odotaccentmacron \ +odotbelow odoublegrave oeligature offset offsetbox \ +ograve ohm ohook ohorn ohornacute \ +ohorndotbelow ohorngrave ohornhook ohorntilde ohungarumlaut \ +oiiint oiint oint ointclockwise ointctrclockwise \ +oinvertedbreve omacron omega omicron ominus \ +onedigitrounding oneeighth onefifth onehalf onequarter \ +onesixth onesuperior onethird oogonek oogonekmacron \ +operatorlanguage operatortext oplus ordfeminine ordinaldaynumber \ +ordinalstr ordmasculine ornamenttext oslash ostroke \ +ostrokeacute otilde otildemacron otimes outputfilename \ +outputstreambox outputstreamcopy outputstreamunvbox outputstreamunvcopy over \ +overbar overbars overbarunderbar overbrace overbraceunderbrace \ +overbracket overbracketunderbracket overlaybutton overlaycolor overlaydepth \ +overlayfigure overlayheight overlaylinecolor overlaylinewidth overlayoffset \ +overlayrollbutton overlaywidth overleftarrow overloaderror overparent \ +overparentunderparent overrightarrow overset overstrike overstrikes \ +owns page pagearea pagebreak pagefigure \ +pagegridspanwidth pageinjection pagenumber pagereference pagestaterealpage \ +paletsize paragraphmark parallel part partial \ +pdfTeX pdfactualtext pdfbackendactualtext pdfbackendcurrentresources pdfbackendsetcatalog \ +pdfbackendsetcolorspace pdfbackendsetextgstate pdfbackendsetinfo pdfbackendsetname pdfbackendsetpageattribute \ +pdfbackendsetpageresource pdfbackendsetpagesattribute pdfbackendsetpattern pdfbackendsetshade pdfcolor \ +pdfeTeX percent percentdimen periodcentered periods \ +permitcaretescape permitcircumflexescape permitspacesbetweengroups perp persiandecimals \ +persiandecimalseparator persiannumerals persianthousandsseparator perthousand phantom \ +phantombox phi phook pi pickupgroupedcommand \ +pitchfork placeattachments placebookmarks placebtxrendering placechemical \ +placecitation placecombinedlist placecomments placecontent placecurrentformulanumber \ +placedbox placefigure placefloat placefloatwithsetups placefootnotes \ +placeformula placeframed placegraphic placeheadnumber placeheadtext \ +placehelp placeindex placeinitial placeintermezzo placelayer \ +placelayeredtext placelegend placelist placelistofabbreviations placelistofchemicals \ +placelistoffigures placelistofgraphics placelistofintermezzi placelistoflogos placelistofpublications \ +placelistofsorts placelistofsynonyms placelistoftables placelocalfootnotes placelocalnotes \ +placement placenamedfloat placenamedformula placenotes placeongrid \ +placeontopofeachother placepagenumber placepairedbox placeparallel placerawlist \ +placeregister placerenderingwindow placesidebyside placesubformula placetable \ +pm popattribute popmacro popmode popsystemmode \ +position positionoverlay positionregionoverlay positivesign postponenotes \ +prec precapprox preccurlyeq preceq preceqq \ +precnapprox precneq precneqq precnsim precsim \ +predefinedfont predefinefont predefinesymbol prefixedpagenumber prefixlanguage \ +prefixtext prependetoks prependgvalue prependtocommalist prependtoks \ +prependtoksonce prependvalue presetbtxlabeltext presetdocument presetfieldsymbols \ +presetheadtext presetlabeltext presetmathlabeltext presetoperatortext presetprefixtext \ +presetsuffixtext presettaglabeltext presetunittext pretocommalist prettyprintbuffer \ +prevcounter prevcountervalue preventmode prevrealpage prevrealpagenumber \ +prevsubcountervalue prevsubpage prevsubpagenumber prevuserpage prevuserpagenumber \ +prime primes procent processMPbuffer processMPfigurefile \ +processaction processallactionsinset processassignlist processassignmentcommand processassignmentlist \ +processbetween processblocks processbodyfontenvironmentlist processcolorcomponents processcommacommand \ +processcommalist processcommalistwithparameters processcontent processfile processfilemany \ +processfilenone processfileonce processfirstactioninset processisolatedchars processisolatedwords \ +processlinetablebuffer processlinetablefile processlist processmonth processranges \ +processseparatedlist processtexbuffer processtokens processuntil processxtablebuffer \ +processyear prod product profiledbox profilegivenbox \ +program project propto pseudoMixedCapped pseudoSmallCapped \ +pseudoSmallcapped pseudosmallcapped psi punctuationspace purenumber \ +pushattribute pushbutton pushmacro pushmode pushoutputstream \ +pushsystemmode putboxincache putnextboxincache qquad quad \ +quadrupleprime quads quarterstrut questiondown questionedeq \ +quitcommalist quitprevcommalist quittypescriptscanning quotation quote \ +quotedbl quotedblbase quotedblleft quotedblright quoteleft \ +quoteright quotesingle quotesinglebase rVert racute \ +raggedbottom raggedcenter raggedleft raggedright raggedwidecenter \ +raisebox randomizetext randomnumber rangle rationals \ +rawcounter rawcountervalue rawdate rawdoifelseinset rawdoifinset \ +rawdoifinsetelse rawgetparameters rawprocessaction rawprocesscommacommand rawprocesscommalist \ +rawstructurelistuservariable rawsubcountervalue rbox rbrace rbracket \ +rcaron rceil rcommaaccent rdoublegrave readfile \ +readfixfile readjobfile readlocfile readsetfile readsysfile \ +readtexfile readxmlfile realSmallCapped realSmallcapped realpagenumber \ +reals realsmallcapped recursedepth recurselevel recursestring \ +redoconvertfont ref reference referenceprefix referring \ +registerattachment registerctxluafile registered registerexternalfigure registerfontclass \ +registerhyphenationexception registerhyphenationpattern registermenubuttons registersort registersynonym \ +registerunit regular relatemarking relateparameterhandlers relaxvalueifundefined \ +relbar remainingcharacters remark removebottomthings removedepth \ +removefromcommalist removelastskip removelastspace removemarkedcontent removepunctuation \ +removesubstring removetoks removeunwantedspaces replacefeature replaceincommalist \ +replaceword rescan rescanwithsetup resetMPdrawing resetMPenvironment \ +resetMPinstance resetallattributes resetandaddfeature resetbar resetboxesincache \ +resetbreakpoints resetbuffer resetcharacteralign resetcharacterkerning resetcharacterspacing \ +resetcharacterstripping resetcollector resetcounter resetdigitsmanipulation resetdirection \ +resetfeature resetflag resetfontcolorsheme resetfontfallback resetfontsolution \ +resethyphenationfeatures resetinjector resetinteractionmenu resetitaliccorrection resetlayer \ +resetlocalfloats resetmarker resetmarking resetmode resetpagenumber \ +resetparallel resetpath resetpenalties resetprofile resetrecurselevel \ +resetreference resetreplacement resetscript resetsetups resetshownsynonyms \ +resetsubpagenumber resetsymbolset resetsystemmode resettimer resettrackers \ +resettrialtypesetting resetusedsortings resetusedsynonyms resetuserpagenumber resetvalue \ +resetvisualizers reshapebox resolvedglyphdirect resolvedglyphstyled restartcounter \ +restorebox restorecatcodes restorecounter restorecurrentattributes restoreendofline \ +restoreglobalbodyfont restriction reusableMPgraphic reuseMPgraphic reuserandomseed \ +reverseddoubleprime reversedprime reversedtripleprime revivefeature rfence \ +rfloor rgroup rhbox rho rhooknearrow \ +rhookswarrow right rightaligned rightangle rightarrow \ +rightarrowbar rightarrowtail rightarrowtriangle rightbottombox rightbox \ +rightdasharrow rightguillemot rightharpoondown rightharpoonup righthbox \ +rightheadtext rightlabeltext rightleftarrows rightleftharpoons rightline \ +rightmathlabeltext rightorleftpageaction rightrightarrows rightskipadaption rightsquigarrow \ +rightsubguillemot rightthreearrows rightthreetimes righttoleft righttolefthbox \ +righttoleftvbox righttoleftvtop righttopbox rightwavearrow rightwhitearrow \ +ring rinterval rinvertedbreve risingdotseq rlap \ +rlointerval rmoustache rneq robustaddtocommalist robustdoifelseinset \ +robustdoifinsetelse robustpretocommalist rointerval rollbutton roman \ +romanC romanD romanI romanII romanIII \ +romanIV romanIX romanL romanM romanV \ +romanVI romanVII romanVIII romanX romanXI \ +romanXII romanc romand romani romanii \ +romaniii romaniv romanix romanl romanm \ +romannumerals romanv romanvi romanvii romanviii \ +romanx romanxi romanxii rootradical rotate \ +rparent rrangle rrbracket rrointerval rtimes \ +rtop ruledhbox ruledhpack ruledmbox ruledtopv \ +ruledtpack ruledvbox ruledvpack ruledvtop runMPbuffer \ +runninghbox rvert sacute safechar samplefile \ +sans sansbold sansnormal sansserif savebox \ +savebtxdataset savebuffer savecounter savecurrentattributes savenormalmeaning \ +savetaggedtwopassdata savetwopassdata sbox scale scaron \ +scedilla schwa schwahook scircumflex scommaaccent \ +screen searrow secondoffivearguments secondoffourarguments secondofsixarguments \ +secondofthreearguments secondofthreeunexpanded secondoftwoarguments secondoftwounexpanded section \ +sectionmark seeindex select selectblocks serializecommalist \ +serializedcommalist serif serifbold serifnormal setJSpreamble \ +setMPlayer setMPpositiongraphic setMPpositiongraphicrange setMPtext setMPvariable \ +setMPvariables setbar setbigbodyfont setboxllx setboxlly \ +setbreakpoints setcapstrut setcatcodetable setcharacteralign setcharactercasing \ +setcharactercleaning setcharacterkerning setcharacterspacing setcharacterstripping setcharstrut \ +setcollector setcolormodell setcounter setcounterown setcurrentfontclass \ +setdataset setdefaultpenalties setdigitsmanipulation setdirection setdocumentargument \ +setdocumentargumentdefault setdocumentfilename setdummyparameter setelementexporttag setemeasure \ +setevalue setevariable setevariables setfirstline setflag \ +setfont setfontcolorsheme setfontfeature setfontsolution setfontstrut \ +setgmeasure setgvalue setgvariable setgvariables sethboxregister \ +sethyphenatedurlafter sethyphenatedurlbefore sethyphenatedurlnormal sethyphenationfeatures setinitial \ +setinjector setinteraction setinterfacecommand setinterfaceconstant setinterfaceelement \ +setinterfacemessage setinterfacevariable setinternalrendering setitaliccorrection setlayer \ +setlayerframed setlayertext setlinefiller setlocalhsize setmainbodyfont \ +setmainparbuilder setmarker setmarking setmathstyle setmeasure \ +setmessagetext setminus setmode setnostrut setnote \ +setnotetext setobject setoldstyle setpagegrid setpagereference \ +setpagestate setpagestaterealpageno setpenalties setpercentdimen setposition \ +setpositionbox setpositiondata setpositiondataplus setpositiononly setpositionplus \ +setpositionstrut setprofile setrandomseed setreference setreferencedobject \ +setregisterentry setreplacement setrigidcolumnbalance setrigidcolumnhsize setscript \ +setsectionblock setsimplecolumnhsize setsmallbodyfont setsmallcaps setstackbox \ +setstructurepageregister setstrut setsuperiors setsystemmode settabular \ +settaggedmetadata settextcontent settightobject settightreferencedobject settightunreferencedobject \ +settrialtypesetting setuevalue setugvalue setunreferencedobject setup \ +setupMPgraphics setupMPinstance setupMPpage setupMPvariables setupTABLE \ +setupTEXpage setupalign setupalternativestyles setuparranging setupattachment \ +setupattachments setupbackend setupbackground setupbackgrounds setupbar \ +setupbars setupblackrules setupblank setupbleeding setupblock \ +setupbodyfont setupbookmark setupbottom setupbottomtexts setupbtx \ +setupbtxdataset setupbtxlabeltext setupbtxlist setupbtxregister setupbtxrendering \ +setupbuffer setupbutton setupcapitals setupcaption setupcaptions \ +setupcharacterkerning setupcharacterspacing setupchemical setupchemicalframed setupclipping \ +setupcollector setupcolor setupcolors setupcolumns setupcolumnspan \ +setupcombination setupcombinedlist setupcomment setupcontent setupcounter \ +setupdataset setupdelimitedtext setupdescription setupdirections setupdocument \ +setupeffect setupenumeration setupenumerations setupenv setupexport \ +setupexternalfigure setupexternalsoundtracks setupfield setupfieldbody setupfieldcategory \ +setupfieldcontentframed setupfieldlabelframed setupfields setupfieldtotalframed setupfiller \ +setupfillinlines setupfillinrules setupfirstline setupfittingpage setupfloat \ +setupfloatcaption setupfloats setupfloatsplitting setupfontexpansion setupfontprotrusion \ +setupfonts setupfontsolution setupfooter setupfootertexts setupforms \ +setupformula setupformulae setupformulaframed setupframed setupframedcontent \ +setupframedtable setupframedtablecolumn setupframedtablerow setupframedtext setupframedtexts \ +setupglobalreferenceprefix setuphead setupheadalternative setupheader setupheadertexts \ +setupheadnumber setupheads setupheadtext setuphelp setuphigh \ +setuphighlight setuphyphenation setuphyphenmark setupindentedtext setupindenting \ +setupindex setupinitial setupinsertion setupinteraction setupinteractionbar \ +setupinteractionmenu setupinteractionscreen setupinterlinespace setupitaliccorrection setupitemgroup \ +setupitemizations setupitemize setupitems setuplabel setuplabeltext \ +setuplanguage setuplayer setuplayeredtext setuplayout setuplayouttext \ +setuplegend setuplinefiller setuplinefillers setuplinenote setuplinenumbering \ +setuplines setuplinetable setuplinewidth setuplist setuplistalternative \ +setuplistextra setuplocalfloats setuplocalinterlinespace setuplow setuplowhigh \ +setuplowmidhigh setupmakeup setupmarginblock setupmargindata setupmarginframed \ +setupmarginrule setupmarginrules setupmarking setupmathalignment setupmathcases \ +setupmathematics setupmathfence setupmathfraction setupmathfractions setupmathframed \ +setupmathlabeltext setupmathmatrix setupmathornament setupmathradical setupmathstackers \ +setupmathstyle setupmixedcolumns setupmodule setupnarrower setupnotation \ +setupnotations setupnote setupnotes setupoffset setupoffsetbox \ +setupoperatortext setupoppositeplacing setupoutputroutine setuppagechecker setuppagecomment \ +setuppagegrid setuppagegridarea setuppagegridareatext setuppagegridlines setuppagegridspan \ +setuppagegridstart setuppageinjection setuppageinjectionalternative setuppagenumber setuppagenumbering \ +setuppageshift setuppagestate setuppagetransitions setuppairedbox setuppalet \ +setuppaper setuppapersize setupparagraph setupparagraphintro setupparagraphnumbering \ +setupparagraphs setupparallel setupperiods setupplacement setuppositionbar \ +setuppositioning setupprefixtext setupprocessor setupprofile setupprograms \ +setupquotation setupquote setuprealpagenumber setupreferenceformat setupreferenceprefix \ +setupreferencestructureprefix setupreferencing setupregister setupregisters setuprenderingwindow \ +setuprotate setups setupscale setupscript setupscripts \ +setupsectionblock setupselector setupshift setupsidebar setupsorting \ +setupspacing setupspellchecking setupstartstop setupstretched setupstruts \ +setupstyle setupsubformula setupsubformulas setupsubpagenumber setupsuffixtext \ +setupsymbolset setupsynctex setupsynonyms setuptables setuptabulate \ +setuptabulation setuptagging setuptaglabeltext setuptext setuptextbackground \ +setuptextflow setuptextrules setuptexttexts setupthinrules setuptolerance \ +setuptooltip setuptop setuptoptexts setuptype setuptyping \ +setupunit setupunittext setupurl setupuserpagenumber setupversion \ +setupviewerlayer setupvspacing setupwhitespace setupwithargument setupwithargumentswapped \ +setupxml setupxtable setuvalue setuxvalue setvalue \ +setvariable setvariables setvboxregister setvisualizerfont setvtopregister \ +setwidthof setxmeasure setxvalue setxvariable setxvariables \ +seveneighths sfrac shapedhbox sharp shiftdown \ +shiftup showallmakeup showattributes showbodyfont showbodyfontenvironment \ +showboxes showbtxdatasetauthors showbtxdatasetcompleteness showbtxdatasetfields showbtxfields \ +showbtxhashedauthors showbtxtables showchardata showcharratio showcolor \ +showcolorbar showcolorcomponents showcolorgroup showcolorset showcolorstruts \ +showcounter showdirectives showdirsinmargin showedebuginfo showexperiments \ +showfont showfontdata showfontitalics showfontkerns showfontparameters \ +showfontstrip showfontstyle showframe showglyphs showgrid \ +showgridsnapping showhelp showhyphenationtrace showhyphens showinjector \ +showjustification showkerning showlayout showlayoutcomponents showligature \ +showligatures showlogcategories showmakeup showmargins showmessage \ +showminimalbaseline shownextbox showotfcomposition showpalet showparentchain \ +showprint showsetups showsetupsdefinition showstruts showsymbolset \ +showtimer showtokens showtrackers showvalue showvariable \ +showwarning sigma sim simeq simplealignedbox \ +simplealignedboxplus simplealignedspreadbox simplegroupedcommand simplereversealignedbox simplereversealignedboxplus \ +singalcharacteralign singlebond singleverticalbar sixperemspace sixthofsixarguments \ +slanted slantedbold slantedface slash slicepages \ +slong slovenianNumerals sloveniannumerals small smallbodyfont \ +smallbold smallbolditalic smallboldslanted smallcappedcharacters smallcappedromannumerals \ +smaller smallitalicbold smallnormal smallskip smallslanted \ +smallslantedbold smalltype smash smashbox smashboxed \ +smashedhbox smashedvbox smile snaptogrid softhyphen \ +solidus someheadnumber somekindoftab someline somelocalfloat \ +somenamedheadnumber someplace somewhere space spadesuit \ +spanishNumerals spanishnumerals speech sphericalangle splitatasterisk \ +splitatcolon splitatcolons splitatcomma splitatperiod splitdfrac \ +splitfilename splitfloat splitfrac splitoffbase splitofffull \ +splitoffkind splitoffname splitoffpath splitoffroot splitofftokens \ +splitofftype splitstring spreadhbox sqcap sqcup \ +sqrt sqsubset sqsubseteq sqsubsetneq sqsupset \ +sqsupseteq sqsupsetneq square squaredots ssharp \ +stackrel star stareq startJScode startJSpreamble \ +startLUA startMP startMPclip startMPcode startMPdefinitions \ +startMPdrawing startMPenvironment startMPextensions startMPinclusions startMPinitializations \ +startMPpage startMPpositiongraphic startMPpositionmethod startMPrun startPARSEDXML \ +startTABLE startTABLEbody startTABLEfoot startTABLEhead startTABLEnext \ +startTC startTD startTDs startTEX startTEXpage \ +startTH startTN startTR startTRs startTX \ +startTY startXML startalign startalignment startallmodes \ +startappendices startarrangedpages startaside startattachment startbackground \ +startbackmatter startbar startbbordermatrix startbitmapimage startblockquote \ +startbodymatter startbordermatrix startboxedcolumns startbtxlabeltext startbtxrenderingdefinitions \ +startbuffer startcases startcatcodetable startcenteraligned startchapter \ +startcharacteralign startcheckedfences startchemical startchemicaltext startcollect \ +startcollecting startcolor startcolorintent startcoloronly startcolorset \ +startcolumns startcolumnspan startcombination startcomment startcomponent \ +startcontextcode startcontextdefinitioncode startctxfunction startctxfunctiondefinition startcurrentcolor \ +startcurrentlistentrywrapper startdelimited startdelimitedtext startdisplaymath startdmath \ +startdocument starteffect startelement startembeddedxtable startendnote \ +startendofline startenvironment startexceptions startexpanded startexpandedcollect \ +startextendedcatcodetable startexternalfigurecollection startfact startfigure startfiguretext \ +startfittingpage startfixed startfloatcombination startfont startfontclass \ +startfontsolution startfootnote startformula startformulas startframed \ +startframedcell startframedcontent startframedrow startframedtable startframedtext \ +startfrontmatter startgoto startgraphictext startgridsnapping starthanging \ +starthbox starthboxestohbox starthboxregister starthead startheadtext \ +starthelptext starthiding starthighlight starthyphenation startimath \ +startindentation startindentedtext startinteraction startinteractionmenu startinterface \ +startintermezzotext startintertext startitem startitemgroup startitemgroupcolumns \ +startitemize startknockout startlabeltext startlayout startleftaligned \ +startlegend startline startlinealignment startlinecorrection startlinefiller \ +startlinenote startlinenumbering startlines startlinetable startlinetablebody \ +startlinetablecell startlinetablehead startlocalfootnotes startlocalheadsetup startlocallinecorrection \ +startlocalnotes startlocalsetups startlua startluacode startluaparameterset \ +startluasetups startmakeup startmarginblock startmarginrule startmarkedcontent \ +startmathalignment startmathcases startmathlabeltext startmathmatrix startmathmode \ +startmathstyle startmatrices startmatrix startmaxaligned startmdformula \ +startmidaligned startmiddlealigned startmiddlemakeup startmixedcolumns startmode \ +startmodeset startmodule startmoduletestsection startmpformula startnamedsection \ +startnamedsubformulas startnarrow startnarrower startnegative startnicelyfilledbox \ +startnointerference startnotallmodes startnotext startnotmode startoperatortext \ +startopposite startoutputstream startoverlay startoverprint startpacked \ +startpagecomment startpagefigure startpagegrid startpagegridspan startpagelayout \ +startpagemakeup startpar startparagraph startparagraphs startparagraphscell \ +startparbuilder startpart startpath startplacechemical startplacefigure \ +startplacefloat startplaceformula startplacegraphic startplaceintermezzo startplacelegend \ +startplacepairedbox startplacetable startpositioning startpositionoverlay startpositive \ +startpostponing startprefixtext startprocessassignmentcommand startprocessassignmentlist startprocesscommacommand \ +startprocesscommalist startproduct startproject startprotect startprotectedcolors \ +startpublication startpunctuation startquotation startquote startrandomized \ +startrandomseed startrawsetups startreadingfile startreferenceprefix startregime \ +startregister startreusableMPgraphic startrightaligned startscript startsdformula \ +startsection startsectionblock startsectionblockenvironment startsectionlevel startsetups \ +startshapebox startshift startsidebar startsimplecolumns startspecialitem \ +startspeech startspformula startsplitformula startspread startstandardmakeup \ +startstartstop startstaticMPfigure startstaticMPgraphic startstrictinspectnextcharacter startstructurepageregister \ +startstrut startstyle startsubformulas startsubject startsubjectlevel \ +startsubsection startsubsentence startsubstack startsubsubject startsubsubsection \ +startsubsubsubject startsubsubsubsection startsubsubsubsubject startsubsubsubsubsection startsubsubsubsubsubject \ +startsuffixtext startsymbolset starttable starttablehead starttables \ +starttabletail starttabletext starttabulate starttabulatehead starttabulatetail \ +starttagged starttaglabeltext starttexcode starttexdefinition starttext \ +starttextbackground starttextbackgroundmanual starttextcolor starttextcolorintent starttextflow \ +starttextmakeup starttextrule starttitle starttokens starttransparent \ +starttypescript starttypescriptcollection starttyping startuniqueMPgraphic startuniqueMPpagegraphic \ +startunittext startunpacked startusableMPgraphic startuseMPgraphic startusemathstyleparameter \ +startusingbtxspecification startvbox startvboxregister startvboxtohbox startvboxtohboxseparator \ +startviewerlayer startvtop startvtopregister startxcell startxcellgroup \ +startxgroup startxmldisplayverbatim startxmlinlineverbatim startxmlraw startxmlsetups \ +startxrow startxrowgroup startxtable startxtablebody startxtablefoot \ +startxtablehead startxtablenext stligature stopJScode stopJSpreamble \ +stopLUA stopMP stopMPclip stopMPcode stopMPdefinitions \ +stopMPdrawing stopMPenvironment stopMPextensions stopMPinclusions stopMPinitializations \ +stopMPpage stopMPpositiongraphic stopMPpositionmethod stopMPrun stopPARSEDXML \ +stopTABLE stopTABLEbody stopTABLEfoot stopTABLEhead stopTABLEnext \ +stopTC stopTD stopTDs stopTEX stopTEXpage \ +stopTH stopTN stopTR stopTRs stopTX \ +stopTY stopXML stopalign stopalignment stopallmodes \ +stopappendices stoparrangedpages stopaside stopattachment stopbackground \ +stopbackmatter stopbar stopbbordermatrix stopbitmapimage stopblockquote \ +stopbodymatter stopbordermatrix stopboxedcolumns stopbtxlabeltext stopbtxrenderingdefinitions \ +stopbuffer stopcases stopcatcodetable stopcenteraligned stopchapter \ +stopcharacteralign stopcheckedfences stopchemical stopchemicaltext stopcollect \ +stopcollecting stopcolor stopcolorintent stopcoloronly stopcolorset \ +stopcolumns stopcolumnspan stopcombination stopcomment stopcomponent \ +stopcontextcode stopcontextdefinitioncode stopctxfunction stopctxfunctiondefinition stopcurrentcolor \ +stopcurrentlistentrywrapper stopdelimited stopdelimitedtext stopdisplaymath stopdmath \ +stopdocument stopeffect stopelement stopembeddedxtable stopendnote \ +stopendofline stopenvironment stopexceptions stopexpanded stopexpandedcollect \ +stopextendedcatcodetable stopexternalfigurecollection stopfact stopfigure stopfiguretext \ +stopfittingpage stopfixed stopfloatcombination stopfont stopfontclass \ +stopfontsolution stopfootnote stopformula stopformulas stopframed \ +stopframedcell stopframedcontent stopframedrow stopframedtable stopframedtext \ +stopfrontmatter stopgoto stopgraphictext stopgridsnapping stophanging \ +stophbox stophboxestohbox stophboxregister stophead stopheadtext \ +stophelptext stophiding stophighlight stophyphenation stopimath \ +stopindentation stopindentedtext stopinteraction stopinteractionmenu stopinterface \ +stopintermezzotext stopintertext stopitem stopitemgroup stopitemgroupcolumns \ +stopitemize stopknockout stoplabeltext stoplayout stopleftaligned \ +stoplegend stopline stoplinealignment stoplinecorrection stoplinefiller \ +stoplinenote stoplinenumbering stoplines stoplinetable stoplinetablebody \ +stoplinetablecell stoplinetablehead stoplocalfootnotes stoplocalheadsetup stoplocallinecorrection \ +stoplocalnotes stoplocalsetups stoplua stopluacode stopluaparameterset \ +stopluasetups stopmakeup stopmarginblock stopmarginrule stopmarkedcontent \ +stopmathalignment stopmathcases stopmathlabeltext stopmathmatrix stopmathmode \ +stopmathstyle stopmatrices stopmatrix stopmaxaligned stopmdformula \ +stopmidaligned stopmiddlealigned stopmiddlemakeup stopmixedcolumns stopmode \ +stopmodeset stopmodule stopmoduletestsection stopmpformula stopnamedsection \ +stopnamedsubformulas stopnarrow stopnarrower stopnegative stopnicelyfilledbox \ +stopnointerference stopnotallmodes stopnotext stopnotmode stopoperatortext \ +stopopposite stopoutputstream stopoverlay stopoverprint stoppacked \ +stoppagecomment stoppagefigure stoppagegrid stoppagegridspan stoppagelayout \ +stoppagemakeup stoppar stopparagraph stopparagraphs stopparagraphscell \ +stopparbuilder stoppart stoppath stopplacechemical stopplacefigure \ +stopplacefloat stopplaceformula stopplacegraphic stopplaceintermezzo stopplacelegend \ +stopplacepairedbox stopplacetable stoppositioning stoppositionoverlay stoppositive \ +stoppostponing stopprefixtext stopprocessassignmentcommand stopprocessassignmentlist stopprocesscommacommand \ +stopprocesscommalist stopproduct stopproject stopprotect stopprotectedcolors \ +stoppublication stoppunctuation stopquotation stopquote stoprandomized \ +stoprandomseed stoprawsetups stopreadingfile stopreferenceprefix stopregime \ +stopregister stopreusableMPgraphic stoprightaligned stopscript stopsdformula \ +stopsection stopsectionblock stopsectionblockenvironment stopsectionlevel stopsetups \ +stopshapebox stopshift stopsidebar stopsimplecolumns stopspecialitem \ +stopspeech stopspformula stopsplitformula stopspread stopstandardmakeup \ +stopstartstop stopstaticMPfigure stopstaticMPgraphic stopstrictinspectnextcharacter stopstructurepageregister \ +stopstrut stopstyle stopsubformulas stopsubject stopsubjectlevel \ +stopsubsection stopsubsentence stopsubstack stopsubsubject stopsubsubsection \ +stopsubsubsubject stopsubsubsubsection stopsubsubsubsubject stopsubsubsubsubsection stopsubsubsubsubsubject \ +stopsuffixtext stopsymbolset stoptable stoptablehead stoptables \ +stoptabletail stoptabletext stoptabulate stoptabulatehead stoptabulatetail \ +stoptagged stoptaglabeltext stoptexcode stoptexdefinition stoptext \ +stoptextbackground stoptextbackgroundmanual stoptextcolor stoptextcolorintent stoptextflow \ +stoptextmakeup stoptextrule stoptitle stoptokens stoptransparent \ +stoptypescript stoptypescriptcollection stoptyping stopuniqueMPgraphic stopuniqueMPpagegraphic \ +stopunittext stopunpacked stopusableMPgraphic stopuseMPgraphic stopusemathstyleparameter \ +stopusingbtxspecification stopvbox stopvboxregister stopvboxtohbox stopvboxtohboxseparator \ +stopviewerlayer stopvtop stopvtopregister stopxcell stopxcellgroup \ +stopxgroup stopxmldisplayverbatim stopxmlinlineverbatim stopxmlraw stopxmlsetups \ +stopxrow stopxrowgroup stopxtable stopxtablebody stopxtablefoot \ +stopxtablehead stopxtablenext stretched strictdoifelsenextoptional strictdoifnextoptionalelse \ +stripcharacter strippedcsname stripspaces structurelistuservariable structurenumber \ +structuretitle structureuservariable structurevariable strut strutdp \ +strutgap strutht struthtdp struttedbox strutwd \ +style styleinstance subject subpagenumber subsection \ +subsentence subset subseteq subseteqq subsetneq \ +subsetneqq substituteincommalist subsubject subsubsection subsubsubject \ +subsubsubsection subsubsubsubject subsubsubsubsection subsubsubsubsubject subtractfeature \ +succ succapprox succcurlyeq succeq succeqq \ +succnapprox succneq succneqq succnsim succsim \ +suffixlanguage suffixtext sum supset supseteq \ +supseteqq supsetneq supsetneqq surd surdradical \ +swapcounts swapdimens swapface swapmacros swaptypeface \ +swarrow switchstyleonly switchtobodyfont switchtocolor switchtointerlinespace \ +symbol symbolreference synchronizeblank synchronizeindenting synchronizemarking \ +synchronizeoutputstreams synchronizestrut synchronizewhitespace synctexblockfilename synctexresetfilename \ +synctexsetfilename systemlog systemlogfirst systemloglast systemsetups \ +tLeftarrow tLeftrightarrow tRightarrow tabulateautoline tabulateautorule \ +tabulateline tabulaterule taggedctxcommand taggedlabeltexts taglabellanguage \ +taglabeltext tau tbinom tbox tcaron \ +tcedilla tcommaaccent tcurl tequal test \ +testandsplitstring testcolumn testfeature testfeatureonce testpage \ +testpageonly testpagesync testtokens tex texdefinition \ +texsetup textAngstrom textacute textampersand textasciicircum \ +textasciitilde textat textbackslash textbar textbottomcomma \ +textbottomdot textbraceleft textbraceright textbreve textbrokenbar \ +textbullet textcaron textcedilla textcelsius textcent \ +textcircledP textcircumflex textcitation textcite textcomma \ +textcontrolspace textcurrency textdag textddag textdegree \ +textdiaeresis textdiv textdollar textdong textdotaccent \ +textellipsis texteuro textflowcollector textfraction textgrave \ +texthash texthorizontalbar texthungarumlaut texthyphen textkelvin \ +textlognot textmacron textmath textmho textminus \ +textmu textmultiply textnumero textogonek textohm \ +textormathchar textounce textpercent textperiod textplus \ +textpm textreference textring textrule textslash \ +textsterling texttilde textunderscore textvisiblespace textyen \ +thai thainumerals thefirstcharacter thenormalizedbodyfontsize therefore \ +theremainingcharacters theta thickspace thinrule thinrules \ +thinspace thirdoffivearguments thirdoffourarguments thirdofsixarguments thirdofthreearguments \ +thirdofthreeunexpanded thook thookleftarrow thookrightarrow thorn \ +threedigitrounding threeeighths threefifths threeperemspace threequarter \ +threesuperior tibetannumerals tightlayer tilde times \ +tinyfont title tlap tleftarrow tleftharpoondown \ +tleftharpoonup tleftrightarrow tleftrightharpoons tmapsto to \ +tochar tolinenote tooltip top topbox \ +topleftbox toplinebox toprightbox topskippedbox tracecatcodetables \ +tracedfontname traceoutputroutines tracepositions trademark translate \ +transparencycomponents transparent trel triangle triangledown \ +triangleleft triangleq triangleright trightarrow trightharpoondown \ +trightharpoonup trightleftharpoons trightoverleftarrow triplebond tripleprime \ +tripleverticalbar truefilename truefontname tstroke ttraggedright \ +ttriplerel ttwoheadleftarrow ttwoheadrightarrow turnediota twodigitrounding \ +twofifths twoheaddownarrow twoheadleftarrow twoheadrightarrow twoheadrightarrowtail \ +twoheaduparrow twosuperior twothirds tx txx \ +typ type typebuffer typedefinedbuffer typeface \ +typefile typeinlinebuffer typescriptone typescriptprefix typescriptthree \ +typescripttwo typesetbuffer typesetfile uacute ubreve \ +ucaron ucircumflex uconvertnumber udiaeresis udiaeresisacute \ +udiaeresiscaron udiaeresisgrave udiaeresismacron udotbelow udots \ +udoublegrave uedcatcodecommand ugrave uhook uhorn \ +uhornacute uhorndotbelow uhorngrave uhornhook uhorntilde \ +uhungarumlaut uinvertedbreve ulcorner umacron undefinevalue \ +undepthed underbar underbars underbrace underbracket \ +underdash underdashes underdot underdots underleftarrow \ +underparent underrandom underrandoms underrightarrow underset \ +understrike understrikes undoassign unexpandeddocumentvariable unframed \ +unhhbox unihex uniqueMPgraphic uniqueMPpagegraphic unit \ +unitlanguage unitshigh unitslow unittext unknown \ +unprotected unregisterhyphenationpattern unspaceafter unspaceargument unspaced \ +unspacestring untexargument untexcommand uogonek upand \ +uparrow updasharrow updownarrow updownarrowbar updownarrows \ +upharpoonleft upharpoonright uplus uppercased uppercasestring \ +upperleftdoubleninequote upperleftdoublesixquote upperleftsingleninequote upperleftsinglesixquote upperrightdoubleninequote \ +upperrightdoublesixquote upperrightsingleninequote upperrightsinglesixquote upsilon upuparrows \ +upwhitearrow urcorner uring url useJSscripts \ +useMPenvironmentbuffer useMPgraphic useMPlibrary useMPrun useMPvariables \ +useURL usealignparameter useblankparameter useblocks usebodyfont \ +usebodyfontparameter usebtxdataset usebtxdefinitions usecitation usecolors \ +usecomponent usedirectory usedummycolorparameter usedummystyleandcolor usedummystyleparameter \ +useenvironment useexternaldocument useexternalfigure useexternalrendering useexternalsoundtrack \ +usefigurebase usefile usegridparameter useindentingparameter useindentnextparameter \ +useinterlinespaceparameter uselanguageparameter useluamodule usemathstyleparameter usemodule \ +useproduct useprofileparameter useproject usereferenceparameter userpagenumber \ +usesetupsparameter usestaticMPfigure usesubpath usesymbols usetexmodule \ +usetypescript usetypescriptfile useurl usezipfile utfchar \ +utflower utfupper utilde utilityregisterlength vDash \ +varTheta varepsilon varkappa varnothing varphi \ +varpi varrho varsigma vartheta vboxreference \ +vdash vdots vec vee veebar \ +veeeq verbatim verbatimstring verbosenumber version \ +vert verticalgrowingbar verticalpositionbar veryraggedcenter veryraggedleft \ +veryraggedright vglue viewerlayer vl vphantom \ +vpos vsmash vsmashbox vsmashed vspace \ +vspacing wcircumflex wdofstring wedge wedgeeq \ +weekday whitearrowupfrombar widehat widetilde widthofstring \ +widthspanningtext withoutpt word wordright words \ +wordtonumber wp wr writebetweenlist writedatatolist \ +writestatus writetolist xLeftarrow xLeftrightarrow xRightarrow \ +xdefconvertedargument xequal xfrac xhookleftarrow xhookrightarrow \ +xi xleftarrow xleftharpoondown xleftharpoonup xleftrightarrow \ +xleftrightharpoons xmapsto xmladdindex xmlafterdocumentsetup xmlaftersetup \ +xmlall xmlappenddocumentsetup xmlappendsetup xmlapplyselectors xmlatt \ +xmlattdef xmlattribute xmlattributedef xmlbadinclusions xmlbeforedocumentsetup \ +xmlbeforesetup xmlchainatt xmlchainattdef xmlchecknamespace xmlcommand \ +xmlconcat xmlconcatrange xmlcontext xmlcount xmldefaulttotext \ +xmldirectives xmldirectivesafter xmldirectivesbefore xmldisplayverbatim xmldoif \ +xmldoifelse xmldoifelseempty xmldoifelseselfempty xmldoifelsetext xmldoifelsevalue \ +xmldoifnot xmldoifnotselfempty xmldoifnottext xmldoifselfempty xmldoiftext \ +xmlelement xmlfilter xmlfirst xmlflush xmlflushcontext \ +xmlflushdocumentsetups xmlflushlinewise xmlflushpure xmlflushspacewise xmlflushtext \ +xmlinclude xmlinclusion xmlinclusions xmlinfo xmlinjector \ +xmlinlineprettyprint xmlinlineprettyprinttext xmlinlineverbatim xmlinstalldirective xmllast \ +xmllastatt xmllastmatch xmllastpar xmlloadbuffer xmlloaddata \ +xmlloaddirectives xmlloadfile xmlloadonly xmlmain xmlmapvalue \ +xmlname xmlnamespace xmlnonspace xmlpar xmlparam \ +xmlpath xmlpos xmlposition xmlprependdocumentsetup xmlprependsetup \ +xmlprettyprint xmlprettyprinttext xmlprocessbuffer xmlprocessdata xmlprocessfile \ +xmlpure xmlraw xmlrefatt xmlregistereddocumentsetups xmlregisteredsetups \ +xmlregisterns xmlremapname xmlremapnamespace xmlremovedocumentsetup xmlremovesetup \ +xmlresetdocumentsetups xmlresetinjectors xmlresetsetups xmlsave xmlsetatt \ +xmlsetattribute xmlsetentity xmlsetfunction xmlsetinjectors xmlsetpar \ +xmlsetparam xmlsetsetup xmlsetup xmlshow xmlsnippet \ +xmlstrip xmlstripnolines xmlstripped xmlstrippednolines xmltag \ +xmltexentity xmltext xmltobuffer xmltobufferverbose xmltofile \ +xmlvalue xmlverbatim xrel xrightarrow xrightharpoondown \ +xrightharpoonup xrightleftharpoons xrightoverleftarrow xsplitstring xtriplerel \ +xtwoheadleftarrow xtwoheadrightarrow xxfrac xypos yacute \ +ycircumflex ydiaeresis ydotbelow yen ygrave \ +yhook ymacron ytilde zacute zcaron \ +zdotaccent zerowidthnobreakspace zerowidthspace zeta zhook \ +zstroke zwj zwnj keywordclass.context.cs=\ Cisla Kap MESIC Rimskecislice \ diff --git a/context/data/scite/context/scite-context-data-tex.properties b/context/data/scite/context/scite-context-data-tex.properties index ece23c77b..05ddc71fd 100644 --- a/context/data/scite/context/scite-context-data-tex.properties +++ b/context/data/scite/context/scite-context-data-tex.properties @@ -59,23 +59,23 @@ ifprimitive ignoreligaturesinfont initcatcodetable insertht lastnamedcs \ lastsavedboxresourceindex lastsavedimageresourceindex lastsavedimageresourcepages lastxpos lastypos \ latelua leftghost leftmarginkern letcharcode letterspacefont \ linedir linedirection localbrokenpenalty localinterlinepenalty localleftbox \ -localrightbox lpcode luaescapestring luafunction luatexbanner \ -luatexrevision luatexversion mathdelimitersmode mathdir mathdirection \ -mathdisplayskipmode matheqnogapstep mathitalicsmode mathnolimitsmode mathoption \ -mathpenaltiesmode mathrulesfam mathrulesmode mathscriptsmode mathscriptboxmode \ -mathstyle mathsurroundmode mathsurroundskip nohrule nokerns \ -noligs normaldeviate nospaces novrule outputbox \ -outputmode pagebottomoffset pagedir pagedirection pageheight \ -pageleftoffset pagerightoffset pagetopoffset pagewidth pardir \ -pardirection pdfextension pdffeedback pdfvariable postexhyphenchar \ -posthyphenchar prebinoppenalty predisplaygapfactor preexhyphenchar prehyphenchar \ -prerelpenalty primitive protrudechars pxdimen quitvmode \ -randomseed rightghost rightmarginkern rpcode saveboxresource \ -savecatcodetable saveimageresource savepos scantextokens setfontid \ -setrandomseed shapemode suppressfontnotfounderror suppressifcsnameerror suppresslongerror \ -suppressmathparerror suppressoutererror suppressprimitiveerror synctex tagcode \ -textdir textdirection toksapp tokspre tracingfonts \ -uniformdeviate useboxresource useimageresource +localrightbox lpcode luaescapestring luafunction luafunctioncall \ +luatexbanner luatexrevision luatexversion mathdelimitersmode mathdir \ +mathdirection mathdisplayskipmode matheqnogapstep mathitalicsmode mathnolimitsmode \ +mathoption mathpenaltiesmode mathrulesfam mathrulesmode mathscriptsmode \ +mathscriptboxmode mathstyle mathsurroundmode mathsurroundskip nohrule \ +nokerns noligs normaldeviate nospaces novrule \ +outputbox outputmode pagebottomoffset pagedir pagedirection \ +pageheight pageleftoffset pagerightoffset pagetopoffset pagewidth \ +pardir pardirection pdfextension pdffeedback pdfvariable \ +postexhyphenchar posthyphenchar prebinoppenalty predisplaygapfactor preexhyphenchar \ +prehyphenchar prerelpenalty primitive protrudechars pxdimen \ +quitvmode randomseed rightghost rightmarginkern rpcode \ +saveboxresource savecatcodetable saveimageresource savepos scantextokens \ +setfontid setrandomseed shapemode suppressfontnotfounderror suppressifcsnameerror \ +suppresslongerror suppressmathparerror suppressoutererror suppressprimitiveerror synctex \ +tagcode textdir textdirection toksapp tokspre \ +tracingfonts uniformdeviate useboxresource useimageresource keywordclass.tex.omega=\ Omegaminorversion Omegarevision Omegaversion diff --git a/context/data/textadept/context/data/scite-context-data-context.lua b/context/data/textadept/context/data/scite-context-data-context.lua index 3ecca045b..15ce97796 100644 --- a/context/data/textadept/context/data/scite-context-data-context.lua +++ b/context/data/textadept/context/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", "maxcount", "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", "texenginefunctionality", "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", "mathexheight", "mathemwidth", "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", "unexpandeddocumentvariable", "setupdocument", "presetdocument", "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", "lrm", "rlm", "bidilre", "bidirle", "bidipop", "bidilro", "bidirlo", "breakablethinspace", "nobreakspace", "nonbreakablespace", "narrownobreakspace", "zerowidthnobreakspace", "ideographicspace", "ideographichalffillspace", "twoperemspace", "threeperemspace", "fourperemspace", "fiveperemspace", "sixperemspace", "figurespace", "punctuationspace", "hairspace", "enquad", "emquad", "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj", "optionalspace", "asciispacechar", "softhyphen", "Ux", "eUx", "Umathaccents", "parfillleftskip", "parfillrightskip" }, - ["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", "foundtrue", "foundfalse", "inlineordisplaymath", "indisplaymath", "forcedisplaymath", "startforceddisplaymath", "stopforceddisplaymath", "startpickupmath", "stoppickupmath", "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", "privatescratchcounter", "scratchdimen", "globalscratchdimen", "privatescratchdimen", "scratchskip", "globalscratchskip", "privatescratchskip", "scratchmuskip", "globalscratchmuskip", "privatescratchmuskip", "scratchtoks", "globalscratchtoks", "privatescratchtoks", "scratchbox", "globalscratchbox", "privatescratchbox", "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", "scratchcounterfour", "scratchcounterfive", "scratchcountersix", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchdimenfour", "scratchdimenfive", "scratchdimensix", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchskipfour", "scratchskipfive", "scratchskipsix", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchmuskipfour", "scratchmuskipfive", "scratchmuskipsix", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchtoksfour", "scratchtoksfive", "scratchtokssix", "scratchboxone", "scratchboxtwo", "scratchboxthree", "scratchboxfour", "scratchboxfive", "scratchboxsix", "scratchnx", "scratchny", "scratchmx", "scratchmy", "scratchunicode", "scratchmin", "scratchmax", "scratchleftskip", "scratchrightskip", "scratchtopskip", "scratchbottomskip", "doif", "doifnot", "doifelse", "doifinset", "doifnotinset", "doifelseinset", "doifinsetelse", "doifelsenextchar", "doifnextcharelse", "doifelsenextoptional", "doifnextoptionalelse", "doifelsenextoptionalcs", "doifnextoptionalcselse", "doifelsefastoptionalcheck", "doiffastoptionalcheckelse", "doifelsefastoptionalcheckcs", "doiffastoptionalcheckcselse", "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", "doiftext", "doifelsetext", "doiftextelse", "doifnottext", "tracingall", "tracingnone", "loggingall", "removetoks", "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", "endgraf", "endpar", "everyendpar", "reseteverypar", "finishpar", "empty", "null", "space", "quad", "enspace", "emspace", "charspace", "nbsp", "crlf", "obeyspaces", "obeylines", "obeyedspace", "obeyedline", "obeyedtab", "obeyedpage", "normalspace", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", "removepunctuation", "ignoreparskip", "forcestrutdepth", "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", "fastloopindex", "fastloopfinal", "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", "halflinestrut", "noheightstrut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "struthtdp", "strutgap", "begstrut", "endstrut", "lineheight", "leftboundary", "rightboundary", "signalcharacter", "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", "normalnosuperscript", "normalnosubscript", "superscript", "subscript", "nosuperscript", "nosubscript", "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", "lastlinewidth", "assumelongusagecs", "Umathbotaccent", "righttolefthbox", "lefttorighthbox", "righttoleftvbox", "lefttorightvbox", "righttoleftvtop", "lefttorightvtop", "rtlhbox", "ltrhbox", "rtlvbox", "ltrvbox", "rtlvtop", "ltrvtop", "autodirhbox", "autodirvbox", "autodirvtop", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "lefttoright", "righttoleft", "checkedlefttoright", "checkedrighttoleft", "synchronizelayoutdirection", "synchronizedisplaydirection", "synchronizeinlinedirection", "dirlre", "dirrle", "dirlro", "dirrlo", "lesshyphens", "morehyphens", "nohyphens", "dohyphens", "Ucheckedstartdisplaymath", "Ucheckedstopdisplaymath", "break", "nobreak", "allowbreak", "goodbreak", "nospace", "nospacing", "dospacing", "naturalhbox", "naturalvbox", "naturalvtop", "naturalhpack", "naturalvpack", "frule", "compoundhyphenpenalty", "start", "stop" }, + ["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", "foundtrue", "foundfalse", "inlineordisplaymath", "indisplaymath", "forcedisplaymath", "startforceddisplaymath", "stopforceddisplaymath", "startpickupmath", "stoppickupmath", "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", "privatescratchcounter", "scratchdimen", "globalscratchdimen", "privatescratchdimen", "scratchskip", "globalscratchskip", "privatescratchskip", "scratchmuskip", "globalscratchmuskip", "privatescratchmuskip", "scratchtoks", "globalscratchtoks", "privatescratchtoks", "scratchbox", "globalscratchbox", "privatescratchbox", "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", "scratchcounterfour", "scratchcounterfive", "scratchcountersix", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchdimenfour", "scratchdimenfive", "scratchdimensix", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchskipfour", "scratchskipfive", "scratchskipsix", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchmuskipfour", "scratchmuskipfive", "scratchmuskipsix", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchtoksfour", "scratchtoksfive", "scratchtokssix", "scratchboxone", "scratchboxtwo", "scratchboxthree", "scratchboxfour", "scratchboxfive", "scratchboxsix", "scratchnx", "scratchny", "scratchmx", "scratchmy", "scratchunicode", "scratchmin", "scratchmax", "scratchleftskip", "scratchrightskip", "scratchtopskip", "scratchbottomskip", "doif", "doifnot", "doifelse", "doifinset", "doifnotinset", "doifelseinset", "doifinsetelse", "doifelsenextchar", "doifnextcharelse", "doifelsenextoptional", "doifnextoptionalelse", "doifelsenextoptionalcs", "doifnextoptionalcselse", "doifelsefastoptionalcheck", "doiffastoptionalcheckelse", "doifelsefastoptionalcheckcs", "doiffastoptionalcheckcselse", "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", "doiftext", "doifelsetext", "doiftextelse", "doifnottext", "tracingall", "tracingnone", "loggingall", "removetoks", "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", "endgraf", "endpar", "everyendpar", "reseteverypar", "finishpar", "empty", "null", "space", "quad", "enspace", "emspace", "charspace", "nbsp", "crlf", "obeyspaces", "obeylines", "obeyedspace", "obeyedline", "obeyedtab", "obeyedpage", "normalspace", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", "removepunctuation", "ignoreparskip", "forcestrutdepth", "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", "setexpandeddummyparameter", "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", "fastloopindex", "fastloopfinal", "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", "halflinestrut", "noheightstrut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "struthtdp", "strutgap", "begstrut", "endstrut", "lineheight", "leftboundary", "rightboundary", "signalcharacter", "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", "normalnosuperscript", "normalnosubscript", "superscript", "subscript", "nosuperscript", "nosubscript", "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", "installctxfunctioncall", "installprotectedctxfunction", "installprotectedctxfunctioncall", "installctxscanner", "installctxscannercall", "resetctxscanner", "installprotectedctxscanner", "installprotectedctxscannercall", "cldprocessfile", "cldloadfile", "cldcontext", "cldcommand", "carryoverpar", "lastlinewidth", "assumelongusagecs", "Umathbotaccent", "righttolefthbox", "lefttorighthbox", "righttoleftvbox", "lefttorightvbox", "righttoleftvtop", "lefttorightvtop", "rtlhbox", "ltrhbox", "rtlvbox", "ltrvbox", "rtlvtop", "ltrvtop", "autodirhbox", "autodirvbox", "autodirvtop", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "lefttoright", "righttoleft", "checkedlefttoright", "checkedrighttoleft", "synchronizelayoutdirection", "synchronizedisplaydirection", "synchronizeinlinedirection", "dirlre", "dirrle", "dirlro", "dirrlo", "lesshyphens", "morehyphens", "nohyphens", "dohyphens", "Ucheckedstartdisplaymath", "Ucheckedstopdisplaymath", "break", "nobreak", "allowbreak", "goodbreak", "nospace", "nospacing", "dospacing", "naturalhbox", "naturalvbox", "naturalvtop", "naturalhpack", "naturalvpack", "frule", "compoundhyphenpenalty", "start", "stop" }, } \ No newline at end of file diff --git a/context/data/textadept/context/data/scite-context-data-interfaces.lua b/context/data/textadept/context/data/scite-context-data-interfaces.lua index 943d6bcc1..14036ae5d 100644 --- a/context/data/textadept/context/data/scite-context-data-interfaces.lua +++ b/context/data/textadept/context/data/scite-context-data-interfaces.lua @@ -1,5 +1,5 @@ return { - ["common"]={ "AEacute", "AEligature", "AEmacron", "AMSTEX", "Aacute", "Abreve", "Abreveacute", "Abrevedotbelow", "Abrevegrave", "Abrevehook", "Abrevetilde", "Acaron", "Acircumflex", "Acircumflexacute", "Acircumflexdotbelow", "Acircumflexgrave", "Acircumflexhook", "Acircumflextilde", "Adiaeresis", "Adiaeresismacron", "Adotaccent", "Adotaccentmacron", "Adotbelow", "Adoublegrave", "AfterPar", "Agrave", "Ahook", "Ainvertedbreve", "Alpha", "Alphabeticnumerals", "AmSTeX", "Amacron", "And", "Angstrom", "Aogonek", "Aring", "Aringacute", "Arrowvert", "Astroke", "Atilde", "BeforePar", "Beta", "Bhook", "Big", "Bigg", "Biggl", "Biggm", "Biggr", "Bigl", "Bigm", "Bigr", "Box", "Bumpeq", "CONTEXT", "Cacute", "Cap", "Caps", "Ccaron", "Ccedilla", "Ccircumflex", "Cdotaccent", "Character", "Characters", "Chi", "Chook", "ConTeXt", "Context", "ConvertConstantAfter", "ConvertToConstant", "Cstroke", "Cup", "DZcaronligature", "DZligature", "Dafrican", "Dcaron", "Ddownarrow", "Delta", "Dhook", "Doteq", "Downarrow", "Dstroke", "Dzcaronligature", "Dzligature", "ETEX", "Eacute", "Ebreve", "Ecaron", "Ecedilla", "Ecircumflex", "Ecircumflexacute", "Ecircumflexdotbelow", "Ecircumflexgrave", "Ecircumflexhook", "Ecircumflextilde", "Ediaeresis", "Edotaccent", "Edotbelow", "Edoublegrave", "Egrave", "Ehook", "Einvertedbreve", "Emacron", "Eogonek", "Epsilon", "Eta", "Eth", "Etilde", "Eulerconst", "EveryLine", "EveryPar", "Fhook", "Finv", "Gacute", "Game", "Gamma", "Gbreve", "Gcaron", "Gcircumflex", "Gcommaaccent", "Gdotaccent", "GetPar", "Ghook", "GotoPar", "Greeknumerals", "Gstroke", "Hat", "Hcaron", "Hcircumflex", "Hstroke", "IJligature", "INRSTEX", "Iacute", "Ibreve", "Icaron", "Icircumflex", "Idiaeresis", "Idotaccent", "Idotbelow", "Idoublegrave", "Igrave", "Ihook", "Iinvertedbreve", "Im", "Imacron", "Iogonek", "Iota", "Istroke", "Itilde", "Jcircumflex", "Join", "Kappa", "Kcaron", "Kcommaaccent", "Khook", "LAMSTEX", "LATEX", "LJligature", "LUAJITTEX", "LUATEX", "LaTeX", "Lacute", "LamSTeX", "Lambda", "Lbar", "Lcaron", "Lcommaaccent", "Ldotmiddle", "Ldsh", "Leftarrow", "Leftrightarrow", "Ljligature", "Lleftarrow", "Longleftarrow", "Longleftrightarrow", "Longmapsfrom", "Longmapsto", "Longrightarrow", "Lsh", "Lstroke", "Lua", "LuaTeX", "LuajitTeX", "METAFONT", "METAFUN", "METAPOST", "MKII", "MKIV", "MKIX", "MKVI", "MKXI", "MONTH", "MONTHLONG", "MONTHSHORT", "MPII", "MPIV", "MPVI", "MPanchor", "MPbetex", "MPc", "MPcode", "MPcolor", "MPcoloronly", "MPcolumn", "MPd", "MPdrawing", "MPfontsizehskip", "MPgetmultipars", "MPgetmultishape", "MPgetposboxes", "MPh", "MPinclusions", "MPleftskip", "MPll", "MPlr", "MPls", "MPmenubuttons", "MPn", "MPoptions", "MPoverlayanchor", "MPp", "MPpage", "MPpardata", "MPplus", "MPpos", "MPpositiongraphic", "MPposset", "MPr", "MPrawvar", "MPregion", "MPrest", "MPrightskip", "MPrs", "MPstring", "MPtext", "MPtransparency", "MPul", "MPur", "MPv", "MPvar", "MPvariable", "MPvv", "MPw", "MPwhd", "MPx", "MPxy", "MPxywhd", "MPy", "Mapsfrom", "Mapsto", "MetaFont", "MetaFun", "MetaPost", "Mu", "NJligature", "Nacute", "Ncaron", "Ncommaaccent", "Nearrow", "Neng", "Ngrave", "Njligature", "NormalizeFontHeight", "NormalizeFontWidth", "NormalizeTextHeight", "NormalizeTextWidth", "Ntilde", "Nu", "Numbers", "Nwarrow", "OEligature", "Oacute", "Obreve", "Ocaron", "Ocircumflex", "Ocircumflexacute", "Ocircumflexdotbelow", "Ocircumflexgrave", "Ocircumflexhook", "Ocircumflextilde", "Odiaeresis", "Odiaeresismacron", "Odotaccent", "Odotaccentmacron", "Odotbelow", "Odoublegrave", "Ograve", "Ohook", "Ohorn", "Ohornacute", "Ohorndotbelow", "Ohorngrave", "Ohornhook", "Ohorntilde", "Ohungarumlaut", "Oinvertedbreve", "Omacron", "Omega", "Omicron", "Oogonek", "Oogonekmacron", "Ostroke", "Ostrokeacute", "Otilde", "Otildemacron", "P", "PDFETEX", "PDFTEX", "PDFcolor", "PICTEX", "PPCHTEX", "PPCHTeX", "PRAGMA", "Phi", "Phook", "Pi", "PiCTeX", "Plankconst", "PointsToBigPoints", "PointsToReal", "PointsToWholeBigPoints", "PropertyLine", "Psi", "PtToCm", "Racute", "Rcaron", "Rcommaaccent", "Rdoublegrave", "Rdsh", "Re", "ReadFile", "Relbar", "Rho", "Rightarrow", "Rinvertedbreve", "Romannumerals", "Rrightarrow", "Rsh", "S", "Sacute", "ScaledPointsToBigPoints", "ScaledPointsToWholeBigPoints", "Scaron", "Scedilla", "Schwa", "Scircumflex", "Scommaaccent", "Searrow", "Sigma", "Smallcapped", "Subset", "Supset", "Swarrow", "TABLE", "TEX", "TaBlE", "Tau", "Tcaron", "Tcedilla", "Tcommaaccent", "TeX", "TheNormalizedFontSize", "Theta", "Thook", "Thorn", "TransparencyHack", "Tstroke", "Uacute", "Ubreve", "Ucaron", "Ucircumflex", "Udiaeresis", "Udiaeresisacute", "Udiaeresiscaron", "Udiaeresisgrave", "Udiaeresismacron", "Udotbelow", "Udoublegrave", "Ugrave", "Uhook", "Uhorn", "Uhornacute", "Uhorndotbelow", "Uhorngrave", "Uhornhook", "Uhorntilde", "Uhungarumlaut", "Uinvertedbreve", "Umacron", "Uogonek", "Uparrow", "Updownarrow", "Upsilon", "Uring", "Utilde", "Uuparrow", "VDash", "Vdash", "VerboseNumber", "Vert", "Vvdash", "WEEKDAY", "WORD", "WORDS", "Wcircumflex", "WidthSpanningText", "Word", "Words", "XETEX", "XeTeX", "Xi", "Yacute", "Ycircumflex", "Ydiaeresis", "Ydotbelow", "Ygrave", "Yhook", "Ymacron", "Ytilde", "Zacute", "Zcaron", "Zdotaccent", "Zeta", "Zhook", "Zstroke", "aacute", "abbreviation", "abjadnaivenumerals", "abjadnodotnumerals", "abjadnumerals", "about", "abreve", "abreveacute", "abrevedotbelow", "abrevegrave", "abrevehook", "abrevetilde", "acaron", "acircumflex", "acircumflexacute", "acircumflexdotbelow", "acircumflexgrave", "acircumflexhook", "acircumflextilde", "activatespacehandler", "actuarial", "acute", "acwopencirclearrow", "adaptcollector", "adaptfontfeature", "adaptlayout", "adaptpapersize", "addfeature", "addfontpath", "addtoJSpreamble", "addtocommalist", "addvalue", "adiaeresis", "adiaeresismacron", "adotaccent", "adotaccentmacron", "adotbelow", "adoublegrave", "aeacute", "aeligature", "aemacron", "afghanicurrency", "aftersplitstring", "aftertestandsplitstring", "agrave", "ahook", "ainvertedbreve", "aleph", "alignbottom", "aligned", "alignedbox", "alignedline", "alignhere", "alignmentcharacter", "allinputpaths", "alpha", "alphabeticnumerals", "alwayscitation", "alwayscite", "amacron", "amalg", "ampersand", "anchor", "angle", "aogonek", "appendetoks", "appendgvalue", "appendtocommalist", "appendtoks", "appendtoksonce", "appendvalue", "apply", "applyalternativestyle", "applyprocessor", "applytocharacters", "applytofirstcharacter", "applytosplitstringchar", "applytosplitstringcharspaced", "applytosplitstringline", "applytosplitstringlinespaced", "applytosplitstringword", "applytosplitstringwordspaced", "applytowords", "approx", "approxEq", "approxeq", "approxnEq", "arabicakbar", "arabicalayhe", "arabicallah", "arabicallallahou", "arabicasterisk", "arabicbasmalah", "arabiccomma", "arabiccuberoot", "arabicdateseparator", "arabicdecimals", "arabicdisputedendofayah", "arabicendofayah", "arabicexnumerals", "arabicfootnotemarker", "arabicfourthroot", "arabichighain", "arabichighalayheassallam", "arabichigheqala", "arabichighesala", "arabichighfootnotemarker", "arabichighjeem", "arabichighlamalef", "arabichighmadda", "arabichighmeemlong", "arabichighmeemshort", "arabichighnisf", "arabichighnoon", "arabichighnoonkasra", "arabichighqaf", "arabichighqif", "arabichighradiallahouanhu", "arabichighrahmatullahalayhe", "arabichighrubc", "arabichighsad", "arabichighsajda", "arabichighsakta", "arabichighsallallahou", "arabichighseen", "arabichighsmallsafha", "arabichightah", "arabichightakhallus", "arabichighthalatha", "arabichighwaqf", "arabichighyeh", "arabichighzain", "arabicjallajalalouhou", "arabiclettermark", "arabiclowmeemlong", "arabiclownoonkasra", "arabiclowseen", "arabicmisra", "arabicmuhammad", "arabicnumber", "arabicnumberabove", "arabicnumerals", "arabicparenleft", "arabicparenright", "arabicpercent", "arabicperiod", "arabicpermille", "arabicpertenthousand", "arabicpoeticverse", "arabicqala", "arabicquestion", "arabicrasoul", "arabicray", "arabicrialsign", "arabicsafha", "arabicsajdah", "arabicsalla", "arabicsamvat", "arabicsanah", "arabicsemicolon", "arabicshighthreedots", "arabicslcm", "arabicstartofrubc", "arabictripledot", "arabicvowelwaw", "arabicvowelyeh", "arabicwasallam", "arg", "aring", "aringacute", "arrowvert", "asciistr", "aside", "assignalfadimension", "assigndimen", "assigndimension", "assignifempty", "assigntranslation", "assignvalue", "assignwidth", "assumelongusagecs", "ast", "astype", "asymp", "at", "atilde", "atleftmargin", "atpage", "atrightmargin", "attachment", "autocap", "autodirhbox", "autodirvbox", "autodirvtop", "autoinsertnextspace", "autointegral", "automathematics", "autosetups", "availablehsize", "averagecharwidth", "backepsilon", "background", "backgroundimage", "backgroundimagefill", "backgroundline", "backprime", "backsim", "backslash", "bar", "barleftarrow", "barleftarrowrightarrowbar", "barovernorthwestarrow", "barwedge", "basegrid", "baselinebottom", "baselineleftbox", "baselinemiddlebox", "baselinerightbox", "bbordermatrix", "bbox", "because", "beforesplitstring", "beforetestandsplitstring", "beta", "beth", "between", "bhook", "big", "bigbodyfont", "bigcap", "bigcirc", "bigcircle", "bigcup", "bigdiamond", "bigg", "bigger", "biggl", "biggm", "biggr", "bigl", "bigm", "bigodot", "bigoplus", "bigotimes", "bigr", "bigskip", "bigsqcap", "bigsqcup", "bigsquare", "bigstar", "bigtimes", "bigtriangledown", "bigtriangleup", "bigudot", "biguplus", "bigvee", "bigwedge", "binom", "bitmapimage", "blacklozenge", "blackrule", "blackrules", "blacksquare", "blacktriangle", "blacktriangledown", "blacktriangleleft", "blacktriangleright", "blank", "blap", "bleed", "bleedheight", "bleedwidth", "blockligatures", "blockquote", "blocksynctexfile", "bodyfontenvironmentlist", "bodyfontsize", "bold", "boldface", "bolditalic", "boldslanted", "bookmark", "booleanmodevalue", "bordermatrix", "bot", "bottombox", "bottomleftbox", "bottomrightbox", "bowtie", "boxcursor", "boxdot", "boxmarker", "boxminus", "boxofsize", "boxplus", "boxreference", "boxtimes", "bpos", "breakablethinspace", "breakhere", "breve", "bstroke", "btxabbreviatedjournal", "btxaddjournal", "btxalwayscitation", "btxauthorfield", "btxdetail", "btxdirect", "btxdoif", "btxdoifcombiinlistelse", "btxdoifelse", "btxdoifelsecombiinlist", "btxdoifelsesameasprevious", "btxdoifelsesameaspreviouschecked", "btxdoifelseuservariable", "btxdoifnot", "btxdoifsameaspreviouscheckedelse", "btxdoifsameaspreviouselse", "btxdoifuservariableelse", "btxexpandedjournal", "btxfield", "btxfieldname", "btxfieldtype", "btxfirstofrange", "btxflush", "btxflushauthor", "btxflushauthorinverted", "btxflushauthorinvertedshort", "btxflushauthorname", "btxflushauthornormal", "btxflushauthornormalshort", "btxflushsuffix", "btxfoundname", "btxfoundtype", "btxhiddencitation", "btxhybridcite", "btxlabellanguage", "btxlabeltext", "btxlistcitation", "btxloadjournalist", "btxoneorrange", "btxremapauthor", "btxsavejournalist", "btxsetup", "btxsingularorplural", "btxsingularplural", "btxtextcitation", "buildmathaccent", "buildtextaccent", "buildtextbottomcomma", "buildtextbottomdot", "buildtextcedilla", "buildtextgrave", "buildtextmacron", "buildtextognek", "bullet", "button", "cacute", "calligraphic", "camel", "cap", "carriagereturn", "catcodetablename", "cbox", "ccaron", "ccedilla", "ccircumflex", "ccurl", "cdot", "cdotaccent", "cdotp", "cdots", "centeraligned", "centerbox", "centerdot", "centeredbox", "centeredlastline", "centerednextbox", "centerline", "cfrac", "chapter", "character", "characters", "chardescription", "charwidthlanguage", "check", "checkcharacteralign", "checkedchar", "checkedfiller", "checkedstrippedcsname", "checkinjector", "checkmark", "checknextindentation", "checknextinjector", "checkpage", "checkparameters", "checkpreviousinjector", "checksoundtrack", "checktwopassdata", "checkvariables", "chem", "chemical", "chemicalbottext", "chemicalmidtext", "chemicalsymbol", "chemicaltext", "chemicaltoptext", "chi", "chineseallnumerals", "chinesecapnumerals", "chinesenumerals", "chook", "circ", "circeq", "circlearrowleft", "circlearrowright", "circledR", "circledS", "circledast", "circledcirc", "circleddash", "circledequals", "circleonrightarrow", "citation", "cite", "clap", "classfont", "cldcommand", "cldcontext", "cldloadfile", "cldprocessfile", "cleftarrow", "clip", "clonefield", "clubsuit", "collect", "collectedtext", "collectexpanded", "colon", "coloncolonequals", "colonequals", "color", "colorbar", "colorcomponents", "colored", "coloronly", "colorvalue", "column", "columnbreak", "combinepages", "commalistelement", "commalistsentence", "commalistsize", "comment", "comparecolorgroup", "comparedimension", "comparedimensioneps", "comparepalet", "complement", "completebtxrendering", "completecontent", "completeindex", "completelist", "completelistofabbreviations", "completelistofchemicals", "completelistoffigures", "completelistofgraphics", "completelistofintermezzi", "completelistoflogos", "completelistofpublications", "completelistofsorts", "completelistofsynonyms", "completelistoftables", "completepagenumber", "completeregister", "complexes", "complexorsimple", "complexorsimpleempty", "component", "composedcollector", "composedlayer", "compresult", "cong", "constantdimen", "constantdimenargument", "constantemptyargument", "constantnumber", "constantnumberargument", "contentreference", "continuednumber", "continueifinputfile", "convertargument", "convertcommand", "convertedcounter", "converteddimen", "convertedsubcounter", "convertmonth", "convertnumber", "convertvalue", "convertvboxtohbox", "coprod", "copyboxfromcache", "copybtxlabeltext", "copyfield", "copyheadtext", "copylabeltext", "copymathlabeltext", "copyoperatortext", "copypages", "copyparameters", "copyposition", "copyprefixtext", "copyright", "copysuffixtext", "copytaglabeltext", "copyunittext", "correctwhitespace", "countersubs", "counttoken", "counttokens", "cramped", "crampedclap", "crampedllap", "crampedrlap", "crightarrow", "crightoverleftarrow", "cstroke", "ctop", "ctxcommand", "ctxdirectcommand", "ctxdirectlua", "ctxfunction", "ctxlatecommand", "ctxlatelua", "ctxloadluafile", "ctxlua", "ctxluabuffer", "ctxluacode", "ctxreport", "ctxsprint", "cup", "curlyeqprec", "curlyeqsucc", "curlyvee", "curlywedge", "currentassignmentlistkey", "currentassignmentlistvalue", "currentbtxuservariable", "currentcommalistitem", "currentcomponent", "currentdate", "currentenvironment", "currentfeaturetest", "currentheadnumber", "currentinterface", "currentlanguage", "currentlistentrydestinationattribute", "currentlistentrylimitedtext", "currentlistentrynumber", "currentlistentrypagenumber", "currentlistentryreferenceattribute", "currentlistentrytitle", "currentlistentrytitlerendered", "currentlistsymbol", "currentmainlanguage", "currentmessagetext", "currentmoduleparameter", "currentoutputstream", "currentproduct", "currentproject", "currentregime", "currentregisterpageuserdata", "currentresponses", "currenttime", "currentvalue", "currentxtablecolumn", "currentxtablerow", "curvearrowleft", "curvearrowright", "cwopencirclearrow", "cyrillicA", "cyrillicAE", "cyrillicAbreve", "cyrillicAdiaeresis", "cyrillicB", "cyrillicBIGYUS", "cyrillicBIGYUSiotified", "cyrillicC", "cyrillicCH", "cyrillicCHEDC", "cyrillicCHEDCabkhasian", "cyrillicCHEabkhasian", "cyrillicCHEdiaeresis", "cyrillicCHEkhakassian", "cyrillicCHEvertstroke", "cyrillicD", "cyrillicDASIAPNEUMATA", "cyrillicDJE", "cyrillicDZE", "cyrillicDZEabkhasian", "cyrillicDZHE", "cyrillicE", "cyrillicELtail", "cyrillicEMtail", "cyrillicENDC", "cyrillicENGHE", "cyrillicENhook", "cyrillicENtail", "cyrillicEREV", "cyrillicERY", "cyrillicERtick", "cyrillicEbreve", "cyrillicEdiaeresis", "cyrillicEgrave", "cyrillicEiotified", "cyrillicF", "cyrillicFITA", "cyrillicG", "cyrillicGHEmidhook", "cyrillicGHEstroke", "cyrillicGHEupturn", "cyrillicGJE", "cyrillicH", "cyrillicHA", "cyrillicHADC", "cyrillicHRDSN", "cyrillicI", "cyrillicIE", "cyrillicII", "cyrillicISHRT", "cyrillicISHRTtail", "cyrillicIZHITSA", "cyrillicIZHITSAdoublegrave", "cyrillicIdiaeresis", "cyrillicIgrave", "cyrillicImacron", "cyrillicJE", "cyrillicK", "cyrillicKADC", "cyrillicKAbashkir", "cyrillicKAhook", "cyrillicKAstroke", "cyrillicKAvertstroke", "cyrillicKJE", "cyrillicKOPPA", "cyrillicKSI", "cyrillicL", "cyrillicLITTLEYUS", "cyrillicLITTLEYUSiotified", "cyrillicLJE", "cyrillicM", "cyrillicN", "cyrillicNJE", "cyrillicO", "cyrillicOMEGA", "cyrillicOMEGAround", "cyrillicOMEGAtitlo", "cyrillicOT", "cyrillicObarred", "cyrillicObarreddiaeresis", "cyrillicOdiaeresis", "cyrillicP", "cyrillicPALATALIZATION", "cyrillicPALOCHKA", "cyrillicPEmidhook", "cyrillicPSI", "cyrillicPSILIPNEUMATA", "cyrillicR", "cyrillicS", "cyrillicSCHWA", "cyrillicSCHWAdiaeresis", "cyrillicSDSC", "cyrillicSEMISOFT", "cyrillicSFTSN", "cyrillicSH", "cyrillicSHCH", "cyrillicSHHA", "cyrillicT", "cyrillicTEDC", "cyrillicTETSE", "cyrillicTITLO", "cyrillicTSHE", "cyrillicU", "cyrillicUK", "cyrillicUSHRT", "cyrillicUdiaeresis", "cyrillicUdoubleacute", "cyrillicUmacron", "cyrillicV", "cyrillicYA", "cyrillicYAT", "cyrillicYERUdiaeresis", "cyrillicYI", "cyrillicYO", "cyrillicYU", "cyrillicYstr", "cyrillicYstrstroke", "cyrillicZ", "cyrillicZDSC", "cyrillicZEdiaeresis", "cyrillicZH", "cyrillicZHEbreve", "cyrillicZHEdescender", "cyrillicZHEdiaeresis", "cyrillica", "cyrillicabreve", "cyrillicadiaeresis", "cyrillicae", "cyrillicb", "cyrillicbigyus", "cyrillicbigyusiotified", "cyrillicc", "cyrillicch", "cyrilliccheabkhasian", "cyrillicchedc", "cyrillicchedcabkhasian", "cyrillicchediaeresis", "cyrillicchekhakassian", "cyrillicchevertstroke", "cyrillicd", "cyrillicdje", "cyrillicdze", "cyrillicdzeabkhasian", "cyrillicdzhe", "cyrillice", "cyrillicebreve", "cyrillicediaeresis", "cyrillicegrave", "cyrilliceiotified", "cyrilliceltail", "cyrillicemtail", "cyrillicendc", "cyrillicenghe", "cyrillicenhook", "cyrillicentail", "cyrillicerev", "cyrillicertick", "cyrillicery", "cyrillicf", "cyrillicfita", "cyrillicg", "cyrillicghemidhook", "cyrillicghestroke", "cyrillicgheupturn", "cyrillicgje", "cyrillich", "cyrillicha", "cyrillichadc", "cyrillichrdsn", "cyrillici", "cyrillicidiaeresis", "cyrillicie", "cyrillicigrave", "cyrillicii", "cyrillicimacron", "cyrillicishrt", "cyrillicishrttail", "cyrillicizhitsa", "cyrillicizhitsadoublegrave", "cyrillicje", "cyrillick", "cyrillickabashkir", "cyrillickadc", "cyrillickahook", "cyrillickastroke", "cyrillickavertstroke", "cyrillickje", "cyrillickoppa", "cyrillicksi", "cyrillicl", "cyrilliclittleyus", "cyrilliclittleyusiotified", "cyrilliclje", "cyrillicm", "cyrillicn", "cyrillicnje", "cyrillico", "cyrillicobarred", "cyrillicobarreddiaeresis", "cyrillicodiaeresis", "cyrillicomega", "cyrillicomegaround", "cyrillicomegatitlo", "cyrillicot", "cyrillicp", "cyrillicpemidhook", "cyrillicpsi", "cyrillicr", "cyrillics", "cyrillicschwa", "cyrillicschwadiaeresis", "cyrillicsdsc", "cyrillicsemisoft", "cyrillicsftsn", "cyrillicsh", "cyrillicshch", "cyrillicshha", "cyrillict", "cyrillictedc", "cyrillictetse", "cyrillictshe", "cyrillicu", "cyrillicudiaeresis", "cyrillicudoubleacute", "cyrillicuk", "cyrillicumacron", "cyrillicushrt", "cyrillicv", "cyrillicya", "cyrillicyat", "cyrillicyerudiaeresis", "cyrillicyi", "cyrillicyo", "cyrillicystr", "cyrillicystrstroke", "cyrillicyu", "cyrillicz", "cyrilliczdsc", "cyrilliczediaeresis", "cyrilliczh", "cyrilliczhebreve", "cyrilliczhedescender", "cyrilliczhediaeresis", "d", "dag", "dagger", "daleth", "dasharrow", "dashedleftarrow", "dashedrightarrow", "dashv", "datasetvariable", "date", "dayoftheweek", "dayspermonth", "dbinom", "dcaron", "dcurl", "ddag", "ddagger", "dddot", "ddot", "ddots", "decrement", "decrementcounter", "decrementedcounter", "decrementpagenumber", "decrementsubpagenumber", "decrementvalue", "defaultinterface", "defaultobjectpage", "defaultobjectreference", "defcatcodecommand", "defconvertedargument", "defconvertedcommand", "defconvertedvalue", "define", "defineMPinstance", "defineTABLEsetup", "defineaccent", "defineactivecharacter", "definealternativestyle", "defineanchor", "defineattachment", "defineattribute", "definebackground", "definebar", "defineblock", "definebodyfont", "definebodyfontenvironment", "definebodyfontswitch", "definebreakpoint", "definebreakpoints", "definebtx", "definebtxdataset", "definebtxregister", "definebtxrendering", "definebuffer", "definebutton", "definecapitals", "definecharacter", "definecharacterkerning", "definecharacterspacing", "definechemical", "definechemicals", "definechemicalsymbol", "definecollector", "definecolor", "definecolorgroup", "definecolumnbreak", "definecombination", "definecombinedlist", "definecommand", "definecomment", "definecomplexorsimple", "definecomplexorsimpleempty", "defineconversion", "defineconversionset", "definecounter", "definedataset", "definedelimitedtext", "definedeq", "definedescription", "definedfont", "defineeffect", "defineenumeration", "defineexpandable", "defineexternalfigure", "definefallbackfamily", "definefield", "definefieldbody", "definefieldbodyset", "definefieldcategory", "definefieldstack", "definefiguresymbol", "definefileconstant", "definefilefallback", "definefilesynonym", "definefiller", "definefirstline", "definefittingpage", "definefloat", "definefont", "definefontalternative", "definefontfallback", "definefontfamily", "definefontfamilypreset", "definefontfeature", "definefontfile", "definefontsize", "definefontsolution", "definefontstyle", "definefontsynonym", "defineformula", "defineformulaalternative", "defineformulaframed", "defineframed", "defineframedcontent", "defineframedtable", "defineframedtext", "definefrozenfont", "defineglobalcolor", "definegraphictypesynonym", "definegridsnapping", "definehbox", "definehead", "defineheadalternative", "definehelp", "definehigh", "definehighlight", "definehspace", "definehypenationfeatures", "defineindentedtext", "defineindenting", "defineinitial", "defineinsertion", "defineinteraction", "defineinteractionbar", "defineinteractionmenu", "defineinterfaceconstant", "defineinterfaceelement", "defineinterfacevariable", "defineinterlinespace", "defineintermediatecolor", "defineitemgroup", "defineitems", "definelabel", "definelabelclass", "definelayer", "definelayerpreset", "definelayout", "definelinefiller", "definelinenote", "definelinenumbering", "definelines", "definelist", "definelistalternative", "definelistextra", "definelow", "definelowhigh", "definelowmidhigh", "definemakeup", "definemarginblock", "definemargindata", "definemarker", "definemarking", "definemathaccent", "definemathalignment", "definemathcases", "definemathcommand", "definemathdouble", "definemathdoubleextensible", "definemathematics", "definemathextensible", "definemathfence", "definemathfraction", "definemathframed", "definemathmatrix", "definemathornament", "definemathover", "definemathoverextensible", "definemathovertextextensible", "definemathradical", "definemathstackers", "definemathstyle", "definemathtriplet", "definemathunder", "definemathunderextensible", "definemathundertextextensible", "definemathunstacked", "definemeasure", "definemessageconstant", "definemixedcolumns", "definemode", "definemultitonecolor", "definenamedcolor", "definenamespace", "definenarrower", "definenote", "defineornament", "defineoutputroutine", "defineoutputroutinecommand", "defineoverlay", "definepage", "definepagebreak", "definepagechecker", "definepagegrid", "definepagegridarea", "definepagegridspan", "definepageinjection", "definepageinjectionalternative", "definepageshift", "definepagestate", "definepairedbox", "definepalet", "definepapersize", "defineparagraph", "defineparagraphs", "defineparallel", "defineparbuilder", "defineplacement", "definepositioning", "defineprefixset", "defineprocesscolor", "defineprocessor", "defineprofile", "defineprogram", "definepushbutton", "definepushsymbol", "definereference", "definereferenceformat", "defineregister", "definerenderingwindow", "defineresetset", "definescale", "definescript", "definesection", "definesectionblock", "definesectionlevels", "defineselector", "defineseparatorset", "defineshift", "definesidebar", "definesort", "definesorting", "definespotcolor", "definestartstop", "definestyle", "definestyleinstance", "definesubfield", "definesubformula", "definesymbol", "definesynonym", "definesynonyms", "definesystemattribute", "definesystemconstant", "definesystemvariable", "definetabletemplate", "definetabulate", "definetabulation", "definetext", "definetextbackground", "definetextflow", "definetooltip", "definetransparency", "definetwopasslist", "definetype", "definetypeface", "definetypescriptprefix", "definetypescriptsynonym", "definetypesetting", "definetyping", "defineunit", "defineviewerlayer", "definevspace", "definevspacing", "definevspacingamount", "definextable", "delimited", "delimitedtext", "delta", "depthofstring", "depthonlybox", "depthspanningtext", "depthstrut", "determineheadnumber", "determinelistcharacteristics", "determinenoflines", "determineregistercharacteristics", "devanagarinumerals", "dfrac", "dhook", "diameter", "diamond", "diamondsuit", "differentialD", "differentiald", "digamma", "digits", "dimensiontocount", "directboxfromcache", "directcolor", "directcolored", "directconvertedcounter", "directcopyboxfromcache", "directdummyparameter", "directgetboxllx", "directgetboxlly", "directhighlight", "directlocalframed", "directluacode", "directselect", "directsetbar", "directsetup", "directsymbol", "directvspacing", "dis", "disabledirectives", "disableexperiments", "disablemode", "disableoutputstream", "disableparpositions", "disableregime", "disabletrackers", "displaymath", "displaymathematics", "displaymessage", "distributedhsize", "div", "dividedsize", "divideontimes", "divides", "doadaptleftskip", "doadaptrightskip", "doaddfeature", "doassign", "doassignempty", "doboundtext", "docheckassignment", "docheckedpagestate", "docheckedpair", "documentvariable", "dodoubleargument", "dodoubleargumentwithset", "dodoubleempty", "dodoubleemptywithset", "dodoublegroupempty", "doeassign", "doexpandedrecurse", "dofastloopcs", "dogetattribute", "dogetattributeid", "dogetcommacommandelement", "dogobbledoubleempty", "dogobblesingleempty", "doif", "doifMPgraphicelse", "doifallcommon", "doifallcommonelse", "doifalldefinedelse", "doifallmodes", "doifallmodeselse", "doifassignmentelse", "doifblackelse", "doifbothsides", "doifbothsidesoverruled", "doifboxelse", "doifbufferelse", "doifcolor", "doifcolorelse", "doifcommandhandler", "doifcommandhandlerelse", "doifcommon", "doifcommonelse", "doifcontent", "doifconversiondefinedelse", "doifconversionnumberelse", "doifcounter", "doifcounterelse", "doifcurrentfonthasfeatureelse", "doifdefined", "doifdefinedcounter", "doifdefinedcounterelse", "doifdefinedelse", "doifdimensionelse", "doifdimenstringelse", "doifdocumentargument", "doifdocumentargumentelse", "doifdocumentfilename", "doifdocumentfilenameelse", "doifdrawingblackelse", "doifelse", "doifelseMPgraphic", "doifelseallcommon", "doifelsealldefined", "doifelseallmodes", "doifelseassignment", "doifelseblack", "doifelsebox", "doifelseboxincache", "doifelsebuffer", "doifelsecolor", "doifelsecommandhandler", "doifelsecommon", "doifelseconversiondefined", "doifelseconversionnumber", "doifelsecounter", "doifelsecurrentfonthasfeature", "doifelsecurrentsortingused", "doifelsecurrentsynonymshown", "doifelsecurrentsynonymused", "doifelsedefined", "doifelsedefinedcounter", "doifelsedimension", "doifelsedimenstring", "doifelsedocumentargument", "doifelsedocumentfilename", "doifelsedrawingblack", "doifelseempty", "doifelseemptyvalue", "doifelseemptyvariable", "doifelseenv", "doifelsefastoptionalcheck", "doifelsefastoptionalcheckcs", "doifelsefieldbody", "doifelsefieldcategory", "doifelsefigure", "doifelsefile", "doifelsefiledefined", "doifelsefileexists", "doifelsefirstchar", "doifelseflagged", "doifelsefontchar", "doifelsefontpresent", "doifelsefontsynonym", "doifelsehasspace", "doifelsehelp", "doifelseincsname", "doifelseinelement", "doifelseinputfile", "doifelseinsertion", "doifelseinset", "doifelseinstring", "doifelseinsymbolset", "doifelseintoks", "doifelseintwopassdata", "doifelseitalic", "doifelselanguage", "doifelselayerdata", "doifelselayoutdefined", "doifelselayoutsomeline", "doifelselayouttextline", "doifelseleapyear", "doifelselist", "doifelselocation", "doifelselocfile", "doifelsemainfloatbody", "doifelsemarkedpage", "doifelsemarking", "doifelsemeaning", "doifelsemessage", "doifelsemode", "doifelsenextbgroup", "doifelsenextbgroupcs", "doifelsenextchar", "doifelsenextoptional", "doifelsenextoptionalcs", "doifelsenextparenthesis", "doifelsenonzeropositive", "doifelsenoteonsamepage", "doifelsenothing", "doifelsenumber", "doifelseobjectfound", "doifelseobjectreferencefound", "doifelseoddpage", "doifelseoddpagefloat", "doifelseoldercontext", "doifelseolderversion", "doifelseoverlapping", "doifelseoverlay", "doifelseparallel", "doifelseparentfile", "doifelsepath", "doifelsepathexists", "doifelsepatterns", "doifelseposition", "doifelsepositionaction", "doifelsepositiononpage", "doifelsepositionsonsamepage", "doifelsepositionsonthispage", "doifelsepositionsused", "doifelsereferencefound", "doifelserightpagefloat", "doifelserighttoleftinbox", "doifelsesamelinereference", "doifelsesamestring", "doifelsesetups", "doifelsesomebackground", "doifelsesomespace", "doifelsesomething", "doifelsesometoks", "doifelsestringinstring", "doifelsestructurelisthasnumber", "doifelsestructurelisthaspage", "doifelsesymboldefined", "doifelsesymbolset", "doifelsetext", "doifelsetextflow", "doifelsetextflowcollector", "doifelsetopofpage", "doifelsetypingfile", "doifelseundefined", "doifelseurldefined", "doifelsevalue", "doifelsevaluenothing", "doifelsevariable", "doifempty", "doifemptyelse", "doifemptytoks", "doifemptyvalue", "doifemptyvalueelse", "doifemptyvariable", "doifemptyvariableelse", "doifenv", "doifenvelse", "doiffastoptionalcheckcselse", "doiffastoptionalcheckelse", "doiffieldbodyelse", "doiffieldcategoryelse", "doiffigureelse", "doiffile", "doiffiledefinedelse", "doiffileelse", "doiffileexistselse", "doiffirstcharelse", "doifflaggedelse", "doiffontcharelse", "doiffontpresentelse", "doiffontsynonymelse", "doifhasspaceelse", "doifhelpelse", "doifincsnameelse", "doifinelementelse", "doifinputfileelse", "doifinsertionelse", "doifinset", "doifinsetelse", "doifinstring", "doifinstringelse", "doifinsymbolset", "doifinsymbolsetelse", "doifintokselse", "doifintwopassdataelse", "doifitalicelse", "doiflanguageelse", "doiflayerdataelse", "doiflayoutdefinedelse", "doiflayoutsomelineelse", "doiflayouttextlineelse", "doifleapyearelse", "doiflistelse", "doiflocationelse", "doiflocfileelse", "doifmainfloatbodyelse", "doifmarkingelse", "doifmeaningelse", "doifmessageelse", "doifmode", "doifmodeelse", "doifnextbgroupcselse", "doifnextbgroupelse", "doifnextcharelse", "doifnextoptionalcselse", "doifnextoptionalelse", "doifnextparenthesiselse", "doifnonzeropositiveelse", "doifnot", "doifnotallcommon", "doifnotallmodes", "doifnotcommandhandler", "doifnotcommon", "doifnotcounter", "doifnotdocumentargument", "doifnotdocumentfilename", "doifnotempty", "doifnotemptyvalue", "doifnotemptyvariable", "doifnotenv", "doifnoteonsamepageelse", "doifnotescollected", "doifnotfile", "doifnotflagged", "doifnothing", "doifnothingelse", "doifnotinset", "doifnotinsidesplitfloat", "doifnotinstring", "doifnotmode", "doifnotnumber", "doifnotsamestring", "doifnotsetups", "doifnotvalue", "doifnotvariable", "doifnumber", "doifnumberelse", "doifobjectfoundelse", "doifobjectreferencefoundelse", "doifoddpageelse", "doifoddpagefloatelse", "doifoldercontextelse", "doifolderversionelse", "doifoverlappingelse", "doifoverlayelse", "doifparallelelse", "doifparentfileelse", "doifpathelse", "doifpathexistselse", "doifpatternselse", "doifposition", "doifpositionaction", "doifpositionactionelse", "doifpositionelse", "doifpositiononpageelse", "doifpositionsonsamepageelse", "doifpositionsonthispageelse", "doifpositionsusedelse", "doifreferencefoundelse", "doifrightpagefloatelse", "doifrighttoleftinboxelse", "doifsamelinereferenceelse", "doifsamestring", "doifsamestringelse", "doifsetups", "doifsetupselse", "doifsomebackground", "doifsomebackgroundelse", "doifsomespaceelse", "doifsomething", "doifsomethingelse", "doifsometoks", "doifsometokselse", "doifstringinstringelse", "doifstructurelisthasnumberelse", "doifstructurelisthaspageelse", "doifsymboldefinedelse", "doifsymbolsetelse", "doiftext", "doiftextelse", "doiftextflowcollectorelse", "doiftextflowelse", "doiftopofpageelse", "doiftypingfileelse", "doifundefined", "doifundefinedcounter", "doifundefinedelse", "doifurldefinedelse", "doifvalue", "doifvalueelse", "doifvaluenothing", "doifvaluenothingelse", "doifvaluesomething", "doifvariable", "doifvariableelse", "doindentation", "dollar", "doloop", "doloopoverlist", "donothing", "dontconvertfont", "dontleavehmode", "dontpermitspacesbetweengroups", "dopositionaction", "doprocesslocalsetups", "doquadrupleargument", "doquadrupleempty", "doquadruplegroupempty", "doquintupleargument", "doquintupleempty", "doquintuplegroupempty", "dorechecknextindentation", "dorecurse", "dorepeatwithcommand", "doreplacefeature", "doresetandafffeature", "doresetattribute", "dorotatebox", "dosetattribute", "dosetleftskipadaption", "dosetrightskipadaption", "dosetupcheckedinterlinespace", "doseventupleargument", "doseventupleempty", "dosingleargument", "dosingleempty", "dosinglegroupempty", "dosixtupleargument", "dosixtupleempty", "dostepwiserecurse", "dosubtractfeature", "dot", "doteq", "doteqdot", "dotfskip", "dotlessI", "dotlessJ", "dotlessi", "dotlessj", "dotlessjstroke", "dotminus", "dotoks", "dotplus", "dotripleargument", "dotripleargumentwithset", "dotripleempty", "dotripleemptywithset", "dotriplegroupempty", "dots", "dottedrightarrow", "doublebar", "doublebond", "doublebrace", "doublebracket", "doublecap", "doublecup", "doubleparent", "doubleprime", "doubleverticalbar", "dowith", "dowithnextbox", "dowithnextboxcontent", "dowithnextboxcontentcs", "dowithnextboxcs", "dowithpargument", "dowithrange", "dowithwargument", "downarrow", "downdasharrow", "downdownarrows", "downharpoonleft", "downharpoonright", "downuparrows", "downwhitearrow", "downzigzagarrow", "dpofstring", "dstroke", "dtail", "dummydigit", "dummyparameter", "dzcaronligature", "dzligature", "eTeX", "eacute", "ebreve", "ecaron", "ecedilla", "ecircumflex", "ecircumflexacute", "ecircumflexdotbelow", "ecircumflexgrave", "ecircumflexhook", "ecircumflextilde", "edefconvertedargument", "ediaeresis", "edotaccent", "edotbelow", "edoublegrave", "efcmaxheight", "efcmaxwidth", "efcminheight", "efcminwidth", "efcparameter", "effect", "egrave", "ehook", "einvertedbreve", "elapsedseconds", "elapsedtime", "eleftarrowfill", "eleftharpoondownfill", "eleftharpoonupfill", "eleftrightarrowfill", "ell", "em", "emacron", "emdash", "emphasisboldface", "emphasistypeface", "emptylines", "emptyset", "emquad", "emspace", "enabledirectives", "enableexperiments", "enablemode", "enableoutputstream", "enableparpositions", "enableregime", "enabletrackers", "endash", "endnote", "enquad", "enskip", "enspace", "env", "environment", "envvar", "eogonek", "eoverbarfill", "eoverbracefill", "eoverbracketfill", "eoverparentfill", "epos", "epsilon", "eq", "eqcirc", "eqeq", "eqeqeq", "eqgtr", "eqless", "eqsim", "eqslantgtr", "eqslantless", "equaldigits", "equalscolon", "equiv", "erightarrowfill", "erightharpoondownfill", "erightharpoonupfill", "eta", "eth", "ethiopic", "etilde", "etwoheadrightarrowfill", "eunderbarfill", "eunderbracefill", "eunderbracketfill", "eunderparentfill", "exclamdown", "executeifdefined", "exists", "exitloop", "exitloopnow", "expandcheckedcsname", "expanded", "expandfontsynonym", "expdoif", "expdoifcommonelse", "expdoifelse", "expdoifelsecommon", "expdoifelseinset", "expdoifinsetelse", "expdoifnot", "exponentiale", "externalfigure", "externalfigurecollectionmaxheight", "externalfigurecollectionmaxwidth", "externalfigurecollectionminheight", "externalfigurecollectionminwidth", "externalfigurecollectionparameter", "fakebox", "fallingdotseq", "fastdecrement", "fastincrement", "fastlocalframed", "fastloopfinal", "fastloopindex", "fastscale", "fastsetup", "fastsetupwithargument", "fastsetupwithargumentswapped", "fastswitchtobodyfont", "fastsxsy", "feature", "fence", "fenced", "fetchallmarkings", "fetchallmarks", "fetchmark", "fetchmarking", "fetchonemark", "fetchonemarking", "fetchruntinecommand", "fetchtwomarkings", "fetchtwomarks", "ffiligature", "ffligature", "fflligature", "fhook", "field", "fieldbody", "fieldstack", "fifthoffivearguments", "fifthofsixarguments", "figurefilename", "figurefilepath", "figurefiletype", "figurefullname", "figureheight", "figurenaturalheight", "figurenaturalwidth", "figurespace", "figuresymbol", "figurewidth", "filename", "filigature", "filledhboxb", "filledhboxc", "filledhboxg", "filledhboxk", "filledhboxm", "filledhboxr", "filledhboxy", "filler", "fillinline", "fillinrules", "fillintext", "filterfromnext", "filterfromvalue", "filterpages", "filterreference", "findtwopassdata", "finishregisterentry", "firstcharacter", "firstcounter", "firstcountervalue", "firstoffivearguments", "firstoffourarguments", "firstofoneargument", "firstofoneunexpanded", "firstofsixarguments", "firstofthreearguments", "firstofthreeunexpanded", "firstoftwoarguments", "firstoftwounexpanded", "firstrealpage", "firstrealpagenumber", "firstsubcountervalue", "firstsubpage", "firstsubpagenumber", "firstuserpage", "firstuserpagenumber", "fitfield", "fitfieldframed", "fittopbaselinegrid", "fiveeighths", "fivesixths", "fixedspace", "fixedspaces", "flag", "flat", "flligature", "floatuserdataparameter", "flushbox", "flushboxregister", "flushcollector", "flushedrightlastline", "flushlayer", "flushlocalfloats", "flushnextbox", "flushnotes", "flushoutputstream", "flushshapebox", "flushtextflow", "flushtokens", "flushtoks", "fontalternative", "fontbody", "fontchar", "fontcharbyindex", "fontclass", "fontclassname", "fontface", "fontfeaturelist", "fontsize", "fontstyle", "footnote", "footnotetext", "forall", "forcecharacterstripping", "forcelocalfloats", "forgeteverypar", "forgetparameters", "forgetragged", "formula", "formulanumber", "foundbox", "fourfifths", "fourperemspace", "fourthoffivearguments", "fourthoffourarguments", "fourthofsixarguments", "frac", "framed", "frameddimension", "framedparameter", "framedtext", "freezedimenmacro", "freezemeasure", "frenchspacing", "from", "fromlinenote", "frown", "frozenhbox", "frule", "gacute", "gamma", "gbreve", "gcaron", "gcircumflex", "gcommaaccent", "gdefconvertedargument", "gdefconvertedcommand", "gdotaccent", "ge", "geq", "geqq", "geqslant", "getMPdrawing", "getMPlayer", "getboxfromcache", "getboxllx", "getboxlly", "getbuffer", "getbufferdata", "getcommacommandsize", "getcommalistsize", "getdayoftheweek", "getdayspermonth", "getdefinedbuffer", "getdocumentargument", "getdocumentargumentdefault", "getdocumentfilename", "getdummyparameters", "getemptyparameters", "geteparameters", "getexpandedparameters", "getfiguredimensions", "getfirstcharacter", "getfirsttwopassdata", "getfromcommacommand", "getfromcommalist", "getfromtwopassdata", "getglyphdirect", "getglyphstyled", "getgparameters", "getlasttwopassdata", "getlocalfloat", "getlocalfloats", "getmarking", "getmessage", "getnamedglyphdirect", "getnamedglyphstyled", "getnamedtwopassdatalist", "getnaturaldimensions", "getnoflines", "getobject", "getobjectdimensions", "getpaletsize", "getparameters", "getprivatechar", "getprivateslot", "getrandomcount", "getrandomdimen", "getrandomfloat", "getrandomnumber", "getrandomseed", "getraweparameters", "getrawgparameters", "getrawnoflines", "getrawparameters", "getrawxparameters", "getreference", "getreferenceentry", "getroundednoflines", "gets", "getsubstring", "gettwopassdata", "gettwopassdatalist", "getuvalue", "getvalue", "getvariable", "getvariabledefault", "getxparameters", "gg", "ggg", "gggtr", "gimel", "globaldisablemode", "globalenablemode", "globalletempty", "globalpopbox", "globalpopmacro", "globalpreventmode", "globalprocesscommalist", "globalpushbox", "globalpushmacro", "globalswapcounts", "globalswapdimens", "globalswapmacros", "globalundefine", "glyphfontfile", "gnapprox", "gneqq", "gnsim", "gobbledoubleempty", "gobbleeightarguments", "gobblefivearguments", "gobblefiveoptionals", "gobblefourarguments", "gobblefouroptionals", "gobbleninearguments", "gobbleoneargument", "gobbleoneoptional", "gobblesevenarguments", "gobblesingleempty", "gobblesixarguments", "gobblespacetokens", "gobbletenarguments", "gobblethreearguments", "gobblethreeoptionals", "gobbletwoarguments", "gobbletwooptionals", "gobbleuntil", "gobbleuntilrelax", "godown", "goto", "gotobox", "gotopage", "grabbufferdata", "grabbufferdatadirect", "grabuntil", "grave", "graycolor", "grayvalue", "greedysplitstring", "greekAlpha", "greekAlphadasia", "greekAlphadasiaperispomeni", "greekAlphadasiatonos", "greekAlphadasiavaria", "greekAlphaiotasub", "greekAlphaiotasubdasia", "greekAlphaiotasubdasiaperispomeni", "greekAlphaiotasubdasiatonos", "greekAlphaiotasubdasiavaria", "greekAlphaiotasubpsili", "greekAlphaiotasubpsiliperispomeni", "greekAlphaiotasubpsilitonos", "greekAlphaiotasubpsilivaria", "greekAlphamacron", "greekAlphapsili", "greekAlphapsiliperispomeni", "greekAlphapsilitonos", "greekAlphapsilivaria", "greekAlphatonos", "greekAlphavaria", "greekAlphavrachy", "greekBeta", "greekChi", "greekCoronis", "greekDelta", "greekEpsilon", "greekEpsilondasia", "greekEpsilondasiatonos", "greekEpsilondasiavaria", "greekEpsilonpsili", "greekEpsilonpsilitonos", "greekEpsilonpsilivaria", "greekEpsilontonos", "greekEpsilonvaria", "greekEta", "greekEtadasia", "greekEtadasiaperispomeni", "greekEtadasiatonos", "greekEtadasiavaria", "greekEtaiotasub", "greekEtaiotasubdasia", "greekEtaiotasubdasiaperispomeni", "greekEtaiotasubdasiatonos", "greekEtaiotasubdasiavaria", "greekEtaiotasubpsili", "greekEtaiotasubpsiliperispomeni", "greekEtaiotasubpsilitonos", "greekEtaiotasubpsilivaria", "greekEtapsili", "greekEtapsiliperispomeni", "greekEtapsilitonos", "greekEtapsilivaria", "greekEtatonos", "greekEtavaria", "greekGamma", "greekIota", "greekIotadasia", "greekIotadasiaperispomeni", "greekIotadasiatonos", "greekIotadasiavaria", "greekIotadialytika", "greekIotamacron", "greekIotapsili", "greekIotapsiliperispomeni", "greekIotapsilitonos", "greekIotapsilivaria", "greekIotatonos", "greekIotavaria", "greekIotavrachy", "greekKappa", "greekLambda", "greekMu", "greekNu", "greekOmega", "greekOmegadasia", "greekOmegadasiaperispomeni", "greekOmegadasiatonos", "greekOmegadasiavaria", "greekOmegaiotasub", "greekOmegaiotasubdasia", "greekOmegaiotasubdasiaperispomeni", "greekOmegaiotasubdasiatonos", "greekOmegaiotasubdasiavaria", "greekOmegaiotasubpsili", "greekOmegaiotasubpsiliperispomeni", "greekOmegaiotasubpsilitonos", "greekOmegaiotasubpsilivaria", "greekOmegapsili", "greekOmegapsiliperispomeni", "greekOmegapsilitonos", "greekOmegapsilivaria", "greekOmegatonos", "greekOmegavaria", "greekOmicron", "greekOmicrondasia", "greekOmicrondasiatonos", "greekOmicrondasiavaria", "greekOmicronpsili", "greekOmicronpsilitonos", "greekOmicronpsilivaria", "greekOmicrontonos", "greekOmicronvaria", "greekPhi", "greekPi", "greekPsi", "greekRho", "greekRhodasia", "greekSigma", "greekSigmalunate", "greekTau", "greekTheta", "greekUpsilon", "greekUpsilondasia", "greekUpsilondasiaperispomeni", "greekUpsilondasiatonos", "greekUpsilondasiavaria", "greekUpsilondialytika", "greekUpsilonmacron", "greekUpsilontonos", "greekUpsilonvaria", "greekUpsilonvrachy", "greekXi", "greekZeta", "greekalpha", "greekalphadasia", "greekalphadasiaperispomeni", "greekalphadasiatonos", "greekalphadasiavaria", "greekalphaiotasub", "greekalphaiotasubdasia", "greekalphaiotasubdasiaperispomeni", "greekalphaiotasubdasiatonos", "greekalphaiotasubdasiavaria", "greekalphaiotasubperispomeni", "greekalphaiotasubpsili", "greekalphaiotasubpsiliperispomeni", "greekalphaiotasubpsilitonos", "greekalphaiotasubpsilivaria", "greekalphaiotasubtonos", "greekalphaiotasubvaria", "greekalphamacron", "greekalphaoxia", "greekalphaperispomeni", "greekalphapsili", "greekalphapsiliperispomeni", "greekalphapsilitonos", "greekalphapsilivaria", "greekalphatonos", "greekalphavaria", "greekalphavrachy", "greekbeta", "greekchi", "greekdasia", "greekdasiaperispomeni", "greekdasiatonos", "greekdasiavaria", "greekdelta", "greekdialytikaperispomeni", "greekdialytikatonos", "greekdialytikavaria", "greekdigamma", "greekepsilon", "greekepsilonalt", "greekepsilondasia", "greekepsilondasiatonos", "greekepsilondasiavaria", "greekepsilonoxia", "greekepsilonpsili", "greekepsilonpsilitonos", "greekepsilonpsilivaria", "greekepsilontonos", "greekepsilonvaria", "greeketa", "greeketadasia", "greeketadasiaperispomeni", "greeketadasiatonos", "greeketadasiavaria", "greeketaiotasub", "greeketaiotasubdasia", "greeketaiotasubdasiaperispomeni", "greeketaiotasubdasiatonos", "greeketaiotasubdasiavaria", "greeketaiotasubperispomeni", "greeketaiotasubpsili", "greeketaiotasubpsiliperispomeni", "greeketaiotasubpsilitonos", "greeketaiotasubpsilivaria", "greeketaiotasubtonos", "greeketaiotasubvaria", "greeketaoxia", "greeketaperispomeni", "greeketapsili", "greeketapsiliperispomeni", "greeketapsilitonos", "greeketapsilivaria", "greeketatonos", "greeketavaria", "greekfinalsigma", "greekgamma", "greekiota", "greekiotadasia", "greekiotadasiaperispomeni", "greekiotadasiatonos", "greekiotadasiavaria", "greekiotadialytika", "greekiotadialytikaperispomeni", "greekiotadialytikatonos", "greekiotadialytikavaria", "greekiotamacron", "greekiotaoxia", "greekiotaperispomeni", "greekiotapsili", "greekiotapsiliperispomeni", "greekiotapsilitonos", "greekiotapsilivaria", "greekiotatonos", "greekiotavaria", "greekiotavrachy", "greekkappa", "greekkoppa", "greeklambda", "greekmu", "greeknu", "greeknumerals", "greeknumkoppa", "greekomega", "greekomegadasia", "greekomegadasiaperispomeni", "greekomegadasiatonos", "greekomegadasiavaria", "greekomegaiotasub", "greekomegaiotasubdasia", "greekomegaiotasubdasiaperispomeni", "greekomegaiotasubdasiatonos", "greekomegaiotasubdasiavaria", "greekomegaiotasubperispomeni", "greekomegaiotasubpsili", "greekomegaiotasubpsiliperispomeni", "greekomegaiotasubpsilitonos", "greekomegaiotasubpsilivaria", "greekomegaiotasubtonos", "greekomegaiotasubvaria", "greekomegaoxia", "greekomegaperispomeni", "greekomegapsili", "greekomegapsiliperispomeni", "greekomegapsilitonos", "greekomegapsilivaria", "greekomegatonos", "greekomegavaria", "greekomicron", "greekomicrondasia", "greekomicrondasiatonos", "greekomicrondasiavaria", "greekomicronoxia", "greekomicronpsili", "greekomicronpsilitonos", "greekomicronpsilivaria", "greekomicrontonos", "greekomicronvaria", "greekoxia", "greekperispomeni", "greekphi", "greekphialt", "greekpi", "greekpialt", "greekprosgegrammeni", "greekpsi", "greekpsili", "greekpsiliperispomeni", "greekpsilitonos", "greekpsilivaria", "greekrho", "greekrhoalt", "greekrhodasia", "greekrhopsili", "greeksampi", "greeksigma", "greeksigmalunate", "greekstigma", "greektau", "greektheta", "greekthetaalt", "greektonos", "greekupsilon", "greekupsilondasia", "greekupsilondasiaperispomeni", "greekupsilondasiatonos", "greekupsilondasiavaria", "greekupsilondiaeresis", "greekupsilondialytikaperispomeni", "greekupsilondialytikatonos", "greekupsilondialytikavaria", "greekupsilonmacron", "greekupsilonoxia", "greekupsilonperispomeni", "greekupsilonpsili", "greekupsilonpsiliperispomeni", "greekupsilonpsilitonos", "greekupsilonpsilivaria", "greekupsilontonos", "greekupsilonvaria", "greekupsilonvrachy", "greekvaria", "greekxi", "greekzeta", "grid", "groupedcommand", "gsetboxllx", "gsetboxlly", "gstroke", "gt", "gtrapprox", "gtrdot", "gtreqless", "gtreqqless", "gtrless", "gtrsim", "guilsingleleft", "guilsingleright", "gujaratinumerals", "gurmurkhinumerals", "hairline", "hairspace", "halflinestrut", "halfstrut", "halfwaybox", "handletokens", "handwritten", "hangul", "hanzi", "hash", "hat", "hbar", "hboxofvbox", "hboxreference", "hcaron", "hcircumflex", "hdofstring", "headhbox", "headlanguage", "headnumber", "headnumbercontent", "headnumberdistance", "headnumberwidth", "headreferenceattributes", "headsetupspacing", "headtext", "headtextcontent", "headtextdistance", "headtexts", "headtextwidth", "headvbox", "headwidth", "heartsuit", "hebrewAlef", "hebrewAyin", "hebrewBet", "hebrewDalet", "hebrewGimel", "hebrewHe", "hebrewHet", "hebrewKaf", "hebrewKaffinal", "hebrewLamed", "hebrewMem", "hebrewMemfinal", "hebrewNun", "hebrewNunfinal", "hebrewPe", "hebrewPefinal", "hebrewQof", "hebrewResh", "hebrewSamekh", "hebrewShin", "hebrewTav", "hebrewTet", "hebrewTsadi", "hebrewTsadifinal", "hebrewVav", "hebrewYod", "hebrewZayin", "heightanddepthofstring", "heightofstring", "heightspanningtext", "helptext", "hglue", "hiddenbar", "hiddencitation", "hiddencite", "hideblocks", "high", "highlight", "highordinalstr", "hilo", "himilo", "hl", "hookleftarrow", "hookrightarrow", "horizontalgrowingbar", "horizontalpositionbar", "hphantom", "hpos", "hsizefraction", "hslash", "hsmash", "hsmashbox", "hsmashed", "hspace", "hstroke", "htdpofstring", "htofstring", "hyphen", "hyphenatedcoloredword", "hyphenatedfile", "hyphenatedfilename", "hyphenatedhbox", "hyphenatedpar", "hyphenatedurl", "hyphenatedword", "iacute", "ibox", "ibreve", "icaron", "icircumflex", "ideographichalffillspace", "ideographicspace", "idiaeresis", "idotaccent", "idotbelow", "idoublegrave", "ifassignment", "iff", "ifinobject", "ifinoutputstream", "ifparameters", "iftrialtypesetting", "ignoreimplicitspaces", "ignorevalue", "igrave", "ihook", "iiiint", "iiiintop", "iiint", "iiintop", "iint", "iintop", "iinvertedbreve", "ijligature", "imacron", "imaginaryi", "imaginaryj", "imath", "immediatesavetwopassdata", "impliedby", "implies", "imply", "in", "includemenu", "includeversioninfo", "increment", "incrementcounter", "incrementedcounter", "incrementpagenumber", "incrementsubpagenumber", "incrementvalue", "indentation", "index", "infofont", "infofontbold", "inframed", "infty", "infull", "inheritparameter", "inhibitblank", "ininner", "ininneredge", "ininnermargin", "initializeboxstack", "inleft", "inleftedge", "inleftmargin", "inline", "inlinebuffer", "inlinedbox", "inlinemath", "inlinemathematics", "inlinemessage", "inlineordisplaymath", "inlineprettyprintbuffer", "inlinerange", "inmargin", "inmframed", "innerflushshapebox", "inother", "inouter", "inouteredge", "inoutermargin", "input", "inputfilebarename", "inputfilename", "inputfilerealsuffix", "inputfilesuffix", "inputgivenfile", "inright", "inrightedge", "inrightmargin", "insertpages", "installactionhandler", "installactivecharacter", "installanddefineactivecharacter", "installattributestack", "installautocommandhandler", "installautosetuphandler", "installbasicautosetuphandler", "installbasicparameterhandler", "installbottomframerenderer", "installcommandhandler", "installcorenamespace", "installdefinehandler", "installdefinitionset", "installdefinitionsetmember", "installdirectcommandhandler", "installdirectparameterhandler", "installdirectparametersethandler", "installdirectsetuphandler", "installdirectstyleandcolorhandler", "installframedautocommandhandler", "installframedcommandhandler", "installlanguage", "installleftframerenderer", "installnamespace", "installoutputroutine", "installpagearrangement", "installparameterhandler", "installparameterhashhandler", "installparametersethandler", "installparentinjector", "installrightframerenderer", "installrootparameterhandler", "installsetuphandler", "installsetuponlycommandhandler", "installshipoutmethod", "installsimplecommandhandler", "installsimpleframedcommandhandler", "installstyleandcolorhandler", "installswitchcommandhandler", "installswitchsetuphandler", "installtexdirective", "installtextracker", "installtopframerenderer", "installunitsseparator", "installunitsspace", "installversioninfo", "int", "intclockwise", "integerrounding", "integers", "interactionbar", "interactionbuttons", "interactionmenu", "intercal", "intertext", "intop", "invisibletimes", "invokepageheandler", "iogonek", "iota", "istltdir", "istrtdir", "italic", "italicbold", "italiccorrection", "italicface", "item", "items", "itemtag", "itilde", "jcaron", "jcircumflex", "jmath", "jobfilename", "jobfilesuffix", "kap", "kappa", "kcaron", "kcommaaccent", "keepblocks", "keeplinestogether", "keepunwantedspaces", "kerncharacters", "khook", "kkra", "koreancirclenumerals", "koreannumerals", "koreannumeralsc", "koreannumeralsp", "koreanparentnumerals", "lVert", "labellanguage", "labeltext", "labeltexts", "lacute", "lambda", "lambdabar", "land", "langle", "language", "languageCharacters", "languagecharacters", "languagecharwidth", "lastcounter", "lastcountervalue", "lastdigit", "lastlinewidth", "lastnaturalboxdp", "lastnaturalboxht", "lastnaturalboxwd", "lastpredefinedsymbol", "lastrealpage", "lastrealpagenumber", "lastsubcountervalue", "lastsubpage", "lastsubpagenumber", "lasttwodigits", "lastuserpage", "lastuserpagenumber", "lateluacode", "latin", "layeredtext", "layerheight", "layerwidth", "lazysavetaggedtwopassdata", "lazysavetwopassdata", "lbar", "lbox", "lbrace", "lbracket", "lcaron", "lceil", "lcommaaccent", "lcurl", "ldotmiddle", "ldotp", "ldots", "le", "leadsto", "left", "leftaligned", "leftarrow", "leftarrowtail", "leftarrowtriangle", "leftbottombox", "leftbox", "leftdasharrow", "leftguillemot", "leftharpoondown", "leftharpoonup", "lefthbox", "leftheadtext", "leftlabeltext", "leftleftarrows", "leftline", "leftmathlabeltext", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "leftrightarrow", "leftrightarrows", "leftrightarrowtriangle", "leftrightharpoons", "leftrightsquigarrow", "leftskipadaption", "leftsquigarrow", "leftsubguillemot", "leftthreetimes", "lefttopbox", "lefttoright", "lefttorighthbox", "lefttorightvbox", "lefttorightvtop", "leftwavearrow", "leftwhitearrow", "leq", "leqq", "leqslant", "lessapprox", "lessdot", "lesseqgtr", "lesseqqgtr", "lessgtr", "lesssim", "letbeundefined", "letcatcodecommand", "letcscsname", "letcsnamecs", "letcsnamecsname", "letdummyparameter", "letempty", "letgvalue", "letgvalueempty", "letgvalurelax", "letterampersand", "letterat", "letterbackslash", "letterbar", "letterbgroup", "letterclosebrace", "lettercolon", "letterdollar", "letterdoublequote", "letteregroup", "letterescape", "letterexclamationmark", "letterhash", "letterhat", "letterleftbrace", "letterleftbracket", "letterleftparenthesis", "letterless", "lettermore", "letteropenbrace", "letterpercent", "letterquestionmark", "letterrightbrace", "letterrightbracket", "letterrightparenthesis", "lettersinglequote", "letterslash", "letterspacing", "lettertilde", "letterunderscore", "letvalue", "letvalueempty", "letvaluerelax", "lfence", "lfloor", "lgroup", "lhbox", "lhooknwarrow", "lhooksearrow", "limitatefirstline", "limitatelines", "limitatetext", "line", "linefeed", "linenote", "linespanningtext", "linethickness", "linterval", "listcitation", "listcite", "listlength", "listnamespaces", "ljligature", "ll", "llangle", "llap", "llbracket", "llcorner", "lll", "llless", "lmoustache", "lnapprox", "lneq", "lneqq", "lnot", "lnsim", "loadanyfile", "loadanyfileonce", "loadbtxdefinitionfile", "loadbtxreplacementfile", "loadcldfile", "loadcldfileonce", "loadfontgoodies", "loadluafile", "loadluafileonce", "loadspellchecklist", "loadtexfile", "loadtexfileonce", "loadtypescriptfile", "localframed", "localframedwithsettings", "localhsize", "localpopbox", "localpopmacro", "localpushbox", "localpushmacro", "localundefine", "locatedfilepath", "locatefilepath", "locfilename", "logo", "lohi", "lointerval", "lomihi", "longleftarrow", "longleftrightarrow", "longmapsfrom", "longmapsto", "longrightarrow", "longrightsquigarrow", "looparrowleft", "looparrowright", "lor", "low", "lowerbox", "lowercased", "lowercasestring", "lowerleftdoubleninequote", "lowerleftsingleninequote", "lowerrightdoubleninequote", "lowerrightsingleninequote", "lozenge", "lparent", "lrcorner", "lrointerval", "lrtbbox", "lstroke", "lt", "ltimes", "ltop", "luaTeX", "luacode", "luaconditional", "luaenvironment", "luaexpanded", "luaexpr", "luafunction", "luajitTeX", "luamajorversion", "luaminorversion", "luaparameterset", "luasetup", "luaversion", "lvert", "m", "mLeftarrow", "mLeftrightarrow", "mRightarrow", "mainlanguage", "makecharacteractive", "makerawcommalist", "makestrutofbox", "maltese", "mapfontsize", "mapsdown", "mapsfrom", "mapsto", "mapsup", "margindata", "margintext", "markcontent", "marking", "markinjector", "markpage", "mat", "math", "mathampersand", "mathbf", "mathbi", "mathblackboard", "mathbs", "mathdefault", "mathdollar", "mathdouble", "mathematics", "mathfraktur", "mathfunction", "mathhash", "mathhyphen", "mathit", "mathitalic", "mathlabellanguage", "mathlabeltext", "mathlabeltexts", "mathop", "mathover", "mathpercent", "mathrm", "mathscript", "mathsl", "mathss", "mathtext", "mathtextbf", "mathtextbi", "mathtextbs", "mathtextit", "mathtextsl", "mathtexttf", "mathtf", "mathtriplet", "mathtt", "mathunder", "mathupright", "mathword", "mathwordbf", "mathwordbi", "mathwordbs", "mathwordit", "mathwordsl", "mathwordtf", "maxaligned", "mbox", "mcframed", "measure", "measured", "measuredangle", "measuredeq", "medskip", "medspace", "menubutton", "mequal", "message", "metaTeX", "mfence", "mframed", "mfunction", "mfunctionlabeltext", "mhbox", "mho", "mhookleftarrow", "mhookrightarrow", "mid", "midaligned", "middle", "middlealigned", "middlebox", "midhbox", "midsubsentence", "minimalhbox", "minus", "minuscolon", "mirror", "mixedcaps", "mkvibuffer", "mleftarrow", "mleftharpoondown", "mleftharpoonup", "mleftrightarrow", "mleftrightharpoons", "mmapsto", "models", "moduleparameter", "molecule", "mono", "monobold", "mononormal", "month", "monthlong", "monthshort", "mp", "mprandomnumber", "mrel", "mrightarrow", "mrightharpoondown", "mrightharpoonup", "mrightleftharpoons", "mrightoverleftarrow", "mtext", "mtriplerel", "mtwoheadleftarrow", "mtwoheadrightarrow", "mu", "multimap", "nHdownarrow", "nHuparrow", "nLeftarrow", "nLeftrightarrow", "nRightarrow", "nVDash", "nVdash", "nVleftarrow", "nVleftrightarrow", "nVrightarrow", "nabla", "nacute", "namedheadnumber", "namedstructureheadlocation", "namedstructureuservariable", "namedstructurevariable", "namedtaggedlabeltexts", "napostrophe", "napprox", "napproxEq", "narrownobreakspace", "nasymp", "natural", "naturalhbox", "naturalhpack", "naturalnumbers", "naturalvbox", "naturalvcenter", "naturalvpack", "naturalvtop", "naturalwd", "ncaron", "ncommaaccent", "ncong", "ncurl", "ndivides", "ne", "nearrow", "neg", "negatecolorbox", "negated", "negativesign", "negthinspace", "neng", "neq", "nequiv", "neswarrow", "newattribute", "newcatcodetable", "newcounter", "newevery", "newfrenchspacing", "newmode", "newsignal", "newsystemmode", "nexists", "nextbox", "nextboxdp", "nextboxht", "nextboxhtdp", "nextboxwd", "nextcounter", "nextcountervalue", "nextdepth", "nextparagraphs", "nextrealpage", "nextrealpagenumber", "nextsubcountervalue", "nextsubpage", "nextsubpagenumber", "nextuserpage", "nextuserpagenumber", "ngeq", "ngrave", "ngtr", "ngtrless", "ngtrsim", "ni", "nihongo", "nin", "njligature", "nleftarrow", "nleftrightarrow", "nleq", "nless", "nlessgtr", "nlesssim", "nmid", "nni", "nobar", "nobreakspace", "nocap", "nocitation", "nocite", "nodetostring", "noffigurepages", "noflines", "noflocalfloats", "noheaderandfooterlines", "noheightstrut", "noindentation", "noitem", "nonfrenchspacing", "nonmathematics", "normal", "normalboldface", "normalframedwithsettings", "normalitalicface", "normalizebodyfontsize", "normalizedfontsize", "normalizefontdepth", "normalizefontheight", "normalizefontline", "normalizefontwidth", "normalizetextdepth", "normalizetextheight", "normalizetextline", "normalizetextwidth", "normalslantedface", "normaltypeface", "nospace", "not", "note", "notesymbol", "notin", "notopandbottomlines", "notragged", "nowns", "nparallel", "nprec", "npreccurlyeq", "nrightarrow", "nsim", "nsimeq", "nsqsubseteq", "nsqsupseteq", "nsubset", "nsubseteq", "nsucc", "nsucccurlyeq", "nsupset", "nsupseteq", "ntilde", "ntimes", "ntriangleleft", "ntrianglelefteq", "ntriangleright", "ntrianglerighteq", "nu", "numberofpoints", "numbers", "nvDash", "nvdash", "nvleftarrow", "nvleftrightarrow", "nvrightarrow", "nwarrow", "nwsearrow", "oacute", "obeydepth", "objectdepth", "objectheight", "objectmargin", "objectwidth", "obox", "obreve", "ocaron", "ocircumflex", "ocircumflexacute", "ocircumflexdotbelow", "ocircumflexgrave", "ocircumflexhook", "ocircumflextilde", "odiaeresis", "odiaeresismacron", "odot", "odotaccent", "odotaccentmacron", "odotbelow", "odoublegrave", "oeligature", "offset", "offsetbox", "ograve", "ohm", "ohook", "ohorn", "ohornacute", "ohorndotbelow", "ohorngrave", "ohornhook", "ohorntilde", "ohungarumlaut", "oiiint", "oiint", "oint", "ointclockwise", "ointctrclockwise", "oinvertedbreve", "omacron", "omega", "omicron", "ominus", "onedigitrounding", "oneeighth", "onefifth", "onehalf", "onequarter", "onesixth", "onesuperior", "onethird", "oogonek", "oogonekmacron", "operatorlanguage", "operatortext", "oplus", "ordfeminine", "ordinaldaynumber", "ordinalstr", "ordmasculine", "ornamenttext", "oslash", "ostroke", "ostrokeacute", "otilde", "otildemacron", "otimes", "outputfilename", "outputstreambox", "outputstreamcopy", "outputstreamunvbox", "outputstreamunvcopy", "over", "overbar", "overbars", "overbarunderbar", "overbrace", "overbraceunderbrace", "overbracket", "overbracketunderbracket", "overlaybutton", "overlaycolor", "overlaydepth", "overlayfigure", "overlayheight", "overlaylinecolor", "overlaylinewidth", "overlayoffset", "overlayrollbutton", "overlaywidth", "overleftarrow", "overloaderror", "overparent", "overparentunderparent", "overrightarrow", "overset", "overstrike", "overstrikes", "owns", "page", "pagearea", "pagebreak", "pagefigure", "pagegridspanwidth", "pageinjection", "pagenumber", "pagereference", "pagestaterealpage", "paletsize", "paragraphmark", "parallel", "part", "partial", "pdfTeX", "pdfactualtext", "pdfbackendactualtext", "pdfbackendcurrentresources", "pdfbackendsetcatalog", "pdfbackendsetcolorspace", "pdfbackendsetextgstate", "pdfbackendsetinfo", "pdfbackendsetname", "pdfbackendsetpageattribute", "pdfbackendsetpageresource", "pdfbackendsetpagesattribute", "pdfbackendsetpattern", "pdfbackendsetshade", "pdfcolor", "pdfeTeX", "percent", "percentdimen", "periodcentered", "periods", "permitcaretescape", "permitcircumflexescape", "permitspacesbetweengroups", "perp", "persiandecimals", "persiandecimalseparator", "persiannumerals", "persianthousandsseparator", "perthousand", "phantom", "phantombox", "phi", "phook", "pi", "pickupgroupedcommand", "pitchfork", "placeattachments", "placebookmarks", "placebtxrendering", "placechemical", "placecitation", "placecombinedlist", "placecomments", "placecontent", "placecurrentformulanumber", "placedbox", "placefigure", "placefloat", "placefloatwithsetups", "placefootnotes", "placeformula", "placeframed", "placegraphic", "placeheadnumber", "placeheadtext", "placehelp", "placeindex", "placeinitial", "placeintermezzo", "placelayer", "placelayeredtext", "placelegend", "placelist", "placelistofabbreviations", "placelistofchemicals", "placelistoffigures", "placelistofgraphics", "placelistofintermezzi", "placelistoflogos", "placelistofpublications", "placelistofsorts", "placelistofsynonyms", "placelistoftables", "placelocalfootnotes", "placelocalnotes", "placement", "placenamedfloat", "placenamedformula", "placenotes", "placeongrid", "placeontopofeachother", "placepagenumber", "placepairedbox", "placeparallel", "placerawlist", "placeregister", "placerenderingwindow", "placesidebyside", "placesubformula", "placetable", "pm", "popattribute", "popmacro", "popmode", "popsystemmode", "position", "positionoverlay", "positionregionoverlay", "positivesign", "postponenotes", "prec", "precapprox", "preccurlyeq", "preceq", "preceqq", "precnapprox", "precneq", "precneqq", "precnsim", "precsim", "predefinedfont", "predefinefont", "predefinesymbol", "prefixedpagenumber", "prefixlanguage", "prefixtext", "prependetoks", "prependgvalue", "prependtocommalist", "prependtoks", "prependtoksonce", "prependvalue", "presetbtxlabeltext", "presetdocument", "presetfieldsymbols", "presetheadtext", "presetlabeltext", "presetmathlabeltext", "presetoperatortext", "presetprefixtext", "presetsuffixtext", "presettaglabeltext", "presetunittext", "pretocommalist", "prettyprintbuffer", "prevcounter", "prevcountervalue", "preventmode", "prevrealpage", "prevrealpagenumber", "prevsubcountervalue", "prevsubpage", "prevsubpagenumber", "prevuserpage", "prevuserpagenumber", "prime", "primes", "procent", "processMPbuffer", "processMPfigurefile", "processaction", "processallactionsinset", "processassignlist", "processassignmentcommand", "processassignmentlist", "processbetween", "processblocks", "processbodyfontenvironmentlist", "processcolorcomponents", "processcommacommand", "processcommalist", "processcommalistwithparameters", "processcontent", "processfile", "processfilemany", "processfilenone", "processfileonce", "processfirstactioninset", "processisolatedchars", "processisolatedwords", "processlinetablebuffer", "processlinetablefile", "processlist", "processmonth", "processranges", "processseparatedlist", "processtexbuffer", "processtokens", "processuntil", "processxtablebuffer", "processyear", "prod", "product", "profiledbox", "profilegivenbox", "program", "project", "propto", "pseudoMixedCapped", "pseudoSmallCapped", "pseudoSmallcapped", "pseudosmallcapped", "psi", "punctuationspace", "purenumber", "pushattribute", "pushbutton", "pushmacro", "pushmode", "pushoutputstream", "pushsystemmode", "putboxincache", "putnextboxincache", "qquad", "quad", "quadrupleprime", "quads", "quarterstrut", "questiondown", "questionedeq", "quitcommalist", "quitprevcommalist", "quittypescriptscanning", "quotation", "quote", "quotedbl", "quotedblbase", "quotedblleft", "quotedblright", "quoteleft", "quoteright", "quotesingle", "quotesinglebase", "rVert", "racute", "raggedbottom", "raggedcenter", "raggedleft", "raggedright", "raggedwidecenter", "raisebox", "randomizetext", "randomnumber", "rangle", "rationals", "rawcounter", "rawcountervalue", "rawdate", "rawdoifelseinset", "rawdoifinset", "rawdoifinsetelse", "rawgetparameters", "rawprocessaction", "rawprocesscommacommand", "rawprocesscommalist", "rawstructurelistuservariable", "rawsubcountervalue", "rbox", "rbrace", "rbracket", "rcaron", "rceil", "rcommaaccent", "rdoublegrave", "readfile", "readfixfile", "readjobfile", "readlocfile", "readsetfile", "readsysfile", "readtexfile", "readxmlfile", "realSmallCapped", "realSmallcapped", "realpagenumber", "reals", "realsmallcapped", "recursedepth", "recurselevel", "recursestring", "redoconvertfont", "ref", "reference", "referenceprefix", "referring", "registerattachment", "registerctxluafile", "registered", "registerexternalfigure", "registerfontclass", "registerhyphenationexception", "registerhyphenationpattern", "registermenubuttons", "registersort", "registersynonym", "registerunit", "regular", "relatemarking", "relateparameterhandlers", "relaxvalueifundefined", "relbar", "remainingcharacters", "remark", "removebottomthings", "removedepth", "removefromcommalist", "removelastskip", "removelastspace", "removemarkedcontent", "removepunctuation", "removesubstring", "removetoks", "removeunwantedspaces", "replacefeature", "replaceincommalist", "replaceword", "rescan", "rescanwithsetup", "resetMPdrawing", "resetMPenvironment", "resetMPinstance", "resetallattributes", "resetandaddfeature", "resetbar", "resetboxesincache", "resetbreakpoints", "resetbuffer", "resetcharacteralign", "resetcharacterkerning", "resetcharacterspacing", "resetcharacterstripping", "resetcollector", "resetcounter", "resetdigitsmanipulation", "resetdirection", "resetfeature", "resetflag", "resetfontcolorsheme", "resetfontfallback", "resetfontsolution", "resethyphenationfeatures", "resetinjector", "resetinteractionmenu", "resetitaliccorrection", "resetlayer", "resetlocalfloats", "resetmarker", "resetmarking", "resetmode", "resetpagenumber", "resetparallel", "resetpath", "resetpenalties", "resetprofile", "resetrecurselevel", "resetreference", "resetreplacement", "resetscript", "resetsetups", "resetshownsynonyms", "resetsubpagenumber", "resetsymbolset", "resetsystemmode", "resettimer", "resettrackers", "resettrialtypesetting", "resetusedsortings", "resetusedsynonyms", "resetuserpagenumber", "resetvalue", "resetvisualizers", "reshapebox", "resolvedglyphdirect", "resolvedglyphstyled", "restartcounter", "restorebox", "restorecatcodes", "restorecounter", "restorecurrentattributes", "restoreendofline", "restoreglobalbodyfont", "restriction", "reusableMPgraphic", "reuseMPgraphic", "reuserandomseed", "reverseddoubleprime", "reversedprime", "reversedtripleprime", "revivefeature", "rfence", "rfloor", "rgroup", "rhbox", "rho", "rhooknearrow", "rhookswarrow", "right", "rightaligned", "rightangle", "rightarrow", "rightarrowbar", "rightarrowtail", "rightarrowtriangle", "rightbottombox", "rightbox", "rightdasharrow", "rightguillemot", "rightharpoondown", "rightharpoonup", "righthbox", "rightheadtext", "rightlabeltext", "rightleftarrows", "rightleftharpoons", "rightline", "rightmathlabeltext", "rightorleftpageaction", "rightrightarrows", "rightskipadaption", "rightsquigarrow", "rightsubguillemot", "rightthreearrows", "rightthreetimes", "righttoleft", "righttolefthbox", "righttoleftvbox", "righttoleftvtop", "righttopbox", "rightwavearrow", "rightwhitearrow", "ring", "rinterval", "rinvertedbreve", "risingdotseq", "rlap", "rlointerval", "rmoustache", "rneq", "robustaddtocommalist", "robustdoifelseinset", "robustdoifinsetelse", "robustpretocommalist", "rointerval", "rollbutton", "roman", "romanC", "romanD", "romanI", "romanII", "romanIII", "romanIV", "romanIX", "romanL", "romanM", "romanV", "romanVI", "romanVII", "romanVIII", "romanX", "romanXI", "romanXII", "romanc", "romand", "romani", "romanii", "romaniii", "romaniv", "romanix", "romanl", "romanm", "romannumerals", "romanv", "romanvi", "romanvii", "romanviii", "romanx", "romanxi", "romanxii", "rootradical", "rotate", "rparent", "rrangle", "rrbracket", "rrointerval", "rtimes", "rtop", "ruledhbox", "ruledhpack", "ruledmbox", "ruledtopv", "ruledtpack", "ruledvbox", "ruledvpack", "ruledvtop", "runMPbuffer", "runninghbox", "rvert", "sacute", "safechar", "samplefile", "sans", "sansbold", "sansnormal", "sansserif", "savebox", "savebtxdataset", "savebuffer", "savecounter", "savecurrentattributes", "savenormalmeaning", "savetaggedtwopassdata", "savetwopassdata", "sbox", "scale", "scaron", "scedilla", "schwa", "schwahook", "scircumflex", "scommaaccent", "screen", "searrow", "secondoffivearguments", "secondoffourarguments", "secondofsixarguments", "secondofthreearguments", "secondofthreeunexpanded", "secondoftwoarguments", "secondoftwounexpanded", "section", "sectionmark", "seeindex", "select", "selectblocks", "serializecommalist", "serializedcommalist", "serif", "serifbold", "serifnormal", "setJSpreamble", "setMPlayer", "setMPpositiongraphic", "setMPpositiongraphicrange", "setMPtext", "setMPvariable", "setMPvariables", "setbar", "setbigbodyfont", "setboxllx", "setboxlly", "setbreakpoints", "setcapstrut", "setcatcodetable", "setcharacteralign", "setcharactercasing", "setcharactercleaning", "setcharacterkerning", "setcharacterspacing", "setcharacterstripping", "setcharstrut", "setcollector", "setcolormodell", "setcounter", "setcounterown", "setcurrentfontclass", "setdataset", "setdefaultpenalties", "setdigitsmanipulation", "setdirection", "setdocumentargument", "setdocumentargumentdefault", "setdocumentfilename", "setdummyparameter", "setelementexporttag", "setemeasure", "setevalue", "setevariable", "setevariables", "setfirstline", "setflag", "setfont", "setfontcolorsheme", "setfontfeature", "setfontsolution", "setfontstrut", "setgmeasure", "setgvalue", "setgvariable", "setgvariables", "sethboxregister", "sethyphenatedurlafter", "sethyphenatedurlbefore", "sethyphenatedurlnormal", "sethyphenationfeatures", "setinitial", "setinjector", "setinteraction", "setinterfacecommand", "setinterfaceconstant", "setinterfaceelement", "setinterfacemessage", "setinterfacevariable", "setinternalrendering", "setitaliccorrection", "setlayer", "setlayerframed", "setlayertext", "setlinefiller", "setlocalhsize", "setmainbodyfont", "setmainparbuilder", "setmarker", "setmarking", "setmathstyle", "setmeasure", "setmessagetext", "setminus", "setmode", "setnostrut", "setnote", "setnotetext", "setobject", "setoldstyle", "setpagegrid", "setpagereference", "setpagestate", "setpagestaterealpageno", "setpenalties", "setpercentdimen", "setposition", "setpositionbox", "setpositiondata", "setpositiondataplus", "setpositiononly", "setpositionplus", "setpositionstrut", "setprofile", "setrandomseed", "setreference", "setreferencedobject", "setregisterentry", "setreplacement", "setrigidcolumnbalance", "setrigidcolumnhsize", "setscript", "setsectionblock", "setsimplecolumnhsize", "setsmallbodyfont", "setsmallcaps", "setstackbox", "setstructurepageregister", "setstrut", "setsuperiors", "setsystemmode", "settabular", "settaggedmetadata", "settextcontent", "settightobject", "settightreferencedobject", "settightunreferencedobject", "settrialtypesetting", "setuevalue", "setugvalue", "setunreferencedobject", "setup", "setupMPgraphics", "setupMPinstance", "setupMPpage", "setupMPvariables", "setupTABLE", "setupTEXpage", "setupalign", "setupalternativestyles", "setuparranging", "setupattachment", "setupattachments", "setupbackend", "setupbackground", "setupbackgrounds", "setupbar", "setupbars", "setupblackrules", "setupblank", "setupbleeding", "setupblock", "setupbodyfont", "setupbookmark", "setupbottom", "setupbottomtexts", "setupbtx", "setupbtxdataset", "setupbtxlabeltext", "setupbtxlist", "setupbtxregister", "setupbtxrendering", "setupbuffer", "setupbutton", "setupcapitals", "setupcaption", "setupcaptions", "setupcharacterkerning", "setupcharacterspacing", "setupchemical", "setupchemicalframed", "setupclipping", "setupcollector", "setupcolor", "setupcolors", "setupcolumns", "setupcolumnspan", "setupcombination", "setupcombinedlist", "setupcomment", "setupcontent", "setupcounter", "setupdataset", "setupdelimitedtext", "setupdescription", "setupdirections", "setupdocument", "setupeffect", "setupenumeration", "setupenumerations", "setupenv", "setupexport", "setupexternalfigure", "setupexternalsoundtracks", "setupfield", "setupfieldbody", "setupfieldcategory", "setupfieldcontentframed", "setupfieldlabelframed", "setupfields", "setupfieldtotalframed", "setupfiller", "setupfillinlines", "setupfillinrules", "setupfirstline", "setupfittingpage", "setupfloat", "setupfloatcaption", "setupfloats", "setupfloatsplitting", "setupfontexpansion", "setupfontprotrusion", "setupfonts", "setupfontsolution", "setupfooter", "setupfootertexts", "setupforms", "setupformula", "setupformulae", "setupformulaframed", "setupframed", "setupframedcontent", "setupframedtable", "setupframedtablecolumn", "setupframedtablerow", "setupframedtext", "setupframedtexts", "setupglobalreferenceprefix", "setuphead", "setupheadalternative", "setupheader", "setupheadertexts", "setupheadnumber", "setupheads", "setupheadtext", "setuphelp", "setuphigh", "setuphighlight", "setuphyphenation", "setuphyphenmark", "setupindentedtext", "setupindenting", "setupindex", "setupinitial", "setupinsertion", "setupinteraction", "setupinteractionbar", "setupinteractionmenu", "setupinteractionscreen", "setupinterlinespace", "setupitaliccorrection", "setupitemgroup", "setupitemizations", "setupitemize", "setupitems", "setuplabel", "setuplabeltext", "setuplanguage", "setuplayer", "setuplayeredtext", "setuplayout", "setuplayouttext", "setuplegend", "setuplinefiller", "setuplinefillers", "setuplinenote", "setuplinenumbering", "setuplines", "setuplinetable", "setuplinewidth", "setuplist", "setuplistalternative", "setuplistextra", "setuplocalfloats", "setuplocalinterlinespace", "setuplow", "setuplowhigh", "setuplowmidhigh", "setupmakeup", "setupmarginblock", "setupmargindata", "setupmarginframed", "setupmarginrule", "setupmarginrules", "setupmarking", "setupmathalignment", "setupmathcases", "setupmathematics", "setupmathfence", "setupmathfraction", "setupmathfractions", "setupmathframed", "setupmathlabeltext", "setupmathmatrix", "setupmathornament", "setupmathradical", "setupmathstackers", "setupmathstyle", "setupmixedcolumns", "setupmodule", "setupnarrower", "setupnotation", "setupnotations", "setupnote", "setupnotes", "setupoffset", "setupoffsetbox", "setupoperatortext", "setupoppositeplacing", "setupoutputroutine", "setuppagechecker", "setuppagecomment", "setuppagegrid", "setuppagegridarea", "setuppagegridareatext", "setuppagegridlines", "setuppagegridspan", "setuppagegridstart", "setuppageinjection", "setuppageinjectionalternative", "setuppagenumber", "setuppagenumbering", "setuppageshift", "setuppagestate", "setuppagetransitions", "setuppairedbox", "setuppalet", "setuppaper", "setuppapersize", "setupparagraph", "setupparagraphintro", "setupparagraphnumbering", "setupparagraphs", "setupparallel", "setupperiods", "setupplacement", "setuppositionbar", "setuppositioning", "setupprefixtext", "setupprocessor", "setupprofile", "setupprograms", "setupquotation", "setupquote", "setuprealpagenumber", "setupreferenceformat", "setupreferenceprefix", "setupreferencestructureprefix", "setupreferencing", "setupregister", "setupregisters", "setuprenderingwindow", "setuprotate", "setups", "setupscale", "setupscript", "setupscripts", "setupsectionblock", "setupselector", "setupshift", "setupsidebar", "setupsorting", "setupspacing", "setupspellchecking", "setupstartstop", "setupstretched", "setupstruts", "setupstyle", "setupsubformula", "setupsubformulas", "setupsubpagenumber", "setupsuffixtext", "setupsymbolset", "setupsynctex", "setupsynonyms", "setuptables", "setuptabulate", "setuptabulation", "setuptagging", "setuptaglabeltext", "setuptext", "setuptextbackground", "setuptextflow", "setuptextrules", "setuptexttexts", "setupthinrules", "setuptolerance", "setuptooltip", "setuptop", "setuptoptexts", "setuptype", "setuptyping", "setupunit", "setupunittext", "setupurl", "setupuserpagenumber", "setupversion", "setupviewerlayer", "setupvspacing", "setupwhitespace", "setupwithargument", "setupwithargumentswapped", "setupxml", "setupxtable", "setuvalue", "setuxvalue", "setvalue", "setvariable", "setvariables", "setvboxregister", "setvisualizerfont", "setvtopregister", "setwidthof", "setxmeasure", "setxvalue", "setxvariable", "setxvariables", "seveneighths", "sfrac", "shapedhbox", "sharp", "shiftdown", "shiftup", "showallmakeup", "showattributes", "showbodyfont", "showbodyfontenvironment", "showboxes", "showbtxdatasetauthors", "showbtxdatasetcompleteness", "showbtxdatasetfields", "showbtxfields", "showbtxhashedauthors", "showbtxtables", "showchardata", "showcharratio", "showcolor", "showcolorbar", "showcolorcomponents", "showcolorgroup", "showcolorset", "showcolorstruts", "showcounter", "showdirectives", "showdirsinmargin", "showedebuginfo", "showexperiments", "showfont", "showfontdata", "showfontitalics", "showfontkerns", "showfontparameters", "showfontstrip", "showfontstyle", "showframe", "showglyphs", "showgrid", "showgridsnapping", "showhelp", "showhyphenationtrace", "showhyphens", "showinjector", "showjustification", "showkerning", "showlayout", "showlayoutcomponents", "showligature", "showligatures", "showlogcategories", "showmakeup", "showmargins", "showmessage", "showminimalbaseline", "shownextbox", "showotfcomposition", "showpalet", "showparentchain", "showprint", "showsetups", "showsetupsdefinition", "showstruts", "showsymbolset", "showtimer", "showtokens", "showtrackers", "showvalue", "showvariable", "showwarning", "sigma", "sim", "simeq", "simplealignedbox", "simplealignedboxplus", "simplealignedspreadbox", "simplegroupedcommand", "simplereversealignedbox", "simplereversealignedboxplus", "singalcharacteralign", "singlebond", "singleverticalbar", "sixperemspace", "sixthofsixarguments", "slanted", "slantedbold", "slantedface", "slash", "slicepages", "slong", "slovenianNumerals", "sloveniannumerals", "small", "smallbodyfont", "smallbold", "smallbolditalic", "smallboldslanted", "smallcappedcharacters", "smallcappedromannumerals", "smaller", "smallitalicbold", "smallnormal", "smallskip", "smallslanted", "smallslantedbold", "smalltype", "smash", "smashbox", "smashboxed", "smashedhbox", "smashedvbox", "smile", "snaptogrid", "softhyphen", "solidus", "someheadnumber", "somekindoftab", "someline", "somelocalfloat", "somenamedheadnumber", "someplace", "somewhere", "space", "spadesuit", "spanishNumerals", "spanishnumerals", "speech", "sphericalangle", "splitatasterisk", "splitatcolon", "splitatcolons", "splitatcomma", "splitatperiod", "splitdfrac", "splitfilename", "splitfloat", "splitfrac", "splitoffbase", "splitofffull", "splitoffkind", "splitoffname", "splitoffpath", "splitoffroot", "splitofftokens", "splitofftype", "splitstring", "spreadhbox", "sqcap", "sqcup", "sqrt", "sqsubset", "sqsubseteq", "sqsubsetneq", "sqsupset", "sqsupseteq", "sqsupsetneq", "square", "squaredots", "ssharp", "stackrel", "star", "stareq", "startJScode", "startJSpreamble", "startLUA", "startMP", "startMPclip", "startMPcode", "startMPdefinitions", "startMPdrawing", "startMPenvironment", "startMPextensions", "startMPinclusions", "startMPinitializations", "startMPpage", "startMPpositiongraphic", "startMPpositionmethod", "startMPrun", "startPARSEDXML", "startTABLE", "startTABLEbody", "startTABLEfoot", "startTABLEhead", "startTABLEnext", "startTC", "startTD", "startTDs", "startTEX", "startTEXpage", "startTH", "startTN", "startTR", "startTRs", "startTX", "startTY", "startXML", "startalign", "startalignment", "startallmodes", "startappendices", "startarrangedpages", "startaside", "startattachment", "startbackground", "startbackmatter", "startbar", "startbbordermatrix", "startbitmapimage", "startblockquote", "startbodymatter", "startbordermatrix", "startboxedcolumns", "startbtxlabeltext", "startbtxrenderingdefinitions", "startbuffer", "startcases", "startcatcodetable", "startcenteraligned", "startchapter", "startcharacteralign", "startcheckedfences", "startchemical", "startchemicaltext", "startcollect", "startcollecting", "startcolor", "startcolorintent", "startcoloronly", "startcolorset", "startcolumns", "startcolumnspan", "startcombination", "startcomment", "startcomponent", "startcontextcode", "startcontextdefinitioncode", "startctxfunction", "startctxfunctiondefinition", "startcurrentcolor", "startcurrentlistentrywrapper", "startdelimited", "startdelimitedtext", "startdisplaymath", "startdmath", "startdocument", "starteffect", "startelement", "startembeddedxtable", "startendnote", "startendofline", "startenvironment", "startexceptions", "startexpanded", "startexpandedcollect", "startextendedcatcodetable", "startexternalfigurecollection", "startfact", "startfigure", "startfiguretext", "startfittingpage", "startfixed", "startfloatcombination", "startfont", "startfontclass", "startfontsolution", "startfootnote", "startformula", "startformulas", "startframed", "startframedcell", "startframedcontent", "startframedrow", "startframedtable", "startframedtext", "startfrontmatter", "startgoto", "startgraphictext", "startgridsnapping", "starthanging", "starthbox", "starthboxestohbox", "starthboxregister", "starthead", "startheadtext", "starthelptext", "starthiding", "starthighlight", "starthyphenation", "startimath", "startindentation", "startindentedtext", "startinteraction", "startinteractionmenu", "startinterface", "startintermezzotext", "startintertext", "startitem", "startitemgroup", "startitemgroupcolumns", "startitemize", "startknockout", "startlabeltext", "startlayout", "startleftaligned", "startlegend", "startline", "startlinealignment", "startlinecorrection", "startlinefiller", "startlinenote", "startlinenumbering", "startlines", "startlinetable", "startlinetablebody", "startlinetablecell", "startlinetablehead", "startlocalfootnotes", "startlocalheadsetup", "startlocallinecorrection", "startlocalnotes", "startlocalsetups", "startlua", "startluacode", "startluaparameterset", "startluasetups", "startmakeup", "startmarginblock", "startmarginrule", "startmarkedcontent", "startmathalignment", "startmathcases", "startmathlabeltext", "startmathmatrix", "startmathmode", "startmathstyle", "startmatrices", "startmatrix", "startmaxaligned", "startmdformula", "startmidaligned", "startmiddlealigned", "startmiddlemakeup", "startmixedcolumns", "startmode", "startmodeset", "startmodule", "startmoduletestsection", "startmpformula", "startnamedsection", "startnamedsubformulas", "startnarrow", "startnarrower", "startnegative", "startnicelyfilledbox", "startnointerference", "startnotallmodes", "startnotext", "startnotmode", "startoperatortext", "startopposite", "startoutputstream", "startoverlay", "startoverprint", "startpacked", "startpagecomment", "startpagefigure", "startpagegrid", "startpagegridspan", "startpagelayout", "startpagemakeup", "startpar", "startparagraph", "startparagraphs", "startparagraphscell", "startparbuilder", "startpart", "startpath", "startplacechemical", "startplacefigure", "startplacefloat", "startplaceformula", "startplacegraphic", "startplaceintermezzo", "startplacelegend", "startplacepairedbox", "startplacetable", "startpositioning", "startpositionoverlay", "startpositive", "startpostponing", "startprefixtext", "startprocessassignmentcommand", "startprocessassignmentlist", "startprocesscommacommand", "startprocesscommalist", "startproduct", "startproject", "startprotect", "startprotectedcolors", "startpublication", "startpunctuation", "startquotation", "startquote", "startrandomized", "startrandomseed", "startrawsetups", "startreadingfile", "startreferenceprefix", "startregime", "startregister", "startreusableMPgraphic", "startrightaligned", "startscript", "startsdformula", "startsection", "startsectionblock", "startsectionblockenvironment", "startsectionlevel", "startsetups", "startshapebox", "startshift", "startsidebar", "startsimplecolumns", "startspecialitem", "startspeech", "startspformula", "startsplitformula", "startspread", "startstandardmakeup", "startstartstop", "startstaticMPfigure", "startstaticMPgraphic", "startstrictinspectnextcharacter", "startstructurepageregister", "startstrut", "startstyle", "startsubformulas", "startsubject", "startsubjectlevel", "startsubsection", "startsubsentence", "startsubstack", "startsubsubject", "startsubsubsection", "startsubsubsubject", "startsubsubsubsection", "startsubsubsubsubject", "startsubsubsubsubsection", "startsubsubsubsubsubject", "startsuffixtext", "startsymbolset", "starttable", "starttablehead", "starttables", "starttabletail", "starttabletext", "starttabulate", "starttabulatehead", "starttabulatetail", "starttagged", "starttaglabeltext", "starttexcode", "starttexdefinition", "starttext", "starttextbackground", "starttextbackgroundmanual", "starttextcolor", "starttextcolorintent", "starttextflow", "starttextmakeup", "starttextrule", "starttitle", "starttokens", "starttransparent", "starttypescript", "starttypescriptcollection", "starttyping", "startuniqueMPgraphic", "startuniqueMPpagegraphic", "startunittext", "startunpacked", "startusableMPgraphic", "startuseMPgraphic", "startusemathstyleparameter", "startusingbtxspecification", "startvbox", "startvboxregister", "startvboxtohbox", "startvboxtohboxseparator", "startviewerlayer", "startvtop", "startvtopregister", "startxcell", "startxcellgroup", "startxgroup", "startxmldisplayverbatim", "startxmlinlineverbatim", "startxmlraw", "startxmlsetups", "startxrow", "startxrowgroup", "startxtable", "startxtablebody", "startxtablefoot", "startxtablehead", "startxtablenext", "stligature", "stopJScode", "stopJSpreamble", "stopLUA", "stopMP", "stopMPclip", "stopMPcode", "stopMPdefinitions", "stopMPdrawing", "stopMPenvironment", "stopMPextensions", "stopMPinclusions", "stopMPinitializations", "stopMPpage", "stopMPpositiongraphic", "stopMPpositionmethod", "stopMPrun", "stopPARSEDXML", "stopTABLE", "stopTABLEbody", "stopTABLEfoot", "stopTABLEhead", "stopTABLEnext", "stopTC", "stopTD", "stopTDs", "stopTEX", "stopTEXpage", "stopTH", "stopTN", "stopTR", "stopTRs", "stopTX", "stopTY", "stopXML", "stopalign", "stopalignment", "stopallmodes", "stopappendices", "stoparrangedpages", "stopaside", "stopattachment", "stopbackground", "stopbackmatter", "stopbar", "stopbbordermatrix", "stopbitmapimage", "stopblockquote", "stopbodymatter", "stopbordermatrix", "stopboxedcolumns", "stopbtxlabeltext", "stopbtxrenderingdefinitions", "stopbuffer", "stopcases", "stopcatcodetable", "stopcenteraligned", "stopchapter", "stopcharacteralign", "stopcheckedfences", "stopchemical", "stopchemicaltext", "stopcollect", "stopcollecting", "stopcolor", "stopcolorintent", "stopcoloronly", "stopcolorset", "stopcolumns", "stopcolumnspan", "stopcombination", "stopcomment", "stopcomponent", "stopcontextcode", "stopcontextdefinitioncode", "stopctxfunction", "stopctxfunctiondefinition", "stopcurrentcolor", "stopcurrentlistentrywrapper", "stopdelimited", "stopdelimitedtext", "stopdisplaymath", "stopdmath", "stopdocument", "stopeffect", "stopelement", "stopembeddedxtable", "stopendnote", "stopendofline", "stopenvironment", "stopexceptions", "stopexpanded", "stopexpandedcollect", "stopextendedcatcodetable", "stopexternalfigurecollection", "stopfact", "stopfigure", "stopfiguretext", "stopfittingpage", "stopfixed", "stopfloatcombination", "stopfont", "stopfontclass", "stopfontsolution", "stopfootnote", "stopformula", "stopformulas", "stopframed", "stopframedcell", "stopframedcontent", "stopframedrow", "stopframedtable", "stopframedtext", "stopfrontmatter", "stopgoto", "stopgraphictext", "stopgridsnapping", "stophanging", "stophbox", "stophboxestohbox", "stophboxregister", "stophead", "stopheadtext", "stophelptext", "stophiding", "stophighlight", "stophyphenation", "stopimath", "stopindentation", "stopindentedtext", "stopinteraction", "stopinteractionmenu", "stopinterface", "stopintermezzotext", "stopintertext", "stopitem", "stopitemgroup", "stopitemgroupcolumns", "stopitemize", "stopknockout", "stoplabeltext", "stoplayout", "stopleftaligned", "stoplegend", "stopline", "stoplinealignment", "stoplinecorrection", "stoplinefiller", "stoplinenote", "stoplinenumbering", "stoplines", "stoplinetable", "stoplinetablebody", "stoplinetablecell", "stoplinetablehead", "stoplocalfootnotes", "stoplocalheadsetup", "stoplocallinecorrection", "stoplocalnotes", "stoplocalsetups", "stoplua", "stopluacode", "stopluaparameterset", "stopluasetups", "stopmakeup", "stopmarginblock", "stopmarginrule", "stopmarkedcontent", "stopmathalignment", "stopmathcases", "stopmathlabeltext", "stopmathmatrix", "stopmathmode", "stopmathstyle", "stopmatrices", "stopmatrix", "stopmaxaligned", "stopmdformula", "stopmidaligned", "stopmiddlealigned", "stopmiddlemakeup", "stopmixedcolumns", "stopmode", "stopmodeset", "stopmodule", "stopmoduletestsection", "stopmpformula", "stopnamedsection", "stopnamedsubformulas", "stopnarrow", "stopnarrower", "stopnegative", "stopnicelyfilledbox", "stopnointerference", "stopnotallmodes", "stopnotext", "stopnotmode", "stopoperatortext", "stopopposite", "stopoutputstream", "stopoverlay", "stopoverprint", "stoppacked", "stoppagecomment", "stoppagefigure", "stoppagegrid", "stoppagegridspan", "stoppagelayout", "stoppagemakeup", "stoppar", "stopparagraph", "stopparagraphs", "stopparagraphscell", "stopparbuilder", "stoppart", "stoppath", "stopplacechemical", "stopplacefigure", "stopplacefloat", "stopplaceformula", "stopplacegraphic", "stopplaceintermezzo", "stopplacelegend", "stopplacepairedbox", "stopplacetable", "stoppositioning", "stoppositionoverlay", "stoppositive", "stoppostponing", "stopprefixtext", "stopprocessassignmentcommand", "stopprocessassignmentlist", "stopprocesscommacommand", "stopprocesscommalist", "stopproduct", "stopproject", "stopprotect", "stopprotectedcolors", "stoppublication", "stoppunctuation", "stopquotation", "stopquote", "stoprandomized", "stoprandomseed", "stoprawsetups", "stopreadingfile", "stopreferenceprefix", "stopregime", "stopregister", "stopreusableMPgraphic", "stoprightaligned", "stopscript", "stopsdformula", "stopsection", "stopsectionblock", "stopsectionblockenvironment", "stopsectionlevel", "stopsetups", "stopshapebox", "stopshift", "stopsidebar", "stopsimplecolumns", "stopspecialitem", "stopspeech", "stopspformula", "stopsplitformula", "stopspread", "stopstandardmakeup", "stopstartstop", "stopstaticMPfigure", "stopstaticMPgraphic", "stopstrictinspectnextcharacter", "stopstructurepageregister", "stopstrut", "stopstyle", "stopsubformulas", "stopsubject", "stopsubjectlevel", "stopsubsection", "stopsubsentence", "stopsubstack", "stopsubsubject", "stopsubsubsection", "stopsubsubsubject", "stopsubsubsubsection", "stopsubsubsubsubject", "stopsubsubsubsubsection", "stopsubsubsubsubsubject", "stopsuffixtext", "stopsymbolset", "stoptable", "stoptablehead", "stoptables", "stoptabletail", "stoptabletext", "stoptabulate", "stoptabulatehead", "stoptabulatetail", "stoptagged", "stoptaglabeltext", "stoptexcode", "stoptexdefinition", "stoptext", "stoptextbackground", "stoptextbackgroundmanual", "stoptextcolor", "stoptextcolorintent", "stoptextflow", "stoptextmakeup", "stoptextrule", "stoptitle", "stoptokens", "stoptransparent", "stoptypescript", "stoptypescriptcollection", "stoptyping", "stopuniqueMPgraphic", "stopuniqueMPpagegraphic", "stopunittext", "stopunpacked", "stopusableMPgraphic", "stopuseMPgraphic", "stopusemathstyleparameter", "stopusingbtxspecification", "stopvbox", "stopvboxregister", "stopvboxtohbox", "stopvboxtohboxseparator", "stopviewerlayer", "stopvtop", "stopvtopregister", "stopxcell", "stopxcellgroup", "stopxgroup", "stopxmldisplayverbatim", "stopxmlinlineverbatim", "stopxmlraw", "stopxmlsetups", "stopxrow", "stopxrowgroup", "stopxtable", "stopxtablebody", "stopxtablefoot", "stopxtablehead", "stopxtablenext", "stretched", "strictdoifelsenextoptional", "strictdoifnextoptionalelse", "stripcharacter", "strippedcsname", "stripspaces", "structurelistuservariable", "structurenumber", "structuretitle", "structureuservariable", "structurevariable", "strut", "strutdp", "strutgap", "strutht", "struthtdp", "struttedbox", "strutwd", "style", "styleinstance", "subject", "subpagenumber", "subsection", "subsentence", "subset", "subseteq", "subseteqq", "subsetneq", "subsetneqq", "substituteincommalist", "subsubject", "subsubsection", "subsubsubject", "subsubsubsection", "subsubsubsubject", "subsubsubsubsection", "subsubsubsubsubject", "subtractfeature", "succ", "succapprox", "succcurlyeq", "succeq", "succeqq", "succnapprox", "succneq", "succneqq", "succnsim", "succsim", "suffixlanguage", "suffixtext", "sum", "supset", "supseteq", "supseteqq", "supsetneq", "supsetneqq", "surd", "surdradical", "swapcounts", "swapdimens", "swapface", "swapmacros", "swaptypeface", "swarrow", "switchstyleonly", "switchtobodyfont", "switchtocolor", "switchtointerlinespace", "symbol", "symbolreference", "synchronizeblank", "synchronizeindenting", "synchronizemarking", "synchronizeoutputstreams", "synchronizestrut", "synchronizewhitespace", "synctexblockfilename", "synctexresetfilename", "synctexsetfilename", "systemlog", "systemlogfirst", "systemloglast", "systemsetups", "tLeftarrow", "tLeftrightarrow", "tRightarrow", "tabulateautoline", "tabulateautorule", "tabulateline", "tabulaterule", "taggedctxcommand", "taggedlabeltexts", "taglabellanguage", "taglabeltext", "tau", "tbinom", "tbox", "tcaron", "tcedilla", "tcommaaccent", "tcurl", "tequal", "test", "testandsplitstring", "testcolumn", "testfeature", "testfeatureonce", "testpage", "testpageonly", "testpagesync", "testtokens", "tex", "texdefinition", "texsetup", "textAngstrom", "textacute", "textampersand", "textasciicircum", "textasciitilde", "textat", "textbackslash", "textbar", "textbottomcomma", "textbottomdot", "textbraceleft", "textbraceright", "textbreve", "textbrokenbar", "textbullet", "textcaron", "textcedilla", "textcelsius", "textcent", "textcircledP", "textcircumflex", "textcitation", "textcite", "textcomma", "textcontrolspace", "textcurrency", "textdag", "textddag", "textdegree", "textdiaeresis", "textdiv", "textdollar", "textdong", "textdotaccent", "textellipsis", "texteuro", "textflowcollector", "textfraction", "textgrave", "texthash", "texthorizontalbar", "texthungarumlaut", "texthyphen", "textkelvin", "textlognot", "textmacron", "textmath", "textmho", "textminus", "textmu", "textmultiply", "textnumero", "textogonek", "textohm", "textormathchar", "textounce", "textpercent", "textperiod", "textplus", "textpm", "textreference", "textring", "textrule", "textslash", "textsterling", "texttilde", "textunderscore", "textvisiblespace", "textyen", "thai", "thainumerals", "thefirstcharacter", "thenormalizedbodyfontsize", "therefore", "theremainingcharacters", "theta", "thickspace", "thinrule", "thinrules", "thinspace", "thirdoffivearguments", "thirdoffourarguments", "thirdofsixarguments", "thirdofthreearguments", "thirdofthreeunexpanded", "thook", "thookleftarrow", "thookrightarrow", "thorn", "threedigitrounding", "threeeighths", "threefifths", "threeperemspace", "threequarter", "threesuperior", "tibetannumerals", "tightlayer", "tilde", "times", "tinyfont", "title", "tlap", "tleftarrow", "tleftharpoondown", "tleftharpoonup", "tleftrightarrow", "tleftrightharpoons", "tmapsto", "to", "tochar", "tolinenote", "tooltip", "top", "topbox", "topleftbox", "toplinebox", "toprightbox", "topskippedbox", "tracecatcodetables", "tracedfontname", "traceoutputroutines", "tracepositions", "trademark", "translate", "transparencycomponents", "transparent", "trel", "triangle", "triangledown", "triangleleft", "triangleq", "triangleright", "trightarrow", "trightharpoondown", "trightharpoonup", "trightleftharpoons", "trightoverleftarrow", "triplebond", "tripleprime", "tripleverticalbar", "truefilename", "truefontname", "tstroke", "ttraggedright", "ttriplerel", "ttwoheadleftarrow", "ttwoheadrightarrow", "turnediota", "twodigitrounding", "twofifths", "twoheaddownarrow", "twoheadleftarrow", "twoheadrightarrow", "twoheadrightarrowtail", "twoheaduparrow", "twosuperior", "twothirds", "tx", "txx", "typ", "type", "typebuffer", "typedefinedbuffer", "typeface", "typefile", "typeinlinebuffer", "typescriptone", "typescriptprefix", "typescriptthree", "typescripttwo", "typesetbuffer", "typesetfile", "uacute", "ubreve", "ucaron", "ucircumflex", "uconvertnumber", "udiaeresis", "udiaeresisacute", "udiaeresiscaron", "udiaeresisgrave", "udiaeresismacron", "udotbelow", "udots", "udoublegrave", "uedcatcodecommand", "ugrave", "uhook", "uhorn", "uhornacute", "uhorndotbelow", "uhorngrave", "uhornhook", "uhorntilde", "uhungarumlaut", "uinvertedbreve", "ulcorner", "umacron", "undefinevalue", "undepthed", "underbar", "underbars", "underbrace", "underbracket", "underdash", "underdashes", "underdot", "underdots", "underleftarrow", "underparent", "underrandom", "underrandoms", "underrightarrow", "underset", "understrike", "understrikes", "undoassign", "unexpandeddocumentvariable", "unframed", "unhhbox", "unihex", "uniqueMPgraphic", "uniqueMPpagegraphic", "unit", "unitlanguage", "unitshigh", "unitslow", "unittext", "unknown", "unprotected", "unregisterhyphenationpattern", "unspaceafter", "unspaceargument", "unspaced", "unspacestring", "untexargument", "untexcommand", "uogonek", "upand", "uparrow", "updasharrow", "updownarrow", "updownarrowbar", "updownarrows", "upharpoonleft", "upharpoonright", "uplus", "uppercased", "uppercasestring", "upperleftdoubleninequote", "upperleftdoublesixquote", "upperleftsingleninequote", "upperleftsinglesixquote", "upperrightdoubleninequote", "upperrightdoublesixquote", "upperrightsingleninequote", "upperrightsinglesixquote", "upsilon", "upuparrows", "upwhitearrow", "urcorner", "uring", "url", "useJSscripts", "useMPenvironmentbuffer", "useMPgraphic", "useMPlibrary", "useMPrun", "useMPvariables", "useURL", "usealignparameter", "useblankparameter", "useblocks", "usebodyfont", "usebodyfontparameter", "usebtxdataset", "usebtxdefinitions", "usecitation", "usecolors", "usecomponent", "usedirectory", "usedummycolorparameter", "usedummystyleandcolor", "usedummystyleparameter", "useenvironment", "useexternaldocument", "useexternalfigure", "useexternalrendering", "useexternalsoundtrack", "usefigurebase", "usefile", "usegridparameter", "useindentingparameter", "useindentnextparameter", "useinterlinespaceparameter", "uselanguageparameter", "useluamodule", "usemathstyleparameter", "usemodule", "useproduct", "useprofileparameter", "useproject", "usereferenceparameter", "userpagenumber", "usesetupsparameter", "usestaticMPfigure", "usesubpath", "usesymbols", "usetexmodule", "usetypescript", "usetypescriptfile", "useurl", "usezipfile", "utfchar", "utflower", "utfupper", "utilde", "utilityregisterlength", "vDash", "varTheta", "varepsilon", "varkappa", "varnothing", "varphi", "varpi", "varrho", "varsigma", "vartheta", "vboxreference", "vdash", "vdots", "vec", "vee", "veebar", "veeeq", "verbatim", "verbatimstring", "verbosenumber", "version", "vert", "verticalgrowingbar", "verticalpositionbar", "veryraggedcenter", "veryraggedleft", "veryraggedright", "vglue", "viewerlayer", "vl", "vphantom", "vpos", "vsmash", "vsmashbox", "vsmashed", "vspace", "vspacing", "wcircumflex", "wdofstring", "wedge", "wedgeeq", "weekday", "whitearrowupfrombar", "widehat", "widetilde", "widthofstring", "widthspanningtext", "withoutpt", "word", "wordright", "words", "wordtonumber", "wp", "wr", "writebetweenlist", "writedatatolist", "writestatus", "writetolist", "xLeftarrow", "xLeftrightarrow", "xRightarrow", "xdefconvertedargument", "xequal", "xfrac", "xhookleftarrow", "xhookrightarrow", "xi", "xleftarrow", "xleftharpoondown", "xleftharpoonup", "xleftrightarrow", "xleftrightharpoons", "xmapsto", "xmladdindex", "xmlafterdocumentsetup", "xmlaftersetup", "xmlall", "xmlappenddocumentsetup", "xmlappendsetup", "xmlapplyselectors", "xmlatt", "xmlattdef", "xmlattribute", "xmlattributedef", "xmlbadinclusions", "xmlbeforedocumentsetup", "xmlbeforesetup", "xmlchainatt", "xmlchainattdef", "xmlchecknamespace", "xmlcommand", "xmlconcat", "xmlconcatrange", "xmlcontext", "xmlcount", "xmldefaulttotext", "xmldirectives", "xmldirectivesafter", "xmldirectivesbefore", "xmldisplayverbatim", "xmldoif", "xmldoifelse", "xmldoifelseempty", "xmldoifelseselfempty", "xmldoifelsetext", "xmldoifelsevalue", "xmldoifnot", "xmldoifnotselfempty", "xmldoifnottext", "xmldoifselfempty", "xmldoiftext", "xmlelement", "xmlfilter", "xmlfirst", "xmlflush", "xmlflushcontext", "xmlflushdocumentsetups", "xmlflushlinewise", "xmlflushpure", "xmlflushspacewise", "xmlflushtext", "xmlinclude", "xmlinclusion", "xmlinclusions", "xmlinfo", "xmlinjector", "xmlinlineprettyprint", "xmlinlineprettyprinttext", "xmlinlineverbatim", "xmlinstalldirective", "xmllast", "xmllastatt", "xmllastmatch", "xmllastpar", "xmlloadbuffer", "xmlloaddata", "xmlloaddirectives", "xmlloadfile", "xmlloadonly", "xmlmain", "xmlmapvalue", "xmlname", "xmlnamespace", "xmlnonspace", "xmlpar", "xmlparam", "xmlpath", "xmlpos", "xmlposition", "xmlprependdocumentsetup", "xmlprependsetup", "xmlprettyprint", "xmlprettyprinttext", "xmlprocessbuffer", "xmlprocessdata", "xmlprocessfile", "xmlpure", "xmlraw", "xmlrefatt", "xmlregistereddocumentsetups", "xmlregisteredsetups", "xmlregisterns", "xmlremapname", "xmlremapnamespace", "xmlremovedocumentsetup", "xmlremovesetup", "xmlresetdocumentsetups", "xmlresetinjectors", "xmlresetsetups", "xmlsave", "xmlsetatt", "xmlsetattribute", "xmlsetentity", "xmlsetfunction", "xmlsetinjectors", "xmlsetpar", "xmlsetparam", "xmlsetsetup", "xmlsetup", "xmlshow", "xmlsnippet", "xmlstrip", "xmlstripnolines", "xmlstripped", "xmlstrippednolines", "xmltag", "xmltexentity", "xmltext", "xmltobuffer", "xmltobufferverbose", "xmltofile", "xmlvalue", "xmlverbatim", "xrel", "xrightarrow", "xrightharpoondown", "xrightharpoonup", "xrightleftharpoons", "xrightoverleftarrow", "xsplitstring", "xtriplerel", "xtwoheadleftarrow", "xtwoheadrightarrow", "xxfrac", "xypos", "yacute", "ycircumflex", "ydiaeresis", "ydotbelow", "yen", "ygrave", "yhook", "ymacron", "ytilde", "zacute", "zcaron", "zdotaccent", "zerowidthnobreakspace", "zerowidthspace", "zeta", "zhook", "zstroke", "zwj", "zwnj" }, + ["common"]={ "AEacute", "AEligature", "AEmacron", "AMSTEX", "Aacute", "Abreve", "Abreveacute", "Abrevedotbelow", "Abrevegrave", "Abrevehook", "Abrevetilde", "Acaron", "Acircumflex", "Acircumflexacute", "Acircumflexdotbelow", "Acircumflexgrave", "Acircumflexhook", "Acircumflextilde", "Adiaeresis", "Adiaeresismacron", "Adotaccent", "Adotaccentmacron", "Adotbelow", "Adoublegrave", "AfterPar", "Agrave", "Ahook", "Ainvertedbreve", "Alpha", "Alphabeticnumerals", "AmSTeX", "Amacron", "And", "Angstrom", "Aogonek", "Aring", "Aringacute", "Arrowvert", "Astroke", "Atilde", "BeforePar", "Beta", "Bhook", "Big", "Bigg", "Biggl", "Biggm", "Biggr", "Bigl", "Bigm", "Bigr", "Box", "Bumpeq", "CONTEXT", "Cacute", "Cap", "Caps", "Ccaron", "Ccedilla", "Ccircumflex", "Cdotaccent", "Character", "Characters", "Chi", "Chook", "ConTeXt", "Context", "ConvertConstantAfter", "ConvertToConstant", "Cstroke", "Cup", "DZcaronligature", "DZligature", "Dafrican", "Dcaron", "Ddownarrow", "Delta", "Dhook", "Doteq", "Downarrow", "Dstroke", "Dzcaronligature", "Dzligature", "ETEX", "Eacute", "Ebreve", "Ecaron", "Ecedilla", "Ecircumflex", "Ecircumflexacute", "Ecircumflexdotbelow", "Ecircumflexgrave", "Ecircumflexhook", "Ecircumflextilde", "Ediaeresis", "Edotaccent", "Edotbelow", "Edoublegrave", "Egrave", "Ehook", "Einvertedbreve", "Emacron", "Eogonek", "Epsilon", "Eta", "Eth", "Etilde", "Eulerconst", "EveryLine", "EveryPar", "Fhook", "Finv", "Gacute", "Game", "Gamma", "Gbreve", "Gcaron", "Gcircumflex", "Gcommaaccent", "Gdotaccent", "GetPar", "Ghook", "GotoPar", "Greeknumerals", "Gstroke", "Hat", "Hcaron", "Hcircumflex", "Hstroke", "IJligature", "INRSTEX", "Iacute", "Ibreve", "Icaron", "Icircumflex", "Idiaeresis", "Idotaccent", "Idotbelow", "Idoublegrave", "Igrave", "Ihook", "Iinvertedbreve", "Im", "Imacron", "Iogonek", "Iota", "Istroke", "Itilde", "Jcircumflex", "Join", "Kappa", "Kcaron", "Kcommaaccent", "Khook", "LAMSTEX", "LATEX", "LJligature", "LUAJITTEX", "LUATEX", "LaTeX", "Lacute", "LamSTeX", "Lambda", "Lbar", "Lcaron", "Lcommaaccent", "Ldotmiddle", "Ldsh", "Leftarrow", "Leftrightarrow", "Ljligature", "Lleftarrow", "Longleftarrow", "Longleftrightarrow", "Longmapsfrom", "Longmapsto", "Longrightarrow", "Lsh", "Lstroke", "Lua", "LuaTeX", "LuajitTeX", "METAFONT", "METAFUN", "METAPOST", "MKII", "MKIV", "MKIX", "MKVI", "MKXI", "MONTH", "MONTHLONG", "MONTHSHORT", "MPII", "MPIV", "MPVI", "MPanchor", "MPbetex", "MPc", "MPcode", "MPcolor", "MPcoloronly", "MPcolumn", "MPd", "MPdrawing", "MPfontsizehskip", "MPgetmultipars", "MPgetmultishape", "MPgetposboxes", "MPh", "MPinclusions", "MPleftskip", "MPll", "MPlr", "MPls", "MPmenubuttons", "MPn", "MPoptions", "MPoverlayanchor", "MPp", "MPpage", "MPpardata", "MPplus", "MPpos", "MPpositiongraphic", "MPposset", "MPr", "MPrawvar", "MPregion", "MPrest", "MPrightskip", "MPrs", "MPstring", "MPtext", "MPtransparency", "MPul", "MPur", "MPv", "MPvar", "MPvariable", "MPvv", "MPw", "MPwhd", "MPx", "MPxy", "MPxywhd", "MPy", "Mapsfrom", "Mapsto", "MetaFont", "MetaFun", "MetaPost", "Mu", "NJligature", "Nacute", "Ncaron", "Ncommaaccent", "Nearrow", "Neng", "Ngrave", "Njligature", "NormalizeFontHeight", "NormalizeFontWidth", "NormalizeTextHeight", "NormalizeTextWidth", "Ntilde", "Nu", "Numbers", "Nwarrow", "OEligature", "Oacute", "Obreve", "Ocaron", "Ocircumflex", "Ocircumflexacute", "Ocircumflexdotbelow", "Ocircumflexgrave", "Ocircumflexhook", "Ocircumflextilde", "Odiaeresis", "Odiaeresismacron", "Odotaccent", "Odotaccentmacron", "Odotbelow", "Odoublegrave", "Ograve", "Ohook", "Ohorn", "Ohornacute", "Ohorndotbelow", "Ohorngrave", "Ohornhook", "Ohorntilde", "Ohungarumlaut", "Oinvertedbreve", "Omacron", "Omega", "Omicron", "Oogonek", "Oogonekmacron", "Ostroke", "Ostrokeacute", "Otilde", "Otildemacron", "P", "PDFETEX", "PDFTEX", "PDFcolor", "PICTEX", "PPCHTEX", "PPCHTeX", "PRAGMA", "Phi", "Phook", "Pi", "PiCTeX", "Plankconst", "PointsToBigPoints", "PointsToReal", "PointsToWholeBigPoints", "PropertyLine", "Psi", "PtToCm", "Racute", "Rcaron", "Rcommaaccent", "Rdoublegrave", "Rdsh", "Re", "ReadFile", "Relbar", "Rho", "Rightarrow", "Rinvertedbreve", "Romannumerals", "Rrightarrow", "Rsh", "S", "Sacute", "ScaledPointsToBigPoints", "ScaledPointsToWholeBigPoints", "Scaron", "Scedilla", "Schwa", "Scircumflex", "Scommaaccent", "Searrow", "Sigma", "Smallcapped", "Subset", "Supset", "Swarrow", "TABLE", "TEX", "TaBlE", "Tau", "Tcaron", "Tcedilla", "Tcommaaccent", "TeX", "TheNormalizedFontSize", "Theta", "Thook", "Thorn", "TransparencyHack", "Tstroke", "Uacute", "Ubreve", "Ucaron", "Ucircumflex", "Udiaeresis", "Udiaeresisacute", "Udiaeresiscaron", "Udiaeresisgrave", "Udiaeresismacron", "Udotbelow", "Udoublegrave", "Ugrave", "Uhook", "Uhorn", "Uhornacute", "Uhorndotbelow", "Uhorngrave", "Uhornhook", "Uhorntilde", "Uhungarumlaut", "Uinvertedbreve", "Umacron", "Uogonek", "Uparrow", "Updownarrow", "Upsilon", "Uring", "Utilde", "Uuparrow", "VDash", "Vdash", "VerboseNumber", "Vert", "Vvdash", "WEEKDAY", "WORD", "WORDS", "Wcircumflex", "WidthSpanningText", "Word", "Words", "XETEX", "XeTeX", "Xi", "Yacute", "Ycircumflex", "Ydiaeresis", "Ydotbelow", "Ygrave", "Yhook", "Ymacron", "Ytilde", "Zacute", "Zcaron", "Zdotaccent", "Zeta", "Zhook", "Zstroke", "aacute", "abbreviation", "abjadnaivenumerals", "abjadnodotnumerals", "abjadnumerals", "about", "abreve", "abreveacute", "abrevedotbelow", "abrevegrave", "abrevehook", "abrevetilde", "acaron", "acircumflex", "acircumflexacute", "acircumflexdotbelow", "acircumflexgrave", "acircumflexhook", "acircumflextilde", "activatespacehandler", "actuarial", "acute", "acwopencirclearrow", "adaptcollector", "adaptfontfeature", "adaptlayout", "adaptpapersize", "addfeature", "addfontpath", "addtoJSpreamble", "addtocommalist", "addvalue", "adiaeresis", "adiaeresismacron", "adotaccent", "adotaccentmacron", "adotbelow", "adoublegrave", "aeacute", "aeligature", "aemacron", "afghanicurrency", "aftersplitstring", "aftertestandsplitstring", "agrave", "ahook", "ainvertedbreve", "aleph", "alignbottom", "aligned", "alignedbox", "alignedline", "alignhere", "alignmentcharacter", "allinputpaths", "alpha", "alphabeticnumerals", "alwayscitation", "alwayscite", "amacron", "amalg", "ampersand", "anchor", "angle", "aogonek", "appendetoks", "appendgvalue", "appendtocommalist", "appendtoks", "appendtoksonce", "appendvalue", "apply", "applyalternativestyle", "applyprocessor", "applytocharacters", "applytofirstcharacter", "applytosplitstringchar", "applytosplitstringcharspaced", "applytosplitstringline", "applytosplitstringlinespaced", "applytosplitstringword", "applytosplitstringwordspaced", "applytowords", "approx", "approxEq", "approxeq", "approxnEq", "arabicakbar", "arabicalayhe", "arabicallah", "arabicallallahou", "arabicasterisk", "arabicbasmalah", "arabiccomma", "arabiccuberoot", "arabicdateseparator", "arabicdecimals", "arabicdisputedendofayah", "arabicendofayah", "arabicexnumerals", "arabicfootnotemarker", "arabicfourthroot", "arabichighain", "arabichighalayheassallam", "arabichigheqala", "arabichighesala", "arabichighfootnotemarker", "arabichighjeem", "arabichighlamalef", "arabichighmadda", "arabichighmeemlong", "arabichighmeemshort", "arabichighnisf", "arabichighnoon", "arabichighnoonkasra", "arabichighqaf", "arabichighqif", "arabichighradiallahouanhu", "arabichighrahmatullahalayhe", "arabichighrubc", "arabichighsad", "arabichighsajda", "arabichighsakta", "arabichighsallallahou", "arabichighseen", "arabichighsmallsafha", "arabichightah", "arabichightakhallus", "arabichighthalatha", "arabichighwaqf", "arabichighyeh", "arabichighzain", "arabicjallajalalouhou", "arabiclettermark", "arabiclowmeemlong", "arabiclownoonkasra", "arabiclowseen", "arabicmisra", "arabicmuhammad", "arabicnumber", "arabicnumberabove", "arabicnumerals", "arabicparenleft", "arabicparenright", "arabicpercent", "arabicperiod", "arabicpermille", "arabicpertenthousand", "arabicpoeticverse", "arabicqala", "arabicquestion", "arabicrasoul", "arabicray", "arabicrialsign", "arabicsafha", "arabicsajdah", "arabicsalla", "arabicsamvat", "arabicsanah", "arabicsemicolon", "arabicshighthreedots", "arabicslcm", "arabicstartofrubc", "arabictripledot", "arabicvowelwaw", "arabicvowelyeh", "arabicwasallam", "arg", "aring", "aringacute", "arrowvert", "asciistr", "aside", "assignalfadimension", "assigndimen", "assigndimension", "assignifempty", "assigntranslation", "assignvalue", "assignwidth", "assumelongusagecs", "ast", "astype", "asymp", "at", "atilde", "atleftmargin", "atpage", "atrightmargin", "attachment", "autocap", "autodirhbox", "autodirvbox", "autodirvtop", "autoinsertnextspace", "autointegral", "automathematics", "autosetups", "availablehsize", "averagecharwidth", "backepsilon", "background", "backgroundimage", "backgroundimagefill", "backgroundline", "backprime", "backsim", "backslash", "bar", "barleftarrow", "barleftarrowrightarrowbar", "barovernorthwestarrow", "barwedge", "basegrid", "baselinebottom", "baselineleftbox", "baselinemiddlebox", "baselinerightbox", "bbordermatrix", "bbox", "because", "beforesplitstring", "beforetestandsplitstring", "beta", "beth", "between", "bhook", "big", "bigbodyfont", "bigcap", "bigcirc", "bigcircle", "bigcup", "bigdiamond", "bigg", "bigger", "biggl", "biggm", "biggr", "bigl", "bigm", "bigodot", "bigoplus", "bigotimes", "bigr", "bigskip", "bigsqcap", "bigsqcup", "bigsquare", "bigstar", "bigtimes", "bigtriangledown", "bigtriangleup", "bigudot", "biguplus", "bigvee", "bigwedge", "binom", "bitmapimage", "blacklozenge", "blackrule", "blackrules", "blacksquare", "blacktriangle", "blacktriangledown", "blacktriangleleft", "blacktriangleright", "blank", "blap", "bleed", "bleedheight", "bleedwidth", "blockligatures", "blockquote", "blocksynctexfile", "bodyfontenvironmentlist", "bodyfontsize", "bold", "boldface", "bolditalic", "boldslanted", "bookmark", "booleanmodevalue", "bordermatrix", "bot", "bottombox", "bottomleftbox", "bottomrightbox", "bowtie", "boxcursor", "boxdot", "boxmarker", "boxminus", "boxofsize", "boxplus", "boxreference", "boxtimes", "bpos", "breakablethinspace", "breakhere", "breve", "bstroke", "btxabbreviatedjournal", "btxaddjournal", "btxalwayscitation", "btxauthorfield", "btxdetail", "btxdirect", "btxdoif", "btxdoifcombiinlistelse", "btxdoifelse", "btxdoifelsecombiinlist", "btxdoifelsesameasprevious", "btxdoifelsesameaspreviouschecked", "btxdoifelseuservariable", "btxdoifnot", "btxdoifsameaspreviouscheckedelse", "btxdoifsameaspreviouselse", "btxdoifuservariableelse", "btxexpandedjournal", "btxfield", "btxfieldname", "btxfieldtype", "btxfirstofrange", "btxflush", "btxflushauthor", "btxflushauthorinverted", "btxflushauthorinvertedshort", "btxflushauthorname", "btxflushauthornormal", "btxflushauthornormalshort", "btxflushsuffix", "btxfoundname", "btxfoundtype", "btxhiddencitation", "btxhybridcite", "btxlabellanguage", "btxlabeltext", "btxlistcitation", "btxloadjournalist", "btxoneorrange", "btxremapauthor", "btxsavejournalist", "btxsetup", "btxsingularorplural", "btxsingularplural", "btxtextcitation", "buildmathaccent", "buildtextaccent", "buildtextbottomcomma", "buildtextbottomdot", "buildtextcedilla", "buildtextgrave", "buildtextmacron", "buildtextognek", "bullet", "button", "cacute", "calligraphic", "camel", "cap", "carriagereturn", "catcodetablename", "cbox", "ccaron", "ccedilla", "ccircumflex", "ccurl", "cdot", "cdotaccent", "cdotp", "cdots", "centeraligned", "centerbox", "centerdot", "centeredbox", "centeredlastline", "centerednextbox", "centerline", "cfrac", "chapter", "character", "characters", "chardescription", "charwidthlanguage", "check", "checkcharacteralign", "checkedchar", "checkedfiller", "checkedstrippedcsname", "checkinjector", "checkmark", "checknextindentation", "checknextinjector", "checkpage", "checkparameters", "checkpreviousinjector", "checksoundtrack", "checktwopassdata", "checkvariables", "chem", "chemical", "chemicalbottext", "chemicalmidtext", "chemicalsymbol", "chemicaltext", "chemicaltoptext", "chi", "chineseallnumerals", "chinesecapnumerals", "chinesenumerals", "chook", "circ", "circeq", "circlearrowleft", "circlearrowright", "circledR", "circledS", "circledast", "circledcirc", "circleddash", "circledequals", "circleonrightarrow", "citation", "cite", "clap", "classfont", "cldcommand", "cldcontext", "cldloadfile", "cldprocessfile", "cleftarrow", "clip", "clonefield", "clubsuit", "collect", "collectedtext", "collectexpanded", "colon", "coloncolonequals", "colonequals", "color", "colorbar", "colorcomponents", "colored", "coloronly", "colorvalue", "column", "columnbreak", "combinepages", "commalistelement", "commalistsentence", "commalistsize", "comment", "comparecolorgroup", "comparedimension", "comparedimensioneps", "comparepalet", "complement", "completebtxrendering", "completecontent", "completeindex", "completelist", "completelistofabbreviations", "completelistofchemicals", "completelistoffigures", "completelistofgraphics", "completelistofintermezzi", "completelistoflogos", "completelistofpublications", "completelistofsorts", "completelistofsynonyms", "completelistoftables", "completepagenumber", "completeregister", "complexes", "complexorsimple", "complexorsimpleempty", "component", "composedcollector", "composedlayer", "compresult", "cong", "constantdimen", "constantdimenargument", "constantemptyargument", "constantnumber", "constantnumberargument", "contentreference", "continuednumber", "continueifinputfile", "convertargument", "convertcommand", "convertedcounter", "converteddimen", "convertedsubcounter", "convertmonth", "convertnumber", "convertvalue", "convertvboxtohbox", "coprod", "copyboxfromcache", "copybtxlabeltext", "copyfield", "copyheadtext", "copylabeltext", "copymathlabeltext", "copyoperatortext", "copypages", "copyparameters", "copyposition", "copyprefixtext", "copyright", "copysuffixtext", "copytaglabeltext", "copyunittext", "correctwhitespace", "countersubs", "counttoken", "counttokens", "cramped", "crampedclap", "crampedllap", "crampedrlap", "crightarrow", "crightoverleftarrow", "cstroke", "ctop", "ctxcommand", "ctxdirectcommand", "ctxdirectlua", "ctxfunction", "ctxlatecommand", "ctxlatelua", "ctxloadluafile", "ctxlua", "ctxluabuffer", "ctxluacode", "ctxreport", "ctxsprint", "cup", "curlyeqprec", "curlyeqsucc", "curlyvee", "curlywedge", "currentassignmentlistkey", "currentassignmentlistvalue", "currentbtxuservariable", "currentcommalistitem", "currentcomponent", "currentdate", "currentenvironment", "currentfeaturetest", "currentheadnumber", "currentinterface", "currentlanguage", "currentlistentrydestinationattribute", "currentlistentrylimitedtext", "currentlistentrynumber", "currentlistentrypagenumber", "currentlistentryreferenceattribute", "currentlistentrytitle", "currentlistentrytitlerendered", "currentlistsymbol", "currentmainlanguage", "currentmessagetext", "currentmoduleparameter", "currentoutputstream", "currentproduct", "currentproject", "currentregime", "currentregisterpageuserdata", "currentresponses", "currenttime", "currentvalue", "currentxtablecolumn", "currentxtablerow", "curvearrowleft", "curvearrowright", "cwopencirclearrow", "cyrillicA", "cyrillicAE", "cyrillicAbreve", "cyrillicAdiaeresis", "cyrillicB", "cyrillicBIGYUS", "cyrillicBIGYUSiotified", "cyrillicC", "cyrillicCH", "cyrillicCHEDC", "cyrillicCHEDCabkhasian", "cyrillicCHEabkhasian", "cyrillicCHEdiaeresis", "cyrillicCHEkhakassian", "cyrillicCHEvertstroke", "cyrillicD", "cyrillicDASIAPNEUMATA", "cyrillicDJE", "cyrillicDZE", "cyrillicDZEabkhasian", "cyrillicDZHE", "cyrillicE", "cyrillicELtail", "cyrillicEMtail", "cyrillicENDC", "cyrillicENGHE", "cyrillicENhook", "cyrillicENtail", "cyrillicEREV", "cyrillicERY", "cyrillicERtick", "cyrillicEbreve", "cyrillicEdiaeresis", "cyrillicEgrave", "cyrillicEiotified", "cyrillicF", "cyrillicFITA", "cyrillicG", "cyrillicGHEmidhook", "cyrillicGHEstroke", "cyrillicGHEupturn", "cyrillicGJE", "cyrillicH", "cyrillicHA", "cyrillicHADC", "cyrillicHRDSN", "cyrillicI", "cyrillicIE", "cyrillicII", "cyrillicISHRT", "cyrillicISHRTtail", "cyrillicIZHITSA", "cyrillicIZHITSAdoublegrave", "cyrillicIdiaeresis", "cyrillicIgrave", "cyrillicImacron", "cyrillicJE", "cyrillicK", "cyrillicKADC", "cyrillicKAbashkir", "cyrillicKAhook", "cyrillicKAstroke", "cyrillicKAvertstroke", "cyrillicKJE", "cyrillicKOPPA", "cyrillicKSI", "cyrillicL", "cyrillicLITTLEYUS", "cyrillicLITTLEYUSiotified", "cyrillicLJE", "cyrillicM", "cyrillicN", "cyrillicNJE", "cyrillicO", "cyrillicOMEGA", "cyrillicOMEGAround", "cyrillicOMEGAtitlo", "cyrillicOT", "cyrillicObarred", "cyrillicObarreddiaeresis", "cyrillicOdiaeresis", "cyrillicP", "cyrillicPALATALIZATION", "cyrillicPALOCHKA", "cyrillicPEmidhook", "cyrillicPSI", "cyrillicPSILIPNEUMATA", "cyrillicR", "cyrillicS", "cyrillicSCHWA", "cyrillicSCHWAdiaeresis", "cyrillicSDSC", "cyrillicSEMISOFT", "cyrillicSFTSN", "cyrillicSH", "cyrillicSHCH", "cyrillicSHHA", "cyrillicT", "cyrillicTEDC", "cyrillicTETSE", "cyrillicTITLO", "cyrillicTSHE", "cyrillicU", "cyrillicUK", "cyrillicUSHRT", "cyrillicUdiaeresis", "cyrillicUdoubleacute", "cyrillicUmacron", "cyrillicV", "cyrillicYA", "cyrillicYAT", "cyrillicYERUdiaeresis", "cyrillicYI", "cyrillicYO", "cyrillicYU", "cyrillicYstr", "cyrillicYstrstroke", "cyrillicZ", "cyrillicZDSC", "cyrillicZEdiaeresis", "cyrillicZH", "cyrillicZHEbreve", "cyrillicZHEdescender", "cyrillicZHEdiaeresis", "cyrillica", "cyrillicabreve", "cyrillicadiaeresis", "cyrillicae", "cyrillicb", "cyrillicbigyus", "cyrillicbigyusiotified", "cyrillicc", "cyrillicch", "cyrilliccheabkhasian", "cyrillicchedc", "cyrillicchedcabkhasian", "cyrillicchediaeresis", "cyrillicchekhakassian", "cyrillicchevertstroke", "cyrillicd", "cyrillicdje", "cyrillicdze", "cyrillicdzeabkhasian", "cyrillicdzhe", "cyrillice", "cyrillicebreve", "cyrillicediaeresis", "cyrillicegrave", "cyrilliceiotified", "cyrilliceltail", "cyrillicemtail", "cyrillicendc", "cyrillicenghe", "cyrillicenhook", "cyrillicentail", "cyrillicerev", "cyrillicertick", "cyrillicery", "cyrillicf", "cyrillicfita", "cyrillicg", "cyrillicghemidhook", "cyrillicghestroke", "cyrillicgheupturn", "cyrillicgje", "cyrillich", "cyrillicha", "cyrillichadc", "cyrillichrdsn", "cyrillici", "cyrillicidiaeresis", "cyrillicie", "cyrillicigrave", "cyrillicii", "cyrillicimacron", "cyrillicishrt", "cyrillicishrttail", "cyrillicizhitsa", "cyrillicizhitsadoublegrave", "cyrillicje", "cyrillick", "cyrillickabashkir", "cyrillickadc", "cyrillickahook", "cyrillickastroke", "cyrillickavertstroke", "cyrillickje", "cyrillickoppa", "cyrillicksi", "cyrillicl", "cyrilliclittleyus", "cyrilliclittleyusiotified", "cyrilliclje", "cyrillicm", "cyrillicn", "cyrillicnje", "cyrillico", "cyrillicobarred", "cyrillicobarreddiaeresis", "cyrillicodiaeresis", "cyrillicomega", "cyrillicomegaround", "cyrillicomegatitlo", "cyrillicot", "cyrillicp", "cyrillicpemidhook", "cyrillicpsi", "cyrillicr", "cyrillics", "cyrillicschwa", "cyrillicschwadiaeresis", "cyrillicsdsc", "cyrillicsemisoft", "cyrillicsftsn", "cyrillicsh", "cyrillicshch", "cyrillicshha", "cyrillict", "cyrillictedc", "cyrillictetse", "cyrillictshe", "cyrillicu", "cyrillicudiaeresis", "cyrillicudoubleacute", "cyrillicuk", "cyrillicumacron", "cyrillicushrt", "cyrillicv", "cyrillicya", "cyrillicyat", "cyrillicyerudiaeresis", "cyrillicyi", "cyrillicyo", "cyrillicystr", "cyrillicystrstroke", "cyrillicyu", "cyrillicz", "cyrilliczdsc", "cyrilliczediaeresis", "cyrilliczh", "cyrilliczhebreve", "cyrilliczhedescender", "cyrilliczhediaeresis", "d", "dag", "dagger", "daleth", "dasharrow", "dashedleftarrow", "dashedrightarrow", "dashv", "datasetvariable", "date", "dayoftheweek", "dayspermonth", "dbinom", "dcaron", "dcurl", "ddag", "ddagger", "dddot", "ddot", "ddots", "decrement", "decrementcounter", "decrementedcounter", "decrementpagenumber", "decrementsubpagenumber", "decrementvalue", "defaultinterface", "defaultobjectpage", "defaultobjectreference", "defcatcodecommand", "defconvertedargument", "defconvertedcommand", "defconvertedvalue", "define", "defineMPinstance", "defineTABLEsetup", "defineaccent", "defineactivecharacter", "definealternativestyle", "defineanchor", "defineattachment", "defineattribute", "definebackground", "definebar", "defineblock", "definebodyfont", "definebodyfontenvironment", "definebodyfontswitch", "definebreakpoint", "definebreakpoints", "definebtx", "definebtxdataset", "definebtxregister", "definebtxrendering", "definebuffer", "definebutton", "definecapitals", "definecharacter", "definecharacterkerning", "definecharacterspacing", "definechemical", "definechemicals", "definechemicalsymbol", "definecollector", "definecolor", "definecolorgroup", "definecolumnbreak", "definecombination", "definecombinedlist", "definecommand", "definecomment", "definecomplexorsimple", "definecomplexorsimpleempty", "defineconversion", "defineconversionset", "definecounter", "definedataset", "definedelimitedtext", "definedeq", "definedescription", "definedfont", "defineeffect", "defineenumeration", "defineexpandable", "defineexternalfigure", "definefallbackfamily", "definefield", "definefieldbody", "definefieldbodyset", "definefieldcategory", "definefieldstack", "definefiguresymbol", "definefileconstant", "definefilefallback", "definefilesynonym", "definefiller", "definefirstline", "definefittingpage", "definefloat", "definefont", "definefontalternative", "definefontfallback", "definefontfamily", "definefontfamilypreset", "definefontfeature", "definefontfile", "definefontsize", "definefontsolution", "definefontstyle", "definefontsynonym", "defineformula", "defineformulaalternative", "defineformulaframed", "defineframed", "defineframedcontent", "defineframedtable", "defineframedtext", "definefrozenfont", "defineglobalcolor", "definegraphictypesynonym", "definegridsnapping", "definehbox", "definehead", "defineheadalternative", "definehelp", "definehigh", "definehighlight", "definehspace", "definehypenationfeatures", "defineindentedtext", "defineindenting", "defineinitial", "defineinsertion", "defineinteraction", "defineinteractionbar", "defineinteractionmenu", "defineinterfaceconstant", "defineinterfaceelement", "defineinterfacevariable", "defineinterlinespace", "defineintermediatecolor", "defineitemgroup", "defineitems", "definelabel", "definelabelclass", "definelayer", "definelayerpreset", "definelayout", "definelinefiller", "definelinenote", "definelinenumbering", "definelines", "definelist", "definelistalternative", "definelistextra", "definelow", "definelowhigh", "definelowmidhigh", "definemakeup", "definemarginblock", "definemargindata", "definemarker", "definemarking", "definemathaccent", "definemathalignment", "definemathcases", "definemathcommand", "definemathdouble", "definemathdoubleextensible", "definemathematics", "definemathextensible", "definemathfence", "definemathfraction", "definemathframed", "definemathmatrix", "definemathornament", "definemathover", "definemathoverextensible", "definemathovertextextensible", "definemathradical", "definemathstackers", "definemathstyle", "definemathtriplet", "definemathunder", "definemathunderextensible", "definemathundertextextensible", "definemathunstacked", "definemeasure", "definemessageconstant", "definemixedcolumns", "definemode", "definemultitonecolor", "definenamedcolor", "definenamespace", "definenarrower", "definenote", "defineornament", "defineoutputroutine", "defineoutputroutinecommand", "defineoverlay", "definepage", "definepagebreak", "definepagechecker", "definepagegrid", "definepagegridarea", "definepagegridspan", "definepageinjection", "definepageinjectionalternative", "definepageshift", "definepagestate", "definepairedbox", "definepalet", "definepapersize", "defineparagraph", "defineparagraphs", "defineparallel", "defineparbuilder", "defineplacement", "definepositioning", "defineprefixset", "defineprocesscolor", "defineprocessor", "defineprofile", "defineprogram", "definepushbutton", "definepushsymbol", "definereference", "definereferenceformat", "defineregister", "definerenderingwindow", "defineresetset", "definescale", "definescript", "definesection", "definesectionblock", "definesectionlevels", "defineselector", "defineseparatorset", "defineshift", "definesidebar", "definesort", "definesorting", "definespotcolor", "definestartstop", "definestyle", "definestyleinstance", "definesubfield", "definesubformula", "definesymbol", "definesynonym", "definesynonyms", "definesystemattribute", "definesystemconstant", "definesystemvariable", "definetabletemplate", "definetabulate", "definetabulation", "definetext", "definetextbackground", "definetextflow", "definetooltip", "definetransparency", "definetwopasslist", "definetype", "definetypeface", "definetypescriptprefix", "definetypescriptsynonym", "definetypesetting", "definetyping", "defineunit", "defineviewerlayer", "definevspace", "definevspacing", "definevspacingamount", "definextable", "delimited", "delimitedtext", "delta", "depthofstring", "depthonlybox", "depthspanningtext", "depthstrut", "determineheadnumber", "determinelistcharacteristics", "determinenoflines", "determineregistercharacteristics", "devanagarinumerals", "dfrac", "dhook", "diameter", "diamond", "diamondsuit", "differentialD", "differentiald", "digamma", "digits", "dimensiontocount", "directboxfromcache", "directcolor", "directcolored", "directconvertedcounter", "directcopyboxfromcache", "directdummyparameter", "directgetboxllx", "directgetboxlly", "directhighlight", "directlocalframed", "directluacode", "directselect", "directsetbar", "directsetup", "directsymbol", "directvspacing", "dis", "disabledirectives", "disableexperiments", "disablemode", "disableoutputstream", "disableparpositions", "disableregime", "disabletrackers", "displaymath", "displaymathematics", "displaymessage", "distributedhsize", "div", "dividedsize", "divideontimes", "divides", "doadaptleftskip", "doadaptrightskip", "doaddfeature", "doassign", "doassignempty", "doboundtext", "docheckassignment", "docheckedpagestate", "docheckedpair", "documentvariable", "dodoubleargument", "dodoubleargumentwithset", "dodoubleempty", "dodoubleemptywithset", "dodoublegroupempty", "doeassign", "doexpandedrecurse", "dofastloopcs", "dogetattribute", "dogetattributeid", "dogetcommacommandelement", "dogobbledoubleempty", "dogobblesingleempty", "doif", "doifMPgraphicelse", "doifallcommon", "doifallcommonelse", "doifalldefinedelse", "doifallmodes", "doifallmodeselse", "doifassignmentelse", "doifblackelse", "doifbothsides", "doifbothsidesoverruled", "doifboxelse", "doifbufferelse", "doifcolor", "doifcolorelse", "doifcommandhandler", "doifcommandhandlerelse", "doifcommon", "doifcommonelse", "doifcontent", "doifconversiondefinedelse", "doifconversionnumberelse", "doifcounter", "doifcounterelse", "doifcurrentfonthasfeatureelse", "doifdefined", "doifdefinedcounter", "doifdefinedcounterelse", "doifdefinedelse", "doifdimensionelse", "doifdimenstringelse", "doifdocumentargument", "doifdocumentargumentelse", "doifdocumentfilename", "doifdocumentfilenameelse", "doifdrawingblackelse", "doifelse", "doifelseMPgraphic", "doifelseallcommon", "doifelsealldefined", "doifelseallmodes", "doifelseassignment", "doifelseblack", "doifelsebox", "doifelseboxincache", "doifelsebuffer", "doifelsecolor", "doifelsecommandhandler", "doifelsecommon", "doifelseconversiondefined", "doifelseconversionnumber", "doifelsecounter", "doifelsecurrentfonthasfeature", "doifelsecurrentsortingused", "doifelsecurrentsynonymshown", "doifelsecurrentsynonymused", "doifelsedefined", "doifelsedefinedcounter", "doifelsedimension", "doifelsedimenstring", "doifelsedocumentargument", "doifelsedocumentfilename", "doifelsedrawingblack", "doifelseempty", "doifelseemptyvalue", "doifelseemptyvariable", "doifelseenv", "doifelsefastoptionalcheck", "doifelsefastoptionalcheckcs", "doifelsefieldbody", "doifelsefieldcategory", "doifelsefigure", "doifelsefile", "doifelsefiledefined", "doifelsefileexists", "doifelsefirstchar", "doifelseflagged", "doifelsefontchar", "doifelsefontpresent", "doifelsefontsynonym", "doifelsehasspace", "doifelsehelp", "doifelseincsname", "doifelseinelement", "doifelseinputfile", "doifelseinsertion", "doifelseinset", "doifelseinstring", "doifelseinsymbolset", "doifelseintoks", "doifelseintwopassdata", "doifelseitalic", "doifelselanguage", "doifelselayerdata", "doifelselayoutdefined", "doifelselayoutsomeline", "doifelselayouttextline", "doifelseleapyear", "doifelselist", "doifelselocation", "doifelselocfile", "doifelsemainfloatbody", "doifelsemarkedpage", "doifelsemarking", "doifelsemeaning", "doifelsemessage", "doifelsemode", "doifelsenextbgroup", "doifelsenextbgroupcs", "doifelsenextchar", "doifelsenextoptional", "doifelsenextoptionalcs", "doifelsenextparenthesis", "doifelsenonzeropositive", "doifelsenoteonsamepage", "doifelsenothing", "doifelsenumber", "doifelseobjectfound", "doifelseobjectreferencefound", "doifelseoddpage", "doifelseoddpagefloat", "doifelseoldercontext", "doifelseolderversion", "doifelseoverlapping", "doifelseoverlay", "doifelseparallel", "doifelseparentfile", "doifelsepath", "doifelsepathexists", "doifelsepatterns", "doifelseposition", "doifelsepositionaction", "doifelsepositiononpage", "doifelsepositionsonsamepage", "doifelsepositionsonthispage", "doifelsepositionsused", "doifelsereferencefound", "doifelserightpagefloat", "doifelserighttoleftinbox", "doifelsesamelinereference", "doifelsesamestring", "doifelsesetups", "doifelsesomebackground", "doifelsesomespace", "doifelsesomething", "doifelsesometoks", "doifelsestringinstring", "doifelsestructurelisthasnumber", "doifelsestructurelisthaspage", "doifelsesymboldefined", "doifelsesymbolset", "doifelsetext", "doifelsetextflow", "doifelsetextflowcollector", "doifelsetopofpage", "doifelsetypingfile", "doifelseundefined", "doifelseurldefined", "doifelsevalue", "doifelsevaluenothing", "doifelsevariable", "doifempty", "doifemptyelse", "doifemptytoks", "doifemptyvalue", "doifemptyvalueelse", "doifemptyvariable", "doifemptyvariableelse", "doifenv", "doifenvelse", "doiffastoptionalcheckcselse", "doiffastoptionalcheckelse", "doiffieldbodyelse", "doiffieldcategoryelse", "doiffigureelse", "doiffile", "doiffiledefinedelse", "doiffileelse", "doiffileexistselse", "doiffirstcharelse", "doifflaggedelse", "doiffontcharelse", "doiffontpresentelse", "doiffontsynonymelse", "doifhasspaceelse", "doifhelpelse", "doifincsnameelse", "doifinelementelse", "doifinputfileelse", "doifinsertionelse", "doifinset", "doifinsetelse", "doifinstring", "doifinstringelse", "doifinsymbolset", "doifinsymbolsetelse", "doifintokselse", "doifintwopassdataelse", "doifitalicelse", "doiflanguageelse", "doiflayerdataelse", "doiflayoutdefinedelse", "doiflayoutsomelineelse", "doiflayouttextlineelse", "doifleapyearelse", "doiflistelse", "doiflocationelse", "doiflocfileelse", "doifmainfloatbodyelse", "doifmarkingelse", "doifmeaningelse", "doifmessageelse", "doifmode", "doifmodeelse", "doifnextbgroupcselse", "doifnextbgroupelse", "doifnextcharelse", "doifnextoptionalcselse", "doifnextoptionalelse", "doifnextparenthesiselse", "doifnonzeropositiveelse", "doifnot", "doifnotallcommon", "doifnotallmodes", "doifnotcommandhandler", "doifnotcommon", "doifnotcounter", "doifnotdocumentargument", "doifnotdocumentfilename", "doifnotempty", "doifnotemptyvalue", "doifnotemptyvariable", "doifnotenv", "doifnoteonsamepageelse", "doifnotescollected", "doifnotfile", "doifnotflagged", "doifnothing", "doifnothingelse", "doifnotinset", "doifnotinsidesplitfloat", "doifnotinstring", "doifnotmode", "doifnotnumber", "doifnotsamestring", "doifnotsetups", "doifnotvalue", "doifnotvariable", "doifnumber", "doifnumberelse", "doifobjectfoundelse", "doifobjectreferencefoundelse", "doifoddpageelse", "doifoddpagefloatelse", "doifoldercontextelse", "doifolderversionelse", "doifoverlappingelse", "doifoverlayelse", "doifparallelelse", "doifparentfileelse", "doifpathelse", "doifpathexistselse", "doifpatternselse", "doifposition", "doifpositionaction", "doifpositionactionelse", "doifpositionelse", "doifpositiononpageelse", "doifpositionsonsamepageelse", "doifpositionsonthispageelse", "doifpositionsusedelse", "doifreferencefoundelse", "doifrightpagefloatelse", "doifrighttoleftinboxelse", "doifsamelinereferenceelse", "doifsamestring", "doifsamestringelse", "doifsetups", "doifsetupselse", "doifsomebackground", "doifsomebackgroundelse", "doifsomespaceelse", "doifsomething", "doifsomethingelse", "doifsometoks", "doifsometokselse", "doifstringinstringelse", "doifstructurelisthasnumberelse", "doifstructurelisthaspageelse", "doifsymboldefinedelse", "doifsymbolsetelse", "doiftext", "doiftextelse", "doiftextflowcollectorelse", "doiftextflowelse", "doiftopofpageelse", "doiftypingfileelse", "doifundefined", "doifundefinedcounter", "doifundefinedelse", "doifurldefinedelse", "doifvalue", "doifvalueelse", "doifvaluenothing", "doifvaluenothingelse", "doifvaluesomething", "doifvariable", "doifvariableelse", "doindentation", "dollar", "doloop", "doloopoverlist", "donothing", "dontconvertfont", "dontleavehmode", "dontpermitspacesbetweengroups", "dopositionaction", "doprocesslocalsetups", "doquadrupleargument", "doquadrupleempty", "doquadruplegroupempty", "doquintupleargument", "doquintupleempty", "doquintuplegroupempty", "dorechecknextindentation", "dorecurse", "dorepeatwithcommand", "doreplacefeature", "doresetandafffeature", "doresetattribute", "dorotatebox", "dosetattribute", "dosetleftskipadaption", "dosetrightskipadaption", "dosetupcheckedinterlinespace", "doseventupleargument", "doseventupleempty", "dosingleargument", "dosingleempty", "dosinglegroupempty", "dosixtupleargument", "dosixtupleempty", "dostepwiserecurse", "dosubtractfeature", "dot", "doteq", "doteqdot", "dotfskip", "dotlessI", "dotlessJ", "dotlessi", "dotlessj", "dotlessjstroke", "dotminus", "dotoks", "dotplus", "dotripleargument", "dotripleargumentwithset", "dotripleempty", "dotripleemptywithset", "dotriplegroupempty", "dots", "dottedcircle", "dottedrightarrow", "doublebar", "doublebond", "doublebrace", "doublebracket", "doublecap", "doublecup", "doubleparent", "doubleprime", "doubleverticalbar", "dowith", "dowithnextbox", "dowithnextboxcontent", "dowithnextboxcontentcs", "dowithnextboxcs", "dowithpargument", "dowithrange", "dowithwargument", "downarrow", "downdasharrow", "downdownarrows", "downharpoonleft", "downharpoonright", "downuparrows", "downwhitearrow", "downzigzagarrow", "dpofstring", "dstroke", "dtail", "dummydigit", "dummyparameter", "dzcaronligature", "dzligature", "eTeX", "eacute", "ebreve", "ecaron", "ecedilla", "ecircumflex", "ecircumflexacute", "ecircumflexdotbelow", "ecircumflexgrave", "ecircumflexhook", "ecircumflextilde", "edefconvertedargument", "ediaeresis", "edotaccent", "edotbelow", "edoublegrave", "efcmaxheight", "efcmaxwidth", "efcminheight", "efcminwidth", "efcparameter", "effect", "egrave", "ehook", "einvertedbreve", "elapsedseconds", "elapsedtime", "eleftarrowfill", "eleftharpoondownfill", "eleftharpoonupfill", "eleftrightarrowfill", "ell", "em", "emacron", "emdash", "emphasisboldface", "emphasistypeface", "emptylines", "emptyset", "emquad", "emspace", "enabledirectives", "enableexperiments", "enablemode", "enableoutputstream", "enableparpositions", "enableregime", "enabletrackers", "endash", "endnote", "enquad", "enskip", "enspace", "env", "environment", "envvar", "eogonek", "eoverbarfill", "eoverbracefill", "eoverbracketfill", "eoverparentfill", "epos", "epsilon", "eq", "eqcirc", "eqeq", "eqeqeq", "eqgtr", "eqless", "eqsim", "eqslantgtr", "eqslantless", "equaldigits", "equalscolon", "equiv", "erightarrowfill", "erightharpoondownfill", "erightharpoonupfill", "eta", "eth", "ethiopic", "etilde", "etwoheadrightarrowfill", "eunderbarfill", "eunderbracefill", "eunderbracketfill", "eunderparentfill", "exclamdown", "executeifdefined", "exists", "exitloop", "exitloopnow", "expandcheckedcsname", "expanded", "expandfontsynonym", "expdoif", "expdoifcommonelse", "expdoifelse", "expdoifelsecommon", "expdoifelseinset", "expdoifinsetelse", "expdoifnot", "exponentiale", "externalfigure", "externalfigurecollectionmaxheight", "externalfigurecollectionmaxwidth", "externalfigurecollectionminheight", "externalfigurecollectionminwidth", "externalfigurecollectionparameter", "fakebox", "fallingdotseq", "fastdecrement", "fastincrement", "fastlocalframed", "fastloopfinal", "fastloopindex", "fastscale", "fastsetup", "fastsetupwithargument", "fastsetupwithargumentswapped", "fastswitchtobodyfont", "fastsxsy", "feature", "fence", "fenced", "fetchallmarkings", "fetchallmarks", "fetchmark", "fetchmarking", "fetchonemark", "fetchonemarking", "fetchruntinecommand", "fetchtwomarkings", "fetchtwomarks", "ffiligature", "ffligature", "fflligature", "fhook", "field", "fieldbody", "fieldstack", "fifthoffivearguments", "fifthofsixarguments", "figurefilename", "figurefilepath", "figurefiletype", "figurefullname", "figureheight", "figurenaturalheight", "figurenaturalwidth", "figurespace", "figuresymbol", "figurewidth", "filename", "filigature", "filledhboxb", "filledhboxc", "filledhboxg", "filledhboxk", "filledhboxm", "filledhboxr", "filledhboxy", "filler", "fillinline", "fillinrules", "fillintext", "filterfromnext", "filterfromvalue", "filterpages", "filterreference", "findtwopassdata", "finishregisterentry", "firstcharacter", "firstcounter", "firstcountervalue", "firstoffivearguments", "firstoffourarguments", "firstofoneargument", "firstofoneunexpanded", "firstofsixarguments", "firstofthreearguments", "firstofthreeunexpanded", "firstoftwoarguments", "firstoftwounexpanded", "firstrealpage", "firstrealpagenumber", "firstsubcountervalue", "firstsubpage", "firstsubpagenumber", "firstuserpage", "firstuserpagenumber", "fitfield", "fitfieldframed", "fittopbaselinegrid", "fiveeighths", "fivesixths", "fixedspace", "fixedspaces", "flag", "flat", "flligature", "floatuserdataparameter", "flushbox", "flushboxregister", "flushcollector", "flushedrightlastline", "flushlayer", "flushlocalfloats", "flushnextbox", "flushnotes", "flushoutputstream", "flushshapebox", "flushtextflow", "flushtokens", "flushtoks", "fontalternative", "fontbody", "fontchar", "fontcharbyindex", "fontclass", "fontclassname", "fontface", "fontfeaturelist", "fontsize", "fontstyle", "footnote", "footnotetext", "forall", "forcecharacterstripping", "forcelocalfloats", "forgeteverypar", "forgetparameters", "forgetragged", "formula", "formulanumber", "foundbox", "fourfifths", "fourperemspace", "fourthoffivearguments", "fourthoffourarguments", "fourthofsixarguments", "frac", "framed", "frameddimension", "framedparameter", "framedtext", "freezedimenmacro", "freezemeasure", "frenchspacing", "from", "fromlinenote", "frown", "frozenhbox", "frule", "gacute", "gamma", "gbreve", "gcaron", "gcircumflex", "gcommaaccent", "gdefconvertedargument", "gdefconvertedcommand", "gdotaccent", "ge", "geq", "geqq", "geqslant", "getMPdrawing", "getMPlayer", "getboxfromcache", "getboxllx", "getboxlly", "getbuffer", "getbufferdata", "getcommacommandsize", "getcommalistsize", "getdayoftheweek", "getdayspermonth", "getdefinedbuffer", "getdocumentargument", "getdocumentargumentdefault", "getdocumentfilename", "getdummyparameters", "getemptyparameters", "geteparameters", "getexpandedparameters", "getfiguredimensions", "getfirstcharacter", "getfirsttwopassdata", "getfromcommacommand", "getfromcommalist", "getfromtwopassdata", "getglyphdirect", "getglyphstyled", "getgparameters", "getlasttwopassdata", "getlocalfloat", "getlocalfloats", "getmarking", "getmessage", "getnamedglyphdirect", "getnamedglyphstyled", "getnamedtwopassdatalist", "getnaturaldimensions", "getnoflines", "getobject", "getobjectdimensions", "getpaletsize", "getparameters", "getprivatechar", "getprivateslot", "getrandomcount", "getrandomdimen", "getrandomfloat", "getrandomnumber", "getrandomseed", "getraweparameters", "getrawgparameters", "getrawnoflines", "getrawparameters", "getrawxparameters", "getreference", "getreferenceentry", "getroundednoflines", "gets", "getsubstring", "gettwopassdata", "gettwopassdatalist", "getuvalue", "getvalue", "getvariable", "getvariabledefault", "getxparameters", "gg", "ggg", "gggtr", "gimel", "globaldisablemode", "globalenablemode", "globalletempty", "globalpopbox", "globalpopmacro", "globalpreventmode", "globalprocesscommalist", "globalpushbox", "globalpushmacro", "globalswapcounts", "globalswapdimens", "globalswapmacros", "globalundefine", "glyphfontfile", "gnapprox", "gneqq", "gnsim", "gobbledoubleempty", "gobbleeightarguments", "gobblefivearguments", "gobblefiveoptionals", "gobblefourarguments", "gobblefouroptionals", "gobbleninearguments", "gobbleoneargument", "gobbleoneoptional", "gobblesevenarguments", "gobblesingleempty", "gobblesixarguments", "gobblespacetokens", "gobbletenarguments", "gobblethreearguments", "gobblethreeoptionals", "gobbletwoarguments", "gobbletwooptionals", "gobbleuntil", "gobbleuntilrelax", "godown", "goto", "gotobox", "gotopage", "grabbufferdata", "grabbufferdatadirect", "grabuntil", "grave", "graycolor", "grayvalue", "greedysplitstring", "greekAlpha", "greekAlphadasia", "greekAlphadasiaperispomeni", "greekAlphadasiatonos", "greekAlphadasiavaria", "greekAlphaiotasub", "greekAlphaiotasubdasia", "greekAlphaiotasubdasiaperispomeni", "greekAlphaiotasubdasiatonos", "greekAlphaiotasubdasiavaria", "greekAlphaiotasubpsili", "greekAlphaiotasubpsiliperispomeni", "greekAlphaiotasubpsilitonos", "greekAlphaiotasubpsilivaria", "greekAlphamacron", "greekAlphapsili", "greekAlphapsiliperispomeni", "greekAlphapsilitonos", "greekAlphapsilivaria", "greekAlphatonos", "greekAlphavaria", "greekAlphavrachy", "greekBeta", "greekChi", "greekCoronis", "greekDelta", "greekEpsilon", "greekEpsilondasia", "greekEpsilondasiatonos", "greekEpsilondasiavaria", "greekEpsilonpsili", "greekEpsilonpsilitonos", "greekEpsilonpsilivaria", "greekEpsilontonos", "greekEpsilonvaria", "greekEta", "greekEtadasia", "greekEtadasiaperispomeni", "greekEtadasiatonos", "greekEtadasiavaria", "greekEtaiotasub", "greekEtaiotasubdasia", "greekEtaiotasubdasiaperispomeni", "greekEtaiotasubdasiatonos", "greekEtaiotasubdasiavaria", "greekEtaiotasubpsili", "greekEtaiotasubpsiliperispomeni", "greekEtaiotasubpsilitonos", "greekEtaiotasubpsilivaria", "greekEtapsili", "greekEtapsiliperispomeni", "greekEtapsilitonos", "greekEtapsilivaria", "greekEtatonos", "greekEtavaria", "greekGamma", "greekIota", "greekIotadasia", "greekIotadasiaperispomeni", "greekIotadasiatonos", "greekIotadasiavaria", "greekIotadialytika", "greekIotamacron", "greekIotapsili", "greekIotapsiliperispomeni", "greekIotapsilitonos", "greekIotapsilivaria", "greekIotatonos", "greekIotavaria", "greekIotavrachy", "greekKappa", "greekLambda", "greekMu", "greekNu", "greekOmega", "greekOmegadasia", "greekOmegadasiaperispomeni", "greekOmegadasiatonos", "greekOmegadasiavaria", "greekOmegaiotasub", "greekOmegaiotasubdasia", "greekOmegaiotasubdasiaperispomeni", "greekOmegaiotasubdasiatonos", "greekOmegaiotasubdasiavaria", "greekOmegaiotasubpsili", "greekOmegaiotasubpsiliperispomeni", "greekOmegaiotasubpsilitonos", "greekOmegaiotasubpsilivaria", "greekOmegapsili", "greekOmegapsiliperispomeni", "greekOmegapsilitonos", "greekOmegapsilivaria", "greekOmegatonos", "greekOmegavaria", "greekOmicron", "greekOmicrondasia", "greekOmicrondasiatonos", "greekOmicrondasiavaria", "greekOmicronpsili", "greekOmicronpsilitonos", "greekOmicronpsilivaria", "greekOmicrontonos", "greekOmicronvaria", "greekPhi", "greekPi", "greekPsi", "greekRho", "greekRhodasia", "greekSigma", "greekSigmalunate", "greekTau", "greekTheta", "greekUpsilon", "greekUpsilondasia", "greekUpsilondasiaperispomeni", "greekUpsilondasiatonos", "greekUpsilondasiavaria", "greekUpsilondialytika", "greekUpsilonmacron", "greekUpsilontonos", "greekUpsilonvaria", "greekUpsilonvrachy", "greekXi", "greekZeta", "greekalpha", "greekalphadasia", "greekalphadasiaperispomeni", "greekalphadasiatonos", "greekalphadasiavaria", "greekalphaiotasub", "greekalphaiotasubdasia", "greekalphaiotasubdasiaperispomeni", "greekalphaiotasubdasiatonos", "greekalphaiotasubdasiavaria", "greekalphaiotasubperispomeni", "greekalphaiotasubpsili", "greekalphaiotasubpsiliperispomeni", "greekalphaiotasubpsilitonos", "greekalphaiotasubpsilivaria", "greekalphaiotasubtonos", "greekalphaiotasubvaria", "greekalphamacron", "greekalphaoxia", "greekalphaperispomeni", "greekalphapsili", "greekalphapsiliperispomeni", "greekalphapsilitonos", "greekalphapsilivaria", "greekalphatonos", "greekalphavaria", "greekalphavrachy", "greekbeta", "greekchi", "greekdasia", "greekdasiaperispomeni", "greekdasiatonos", "greekdasiavaria", "greekdelta", "greekdialytikaperispomeni", "greekdialytikatonos", "greekdialytikavaria", "greekdigamma", "greekepsilon", "greekepsilonalt", "greekepsilondasia", "greekepsilondasiatonos", "greekepsilondasiavaria", "greekepsilonoxia", "greekepsilonpsili", "greekepsilonpsilitonos", "greekepsilonpsilivaria", "greekepsilontonos", "greekepsilonvaria", "greeketa", "greeketadasia", "greeketadasiaperispomeni", "greeketadasiatonos", "greeketadasiavaria", "greeketaiotasub", "greeketaiotasubdasia", "greeketaiotasubdasiaperispomeni", "greeketaiotasubdasiatonos", "greeketaiotasubdasiavaria", "greeketaiotasubperispomeni", "greeketaiotasubpsili", "greeketaiotasubpsiliperispomeni", "greeketaiotasubpsilitonos", "greeketaiotasubpsilivaria", "greeketaiotasubtonos", "greeketaiotasubvaria", "greeketaoxia", "greeketaperispomeni", "greeketapsili", "greeketapsiliperispomeni", "greeketapsilitonos", "greeketapsilivaria", "greeketatonos", "greeketavaria", "greekfinalsigma", "greekgamma", "greekiota", "greekiotadasia", "greekiotadasiaperispomeni", "greekiotadasiatonos", "greekiotadasiavaria", "greekiotadialytika", "greekiotadialytikaperispomeni", "greekiotadialytikatonos", "greekiotadialytikavaria", "greekiotamacron", "greekiotaoxia", "greekiotaperispomeni", "greekiotapsili", "greekiotapsiliperispomeni", "greekiotapsilitonos", "greekiotapsilivaria", "greekiotatonos", "greekiotavaria", "greekiotavrachy", "greekkappa", "greekkoppa", "greeklambda", "greekmu", "greeknu", "greeknumerals", "greeknumkoppa", "greekomega", "greekomegadasia", "greekomegadasiaperispomeni", "greekomegadasiatonos", "greekomegadasiavaria", "greekomegaiotasub", "greekomegaiotasubdasia", "greekomegaiotasubdasiaperispomeni", "greekomegaiotasubdasiatonos", "greekomegaiotasubdasiavaria", "greekomegaiotasubperispomeni", "greekomegaiotasubpsili", "greekomegaiotasubpsiliperispomeni", "greekomegaiotasubpsilitonos", "greekomegaiotasubpsilivaria", "greekomegaiotasubtonos", "greekomegaiotasubvaria", "greekomegaoxia", "greekomegaperispomeni", "greekomegapsili", "greekomegapsiliperispomeni", "greekomegapsilitonos", "greekomegapsilivaria", "greekomegatonos", "greekomegavaria", "greekomicron", "greekomicrondasia", "greekomicrondasiatonos", "greekomicrondasiavaria", "greekomicronoxia", "greekomicronpsili", "greekomicronpsilitonos", "greekomicronpsilivaria", "greekomicrontonos", "greekomicronvaria", "greekoxia", "greekperispomeni", "greekphi", "greekphialt", "greekpi", "greekpialt", "greekprosgegrammeni", "greekpsi", "greekpsili", "greekpsiliperispomeni", "greekpsilitonos", "greekpsilivaria", "greekrho", "greekrhoalt", "greekrhodasia", "greekrhopsili", "greeksampi", "greeksigma", "greeksigmalunate", "greekstigma", "greektau", "greektheta", "greekthetaalt", "greektonos", "greekupsilon", "greekupsilondasia", "greekupsilondasiaperispomeni", "greekupsilondasiatonos", "greekupsilondasiavaria", "greekupsilondiaeresis", "greekupsilondialytikaperispomeni", "greekupsilondialytikatonos", "greekupsilondialytikavaria", "greekupsilonmacron", "greekupsilonoxia", "greekupsilonperispomeni", "greekupsilonpsili", "greekupsilonpsiliperispomeni", "greekupsilonpsilitonos", "greekupsilonpsilivaria", "greekupsilontonos", "greekupsilonvaria", "greekupsilonvrachy", "greekvaria", "greekxi", "greekzeta", "grid", "groupedcommand", "gsetboxllx", "gsetboxlly", "gstroke", "gt", "gtrapprox", "gtrdot", "gtreqless", "gtreqqless", "gtrless", "gtrsim", "guilsingleleft", "guilsingleright", "gujaratinumerals", "gurmurkhinumerals", "hairline", "hairspace", "halflinestrut", "halfstrut", "halfwaybox", "handletokens", "handwritten", "hangul", "hanzi", "hash", "hat", "hbar", "hboxofvbox", "hboxreference", "hcaron", "hcircumflex", "hdofstring", "headhbox", "headlanguage", "headnumber", "headnumbercontent", "headnumberdistance", "headnumberwidth", "headreferenceattributes", "headsetupspacing", "headtext", "headtextcontent", "headtextdistance", "headtexts", "headtextwidth", "headvbox", "headwidth", "heartsuit", "hebrewAlef", "hebrewAyin", "hebrewBet", "hebrewDalet", "hebrewGimel", "hebrewHe", "hebrewHet", "hebrewKaf", "hebrewKaffinal", "hebrewLamed", "hebrewMem", "hebrewMemfinal", "hebrewNun", "hebrewNunfinal", "hebrewPe", "hebrewPefinal", "hebrewQof", "hebrewResh", "hebrewSamekh", "hebrewShin", "hebrewTav", "hebrewTet", "hebrewTsadi", "hebrewTsadifinal", "hebrewVav", "hebrewYod", "hebrewZayin", "heightanddepthofstring", "heightofstring", "heightspanningtext", "helptext", "hglue", "hiddenbar", "hiddencitation", "hiddencite", "hideblocks", "high", "highlight", "highordinalstr", "hilo", "himilo", "hl", "hookleftarrow", "hookrightarrow", "horizontalgrowingbar", "horizontalpositionbar", "hphantom", "hpos", "hsizefraction", "hslash", "hsmash", "hsmashbox", "hsmashed", "hspace", "hstroke", "htdpofstring", "htofstring", "hyphen", "hyphenatedcoloredword", "hyphenatedfile", "hyphenatedfilename", "hyphenatedhbox", "hyphenatedpar", "hyphenatedurl", "hyphenatedword", "iacute", "ibox", "ibreve", "icaron", "icircumflex", "ideographichalffillspace", "ideographicspace", "idiaeresis", "idotaccent", "idotbelow", "idoublegrave", "ifassignment", "iff", "ifinobject", "ifinoutputstream", "ifparameters", "iftrialtypesetting", "ignoreimplicitspaces", "ignorevalue", "igrave", "ihook", "iiiint", "iiiintop", "iiint", "iiintop", "iint", "iintop", "iinvertedbreve", "ijligature", "imacron", "imaginaryi", "imaginaryj", "imath", "immediatesavetwopassdata", "impliedby", "implies", "imply", "in", "includemenu", "includeversioninfo", "increment", "incrementcounter", "incrementedcounter", "incrementpagenumber", "incrementsubpagenumber", "incrementvalue", "indentation", "index", "infofont", "infofontbold", "inframed", "infty", "infull", "inheritparameter", "inhibitblank", "ininner", "ininneredge", "ininnermargin", "initializeboxstack", "inleft", "inleftedge", "inleftmargin", "inline", "inlinebuffer", "inlinedbox", "inlinemath", "inlinemathematics", "inlinemessage", "inlineordisplaymath", "inlineprettyprintbuffer", "inlinerange", "inmargin", "inmframed", "innerflushshapebox", "inother", "inouter", "inouteredge", "inoutermargin", "input", "inputfilebarename", "inputfilename", "inputfilerealsuffix", "inputfilesuffix", "inputgivenfile", "inright", "inrightedge", "inrightmargin", "insertpages", "installactionhandler", "installactivecharacter", "installanddefineactivecharacter", "installattributestack", "installautocommandhandler", "installautosetuphandler", "installbasicautosetuphandler", "installbasicparameterhandler", "installbottomframerenderer", "installcommandhandler", "installcorenamespace", "installdefinehandler", "installdefinitionset", "installdefinitionsetmember", "installdirectcommandhandler", "installdirectparameterhandler", "installdirectparametersethandler", "installdirectsetuphandler", "installdirectstyleandcolorhandler", "installframedautocommandhandler", "installframedcommandhandler", "installlanguage", "installleftframerenderer", "installnamespace", "installoutputroutine", "installpagearrangement", "installparameterhandler", "installparameterhashhandler", "installparametersethandler", "installparentinjector", "installrightframerenderer", "installrootparameterhandler", "installsetuphandler", "installsetuponlycommandhandler", "installshipoutmethod", "installsimplecommandhandler", "installsimpleframedcommandhandler", "installstyleandcolorhandler", "installswitchcommandhandler", "installswitchsetuphandler", "installtexdirective", "installtextracker", "installtopframerenderer", "installunitsseparator", "installunitsspace", "installversioninfo", "int", "intclockwise", "integerrounding", "integers", "interactionbar", "interactionbuttons", "interactionmenu", "intercal", "intertext", "intop", "invisibletimes", "invokepageheandler", "iogonek", "iota", "istltdir", "istrtdir", "italic", "italicbold", "italiccorrection", "italicface", "item", "items", "itemtag", "itilde", "jcaron", "jcircumflex", "jmath", "jobfilename", "jobfilesuffix", "kap", "kappa", "kcaron", "kcommaaccent", "keepblocks", "keeplinestogether", "keepunwantedspaces", "kerncharacters", "khook", "kkra", "koreancirclenumerals", "koreannumerals", "koreannumeralsc", "koreannumeralsp", "koreanparentnumerals", "lVert", "labellanguage", "labeltext", "labeltexts", "lacute", "lambda", "lambdabar", "land", "langle", "language", "languageCharacters", "languagecharacters", "languagecharwidth", "lastcounter", "lastcountervalue", "lastdigit", "lastlinewidth", "lastnaturalboxdp", "lastnaturalboxht", "lastnaturalboxwd", "lastpredefinedsymbol", "lastrealpage", "lastrealpagenumber", "lastsubcountervalue", "lastsubpage", "lastsubpagenumber", "lasttwodigits", "lastuserpage", "lastuserpagenumber", "lateluacode", "latin", "layeredtext", "layerheight", "layerwidth", "lazysavetaggedtwopassdata", "lazysavetwopassdata", "lbar", "lbox", "lbrace", "lbracket", "lcaron", "lceil", "lcommaaccent", "lcurl", "ldotmiddle", "ldotp", "ldots", "le", "leadsto", "left", "leftaligned", "leftarrow", "leftarrowtail", "leftarrowtriangle", "leftbottombox", "leftbox", "leftdasharrow", "leftguillemot", "leftharpoondown", "leftharpoonup", "lefthbox", "leftheadtext", "leftlabeltext", "leftleftarrows", "leftline", "leftmathlabeltext", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "leftrightarrow", "leftrightarrows", "leftrightarrowtriangle", "leftrightharpoons", "leftrightsquigarrow", "leftskipadaption", "leftsquigarrow", "leftsubguillemot", "leftthreetimes", "lefttopbox", "lefttoright", "lefttorighthbox", "lefttorightvbox", "lefttorightvtop", "leftwavearrow", "leftwhitearrow", "leq", "leqq", "leqslant", "lessapprox", "lessdot", "lesseqgtr", "lesseqqgtr", "lessgtr", "lesssim", "letbeundefined", "letcatcodecommand", "letcscsname", "letcsnamecs", "letcsnamecsname", "letdummyparameter", "letempty", "letgvalue", "letgvalueempty", "letgvalurelax", "letterampersand", "letterat", "letterbackslash", "letterbar", "letterbgroup", "letterclosebrace", "lettercolon", "letterdollar", "letterdoublequote", "letteregroup", "letterescape", "letterexclamationmark", "letterhash", "letterhat", "letterleftbrace", "letterleftbracket", "letterleftparenthesis", "letterless", "lettermore", "letteropenbrace", "letterpercent", "letterquestionmark", "letterrightbrace", "letterrightbracket", "letterrightparenthesis", "lettersinglequote", "letterslash", "letterspacing", "lettertilde", "letterunderscore", "letvalue", "letvalueempty", "letvaluerelax", "lfence", "lfloor", "lgroup", "lhbox", "lhooknwarrow", "lhooksearrow", "limitatefirstline", "limitatelines", "limitatetext", "line", "linefeed", "linenote", "linespanningtext", "linethickness", "linterval", "listcitation", "listcite", "listlength", "listnamespaces", "ljligature", "ll", "llangle", "llap", "llbracket", "llcorner", "lll", "llless", "lmoustache", "lnapprox", "lneq", "lneqq", "lnot", "lnsim", "loadanyfile", "loadanyfileonce", "loadbtxdefinitionfile", "loadbtxreplacementfile", "loadcldfile", "loadcldfileonce", "loadfontgoodies", "loadluafile", "loadluafileonce", "loadspellchecklist", "loadtexfile", "loadtexfileonce", "loadtypescriptfile", "localframed", "localframedwithsettings", "localhsize", "localpopbox", "localpopmacro", "localpushbox", "localpushmacro", "localundefine", "locatedfilepath", "locatefilepath", "locfilename", "logo", "lohi", "lointerval", "lomihi", "longleftarrow", "longleftrightarrow", "longmapsfrom", "longmapsto", "longrightarrow", "longrightsquigarrow", "looparrowleft", "looparrowright", "lor", "low", "lowerbox", "lowercased", "lowercasestring", "lowerleftdoubleninequote", "lowerleftsingleninequote", "lowerrightdoubleninequote", "lowerrightsingleninequote", "lozenge", "lparent", "lrcorner", "lrointerval", "lrtbbox", "lstroke", "lt", "ltimes", "ltop", "luaTeX", "luacode", "luaconditional", "luaenvironment", "luaexpanded", "luaexpr", "luafunction", "luajitTeX", "luamajorversion", "luaminorversion", "luaparameterset", "luasetup", "luaversion", "lvert", "m", "mLeftarrow", "mLeftrightarrow", "mRightarrow", "mainlanguage", "makecharacteractive", "makerawcommalist", "makestrutofbox", "maltese", "mapfontsize", "mapsdown", "mapsfrom", "mapsto", "mapsup", "margindata", "margintext", "markcontent", "marking", "markinjector", "markpage", "mat", "math", "mathampersand", "mathbf", "mathbi", "mathblackboard", "mathbs", "mathdefault", "mathdollar", "mathdouble", "mathematics", "mathfraktur", "mathfunction", "mathhash", "mathhyphen", "mathit", "mathitalic", "mathlabellanguage", "mathlabeltext", "mathlabeltexts", "mathop", "mathover", "mathpercent", "mathrm", "mathscript", "mathsl", "mathss", "mathtext", "mathtextbf", "mathtextbi", "mathtextbs", "mathtextit", "mathtextsl", "mathtexttf", "mathtf", "mathtriplet", "mathtt", "mathunder", "mathupright", "mathword", "mathwordbf", "mathwordbi", "mathwordbs", "mathwordit", "mathwordsl", "mathwordtf", "maxaligned", "mbox", "mcframed", "measure", "measured", "measuredangle", "measuredeq", "medskip", "medspace", "menubutton", "mequal", "message", "metaTeX", "mfence", "mframed", "mfunction", "mfunctionlabeltext", "mhbox", "mho", "mhookleftarrow", "mhookrightarrow", "mid", "midaligned", "middle", "middlealigned", "middlebox", "midhbox", "midsubsentence", "minimalhbox", "minus", "minuscolon", "mirror", "mixedcaps", "mkvibuffer", "mleftarrow", "mleftharpoondown", "mleftharpoonup", "mleftrightarrow", "mleftrightharpoons", "mmapsto", "models", "moduleparameter", "molecule", "mono", "monobold", "mononormal", "month", "monthlong", "monthshort", "mp", "mprandomnumber", "mrel", "mrightarrow", "mrightharpoondown", "mrightharpoonup", "mrightleftharpoons", "mrightoverleftarrow", "mtext", "mtriplerel", "mtwoheadleftarrow", "mtwoheadrightarrow", "mu", "multimap", "nHdownarrow", "nHuparrow", "nLeftarrow", "nLeftrightarrow", "nRightarrow", "nVDash", "nVdash", "nVleftarrow", "nVleftrightarrow", "nVrightarrow", "nabla", "nacute", "namedheadnumber", "namedstructureheadlocation", "namedstructureuservariable", "namedstructurevariable", "namedtaggedlabeltexts", "napostrophe", "napprox", "napproxEq", "narrownobreakspace", "nasymp", "natural", "naturalhbox", "naturalhpack", "naturalnumbers", "naturalvbox", "naturalvcenter", "naturalvpack", "naturalvtop", "naturalwd", "ncaron", "ncommaaccent", "ncong", "ncurl", "ndivides", "ne", "nearrow", "neg", "negatecolorbox", "negated", "negativesign", "negthinspace", "neng", "neq", "nequiv", "neswarrow", "newattribute", "newcatcodetable", "newcounter", "newevery", "newfrenchspacing", "newmode", "newsignal", "newsystemmode", "nexists", "nextbox", "nextboxdp", "nextboxht", "nextboxhtdp", "nextboxwd", "nextcounter", "nextcountervalue", "nextdepth", "nextparagraphs", "nextrealpage", "nextrealpagenumber", "nextsubcountervalue", "nextsubpage", "nextsubpagenumber", "nextuserpage", "nextuserpagenumber", "ngeq", "ngrave", "ngtr", "ngtrless", "ngtrsim", "ni", "nihongo", "nin", "njligature", "nleftarrow", "nleftrightarrow", "nleq", "nless", "nlessgtr", "nlesssim", "nmid", "nni", "nobar", "nobreakspace", "nocap", "nocitation", "nocite", "nodetostring", "noffigurepages", "noflines", "noflocalfloats", "noheaderandfooterlines", "noheightstrut", "noindentation", "noitem", "nonfrenchspacing", "nonmathematics", "normal", "normalboldface", "normalframedwithsettings", "normalitalicface", "normalizebodyfontsize", "normalizedfontsize", "normalizefontdepth", "normalizefontheight", "normalizefontline", "normalizefontwidth", "normalizetextdepth", "normalizetextheight", "normalizetextline", "normalizetextwidth", "normalslantedface", "normaltypeface", "nospace", "not", "note", "notesymbol", "notin", "notopandbottomlines", "notragged", "nowns", "nparallel", "nprec", "npreccurlyeq", "nrightarrow", "nsim", "nsimeq", "nsqsubseteq", "nsqsupseteq", "nsubset", "nsubseteq", "nsucc", "nsucccurlyeq", "nsupset", "nsupseteq", "ntilde", "ntimes", "ntriangleleft", "ntrianglelefteq", "ntriangleright", "ntrianglerighteq", "nu", "numberofpoints", "numbers", "nvDash", "nvdash", "nvleftarrow", "nvleftrightarrow", "nvrightarrow", "nwarrow", "nwsearrow", "oacute", "obeydepth", "objectdepth", "objectheight", "objectmargin", "objectwidth", "obox", "obreve", "ocaron", "ocircumflex", "ocircumflexacute", "ocircumflexdotbelow", "ocircumflexgrave", "ocircumflexhook", "ocircumflextilde", "odiaeresis", "odiaeresismacron", "odot", "odotaccent", "odotaccentmacron", "odotbelow", "odoublegrave", "oeligature", "offset", "offsetbox", "ograve", "ohm", "ohook", "ohorn", "ohornacute", "ohorndotbelow", "ohorngrave", "ohornhook", "ohorntilde", "ohungarumlaut", "oiiint", "oiint", "oint", "ointclockwise", "ointctrclockwise", "oinvertedbreve", "omacron", "omega", "omicron", "ominus", "onedigitrounding", "oneeighth", "onefifth", "onehalf", "onequarter", "onesixth", "onesuperior", "onethird", "oogonek", "oogonekmacron", "operatorlanguage", "operatortext", "oplus", "ordfeminine", "ordinaldaynumber", "ordinalstr", "ordmasculine", "ornamenttext", "oslash", "ostroke", "ostrokeacute", "otilde", "otildemacron", "otimes", "outputfilename", "outputstreambox", "outputstreamcopy", "outputstreamunvbox", "outputstreamunvcopy", "over", "overbar", "overbars", "overbarunderbar", "overbrace", "overbraceunderbrace", "overbracket", "overbracketunderbracket", "overlaybutton", "overlaycolor", "overlaydepth", "overlayfigure", "overlayheight", "overlaylinecolor", "overlaylinewidth", "overlayoffset", "overlayrollbutton", "overlaywidth", "overleftarrow", "overloaderror", "overparent", "overparentunderparent", "overrightarrow", "overset", "overstrike", "overstrikes", "owns", "page", "pagearea", "pagebreak", "pagefigure", "pagegridspanwidth", "pageinjection", "pagenumber", "pagereference", "pagestaterealpage", "paletsize", "paragraphmark", "parallel", "part", "partial", "pdfTeX", "pdfactualtext", "pdfbackendactualtext", "pdfbackendcurrentresources", "pdfbackendsetcatalog", "pdfbackendsetcolorspace", "pdfbackendsetextgstate", "pdfbackendsetinfo", "pdfbackendsetname", "pdfbackendsetpageattribute", "pdfbackendsetpageresource", "pdfbackendsetpagesattribute", "pdfbackendsetpattern", "pdfbackendsetshade", "pdfcolor", "pdfeTeX", "percent", "percentdimen", "periodcentered", "periods", "permitcaretescape", "permitcircumflexescape", "permitspacesbetweengroups", "perp", "persiandecimals", "persiandecimalseparator", "persiannumerals", "persianthousandsseparator", "perthousand", "phantom", "phantombox", "phi", "phook", "pi", "pickupgroupedcommand", "pitchfork", "placeattachments", "placebookmarks", "placebtxrendering", "placechemical", "placecitation", "placecombinedlist", "placecomments", "placecontent", "placecurrentformulanumber", "placedbox", "placefigure", "placefloat", "placefloatwithsetups", "placefootnotes", "placeformula", "placeframed", "placegraphic", "placeheadnumber", "placeheadtext", "placehelp", "placeindex", "placeinitial", "placeintermezzo", "placelayer", "placelayeredtext", "placelegend", "placelist", "placelistofabbreviations", "placelistofchemicals", "placelistoffigures", "placelistofgraphics", "placelistofintermezzi", "placelistoflogos", "placelistofpublications", "placelistofsorts", "placelistofsynonyms", "placelistoftables", "placelocalfootnotes", "placelocalnotes", "placement", "placenamedfloat", "placenamedformula", "placenotes", "placeongrid", "placeontopofeachother", "placepagenumber", "placepairedbox", "placeparallel", "placerawlist", "placeregister", "placerenderingwindow", "placesidebyside", "placesubformula", "placetable", "pm", "popattribute", "popmacro", "popmode", "popsystemmode", "position", "positionoverlay", "positionregionoverlay", "positivesign", "postponenotes", "prec", "precapprox", "preccurlyeq", "preceq", "preceqq", "precnapprox", "precneq", "precneqq", "precnsim", "precsim", "predefinedfont", "predefinefont", "predefinesymbol", "prefixedpagenumber", "prefixlanguage", "prefixtext", "prependetoks", "prependgvalue", "prependtocommalist", "prependtoks", "prependtoksonce", "prependvalue", "presetbtxlabeltext", "presetdocument", "presetfieldsymbols", "presetheadtext", "presetlabeltext", "presetmathlabeltext", "presetoperatortext", "presetprefixtext", "presetsuffixtext", "presettaglabeltext", "presetunittext", "pretocommalist", "prettyprintbuffer", "prevcounter", "prevcountervalue", "preventmode", "prevrealpage", "prevrealpagenumber", "prevsubcountervalue", "prevsubpage", "prevsubpagenumber", "prevuserpage", "prevuserpagenumber", "prime", "primes", "procent", "processMPbuffer", "processMPfigurefile", "processaction", "processallactionsinset", "processassignlist", "processassignmentcommand", "processassignmentlist", "processbetween", "processblocks", "processbodyfontenvironmentlist", "processcolorcomponents", "processcommacommand", "processcommalist", "processcommalistwithparameters", "processcontent", "processfile", "processfilemany", "processfilenone", "processfileonce", "processfirstactioninset", "processisolatedchars", "processisolatedwords", "processlinetablebuffer", "processlinetablefile", "processlist", "processmonth", "processranges", "processseparatedlist", "processtexbuffer", "processtokens", "processuntil", "processxtablebuffer", "processyear", "prod", "product", "profiledbox", "profilegivenbox", "program", "project", "propto", "pseudoMixedCapped", "pseudoSmallCapped", "pseudoSmallcapped", "pseudosmallcapped", "psi", "punctuationspace", "purenumber", "pushattribute", "pushbutton", "pushmacro", "pushmode", "pushoutputstream", "pushsystemmode", "putboxincache", "putnextboxincache", "qquad", "quad", "quadrupleprime", "quads", "quarterstrut", "questiondown", "questionedeq", "quitcommalist", "quitprevcommalist", "quittypescriptscanning", "quotation", "quote", "quotedbl", "quotedblbase", "quotedblleft", "quotedblright", "quoteleft", "quoteright", "quotesingle", "quotesinglebase", "rVert", "racute", "raggedbottom", "raggedcenter", "raggedleft", "raggedright", "raggedwidecenter", "raisebox", "randomizetext", "randomnumber", "rangle", "rationals", "rawcounter", "rawcountervalue", "rawdate", "rawdoifelseinset", "rawdoifinset", "rawdoifinsetelse", "rawgetparameters", "rawprocessaction", "rawprocesscommacommand", "rawprocesscommalist", "rawstructurelistuservariable", "rawsubcountervalue", "rbox", "rbrace", "rbracket", "rcaron", "rceil", "rcommaaccent", "rdoublegrave", "readfile", "readfixfile", "readjobfile", "readlocfile", "readsetfile", "readsysfile", "readtexfile", "readxmlfile", "realSmallCapped", "realSmallcapped", "realpagenumber", "reals", "realsmallcapped", "recursedepth", "recurselevel", "recursestring", "redoconvertfont", "ref", "reference", "referenceprefix", "referring", "registerattachment", "registerctxluafile", "registered", "registerexternalfigure", "registerfontclass", "registerhyphenationexception", "registerhyphenationpattern", "registermenubuttons", "registersort", "registersynonym", "registerunit", "regular", "relatemarking", "relateparameterhandlers", "relaxvalueifundefined", "relbar", "remainingcharacters", "remark", "removebottomthings", "removedepth", "removefromcommalist", "removelastskip", "removelastspace", "removemarkedcontent", "removepunctuation", "removesubstring", "removetoks", "removeunwantedspaces", "replacefeature", "replaceincommalist", "replaceword", "rescan", "rescanwithsetup", "resetMPdrawing", "resetMPenvironment", "resetMPinstance", "resetallattributes", "resetandaddfeature", "resetbar", "resetboxesincache", "resetbreakpoints", "resetbuffer", "resetcharacteralign", "resetcharacterkerning", "resetcharacterspacing", "resetcharacterstripping", "resetcollector", "resetcounter", "resetdigitsmanipulation", "resetdirection", "resetfeature", "resetflag", "resetfontcolorsheme", "resetfontfallback", "resetfontsolution", "resethyphenationfeatures", "resetinjector", "resetinteractionmenu", "resetitaliccorrection", "resetlayer", "resetlocalfloats", "resetmarker", "resetmarking", "resetmode", "resetpagenumber", "resetparallel", "resetpath", "resetpenalties", "resetprofile", "resetrecurselevel", "resetreference", "resetreplacement", "resetscript", "resetsetups", "resetshownsynonyms", "resetsubpagenumber", "resetsymbolset", "resetsystemmode", "resettimer", "resettrackers", "resettrialtypesetting", "resetusedsortings", "resetusedsynonyms", "resetuserpagenumber", "resetvalue", "resetvisualizers", "reshapebox", "resolvedglyphdirect", "resolvedglyphstyled", "restartcounter", "restorebox", "restorecatcodes", "restorecounter", "restorecurrentattributes", "restoreendofline", "restoreglobalbodyfont", "restriction", "reusableMPgraphic", "reuseMPgraphic", "reuserandomseed", "reverseddoubleprime", "reversedprime", "reversedtripleprime", "revivefeature", "rfence", "rfloor", "rgroup", "rhbox", "rho", "rhooknearrow", "rhookswarrow", "right", "rightaligned", "rightangle", "rightarrow", "rightarrowbar", "rightarrowtail", "rightarrowtriangle", "rightbottombox", "rightbox", "rightdasharrow", "rightguillemot", "rightharpoondown", "rightharpoonup", "righthbox", "rightheadtext", "rightlabeltext", "rightleftarrows", "rightleftharpoons", "rightline", "rightmathlabeltext", "rightorleftpageaction", "rightrightarrows", "rightskipadaption", "rightsquigarrow", "rightsubguillemot", "rightthreearrows", "rightthreetimes", "righttoleft", "righttolefthbox", "righttoleftvbox", "righttoleftvtop", "righttopbox", "rightwavearrow", "rightwhitearrow", "ring", "rinterval", "rinvertedbreve", "risingdotseq", "rlap", "rlointerval", "rmoustache", "rneq", "robustaddtocommalist", "robustdoifelseinset", "robustdoifinsetelse", "robustpretocommalist", "rointerval", "rollbutton", "roman", "romanC", "romanD", "romanI", "romanII", "romanIII", "romanIV", "romanIX", "romanL", "romanM", "romanV", "romanVI", "romanVII", "romanVIII", "romanX", "romanXI", "romanXII", "romanc", "romand", "romani", "romanii", "romaniii", "romaniv", "romanix", "romanl", "romanm", "romannumerals", "romanv", "romanvi", "romanvii", "romanviii", "romanx", "romanxi", "romanxii", "rootradical", "rotate", "rparent", "rrangle", "rrbracket", "rrointerval", "rtimes", "rtop", "ruledhbox", "ruledhpack", "ruledmbox", "ruledtopv", "ruledtpack", "ruledvbox", "ruledvpack", "ruledvtop", "runMPbuffer", "runninghbox", "rvert", "sacute", "safechar", "samplefile", "sans", "sansbold", "sansnormal", "sansserif", "savebox", "savebtxdataset", "savebuffer", "savecounter", "savecurrentattributes", "savenormalmeaning", "savetaggedtwopassdata", "savetwopassdata", "sbox", "scale", "scaron", "scedilla", "schwa", "schwahook", "scircumflex", "scommaaccent", "screen", "searrow", "secondoffivearguments", "secondoffourarguments", "secondofsixarguments", "secondofthreearguments", "secondofthreeunexpanded", "secondoftwoarguments", "secondoftwounexpanded", "section", "sectionmark", "seeindex", "select", "selectblocks", "serializecommalist", "serializedcommalist", "serif", "serifbold", "serifnormal", "setJSpreamble", "setMPlayer", "setMPpositiongraphic", "setMPpositiongraphicrange", "setMPtext", "setMPvariable", "setMPvariables", "setbar", "setbigbodyfont", "setboxllx", "setboxlly", "setbreakpoints", "setcapstrut", "setcatcodetable", "setcharacteralign", "setcharactercasing", "setcharactercleaning", "setcharacterkerning", "setcharacterspacing", "setcharacterstripping", "setcharstrut", "setcollector", "setcolormodell", "setcounter", "setcounterown", "setcurrentfontclass", "setdataset", "setdefaultpenalties", "setdigitsmanipulation", "setdirection", "setdocumentargument", "setdocumentargumentdefault", "setdocumentfilename", "setdummyparameter", "setelementexporttag", "setemeasure", "setevalue", "setevariable", "setevariables", "setfirstline", "setflag", "setfont", "setfontcolorsheme", "setfontfeature", "setfontsolution", "setfontstrut", "setgmeasure", "setgvalue", "setgvariable", "setgvariables", "sethboxregister", "sethyphenatedurlafter", "sethyphenatedurlbefore", "sethyphenatedurlnormal", "sethyphenationfeatures", "setinitial", "setinjector", "setinteraction", "setinterfacecommand", "setinterfaceconstant", "setinterfaceelement", "setinterfacemessage", "setinterfacevariable", "setinternalrendering", "setitaliccorrection", "setlayer", "setlayerframed", "setlayertext", "setlinefiller", "setlocalhsize", "setmainbodyfont", "setmainparbuilder", "setmarker", "setmarking", "setmathstyle", "setmeasure", "setmessagetext", "setminus", "setmode", "setnostrut", "setnote", "setnotetext", "setobject", "setoldstyle", "setpagegrid", "setpagereference", "setpagestate", "setpagestaterealpageno", "setpenalties", "setpercentdimen", "setposition", "setpositionbox", "setpositiondata", "setpositiondataplus", "setpositiononly", "setpositionplus", "setpositionstrut", "setprofile", "setrandomseed", "setreference", "setreferencedobject", "setregisterentry", "setreplacement", "setrigidcolumnbalance", "setrigidcolumnhsize", "setscript", "setsectionblock", "setsimplecolumnhsize", "setsmallbodyfont", "setsmallcaps", "setstackbox", "setstructurepageregister", "setstrut", "setsuperiors", "setsystemmode", "settabular", "settaggedmetadata", "settextcontent", "settightobject", "settightreferencedobject", "settightunreferencedobject", "settrialtypesetting", "setuevalue", "setugvalue", "setunreferencedobject", "setup", "setupMPgraphics", "setupMPinstance", "setupMPpage", "setupMPvariables", "setupTABLE", "setupTEXpage", "setupalign", "setupalternativestyles", "setuparranging", "setupattachment", "setupattachments", "setupbackend", "setupbackground", "setupbackgrounds", "setupbar", "setupbars", "setupblackrules", "setupblank", "setupbleeding", "setupblock", "setupbodyfont", "setupbookmark", "setupbottom", "setupbottomtexts", "setupbtx", "setupbtxdataset", "setupbtxlabeltext", "setupbtxlist", "setupbtxregister", "setupbtxrendering", "setupbuffer", "setupbutton", "setupcapitals", "setupcaption", "setupcaptions", "setupcharacterkerning", "setupcharacterspacing", "setupchemical", "setupchemicalframed", "setupclipping", "setupcollector", "setupcolor", "setupcolors", "setupcolumns", "setupcolumnspan", "setupcombination", "setupcombinedlist", "setupcomment", "setupcontent", "setupcounter", "setupdataset", "setupdelimitedtext", "setupdescription", "setupdirections", "setupdocument", "setupeffect", "setupenumeration", "setupenumerations", "setupenv", "setupexport", "setupexternalfigure", "setupexternalsoundtracks", "setupfield", "setupfieldbody", "setupfieldcategory", "setupfieldcontentframed", "setupfieldlabelframed", "setupfields", "setupfieldtotalframed", "setupfiller", "setupfillinlines", "setupfillinrules", "setupfirstline", "setupfittingpage", "setupfloat", "setupfloatcaption", "setupfloats", "setupfloatsplitting", "setupfontexpansion", "setupfontprotrusion", "setupfonts", "setupfontsolution", "setupfooter", "setupfootertexts", "setupforms", "setupformula", "setupformulae", "setupformulaframed", "setupframed", "setupframedcontent", "setupframedtable", "setupframedtablecolumn", "setupframedtablerow", "setupframedtext", "setupframedtexts", "setupglobalreferenceprefix", "setuphead", "setupheadalternative", "setupheader", "setupheadertexts", "setupheadnumber", "setupheads", "setupheadtext", "setuphelp", "setuphigh", "setuphighlight", "setuphyphenation", "setuphyphenmark", "setupindentedtext", "setupindenting", "setupindex", "setupinitial", "setupinsertion", "setupinteraction", "setupinteractionbar", "setupinteractionmenu", "setupinteractionscreen", "setupinterlinespace", "setupitaliccorrection", "setupitemgroup", "setupitemizations", "setupitemize", "setupitems", "setuplabel", "setuplabeltext", "setuplanguage", "setuplayer", "setuplayeredtext", "setuplayout", "setuplayouttext", "setuplegend", "setuplinefiller", "setuplinefillers", "setuplinenote", "setuplinenumbering", "setuplines", "setuplinetable", "setuplinewidth", "setuplist", "setuplistalternative", "setuplistextra", "setuplocalfloats", "setuplocalinterlinespace", "setuplow", "setuplowhigh", "setuplowmidhigh", "setupmakeup", "setupmarginblock", "setupmargindata", "setupmarginframed", "setupmarginrule", "setupmarginrules", "setupmarking", "setupmathalignment", "setupmathcases", "setupmathematics", "setupmathfence", "setupmathfraction", "setupmathfractions", "setupmathframed", "setupmathlabeltext", "setupmathmatrix", "setupmathornament", "setupmathradical", "setupmathstackers", "setupmathstyle", "setupmixedcolumns", "setupmodule", "setupnarrower", "setupnotation", "setupnotations", "setupnote", "setupnotes", "setupoffset", "setupoffsetbox", "setupoperatortext", "setupoppositeplacing", "setupoutputroutine", "setuppagechecker", "setuppagecomment", "setuppagegrid", "setuppagegridarea", "setuppagegridareatext", "setuppagegridlines", "setuppagegridspan", "setuppagegridstart", "setuppageinjection", "setuppageinjectionalternative", "setuppagenumber", "setuppagenumbering", "setuppageshift", "setuppagestate", "setuppagetransitions", "setuppairedbox", "setuppalet", "setuppaper", "setuppapersize", "setupparagraph", "setupparagraphintro", "setupparagraphnumbering", "setupparagraphs", "setupparallel", "setupperiods", "setupplacement", "setuppositionbar", "setuppositioning", "setupprefixtext", "setupprocessor", "setupprofile", "setupprograms", "setupquotation", "setupquote", "setuprealpagenumber", "setupreferenceformat", "setupreferenceprefix", "setupreferencestructureprefix", "setupreferencing", "setupregister", "setupregisters", "setuprenderingwindow", "setuprotate", "setups", "setupscale", "setupscript", "setupscripts", "setupsectionblock", "setupselector", "setupshift", "setupsidebar", "setupsorting", "setupspacing", "setupspellchecking", "setupstartstop", "setupstretched", "setupstruts", "setupstyle", "setupsubformula", "setupsubformulas", "setupsubpagenumber", "setupsuffixtext", "setupsymbolset", "setupsynctex", "setupsynonyms", "setuptables", "setuptabulate", "setuptabulation", "setuptagging", "setuptaglabeltext", "setuptext", "setuptextbackground", "setuptextflow", "setuptextrules", "setuptexttexts", "setupthinrules", "setuptolerance", "setuptooltip", "setuptop", "setuptoptexts", "setuptype", "setuptyping", "setupunit", "setupunittext", "setupurl", "setupuserpagenumber", "setupversion", "setupviewerlayer", "setupvspacing", "setupwhitespace", "setupwithargument", "setupwithargumentswapped", "setupxml", "setupxtable", "setuvalue", "setuxvalue", "setvalue", "setvariable", "setvariables", "setvboxregister", "setvisualizerfont", "setvtopregister", "setwidthof", "setxmeasure", "setxvalue", "setxvariable", "setxvariables", "seveneighths", "sfrac", "shapedhbox", "sharp", "shiftdown", "shiftup", "showallmakeup", "showattributes", "showbodyfont", "showbodyfontenvironment", "showboxes", "showbtxdatasetauthors", "showbtxdatasetcompleteness", "showbtxdatasetfields", "showbtxfields", "showbtxhashedauthors", "showbtxtables", "showchardata", "showcharratio", "showcolor", "showcolorbar", "showcolorcomponents", "showcolorgroup", "showcolorset", "showcolorstruts", "showcounter", "showdirectives", "showdirsinmargin", "showedebuginfo", "showexperiments", "showfont", "showfontdata", "showfontitalics", "showfontkerns", "showfontparameters", "showfontstrip", "showfontstyle", "showframe", "showglyphs", "showgrid", "showgridsnapping", "showhelp", "showhyphenationtrace", "showhyphens", "showinjector", "showjustification", "showkerning", "showlayout", "showlayoutcomponents", "showligature", "showligatures", "showlogcategories", "showmakeup", "showmargins", "showmessage", "showminimalbaseline", "shownextbox", "showotfcomposition", "showpalet", "showparentchain", "showprint", "showsetups", "showsetupsdefinition", "showstruts", "showsymbolset", "showtimer", "showtokens", "showtrackers", "showvalue", "showvariable", "showwarning", "sigma", "sim", "simeq", "simplealignedbox", "simplealignedboxplus", "simplealignedspreadbox", "simplegroupedcommand", "simplereversealignedbox", "simplereversealignedboxplus", "singalcharacteralign", "singlebond", "singleverticalbar", "sixperemspace", "sixthofsixarguments", "slanted", "slantedbold", "slantedface", "slash", "slicepages", "slong", "slovenianNumerals", "sloveniannumerals", "small", "smallbodyfont", "smallbold", "smallbolditalic", "smallboldslanted", "smallcappedcharacters", "smallcappedromannumerals", "smaller", "smallitalicbold", "smallnormal", "smallskip", "smallslanted", "smallslantedbold", "smalltype", "smash", "smashbox", "smashboxed", "smashedhbox", "smashedvbox", "smile", "snaptogrid", "softhyphen", "solidus", "someheadnumber", "somekindoftab", "someline", "somelocalfloat", "somenamedheadnumber", "someplace", "somewhere", "space", "spadesuit", "spanishNumerals", "spanishnumerals", "speech", "sphericalangle", "splitatasterisk", "splitatcolon", "splitatcolons", "splitatcomma", "splitatperiod", "splitdfrac", "splitfilename", "splitfloat", "splitfrac", "splitoffbase", "splitofffull", "splitoffkind", "splitoffname", "splitoffpath", "splitoffroot", "splitofftokens", "splitofftype", "splitstring", "spreadhbox", "sqcap", "sqcup", "sqrt", "sqsubset", "sqsubseteq", "sqsubsetneq", "sqsupset", "sqsupseteq", "sqsupsetneq", "square", "squaredots", "ssharp", "stackrel", "star", "stareq", "startJScode", "startJSpreamble", "startLUA", "startMP", "startMPclip", "startMPcode", "startMPdefinitions", "startMPdrawing", "startMPenvironment", "startMPextensions", "startMPinclusions", "startMPinitializations", "startMPpage", "startMPpositiongraphic", "startMPpositionmethod", "startMPrun", "startPARSEDXML", "startTABLE", "startTABLEbody", "startTABLEfoot", "startTABLEhead", "startTABLEnext", "startTC", "startTD", "startTDs", "startTEX", "startTEXpage", "startTH", "startTN", "startTR", "startTRs", "startTX", "startTY", "startXML", "startalign", "startalignment", "startallmodes", "startappendices", "startarrangedpages", "startaside", "startattachment", "startbackground", "startbackmatter", "startbar", "startbbordermatrix", "startbitmapimage", "startblockquote", "startbodymatter", "startbordermatrix", "startboxedcolumns", "startbtxlabeltext", "startbtxrenderingdefinitions", "startbuffer", "startcases", "startcatcodetable", "startcenteraligned", "startchapter", "startcharacteralign", "startcheckedfences", "startchemical", "startchemicaltext", "startcollect", "startcollecting", "startcolor", "startcolorintent", "startcoloronly", "startcolorset", "startcolumns", "startcolumnspan", "startcombination", "startcomment", "startcomponent", "startcontextcode", "startcontextdefinitioncode", "startctxfunction", "startctxfunctiondefinition", "startcurrentcolor", "startcurrentlistentrywrapper", "startdelimited", "startdelimitedtext", "startdisplaymath", "startdmath", "startdocument", "starteffect", "startelement", "startembeddedxtable", "startendnote", "startendofline", "startenvironment", "startexceptions", "startexpanded", "startexpandedcollect", "startextendedcatcodetable", "startexternalfigurecollection", "startfact", "startfigure", "startfiguretext", "startfittingpage", "startfixed", "startfloatcombination", "startfont", "startfontclass", "startfontsolution", "startfootnote", "startformula", "startformulas", "startframed", "startframedcell", "startframedcontent", "startframedrow", "startframedtable", "startframedtext", "startfrontmatter", "startgoto", "startgraphictext", "startgridsnapping", "starthanging", "starthbox", "starthboxestohbox", "starthboxregister", "starthead", "startheadtext", "starthelptext", "starthiding", "starthighlight", "starthyphenation", "startimath", "startindentation", "startindentedtext", "startinteraction", "startinteractionmenu", "startinterface", "startintermezzotext", "startintertext", "startitem", "startitemgroup", "startitemgroupcolumns", "startitemize", "startknockout", "startlabeltext", "startlayout", "startleftaligned", "startlegend", "startline", "startlinealignment", "startlinecorrection", "startlinefiller", "startlinenote", "startlinenumbering", "startlines", "startlinetable", "startlinetablebody", "startlinetablecell", "startlinetablehead", "startlocalfootnotes", "startlocalheadsetup", "startlocallinecorrection", "startlocalnotes", "startlocalsetups", "startlua", "startluacode", "startluaparameterset", "startluasetups", "startmakeup", "startmarginblock", "startmarginrule", "startmarkedcontent", "startmathalignment", "startmathcases", "startmathlabeltext", "startmathmatrix", "startmathmode", "startmathstyle", "startmatrices", "startmatrix", "startmaxaligned", "startmdformula", "startmidaligned", "startmiddlealigned", "startmiddlemakeup", "startmixedcolumns", "startmode", "startmodeset", "startmodule", "startmoduletestsection", "startmpformula", "startnamedsection", "startnamedsubformulas", "startnarrow", "startnarrower", "startnegative", "startnicelyfilledbox", "startnointerference", "startnotallmodes", "startnotext", "startnotmode", "startoperatortext", "startopposite", "startoutputstream", "startoverlay", "startoverprint", "startpacked", "startpagecomment", "startpagefigure", "startpagegrid", "startpagegridspan", "startpagelayout", "startpagemakeup", "startpar", "startparagraph", "startparagraphs", "startparagraphscell", "startparbuilder", "startpart", "startpath", "startplacechemical", "startplacefigure", "startplacefloat", "startplaceformula", "startplacegraphic", "startplaceintermezzo", "startplacelegend", "startplacepairedbox", "startplacetable", "startpositioning", "startpositionoverlay", "startpositive", "startpostponing", "startprefixtext", "startprocessassignmentcommand", "startprocessassignmentlist", "startprocesscommacommand", "startprocesscommalist", "startproduct", "startproject", "startprotect", "startprotectedcolors", "startpublication", "startpunctuation", "startquotation", "startquote", "startrandomized", "startrandomseed", "startrawsetups", "startreadingfile", "startreferenceprefix", "startregime", "startregister", "startreusableMPgraphic", "startrightaligned", "startscript", "startsdformula", "startsection", "startsectionblock", "startsectionblockenvironment", "startsectionlevel", "startsetups", "startshapebox", "startshift", "startsidebar", "startsimplecolumns", "startspecialitem", "startspeech", "startspformula", "startsplitformula", "startspread", "startstandardmakeup", "startstartstop", "startstaticMPfigure", "startstaticMPgraphic", "startstrictinspectnextcharacter", "startstructurepageregister", "startstrut", "startstyle", "startsubformulas", "startsubject", "startsubjectlevel", "startsubsection", "startsubsentence", "startsubstack", "startsubsubject", "startsubsubsection", "startsubsubsubject", "startsubsubsubsection", "startsubsubsubsubject", "startsubsubsubsubsection", "startsubsubsubsubsubject", "startsuffixtext", "startsymbolset", "starttable", "starttablehead", "starttables", "starttabletail", "starttabletext", "starttabulate", "starttabulatehead", "starttabulatetail", "starttagged", "starttaglabeltext", "starttexcode", "starttexdefinition", "starttext", "starttextbackground", "starttextbackgroundmanual", "starttextcolor", "starttextcolorintent", "starttextflow", "starttextmakeup", "starttextrule", "starttitle", "starttokens", "starttransparent", "starttypescript", "starttypescriptcollection", "starttyping", "startuniqueMPgraphic", "startuniqueMPpagegraphic", "startunittext", "startunpacked", "startusableMPgraphic", "startuseMPgraphic", "startusemathstyleparameter", "startusingbtxspecification", "startvbox", "startvboxregister", "startvboxtohbox", "startvboxtohboxseparator", "startviewerlayer", "startvtop", "startvtopregister", "startxcell", "startxcellgroup", "startxgroup", "startxmldisplayverbatim", "startxmlinlineverbatim", "startxmlraw", "startxmlsetups", "startxrow", "startxrowgroup", "startxtable", "startxtablebody", "startxtablefoot", "startxtablehead", "startxtablenext", "stligature", "stopJScode", "stopJSpreamble", "stopLUA", "stopMP", "stopMPclip", "stopMPcode", "stopMPdefinitions", "stopMPdrawing", "stopMPenvironment", "stopMPextensions", "stopMPinclusions", "stopMPinitializations", "stopMPpage", "stopMPpositiongraphic", "stopMPpositionmethod", "stopMPrun", "stopPARSEDXML", "stopTABLE", "stopTABLEbody", "stopTABLEfoot", "stopTABLEhead", "stopTABLEnext", "stopTC", "stopTD", "stopTDs", "stopTEX", "stopTEXpage", "stopTH", "stopTN", "stopTR", "stopTRs", "stopTX", "stopTY", "stopXML", "stopalign", "stopalignment", "stopallmodes", "stopappendices", "stoparrangedpages", "stopaside", "stopattachment", "stopbackground", "stopbackmatter", "stopbar", "stopbbordermatrix", "stopbitmapimage", "stopblockquote", "stopbodymatter", "stopbordermatrix", "stopboxedcolumns", "stopbtxlabeltext", "stopbtxrenderingdefinitions", "stopbuffer", "stopcases", "stopcatcodetable", "stopcenteraligned", "stopchapter", "stopcharacteralign", "stopcheckedfences", "stopchemical", "stopchemicaltext", "stopcollect", "stopcollecting", "stopcolor", "stopcolorintent", "stopcoloronly", "stopcolorset", "stopcolumns", "stopcolumnspan", "stopcombination", "stopcomment", "stopcomponent", "stopcontextcode", "stopcontextdefinitioncode", "stopctxfunction", "stopctxfunctiondefinition", "stopcurrentcolor", "stopcurrentlistentrywrapper", "stopdelimited", "stopdelimitedtext", "stopdisplaymath", "stopdmath", "stopdocument", "stopeffect", "stopelement", "stopembeddedxtable", "stopendnote", "stopendofline", "stopenvironment", "stopexceptions", "stopexpanded", "stopexpandedcollect", "stopextendedcatcodetable", "stopexternalfigurecollection", "stopfact", "stopfigure", "stopfiguretext", "stopfittingpage", "stopfixed", "stopfloatcombination", "stopfont", "stopfontclass", "stopfontsolution", "stopfootnote", "stopformula", "stopformulas", "stopframed", "stopframedcell", "stopframedcontent", "stopframedrow", "stopframedtable", "stopframedtext", "stopfrontmatter", "stopgoto", "stopgraphictext", "stopgridsnapping", "stophanging", "stophbox", "stophboxestohbox", "stophboxregister", "stophead", "stopheadtext", "stophelptext", "stophiding", "stophighlight", "stophyphenation", "stopimath", "stopindentation", "stopindentedtext", "stopinteraction", "stopinteractionmenu", "stopinterface", "stopintermezzotext", "stopintertext", "stopitem", "stopitemgroup", "stopitemgroupcolumns", "stopitemize", "stopknockout", "stoplabeltext", "stoplayout", "stopleftaligned", "stoplegend", "stopline", "stoplinealignment", "stoplinecorrection", "stoplinefiller", "stoplinenote", "stoplinenumbering", "stoplines", "stoplinetable", "stoplinetablebody", "stoplinetablecell", "stoplinetablehead", "stoplocalfootnotes", "stoplocalheadsetup", "stoplocallinecorrection", "stoplocalnotes", "stoplocalsetups", "stoplua", "stopluacode", "stopluaparameterset", "stopluasetups", "stopmakeup", "stopmarginblock", "stopmarginrule", "stopmarkedcontent", "stopmathalignment", "stopmathcases", "stopmathlabeltext", "stopmathmatrix", "stopmathmode", "stopmathstyle", "stopmatrices", "stopmatrix", "stopmaxaligned", "stopmdformula", "stopmidaligned", "stopmiddlealigned", "stopmiddlemakeup", "stopmixedcolumns", "stopmode", "stopmodeset", "stopmodule", "stopmoduletestsection", "stopmpformula", "stopnamedsection", "stopnamedsubformulas", "stopnarrow", "stopnarrower", "stopnegative", "stopnicelyfilledbox", "stopnointerference", "stopnotallmodes", "stopnotext", "stopnotmode", "stopoperatortext", "stopopposite", "stopoutputstream", "stopoverlay", "stopoverprint", "stoppacked", "stoppagecomment", "stoppagefigure", "stoppagegrid", "stoppagegridspan", "stoppagelayout", "stoppagemakeup", "stoppar", "stopparagraph", "stopparagraphs", "stopparagraphscell", "stopparbuilder", "stoppart", "stoppath", "stopplacechemical", "stopplacefigure", "stopplacefloat", "stopplaceformula", "stopplacegraphic", "stopplaceintermezzo", "stopplacelegend", "stopplacepairedbox", "stopplacetable", "stoppositioning", "stoppositionoverlay", "stoppositive", "stoppostponing", "stopprefixtext", "stopprocessassignmentcommand", "stopprocessassignmentlist", "stopprocesscommacommand", "stopprocesscommalist", "stopproduct", "stopproject", "stopprotect", "stopprotectedcolors", "stoppublication", "stoppunctuation", "stopquotation", "stopquote", "stoprandomized", "stoprandomseed", "stoprawsetups", "stopreadingfile", "stopreferenceprefix", "stopregime", "stopregister", "stopreusableMPgraphic", "stoprightaligned", "stopscript", "stopsdformula", "stopsection", "stopsectionblock", "stopsectionblockenvironment", "stopsectionlevel", "stopsetups", "stopshapebox", "stopshift", "stopsidebar", "stopsimplecolumns", "stopspecialitem", "stopspeech", "stopspformula", "stopsplitformula", "stopspread", "stopstandardmakeup", "stopstartstop", "stopstaticMPfigure", "stopstaticMPgraphic", "stopstrictinspectnextcharacter", "stopstructurepageregister", "stopstrut", "stopstyle", "stopsubformulas", "stopsubject", "stopsubjectlevel", "stopsubsection", "stopsubsentence", "stopsubstack", "stopsubsubject", "stopsubsubsection", "stopsubsubsubject", "stopsubsubsubsection", "stopsubsubsubsubject", "stopsubsubsubsubsection", "stopsubsubsubsubsubject", "stopsuffixtext", "stopsymbolset", "stoptable", "stoptablehead", "stoptables", "stoptabletail", "stoptabletext", "stoptabulate", "stoptabulatehead", "stoptabulatetail", "stoptagged", "stoptaglabeltext", "stoptexcode", "stoptexdefinition", "stoptext", "stoptextbackground", "stoptextbackgroundmanual", "stoptextcolor", "stoptextcolorintent", "stoptextflow", "stoptextmakeup", "stoptextrule", "stoptitle", "stoptokens", "stoptransparent", "stoptypescript", "stoptypescriptcollection", "stoptyping", "stopuniqueMPgraphic", "stopuniqueMPpagegraphic", "stopunittext", "stopunpacked", "stopusableMPgraphic", "stopuseMPgraphic", "stopusemathstyleparameter", "stopusingbtxspecification", "stopvbox", "stopvboxregister", "stopvboxtohbox", "stopvboxtohboxseparator", "stopviewerlayer", "stopvtop", "stopvtopregister", "stopxcell", "stopxcellgroup", "stopxgroup", "stopxmldisplayverbatim", "stopxmlinlineverbatim", "stopxmlraw", "stopxmlsetups", "stopxrow", "stopxrowgroup", "stopxtable", "stopxtablebody", "stopxtablefoot", "stopxtablehead", "stopxtablenext", "stretched", "strictdoifelsenextoptional", "strictdoifnextoptionalelse", "stripcharacter", "strippedcsname", "stripspaces", "structurelistuservariable", "structurenumber", "structuretitle", "structureuservariable", "structurevariable", "strut", "strutdp", "strutgap", "strutht", "struthtdp", "struttedbox", "strutwd", "style", "styleinstance", "subject", "subpagenumber", "subsection", "subsentence", "subset", "subseteq", "subseteqq", "subsetneq", "subsetneqq", "substituteincommalist", "subsubject", "subsubsection", "subsubsubject", "subsubsubsection", "subsubsubsubject", "subsubsubsubsection", "subsubsubsubsubject", "subtractfeature", "succ", "succapprox", "succcurlyeq", "succeq", "succeqq", "succnapprox", "succneq", "succneqq", "succnsim", "succsim", "suffixlanguage", "suffixtext", "sum", "supset", "supseteq", "supseteqq", "supsetneq", "supsetneqq", "surd", "surdradical", "swapcounts", "swapdimens", "swapface", "swapmacros", "swaptypeface", "swarrow", "switchstyleonly", "switchtobodyfont", "switchtocolor", "switchtointerlinespace", "symbol", "symbolreference", "synchronizeblank", "synchronizeindenting", "synchronizemarking", "synchronizeoutputstreams", "synchronizestrut", "synchronizewhitespace", "synctexblockfilename", "synctexresetfilename", "synctexsetfilename", "systemlog", "systemlogfirst", "systemloglast", "systemsetups", "tLeftarrow", "tLeftrightarrow", "tRightarrow", "tabulateautoline", "tabulateautorule", "tabulateline", "tabulaterule", "taggedctxcommand", "taggedlabeltexts", "taglabellanguage", "taglabeltext", "tau", "tbinom", "tbox", "tcaron", "tcedilla", "tcommaaccent", "tcurl", "tequal", "test", "testandsplitstring", "testcolumn", "testfeature", "testfeatureonce", "testpage", "testpageonly", "testpagesync", "testtokens", "tex", "texdefinition", "texsetup", "textAngstrom", "textacute", "textampersand", "textasciicircum", "textasciitilde", "textat", "textbackslash", "textbar", "textbottomcomma", "textbottomdot", "textbraceleft", "textbraceright", "textbreve", "textbrokenbar", "textbullet", "textcaron", "textcedilla", "textcelsius", "textcent", "textcircledP", "textcircumflex", "textcitation", "textcite", "textcomma", "textcontrolspace", "textcurrency", "textdag", "textddag", "textdegree", "textdiaeresis", "textdiv", "textdollar", "textdong", "textdotaccent", "textellipsis", "texteuro", "textflowcollector", "textfraction", "textgrave", "texthash", "texthorizontalbar", "texthungarumlaut", "texthyphen", "textkelvin", "textlognot", "textmacron", "textmath", "textmho", "textminus", "textmu", "textmultiply", "textnumero", "textogonek", "textohm", "textormathchar", "textounce", "textpercent", "textperiod", "textplus", "textpm", "textreference", "textring", "textrule", "textslash", "textsterling", "texttilde", "textunderscore", "textvisiblespace", "textyen", "thai", "thainumerals", "thefirstcharacter", "thenormalizedbodyfontsize", "therefore", "theremainingcharacters", "theta", "thickspace", "thinrule", "thinrules", "thinspace", "thirdoffivearguments", "thirdoffourarguments", "thirdofsixarguments", "thirdofthreearguments", "thirdofthreeunexpanded", "thook", "thookleftarrow", "thookrightarrow", "thorn", "threedigitrounding", "threeeighths", "threefifths", "threeperemspace", "threequarter", "threesuperior", "tibetannumerals", "tightlayer", "tilde", "times", "tinyfont", "title", "tlap", "tleftarrow", "tleftharpoondown", "tleftharpoonup", "tleftrightarrow", "tleftrightharpoons", "tmapsto", "to", "tochar", "tolinenote", "tooltip", "top", "topbox", "topleftbox", "toplinebox", "toprightbox", "topskippedbox", "tracecatcodetables", "tracedfontname", "traceoutputroutines", "tracepositions", "trademark", "translate", "transparencycomponents", "transparent", "trel", "triangle", "triangledown", "triangleleft", "triangleq", "triangleright", "trightarrow", "trightharpoondown", "trightharpoonup", "trightleftharpoons", "trightoverleftarrow", "triplebond", "tripleprime", "tripleverticalbar", "truefilename", "truefontname", "tstroke", "ttraggedright", "ttriplerel", "ttwoheadleftarrow", "ttwoheadrightarrow", "turnediota", "twodigitrounding", "twofifths", "twoheaddownarrow", "twoheadleftarrow", "twoheadrightarrow", "twoheadrightarrowtail", "twoheaduparrow", "twosuperior", "twothirds", "tx", "txx", "typ", "type", "typebuffer", "typedefinedbuffer", "typeface", "typefile", "typeinlinebuffer", "typescriptone", "typescriptprefix", "typescriptthree", "typescripttwo", "typesetbuffer", "typesetfile", "uacute", "ubreve", "ucaron", "ucircumflex", "uconvertnumber", "udiaeresis", "udiaeresisacute", "udiaeresiscaron", "udiaeresisgrave", "udiaeresismacron", "udotbelow", "udots", "udoublegrave", "uedcatcodecommand", "ugrave", "uhook", "uhorn", "uhornacute", "uhorndotbelow", "uhorngrave", "uhornhook", "uhorntilde", "uhungarumlaut", "uinvertedbreve", "ulcorner", "umacron", "undefinevalue", "undepthed", "underbar", "underbars", "underbrace", "underbracket", "underdash", "underdashes", "underdot", "underdots", "underleftarrow", "underparent", "underrandom", "underrandoms", "underrightarrow", "underset", "understrike", "understrikes", "undoassign", "unexpandeddocumentvariable", "unframed", "unhhbox", "unihex", "uniqueMPgraphic", "uniqueMPpagegraphic", "unit", "unitlanguage", "unitshigh", "unitslow", "unittext", "unknown", "unprotected", "unregisterhyphenationpattern", "unspaceafter", "unspaceargument", "unspaced", "unspacestring", "untexargument", "untexcommand", "uogonek", "upand", "uparrow", "updasharrow", "updownarrow", "updownarrowbar", "updownarrows", "upharpoonleft", "upharpoonright", "uplus", "uppercased", "uppercasestring", "upperleftdoubleninequote", "upperleftdoublesixquote", "upperleftsingleninequote", "upperleftsinglesixquote", "upperrightdoubleninequote", "upperrightdoublesixquote", "upperrightsingleninequote", "upperrightsinglesixquote", "upsilon", "upuparrows", "upwhitearrow", "urcorner", "uring", "url", "useJSscripts", "useMPenvironmentbuffer", "useMPgraphic", "useMPlibrary", "useMPrun", "useMPvariables", "useURL", "usealignparameter", "useblankparameter", "useblocks", "usebodyfont", "usebodyfontparameter", "usebtxdataset", "usebtxdefinitions", "usecitation", "usecolors", "usecomponent", "usedirectory", "usedummycolorparameter", "usedummystyleandcolor", "usedummystyleparameter", "useenvironment", "useexternaldocument", "useexternalfigure", "useexternalrendering", "useexternalsoundtrack", "usefigurebase", "usefile", "usegridparameter", "useindentingparameter", "useindentnextparameter", "useinterlinespaceparameter", "uselanguageparameter", "useluamodule", "usemathstyleparameter", "usemodule", "useproduct", "useprofileparameter", "useproject", "usereferenceparameter", "userpagenumber", "usesetupsparameter", "usestaticMPfigure", "usesubpath", "usesymbols", "usetexmodule", "usetypescript", "usetypescriptfile", "useurl", "usezipfile", "utfchar", "utflower", "utfupper", "utilde", "utilityregisterlength", "vDash", "varTheta", "varepsilon", "varkappa", "varnothing", "varphi", "varpi", "varrho", "varsigma", "vartheta", "vboxreference", "vdash", "vdots", "vec", "vee", "veebar", "veeeq", "verbatim", "verbatimstring", "verbosenumber", "version", "vert", "verticalgrowingbar", "verticalpositionbar", "veryraggedcenter", "veryraggedleft", "veryraggedright", "vglue", "viewerlayer", "vl", "vphantom", "vpos", "vsmash", "vsmashbox", "vsmashed", "vspace", "vspacing", "wcircumflex", "wdofstring", "wedge", "wedgeeq", "weekday", "whitearrowupfrombar", "widehat", "widetilde", "widthofstring", "widthspanningtext", "withoutpt", "word", "wordright", "words", "wordtonumber", "wp", "wr", "writebetweenlist", "writedatatolist", "writestatus", "writetolist", "xLeftarrow", "xLeftrightarrow", "xRightarrow", "xdefconvertedargument", "xequal", "xfrac", "xhookleftarrow", "xhookrightarrow", "xi", "xleftarrow", "xleftharpoondown", "xleftharpoonup", "xleftrightarrow", "xleftrightharpoons", "xmapsto", "xmladdindex", "xmlafterdocumentsetup", "xmlaftersetup", "xmlall", "xmlappenddocumentsetup", "xmlappendsetup", "xmlapplyselectors", "xmlatt", "xmlattdef", "xmlattribute", "xmlattributedef", "xmlbadinclusions", "xmlbeforedocumentsetup", "xmlbeforesetup", "xmlchainatt", "xmlchainattdef", "xmlchecknamespace", "xmlcommand", "xmlconcat", "xmlconcatrange", "xmlcontext", "xmlcount", "xmldefaulttotext", "xmldirectives", "xmldirectivesafter", "xmldirectivesbefore", "xmldisplayverbatim", "xmldoif", "xmldoifelse", "xmldoifelseempty", "xmldoifelseselfempty", "xmldoifelsetext", "xmldoifelsevalue", "xmldoifnot", "xmldoifnotselfempty", "xmldoifnottext", "xmldoifselfempty", "xmldoiftext", "xmlelement", "xmlfilter", "xmlfirst", "xmlflush", "xmlflushcontext", "xmlflushdocumentsetups", "xmlflushlinewise", "xmlflushpure", "xmlflushspacewise", "xmlflushtext", "xmlinclude", "xmlinclusion", "xmlinclusions", "xmlinfo", "xmlinjector", "xmlinlineprettyprint", "xmlinlineprettyprinttext", "xmlinlineverbatim", "xmlinstalldirective", "xmllast", "xmllastatt", "xmllastmatch", "xmllastpar", "xmlloadbuffer", "xmlloaddata", "xmlloaddirectives", "xmlloadfile", "xmlloadonly", "xmlmain", "xmlmapvalue", "xmlname", "xmlnamespace", "xmlnonspace", "xmlpar", "xmlparam", "xmlpath", "xmlpos", "xmlposition", "xmlprependdocumentsetup", "xmlprependsetup", "xmlprettyprint", "xmlprettyprinttext", "xmlprocessbuffer", "xmlprocessdata", "xmlprocessfile", "xmlpure", "xmlraw", "xmlrefatt", "xmlregistereddocumentsetups", "xmlregisteredsetups", "xmlregisterns", "xmlremapname", "xmlremapnamespace", "xmlremovedocumentsetup", "xmlremovesetup", "xmlresetdocumentsetups", "xmlresetinjectors", "xmlresetsetups", "xmlsave", "xmlsetatt", "xmlsetattribute", "xmlsetentity", "xmlsetfunction", "xmlsetinjectors", "xmlsetpar", "xmlsetparam", "xmlsetsetup", "xmlsetup", "xmlshow", "xmlsnippet", "xmlstrip", "xmlstripnolines", "xmlstripped", "xmlstrippednolines", "xmltag", "xmltexentity", "xmltext", "xmltobuffer", "xmltobufferverbose", "xmltofile", "xmlvalue", "xmlverbatim", "xrel", "xrightarrow", "xrightharpoondown", "xrightharpoonup", "xrightleftharpoons", "xrightoverleftarrow", "xsplitstring", "xtriplerel", "xtwoheadleftarrow", "xtwoheadrightarrow", "xxfrac", "xypos", "yacute", "ycircumflex", "ydiaeresis", "ydotbelow", "yen", "ygrave", "yhook", "ymacron", "ytilde", "zacute", "zcaron", "zdotaccent", "zerowidthnobreakspace", "zerowidthspace", "zeta", "zhook", "zstroke", "zwj", "zwnj" }, ["cs"]={ "Cisla", "Kap", "MESIC", "Rimskecislice", "SLOVA", "SLOVO", "Slova", "Slovo", "VSEDNIDEN", "Znak", "Znaky", "aktualnicislonadpisu", "aktualnidatum", "barevnalista", "barva", "cernalinka", "cernelinky", "cisla", "cislonadpisu", "cislorovnice", "cislostrany", "datum", "definuj", "definujakcent", "definujbarvu", "definujblok", "definujbloksekce", "definujbuffer", "definujfont", "definujformatodkazu", "definujhbox", "definujinterakcnimenu", "definujkombinovanyseznam", "definujkonverzi", "definujnadpis", "definujobrazeksymbol", "definujodkaz", "definujodstavce", "definujopis", "definujoramovani", "definujoramovanytext", "definujpaletu", "definujplvouciobjekt", "definujpodpole", "definujpole", "definujpopis", "definujpopisek", "definujprekryv", "definujprikaz", "definujprofil", "definujprogram", "definujprostredizakladnihofontu", "definujrejstrik", "definujsablonutabulky", "definujsekci", "definujseznam", "definujskupinubarev", "definujstartstop", "definujstyl", "definujstylfontu", "definujsymbol", "definujsynonumumfontu", "definujsynonyma", "definujtabelaci", "definujtext", "definujtrideni", "definujupravu", "definujvelikostpapiru", "definujvycet", "definujzakladnifont", "definujzasobnikpoli", "definujznaceni", "definujznak", "delkaseznamu", "externiobraz", "hlavnijazyk", "hodnotabarvy", "instalacejazyka", "interakcnilista", "interakcnitlacitka", "interaktivnimenu", "jazyk", "jdidolu", "jdina", "jdinabox", "jdinastranu", "klonujpole", "komponenta", "konvertujcislo", "kopirujpole", "korekcebilehomista", "matematika", "meritko", "mesic", "mezera", "mrizka", "nastavbarvu", "nastavbarvy", "nastavbilamista", "nastavblok", "nastavbloksekce", "nastavbuffer", "nastavcernelinky", "nastavcislonadpisu", "nastavcislostrany", "nastavcislovaniodstavcu", "nastavcislovaniradku", "nastavcislovanistran", "nastavcitaci", "nastavdeleniplvoucichobjektu", "nastavdelitko", "nastavdolnitexty", "nastavhorejsek", "nastavhornitexty", "nastavinterakci", "nastavinterakcnilistu", "nastavinterakcnimenu", "nastavinterakcniobrazovku", "nastavjazyk", "nastavkapitalky", "nastavkombinovanyseznam", "nastavkomentar", "nastavkomentarstrany", "nastavmarginalnilinky", "nastavmeziradkovoumezeru", "nastavnadpis", "nastavnadpisy", "nastavodkazovani", "nastavodsazovani", "nastavodstavce", "nastavopis", "nastavoramovanetexty", "nastavoramovani", "nastavorez", "nastavotoceni", "nastavpaletu", "nastavplvouciobjekt", "nastavplvouciobjekty", "nastavpodcislostrany", "nastavpole", "nastavpolozky", "nastavpopisek", "nastavpopisky", "nastavpozadi", "nastavprechodstrany", "nastavpreskok", "nastavprogramy", "nastavradkovani", "nastavradky", "nastavrejstrik", "nastavrovnice", "nastavsadusymbolu", "nastavseznam", "nastavsirkucary", "nastavsloupce", "nastavspodek", "nastavsynonyma", "nastavtabelaci", "nastavtabulky", "nastavtenkelinky", "nastavtext", "nastavtextovelinky", "nastavtexttexty", "nastavtextyupati", "nastavtextyzahlavi", "nastavtoleranci", "nastavtrideni", "nastavtype", "nastavumisteniprotejsku", "nastavumistovani", "nastavupati", "nastavupravu", "nastavurl", "nastavusporadani", "nastavvelikostpapiru", "nastavvsechnapole", "nastavvycty", "nastavvyplnovelinky", "nastavvyplnoveradky", "nastavvzhled", "nastavzahlavi", "nastavzakladnifont", "nastavzarovnani", "nastavznaceni", "nastavzuzeni", "nastrane", "nejakyradek", "nekde", "neznamo", "nivy", "nizky", "nokap", "obrazovka", "odkaz", "odkaznastranu", "odkaznatext", "odkazujici", "opis", "opissoubor", "oramovani", "oref", "orez", "otocit", "oznaceni", "pis", "plnezneni", "pole", "polozka", "polozky", "porovnejpaletu", "porovnejskupinubarev", "pozadi", "pozice", "poznamka", "pref", "prelozit", "prepninazakladnifont", "preskoc", "prizpusobivepole", "prizpusobvzhled", "produkt", "projekt", "prostredi", "resetznaceni", "rimskecislice", "rozdelplvouciobjekt", "roztazene", "schovejbloky", "sedabarva", "sloupec", "slovovpravo", "stanovcharakteristickuseznamu", "stanovcislonadpisu", "startbarva", "startinteraktivnimenu", "startjdina", "startkomponenta", "startmarginalnilinka", "startnadpis", "startoramovani", "startpolozka", "startpozadi", "startprodukt", "startprojekt", "startprostredi", "startpublikace", "startradek", "starttextovalinka", "startumistirovnici", "startzarovnanonastred", "startzarovnanovlevo", "startzarovnanovpravo", "startzhustene", "stopbarva", "stopinteraktivnimenu", "stopjdina", "stopkomponenta", "stopmarginalnilinka", "stopnadpis", "stoporamovani", "stoppolozka", "stoppozadi", "stopprodukt", "stopprojekt", "stopprostredi", "stoppublikace", "stopradek", "stoptextovalinka", "stopumistirovnici", "stopzarovnanonastred", "stopzarovnanovlevo", "stopzarovnanovpravo", "stopzhustene", "strana", "tecky", "tenkalinka", "tenkelinky", "textovalinka", "tlacitko", "tlacitkomenu", "tloustkacary", "tref", "tvrdamezera", "tvrdemezery", "ukazbarvu", "ukazmrizku", "ukaznastaveni", "ukazpaletu", "ukazpodpery", "ukazpostredizakladnihofontu", "ukazramecek", "ukazsadusymbolu", "ukazskupinubarev", "ukazupravu", "ukazvytisk", "ukazvzhled", "ukazzakladnifont", "umistikombinovanyseznam", "umistilokalnipoznamkypodcarou", "umistinadsebe", "umistinamrizku", "umistipodrovnici", "umistipoznamkypodcarou", "umistirejstrik", "umistirovnici", "umistiseznam", "umistivedlesebe", "umistizalozky", "urcicharakteristikurejstriku", "uzijJSscripts", "uzijURL", "uzijadresar", "uzijbloky", "uzijexternidokument", "uzijexterniobraz", "uzijexternizvuk", "uzijmodul", "uzijsymbol", "uzijurl", "verze", "vlasovalinka", "vradku", "vsedniden", "vyberbloky", "vyplnenytext", "vyplnovelinky", "vyplnovyradek", "vysoky", "zachovejbloky", "zadnamezera", "zadnehorniadolniradky", "zadnezahlaviaupati", "zalozka", "zapisdoseznamu", "zapismeziseznam", "zaramovani", "zarovnanonastred", "zarovnanovlevo", "zarovnanovpravo", "zasobnikpoli", "ziskejbuffer", "ziskejznaceni", "znaceni", "znak", "znaky", "zpracujbloky", "zrcadlit", "zref" }, ["de"]={ "Buchstabe", "Buchstaben", "Kap", "MONAT", "Roemischezahlen", "WOCHENTAG", "WOERTER", "WORT", "Woerter", "Wort", "Ziffern", "amgitterausrichten", "aufseite", "ausfuelltext", "ausschnitt", "bearbeitebloecke", "behaltebloecke", "bei", "bemerkung", "benutzeverzeichnis", "beschriftung", "bestimmekopfnummer", "bestimmelistencharakeristika", "bestimmeregistercharakteristika", "bildschirm", "blanko", "buchstabe", "buchstaben", "datum", "defineschriftsynonym", "definiereabbsymbol", "definiereabsaetze", "definiereabschnitt", "definiereabschnittsblock", "definiereakzent", "definierebefehl", "definierebeschreibung", "definierebeschriftung", "definiereblock", "definierefarbe", "definierefarbengruppe", "definierefeld", "definierefeldstapel", "definierefliesstext", "definierefliesstextumgebung", "definieregleitobjekt", "definierehbox", "definiereinteraktionsmenue", "definierekonversion", "definierelabel", "definiereliste", "definieren", "definierenummerierung", "definiereoverlay", "definierepalette", "definierepapierformat", "definiereprofil", "definiereprogramme", "definierepuffer", "definierereferenz", "definierereferenzformat", "definiereregister", "definiereschrift", "definiereschriftstil", "definieresortieren", "definierestartstop", "definierestil", "definieresubfeld", "definieresymbol", "definieresynonyme", "definieretabellenvorlage", "definieretabulator", "definieretext", "definieretippen", "definiereueberschrift", "definiereumbruch", "definiereumrahmt", "definiereumrahmtertext", "definierezeichen", "definierezusammengestellteliste", "drehen", "duennelinie", "duennerumriss", "einezeile", "externeabbildung", "farbbalken", "farbe", "farbewert", "feld", "feldstapel", "festesspatium", "format", "formelnummer", "gefuelltesrechteck", "gefuelltezeile", "gestreckt", "gitter", "graufarbe", "haarlinie", "hauptsprache", "heutigesdatum", "heutigeskopfnummer", "hintergrund", "hoch", "holebeschriftung", "holepuffer", "imumriss", "installieresprache", "interaktionsbalken", "interaktionsknopfe", "interaktionsmenue", "inzeile", "irgendwo", "keinekopfundfusszeilen", "keinspatium", "keinzeilenobenundunten", "klonierefeld", "knopf", "komponente", "konvertierezahl", "kopfnummer", "kopierefeld", "korrigierezwischenraum", "liniendicke", "linksbuendig", "listenlaenge", "mathematik", "menueknopf", "monat", "nachunten", "nokap", "notiz", "passelayoutan", "passendfeld", "platzierebookmarks", "platziereformel", "platzierefussnoten", "platziereliste", "platzierelokalefussnoten", "platzierenebeneinander", "platziereregister", "platziereuntereinander", "platziereunterformel", "platzierezusammengestellteliste", "pos", "posten", "produkt", "programm", "projekt", "punkt", "rechteck", "rechtecke", "rechtsbuendig", "referenz", "referieren", "roemischezahlen", "ruecksetztenbeschriftung", "schreibezurliste", "schreibezwischenliste", "seite", "seitenreferenz", "seitenummer", "settext", "spalte", "spatium", "spiegeln", "sprache", "startfarbe", "starthintergrund", "startinteraktionsmenue", "startkleinerdurchschuss", "startkomponente", "startkopf", "startlinksbuendig", "startmarginallinie", "startplatziereformel", "startpos", "startprodukt", "startprojekt", "startpublikation", "startrechtsbuendig", "starttextlinie", "startumgebung", "startumrahmt", "startzeile", "startzentriert", "startzu", "stelleabsaetzeein", "stelleabsatznummerierungein", "stelleabschnittsblockein", "stelleanordnenein", "stelleaufzaehlungenein", "stelleausrichtungein", "stelleausschnittein", "stellebeschreibungein", "stellebeschriftungein", "stellebilderunterschriftein", "stellebildunterschriftein", "stellebindestrichein", "stelleblankoein", "stelleblockein", "stelledrehenein", "stelleduennerumrissein", "stelleeinziehenein", "stelleengerein", "stellefarbeein", "stellefarbenein", "stellefeldein", "stellefelderin", "stellefliesstextein", "stelleformelnein", "stellefusszeileein", "stellefusszeilentextein", "stellegefuelltesrechteckein", "stellegefuelltezeileein", "stellegegenueberplatzierenein", "stellegleitobjekteein", "stellegleitobjektein", "stellehintergruendeein", "stellehintergrundein", "stelleinteraktionein", "stelleinteraktionsbalkenein", "stelleinteraktionsbildschirmein", "stelleinteraktionsmenueein", "stellekommentarein", "stellekopfzahlein", "stellekopfzeileein", "stellekopfzeilentextein", "stellelayoutein", "stellelinienbreiteein", "stellelisteein", "stellemarginallinieein", "stellenobenein", "stellepaletteein", "stellepapierformatein", "stelleplatziegeteiltegleitobjekt", "stellepositionierenein", "stellepostenein", "stelleprogrammein", "stellepufferein", "stellerechteckein", "stellereferenzierenein", "stelleregisterein", "stelleseitenkommentarein", "stelleseitennummerein", "stelleseitennummeriernungein", "stelleseitenuebergangein", "stellesortierenein", "stellespaltenein", "stellespatiumein", "stellespracheein", "stellesymbolsetein", "stellesynonymein", "stelletabellenein", "stelletabulatorein", "stelletextein", "stelletextobenein", "stelletexttexteein", "stelletextumrissein", "stelletextuntenein", "stelletipein", "stelletippenein", "stelletoleranzein", "stelleueberschriftein", "stelleueberschriftenein", "stelleumbruchein", "stelleumrahmtein", "stelleumrahmtetexteein", "stelleuntenein", "stelleunterseitennummerein", "stelleurlein", "stelleversalienein", "stellezeilenabstandein", "stellezeilenein", "stellezeilennumerierungein", "stellezitierenein", "stellezusammengestelltelisteein", "stellezwischenraumein", "stopfarbe", "stophintergrund", "stopinteraktionsmenue", "stopkleinerdurchschuss", "stopkomponente", "stopkopf", "stoplinksbuendig", "stopmarginallinie", "stopplatziereformel", "stoppos", "stopprodukt", "stopprojekt", "stoppublikation", "stoprechtsbuendig", "stoptextlinie", "stopumgebung", "stopumrahmt", "stopzeile", "stopzentriert", "stopzu", "teilegleitobjekt", "textlinie", "textreferenz", "tief", "tiho", "tip", "tippedatei", "tippen", "tippepuffer", "ueber", "uebersetzten", "umgebung", "umrahmt", "unbekant", "verbergebloecke", "vergleichefarbengruppe", "vergleichepalette", "verwendeJSscript", "verwendeURL", "verwendebloecke", "verwendeexteresdokument", "verwendeexterneabbildung", "verwendeexternestonstueck", "verwendemodul", "verwendesymbole", "verwendeurl", "volleswort", "von", "waehlebloeckeaus", "wechselezumfliesstext", "wochentag", "wortrechts", "zeigedruck", "zeigeeinstellungen", "zeigefarbe", "zeigefarbengruppe", "zeigefliesstext", "zeigefliesstextumgebung", "zeigegitter", "zeigelayout", "zeigepalette", "zeigerahmen", "zeigestruts", "zeigeumbruch", "zentriert", "ziffern", "zu", "zurbox", "zurseite" }, ["en"]={}, diff --git a/context/data/textadept/context/data/scite-context-data-tex.lua b/context/data/textadept/context/data/scite-context-data-tex.lua index c0bce17d4..31cb6e4fb 100644 --- a/context/data/textadept/context/data/scite-context-data-tex.lua +++ b/context/data/textadept/context/data/scite-context-data-tex.lua @@ -1,7 +1,7 @@ return { ["aleph"]={ "Alephminorversion", "Alephrevision", "Alephversion" }, ["etex"]={ "botmarks", "clubpenalties", "currentgrouplevel", "currentgrouptype", "currentifbranch", "currentiflevel", "currentiftype", "detokenize", "dimexpr", "displaywidowpenalties", "eTeXVersion", "eTeXminorversion", "eTeXrevision", "eTeXversion", "everyeof", "firstmarks", "fontchardp", "fontcharht", "fontcharic", "fontcharwd", "glueexpr", "glueshrink", "glueshrinkorder", "gluestretch", "gluestretchorder", "gluetomu", "ifcsname", "ifdefined", "iffontchar", "interactionmode", "interlinepenalties", "lastlinefit", "lastnodetype", "marks", "muexpr", "mutoglue", "numexpr", "pagediscards", "parshapedimen", "parshapeindent", "parshapelength", "predisplaydirection", "protected", "readline", "savinghyphcodes", "savingvdiscards", "scantokens", "showgroups", "showifs", "showtokens", "splitbotmarks", "splitdiscards", "splitfirstmarks", "topmarks", "tracingassigns", "tracinggroups", "tracingifs", "tracingnesting", "tracingscantokens", "unexpanded", "unless", "widowpenalties" }, - ["luatex"]={ "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharnum", "Umathcharnumdef", "Umathcharslot", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathconnectoroverlapmin", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathinnerbinspacing", "Umathinnerclosespacing", "Umathinnerinnerspacing", "Umathinneropenspacing", "Umathinneropspacing", "Umathinnerordspacing", "Umathinnerpunctspacing", "Umathinnerrelspacing", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathnolimitsubfactor", "Umathnolimitsupfactor", "Umathopbinspacing", "Umathopclosespacing", "Umathopenbinspacing", "Umathopenclosespacing", "Umathopeninnerspacing", "Umathopenopenspacing", "Umathopenopspacing", "Umathopenordspacing", "Umathopenpunctspacing", "Umathopenrelspacing", "Umathoperatorsize", "Umathopinnerspacing", "Umathopopenspacing", "Umathopopspacing", "Umathopordspacing", "Umathoppunctspacing", "Umathoprelspacing", "Umathordbinspacing", "Umathordclosespacing", "Umathordinnerspacing", "Umathordopenspacing", "Umathordopspacing", "Umathordordspacing", "Umathordpunctspacing", "Umathordrelspacing", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervgap", "Umathpunctbinspacing", "Umathpunctclosespacing", "Umathpunctinnerspacing", "Umathpunctopenspacing", "Umathpunctopspacing", "Umathpunctordspacing", "Umathpunctpunctspacing", "Umathpunctrelspacing", "Umathquad", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalkern", "Umathradicalrule", "Umathradicalvgap", "Umathrelbinspacing", "Umathrelclosespacing", "Umathrelinnerspacing", "Umathrelopenspacing", "Umathrelopspacing", "Umathrelordspacing", "Umathrelpunctspacing", "Umathrelrelspacing", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Unosubscript", "Unosuperscript", "Uoverdelimiter", "Uradical", "Uroot", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Uunderdelimiter", "Uvextensible", "adjustspacing", "alignmark", "aligntab", "attribute", "attributedef", "automaticdiscretionary", "automatichyphenmode", "automatichyphenpenalty", "begincsname", "bodydir", "bodydirection", "boxdir", "boxdirection", "breakafterdirmode", "catcodetable", "clearmarks", "copyfont", "compoundhyphenmode", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "draftmode", "dviextension", "dvifeedback", "dvivariable", "efcode", "etoksapp", "etokspre", "expanded", "expandglyphsinfont", "explicitdiscretionary", "explicithyphenpenalty", "fontid", "formatname", "gleaders", "hjcode", "hyphenationbounds", "hyphenationmin", "hyphenpenaltymode", "ifabsdim", "ifabsnum", "ifincsname", "ifprimitive", "ignoreligaturesinfont", "initcatcodetable", "insertht", "lastnamedcs", "lastsavedboxresourceindex", "lastsavedimageresourceindex", "lastsavedimageresourcepages", "lastxpos", "lastypos", "latelua", "leftghost", "leftmarginkern", "letcharcode", "letterspacefont", "linedir", "linedirection", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "lpcode", "luaescapestring", "luafunction", "luatexbanner", "luatexrevision", "luatexversion", "mathdelimitersmode", "mathdir", "mathdirection", "mathdisplayskipmode", "matheqnogapstep", "mathitalicsmode", "mathnolimitsmode", "mathoption", "mathpenaltiesmode", "mathrulesfam", "mathrulesmode", "mathscriptsmode", "mathscriptboxmode", "mathstyle", "mathsurroundmode", "mathsurroundskip", "nohrule", "nokerns", "noligs", "normaldeviate", "nospaces", "novrule", "outputbox", "outputmode", "pagebottomoffset", "pagedir", "pagedirection", "pageheight", "pageleftoffset", "pagerightoffset", "pagetopoffset", "pagewidth", "pardir", "pardirection", "pdfextension", "pdffeedback", "pdfvariable", "postexhyphenchar", "posthyphenchar", "prebinoppenalty", "predisplaygapfactor", "preexhyphenchar", "prehyphenchar", "prerelpenalty", "primitive", "protrudechars", "pxdimen", "quitvmode", "randomseed", "rightghost", "rightmarginkern", "rpcode", "saveboxresource", "savecatcodetable", "saveimageresource", "savepos", "scantextokens", "setfontid", "setrandomseed", "shapemode", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressmathparerror", "suppressoutererror", "suppressprimitiveerror", "synctex", "tagcode", "textdir", "textdirection", "toksapp", "tokspre", "tracingfonts", "uniformdeviate", "useboxresource", "useimageresource" }, + ["luatex"]={ "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharnum", "Umathcharnumdef", "Umathcharslot", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathconnectoroverlapmin", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathinnerbinspacing", "Umathinnerclosespacing", "Umathinnerinnerspacing", "Umathinneropenspacing", "Umathinneropspacing", "Umathinnerordspacing", "Umathinnerpunctspacing", "Umathinnerrelspacing", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathnolimitsubfactor", "Umathnolimitsupfactor", "Umathopbinspacing", "Umathopclosespacing", "Umathopenbinspacing", "Umathopenclosespacing", "Umathopeninnerspacing", "Umathopenopenspacing", "Umathopenopspacing", "Umathopenordspacing", "Umathopenpunctspacing", "Umathopenrelspacing", "Umathoperatorsize", "Umathopinnerspacing", "Umathopopenspacing", "Umathopopspacing", "Umathopordspacing", "Umathoppunctspacing", "Umathoprelspacing", "Umathordbinspacing", "Umathordclosespacing", "Umathordinnerspacing", "Umathordopenspacing", "Umathordopspacing", "Umathordordspacing", "Umathordpunctspacing", "Umathordrelspacing", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervgap", "Umathpunctbinspacing", "Umathpunctclosespacing", "Umathpunctinnerspacing", "Umathpunctopenspacing", "Umathpunctopspacing", "Umathpunctordspacing", "Umathpunctpunctspacing", "Umathpunctrelspacing", "Umathquad", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalkern", "Umathradicalrule", "Umathradicalvgap", "Umathrelbinspacing", "Umathrelclosespacing", "Umathrelinnerspacing", "Umathrelopenspacing", "Umathrelopspacing", "Umathrelordspacing", "Umathrelpunctspacing", "Umathrelrelspacing", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Unosubscript", "Unosuperscript", "Uoverdelimiter", "Uradical", "Uroot", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Uunderdelimiter", "Uvextensible", "adjustspacing", "alignmark", "aligntab", "attribute", "attributedef", "automaticdiscretionary", "automatichyphenmode", "automatichyphenpenalty", "begincsname", "bodydir", "bodydirection", "boxdir", "boxdirection", "breakafterdirmode", "catcodetable", "clearmarks", "copyfont", "compoundhyphenmode", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "draftmode", "dviextension", "dvifeedback", "dvivariable", "efcode", "etoksapp", "etokspre", "expanded", "expandglyphsinfont", "explicitdiscretionary", "explicithyphenpenalty", "fontid", "formatname", "gleaders", "hjcode", "hyphenationbounds", "hyphenationmin", "hyphenpenaltymode", "ifabsdim", "ifabsnum", "ifincsname", "ifprimitive", "ignoreligaturesinfont", "initcatcodetable", "insertht", "lastnamedcs", "lastsavedboxresourceindex", "lastsavedimageresourceindex", "lastsavedimageresourcepages", "lastxpos", "lastypos", "latelua", "leftghost", "leftmarginkern", "letcharcode", "letterspacefont", "linedir", "linedirection", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "lpcode", "luaescapestring", "luafunction", "luafunctioncall", "luatexbanner", "luatexrevision", "luatexversion", "mathdelimitersmode", "mathdir", "mathdirection", "mathdisplayskipmode", "matheqnogapstep", "mathitalicsmode", "mathnolimitsmode", "mathoption", "mathpenaltiesmode", "mathrulesfam", "mathrulesmode", "mathscriptsmode", "mathscriptboxmode", "mathstyle", "mathsurroundmode", "mathsurroundskip", "nohrule", "nokerns", "noligs", "normaldeviate", "nospaces", "novrule", "outputbox", "outputmode", "pagebottomoffset", "pagedir", "pagedirection", "pageheight", "pageleftoffset", "pagerightoffset", "pagetopoffset", "pagewidth", "pardir", "pardirection", "pdfextension", "pdffeedback", "pdfvariable", "postexhyphenchar", "posthyphenchar", "prebinoppenalty", "predisplaygapfactor", "preexhyphenchar", "prehyphenchar", "prerelpenalty", "primitive", "protrudechars", "pxdimen", "quitvmode", "randomseed", "rightghost", "rightmarginkern", "rpcode", "saveboxresource", "savecatcodetable", "saveimageresource", "savepos", "scantextokens", "setfontid", "setrandomseed", "shapemode", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressmathparerror", "suppressoutererror", "suppressprimitiveerror", "synctex", "tagcode", "textdir", "textdirection", "toksapp", "tokspre", "tracingfonts", "uniformdeviate", "useboxresource", "useimageresource" }, ["omega"]={ "Omegaminorversion", "Omegarevision", "Omegaversion" }, ["pdftex"]={ "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "pdfadjustspacing", "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit", "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate", "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode", "pdfeachlinedepth", "pdfeachlineheight", "pdfendlink", "pdfendthread", "pdffirstlineheight", "pdffontattr", "pdffontexpand", "pdffontname", "pdffontobjnum", "pdffontsize", "pdfgamma", "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin", "pdfignoreddimen", "pdfignoreunknownimages", "pdfimageaddfilename", "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor", "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts", "pdfinclusionerrorlevel", "pdfinfo", "pdfinfoomitdate", "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink", "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagepages", "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral", "pdfmapfile", "pdfmapline", "pdfmajorversion", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkfixeddpi", "pdfpkmode", "pdfpkresolution", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrefobj", "pdfrefxform", "pdfrefximage", "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos", "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread", "pdfsuppressoptionalinfo", "pdfsuppressptexinfo", "pdftexbanner", "pdftexrevision", "pdftexversion", "pdfthread", "pdfthreadmargin", "pdftracingfonts", "pdftrailer", "pdftrailerid", "pdfuniformdeviate", "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr", "pdfxformmargin", "pdfxformname", "pdfxformresources", "pdfximage" }, ["tex"]={ " ", "-", "/", "Uleft", "Umiddle", "Uright", "above", "abovedisplayshortskip", "abovedisplayskip", "abovewithdelims", "accent", "adjdemerits", "advance", "afterassignment", "aftergroup", "atop", "atopwithdelims", "badness", "baselineskip", "batchmode", "begingroup", "belowdisplayshortskip", "belowdisplayskip", "binoppenalty", "botmark", "boundary", "box", "boxmaxdepth", "brokenpenalty", "catcode", "char", "chardef", "cleaders", "closein", "closeout", "clubpenalty", "copy", "count", "countdef", "cr", "crcr", "csname", "csstring", "day", "deadcycles", "def", "defaulthyphenchar", "defaultskewchar", "delcode", "delimiter", "delimiterfactor", "delimitershortfall", "dimen", "dimendef", "directlua", "discretionary", "displayindent", "displaylimits", "displaystyle", "displaywidowpenalty", "displaywidth", "divide", "doublehyphendemerits", "dp", "dump", "edef", "else", "emergencystretch", "end", "endcsname", "endgroup", "endinput", "endlinechar", "eqno", "errhelp", "errmessage", "errorcontextlines", "errorstopmode", "escapechar", "everycr", "everydisplay", "everyhbox", "everyjob", "everymath", "everypar", "everyvbox", "exhyphenchar", "exhyphenpenalty", "expandafter", "fam", "fi", "finalhyphendemerits", "firstmark", "firstvalidlanguage", "floatingpenalty", "font", "fontdimen", "fontname", "futurelet", "gdef", "global", "globaldefs", "halign", "hangafter", "hangindent", "hbadness", "hbox", "hfil", "hfill", "hfilneg", "hfuzz", "hoffset", "holdinginserts", "hpack", "hrule", "hsize", "hskip", "hss", "ht", "hyphenation", "hyphenchar", "hyphenpenalty", "if", "ifcase", "ifcat", "ifdim", "ifeof", "iffalse", "ifhbox", "ifhmode", "ifinner", "ifmmode", "ifnum", "ifodd", "iftrue", "ifvbox", "ifvmode", "ifvoid", "ifx", "ignorespaces", "immediate", "indent", "input", "inputlineno", "insert", "insertpenalties", "interlinepenalty", "jobname", "kern", "language", "lastbox", "lastkern", "lastpenalty", "lastskip", "lccode", "leaders", "left", "lefthyphenmin", "leftskip", "leqno", "let", "limits", "linepenalty", "lineskip", "lineskiplimit", "long", "looseness", "lower", "lowercase", "mag", "mark", "mathaccent", "mathbin", "mathchar", "mathchardef", "mathchoice", "mathclose", "mathcode", "mathinner", "mathop", "mathopen", "mathord", "mathpunct", "mathrel", "mathsurround", "maxdeadcycles", "maxdepth", "meaning", "medmuskip", "message", "middle", "mkern", "month", "moveleft", "moveright", "mskip", "multiply", "muskip", "muskipdef", "newlinechar", "noalign", "noboundary", "noexpand", "noindent", "nolimits", "nonscript", "nonstopmode", "nulldelimiterspace", "nullfont", "number", "omit", "openin", "openout", "or", "outer", "output", "outputpenalty", "over", "overfullrule", "overline", "overwithdelims", "pagedepth", "pagefilllstretch", "pagefillstretch", "pagefilstretch", "pagegoal", "pageshrink", "pagestretch", "pagetotal", "par", "parfillskip", "parindent", "parshape", "parskip", "patterns", "pausing", "penalty", "postdisplaypenalty", "predisplaypenalty", "predisplaysize", "pretolerance", "prevdepth", "prevgraf", "protrusionboundary", "radical", "raise", "read", "relax", "relpenalty", "right", "righthyphenmin", "rightskip", "romannumeral", "scriptfont", "scriptscriptfont", "scriptscriptstyle", "scriptspace", "scriptstyle", "scrollmode", "setbox", "setlanguage", "sfcode", "shipout", "show", "showbox", "showboxbreadth", "showboxdepth", "showlists", "showthe", "skewchar", "skip", "skipdef", "spacefactor", "spaceskip", "span", "special", "splitbotmark", "splitfirstmark", "splitmaxdepth", "splittopskip", "string", "tabskip", "textfont", "textstyle", "the", "thickmuskip", "thinmuskip", "time", "toks", "toksdef", "tolerance", "topmark", "topskip", "tpack", "tracingcommands", "tracinglostchars", "tracingmacros", "tracingonline", "tracingoutput", "tracingpages", "tracingparagraphs", "tracingrestores", "tracingstats", "uccode", "uchyph", "underline", "unhbox", "unhcopy", "unkern", "unpenalty", "unskip", "unvbox", "unvcopy", "uppercase", "vadjust", "valign", "vbadness", "vbox", "vcenter", "vfil", "vfill", "vfilneg", "vfuzz", "voffset", "vpack", "vrule", "vsize", "vskip", "vsplit", "vss", "vtop", "wd", "widowpenalty", "wordboundary", "write", "xdef", "xleaders", "xspaceskip", "year" }, diff --git a/doc/context/documents/general/manuals/luatex.pdf b/doc/context/documents/general/manuals/luatex.pdf index b9925775e..0d7adafbe 100644 Binary files a/doc/context/documents/general/manuals/luatex.pdf and b/doc/context/documents/general/manuals/luatex.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-cs.pdf b/doc/context/documents/general/qrcs/setup-cs.pdf index 7f73888b2..76108aa59 100644 Binary files a/doc/context/documents/general/qrcs/setup-cs.pdf and b/doc/context/documents/general/qrcs/setup-cs.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-de.pdf b/doc/context/documents/general/qrcs/setup-de.pdf index e95f798bf..958c189ec 100644 Binary files a/doc/context/documents/general/qrcs/setup-de.pdf and b/doc/context/documents/general/qrcs/setup-de.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-en.pdf b/doc/context/documents/general/qrcs/setup-en.pdf index 7b808f8da..6ff801846 100644 Binary files a/doc/context/documents/general/qrcs/setup-en.pdf and b/doc/context/documents/general/qrcs/setup-en.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-fr.pdf b/doc/context/documents/general/qrcs/setup-fr.pdf index 7e82d88c9..195cd6411 100644 Binary files a/doc/context/documents/general/qrcs/setup-fr.pdf and b/doc/context/documents/general/qrcs/setup-fr.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-it.pdf b/doc/context/documents/general/qrcs/setup-it.pdf index fcecfbcac..900b697dd 100644 Binary files a/doc/context/documents/general/qrcs/setup-it.pdf and b/doc/context/documents/general/qrcs/setup-it.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-mapping-cs.pdf b/doc/context/documents/general/qrcs/setup-mapping-cs.pdf index 285347420..2b1369ae7 100644 Binary files a/doc/context/documents/general/qrcs/setup-mapping-cs.pdf and b/doc/context/documents/general/qrcs/setup-mapping-cs.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-mapping-de.pdf b/doc/context/documents/general/qrcs/setup-mapping-de.pdf index 56f7170da..cabb087fb 100644 Binary files a/doc/context/documents/general/qrcs/setup-mapping-de.pdf and b/doc/context/documents/general/qrcs/setup-mapping-de.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-mapping-en.pdf b/doc/context/documents/general/qrcs/setup-mapping-en.pdf index b9a6da180..33331d9e4 100644 Binary files a/doc/context/documents/general/qrcs/setup-mapping-en.pdf and b/doc/context/documents/general/qrcs/setup-mapping-en.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-mapping-fr.pdf b/doc/context/documents/general/qrcs/setup-mapping-fr.pdf index 98c96cd82..0dbd7a847 100644 Binary files a/doc/context/documents/general/qrcs/setup-mapping-fr.pdf and b/doc/context/documents/general/qrcs/setup-mapping-fr.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-mapping-it.pdf b/doc/context/documents/general/qrcs/setup-mapping-it.pdf index fefbe6ceb..9d59690de 100644 Binary files a/doc/context/documents/general/qrcs/setup-mapping-it.pdf and b/doc/context/documents/general/qrcs/setup-mapping-it.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-mapping-nl.pdf b/doc/context/documents/general/qrcs/setup-mapping-nl.pdf index b60af34d4..ca4ac5581 100644 Binary files a/doc/context/documents/general/qrcs/setup-mapping-nl.pdf and b/doc/context/documents/general/qrcs/setup-mapping-nl.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-mapping-ro.pdf b/doc/context/documents/general/qrcs/setup-mapping-ro.pdf index c66413500..50d22528f 100644 Binary files a/doc/context/documents/general/qrcs/setup-mapping-ro.pdf and b/doc/context/documents/general/qrcs/setup-mapping-ro.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-nl.pdf b/doc/context/documents/general/qrcs/setup-nl.pdf index 5fbbd909d..ed1eeec04 100644 Binary files a/doc/context/documents/general/qrcs/setup-nl.pdf and b/doc/context/documents/general/qrcs/setup-nl.pdf differ diff --git a/doc/context/documents/general/qrcs/setup-ro.pdf b/doc/context/documents/general/qrcs/setup-ro.pdf index 9e5810ceb..c1530f75d 100644 Binary files a/doc/context/documents/general/qrcs/setup-ro.pdf and b/doc/context/documents/general/qrcs/setup-ro.pdf differ diff --git a/doc/context/sources/general/manuals/hybrid/hybrid-grouping.tex b/doc/context/sources/general/manuals/hybrid/hybrid-grouping.tex index 44018e746..c95186c99 100644 --- a/doc/context/sources/general/manuals/hybrid/hybrid-grouping.tex +++ b/doc/context/sources/general/manuals/hybrid/hybrid-grouping.tex @@ -25,7 +25,7 @@ keywords=, author=Hans Hagen, address=PRAGMA ADE\\Ridderstraat 27\\8061GH Hasselt NL, - email=pragma@wxs.nl] + email=pragma@xs4all.nl] % % we use a buffer as abstract themselves are buffers and % inside macros we loose line endings and such diff --git a/doc/context/sources/general/manuals/hybrid/hybrid-parbuilder.tex b/doc/context/sources/general/manuals/hybrid/hybrid-parbuilder.tex index 06519b2fb..cceac6d55 100644 --- a/doc/context/sources/general/manuals/hybrid/hybrid-parbuilder.tex +++ b/doc/context/sources/general/manuals/hybrid/hybrid-parbuilder.tex @@ -28,7 +28,7 @@ keywords=, author=Hans Hagen, address=PRAGMA ADE\\Ridderstraat 27\\8061GH Hasselt NL, - email=pragma@wxs.nl] + email=pragma@xs4all.nl] % % we use a buffer as abstract themselves are buffers and % inside macros we loose line endings and such diff --git a/doc/context/sources/general/manuals/languages/languages-sorting.tex b/doc/context/sources/general/manuals/languages/languages-sorting.tex index ce24f385c..956866e5d 100644 --- a/doc/context/sources/general/manuals/languages/languages-sorting.tex +++ b/doc/context/sources/general/manuals/languages/languages-sorting.tex @@ -230,6 +230,72 @@ This three entry index\jindex{ぱあ}\jindex{ぱー}\jindex{ぱぁ} should be so % ぱー $\prec$ ぱぁ $\prec$ ぱあ +\startsection[title=Special usage] + +The following example demonstrates how you can trick the sorter into doing other +things: \footnote {The \type {replacementlist} helper is the result of a request +by John Grasty on the mailing list.} + +\startbuffer +\startluacode + local list = { + -- old testament + "Genesis", "Exodus", "Leviticus", "Numbers", "Deuteronomy", "Joshua", + "Judges", "Ruth", "1 Samuel", "2 Samuel", "1 Kings", "2 Kings", + "1 Chronicles", "2 Chronicles", "Ezra", "Nehemiah", "Esther", "Job", + "Psalms", "Proverbs", "Ecclesiastes", "Canticles", "Isaiah", "Jeremiah", + "Lamentations", "Ezekiel", "Daniel", "Hosea", "Joel", "Amos", "Obadiah", + "Jonah", "Micah", "Nahum", "Habakkuk", "Zephaniah", "Haggai", + "Zechariah", "Malachi", + -- new testament + "Matthew", "Mark", "Luke", "John", "Acts", "Romans", "1 Corinthians", + "2 Corinthians", "Galatians", "Ephesians", "Philippians", "Colossians", + "1 Thessalonians", "2 Thessalonians", "1 Timothy", "2 Timothy", "Titus", + "Philemon", "Hebrews", "James", "1 Peter", "2 Peter", "1 John", "2 John", + "3 John", "Jude", "Revelation", + } + + sorters.definitions["bible"] = { + replacements = sorters.replacementlist(list), + } +\stopluacode + +\defineregister + [booksort] + [language=bible, + n=3, + criterium=text, + indicator=no] +\stopbuffer + +\typebuffer \getbuffer + +We use this as follows: + +\startbuffer +One \booksort{Genesis+5.2} +Two \booksort{Exodus+2} +Three \booksort{Genesis+45} +Four \booksort{Philemon+2} +Five \booksort{John+45} +Six \booksort{1 John 1+45} +Seven \booksort{2 John 2+45} + +\placeregister + [booksort] + [language=bible] +\stopbuffer + +\typebuffer + +which gives: + +\getbuffer + +\stoptext + +\stopsection + \stopchapter \stopcomponent diff --git a/doc/context/sources/general/manuals/luatex/luatex-enhancements.tex b/doc/context/sources/general/manuals/luatex/luatex-enhancements.tex index d1da33878..e0119bf7e 100644 --- a/doc/context/sources/general/manuals/luatex/luatex-enhancements.tex +++ b/doc/context/sources/general/manuals/luatex/luatex-enhancements.tex @@ -384,7 +384,7 @@ is easier to keep the code in a separate file and load it using \LUA's \directlua { dofile('mysetups.lua') } \stoptyping -\subsection{\type {\luafunction}} +\subsection{\type {\luafunction} and \type {\luafunctioncall}} The \type {\directlua} commands involves tokenization of its argument (after picking up an optional name or number specification). The tokenlist is then @@ -417,6 +417,9 @@ in the following example the number \type {8} gets typeset. } \stoptyping +The \type {\luafunctioncall} primitive does the same but is unexpandable, for instance +in an \type {\edef}. + \section {Alignments} \subsection{\tex {alignmark}} diff --git a/doc/context/sources/general/manuals/luatex/luatex.tex b/doc/context/sources/general/manuals/luatex/luatex.tex index 1d6f16f6a..3025788bf 100644 --- a/doc/context/sources/general/manuals/luatex/luatex.tex +++ b/doc/context/sources/general/manuals/luatex/luatex.tex @@ -2,6 +2,10 @@ % \disabledirectives[vspacing.synchronizepage] +% wsl /data/context/runcontext.sh --global --path=/mnt/c/data/develop/context/manuals/mkiv/external/luatex luatex.tex +% +% same runtime as regular context or linux + % author : Hans Hagen with Taco Hoekwater, Luigi Scarso & Hartmut Henkel % copyright : PRAGMA ADE & ConTeXt Development Team % license : Creative Commons Attribution ShareAlike 4.0 International diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv.tex b/doc/context/sources/general/manuals/xml/xml-mkiv.tex index 0f9c74662..8550badec 100644 --- a/doc/context/sources/general/manuals/xml/xml-mkiv.tex +++ b/doc/context/sources/general/manuals/xml/xml-mkiv.tex @@ -2347,7 +2347,7 @@ status information, using for instance: \stopxmlcmd \startxmlcmd {\cmdbasicsetup{xmlinfo}} - typeset the name if the element given by \cmdinternal {cd:node} + typeset the name in the element given by \cmdinternal {cd:node} \stopxmlcmd \startxmlcmd {\cmdbasicsetup{xmlpath}} diff --git a/scripts/context/lua/mtx-update.lua b/scripts/context/lua/mtx-update.lua index 20ca9ce27..6663be7a2 100644 --- a/scripts/context/lua/mtx-update.lua +++ b/scripts/context/lua/mtx-update.lua @@ -188,6 +188,8 @@ update.platforms = { ["linux-64"] = "linux-64", ["linux64"] = "linux-64", -- + ["linuxmusl-64"] = "linuxmusl-64", + -- ["linux-armhf"] = "linux-armhf", -- ["freebsd"] = "freebsd", diff --git a/scripts/context/lua/mtxlibs.lua b/scripts/context/lua/mtxlibs.lua index bb0e03b17..f6839eb9d 100644 --- a/scripts/context/lua/mtxlibs.lua +++ b/scripts/context/lua/mtxlibs.lua @@ -68,7 +68,7 @@ local owntree = ownpath local ownlibs = { "l-lua.lua", - "l-macros.lua", + "l-macro.lua", "l-sandbox.lua", "l-package.lua", "l-lpeg.lua", @@ -196,15 +196,13 @@ end local arguments = environment.arguments local files = environment.files -if file.basename(environment.ownname) ~= "mtxlibs.lua" then - return -end +local ownname = file.basename(environment.ownname) local helpinfo = [[ usage: mtxlibs [options] ---merge ---merge targetfile extralibs +--selfmerge +--selfmerge targetfile extralibs --selfclean and in a lua file: @@ -218,7 +216,19 @@ local application = logs.application { helpinfo = helpinfo, } -local report = application.report +local report = application.report + +if ownname == "mtxrun" or ownname == "mtxrun.lua" then + -- we're using mtxrun + ownname = "mtxlibs.lua" +elseif ownname == "mtxlibs" or ownname == "mtxlibs.lua" then + -- we're using lua + ownname = "mtxlibs.lua" +else + report("usage : lua mtxlibs.lua ...") + report(" : mtxrun --script mtxlibs.lua ...") + return +end if arguments.selfmerge then @@ -247,7 +257,7 @@ elseif arguments.selfclean then merger.selfclean(ownname) report("done") -elseif arguments.help or files[1] == "help" then +else -- if arguments.help or files[1] == "help" then application.help() diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua index 3374a364a..91528360a 100644 --- a/scripts/context/lua/mtxrun.lua +++ b/scripts/context/lua/mtxrun.lua @@ -195,7 +195,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-macro"] = package.loaded["l-macro"] or true --- original size: 6393, stripped down to: 3659 +-- original size: 8260, stripped down to: 5213 if not modules then modules={} end modules ['l-macros']={ version=1.001, @@ -207,7 +207,8 @@ if not modules then modules={} end modules ['l-macros']={ local S,P,R,V,C,Cs,Cc,Ct,Carg=lpeg.S,lpeg.P,lpeg.R,lpeg.V,lpeg.C,lpeg.Cs,lpeg.Cc,lpeg.Ct,lpeg.Carg local lpegmatch=lpeg.match local concat=table.concat -local next=next +local format,sub=string.format,string.sub +local next,load,type=next,load,type local newline=S("\n\r")^1 local continue=P("\\")*newline local spaces=S(" \t")+continue @@ -228,6 +229,14 @@ local patterns={} local definitions={} local resolve local subparser +local report_lua=function(...) + if logs and logs.reporter then + report_lua=logs.reporter("system","lua") + report_lua(...) + else + print(format(...)) + end +end resolve=C(C(name)*arguments^-1)/function(raw,s,a) local d=definitions[s] if d then @@ -334,6 +343,61 @@ end function macros.resolving() return next(patterns) end +local function loaded(name,trace,detail) + local f=io.open(name,"rb") + if not f then + return false,format("file '%s' not found",name) + end + local c=f:read("*a") + if not c then + return false,format("file '%s' is invalid",name) + end + f:close() + local n=lpegmatch(parser,c) + if trace then + if #n~=#c then + report_lua("macros expanded in '%s' (%i => %i bytes)",name,#c,#n) + if detail then + report_lua() + report_lua(n) + report_lua() + end + elseif detail then + report_lua("no macros expanded in '%s'",name) + end + end + if #name>30 then + n="--[["..sub(name,-30).."]] "..n + else + n="--[["..name.."]] "..n + end + return load(n) +end +macros.loaded=loaded +function required(name,trace) + local filename=file.addsuffix(name,"lua") + local fullname=resolvers and resolvers.find_file(filename) or filename + if not fullname or fullname=="" then + return false + end + local codeblob=package.loaded[fullname] + if codeblob then + return codeblob + end + local code,message=loaded(fullname,macros,trace,trace) + if type(code)=="function" then + code=code() + else + report_lua("error when loading '%s'",fullname) + return false,message + end + if code==nil then + code=false + end + package.loaded[fullname]=code + return code +end +macros.required=required end -- of closure @@ -609,7 +673,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-package"] = package.loaded["l-package"] or true --- original size: 11564, stripped down to: 8625 +-- original size: 11562, stripped down to: 8625 if not modules then modules={} end modules ['l-package']={ version=1.001, @@ -620,10 +684,10 @@ if not modules then modules={} end modules ['l-package']={ } local type=type local gsub,format,find=string.gsub,string.format,string.find +local insert,remove=table.insert,table.remove local P,S,Cs,lpegmatch=lpeg.P,lpeg.S,lpeg.Cs,lpeg.match local package=package local searchers=package.searchers or package.loaders -local insert,remove=table.insert,table.remove local filejoin=file and file.join or function(path,name) return path.."/"..name end local isreadable=file and file.is_readable or function(name) local f=io.open(name) if f then f:close() return true end end local addsuffix=file and file.addsuffix or function(name,suffix) return name.."."..suffix end @@ -1871,7 +1935,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-table"] = package.loaded["l-table"] or true --- original size: 40161, stripped down to: 23559 +-- original size: 40197, stripped down to: 23561 if not modules then modules={} end modules ['l-table']={ version=1.001, @@ -2783,10 +2847,10 @@ function table.reversed(t) return tt end end -function table.reverse(t) +function table.reverse(t) if t then local n=#t - for i=1,floor(n/2) do + for i=1,floor(n/2) do local j=n-i+1 t[i],t[j]=t[j],t[i] end @@ -6037,7 +6101,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-str"] = package.loaded["util-str"] or true --- original size: 38725, stripped down to: 21726 +-- original size: 38699, stripped down to: 22142 if not modules then modules={} end modules ['util-str']={ version=1.001, @@ -6051,13 +6115,15 @@ utilities.strings=utilities.strings or {} local strings=utilities.strings local format,gsub,rep,sub,find=string.format,string.gsub,string.rep,string.sub,string.find local load,dump=load,string.dump -local tonumber,type,tostring,next=tonumber,type,tostring,next +local tonumber,type,tostring,next,setmetatable=tonumber,type,tostring,next,setmetatable +local unpack,concat=table.unpack,table.concat local unpack,concat=table.unpack,table.concat local P,V,C,S,R,Ct,Cs,Cp,Carg,Cc=lpeg.P,lpeg.V,lpeg.C,lpeg.S,lpeg.R,lpeg.Ct,lpeg.Cs,lpeg.Cp,lpeg.Carg,lpeg.Cc local patterns,lpegmatch=lpeg.patterns,lpeg.match local utfchar,utfbyte,utflen=utf.char,utf.byte,utf.len local loadstripped=nil -if LUAVERSION<5.2 then +local oldfashioned=LUAVERSION<5.2 +if oldfashioned then loadstripped=function(str,shortcuts) return load(str) end @@ -6329,7 +6395,7 @@ local template=[[ return function(%s) return %s end ]] local preamble,environment="",{} -if LUAVERSION<5.2 then +if oldfashioned then preamble=[[ local lpeg=lpeg local type=type @@ -6376,7 +6442,7 @@ else sequenced=table.sequenced, formattednumber=number.formatted, sparseexponent=number.sparseexponent, - formattedfloat=number.formattedfloat + formattedfloat=number.formattedfloat, } end local arguments={ "a1" } @@ -6733,12 +6799,18 @@ local builder=Cs { "start", ["?"]=Cs(((1-P("%"))^1 )^1)/format_rest, ["!"]=Carg(2)*prefix_any*P("!")*C((1-P("!"))^1)*P("!")/format_extension, } -local direct=Cs ( - P("%")*(S("+- .")+R("09"))^0*S("sqidfgGeExXo")*P(-1)/[[local format = string.format return function(str) return format("%0",str) end]] -) +local xx=setmetatable({},{ __index=function(t,k) local v=format("%02x",k) t[k]=v return v end }) +local XX=setmetatable({},{ __index=function(t,k) local v=format("%02X",k) t[k]=v return v end }) +local preset={ + ["%02x"]=function(n) return xx[n] end, + ["%02X"]=function(n) return XX[n] end, +} +local direct=P("%")*(S("+- .")+R("09"))^0*S("sqidfgGeExXo")*P(-1)/[[local format = string.format return function(str) return format("%0",str) end]] local function make(t,str) - local f - local p + local f=preset[str] + if f then + return f + end local p=lpegmatch(direct,str) if p then f=loadstripped(p)() @@ -6759,7 +6831,7 @@ local function use(t,fmt,...) return t[fmt](...) end strings.formatters={} -if LUAVERSION<5.2 then +if oldfashioned then function strings.formatters.new(noconcat) local t={ _type_="formatter",_connector_=noconcat and "," or "..",_extensions_={},_preamble_=preamble,_environment_={} } setmetatable(t,{ __index=make,__call=use }) @@ -6796,7 +6868,7 @@ patterns.xmlescape=Cs((P("<")/"<"+P(">")/">"+P("&")/"&"+P('"')/"" patterns.texescape=Cs((C(S("#$%\\{}"))/"\\%1"+P(1))^0) patterns.luaescape=Cs(((1-S('"\n'))^1+P('"')/'\\"'+P('\n')/'\\n"')^0) patterns.luaquoted=Cs(Cc('"')*((1-S('"\n'))^1+P('"')/'\\"'+P('\n')/'\\n"')^0*Cc('"')) -if LUAVERSION<5.2 then +if oldfashioned then add(formatters,"xml",[[lpegmatch(xmlescape,%s)]],"local xmlescape = lpeg.patterns.xmlescape") add(formatters,"tex",[[lpegmatch(texescape,%s)]],"local texescape = lpeg.patterns.texescape") add(formatters,"lua",[[lpegmatch(luaescape,%s)]],"local luaescape = lpeg.patterns.luaescape") @@ -9200,7 +9272,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-log"] = package.loaded["trac-log"] or true --- original size: 32737, stripped down to: 22946 +-- original size: 32922, stripped down to: 23011 if not modules then modules={} end modules ['trac-log']={ version=1.001, @@ -9210,13 +9282,15 @@ if not modules then modules={} end modules ['trac-log']={ license="see context related readme files" } local next,type,select,print=next,type,select,print -local write_nl,write=texio and texio.write_nl or print,texio and texio.write or io.write local format,gmatch,find=string.format,string.gmatch,string.find local concat,insert,remove=table.concat,table.insert,table.remove local topattern=string.topattern local utfchar=utf.char local datetime=os.date local openfile=io.open +local runningtex=tex and (tex.jobname or tex.formatname) +local write_nl=runningtex and texio and texio.write_nl or print +local write=runningtex and texio and texio.write or io.write local setmetatableindex=table.setmetatableindex local formatters=string.formatters local settings_to_hash=utilities.parsers.settings_to_hash @@ -9243,7 +9317,7 @@ local function ignore() end setmetatableindex(logs,function(t,k) t[k]=ignore;return ignore end) local report,subreport,status,settarget,setformats,settranslations local direct,subdirect,writer,pushtarget,poptarget,setlogfile,settimedlog,setprocessor,setformatters,newline -if tex and (tex.jobname or tex.formatname) then +if runningtex then if texio.setescape then texio.setescape(0) end @@ -10091,7 +10165,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-inf"] = package.loaded["trac-inf"] or true --- original size: 8284, stripped down to: 5698 +-- original size: 8097, stripped down to: 5534 if not modules then modules={} end modules ['trac-inf']={ version=1.001, @@ -10205,10 +10279,7 @@ function statistics.show() register("control sequences",function() return format("%s of %s + %s",status.cs_count,status.hash_size,status.hash_extra) end) - register("callbacks",function() - local total,indirect=status.callbacks or 0,status.indirect_callbacks or 0 - return format("%s direct, %s indirect, %s total",total-indirect,indirect,total) - end) + register("callbacks",statistics.callbacks) if TEXENGINE=="luajittex" and JITSUPPORTED then local jitstatus=jit.status if jitstatus then @@ -10427,7 +10498,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-lua"] = package.loaded["util-lua"] or true --- original size: 6921, stripped down to: 4998 +-- original size: 6621, stripped down to: 4764 if not modules then modules={} end modules ['util-lua']={ version=1.001, @@ -10463,7 +10534,7 @@ luautilities.suffixes={ tua="tua", tuc="tuc", } -local function register(name) +local function register(name) if tracestripping then report_lua("stripped bytecode from %a",name or "unknown") end @@ -10491,17 +10562,12 @@ local function stupidcompile(luafile,lucfile,strip) end function luautilities.loadedluacode(fullname,forcestrip,name,macros) name=name or fullname - local code,message if macros then macros=lua.macros end - if macros and macros.enabled then - local f=io.open(fullname,"rb") local c=f:read("*a") f:close() - local n=c and macros.resolvestring("--[["..fullname.."]] "..c) - if n and #n~=#c then - report_lua("preprocessed file %a: %i => %i bytes",fullname,#c,#n) - end - code,message=load(n or c) + local code,message + if macros then + code,message=macros.loaded(fullname,true,false) else code,message=loadfile(fullname) end @@ -15602,7 +15668,7 @@ do -- create closure to overcome 200 locals limit package.loaded["lxml-xml"] = package.loaded["lxml-xml"] or true --- original size: 10412, stripped down to: 7669 +-- original size: 11096, stripped down to: 8243 if not modules then modules={} end modules ['lxml-xml']={ version=1.001, @@ -15621,6 +15687,9 @@ local xmltostring=xml.tostring local xmlserialize=xml.serialize local xmlcollected=xml.collected local xmlnewhandlers=xml.newhandlers +local reparsedentity=xml.reparsedentitylpeg +local unescapedentity=xml.unescapedentitylpeg +local parsedentity=reparsedentity local function first(collected) return collected and collected[1] end @@ -15903,6 +15972,24 @@ function xml.text(id,pattern) return "" end end +function xml.pure(id,pattern) + if pattern then + local collected=xmlfilter(id,pattern) + if collected and #collected>0 then + parsedentity=unescapedentity + local s=collected and #collected>0 and xmltotext(collected[1]) or "" + parsedentity=reparsedentity + return s + else + return "" + end + else + parsedentity=unescapedentity + local s=xmltotext(id) or "" + parsedentity=reparsedentity + return s + end +end xml.content=text function xml.position(id,pattern,n) return position(xmlfilter(id,pattern),n) @@ -21234,8 +21321,8 @@ end -- of closure -- used libraries : l-lua.lua l-macro.lua l-sandbox.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-tpl.lua util-sbx.lua util-mrg.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 : 874849 --- stripped bytes : 317531 +-- original bytes : 877106 +-- stripped bytes : 317575 -- end library merge diff --git a/scripts/context/stubs/install/first-setup.sh b/scripts/context/stubs/install/first-setup.sh index ea72d55d4..11af49233 100644 --- a/scripts/context/stubs/install/first-setup.sh +++ b/scripts/context/stubs/install/first-setup.sh @@ -60,7 +60,6 @@ case "$system" in FreeBSD|freebsd) case "$cpu" in i*86) platform="freebsd" ;; - x86_64) platform="freebsd" ;; # no special binaries are available yet amd64) platform="freebsd-amd64" ;; *) platform="unknown" ;; esac ;; @@ -71,15 +70,14 @@ case "$system" in #x86_64|amd64) platform="kfreebsd-amd64" ;; *) platform="unknown" ;; esac ;; - # cygwin # OpenBSD - OpenBSD|freebsd) + OpenBSD) case "$cpu" in i*86) platform="openbsd" ;; - x86_64) platform="openbsd" ;; # no special binaries are available yet amd64) platform="openbsd-amd64" ;; *) platform="unknown" ;; esac ;; + # cygwin CYGWIN*) case "$cpu" in i*86) platform="cygwin" ;; diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua index 3374a364a..91528360a 100644 --- a/scripts/context/stubs/mswin/mtxrun.lua +++ b/scripts/context/stubs/mswin/mtxrun.lua @@ -195,7 +195,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-macro"] = package.loaded["l-macro"] or true --- original size: 6393, stripped down to: 3659 +-- original size: 8260, stripped down to: 5213 if not modules then modules={} end modules ['l-macros']={ version=1.001, @@ -207,7 +207,8 @@ if not modules then modules={} end modules ['l-macros']={ local S,P,R,V,C,Cs,Cc,Ct,Carg=lpeg.S,lpeg.P,lpeg.R,lpeg.V,lpeg.C,lpeg.Cs,lpeg.Cc,lpeg.Ct,lpeg.Carg local lpegmatch=lpeg.match local concat=table.concat -local next=next +local format,sub=string.format,string.sub +local next,load,type=next,load,type local newline=S("\n\r")^1 local continue=P("\\")*newline local spaces=S(" \t")+continue @@ -228,6 +229,14 @@ local patterns={} local definitions={} local resolve local subparser +local report_lua=function(...) + if logs and logs.reporter then + report_lua=logs.reporter("system","lua") + report_lua(...) + else + print(format(...)) + end +end resolve=C(C(name)*arguments^-1)/function(raw,s,a) local d=definitions[s] if d then @@ -334,6 +343,61 @@ end function macros.resolving() return next(patterns) end +local function loaded(name,trace,detail) + local f=io.open(name,"rb") + if not f then + return false,format("file '%s' not found",name) + end + local c=f:read("*a") + if not c then + return false,format("file '%s' is invalid",name) + end + f:close() + local n=lpegmatch(parser,c) + if trace then + if #n~=#c then + report_lua("macros expanded in '%s' (%i => %i bytes)",name,#c,#n) + if detail then + report_lua() + report_lua(n) + report_lua() + end + elseif detail then + report_lua("no macros expanded in '%s'",name) + end + end + if #name>30 then + n="--[["..sub(name,-30).."]] "..n + else + n="--[["..name.."]] "..n + end + return load(n) +end +macros.loaded=loaded +function required(name,trace) + local filename=file.addsuffix(name,"lua") + local fullname=resolvers and resolvers.find_file(filename) or filename + if not fullname or fullname=="" then + return false + end + local codeblob=package.loaded[fullname] + if codeblob then + return codeblob + end + local code,message=loaded(fullname,macros,trace,trace) + if type(code)=="function" then + code=code() + else + report_lua("error when loading '%s'",fullname) + return false,message + end + if code==nil then + code=false + end + package.loaded[fullname]=code + return code +end +macros.required=required end -- of closure @@ -609,7 +673,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-package"] = package.loaded["l-package"] or true --- original size: 11564, stripped down to: 8625 +-- original size: 11562, stripped down to: 8625 if not modules then modules={} end modules ['l-package']={ version=1.001, @@ -620,10 +684,10 @@ if not modules then modules={} end modules ['l-package']={ } local type=type local gsub,format,find=string.gsub,string.format,string.find +local insert,remove=table.insert,table.remove local P,S,Cs,lpegmatch=lpeg.P,lpeg.S,lpeg.Cs,lpeg.match local package=package local searchers=package.searchers or package.loaders -local insert,remove=table.insert,table.remove local filejoin=file and file.join or function(path,name) return path.."/"..name end local isreadable=file and file.is_readable or function(name) local f=io.open(name) if f then f:close() return true end end local addsuffix=file and file.addsuffix or function(name,suffix) return name.."."..suffix end @@ -1871,7 +1935,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-table"] = package.loaded["l-table"] or true --- original size: 40161, stripped down to: 23559 +-- original size: 40197, stripped down to: 23561 if not modules then modules={} end modules ['l-table']={ version=1.001, @@ -2783,10 +2847,10 @@ function table.reversed(t) return tt end end -function table.reverse(t) +function table.reverse(t) if t then local n=#t - for i=1,floor(n/2) do + for i=1,floor(n/2) do local j=n-i+1 t[i],t[j]=t[j],t[i] end @@ -6037,7 +6101,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-str"] = package.loaded["util-str"] or true --- original size: 38725, stripped down to: 21726 +-- original size: 38699, stripped down to: 22142 if not modules then modules={} end modules ['util-str']={ version=1.001, @@ -6051,13 +6115,15 @@ utilities.strings=utilities.strings or {} local strings=utilities.strings local format,gsub,rep,sub,find=string.format,string.gsub,string.rep,string.sub,string.find local load,dump=load,string.dump -local tonumber,type,tostring,next=tonumber,type,tostring,next +local tonumber,type,tostring,next,setmetatable=tonumber,type,tostring,next,setmetatable +local unpack,concat=table.unpack,table.concat local unpack,concat=table.unpack,table.concat local P,V,C,S,R,Ct,Cs,Cp,Carg,Cc=lpeg.P,lpeg.V,lpeg.C,lpeg.S,lpeg.R,lpeg.Ct,lpeg.Cs,lpeg.Cp,lpeg.Carg,lpeg.Cc local patterns,lpegmatch=lpeg.patterns,lpeg.match local utfchar,utfbyte,utflen=utf.char,utf.byte,utf.len local loadstripped=nil -if LUAVERSION<5.2 then +local oldfashioned=LUAVERSION<5.2 +if oldfashioned then loadstripped=function(str,shortcuts) return load(str) end @@ -6329,7 +6395,7 @@ local template=[[ return function(%s) return %s end ]] local preamble,environment="",{} -if LUAVERSION<5.2 then +if oldfashioned then preamble=[[ local lpeg=lpeg local type=type @@ -6376,7 +6442,7 @@ else sequenced=table.sequenced, formattednumber=number.formatted, sparseexponent=number.sparseexponent, - formattedfloat=number.formattedfloat + formattedfloat=number.formattedfloat, } end local arguments={ "a1" } @@ -6733,12 +6799,18 @@ local builder=Cs { "start", ["?"]=Cs(((1-P("%"))^1 )^1)/format_rest, ["!"]=Carg(2)*prefix_any*P("!")*C((1-P("!"))^1)*P("!")/format_extension, } -local direct=Cs ( - P("%")*(S("+- .")+R("09"))^0*S("sqidfgGeExXo")*P(-1)/[[local format = string.format return function(str) return format("%0",str) end]] -) +local xx=setmetatable({},{ __index=function(t,k) local v=format("%02x",k) t[k]=v return v end }) +local XX=setmetatable({},{ __index=function(t,k) local v=format("%02X",k) t[k]=v return v end }) +local preset={ + ["%02x"]=function(n) return xx[n] end, + ["%02X"]=function(n) return XX[n] end, +} +local direct=P("%")*(S("+- .")+R("09"))^0*S("sqidfgGeExXo")*P(-1)/[[local format = string.format return function(str) return format("%0",str) end]] local function make(t,str) - local f - local p + local f=preset[str] + if f then + return f + end local p=lpegmatch(direct,str) if p then f=loadstripped(p)() @@ -6759,7 +6831,7 @@ local function use(t,fmt,...) return t[fmt](...) end strings.formatters={} -if LUAVERSION<5.2 then +if oldfashioned then function strings.formatters.new(noconcat) local t={ _type_="formatter",_connector_=noconcat and "," or "..",_extensions_={},_preamble_=preamble,_environment_={} } setmetatable(t,{ __index=make,__call=use }) @@ -6796,7 +6868,7 @@ patterns.xmlescape=Cs((P("<")/"<"+P(">")/">"+P("&")/"&"+P('"')/"" patterns.texescape=Cs((C(S("#$%\\{}"))/"\\%1"+P(1))^0) patterns.luaescape=Cs(((1-S('"\n'))^1+P('"')/'\\"'+P('\n')/'\\n"')^0) patterns.luaquoted=Cs(Cc('"')*((1-S('"\n'))^1+P('"')/'\\"'+P('\n')/'\\n"')^0*Cc('"')) -if LUAVERSION<5.2 then +if oldfashioned then add(formatters,"xml",[[lpegmatch(xmlescape,%s)]],"local xmlescape = lpeg.patterns.xmlescape") add(formatters,"tex",[[lpegmatch(texescape,%s)]],"local texescape = lpeg.patterns.texescape") add(formatters,"lua",[[lpegmatch(luaescape,%s)]],"local luaescape = lpeg.patterns.luaescape") @@ -9200,7 +9272,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-log"] = package.loaded["trac-log"] or true --- original size: 32737, stripped down to: 22946 +-- original size: 32922, stripped down to: 23011 if not modules then modules={} end modules ['trac-log']={ version=1.001, @@ -9210,13 +9282,15 @@ if not modules then modules={} end modules ['trac-log']={ license="see context related readme files" } local next,type,select,print=next,type,select,print -local write_nl,write=texio and texio.write_nl or print,texio and texio.write or io.write local format,gmatch,find=string.format,string.gmatch,string.find local concat,insert,remove=table.concat,table.insert,table.remove local topattern=string.topattern local utfchar=utf.char local datetime=os.date local openfile=io.open +local runningtex=tex and (tex.jobname or tex.formatname) +local write_nl=runningtex and texio and texio.write_nl or print +local write=runningtex and texio and texio.write or io.write local setmetatableindex=table.setmetatableindex local formatters=string.formatters local settings_to_hash=utilities.parsers.settings_to_hash @@ -9243,7 +9317,7 @@ local function ignore() end setmetatableindex(logs,function(t,k) t[k]=ignore;return ignore end) local report,subreport,status,settarget,setformats,settranslations local direct,subdirect,writer,pushtarget,poptarget,setlogfile,settimedlog,setprocessor,setformatters,newline -if tex and (tex.jobname or tex.formatname) then +if runningtex then if texio.setescape then texio.setescape(0) end @@ -10091,7 +10165,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-inf"] = package.loaded["trac-inf"] or true --- original size: 8284, stripped down to: 5698 +-- original size: 8097, stripped down to: 5534 if not modules then modules={} end modules ['trac-inf']={ version=1.001, @@ -10205,10 +10279,7 @@ function statistics.show() register("control sequences",function() return format("%s of %s + %s",status.cs_count,status.hash_size,status.hash_extra) end) - register("callbacks",function() - local total,indirect=status.callbacks or 0,status.indirect_callbacks or 0 - return format("%s direct, %s indirect, %s total",total-indirect,indirect,total) - end) + register("callbacks",statistics.callbacks) if TEXENGINE=="luajittex" and JITSUPPORTED then local jitstatus=jit.status if jitstatus then @@ -10427,7 +10498,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-lua"] = package.loaded["util-lua"] or true --- original size: 6921, stripped down to: 4998 +-- original size: 6621, stripped down to: 4764 if not modules then modules={} end modules ['util-lua']={ version=1.001, @@ -10463,7 +10534,7 @@ luautilities.suffixes={ tua="tua", tuc="tuc", } -local function register(name) +local function register(name) if tracestripping then report_lua("stripped bytecode from %a",name or "unknown") end @@ -10491,17 +10562,12 @@ local function stupidcompile(luafile,lucfile,strip) end function luautilities.loadedluacode(fullname,forcestrip,name,macros) name=name or fullname - local code,message if macros then macros=lua.macros end - if macros and macros.enabled then - local f=io.open(fullname,"rb") local c=f:read("*a") f:close() - local n=c and macros.resolvestring("--[["..fullname.."]] "..c) - if n and #n~=#c then - report_lua("preprocessed file %a: %i => %i bytes",fullname,#c,#n) - end - code,message=load(n or c) + local code,message + if macros then + code,message=macros.loaded(fullname,true,false) else code,message=loadfile(fullname) end @@ -15602,7 +15668,7 @@ do -- create closure to overcome 200 locals limit package.loaded["lxml-xml"] = package.loaded["lxml-xml"] or true --- original size: 10412, stripped down to: 7669 +-- original size: 11096, stripped down to: 8243 if not modules then modules={} end modules ['lxml-xml']={ version=1.001, @@ -15621,6 +15687,9 @@ local xmltostring=xml.tostring local xmlserialize=xml.serialize local xmlcollected=xml.collected local xmlnewhandlers=xml.newhandlers +local reparsedentity=xml.reparsedentitylpeg +local unescapedentity=xml.unescapedentitylpeg +local parsedentity=reparsedentity local function first(collected) return collected and collected[1] end @@ -15903,6 +15972,24 @@ function xml.text(id,pattern) return "" end end +function xml.pure(id,pattern) + if pattern then + local collected=xmlfilter(id,pattern) + if collected and #collected>0 then + parsedentity=unescapedentity + local s=collected and #collected>0 and xmltotext(collected[1]) or "" + parsedentity=reparsedentity + return s + else + return "" + end + else + parsedentity=unescapedentity + local s=xmltotext(id) or "" + parsedentity=reparsedentity + return s + end +end xml.content=text function xml.position(id,pattern,n) return position(xmlfilter(id,pattern),n) @@ -21234,8 +21321,8 @@ end -- of closure -- used libraries : l-lua.lua l-macro.lua l-sandbox.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-tpl.lua util-sbx.lua util-mrg.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 : 874849 --- stripped bytes : 317531 +-- original bytes : 877106 +-- stripped bytes : 317575 -- end library merge diff --git a/scripts/context/stubs/setup/setuptex b/scripts/context/stubs/setup/setuptex index 78128ee8b..9808140e4 100644 --- a/scripts/context/stubs/setup/setuptex +++ b/scripts/context/stubs/setup/setuptex @@ -22,59 +22,91 @@ system=`uname -s` cpu=`uname -m` case "$system" in - # linux - Linux) - case "$cpu" in - i*86) platform="linux" ;; - x86_64|ia64) platform="linux-64" ;; - # a little bit of cheating with ppc64 (won't work on Gentoo) - ppc|ppc64) platform="linux-ppc" ;; - *) platform="unknown" ;; - esac ;; - # Mac OS X - Darwin) - case "$cpu" in - i*86) platform="osx-intel" ;; - x86_64) platform="osx-64" ;; - ppc*|powerpc|power*|Power*) platform="osx-ppc" ;; - *) platform="unknown" ;; - esac ;; - # FreeBSD - FreeBSD|freebsd) - case "$cpu" in - i*86) platform="freebsd" ;; - x86_64) platform="freebsd" ;; - amd64) platform="freebsd-amd64" ;; - *) platform="unknown" ;; - esac ;; - # kFreeBSD (Debian) - GNU/kFreeBSD) - case "$cpu" in - i*86) platform="kfreebsd-i386" ;; - x86_64|amd64) platform="kfreebsd-amd64" ;; - *) platform="unknown" ;; - esac ;; - # MSYS2|MSYS_NT-10.0) - case "$cpu" in - i*86) platform="win32" ;; - x86_64) platform="win64" ;; - *) platform="unknown" ;; - esac ;; - # cygwin - CYGWIN) - case "$cpu" in - i*86) platform="cygwin" ;; - x86_64|ia64) platform="cygwin-64" ;; - *) platform="unknown" ;; - esac ;; - # SunOS/Solaris - SunOS) - case "$cpu" in - sparc) platform="solaris-sparc" ;; - i86pc) platform="solaris-intel" ;; - *) platform="unknown" ;; - esac ;; - *) platform="unknown" + # linux + Linux) + case "$cpu" in + i*86) platform="linux" ;; + x86_64|ia64) platform="linux-64" ;; + + # a little bit of cheating with ppc64 (won't work on Gentoo) + ppc|ppc64) platform="linux-ppc" ;; + + # we currently support just mipsel, but Debian is lying (reports mips64) + # we need more hacks to fix the situation, this is just a temporary solution + mips|mips64|mipsel|mips64el) platform="linux-mipsel" ;; + + armv7l) platform="linux-armhf" + # machine id output by uname(1) is insufficent to determine whether this + # is a soft or hard float system so we check ourselves. + # a) binutils, this should work almost everywhere + if $(which readelf >/dev/null 2>&1); then + readelf -A /proc/self/exe | grep -q '^ \+Tag_ABI_VFP_args' + if [ ! $? ]; then + platform="linux-armel" + fi + # b) debian-specific fallback + elif $(which dpkg >/dev/null 2>&1); then + if [ "$(dpkg --print-architecture)" = armel ]; then + platform="linux-armel" + fi + fi + # else go with hard fp + ;; + + *) platform="unknown" ;; + esac ;; + # Mac OS X + Darwin) + case "$cpu" in + i*86) platform="osx-intel" ;; + x86_64) platform="osx-64" ;; + ppc*|powerpc|power*|Power*) platform="osx-ppc" ;; + *) platform="unknown" ;; + esac ;; + # FreeBSD + FreeBSD|freebsd) + case "$cpu" in + i*86) platform="freebsd" ;; + x86_64) platform="freebsd" ;; + amd64) platform="freebsd-amd64" ;; + *) platform="unknown" ;; + esac ;; + # OpenBSD + OpenBSD) + case "$cpu" in + i*86) platform="openbsd" ;; + amd64) platform="openbsd-amd64" ;; + *) platform="unknown" ;; + esac ;; + # kFreeBSD (Debian) + GNU/kFreeBSD) + case "$cpu" in + i*86) platform="kfreebsd-i386" ;; + x86_64|amd64) platform="kfreebsd-amd64" ;; + *) platform="unknown" ;; + esac ;; + # MSYS2 + MSYS_NT-10.0) + case "$cpu" in + i*86) platform="win32" ;; + x86_64) platform="win64" ;; + *) platform="unknown" ;; + esac ;; + # cygwin + CYGWIN) + case "$cpu" in + i*86) platform="cygwin" ;; + x86_64|ia64) platform="cygwin-64" ;; + *) platform="unknown" ;; + esac ;; + # SunOS/Solaris + SunOS) + case "$cpu" in + sparc) platform="solaris-sparc" ;; + i86pc) platform="solaris-intel" ;; + *) platform="unknown" ;; + esac ;; + *) platform="unknown" esac # temporary fix for Snow Leopard @@ -91,6 +123,9 @@ fi if test "$platform" = "unknown" ; then echo "Error: your system \"$system $cpu\" is not supported yet." echo "Please report to the ConTeXt mailing-list (ntg-context@ntg.nl)" +elif test "$platform" = "linux-ppc" ; then + echo "Error: support for your system \"$platform\" has been dropped." + echo "Please ask on to the ConTeXt mailing-list if you still need it (ntg-context@ntg.nl)" fi # diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun index 3374a364a..91528360a 100644 --- a/scripts/context/stubs/unix/mtxrun +++ b/scripts/context/stubs/unix/mtxrun @@ -195,7 +195,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-macro"] = package.loaded["l-macro"] or true --- original size: 6393, stripped down to: 3659 +-- original size: 8260, stripped down to: 5213 if not modules then modules={} end modules ['l-macros']={ version=1.001, @@ -207,7 +207,8 @@ if not modules then modules={} end modules ['l-macros']={ local S,P,R,V,C,Cs,Cc,Ct,Carg=lpeg.S,lpeg.P,lpeg.R,lpeg.V,lpeg.C,lpeg.Cs,lpeg.Cc,lpeg.Ct,lpeg.Carg local lpegmatch=lpeg.match local concat=table.concat -local next=next +local format,sub=string.format,string.sub +local next,load,type=next,load,type local newline=S("\n\r")^1 local continue=P("\\")*newline local spaces=S(" \t")+continue @@ -228,6 +229,14 @@ local patterns={} local definitions={} local resolve local subparser +local report_lua=function(...) + if logs and logs.reporter then + report_lua=logs.reporter("system","lua") + report_lua(...) + else + print(format(...)) + end +end resolve=C(C(name)*arguments^-1)/function(raw,s,a) local d=definitions[s] if d then @@ -334,6 +343,61 @@ end function macros.resolving() return next(patterns) end +local function loaded(name,trace,detail) + local f=io.open(name,"rb") + if not f then + return false,format("file '%s' not found",name) + end + local c=f:read("*a") + if not c then + return false,format("file '%s' is invalid",name) + end + f:close() + local n=lpegmatch(parser,c) + if trace then + if #n~=#c then + report_lua("macros expanded in '%s' (%i => %i bytes)",name,#c,#n) + if detail then + report_lua() + report_lua(n) + report_lua() + end + elseif detail then + report_lua("no macros expanded in '%s'",name) + end + end + if #name>30 then + n="--[["..sub(name,-30).."]] "..n + else + n="--[["..name.."]] "..n + end + return load(n) +end +macros.loaded=loaded +function required(name,trace) + local filename=file.addsuffix(name,"lua") + local fullname=resolvers and resolvers.find_file(filename) or filename + if not fullname or fullname=="" then + return false + end + local codeblob=package.loaded[fullname] + if codeblob then + return codeblob + end + local code,message=loaded(fullname,macros,trace,trace) + if type(code)=="function" then + code=code() + else + report_lua("error when loading '%s'",fullname) + return false,message + end + if code==nil then + code=false + end + package.loaded[fullname]=code + return code +end +macros.required=required end -- of closure @@ -609,7 +673,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-package"] = package.loaded["l-package"] or true --- original size: 11564, stripped down to: 8625 +-- original size: 11562, stripped down to: 8625 if not modules then modules={} end modules ['l-package']={ version=1.001, @@ -620,10 +684,10 @@ if not modules then modules={} end modules ['l-package']={ } local type=type local gsub,format,find=string.gsub,string.format,string.find +local insert,remove=table.insert,table.remove local P,S,Cs,lpegmatch=lpeg.P,lpeg.S,lpeg.Cs,lpeg.match local package=package local searchers=package.searchers or package.loaders -local insert,remove=table.insert,table.remove local filejoin=file and file.join or function(path,name) return path.."/"..name end local isreadable=file and file.is_readable or function(name) local f=io.open(name) if f then f:close() return true end end local addsuffix=file and file.addsuffix or function(name,suffix) return name.."."..suffix end @@ -1871,7 +1935,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-table"] = package.loaded["l-table"] or true --- original size: 40161, stripped down to: 23559 +-- original size: 40197, stripped down to: 23561 if not modules then modules={} end modules ['l-table']={ version=1.001, @@ -2783,10 +2847,10 @@ function table.reversed(t) return tt end end -function table.reverse(t) +function table.reverse(t) if t then local n=#t - for i=1,floor(n/2) do + for i=1,floor(n/2) do local j=n-i+1 t[i],t[j]=t[j],t[i] end @@ -6037,7 +6101,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-str"] = package.loaded["util-str"] or true --- original size: 38725, stripped down to: 21726 +-- original size: 38699, stripped down to: 22142 if not modules then modules={} end modules ['util-str']={ version=1.001, @@ -6051,13 +6115,15 @@ utilities.strings=utilities.strings or {} local strings=utilities.strings local format,gsub,rep,sub,find=string.format,string.gsub,string.rep,string.sub,string.find local load,dump=load,string.dump -local tonumber,type,tostring,next=tonumber,type,tostring,next +local tonumber,type,tostring,next,setmetatable=tonumber,type,tostring,next,setmetatable +local unpack,concat=table.unpack,table.concat local unpack,concat=table.unpack,table.concat local P,V,C,S,R,Ct,Cs,Cp,Carg,Cc=lpeg.P,lpeg.V,lpeg.C,lpeg.S,lpeg.R,lpeg.Ct,lpeg.Cs,lpeg.Cp,lpeg.Carg,lpeg.Cc local patterns,lpegmatch=lpeg.patterns,lpeg.match local utfchar,utfbyte,utflen=utf.char,utf.byte,utf.len local loadstripped=nil -if LUAVERSION<5.2 then +local oldfashioned=LUAVERSION<5.2 +if oldfashioned then loadstripped=function(str,shortcuts) return load(str) end @@ -6329,7 +6395,7 @@ local template=[[ return function(%s) return %s end ]] local preamble,environment="",{} -if LUAVERSION<5.2 then +if oldfashioned then preamble=[[ local lpeg=lpeg local type=type @@ -6376,7 +6442,7 @@ else sequenced=table.sequenced, formattednumber=number.formatted, sparseexponent=number.sparseexponent, - formattedfloat=number.formattedfloat + formattedfloat=number.formattedfloat, } end local arguments={ "a1" } @@ -6733,12 +6799,18 @@ local builder=Cs { "start", ["?"]=Cs(((1-P("%"))^1 )^1)/format_rest, ["!"]=Carg(2)*prefix_any*P("!")*C((1-P("!"))^1)*P("!")/format_extension, } -local direct=Cs ( - P("%")*(S("+- .")+R("09"))^0*S("sqidfgGeExXo")*P(-1)/[[local format = string.format return function(str) return format("%0",str) end]] -) +local xx=setmetatable({},{ __index=function(t,k) local v=format("%02x",k) t[k]=v return v end }) +local XX=setmetatable({},{ __index=function(t,k) local v=format("%02X",k) t[k]=v return v end }) +local preset={ + ["%02x"]=function(n) return xx[n] end, + ["%02X"]=function(n) return XX[n] end, +} +local direct=P("%")*(S("+- .")+R("09"))^0*S("sqidfgGeExXo")*P(-1)/[[local format = string.format return function(str) return format("%0",str) end]] local function make(t,str) - local f - local p + local f=preset[str] + if f then + return f + end local p=lpegmatch(direct,str) if p then f=loadstripped(p)() @@ -6759,7 +6831,7 @@ local function use(t,fmt,...) return t[fmt](...) end strings.formatters={} -if LUAVERSION<5.2 then +if oldfashioned then function strings.formatters.new(noconcat) local t={ _type_="formatter",_connector_=noconcat and "," or "..",_extensions_={},_preamble_=preamble,_environment_={} } setmetatable(t,{ __index=make,__call=use }) @@ -6796,7 +6868,7 @@ patterns.xmlescape=Cs((P("<")/"<"+P(">")/">"+P("&")/"&"+P('"')/"" patterns.texescape=Cs((C(S("#$%\\{}"))/"\\%1"+P(1))^0) patterns.luaescape=Cs(((1-S('"\n'))^1+P('"')/'\\"'+P('\n')/'\\n"')^0) patterns.luaquoted=Cs(Cc('"')*((1-S('"\n'))^1+P('"')/'\\"'+P('\n')/'\\n"')^0*Cc('"')) -if LUAVERSION<5.2 then +if oldfashioned then add(formatters,"xml",[[lpegmatch(xmlescape,%s)]],"local xmlescape = lpeg.patterns.xmlescape") add(formatters,"tex",[[lpegmatch(texescape,%s)]],"local texescape = lpeg.patterns.texescape") add(formatters,"lua",[[lpegmatch(luaescape,%s)]],"local luaescape = lpeg.patterns.luaescape") @@ -9200,7 +9272,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-log"] = package.loaded["trac-log"] or true --- original size: 32737, stripped down to: 22946 +-- original size: 32922, stripped down to: 23011 if not modules then modules={} end modules ['trac-log']={ version=1.001, @@ -9210,13 +9282,15 @@ if not modules then modules={} end modules ['trac-log']={ license="see context related readme files" } local next,type,select,print=next,type,select,print -local write_nl,write=texio and texio.write_nl or print,texio and texio.write or io.write local format,gmatch,find=string.format,string.gmatch,string.find local concat,insert,remove=table.concat,table.insert,table.remove local topattern=string.topattern local utfchar=utf.char local datetime=os.date local openfile=io.open +local runningtex=tex and (tex.jobname or tex.formatname) +local write_nl=runningtex and texio and texio.write_nl or print +local write=runningtex and texio and texio.write or io.write local setmetatableindex=table.setmetatableindex local formatters=string.formatters local settings_to_hash=utilities.parsers.settings_to_hash @@ -9243,7 +9317,7 @@ local function ignore() end setmetatableindex(logs,function(t,k) t[k]=ignore;return ignore end) local report,subreport,status,settarget,setformats,settranslations local direct,subdirect,writer,pushtarget,poptarget,setlogfile,settimedlog,setprocessor,setformatters,newline -if tex and (tex.jobname or tex.formatname) then +if runningtex then if texio.setescape then texio.setescape(0) end @@ -10091,7 +10165,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-inf"] = package.loaded["trac-inf"] or true --- original size: 8284, stripped down to: 5698 +-- original size: 8097, stripped down to: 5534 if not modules then modules={} end modules ['trac-inf']={ version=1.001, @@ -10205,10 +10279,7 @@ function statistics.show() register("control sequences",function() return format("%s of %s + %s",status.cs_count,status.hash_size,status.hash_extra) end) - register("callbacks",function() - local total,indirect=status.callbacks or 0,status.indirect_callbacks or 0 - return format("%s direct, %s indirect, %s total",total-indirect,indirect,total) - end) + register("callbacks",statistics.callbacks) if TEXENGINE=="luajittex" and JITSUPPORTED then local jitstatus=jit.status if jitstatus then @@ -10427,7 +10498,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-lua"] = package.loaded["util-lua"] or true --- original size: 6921, stripped down to: 4998 +-- original size: 6621, stripped down to: 4764 if not modules then modules={} end modules ['util-lua']={ version=1.001, @@ -10463,7 +10534,7 @@ luautilities.suffixes={ tua="tua", tuc="tuc", } -local function register(name) +local function register(name) if tracestripping then report_lua("stripped bytecode from %a",name or "unknown") end @@ -10491,17 +10562,12 @@ local function stupidcompile(luafile,lucfile,strip) end function luautilities.loadedluacode(fullname,forcestrip,name,macros) name=name or fullname - local code,message if macros then macros=lua.macros end - if macros and macros.enabled then - local f=io.open(fullname,"rb") local c=f:read("*a") f:close() - local n=c and macros.resolvestring("--[["..fullname.."]] "..c) - if n and #n~=#c then - report_lua("preprocessed file %a: %i => %i bytes",fullname,#c,#n) - end - code,message=load(n or c) + local code,message + if macros then + code,message=macros.loaded(fullname,true,false) else code,message=loadfile(fullname) end @@ -15602,7 +15668,7 @@ do -- create closure to overcome 200 locals limit package.loaded["lxml-xml"] = package.loaded["lxml-xml"] or true --- original size: 10412, stripped down to: 7669 +-- original size: 11096, stripped down to: 8243 if not modules then modules={} end modules ['lxml-xml']={ version=1.001, @@ -15621,6 +15687,9 @@ local xmltostring=xml.tostring local xmlserialize=xml.serialize local xmlcollected=xml.collected local xmlnewhandlers=xml.newhandlers +local reparsedentity=xml.reparsedentitylpeg +local unescapedentity=xml.unescapedentitylpeg +local parsedentity=reparsedentity local function first(collected) return collected and collected[1] end @@ -15903,6 +15972,24 @@ function xml.text(id,pattern) return "" end end +function xml.pure(id,pattern) + if pattern then + local collected=xmlfilter(id,pattern) + if collected and #collected>0 then + parsedentity=unescapedentity + local s=collected and #collected>0 and xmltotext(collected[1]) or "" + parsedentity=reparsedentity + return s + else + return "" + end + else + parsedentity=unescapedentity + local s=xmltotext(id) or "" + parsedentity=reparsedentity + return s + end +end xml.content=text function xml.position(id,pattern,n) return position(xmlfilter(id,pattern),n) @@ -21234,8 +21321,8 @@ end -- of closure -- used libraries : l-lua.lua l-macro.lua l-sandbox.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-tpl.lua util-sbx.lua util-mrg.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 : 874849 --- stripped bytes : 317531 +-- original bytes : 877106 +-- stripped bytes : 317575 -- end library merge diff --git a/scripts/context/stubs/win64/mtxrun.lua b/scripts/context/stubs/win64/mtxrun.lua index 3374a364a..91528360a 100644 --- a/scripts/context/stubs/win64/mtxrun.lua +++ b/scripts/context/stubs/win64/mtxrun.lua @@ -195,7 +195,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-macro"] = package.loaded["l-macro"] or true --- original size: 6393, stripped down to: 3659 +-- original size: 8260, stripped down to: 5213 if not modules then modules={} end modules ['l-macros']={ version=1.001, @@ -207,7 +207,8 @@ if not modules then modules={} end modules ['l-macros']={ local S,P,R,V,C,Cs,Cc,Ct,Carg=lpeg.S,lpeg.P,lpeg.R,lpeg.V,lpeg.C,lpeg.Cs,lpeg.Cc,lpeg.Ct,lpeg.Carg local lpegmatch=lpeg.match local concat=table.concat -local next=next +local format,sub=string.format,string.sub +local next,load,type=next,load,type local newline=S("\n\r")^1 local continue=P("\\")*newline local spaces=S(" \t")+continue @@ -228,6 +229,14 @@ local patterns={} local definitions={} local resolve local subparser +local report_lua=function(...) + if logs and logs.reporter then + report_lua=logs.reporter("system","lua") + report_lua(...) + else + print(format(...)) + end +end resolve=C(C(name)*arguments^-1)/function(raw,s,a) local d=definitions[s] if d then @@ -334,6 +343,61 @@ end function macros.resolving() return next(patterns) end +local function loaded(name,trace,detail) + local f=io.open(name,"rb") + if not f then + return false,format("file '%s' not found",name) + end + local c=f:read("*a") + if not c then + return false,format("file '%s' is invalid",name) + end + f:close() + local n=lpegmatch(parser,c) + if trace then + if #n~=#c then + report_lua("macros expanded in '%s' (%i => %i bytes)",name,#c,#n) + if detail then + report_lua() + report_lua(n) + report_lua() + end + elseif detail then + report_lua("no macros expanded in '%s'",name) + end + end + if #name>30 then + n="--[["..sub(name,-30).."]] "..n + else + n="--[["..name.."]] "..n + end + return load(n) +end +macros.loaded=loaded +function required(name,trace) + local filename=file.addsuffix(name,"lua") + local fullname=resolvers and resolvers.find_file(filename) or filename + if not fullname or fullname=="" then + return false + end + local codeblob=package.loaded[fullname] + if codeblob then + return codeblob + end + local code,message=loaded(fullname,macros,trace,trace) + if type(code)=="function" then + code=code() + else + report_lua("error when loading '%s'",fullname) + return false,message + end + if code==nil then + code=false + end + package.loaded[fullname]=code + return code +end +macros.required=required end -- of closure @@ -609,7 +673,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-package"] = package.loaded["l-package"] or true --- original size: 11564, stripped down to: 8625 +-- original size: 11562, stripped down to: 8625 if not modules then modules={} end modules ['l-package']={ version=1.001, @@ -620,10 +684,10 @@ if not modules then modules={} end modules ['l-package']={ } local type=type local gsub,format,find=string.gsub,string.format,string.find +local insert,remove=table.insert,table.remove local P,S,Cs,lpegmatch=lpeg.P,lpeg.S,lpeg.Cs,lpeg.match local package=package local searchers=package.searchers or package.loaders -local insert,remove=table.insert,table.remove local filejoin=file and file.join or function(path,name) return path.."/"..name end local isreadable=file and file.is_readable or function(name) local f=io.open(name) if f then f:close() return true end end local addsuffix=file and file.addsuffix or function(name,suffix) return name.."."..suffix end @@ -1871,7 +1935,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-table"] = package.loaded["l-table"] or true --- original size: 40161, stripped down to: 23559 +-- original size: 40197, stripped down to: 23561 if not modules then modules={} end modules ['l-table']={ version=1.001, @@ -2783,10 +2847,10 @@ function table.reversed(t) return tt end end -function table.reverse(t) +function table.reverse(t) if t then local n=#t - for i=1,floor(n/2) do + for i=1,floor(n/2) do local j=n-i+1 t[i],t[j]=t[j],t[i] end @@ -6037,7 +6101,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-str"] = package.loaded["util-str"] or true --- original size: 38725, stripped down to: 21726 +-- original size: 38699, stripped down to: 22142 if not modules then modules={} end modules ['util-str']={ version=1.001, @@ -6051,13 +6115,15 @@ utilities.strings=utilities.strings or {} local strings=utilities.strings local format,gsub,rep,sub,find=string.format,string.gsub,string.rep,string.sub,string.find local load,dump=load,string.dump -local tonumber,type,tostring,next=tonumber,type,tostring,next +local tonumber,type,tostring,next,setmetatable=tonumber,type,tostring,next,setmetatable +local unpack,concat=table.unpack,table.concat local unpack,concat=table.unpack,table.concat local P,V,C,S,R,Ct,Cs,Cp,Carg,Cc=lpeg.P,lpeg.V,lpeg.C,lpeg.S,lpeg.R,lpeg.Ct,lpeg.Cs,lpeg.Cp,lpeg.Carg,lpeg.Cc local patterns,lpegmatch=lpeg.patterns,lpeg.match local utfchar,utfbyte,utflen=utf.char,utf.byte,utf.len local loadstripped=nil -if LUAVERSION<5.2 then +local oldfashioned=LUAVERSION<5.2 +if oldfashioned then loadstripped=function(str,shortcuts) return load(str) end @@ -6329,7 +6395,7 @@ local template=[[ return function(%s) return %s end ]] local preamble,environment="",{} -if LUAVERSION<5.2 then +if oldfashioned then preamble=[[ local lpeg=lpeg local type=type @@ -6376,7 +6442,7 @@ else sequenced=table.sequenced, formattednumber=number.formatted, sparseexponent=number.sparseexponent, - formattedfloat=number.formattedfloat + formattedfloat=number.formattedfloat, } end local arguments={ "a1" } @@ -6733,12 +6799,18 @@ local builder=Cs { "start", ["?"]=Cs(((1-P("%"))^1 )^1)/format_rest, ["!"]=Carg(2)*prefix_any*P("!")*C((1-P("!"))^1)*P("!")/format_extension, } -local direct=Cs ( - P("%")*(S("+- .")+R("09"))^0*S("sqidfgGeExXo")*P(-1)/[[local format = string.format return function(str) return format("%0",str) end]] -) +local xx=setmetatable({},{ __index=function(t,k) local v=format("%02x",k) t[k]=v return v end }) +local XX=setmetatable({},{ __index=function(t,k) local v=format("%02X",k) t[k]=v return v end }) +local preset={ + ["%02x"]=function(n) return xx[n] end, + ["%02X"]=function(n) return XX[n] end, +} +local direct=P("%")*(S("+- .")+R("09"))^0*S("sqidfgGeExXo")*P(-1)/[[local format = string.format return function(str) return format("%0",str) end]] local function make(t,str) - local f - local p + local f=preset[str] + if f then + return f + end local p=lpegmatch(direct,str) if p then f=loadstripped(p)() @@ -6759,7 +6831,7 @@ local function use(t,fmt,...) return t[fmt](...) end strings.formatters={} -if LUAVERSION<5.2 then +if oldfashioned then function strings.formatters.new(noconcat) local t={ _type_="formatter",_connector_=noconcat and "," or "..",_extensions_={},_preamble_=preamble,_environment_={} } setmetatable(t,{ __index=make,__call=use }) @@ -6796,7 +6868,7 @@ patterns.xmlescape=Cs((P("<")/"<"+P(">")/">"+P("&")/"&"+P('"')/"" patterns.texescape=Cs((C(S("#$%\\{}"))/"\\%1"+P(1))^0) patterns.luaescape=Cs(((1-S('"\n'))^1+P('"')/'\\"'+P('\n')/'\\n"')^0) patterns.luaquoted=Cs(Cc('"')*((1-S('"\n'))^1+P('"')/'\\"'+P('\n')/'\\n"')^0*Cc('"')) -if LUAVERSION<5.2 then +if oldfashioned then add(formatters,"xml",[[lpegmatch(xmlescape,%s)]],"local xmlescape = lpeg.patterns.xmlescape") add(formatters,"tex",[[lpegmatch(texescape,%s)]],"local texescape = lpeg.patterns.texescape") add(formatters,"lua",[[lpegmatch(luaescape,%s)]],"local luaescape = lpeg.patterns.luaescape") @@ -9200,7 +9272,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-log"] = package.loaded["trac-log"] or true --- original size: 32737, stripped down to: 22946 +-- original size: 32922, stripped down to: 23011 if not modules then modules={} end modules ['trac-log']={ version=1.001, @@ -9210,13 +9282,15 @@ if not modules then modules={} end modules ['trac-log']={ license="see context related readme files" } local next,type,select,print=next,type,select,print -local write_nl,write=texio and texio.write_nl or print,texio and texio.write or io.write local format,gmatch,find=string.format,string.gmatch,string.find local concat,insert,remove=table.concat,table.insert,table.remove local topattern=string.topattern local utfchar=utf.char local datetime=os.date local openfile=io.open +local runningtex=tex and (tex.jobname or tex.formatname) +local write_nl=runningtex and texio and texio.write_nl or print +local write=runningtex and texio and texio.write or io.write local setmetatableindex=table.setmetatableindex local formatters=string.formatters local settings_to_hash=utilities.parsers.settings_to_hash @@ -9243,7 +9317,7 @@ local function ignore() end setmetatableindex(logs,function(t,k) t[k]=ignore;return ignore end) local report,subreport,status,settarget,setformats,settranslations local direct,subdirect,writer,pushtarget,poptarget,setlogfile,settimedlog,setprocessor,setformatters,newline -if tex and (tex.jobname or tex.formatname) then +if runningtex then if texio.setescape then texio.setescape(0) end @@ -10091,7 +10165,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-inf"] = package.loaded["trac-inf"] or true --- original size: 8284, stripped down to: 5698 +-- original size: 8097, stripped down to: 5534 if not modules then modules={} end modules ['trac-inf']={ version=1.001, @@ -10205,10 +10279,7 @@ function statistics.show() register("control sequences",function() return format("%s of %s + %s",status.cs_count,status.hash_size,status.hash_extra) end) - register("callbacks",function() - local total,indirect=status.callbacks or 0,status.indirect_callbacks or 0 - return format("%s direct, %s indirect, %s total",total-indirect,indirect,total) - end) + register("callbacks",statistics.callbacks) if TEXENGINE=="luajittex" and JITSUPPORTED then local jitstatus=jit.status if jitstatus then @@ -10427,7 +10498,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-lua"] = package.loaded["util-lua"] or true --- original size: 6921, stripped down to: 4998 +-- original size: 6621, stripped down to: 4764 if not modules then modules={} end modules ['util-lua']={ version=1.001, @@ -10463,7 +10534,7 @@ luautilities.suffixes={ tua="tua", tuc="tuc", } -local function register(name) +local function register(name) if tracestripping then report_lua("stripped bytecode from %a",name or "unknown") end @@ -10491,17 +10562,12 @@ local function stupidcompile(luafile,lucfile,strip) end function luautilities.loadedluacode(fullname,forcestrip,name,macros) name=name or fullname - local code,message if macros then macros=lua.macros end - if macros and macros.enabled then - local f=io.open(fullname,"rb") local c=f:read("*a") f:close() - local n=c and macros.resolvestring("--[["..fullname.."]] "..c) - if n and #n~=#c then - report_lua("preprocessed file %a: %i => %i bytes",fullname,#c,#n) - end - code,message=load(n or c) + local code,message + if macros then + code,message=macros.loaded(fullname,true,false) else code,message=loadfile(fullname) end @@ -15602,7 +15668,7 @@ do -- create closure to overcome 200 locals limit package.loaded["lxml-xml"] = package.loaded["lxml-xml"] or true --- original size: 10412, stripped down to: 7669 +-- original size: 11096, stripped down to: 8243 if not modules then modules={} end modules ['lxml-xml']={ version=1.001, @@ -15621,6 +15687,9 @@ local xmltostring=xml.tostring local xmlserialize=xml.serialize local xmlcollected=xml.collected local xmlnewhandlers=xml.newhandlers +local reparsedentity=xml.reparsedentitylpeg +local unescapedentity=xml.unescapedentitylpeg +local parsedentity=reparsedentity local function first(collected) return collected and collected[1] end @@ -15903,6 +15972,24 @@ function xml.text(id,pattern) return "" end end +function xml.pure(id,pattern) + if pattern then + local collected=xmlfilter(id,pattern) + if collected and #collected>0 then + parsedentity=unescapedentity + local s=collected and #collected>0 and xmltotext(collected[1]) or "" + parsedentity=reparsedentity + return s + else + return "" + end + else + parsedentity=unescapedentity + local s=xmltotext(id) or "" + parsedentity=reparsedentity + return s + end +end xml.content=text function xml.position(id,pattern,n) return position(xmlfilter(id,pattern),n) @@ -21234,8 +21321,8 @@ end -- of closure -- used libraries : l-lua.lua l-macro.lua l-sandbox.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-tpl.lua util-sbx.lua util-mrg.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 : 874849 --- stripped bytes : 317531 +-- original bytes : 877106 +-- stripped bytes : 317575 -- end library merge diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index 0c189965f..082e39ee4 100644 --- a/tex/context/base/mkii/cont-new.mkii +++ b/tex/context/base/mkii/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2018.03.16 22:20} +\newcontextversion{2018.04.02 15:43} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii index 2dcc7482e..4e087c1c8 100644 --- a/tex/context/base/mkii/context.mkii +++ b/tex/context/base/mkii/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2018.03.16 22:20} +\edef\contextversion{2018.04.02 15:43} %D For those who want to use this: diff --git a/tex/context/base/mkiv/anch-pgr.lua b/tex/context/base/mkiv/anch-pgr.lua index 18a915692..ca5a5a8af 100644 --- a/tex/context/base/mkiv/anch-pgr.lua +++ b/tex/context/base/mkiv/anch-pgr.lua @@ -222,7 +222,7 @@ end interfaces.implement { name = "registerbackground", actions = registerbackground, - arguments = { "string" } + arguments = "string", } -- optimized already but we can assume a cycle i.e. prune the last point and then diff --git a/tex/context/base/mkiv/attr-ini.lua b/tex/context/base/mkiv/attr-ini.lua index 2a11558a5..67faa9fc0 100644 --- a/tex/context/base/mkiv/attr-ini.lua +++ b/tex/context/base/mkiv/attr-ini.lua @@ -170,7 +170,7 @@ end implement { name = "defineattribute", - arguments = { "string", "string" }, + arguments = "2 strings", actions = { attributes.define, context } } diff --git a/tex/context/base/mkiv/back-exp.lua b/tex/context/base/mkiv/back-exp.lua index 2d51d933d..b18679fa2 100644 --- a/tex/context/base/mkiv/back-exp.lua +++ b/tex/context/base/mkiv/back-exp.lua @@ -3876,7 +3876,7 @@ implement { implement { name = "settagfloat", actions = structurestags.setfloat, - arguments = { "string", "string" } + arguments = "2 strings", } implement { diff --git a/tex/context/base/mkiv/buff-ini.lua b/tex/context/base/mkiv/buff-ini.lua index 2bbec2e4a..1c7912773 100644 --- a/tex/context/base/mkiv/buff-ini.lua +++ b/tex/context/base/mkiv/buff-ini.lua @@ -492,7 +492,7 @@ end implement { name = "savebuffer", actions = savebuffer, - arguments = { "string", "string", "string" } + arguments = "3 strings", } -- we can consider adding a size to avoid unlikely clashes diff --git a/tex/context/base/mkiv/buff-par.lua b/tex/context/base/mkiv/buff-par.lua index 33ed4baf0..a2b300a2b 100644 --- a/tex/context/base/mkiv/buff-par.lua +++ b/tex/context/base/mkiv/buff-par.lua @@ -203,7 +203,7 @@ end implement { name = "defineparallel", actions = parallel.define, - arguments = { "string", "string" } + arguments = "2 strings", } implement { @@ -236,11 +236,11 @@ implement { implement { name = "resetparallel", actions = parallel.reset, - arguments = { "string", "string" } + arguments = "2 strings", } implement { name = "doifelseparallel", actions = { parallel.hassomecontent, commands.doifelse } , - arguments = { "string", "string" } + arguments = "2 strings", } diff --git a/tex/context/base/mkiv/char-def.lua b/tex/context/base/mkiv/char-def.lua index a305ee202..fcbf01900 100644 --- a/tex/context/base/mkiv/char-def.lua +++ b/tex/context/base/mkiv/char-def.lua @@ -16,6 +16,9 @@ now and then using mtx-unicode where we check against the latest unicode txt fil (normally once per year around the tex live code freeze) and checked afterwards for differences. We could save some bytes by sharing variant tables but it's not worth the trouble. Some additional data is kept in other files. + +For a generic subset of the data here, run "context luatex-basics-prepare.tex" after +adapting this file. ]]-- local variants_emoji={ @@ -15430,8 +15433,8 @@ characters.data={ }, [0x60C]={ adobename="commaarabic", - contextname="arabiccomma", category="po", + contextname="arabiccomma", description="ARABIC COMMA", direction="cs", linebreak="is", @@ -20729,6 +20732,8 @@ characters.data={ category="mn", description="DEVANAGARI SIGN INVERTED CANDRABINDU", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0x900, }, @@ -20737,6 +20742,8 @@ characters.data={ category="mn", description="DEVANAGARI SIGN CANDRABINDU", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", synonyms={ "devanagari anunasika" }, unicodeslot=0x901, @@ -20746,6 +20753,8 @@ characters.data={ category="mn", description="DEVANAGARI SIGN ANUSVARA", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", synonyms={ "devanagari bindu" }, unicodeslot=0x902, @@ -20755,6 +20764,8 @@ characters.data={ category="mc", description="DEVANAGARI SIGN VISARGA", direction="l", + indic="m", + indicmark="r", linebreak="cm", unicodeslot=0x903, }, @@ -20762,6 +20773,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER SHORT A", direction="l", + indic="i", linebreak="al", unicodeslot=0x904, }, @@ -20770,6 +20782,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER A", direction="l", + indic="i", linebreak="al", unicodeslot=0x905, }, @@ -20778,6 +20791,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER AA", direction="l", + indic="i", linebreak="al", unicodeslot=0x906, }, @@ -20786,6 +20800,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER I", direction="l", + indic="i", linebreak="al", unicodeslot=0x907, }, @@ -20794,6 +20809,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER II", direction="l", + indic="i", linebreak="al", unicodeslot=0x908, }, @@ -20802,6 +20818,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER U", direction="l", + indic="i", linebreak="al", unicodeslot=0x909, }, @@ -20810,6 +20827,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER UU", direction="l", + indic="i", linebreak="al", unicodeslot=0x90A, }, @@ -20818,6 +20836,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER VOCALIC R", direction="l", + indic="i", linebreak="al", unicodeslot=0x90B, }, @@ -20826,6 +20845,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER VOCALIC L", direction="l", + indic="i", linebreak="al", unicodeslot=0x90C, }, @@ -20834,6 +20854,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER CANDRA E", direction="l", + indic="i", linebreak="al", unicodeslot=0x90D, }, @@ -20842,6 +20863,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER SHORT E", direction="l", + indic="i", linebreak="al", unicodeslot=0x90E, }, @@ -20850,6 +20872,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER E", direction="l", + indic="i", linebreak="al", unicodeslot=0x90F, }, @@ -20858,6 +20881,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER AI", direction="l", + indic="i", linebreak="al", unicodeslot=0x910, }, @@ -20866,6 +20890,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER CANDRA O", direction="l", + indic="i", linebreak="al", unicodeslot=0x911, }, @@ -20874,6 +20899,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER SHORT O", direction="l", + indic="i", linebreak="al", unicodeslot=0x912, }, @@ -20882,6 +20908,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER O", direction="l", + indic="i", linebreak="al", unicodeslot=0x913, }, @@ -20890,6 +20917,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER AU", direction="l", + indic="i", linebreak="al", unicodeslot=0x914, }, @@ -20898,6 +20926,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER KA", direction="l", + indic="c", linebreak="al", unicodeslot=0x915, }, @@ -20906,6 +20935,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER KHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x916, }, @@ -20914,6 +20944,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER GA", direction="l", + indic="c", linebreak="al", unicodeslot=0x917, }, @@ -20922,6 +20953,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER GHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x918, }, @@ -20930,6 +20962,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER NGA", direction="l", + indic="c", linebreak="al", unicodeslot=0x919, }, @@ -20938,6 +20971,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER CA", direction="l", + indic="c", linebreak="al", unicodeslot=0x91A, }, @@ -20946,6 +20980,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER CHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x91B, }, @@ -20954,6 +20989,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER JA", direction="l", + indic="c", linebreak="al", unicodeslot=0x91C, }, @@ -20962,6 +20998,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER JHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x91D, }, @@ -20970,6 +21007,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER NYA", direction="l", + indic="c", linebreak="al", unicodeslot=0x91E, }, @@ -20978,6 +21016,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER TTA", direction="l", + indic="c", linebreak="al", unicodeslot=0x91F, }, @@ -20986,6 +21025,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER TTHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x920, }, @@ -20994,6 +21034,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER DDA", direction="l", + indic="c", linebreak="al", unicodeslot=0x921, }, @@ -21002,6 +21043,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER DDHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x922, }, @@ -21010,6 +21052,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER NNA", direction="l", + indic="c", linebreak="al", unicodeslot=0x923, }, @@ -21018,6 +21061,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER TA", direction="l", + indic="c", linebreak="al", unicodeslot=0x924, }, @@ -21026,6 +21070,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER THA", direction="l", + indic="c", linebreak="al", unicodeslot=0x925, }, @@ -21034,6 +21079,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER DA", direction="l", + indic="c", linebreak="al", unicodeslot=0x926, }, @@ -21042,6 +21088,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER DHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x927, }, @@ -21050,6 +21097,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER NA", direction="l", + indic="c", linebreak="al", unicodeslot=0x928, }, @@ -21058,6 +21106,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER NNNA", direction="l", + indic="c", linebreak="al", specials={ "char", 0x928, 0x93C }, unicodeslot=0x929, @@ -21067,6 +21116,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER PA", direction="l", + indic="c", linebreak="al", unicodeslot=0x92A, }, @@ -21075,6 +21125,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER PHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x92B, }, @@ -21083,6 +21134,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER BA", direction="l", + indic="c", linebreak="al", unicodeslot=0x92C, }, @@ -21091,6 +21143,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER BHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x92D, }, @@ -21099,6 +21152,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER MA", direction="l", + indic="c", linebreak="al", unicodeslot=0x92E, }, @@ -21107,6 +21161,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER YA", direction="l", + indic="c", linebreak="al", unicodeslot=0x92F, }, @@ -21115,6 +21170,9 @@ characters.data={ category="lo", description="DEVANAGARI LETTER RA", direction="l", + indic="c", + indicclass="ra", + indicorder="bp", linebreak="al", unicodeslot=0x930, }, @@ -21123,6 +21181,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER RRA", direction="l", + indic="c", linebreak="al", specials={ "char", 0x930, 0x93C }, unicodeslot=0x931, @@ -21132,6 +21191,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER LA", direction="l", + indic="c", linebreak="al", unicodeslot=0x932, }, @@ -21140,6 +21200,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER LLA", direction="l", + indic="c", linebreak="al", unicodeslot=0x933, }, @@ -21148,6 +21209,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER LLLA", direction="l", + indic="c", linebreak="al", specials={ "char", 0x933, 0x93C }, unicodeslot=0x934, @@ -21157,6 +21219,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER VA", direction="l", + indic="c", linebreak="al", unicodeslot=0x935, }, @@ -21165,6 +21228,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER SHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x936, }, @@ -21173,6 +21237,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER SSA", direction="l", + indic="c", linebreak="al", unicodeslot=0x937, }, @@ -21181,6 +21246,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER SA", direction="l", + indic="c", linebreak="al", unicodeslot=0x938, }, @@ -21189,6 +21255,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER HA", direction="l", + indic="c", linebreak="al", unicodeslot=0x939, }, @@ -21196,6 +21263,8 @@ characters.data={ category="mn", description="DEVANAGARI VOWEL SIGN OE", direction="nsm", + indic="d", + indicmark="t", linebreak="cm", unicodeslot=0x93A, }, @@ -21203,6 +21272,8 @@ characters.data={ category="mc", description="DEVANAGARI VOWEL SIGN OOE", direction="l", + indic="d", + indicmark="r", linebreak="cm", unicodeslot=0x93B, }, @@ -21212,6 +21283,9 @@ characters.data={ combining=0x7, description="DEVANAGARI SIGN NUKTA", direction="nsm", + indic="o", + indicmark="b", + indicclass="nukta", linebreak="cm", unicodeslot=0x93C, }, @@ -21220,6 +21294,7 @@ characters.data={ category="lo", description="DEVANAGARI SIGN AVAGRAHA", direction="l", + indic="o", linebreak="al", unicodeslot=0x93D, }, @@ -21228,6 +21303,9 @@ characters.data={ category="mc", description="DEVANAGARI VOWEL SIGN AA", direction="l", + indic="d", + indicmark="r", + indicorder="as", linebreak="cm", unicodeslot=0x93E, }, @@ -21236,6 +21314,9 @@ characters.data={ category="mc", description="DEVANAGARI VOWEL SIGN I", direction="l", + indic="d", + indicmark="l", + indicorder="bh", linebreak="cm", unicodeslot=0x93F, }, @@ -21244,6 +21325,9 @@ characters.data={ category="mc", description="DEVANAGARI VOWEL SIGN II", direction="l", + indic="d", + indicmark="r", + indicorder="as", linebreak="cm", unicodeslot=0x940, }, @@ -21252,6 +21336,9 @@ characters.data={ category="mn", description="DEVANAGARI VOWEL SIGN U", direction="nsm", + indic="d", + indicmark="b", + indicorder="as", linebreak="cm", unicodeslot=0x941, }, @@ -21260,6 +21347,9 @@ characters.data={ category="mn", description="DEVANAGARI VOWEL SIGN UU", direction="nsm", + indic="d", + indicmark="b", + indicorder="as", linebreak="cm", unicodeslot=0x942, }, @@ -21268,6 +21358,9 @@ characters.data={ category="mn", description="DEVANAGARI VOWEL SIGN VOCALIC R", direction="nsm", + indic="d", + indicmark="b", + indicorder="as", linebreak="cm", unicodeslot=0x943, }, @@ -21276,6 +21369,9 @@ characters.data={ category="mn", description="DEVANAGARI VOWEL SIGN VOCALIC RR", direction="nsm", + indic="d", + indicmark="b", + indicorder="as", linebreak="cm", unicodeslot=0x944, }, @@ -21284,6 +21380,9 @@ characters.data={ category="mn", description="DEVANAGARI VOWEL SIGN CANDRA E", direction="nsm", + indic="d", + indicmark="t", + indicorder="as", linebreak="cm", unicodeslot=0x945, }, @@ -21292,6 +21391,9 @@ characters.data={ category="mn", description="DEVANAGARI VOWEL SIGN SHORT E", direction="nsm", + indic="d", + indicmark="t", + indicorder="as", linebreak="cm", unicodeslot=0x946, }, @@ -21300,6 +21402,9 @@ characters.data={ category="mn", description="DEVANAGARI VOWEL SIGN E", direction="nsm", + indic="d", + indicmark="t", + indicorder="as", linebreak="cm", unicodeslot=0x947, }, @@ -21308,6 +21413,9 @@ characters.data={ category="mn", description="DEVANAGARI VOWEL SIGN AI", direction="nsm", + indic="d", + indicmark="t", + indicorder="as", linebreak="cm", unicodeslot=0x948, }, @@ -21316,6 +21424,9 @@ characters.data={ category="mc", description="DEVANAGARI VOWEL SIGN CANDRA O", direction="l", + indic="d", + indicmark="r", + indicorder="as", linebreak="cm", unicodeslot=0x949, }, @@ -21324,6 +21435,9 @@ characters.data={ category="mc", description="DEVANAGARI VOWEL SIGN SHORT O", direction="l", + indic="d", + indicmark="r", + indicorder="as", linebreak="cm", unicodeslot=0x94A, }, @@ -21332,6 +21446,9 @@ characters.data={ category="mc", description="DEVANAGARI VOWEL SIGN O", direction="l", + indic="d", + indicmark="r", + indicorder="as", linebreak="cm", unicodeslot=0x94B, }, @@ -21340,6 +21457,9 @@ characters.data={ category="mc", description="DEVANAGARI VOWEL SIGN AU", direction="l", + indic="d", + indicmark="r", + indicorder="as", linebreak="cm", unicodeslot=0x94C, }, @@ -21349,6 +21469,9 @@ characters.data={ combining=0x9, description="DEVANAGARI SIGN VIRAMA", direction="nsm", + indic="o", + indicclass="halant", + indicmark="b", linebreak="cm", synonyms={ "halant" }, unicodeslot=0x94D, @@ -21357,6 +21480,9 @@ characters.data={ category="mc", description="DEVANAGARI VOWEL SIGN PRISHTHAMATRA E", direction="l", + indic="d", + indicmark="l", + indicorder="bh", linebreak="cm", unicodeslot=0x94E, }, @@ -21364,6 +21490,8 @@ characters.data={ category="mc", description="DEVANAGARI VOWEL SIGN AW", direction="l", + indic="d", + indicmark="r", linebreak="cm", unicodeslot=0x94F, }, @@ -21372,6 +21500,7 @@ characters.data={ category="lo", description="DEVANAGARI OM", direction="l", + indic="o", linebreak="al", unicodeslot=0x950, }, @@ -21381,6 +21510,8 @@ characters.data={ combining=0xE6, description="DEVANAGARI STRESS SIGN UDATTA", direction="nsm", + indic="s", + indicmark="t", linebreak="cm", unicodeslot=0x951, }, @@ -21390,6 +21521,9 @@ characters.data={ combining=0xDC, description="DEVANAGARI STRESS SIGN ANUDATTA", direction="nsm", + indic="s", + indicmark="b", + indicclass="anudatta", linebreak="cm", unicodeslot=0x952, }, @@ -21399,6 +21533,8 @@ characters.data={ combining=0xE6, description="DEVANAGARI GRAVE ACCENT", direction="nsm", + indic="s", + indicmark="t", linebreak="cm", unicodeslot=0x953, }, @@ -21408,6 +21544,8 @@ characters.data={ combining=0xE6, description="DEVANAGARI ACUTE ACCENT", direction="nsm", + indic="s", + indicmark="t", linebreak="cm", unicodeslot=0x954, }, @@ -21415,6 +21553,8 @@ characters.data={ category="mn", description="DEVANAGARI VOWEL SIGN CANDRA LONG E", direction="nsm", + indic="d", + indicmark="t", linebreak="cm", unicodeslot=0x955, }, @@ -21422,6 +21562,8 @@ characters.data={ category="mn", description="DEVANAGARI VOWEL SIGN UE", direction="nsm", + indic="d", + indicmark="b", linebreak="cm", unicodeslot=0x956, }, @@ -21429,6 +21571,8 @@ characters.data={ category="mn", description="DEVANAGARI VOWEL SIGN UUE", direction="nsm", + indic="d", + indicmark="b", linebreak="cm", unicodeslot=0x957, }, @@ -21437,6 +21581,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER QA", direction="l", + indic="c", linebreak="al", specials={ "char", 0x915, 0x93C }, unicodeslot=0x958, @@ -21446,6 +21591,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER KHHA", direction="l", + indic="c", linebreak="al", specials={ "char", 0x916, 0x93C }, unicodeslot=0x959, @@ -21455,6 +21601,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER GHHA", direction="l", + indic="c", linebreak="al", specials={ "char", 0x917, 0x93C }, unicodeslot=0x95A, @@ -21464,6 +21611,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER ZA", direction="l", + indic="c", linebreak="al", specials={ "char", 0x91C, 0x93C }, unicodeslot=0x95B, @@ -21473,6 +21621,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER DDDHA", direction="l", + indic="c", linebreak="al", specials={ "char", 0x921, 0x93C }, unicodeslot=0x95C, @@ -21482,6 +21631,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER RHA", direction="l", + indic="c", linebreak="al", specials={ "char", 0x922, 0x93C }, unicodeslot=0x95D, @@ -21491,6 +21641,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER FA", direction="l", + indic="c", linebreak="al", specials={ "char", 0x92B, 0x93C }, unicodeslot=0x95E, @@ -21500,6 +21651,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER YYA", direction="l", + indic="c", linebreak="al", specials={ "char", 0x92F, 0x93C }, unicodeslot=0x95F, @@ -21509,6 +21661,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER VOCALIC RR", direction="l", + indic="i", linebreak="al", unicodeslot=0x960, }, @@ -21517,6 +21670,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER VOCALIC LL", direction="l", + indic="i", linebreak="al", unicodeslot=0x961, }, @@ -21525,6 +21679,9 @@ characters.data={ category="mn", description="DEVANAGARI VOWEL SIGN VOCALIC L", direction="nsm", + indic="d", + indicmark="b", + indicorder="as", linebreak="cm", unicodeslot=0x962, }, @@ -21533,6 +21690,9 @@ characters.data={ category="mn", description="DEVANAGARI VOWEL SIGN VOCALIC LL", direction="nsm", + indic="d", + indicmark="b", + indicorder="as", linebreak="cm", unicodeslot=0x963, }, @@ -21541,6 +21701,7 @@ characters.data={ category="po", description="DEVANAGARI DANDA", direction="l", + indic="o", linebreak="ba", synonyms={ "devanagari phrase separator", "devanagari purna viram" }, unicodeslot=0x964, @@ -21550,6 +21711,7 @@ characters.data={ category="po", description="DEVANAGARI DOUBLE DANDA", direction="l", + indic="o", linebreak="ba", synonyms={ "devanagari deergh viram" }, unicodeslot=0x965, @@ -21559,6 +21721,7 @@ characters.data={ category="nd", description="DEVANAGARI DIGIT ZERO", direction="l", + indic="o", linebreak="nu", unicodeslot=0x966, }, @@ -21567,6 +21730,7 @@ characters.data={ category="nd", description="DEVANAGARI DIGIT ONE", direction="l", + indic="o", linebreak="nu", unicodeslot=0x967, }, @@ -21575,6 +21739,7 @@ characters.data={ category="nd", description="DEVANAGARI DIGIT TWO", direction="l", + indic="o", linebreak="nu", unicodeslot=0x968, }, @@ -21583,6 +21748,7 @@ characters.data={ category="nd", description="DEVANAGARI DIGIT THREE", direction="l", + indic="o", linebreak="nu", unicodeslot=0x969, }, @@ -21591,6 +21757,7 @@ characters.data={ category="nd", description="DEVANAGARI DIGIT FOUR", direction="l", + indic="o", linebreak="nu", unicodeslot=0x96A, }, @@ -21599,6 +21766,7 @@ characters.data={ category="nd", description="DEVANAGARI DIGIT FIVE", direction="l", + indic="o", linebreak="nu", unicodeslot=0x96B, }, @@ -21607,6 +21775,7 @@ characters.data={ category="nd", description="DEVANAGARI DIGIT SIX", direction="l", + indic="o", linebreak="nu", unicodeslot=0x96C, }, @@ -21615,6 +21784,7 @@ characters.data={ category="nd", description="DEVANAGARI DIGIT SEVEN", direction="l", + indic="o", linebreak="nu", unicodeslot=0x96D, }, @@ -21623,6 +21793,7 @@ characters.data={ category="nd", description="DEVANAGARI DIGIT EIGHT", direction="l", + indic="o", linebreak="nu", unicodeslot=0x96E, }, @@ -21631,6 +21802,7 @@ characters.data={ category="nd", description="DEVANAGARI DIGIT NINE", direction="l", + indic="o", linebreak="nu", unicodeslot=0x96F, }, @@ -21639,6 +21811,7 @@ characters.data={ category="po", description="DEVANAGARI ABBREVIATION SIGN", direction="l", + indic="o", linebreak="al", unicodeslot=0x970, }, @@ -21646,6 +21819,7 @@ characters.data={ category="lm", description="DEVANAGARI SIGN HIGH SPACING DOT", direction="l", + indic="o", linebreak="al", unicodeslot=0x971, }, @@ -21653,6 +21827,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER CANDRA A", direction="l", + indic="i", linebreak="al", unicodeslot=0x972, }, @@ -21660,6 +21835,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER OE", direction="l", + indic="i", linebreak="al", unicodeslot=0x973, }, @@ -21667,6 +21843,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER OOE", direction="l", + indic="i", linebreak="al", unicodeslot=0x974, }, @@ -21674,6 +21851,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER AW", direction="l", + indic="i", linebreak="al", unicodeslot=0x975, }, @@ -21681,6 +21859,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER UE", direction="l", + indic="i", linebreak="al", unicodeslot=0x976, }, @@ -21688,6 +21867,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER UUE", direction="l", + indic="i", linebreak="al", unicodeslot=0x977, }, @@ -21695,6 +21875,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER MARWARI DDA", direction="l", + indic="c", linebreak="al", unicodeslot=0x978, }, @@ -21702,6 +21883,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER ZHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x979, }, @@ -21709,6 +21891,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER HEAVY YA", direction="l", + indic="c", linebreak="al", unicodeslot=0x97A, }, @@ -21716,6 +21899,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER GGA", direction="l", + indic="o", linebreak="al", unicodeslot=0x97B, }, @@ -21723,6 +21907,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER JJA", direction="l", + indic="o", linebreak="al", unicodeslot=0x97C, }, @@ -21730,6 +21915,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER GLOTTAL STOP", direction="l", + indic="o", linebreak="al", unicodeslot=0x97D, }, @@ -21737,6 +21923,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER DDDA", direction="l", + indic="o", linebreak="al", unicodeslot=0x97E, }, @@ -21744,6 +21931,7 @@ characters.data={ category="lo", description="DEVANAGARI LETTER BBA", direction="l", + indic="o", linebreak="al", unicodeslot=0x97F, }, @@ -21751,6 +21939,7 @@ characters.data={ category="lo", description="BENGALI ANJI", direction="l", + indic="o", linebreak="al", unicodeslot=0x980, }, @@ -21759,6 +21948,8 @@ characters.data={ category="mn", description="BENGALI SIGN CANDRABINDU", direction="nsm", + indic="o", + indicorder="ap", linebreak="cm", unicodeslot=0x981, }, @@ -21767,6 +21958,7 @@ characters.data={ category="mc", description="BENGALI SIGN ANUSVARA", direction="l", + indic="o", linebreak="cm", unicodeslot=0x982, }, @@ -21775,6 +21967,7 @@ characters.data={ category="mc", description="BENGALI SIGN VISARGA", direction="l", + indic="o", linebreak="cm", unicodeslot=0x983, }, @@ -21783,6 +21976,7 @@ characters.data={ category="lo", description="BENGALI LETTER A", direction="l", + indic="i", linebreak="al", unicodeslot=0x985, }, @@ -21791,6 +21985,7 @@ characters.data={ category="lo", description="BENGALI LETTER AA", direction="l", + indic="i", linebreak="al", unicodeslot=0x986, }, @@ -21799,6 +21994,7 @@ characters.data={ category="lo", description="BENGALI LETTER I", direction="l", + indic="i", linebreak="al", unicodeslot=0x987, }, @@ -21807,6 +22003,7 @@ characters.data={ category="lo", description="BENGALI LETTER II", direction="l", + indic="i", linebreak="al", unicodeslot=0x988, }, @@ -21815,6 +22012,7 @@ characters.data={ category="lo", description="BENGALI LETTER U", direction="l", + indic="i", linebreak="al", unicodeslot=0x989, }, @@ -21823,6 +22021,7 @@ characters.data={ category="lo", description="BENGALI LETTER UU", direction="l", + indic="i", linebreak="al", unicodeslot=0x98A, }, @@ -21831,6 +22030,7 @@ characters.data={ category="lo", description="BENGALI LETTER VOCALIC R", direction="l", + indic="i", linebreak="al", unicodeslot=0x98B, }, @@ -21839,6 +22039,7 @@ characters.data={ category="lo", description="BENGALI LETTER VOCALIC L", direction="l", + indic="i", linebreak="al", unicodeslot=0x98C, }, @@ -21847,6 +22048,7 @@ characters.data={ category="lo", description="BENGALI LETTER E", direction="l", + indic="i", linebreak="al", unicodeslot=0x98F, }, @@ -21855,6 +22057,7 @@ characters.data={ category="lo", description="BENGALI LETTER AI", direction="l", + indic="i", linebreak="al", unicodeslot=0x990, }, @@ -21863,6 +22066,7 @@ characters.data={ category="lo", description="BENGALI LETTER O", direction="l", + indic="i", linebreak="al", unicodeslot=0x993, }, @@ -21871,6 +22075,7 @@ characters.data={ category="lo", description="BENGALI LETTER AU", direction="l", + indic="i", linebreak="al", unicodeslot=0x994, }, @@ -21879,6 +22084,7 @@ characters.data={ category="lo", description="BENGALI LETTER KA", direction="l", + indic="c", linebreak="al", unicodeslot=0x995, }, @@ -21887,6 +22093,7 @@ characters.data={ category="lo", description="BENGALI LETTER KHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x996, }, @@ -21895,6 +22102,7 @@ characters.data={ category="lo", description="BENGALI LETTER GA", direction="l", + indic="c", linebreak="al", unicodeslot=0x997, }, @@ -21903,6 +22111,7 @@ characters.data={ category="lo", description="BENGALI LETTER GHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x998, }, @@ -21911,6 +22120,7 @@ characters.data={ category="lo", description="BENGALI LETTER NGA", direction="l", + indic="c", linebreak="al", unicodeslot=0x999, }, @@ -21919,6 +22129,7 @@ characters.data={ category="lo", description="BENGALI LETTER CA", direction="l", + indic="c", linebreak="al", unicodeslot=0x99A, }, @@ -21927,6 +22138,7 @@ characters.data={ category="lo", description="BENGALI LETTER CHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x99B, }, @@ -21935,6 +22147,7 @@ characters.data={ category="lo", description="BENGALI LETTER JA", direction="l", + indic="c", linebreak="al", unicodeslot=0x99C, }, @@ -21943,6 +22156,7 @@ characters.data={ category="lo", description="BENGALI LETTER JHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x99D, }, @@ -21951,6 +22165,7 @@ characters.data={ category="lo", description="BENGALI LETTER NYA", direction="l", + indic="c", linebreak="al", unicodeslot=0x99E, }, @@ -21959,6 +22174,7 @@ characters.data={ category="lo", description="BENGALI LETTER TTA", direction="l", + indic="c", linebreak="al", unicodeslot=0x99F, }, @@ -21967,6 +22183,7 @@ characters.data={ category="lo", description="BENGALI LETTER TTHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9A0, }, @@ -21975,6 +22192,7 @@ characters.data={ category="lo", description="BENGALI LETTER DDA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9A1, }, @@ -21983,6 +22201,7 @@ characters.data={ category="lo", description="BENGALI LETTER DDHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9A2, }, @@ -21991,6 +22210,7 @@ characters.data={ category="lo", description="BENGALI LETTER NNA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9A3, }, @@ -21999,6 +22219,7 @@ characters.data={ category="lo", description="BENGALI LETTER TA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9A4, }, @@ -22007,6 +22228,7 @@ characters.data={ category="lo", description="BENGALI LETTER THA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9A5, }, @@ -22015,6 +22237,7 @@ characters.data={ category="lo", description="BENGALI LETTER DA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9A6, }, @@ -22023,6 +22246,7 @@ characters.data={ category="lo", description="BENGALI LETTER DHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9A7, }, @@ -22031,6 +22255,7 @@ characters.data={ category="lo", description="BENGALI LETTER NA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9A8, }, @@ -22039,6 +22264,7 @@ characters.data={ category="lo", description="BENGALI LETTER PA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9AA, }, @@ -22047,6 +22273,7 @@ characters.data={ category="lo", description="BENGALI LETTER PHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9AB, }, @@ -22055,6 +22282,7 @@ characters.data={ category="lo", description="BENGALI LETTER BA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9AC, }, @@ -22063,6 +22291,7 @@ characters.data={ category="lo", description="BENGALI LETTER BHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9AD, }, @@ -22071,6 +22300,7 @@ characters.data={ category="lo", description="BENGALI LETTER MA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9AE, }, @@ -22079,6 +22309,7 @@ characters.data={ category="lo", description="BENGALI LETTER YA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9AF, }, @@ -22087,6 +22318,9 @@ characters.data={ category="lo", description="BENGALI LETTER RA", direction="l", + indic="c", + indicclass="ra", + indicorder="as", linebreak="al", unicodeslot=0x9B0, }, @@ -22095,6 +22329,7 @@ characters.data={ category="lo", description="BENGALI LETTER LA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9B2, }, @@ -22103,6 +22338,7 @@ characters.data={ category="lo", description="BENGALI LETTER SHA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9B6, }, @@ -22111,6 +22347,7 @@ characters.data={ category="lo", description="BENGALI LETTER SSA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9B7, }, @@ -22119,6 +22356,7 @@ characters.data={ category="lo", description="BENGALI LETTER SA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9B8, }, @@ -22127,6 +22365,7 @@ characters.data={ category="lo", description="BENGALI LETTER HA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9B9, }, @@ -22136,6 +22375,9 @@ characters.data={ combining=0x7, description="BENGALI SIGN NUKTA", direction="nsm", + indic="o", + indicmark="b", + indicclass="nukta", linebreak="cm", unicodeslot=0x9BC, }, @@ -22143,6 +22385,7 @@ characters.data={ category="lo", description="BENGALI SIGN AVAGRAHA", direction="l", + indic="o", linebreak="al", unicodeslot=0x9BD, }, @@ -22151,6 +22394,9 @@ characters.data={ category="mc", description="BENGALI VOWEL SIGN AA", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0x9BE, }, @@ -22159,6 +22405,9 @@ characters.data={ category="mc", description="BENGALI VOWEL SIGN I", direction="l", + indic="d", + indicmark="l", + indicorder="bh", linebreak="cm", unicodeslot=0x9BF, }, @@ -22167,6 +22416,9 @@ characters.data={ category="mc", description="BENGALI VOWEL SIGN II", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0x9C0, }, @@ -22175,6 +22427,9 @@ characters.data={ category="mn", description="BENGALI VOWEL SIGN U", direction="nsm", + indic="d", + indicmark="b", + indicorder="as", linebreak="cm", unicodeslot=0x9C1, }, @@ -22183,6 +22438,9 @@ characters.data={ category="mn", description="BENGALI VOWEL SIGN UU", direction="nsm", + indic="d", + indicmark="b", + indicorder="as", linebreak="cm", unicodeslot=0x9C2, }, @@ -22191,6 +22449,9 @@ characters.data={ category="mn", description="BENGALI VOWEL SIGN VOCALIC R", direction="nsm", + indic="d", + indicmark="b", + indicorder="as", linebreak="cm", unicodeslot=0x9C3, }, @@ -22199,6 +22460,9 @@ characters.data={ category="mn", description="BENGALI VOWEL SIGN VOCALIC RR", direction="nsm", + indic="d", + indicmark="b", + indicorder="as", linebreak="cm", unicodeslot=0x9C4, }, @@ -22207,6 +22471,9 @@ characters.data={ category="mc", description="BENGALI VOWEL SIGN E", direction="l", + indic="d", + indicmark="r", + indicorder="bh", linebreak="cm", unicodeslot=0x9C7, }, @@ -22215,6 +22482,9 @@ characters.data={ category="mc", description="BENGALI VOWEL SIGN AI", direction="l", + indic="d", + indicmark="r", + indicorder="bh", linebreak="cm", unicodeslot=0x9C8, }, @@ -22223,6 +22493,7 @@ characters.data={ category="mc", description="BENGALI VOWEL SIGN O", direction="l", + indic="s", linebreak="cm", specials={ "char", 0x9C7, 0x9BE }, unicodeslot=0x9CB, @@ -22232,6 +22503,7 @@ characters.data={ category="mc", description="BENGALI VOWEL SIGN AU", direction="l", + indic="s", linebreak="cm", specials={ "char", 0x9C7, 0x9D7 }, unicodeslot=0x9CC, @@ -22242,6 +22514,9 @@ characters.data={ combining=0x9, description="BENGALI SIGN VIRAMA", direction="nsm", + indic="o", + indicclass="halant", + indicmark="b", linebreak="cm", synonyms={ "bengali hasant" }, unicodeslot=0x9CD, @@ -22250,6 +22525,7 @@ characters.data={ category="lo", description="BENGALI LETTER KHANDA TA", direction="l", + indic="c", linebreak="al", unicodeslot=0x9CE, }, @@ -22258,6 +22534,8 @@ characters.data={ category="mc", description="BENGALI AU LENGTH MARK", direction="l", + indic="o", + indicorder="ap", linebreak="cm", unicodeslot=0x9D7, }, @@ -22266,6 +22544,7 @@ characters.data={ category="lo", description="BENGALI LETTER RRA", direction="l", + indic="c", linebreak="al", specials={ "char", 0x9A1, 0x9BC }, unicodeslot=0x9DC, @@ -22275,6 +22554,7 @@ characters.data={ category="lo", description="BENGALI LETTER RHA", direction="l", + indic="c", linebreak="al", specials={ "char", 0x9A2, 0x9BC }, unicodeslot=0x9DD, @@ -22284,6 +22564,7 @@ characters.data={ category="lo", description="BENGALI LETTER YYA", direction="l", + indic="c", linebreak="al", specials={ "char", 0x9AF, 0x9BC }, unicodeslot=0x9DF, @@ -22293,6 +22574,7 @@ characters.data={ category="lo", description="BENGALI LETTER VOCALIC RR", direction="l", + indic="i", linebreak="al", unicodeslot=0x9E0, }, @@ -22301,6 +22583,7 @@ characters.data={ category="lo", description="BENGALI LETTER VOCALIC LL", direction="l", + indic="i", linebreak="al", unicodeslot=0x9E1, }, @@ -22309,6 +22592,8 @@ characters.data={ category="mn", description="BENGALI VOWEL SIGN VOCALIC L", direction="nsm", + indic="i", + indicorder="as", linebreak="cm", unicodeslot=0x9E2, }, @@ -22317,6 +22602,8 @@ characters.data={ category="mn", description="BENGALI VOWEL SIGN VOCALIC LL", direction="nsm", + indic="i", + indicorder="as", linebreak="cm", unicodeslot=0x9E3, }, @@ -22325,6 +22612,7 @@ characters.data={ category="nd", description="BENGALI DIGIT ZERO", direction="l", + indic="o", linebreak="nu", unicodeslot=0x9E6, }, @@ -22333,6 +22621,7 @@ characters.data={ category="nd", description="BENGALI DIGIT ONE", direction="l", + indic="o", linebreak="nu", unicodeslot=0x9E7, }, @@ -22341,6 +22630,7 @@ characters.data={ category="nd", description="BENGALI DIGIT TWO", direction="l", + indic="o", linebreak="nu", unicodeslot=0x9E8, }, @@ -22349,6 +22639,7 @@ characters.data={ category="nd", description="BENGALI DIGIT THREE", direction="l", + indic="o", linebreak="nu", unicodeslot=0x9E9, }, @@ -22357,6 +22648,7 @@ characters.data={ category="nd", description="BENGALI DIGIT FOUR", direction="l", + indic="o", linebreak="nu", unicodeslot=0x9EA, }, @@ -22365,6 +22657,7 @@ characters.data={ category="nd", description="BENGALI DIGIT FIVE", direction="l", + indic="o", linebreak="nu", unicodeslot=0x9EB, }, @@ -22373,6 +22666,7 @@ characters.data={ category="nd", description="BENGALI DIGIT SIX", direction="l", + indic="o", linebreak="nu", unicodeslot=0x9EC, }, @@ -22381,6 +22675,7 @@ characters.data={ category="nd", description="BENGALI DIGIT SEVEN", direction="l", + indic="o", linebreak="nu", unicodeslot=0x9ED, }, @@ -22389,6 +22684,7 @@ characters.data={ category="nd", description="BENGALI DIGIT EIGHT", direction="l", + indic="o", linebreak="nu", unicodeslot=0x9EE, }, @@ -22397,6 +22693,7 @@ characters.data={ category="nd", description="BENGALI DIGIT NINE", direction="l", + indic="o", linebreak="nu", unicodeslot=0x9EF, }, @@ -22405,6 +22702,8 @@ characters.data={ category="lo", description="BENGALI LETTER RA WITH MIDDLE DIAGONAL", direction="l", + indic="o", + indicorder="as", linebreak="al", shcode=0x9B0, unicodeslot=0x9F0, @@ -22414,6 +22713,7 @@ characters.data={ category="lo", description="BENGALI LETTER RA WITH LOWER DIAGONAL", direction="l", + indic="o", linebreak="al", shcode=0x9B0, unicodeslot=0x9F1, @@ -22423,6 +22723,7 @@ characters.data={ category="sc", description="BENGALI RUPEE MARK", direction="et", + indic="o", linebreak="po", unicodeslot=0x9F2, }, @@ -22431,6 +22732,7 @@ characters.data={ category="sc", description="BENGALI RUPEE SIGN", direction="et", + indic="o", linebreak="po", unicodeslot=0x9F3, }, @@ -22439,6 +22741,7 @@ characters.data={ category="no", description="BENGALI CURRENCY NUMERATOR ONE", direction="l", + indic="o", linebreak="al", unicodeslot=0x9F4, }, @@ -22447,6 +22750,7 @@ characters.data={ category="no", description="BENGALI CURRENCY NUMERATOR TWO", direction="l", + indic="o", linebreak="al", unicodeslot=0x9F5, }, @@ -22455,6 +22759,7 @@ characters.data={ category="no", description="BENGALI CURRENCY NUMERATOR THREE", direction="l", + indic="o", linebreak="al", unicodeslot=0x9F6, }, @@ -22463,6 +22768,7 @@ characters.data={ category="no", description="BENGALI CURRENCY NUMERATOR FOUR", direction="l", + indic="o", linebreak="al", unicodeslot=0x9F7, }, @@ -22471,6 +22777,7 @@ characters.data={ category="no", description="BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR", direction="l", + indic="o", linebreak="al", unicodeslot=0x9F8, }, @@ -22479,6 +22786,7 @@ characters.data={ category="no", description="BENGALI CURRENCY DENOMINATOR SIXTEEN", direction="l", + indic="o", linebreak="po", unicodeslot=0x9F9, }, @@ -22487,6 +22795,7 @@ characters.data={ category="so", description="BENGALI ISSHAR", direction="l", + indic="o", linebreak="al", unicodeslot=0x9FA, }, @@ -22494,6 +22803,7 @@ characters.data={ category="sc", description="BENGALI GANDA MARK", direction="et", + indic="o", linebreak="pr", unicodeslot=0x9FB, }, @@ -22501,6 +22811,7 @@ characters.data={ category="lo", description="BENGALI LETTER VEDIC ANUSVARA", direction="l", + indic="o", linebreak="al", unicodeslot=0x9FC, }, @@ -22508,6 +22819,7 @@ characters.data={ category="po", description="BENGALI ABBREVIATION SIGN", direction="l", + indic="o", linebreak="al", unicodeslot=0x9FD, }, @@ -22515,6 +22827,8 @@ characters.data={ category="mn", description="GURMUKHI SIGN ADAK BINDI", direction="nsm", + indic="o", + indicorder="ap", linebreak="cm", unicodeslot=0xA01, }, @@ -22523,6 +22837,8 @@ characters.data={ category="mn", description="GURMUKHI SIGN BINDI", direction="nsm", + indic="o", + indicorder="ap", linebreak="cm", unicodeslot=0xA02, }, @@ -22530,6 +22846,7 @@ characters.data={ category="mc", description="GURMUKHI SIGN VISARGA", direction="l", + indic="o", linebreak="cm", unicodeslot=0xA03, }, @@ -22538,6 +22855,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER A", direction="l", + indic="i", linebreak="al", unicodeslot=0xA05, }, @@ -22546,6 +22864,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER AA", direction="l", + indic="i", linebreak="al", unicodeslot=0xA06, }, @@ -22554,6 +22873,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER I", direction="l", + indic="i", linebreak="al", unicodeslot=0xA07, }, @@ -22562,6 +22882,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER II", direction="l", + indic="i", linebreak="al", unicodeslot=0xA08, }, @@ -22570,6 +22891,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER U", direction="l", + indic="i", linebreak="al", unicodeslot=0xA09, }, @@ -22578,6 +22900,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER UU", direction="l", + indic="i", linebreak="al", unicodeslot=0xA0A, }, @@ -22586,6 +22909,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER EE", direction="l", + indic="i", linebreak="al", unicodeslot=0xA0F, }, @@ -22594,6 +22918,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER AI", direction="l", + indic="i", linebreak="al", unicodeslot=0xA10, }, @@ -22602,6 +22927,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER OO", direction="l", + indic="i", linebreak="al", unicodeslot=0xA13, }, @@ -22610,6 +22936,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER AU", direction="l", + indic="i", linebreak="al", unicodeslot=0xA14, }, @@ -22618,6 +22945,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER KA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA15, }, @@ -22626,6 +22954,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER KHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA16, }, @@ -22634,6 +22963,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER GA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA17, }, @@ -22642,6 +22972,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER GHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA18, }, @@ -22650,6 +22981,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER NGA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA19, }, @@ -22658,6 +22990,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER CA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA1A, }, @@ -22666,6 +22999,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER CHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA1B, }, @@ -22674,6 +23008,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER JA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA1C, }, @@ -22682,6 +23017,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER JHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA1D, }, @@ -22690,6 +23026,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER NYA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA1E, }, @@ -22698,6 +23035,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER TTA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA1F, }, @@ -22706,6 +23044,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER TTHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA20, }, @@ -22714,6 +23053,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER DDA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA21, }, @@ -22722,6 +23062,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER DDHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA22, }, @@ -22730,6 +23071,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER NNA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA23, }, @@ -22738,6 +23080,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER TA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA24, }, @@ -22746,6 +23089,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER THA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA25, }, @@ -22754,6 +23098,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER DA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA26, }, @@ -22762,6 +23107,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER DHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA27, }, @@ -22770,6 +23116,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER NA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA28, }, @@ -22778,6 +23125,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER PA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA2A, }, @@ -22786,6 +23134,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER PHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA2B, }, @@ -22794,6 +23143,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER BA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA2C, }, @@ -22802,6 +23152,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER BHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA2D, }, @@ -22810,6 +23161,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER MA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA2E, }, @@ -22818,6 +23170,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER YA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA2F, }, @@ -22826,6 +23179,9 @@ characters.data={ category="lo", description="GURMUKHI LETTER RA", direction="l", + indic="c", + indicclass="ra", + indicorder="bs", linebreak="al", unicodeslot=0xA30, }, @@ -22834,6 +23190,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER LA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA32, }, @@ -22841,6 +23198,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER LLA", direction="l", + indic="c", linebreak="al", specials={ "char", 0xA32, 0xA3C }, unicodeslot=0xA33, @@ -22850,6 +23208,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER VA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA35, }, @@ -22858,6 +23217,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER SHA", direction="l", + indic="c", linebreak="al", specials={ "char", 0xA38, 0xA3C }, unicodeslot=0xA36, @@ -22867,6 +23227,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER SA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA38, }, @@ -22875,6 +23236,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER HA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA39, }, @@ -22884,6 +23246,9 @@ characters.data={ combining=0x7, description="GURMUKHI SIGN NUKTA", direction="nsm", + indic="o", + indicmark="b", + indicclass="nukta", linebreak="cm", unicodeslot=0xA3C, }, @@ -22892,6 +23257,9 @@ characters.data={ category="mc", description="GURMUKHI VOWEL SIGN AA", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xA3E, }, @@ -22900,6 +23268,9 @@ characters.data={ category="mc", description="GURMUKHI VOWEL SIGN I", direction="l", + indic="d", + indicmark="l", + indicorder="bh", linebreak="cm", unicodeslot=0xA3F, }, @@ -22908,6 +23279,9 @@ characters.data={ category="mc", description="GURMUKHI VOWEL SIGN II", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xA40, }, @@ -22916,6 +23290,9 @@ characters.data={ category="mn", description="GURMUKHI VOWEL SIGN U", direction="nsm", + indic="d", + indicmark="b", + indicorder="ap", linebreak="cm", unicodeslot=0xA41, }, @@ -22924,6 +23301,9 @@ characters.data={ category="mn", description="GURMUKHI VOWEL SIGN UU", direction="nsm", + indic="d", + indicmark="b", + indicorder="ap", linebreak="cm", unicodeslot=0xA42, }, @@ -22932,6 +23312,9 @@ characters.data={ category="mn", description="GURMUKHI VOWEL SIGN EE", direction="nsm", + indic="d", + indicmark="t", + indicorder="as", linebreak="cm", unicodeslot=0xA47, }, @@ -22940,6 +23323,9 @@ characters.data={ category="mn", description="GURMUKHI VOWEL SIGN AI", direction="nsm", + indic="d", + indicmark="t", + indicorder="as", linebreak="cm", unicodeslot=0xA48, }, @@ -22948,6 +23334,9 @@ characters.data={ category="mn", description="GURMUKHI VOWEL SIGN OO", direction="nsm", + indic="d", + indicmark="t", + indicorder="as", linebreak="cm", unicodeslot=0xA4B, }, @@ -22956,6 +23345,9 @@ characters.data={ category="mn", description="GURMUKHI VOWEL SIGN AU", direction="nsm", + indic="d", + indicmark="t", + indicorder="as", linebreak="cm", unicodeslot=0xA4C, }, @@ -22965,6 +23357,9 @@ characters.data={ combining=0x9, description="GURMUKHI SIGN VIRAMA", direction="nsm", + indic="o", + indicclass="halant", + indicmark="b", linebreak="cm", unicodeslot=0xA4D, }, @@ -22972,6 +23367,7 @@ characters.data={ category="mn", description="GURMUKHI SIGN UDAAT", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xA51, }, @@ -22980,6 +23376,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER KHHA", direction="l", + indic="c", linebreak="al", specials={ "char", 0xA16, 0xA3C }, unicodeslot=0xA59, @@ -22989,6 +23386,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER GHHA", direction="l", + indic="c", linebreak="al", specials={ "char", 0xA17, 0xA3C }, unicodeslot=0xA5A, @@ -22998,6 +23396,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER ZA", direction="l", + indic="c", linebreak="al", specials={ "char", 0xA1C, 0xA3C }, unicodeslot=0xA5B, @@ -23007,6 +23406,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER RRA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA5C, }, @@ -23015,6 +23415,7 @@ characters.data={ category="lo", description="GURMUKHI LETTER FA", direction="l", + indic="c", linebreak="al", specials={ "char", 0xA2B, 0xA3C }, unicodeslot=0xA5E, @@ -23024,6 +23425,7 @@ characters.data={ category="nd", description="GURMUKHI DIGIT ZERO", direction="l", + indic="o", linebreak="nu", unicodeslot=0xA66, }, @@ -23032,6 +23434,7 @@ characters.data={ category="nd", description="GURMUKHI DIGIT ONE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xA67, }, @@ -23040,6 +23443,7 @@ characters.data={ category="nd", description="GURMUKHI DIGIT TWO", direction="l", + indic="o", linebreak="nu", unicodeslot=0xA68, }, @@ -23048,6 +23452,7 @@ characters.data={ category="nd", description="GURMUKHI DIGIT THREE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xA69, }, @@ -23056,6 +23461,7 @@ characters.data={ category="nd", description="GURMUKHI DIGIT FOUR", direction="l", + indic="o", linebreak="nu", unicodeslot=0xA6A, }, @@ -23064,6 +23470,7 @@ characters.data={ category="nd", description="GURMUKHI DIGIT FIVE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xA6B, }, @@ -23072,6 +23479,7 @@ characters.data={ category="nd", description="GURMUKHI DIGIT SIX", direction="l", + indic="o", linebreak="nu", unicodeslot=0xA6C, }, @@ -23080,6 +23488,7 @@ characters.data={ category="nd", description="GURMUKHI DIGIT SEVEN", direction="l", + indic="o", linebreak="nu", unicodeslot=0xA6D, }, @@ -23088,6 +23497,7 @@ characters.data={ category="nd", description="GURMUKHI DIGIT EIGHT", direction="l", + indic="o", linebreak="nu", unicodeslot=0xA6E, }, @@ -23096,6 +23506,7 @@ characters.data={ category="nd", description="GURMUKHI DIGIT NINE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xA6F, }, @@ -23104,6 +23515,8 @@ characters.data={ category="mn", description="GURMUKHI TIPPI", direction="nsm", + indic="o", + indicorder="ap", linebreak="cm", unicodeslot=0xA70, }, @@ -23112,6 +23525,8 @@ characters.data={ category="mn", description="GURMUKHI ADDAK", direction="nsm", + indic="o", + indicorder="ap", linebreak="cm", unicodeslot=0xA71, }, @@ -23120,6 +23535,7 @@ characters.data={ category="lo", description="GURMUKHI IRI", direction="l", + indic="o", linebreak="al", unicodeslot=0xA72, }, @@ -23128,6 +23544,7 @@ characters.data={ category="lo", description="GURMUKHI URA", direction="l", + indic="o", linebreak="al", unicodeslot=0xA73, }, @@ -23136,6 +23553,7 @@ characters.data={ category="lo", description="GURMUKHI EK ONKAR", direction="l", + indic="o", linebreak="al", unicodeslot=0xA74, }, @@ -23143,6 +23561,7 @@ characters.data={ category="mn", description="GURMUKHI SIGN YAKASH", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xA75, }, @@ -23151,6 +23570,7 @@ characters.data={ category="mn", description="GUJARATI SIGN CANDRABINDU", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xA81, }, @@ -23159,6 +23579,7 @@ characters.data={ category="mn", description="GUJARATI SIGN ANUSVARA", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xA82, }, @@ -23167,6 +23588,7 @@ characters.data={ category="mc", description="GUJARATI SIGN VISARGA", direction="l", + indic="o", linebreak="cm", unicodeslot=0xA83, }, @@ -23175,6 +23597,7 @@ characters.data={ category="lo", description="GUJARATI LETTER A", direction="l", + indic="i", linebreak="al", unicodeslot=0xA85, }, @@ -23183,6 +23606,7 @@ characters.data={ category="lo", description="GUJARATI LETTER AA", direction="l", + indic="i", linebreak="al", unicodeslot=0xA86, }, @@ -23191,6 +23615,7 @@ characters.data={ category="lo", description="GUJARATI LETTER I", direction="l", + indic="i", linebreak="al", unicodeslot=0xA87, }, @@ -23199,6 +23624,7 @@ characters.data={ category="lo", description="GUJARATI LETTER II", direction="l", + indic="i", linebreak="al", unicodeslot=0xA88, }, @@ -23207,6 +23633,7 @@ characters.data={ category="lo", description="GUJARATI LETTER U", direction="l", + indic="i", linebreak="al", unicodeslot=0xA89, }, @@ -23215,6 +23642,7 @@ characters.data={ category="lo", description="GUJARATI LETTER UU", direction="l", + indic="i", linebreak="al", unicodeslot=0xA8A, }, @@ -23223,6 +23651,7 @@ characters.data={ category="lo", description="GUJARATI LETTER VOCALIC R", direction="l", + indic="i", linebreak="al", unicodeslot=0xA8B, }, @@ -23230,6 +23659,7 @@ characters.data={ category="lo", description="GUJARATI LETTER VOCALIC L", direction="l", + indic="i", linebreak="al", unicodeslot=0xA8C, }, @@ -23238,6 +23668,7 @@ characters.data={ category="lo", description="GUJARATI VOWEL CANDRA E", direction="l", + indic="i", linebreak="al", unicodeslot=0xA8D, }, @@ -23246,6 +23677,7 @@ characters.data={ category="lo", description="GUJARATI LETTER E", direction="l", + indic="i", linebreak="al", unicodeslot=0xA8F, }, @@ -23254,6 +23686,7 @@ characters.data={ category="lo", description="GUJARATI LETTER AI", direction="l", + indic="i", linebreak="al", unicodeslot=0xA90, }, @@ -23262,6 +23695,7 @@ characters.data={ category="lo", description="GUJARATI VOWEL CANDRA O", direction="l", + indic="i", linebreak="al", unicodeslot=0xA91, }, @@ -23270,6 +23704,7 @@ characters.data={ category="lo", description="GUJARATI LETTER O", direction="l", + indic="i", linebreak="al", unicodeslot=0xA93, }, @@ -23278,6 +23713,7 @@ characters.data={ category="lo", description="GUJARATI LETTER AU", direction="l", + indic="i", linebreak="al", unicodeslot=0xA94, }, @@ -23286,6 +23722,7 @@ characters.data={ category="lo", description="GUJARATI LETTER KA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA95, }, @@ -23294,6 +23731,7 @@ characters.data={ category="lo", description="GUJARATI LETTER KHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA96, }, @@ -23302,6 +23740,7 @@ characters.data={ category="lo", description="GUJARATI LETTER GA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA97, }, @@ -23310,6 +23749,7 @@ characters.data={ category="lo", description="GUJARATI LETTER GHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA98, }, @@ -23318,6 +23758,7 @@ characters.data={ category="lo", description="GUJARATI LETTER NGA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA99, }, @@ -23326,6 +23767,7 @@ characters.data={ category="lo", description="GUJARATI LETTER CA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA9A, }, @@ -23334,6 +23776,7 @@ characters.data={ category="lo", description="GUJARATI LETTER CHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA9B, }, @@ -23342,6 +23785,7 @@ characters.data={ category="lo", description="GUJARATI LETTER JA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA9C, }, @@ -23350,6 +23794,7 @@ characters.data={ category="lo", description="GUJARATI LETTER JHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA9D, }, @@ -23358,6 +23803,7 @@ characters.data={ category="lo", description="GUJARATI LETTER NYA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA9E, }, @@ -23366,6 +23812,7 @@ characters.data={ category="lo", description="GUJARATI LETTER TTA", direction="l", + indic="c", linebreak="al", unicodeslot=0xA9F, }, @@ -23374,6 +23821,7 @@ characters.data={ category="lo", description="GUJARATI LETTER TTHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAA0, }, @@ -23382,6 +23830,7 @@ characters.data={ category="lo", description="GUJARATI LETTER DDA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAA1, }, @@ -23390,6 +23839,7 @@ characters.data={ category="lo", description="GUJARATI LETTER DDHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAA2, }, @@ -23398,6 +23848,7 @@ characters.data={ category="lo", description="GUJARATI LETTER NNA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAA3, }, @@ -23406,6 +23857,7 @@ characters.data={ category="lo", description="GUJARATI LETTER TA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAA4, }, @@ -23414,6 +23866,7 @@ characters.data={ category="lo", description="GUJARATI LETTER THA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAA5, }, @@ -23422,6 +23875,7 @@ characters.data={ category="lo", description="GUJARATI LETTER DA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAA6, }, @@ -23430,6 +23884,7 @@ characters.data={ category="lo", description="GUJARATI LETTER DHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAA7, }, @@ -23438,6 +23893,7 @@ characters.data={ category="lo", description="GUJARATI LETTER NA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAA8, }, @@ -23446,6 +23902,7 @@ characters.data={ category="lo", description="GUJARATI LETTER PA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAAA, }, @@ -23454,6 +23911,7 @@ characters.data={ category="lo", description="GUJARATI LETTER PHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAAB, }, @@ -23462,6 +23920,7 @@ characters.data={ category="lo", description="GUJARATI LETTER BA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAAC, }, @@ -23470,6 +23929,7 @@ characters.data={ category="lo", description="GUJARATI LETTER BHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAAD, }, @@ -23478,6 +23938,7 @@ characters.data={ category="lo", description="GUJARATI LETTER MA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAAE, }, @@ -23486,6 +23947,7 @@ characters.data={ category="lo", description="GUJARATI LETTER YA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAAF, }, @@ -23494,6 +23956,9 @@ characters.data={ category="lo", description="GUJARATI LETTER RA", direction="l", + indic="c", + indicclass="ra", + indicorder="bp", linebreak="al", unicodeslot=0xAB0, }, @@ -23502,6 +23967,7 @@ characters.data={ category="lo", description="GUJARATI LETTER LA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAB2, }, @@ -23510,6 +23976,7 @@ characters.data={ category="lo", description="GUJARATI LETTER LLA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAB3, }, @@ -23518,6 +23985,7 @@ characters.data={ category="lo", description="GUJARATI LETTER VA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAB5, }, @@ -23526,6 +23994,7 @@ characters.data={ category="lo", description="GUJARATI LETTER SHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAB6, }, @@ -23534,6 +24003,7 @@ characters.data={ category="lo", description="GUJARATI LETTER SSA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAB7, }, @@ -23542,6 +24012,7 @@ characters.data={ category="lo", description="GUJARATI LETTER SA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAB8, }, @@ -23550,6 +24021,7 @@ characters.data={ category="lo", description="GUJARATI LETTER HA", direction="l", + indic="c", linebreak="al", unicodeslot=0xAB9, }, @@ -23559,6 +24031,9 @@ characters.data={ combining=0x7, description="GUJARATI SIGN NUKTA", direction="nsm", + indic="o", + indicmark="b", + indicclass="nukta", linebreak="cm", unicodeslot=0xABC, }, @@ -23566,6 +24041,7 @@ characters.data={ category="lo", description="GUJARATI SIGN AVAGRAHA", direction="l", + indic="o", linebreak="al", unicodeslot=0xABD, }, @@ -23574,6 +24050,9 @@ characters.data={ category="mc", description="GUJARATI VOWEL SIGN AA", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xABE, }, @@ -23582,6 +24061,9 @@ characters.data={ category="mc", description="GUJARATI VOWEL SIGN I", direction="l", + indic="d", + indicmark="l", + indicorder="bh", linebreak="cm", unicodeslot=0xABF, }, @@ -23590,6 +24072,9 @@ characters.data={ category="mc", description="GUJARATI VOWEL SIGN II", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xAC0, }, @@ -23598,6 +24083,9 @@ characters.data={ category="mn", description="GUJARATI VOWEL SIGN U", direction="nsm", + indic="d", + indicmark="b", + indicorder="ap", linebreak="cm", unicodeslot=0xAC1, }, @@ -23606,6 +24094,9 @@ characters.data={ category="mn", description="GUJARATI VOWEL SIGN UU", direction="nsm", + indic="d", + indicmark="b", + indicorder="ap", linebreak="cm", unicodeslot=0xAC2, }, @@ -23614,6 +24105,9 @@ characters.data={ category="mn", description="GUJARATI VOWEL SIGN VOCALIC R", direction="nsm", + indic="d", + indicmark="b", + indicorder="ap", linebreak="cm", unicodeslot=0xAC3, }, @@ -23622,6 +24116,9 @@ characters.data={ category="mn", description="GUJARATI VOWEL SIGN VOCALIC RR", direction="nsm", + indic="d", + indicmark="b", + indicorder="ap", linebreak="cm", unicodeslot=0xAC4, }, @@ -23630,6 +24127,9 @@ characters.data={ category="mn", description="GUJARATI VOWEL SIGN CANDRA E", direction="nsm", + indic="d", + indicmark="t", + indicorder="as", linebreak="cm", unicodeslot=0xAC5, }, @@ -23638,6 +24138,9 @@ characters.data={ category="mn", description="GUJARATI VOWEL SIGN E", direction="nsm", + indic="d", + indicmark="t", + indicorder="as", linebreak="cm", unicodeslot=0xAC7, }, @@ -23646,6 +24149,9 @@ characters.data={ category="mn", description="GUJARATI VOWEL SIGN AI", direction="nsm", + indic="d", + indicmark="t", + indicorder="as", linebreak="cm", unicodeslot=0xAC8, }, @@ -23654,6 +24160,9 @@ characters.data={ category="mc", description="GUJARATI VOWEL SIGN CANDRA O", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xAC9, }, @@ -23662,6 +24171,9 @@ characters.data={ category="mc", description="GUJARATI VOWEL SIGN O", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xACB, }, @@ -23670,6 +24182,9 @@ characters.data={ category="mc", description="GUJARATI VOWEL SIGN AU", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xACC, }, @@ -23679,6 +24194,9 @@ characters.data={ combining=0x9, description="GUJARATI SIGN VIRAMA", direction="nsm", + indic="o", + indicclass="halant", + indicmark="b", linebreak="cm", unicodeslot=0xACD, }, @@ -23687,6 +24205,7 @@ characters.data={ category="lo", description="GUJARATI OM", direction="l", + indic="o", linebreak="al", unicodeslot=0xAD0, }, @@ -23695,6 +24214,7 @@ characters.data={ category="lo", description="GUJARATI LETTER VOCALIC RR", direction="l", + indic="i", linebreak="al", unicodeslot=0xAE0, }, @@ -23702,6 +24222,7 @@ characters.data={ category="lo", description="GUJARATI LETTER VOCALIC LL", direction="l", + indic="i", linebreak="al", unicodeslot=0xAE1, }, @@ -23709,6 +24230,8 @@ characters.data={ category="mn", description="GUJARATI VOWEL SIGN VOCALIC L", direction="nsm", + indic="i", + indicorder="ap", linebreak="cm", unicodeslot=0xAE2, }, @@ -23716,6 +24239,8 @@ characters.data={ category="mn", description="GUJARATI VOWEL SIGN VOCALIC LL", direction="nsm", + indic="i", + indicorder="ap", linebreak="cm", unicodeslot=0xAE3, }, @@ -23724,6 +24249,7 @@ characters.data={ category="nd", description="GUJARATI DIGIT ZERO", direction="l", + indic="o", linebreak="nu", unicodeslot=0xAE6, }, @@ -23732,6 +24258,7 @@ characters.data={ category="nd", description="GUJARATI DIGIT ONE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xAE7, }, @@ -23740,6 +24267,7 @@ characters.data={ category="nd", description="GUJARATI DIGIT TWO", direction="l", + indic="o", linebreak="nu", unicodeslot=0xAE8, }, @@ -23748,6 +24276,7 @@ characters.data={ category="nd", description="GUJARATI DIGIT THREE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xAE9, }, @@ -23756,6 +24285,7 @@ characters.data={ category="nd", description="GUJARATI DIGIT FOUR", direction="l", + indic="o", linebreak="nu", unicodeslot=0xAEA, }, @@ -23764,6 +24294,7 @@ characters.data={ category="nd", description="GUJARATI DIGIT FIVE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xAEB, }, @@ -23772,6 +24303,7 @@ characters.data={ category="nd", description="GUJARATI DIGIT SIX", direction="l", + indic="o", linebreak="nu", unicodeslot=0xAEC, }, @@ -23780,6 +24312,7 @@ characters.data={ category="nd", description="GUJARATI DIGIT SEVEN", direction="l", + indic="o", linebreak="nu", unicodeslot=0xAED, }, @@ -23788,6 +24321,7 @@ characters.data={ category="nd", description="GUJARATI DIGIT EIGHT", direction="l", + indic="o", linebreak="nu", unicodeslot=0xAEE, }, @@ -23796,6 +24330,7 @@ characters.data={ category="nd", description="GUJARATI DIGIT NINE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xAEF, }, @@ -23803,6 +24338,7 @@ characters.data={ category="po", description="GUJARATI ABBREVIATION SIGN", direction="l", + indic="o", linebreak="al", unicodeslot=0xAF0, }, @@ -23810,6 +24346,7 @@ characters.data={ category="sc", description="GUJARATI RUPEE SIGN", direction="et", + indic="o", linebreak="pr", unicodeslot=0xAF1, }, @@ -23817,6 +24354,7 @@ characters.data={ category="lo", description="GUJARATI LETTER ZHA", direction="l", + indic="o", linebreak="al", unicodeslot=0xAF9, }, @@ -23824,6 +24362,7 @@ characters.data={ category="mn", description="GUJARATI SIGN SUKUN", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xAFA, }, @@ -23831,6 +24370,7 @@ characters.data={ category="mn", description="GUJARATI SIGN SHADDA", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xAFB, }, @@ -23838,6 +24378,7 @@ characters.data={ category="mn", description="GUJARATI SIGN MADDAH", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xAFC, }, @@ -23845,6 +24386,7 @@ characters.data={ category="mn", description="GUJARATI SIGN THREE-DOT NUKTA ABOVE", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xAFD, }, @@ -23852,6 +24394,7 @@ characters.data={ category="mn", description="GUJARATI SIGN CIRCLE NUKTA ABOVE", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xAFE, }, @@ -23859,6 +24402,7 @@ characters.data={ category="mn", description="GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xAFF, }, @@ -23866,6 +24410,8 @@ characters.data={ category="mn", description="ORIYA SIGN CANDRABINDU", direction="nsm", + indic="o", + indicorder="bs", linebreak="cm", unicodeslot=0xB01, }, @@ -23873,6 +24419,7 @@ characters.data={ category="mc", description="ORIYA SIGN ANUSVARA", direction="l", + indic="o", linebreak="cm", unicodeslot=0xB02, }, @@ -23880,6 +24427,7 @@ characters.data={ category="mc", description="ORIYA SIGN VISARGA", direction="l", + indic="o", linebreak="cm", unicodeslot=0xB03, }, @@ -23887,6 +24435,7 @@ characters.data={ category="lo", description="ORIYA LETTER A", direction="l", + indic="i", linebreak="al", unicodeslot=0xB05, }, @@ -23894,6 +24443,7 @@ characters.data={ category="lo", description="ORIYA LETTER AA", direction="l", + indic="i", linebreak="al", unicodeslot=0xB06, }, @@ -23901,6 +24451,7 @@ characters.data={ category="lo", description="ORIYA LETTER I", direction="l", + indic="i", linebreak="al", unicodeslot=0xB07, }, @@ -23908,6 +24459,7 @@ characters.data={ category="lo", description="ORIYA LETTER II", direction="l", + indic="i", linebreak="al", unicodeslot=0xB08, }, @@ -23915,6 +24467,7 @@ characters.data={ category="lo", description="ORIYA LETTER U", direction="l", + indic="i", linebreak="al", unicodeslot=0xB09, }, @@ -23922,6 +24475,7 @@ characters.data={ category="lo", description="ORIYA LETTER UU", direction="l", + indic="i", linebreak="al", unicodeslot=0xB0A, }, @@ -23929,6 +24483,7 @@ characters.data={ category="lo", description="ORIYA LETTER VOCALIC R", direction="l", + indic="i", linebreak="al", unicodeslot=0xB0B, }, @@ -23936,6 +24491,7 @@ characters.data={ category="lo", description="ORIYA LETTER VOCALIC L", direction="l", + indic="i", linebreak="al", unicodeslot=0xB0C, }, @@ -23943,6 +24499,7 @@ characters.data={ category="lo", description="ORIYA LETTER E", direction="l", + indic="i", linebreak="al", unicodeslot=0xB0F, }, @@ -23950,6 +24507,7 @@ characters.data={ category="lo", description="ORIYA LETTER AI", direction="l", + indic="i", linebreak="al", unicodeslot=0xB10, }, @@ -23957,6 +24515,7 @@ characters.data={ category="lo", description="ORIYA LETTER O", direction="l", + indic="i", linebreak="al", unicodeslot=0xB13, }, @@ -23964,6 +24523,7 @@ characters.data={ category="lo", description="ORIYA LETTER AU", direction="l", + indic="i", linebreak="al", unicodeslot=0xB14, }, @@ -23971,6 +24531,7 @@ characters.data={ category="lo", description="ORIYA LETTER KA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB15, }, @@ -23978,6 +24539,7 @@ characters.data={ category="lo", description="ORIYA LETTER KHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB16, }, @@ -23985,6 +24547,7 @@ characters.data={ category="lo", description="ORIYA LETTER GA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB17, }, @@ -23992,6 +24555,7 @@ characters.data={ category="lo", description="ORIYA LETTER GHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB18, }, @@ -23999,6 +24563,7 @@ characters.data={ category="lo", description="ORIYA LETTER NGA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB19, }, @@ -24006,6 +24571,7 @@ characters.data={ category="lo", description="ORIYA LETTER CA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB1A, }, @@ -24013,6 +24579,7 @@ characters.data={ category="lo", description="ORIYA LETTER CHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB1B, }, @@ -24020,6 +24587,7 @@ characters.data={ category="lo", description="ORIYA LETTER JA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB1C, }, @@ -24027,6 +24595,7 @@ characters.data={ category="lo", description="ORIYA LETTER JHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB1D, }, @@ -24034,6 +24603,7 @@ characters.data={ category="lo", description="ORIYA LETTER NYA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB1E, }, @@ -24041,6 +24611,7 @@ characters.data={ category="lo", description="ORIYA LETTER TTA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB1F, }, @@ -24048,6 +24619,7 @@ characters.data={ category="lo", description="ORIYA LETTER TTHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB20, }, @@ -24055,6 +24627,7 @@ characters.data={ category="lo", description="ORIYA LETTER DDA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB21, }, @@ -24062,6 +24635,7 @@ characters.data={ category="lo", description="ORIYA LETTER DDHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB22, }, @@ -24069,6 +24643,7 @@ characters.data={ category="lo", description="ORIYA LETTER NNA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB23, }, @@ -24076,6 +24651,7 @@ characters.data={ category="lo", description="ORIYA LETTER TA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB24, }, @@ -24083,6 +24659,7 @@ characters.data={ category="lo", description="ORIYA LETTER THA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB25, }, @@ -24090,6 +24667,7 @@ characters.data={ category="lo", description="ORIYA LETTER DA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB26, }, @@ -24097,6 +24675,7 @@ characters.data={ category="lo", description="ORIYA LETTER DHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB27, }, @@ -24104,6 +24683,7 @@ characters.data={ category="lo", description="ORIYA LETTER NA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB28, }, @@ -24111,6 +24691,7 @@ characters.data={ category="lo", description="ORIYA LETTER PA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB2A, }, @@ -24118,6 +24699,7 @@ characters.data={ category="lo", description="ORIYA LETTER PHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB2B, }, @@ -24125,6 +24707,7 @@ characters.data={ category="lo", description="ORIYA LETTER BA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB2C, }, @@ -24132,6 +24715,7 @@ characters.data={ category="lo", description="ORIYA LETTER BHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB2D, }, @@ -24139,6 +24723,7 @@ characters.data={ category="lo", description="ORIYA LETTER MA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB2E, }, @@ -24146,6 +24731,7 @@ characters.data={ category="lo", description="ORIYA LETTER YA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB2F, }, @@ -24153,6 +24739,9 @@ characters.data={ category="lo", description="ORIYA LETTER RA", direction="l", + indic="c", + indicclass="ra", + indicorder="am", linebreak="al", unicodeslot=0xB30, }, @@ -24160,6 +24749,7 @@ characters.data={ category="lo", description="ORIYA LETTER LA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB32, }, @@ -24167,6 +24757,7 @@ characters.data={ category="lo", description="ORIYA LETTER LLA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB33, }, @@ -24174,6 +24765,7 @@ characters.data={ category="lo", description="ORIYA LETTER VA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB35, }, @@ -24181,6 +24773,7 @@ characters.data={ category="lo", description="ORIYA LETTER SHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB36, }, @@ -24188,6 +24781,7 @@ characters.data={ category="lo", description="ORIYA LETTER SSA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB37, }, @@ -24195,6 +24789,7 @@ characters.data={ category="lo", description="ORIYA LETTER SA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB38, }, @@ -24202,6 +24797,7 @@ characters.data={ category="lo", description="ORIYA LETTER HA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB39, }, @@ -24210,6 +24806,9 @@ characters.data={ combining=0x7, description="ORIYA SIGN NUKTA", direction="nsm", + indic="o", + indicmark="b", + indicclass="nukta", linebreak="cm", unicodeslot=0xB3C, }, @@ -24217,6 +24816,7 @@ characters.data={ category="lo", description="ORIYA SIGN AVAGRAHA", direction="l", + indic="o", linebreak="al", unicodeslot=0xB3D, }, @@ -24224,6 +24824,9 @@ characters.data={ category="mc", description="ORIYA VOWEL SIGN AA", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xB3E, }, @@ -24231,6 +24834,9 @@ characters.data={ category="mn", description="ORIYA VOWEL SIGN I", direction="nsm", + indic="d", + indicmark="t", + indicorder="am", linebreak="cm", unicodeslot=0xB3F, }, @@ -24238,6 +24844,9 @@ characters.data={ category="mc", description="ORIYA VOWEL SIGN II", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xB40, }, @@ -24245,6 +24854,9 @@ characters.data={ category="mn", description="ORIYA VOWEL SIGN U", direction="nsm", + indic="d", + indicmark="b", + indicorder="as", linebreak="cm", unicodeslot=0xB41, }, @@ -24252,6 +24864,9 @@ characters.data={ category="mn", description="ORIYA VOWEL SIGN UU", direction="nsm", + indic="d", + indicmark="b", + indicorder="as", linebreak="cm", unicodeslot=0xB42, }, @@ -24259,6 +24874,9 @@ characters.data={ category="mn", description="ORIYA VOWEL SIGN VOCALIC R", direction="nsm", + indic="d", + indicmark="b", + indicorder="as", linebreak="cm", unicodeslot=0xB43, }, @@ -24266,6 +24884,8 @@ characters.data={ category="mn", description="ORIYA VOWEL SIGN VOCALIC RR", direction="nsm", + indic="d", + indicmark="b", linebreak="cm", unicodeslot=0xB44, }, @@ -24273,6 +24893,9 @@ characters.data={ category="mc", description="ORIYA VOWEL SIGN E", direction="l", + indic="d", + indicmark="l", + indicorder="bh", linebreak="cm", unicodeslot=0xB47, }, @@ -24280,6 +24903,8 @@ characters.data={ category="mc", description="ORIYA VOWEL SIGN AI", direction="l", + indic="d", + indicmark="l", linebreak="cm", specials={ "char", 0xB47, 0xB56 }, unicodeslot=0xB48, @@ -24288,6 +24913,8 @@ characters.data={ category="mc", description="ORIYA VOWEL SIGN O", direction="l", + indic="d", + indicmark="s", linebreak="cm", specials={ "char", 0xB47, 0xB3E }, unicodeslot=0xB4B, @@ -24296,6 +24923,8 @@ characters.data={ category="mc", description="ORIYA VOWEL SIGN AU", direction="l", + indic="d", + indicmark="s", linebreak="cm", specials={ "char", 0xB47, 0xB57 }, unicodeslot=0xB4C, @@ -24305,6 +24934,9 @@ characters.data={ combining=0x9, description="ORIYA SIGN VIRAMA", direction="nsm", + indic="o", + indicclass="halant", + indicmark="b", linebreak="cm", unicodeslot=0xB4D, }, @@ -24312,6 +24944,8 @@ characters.data={ category="mn", description="ORIYA AI LENGTH MARK", direction="nsm", + indic="o", + indicorder="am", linebreak="cm", unicodeslot=0xB56, }, @@ -24319,6 +24953,8 @@ characters.data={ category="mc", description="ORIYA AU LENGTH MARK", direction="l", + indic="o", + indicorder="ap", linebreak="cm", unicodeslot=0xB57, }, @@ -24326,6 +24962,7 @@ characters.data={ category="lo", description="ORIYA LETTER RRA", direction="l", + indic="c", linebreak="al", specials={ "char", 0xB21, 0xB3C }, unicodeslot=0xB5C, @@ -24334,6 +24971,7 @@ characters.data={ category="lo", description="ORIYA LETTER RHA", direction="l", + indic="c", linebreak="al", specials={ "char", 0xB22, 0xB3C }, unicodeslot=0xB5D, @@ -24342,6 +24980,7 @@ characters.data={ category="lo", description="ORIYA LETTER YYA", direction="l", + indic="o", linebreak="al", unicodeslot=0xB5F, }, @@ -24349,6 +24988,7 @@ characters.data={ category="lo", description="ORIYA LETTER VOCALIC RR", direction="l", + indic="i", linebreak="al", unicodeslot=0xB60, }, @@ -24356,6 +24996,7 @@ characters.data={ category="lo", description="ORIYA LETTER VOCALIC LL", direction="l", + indic="i", linebreak="al", unicodeslot=0xB61, }, @@ -24363,6 +25004,8 @@ characters.data={ category="mn", description="ORIYA VOWEL SIGN VOCALIC L", direction="nsm", + indic="d", + indicmark="b", linebreak="cm", unicodeslot=0xB62, }, @@ -24370,6 +25013,8 @@ characters.data={ category="mn", description="ORIYA VOWEL SIGN VOCALIC LL", direction="nsm", + indic="d", + indicmark="b", linebreak="cm", unicodeslot=0xB63, }, @@ -24377,6 +25022,7 @@ characters.data={ category="nd", description="ORIYA DIGIT ZERO", direction="l", + indic="o", linebreak="nu", unicodeslot=0xB66, }, @@ -24384,6 +25030,7 @@ characters.data={ category="nd", description="ORIYA DIGIT ONE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xB67, }, @@ -24391,6 +25038,7 @@ characters.data={ category="nd", description="ORIYA DIGIT TWO", direction="l", + indic="o", linebreak="nu", unicodeslot=0xB68, }, @@ -24398,6 +25046,7 @@ characters.data={ category="nd", description="ORIYA DIGIT THREE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xB69, }, @@ -24405,6 +25054,7 @@ characters.data={ category="nd", description="ORIYA DIGIT FOUR", direction="l", + indic="o", linebreak="nu", unicodeslot=0xB6A, }, @@ -24412,6 +25062,7 @@ characters.data={ category="nd", description="ORIYA DIGIT FIVE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xB6B, }, @@ -24419,6 +25070,7 @@ characters.data={ category="nd", description="ORIYA DIGIT SIX", direction="l", + indic="o", linebreak="nu", unicodeslot=0xB6C, }, @@ -24426,6 +25078,7 @@ characters.data={ category="nd", description="ORIYA DIGIT SEVEN", direction="l", + indic="o", linebreak="nu", unicodeslot=0xB6D, }, @@ -24433,6 +25086,7 @@ characters.data={ category="nd", description="ORIYA DIGIT EIGHT", direction="l", + indic="o", linebreak="nu", unicodeslot=0xB6E, }, @@ -24440,6 +25094,7 @@ characters.data={ category="nd", description="ORIYA DIGIT NINE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xB6F, }, @@ -24447,6 +25102,7 @@ characters.data={ category="so", description="ORIYA ISSHAR", direction="l", + indic="o", linebreak="al", unicodeslot=0xB70, }, @@ -24454,6 +25110,7 @@ characters.data={ category="lo", description="ORIYA LETTER WA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB71, }, @@ -24461,6 +25118,7 @@ characters.data={ category="no", description="ORIYA FRACTION ONE QUARTER", direction="l", + indic="o", linebreak="al", unicodeslot=0xB72, }, @@ -24468,6 +25126,7 @@ characters.data={ category="no", description="ORIYA FRACTION ONE HALF", direction="l", + indic="o", linebreak="al", unicodeslot=0xB73, }, @@ -24475,6 +25134,7 @@ characters.data={ category="no", description="ORIYA FRACTION THREE QUARTERS", direction="l", + indic="o", linebreak="al", unicodeslot=0xB74, }, @@ -24482,6 +25142,7 @@ characters.data={ category="no", description="ORIYA FRACTION ONE SIXTEENTH", direction="l", + indic="o", linebreak="al", unicodeslot=0xB75, }, @@ -24489,6 +25150,7 @@ characters.data={ category="no", description="ORIYA FRACTION ONE EIGHTH", direction="l", + indic="o", linebreak="al", unicodeslot=0xB76, }, @@ -24496,6 +25158,7 @@ characters.data={ category="no", description="ORIYA FRACTION THREE SIXTEENTHS", direction="l", + indic="o", linebreak="al", unicodeslot=0xB77, }, @@ -24503,6 +25166,7 @@ characters.data={ category="mn", description="TAMIL SIGN ANUSVARA", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xB82, }, @@ -24510,6 +25174,7 @@ characters.data={ category="lo", description="TAMIL SIGN VISARGA", direction="l", + indic="o", linebreak="al", synonyms={ "tamil aytham" }, unicodeslot=0xB83, @@ -24518,6 +25183,7 @@ characters.data={ category="lo", description="TAMIL LETTER A", direction="l", + indic="i", linebreak="al", unicodeslot=0xB85, }, @@ -24525,6 +25191,7 @@ characters.data={ category="lo", description="TAMIL LETTER AA", direction="l", + indic="i", linebreak="al", unicodeslot=0xB86, }, @@ -24532,6 +25199,7 @@ characters.data={ category="lo", description="TAMIL LETTER I", direction="l", + indic="i", linebreak="al", unicodeslot=0xB87, }, @@ -24539,6 +25207,7 @@ characters.data={ category="lo", description="TAMIL LETTER II", direction="l", + indic="i", linebreak="al", unicodeslot=0xB88, }, @@ -24546,6 +25215,7 @@ characters.data={ category="lo", description="TAMIL LETTER U", direction="l", + indic="i", linebreak="al", unicodeslot=0xB89, }, @@ -24553,6 +25223,7 @@ characters.data={ category="lo", description="TAMIL LETTER UU", direction="l", + indic="i", linebreak="al", unicodeslot=0xB8A, }, @@ -24560,6 +25231,7 @@ characters.data={ category="lo", description="TAMIL LETTER E", direction="l", + indic="i", linebreak="al", unicodeslot=0xB8E, }, @@ -24567,6 +25239,7 @@ characters.data={ category="lo", description="TAMIL LETTER EE", direction="l", + indic="i", linebreak="al", unicodeslot=0xB8F, }, @@ -24574,6 +25247,7 @@ characters.data={ category="lo", description="TAMIL LETTER AI", direction="l", + indic="i", linebreak="al", unicodeslot=0xB90, }, @@ -24581,6 +25255,7 @@ characters.data={ category="lo", description="TAMIL LETTER O", direction="l", + indic="i", linebreak="al", unicodeslot=0xB92, }, @@ -24588,6 +25263,7 @@ characters.data={ category="lo", description="TAMIL LETTER OO", direction="l", + indic="i", linebreak="al", unicodeslot=0xB93, }, @@ -24595,6 +25271,7 @@ characters.data={ category="lo", description="TAMIL LETTER AU", direction="l", + indic="i", linebreak="al", specials={ "char", 0xB92, 0xBD7 }, unicodeslot=0xB94, @@ -24603,6 +25280,7 @@ characters.data={ category="lo", description="TAMIL LETTER KA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB95, }, @@ -24610,6 +25288,7 @@ characters.data={ category="lo", description="TAMIL LETTER NGA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB99, }, @@ -24617,6 +25296,7 @@ characters.data={ category="lo", description="TAMIL LETTER CA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB9A, }, @@ -24624,6 +25304,7 @@ characters.data={ category="lo", description="TAMIL LETTER JA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB9C, }, @@ -24631,6 +25312,7 @@ characters.data={ category="lo", description="TAMIL LETTER NYA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB9E, }, @@ -24638,6 +25320,7 @@ characters.data={ category="lo", description="TAMIL LETTER TTA", direction="l", + indic="c", linebreak="al", unicodeslot=0xB9F, }, @@ -24645,6 +25328,7 @@ characters.data={ category="lo", description="TAMIL LETTER NNA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBA3, }, @@ -24652,6 +25336,7 @@ characters.data={ category="lo", description="TAMIL LETTER TA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBA4, }, @@ -24659,6 +25344,7 @@ characters.data={ category="lo", description="TAMIL LETTER NA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBA8, }, @@ -24666,6 +25352,7 @@ characters.data={ category="lo", description="TAMIL LETTER NNNA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBA9, }, @@ -24673,6 +25360,7 @@ characters.data={ category="lo", description="TAMIL LETTER PA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBAA, }, @@ -24680,6 +25368,7 @@ characters.data={ category="lo", description="TAMIL LETTER MA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBAE, }, @@ -24687,6 +25376,7 @@ characters.data={ category="lo", description="TAMIL LETTER YA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBAF, }, @@ -24694,6 +25384,9 @@ characters.data={ category="lo", description="TAMIL LETTER RA", direction="l", + indic="c", + indicclass="ra", + indicorder="ap", linebreak="al", unicodeslot=0xBB0, }, @@ -24701,6 +25394,7 @@ characters.data={ category="lo", description="TAMIL LETTER RRA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBB1, }, @@ -24708,6 +25402,7 @@ characters.data={ category="lo", description="TAMIL LETTER LA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBB2, }, @@ -24715,6 +25410,7 @@ characters.data={ category="lo", description="TAMIL LETTER LLA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBB3, }, @@ -24722,6 +25418,7 @@ characters.data={ category="lo", description="TAMIL LETTER LLLA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBB4, }, @@ -24729,6 +25426,7 @@ characters.data={ category="lo", description="TAMIL LETTER VA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBB5, }, @@ -24736,6 +25434,7 @@ characters.data={ category="lo", description="TAMIL LETTER SHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBB6, }, @@ -24743,6 +25442,7 @@ characters.data={ category="lo", description="TAMIL LETTER SSA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBB7, }, @@ -24750,6 +25450,7 @@ characters.data={ category="lo", description="TAMIL LETTER SA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBB8, }, @@ -24757,6 +25458,7 @@ characters.data={ category="lo", description="TAMIL LETTER HA", direction="l", + indic="c", linebreak="al", unicodeslot=0xBB9, }, @@ -24764,6 +25466,9 @@ characters.data={ category="mc", description="TAMIL VOWEL SIGN AA", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xBBE, }, @@ -24771,6 +25476,9 @@ characters.data={ category="mc", description="TAMIL VOWEL SIGN I", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xBBF, }, @@ -24778,6 +25486,9 @@ characters.data={ category="mn", description="TAMIL VOWEL SIGN II", direction="nsm", + indic="d", + indicmark="t", + indicorder="as", linebreak="cm", unicodeslot=0xBC0, }, @@ -24785,6 +25496,9 @@ characters.data={ category="mc", description="TAMIL VOWEL SIGN U", direction="l", + indic="d", + indicmark="b", + indicorder="ap", linebreak="cm", unicodeslot=0xBC1, }, @@ -24792,6 +25506,9 @@ characters.data={ category="mc", description="TAMIL VOWEL SIGN UU", direction="l", + indic="d", + indicmark="b", + indicorder="ap", linebreak="cm", unicodeslot=0xBC2, }, @@ -24799,6 +25516,9 @@ characters.data={ category="mc", description="TAMIL VOWEL SIGN E", direction="l", + indic="d", + indicmark="l", + indicorder="bm", linebreak="cm", unicodeslot=0xBC6, }, @@ -24806,6 +25526,9 @@ characters.data={ category="mc", description="TAMIL VOWEL SIGN EE", direction="l", + indic="d", + indicmark="l", + indicorder="bm", linebreak="cm", unicodeslot=0xBC7, }, @@ -24813,6 +25536,9 @@ characters.data={ category="mc", description="TAMIL VOWEL SIGN AI", direction="l", + indic="d", + indicmark="l", + indicorder="bm", linebreak="cm", unicodeslot=0xBC8, }, @@ -24820,6 +25546,8 @@ characters.data={ category="mc", description="TAMIL VOWEL SIGN O", direction="l", + indic="d", + indicmark="s", linebreak="cm", specials={ "char", 0xBC6, 0xBBE }, unicodeslot=0xBCA, @@ -24828,6 +25556,8 @@ characters.data={ category="mc", description="TAMIL VOWEL SIGN OO", direction="l", + indic="d", + indicmark="s", linebreak="cm", specials={ "char", 0xBC7, 0xBBE }, unicodeslot=0xBCB, @@ -24836,6 +25566,8 @@ characters.data={ category="mc", description="TAMIL VOWEL SIGN AU", direction="l", + indic="d", + indicmark="s", linebreak="cm", specials={ "char", 0xBC6, 0xBD7 }, unicodeslot=0xBCC, @@ -24845,6 +25577,9 @@ characters.data={ combining=0x9, description="TAMIL SIGN VIRAMA", direction="nsm", + indic="o", + indicclass="halant", + indicmark="t", linebreak="cm", unicodeslot=0xBCD, }, @@ -24852,6 +25587,7 @@ characters.data={ category="lo", description="TAMIL OM", direction="l", + indic="o", linebreak="al", unicodeslot=0xBD0, }, @@ -24859,6 +25595,8 @@ characters.data={ category="mc", description="TAMIL AU LENGTH MARK", direction="l", + indic="o", + indicorder="ap", linebreak="cm", unicodeslot=0xBD7, }, @@ -24866,6 +25604,7 @@ characters.data={ category="nd", description="TAMIL DIGIT ZERO", direction="l", + indic="o", linebreak="nu", unicodeslot=0xBE6, }, @@ -24873,6 +25612,7 @@ characters.data={ category="nd", description="TAMIL DIGIT ONE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xBE7, }, @@ -24880,6 +25620,7 @@ characters.data={ category="nd", description="TAMIL DIGIT TWO", direction="l", + indic="o", linebreak="nu", unicodeslot=0xBE8, }, @@ -24887,6 +25628,7 @@ characters.data={ category="nd", description="TAMIL DIGIT THREE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xBE9, }, @@ -24894,6 +25636,7 @@ characters.data={ category="nd", description="TAMIL DIGIT FOUR", direction="l", + indic="o", linebreak="nu", unicodeslot=0xBEA, }, @@ -24901,6 +25644,7 @@ characters.data={ category="nd", description="TAMIL DIGIT FIVE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xBEB, }, @@ -24908,6 +25652,7 @@ characters.data={ category="nd", description="TAMIL DIGIT SIX", direction="l", + indic="o", linebreak="nu", unicodeslot=0xBEC, }, @@ -24915,6 +25660,7 @@ characters.data={ category="nd", description="TAMIL DIGIT SEVEN", direction="l", + indic="o", linebreak="nu", unicodeslot=0xBED, }, @@ -24922,6 +25668,7 @@ characters.data={ category="nd", description="TAMIL DIGIT EIGHT", direction="l", + indic="o", linebreak="nu", unicodeslot=0xBEE, }, @@ -24929,6 +25676,7 @@ characters.data={ category="nd", description="TAMIL DIGIT NINE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xBEF, }, @@ -24936,6 +25684,7 @@ characters.data={ category="no", description="TAMIL NUMBER TEN", direction="l", + indic="o", linebreak="al", unicodeslot=0xBF0, }, @@ -24943,6 +25692,7 @@ characters.data={ category="no", description="TAMIL NUMBER ONE HUNDRED", direction="l", + indic="o", linebreak="al", unicodeslot=0xBF1, }, @@ -24950,6 +25700,7 @@ characters.data={ category="no", description="TAMIL NUMBER ONE THOUSAND", direction="l", + indic="o", linebreak="al", unicodeslot=0xBF2, }, @@ -24957,6 +25708,7 @@ characters.data={ category="so", description="TAMIL DAY SIGN", direction="on", + indic="o", linebreak="al", synonyms={ "tamil naal" }, unicodeslot=0xBF3, @@ -24965,6 +25717,7 @@ characters.data={ category="so", description="TAMIL MONTH SIGN", direction="on", + indic="o", linebreak="al", synonyms={ "tamil maatham" }, unicodeslot=0xBF4, @@ -24973,6 +25726,7 @@ characters.data={ category="so", description="TAMIL YEAR SIGN", direction="on", + indic="o", linebreak="al", synonyms={ "tamil varudam" }, unicodeslot=0xBF5, @@ -24981,6 +25735,7 @@ characters.data={ category="so", description="TAMIL DEBIT SIGN", direction="on", + indic="o", linebreak="al", synonyms={ "tamil patru" }, unicodeslot=0xBF6, @@ -24989,6 +25744,7 @@ characters.data={ category="so", description="TAMIL CREDIT SIGN", direction="on", + indic="o", linebreak="al", synonyms={ "tamil varavu" }, unicodeslot=0xBF7, @@ -24997,6 +25753,7 @@ characters.data={ category="so", description="TAMIL AS ABOVE SIGN", direction="on", + indic="o", linebreak="al", synonyms={ "tamil merpadi" }, unicodeslot=0xBF8, @@ -25005,6 +25762,7 @@ characters.data={ category="sc", description="TAMIL RUPEE SIGN", direction="et", + indic="o", linebreak="pr", synonyms={ "tamil rupai" }, unicodeslot=0xBF9, @@ -25013,6 +25771,7 @@ characters.data={ category="so", description="TAMIL NUMBER SIGN", direction="on", + indic="o", linebreak="al", synonyms={ "tamil enn" }, unicodeslot=0xBFA, @@ -25021,6 +25780,7 @@ characters.data={ category="mn", description="TELUGU SIGN COMBINING CANDRABINDU ABOVE", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xC00, }, @@ -25028,6 +25788,7 @@ characters.data={ category="mc", description="TELUGU SIGN CANDRABINDU", direction="l", + indic="o", linebreak="cm", unicodeslot=0xC01, }, @@ -25035,6 +25796,7 @@ characters.data={ category="mc", description="TELUGU SIGN ANUSVARA", direction="l", + indic="o", linebreak="cm", synonyms={ "telugu sunna" }, unicodeslot=0xC02, @@ -25043,6 +25805,7 @@ characters.data={ category="mc", description="TELUGU SIGN VISARGA", direction="l", + indic="o", linebreak="cm", unicodeslot=0xC03, }, @@ -25050,6 +25813,7 @@ characters.data={ category="lo", description="TELUGU LETTER A", direction="l", + indic="i", linebreak="al", unicodeslot=0xC05, }, @@ -25057,6 +25821,7 @@ characters.data={ category="lo", description="TELUGU LETTER AA", direction="l", + indic="i", linebreak="al", unicodeslot=0xC06, }, @@ -25064,6 +25829,7 @@ characters.data={ category="lo", description="TELUGU LETTER I", direction="l", + indic="i", linebreak="al", unicodeslot=0xC07, }, @@ -25071,6 +25837,7 @@ characters.data={ category="lo", description="TELUGU LETTER II", direction="l", + indic="i", linebreak="al", unicodeslot=0xC08, }, @@ -25078,6 +25845,7 @@ characters.data={ category="lo", description="TELUGU LETTER U", direction="l", + indic="i", linebreak="al", unicodeslot=0xC09, }, @@ -25085,6 +25853,7 @@ characters.data={ category="lo", description="TELUGU LETTER UU", direction="l", + indic="i", linebreak="al", unicodeslot=0xC0A, }, @@ -25092,6 +25861,7 @@ characters.data={ category="lo", description="TELUGU LETTER VOCALIC R", direction="l", + indic="i", linebreak="al", unicodeslot=0xC0B, }, @@ -25099,6 +25869,7 @@ characters.data={ category="lo", description="TELUGU LETTER VOCALIC L", direction="l", + indic="i", linebreak="al", unicodeslot=0xC0C, }, @@ -25106,6 +25877,7 @@ characters.data={ category="lo", description="TELUGU LETTER E", direction="l", + indic="i", linebreak="al", unicodeslot=0xC0E, }, @@ -25113,6 +25885,7 @@ characters.data={ category="lo", description="TELUGU LETTER EE", direction="l", + indic="i", linebreak="al", unicodeslot=0xC0F, }, @@ -25120,6 +25893,7 @@ characters.data={ category="lo", description="TELUGU LETTER AI", direction="l", + indic="i", linebreak="al", unicodeslot=0xC10, }, @@ -25127,6 +25901,7 @@ characters.data={ category="lo", description="TELUGU LETTER O", direction="l", + indic="i", linebreak="al", unicodeslot=0xC12, }, @@ -25134,6 +25909,7 @@ characters.data={ category="lo", description="TELUGU LETTER OO", direction="l", + indic="i", linebreak="al", unicodeslot=0xC13, }, @@ -25141,6 +25917,7 @@ characters.data={ category="lo", description="TELUGU LETTER AU", direction="l", + indic="i", linebreak="al", unicodeslot=0xC14, }, @@ -25148,6 +25925,7 @@ characters.data={ category="lo", description="TELUGU LETTER KA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC15, }, @@ -25155,6 +25933,7 @@ characters.data={ category="lo", description="TELUGU LETTER KHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC16, }, @@ -25162,6 +25941,7 @@ characters.data={ category="lo", description="TELUGU LETTER GA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC17, }, @@ -25169,6 +25949,7 @@ characters.data={ category="lo", description="TELUGU LETTER GHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC18, }, @@ -25176,6 +25957,7 @@ characters.data={ category="lo", description="TELUGU LETTER NGA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC19, }, @@ -25183,6 +25965,7 @@ characters.data={ category="lo", description="TELUGU LETTER CA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC1A, }, @@ -25190,6 +25973,7 @@ characters.data={ category="lo", description="TELUGU LETTER CHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC1B, }, @@ -25197,6 +25981,7 @@ characters.data={ category="lo", description="TELUGU LETTER JA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC1C, }, @@ -25204,6 +25989,7 @@ characters.data={ category="lo", description="TELUGU LETTER JHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC1D, }, @@ -25211,6 +25997,7 @@ characters.data={ category="lo", description="TELUGU LETTER NYA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC1E, }, @@ -25218,6 +26005,7 @@ characters.data={ category="lo", description="TELUGU LETTER TTA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC1F, }, @@ -25225,6 +26013,7 @@ characters.data={ category="lo", description="TELUGU LETTER TTHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC20, }, @@ -25232,6 +26021,7 @@ characters.data={ category="lo", description="TELUGU LETTER DDA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC21, }, @@ -25239,6 +26029,7 @@ characters.data={ category="lo", description="TELUGU LETTER DDHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC22, }, @@ -25246,6 +26037,7 @@ characters.data={ category="lo", description="TELUGU LETTER NNA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC23, }, @@ -25253,6 +26045,7 @@ characters.data={ category="lo", description="TELUGU LETTER TA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC24, }, @@ -25260,6 +26053,7 @@ characters.data={ category="lo", description="TELUGU LETTER THA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC25, }, @@ -25267,6 +26061,7 @@ characters.data={ category="lo", description="TELUGU LETTER DA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC26, }, @@ -25274,6 +26069,7 @@ characters.data={ category="lo", description="TELUGU LETTER DHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC27, }, @@ -25281,6 +26077,7 @@ characters.data={ category="lo", description="TELUGU LETTER NA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC28, }, @@ -25288,6 +26085,7 @@ characters.data={ category="lo", description="TELUGU LETTER PA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC2A, }, @@ -25295,6 +26093,7 @@ characters.data={ category="lo", description="TELUGU LETTER PHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC2B, }, @@ -25302,6 +26101,7 @@ characters.data={ category="lo", description="TELUGU LETTER BA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC2C, }, @@ -25309,6 +26109,7 @@ characters.data={ category="lo", description="TELUGU LETTER BHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC2D, }, @@ -25316,6 +26117,7 @@ characters.data={ category="lo", description="TELUGU LETTER MA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC2E, }, @@ -25323,6 +26125,7 @@ characters.data={ category="lo", description="TELUGU LETTER YA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC2F, }, @@ -25330,6 +26133,9 @@ characters.data={ category="lo", description="TELUGU LETTER RA", direction="l", + indic="c", + indicclass="ra", + indicorder="ap", linebreak="al", unicodeslot=0xC30, }, @@ -25337,6 +26143,7 @@ characters.data={ category="lo", description="TELUGU LETTER RRA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC31, }, @@ -25344,6 +26151,7 @@ characters.data={ category="lo", description="TELUGU LETTER LA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC32, }, @@ -25351,6 +26159,7 @@ characters.data={ category="lo", description="TELUGU LETTER LLA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC33, }, @@ -25358,6 +26167,7 @@ characters.data={ category="lo", description="TELUGU LETTER LLLA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC34, }, @@ -25367,11 +26177,13 @@ characters.data={ direction="l", linebreak="al", unicodeslot=0xC35, + indic="c", }, [0xC36]={ category="lo", description="TELUGU LETTER SHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC36, }, @@ -25379,6 +26191,7 @@ characters.data={ category="lo", description="TELUGU LETTER SSA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC37, }, @@ -25386,6 +26199,7 @@ characters.data={ category="lo", description="TELUGU LETTER SA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC38, }, @@ -25393,6 +26207,7 @@ characters.data={ category="lo", description="TELUGU LETTER HA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC39, }, @@ -25400,6 +26215,7 @@ characters.data={ category="lo", description="TELUGU SIGN AVAGRAHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC3D, }, @@ -25407,6 +26223,9 @@ characters.data={ category="mn", description="TELUGU VOWEL SIGN AA", direction="nsm", + indic="d", + indicmark="t", + indicorder="bs", linebreak="cm", unicodeslot=0xC3E, }, @@ -25414,6 +26233,9 @@ characters.data={ category="mn", description="TELUGU VOWEL SIGN I", direction="nsm", + indic="d", + indicmark="t", + indicorder="bs", linebreak="cm", unicodeslot=0xC3F, }, @@ -25421,6 +26243,9 @@ characters.data={ category="mn", description="TELUGU VOWEL SIGN II", direction="nsm", + indic="d", + indicmark="t", + indicorder="bs", linebreak="cm", unicodeslot=0xC40, }, @@ -25428,6 +26253,9 @@ characters.data={ category="mc", description="TELUGU VOWEL SIGN U", direction="l", + indic="d", + indicmark="r", + indicorder="bs", linebreak="cm", unicodeslot=0xC41, }, @@ -25435,6 +26263,9 @@ characters.data={ category="mc", description="TELUGU VOWEL SIGN UU", direction="l", + indic="d", + indicmark="r", + indicorder="bs", linebreak="cm", unicodeslot=0xC42, }, @@ -25442,6 +26273,9 @@ characters.data={ category="mc", description="TELUGU VOWEL SIGN VOCALIC R", direction="l", + indic="d", + indicmark="r", + indicorder="as", linebreak="cm", unicodeslot=0xC43, }, @@ -25449,6 +26283,9 @@ characters.data={ category="mc", description="TELUGU VOWEL SIGN VOCALIC RR", direction="l", + indic="d", + indicmark="r", + indicorder="as", linebreak="cm", unicodeslot=0xC44, }, @@ -25456,6 +26293,9 @@ characters.data={ category="mn", description="TELUGU VOWEL SIGN E", direction="nsm", + indic="d", + indicmark="t", + indicorder="bs", linebreak="cm", unicodeslot=0xC46, }, @@ -25463,6 +26303,9 @@ characters.data={ category="mn", description="TELUGU VOWEL SIGN EE", direction="nsm", + indic="d", + indicmark="t", + indicorder="bs", linebreak="cm", unicodeslot=0xC47, }, @@ -25470,6 +26313,8 @@ characters.data={ category="mn", description="TELUGU VOWEL SIGN AI", direction="nsm", + indic="d", + indicmark="t", linebreak="cm", specials={ "char", 0xC46, 0xC56 }, unicodeslot=0xC48, @@ -25478,6 +26323,9 @@ characters.data={ category="mn", description="TELUGU VOWEL SIGN O", direction="nsm", + indic="d", + indicmark="t", + indicorder="bs", linebreak="cm", unicodeslot=0xC4A, }, @@ -25485,6 +26333,9 @@ characters.data={ category="mn", description="TELUGU VOWEL SIGN OO", direction="nsm", + indic="d", + indicmark="t", + indicorder="bs", linebreak="cm", unicodeslot=0xC4B, }, @@ -25492,6 +26343,9 @@ characters.data={ category="mn", description="TELUGU VOWEL SIGN AU", direction="nsm", + indic="d", + indicmark="t", + indicorder="bs", linebreak="cm", unicodeslot=0xC4C, }, @@ -25500,6 +26354,9 @@ characters.data={ combining=0x9, description="TELUGU SIGN VIRAMA", direction="nsm", + indic="o", + indicclass="halant", + indicmark="t", linebreak="cm", unicodeslot=0xC4D, }, @@ -25508,6 +26365,8 @@ characters.data={ combining=0x54, description="TELUGU LENGTH MARK", direction="nsm", + indic="o", + indicorder="bs", linebreak="cm", unicodeslot=0xC55, }, @@ -25516,6 +26375,8 @@ characters.data={ combining=0x5B, description="TELUGU AI LENGTH MARK", direction="nsm", + indic="o", + indicorder="bs", linebreak="cm", unicodeslot=0xC56, }, @@ -25523,6 +26384,7 @@ characters.data={ category="lo", description="TELUGU LETTER TSA", direction="l", + indic="o", linebreak="al", unicodeslot=0xC58, }, @@ -25530,6 +26392,7 @@ characters.data={ category="lo", description="TELUGU LETTER DZA", direction="l", + indic="o", linebreak="al", unicodeslot=0xC59, }, @@ -25537,6 +26400,7 @@ characters.data={ category="lo", description="TELUGU LETTER RRRA", direction="l", + indic="o", linebreak="al", unicodeslot=0xC5A, }, @@ -25544,6 +26408,7 @@ characters.data={ category="lo", description="TELUGU LETTER VOCALIC RR", direction="l", + indic="i", linebreak="al", unicodeslot=0xC60, }, @@ -25551,6 +26416,7 @@ characters.data={ category="lo", description="TELUGU LETTER VOCALIC LL", direction="l", + indic="i", linebreak="al", unicodeslot=0xC61, }, @@ -25558,6 +26424,8 @@ characters.data={ category="mn", description="TELUGU VOWEL SIGN VOCALIC L", direction="nsm", + indic="d", + indicmark="b", linebreak="cm", unicodeslot=0xC62, }, @@ -25565,6 +26433,8 @@ characters.data={ category="mn", description="TELUGU VOWEL SIGN VOCALIC LL", direction="nsm", + indic="d", + indicmark="b", linebreak="cm", unicodeslot=0xC63, }, @@ -25572,6 +26442,7 @@ characters.data={ category="nd", description="TELUGU DIGIT ZERO", direction="l", + indic="o", linebreak="nu", unicodeslot=0xC66, }, @@ -25579,6 +26450,7 @@ characters.data={ category="nd", description="TELUGU DIGIT ONE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xC67, }, @@ -25586,6 +26458,7 @@ characters.data={ category="nd", description="TELUGU DIGIT TWO", direction="l", + indic="o", linebreak="nu", unicodeslot=0xC68, }, @@ -25593,6 +26466,7 @@ characters.data={ category="nd", description="TELUGU DIGIT THREE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xC69, }, @@ -25600,6 +26474,7 @@ characters.data={ category="nd", description="TELUGU DIGIT FOUR", direction="l", + indic="o", linebreak="nu", unicodeslot=0xC6A, }, @@ -25607,6 +26482,7 @@ characters.data={ category="nd", description="TELUGU DIGIT FIVE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xC6B, }, @@ -25614,6 +26490,7 @@ characters.data={ category="nd", description="TELUGU DIGIT SIX", direction="l", + indic="o", linebreak="nu", unicodeslot=0xC6C, }, @@ -25621,6 +26498,7 @@ characters.data={ category="nd", description="TELUGU DIGIT SEVEN", direction="l", + indic="o", linebreak="nu", unicodeslot=0xC6D, }, @@ -25628,6 +26506,7 @@ characters.data={ category="nd", description="TELUGU DIGIT EIGHT", direction="l", + indic="o", linebreak="nu", unicodeslot=0xC6E, }, @@ -25635,6 +26514,7 @@ characters.data={ category="nd", description="TELUGU DIGIT NINE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xC6F, }, @@ -25642,6 +26522,7 @@ characters.data={ category="no", description="TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR", direction="on", + indic="o", linebreak="al", unicodeslot=0xC78, }, @@ -25649,6 +26530,7 @@ characters.data={ category="no", description="TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR", direction="on", + indic="o", linebreak="al", unicodeslot=0xC79, }, @@ -25656,6 +26538,7 @@ characters.data={ category="no", description="TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR", direction="on", + indic="o", linebreak="al", unicodeslot=0xC7A, }, @@ -25663,6 +26546,7 @@ characters.data={ category="no", description="TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR", direction="on", + indic="o", linebreak="al", unicodeslot=0xC7B, }, @@ -25670,6 +26554,7 @@ characters.data={ category="no", description="TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR", direction="on", + indic="o", linebreak="al", unicodeslot=0xC7C, }, @@ -25677,6 +26562,7 @@ characters.data={ category="no", description="TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR", direction="on", + indic="o", linebreak="al", unicodeslot=0xC7D, }, @@ -25684,6 +26570,7 @@ characters.data={ category="no", description="TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR", direction="on", + indic="o", linebreak="al", unicodeslot=0xC7E, }, @@ -25691,6 +26578,7 @@ characters.data={ category="so", description="TELUGU SIGN TUUMU", direction="l", + indic="o", linebreak="al", unicodeslot=0xC7F, }, @@ -25698,6 +26586,7 @@ characters.data={ category="lo", description="KANNADA SIGN SPACING CANDRABINDU", direction="l", + indic="o", linebreak="al", unicodeslot=0xC80, }, @@ -25705,6 +26594,7 @@ characters.data={ category="mn", description="KANNADA SIGN CANDRABINDU", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xC81, }, @@ -25712,6 +26602,7 @@ characters.data={ category="mc", description="KANNADA SIGN ANUSVARA", direction="l", + indic="o", linebreak="cm", unicodeslot=0xC82, }, @@ -25719,6 +26610,7 @@ characters.data={ category="mc", description="KANNADA SIGN VISARGA", direction="l", + indic="o", linebreak="cm", unicodeslot=0xC83, }, @@ -25726,6 +26618,7 @@ characters.data={ category="lo", description="KANNADA LETTER A", direction="l", + indic="i", linebreak="al", unicodeslot=0xC85, }, @@ -25733,6 +26626,7 @@ characters.data={ category="lo", description="KANNADA LETTER AA", direction="l", + indic="i", linebreak="al", unicodeslot=0xC86, }, @@ -25740,6 +26634,7 @@ characters.data={ category="lo", description="KANNADA LETTER I", direction="l", + indic="i", linebreak="al", unicodeslot=0xC87, }, @@ -25747,6 +26642,7 @@ characters.data={ category="lo", description="KANNADA LETTER II", direction="l", + indic="i", linebreak="al", unicodeslot=0xC88, }, @@ -25754,6 +26650,7 @@ characters.data={ category="lo", description="KANNADA LETTER U", direction="l", + indic="i", linebreak="al", unicodeslot=0xC89, }, @@ -25761,6 +26658,7 @@ characters.data={ category="lo", description="KANNADA LETTER UU", direction="l", + indic="i", linebreak="al", unicodeslot=0xC8A, }, @@ -25768,6 +26666,7 @@ characters.data={ category="lo", description="KANNADA LETTER VOCALIC R", direction="l", + indic="i", linebreak="al", unicodeslot=0xC8B, }, @@ -25775,6 +26674,7 @@ characters.data={ category="lo", description="KANNADA LETTER VOCALIC L", direction="l", + indic="i", linebreak="al", unicodeslot=0xC8C, }, @@ -25782,6 +26682,7 @@ characters.data={ category="lo", description="KANNADA LETTER E", direction="l", + indic="i", linebreak="al", unicodeslot=0xC8E, }, @@ -25789,6 +26690,7 @@ characters.data={ category="lo", description="KANNADA LETTER EE", direction="l", + indic="i", linebreak="al", unicodeslot=0xC8F, }, @@ -25796,6 +26698,7 @@ characters.data={ category="lo", description="KANNADA LETTER AI", direction="l", + indic="i", linebreak="al", unicodeslot=0xC90, }, @@ -25803,6 +26706,7 @@ characters.data={ category="lo", description="KANNADA LETTER O", direction="l", + indic="i", linebreak="al", unicodeslot=0xC92, }, @@ -25810,6 +26714,7 @@ characters.data={ category="lo", description="KANNADA LETTER OO", direction="l", + indic="i", linebreak="al", unicodeslot=0xC93, }, @@ -25817,6 +26722,7 @@ characters.data={ category="lo", description="KANNADA LETTER AU", direction="l", + indic="i", linebreak="al", unicodeslot=0xC94, }, @@ -25824,6 +26730,7 @@ characters.data={ category="lo", description="KANNADA LETTER KA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC95, }, @@ -25831,6 +26738,7 @@ characters.data={ category="lo", description="KANNADA LETTER KHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC96, }, @@ -25838,6 +26746,7 @@ characters.data={ category="lo", description="KANNADA LETTER GA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC97, }, @@ -25845,6 +26754,7 @@ characters.data={ category="lo", description="KANNADA LETTER GHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC98, }, @@ -25852,6 +26762,7 @@ characters.data={ category="lo", description="KANNADA LETTER NGA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC99, }, @@ -25859,6 +26770,7 @@ characters.data={ category="lo", description="KANNADA LETTER CA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC9A, }, @@ -25866,6 +26778,7 @@ characters.data={ category="lo", description="KANNADA LETTER CHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC9B, }, @@ -25873,6 +26786,7 @@ characters.data={ category="lo", description="KANNADA LETTER JA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC9C, }, @@ -25880,6 +26794,7 @@ characters.data={ category="lo", description="KANNADA LETTER JHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC9D, }, @@ -25887,6 +26802,7 @@ characters.data={ category="lo", description="KANNADA LETTER NYA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC9E, }, @@ -25894,6 +26810,7 @@ characters.data={ category="lo", description="KANNADA LETTER TTA", direction="l", + indic="c", linebreak="al", unicodeslot=0xC9F, }, @@ -25901,6 +26818,7 @@ characters.data={ category="lo", description="KANNADA LETTER TTHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCA0, }, @@ -25908,6 +26826,7 @@ characters.data={ category="lo", description="KANNADA LETTER DDA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCA1, }, @@ -25915,6 +26834,7 @@ characters.data={ category="lo", description="KANNADA LETTER DDHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCA2, }, @@ -25922,6 +26842,7 @@ characters.data={ category="lo", description="KANNADA LETTER NNA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCA3, }, @@ -25929,6 +26850,7 @@ characters.data={ category="lo", description="KANNADA LETTER TA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCA4, }, @@ -25936,6 +26858,7 @@ characters.data={ category="lo", description="KANNADA LETTER THA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCA5, }, @@ -25943,6 +26866,7 @@ characters.data={ category="lo", description="KANNADA LETTER DA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCA6, }, @@ -25950,6 +26874,7 @@ characters.data={ category="lo", description="KANNADA LETTER DHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCA7, }, @@ -25957,6 +26882,7 @@ characters.data={ category="lo", description="KANNADA LETTER NA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCA8, }, @@ -25964,6 +26890,7 @@ characters.data={ category="lo", description="KANNADA LETTER PA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCAA, }, @@ -25971,6 +26898,7 @@ characters.data={ category="lo", description="KANNADA LETTER PHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCAB, }, @@ -25978,6 +26906,7 @@ characters.data={ category="lo", description="KANNADA LETTER BA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCAC, }, @@ -25985,6 +26914,7 @@ characters.data={ category="lo", description="KANNADA LETTER BHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCAD, }, @@ -25992,6 +26922,7 @@ characters.data={ category="lo", description="KANNADA LETTER MA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCAE, }, @@ -25999,6 +26930,7 @@ characters.data={ category="lo", description="KANNADA LETTER YA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCAF, }, @@ -26006,6 +26938,9 @@ characters.data={ category="lo", description="KANNADA LETTER RA", direction="l", + indic="c", + indicclass="ra", + indicorder="ap", linebreak="al", unicodeslot=0xCB0, }, @@ -26013,6 +26948,7 @@ characters.data={ category="lo", description="KANNADA LETTER RRA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCB1, }, @@ -26020,6 +26956,7 @@ characters.data={ category="lo", description="KANNADA LETTER LA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCB2, }, @@ -26027,6 +26964,7 @@ characters.data={ category="lo", description="KANNADA LETTER LLA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCB3, }, @@ -26034,6 +26972,7 @@ characters.data={ category="lo", description="KANNADA LETTER VA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCB5, }, @@ -26041,6 +26980,7 @@ characters.data={ category="lo", description="KANNADA LETTER SHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCB6, }, @@ -26048,6 +26988,7 @@ characters.data={ category="lo", description="KANNADA LETTER SSA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCB7, }, @@ -26055,6 +26996,7 @@ characters.data={ category="lo", description="KANNADA LETTER SA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCB8, }, @@ -26062,6 +27004,7 @@ characters.data={ category="lo", description="KANNADA LETTER HA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCB9, }, @@ -26070,6 +27013,9 @@ characters.data={ combining=0x7, description="KANNADA SIGN NUKTA", direction="nsm", + indic="o", + indicmark="b", + indicclass="nukta", linebreak="cm", unicodeslot=0xCBC, }, @@ -26077,6 +27023,7 @@ characters.data={ category="lo", description="KANNADA SIGN AVAGRAHA", direction="l", + indic="o", linebreak="al", unicodeslot=0xCBD, }, @@ -26084,6 +27031,9 @@ characters.data={ category="mc", description="KANNADA VOWEL SIGN AA", direction="l", + indic="d", + indicmark="r", + indicorder="bs", linebreak="cm", unicodeslot=0xCBE, }, @@ -26091,6 +27041,9 @@ characters.data={ category="mn", description="KANNADA VOWEL SIGN I", direction="l", + indic="d", + indicmark="t", + indicorder="bs", linebreak="cm", unicodeslot=0xCBF, }, @@ -26098,6 +27051,8 @@ characters.data={ category="mc", description="KANNADA VOWEL SIGN II", direction="l", + indic="d", + indicmark="r", linebreak="cm", specials={ "char", 0xCBF, 0xCD5 }, unicodeslot=0xCC0, @@ -26106,6 +27061,9 @@ characters.data={ category="mc", description="KANNADA VOWEL SIGN U", direction="l", + indic="d", + indicmark="r", + indicorder="bs", linebreak="cm", unicodeslot=0xCC1, }, @@ -26113,6 +27071,9 @@ characters.data={ category="mc", description="KANNADA VOWEL SIGN UU", direction="l", + indic="d", + indicmark="r", + indicorder="bs", linebreak="cm", unicodeslot=0xCC2, }, @@ -26120,6 +27081,9 @@ characters.data={ category="mc", description="KANNADA VOWEL SIGN VOCALIC R", direction="l", + indic="d", + indicmark="r", + indicorder="as", linebreak="cm", unicodeslot=0xCC3, }, @@ -26127,6 +27091,9 @@ characters.data={ category="mc", description="KANNADA VOWEL SIGN VOCALIC RR", direction="l", + indic="d", + indicmark="r", + indicorder="as", linebreak="cm", unicodeslot=0xCC4, }, @@ -26134,6 +27101,9 @@ characters.data={ category="mn", description="KANNADA VOWEL SIGN E", direction="l", + indic="d", + indicmark="t", + indicorder="bs", linebreak="cm", unicodeslot=0xCC6, }, @@ -26141,6 +27111,8 @@ characters.data={ category="mc", description="KANNADA VOWEL SIGN EE", direction="l", + indic="d", + indicmark="r", linebreak="cm", specials={ "char", 0xCC6, 0xCD5 }, unicodeslot=0xCC7, @@ -26149,6 +27121,8 @@ characters.data={ category="mc", description="KANNADA VOWEL SIGN AI", direction="l", + indic="d", + indicmark="r", linebreak="cm", specials={ "char", 0xCC6, 0xCD6 }, unicodeslot=0xCC8, @@ -26157,6 +27131,8 @@ characters.data={ category="mc", description="KANNADA VOWEL SIGN O", direction="l", + indic="d", + indicmark="r", linebreak="cm", specials={ "char", 0xCC6, 0xCC2 }, unicodeslot=0xCCA, @@ -26165,6 +27141,8 @@ characters.data={ category="mc", description="KANNADA VOWEL SIGN OO", direction="l", + indic="d", + indicmark="r", linebreak="cm", specials={ "char", 0xCCA, 0xCD5 }, unicodeslot=0xCCB, @@ -26173,6 +27151,9 @@ characters.data={ category="mn", description="KANNADA VOWEL SIGN AU", direction="nsm", + indic="d", + indicmark="r", + indicorder="bs", linebreak="cm", unicodeslot=0xCCC, }, @@ -26181,6 +27162,8 @@ characters.data={ combining=0x9, description="KANNADA SIGN VIRAMA", direction="nsm", + indic="s", + indicclass="halant", linebreak="cm", unicodeslot=0xCCD, }, @@ -26188,6 +27171,8 @@ characters.data={ category="mc", description="KANNADA LENGTH MARK", direction="l", + indic="o", + indicorder="as", linebreak="cm", unicodeslot=0xCD5, }, @@ -26195,6 +27180,8 @@ characters.data={ category="mc", description="KANNADA AI LENGTH MARK", direction="l", + indic="o", + indicorder="as", linebreak="cm", unicodeslot=0xCD6, }, @@ -26202,6 +27189,7 @@ characters.data={ category="lo", description="KANNADA LETTER FA", direction="l", + indic="c", linebreak="al", unicodeslot=0xCDE, }, @@ -26209,6 +27197,7 @@ characters.data={ category="lo", description="KANNADA LETTER VOCALIC RR", direction="l", + indic="i", linebreak="al", unicodeslot=0xCE0, }, @@ -26216,6 +27205,7 @@ characters.data={ category="lo", description="KANNADA LETTER VOCALIC LL", direction="l", + indic="i", linebreak="al", unicodeslot=0xCE1, }, @@ -26223,6 +27213,9 @@ characters.data={ category="mn", description="KANNADA VOWEL SIGN VOCALIC L", direction="nsm", + indic="d", + indicmark="b", + indicorder="bs", linebreak="cm", unicodeslot=0xCE2, }, @@ -26230,6 +27223,9 @@ characters.data={ category="mn", description="KANNADA VOWEL SIGN VOCALIC LL", direction="nsm", + indic="d", + indicmark="b", + indicorder="bs", linebreak="cm", unicodeslot=0xCE3, }, @@ -26237,6 +27233,7 @@ characters.data={ category="nd", description="KANNADA DIGIT ZERO", direction="l", + indic="o", linebreak="nu", unicodeslot=0xCE6, }, @@ -26244,6 +27241,7 @@ characters.data={ category="nd", description="KANNADA DIGIT ONE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xCE7, }, @@ -26251,6 +27249,7 @@ characters.data={ category="nd", description="KANNADA DIGIT TWO", direction="l", + indic="o", linebreak="nu", unicodeslot=0xCE8, }, @@ -26258,6 +27257,7 @@ characters.data={ category="nd", description="KANNADA DIGIT THREE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xCE9, }, @@ -26265,6 +27265,7 @@ characters.data={ category="nd", description="KANNADA DIGIT FOUR", direction="l", + indic="o", linebreak="nu", unicodeslot=0xCEA, }, @@ -26272,6 +27273,7 @@ characters.data={ category="nd", description="KANNADA DIGIT FIVE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xCEB, }, @@ -26279,6 +27281,7 @@ characters.data={ category="nd", description="KANNADA DIGIT SIX", direction="l", + indic="o", linebreak="nu", unicodeslot=0xCEC, }, @@ -26286,6 +27289,7 @@ characters.data={ category="nd", description="KANNADA DIGIT SEVEN", direction="l", + indic="o", linebreak="nu", unicodeslot=0xCED, }, @@ -26293,6 +27297,7 @@ characters.data={ category="nd", description="KANNADA DIGIT EIGHT", direction="l", + indic="o", linebreak="nu", unicodeslot=0xCEE, }, @@ -26300,6 +27305,7 @@ characters.data={ category="nd", description="KANNADA DIGIT NINE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xCEF, }, @@ -26307,6 +27313,7 @@ characters.data={ category="so", description="KANNADA SIGN JIHVAMULIYA", direction="l", + indic="o", linebreak="al", unicodeslot=0xCF1, }, @@ -26314,6 +27321,7 @@ characters.data={ category="so", description="KANNADA SIGN UPADHMANIYA", direction="l", + indic="o", linebreak="al", unicodeslot=0xCF2, }, @@ -26321,6 +27329,7 @@ characters.data={ category="mn", description="MALAYALAM SIGN COMBINING ANUSVARA ABOVE", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xD00, }, @@ -26328,6 +27337,7 @@ characters.data={ category="mn", description="MALAYALAM SIGN CANDRABINDU", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xD01, }, @@ -26335,6 +27345,7 @@ characters.data={ category="mc", description="MALAYALAM SIGN ANUSVARA", direction="l", + indic="m", linebreak="cm", unicodeslot=0xD02, }, @@ -26342,6 +27353,7 @@ characters.data={ category="mc", description="MALAYALAM SIGN VISARGA", direction="l", + indic="m", linebreak="cm", unicodeslot=0xD03, }, @@ -26349,6 +27361,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER A", direction="l", + indic="i", linebreak="al", unicodeslot=0xD05, }, @@ -26356,6 +27369,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER AA", direction="l", + indic="i", linebreak="al", unicodeslot=0xD06, }, @@ -26363,6 +27377,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER I", direction="l", + indic="i", linebreak="al", unicodeslot=0xD07, }, @@ -26370,6 +27385,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER II", direction="l", + indic="i", linebreak="al", unicodeslot=0xD08, }, @@ -26377,6 +27393,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER U", direction="l", + indic="i", linebreak="al", unicodeslot=0xD09, }, @@ -26384,6 +27401,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER UU", direction="l", + indic="i", linebreak="al", unicodeslot=0xD0A, }, @@ -26391,6 +27409,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER VOCALIC R", direction="l", + indic="i", linebreak="al", unicodeslot=0xD0B, }, @@ -26398,6 +27417,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER VOCALIC L", direction="l", + indic="i", linebreak="al", unicodeslot=0xD0C, }, @@ -26405,6 +27425,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER E", direction="l", + indic="i", linebreak="al", unicodeslot=0xD0E, }, @@ -26412,6 +27433,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER EE", direction="l", + indic="i", linebreak="al", unicodeslot=0xD0F, }, @@ -26419,6 +27441,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER AI", direction="l", + indic="i", linebreak="al", unicodeslot=0xD10, }, @@ -26426,6 +27449,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER O", direction="l", + indic="i", linebreak="al", unicodeslot=0xD12, }, @@ -26433,6 +27457,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER OO", direction="l", + indic="i", linebreak="al", unicodeslot=0xD13, }, @@ -26440,6 +27465,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER AU", direction="l", + indic="i", linebreak="al", unicodeslot=0xD14, }, @@ -26447,6 +27473,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER KA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD15, }, @@ -26454,6 +27481,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER KHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD16, }, @@ -26461,6 +27489,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER GA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD17, }, @@ -26468,6 +27497,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER GHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD18, }, @@ -26475,6 +27505,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER NGA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD19, }, @@ -26482,6 +27513,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER CA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD1A, }, @@ -26489,6 +27521,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER CHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD1B, }, @@ -26496,6 +27529,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER JA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD1C, }, @@ -26503,6 +27537,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER JHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD1D, }, @@ -26510,6 +27545,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER NYA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD1E, }, @@ -26517,6 +27553,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER TTA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD1F, }, @@ -26524,6 +27561,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER TTHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD20, }, @@ -26531,6 +27569,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER DDA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD21, }, @@ -26538,6 +27577,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER DDHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD22, }, @@ -26545,6 +27585,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER NNA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD23, }, @@ -26552,6 +27593,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER TA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD24, }, @@ -26559,6 +27601,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER THA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD25, }, @@ -26566,6 +27609,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER DA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD26, }, @@ -26573,6 +27617,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER DHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD27, }, @@ -26580,6 +27625,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER NA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD28, }, @@ -26587,6 +27633,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER NNNA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD29, }, @@ -26594,6 +27641,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER PA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD2A, }, @@ -26601,6 +27649,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER PHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD2B, }, @@ -26608,6 +27657,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER BA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD2C, }, @@ -26615,6 +27665,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER BHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD2D, }, @@ -26622,6 +27673,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER MA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD2E, }, @@ -26629,6 +27681,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER YA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD2F, }, @@ -26636,6 +27689,9 @@ characters.data={ category="lo", description="MALAYALAM LETTER RA", direction="l", + indic="c", + indicclass="ra", + indicorder="am", linebreak="al", unicodeslot=0xD30, }, @@ -26643,6 +27699,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER RRA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD31, }, @@ -26650,6 +27707,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER LA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD32, }, @@ -26657,6 +27715,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER LLA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD33, }, @@ -26664,6 +27723,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER LLLA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD34, }, @@ -26671,6 +27731,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER VA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD35, }, @@ -26678,6 +27739,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER SHA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD36, }, @@ -26685,6 +27747,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER SSA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD37, }, @@ -26692,6 +27755,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER SA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD38, }, @@ -26699,6 +27763,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER HA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD39, }, @@ -26706,6 +27771,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER TTTA", direction="l", + indic="c", linebreak="al", unicodeslot=0xD3A, }, @@ -26714,6 +27780,7 @@ characters.data={ combining=0x9, description="MALAYALAM SIGN VERTICAL BAR VIRAMA", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xD3B, }, @@ -26722,6 +27789,7 @@ characters.data={ combining=0x9, description="MALAYALAM SIGN CIRCULAR VIRAMA", direction="nsm", + indic="o", linebreak="cm", unicodeslot=0xD3C, }, @@ -26729,6 +27797,7 @@ characters.data={ category="lo", description="MALAYALAM SIGN AVAGRAHA", direction="l", + indic="o", linebreak="al", unicodeslot=0xD3D, }, @@ -26736,6 +27805,9 @@ characters.data={ category="mc", description="MALAYALAM VOWEL SIGN AA", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xD3E, }, @@ -26743,6 +27815,9 @@ characters.data={ category="mc", description="MALAYALAM VOWEL SIGN I", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xD3F, }, @@ -26750,6 +27825,9 @@ characters.data={ category="mc", description="MALAYALAM VOWEL SIGN II", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xD40, }, @@ -26757,6 +27835,9 @@ characters.data={ category="mn", description="MALAYALAM VOWEL SIGN U", direction="nsm", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xD41, }, @@ -26764,6 +27845,9 @@ characters.data={ category="mn", description="MALAYALAM VOWEL SIGN UU", direction="nsm", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xD42, }, @@ -26771,6 +27855,9 @@ characters.data={ category="mn", description="MALAYALAM VOWEL SIGN VOCALIC R", direction="nsm", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xD43, }, @@ -26778,6 +27865,8 @@ characters.data={ category="mn", description="MALAYALAM VOWEL SIGN VOCALIC RR", direction="nsm", + indic="d", + indicmark="r", linebreak="cm", unicodeslot=0xD44, }, @@ -26785,6 +27874,9 @@ characters.data={ category="mc", description="MALAYALAM VOWEL SIGN E", direction="l", + indic="d", + indicmark="l", + indicorder="bm", linebreak="cm", unicodeslot=0xD46, }, @@ -26792,6 +27884,9 @@ characters.data={ category="mc", description="MALAYALAM VOWEL SIGN EE", direction="l", + indic="d", + indicmark="l", + indicorder="bm", linebreak="cm", unicodeslot=0xD47, }, @@ -26799,6 +27894,9 @@ characters.data={ category="mc", description="MALAYALAM VOWEL SIGN AI", direction="l", + indic="d", + indicmark="l", + indicorder="bm", linebreak="cm", unicodeslot=0xD48, }, @@ -26806,6 +27904,8 @@ characters.data={ category="mc", description="MALAYALAM VOWEL SIGN O", direction="l", + indic="d", + indicmark="s", linebreak="cm", specials={ "char", 0xD46, 0xD3E }, unicodeslot=0xD4A, @@ -26814,6 +27914,8 @@ characters.data={ category="mc", description="MALAYALAM VOWEL SIGN OO", direction="l", + indic="d", + indicmark="s", linebreak="cm", specials={ "char", 0xD47, 0xD3E }, unicodeslot=0xD4B, @@ -26822,6 +27924,8 @@ characters.data={ category="mc", description="MALAYALAM VOWEL SIGN AU", direction="l", + indic="d", + indicmark="s", linebreak="cm", specials={ "char", 0xD46, 0xD57 }, unicodeslot=0xD4C, @@ -26831,6 +27935,8 @@ characters.data={ combining=0x9, description="MALAYALAM SIGN VIRAMA", direction="nsm", + indic="s", + indicclass="halant", linebreak="cm", synonyms={ "malayalam chandrakkala", "malayalam vowel half-u" }, unicodeslot=0xD4D, @@ -26839,6 +27945,8 @@ characters.data={ category="lo", description="MALAYALAM LETTER DOT REPH", direction="l", + indic="o", + indicmark="t", linebreak="al", unicodeslot=0xD4E, }, @@ -26846,6 +27954,7 @@ characters.data={ category="so", description="MALAYALAM SIGN PARA", direction="l", + indic="o", linebreak="al", unicodeslot=0xD4F, }, @@ -26853,6 +27962,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER CHILLU M", direction="l", + indic="o", linebreak="al", unicodeslot=0xD54, }, @@ -26860,6 +27970,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER CHILLU Y", direction="l", + indic="o", linebreak="al", unicodeslot=0xD55, }, @@ -26867,6 +27978,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER CHILLU LLL", direction="l", + indic="o", linebreak="al", unicodeslot=0xD56, }, @@ -26874,6 +27986,9 @@ characters.data={ category="mc", description="MALAYALAM AU LENGTH MARK", direction="l", + indic="d", + indicmark="r", + indicorder="ap", linebreak="cm", unicodeslot=0xD57, }, @@ -26881,6 +27996,7 @@ characters.data={ category="no", description="MALAYALAM FRACTION ONE ONE-HUNDRED-AND-SIXTIETH", direction="l", + indic="o", linebreak="al", unicodeslot=0xD58, }, @@ -26888,6 +28004,7 @@ characters.data={ category="no", description="MALAYALAM FRACTION ONE FORTIETH", direction="l", + indic="o", linebreak="al", unicodeslot=0xD59, }, @@ -26895,6 +28012,7 @@ characters.data={ category="no", description="MALAYALAM FRACTION THREE EIGHTIETHS", direction="l", + indic="o", linebreak="al", unicodeslot=0xD5A, }, @@ -26902,6 +28020,7 @@ characters.data={ category="no", description="MALAYALAM FRACTION ONE TWENTIETH", direction="l", + indic="o", linebreak="al", unicodeslot=0xD5B, }, @@ -26909,6 +28028,7 @@ characters.data={ category="no", description="MALAYALAM FRACTION ONE TENTH", direction="l", + indic="o", linebreak="al", unicodeslot=0xD5C, }, @@ -26916,6 +28036,7 @@ characters.data={ category="no", description="MALAYALAM FRACTION THREE TWENTIETHS", direction="l", + indic="o", linebreak="al", unicodeslot=0xD5D, }, @@ -26923,6 +28044,7 @@ characters.data={ category="no", description="MALAYALAM FRACTION ONE FIFTH", direction="l", + indic="o", linebreak="al", unicodeslot=0xD5E, }, @@ -26930,6 +28052,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER ARCHAIC II", direction="l", + indic="i", linebreak="al", unicodeslot=0xD5F, }, @@ -26937,6 +28060,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER VOCALIC RR", direction="l", + indic="i", linebreak="al", unicodeslot=0xD60, }, @@ -26944,6 +28068,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER VOCALIC LL", direction="l", + indic="i", linebreak="al", unicodeslot=0xD61, }, @@ -26951,6 +28076,8 @@ characters.data={ category="mn", description="MALAYALAM VOWEL SIGN VOCALIC L", direction="nsm", + indic="d", + indicmark="b", linebreak="cm", unicodeslot=0xD62, }, @@ -26958,6 +28085,8 @@ characters.data={ category="mn", description="MALAYALAM VOWEL SIGN VOCALIC LL", direction="nsm", + indic="d", + indicmark="b", linebreak="cm", unicodeslot=0xD63, }, @@ -26965,6 +28094,7 @@ characters.data={ category="nd", description="MALAYALAM DIGIT ZERO", direction="l", + indic="o", linebreak="nu", unicodeslot=0xD66, }, @@ -26972,6 +28102,7 @@ characters.data={ category="nd", description="MALAYALAM DIGIT ONE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xD67, }, @@ -26979,6 +28110,7 @@ characters.data={ category="nd", description="MALAYALAM DIGIT TWO", direction="l", + indic="o", linebreak="nu", unicodeslot=0xD68, }, @@ -26986,6 +28118,7 @@ characters.data={ category="nd", description="MALAYALAM DIGIT THREE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xD69, }, @@ -26993,6 +28126,7 @@ characters.data={ category="nd", description="MALAYALAM DIGIT FOUR", direction="l", + indic="o", linebreak="nu", unicodeslot=0xD6A, }, @@ -27000,6 +28134,7 @@ characters.data={ category="nd", description="MALAYALAM DIGIT FIVE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xD6B, }, @@ -27007,6 +28142,7 @@ characters.data={ category="nd", description="MALAYALAM DIGIT SIX", direction="l", + indic="o", linebreak="nu", unicodeslot=0xD6C, }, @@ -27014,6 +28150,7 @@ characters.data={ category="nd", description="MALAYALAM DIGIT SEVEN", direction="l", + indic="o", linebreak="nu", unicodeslot=0xD6D, }, @@ -27021,6 +28158,7 @@ characters.data={ category="nd", description="MALAYALAM DIGIT EIGHT", direction="l", + indic="o", linebreak="nu", unicodeslot=0xD6E, }, @@ -27028,6 +28166,7 @@ characters.data={ category="nd", description="MALAYALAM DIGIT NINE", direction="l", + indic="o", linebreak="nu", unicodeslot=0xD6F, }, @@ -27035,6 +28174,7 @@ characters.data={ category="no", description="MALAYALAM NUMBER TEN", direction="l", + indic="o", linebreak="al", unicodeslot=0xD70, }, @@ -27042,6 +28182,7 @@ characters.data={ category="no", description="MALAYALAM NUMBER ONE HUNDRED", direction="l", + indic="o", linebreak="al", unicodeslot=0xD71, }, @@ -27049,6 +28190,7 @@ characters.data={ category="no", description="MALAYALAM NUMBER ONE THOUSAND", direction="l", + indic="o", linebreak="al", unicodeslot=0xD72, }, @@ -27056,6 +28198,7 @@ characters.data={ category="no", description="MALAYALAM FRACTION ONE QUARTER", direction="l", + indic="o", linebreak="al", unicodeslot=0xD73, }, @@ -27063,6 +28206,7 @@ characters.data={ category="no", description="MALAYALAM FRACTION ONE HALF", direction="l", + indic="o", linebreak="al", unicodeslot=0xD74, }, @@ -27070,6 +28214,7 @@ characters.data={ category="no", description="MALAYALAM FRACTION THREE QUARTERS", direction="l", + indic="o", linebreak="al", unicodeslot=0xD75, }, @@ -27077,6 +28222,7 @@ characters.data={ category="no", description="MALAYALAM FRACTION ONE SIXTEENTH", direction="l", + indic="o", linebreak="al", unicodeslot=0xD76, }, @@ -27084,6 +28230,7 @@ characters.data={ category="no", description="MALAYALAM FRACTION ONE EIGHTH", direction="l", + indic="o", linebreak="al", unicodeslot=0xD77, }, @@ -27091,6 +28238,7 @@ characters.data={ category="no", description="MALAYALAM FRACTION THREE SIXTEENTHS", direction="l", + indic="o", linebreak="al", unicodeslot=0xD78, }, @@ -27098,6 +28246,7 @@ characters.data={ category="so", description="MALAYALAM DATE MARK", direction="l", + indic="o", linebreak="po", unicodeslot=0xD79, }, @@ -27105,6 +28254,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER CHILLU NN", direction="l", + indic="o", linebreak="al", unicodeslot=0xD7A, }, @@ -27112,6 +28262,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER CHILLU N", direction="l", + indic="o", linebreak="al", unicodeslot=0xD7B, }, @@ -27119,6 +28270,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER CHILLU RR", direction="l", + indic="o", linebreak="al", unicodeslot=0xD7C, }, @@ -27126,6 +28278,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER CHILLU L", direction="l", + indic="o", linebreak="al", unicodeslot=0xD7D, }, @@ -27133,6 +28286,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER CHILLU LL", direction="l", + indic="o", linebreak="al", unicodeslot=0xD7E, }, @@ -27140,6 +28294,7 @@ characters.data={ category="lo", description="MALAYALAM LETTER CHILLU K", direction="l", + indic="o", linebreak="al", unicodeslot=0xD7F, }, @@ -72295,6 +73450,7 @@ characters.data={ }, [0x25CC]={ adobename="dottedcircle", + contextname="dottedcircle", category="so", description="DOTTED CIRCLE", direction="on", @@ -117560,6 +118716,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI DIGIT ZERO", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8E0, }, @@ -117568,6 +118726,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI DIGIT ONE", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8E1, }, @@ -117576,6 +118736,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI DIGIT TWO", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8E2, }, @@ -117584,6 +118746,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI DIGIT THREE", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8E3, }, @@ -117592,6 +118756,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI DIGIT FOUR", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8E4, }, @@ -117600,6 +118766,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI DIGIT FIVE", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8E5, }, @@ -117608,6 +118776,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI DIGIT SIX", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8E6, }, @@ -117616,6 +118786,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI DIGIT SEVEN", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8E7, }, @@ -117624,6 +118796,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI DIGIT EIGHT", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8E8, }, @@ -117632,6 +118806,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI DIGIT NINE", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8E9, }, @@ -117640,6 +118816,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI LETTER A", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8EA, }, @@ -117648,6 +118826,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI LETTER U", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8EB, }, @@ -117656,6 +118836,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI LETTER KA", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8EC, }, @@ -117664,6 +118846,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI LETTER NA", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8ED, }, @@ -117672,6 +118856,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI LETTER PA", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8EE, }, @@ -117680,6 +118866,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI LETTER RA", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8EF, }, @@ -117688,6 +118876,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI LETTER VI", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8F0, }, @@ -117696,6 +118886,8 @@ characters.data={ combining=0xE6, description="COMBINING DEVANAGARI SIGN AVAGRAHA", direction="nsm", + indic="m", + indicmark="t", linebreak="cm", unicodeslot=0xA8F1, }, diff --git a/tex/context/base/mkiv/char-tex.lua b/tex/context/base/mkiv/char-tex.lua index f123f0092..065152881 100644 --- a/tex/context/base/mkiv/char-tex.lua +++ b/tex/context/base/mkiv/char-tex.lua @@ -847,7 +847,7 @@ end interfaces.implement { name = "overloaduppercase", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(c,u) overload(c,u,"uccode","uccodes") end @@ -855,7 +855,7 @@ interfaces.implement { interfaces.implement { name = "overloadlowercase", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(c,u) overload(c,u,"lccode","lccodes") end diff --git a/tex/context/base/mkiv/char-utf.lua b/tex/context/base/mkiv/char-utf.lua index 8f46ae98f..4dc7eba7a 100644 --- a/tex/context/base/mkiv/char-utf.lua +++ b/tex/context/base/mkiv/char-utf.lua @@ -269,7 +269,7 @@ if interfaces then -- eventually this goes to char-ctx.lua interfaces.implement { name = "addgrapheme", actions = utffilters.addgrapheme, - arguments = { "string", "string", "string" } + arguments = "3 strings", } end diff --git a/tex/context/base/mkiv/chem-str.lua b/tex/context/base/mkiv/chem-str.lua index 1ad16564c..7581a61d1 100644 --- a/tex/context/base/mkiv/chem-str.lua +++ b/tex/context/base/mkiv/chem-str.lua @@ -808,7 +808,7 @@ implement { implement { name = "definechemical", actions = chemistry.define, - arguments = { "string", "string", "string" } + arguments = "3 strings", } implement { @@ -843,7 +843,7 @@ implement { implement { name = "chemicalcomponent", actions = chemistry.component, - arguments = { "string", "string", "string", "string" } + arguments = "4 strings", } -- todo: top / bottom diff --git a/tex/context/base/mkiv/cldf-ini.lua b/tex/context/base/mkiv/cldf-ini.lua index a2814877d..8cd6408d3 100644 --- a/tex/context/base/mkiv/cldf-ini.lua +++ b/tex/context/base/mkiv/cldf-ini.lua @@ -319,7 +319,43 @@ local interfacescanners = setmetatablenewindex(function(t,k,v) rawset(t,k,v) end) +function interfaces.registerscanner(name,action,protected,public,call) + if storedscanners[name] then + -- report_cld("warning: scanner %a is already set",k) + -- os.exit() + -- \scan_ is already in the format + -- report_cld("using interface scanner: %s",k) + else + storedscanners[name] = true +-- if protected then +-- -- report_cld("installing expandable interface scanner: %s",k) +-- if public then +-- context("\\installprotectedctxscanner{%s}{interfaces.scanners.%s}",name,name) +-- else +-- context("\\installprotectedctxscanner{clf_%s}{interfaces.scanners.%s}",name,name) +-- end +-- else +-- -- report_cld("installing protected interface scanner: %s",k) +-- if public then +-- context("\\installctxscanner{%s}{interfaces.scanners.%s}",name,name) +-- else +-- context("\\installctxscanner{clf_%s}{interfaces.scanners.%s}",name,name) +-- end +-- end + -- report_cld("installing interface scanner: %s",k) + context("\\install%sctxscanner%s{%s%s}{interfaces.scanners.%s}", + protected and "protected" or "", + call and "call" or "", + public and "" or "clf_", + name, + name + ) + end + rawset(interfacescanners,name,action) +end + interfaces.scanners = storage.mark(interfacescanners) +interfaces._ = interfaces.scanners context.functions = { register = registerfunction, @@ -633,6 +669,20 @@ end local containseol = patterns.containseol +local s_cldl_option_b = "[\\cldl" +local s_cldl_option_f = "[\\cldl" -- add space (not needed) +local s_cldl_option_e = "]" +local s_cldl_option_s = "\\cldl" +local s_cldl_argument_b = "{\\cldl" +local s_cldl_argument_f = "{\\cldl " +local s_cldl_argument_e = "}" + +-- local s_cldl_option_b = "[" +-- local s_cldl_option_f = "" -- add space (not needed) +-- local s_cldl_option_s = "" +-- local s_cldl_argument_b = "{" +-- local s_cldl_argument_f = "{ " + local function writer(parent,command,...) -- already optimized before call flush(currentcatcodes,command) -- todo: ctx|prt|texcatcodes local direct = false @@ -699,8 +749,7 @@ local function writer(parent,command,...) -- already optimized before call elseif tn == 1 then -- some 20% faster than the next loop local tj = ti[1] if type(tj) == "function" then - flush(currentcatcodes,"[\\cldl",storefunction(tj),"]") - -- flush(currentcatcodes,"[",storefunction(tj),"]") + flush(currentcatcodes,s_cldl_option_b,storefunction(tj),s_cldl_option_e) else flush(currentcatcodes,"[",tj,"]") end @@ -710,11 +759,9 @@ local function writer(parent,command,...) -- already optimized before call local tj = ti[j] if type(tj) == "function" then if j == tn then - flush(currentcatcodes,"\\cldl",storefunction(tj),"]") - -- flush(currentcatcodes,"",storefunction(tj),"]") + flush(currentcatcodes,s_cldl_option_s,storefunction(tj),"]") else - flush(currentcatcodes,"\\cldl",storefunction(tj),",") - -- flush(currentcatcodes,"",storefunction(tj),",") + flush(currentcatcodes,s_cldl_option_s,storefunction(tj),",") end else if j == tn then @@ -726,8 +773,8 @@ local function writer(parent,command,...) -- already optimized before call end end elseif typ == "function" then - flush(currentcatcodes,"{\\cldl ",storefunction(ti),"}") -- todo: ctx|prt|texcatcodes - -- flush(currentcatcodes,"{",storefunction(ti),"}") -- todo: ctx|prt|texcatcodes + -- todo: ctx|prt|texcatcodes + flush(currentcatcodes,s_cldl_argument_f,storefunction(ti),s_cldl_argument_e) elseif typ == "boolean" then if ti then flushdirect(currentcatcodes,"\r") @@ -737,8 +784,7 @@ local function writer(parent,command,...) -- already optimized before call elseif typ == "thread" then report_context("coroutines not supported as we cannot yield across boundaries") elseif isnode(ti) then -- slow - flush(currentcatcodes,"{\\cldl",storenode(ti),"}") - -- flush(currentcatcodes,"{",storenode(ti),"}") + flush(currentcatcodes,s_cldl_argument_b,storenode(ti),s_cldl_argument_e) else report_context("error: %a gets a weird argument %a",command,ti) end @@ -762,11 +808,9 @@ end -- if tp == "string" or tp == "number"then -- flush(prtcatcodes,"{",ti,"}") -- elseif tp == "function" then --- flush(prtcatcodes,"{\\cldl ",storefunction(ti),"}") --- -- flush(currentcatcodes,"{",storefunction(ti),"}") -- todo: ctx|prt|texcatcodes +-- flush(prtcatcodes,s_cldl_argument_f,storefunction(ti),s_cldl_argument_e) -- elseif isnode(ti) then --- flush(prtcatcodes,"{\\cldl",storenode(ti),"}") --- -- flush(currentcatcodes,"{",storenode(ti),"}") +-- flush(prtcatcodes,s_cldl_argument_b,storenode(ti),s_cldl_argument_e) -- else -- report_context("fatal error: prt %a gets a weird argument %a",command,ti) -- end diff --git a/tex/context/base/mkiv/cldf-scn.lua b/tex/context/base/mkiv/cldf-scn.lua index beeb8c8c9..ccf1f01c6 100644 --- a/tex/context/base/mkiv/cldf-scn.lua +++ b/tex/context/base/mkiv/cldf-scn.lua @@ -22,6 +22,7 @@ local f_command = formatters["local action = tokens._action\n%\nt\nreturn func local interfaces = interfaces local commands = commands local scanners = interfaces.scanners +local register = interfaces.registerscanner local compile = tokens.compile or function() end @@ -71,7 +72,8 @@ function interfaces.implement(specification) if scanners[name] and not specification.overload then report("warning: 'scanners.%s' is redefined",name) end - scanners[name] = scanner +-- scanners[name] = scanner + register(name,scanner,specification.protected,specification.public,specification.call) if private then return end diff --git a/tex/context/base/mkiv/colo-ini.lua b/tex/context/base/mkiv/colo-ini.lua index ca00ae72f..921612b0f 100644 --- a/tex/context/base/mkiv/colo-ini.lua +++ b/tex/context/base/mkiv/colo-ini.lua @@ -1058,12 +1058,12 @@ implement { implement { name = "synccolorclone", actions = synccolorclone, - arguments = { "string", "string" }, + arguments = "2 strings", } implement { name = "setcolormodel", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(model,weight) texsetattribute(a_colormodel,setcolormodel(model,weight)) end @@ -1072,7 +1072,7 @@ implement { implement { name = "setpagecolormodel", actions = colors.setpagecolormodel, - arguments = { "string" }, + arguments = "string", } implement { @@ -1110,13 +1110,13 @@ implement { actions = function(main) colors.main = main end, - arguments = { "integer" } + arguments = "integer" } implement { name = "definetransparency", actions = definetransparency, - arguments = { "string", "string" } + arguments = "2 strings" } implement { diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index aef280dc3..c705c3afc 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{2018.03.16 22:20} +\newcontextversion{2018.04.02 15:43} %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 1ff75e083..2adc6b3ee 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -42,7 +42,7 @@ %D has to match \type {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2018.03.16 22:20} +\edef\contextversion{2018.04.02 15:43} \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 edba24f10..87b4c063e 100644 --- a/tex/context/base/mkiv/core-con.lua +++ b/tex/context/base/mkiv/core-con.lua @@ -644,7 +644,7 @@ end implement { name = "defineconversion", actions = converters.define, - arguments = { "string", "string" } + arguments = "2 strings", } implement { @@ -685,7 +685,7 @@ end implement { name = "doifelseconverter", actions = { valid, commands.doifelse }, - arguments = { "string", "string" } + arguments = "2 strings", } implement { @@ -1398,7 +1398,7 @@ end implement { name = "currentdate", - arguments = { "string", "string", "string" }, + arguments = "3 strings", actions = function(pattern,default,language) currentdate( pattern == "" and default or pattern, diff --git a/tex/context/base/mkiv/core-dat.lua b/tex/context/base/mkiv/core-dat.lua index c3b00a7c0..fa4d089d0 100644 --- a/tex/context/base/mkiv/core-dat.lua +++ b/tex/context/base/mkiv/core-dat.lua @@ -192,9 +192,9 @@ implement { } implement { - name = "datasetvariable", - actions = datasetvariable, - arguments = { "string", "string", "string" } + name = "datasetvariable", + actions = datasetvariable, + arguments = "3 strings", } --[[ldx-- @@ -305,11 +305,11 @@ implement { implement { name = "pagestaterealpage", actions = pagestaterealpage, - arguments = { "string", "string" } + arguments = "2 strings", } implement { name = "setpagestaterealpageno", actions = setpagestaterealpageno, - arguments = { "string", "string" } + arguments = "2 strings", } diff --git a/tex/context/base/mkiv/core-sys.lua b/tex/context/base/mkiv/core-sys.lua index 523b47298..26229235b 100644 --- a/tex/context/base/mkiv/core-sys.lua +++ b/tex/context/base/mkiv/core-sys.lua @@ -84,7 +84,7 @@ end) implement { name = "systemlog", - arguments = { "string", "string", "string" }, + arguments = "3 strings", actions = function(whereto,category,text) logs.system(whereto,"context",tex.jobname,category,text) end, diff --git a/tex/context/base/mkiv/core-two.lua b/tex/context/base/mkiv/core-two.lua index 5192677b2..1e59004be 100644 --- a/tex/context/base/mkiv/core-two.lua +++ b/tex/context/base/mkiv/core-two.lua @@ -150,7 +150,7 @@ local implement = interfaces.implement implement { name = "gettwopassdata", actions = { get , context }, arguments = "string" } implement { name = "getfirsttwopassdata",actions = { first, context }, arguments = "string" } implement { name = "getlasttwopassdata", actions = { last , context }, arguments = "string" } -implement { name = "findtwopassdata", actions = { find , context }, arguments = { "string", "string" } } +implement { name = "findtwopassdata", actions = { find , context }, arguments = "2 strings" } implement { name = "gettwopassdatalist", actions = { list , context }, arguments = "string" } implement { name = "counttwopassdata", actions = { count, context }, arguments = "string" } implement { name = "checktwopassdata", actions = { check, context }, arguments = "string" } @@ -164,17 +164,17 @@ implement { implement { name = "savetwopassdata", actions = jobpasses.save, - arguments = { "string", "string" } + arguments = "2 strings", } implement { name = "savetaggedtwopassdata", actions = jobpasses.savetagged, - arguments = { "string", "string", "string" } + arguments = "3 strings", } implement { name = "doifelseintwopassdata", actions = { inlist, commands.doifelse }, - arguments = { "string", "string" } + arguments = "2 strings", } diff --git a/tex/context/base/mkiv/core-uti.lua b/tex/context/base/mkiv/core-uti.lua index fda66ed73..b281b81a4 100644 --- a/tex/context/base/mkiv/core-uti.lua +++ b/tex/context/base/mkiv/core-uti.lua @@ -384,15 +384,37 @@ statistics.register("jobdata time",function() end end) -statistics.register("callbacks", function() - local total, indirect = status.callbacks or 0, status.indirect_callbacks or 0 - local pages = texgetcount('realpageno') - 1 - if pages > 1 then - return format("direct: %s, indirect: %s, total: %s (%i per page)", total-indirect, indirect, total, total/pages) - else - return format("direct: %s, indirect: %s, total: %s", total-indirect, indirect, total) +-- statistics.register("callbacks", function() +-- local total, indirect = status.callbacks or 0, status.indirect_callbacks or 0 +-- local pages = texgetcount('realpageno') - 1 +-- if pages > 1 then +-- return format("direct: %s, indirect: %s, total: %s (%i per page)", total-indirect, indirect, total, total/pages) +-- else +-- return format("direct: %s, indirect: %s, total: %s", total-indirect, indirect, total) +-- end +-- end) + +function statistics.callbacks() + local c_internal = status.callbacks or 0 + local c_file = status.indirect_callbacks or 0 + local c_direct = status.direct_callbacks or 0 + local c_late = status.late_callbacks or 0 + local c_function = status.function_callbacks or 0 + local c_total = c_internal + c_file + c_direct + c_late + c_function + local n_pages = texgetcount('realpageno') - 1 + local c_average = n_pages > 0 and math.round(c_total/n_pages) or 0 + local s_result = format ( + c_average > 0 and "internal: %s, file: %s, direct: %s, late: %s, function %s, total: %s (%s per page)" + or "internal: %s, file: %s, direct: %s, late: %s, function %s, total: %s", + c_internal, c_file, c_direct, c_late, c_function, c_total, c_average + ) + statistics.callbacks = function() + return s_result end -end) + return s_result +end + +statistics.register("callbacks", statistics.callbacks) statistics.register("randomizer", function() if rmethod and rvalue then @@ -436,7 +458,7 @@ end implement { name = "savevariable", actions = job.variables.save, - arguments = { "string", "string" } + arguments = "2 strings", } implement { diff --git a/tex/context/base/mkiv/file-job.lua b/tex/context/base/mkiv/file-job.lua index af15eff56..dbf6da9b4 100644 --- a/tex/context/base/mkiv/file-job.lua +++ b/tex/context/base/mkiv/file-job.lua @@ -160,7 +160,7 @@ implement { implement { name = "usezipfile", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(name,tree) if tree and tree ~= "" then resolvers.usezipfile(formatters["zip:///%s?tree=%s"](name,tree)) @@ -923,13 +923,13 @@ end implement { name = "setdocumentargument", actions = document.setargument, - arguments = { "string", "string" } + arguments = "2 strings" } implement { name = "setdocumentdefaultargument", actions = document.setdefaultargument, - arguments = { "string", "string" } + arguments = "2 strings" } implement { @@ -941,7 +941,7 @@ implement { implement { name = "getdocumentargument", actions = { document.getargument, context }, - arguments = { "string", "string" } + arguments = "2 strings" } implement { diff --git a/tex/context/base/mkiv/file-res.lua b/tex/context/base/mkiv/file-res.lua index cf76d2d8b..16afae4c7 100644 --- a/tex/context/base/mkiv/file-res.lua +++ b/tex/context/base/mkiv/file-res.lua @@ -161,7 +161,7 @@ local implement = interfaces.implement implement { name = "getreadfilename", actions = { getreadfilename, context }, - arguments = { "string", "string", "string" } + arguments = "3 strings", } implement { diff --git a/tex/context/base/mkiv/file-syn.lua b/tex/context/base/mkiv/file-syn.lua index 7b000f9ad..c1c25bab3 100644 --- a/tex/context/base/mkiv/file-syn.lua +++ b/tex/context/base/mkiv/file-syn.lua @@ -60,11 +60,11 @@ implement { implement { name = "definefilesynonym", actions = environment.definefilesynonym, - arguments = { "string", "string" } + arguments = "2 strings" } implement { name = "definefilefallback", actions = environment,definefilefallback, - arguments = { "string", "string" } + arguments = "2 strings" } diff --git a/tex/context/base/mkiv/font-cft.lua b/tex/context/base/mkiv/font-cft.lua index 30221cbaa..83227ca4a 100644 --- a/tex/context/base/mkiv/font-cft.lua +++ b/tex/context/base/mkiv/font-cft.lua @@ -266,6 +266,8 @@ do }, slantfactor = t_float, extendfactor = t_float, + mode = t_cardinal, + width = t_scale, factor = t_float, hfactor = t_float, vfactor = t_float, diff --git a/tex/context/base/mkiv/font-col.lua b/tex/context/base/mkiv/font-col.lua index 8d3152df4..7bbaf31cb 100644 --- a/tex/context/base/mkiv/font-col.lua +++ b/tex/context/base/mkiv/font-col.lua @@ -363,13 +363,13 @@ end implement { name = "fontcollectiondefine", actions = collections.define, - arguments = { "string", "string", "string", "string" } + arguments = "4 strings", } implement { name = "fontcollectionreset", actions = collections.reset, - arguments = { "string", "string" } + arguments = "2 strings", } implement { diff --git a/tex/context/base/mkiv/font-con.lua b/tex/context/base/mkiv/font-con.lua index 9cffa5927..add646da1 100644 --- a/tex/context/base/mkiv/font-con.lua +++ b/tex/context/base/mkiv/font-con.lua @@ -492,6 +492,15 @@ function constructors.scale(tfmdata,specification) else target.slant = 0 end + -- effects + local mode = parameters.mode or 0 + if mode ~= 0 then + target.mode = mode + end + local width = parameters.width or 0 + if width ~= 0 then + target.width = width + end -- targetparameters.factor = delta targetparameters.hfactor = hdelta @@ -499,6 +508,8 @@ function constructors.scale(tfmdata,specification) targetparameters.size = scaledpoints targetparameters.units = units targetparameters.scaledpoints = askedscaledpoints + targetparameters.mode = mode + targetparameters.width = width -- local isvirtual = properties.virtualized or tfmdata.type == "virtual" local hasquality = parameters.expansion or parameters.protrusion @@ -875,12 +886,15 @@ function constructors.scale(tfmdata,specification) -- constructors.aftercopyingcharacters(target,tfmdata) -- - constructors.trytosharefont(target,tfmdata) + constructors.trytosharefont(target,tfmdata) -- -- catch inconsistencies -- local vfonts = target.fonts - if isvirtual then +-- if isvirtual then +if isvirtual or target.type == "virtual" or properties.virtualized then + properties.virtualized = true +target.type = "virtual" if not vfonts or #vfonts == 0 then target.fonts = { { id = 0 } } end @@ -925,6 +939,14 @@ function constructors.finalize(tfmdata) parameters.size = tfmdata.size end -- + if not parameters.mode then + parameters.mode = 0 + end + -- + if not parameters.width then + parameters.width = 0 + end + -- if not parameters.extendfactor then parameters.extendfactor = tfmdata.extend or 0 end @@ -1023,6 +1045,8 @@ function constructors.finalize(tfmdata) tfmdata.step = nil tfmdata.extend = nil tfmdata.slant = nil + tfmdata.mode = nil + tfmdata.width = nil tfmdata.units = nil tfmdata.units_per_em = nil -- diff --git a/tex/context/base/mkiv/font-ctx.lua b/tex/context/base/mkiv/font-ctx.lua index bc562d0d0..87885f64f 100644 --- a/tex/context/base/mkiv/font-ctx.lua +++ b/tex/context/base/mkiv/font-ctx.lua @@ -2249,7 +2249,7 @@ end implement { name = "definetypeface", actions = fonts.definetypeface, - arguments = { "string", "string" } + arguments = "2 strings" } function fonts.current() -- todo: also handle name @@ -2442,13 +2442,13 @@ do implement { name = "definefontfeature", - arguments = { "string", "string", "string" }, + arguments = "3 strings", actions = presetcontext } implement { name = "adaptfontfeature", - arguments = { "string", "string" }, + arguments = "2 strings", actions = adaptcontext } @@ -2919,7 +2919,7 @@ do -- implement { -- name = "definefontcolorpalette", - -- arguments = { "string", "string" }, + -- arguments = "2 strings", -- actions = function(name,set) -- set = settings_to_array(set) -- for i=1,#set do @@ -2938,7 +2938,7 @@ do implement { name = "definefontcolorpalette", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(name,set) otf.registerpalette(name,settings_to_array(set)) end diff --git a/tex/context/base/mkiv/font-ext.lua b/tex/context/base/mkiv/font-ext.lua index f9db5e0d9..d873dccd4 100644 --- a/tex/context/base/mkiv/font-ext.lua +++ b/tex/context/base/mkiv/font-ext.lua @@ -30,9 +30,10 @@ of neutral.

local handlers = fonts.handlers local hashes = fonts.hashes local otf = handlers.otf +local afm = handlers.afm -local registerotffeature = handlers.otf.features.register -local registerafmfeature = handlers.afm.features.register +local registerotffeature = otf.features.register +local registerafmfeature = afm.features.register local fontdata = hashes.identifiers local fontproperties = hashes.properties @@ -181,7 +182,7 @@ fonts.goodies.register("expansions", function(...) return fonts.goodies.report( implement { name = "setupfontexpansion", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(class,settings) getparameters(classes,class,'preset',settings) end } @@ -492,7 +493,7 @@ fonts.goodies.register("protrusions", function(...) return fonts.goodies.report( implement { name = "setupfontprotrusion", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(class,settings) getparameters(classes,class,'preset',settings) end } @@ -671,15 +672,15 @@ local function manipulatedimensions(tfmdata,key,value) local width = newwidth or oldwidth or 0 local height = newheight or oldheight or 0 local depth = newdepth or olddepth or 0 - if oldwidth ~= width then - -- Defining the tables in one step is more efficient - -- than adding fields later. + if oldwidth ~= width or oldheight ~= height or olddepth ~= depth then local private = getprivate(tfmdata) + local newslot = { "slot", 1, private } -- { "slot", 0, private } local new_c - local commands = { + local commands = oldwidth ~= width and { { "right", (width - oldwidth) / 2 }, - { "slot", 1, private }, - -- { "slot", 0, private }, + newslot, + } or { + newslot, } if height > 0 then if depth > 0 then @@ -718,19 +719,19 @@ local function manipulatedimensions(tfmdata,key,value) for k, v in next, additions do characters[k] = v end - elseif height > 0 and depth > 0 then - for unicode, old_c in next, characters do - old_c.height = height - old_c.depth = depth - end - elseif height > 0 then - for unicode, old_c in next, characters do - old_c.height = height - end - elseif depth > 0 then - for unicode, old_c in next, characters do - old_c.depth = depth - end + -- elseif height > 0 and depth > 0 then + -- for unicode, old_c in next, characters do + -- old_c.height = height + -- old_c.depth = depth + -- end + -- elseif height > 0 then + -- for unicode, old_c in next, characters do + -- old_c.height = height + -- end + -- elseif depth > 0 then + -- for unicode, old_c in next, characters do + -- old_c.depth = depth + -- end end end end @@ -1706,3 +1707,150 @@ do } end + +-- maybe useful + +local function initializeoutline(tfmdata,value) + value = tonumber(value) + if not value then + value = 0 + else + value = tonumber(value) or 0 + end + if value then + value = value * 1000 + end + tfmdata.parameters.mode = 1 + tfmdata.parameters.width = value +end + +local outline_specification = { + name = "outline", + description = "outline glyphs", + initializers = { + base = initializeoutline, + node = initializeoutline, + } +} + +registerotffeature(outline_specification) +registerafmfeature(outline_specification) + +-- definitely ugly + +local report_effect = logs.reporter("fonts","effect") +local trace_effect = false + +trackers.register("fonts.effect", function(v) trace_effect = v end) + +local effects = { + inner = 0, + normal = 0, + outer = 1, + outline = 1, + both = 2, + hidden = 3, +} + +local function initializeeffect(tfmdata,value) + local spec + if type(value) == "number" then + spec = { width = value } + else + spec = settings_to_hash(value) + end + local effect = spec.effect or "both" + local width = tonumber(spec.width) or 0 + local mode = effects[effect] + if not mode then + report_effect("invalid effect %a",effect) + elseif width == 0 and mode == 0 then + report_effect("invalid width %a for effect %a",width,effect) + else + local parameters = tfmdata.parameters + local properties = tfmdata.properties + parameters.mode = mode + parameters.width = width * 1000 + local factor = tonumber(spec.factor) or 0 + local hfactor = tonumber(spec.vfactor) or factor + local vfactor = tonumber(spec.hfactor) or factor + local delta = tonumber(spec.delta) or 1 + local wdelta = tonumber(spec.wdelta) or delta + local hdelta = tonumber(spec.hdelta) or delta + local ddelta = tonumber(spec.ddelta) or hdelta + properties.effect = { + effect = effect, + width = width, + factor = factor, + hfactor = hfactor, + vfactor = vfactor, + wdelta = wdelta, + hdelta = hdelta, + ddelta = ddelta, + } + end +end + +local function manipulateeffect(tfmdata) + local effect = tfmdata.properties.effect + if effect then + local characters = tfmdata.characters + local parameters = tfmdata.parameters + local multiplier = effect.width * 100 + local wdelta = effect.wdelta * parameters.hfactor * multiplier + local hdelta = effect.hdelta * parameters.vfactor * multiplier + local ddelta = effect.ddelta * parameters.vfactor * multiplier + local hshift = wdelta / 2 + local factor = (1 + effect.factor) * parameters.factor + local hfactor = (1 + effect.hfactor) * parameters.hfactor + local vfactor = (1 + effect.vfactor) * parameters.vfactor + for unicode, old_c in next, characters do + local oldwidth = old_c.width + local oldheight = old_c.height + local olddepth = old_c.depth + if oldwidth and oldwidth > 0 then + old_c.width = oldwidth + wdelta + old_c.commands = { + { "right", hshift }, + { "char", unicode }, + } + end + if oldheight and oldheight > 0 then + old_c.height = oldheight + hdelta + end + if olddepth and olddepth > 0 then + old_c.depth = olddepth + ddelta + end + end + parameters.factor = factor + parameters.hfactor = hfactor + parameters.vfactor = vfactor + if trace_effect then + report_effect("applying effect") + report_effect(" effect : %s", effect.effect) + report_effect(" width : %s => %s", effect.width, multiplier) + report_effect(" factor : %s => %s", effect.factor, factor ) + report_effect(" hfactor : %s => %s", effect.hfactor,hfactor) + report_effect(" vfactor : %s => %s", effect.vfactor,vfactor) + report_effect(" wdelta : %s => %s", effect.wdelta, wdelta) + report_effect(" hdelta : %s => %s", effect.hdelta, hdelta) + report_effect(" ddelta : %s => %s", effect.ddelta, ddelta) + end + end +end + +local effect_specification = { + name = "effect", + description = "apply effects to glyphs", + initializers = { + base = initializeeffect, + node = initializeeffect, + }, + manipulators = { + base = manipulateeffect, + node = manipulateeffect, + }, +} + +registerotffeature(effect_specification) +registerafmfeature(effect_specification) diff --git a/tex/context/base/mkiv/font-map.lua b/tex/context/base/mkiv/font-map.lua index d4a1b4594..66cf2db39 100644 --- a/tex/context/base/mkiv/font-map.lua +++ b/tex/context/base/mkiv/font-map.lua @@ -192,8 +192,8 @@ local function tounicode(unicode) end -- no real gain on runs --- --- local hash = setmetatableindex(function(t,u) + +-- local hash = table.setmetatableindex(function(t,u) -- local v -- if u < 0xD7FF or (u > 0xDFFF and u <= 0xFFFF) then -- v = f_single(u) @@ -209,7 +209,7 @@ end -- if type(unicode) == "table" then -- local t = { } -- for l=1,#unicode do --- t[l] = hash[u] +-- t[l] = hash[unicode[l]] -- end -- return concat(t) -- else diff --git a/tex/context/base/mkiv/font-osd.lua b/tex/context/base/mkiv/font-osd.lua index 04fbf88f5..9f99fd57f 100644 --- a/tex/context/base/mkiv/font-osd.lua +++ b/tex/context/base/mkiv/font-osd.lua @@ -8,64 +8,80 @@ if not modules then modules = { } end modules ['font-osd'] = { -- script devanag -- A few remarks: -- --- This code is a partial rewrite of the code that deals with devanagari. The data and logic --- is by Kai Eigner and based based on Microsoft's OpenType specifications for specific --- scripts, but with a few improvements. More information can be found at: +-- This code is a partial rewrite of the code that deals with devanagari. The data +-- and logic is by Kai Eigner and based based on Microsoft's OpenType specifications +-- for specific scripts, but with a few improvements. More information can be found +-- at: -- -- deva: http://www.microsoft.com/typography/OpenType%20Dev/devanagari/introO.mspx -- dev2: http://www.microsoft.com/typography/OpenType%20Dev/devanagari/intro.mspx -- --- Rajeesh Nambiar provided patches for the malayalam variant. Thanks to feedback from --- the mailing list some aspects could be improved. +-- Rajeesh Nambiar provided patches for the malayalam variant. Thanks to feedback +-- from the mailing list some aspects could be improved. -- --- As I touched nearly all code, reshuffled it, optimized a lot, etc. etc. (imagine how --- much can get messed up in over a week work) it could be that I introduced bugs. There --- is more to gain (esp in the functions applied to a range) but I'll do that when --- everything works as expected. Kai's original code is kept in font-odk.lua as a reference --- so blame me (HH) for bugs. (We no longer ship that file as the code below has diverted --- too much and in the meantime has more than doubled in size.) +-- As I touched nearly all code, reshuffled it, optimized a lot, etc. etc. (imagine +-- how much can get messed up in over a week work) it could be that I introduced +-- bugs. There is more to gain (esp in the functions applied to a range) but I'll do +-- that when everything works as expected. Kai's original code is kept in +-- font-odk.lua as a reference so blame me (HH) for bugs. (We no longer ship that +-- file as the code below has diverted too much and in the meantime has more than +-- doubled in size.) -- --- Interesting is that Kai managed to write this on top of the existing otf handler. Only a --- few extensions were needed, like a few more analyzing states and dealing with changed --- head nodes in the core scanner as that only happens here. There's a lot going on here --- and it's only because I touched nearly all code that I got a bit of a picture of what --- happens. For in-depth knowledge one needs to consult Kai. +-- Interesting is that Kai managed to write this on top of the existing otf handler. +-- Only a few extensions were needed, like a few more analyzing states and dealing +-- with changed head nodes in the core scanner as that only happens here. There's a +-- lot going on here and it's only because I touched nearly all code that I got a +-- bit of a picture of what happens. For in-depth knowledge one needs to consult +-- Kai. -- --- The rewrite mostly deals with efficiency, both in terms of speed and code. We also made --- sure that it suits generic use as well as use in ConTeXt. I removed some buglets but can --- as well have messed up the logic by doing this. For this we keep the original around --- as that serves as reference. Due to the lots of reshuffling glyphs quite some leaks --- occur(red) but once I'm satisfied with the rewrite I'll weed them. I also integrated --- initialization etc into the regular mechanisms. +-- The rewrite mostly deals with efficiency, both in terms of speed and code. We +-- also made sure that it suits generic use as well as use in ConTeXt. I removed +-- some buglets but can as well have messed up the logic by doing this. For this we +-- keep the original around as that serves as reference. Due to the lots of +-- reshuffling glyphs quite some leaks occur(red) but once I'm satisfied with the +-- rewrite I'll weed them. I also integrated initialization etc into the regular +-- mechanisms. -- --- In the meantime, we're down from 25.5-3.5=22 seconds to 17.7-3.5=14.2 seconds for a 100 --- page sample (mid 2012) with both variants so it's worth the effort. Some more speedup is --- to be expected. Due to the method chosen it will never be real fast. If I ever become a --- power user I'll have a go at some further speed up. I will rename some functions (and --- features) once we don't need to check the original code. We now use a special subset --- sequence for use inside the analyzer (after all we could can store this in the dataset --- and save redundant analysis). +-- In the meantime, we're down from 25.5-3.5=22 seconds to 17.7-3.5=14.2 seconds for +-- a 100 page sample (mid 2012) with both variants so it's worth the effort. Some +-- more speedup is to be expected. Due to the method chosen it will never be real +-- fast. If I ever become a power user I'll have a go at some further speed up. I +-- will rename some functions (and features) once we don't need to check the +-- original code. We now use a special subset sequence for use inside the analyzer +-- (after all we could can store this in the dataset and save redundant analysis). -- --- I might go for an array approach with respect to attributes (and reshuffling). Easier. +-- By now we have yet another incremental improved version. In the end I might +-- rewrite the code. -- --- Some data will move to char-def.lua (some day). --- --- By now we have yet another incremental improved version. In the end I might rewrite the --- code. - -- Hans Hagen, PRAGMA-ADE, Hasselt NL --- --- We could have c_nukta, c_halant, c_ra is we know that they are never used mixed within --- one script .. yes or no? + +-- Todo: -- -- Matras: according to Microsoft typography specifications "up to one of each type: -- pre-, above-, below- or post- base", but that does not seem to be right. It could -- become an option. +-- +-- Resources: +-- +-- The tables that we had here are now generated from char-def.lua or in the case of +-- generic usage loaded from luatex-basics-chr.lua. Still a couple of entries need +-- to be added to char-def.lua but finally I moved the indic specific tables there. +-- For generic usage one can create the relevant resources by running: +-- +-- context luatex-basics-prepare.tex +-- +-- and an overview with: +-- +-- context --global s-fonts-basics.mkiv +-- +-- For now we have defined: bengali, devanagari, gujarati, gurmukhi, kannada, +-- malayalam, oriya, tamil and tolugu but not all are checked. Also, some of the +-- code below might need to be adapted to the extra scripts. local insert, imerge, copy = table.insert, table.imerge, table.copy local next, type = next, type -local report_devanagari = logs.reporter("otf","devanagari") +local report = logs.reporter("otf","devanagari") fonts = fonts or { } fonts.analyzers = fonts.analyzers or { } @@ -115,6 +131,9 @@ local a_state = attributes.private('state') local a_syllabe = attributes.private('syllabe') local dotted_circle = 0x25CC +local c_nbsp = 0x00A0 +local c_zwnj = 0x200C +local c_zwj = 0x200D local states = fonts.analyzers.states -- not features @@ -151,309 +170,199 @@ local function processcharacters(head,font) return tonut(xprocesscharacters(tonode(head))) -- can be more efficient in context, just direct call end --- local fontprocesses = fonts.hashes.processes +-- to be tested: -- --- function processcharacters(head,font) --- local processors = fontprocesses[font] --- for i=1,#processors do --- head = processors[i](head,font,0) +-- local processcharacters = nil +-- +-- if context then +-- local fontprocesses = fonts.hashes.processes +-- function processcharacters(head,font) +-- local processors = fontprocesses[font] +-- for i=1,#processors do +-- head = processors[i](head,font,0) +-- end +-- return head, true +-- end +-- else +-- function processcharacters(head,font) +-- local processors = fontdata[font].shared.processes +-- for i=1,#processors do +-- head = processors[i](head,font,0) +-- end +-- return head, true -- end --- return head, true -- end --- In due time there will be entries here for scripts like Bengali, Gujarati, --- Gurmukhi, Kannada, Malayalam, Oriya, Tamil, Telugu. Feel free to provide the --- code points. - -- We can assume that script are not mixed in the source but if that is the case -- we might need to have consonants etc per script and initialize a local table --- pointing to the right one. +-- pointing to the right one. But not now. --- new, to be checked: --- --- U+00978 : DEVANAGARI LETTER MARWARI DDA --- U+00980 : BENGALI ANJI --- U+00C00 : TELUGU SIGN COMBINING CANDRABINDU ABOVE --- U+00C34 : TELUGU LETTER LLLA --- U+00C81 : KANNADA SIGN CANDRABINDU --- U+00D01 : MALAYALAM SIGN CANDRABINDU --- U+00DE6 : SINHALA LITH DIGIT ZERO --- U+00DE7 : SINHALA LITH DIGIT ONE --- U+00DE8 : SINHALA LITH DIGIT TWO --- U+00DE9 : SINHALA LITH DIGIT THREE --- U+00DEA : SINHALA LITH DIGIT FOUR --- U+00DEB : SINHALA LITH DIGIT FIVE --- U+00DEC : SINHALA LITH DIGIT SIX --- U+00DED : SINHALA LITH DIGIT SEVEN --- U+00DEE : SINHALA LITH DIGIT EIGHT --- U+00DEF : SINHALA LITH DIGIT NINE - -local consonant = { - -- devanagari - [0x0915] = true, [0x0916] = true, [0x0917] = true, [0x0918] = true, - [0x0919] = true, [0x091A] = true, [0x091B] = true, [0x091C] = true, - [0x091D] = true, [0x091E] = true, [0x091F] = true, [0x0920] = true, - [0x0921] = true, [0x0922] = true, [0x0923] = true, [0x0924] = true, - [0x0925] = true, [0x0926] = true, [0x0927] = true, [0x0928] = true, - [0x0929] = true, [0x092A] = true, [0x092B] = true, [0x092C] = true, - [0x092D] = true, [0x092E] = true, [0x092F] = true, [0x0930] = true, - [0x0931] = true, [0x0932] = true, [0x0933] = true, [0x0934] = true, - [0x0935] = true, [0x0936] = true, [0x0937] = true, [0x0938] = true, - [0x0939] = true, [0x0958] = true, [0x0959] = true, [0x095A] = true, - [0x095B] = true, [0x095C] = true, [0x095D] = true, [0x095E] = true, - [0x095F] = true, [0x0979] = true, [0x097A] = true, - -- kannada - [0x0C95] = true, [0x0C96] = true, [0x0C97] = true, [0x0C98] = true, - [0x0C99] = true, [0x0C9A] = true, [0x0C9B] = true, [0x0C9C] = true, - [0x0C9D] = true, [0x0C9E] = true, [0x0C9F] = true, [0x0CA0] = true, - [0x0CA1] = true, [0x0CA2] = true, [0x0CA3] = true, [0x0CA4] = true, - [0x0CA5] = true, [0x0CA6] = true, [0x0CA7] = true, [0x0CA8] = true, - [0x0CA9] = true, [0x0CAA] = true, [0x0CAB] = true, [0x0CAC] = true, - [0x0CAD] = true, [0x0CAE] = true, [0x0CAF] = true, [0x0CB0] = true, - [0x0CB1] = true, [0x0CB2] = true, [0x0CB3] = true, [0x0CB4] = true, - [0x0CB5] = true, [0x0CB6] = true, [0x0CB7] = true, [0x0CB8] = true, - [0x0CB9] = true, - [0x0CDE] = true, -- obsolete - -- malayalam - [0x0D15] = true, [0x0D16] = true, [0x0D17] = true, [0x0D18] = true, - [0x0D19] = true, [0x0D1A] = true, [0x0D1B] = true, [0x0D1C] = true, - [0x0D1D] = true, [0x0D1E] = true, [0x0D1F] = true, [0x0D20] = true, - [0x0D21] = true, [0x0D22] = true, [0x0D23] = true, [0x0D24] = true, - [0x0D25] = true, [0x0D26] = true, [0x0D27] = true, [0x0D28] = true, - [0x0D29] = true, [0x0D2A] = true, [0x0D2B] = true, [0x0D2C] = true, - [0x0D2D] = true, [0x0D2E] = true, [0x0D2F] = true, [0x0D30] = true, - [0x0D31] = true, [0x0D32] = true, [0x0D33] = true, [0x0D34] = true, - [0x0D35] = true, [0x0D36] = true, [0x0D37] = true, [0x0D38] = true, - [0x0D39] = true, [0x0D3A] = true, -} +local indicgroups = characters and characters.indicgroups -local independent_vowel = { - -- devanagari - [0x0904] = true, [0x0905] = true, [0x0906] = true, [0x0907] = true, - [0x0908] = true, [0x0909] = true, [0x090A] = true, [0x090B] = true, - [0x090C] = true, [0x090D] = true, [0x090E] = true, [0x090F] = true, - [0x0910] = true, [0x0911] = true, [0x0912] = true, [0x0913] = true, - [0x0914] = true, [0x0960] = true, [0x0961] = true, [0x0972] = true, - [0x0973] = true, [0x0974] = true, [0x0975] = true, [0x0976] = true, - [0x0977] = true, - -- kannada - [0x0C85] = true, [0x0C86] = true, [0x0C87] = true, [0x0C88] = true, - [0x0C89] = true, [0x0C8A] = true, [0x0C8B] = true, [0x0C8C] = true, - [0x0C8D] = true, [0x0C8E] = true, [0x0C8F] = true, [0x0C90] = true, - [0x0C91] = true, [0x0C92] = true, [0x0C93] = true, [0x0C94] = true, - -- malayalam - [0x0D05] = true, [0x0D06] = true, [0x0D07] = true, [0x0D08] = true, - [0x0D09] = true, [0x0D0A] = true, [0x0D0B] = true, [0x0D0C] = true, - [0x0D0E] = true, [0x0D0F] = true, [0x0D10] = true, [0x0D12] = true, - [0x0D13] = true, [0x0D14] = true, -} +if not indicgroups and characters then -local dependent_vowel = { -- matra - -- devanagari - [0x093A] = true, [0x093B] = true, [0x093E] = true, [0x093F] = true, - [0x0940] = true, [0x0941] = true, [0x0942] = true, [0x0943] = true, - [0x0944] = true, [0x0945] = true, [0x0946] = true, [0x0947] = true, - [0x0948] = true, [0x0949] = true, [0x094A] = true, [0x094B] = true, - [0x094C] = true, [0x094E] = true, [0x094F] = true, [0x0955] = true, - [0x0956] = true, [0x0957] = true, [0x0962] = true, [0x0963] = true, - -- kannada - [0x0CBE] = true, [0x0CBF] = true, [0x0CC0] = true, [0x0CC1] = true, - [0x0CC2] = true, [0x0CC3] = true, [0x0CC4] = true, [0x0CC5] = true, - [0x0CC6] = true, [0x0CC7] = true, [0x0CC8] = true, [0x0CC9] = true, - [0x0CCA] = true, [0x0CCB] = true, [0x0CCC] = true, - -- malayalam - [0x0D3E] = true, [0x0D3F] = true, [0x0D40] = true, [0x0D41] = true, - [0x0D42] = true, [0x0D43] = true, [0x0D44] = true, [0x0D46] = true, - [0x0D47] = true, [0x0D48] = true, [0x0D4A] = true, [0x0D4B] = true, - [0x0D4C] = true, [0x0D57] = true, -} + local indic = { + c = { }, -- consonant + i = { }, -- independent vowel + d = { }, -- dependent vowel + m = { }, -- vowel modifier + s = { }, -- stress tone mark + o = { }, -- other + } -local vowel_modifier = { - -- devanagari - [0x0900] = true, [0x0901] = true, [0x0902] = true, [0x0903] = true, - -- A8E0 - A8F1 are cantillation marks for the Samaveda and may not belong here. - [0xA8E0] = true, [0xA8E1] = true, [0xA8E2] = true, [0xA8E3] = true, - [0xA8E4] = true, [0xA8E5] = true, [0xA8E6] = true, [0xA8E7] = true, - [0xA8E8] = true, [0xA8E9] = true, [0xA8EA] = true, [0xA8EB] = true, - [0xA8EC] = true, [0xA8ED] = true, [0xA8EE] = true, [0xA8EF] = true, - [0xA8F0] = true, [0xA8F1] = true, - -- malayalam - [0x0D02] = true, [0x0D03] = true, -} + local indicmarks = { + l = { }, -- left | pre_mark + t = { }, -- top | above_mark + b = { }, -- bottom | below_mark + r = { }, -- right | post_mark + s = { }, -- split | twopart_mark + } -local stress_tone_mark = { - [0x0951] = true, [0x0952] = true, [0x0953] = true, [0x0954] = true, - -- kannada - [0x0CCD] = true, - -- malayalam - [0x0D4D] = true, -} + local indicclasses = { + nukta = { }, + halant = { }, + ra = { }, + anudatta = { }, + } -local nukta = { - -- devanagari - [0x093C] = true, - -- kannada: - [0x0CBC] = true, -} + local indicorders = { + bp = { }, -- before_postscript + ap = { }, -- after_postscript + bs = { }, -- before_half + as = { }, -- after_half + bh = { }, -- before_subscript + ah = { }, -- after_subscript + bm = { }, -- before_main + am = { }, -- after_main + } -local halant = { - -- devanagari - [0x094D] = true, - -- kannada - [0x0CCD] = true, - -- malayalam - [0x0D4D] = true, -} + for k, v in next, characters.data do + local i = v.indic + if i then + indic[i][k] = true + i = v.indicmark + if i then + if i == "s" then + local s = v.specials + indicmarks[i][k] = { s[2], s[3] } + else + indicmarks[i][k] = true + end + end + i = v.indicclass + if i then + indicclasses[i][k] = true + end + i = v.indicorder + if i then + indicorders[i][k] = true + end + end + end -local ra = { - -- devanagari - [0x0930] = true, - -- kannada - [0x0CB0] = true, - -- malayalam - [0x0D30] = true, -} + indicgroups = { + consonant = indic.c, + independent_vowel = indic.i, + dependent_vowel = indic.d, + vowel_modifier = indic.m, + stress_tone_mark = indic.s, + -- other = indic.o, + pre_mark = indicmarks.l, + above_mark = indicmarks.t, + below_mark = indicmarks.b, + post_mark = indicmarks.r, + twopart_mark = indicmarks.s, + nukta = indicclasses.nukta, + halant = indicclasses.halant, + ra = indicclasses.ra, + anudatta = indicclasses.anudatta, + before_postscript = indicorders.bp, + after_postscript = indicorders.ap, + before_half = indicorders.bh, + after_half = indicorders.ah, + before_subscript = indicorders.bs, + after_subscript = indicorders.as, + before_main = indicorders.bm, + after_main = indicorders.am, + } -local c_anudatta = 0x0952 -- used to be tables -local c_nbsp = 0x00A0 -- used to be tables -local c_zwnj = 0x200C -- used to be tables -local c_zwj = 0x200D -- used to be tables + indic = nil + indicmarks = nil + indicclasses = nil + indicorders = nil -local zw_char = { -- could also be inlined - [0x200C] = true, - [0x200D] = true, -} + characters.indicgroups = indicgroups --- 0C82 anusvara --- 0C83 visarga --- 0CBD avagraha --- 0CD5 length mark --- 0CD6 ai length mark --- 0CE0 letter ll --- 0CE1 letter rr --- 0CE2 vowel sign l --- 0CE2 vowel sign ll --- 0CF1 sign --- 0CF2 sign --- OCE6 - OCEF digits - -local pre_mark = { - [0x093F] = true, [0x094E] = true, - -- malayalam - [0x0D46] = true, [0x0D47] = true, [0x0D48] = true, -} +else -local above_mark = { - [0x0900] = true, [0x0901] = true, [0x0902] = true, [0x093A] = true, - [0x0945] = true, [0x0946] = true, [0x0947] = true, [0x0948] = true, - [0x0951] = true, [0x0953] = true, [0x0954] = true, [0x0955] = true, - [0xA8E0] = true, [0xA8E1] = true, [0xA8E2] = true, [0xA8E3] = true, - [0xA8E4] = true, [0xA8E5] = true, [0xA8E6] = true, [0xA8E7] = true, - [0xA8E8] = true, [0xA8E9] = true, [0xA8EA] = true, [0xA8EB] = true, - [0xA8EC] = true, [0xA8ED] = true, [0xA8EE] = true, [0xA8EF] = true, - [0xA8F0] = true, [0xA8F1] = true, - -- malayalam - [0x0D4E] = true, -} + indicgroups = table.setmetatableindex("table") -local below_mark = { - [0x093C] = true, [0x0941] = true, [0x0942] = true, [0x0943] = true, - [0x0944] = true, [0x094D] = true, [0x0952] = true, [0x0956] = true, - [0x0957] = true, [0x0962] = true, [0x0963] = true, -} +end -local post_mark = { - [0x0903] = true, [0x093B] = true, [0x093E] = true, [0x0940] = true, - [0x0949] = true, [0x094A] = true, [0x094B] = true, [0x094C] = true, - [0x094F] = true, -} +local consonant = indicgroups.consonant +local independent_vowel = indicgroups.independent_vowel +local dependent_vowel = indicgroups.dependent_vowel +local vowel_modifier = indicgroups.vowel_modifier +local stress_tone_mark = indicgroups.stress_tone_mark +local pre_mark = indicgroups.pre_mark +local above_mark = indicgroups.above_mark +local below_mark = indicgroups.below_mark +local post_mark = indicgroups.post_mark +local twopart_mark = indicgroups.twopart_mark +local nukta = indicgroups.nukta +local halant = indicgroups.halant +local ra = indicgroups.ra +local anudatta = indicgroups.anudatta + +local before_postscript = indicgroups.before_postscript +local after_postscript = indicgroups.after_postscript +local before_half = indicgroups.before_half +local after_half = indicgroups.after_half +local before_subscript = indicgroups.before_subscript +local after_subscript = indicgroups.after_subscript +local before_main = indicgroups.before_main +local after_main = indicgroups.after_main + +local mark_four = table.merged ( + pre_mark, + above_mark, + below_mark, + post_mark +) + +local mark_above_below_post = table.merged ( + above_mark, + below_mark, + post_mark +) -local twopart_mark = { - -- malayalam - [0x0D4A] = { 0x0D46, 0x0D3E, }, -- ൊ - [0x0D4B] = { 0x0D47, 0x0D3E, }, -- ോ - [0x0D4C] = { 0x0D46, 0x0D57, }, -- ൌ -} +-- We use some pseudo features as we need to manipulate the nodelist based +-- on information in the font as well as already applied features. We can +-- probably replace some of the code below by injecting 'real' features +-- using the extension mechanism. -local mark_four = { } -- As we access these frequently an extra hash is used. - -for k, v in next, pre_mark do mark_four[k] = pre_mark end -for k, v in next, above_mark do mark_four[k] = above_mark end -for k, v in next, below_mark do mark_four[k] = below_mark end -for k, v in next, post_mark do mark_four[k] = post_mark end - -local mark_above_below_post = { } - -for k, v in next, above_mark do mark_above_below_post[k] = above_mark end -for k, v in next, below_mark do mark_above_below_post[k] = below_mark end -for k, v in next, post_mark do mark_above_below_post[k] = post_mark end - --- Again, this table can be extended for other scripts than devanagari. Actually, --- for ConTeXt this kind of data is kept elsewhere so eventually we might move --- tables to someplace else. - -local reorder_class = { - -- devanagari - [0x0930] = "before postscript", - [0x093F] = "before half", - [0x0940] = "after subscript", - [0x0941] = "after subscript", - [0x0942] = "after subscript", - [0x0943] = "after subscript", - [0x0944] = "after subscript", - [0x0945] = "after subscript", - [0x0946] = "after subscript", - [0x0947] = "after subscript", - [0x0948] = "after subscript", - [0x0949] = "after subscript", - [0x094A] = "after subscript", - [0x094B] = "after subscript", - [0x094C] = "after subscript", - [0x0962] = "after subscript", - [0x0963] = "after subscript", - [0x093E] = "after subscript", - -- kannada: - [0x0CB0] = "after postscript", -- todo in code below - [0x0CBF] = "before subscript", -- todo in code below - [0x0CC6] = "before subscript", -- todo in code below - [0x0CCC] = "before subscript", -- todo in code below - [0x0CBE] = "before subscript", -- todo in code below - [0x0CE2] = "before subscript", -- todo in code below - [0x0CE3] = "before subscript", -- todo in code below - [0x0CC1] = "before subscript", -- todo in code below - [0x0CC2] = "before subscript", -- todo in code below - [0x0CC3] = "after subscript", - [0x0CC4] = "after subscript", - [0x0CD5] = "after subscript", - [0x0CD6] = "after subscript", - -- malayalam +local zw_char = { -- both_joiners_true + [c_zwnj] = true, + [c_zwj ] = true, } --- We use some pseudo features as we need to manipulate the nodelist based --- on information in the font as well as already applied features. - local dflt_true = { dflt = true } -local dev2_defaults = { +local two_defaults = { dev2 = dflt_true, } -local deva_defaults = { +local one_defaults = { dev2 = dflt_true, deva = dflt_true, } local false_flags = { false, false, false, false } -local both_joiners_true = { - [0x200C] = true, - [0x200D] = true, -} - local sequence_reorder_matras = { - features = { dv01 = dev2_defaults }, + features = { dv01 = two_defaults }, flags = false_flags, name = "dv01_reorder_matras", order = { "dv01" }, @@ -467,7 +376,7 @@ local sequence_reorder_matras = { } local sequence_reorder_reph = { - features = { dv02 = dev2_defaults }, + features = { dv02 = two_defaults }, flags = false_flags, name = "dv02_reorder_reph", order = { "dv02" }, @@ -481,7 +390,7 @@ local sequence_reorder_reph = { } local sequence_reorder_pre_base_reordering_consonants = { - features = { dv03 = dev2_defaults }, + features = { dv03 = two_defaults }, flags = false_flags, name = "dv03_reorder_pre_base_reordering_consonants", order = { "dv03" }, @@ -495,7 +404,7 @@ local sequence_reorder_pre_base_reordering_consonants = { } local sequence_remove_joiners = { - features = { dv04 = deva_defaults }, + features = { dv04 = one_defaults }, flags = false_flags, name = "dv04_remove_joiners", order = { "dv04" }, @@ -503,7 +412,7 @@ local sequence_remove_joiners = { nofsteps = 1, steps = { { - coverage = both_joiners_true, + coverage = zw_char, -- both_joiners_true }, } } @@ -513,38 +422,85 @@ local sequence_remove_joiners = { -- as it might depends on the font. Not that it's a bottleneck. local basic_shaping_forms = { - nukt = true, + init = true, -- new + abvs = true, -- new akhn = true, - rphf = true, - pref = true, - rkrf = true, blwf = true, + calt = true, -- new + cjct = true, half = true, + haln = true, -- new + nukt = true, + pref = true, + pres = true, -- new pstf = true, + psts = true, -- new + rkrf = true, + rphf = true, vatu = true, - cjct = true, } local valid = { - akhn = true, -- malayalam - rphf = true, - pref = true, - half = true, + -- akhn = true, -- malayalam + -- rphf = true, + -- pref = true, + -- half = true, + -- blwf = true, + -- pstf = true, + -- pres = true, -- malayalam + -- blws = true, -- malayalam + -- psts = true, -- malayalam + abvs = true, + akhn = true, blwf = true, + calt = true, + cjct = true, + half = true, + haln = true, + nukt = true, + pref = true, + pres = true, pstf = true, - pres = true, -- malayalam - blws = true, -- malayalam - psts = true, -- malayalam + psts = true, + rkrf = true, + rphf = true, + vatu = true, + pres = true, + abvs = true, + blws = true, + psts = true, + haln = true, + calt = true, } +local scripts = { } + +local scripts_one = { "deva", "mlym", "beng", "gujr", "guru", "knda", "orya", "taml", "telu" } +local scripts_two = { "dev2", "mlm2", "bng2", "gjr2", "gur2", "knd2", "ory2", "tml2", "tel2" } + +local nofscripts = #scripts_one + +for i=1,nofscripts do + local one = scripts_one[i] + local two = scripts_two[i] + scripts[one] = true + scripts[two] = true + two_defaults[one] = dflt_true + one_defaults[one] = dflt_true + one_defaults[two] = dflt_true +end + +local function valid_one(s) for i=1,nofscripts do if s[scripts_one[i]] then return true end end end +local function valid_two(s) for i=1,nofscripts do if s[scripts_two[i]] then return true end end end + local function initializedevanagi(tfmdata) local script, language = otf.scriptandlanguage(tfmdata,attr) -- todo: take fast variant - if script == "deva" or script == "dev2" or script =="mlym" or script == "mlm2" then + if scripts[script] then local resources = tfmdata.resources local devanagari = resources.devanagari if not devanagari then -- - report_devanagari("adding devanagari features to font") + report("adding devanagari features to font") -- local gsubfeatures = resources.features.gsub local sequences = resources.sequences @@ -563,10 +519,10 @@ local function initializedevanagi(tfmdata) end local insertindex = lastmatch + 1 -- - gsubfeatures["dv01"] = dev2_defaults -- reorder matras - gsubfeatures["dv02"] = dev2_defaults -- reorder reph - gsubfeatures["dv03"] = dev2_defaults -- reorder pre base reordering consonants - gsubfeatures["dv04"] = deva_defaults -- remove joiners + gsubfeatures["dv01"] = two_defaults -- reorder matras + gsubfeatures["dv02"] = two_defaults -- reorder reph + gsubfeatures["dv03"] = two_defaults -- reorder pre base reordering consonants + gsubfeatures["dv04"] = one_defaults -- remove joiners -- local reorder_pre_base_reordering_consonants = copy(sequence_reorder_pre_base_reordering_consonants) local reorder_reph = copy(sequence_reorder_reph) @@ -622,8 +578,9 @@ local function initializedevanagi(tfmdata) end end end - for kind, spec in next, features do -- beware, this is - if spec.dev2 and valid[kind] then + for kind, spec in next, features do + -- if spec.dev2 and valid[kind] then + if valid[kind] and valid_two(spec)then for i=1,nofsteps do local step = steps[i] local coverage = step.coverage @@ -648,7 +605,9 @@ local function initializedevanagi(tfmdata) end end end - seqsubset[#seqsubset+1] = { kind, coverage, reph } +if reph then + seqsubset[#seqsubset+1] = { kind, coverage, reph } +end end end end @@ -694,8 +653,30 @@ local function initializedevanagi(tfmdata) sharedfeatures["pstf"] = true sharedfeatures["pref"] = true sharedfeatures["dv03"] = true -- dv03_reorder_pre_base_reordering_consonants - gsubfeatures ["dv03"] = dev2_defaults -- reorder pre base reordering consonants + gsubfeatures ["dv03"] = two_defaults -- reorder pre base reordering consonants insert(sequences,insertindex,sequence_reorder_pre_base_reordering_consonants) + -- elseif script == "beng" then + -- elseif script == "bng2" then + -- elseif script == "gujr" then + -- elseif script == "gjr2" then + -- elseif script == "guru" then + -- elseif script == "gur2" then + -- elseif script == "knda" then + -- elseif script == "knd2" then + elseif script == "taml" then + sharedfeatures["dv04"] = true -- dv04_remove_joiners +sharedfeatures["pstf"] = true + elseif script == "tml2" then +-- sharedfeatures["pstf"] = true +-- sharedfeatures["pref"] = true +-- sharedfeatures["dv01"] = true -- dv01_reorder_matras +-- sharedfeatures["dv02"] = true -- dv02_reorder_reph +-- sharedfeatures["dv03"] = true -- dv03_reorder_pre_base_reordering_consonants +-- sharedfeatures["dv04"] = true -- dv04_remove_joiners + -- elseif script == "telu" then + -- elseif script == "tel2" then + else + report("todo: enable the right features for script %a",script) end end end @@ -712,7 +693,7 @@ registerotffeature { -- hm, this is applied to one character: -local function deva_initialize(font,attr) -- we need a proper hook into the dataset initializer +local function initialize_one(font,attr) -- we need a proper hook into the dataset initializer local tfmdata = fontdata[font] local datasets = otf.dataset(tfmdata,font,attr) -- don't we know this one? @@ -751,9 +732,9 @@ local function deva_initialize(font,attr) -- we need a proper hook into the data end -local function deva_reorder(head,start,stop,font,attr,nbspaces) +local function reorder_one(head,start,stop,font,attr,nbspaces) - local reph, vattu, blwfcache = deva_initialize(font,attr) -- todo: a hash[font] + local reph, vattu, blwfcache = initialize_one(font,attr) -- todo: a hash[font] local current = start local n = getnext(start) @@ -790,40 +771,40 @@ local function deva_reorder(head,start,stop,font,attr,nbspaces) lastcons = current current = getnext(current) if current ~= stop then - if nukta[getchar(current)] then + local char = getchar(current) + if nukta[char] then current = getnext(current) + char = getchar(current) end - if getchar(current) == c_zwj then - if current ~= stop then - local next = getnext(current) - if next ~= stop and halant[getchar(next)] then - current = next - next = getnext(current) - local tmp = next and getnext(next) or nil -- needs checking - local changestop = next == stop - local tempcurrent = copy_node(next) - copyinjection(tempcurrent,next) - local nextcurrent = copy_node(current) - copyinjection(nextcurrent,current) -- KE: necessary? HH: probably not as positioning comes later and we rawget/set - setlink(tempcurrent,nextcurrent) - setprop(tempcurrent,a_state,s_blwf) - tempcurrent = processcharacters(tempcurrent,font) - setprop(tempcurrent,a_state,unsetvalue) - if getchar(next) == getchar(tempcurrent) then - flush_list(tempcurrent) - local n = copy_node(current) - copyinjection(n,current) -- KE: necessary? HH: probably not as positioning comes later and we rawget/set - setchar(current,dotted_circle) - head = insert_node_after(head, current, n) - else - setchar(current,getchar(tempcurrent)) -- we assumes that the result of blwf consists of one node - local freenode = getnext(current) - setlink(current,tmp) - flush_node(freenode) - flush_list(tempcurrent) - if changestop then - stop = current - end + if char == c_zwj and current ~= stop then + local next = getnext(current) + if next ~= stop and halant[getchar(next)] then + current = next + next = getnext(current) + local tmp = next and getnext(next) or nil -- needs checking + local changestop = next == stop + local tempcurrent = copy_node(next) + copyinjection(tempcurrent,next) + local nextcurrent = copy_node(current) + copyinjection(nextcurrent,current) -- KE: necessary? HH: probably not as positioning comes later and we rawget/set + setlink(tempcurrent,nextcurrent) + setprop(tempcurrent,a_state,s_blwf) + tempcurrent = processcharacters(tempcurrent,font) + setprop(tempcurrent,a_state,unsetvalue) + if getchar(next) == getchar(tempcurrent) then + flush_list(tempcurrent) + local n = copy_node(current) + copyinjection(n,current) -- KE: necessary? HH: probably not as positioning comes later and we rawget/set + setchar(current,dotted_circle) + head = insert_node_after(head, current, n) + else + setchar(current,getchar(tempcurrent)) -- we assumes that the result of blwf consists of one node + local freenode = getnext(current) + setlink(current,tmp) + flush_node(freenode) + flush_list(tempcurrent) + if changestop then + stop = current end end end @@ -1130,41 +1111,39 @@ function handlers.devanagari_reorder_matras(head,start) -- no leak return head, start, true end --- todo: way more caching of attributes and font - --- Reph’s original position is always at the beginning of the syllable, (i.e. it is not reordered at the character reordering stage). --- However, it will be reordered according to the basic-forms shaping results. --- Possible positions for reph, depending on the script, are; after main, before post-base consonant forms, --- and after post-base consonant forms. - --- 1 If reph should be positioned after post-base consonant forms, proceed to step 5. --- 2 If the reph repositioning class is not after post-base: target position is after the first explicit halant glyph between --- the first post-reph consonant and last main consonant. If ZWJ or ZWNJ are following this halant, position is moved after it. --- If such position is found, this is the target position. Otherwise, proceed to the next step. --- Note: in old-implementation fonts, where classifications were fixed in shaping engine, --- there was no case where reph position will be found on this step. --- 3 If reph should be repositioned after the main consonant: from the first consonant not ligated with main, --- or find the first consonant that is not a potential pre-base reordering Ra. --- 4 If reph should be positioned before post-base consonant, find first post-base classified consonant not ligated with main. --- If no consonant is found, the target position should be before the first matra, syllable modifier sign or vedic sign. --- 5 If no consonant is found in steps 3 or 4, move reph to a position immediately before the first post-base matra, --- syllable modifier sign or vedic sign that has a reordering class after the intended reph position. --- For example, if the reordering position for reph is post-main, it will skip above-base matras that also have a post-main position. --- 6 Otherwise, reorder reph to the end of the syllable. - --- hm, this only looks at the start of a nodelist ... is this supposed to be line based? +-- Reph’s original position is always at the beginning of the syllable, (i.e. it is +-- not reordered at the character reordering stage). However, it will be reordered +-- according to the basic-forms shaping results. Possible positions for reph, +-- depending on the script, are; after main, before post-base consonant forms, and +-- after post-base consonant forms. + +-- In Devanagari reph has reordering position 'before postscript' and dev2 only +-- follows step 2, 4, and 6. function handlers.devanagari_reorder_reph(head,start) - -- since in Devanagari reph has reordering position 'before postscript' dev2 only follows step 2, 4, and 6, - -- the other steps are still ToDo (required for scripts other than dev2) local current = getnext(start) local startnext = nil local startprev = nil local startfont = getfont(start) local startattr = getprop(start,a_syllabe) + -- + ::step_1:: + -- + -- If reph should be positioned after post-base consonant forms, proceed to step 5. + -- + ::step_2:: + -- + -- If the reph repositioning class is not after post-base: target position is after + -- the first explicit halant glyph between the first post-reph consonant and last + -- main consonant. If ZWJ or ZWNJ are following this halant, position is moved after + -- it. If such position is found, this is the target position. Otherwise, proceed to + -- the next step. Note: in old-implementation fonts, where classifications were + -- fixed in shaping engine, there was no case where reph position will be found on + -- this step. + -- while current do local char = ischar(current,startfont) - if char and getprop(current,a_syllabe) == startattr then -- step 2 + if char and getprop(current,a_syllabe) == startattr then if halant[char] and not getprop(current,a_state) then local next = getnext(current) if next then @@ -1188,11 +1167,25 @@ function handlers.devanagari_reorder_reph(head,start) break end end + ::step_3:: + -- + -- If reph should be repositioned after the main consonant: from the first consonant + -- not ligated with main, or find the first consonant that is not a potential + -- pre-base reordering Ra. + -- + -- Kai: todo + -- + ::step_4:: + -- + -- If reph should be positioned before post-base consonant, find first post-base + -- classified consonant not ligated with main. If no consonant is found, the target + -- position should be before the first matra, syllable modifier sign or vedic sign. + -- if not startnext then current = getnext(start) while current do local char = ischar(current,startfont) - if char and getprop(current,a_syllabe) == startattr then -- step 4 + if char and getprop(current,a_syllabe) == startattr then if getprop(current,a_state) == s_pstf then -- post-base startnext = getnext(start) head = remove_node(head,start) @@ -1209,16 +1202,22 @@ function handlers.devanagari_reorder_reph(head,start) end end end - -- todo: determine position for reph with reordering position other than 'before postscript' - -- (required for scripts other than dev2) - -- leaks + -- + ::step_5:: + -- + -- If no consonant is found in steps 3 or 4, move reph to a position immediately + -- before the first post-base matra, syllable modifier sign or vedic sign that has a + -- reordering class after the intended reph position. For example, if the reordering + -- position for reph is post-main, it will skip above-base matras that also have a + -- post-main position. + -- if not startnext then current = getnext(start) local c = nil while current do local char = ischar(current,startfont) - if char and getprop(current,a_syllabe) == startattr then -- step 5 - if not c and mark_above_below_post[char] and reorder_class[char] ~= "after subscript" then + if char and getprop(current,a_syllabe) == startattr then + if not c and mark_above_below_post[char] and after_subscript[char] then c = current end current = getnext(current) @@ -1238,13 +1237,17 @@ function handlers.devanagari_reorder_reph(head,start) startattr = getprop(start,a_syllabe) end end - -- leaks + -- + ::step_6:: + -- + -- Otherwise, reorder reph to the end of the syllable. + -- if not startnext then current = start local next = getnext(current) while next do local nextchar = ischar(next,startfont) - if nextchar and getprop(next,a_syllabe) == startattr then --step 6 + if nextchar and getprop(next,a_syllabe) == startattr then current = next next = getnext(current) else @@ -1264,13 +1267,13 @@ function handlers.devanagari_reorder_reph(head,start) return head, start, true end --- we can cache some checking (v) - -- If a pre-base reordering consonant is found, reorder it according to the following rules: -- --- 1 Only reorder a glyph produced by substitution during application of the feature. --- (Note that a font may shape a Ra consonant with the feature generally but block it in certain contexts.) --- 2 Try to find a target position the same way as for pre-base matra. If it is found, reorder pre-base consonant glyph. +-- 1 Only reorder a glyph produced by substitution during application of the feature. (Note +-- that a font may shape a Ra consonant with the feature generally but block it in certain +-- contexts.) +-- 2 Try to find a target position the same way as for pre-base matra. If it is found, reorder +-- pre-base consonant glyph. -- 3 If position is not found, reorder immediately before main consonant. -- Here we implement a few handlers: @@ -1358,13 +1361,13 @@ function handlers.devanagari_remove_joiners(head,start,kind,lookupname,replaceme setnext(prev) end if head == start then - head = stop + head = stop end flush_list(start) return head, stop, true end -local function dev2_initialize(font,attr) +local function initialize_two(font,attr) local devanagari = fontdata[font].resources.devanagari @@ -1379,9 +1382,9 @@ end -- this one will be merged into the caller: it saves a call, but we will then make function -- of the actions -local function dev2_reorder(head,start,stop,font,attr,nbspaces) -- maybe do a pass over (determine stop in sweep) +local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pass over (determine stop in sweep) - local seqsubset, reorderreph = dev2_initialize(font,attr) + local seqsubset, reorderreph = initialize_two(font,attr) local reph = false -- was nil ... probably went unnoticed because never assigned local halfpos = nil @@ -1392,7 +1395,7 @@ local function dev2_reorder(head,start,stop,font,attr,nbspaces) -- maybe do a pa for i=1,#seqsubset do - -- maybe quit if start == stop + -- this can be done more efficient, the last test and less getnext local subset = seqsubset[i] local kind = subset[1] @@ -1411,8 +1414,7 @@ local function dev2_reorder(head,start,stop,font,attr,nbspaces) -- maybe do a pa if found[n] then --above-base: rphf Consonant + Halant local afternext = next ~= stop and getnext(next) if afternext and zw_char[getchar(afternext)] then -- ZWJ and ZWNJ prevent creation of reph - current = next - current = getnext(current) + current = afternext -- getnext(next) elseif current == start then setprop(current,a_state,s_rphf) current = next @@ -1559,7 +1561,7 @@ local function dev2_reorder(head,start,stop,font,attr,nbspaces) -- maybe do a pa if halant[getchar(current)] then setnext(getnext(current),tmp) local nc = copy_node(current) - copyinjection(nc,current) + copyinjection(nc,current) setchar(current,dotted_circle) head = insert_node_after(head,current,nc) else @@ -1957,7 +1959,7 @@ local function analyze_next_chars_two(c,font) if not v then return c end - if v == c_anudatta then + if anudatta[v] then c = n n = getnext(c) if not n then @@ -2056,10 +2058,12 @@ local function analyze_next_chars_two(c,font) end end -local function inject_syntax_error(head,current,mark) +local show_syntax_errors = false + +local function inject_syntax_error(head,current,char) local signal = copy_node(current) - copyinjection(signal,current) - if mark == pre_mark then -- THIS IS WRONG: pre_mark is a table + copyinjection(signal,current) + if pre_mark[char] then setchar(signal,dotted_circle) else setchar(current,dotted_circle) @@ -2070,21 +2074,21 @@ end -- It looks like these two analyzers were written independently but they share -- a lot. Common code has been synced. -function methods.deva(head,font,attr) +local function method_one(head,font,attr) head = tonut(head) local current = head local start = true local done = false local nbspaces = 0 while current do - local char = ischar(current,font) + local char = ischar(current,font) if char then done = true local syllablestart = current local syllableend = nil local c = current local n = getnext(c) - local first = char + local first = char if n and ra[first] then local second = ischar(n,font) if second and halant[second] then @@ -2116,10 +2120,10 @@ function methods.deva(head,font,attr) end if standalone then -- stand alone cluster (at the start of the word only): #[Ra+H]+NBSP+[N]+[<[]+H+C>]+[{M}+[N]+[H]]+[SM]+[(VD)] - local syllableend = analyze_next_chars_one(c,font,2) - current = getnext(syllableend) + local syllableend = analyze_next_chars_one(c,font,2) + current = getnext(syllableend) if syllablestart ~= syllableend then - head, current, nbspaces = deva_reorder(head,syllablestart,syllableend,font,attr,nbspaces) + head, current, nbspaces = reorder_one(head,syllablestart,syllableend,font,attr,nbspaces) current = getnext(current) end else @@ -2225,7 +2229,7 @@ function methods.deva(head,font,attr) end end if syllablestart ~= syllableend then - head, current, nbspaces = deva_reorder(head,syllablestart,syllableend,font,attr,nbspaces) + head, current, nbspaces = reorder_one(head,syllablestart,syllableend,font,attr,nbspaces) current = getnext(current) end elseif independent_vowel[char] then @@ -2247,9 +2251,11 @@ function methods.deva(head,font,attr) end end else - local mark = mark_four[char] - if mark then - head, current = inject_syntax_error(head,current,mark) + if show_syntax_errors then + local mark = mark_four[char] + if mark then + head, current = inject_syntax_error(head,current,char) + end end current = getnext(current) end @@ -2264,15 +2270,13 @@ function methods.deva(head,font,attr) head = replace_all_nbsp(head) end - head = tonode(head) - - return head, done + return tonode(head), done end -- there is a good change that when we run into one with subtype < 256 that the rest is also done -- so maybe we can omit this check (it's pretty hard to get glyphs in the stream out of the blue) -function methods.dev2(head,font,attr) +local function method_two(head,font,attr) head = tonut(head) local current = head local start = true @@ -2296,7 +2300,7 @@ function methods.dev2(head,font,attr) local nextnextchar = ischar(n,font) if nextnextchar then c = n - char = nextnextchar + char = nextnextchar end end end @@ -2343,14 +2347,14 @@ function methods.dev2(head,font,attr) end end if syllableend and syllablestart ~= syllableend then - head, current, nbspaces = dev2_reorder(head,syllablestart,syllableend,font,attr,nbspaces) + head, current, nbspaces = reorder_two(head,syllablestart,syllableend,font,attr,nbspaces) end - if not syllableend then + if not syllableend and show_syntax_errors then local char = ischar(current,font) if char and not getprop(current,a_state) then local mark = mark_four[char] if mark then - head, current = inject_syntax_error(head,current,mark) + head, current = inject_syntax_error(head,current,char) end end end @@ -2362,10 +2366,10 @@ function methods.dev2(head,font,attr) head = replace_all_nbsp(head) end - head = tonode(head) - - return head, done + return tonode(head), done end -methods.mlym = methods.deva -methods.mlm2 = methods.dev2 +for i=1,nofscripts do + methods[scripts_one[i]] = method_one + methods[scripts_two[i]] = method_two +end diff --git a/tex/context/base/mkiv/font-ota.lua b/tex/context/base/mkiv/font-ota.lua index 9c6ee7403..de626c120 100644 --- a/tex/context/base/mkiv/font-ota.lua +++ b/tex/context/base/mkiv/font-ota.lua @@ -248,11 +248,11 @@ local function warning(current,what) end local mappers = allocate { - l = s_init, -- left - d = s_medi, -- double - c = s_medi, -- joiner - r = s_fina, -- right - u = s_isol, -- nonjoiner + l = s_init, -- left + d = s_medi, -- double + c = s_medi, -- joiner + r = s_fina, -- right + u = s_isol, -- nonjoiner } -- we can also use this trick for devanagari diff --git a/tex/context/base/mkiv/font-ots.lua b/tex/context/base/mkiv/font-ots.lua index 3e338f614..25083dfce 100644 --- a/tex/context/base/mkiv/font-ots.lua +++ b/tex/context/base/mkiv/font-ots.lua @@ -936,7 +936,7 @@ function handlers.gpos_pair(head,start,dataset,sequence,kerns,rlmode,skiphash,st elseif b then -- #b > 0 local x, y, w, h = setposition(2,snext,factor,rlmode,b,injection) if trace_kerns then - local startchar = getchar(snext) + local startchar = getchar(start) logprocess("%s: shifting second of pair %s and %s by xy (%p,%p) and wh (%p,%p) as %s",pref(dataset,sequence),gref(startchar),gref(nextchar),x,y,w,h,injection or "injections") end start = snext -- cf spec diff --git a/tex/context/base/mkiv/font-pre.mkiv b/tex/context/base/mkiv/font-pre.mkiv index d09d871f0..b49bc560e 100644 --- a/tex/context/base/mkiv/font-pre.mkiv +++ b/tex/context/base/mkiv/font-pre.mkiv @@ -191,59 +191,139 @@ [semitic-simple] [script=hebr] -% \definefont [DevaOne] [file:chandas.ttf*devanagari-one at 12pt] -% \definefont [DevaTwo] [file:kokila.ttf*devanagari-two at 18pt] +% indic \definefontfeature - [devanagari-one] + [indic-common] [mode=node, language=dflt, - script=deva, + % localized + locl=yes, + % positioning + kern=yes, + dist=yes, + % above/below base marks + abvm=yes, + blwm=yes, + % basic shaping nukt=yes, akhn=yes, rphf=yes, - blwf=yes, - half=yes, - vatu=yes, + % presentation pres=yes, abvs=yes, blws=yes, psts=yes, haln=yes, - abvm=yes, - blwm=yes, - dist=yes] + calt=yes] \definefontfeature - [devanagari-two] [devanagari-one] - [script=dev2, - locl=yes, - pref=yes, + [indic-common] + [script=deva, + % basic shaping rkrf=yes, + blwf=yes, + half=yes, + vatu=yes, + cjct=yes] + +\definefontfeature + [bengali-one] + [indic-common] + [script=beng, + % basic shaping + blwf=yes, + half=yes, pstf=yes, + vatu=yes, cjct=yes, - init=yes, - calt=yes, - kern=yes] + % presentation + init=yes] \definefontfeature - [malayalam-one] - [mode=node, - language=dflt, - script=mlym, - akhn=yes, + [gujarati-one] + [indic-common] + [script=gujr, + % basic shaping + rkrf=yes, blwf=yes, half=yes, - pres=yes, - blws=yes, - psts=yes, - haln=no] + vatu=yes, + cjct=yes] + +\definefontfeature + [gurmukhi-one] + [indic-common] + [script=guru, + % basic shaping + blwf=yes, + half=yes, + pstf=yes, + vatu=yes, + cjct=yes] + +\definefontfeature + [kannada-one] + [indic-common] + [script=knda, + % basic shaping + pref=yes, + blwf=yes, + half=yes, + pstf=yes, + cjct=yes] \definefontfeature - [malayalam-two] [malayalam-one] - [script=mlm2] + [indic-common] + [script=mlym, + % basic shaping + pref=yes, + blwf=yes, + half=yes, + pstf=yes, + cjct=yes] + +\definefontfeature + [oriya-one] + [indic-common] + [script=orya, + % basic shaping + blwf=yes, + pstf=yes, + cjct=yes] + +\definefontfeature + [tamil-one] + [indic-common] + [script=taml, + % basic shaping + pref=yes, + half=yes] + +\definefontfeature + [telugu-one] + [indic-common] + [script=telu, + % basic shaping + pref=yes, + blwf=yes, + half=yes, + pstf=yes, + cjct=yes] + +\definefontfeature [devanagari-two] [devanagari-one] [script=dev2] +\definefontfeature [bengali-two] [bengali-one] [script=bng2] +\definefontfeature [gujarati-two] [gujarati-one] [script=gjr2] +\definefontfeature [gurmukhi-two] [gurmukhi-one] [script=gur2] +\definefontfeature [kannada-two] [kannada-one] [script=knd2] +\definefontfeature [malayalam-two] [malayalam-one] [script=mlm2] +\definefontfeature [oriya-two] [oriya-one] [script=ory2] +\definefontfeature [tamil-two] [tamil-one] [script=tml2] +\definefontfeature [telugu-two] [telugu-one] [script=tel2] + +% cjk \definefontfeature [jamoforms] @@ -251,8 +331,6 @@ tjmo=yes, vjmo=yes] -% cjk - % \definefontfeature % [japanese] % [default] diff --git a/tex/context/base/mkiv/font-sel.lua b/tex/context/base/mkiv/font-sel.lua index 0cf51cad3..e7f56047b 100644 --- a/tex/context/base/mkiv/font-sel.lua +++ b/tex/context/base/mkiv/font-sel.lua @@ -943,5 +943,5 @@ implement { implement { name = "definefontfamilypreset", actions = selectfont.definefontfamilypreset, - arguments = { "string", "string" } + arguments = "2 strings", } diff --git a/tex/context/base/mkiv/grph-fil.lua b/tex/context/base/mkiv/grph-fil.lua index 3c069da37..540356c46 100644 --- a/tex/context/base/mkiv/grph-fil.lua +++ b/tex/context/base/mkiv/grph-fil.lua @@ -101,6 +101,6 @@ end interfaces.implement { name = "runcontextjob", - arguments = { "string", "string" }, + arguments = "2 strings", actions = { jobfiles.context, context } } diff --git a/tex/context/base/mkiv/grph-inc.lua b/tex/context/base/mkiv/grph-inc.lua index 47eb7bbbb..f2d7847eb 100644 --- a/tex/context/base/mkiv/grph-inc.lua +++ b/tex/context/base/mkiv/grph-inc.lua @@ -487,7 +487,7 @@ function figures.setpaths(locationset,pathlist) end end -implement { name = "setfigurepaths", actions = figures.setpaths, arguments = { "string", "string" } } +implement { name = "setfigurepaths", actions = figures.setpaths, arguments = "2 strings" } -- check conversions and handle it here @@ -2014,7 +2014,7 @@ local ctx_doexternalfigurerepeat = context.doexternalfigurerepeat implement { name = "figure_register_page", - arguments = { "string", "string", "string" }, + arguments = "3 strings", actions = function(a,b,c) registered[#registered+1] = { a, b, c } context(#registered) diff --git a/tex/context/base/mkiv/java-ini.lua b/tex/context/base/mkiv/java-ini.lua index 069eb5ab6..61ab15e7a 100644 --- a/tex/context/base/mkiv/java-ini.lua +++ b/tex/context/base/mkiv/java-ini.lua @@ -246,13 +246,13 @@ implement { implement { name = "setjavascriptpreamble", actions = javascripts.setpreamble, - arguments = { "string", "string" } + arguments = "2 strings", } implement { name = "addtojavascriptpreamble", actions = javascripts.addtopreamble, - arguments = { "string", "string" } + arguments = "2 strings", } implement { diff --git a/tex/context/base/mkiv/l-macro.lua b/tex/context/base/mkiv/l-macro.lua index d2b8c7ae4..30c7cbec6 100644 --- a/tex/context/base/mkiv/l-macro.lua +++ b/tex/context/base/mkiv/l-macro.lua @@ -14,7 +14,8 @@ if not modules then modules = { } end modules ['l-macros'] = { local S, P, R, V, C, Cs, Cc, Ct, Carg = lpeg.S, lpeg.P, lpeg.R, lpeg.V, lpeg.C, lpeg.Cs, lpeg.Cc, lpeg.Ct, lpeg.Carg local lpegmatch = lpeg.match local concat = table.concat -local next = next +local format, sub = string.format, string.sub +local next, load, type = next, load, type local newline = S("\n\r")^1 local continue = P("\\") * newline @@ -41,6 +42,15 @@ local definitions = { } local resolve local subparser +local report_lua = function(...) + if logs and logs.reporter then + report_lua = logs.reporter("system","lua") + report_lua(...) + else + print(format(...)) + end +end + -- todo: zero case resolve = C(C(name) * arguments^-1) / function(raw,s,a) @@ -160,6 +170,66 @@ function macros.resolving() return next(patterns) end +local function loaded(name,trace,detail) + -- local c = io.loaddata(fullname) -- not yet available + local f = io.open(name,"rb") + if not f then + return false, format("file '%s' not found",name) + end + local c = f:read("*a") + if not c then + return false, format("file '%s' is invalid",name) + end + f:close() + local n = lpegmatch(parser,c) + if trace then + if #n ~= #c then + report_lua("macros expanded in '%s' (%i => %i bytes)",name,#c,#n) + if detail then + report_lua() + report_lua(n) + report_lua() + end + elseif detail then + report_lua("no macros expanded in '%s'",name) + end + end + if #name > 30 then + n = "--[[" .. sub(name,-30) .. "]] " .. n + else + n = "--[[" .. name .. "]] " .. n + end + return load(n) +end + +macros.loaded = loaded + +function required(name,trace) + local filename = file.addsuffix(name,"lua") + local fullname = resolvers and resolvers.find_file(filename) or filename + if not fullname or fullname == "" then + return false + end + local codeblob = package.loaded[fullname] + if codeblob then + return codeblob + end + local code, message = loaded(fullname,macros,trace,trace) + if type(code) == "function" then + code = code() + else + report_lua("error when loading '%s'",fullname) + return false, message + end + if code == nil then + code = false + end + package.loaded[fullname] = code + return code +end + +macros.required = required + -- local str = [[ -- #define check(p,q) (p ~= 0) and (p > q) -- diff --git a/tex/context/base/mkiv/l-package.lua b/tex/context/base/mkiv/l-package.lua index d43c5c5c6..4faee76bf 100644 --- a/tex/context/base/mkiv/l-package.lua +++ b/tex/context/base/mkiv/l-package.lua @@ -18,12 +18,12 @@ if not modules then modules = { } end modules ['l-package'] = { local type = type local gsub, format, find = string.gsub, string.format, string.find +local insert, remove = table.insert, table.remove local P, S, Cs, lpegmatch = lpeg.P, lpeg.S, lpeg.Cs, lpeg.match -local package = package -local searchers = package.searchers or package.loaders -local insert, remove = table.insert, table.remove +local package = package +local searchers = package.searchers or package.loaders -------.loaders = nil -- old stuff that we don't want -------.seeall = nil -- old stuff that we don't want diff --git a/tex/context/base/mkiv/l-table.lua b/tex/context/base/mkiv/l-table.lua index 9d7152544..5cd65dd67 100644 --- a/tex/context/base/mkiv/l-table.lua +++ b/tex/context/base/mkiv/l-table.lua @@ -420,7 +420,7 @@ end -- todo : copy without metatable -local function copy(t, tables) -- taken from lua wiki, slightly adapted +local function copy(t,tables) -- taken from lua wiki, slightly adapted tables = tables or { } local tcopy = { } if not tables[t] then @@ -431,7 +431,7 @@ local function copy(t, tables) -- taken from lua wiki, slightly adapted if tables[i] then i = tables[i] else - i = copy(i, tables) + i = copy(i,tables) end end if type(v) ~= "table" then @@ -439,7 +439,7 @@ local function copy(t, tables) -- taken from lua wiki, slightly adapted elseif tables[v] then tcopy[i] = tables[v] else - tcopy[i] = copy(v, tables) + tcopy[i] = copy(v,tables) end end local mt = getmetatable(t) @@ -1225,10 +1225,10 @@ function table.reversed(t) end end -function table.reverse(t) +function table.reverse(t) -- check with 5.3 ? if t then local n = #t - for i=1,floor(n/2) do + for i=1,floor(n/2) do -- maybe just n//2 local j = n - i + 1 t[i], t[j] = t[j], t[i] end diff --git a/tex/context/base/mkiv/lang-hyp.lua b/tex/context/base/mkiv/lang-hyp.lua index f73a51b3a..e29446b65 100644 --- a/tex/context/base/mkiv/lang-hyp.lua +++ b/tex/context/base/mkiv/lang-hyp.lua @@ -980,7 +980,7 @@ featureset.hyphenonly = hyphenonly == v_yes implement { name = "registerhyphenationexception", actions = traditional.registerexception, - arguments = { "string", "string" } + arguments = "2 strings", } -- This is a relative large function with local variables and local functions. A previous @@ -1725,7 +1725,7 @@ featureset.hyphenonly = hyphenonly == v_yes implement { name = "showhyphenationtrace", actions = hyphenators.showhyphenationtrace, - arguments = { "string", "string" } + arguments = "2 strings", } function nodes.stripdiscretionaries(head) diff --git a/tex/context/base/mkiv/lang-ini.lua b/tex/context/base/mkiv/lang-ini.lua index 6d202ff5a..30e086e15 100644 --- a/tex/context/base/mkiv/lang-ini.lua +++ b/tex/context/base/mkiv/lang-ini.lua @@ -612,7 +612,7 @@ end) implement { name = "languagenumber", actions = { languages.getnumber, context }, - arguments = { "string", "string", "string", "string" } + arguments = "4 strings" } implement { @@ -623,25 +623,25 @@ implement { implement { name = "definelanguage", actions = languages.define, - arguments = { "string", "string" } + arguments = "2 strings" } implement { name = "setlanguagesynonym", actions = languages.setsynonym, - arguments = { "string", "string" } + arguments = "2 strings" } implement { name = "unloadlanguage", actions = languages.unload, - arguments = { "string" } + arguments = "string" } implement { name = "setlanguageexceptions", actions = languages.setexceptions, - arguments = { "string", "string" } + arguments = "2 strings" } implement { diff --git a/tex/context/base/mkiv/lang-rep.lua b/tex/context/base/mkiv/lang-rep.lua index 172454fc2..a5c4d97c8 100644 --- a/tex/context/base/mkiv/lang-rep.lua +++ b/tex/context/base/mkiv/lang-rep.lua @@ -366,11 +366,11 @@ implement { implement { name = "addreplacements", actions = replacements.add, - arguments = { "string", "string", "string" } + arguments = "3 strings", } implement { name = "addreplacementslist", actions = replacements.addlist, - arguments = { "string", "string" } + arguments = "2 strings", } diff --git a/tex/context/base/mkiv/lang-url.lua b/tex/context/base/mkiv/lang-url.lua index 651c6bd52..95d959206 100644 --- a/tex/context/base/mkiv/lang-url.lua +++ b/tex/context/base/mkiv/lang-url.lua @@ -214,7 +214,7 @@ end implement { name = "sethyphenatedurlcharacters", actions = urls.setcharacters, - arguments = { "string", "string" } + arguments = "2 strings", } implement { diff --git a/tex/context/base/mkiv/lang-wrd.lua b/tex/context/base/mkiv/lang-wrd.lua index b00375cc0..7363dbb31 100644 --- a/tex/context/base/mkiv/lang-wrd.lua +++ b/tex/context/base/mkiv/lang-wrd.lua @@ -420,6 +420,6 @@ implement { implement { name = "loadspellchecklist", - arguments = { "string", "string" }, + arguments = "2 strings", actions = words.load } diff --git a/tex/context/base/mkiv/lpdf-epd.lua b/tex/context/base/mkiv/lpdf-epd.lua index 2fcd28473..cf02b5a22 100644 --- a/tex/context/base/mkiv/lpdf-epd.lua +++ b/tex/context/base/mkiv/lpdf-epd.lua @@ -374,6 +374,8 @@ local function get_array(object,document) end end +-- todo: collect chunks + local function streamaccess(s,_,what) if not what or what == "all" or what == "*all" then local t, n = { }, 0 diff --git a/tex/context/base/mkiv/lpdf-ini.lua b/tex/context/base/mkiv/lpdf-ini.lua index f8cff2032..8af1fb409 100644 --- a/tex/context/base/mkiv/lpdf-ini.lua +++ b/tex/context/base/mkiv/lpdf-ini.lua @@ -1082,10 +1082,28 @@ end do + -- It's a bit of a historical mess here. + + local metadata = nil local timestamp = backends.timestamp() - function lpdf.timestamp() - return timestamp + function lpdf.getmetadata() + if not metadata then + local contextversion = environment.version + local luatexversion = format("%1.2f",LUATEXVERSION) + local luatexfunctionality = tostring(LUATEXFUNCTIONALITY) + metadata = { + producer = format("LuaTeX-%s",luatexversion), + creator = format("LuaTeX %s %s + ConTeXt MkIV %s",luatexversion,luatexfunctionality,contextversion), + luatexversion = luatexversion, + contextversion = contextversion, + luatexfunctionality = luatexfunctionality, + luaversion = tostring(LUAVERSION), + platform = os.platform, + time = timestamp, + } + end + return metadata end function lpdf.settime(n) @@ -1096,6 +1114,9 @@ do timestamp = backends.timestamp() end end + if metadata then + metadata.time = timestamp + end return timestamp end @@ -1107,10 +1128,11 @@ do end function lpdf.id(nodate) + local banner = environment.jobname or tex.jobname or "unknown" if nodate then - return tex.jobname + return banner else - return format("%s.%s",tex.jobname,timestamp) + return format("%s.%s",banner,timestamp) end end diff --git a/tex/context/base/mkiv/lpdf-mis.lua b/tex/context/base/mkiv/lpdf-mis.lua index 07dc3dcf1..6d1b09ca0 100644 --- a/tex/context/base/mkiv/lpdf-mis.lua +++ b/tex/context/base/mkiv/lpdf-mis.lua @@ -52,6 +52,8 @@ local addtoinfo = lpdf.addtoinfo local addtopageattributes = lpdf.addtopageattributes local addtonames = lpdf.addtonames +local pdfgetmetadata = lpdf.getmetadata + local variables = interfaces.variables local v_stop = variables.stop @@ -189,6 +191,12 @@ local done = false -- using "setupidentity = function() end" fails as the meani local function setupidentity() if not done then + local metadata = pdfgetmetadata() + local creator = metadata.creator + local version = metadata.contextversion + local time = metadata.time + local jobname = environment.jobname or tex.jobname or "unknown" + -- local title = identity.title if not title or title == "" then title = tex.jobname @@ -202,21 +210,16 @@ local function setupidentity() if author ~= "" then addtoinfo("Author", pdfunicode(author), author) -- '/Author' in /Info, 'Creator' in XMP end - -- local creator = identity.creator or "" - local creator = "LuaTeX + ConTeXt MkIV" -- has to be the same in CreatorTool - if creator ~= "" then - addtoinfo("Creator", pdfunicode(creator), creator) -- '/Creator' in /Info, 'CreatorTool' in XMP - end - local currenttimestamp = lpdf.timestamp() - addtoinfo("CreationDate", pdfstring(formattedtimestamp(currenttimestamp))) + addtoinfo("Creator", pdfunicode(creator), creator) + addtoinfo("CreationDate", pdfstring(formattedtimestamp(time))) local date = identity.date or "" - local pdfdate = formattedtimestamp(date) + local pdfdate = date and formattedtimestamp(date) if pdfdate then addtoinfo("ModDate", pdfstring(pdfdate), date) else -- users should enter the date in 2010-01-19T23:27:50+01:00 format -- and if not provided that way we use the creation time instead - addtoinfo("ModDate", pdfstring(formattedtimestamp(currenttimestamp)), currenttimestamp) + addtoinfo("ModDate", pdfstring(formattedtimestamp(time)),time) end local keywords = identity.keywords or "" if keywords ~= "" then @@ -226,11 +229,12 @@ local function setupidentity() local id = lpdf.id() addtoinfo("ID", pdfstring(id), id) -- needed for pdf/x -- - addtoinfo("ConTeXt.Version", environment.version) - addtoinfo("ConTeXt.Time", os.date("%Y-%m-%d %H:%M")) - addtoinfo("ConTeXt.Jobname", environment.jobname or tex.jobname) - addtoinfo("ConTeXt.Url", "www.pragma-ade.com") - addtoinfo("ConTeXt.Support", "contextgarden.net") + addtoinfo("ConTeXt.Version",version) + addtoinfo("ConTeXt.Time",os.date("%Y-%m-%d %H:%M")) + addtoinfo("ConTeXt.Jobname",jobname) + addtoinfo("ConTeXt.Url","www.pragma-ade.com") + addtoinfo("ConTeXt.Support","contextgarden.net") + addtoinfo("TeX.Support","tug.org") -- done = true else diff --git a/tex/context/base/mkiv/lpdf-pda.xml b/tex/context/base/mkiv/lpdf-pda.xml index 78ad47f21..efdfc4d7d 100644 --- a/tex/context/base/mkiv/lpdf-pda.xml +++ b/tex/context/base/mkiv/lpdf-pda.xml @@ -24,12 +24,17 @@ + + - - + + + + + diff --git a/tex/context/base/mkiv/lpdf-pdx.xml b/tex/context/base/mkiv/lpdf-pdx.xml index d55e1fdf3..889862c76 100644 --- a/tex/context/base/mkiv/lpdf-pdx.xml +++ b/tex/context/base/mkiv/lpdf-pdx.xml @@ -23,12 +23,17 @@ + + - - + + + + + diff --git a/tex/context/base/mkiv/lpdf-pua.xml b/tex/context/base/mkiv/lpdf-pua.xml index c50e1f05b..f985b54d3 100644 --- a/tex/context/base/mkiv/lpdf-pua.xml +++ b/tex/context/base/mkiv/lpdf-pua.xml @@ -23,12 +23,17 @@ + + - - + + + + + diff --git a/tex/context/base/mkiv/lpdf-xmp.lua b/tex/context/base/mkiv/lpdf-xmp.lua index 2eb573acb..eb15a3582 100644 --- a/tex/context/base/mkiv/lpdf-xmp.lua +++ b/tex/context/base/mkiv/lpdf-xmp.lua @@ -27,6 +27,8 @@ local pdfconstant = lpdf.constant local pdfreference = lpdf.reference local pdfflushstreamobject = lpdf.flushstreamobject +local pdfgetmetadata = lpdf.getmetadata + -- The XMP packet wrapper is kind of fixed, see page 10 of XMPSpecificationsPart1.pdf from -- XMP-Toolkit-SDK-CC201607.zip. So we hardcode the id. @@ -39,47 +41,52 @@ local xpacket = format ( [[ local mapping = { -- user defined keys (pdfx:) - ["ConTeXt.Jobname"] = { "context", "rdf:Description/pdfx:ConTeXt.Jobname" }, - ["ConTeXt.Time"] = { "date", "rdf:Description/pdfx:ConTeXt.Time" }, - ["ConTeXt.Url"] = { "context", "rdf:Description/pdfx:ConTeXt.Url" }, - ["ConTeXt.Version"] = { "context", "rdf:Description/pdfx:ConTeXt.Version" }, - ["ID"] = { "id", "rdf:Description/pdfx:ID" }, -- has date - ["PTEX.Fullbanner"] = { "metadata","rdf:Description/pdfx:PTEX.Fullbanner" }, + ["ConTeXt.Jobname"] = { "context", "rdf:Description/pdfx:ConTeXt.Jobname" }, + ["ConTeXt.Time"] = { "date", "rdf:Description/pdfx:ConTeXt.Time" }, + ["ConTeXt.Url"] = { "context", "rdf:Description/pdfx:ConTeXt.Url" }, + ["ConTeXt.Support"] = { "context", "rdf:Description/pdfx:ConTeXt.Support" }, + ["ConTeXt.Version"] = { "context", "rdf:Description/pdfx:ConTeXt.Version" }, + ["TeX.Support"] = { "metadata", "rdf:Description/pdfx:TeX.Support" }, + ["LuaTeX.Version"] = { "metadata","rdf:Description/pdfx:LuaTeX.Version" }, + ["LuaTeX.Functionality"] = { "metadata","rdf:Description/pdfx:LuaTeX.Functionality" }, + ["LuaTeX.LuaVersion"] = { "metadata","rdf:Description/pdfx:LuaTeX.LuaVersion" }, + ["LuaTeX.Platform"] = { "metadata","rdf:Description/pdfx:LuaTeX.Platform" }, + ["ID"] = { "id", "rdf:Description/pdfx:ID" }, -- has date -- Adobe PDF schema - ["Keywords"] = { "metadata","rdf:Description/pdf:Keywords" }, - ["Producer"] = { "metadata","rdf:Description/pdf:Producer" }, - -- ["Trapped"] = { "pdf", "rdf:Description/pdf:Trapped" }, -- '/False' in /Info, but 'False' in XMP + ["Keywords"] = { "metadata","rdf:Description/pdf:Keywords" }, + ["Producer"] = { "metadata","rdf:Description/pdf:Producer" }, + -- ["Trapped"] = { "pdf", "rdf:Description/pdf:Trapped" }, -- '/False' in /Info, but 'False' in XMP -- Dublin Core schema - ["Author"] = { "metadata","rdf:Description/dc:creator/rdf:Seq/rdf:li" }, - ["Format"] = { "metadata","rdf:Description/dc:format" }, -- optional, but nice to have - ["Subject"] = { "metadata","rdf:Description/dc:description/rdf:Alt/rdf:li" }, - ["Title"] = { "metadata","rdf:Description/dc:title/rdf:Alt/rdf:li" }, + ["Author"] = { "metadata","rdf:Description/dc:creator/rdf:Seq/rdf:li" }, + ["Format"] = { "metadata","rdf:Description/dc:format" }, -- optional, but nice to have + ["Subject"] = { "metadata","rdf:Description/dc:description/rdf:Alt/rdf:li" }, + ["Title"] = { "metadata","rdf:Description/dc:title/rdf:Alt/rdf:li" }, -- XMP Basic schema - ["CreateDate"] = { "date", "rdf:Description/xmp:CreateDate" }, - ["CreationDate"] = { "date", "rdf:Description/xmp:CreationDate" }, -- dummy - ["Creator"] = { "metadata","rdf:Description/xmp:CreatorTool" }, - ["MetadataDate"] = { "date", "rdf:Description/xmp:MetadataDate" }, - ["ModDate"] = { "date", "rdf:Description/xmp:ModDate" }, -- dummy - ["ModifyDate"] = { "date", "rdf:Description/xmp:ModifyDate" }, + ["CreateDate"] = { "date", "rdf:Description/xmp:CreateDate" }, + ["CreationDate"] = { "date", "rdf:Description/xmp:CreationDate" }, -- dummy + ["Creator"] = { "metadata","rdf:Description/xmp:CreatorTool" }, + ["MetadataDate"] = { "date", "rdf:Description/xmp:MetadataDate" }, + ["ModDate"] = { "date", "rdf:Description/xmp:ModDate" }, -- dummy + ["ModifyDate"] = { "date", "rdf:Description/xmp:ModifyDate" }, -- XMP Media Management schema - ["DocumentID"] = { "id", "rdf:Description/xmpMM:DocumentID" }, -- uuid - ["InstanceID"] = { "id", "rdf:Description/xmpMM:InstanceID" }, -- uuid - ["RenditionClass"] = { "pdf", "rdf:Description/xmpMM:RenditionClass" }, -- PDF/X-4 - ["VersionID"] = { "pdf", "rdf:Description/xmpMM:VersionID" }, -- PDF/X-4 + ["DocumentID"] = { "id", "rdf:Description/xmpMM:DocumentID" }, -- uuid + ["InstanceID"] = { "id", "rdf:Description/xmpMM:InstanceID" }, -- uuid + ["RenditionClass"] = { "pdf", "rdf:Description/xmpMM:RenditionClass" }, -- PDF/X-4 + ["VersionID"] = { "pdf", "rdf:Description/xmpMM:VersionID" }, -- PDF/X-4 -- additional entries -- PDF/X - ["GTS_PDFXVersion"] = { "pdf", "rdf:Description/pdfxid:GTS_PDFXVersion" }, + ["GTS_PDFXVersion"] = { "pdf", "rdf:Description/pdfxid:GTS_PDFXVersion" }, -- optional entries -- all what is visible in the 'document properties --> additional metadata' window -- XMP Rights Management schema (optional) - ["Marked"] = { "pdf", "rdf:Description/xmpRights:Marked" }, - -- ["Owner"] = { "metadata", "rdf:Description/xmpRights:Owner/rdf:Bag/rdf:li" }, -- maybe useful (not visible) - -- ["UsageTerms"] = { "metadata", "rdf:Description/xmpRights:UsageTerms" }, -- maybe useful (not visible) - ["WebStatement"] = { "metadata", "rdf:Description/xmpRights:WebStatement" }, + ["Marked"] = { "pdf", "rdf:Description/xmpRights:Marked" }, + -- ["Owner"] = { "metadata", "rdf:Description/xmpRights:Owner/rdf:Bag/rdf:li" }, -- maybe useful (not visible) + -- ["UsageTerms"] = { "metadata", "rdf:Description/xmpRights:UsageTerms" }, -- maybe useful (not visible) + ["WebStatement"] = { "metadata", "rdf:Description/xmpRights:WebStatement" }, -- Photoshop PDF schema (optional) - ["AuthorsPosition"] = { "metadata", "rdf:Description/photoshop:AuthorsPosition" }, - ["Copyright"] = { "metadata", "rdf:Description/photoshop:Copyright" }, - ["CaptionWriter"] = { "metadata", "rdf:Description/photoshop:CaptionWriter" }, + ["AuthorsPosition"] = { "metadata", "rdf:Description/photoshop:AuthorsPosition" }, + ["Copyright"] = { "metadata", "rdf:Description/photoshop:Copyright" }, + ["CaptionWriter"] = { "metadata", "rdf:Description/photoshop:CaptionWriter" }, } pdf.setsuppressoptionalinfo( @@ -100,6 +107,12 @@ local included = backends.included local pdfsettrailerid = pdf.settrailerid +local lpdfid = lpdf.id + +function lpdf.id() -- overload of ini + return lpdfid(included.date) +end + pdf.disablecommand("settrailerid") function lpdf.settrailerid(v) @@ -144,14 +157,6 @@ function lpdf.setdates(v) end end -function lpdf.id() -- overload of ini - local banner = tex.jobname - if included.date then - return format("%s.%s",banner,lpdf.timestamp()) - else - return banner - end -end directives.register("backend.trailerid", lpdf.settrailerid) directives.register("backend.date", lpdf.setdates) @@ -251,38 +256,36 @@ local function flushxmpinfo() commands.pushrandomseed() commands.setrandomseed(os.time()) - local version = status.luatex_version - local revision = status.luatex_revision - local documentid = "no unique document id here" local instanceid = "no unique instance id here" - -- local producer = format("LuaTeX-%i.%02i.%s",math.div(version,100),math.mod(version,100),revision) - local producer = format("LuaTeX-%0.2f.%s",version/100,revision) - local creator = "LuaTeX + ConTeXt MkIV" - local time = lpdf.timestamp() - local fullbanner = status.banner + local metadata = pdfgetmetadata() + local time = metadata.time + local producer = metadata.producer + local creator = metadata.creator if included.id ~= "fake" then documentid = "uuid:" .. os.uuid() instanceid = "uuid:" .. os.uuid() end - pdfaddtoinfo("Producer", producer) - pdfaddtoinfo("Creator", creator) - pdfaddtoinfo("CreationDate", time) - pdfaddtoinfo("ModDate", time) - -- pdfaddtoinfo("PTEX.Fullbanner", fullbanner) -- no checking done on existence + pdfaddtoinfo("Producer",producer) + pdfaddtoinfo("Creator",creator) + pdfaddtoinfo("CreationDate",time) + pdfaddtoinfo("ModDate",time) if add_xmp_blob then - pdfaddxmpinfo("DocumentID", documentid) - pdfaddxmpinfo("InstanceID", instanceid) - pdfaddxmpinfo("Producer", producer) - pdfaddxmpinfo("CreatorTool", creator) - pdfaddxmpinfo("CreateDate", time) - pdfaddxmpinfo("ModifyDate", time) - pdfaddxmpinfo("MetadataDate", time) - pdfaddxmpinfo("PTEX.Fullbanner", fullbanner) + pdfaddxmpinfo("DocumentID",documentid) + pdfaddxmpinfo("InstanceID",instanceid) + pdfaddxmpinfo("Producer",producer) + pdfaddxmpinfo("CreatorTool",creator) + pdfaddxmpinfo("CreateDate",time) + pdfaddxmpinfo("ModifyDate",time) + pdfaddxmpinfo("MetadataDate",time) + pdfaddxmpinfo("LuaTeX.Version",metadata.luatexversion) + pdfaddxmpinfo("LuaTeX.Functionality",metadata.luatexfunctionality) + pdfaddxmpinfo("LuaTeX.LuaVersion",metadata.luaversion) + pdfaddxmpinfo("LuaTeX.Platform",metadata.platform) local blob = xml.tostring(xml.first(xmp or valid_xmp(),"/x:xmpmeta")) local md = pdfdictionary { diff --git a/tex/context/base/mkiv/luat-ini.mkiv b/tex/context/base/mkiv/luat-ini.mkiv index 25ad7e139..872d27e77 100644 --- a/tex/context/base/mkiv/luat-ini.mkiv +++ b/tex/context/base/mkiv/luat-ini.mkiv @@ -265,16 +265,52 @@ % \def\syst_helpers_checked_stripped_csname#1% % {\if\noexpand#1\letterbackslash\else#1\fi} -\normalprotected\def\installctxfunction#1#2% +\normalprotected\def\installctxfunction#1#2% expandable {\edef\m_syst_name{\csstring#1}% \global\expandafter\chardef\csname\??luafunction\m_syst_name\endcsname\ctxcommand{ctxfunction("#2",true)}\relax \expandafter\xdef\csname\m_syst_name\endcsname{\noexpand\luafunction\csname\??luafunction\m_syst_name\endcsname}} -\normalprotected\def\installctxscanner#1#2% +\normalprotected\def\installctxscanner#1#2% expandable {\edef\m_syst_name{\csstring#1}% \global\expandafter\chardef\csname\??luafunction\m_syst_name\endcsname\ctxcommand{ctxscanner("\m_syst_name","#2",true)}\relax \expandafter\xdef\csname\m_syst_name\endcsname{\noexpand\luafunction\csname\??luafunction\m_syst_name\endcsname}} +\normalprotected\def\installprotectedctxfunction#1#2% protected + {\edef\m_syst_name{\csstring#1}% + \global\expandafter\chardef\csname\??luafunction\m_syst_name\endcsname\ctxcommand{ctxfunction("#2",true)}\relax + \expandafter\xdef\csname\m_syst_name\endcsname{\noexpand\luafunction\csname\??luafunction\m_syst_name\endcsname}} + +\normalprotected\def\installprotectedctxscanner#1#2% protected + {\edef\m_syst_name{\csstring#1}% + \global\expandafter\chardef\csname\??luafunction\m_syst_name\endcsname\ctxcommand{ctxscanner("\m_syst_name","#2",true)}\relax + \expandafter\xdef\csname\m_syst_name\endcsname{\noexpand\luafunction\csname\??luafunction\m_syst_name\endcsname}} + +% not yet used + +\ifdefined\luafunctioncall \else + \protected\def\luafunctioncall{\luafunctioncall} +\fi + +\normalprotected\def\installctxfunctioncall#1#2% + {\edef\m_syst_name{\csstring#1}% + \global\expandafter\chardef\csname\??luafunction\m_syst_name\endcsname\ctxcommand{ctxfunction("#2",true)}\relax + \expandafter\xdef\csname\m_syst_name\endcsname{\luafunctioncall\csname\??luafunction\m_syst_name\endcsname}} + +\normalprotected\def\installctxscannercall#1#2% + {\edef\m_syst_name{\csstring#1}% + \global\expandafter\chardef\csname\??luafunction\m_syst_name\endcsname\ctxcommand{ctxscanner("\m_syst_name","#2",true)}\relax + \expandafter\xdef\csname\m_syst_name\endcsname{\luafunctioncall\csname\??luafunction\m_syst_name\endcsname}} + +\normalprotected\def\installprotectedctxfunctioncall#1#2% + {\edef\m_syst_name{\csstring#1}% + \global\expandafter\chardef\csname\??luafunction\m_syst_name\endcsname\ctxcommand{ctxfunction("#2",true)}\relax + \normalprotected\expandafter\xdef\csname\m_syst_name\endcsname{\luafunctioncall\csname\??luafunction\m_syst_name\endcsname}} + +\normalprotected\def\installprotectedctxscannercall#1#2% + {\edef\m_syst_name{\csstring#1}% + \global\expandafter\chardef\csname\??luafunction\m_syst_name\endcsname\ctxcommand{ctxscanner("\m_syst_name","#2",true)}\relax + \normalprotected\expandafter\xdef\csname\m_syst_name\endcsname{\luafunctioncall\csname\??luafunction\m_syst_name\endcsname}} + \normalprotected\def\resetctxscanner#1% {\edef\m_syst_name{\csstring#1}% \global\expandafter\chardef\csname\??luafunction\m_syst_name\endcsname\zerocount diff --git a/tex/context/base/mkiv/luat-usr.lua b/tex/context/base/mkiv/luat-usr.lua index e7406782b..ebcb0f0e8 100644 --- a/tex/context/base/mkiv/luat-usr.lua +++ b/tex/context/base/mkiv/luat-usr.lua @@ -101,7 +101,7 @@ interfaces.implement { interfaces.implement { name = "luathread", actions = runthread, - arguments = { "string", "string" } + arguments = "2 strings", } -- local scanners = interfaces.scanners @@ -177,7 +177,7 @@ lua.registername = registername implement { name = "registernamedlua", - arguments = { "string", "string", "string" }, + arguments = "3 strings", actions = function(name,message,csname) if csname and csname ~= "" then implement { diff --git a/tex/context/base/mkiv/lxml-css.lua b/tex/context/base/mkiv/lxml-css.lua index a4d15ba1f..1787c53df 100644 --- a/tex/context/base/mkiv/lxml-css.lua +++ b/tex/context/base/mkiv/lxml-css.lua @@ -985,11 +985,11 @@ end interfaces.implement { name = "xmlstylevalue", actions = css.stylevalue, - arguments = { "string", "string" }, + arguments = "2 strings", } interfaces.implement { name = "xmlmappedstylevalue", actions = css.mappedstylevalue, - arguments = { "string", "string", "string" }, + arguments = "3 strings", } diff --git a/tex/context/base/mkiv/lxml-ini.lua b/tex/context/base/mkiv/lxml-ini.lua index f7f882cee..b255477cb 100644 --- a/tex/context/base/mkiv/lxml-ini.lua +++ b/tex/context/base/mkiv/lxml-ini.lua @@ -23,16 +23,16 @@ local implement = interfaces.implement implement { name = "lxmlid", actions = lxml.getid, arguments = "string" } -implement { name = "xmldoif", actions = lxml.doif, arguments = { "string", "string" } } -implement { name = "xmldoifnot", actions = lxml.doifnot, arguments = { "string", "string" } } -implement { name = "xmldoifelse", actions = lxml.doifelse, arguments = { "string", "string" } } -implement { name = "xmldoiftext", actions = lxml.doiftext, arguments = { "string", "string" } } -implement { name = "xmldoifnottext", actions = lxml.doifnottext, arguments = { "string", "string" } } -implement { name = "xmldoifelsetext", actions = lxml.doifelsetext, arguments = { "string", "string" } } - -implement { name = "xmldoifempty", actions = lxml.doifempty, arguments = { "string", "string" } } -implement { name = "xmldoifnotempty", actions = lxml.doifnotempty, arguments = { "string", "string" } } -implement { name = "xmldoifelseempty", actions = lxml.doifelseempty, arguments = { "string", "string" } } +implement { name = "xmldoif", actions = lxml.doif, arguments = "2 strings" } +implement { name = "xmldoifnot", actions = lxml.doifnot, arguments = "2 strings" } +implement { name = "xmldoifelse", actions = lxml.doifelse, arguments = "2 strings" } +implement { name = "xmldoiftext", actions = lxml.doiftext, arguments = "2 strings" } +implement { name = "xmldoifnottext", actions = lxml.doifnottext, arguments = "2 strings" } +implement { name = "xmldoifelsetext", actions = lxml.doifelsetext, arguments = "2 strings" } + +implement { name = "xmldoifempty", actions = lxml.doifempty, arguments = "2 strings" } +implement { name = "xmldoifnotempty", actions = lxml.doifnotempty, arguments = "2 strings" } +implement { name = "xmldoifelseempty", actions = lxml.doifelseempty, arguments = "2 strings" } implement { name = "xmldoifselfempty", actions = lxml.doifempty, arguments = "string" } -- second arg is not passed (used) implement { name = "xmldoifnotselfempty", actions = lxml.doifnotempty, arguments = "string" } -- second arg is not passed (used) implement { name = "xmldoifelseselfempty", actions = lxml.doifelseempty, arguments = "string" } -- second arg is not passed (used) @@ -40,88 +40,88 @@ implement { name = "xmldoifelseselfempty", actions = lxml.doifelseempty, arg --------- { name = "xmlcontent", actions = lxml.content, arguments = "string" } --------- { name = "xmlflushstripped", actions = lxml.strip, arguments = { "string", true } } -implement { name = "xmlall", actions = lxml.all, arguments = { "string", "string" } } -implement { name = "xmlatt", actions = lxml.att, arguments = { "string", "string" } } -implement { name = "xmlattdef", actions = lxml.att, arguments = { "string", "string", "string" } } -implement { name = "xmlattribute", actions = lxml.attribute, arguments = { "string", "string", "string" } } -implement { name = "xmlattributedef", actions = lxml.attribute, arguments = { "string", "string", "string", "string" } } +implement { name = "xmlall", actions = lxml.all, arguments = "2 strings" } +implement { name = "xmlatt", actions = lxml.att, arguments = "2 strings" } +implement { name = "xmlattdef", actions = lxml.att, arguments = "3 strings" } +implement { name = "xmlattribute", actions = lxml.attribute, arguments = "3 strings" } +implement { name = "xmlattributedef", actions = lxml.attribute, arguments = "4 strings" } implement { name = "xmlbadinclusions", actions = lxml.badinclusions, arguments = "string" } implement { name = "xmlchainatt", actions = lxml.chainattribute, arguments = { "string", "'/'", "string" } } implement { name = "xmlchainattdef", actions = lxml.chainattribute, arguments = { "string", "'/'", "string", "string" } } implement { name = "xmlchecknamespace", actions = xml.checknamespace, arguments = { "lxmlid", "string", "string" } } -implement { name = "xmlcommand", actions = lxml.command, arguments = { "string", "string", "string" } } -implement { name = "xmlconcat", actions = lxml.concat, arguments = { "string", "string", "string" } } -- \detokenize{#3} +implement { name = "xmlcommand", actions = lxml.command, arguments = "3 strings" } +implement { name = "xmlconcat", actions = lxml.concat, arguments = "3 strings" } -- \detokenize{#3} implement { name = "xmlconcatrange", actions = lxml.concatrange, arguments = { "string", "string", "string", "string", "string" } } -- \detokenize{#5} -implement { name = "xmlcontext", actions = lxml.context, arguments = { "string", "string" } } -implement { name = "xmlcount", actions = lxml.count, arguments = { "string", "string" } } -implement { name = "xmldelete", actions = lxml.delete, arguments = { "string", "string" } } +implement { name = "xmlcontext", actions = lxml.context, arguments = "2 strings" } +implement { name = "xmlcount", actions = lxml.count, arguments = "2 strings" } +implement { name = "xmldelete", actions = lxml.delete, arguments = "2 strings" } implement { name = "xmldirect", actions = lxml.direct, arguments = "string" } implement { name = "xmldirectives", actions = lxml.directives.setup, arguments = "string" } implement { name = "xmldirectivesafter", actions = lxml.directives.after, arguments = "string" } implement { name = "xmldirectivesbefore", actions = lxml.directives.before, arguments = "string" } implement { name = "xmldisplayverbatim", actions = lxml.displayverbatim, arguments = "string" } -implement { name = "xmlelement", actions = lxml.element, arguments = { "string", "string" } } -- could be integer but now we can alias -implement { name = "xmlfilter", actions = lxml.filter, arguments = { "string", "string" } } -implement { name = "xmlfilterlist", actions = lxml.filterlist, arguments = { "string", "string" } } -implement { name = "xmlfirst", actions = lxml.first, arguments = { "string", "string" } } +implement { name = "xmlelement", actions = lxml.element, arguments = "2 strings" } -- could be integer but now we can alias +implement { name = "xmlfilter", actions = lxml.filter, arguments = "2 strings" } +implement { name = "xmlfilterlist", actions = lxml.filterlist, arguments = "2 strings" } +implement { name = "xmlfirst", actions = lxml.first, arguments = "2 strings" } implement { name = "xmlflush", actions = lxml.flush, arguments = "string" } implement { name = "xmlflushcontext", actions = lxml.context, arguments = "string" } implement { name = "xmlflushlinewise", actions = lxml.flushlinewise, arguments = "string" } implement { name = "xmlflushpure", actions = lxml.pure, arguments = "string" } implement { name = "xmlflushspacewise", actions = lxml.flushspacewise, arguments = "string" } implement { name = "xmlflushtext", actions = lxml.text, arguments = "string" } -implement { name = "xmlfunction", actions = lxml.applyfunction, arguments = { "string", "string" } } +implement { name = "xmlfunction", actions = lxml.applyfunction, arguments = "2 strings" } implement { name = "xmlinclude", actions = lxml.include, arguments = { "string", "string", "string", true } } -implement { name = "xmlincludeoptions", actions = lxml.include, arguments = { "string", "string", "string", "string" } } +implement { name = "xmlincludeoptions", actions = lxml.include, arguments = "4 strings" } implement { name = "xmlinclusion", actions = lxml.inclusion, arguments = "string" } implement { name = "xmlinclusionbase", actions = lxml.inclusion, arguments = { "string", false, true } } implement { name = "xmlinclusions", actions = lxml.inclusions, arguments = "string" } -implement { name = "xmlindex", actions = lxml.index, arguments = { "string", "string", "string" } } -- can be integer but now we can alias +implement { name = "xmlindex", actions = lxml.index, arguments = "3 strings" } -- can be integer but now we can alias implement { name = "xmlinlineverbatim", actions = lxml.inlineverbatim, arguments = "string" } -implement { name = "xmllast", actions = lxml.last, arguments = { "string", "string" } } +implement { name = "xmllast", actions = lxml.last, arguments = "2 strings" } implement { name = "xmllastatt", actions = lxml.lastatt } implement { name = "xmllastmatch", actions = lxml.lastmatch } implement { name = "xmllastpar", actions = lxml.lastpar } -implement { name = "xmlload", actions = lxml.load, arguments = { "string", "string", "string" } } -implement { name = "xmlloadbuffer", actions = lxml.loadbuffer, arguments = { "string", "string", "string" } } -implement { name = "xmlloaddata", actions = lxml.loaddata, arguments = { "string", "string", "string" } } +implement { name = "xmlload", actions = lxml.load, arguments = "3 strings" } +implement { name = "xmlloadbuffer", actions = lxml.loadbuffer, arguments = "3 strings" } +implement { name = "xmlloaddata", actions = lxml.loaddata, arguments = "3 strings" } implement { name = "xmlloaddirectives", actions = lxml.directives.load, arguments = "string" } implement { name = "xmlmain", actions = lxml.main, arguments = "string" } implement { name = "xmlmatch", actions = lxml.match, arguments = "string" } implement { name = "xmlname", actions = lxml.name, arguments = "string" } implement { name = "xmlnamespace", actions = lxml.namespace, arguments = "string" } -implement { name = "xmlnonspace", actions = lxml.nonspace, arguments = { "string", "string" } } -implement { name = "xmlpar", actions = lxml.par, arguments = { "string", "string" } } -implement { name = "xmlparam", actions = lxml.param, arguments = { "string", "string", "string" } } +implement { name = "xmlnonspace", actions = lxml.nonspace, arguments = "2 strings" } +implement { name = "xmlpar", actions = lxml.par, arguments = "2 strings" } +implement { name = "xmlparam", actions = lxml.param, arguments = "3 strings" } implement { name = "xmlpath", actions = lxml.path, arguments = { "string", "'/'" } } implement { name = "xmlpopmatch", actions = lxml.popmatch } implement { name = "xmlpos", actions = lxml.pos, arguments = "string" } -implement { name = "xmlpure", actions = lxml.pure, arguments = { "string", "string" } } +implement { name = "xmlpure", actions = lxml.pure, arguments = "2 strings" } implement { name = "xmlpushmatch", actions = lxml.pushmatch } -implement { name = "xmlraw", actions = lxml.raw, arguments = { "string", "string" } } -implement { name = "xmlrawtex", actions = lxml.rawtex, arguments = { "string", "string" } } -implement { name = "xmlrefatt", actions = lxml.refatt, arguments = { "string", "string" } } -implement { name = "xmlregisterns", actions = xml.registerns, arguments = { "string", "string" } } +implement { name = "xmlraw", actions = lxml.raw, arguments = "2 strings" } +implement { name = "xmlrawtex", actions = lxml.rawtex, arguments = "2 strings" } +implement { name = "xmlrefatt", actions = lxml.refatt, arguments = "2 strings" } +implement { name = "xmlregisterns", actions = xml.registerns, arguments = "2 strings" } implement { name = "xmlremapname", actions = xml.remapname, arguments = { "lxmlid", "string","string","string" } } implement { name = "xmlremapnamespace", actions = xml.renamespace, arguments = { "lxmlid", "string", "string" } } -implement { name = "xmlsave", actions = lxml.save, arguments = { "string", "string" } } -implement { name = "xmlsetatt", actions = lxml.setatt, arguments = { "string", "string", "string" } } -implement { name = "xmlsetattribute", actions = lxml.setattribute, arguments = { "string", "string", "string", "string" } } -implement { name = "xmlsetpar", actions = lxml.setpar, arguments = { "string", "string", "string" } } -implement { name = "xmlsetparam", actions = lxml.setparam, arguments = { "string", "string", "string", "string" } } -implement { name = "xmlsetsetup", actions = lxml.setsetup, arguments = { "string", "string", "string" } } -implement { name = "xmlsnippet", actions = lxml.snippet, arguments = { "string", "string" } } -implement { name = "xmlstrip", actions = lxml.strip, arguments = { "string", "string" } } +implement { name = "xmlsave", actions = lxml.save, arguments = "2 strings" } +implement { name = "xmlsetatt", actions = lxml.setatt, arguments = "3 strings" } +implement { name = "xmlsetattribute", actions = lxml.setattribute, arguments = "4 strings" } +implement { name = "xmlsetpar", actions = lxml.setpar, arguments = "3 strings" } +implement { name = "xmlsetparam", actions = lxml.setparam, arguments = "4 strings" } +implement { name = "xmlsetsetup", actions = lxml.setsetup, arguments = "3 strings" } +implement { name = "xmlsnippet", actions = lxml.snippet, arguments = "2 strings" } +implement { name = "xmlstrip", actions = lxml.strip, arguments = "2 strings" } implement { name = "xmlstripanywhere", actions = lxml.strip, arguments = { "string", "string", true, true } } implement { name = "xmlstripnolines", actions = lxml.strip, arguments = { "string", "string", true } } -implement { name = "xmlstripped", actions = lxml.stripped, arguments = { "string", "string" } } +implement { name = "xmlstripped", actions = lxml.stripped, arguments = "2 strings" } implement { name = "xmlstrippednolines", actions = lxml.stripped, arguments = { "string", "string", true } } implement { name = "xmltag", actions = lxml.tag, arguments = "string" } -implement { name = "xmltext", actions = lxml.text, arguments = { "string", "string" } } -implement { name = "xmltobuffer", actions = lxml.tobuffer, arguments = { "string", "string", "string" } } +implement { name = "xmltext", actions = lxml.text, arguments = "2 strings" } +implement { name = "xmltobuffer", actions = lxml.tobuffer, arguments = "3 strings" } implement { name = "xmltobuffertextonly", actions = lxml.tobuffer, arguments = { "string", "string", "string", false } } implement { name = "xmltobufferverbose", actions = lxml.tobuffer, arguments = { "string", "string", "string", true, true } } -implement { name = "xmltofile", actions = lxml.tofile, arguments = { "string", "string", "string" } } +implement { name = "xmltofile", actions = lxml.tofile, arguments = "3 strings" } implement { name = "xmltoparameters", actions = lxml.toparameters, arguments = "string" } implement { name = "xmlverbatim", actions = lxml.verbatim, arguments = "string" } @@ -132,15 +132,15 @@ implement { name = "xmlprependsetup", actions = lxml.installsetup, arg implement { name = "xmlappendsetup", actions = lxml.installsetup, arguments = { 2, "string", "string" } } -- 2:* implement { name = "xmlbeforesetup", actions = lxml.installsetup, arguments = { 3, "string", "string", "string" } } -- 2:* implement { name = "xmlaftersetup", actions = lxml.installsetup, arguments = { 4, "string", "string", "string" } } -- 2:* -implement { name = "xmlremovesetup", actions = lxml.removesetup, arguments = { "string", "string" } } -- 1:* -implement { name = "xmlflushsetups", actions = lxml.flushsetups, arguments = { "string", "string", "string" } } -- 2:* +implement { name = "xmlremovesetup", actions = lxml.removesetup, arguments = "2 strings" } -- 1:* +implement { name = "xmlflushsetups", actions = lxml.flushsetups, arguments = "3 strings" } -- 2:* implement { name = "xmlresetsetups", actions = lxml.resetsetups, arguments = "string" } -implement { name = "xmlgetindex", actions = lxml.getindex, arguments = { "string", "string" } } -implement { name = "xmlwithindex", actions = lxml.withindex, arguments = { "string", "string", "string" } } +implement { name = "xmlgetindex", actions = lxml.getindex, arguments = "2 strings" } +implement { name = "xmlwithindex", actions = lxml.withindex, arguments = "3 strings" } -implement { name = "xmlsetentity", actions = xml.registerentity, arguments = { "string", "string" } } -implement { name = "xmltexentity", actions = lxml.registerentity, arguments = { "string", "string" } } +implement { name = "xmlsetentity", actions = xml.registerentity, arguments = "2 strings" } +implement { name = "xmltexentity", actions = lxml.registerentity, arguments = "2 strings" } implement { name = "xmlsetcommandtotext", actions = lxml.setcommandtotext, arguments = "string" } implement { name = "xmlsetcommandtonone", actions = lxml.setcommandtonone, arguments = "string" } diff --git a/tex/context/base/mkiv/lxml-ini.mkiv b/tex/context/base/mkiv/lxml-ini.mkiv index 6f64e545b..7c97ffb2c 100644 --- a/tex/context/base/mkiv/lxml-ini.mkiv +++ b/tex/context/base/mkiv/lxml-ini.mkiv @@ -187,6 +187,10 @@ \let\xmldoifnottext \clf_xmldoifnottext \let\xmldoifelsetext \clf_xmldoifelsetext +\let\xmldoifatt \clf_xmldoifatt +\let\xmldoifnotatt \clf_xmldoifnotatt +\let\xmldoifelseatt \clf_xmldoifelseatt + \let\xmldoifempty \clf_xmldoifempty \let\xmldoifnotempty \clf_xmldoifnotempty \let\xmldoifelseempty \clf_xmldoifelseempty diff --git a/tex/context/base/mkiv/lxml-tex.lua b/tex/context/base/mkiv/lxml-tex.lua index f1abab9e7..b8280ba9c 100644 --- a/tex/context/base/mkiv/lxml-tex.lua +++ b/tex/context/base/mkiv/lxml-tex.lua @@ -64,10 +64,11 @@ local xmlrename = xml.rename local variables = interfaces and interfaces.variables or { } -local settings_to_hash = utilities.parsers.settings_to_hash -local settings_to_set = utilities.parsers.settings_to_set -local options_to_hash = utilities.parsers.options_to_hash -local options_to_array = utilities.parsers.options_to_array +local parsers = utilities.parsers +local settings_to_hash = parsers.settings_to_hash +local settings_to_set = parsers.settings_to_set +local options_to_hash = parsers.options_to_hash +local options_to_array = parsers.options_to_array local insertbeforevalue = utilities.tables.insertbeforevalue local insertaftervalue = utilities.tables.insertaftervalue @@ -468,7 +469,7 @@ lxml.addindex = addindex implement { name = "xmladdindex", - arguments = { "string" }, + arguments = "string", actions = addindex, } @@ -820,7 +821,7 @@ local k_parser = class * spaces * key * spaces * rest --value implement { name = "xmlinstalldirective", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(name,csname) if csname then local keyvalueparser = k_parser / context[csname] @@ -1989,6 +1990,37 @@ do contextsprint(notcatcodes,att) end + local ctx_doif = commands.doif + local ctx_doifnot = commands.doifnot + local ctx_doifelse = commands.doifelse + + implement { + name = "xmldoifatt", + arguments = "3 strings", + actions = function(id,l,v) + local e = getid(id) + ctx_doif(e and e.at[k] == v or false) + end + } + + implement { + name = "xmldoifnotatt", + arguments = "3 strings", + actions = function(id,l,v) + local e = getid(id) + ctx_doifnot(e and e.at[k] == v or false) + end + } + + implement { + name = "xmldoifelseatt", + arguments = "3 strings", + actions = function(id,l,v) + local e = getid(id) + ctx_doifelse(e and e.at[k] == v or false) + end + } + end do diff --git a/tex/context/base/mkiv/lxml-xml.lua b/tex/context/base/mkiv/lxml-xml.lua index d1520800f..47a6e8c85 100644 --- a/tex/context/base/mkiv/lxml-xml.lua +++ b/tex/context/base/mkiv/lxml-xml.lua @@ -19,6 +19,10 @@ local xmlserialize = xml.serialize local xmlcollected = xml.collected local xmlnewhandlers = xml.newhandlers +local reparsedentity = xml.reparsedentitylpeg -- \Ux{...} +local unescapedentity = xml.unescapedentitylpeg +local parsedentity = reparsedentity + local function first(collected) -- wrong ? return collected and collected[1] end @@ -355,6 +359,25 @@ function xml.text(id,pattern) -- brrr either content or element (when cdata) end end +function xml.pure(id,pattern) + if pattern then + local collected = xmlfilter(id,pattern) + if collected and #collected > 0 then + parsedentity = unescapedentity + local s = collected and #collected > 0 and xmltotext(collected[1]) or "" + parsedentity = reparsedentity + return s + else + return "" + end + else + parsedentity = unescapedentity + local s = xmltotext(id) or "" + parsedentity = reparsedentity + return s + end +end + xml.content = text -- diff --git a/tex/context/base/mkiv/math-map.lua b/tex/context/base/mkiv/math-map.lua index 47e5cda0b..2233722a0 100644 --- a/tex/context/base/mkiv/math-map.lua +++ b/tex/context/base/mkiv/math-map.lua @@ -651,7 +651,7 @@ end implement { name = "setmathattribute", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(alphabet,style) local data = alphabets[alphabet] or regular data = data[style] or data.tf diff --git a/tex/context/base/mkiv/math-noa.lua b/tex/context/base/mkiv/math-noa.lua index 4c1997a64..529837cfa 100644 --- a/tex/context/base/mkiv/math-noa.lua +++ b/tex/context/base/mkiv/math-noa.lua @@ -100,6 +100,7 @@ local setchar = nuts.setchar local setfam = nuts.setfam local setsubtype = nuts.setsubtype local setattr = nuts.setattr +local setattrlist = nuts.setattrlist local getfield = nuts.getfield local getnext = nuts.getnext @@ -809,6 +810,8 @@ do setfield(d,"small_fam",fam) flush_node(sym) end + setattrlist(d,char) + setattrlist(f,char) setsubtype(f,what) setfield(f,"delim",d) setfield(f,"class",-1) -- tex itself does this, so not fenceclasses[what] diff --git a/tex/context/base/mkiv/meta-grd.mkiv b/tex/context/base/mkiv/meta-grd.mkiv index 8b1a934d6..15a4471e7 100644 --- a/tex/context/base/mkiv/meta-grd.mkiv +++ b/tex/context/base/mkiv/meta-grd.mkiv @@ -13,6 +13,8 @@ \writestatus{loading}{MetaPost Graphics / Grids} +\unprotect + %D This used to be a \TEX\ method, and a rather old one too. We keep it around but %D in a more modern way. %D @@ -31,85 +33,177 @@ %D {An example of a grid.} %D {\getbuffer} -\startuseMPgraphic{grid}{nx,ny,dx,dy,factor,scale,xstep,ystep,xoffset,yoffset,align} +% \startuseMPgraphic{grid}{nx,ny,dx,dy,factor,scale,xstep,ystep,xoffset,yoffset,align,s:textcolor,s:rulecolor,rulethickness} +% begingroup ; +% save dx, dy, wd, ht, ox, oy, ax, ay ; +% +% (dx,dy) = (\MPvar{dx},\MPvar{dy})*\MPvar{factor}*\MPvar{scale} ; +% (wd,ht) = (\MPvar{nx}*dx,\MPvar{ny}*dy) ; +% (ox,oy) = (\MPvar{xoffset},\MPvar{yoffset}) ; +% (ax,ay) = if \MPvar{align} = 1 : (dx,dy)/2 else : origin fi ; +% +% draw image ( +% for i=0 step dx until wd : draw (i,0) -- (i,ht) ; endfor ; +% for i=0 step dy until ht : draw (0,i) -- (wd,i) ; endfor ; +% ) +% withpen pencircle scaled \MPvar{rulethickness} +% withcolor "\MPvar{rulecolor}" ; +% draw image ( +% if \MPvar{xstep} > 0 : +% for i=1 step \MPvar{xstep} until \MPvar{nx} : +% draw thetextext.bot(decimal i,(i*dx-ax,-ox)); +% endfor ; +% fi ; +% if \MPvar{ystep} > 0 : +% for i=1 step \MPvar{ystep} until \MPvar{ny} : +% draw thetextext.lft(decimal i,(-oy,i*dy-ay)) ; +% endfor ; +% fi ; +% ) +% withcolor "\MPvar{color}" ; +% endgroup ; +% \stopuseMPgraphic +% +% less tokens (not used often): +% +% \startuseMPgraphic{grid}{\c!nx,\c!ny,\c!dx,\c!dy,\c!factor,\c!scale,\c!xstep,\c!ystep,\c!xoffset,\c!yoffset,\c!align,s:\c!textcolor,s:\c!rulecolor,\c!rulethickness} +% begingroup ; +% save dx, dy, wd, ht, ox, oy, ax, ay ; +% +% (dx,dy) = (\MPvar\c!dx,\MPvar\c!dy)*\MPvar\c!factor*\MPvar\c!scale ; +% (wd,ht) = (\MPvar\c!nx*dx,\MPvar\c!ny*dy) ; +% (ox,oy) = (\MPvar\c!xoffset,\MPvar\c!yoffset) ; +% (ax,ay) = if \MPvar\c!align = 1 : (\c!dx,\c!dy)/2 else : origin fi ; +% +% draw image ( +% for i=0 step dx until wd : draw (i,0) -- (i,ht) ; endfor ; +% for i=0 step dy until ht : draw (0,i) -- (wd,i) ; endfor ; +% ) +% withpen pencircle scaled \MPvar\c!rulethickness\space +% withcolor "\MPvar\c!rulecolor" ; +% draw image ( +% if \MPvar\c!xstep > 0 : +% for i=1 step \MPvar\c!xstep until \MPvar\c!nx : +% draw thetextext.bot(decimal i,(i*dx-ax,-ox)); +% endfor ; +% fi ; +% if \MPvar\c!ystep > 0 : +% for i=1 step \MPvar\c!ystep until \MPvar\c!ny : +% draw thetextext.lft(decimal i,(-oy,i*dy-ay)) ; +% endfor ; +% fi ; +% ) +% withcolor "\MPvar\c!color" ; +% endgroup ; +% \stopuseMPgraphic +% +% \def\typo_grid_base[#1]% +% {\dontleavehmode +% \hbox\bgroup +% \getdummyparameters +% [\c!nx=10,\c!ny=10,\c!dx=.5,\c!dy=.5,\c!xstep=0,\c!ystep=0,% +% \c!unit=\s!cm,\c!scale=1,\c!factor=1,% +% \c!offset=.25ex,% +% \c!xoffset=\directdummyparameter\c!offset,% +% \c!yoffset=\directdummyparameter\c!offset,% +% \c!align=,% +% \c!color=\currentcolorname,% +% \c!rulecolor=\currentcolorname,% +% \c!rulethickness=\linewidth,% +% #1]% +% \usedummystyleandcolor\c!style\c!color +% \edef\p_align{\directdummyparameter\c!align}% +% \edef\p_unit {\directdummyparameter\c!unit}% +% \useMPgraphic +% {grid}% +% {nx=\directdummyparameter\c!nx,% +% ny=\directdummyparameter\c!ny,% +% dx=\directdummyparameter\c!dx\p_unit,% +% dy=\directdummyparameter\c!dy\p_unit,% +% factor=\directdummyparameter\c!factor,% +% scale=\directdummyparameter\c!scale,% +% xstep=\directdummyparameter\c!xstep,% +% ystep=\directdummyparameter\c!ystep,% +% xoffset=\directdummyparameter\c!xoffset,% +% yoffset=\directdummyparameter\c!yoffset,% +% color=\directdummyparameter\c!color,% +% rulecolor=\directdummyparameter\c!rulecolor,% +% rulethickness=\directdummyparameter\c!rulethickness,% +% align=\ifx\p_align\v!middle\!!plusone\else\!!zerocount\fi}% +% \egroup} +% +% even less tokens wasted (no need to clog the core with hardly +% used code): + +\startuseMPgraphic{meta:grd:basegrid} begingroup ; - save nx, ny, dx, dy, wd, ht, xstep, ystep, xoffset, yoffset, align, xalign, yalign ; + save sc, dx, dy, wd, ht, ox, oy, ax, ay ; - numeric nx ; nx := \MPvar{nx} ; - numeric ny ; ny := \MPvar{ny} ; - numeric dx ; dx := \MPvar{factor} * \MPvar{scale} * \MPvar{dx} ; - numeric dy ; dy := \MPvar{factor} * \MPvar{scale} * \MPvar{dy} ; - numeric wd ; wd := nx * dx ; - numeric ht ; ht := ny * dy ; - numeric xstep ; xstep := \MPvar{xstep} ; - numeric ystep ; ystep := \MPvar{ystep} ; - numeric xoffset ; xoffset := \MPvar{xoffset} ; - numeric yoffset ; yoffset := \MPvar{yoffset} ; - numeric align ; align := \MPvar{align} ; - numeric xalign ; xalign := 0 ; - numeric yalign ; yalign := 0 ; + sc = \directdummyparameter\c!factor*\directdummyparameter\c!scale ; + dx = \MPdpar\directdummyparameter\c!dx*sc ; + dy = \MPdpar\directdummyparameter\c!dy*sc ; + wd = \directdummyparameter\c!nx*dx ; + ht = \directdummyparameter\c!ny*dy ; + ox = \MPdpar\directdummyparameter\c!xoffset\relax ; + oy = \MPdpar\directdummyparameter\c!yoffset\relax ; - if align = 1 : - xalign := dx/2 ; - yalign := dy/2 ; + if "\directdummyparameter\c!align" = "\v!middle" : + ax = \MPdpar\directdummyparameter\c!dx/2 + ay = \MPdpar\directdummyparameter\c!dy/2 + else : + ax = 0 ; + ay = 0 ; fi ; - for i=0 step dx until wd : - draw (i,0) -- (i,ht) ; - endfor ; - for i=0 step dy until ht : - draw (0,i) -- (wd,i) ; - endfor ; + draw image ( + for i=0 step dx until wd : draw (i,0) -- (i,ht) ; endfor ; + for i=0 step dy until ht : draw (0,i) -- (wd,i) ; endfor ; + ) + withpen pencircle scaled \MPdpar\directdummyparameter\c!rulethickness\space + withcolor "\directdummyparameter\c!rulecolor" ; - if xstep > 0 : - for i=1 step xstep until nx : - draw thetextext.bot(decimal i,(i*dx-xalign,-xoffset)) ; - endfor ; - fi ; - if ystep > 0 : - for i=1 step ystep until ny : - draw thetextext.lft(decimal i,(-yoffset,i*dy-yalign)) ; - endfor ; - fi ; + draw image ( + if \directdummyparameter\c!xstep > 0 : + for i=1 step \directdummyparameter\c!xstep until \directdummyparameter\c!nx : + draw thetextext.bot(decimal i,(i*dx-ax,oy)); + endfor ; + fi ; + if \directdummyparameter\c!ystep > 0 : + for i=1 step \directdummyparameter\c!ystep until \directdummyparameter\c!ny : + draw thetextext.lft(decimal i,(ox,i*dy-ay)) ; + endfor ; + fi ; + ) + withcolor "\directdummyparameter\c!color" ; endgroup ; \stopuseMPgraphic -\unprotect - -\unexpanded\def\basegrid - {\dosingleempty\typo_grid_base} - \def\typo_grid_base[#1]% - {\hbox\bgroup + {\dontleavehmode + \hbox\bgroup \getdummyparameters - [\c!nx=10,\c!ny=10,\c!dx=.5,\c!dy=.5,\c!xstep=0,\c!ystep=0,% + [\c!nx=10,\c!ny=10,% + \c!dx=.5,\c!dy=.5,% + \c!xstep=0,\c!ystep=0,% \c!unit=\s!cm,\c!scale=1,\c!factor=1,% - \c!offset=.25ex,\c!xoffset=\directdummyparameter\c!offset,\c!yoffset=\directdummyparameter\c!offset,% - \c!align=, + \c!offset=.25\exheight,% + \c!xoffset=\directdummyparameter\c!offset,% + \c!yoffset=\directdummyparameter\c!offset,% + \c!align=,% + \c!color=\currentcolorname,% + \c!rulecolor=\currentcolorname,% + \c!rulethickness=\linewidth,% #1]% \usedummystyleandcolor\c!style\c!color - \edef\p_align{\directdummyparameter\c!align}% - \ifx\p_align\v!middle - \let\p_align\!!plusone - \else - \let\p_align\!!zerocount - \fi - \useMPgraphic - {grid}% - {nx=\directdummyparameter\c!nx,% - ny=\directdummyparameter\c!ny,% - dx=\directdummyparameter\c!dx\directdummyparameter\c!unit,% - dy=\directdummyparameter\c!dy\directdummyparameter\c!unit,% - factor=\directdummyparameter\c!factor,% - scale=\directdummyparameter\c!scale,% - xstep=\directdummyparameter\c!xstep,% - ystep=\directdummyparameter\c!ystep,% - xoffset=\directdummyparameter\c!xoffset,% - yoffset=\directdummyparameter\c!yoffset,% - align=\p_align}% - \egroup} + \setexpandeddummyparameter\c!dx{\directdummyparameter\c!dx\directdummyparameter\c!unit}% + \setexpandeddummyparameter\c!dy{\directdummyparameter\c!dy\directdummyparameter\c!unit}% + \useMPgraphic{meta:grd:basegrid}% + \egroup} + +\unexpanded\def\basegrid + {\dosingleempty\typo_grid_base} \let\grid\basegrid diff --git a/tex/context/base/mkiv/meta-imp-mat.mkiv b/tex/context/base/mkiv/meta-imp-mat.mkiv index 11a9ded34..19a5ba385 100644 --- a/tex/context/base/mkiv/meta-imp-mat.mkiv +++ b/tex/context/base/mkiv/meta-imp-mat.mkiv @@ -11,78 +11,74 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -%D This is just an example library not meant for production. - % A few accents: - +% % / for cambria \startMPextensions - vardef math_stacker_overbracket_shape = + vardef math_stacker_bracket_shape(expr delta, rotate) = image ( draw (0,OverlayOffset) -- - (0,OverlayHeight-OverlayOffset) -- - (OverlayWidth,OverlayHeight-OverlayOffset) -- + (0,delta-OverlayOffset) -- + (OverlayWidth,delta-OverlayOffset) -- (OverlayWidth,OverlayOffset) withcolor OverlayLineColor ; setbounds currentpicture to boundingbox currentpicture bottomenlarged OverlayOffset ; + if rotate : + currentpicture := currentpicture rotated 180 ; + fi ; ) enddef ; - vardef math_stacker_underbracket_shape = - math_stacker_overbracket_shape rotated 180 - enddef ; - vardef math_stacker_overparent_shape = + vardef math_stacker_parent_shape(expr delta, rotate) = image ( draw (0,OverlayOffset) ... - (OverlayWidth/2,OverlayHeight-OverlayOffset) ... + (OverlayWidth/2,delta-OverlayOffset) ... (OverlayWidth,OverlayOffset) withcolor OverlayLineColor ; setbounds currentpicture to boundingbox currentpicture bottomenlarged OverlayOffset ; + if rotate : + currentpicture := currentpicture rotated 180 ; + fi ; ) enddef ; - vardef math_stacker_underparent_shape = - math_stacker_overparent_shape rotated 180 - enddef ; - vardef math_stacker_overbrace_shape = + vardef math_stacker_brace_shape(expr delta, rotate) = image ( draw (0,OverlayOffset) ... - (OverlayWidth/4-OverlayOffset,OverlayHeight-OverlayOffset) ... - (OverlayWidth/2-OverlayOffset,OverlayHeight-OverlayOffset) ... - (OverlayWidth/2,OverlayHeight) & - (OverlayWidth/2,OverlayHeight) ... - (OverlayWidth/2+OverlayOffset,OverlayHeight-OverlayOffset) ... - (3OverlayWidth/4+OverlayOffset,OverlayHeight-OverlayOffset) ... + (OverlayWidth/4-OverlayOffset,delta-OverlayOffset) ... + (OverlayWidth/2-OverlayOffset,delta-OverlayOffset) ... + (OverlayWidth/2,delta) & + (OverlayWidth/2,delta) ... + (OverlayWidth/2+OverlayOffset,delta-OverlayOffset) ... + (3OverlayWidth/4+OverlayOffset,delta-OverlayOffset) ... (OverlayWidth,OverlayOffset) withcolor OverlayLineColor ; setbounds currentpicture to boundingbox currentpicture bottomenlarged OverlayOffset ; + if rotate : + currentpicture := currentpicture rotated 180 ; + fi ; ) enddef ; - vardef math_stacker_underbrace_shape = - math_stacker_overbrace_shape rotated 180 - enddef ; - vardef math_stacker_overbar_shape = + vardef math_stacker_bar_shape(expr rotate) = image ( draw (0,OverlayOffset) -- (OverlayWidth,OverlayOffset) withcolor OverlayLineColor ; setbounds currentpicture to boundingbox currentpicture bottomenlarged OverlayOffset ; + if rotate : + currentpicture := currentpicture rotated 180 ; + fi ; ) enddef ; - vardef math_stacker_underbar_shape = - math_stacker_overbar_shape rotated 180 - enddef ; - % arrows - - vardef math_stacker_arrow_shape(expr axis, ex, em) = + vardef math_stacker_arrow_shape(expr axis, ex, em, rotate) = image ( interim ahlength := ex/2; drawarrow @@ -90,9 +86,12 @@ withcolor OverlayLineColor ; setbounds currentpicture to unitsquare xysized(OverlayWidth,ex) ; + if rotate : + currentpicture := currentpicture rotated 180 ; + fi ; ) enddef ; - vardef math_stacker_leftrightarrow_shape(expr axis, ex, em) = + vardef math_stacker_leftrightarrow_shape(expr axis, ex, em, rotate) = image ( interim ahlength := ex/2; drawdblarrow @@ -100,9 +99,12 @@ withcolor OverlayLineColor ; setbounds currentpicture to unitsquare xysized(OverlayWidth,ex) ; + if rotate : + currentpicture := currentpicture rotated 180 ; + fi ; ) enddef ; - vardef math_stacker_rightoverleftarrow_shape(expr axis, ex, em) = + vardef math_stacker_rightoverleftarrow_shape(expr axis, ex, em, rotate) = image ( interim ahlength := ex/2; drawdoublearrows @@ -110,14 +112,11 @@ withcolor OverlayLineColor ; setbounds currentpicture to unitsquare xysized(OverlayWidth,ex) ; + if rotate : + currentpicture := currentpicture rotated 180 ; + fi ; ) enddef ; - vardef math_stacker_leftarrow_shape(expr axis, ex, em) = - math_stacker_arrow_shape(axis,ex,em) - enddef ; - vardef math_stacker_rightarrow_shape(expr axis, ex, em) = - math_stacker_arrow_shape(axis,ex,em) rotated 180 - enddef ; % main handler @@ -131,55 +130,55 @@ \stopMPextensions \startuniqueMPgraphic{math:stacker:\number"FE3B4}{axis,ex,em} - math_stacker_draw_accent(math_stacker_overbracket_shape) ; + math_stacker_draw_accent(math_stacker_bracket_shape(OverlayHeight,false)) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"FE3B5}{axis,ex,em} - math_stacker_draw_accent(math_stacker_underbracket_shape) ; + math_stacker_draw_accent(math_stacker_bracket_shape(OverlayDepth,true)) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"FE3DC}{axis,ex,em} - math_stacker_draw_accent(math_stacker_overparent_shape) ; + math_stacker_draw_accent(math_stacker_parent_shape(OverlayHeight,false)) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"FE3DD}{axis,ex,em} - math_stacker_draw_accent(math_stacker_underparent_shape) ; + math_stacker_draw_accent(math_stacker_parent_shape(OverlayDepth,true)) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"FE3DE}{axis,ex,em} - math_stacker_draw_accent(math_stacker_overbrace_shape) ; + math_stacker_draw_accent(math_stacker_brace_shape(OverlayHeight,false)) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"FE3DF}{axis,ex,em} - math_stacker_draw_accent(math_stacker_underbrace_shape) ; + math_stacker_draw_accent(math_stacker_brace_shape(OverlayDepth,true)) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"FE33E}{axis,ex,em} - math_stacker_draw_accent(math_stacker_overbar_shape) ; + math_stacker_draw_accent(math_stacker_bar_shape(false)) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"FE33F}{axis,ex,em} - math_stacker_draw_accent(math_stacker_underbar_shape) ; + math_stacker_draw_accent(math_stacker_bar_shape(true)) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"2190}{axis,ex,em} - math_stacker_draw_arrow(math_stacker_leftarrow_shape(\MPvar{axis},\MPvar{ex},\MPvar{em})) ; + math_stacker_draw_arrow(math_stacker_arrow_shape(\MPvar{axis},\MPvar{ex},\MPvar{em},false)) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"2192}{axis,ex,em} - math_stacker_draw_arrow(math_stacker_rightarrow_shape(\MPvar{axis},\MPvar{ex},\MPvar{em})) ; + math_stacker_draw_arrow(math_stacker_arrow_shape(\MPvar{axis},\MPvar{ex},\MPvar{em},true)) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"2194}{axis,ex,em} - math_stacker_draw_arrow(math_stacker_leftrightarrow_shape(\MPvar{axis},\MPvar{ex},\MPvar{em})) ; + math_stacker_draw_arrow(math_stacker_leftrightarrow_shape(\MPvar{axis},\MPvar{ex},\MPvar{em},false)) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"27F7}{axis,ex,em} - math_stacker_draw_arrow(math_stacker_leftrightarrow_shape(\MPvar{axis},\MPvar{ex},\MPvar{em})) ; + math_stacker_draw_arrow(math_stacker_leftrightarrow_shape(\MPvar{axis},\MPvar{ex},\MPvar{em},false)) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"21C4}{axis,ex,em} - math_stacker_draw_arrow(math_stacker_rightoverleftarrow_shape(\MPvar{axis},\MPvar{ex},\MPvar{em})) ; + math_stacker_draw_arrow(math_stacker_rightoverleftarrow_shape(\MPvar{axis},\MPvar{ex},\MPvar{em},false)) ; \stopuniqueMPgraphic %D Radicals: @@ -202,9 +201,46 @@ withcolor OverlayLineColor ; \stopuniqueMPgraphic -% \setupmathstackers -% [vfenced] -% [color=darkred, -% alternative=mp] - -\endinput +\continueifinputfile{meta-imp-mat.mkiv} + +\setupmathstackers [both] [color=darkred,alternative=mp] +\setupmathstackers [top] [color=darkred,alternative=mp] +\setupmathstackers [bottom] [color=darkred,alternative=mp] + +\startTEXpage[offset=10pt] + +$ + \overbracket {a+b+c+d} \quad + \underbracket {a+b+c+d} \quad + \doublebracket {a+b+c+d} +$ +\blank[2*big] +$ + \overparent {a+b+c+d} \quad + \underparent {a+b+c+d} \quad + \doubleparent {a+b+c+d} +$ +\blank[2*big] +$ + \overbrace {a+b+c+d} \quad + \underbrace {a+b+c+d} \quad + \doublebrace {a+b+c+d} +$ +\blank[2*big] +$ + \overbar {a+b+c+d} \quad + \underbar {a+b+c+d} \quad + \doublebar {a+b+c+d} +$ +\blank[2*big] +$ + \overleftarrow {a+b+c+d} \quad + \overrightarrow {a+b+c+d} +$ +\blank[2*big] +$ + \underleftarrow {a+b+c+d} \quad + \underrightarrow {a+b+c+d} +$ + +\stopTEXpage diff --git a/tex/context/base/mkiv/meta-ini.mkiv b/tex/context/base/mkiv/meta-ini.mkiv index 5fc89e2f6..61e3523e6 100644 --- a/tex/context/base/mkiv/meta-ini.mkiv +++ b/tex/context/base/mkiv/meta-ini.mkiv @@ -1481,6 +1481,12 @@ \fi \to \everysetupMPgraphics +%D Some more helpers (see \type {meta-grd.mkiv} for an example of usage): + +\def\MPdpar#1#2{\the\dimexpr#1#2\relax\empty} +\def\MPnpar#1#2{\the\numexpr#1#2\relax\empty} +\def\MPspar#1#2{"#1#2"} + %D Done. \protect \endinput diff --git a/tex/context/base/mkiv/meta-tex.lua b/tex/context/base/mkiv/meta-tex.lua index d66eab069..fdf118424 100644 --- a/tex/context/base/mkiv/meta-tex.lua +++ b/tex/context/base/mkiv/meta-tex.lua @@ -117,13 +117,13 @@ do implement { name = "metapostformatted", actions = metapost.svformat, - arguments = { "string", "string" } + arguments = "2 strings", } implement { name = "metapostgraphformat", actions = metapost.nvformat, - arguments = { "string", "string" } + arguments = "2 strings", } if LUAVERSION < 5.2 then diff --git a/tex/context/base/mkiv/mlib-ctx.lua b/tex/context/base/mkiv/mlib-ctx.lua index 0ff28c1c4..c568b92a3 100644 --- a/tex/context/base/mkiv/mlib-ctx.lua +++ b/tex/context/base/mkiv/mlib-ctx.lua @@ -87,7 +87,7 @@ end implement { name = "setmpextensions", actions = metapost.setextensions, - arguments = { "string", "string" } + arguments = "2 strings", } implement { @@ -172,7 +172,7 @@ implement { implement { name = "mprunset", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(name,connector) local value = metapost.variables[name] if value ~= nil then diff --git a/tex/context/base/mkiv/mlib-lua.lua b/tex/context/base/mkiv/mlib-lua.lua index 5e6be614b..19e731b85 100644 --- a/tex/context/base/mkiv/mlib-lua.lua +++ b/tex/context/base/mkiv/mlib-lua.lua @@ -696,7 +696,7 @@ do interfaces.implement { name = "getMPstored", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(name,key) context(stores[name][key]) end diff --git a/tex/context/base/mkiv/mult-aux.lua b/tex/context/base/mkiv/mult-aux.lua index bcd5ae5be..96cc056ac 100644 --- a/tex/context/base/mkiv/mult-aux.lua +++ b/tex/context/base/mkiv/mult-aux.lua @@ -159,7 +159,7 @@ end interfaces.implement { name = "definenamespace", - arguments = { "string", "string" }, + arguments = "2 strings", actions = namespaces.define } diff --git a/tex/context/base/mkiv/mult-aux.mkiv b/tex/context/base/mkiv/mult-aux.mkiv index 96609c4f0..a1aecc354 100644 --- a/tex/context/base/mkiv/mult-aux.mkiv +++ b/tex/context/base/mkiv/mult-aux.mkiv @@ -802,10 +802,11 @@ \letvalue\??dummy\empty - \def\dummyparameter #1{\begincsname\??dummy#1\endcsname} - \def\directdummyparameter#1{\begincsname\??dummy#1\endcsname} -\unexpanded\def\setdummyparameter #1{\expandafter\def\csname\??dummy#1\endcsname} -\unexpanded\def\letdummyparameter #1{\expandafter\let\csname\??dummy#1\endcsname} + \def\dummyparameter #1{\begincsname\??dummy#1\endcsname} + \def\directdummyparameter #1{\begincsname\??dummy#1\endcsname} +\unexpanded\def\setdummyparameter #1{\expandafter\def\csname\??dummy#1\endcsname} +\unexpanded\def\setexpandeddummyparameter#1{\expandafter\edef\csname\??dummy#1\endcsname} +\unexpanded\def\letdummyparameter #1{\expandafter\let\csname\??dummy#1\endcsname} % \unexpanded\def\getdummyparameters % {\mult_interfaces_get_parameters\??dummy} diff --git a/tex/context/base/mkiv/mult-chk.lua b/tex/context/base/mkiv/mult-chk.lua index 44a9f739f..712d91f81 100644 --- a/tex/context/base/mkiv/mult-chk.lua +++ b/tex/context/base/mkiv/mult-chk.lua @@ -52,13 +52,13 @@ end implement { name = "setvalidinterfacekeys", actions = interfaces.setvalidkeys, - arguments = { "string", "string" } + arguments = "2 strings" } implement { name = "addvalidinterfacekeys", actions = interfaces.addvalidkeys, - arguments = { "string", "string" } + arguments = "2 strings" } -- weird code, looks incomplete ... probably an experiment @@ -89,5 +89,5 @@ end implement { name = "getcheckedinterfaceparameters", actions = interfaces.getcheckedparameters, - arguments = { "string", "string", "string" } + arguments = "3 strings" } diff --git a/tex/context/base/mkiv/mult-ini.lua b/tex/context/base/mkiv/mult-ini.lua index b899d25f2..3f320bf7f 100644 --- a/tex/context/base/mkiv/mult-ini.lua +++ b/tex/context/base/mkiv/mult-ini.lua @@ -346,7 +346,7 @@ end interfaces.implement { name = "setuserinterface", actions = interfaces.setuserinterface, - arguments = { "string", "string" } + arguments = "2 strings", } interfaces.cachedsetups = interfaces.cachedsetups or { } @@ -387,30 +387,30 @@ function interfaces.message(str) end implement { name = "registernamespace", actions = interfaces.registernamespace, arguments = { "integer", "string" } } -implement { name = "setinterfaceconstant", actions = interfaces.setconstant, arguments = { "string", "string" } } -implement { name = "setinterfacevariable", actions = interfaces.setvariable, arguments = { "string", "string" } } -implement { name = "setinterfaceelement", actions = interfaces.setelement, arguments = { "string", "string" } } -implement { name = "setinterfacemessage", actions = interfaces.setmessage, arguments = { "string", "string", "string" } } -implement { name = "setinterfacemessages", actions = interfaces.setmessages, arguments = { "string", "string" } } -implement { name = "showmessage", actions = interfaces.showmessage, arguments = { "string", "string", "string" } } +implement { name = "setinterfaceconstant", actions = interfaces.setconstant, arguments = "2 strings" } +implement { name = "setinterfacevariable", actions = interfaces.setvariable, arguments = "2 strings" } +implement { name = "setinterfaceelement", actions = interfaces.setelement, arguments = "2 strings" } +implement { name = "setinterfacemessage", actions = interfaces.setmessage, arguments = "3 strings" } +implement { name = "setinterfacemessages", actions = interfaces.setmessages, arguments = "2 strings" } +implement { name = "showmessage", actions = interfaces.showmessage, arguments = "3 strings" } implement { name = "doifelsemessage", actions = { interfaces.doifelsemessage, commands.doifelse }, - arguments = { "string", "string" }, + arguments = "2 strings", } implement { name = "getmessage", actions = { interfaces.getmessage, context }, - arguments = { "string", "string", "string" }, + arguments = "3 strings", } implement { name = "writestatus", overload = true, actions = interfaces.writestatus, - arguments = { "string", "string" }, + arguments = "2 strings", } implement { diff --git a/tex/context/base/mkiv/mult-low.lua b/tex/context/base/mkiv/mult-low.lua index 84b4189dc..0acba3b87 100644 --- a/tex/context/base/mkiv/mult-low.lua +++ b/tex/context/base/mkiv/mult-low.lua @@ -294,7 +294,7 @@ return { -- "getparameters", "geteparameters", "getgparameters", "getxparameters", "forgetparameters", "copyparameters", -- - "getdummyparameters", "dummyparameter", "directdummyparameter", "setdummyparameter", "letdummyparameter", + "getdummyparameters", "dummyparameter", "directdummyparameter", "setdummyparameter", "letdummyparameter", "setexpandeddummyparameter", "usedummystyleandcolor", "usedummystyleparameter", "usedummycolorparameter", -- "processcommalist", "processcommacommand", "quitcommalist", "quitprevcommalist", @@ -402,7 +402,12 @@ return { "obeylualines", "obeyluatokens", "startluacode", "stopluacode", "startlua", "stoplua", "startctxfunction","stopctxfunction","ctxfunction", - "startctxfunctiondefinition","stopctxfunctiondefinition", "installctxfunction", + "startctxfunctiondefinition","stopctxfunctiondefinition", + "installctxfunction", "installctxfunctioncall", + "installprotectedctxfunction", "installprotectedctxfunctioncall", + "installctxscanner", "installctxscannercall", + "resetctxscanner", + "installprotectedctxscanner", "installprotectedctxscannercall", "cldprocessfile", "cldloadfile", "cldcontext", "cldcommand", -- "carryoverpar", diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua index 601a615a0..1cd5f5810 100644 --- a/tex/context/base/mkiv/mult-prm.lua +++ b/tex/context/base/mkiv/mult-prm.lua @@ -282,6 +282,7 @@ return { "lpcode", "luaescapestring", "luafunction", + "luafunctioncall", "luatexbanner", "luatexrevision", "luatexversion", diff --git a/tex/context/base/mkiv/pack-obj.lua b/tex/context/base/mkiv/pack-obj.lua index f68c1ba0c..3f2b2edfe 100644 --- a/tex/context/base/mkiv/pack-obj.lua +++ b/tex/context/base/mkiv/pack-obj.lua @@ -96,13 +96,13 @@ jobobjects.page = getobjectpage -- implement { -- name = "objectnumber", -- actions = { getobjectnumber, context }, --- arguments = { "string", "string" }, +-- arguments = "2 strings", -- } -- -- implement { -- name = "objectpage", -- actions = { getobjectpage, context }, --- arguments = { "string", "string" }, +-- arguments = "2 strings", -- } -- -- implement { @@ -212,13 +212,13 @@ implement { implement { name = "restoreobject", - arguments = { "string", "string" }, + arguments = "2 strings", actions = objects.restore, } implement { name = "doifelseobject", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(ns,id) ctx_doifelse(data[ns][id]) -- ctx_doifelse(objects.reference(ns,id)) @@ -227,7 +227,7 @@ implement { implement { name = "doifelseobjectreference", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(ns,id) -- ctx_doifelse(data[ns][id]) ctx_doifelse(objects.reference(ns,id)) @@ -252,7 +252,7 @@ implement { implement { name = "getobjectdimensions", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(ns,id) local object = data[ns][id] local w, h, d, o = 0, 0, 0, 0 diff --git a/tex/context/base/mkiv/page-cst.lua b/tex/context/base/mkiv/page-cst.lua index 8b8214ab3..155d6e8b0 100644 --- a/tex/context/base/mkiv/page-cst.lua +++ b/tex/context/base/mkiv/page-cst.lua @@ -1271,13 +1271,13 @@ interfaces.implement { interfaces.implement { name = "preparecolumnsetflush", actions = columnsets.prepareflush, - arguments = { "string" }, + arguments = "string", } interfaces.implement { name = "finishcolumnsetflush", actions = columnsets.finishflush, - arguments = { "string" }, + arguments = "string", } interfaces.implement { @@ -1289,13 +1289,13 @@ interfaces.implement { interfaces.implement { name = "setvsizecolumnset", actions = columnsets.setvsize, - arguments = { "string" }, + arguments = "string", } interfaces.implement { name = "sethsizecolumnset", actions = columnsets.sethsize, - arguments = { "string" }, + arguments = "string", } interfaces.implement { @@ -1423,7 +1423,7 @@ interfaces.implement { interfaces.implement { name = "columnsetgoto", actions = columnsets["goto"], - arguments = { "string" , "string" }, + arguments = "2 strings", } interfaces.implement { diff --git a/tex/context/base/mkiv/page-ini.lua b/tex/context/base/mkiv/page-ini.lua index 6325e1d39..5b73c9729 100644 --- a/tex/context/base/mkiv/page-ini.lua +++ b/tex/context/base/mkiv/page-ini.lua @@ -164,7 +164,7 @@ end) interfaces.implement { name = "markpage", - arguments = { "string", "string" }, + arguments = "2 strings", actions = pages.mark } diff --git a/tex/context/base/mkiv/page-inj.mkvi b/tex/context/base/mkiv/page-inj.mkvi index e03569f23..cabd07bac 100644 --- a/tex/context/base/mkiv/page-inj.mkvi +++ b/tex/context/base/mkiv/page-inj.mkvi @@ -32,6 +32,11 @@ \let\page_boxes_flush_before\clf_flushpageinjectionsbefore \let\page_boxes_flush_after \clf_flushpageinjectionsafter +\def\page_injections_flush_indeed + {\scrn_canvas_synchronize_set{\pageinjectionparameter\c!width}{\pageinjectionparameter\c!height}% + \invokepagehandler\v!normal{\inheritedpageinjectionframed{\texsetup\p_page_injectionalternative_rederingsetup}}% + \scrn_canvas_synchronize_reset} + \def\page_injections_flush_saved#name#parameters% {\begingroup \edef\currentpageinjection{#name}% @@ -39,7 +44,7 @@ \edef\currentpageinjectionalternative {\pageinjectionparameter \c!alternative }% \edef\p_page_injectionalternative_rederingsetup{\pageinjectionalternativeparameter\c!renderingsetup}% \page_injections_nextpage - \invokepagehandler\v!normal{\inheritedpageinjectionframed{\texsetup\p_page_injectionalternative_rederingsetup}}% + \page_injections_flush_indeed \endgroup} \unexpanded\def\pageinjection @@ -104,12 +109,23 @@ \page_injections_place \endgroup} +% \def\page_injections_place +% {\edef\currentpageinjectionalternative {\pageinjectionparameter \c!alternative }% +% \edef\p_page_injectionalternative_rederingsetup{\pageinjectionalternativeparameter\c!renderingsetup}% +% \page_injections_nextpage +% \ifx\currentpageinjectionalternative\v!none \else % increment counter but don’t generate output +% \invokepagehandler\v!normal{\inheritedpageinjectionframed{\texsetup\p_page_injectionalternative_rederingsetup}}% +% \fi} + \def\page_injections_place {\edef\currentpageinjectionalternative {\pageinjectionparameter \c!alternative }% \edef\p_page_injectionalternative_rederingsetup{\pageinjectionalternativeparameter\c!renderingsetup}% \page_injections_nextpage \ifx\currentpageinjectionalternative\v!none \else % increment counter but don’t generate output - \invokepagehandler\v!normal{\inheritedpageinjectionframed{\texsetup\p_page_injectionalternative_rederingsetup}}% + \forgetparindent + \dontcomplain + \setconstant\shipoutfinalizemethod\zerocount + \page_injections_flush_indeed \fi} \def\page_injections_nextpage diff --git a/tex/context/base/mkiv/page-ins.lua b/tex/context/base/mkiv/page-ins.lua index 4791bc69b..0323952d0 100644 --- a/tex/context/base/mkiv/page-ins.lua +++ b/tex/context/base/mkiv/page-ins.lua @@ -102,7 +102,7 @@ implement { implement { name = "setinsertionlocation", actions = inserts.setlocation, - arguments = { "string", "string" } + arguments = "2 strings", } implement { diff --git a/tex/context/base/mkiv/page-sid.mkiv b/tex/context/base/mkiv/page-sid.mkiv index 5742ce8c4..a0fb63ca2 100644 --- a/tex/context/base/mkiv/page-sid.mkiv +++ b/tex/context/base/mkiv/page-sid.mkiv @@ -737,8 +737,9 @@ \def\page_sides_wrapup {% we need to do this aftergroup - \ignoreparskip \aftergroup\ignoreparskip - \ignorespaces \aftergroup\ignorespaces + \aftergroup\par + \aftergroup\ignoreparskip + \aftergroup\ignorespaces } \def\page_sides_check_floats_indeed diff --git a/tex/context/base/mkiv/phys-dim.lua b/tex/context/base/mkiv/phys-dim.lua index 71c9b0bd4..363b4a79c 100644 --- a/tex/context/base/mkiv/phys-dim.lua +++ b/tex/context/base/mkiv/phys-dim.lua @@ -966,4 +966,4 @@ implement { name = "digits_normal", actions = makedigits, arguments = "string implement { name = "digits_reverse", actions = makedigits, arguments = { "string", true } } implement { name = "unit_normal", actions = makeunit, arguments = "string"} implement { name = "unit_reverse", actions = makeunit, arguments = { "string", true } } -implement { name = "registerunit", actions = registerunit, arguments = { "string", "string" } } +implement { name = "registerunit", actions = registerunit, arguments = "2 strings" } diff --git a/tex/context/base/mkiv/publ-aut.lua b/tex/context/base/mkiv/publ-aut.lua index 91d38a8d9..be0c771a3 100644 --- a/tex/context/base/mkiv/publ-aut.lua +++ b/tex/context/base/mkiv/publ-aut.lua @@ -975,7 +975,7 @@ publications.sortmethods.authoryear = { implement { name = "btxremapauthor", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(k,v) local a = { splitauthor(k,true) } local s1 = sequentialhash(a) diff --git a/tex/context/base/mkiv/publ-ini.lua b/tex/context/base/mkiv/publ-ini.lua index 038a15d5a..8497b190f 100644 --- a/tex/context/base/mkiv/publ-ini.lua +++ b/tex/context/base/mkiv/publ-ini.lua @@ -648,7 +648,7 @@ local findallused do implement { name = "btxdoifelsematches", - arguments = { "string", "string", "string" }, + arguments = "3 strings", actions = function(dataset,tag,expression) local find = publications.finder(dataset,expression) local okay = false @@ -1009,30 +1009,28 @@ function publications.lastofrange(dataset,tag,name) end end -local three_strings = { "string", "string", "string" } - implement { name = "btxsingularorplural", actions = { publications.singularorplural, ctx_doifelse }, - arguments = three_strings + arguments = "3 strings" } implement { name = "btxoneorrange", actions = { publications.oneorrange, function(b) if b == nil then ctx_gobbletwoarguments() else ctx_doifelse(b) end end }, - arguments = three_strings + arguments = "3 strings" } implement { name = "btxfirstofrange", actions = { publications.firstofrange, context }, - arguments = three_strings + arguments = "3 strings" } implement { name = "btxlastofrange", actions = { publications.lastofrange, context }, - arguments = three_strings + arguments = "3 strings" } -- basic loading @@ -1237,13 +1235,13 @@ end implement { name = "btxaddentry", + arguments = "3 strings", actions = function(name,settings,content) local dataset = datasets[name] if dataset then publications.addtexentry(dataset,settings,content) end end, - arguments = { "string", "string", "string" } } function publications.checkeddataset(name,default) @@ -1260,12 +1258,13 @@ end implement { name = "btxsetdataset", + arguments = "2 strings", actions = { publications.checkeddataset, context }, - arguments = { "string", "string"} } implement { name = "btxsetentry", + arguments = "2 strings", actions = function(name,tag) local dataset = rawget(datasets,name) if dataset then @@ -1278,7 +1277,6 @@ implement { report("unknown dataset %a",name) end end, - arguments = { "string", "string" }, } -- rendering of fields @@ -1558,19 +1556,19 @@ do publications.okay = okay - implement { name = "btxfield", actions = btxfield, arguments = { "string", "string", "string" } } - implement { name = "btxdetail", actions = btxdetail, arguments = { "string", "string", "string" } } - implement { name = "btxflush", actions = btxflush, arguments = { "string", "string", "string" } } - implement { name = "btxdirect", actions = btxdirect, arguments = { "string", "string", "string" } } + implement { name = "btxfield", actions = btxfield, arguments = "3 strings" } + implement { name = "btxdetail", actions = btxdetail, arguments = "3 strings" } + implement { name = "btxflush", actions = btxflush, arguments = "3 strings" } + implement { name = "btxdirect", actions = btxdirect, arguments = "3 strings" } implement { name = "btxfieldname", actions = { get, context }, arguments = { "string", "string", "string", false, false } } implement { name = "btxfieldtype", actions = { get, context }, arguments = { "string", "string", "string", true, false } } implement { name = "btxfoundname", actions = { get, context }, arguments = { "string", "string", "string", false, true } } implement { name = "btxfoundtype", actions = { get, context }, arguments = { "string", "string", "string", true, true } } - implement { name = "btxdoifelse", actions = { okay, ctx_doifelse }, arguments = { "string", "string", "string" } } - implement { name = "btxdoif", actions = { okay, ctx_doif }, arguments = { "string", "string", "string" } } - implement { name = "btxdoifnot", actions = { okay, ctx_doifnot }, arguments = { "string", "string", "string" } } + implement { name = "btxdoifelse", actions = { okay, ctx_doifelse }, arguments = "3 strings" } + implement { name = "btxdoif", actions = { okay, ctx_doif }, arguments = "3 strings" } + implement { name = "btxdoifnot", actions = { okay, ctx_doifnot }, arguments = "3 strings" } end @@ -2041,8 +2039,8 @@ do implement { name = "btxflushpages", + arguments = "2 strings", actions = btxflushpages, - arguments = { "string", "string" } } local function identical(a,b) @@ -2277,20 +2275,20 @@ do implement { name = "btxuservariable", + arguments = "2 strings", actions = { getuserdata, context }, - arguments = { "string", "string" } } implement { name = "btxdoifelseuservariable", + arguments = "2 strings", actions = { getuserdata, ctx_doifelse }, - arguments = { "string", "string" } } -- implement { -- name = "btxresolvelistreference", + -- arguments = "2 strings", -- actions = lists.resolve, - -- arguments = { "string", "string" } -- } implement { @@ -2315,32 +2313,32 @@ do implement { name = "btxpreparelistentries", + arguments = "string", actions = lists.prepareentries, - arguments = { "string" }, } implement { name = "btxfetchlistentries", + arguments = "string", actions = lists.fetchentries, - arguments = { "string" }, } implement { name = "btxflushlistentry", + arguments = "2 strings", actions = lists.flushentry, - arguments = { "string", "integer" } } implement { name = "btxflushlisttag", + arguments = "2 strings", actions = lists.flushtag, - arguments = { "string", "integer" } } implement { name = "btxflushlistcombi", + arguments = "2 strings", actions = lists.flushcombi, - arguments = { "string", "string" } } implement { @@ -2351,8 +2349,8 @@ do implement { name = "btxdoifelsecombiinlist", + arguments = "2 strings", actions = { lists.combiinlist, ctx_doifelse }, - arguments = { "string", "string" } } end @@ -3374,8 +3372,8 @@ do implement { name = "btxlistvariant", + arguments = "5 strings", actions = btxlistvariant, - arguments = { "string", "string", "string", "string", "string" } -- not integer here } function listvariants.default(dataset,block,tag,variant) @@ -3440,7 +3438,7 @@ do implement { name = "checkinterfacechain", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(str,command) local chain = lpegmatch(splitter,str) if #chain > 0 then diff --git a/tex/context/base/mkiv/publ-jrn.lua b/tex/context/base/mkiv/publ-jrn.lua index 0cc41862f..fba994466 100644 --- a/tex/context/base/mkiv/publ-jrn.lua +++ b/tex/context/base/mkiv/publ-jrn.lua @@ -156,7 +156,7 @@ if implement then implement { name = "btxaddjournal", - arguments = { "string", "string" }, + arguments = "2 strings", actions = { journals.add, context } } diff --git a/tex/context/base/mkiv/publ-reg.lua b/tex/context/base/mkiv/publ-reg.lua index b40fbc80a..9ee574929 100644 --- a/tex/context/base/mkiv/publ-reg.lua +++ b/tex/context/base/mkiv/publ-reg.lua @@ -121,7 +121,7 @@ implement { implement { name = "btxtoregister", actions = btxtoregister, - arguments = { "string", "string" } + arguments = "2 strings", } -- context.setregisterentry ( @@ -221,5 +221,5 @@ publications.authortoregister = authortoregister implement { name = "btxauthortoregister", actions = authortoregister, - arguments = { "string", "string" } + arguments = "2 strings", } diff --git a/tex/context/base/mkiv/scrn-but.lua b/tex/context/base/mkiv/scrn-but.lua index c791f9718..da0d5e9f4 100644 --- a/tex/context/base/mkiv/scrn-but.lua +++ b/tex/context/base/mkiv/scrn-but.lua @@ -22,5 +22,5 @@ end interfaces.implement { name = "registerbuttons", actions = registerbuttons, - arguments = { "string", "string", "string" } + arguments = "3 strings", } diff --git a/tex/context/base/mkiv/scrn-fld.lua b/tex/context/base/mkiv/scrn-fld.lua index f68cc039d..046b7864f 100644 --- a/tex/context/base/mkiv/scrn-fld.lua +++ b/tex/context/base/mkiv/scrn-fld.lua @@ -66,7 +66,7 @@ implement { implement { name = "definefieldset", actions = defineset, - arguments = { "string", "string" } + arguments = "2 strings", } implement { diff --git a/tex/context/base/mkiv/scrn-fld.mkvi b/tex/context/base/mkiv/scrn-fld.mkvi index 38c4e1461..dec334209 100644 --- a/tex/context/base/mkiv/scrn-fld.mkvi +++ b/tex/context/base/mkiv/scrn-fld.mkvi @@ -47,7 +47,7 @@ %D A definition can refer to this category: %D %D \starttyping -%D \definefieldbody [email] [type=line,category=all-email,default=pragma@wxs.nl] +%D \definefieldbody [email] [type=line,category=all-email,default=pragma@xs4all.nl] %D \stoptyping %D %D A copy of a field is made as follows: diff --git a/tex/context/base/mkiv/scrn-pag.mkvi b/tex/context/base/mkiv/scrn-pag.mkvi index d96d8d3c1..7695443ad 100644 --- a/tex/context/base/mkiv/scrn-pag.mkvi +++ b/tex/context/base/mkiv/scrn-pag.mkvi @@ -203,11 +203,16 @@ paperheight \printpaperheight \relax} -\def\scrn_canvas_synchronize_simple_indeed +\def\scrn_canvas_synchronize_set#1#2% {\clf_setupcanvas - paperwidth \printpaperwidth - paperheight \printpaperheight - \relax + paperwidth \dimexpr#1\relax + paperheight \dimexpr#2\relax + \relax} + +\let\scrn_canvas_synchronize_reset\scrn_canvas_synchronize_only + +\def\scrn_canvas_synchronize_simple_indeed + {\scrn_canvas_synchronize_only %\global\let\scrn_canvas_synchronize_simple \relax \global\let\scrn_canvas_synchronize_complex\relax} diff --git a/tex/context/base/mkiv/scrn-wid.lua b/tex/context/base/mkiv/scrn-wid.lua index 636d547da..5b70bec75 100644 --- a/tex/context/base/mkiv/scrn-wid.lua +++ b/tex/context/base/mkiv/scrn-wid.lua @@ -288,7 +288,7 @@ end implement { name = "renderingvar", actions = { renderings.var, context }, - arguments = { "string", "string" } + arguments = "2 strings", } implement { diff --git a/tex/context/base/mkiv/scrp-ini.lua b/tex/context/base/mkiv/scrp-ini.lua index d5cad643f..9bd70e30a 100644 --- a/tex/context/base/mkiv/scrp-ini.lua +++ b/tex/context/base/mkiv/scrp-ini.lua @@ -973,7 +973,7 @@ implement { implement { name = "setscript", actions = scripts.set, - arguments = { "string", "string", "string" } + arguments = "3 strings", } implement { diff --git a/tex/context/base/mkiv/sort-ini.lua b/tex/context/base/mkiv/sort-ini.lua index 7cd28d08f..f90b70be5 100644 --- a/tex/context/base/mkiv/sort-ini.lua +++ b/tex/context/base/mkiv/sort-ini.lua @@ -53,14 +53,15 @@ have language etc properties that then can be used.

local gsub, find, rep, sub, sort, concat, tohash, format = string.gsub, string.find, string.rep, string.sub, table.sort, table.concat, table.tohash, string.format local utfbyte, utfchar, utfcharacters, utfvalues = utf.byte, utf.char, utf.characters, utf.values local next, type, tonumber, rawget, rawset = next, type, tonumber, rawget, rawset -local P, Cs, R, S, lpegmatch = lpeg.P, lpeg.Cs, lpeg.R, lpeg.S, lpeg.match +local P, Cs, R, S, lpegmatch, lpegpatterns = lpeg.P, lpeg.Cs, lpeg.R, lpeg.S, lpeg.match, lpeg.patterns local allocate = utilities.storage.allocate local setmetatableindex = table.setmetatableindex -local trace_tests = false trackers.register("sorters.tests", function(v) trace_tests = v end) -local trace_methods = false trackers.register("sorters.methods", function(v) trace_methods = v end) -local trace_orders = false trackers.register("sorters.orders", function(v) trace_orders = v end) +local trace_tests = false trackers.register("sorters.tests", function(v) trace_tests = v end) +local trace_methods = false trackers.register("sorters.methods", function(v) trace_methods = v end) +local trace_orders = false trackers.register("sorters.orders", function(v) trace_orders = v end) +local trace_replacements= false trackers.register("sorters.replacements", function(v) trace_replacements = v end) local report_sorters = logs.reporter("languages","sorters") @@ -523,7 +524,7 @@ local function prepare() -- todo: test \Ux{hex} return pattern end -function sorters.strip(str) -- todo: only letters and such +local function strip(str) -- todo: only letters and such if str and str ~= "" then return lpegmatch(pattern or prepare(),str) else @@ -531,6 +532,8 @@ function sorters.strip(str) -- todo: only letters and such end end +sorters.strip = strip + local function firstofsplit(entry) -- numbers are left padded by spaces local split = entry.split @@ -553,15 +556,35 @@ sorters.firstofsplit = firstofsplit -- we know what combinations make sense we can optimize this function splitters.utf(str,checked) -- we could append m and u but this is cleaner, s is for tracing - if #replacements > 0 then + local nofreplacements = #replacements + if nofreplacements > 0 then -- todo make an lpeg for this - for k=1,#replacements do - local v = replacements[k] - local s = v[1] - if find(str,s) then - str = gsub(str,s,v[2]) + local replacer = replacements.replacer + if not replacer then + local rep = { } + for i=1,nofreplacements do + local r = replacements[i] + rep[strip(r[1])] = strip(r[2]) + end + replacer = lpeg.utfchartabletopattern(rep) + replacer = Cs((replacer/rep + lpegpatterns.utf8character)^0) + replacements.replacer = replacer + end + local rep = lpegmatch(replacer,str) + if rep and rep ~= str then + if trace_replacements then + report_sorters("original : %s",str) + report_sorters("replacement: %s",rep) end + str = rep end + -- for k=1,#replacements do + -- local v = replacements[k] + -- local s = v[1] + -- if find(str,s) then + -- str = gsub(str,s,v[2]) + -- end + -- end end local m_case, z_case, p_case, m_mapping, z_mapping, p_mapping, char, byte, n = { }, { }, { }, { }, { }, { }, { }, { }, 0 local nm, nz, np = 0, 0, 0 @@ -797,3 +820,16 @@ function sorters.sort(entries,cmp) end) end end + +-- helper + +function sorters.replacementlist(list) + local replacements = { } + for i=1,#list do + replacements[i] = { + list[i], + utfchar(replacementoffset+i), + } + end + return replacements +end diff --git a/tex/context/base/mkiv/spac-ver.lua b/tex/context/base/mkiv/spac-ver.lua index 288630a5d..969a195e1 100644 --- a/tex/context/base/mkiv/spac-ver.lua +++ b/tex/context/base/mkiv/spac-ver.lua @@ -2180,7 +2180,7 @@ do name = "vspacingdefine", actions = vspacing.setmap, scope = "private", - arguments = { "string", "string" } + arguments = "2 strings", } implement { @@ -2208,7 +2208,7 @@ do name = "definesnapmethod", actions = vspacing.definesnapmethod, scope = "private", - arguments = { "string", "string" } + arguments = "2 strings", } -- local remove_node = nodes.remove diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf index 531068f8a..aa6ed92ea 100644 Binary files a/tex/context/base/mkiv/status-files.pdf and b/tex/context/base/mkiv/status-files.pdf differ diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf index 22eee2a81..70204080a 100644 Binary files a/tex/context/base/mkiv/status-lua.pdf and b/tex/context/base/mkiv/status-lua.pdf differ diff --git a/tex/context/base/mkiv/strc-bkm.lua b/tex/context/base/mkiv/strc-bkm.lua index e30a91820..ee9233a9a 100644 --- a/tex/context/base/mkiv/strc-bkm.lua +++ b/tex/context/base/mkiv/strc-bkm.lua @@ -523,5 +523,5 @@ implement { implement { name = "overloadbookmark", actions = bookmarks.overload, - arguments = { "string", "string" } + arguments = "2 strings", } diff --git a/tex/context/base/mkiv/strc-blk.lua b/tex/context/base/mkiv/strc-blk.lua index 492abc768..703d36379 100644 --- a/tex/context/base/mkiv/strc-blk.lua +++ b/tex/context/base/mkiv/strc-blk.lua @@ -157,6 +157,6 @@ end -- interface implement { name = "definestructureblock", actions = blocks.define, arguments = "string" } -implement { name = "savestructureblock", actions = blocks.save, arguments = { "string", "string" ,"string" } } -implement { name = "selectstructureblock", actions = blocks.select, arguments = { "string", "string" ,"string", "string" } } -implement { name = "setstructureblockstate", actions = blocks.setstate, arguments = { "string", "string" ,"string" } } +implement { name = "savestructureblock", actions = blocks.save, arguments = "3 strings" } +implement { name = "selectstructureblock", actions = blocks.select, arguments = "4 strings" } +implement { name = "setstructureblockstate", actions = blocks.setstate, arguments = "3 strings" } diff --git a/tex/context/base/mkiv/strc-doc.lua b/tex/context/base/mkiv/strc-doc.lua index 93d8db56b..2de26ac64 100644 --- a/tex/context/base/mkiv/strc-doc.lua +++ b/tex/context/base/mkiv/strc-doc.lua @@ -1029,11 +1029,11 @@ implement { name = "structurecatcodedget", actions = sections.structuredat implement { name = "structuregivencatcodedget", actions = sections.structuredata, arguments = { false, "string", false, "integer" } } implement { name = "structureautocatcodedget", actions = sections.structuredata, arguments = { false, "string", false, "string" } } -implement { name = "namedstructurevariable", actions = sections.structuredata, arguments = { "string", "string" } } -implement { name = "namedstructureuservariable", actions = sections.userdata, arguments = { "string", "string" } } +implement { name = "namedstructurevariable", actions = sections.structuredata, arguments = "2 strings" } +implement { name = "namedstructureuservariable", actions = sections.userdata, arguments = "2 strings" } -implement { name = "setstructurelevel", actions = sections.setlevel, arguments = { "string", "string" } } -implement { name = "getstructurelevel", actions = sections.getcurrentlevel, arguments = { "string" } } +implement { name = "setstructurelevel", actions = sections.setlevel, arguments = "2 strings" } +implement { name = "getstructurelevel", actions = sections.getcurrentlevel, arguments = "string" } implement { name = "setstructurenumber", actions = sections.setnumber, arguments = { "integer", "string" } } -- string as we support +- implement { name = "getstructurenumber", actions = sections.getnumber, arguments = { "integer" } } implement { name = "getsomestructurenumber", actions = sections.getnumber, arguments = { "integer", "string" } } diff --git a/tex/context/base/mkiv/strc-lev.lua b/tex/context/base/mkiv/strc-lev.lua index c06e209f6..74b64a09c 100644 --- a/tex/context/base/mkiv/strc-lev.lua +++ b/tex/context/base/mkiv/strc-lev.lua @@ -83,7 +83,7 @@ end implement { name = "definesectionlevels", actions = definesectionlevels, - arguments = { "string", "string" }, + arguments = "2 strings", } implement { diff --git a/tex/context/base/mkiv/strc-lst.lua b/tex/context/base/mkiv/strc-lst.lua index a235fac75..13bdf7786 100644 --- a/tex/context/base/mkiv/strc-lst.lua +++ b/tex/context/base/mkiv/strc-lst.lua @@ -1159,7 +1159,7 @@ implement { name = "listsize", actions = { lists.size, context } } implement { name = "listlocation", actions = { lists.location, context }, arguments = "integer" } implement { name = "listlabel", actions = { lists.label, context }, arguments = { "integer", "string" } } implement { name = "listrealpage", actions = { lists.realpage, context }, arguments = { "string", "integer" } } -implement { name = "listgroupindex", actions = { lists.groupindex, context }, arguments = { "string", "string" } } +implement { name = "listgroupindex", actions = { lists.groupindex, context }, arguments = "2 strings", } implement { name = "currentsectiontolist", diff --git a/tex/context/base/mkiv/strc-mar.lua b/tex/context/base/mkiv/strc-mar.lua index 80fcf126a..24a7fd491 100644 --- a/tex/context/base/mkiv/strc-mar.lua +++ b/tex/context/base/mkiv/strc-mar.lua @@ -714,17 +714,17 @@ end -- interface -implement { name = "markingtitle", actions = marks.title, arguments = { "string", "string" } } -implement { name = "markingnumber", actions = marks.number, arguments = { "string", "string" } } +implement { name = "markingtitle", actions = marks.title, arguments = "2 strings" } +implement { name = "markingnumber", actions = marks.number, arguments = "2 strings" } -implement { name = "definemarking", actions = marks.define, arguments = { "string", "string" } } -implement { name = "relatemarking", actions = marks.relate, arguments = { "string", "string" } } -implement { name = "setmarking", actions = marks.set, arguments = { "string", "string" } } -implement { name = "resetmarking", actions = marks.reset, arguments = { "string" } } +implement { name = "definemarking", actions = marks.define, arguments = "2 strings" } +implement { name = "relatemarking", actions = marks.relate, arguments = "2 strings" } +implement { name = "setmarking", actions = marks.set, arguments = "2 strings" } +implement { name = "resetmarking", actions = marks.reset, arguments = "string" } implement { name = "synchronizemarking", actions = marks.synchronize, arguments = { "string", "integer", "string" } } -implement { name = "getmarking", actions = marks.fetch, arguments = { "string", "string", "string" } } -implement { name = "fetchonemark", actions = marks.fetchonemark, arguments = { "string", "string", "string" } } -implement { name = "fetchtwomarks", actions = marks.fetchtwomarks, arguments = { "string", "string" } } -implement { name = "fetchallmarks", actions = marks.fetchallmarks, arguments = { "string", "string" } } +implement { name = "getmarking", actions = marks.fetch, arguments = "3 strings" } +implement { name = "fetchonemark", actions = marks.fetchonemark, arguments = "3 strings" } +implement { name = "fetchtwomarks", actions = marks.fetchtwomarks, arguments = "2 strings" } +implement { name = "fetchallmarks", actions = marks.fetchallmarks, arguments = "2 strings" } implement { name = "doifelsemarking", actions = { marks.exists, commands.doifelse }, arguments = "string" } diff --git a/tex/context/base/mkiv/strc-not.lua b/tex/context/base/mkiv/strc-not.lua index eff357eea..bb9d64beb 100644 --- a/tex/context/base/mkiv/strc-not.lua +++ b/tex/context/base/mkiv/strc-not.lua @@ -151,7 +151,7 @@ notes.getstate = getstate implement { name = "setnotestate", actions = setstate, - arguments = { "string", "string" } + arguments = "2 strings", } implement { @@ -199,8 +199,8 @@ function notes.restore(tag,forcedstate) end end -implement { name = "savenote", actions = notes.save, arguments = { "string", "string" } } -implement { name = "restorenote", actions = notes.restore, arguments = { "string", "string" } } +implement { name = "savenote", actions = notes.save, arguments = "2 strings" } +implement { name = "restorenote", actions = notes.restore, arguments = "2 strings" } local function hascontent(tag) local ok = notestates[tag] @@ -420,7 +420,7 @@ implement { implement { name = "flushnotes", actions = flushnotes, - arguments = { "string", "string", "string" } + arguments = "3 strings", } function notes.resetpostponed() diff --git a/tex/context/base/mkiv/strc-ref.lua b/tex/context/base/mkiv/strc-ref.lua index 73f1ca886..f20d93161 100644 --- a/tex/context/base/mkiv/strc-ref.lua +++ b/tex/context/base/mkiv/strc-ref.lua @@ -355,19 +355,19 @@ references.setcomponent = setcomponent implement { name = "setnextreferenceorder", actions = setnextorder, - arguments = { "string", "string" } + arguments = "2 strings", } implement { name = "setnextinternalreference", actions = setnextinternal, - arguments = { "string", "string" } + arguments = "2 strings", } implement { name = "currentreferenceorder", actions = { currentorder, context }, - arguments = { "string", "string" } + arguments = "2 strings", } function references.set(data) @@ -432,7 +432,7 @@ end implement { name = "enhancereference", actions = references.enhance, - arguments = { "string", "string" } + arguments = "2 strings", } -- -- -- related to strc-ini.lua -- -- -- @@ -633,7 +633,7 @@ implement { implement { name = "useurl", actions = urls.define, - arguments = { "string", "string", "string", "string" } + arguments = "4 strings", } implement { @@ -684,7 +684,7 @@ implement { implement { name = "usefile", actions = files.define, - arguments = { "string", "string", "string" } + arguments = "3 strings" } implement { @@ -774,7 +774,7 @@ end implement { name = "defineprogram", actions = programs.define, - arguments = { "string", "string", "string" } + arguments = "3 strings", } local function getprogram(name) @@ -863,13 +863,13 @@ end implement { name = "definereference", actions = references.define, - arguments = { "string", "string", "string" } + arguments = "3 strings", } implement { name = "resetreference", actions = references.reset, - arguments = { "string", "string" } + arguments = "2 strings", } setmetatableindex(defined,"table") diff --git a/tex/context/base/mkiv/strc-reg.lua b/tex/context/base/mkiv/strc-reg.lua index 51771e3b8..2c667fba3 100644 --- a/tex/context/base/mkiv/strc-reg.lua +++ b/tex/context/base/mkiv/strc-reg.lua @@ -428,13 +428,13 @@ registers.setmethod = defineregister -- and we might have a difference so implement { name = "defineregister", actions = defineregister, - arguments = { "string", "string" } + arguments = "2 strings", } implement { name = "setregistermethod", actions = defineregister, -- duplicate use - arguments = { "string", "string" } + arguments = "2 strings", } @@ -643,13 +643,13 @@ end implement { name = "enhanceregister", actions = registers.enhance, - arguments = { "string", "integer" } + arguments = { "string", "integer" }, } implement { name = "extendregister", actions = registers.extend, - arguments = { "string", "string" } + arguments = "2 strings", } implement { diff --git a/tex/context/base/mkiv/strc-syn.lua b/tex/context/base/mkiv/strc-syn.lua index ecc5e19ae..eec025593 100644 --- a/tex/context/base/mkiv/strc-syn.lua +++ b/tex/context/base/mkiv/strc-syn.lua @@ -259,23 +259,23 @@ end -- todo: local higher up -implement { name = "registerusedsynonym", actions = synonyms.registerused, arguments = { "string", "string" } } -implement { name = "registershownsynonym", actions = synonyms.registershown, arguments = { "string", "string" } } -implement { name = "synonymmeaning", actions = synonyms.meaning, arguments = { "string", "string" } } -implement { name = "synonymname", actions = synonyms.synonym, arguments = { "string", "string" } } +implement { name = "registerusedsynonym", actions = synonyms.registerused, arguments = "2 strings" } +implement { name = "registershownsynonym", actions = synonyms.registershown, arguments = "2 strings" } +implement { name = "synonymmeaning", actions = synonyms.meaning, arguments = "2 strings" } +implement { name = "synonymname", actions = synonyms.synonym, arguments = "2 strings" } implement { name = "resetusedsynonyms", actions = synonyms.resetused, arguments = "string" } implement { name = "resetshownsynonyms", actions = synonyms.resetshown, arguments = "string" } implement { name = "doifelsesynonymused", actions = { synonyms.isused, commands.doifelse }, - arguments = { "string", "string" } + arguments = "2 strings", } implement { name = "doifelsesynonymshown", actions = { synonyms.isshown, commands.doifelse }, - arguments = { "string", "string" } + arguments = "2 strings", } implement { diff --git a/tex/context/base/mkiv/strc-tag.lua b/tex/context/base/mkiv/strc-tag.lua index 1be44821e..649465a6a 100644 --- a/tex/context/base/mkiv/strc-tag.lua +++ b/tex/context/base/mkiv/strc-tag.lua @@ -464,7 +464,7 @@ local starttag = tags.start implement { name = "starttag", actions = starttag, - arguments = { "string" } + arguments = "string", } implement { @@ -476,26 +476,25 @@ implement { name = "starttag_u", scope = "private", actions = function(tag,userdata) starttag(tag,{ userdata = userdata }) end, - arguments = { "string", "string" } + arguments = "2 strings", } implement { name = "starttag_d", scope = "private", actions = function(tag,detail) starttag(tag,{ detail = detail }) end, - arguments = { "string", "string" } + arguments = "2 strings", } implement { name = "starttag_c", scope = "private", actions = function(tag,detail,parents) starttag(tag,{ detail = detail, parents = parents }) end, - arguments = { "string", "string", "string" } + arguments = "3 strings", } -implement { name = "settagaspect", actions = tags.setaspect, arguments = { "string", "string" } } - -implement { name = "settagproperty", actions = tags.setproperty, arguments = { "string", "string", "string" } } +implement { name = "settagaspect", actions = tags.setaspect, arguments = "2 strings" } +implement { name = "settagproperty", actions = tags.setproperty, arguments = "3 strings" } implement { name = "settagproperty_b", actions = tags.setproperty, arguments = { "string", "'backend'", "string" }, scope = "private" } implement { name = "settagproperty_n", actions = tags.setproperty, arguments = { "string", "'nature'", "string" }, scope = "private" } @@ -505,7 +504,7 @@ implement { name = "setelementuserproperties", scope = "private", actions = tags.setuserproperties, - arguments = { "string", "string" } + arguments = "2 strings", } implement { @@ -517,5 +516,5 @@ implement { implement { name = "settaggedmetadata", actions = tags.registermetadata, - arguments = "string" + arguments = "string", } diff --git a/tex/context/base/mkiv/supp-box.lua b/tex/context/base/mkiv/supp-box.lua index 664477cfc..40047167c 100644 --- a/tex/context/base/mkiv/supp-box.lua +++ b/tex/context/base/mkiv/supp-box.lua @@ -562,7 +562,7 @@ do implement { name = "directboxfromcache", - arguments = { "string", "string" }, + arguments = "2 strings", actions = { boxes.direct, context }, -- actions = function(category,name) local b = boxes.direct(category,name) if b then context(b) end end, } @@ -582,13 +582,13 @@ do implement { name = "doifelseboxincache", - arguments = { "string", "string" }, + arguments = "2 strings", actions = { boxes.found, doifelse }, } implement { name = "resetboxesincache", - arguments = { "string" }, + arguments = "string", actions = boxes.reset, } diff --git a/tex/context/base/mkiv/syst-aux.lua b/tex/context/base/mkiv/syst-aux.lua index 06f6176b1..f9d8505f1 100644 --- a/tex/context/base/mkiv/syst-aux.lua +++ b/tex/context/base/mkiv/syst-aux.lua @@ -61,7 +61,7 @@ local ctx_doifelse = commands.doifelse implement { name = "doifelsefirstchar", - arguments = { "string", "string" }, + arguments = "2 strings", actions = function(str,chr) ctx_doifelse(lpegmatch(pattern,str) == chr) end @@ -69,7 +69,7 @@ implement { implement { name = "getsubstring", - arguments = { "string", "string", "string" }, + arguments = "3 strings", actions = function(str,first,last) context(utfsub(str,tonumber(first),tonumber(last))) end @@ -581,42 +581,42 @@ end implement { name = "doifelsecommon", actions = doifelsecommon, - arguments = { "string", "string" }, + arguments = "2 strings", } implement { name = "doifcommon", actions = doifcommon, - arguments = { "string", "string" }, + arguments = "2 strings", } implement { name = "doifnotcommon", actions = doifnotcommon, - arguments = { "string", "string" }, + arguments = "2 strings", } implement { name = "doifelseinset", actions = doifelseinset, - arguments = { "string", "string" }, + arguments = "2 strings", } implement { name = "doifinset", actions = doifinset, - arguments = { "string", "string" }, + arguments = "2 strings", } implement { name = "doifnotinset", actions = doifnotinset, - arguments = { "string", "string" }, + arguments = "2 strings", } -- implement { -- name = "stringcompare", --- arguments = { "string", "string" }, +-- arguments = "2 strings", -- actions = function(a,b) -- context((a == b and 0) or (a > b and 1) or -1) -- end @@ -624,7 +624,7 @@ implement { -- -- implement { -- name = "doifelsestringafter", --- arguments = { "string", "string" }, +-- arguments = "2 strings", -- actions = function(a,b) -- ctx_doifelse((a == b and 0) or (a > b and 1) or -1) -- end @@ -632,7 +632,7 @@ implement { -- -- implement { -- name = "doifelsestringbefore", --- arguments = { "string", "string" }, +-- arguments = "2 strings", -- actions = function(a,b) -- ctx_doifelse((a == b and 0) or (a < b and -1) or 1) -- end @@ -640,7 +640,7 @@ implement { -- implement { -- not faster than addtocommalist -- name = "additemtolist", -- unique --- arguments = { "string", "string" }, +-- arguments = "2 strings", -- actions = function(l,s) -- if l == "" or s == l then -- -- s = s diff --git a/tex/context/base/mkiv/toks-ini.lua b/tex/context/base/mkiv/toks-ini.lua index 8f95f6692..15e5df267 100644 --- a/tex/context/base/mkiv/toks-ini.lua +++ b/tex/context/base/mkiv/toks-ini.lua @@ -58,6 +58,7 @@ end local scan_toks = token.scan_toks local scan_string = token.scan_string +local scan_argument = token.scan_argument local scan_int = token.scan_int local scan_code = token.scan_code local scan_dimen = token.scan_dimen @@ -241,6 +242,7 @@ tokens.scanners = { -- these expand integer = scan_int, count = scan_int, string = scan_string, + argument = scan_argument, code = scan_code, word = scan_word, number = scan_number, diff --git a/tex/context/base/mkiv/toks-scn.lua b/tex/context/base/mkiv/toks-scn.lua index f3781d022..fe32a1de4 100644 --- a/tex/context/base/mkiv/toks-scn.lua +++ b/tex/context/base/mkiv/toks-scn.lua @@ -21,6 +21,7 @@ local scanners = tokens.scanners local tokenbits = tokens.bits local scanstring = scanners.string +local scanargument = scanners.argument local scaninteger = scanners.integer local scannumber = scanners.number local scankeyword = scanners.keyword @@ -240,6 +241,19 @@ local f_check = formatters[ [[ end ]] ] +-- using these shortcuts saves temporary small tables (okay, it looks uglier) + +local presets = { + ["1 string" ] = { "string" }, + ["2 strings"] = { "string", "string" }, + ["3 strings"] = { "string", "string", "string" }, + ["4 strings"] = { "string", "string", "string", "string" }, + ["5 strings"] = { "string", "string", "string", "string", "string" }, + ["6 strings"] = { "string", "string", "string", "string", "string", "string" }, + ["7 strings"] = { "string", "string", "string", "string", "string", "string", "string" }, + ["8 strings"] = { "string", "string", "string", "string", "string", "string", "string", "string" }, +} + function tokens.compile(specification) local f = { } local n = 0 @@ -305,6 +319,10 @@ function tokens.compile(specification) return c end end + local p = t and presets[t] + if p then + t = p + end local tt = type(t) if tt == "string" then if a then diff --git a/tex/context/base/mkiv/trac-ctx.lua b/tex/context/base/mkiv/trac-ctx.lua index 29159d130..33637fd66 100644 --- a/tex/context/base/mkiv/trac-ctx.lua +++ b/tex/context/base/mkiv/trac-ctx.lua @@ -57,16 +57,16 @@ implement { implement { name = "installtextracker", + arguments = "3 strings", actions = function(tag,enable,disable) install(textrackers,trackers.register,tag,enable,disable) end, - arguments = { "string", "string", "string" } } implement { name = "installtexdirective", + arguments = "3 strings", actions = function(tag,enable,disable) install(texdirectives,directives.register,tag,enable,disable) end, - arguments = { "string", "string", "string" } } diff --git a/tex/context/base/mkiv/trac-inf.lua b/tex/context/base/mkiv/trac-inf.lua index 5810e2059..439e8b2dc 100644 --- a/tex/context/base/mkiv/trac-inf.lua +++ b/tex/context/base/mkiv/trac-inf.lua @@ -177,10 +177,7 @@ function statistics.show() register("control sequences", function() return format("%s of %s + %s", status.cs_count, status.hash_size,status.hash_extra) end) - register("callbacks", function() - local total, indirect = status.callbacks or 0, status.indirect_callbacks or 0 - return format("%s direct, %s indirect, %s total", total-indirect, indirect, total) - end) + register("callbacks", statistics.callbacks) if TEXENGINE == "luajittex" and JITSUPPORTED then local jitstatus = jit.status if jitstatus then diff --git a/tex/context/base/mkiv/trac-log.lua b/tex/context/base/mkiv/trac-log.lua index c7b6f6d2d..1471bd4c7 100644 --- a/tex/context/base/mkiv/trac-log.lua +++ b/tex/context/base/mkiv/trac-log.lua @@ -10,7 +10,6 @@ if not modules then modules = { } end modules ['trac-log'] = { -- terminal handler in lua then. Ok, maybe it's slower then, so a no-go. local next, type, select, print = next, type, select, print -local write_nl, write = texio and texio.write_nl or print, texio and texio.write or io.write local format, gmatch, find = string.format, string.gmatch, string.find local concat, insert, remove = table.concat, table.insert, table.remove local topattern = string.topattern @@ -18,6 +17,13 @@ local utfchar = utf.char local datetime = os.date local openfile = io.open +local runningtex = tex and (tex.jobname or tex.formatname) +-- local write_nl = texio and texio.write_nl or print +-- local write = texio and texio.write or io.write + +local write_nl = runningtex and texio and texio.write_nl or print +local write = runningtex and texio and texio.write or io.write + local setmetatableindex = table.setmetatableindex local formatters = string.formatters local settings_to_hash = utilities.parsers.settings_to_hash @@ -108,7 +114,7 @@ local direct, subdirect, writer, pushtarget, poptarget, setlogfile, settimedlog, -- we don't want this overhead for single messages (not that there are that -- many; we could have a special weak table) -if tex and (tex.jobname or tex.formatname) then +if runningtex then if texio.setescape then texio.setescape(0) -- or (false) diff --git a/tex/context/base/mkiv/typo-inj.lua b/tex/context/base/mkiv/typo-inj.lua index 786c3c287..44b6c0a14 100644 --- a/tex/context/base/mkiv/typo-inj.lua +++ b/tex/context/base/mkiv/typo-inj.lua @@ -91,8 +91,8 @@ end implement { name = "resetinjector", actions = injectors.reset, arguments = "string" } implement { name = "showinjector", actions = injectors.show, arguments = "string" } -implement { name = "setinjector", actions = injectors.set, arguments = { "string", "string", "string" } } +implement { name = "setinjector", actions = injectors.set, arguments = "3 strings" } implement { name = "markinjector", actions = injectors.mark, arguments = "string" } -implement { name = "checkinjector", actions = injectors.check, arguments = { "string", "string" } } +implement { name = "checkinjector", actions = injectors.check, arguments = "2 strings" } --------- { name = "checkpreviousinjector", actions = injectors.check, arguments = { "string", tokens.constant(v_previous) } } --------- { name = "checknextinjector", actions = injectors.check, arguments = { "string", tokens.constant(v_next) } } diff --git a/tex/context/base/mkiv/util-lua.lua b/tex/context/base/mkiv/util-lua.lua index bd74d0843..b7de11936 100644 --- a/tex/context/base/mkiv/util-lua.lua +++ b/tex/context/base/mkiv/util-lua.lua @@ -42,7 +42,7 @@ luautilities.suffixes = { -- environment.loadpreprocessedfile can be set to a preprocessor -local function register(name) +local function register(name) -- makes no sense runtime if tracestripping then report_lua("stripped bytecode from %a",name or "unknown") end @@ -75,18 +75,12 @@ end function luautilities.loadedluacode(fullname,forcestrip,name,macros) -- quite subtle ... doing this wrong incidentally can give more bytes name = name or fullname - local code, message if macros then macros = lua.macros end - if macros and macros.enabled then - -- local c = io.loaddata(fullname) -- not yet available - local f = io.open(fullname,"rb") local c = f:read("*a") f:close() - local n = c and macros.resolvestring("--[["..fullname.."]] "..c) - if n and #n ~= #c then - report_lua("preprocessed file %a: %i => %i bytes",fullname,#c,#n) - end - code, message = load(n or c) + local code, message + if macros then + code, message = macros.loaded(fullname,true,false) else code, message = loadfile(fullname) end diff --git a/tex/context/base/mkiv/util-sql-imp-ffi.lua b/tex/context/base/mkiv/util-sql-imp-ffi.lua index 07c4752cd..2a2bc6569 100644 --- a/tex/context/base/mkiv/util-sql-imp-ffi.lua +++ b/tex/context/base/mkiv/util-sql-imp-ffi.lua @@ -365,10 +365,10 @@ local function connect(session,specification) end local function error_in_connection(specification,action) - report_state("error in connection: [%s] %s@%s to %s:%s", + report_state("error in connection: [%s] user %s into %s at %s:%s", action or "unknown", - specification.database or "no database", specification.username or "no username", + specification.database or "no database", specification.host or "no host", specification.port or "no port" ) diff --git a/tex/context/base/mkiv/util-str.lua b/tex/context/base/mkiv/util-str.lua index 9da0c6a2f..f76895aaf 100644 --- a/tex/context/base/mkiv/util-str.lua +++ b/tex/context/base/mkiv/util-str.lua @@ -12,7 +12,8 @@ local strings = utilities.strings local format, gsub, rep, sub, find = string.format, string.gsub, string.rep, string.sub, string.find local load, dump = load, string.dump -local tonumber, type, tostring, next = tonumber, type, tostring, next +local tonumber, type, tostring, next, setmetatable = tonumber, type, tostring, next, setmetatable +local unpack, concat = table.unpack, table.concat local unpack, concat = table.unpack, table.concat local P, V, C, S, R, Ct, Cs, Cp, Carg, Cc = lpeg.P, lpeg.V, lpeg.C, lpeg.S, lpeg.R, lpeg.Ct, lpeg.Cs, lpeg.Cp, lpeg.Carg, lpeg.Cc local patterns, lpegmatch = lpeg.patterns, lpeg.match @@ -22,8 +23,9 @@ local utfchar, utfbyte, utflen = utf.char, utf.byte, utf.len ----- setmetatableindex = table.setmetatableindex local loadstripped = nil +local oldfashioned = LUAVERSION < 5.2 -if LUAVERSION < 5.2 then +if oldfashioned then loadstripped = function(str,shortcuts) return load(str) @@ -296,7 +298,7 @@ end -- -- integer %...i number -- integer %...d number --- unsigned %...u number -- no tused +-- unsigned %...u number -- not used -- character %...c number -- hexadecimal %...x number -- HEXADECIMAL %...X number @@ -524,7 +526,7 @@ return function(%s) return %s end local preamble, environment = "", { } -if LUAVERSION < 5.2 then +if oldfashioned then preamble = [[ local lpeg=lpeg @@ -574,7 +576,7 @@ else sequenced = table.sequenced, formattednumber = number.formatted, sparseexponent = number.sparseexponent, - formattedfloat = number.formattedfloat + formattedfloat = number.formattedfloat, } end @@ -1044,42 +1046,31 @@ local builder = Cs { "start", ["!"] = Carg(2) * prefix_any * P("!") * C((1-P("!"))^1) * P("!") / format_extension, } --- we can be clever and only alias what is needed - --- local direct = Cs ( --- P("%")/"" --- * Cc([[local format = string.format return function(str) return format("%]]) --- * (S("+- .") + R("09"))^0 --- * S("sqidfgGeExXo") --- * Cc([[",str) end]]) --- * P(-1) --- ) - -local direct = Cs ( - P("%") - * (S("+- .") + R("09"))^0 - * S("sqidfgGeExXo") - * P(-1) / [[local format = string.format return function(str) return format("%0",str) end]] -) +-- We can be clever and only alias what is needed: + +local xx = setmetatable({ }, { __index = function(t,k) local v = format("%02x",k) t[k] = v return v end }) +local XX = setmetatable({ }, { __index = function(t,k) local v = format("%02X",k) t[k] = v return v end }) --- local direct = Cs ( --- P("%") --- * (S("+- .") + R("09"))^0 --- * S("sqidfgGeExXo") --- * (1-P("%"))^0 --- * P(-1) / [[local format = string.format return function(str) return format([==[%0]==],str) end]] --- ) +local preset = { + ["%02x"] = function(n) return xx[n] end, + ["%02X"] = function(n) return XX[n] end, +} + +local direct = + P("%") * (S("+- .") + R("09"))^0 * S("sqidfgGeExXo") * P(-1) + / [[local format = string.format return function(str) return format("%0",str) end]] local function make(t,str) - local f - local p + local f = preset[str] + if f then + return f + end local p = lpegmatch(direct,str) if p then - -- f = loadstripped(p)() -- print("builder 1 >",p) f = loadstripped(p)() else - n = 0 + n = 0 -- used in patterns -- p = lpegmatch(builder,str,1,"..",t._extensions_) -- after this we know n p = lpegmatch(builder,str,1,t._connector_,t._extensions_) -- after this we know n if n > 0 then @@ -1142,7 +1133,7 @@ strings.formatters = { } -- _connector_ is an experiment -if LUAVERSION < 5.2 then +if oldfashioned then function strings.formatters.new(noconcat) local t = { _type_ = "formatter", _connector_ = noconcat and "," or "..", _extensions_ = { }, _preamble_ = preamble, _environment_ = { } } @@ -1202,7 +1193,7 @@ patterns.luaquoted = Cs(Cc('"') * ((1-S('"\n'))^1 + P('"')/'\\"' + P('\n')/'\\n" -- escaping by lpeg is faster for strings without quotes, slower on a string with quotes, but -- faster again when other q-escapables are found (the ones we don't need to escape) -if LUAVERSION < 5.2 then +if oldfashioned then add(formatters,"xml",[[lpegmatch(xmlescape,%s)]],"local xmlescape = lpeg.patterns.xmlescape") add(formatters,"tex",[[lpegmatch(texescape,%s)]],"local texescape = lpeg.patterns.texescape") diff --git a/tex/context/fonts/mkiv/type-imp-modernlatin.mkiv b/tex/context/fonts/mkiv/type-imp-modernlatin.mkiv new file mode 100644 index 000000000..a3f4762f1 --- /dev/null +++ b/tex/context/fonts/mkiv/type-imp-modernlatin.mkiv @@ -0,0 +1,69 @@ +%D \module +%D [ file=type-imp-modernlatin, +%D version=2018.03.25, +%D title=\CONTEXT\ Typescript Macros, +%D subtitle=Modern Latin Modern, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\starttypescriptcollection[modernlatin] + + \definefontfeature[lm-rm-regular][effect={width=0.15,delta=1.00}] + \definefontfeature[lm-rm-bold] [effect={width=0.30,delta=1.00}] + \definefontfeature[lm-ss-regular][effect={width=0.10,delta=1.00}] + \definefontfeature[lm-ss-bold] [effect={width=0.20,delta=1.00}] + \definefontfeature[lm-tt-regular][effect={width=0.20,delta=1.00}] + \definefontfeature[lm-tt-bold] [effect={width=0.30,delta=1.00}] + + \starttypescript [\s!serif] [modern-latin] + % \loadfontgoodies[lm] + \definefontsynonym [Serif] [\s!file:lmroman10-regular] [\s!features={\s!default,lm-rm-regular}] + \definefontsynonym [SerifItalic] [\s!file:lmroman10-italic] [\s!features={\s!default,lm-rm-regular}] + \definefontsynonym [SerifSlanted] [\s!file:lmromanslant10-regular] [\s!features={\s!default,lm-rm-regular}] + \definefontsynonym [SerifBold] [\s!file:lmroman10-regular] [\s!features={\s!default,lm-rm-bold}] + \definefontsynonym [SerifBoldItalic] [\s!file:lmroman10-italic] [\s!features={\s!default,lm-rm-bold}] + \definefontsynonym [SerifBoldSlanted][\s!file:lmromanslant10-regular] [\s!features={\s!default,lm-rm-bold}] + \stoptypescript + + \starttypescript [\s!sans] [modern-latin] + % \loadfontgoodies[lm] + \definefontsynonym [Sans] [\s!file:lmsans10-regular] [\s!features={\s!default,lm-ss-regular}] + \definefontsynonym [SansItalic] [\s!file:lmsans10-oblique] [\s!features={\s!default,lm-ss-regular}] + \definefontsynonym [SansSlanted] [\s!file:lmsans10-oblique] [\s!features={\s!default,lm-ss-regular}] + \definefontsynonym [SansBold] [\s!file:lmsans10-regular] [\s!features={\s!default,lm-ss-bold}] + \definefontsynonym [SansBoldItalic] [\s!file:lmsans10-oblique] [\s!features={\s!default,lm-ss-bold}] + \definefontsynonym [SansBoldSlanted][\s!file:lmsans10-oblique] [\s!features={\s!default,lm-ss-bold}] + \stoptypescript + + \starttypescript [\s!mono] [modern-latin] + % \loadfontgoodies[lm] + \definefontsynonym [Mono] [\s!file:lmmono10-regular] [\s!features={\s!default,lm-tt-regular}] + \definefontsynonym [MonoItalic] [\s!file:lmmono10-italic] [\s!features={\s!default,lm-tt-regular}] + \definefontsynonym [MonoSlanted] [\s!file:lmmonoslant10-regular] [\s!features={\s!default,lm-tt-regular}] + \definefontsynonym [MonoBold] [\s!file:lmmono10-regular] [\s!features={\s!default,lm-tt-bold}] + \definefontsynonym [MonoBoldItalic] [\s!file:lmmono10-italic] [\s!features={\s!default,lm-tt-bold}] + \definefontsynonym [MonoBoldSlanted][\s!file:lmmonoslant10-regular] [\s!features={\s!default,lm-tt-bold}] + \stoptypescript + + \starttypescript [\s!math] [modern-latin] + \loadfontgoodies[lm] + \definefontsynonym [LMMathRoman-Regular] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,lm-math,mathextra},\s!goodies=lm] + \definefontsynonym [LMMathRoman-Bold] [\v!file:latinmodern-math-regular.otf] [\s!features={\s!math\mathsizesuffix,lm-math,mathextra},\s!goodies=lm] + \stoptypescript + + \starttypescript [modern-latin] + \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern-latin] [\s!default] + \definetypeface [\typescriptone] [\s!ss] [\s!sans] [modern-latin] [\s!default] + \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern-latin] [\s!default] + \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern-latin] [\s!default] + \quittypescriptscanning + \stoptypescript + +\stoptypescriptcollection + +\endinput diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf index 7b808f8da..6ff801846 100644 Binary files a/tex/context/interface/mkiv/i-context.pdf and b/tex/context/interface/mkiv/i-context.pdf differ diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf index aad96f1a7..f86da332a 100644 Binary files a/tex/context/interface/mkiv/i-readme.pdf and b/tex/context/interface/mkiv/i-readme.pdf differ diff --git a/tex/context/modules/common/s-faq-01.tex b/tex/context/modules/common/s-faq-01.tex index f6ee3ce06..e031d79d5 100644 --- a/tex/context/modules/common/s-faq-01.tex +++ b/tex/context/modules/common/s-faq-01.tex @@ -8,8 +8,8 @@ %D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %C %C This module is part of the \CONTEXT\ macro||package and is -%C therefore copyrighted by \PRAGMA. See mreadme.pdf for -%C details. +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. \usemodule[faq-00] @@ -25,7 +25,7 @@ width=fit, footer=0pt, bottomdistance=12pt, - bottom=18pt] + bottom=18pt] \setupinteractionscreen [width=fit, @@ -152,7 +152,7 @@ \blank[3*big] \midaligned{\tta \ListOfFAQ} \vfill - \midaligned{\tta pragma@wxs.nl} + \midaligned{\tta pragma@xs4all.nl} \blank[3*big] \stopstandardmakeup} @@ -187,7 +187,7 @@ \def\EndFAQ {\stopframedtext - \egroup + \egroup \button [color=,contrastcolor=,frame=overlay,offset=overlay] {\copy0} @@ -205,7 +205,7 @@ \startuniqueMPgraphic{Frame} path p ; p := unitsquare xscaled \overlaywidth yscaled \overlayheight ; - pickup pencircle scaled 2pt ; + pickup pencircle scaled 2pt ; fill p withcolor \MPcolor{\overlaycolor} ; draw p withcolor \MPcolor{\overlaylinecolor} ; \stopuniqueMPgraphic diff --git a/tex/context/modules/common/s-faq-02.tex b/tex/context/modules/common/s-faq-02.tex index 92aa1eca2..c39ae1046 100644 --- a/tex/context/modules/common/s-faq-02.tex +++ b/tex/context/modules/common/s-faq-02.tex @@ -8,8 +8,8 @@ %D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %C %C This module is part of the \CONTEXT\ macro||package and is -%C therefore copyrighted by \PRAGMA. See mreadme.pdf for -%C details. +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. \usemodule[faq-00] @@ -37,7 +37,7 @@ \blank[3*big] \midaligned{\tta \ListOfFAQ} \vfill - \midaligned{\tta pragma@wxs.nl} + \midaligned{\tta pragma@xs4all.nl} \blank[3*big] \stopstandardmakeup} diff --git a/tex/context/modules/mkiv/m-punk.mkiv b/tex/context/modules/mkiv/m-punk.mkiv index b72abd64d..08a066359 100644 --- a/tex/context/modules/mkiv/m-punk.mkiv +++ b/tex/context/modules/mkiv/m-punk.mkiv @@ -11,6 +11,12 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. +%D You can actually turn a punk font into music (wintergatan): +%D +%D \starttyping +%D https://www.youtube.com/watch?v=g5c2Htj8Vtw +%D \stoptyping + \startluacode local concat = table.concat local round = math.round diff --git a/tex/context/modules/mkiv/s-fonts-basics.mkiv b/tex/context/modules/mkiv/s-fonts-basics.mkiv new file mode 100644 index 000000000..e9d0a21a2 --- /dev/null +++ b/tex/context/modules/mkiv/s-fonts-basics.mkiv @@ -0,0 +1,175 @@ +%D \module +%D [ file=s-fnt-01, +%D version=2006.10.10, % guess +%D title=\CONTEXT\ Style File, +%D subtitle=Listing Glyphs in Large Fonts, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D This module is just a check for \type {luatex-basics-prepare}. + +\usemodule[article] + +\setupbodyfont[9pt] + +\starttext + +\definefontfeature + [boundingbox] + [boundingbox=yes] + +\definefont + [TestFont] + [file:arialuni.ttf*boundingbox] + +\startluacode + +local data = characters.data + +local indicscripts = table.sorted { + "devanagari", + "kannada", + "malayalam", + "tamil", + "bengali", + "gurmukhi", + "gujarati", + "oriya", + "telugu", +} + +local arabicscripts = table.sorted { + "arabic", + "syriac", + "mandiac", + "nko", +} + +local allindic = true +local allarabic = true +local dotted = utf.char(0x25CC) + +local left = table.setmetatableindex ( + { r = dotted, b = dotted, t = dotted, s = dotted }, + function(t,k) local v = "" if k then t[k] = v end return v end +) + +local right = table.setmetatableindex ( + { l = dotted }, + function(t,k) local v = "" if k then t[k] = v end return v end +) + +for i=1,#indicscripts do + local script = indicscripts[i] + local first, last = characters.blockrange(script) + context.starttitle { title = script } + context.starttabulate { "|Tc|Tc|Tc|Tc|Tc|Tc|Tc|Tp|" } + context.FL() + context.BC() context("unicode") + context.BC() context("glyph") + context.BC() context("category") + context.BC() context("indic") + context.BC() context("mark") + context.BC() context("class") + context.BC() context("order") + context.BC() context("description") + context.NC() context.NR() + context.ML() + for i=first,last do + local d = data[i] + if d and d.unicodeslot then + local indic = d.indic + local category = d.category or "?" + local description = d.description + if not indic then + context.NC() context("\\red %U",i) + context.NC() context("\\red\\showstruts\\strut\\TestFont %c",i) + context.NC() context("\\red %s",category) + context.NC() + context.NC() + context.NC() + context.NC() + context.NC() context(description) + context.NC() context.NR() + else + local indicclass = d.indicclass + local indicmark = d.indicmark + local indicorder = d.indicorder + if allindic or indic == "d" or indicmark or indicclass or indicorder then + local l = left [indicmark] + local r = right[indicmark] + context.NC() context("%U",i) + context.NC() context("\\showstruts\\strut\\TestFont %s%c%s",l,i,r) + context.NC() context(category) + context.NC() context(indic or "?") + context.NC() context(indicmark or "") + context.NC() context(indicclass or "") + context.NC() context(indicorder or "") + context.NC() context(description) + context.NC() context.NR() + end + end + end + end + context.LL() + context.stoptabulate() + context.stoptitle() +end + +for i=1,#arabicscripts do + local script = arabicscripts[i] + local first, last = characters.blockrange(script) + context.starttitle { title = script } + context.starttabulate { "|Tc|Tc|Tc|Tc|Tp|" } + context.FL() + context.BC() context("unicode") + context.BC() context("glyph") + context.BC() context("category") + context.BC() context("arabic") + context.BC() context("description") + context.NC() context.NR() + context.ML() + for i=first,last do + local d = data[i] + if d and d.unicodeslot then + local arabic = d.arabic + local category = d.category or "" + local description = d.description or "" + if arabic then + context.NC() context("%U",i) + context.NC() context("\\showstruts\\strut\\TestFont %c",i) + context.NC() context(category) + context.NC() context(arabic) + context.NC() context(description) + context.NC() context.NR() + elseif allarabic then + context.NC() context("\\red %U",i) + context.NC() context("\\red\\showstruts\\strut\\TestFont %c",i) + context.NC() context("\\red %s",category) + context.NC() + context.NC() context("\\red %s",description) + context.NC() context.NR() + end + end + end + context.LL() + context.stoptabulate() + context.stoptitle() +end + +-- local olddata = io.loaddata("char-def.lua") +-- local preamble = string.gsub(olddata,"characters%.data%s*=%s*%{.*","") + +-- local newdata = table.serialize(data,"characters.data", { hexify = true, noquotes = true }) +-- local newdata = string.gsub(newdata,"%{%s+%[0xFE0E%]=\"text style\",%s+%[0xFE0F%]=\"emoji style\",%s+%}","variants_emoji") + +-- io.savedata("char-def-new.lua",newdata) + +\stopluacode + +\stoptext diff --git a/tex/context/modules/mkiv/s-fonts-overlay.mkiv b/tex/context/modules/mkiv/s-fonts-overlay.mkiv new file mode 100644 index 000000000..fccc977d4 --- /dev/null +++ b/tex/context/modules/mkiv/s-fonts-overlay.mkiv @@ -0,0 +1,107 @@ +%D \module +%D [ file=s-fonts-overlay, +%D version=2018.03.25, +%D title=\CONTEXT\ Style File, +%D subtitle=Show Glyph Similarity, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +% begin info +% +% title : overlay glyphs in fonts +% +% comment : show glyphs in two fonts +% status : experimental, used for font feature development +% +% end info + +%D This module is for Luigi/Idris as part of the Husayni development where the +%D gpos pair, single, mark and cursive features are just linear transformations. + +\startmodule[fonts-coverage] + +\unprotect + +\definecolor[ColorOne][r=1,t=.5,a=1] +\definecolor[ColorTwo][b=1,t=.5,a=1] + +\startluacode + moduledata.fonts = moduledata.fonts or { } + moduledata.fonts.overlay = moduledata.fonts.overlay or { } + + function moduledata.fonts.overlay(id) + for k, v in table.sortedhash(fonts.hashes.identifiers[id or true].characters) do + context.showoverlayedglyphs(k) + end + end +\stopluacode + +\starttexdefinition unexpanded showoverlayedglyphs#1 + \startTEXpage[offset=.25\scratchdimentwo,height=10\scratchdimentwo,width=4\scratchdimenone] + \ruledhbox to \hsize\bgroup + \hss + \FontOne\setstrut\strut\showglyphs + \startoverlay + {\ColorOne\ruledhbox{\FontOne\char#1}} + {\ColorTwo\ruledhbox{\FontTwo\char#1}} + \stopoverlay + \hss + \egroup + \vfill + \dontleavehmode + \hbox to \hsize\bgroup + \hss + \infofont0x\uchexnumbers{#1} + \hss + \egroup + \stopTEXpage +\stoptexdefinition + +\starttexdefinition unexpanded showoverlayedfonts[#1] + \start + \getdummyparameters[\c!list=,#1] + \doifsomething {\dummyparameter\c!list} { + \page + \getfromcommacommand[\dummyparameter\c!list][1]\let\NameOne\commalistelement + \getfromcommacommand[\dummyparameter\c!list][2]\let\NameTwo\commalistelement + \definefont[FontOne][\NameOne] + \definefont[FontTwo][\NameTwo] + \FontOne\expandafter\edef\expandafter\OneID\expandafter{\number\fontid\font}% + \FontTwo\expandafter\edef\expandafter\TwoID\expandafter{\number\fontid\font}% + \scratchdimenone\emwidth + \scratchdimentwo\exheight + \ctxlua{moduledata.fonts.overlay(\OneID)}% + \page + % \startTEXpage[offset=.25\scratchdimentwo,height=10\scratchdimentwo,width=4\scratchdimenone] + % \vfill + % \hbox to \hsize{\ColorOne\infofont\hss\OneN\hss} + % \vfill + % \hbox to \hsize{\ColorTwo\infofont\hss\TwoN\hss} + % \vfill + % \stopTEXpage + % \page + } + \stop +\stoptexdefinition + +\protect + +\stopmodule + +\continueifinputfile{s-fonts-overlay.mkiv} + +\starttext + +% \showoverlayedfonts +% [list={file:husayni-script-regular.ttf @ 48.0pt, +% file:husayni-note-bold.ttf @ 34.2pt}] % 34.18726pt + + \showoverlayedfonts + [list={Serif,SerifBold}] + +\stoptext diff --git a/tex/context/modules/mkiv/s-fonts-shapes.lua b/tex/context/modules/mkiv/s-fonts-shapes.lua index ebdf04c22..748c5a92a 100644 --- a/tex/context/modules/mkiv/s-fonts-shapes.lua +++ b/tex/context/modules/mkiv/s-fonts-shapes.lua @@ -109,12 +109,9 @@ local characters = nil local function showglyphshape(specification) specification = interfaces.checkedspecification(specification) - local id, cs = fonts.definers.internal(specification,"") + local id, cs = fonts.definers.internal(specification,"") local tfmdata = fontdata[id] - local charnum = tonumber(specification.character) - if not charnum then - charnum = fonts.helpers.nametoslot(specification.character) - end + local charnum = tonumber(specification.character) or fonts.helpers.nametoslot(specification.character) local characters = tfmdata.characters local descriptions = tfmdata.descriptions local parameters = tfmdata.parameters @@ -133,64 +130,75 @@ local function showglyphshape(specification) context.startMPcode() context("numeric lw ; lw := .125bp ;") context("pickup pencircle scaled lw ;") - context('picture p ; p := image(draw textext.drt("\\getuvalue{%s}\\gray\\char%s");); draw p ;',cs,charnum) + if width < 0.01 then + -- catches zero width marks + context('picture p ; p := textext.drt("\\hskip5sp\\getuvalue{%s}\\gray\\char%s"); draw p ;',cs,charnum) + else + context('picture p ; p := textext.drt("\\getuvalue{%s}\\gray\\char%s"); draw p ;',cs,charnum) + end context('draw (%s,%s)--(%s,%s)--(%s,%s)--(%s,%s)--cycle withcolor green ;',llx,lly,urx,lly,urx,ury,llx,ury) context('draw (%s,%s)--(%s,%s) withcolor green ;',llx,0,urx,0) context('draw boundingbox p withcolor .2white withpen pencircle scaled .065bp ;') context("defaultscale := 0.05 ; ") -- inefficient but non critical - local function slant_1(v,dx,dy,txt,xsign,ysign,loc,labloc) - if #v > 0 then - local l = { } - for kk, vv in ipairs(v) do - local h, k = vv.height or 0, vv.kern or 0 - if h and k then - l[#l+1] = formatters["((%s,%s) shifted (%s,%s))"](xsign*k*factor,ysign*h*factor,dx,dy) + local slant = { + function(v,dx,dy,txt,xsign,ysign,loc,labloc) + local n = #v + if n > 0 then + local l = { } + for i=1,n do + local c = v[i] + local h = c.height or 0 + local k = c.kern or 0 + l[i] = formatters["((%s,%s) shifted (%s,%s))"](xsign*k*factor,ysign*h*factor,dx,dy) end - end - context("draw ((%s,%s) shifted (%s,%s))--%s dashed (evenly scaled 1/16) withcolor .5white;", xsign*v[1].kern*factor,lly,dx,dy,l[1]) - context("draw laddered (%s) withcolor .5white ;",table.concat(l,"..")) - context("draw ((%s,%s) shifted (%s,%s))--%s dashed (evenly scaled 1/16) withcolor .5white;", xsign*v[#v].kern*factor,ury,dx,dy,l[#l]) - for k, v in ipairs(l) do - context("draw %s withcolor blue withpen pencircle scaled 2lw ;",v) - end - end - end - local function slant_2(v,dx,dy,txt,xsign,ysign,loc,labloc) - if #v > 0 then - local l = { } - for kk, vv in ipairs(v) do - local h, k = vv.height or 0, vv.kern or 0 - if h and k then - l[#l+1] = formatters["((%s,%s) shifted (%s,%s))"](xsign*k*factor,ysign*h*factor,dx,dy) + context("draw ((%s,%s) shifted (%s,%s))--%s dashed (evenly scaled 1/16) withcolor .5white;", xsign*v[1].kern*factor,lly,dx,dy,l[1]) +-- context("draw laddered (%s) withcolor .5white ;",table.concat(l,"..")) + context("draw laddered (%..t) withcolor .5white ;",l) + context("draw ((%s,%s) shifted (%s,%s))--%s dashed (evenly scaled 1/16) withcolor .5white;", xsign*v[#v].kern*factor,ury,dx,dy,l[#l]) + for i=1,n do + context("draw %s withcolor blue withpen pencircle scaled 2lw ;",l[i]) end end - if loc == "top" then - context('label.%s("\\type{%s}",%s shifted (0,-1bp)) ;',loc,txt,l[#l]) - else - context('label.%s("\\type{%s}",%s shifted (0,2bp)) ;',loc,txt,l[1]) - end - for kk, vv in ipairs(v) do - local h, k = vv.height or 0, vv.kern or 0 - if h and k then - context('label.top("(%s,%s)",%s shifted (0,-2bp));',k,h,l[kk]) + end, + function(v,dx,dy,txt,xsign,ysign,loc,labloc) + local n = #v + if n > 0 then + local l = { } + for i=1,n do + local c = v[i] + local h = c.height or 0 + local k = c.kern or 0 + l[i] = formatters["((%s,%s) shifted (%s,%s))"](xsign*k*factor,ysign*h*factor,dx,dy) + end + if loc == "top" then + context('label.%s("\\type{%s}",%s shifted (0,-1bp)) ;',loc,txt,l[n]) + else + context('label.%s("\\type{%s}",%s shifted (0,2bp)) ;',loc,txt,l[1]) + end + for i=1,n do + local c = v[i] + local h = c.height or 0 + local k = c.kern or 0 + context('label.top("(%s,%s)",%s shifted (0,-2bp));',k,h,l[i]) end end - end - end + end, + } if math then local kerns = math.kerns if kerns then - for _, slant in ipairs { slant_1, slant_2 } do - for k,v in pairs(kerns) do + for i=1,#slant do + local s = slant[i] + for k, v in next, kerns do if k == "topright" then - slant(v,width+italic,0,k,1,1,"top","ulft") + s(v,width+italic,0,k,1,1,"top","ulft") elseif k == "bottomright" then - slant(v,width,0,k,1,1,"bot","lrt") + s(v,width,0,k,1,1,"bot","lrt") elseif k == "topleft" then - slant(v,0,0,k,-1,1,"top","ulft") + s(v,0,0,k,-1,1,"top","ulft") elseif k == "bottomleft" then - slant(v,0,0,k,-1,1,"bot","lrt") + s(v,0,0,k,-1,1,"bot","lrt") end end end @@ -205,33 +213,34 @@ local function showglyphshape(specification) if anchors then local a = anchors.baselig if a then - for k, v in pairs(a) do - for kk, vv in ipairs(v) do - show(vv[1],vv[2],k .. ":" .. kk) + for k, v in next, a do + for i=1,#v do + local p = v[i] + show(p[1],p[2],k .. ":" .. i) end end end local a = anchors.mark if a then - for k, v in pairs(a) do + for k, v in next, a do show(v[1],v[2],k) end end local a = anchors.basechar if a then - for k, v in pairs(a) do + for k, v in next, a do show(v[1],v[2],k) end end local ba = anchors.centry if a then - for k, v in pairs(a) do + for k, v in next, a do show(v[1],v[2],k) end end local a = anchors.cexit if a then - for k, v in pairs(a) do + for k, v in next, a do show(v[1],v[2],k) end end diff --git a/tex/context/modules/mkiv/s-fonts-shapes.mkiv b/tex/context/modules/mkiv/s-fonts-shapes.mkiv index 4a0377ada..53ed1b426 100644 --- a/tex/context/modules/mkiv/s-fonts-shapes.mkiv +++ b/tex/context/modules/mkiv/s-fonts-shapes.mkiv @@ -109,7 +109,11 @@ % \startTEXpage[offset=0pt]\ShowGlyphShape{name:cambria-math}{50bp}{0x1D45D}\stopTEXpage % \page -\showallglyphshapes[name=name:cambria-math,size=100bp] +\startTEXpage[offset=0pt]\ShowGlyphShape{file:husayninotebold.ttf}{50bp}{0xF034A}\stopTEXpage +\startTEXpage[offset=0pt]\ShowGlyphShape{file:husayninotebold.ttf}{50bp}{0x006DD}\stopTEXpage + +% \showallglyphshapes[name=name:cambria-math,size=100bp] +% \showallglyphshapes[name=file:husayninotebold.ttf,size=100bp] % \showallglyphshapes[name=name:dejavuserif,size=100bp] % \showallglyphshapes[name=file:brill.otf,size=100bp] diff --git a/tex/context/modules/mkiv/s-tugboat.mkiv b/tex/context/modules/mkiv/s-tugboat.mkiv index 2b3b07d11..d3d15c3e7 100644 --- a/tex/context/modules/mkiv/s-tugboat.mkiv +++ b/tex/context/modules/mkiv/s-tugboat.mkiv @@ -23,8 +23,7 @@ [tugboat] [type=article, columns=no, - grid=yes - ] + grid=yes] \setvariables [tugboat] @@ -45,7 +44,7 @@ email={tugboat@tug.org}] %D \section Font Setup %<<<1 -%D +%D %D \TUGBOAT\ uses slightly different interline space than the default. %D So we change the interline space. @@ -121,7 +120,7 @@ \setupdescriptions [indentnext=no] -%D \section Itemize +%D \section Itemize %D %D And these. We typeset itemizations ragged right. @@ -158,7 +157,7 @@ subject, subsubject, subsubsubject] [style=bold, align=right, - before={\blank[8pt]}, + before={\blank[8pt]}, after={\blank[4pt]}] %D \section Spacing <<<1 @@ -173,8 +172,8 @@ \setupitemize[1][before={\blank[tugblank]},after={\blank[tugblank]}, inbetween={\blank[tugblank]}] -\setuplines[before={\blank[tugblank]},after={\blank[tugblank]}, - inbetween={\blank[tugblank]}] +\setuplines[before={\blank[tugblank]},after={\blank[tugblank]}, + inbetween={\blank[tugblank]}] %D \section Typing %<<<1 %D @@ -232,7 +231,7 @@ \definereferenceformat[cite][left={[},right={]}] \defineitemgroup [bibliography] [levels=1] -\setupitemgroup [bibliography] +\setupitemgroup [bibliography] [symbol=n, left={[}, right={]}, diff --git a/tex/context/modules/mkiv/x-asciimath.lua b/tex/context/modules/mkiv/x-asciimath.lua index 7785d5587..b0d45659e 100644 --- a/tex/context/modules/mkiv/x-asciimath.lua +++ b/tex/context/modules/mkiv/x-asciimath.lua @@ -50,9 +50,12 @@ local formatters = string.formatters local entities = characters.entities or { } local xmltext = xml.text +local xmlpure = xml.pure local xmlinclusion = xml.inclusion local xmlcollected = xml.collected +local lxmlgetid = lxml.getid + -- todo: use private unicodes as temporary slots ... easier to compare local s_lparent = "\\left\\lparent" @@ -2089,6 +2092,14 @@ interfaces.implement { arguments = { "string", true }, } +interfaces.implement { + name = "xmlasciimath", + actions = function(id) + convert(xmlpure(lxmlgetid(id))) + end, + arguments = "string" +} + local ctx_typebuffer = context.typebuffer local ctx_mathematics = context.mathematics local ctx_color = context.color @@ -2192,7 +2203,7 @@ end function show.filter(id,element) collected, indexed, ignored = { }, { }, { } - asciimath.filter(lxml.getid(id),element or "am",collected,indexed) + asciimath.filter(lxmlgetid(id),element or "am",collected,indexed) end function show.max() diff --git a/tex/context/modules/mkiv/x-asciimath.mkiv b/tex/context/modules/mkiv/x-asciimath.mkiv index 1b0567dbd..32eaf2af2 100644 --- a/tex/context/modules/mkiv/x-asciimath.mkiv +++ b/tex/context/modules/mkiv/x-asciimath.mkiv @@ -182,6 +182,23 @@ {\the\everyasciimath \clf_justasciimath{\detokenize\expandafter{\normalexpanded{#1}}}}} +% \unexpanded\def\xmlasciimath +% {\clf_xmlasciimath} + +\unexpanded\def\xmlasciimath + {\doifnextoptionalelse\xmlasciimath_yes\xmlasciimath_nop} + +\def\xmlasciimath_yes[#1]#2% + {\mathematics + [#1]% + {\the\everyasciimath% + \clf_xmlasciimath{#2}}} + +\def\xmlasciimath_nop#1% + {\mathematics + {\the\everyasciimath + \clf_xmlasciimath{#1}}} + \unexpanded\def\ctxmoduleasciimath#1% {\ctxlua{moduledata.asciimath.#1}} diff --git a/tex/generic/context/luatex/luatex-basics-chr.lua b/tex/generic/context/luatex/luatex-basics-chr.lua index 75dffd192..14a55d7b0 100644 --- a/tex/generic/context/luatex/luatex-basics-chr.lua +++ b/tex/generic/context/luatex/luatex-basics-chr.lua @@ -676,6 +676,17 @@ characters.classifiers={ [2137]=5, [2138]=5, [2139]=5, + [2144]=2, + [2145]=4, + [2146]=2, + [2147]=2, + [2148]=2, + [2149]=2, + [2150]=4, + [2151]=3, + [2152]=2, + [2153]=3, + [2154]=3, [2208]=2, [2209]=2, [2210]=2, @@ -808,6 +819,12 @@ characters.classifiers={ [2765]=5, [2786]=5, [2787]=5, + [2810]=5, + [2811]=5, + [2812]=5, + [2813]=5, + [2814]=5, + [2815]=5, [2817]=5, [2876]=5, [2879]=5, @@ -845,7 +862,10 @@ characters.classifiers={ [3277]=5, [3298]=5, [3299]=5, + [3328]=5, [3329]=5, + [3387]=5, + [3388]=5, [3393]=5, [3394]=5, [3395]=5, @@ -1342,6 +1362,10 @@ characters.classifiers={ [7667]=5, [7668]=5, [7669]=5, + [7670]=5, + [7671]=5, + [7672]=5, + [7673]=5, [7675]=5, [7676]=5, [7677]=5, @@ -1831,6 +1855,49 @@ characters.classifiers={ [71465]=5, [71466]=5, [71467]=5, + [72193]=5, + [72194]=5, + [72195]=5, + [72196]=5, + [72197]=5, + [72198]=5, + [72201]=5, + [72202]=5, + [72243]=5, + [72244]=5, + [72245]=5, + [72246]=5, + [72247]=5, + [72248]=5, + [72251]=5, + [72252]=5, + [72253]=5, + [72254]=5, + [72263]=5, + [72273]=5, + [72274]=5, + [72275]=5, + [72276]=5, + [72277]=5, + [72278]=5, + [72281]=5, + [72282]=5, + [72283]=5, + [72330]=5, + [72331]=5, + [72332]=5, + [72333]=5, + [72334]=5, + [72335]=5, + [72336]=5, + [72337]=5, + [72338]=5, + [72339]=5, + [72340]=5, + [72341]=5, + [72342]=5, + [72344]=5, + [72345]=5, [72752]=5, [72753]=5, [72754]=5, @@ -1878,6 +1945,23 @@ characters.classifiers={ [72883]=5, [72885]=5, [72886]=5, + [73009]=5, + [73010]=5, + [73011]=5, + [73012]=5, + [73013]=5, + [73014]=5, + [73018]=5, + [73020]=5, + [73021]=5, + [73023]=5, + [73024]=5, + [73025]=5, + [73026]=5, + [73027]=5, + [73028]=5, + [73029]=5, + [73031]=5, [92912]=5, [92913]=5, [92914]=5, @@ -2171,4 +2255,992 @@ characters.classifiers={ [1042752]=5, } +characters.indicgroups={ + ["above_mark"]={ + [2304]=true, + [2305]=true, + [2306]=true, + [2362]=true, + [2373]=true, + [2374]=true, + [2375]=true, + [2376]=true, + [2385]=true, + [2387]=true, + [2388]=true, + [2389]=true, + [2631]=true, + [2632]=true, + [2635]=true, + [2636]=true, + [2757]=true, + [2759]=true, + [2760]=true, + [2879]=true, + [3008]=true, + [3021]=true, + [3134]=true, + [3135]=true, + [3136]=true, + [3142]=true, + [3143]=true, + [3144]=true, + [3146]=true, + [3147]=true, + [3148]=true, + [3149]=true, + [3263]=true, + [3270]=true, + [3406]=true, + [43232]=true, + [43233]=true, + [43234]=true, + [43235]=true, + [43236]=true, + [43237]=true, + [43238]=true, + [43239]=true, + [43240]=true, + [43241]=true, + [43242]=true, + [43243]=true, + [43244]=true, + [43245]=true, + [43246]=true, + [43247]=true, + [43248]=true, + [43249]=true, + }, + ["after_half"]={}, + ["after_main"]={ + [2864]=true, + [2879]=true, + [2902]=true, + [3376]=true, + }, + ["after_postscript"]={ + [2433]=true, + [2494]=true, + [2496]=true, + [2519]=true, + [2561]=true, + [2562]=true, + [2622]=true, + [2624]=true, + [2625]=true, + [2626]=true, + [2672]=true, + [2673]=true, + [2750]=true, + [2752]=true, + [2753]=true, + [2754]=true, + [2755]=true, + [2756]=true, + [2761]=true, + [2763]=true, + [2764]=true, + [2786]=true, + [2787]=true, + [2878]=true, + [2880]=true, + [2903]=true, + [2992]=true, + [3006]=true, + [3007]=true, + [3009]=true, + [3010]=true, + [3031]=true, + [3120]=true, + [3248]=true, + [3390]=true, + [3391]=true, + [3392]=true, + [3393]=true, + [3394]=true, + [3395]=true, + [3415]=true, + }, + ["after_subscript"]={ + [2366]=true, + [2368]=true, + [2369]=true, + [2370]=true, + [2371]=true, + [2372]=true, + [2373]=true, + [2374]=true, + [2375]=true, + [2376]=true, + [2377]=true, + [2378]=true, + [2379]=true, + [2380]=true, + [2402]=true, + [2403]=true, + [2480]=true, + [2497]=true, + [2498]=true, + [2499]=true, + [2500]=true, + [2530]=true, + [2531]=true, + [2544]=true, + [2631]=true, + [2632]=true, + [2635]=true, + [2636]=true, + [2757]=true, + [2759]=true, + [2760]=true, + [2881]=true, + [2882]=true, + [2883]=true, + [3008]=true, + [3139]=true, + [3140]=true, + [3267]=true, + [3268]=true, + [3285]=true, + [3286]=true, + }, + ["anudatta"]={ + [2386]=true, + }, + ["before_half"]={ + [2367]=true, + [2382]=true, + [2495]=true, + [2503]=true, + [2504]=true, + [2623]=true, + [2751]=true, + [2887]=true, + }, + ["before_main"]={ + [3014]=true, + [3015]=true, + [3016]=true, + [3398]=true, + [3399]=true, + [3400]=true, + }, + ["before_postscript"]={ + [2352]=true, + [2736]=true, + }, + ["before_subscript"]={ + [2608]=true, + [2817]=true, + [3134]=true, + [3135]=true, + [3136]=true, + [3137]=true, + [3138]=true, + [3142]=true, + [3143]=true, + [3146]=true, + [3147]=true, + [3148]=true, + [3157]=true, + [3158]=true, + [3262]=true, + [3263]=true, + [3265]=true, + [3266]=true, + [3270]=true, + [3276]=true, + [3298]=true, + [3299]=true, + }, + ["below_mark"]={ + [2364]=true, + [2369]=true, + [2370]=true, + [2371]=true, + [2372]=true, + [2381]=true, + [2386]=true, + [2390]=true, + [2391]=true, + [2402]=true, + [2403]=true, + [2492]=true, + [2497]=true, + [2498]=true, + [2499]=true, + [2500]=true, + [2509]=true, + [2620]=true, + [2625]=true, + [2626]=true, + [2637]=true, + [2748]=true, + [2753]=true, + [2754]=true, + [2755]=true, + [2756]=true, + [2765]=true, + [2876]=true, + [2881]=true, + [2882]=true, + [2883]=true, + [2884]=true, + [2893]=true, + [2914]=true, + [2915]=true, + [3009]=true, + [3010]=true, + [3170]=true, + [3171]=true, + [3260]=true, + [3298]=true, + [3299]=true, + [3426]=true, + [3427]=true, + }, + ["consonant"]={ + [2325]=true, + [2326]=true, + [2327]=true, + [2328]=true, + [2329]=true, + [2330]=true, + [2331]=true, + [2332]=true, + [2333]=true, + [2334]=true, + [2335]=true, + [2336]=true, + [2337]=true, + [2338]=true, + [2339]=true, + [2340]=true, + [2341]=true, + [2342]=true, + [2343]=true, + [2344]=true, + [2345]=true, + [2346]=true, + [2347]=true, + [2348]=true, + [2349]=true, + [2350]=true, + [2351]=true, + [2352]=true, + [2353]=true, + [2354]=true, + [2355]=true, + [2356]=true, + [2357]=true, + [2358]=true, + [2359]=true, + [2360]=true, + [2361]=true, + [2392]=true, + [2393]=true, + [2394]=true, + [2395]=true, + [2396]=true, + [2397]=true, + [2398]=true, + [2399]=true, + [2424]=true, + [2425]=true, + [2426]=true, + [2453]=true, + [2454]=true, + [2455]=true, + [2456]=true, + [2457]=true, + [2458]=true, + [2459]=true, + [2460]=true, + [2461]=true, + [2462]=true, + [2463]=true, + [2464]=true, + [2465]=true, + [2466]=true, + [2467]=true, + [2468]=true, + [2469]=true, + [2470]=true, + [2471]=true, + [2472]=true, + [2474]=true, + [2475]=true, + [2476]=true, + [2477]=true, + [2478]=true, + [2479]=true, + [2480]=true, + [2482]=true, + [2486]=true, + [2487]=true, + [2488]=true, + [2489]=true, + [2510]=true, + [2524]=true, + [2525]=true, + [2527]=true, + [2581]=true, + [2582]=true, + [2583]=true, + [2584]=true, + [2585]=true, + [2586]=true, + [2587]=true, + [2588]=true, + [2589]=true, + [2590]=true, + [2591]=true, + [2592]=true, + [2593]=true, + [2594]=true, + [2595]=true, + [2596]=true, + [2597]=true, + [2598]=true, + [2599]=true, + [2600]=true, + [2602]=true, + [2603]=true, + [2604]=true, + [2605]=true, + [2606]=true, + [2607]=true, + [2608]=true, + [2610]=true, + [2611]=true, + [2613]=true, + [2614]=true, + [2616]=true, + [2617]=true, + [2649]=true, + [2650]=true, + [2651]=true, + [2652]=true, + [2654]=true, + [2709]=true, + [2710]=true, + [2711]=true, + [2712]=true, + [2713]=true, + [2714]=true, + [2715]=true, + [2716]=true, + [2717]=true, + [2718]=true, + [2719]=true, + [2720]=true, + [2721]=true, + [2722]=true, + [2723]=true, + [2724]=true, + [2725]=true, + [2726]=true, + [2727]=true, + [2728]=true, + [2730]=true, + [2731]=true, + [2732]=true, + [2733]=true, + [2734]=true, + [2735]=true, + [2736]=true, + [2738]=true, + [2739]=true, + [2741]=true, + [2742]=true, + [2743]=true, + [2744]=true, + [2745]=true, + [2837]=true, + [2838]=true, + [2839]=true, + [2840]=true, + [2841]=true, + [2842]=true, + [2843]=true, + [2844]=true, + [2845]=true, + [2846]=true, + [2847]=true, + [2848]=true, + [2849]=true, + [2850]=true, + [2851]=true, + [2852]=true, + [2853]=true, + [2854]=true, + [2855]=true, + [2856]=true, + [2858]=true, + [2859]=true, + [2860]=true, + [2861]=true, + [2862]=true, + [2863]=true, + [2864]=true, + [2866]=true, + [2867]=true, + [2869]=true, + [2870]=true, + [2871]=true, + [2872]=true, + [2873]=true, + [2908]=true, + [2909]=true, + [2929]=true, + [2965]=true, + [2969]=true, + [2970]=true, + [2972]=true, + [2974]=true, + [2975]=true, + [2979]=true, + [2980]=true, + [2984]=true, + [2985]=true, + [2986]=true, + [2990]=true, + [2991]=true, + [2992]=true, + [2993]=true, + [2994]=true, + [2995]=true, + [2996]=true, + [2997]=true, + [2998]=true, + [2999]=true, + [3000]=true, + [3001]=true, + [3093]=true, + [3094]=true, + [3095]=true, + [3096]=true, + [3097]=true, + [3098]=true, + [3099]=true, + [3100]=true, + [3101]=true, + [3102]=true, + [3103]=true, + [3104]=true, + [3105]=true, + [3106]=true, + [3107]=true, + [3108]=true, + [3109]=true, + [3110]=true, + [3111]=true, + [3112]=true, + [3114]=true, + [3115]=true, + [3116]=true, + [3117]=true, + [3118]=true, + [3119]=true, + [3120]=true, + [3121]=true, + [3122]=true, + [3123]=true, + [3124]=true, + [3125]=true, + [3126]=true, + [3127]=true, + [3128]=true, + [3129]=true, + [3133]=true, + [3221]=true, + [3222]=true, + [3223]=true, + [3224]=true, + [3225]=true, + [3226]=true, + [3227]=true, + [3228]=true, + [3229]=true, + [3230]=true, + [3231]=true, + [3232]=true, + [3233]=true, + [3234]=true, + [3235]=true, + [3236]=true, + [3237]=true, + [3238]=true, + [3239]=true, + [3240]=true, + [3242]=true, + [3243]=true, + [3244]=true, + [3245]=true, + [3246]=true, + [3247]=true, + [3248]=true, + [3249]=true, + [3250]=true, + [3251]=true, + [3253]=true, + [3254]=true, + [3255]=true, + [3256]=true, + [3257]=true, + [3294]=true, + [3349]=true, + [3350]=true, + [3351]=true, + [3352]=true, + [3353]=true, + [3354]=true, + [3355]=true, + [3356]=true, + [3357]=true, + [3358]=true, + [3359]=true, + [3360]=true, + [3361]=true, + [3362]=true, + [3363]=true, + [3364]=true, + [3365]=true, + [3366]=true, + [3367]=true, + [3368]=true, + [3369]=true, + [3370]=true, + [3371]=true, + [3372]=true, + [3373]=true, + [3374]=true, + [3375]=true, + [3376]=true, + [3377]=true, + [3378]=true, + [3379]=true, + [3380]=true, + [3381]=true, + [3382]=true, + [3383]=true, + [3384]=true, + [3385]=true, + [3386]=true, + }, + ["dependent_vowel"]={ + [2362]=true, + [2363]=true, + [2366]=true, + [2367]=true, + [2368]=true, + [2369]=true, + [2370]=true, + [2371]=true, + [2372]=true, + [2373]=true, + [2374]=true, + [2375]=true, + [2376]=true, + [2377]=true, + [2378]=true, + [2379]=true, + [2380]=true, + [2382]=true, + [2383]=true, + [2389]=true, + [2390]=true, + [2391]=true, + [2402]=true, + [2403]=true, + [2494]=true, + [2495]=true, + [2496]=true, + [2497]=true, + [2498]=true, + [2499]=true, + [2500]=true, + [2503]=true, + [2504]=true, + [2622]=true, + [2623]=true, + [2624]=true, + [2625]=true, + [2626]=true, + [2631]=true, + [2632]=true, + [2635]=true, + [2636]=true, + [2750]=true, + [2751]=true, + [2752]=true, + [2753]=true, + [2754]=true, + [2755]=true, + [2756]=true, + [2757]=true, + [2759]=true, + [2760]=true, + [2761]=true, + [2763]=true, + [2764]=true, + [2878]=true, + [2879]=true, + [2880]=true, + [2881]=true, + [2882]=true, + [2883]=true, + [2884]=true, + [2887]=true, + [2888]=true, + [2891]=true, + [2892]=true, + [2914]=true, + [2915]=true, + [3006]=true, + [3007]=true, + [3008]=true, + [3009]=true, + [3010]=true, + [3014]=true, + [3015]=true, + [3016]=true, + [3018]=true, + [3019]=true, + [3020]=true, + [3134]=true, + [3135]=true, + [3136]=true, + [3137]=true, + [3138]=true, + [3139]=true, + [3140]=true, + [3142]=true, + [3143]=true, + [3144]=true, + [3146]=true, + [3147]=true, + [3148]=true, + [3170]=true, + [3171]=true, + [3262]=true, + [3263]=true, + [3264]=true, + [3265]=true, + [3266]=true, + [3267]=true, + [3268]=true, + [3270]=true, + [3271]=true, + [3272]=true, + [3274]=true, + [3275]=true, + [3276]=true, + [3298]=true, + [3299]=true, + [3390]=true, + [3391]=true, + [3392]=true, + [3393]=true, + [3394]=true, + [3395]=true, + [3396]=true, + [3398]=true, + [3399]=true, + [3400]=true, + [3402]=true, + [3403]=true, + [3404]=true, + [3415]=true, + [3426]=true, + [3427]=true, + }, + ["halant"]={ + [2381]=true, + [2509]=true, + [2637]=true, + [2765]=true, + [2893]=true, + [3021]=true, + [3149]=true, + [3277]=true, + [3405]=true, + }, + ["independent_vowel"]={ + [2308]=true, + [2309]=true, + [2310]=true, + [2311]=true, + [2312]=true, + [2313]=true, + [2314]=true, + [2315]=true, + [2316]=true, + [2317]=true, + [2318]=true, + [2319]=true, + [2320]=true, + [2321]=true, + [2322]=true, + [2323]=true, + [2324]=true, + [2400]=true, + [2401]=true, + [2418]=true, + [2419]=true, + [2420]=true, + [2421]=true, + [2422]=true, + [2423]=true, + [2437]=true, + [2438]=true, + [2439]=true, + [2440]=true, + [2441]=true, + [2442]=true, + [2443]=true, + [2444]=true, + [2447]=true, + [2448]=true, + [2451]=true, + [2452]=true, + [2528]=true, + [2529]=true, + [2530]=true, + [2531]=true, + [2565]=true, + [2566]=true, + [2567]=true, + [2568]=true, + [2569]=true, + [2570]=true, + [2575]=true, + [2576]=true, + [2579]=true, + [2580]=true, + [2693]=true, + [2694]=true, + [2695]=true, + [2696]=true, + [2697]=true, + [2698]=true, + [2699]=true, + [2700]=true, + [2701]=true, + [2703]=true, + [2704]=true, + [2705]=true, + [2707]=true, + [2708]=true, + [2784]=true, + [2785]=true, + [2786]=true, + [2787]=true, + [2821]=true, + [2822]=true, + [2823]=true, + [2824]=true, + [2825]=true, + [2826]=true, + [2827]=true, + [2828]=true, + [2831]=true, + [2832]=true, + [2835]=true, + [2836]=true, + [2912]=true, + [2913]=true, + [2949]=true, + [2950]=true, + [2951]=true, + [2952]=true, + [2953]=true, + [2954]=true, + [2958]=true, + [2959]=true, + [2960]=true, + [2962]=true, + [2963]=true, + [2964]=true, + [3077]=true, + [3078]=true, + [3079]=true, + [3080]=true, + [3081]=true, + [3082]=true, + [3083]=true, + [3084]=true, + [3086]=true, + [3087]=true, + [3088]=true, + [3090]=true, + [3091]=true, + [3092]=true, + [3168]=true, + [3169]=true, + [3205]=true, + [3206]=true, + [3207]=true, + [3208]=true, + [3209]=true, + [3210]=true, + [3211]=true, + [3212]=true, + [3214]=true, + [3215]=true, + [3216]=true, + [3218]=true, + [3219]=true, + [3220]=true, + [3296]=true, + [3297]=true, + [3333]=true, + [3334]=true, + [3335]=true, + [3336]=true, + [3337]=true, + [3338]=true, + [3339]=true, + [3340]=true, + [3342]=true, + [3343]=true, + [3344]=true, + [3346]=true, + [3347]=true, + [3348]=true, + [3423]=true, + [3424]=true, + [3425]=true, + }, + ["nukta"]={ + [2364]=true, + [2492]=true, + [2620]=true, + [2748]=true, + [2876]=true, + [3260]=true, + }, + ["post_mark"]={ + [2307]=true, + [2363]=true, + [2366]=true, + [2368]=true, + [2377]=true, + [2378]=true, + [2379]=true, + [2380]=true, + [2383]=true, + [2494]=true, + [2496]=true, + [2503]=true, + [2504]=true, + [2622]=true, + [2624]=true, + [2750]=true, + [2752]=true, + [2761]=true, + [2763]=true, + [2764]=true, + [2878]=true, + [2880]=true, + [3006]=true, + [3007]=true, + [3137]=true, + [3138]=true, + [3139]=true, + [3140]=true, + [3262]=true, + [3264]=true, + [3265]=true, + [3266]=true, + [3267]=true, + [3268]=true, + [3271]=true, + [3272]=true, + [3274]=true, + [3275]=true, + [3276]=true, + [3390]=true, + [3391]=true, + [3392]=true, + [3393]=true, + [3394]=true, + [3395]=true, + [3396]=true, + [3415]=true, + }, + ["pre_mark"]={ + [2367]=true, + [2382]=true, + [2495]=true, + [2623]=true, + [2751]=true, + [2887]=true, + [2888]=true, + [3014]=true, + [3015]=true, + [3016]=true, + [3398]=true, + [3399]=true, + [3400]=true, + }, + ["ra"]={ + [2352]=true, + [2480]=true, + [2608]=true, + [2736]=true, + [2864]=true, + [2992]=true, + [3120]=true, + [3248]=true, + [3376]=true, + }, + ["stress_tone_mark"]={ + [2385]=true, + [2386]=true, + [2387]=true, + [2388]=true, + [2507]=true, + [2508]=true, + [3277]=true, + [3405]=true, + }, + ["twopart_mark"]={ + [2891]={ 2887, 2878 }, + [2892]={ 2887, 2903 }, + [3018]={ 3014, 3006 }, + [3019]={ 3015, 3006 }, + [3020]={ 3014, 3031 }, + [3402]={ 3398, 3390 }, + [3403]={ 3399, 3390 }, + [3404]={ 3398, 3415 }, + }, + ["vowel_modifier"]={ + [2304]=true, + [2305]=true, + [2306]=true, + [2307]=true, + [3330]=true, + [3331]=true, + [43232]=true, + [43233]=true, + [43234]=true, + [43235]=true, + [43236]=true, + [43237]=true, + [43238]=true, + [43239]=true, + [43240]=true, + [43241]=true, + [43242]=true, + [43243]=true, + [43244]=true, + [43245]=true, + [43246]=true, + [43247]=true, + [43248]=true, + [43249]=true, + }, +} + -- done diff --git a/tex/generic/context/luatex/luatex-basics-prepare.tex b/tex/generic/context/luatex/luatex-basics-prepare.tex index 76a35cc94..47eaa7341 100644 --- a/tex/generic/context/luatex/luatex-basics-prepare.tex +++ b/tex/generic/context/luatex/luatex-basics-prepare.tex @@ -15,6 +15,8 @@ %D is needed because we don't want to load the (mostly not used in generic) data %D files. +%D Indicorder is not yet filled in completely. + \startluacode -- dofile("t:/sources/char-ini.lua") @@ -43,6 +45,7 @@ local first_mandiac, last_mandiac = characters.blockrange("mandiac") local first_nko, last_nko = characters.blockrange("nko") local classifiers = { } +local indicgroups = characters.indicgroups for k, c in next, chardata do if k > 0 then @@ -78,11 +81,14 @@ characters.blockrange = { } %s +%s + -- done ]] ] io.savedata("luatex-basics-chr.lua",template( - table.serialize(classifiers,"characters.classifiers") + table.serialize(classifiers,"characters.classifiers"), + table.serialize(indicgroups,"characters.indicgroups") )) \stopluacode diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index e91fdbd93..97503d8a7 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 : 03/16/18 22:20:58 +-- merge date : 04/02/18 15:43:20 do -- begin closure to overcome local limits and interference @@ -1976,10 +1976,10 @@ function table.reversed(t) return tt end end -function table.reverse(t) +function table.reverse(t) if t then local n=#t - for i=1,floor(n/2) do + for i=1,floor(n/2) do local j=n-i+1 t[i],t[j]=t[j],t[i] end @@ -3745,13 +3745,15 @@ utilities.strings=utilities.strings or {} local strings=utilities.strings local format,gsub,rep,sub,find=string.format,string.gsub,string.rep,string.sub,string.find local load,dump=load,string.dump -local tonumber,type,tostring,next=tonumber,type,tostring,next +local tonumber,type,tostring,next,setmetatable=tonumber,type,tostring,next,setmetatable +local unpack,concat=table.unpack,table.concat local unpack,concat=table.unpack,table.concat local P,V,C,S,R,Ct,Cs,Cp,Carg,Cc=lpeg.P,lpeg.V,lpeg.C,lpeg.S,lpeg.R,lpeg.Ct,lpeg.Cs,lpeg.Cp,lpeg.Carg,lpeg.Cc local patterns,lpegmatch=lpeg.patterns,lpeg.match local utfchar,utfbyte,utflen=utf.char,utf.byte,utf.len local loadstripped=nil -if LUAVERSION<5.2 then +local oldfashioned=LUAVERSION<5.2 +if oldfashioned then loadstripped=function(str,shortcuts) return load(str) end @@ -4023,7 +4025,7 @@ local template=[[ return function(%s) return %s end ]] local preamble,environment="",{} -if LUAVERSION<5.2 then +if oldfashioned then preamble=[[ local lpeg=lpeg local type=type @@ -4070,7 +4072,7 @@ else sequenced=table.sequenced, formattednumber=number.formatted, sparseexponent=number.sparseexponent, - formattedfloat=number.formattedfloat + formattedfloat=number.formattedfloat, } end local arguments={ "a1" } @@ -4427,12 +4429,18 @@ local builder=Cs { "start", ["?"]=Cs(((1-P("%"))^1 )^1)/format_rest, ["!"]=Carg(2)*prefix_any*P("!")*C((1-P("!"))^1)*P("!")/format_extension, } -local direct=Cs ( - P("%")*(S("+- .")+R("09"))^0*S("sqidfgGeExXo")*P(-1)/[[local format = string.format return function(str) return format("%0",str) end]] -) +local xx=setmetatable({},{ __index=function(t,k) local v=format("%02x",k) t[k]=v return v end }) +local XX=setmetatable({},{ __index=function(t,k) local v=format("%02X",k) t[k]=v return v end }) +local preset={ + ["%02x"]=function(n) return xx[n] end, + ["%02X"]=function(n) return XX[n] end, +} +local direct=P("%")*(S("+- .")+R("09"))^0*S("sqidfgGeExXo")*P(-1)/[[local format = string.format return function(str) return format("%0",str) end]] local function make(t,str) - local f - local p + local f=preset[str] + if f then + return f + end local p=lpegmatch(direct,str) if p then f=loadstripped(p)() @@ -4453,7 +4461,7 @@ local function use(t,fmt,...) return t[fmt](...) end strings.formatters={} -if LUAVERSION<5.2 then +if oldfashioned then function strings.formatters.new(noconcat) local t={ _type_="formatter",_connector_=noconcat and "," or "..",_extensions_={},_preamble_=preamble,_environment_={} } setmetatable(t,{ __index=make,__call=use }) @@ -4490,7 +4498,7 @@ patterns.xmlescape=Cs((P("<")/"<"+P(">")/">"+P("&")/"&"+P('"')/"" patterns.texescape=Cs((C(S("#$%\\{}"))/"\\%1"+P(1))^0) patterns.luaescape=Cs(((1-S('"\n'))^1+P('"')/'\\"'+P('\n')/'\\n"')^0) patterns.luaquoted=Cs(Cc('"')*((1-S('"\n'))^1+P('"')/'\\"'+P('\n')/'\\n"')^0*Cc('"')) -if LUAVERSION<5.2 then +if oldfashioned then add(formatters,"xml",[[lpegmatch(xmlescape,%s)]],"local xmlescape = lpeg.patterns.xmlescape") add(formatters,"tex",[[lpegmatch(texescape,%s)]],"local texescape = lpeg.patterns.texescape") add(formatters,"lua",[[lpegmatch(luaescape,%s)]],"local luaescape = lpeg.patterns.luaescape") @@ -6274,6 +6282,17 @@ characters.classifiers={ [2137]=5, [2138]=5, [2139]=5, + [2144]=2, + [2145]=4, + [2146]=2, + [2147]=2, + [2148]=2, + [2149]=2, + [2150]=4, + [2151]=3, + [2152]=2, + [2153]=3, + [2154]=3, [2208]=2, [2209]=2, [2210]=2, @@ -6406,6 +6425,12 @@ characters.classifiers={ [2765]=5, [2786]=5, [2787]=5, + [2810]=5, + [2811]=5, + [2812]=5, + [2813]=5, + [2814]=5, + [2815]=5, [2817]=5, [2876]=5, [2879]=5, @@ -6443,7 +6468,10 @@ characters.classifiers={ [3277]=5, [3298]=5, [3299]=5, + [3328]=5, [3329]=5, + [3387]=5, + [3388]=5, [3393]=5, [3394]=5, [3395]=5, @@ -6940,6 +6968,10 @@ characters.classifiers={ [7667]=5, [7668]=5, [7669]=5, + [7670]=5, + [7671]=5, + [7672]=5, + [7673]=5, [7675]=5, [7676]=5, [7677]=5, @@ -7429,6 +7461,49 @@ characters.classifiers={ [71465]=5, [71466]=5, [71467]=5, + [72193]=5, + [72194]=5, + [72195]=5, + [72196]=5, + [72197]=5, + [72198]=5, + [72201]=5, + [72202]=5, + [72243]=5, + [72244]=5, + [72245]=5, + [72246]=5, + [72247]=5, + [72248]=5, + [72251]=5, + [72252]=5, + [72253]=5, + [72254]=5, + [72263]=5, + [72273]=5, + [72274]=5, + [72275]=5, + [72276]=5, + [72277]=5, + [72278]=5, + [72281]=5, + [72282]=5, + [72283]=5, + [72330]=5, + [72331]=5, + [72332]=5, + [72333]=5, + [72334]=5, + [72335]=5, + [72336]=5, + [72337]=5, + [72338]=5, + [72339]=5, + [72340]=5, + [72341]=5, + [72342]=5, + [72344]=5, + [72345]=5, [72752]=5, [72753]=5, [72754]=5, @@ -7476,6 +7551,23 @@ characters.classifiers={ [72883]=5, [72885]=5, [72886]=5, + [73009]=5, + [73010]=5, + [73011]=5, + [73012]=5, + [73013]=5, + [73014]=5, + [73018]=5, + [73020]=5, + [73021]=5, + [73023]=5, + [73024]=5, + [73025]=5, + [73026]=5, + [73027]=5, + [73028]=5, + [73029]=5, + [73031]=5, [92912]=5, [92913]=5, [92914]=5, @@ -7768,6 +7860,993 @@ characters.classifiers={ [125258]=5, [1042752]=5, } +characters.indicgroups={ + ["above_mark"]={ + [2304]=true, + [2305]=true, + [2306]=true, + [2362]=true, + [2373]=true, + [2374]=true, + [2375]=true, + [2376]=true, + [2385]=true, + [2387]=true, + [2388]=true, + [2389]=true, + [2631]=true, + [2632]=true, + [2635]=true, + [2636]=true, + [2757]=true, + [2759]=true, + [2760]=true, + [2879]=true, + [3008]=true, + [3021]=true, + [3134]=true, + [3135]=true, + [3136]=true, + [3142]=true, + [3143]=true, + [3144]=true, + [3146]=true, + [3147]=true, + [3148]=true, + [3149]=true, + [3263]=true, + [3270]=true, + [3406]=true, + [43232]=true, + [43233]=true, + [43234]=true, + [43235]=true, + [43236]=true, + [43237]=true, + [43238]=true, + [43239]=true, + [43240]=true, + [43241]=true, + [43242]=true, + [43243]=true, + [43244]=true, + [43245]=true, + [43246]=true, + [43247]=true, + [43248]=true, + [43249]=true, + }, + ["after_half"]={}, + ["after_main"]={ + [2864]=true, + [2879]=true, + [2902]=true, + [3376]=true, + }, + ["after_postscript"]={ + [2433]=true, + [2494]=true, + [2496]=true, + [2519]=true, + [2561]=true, + [2562]=true, + [2622]=true, + [2624]=true, + [2625]=true, + [2626]=true, + [2672]=true, + [2673]=true, + [2750]=true, + [2752]=true, + [2753]=true, + [2754]=true, + [2755]=true, + [2756]=true, + [2761]=true, + [2763]=true, + [2764]=true, + [2786]=true, + [2787]=true, + [2878]=true, + [2880]=true, + [2903]=true, + [2992]=true, + [3006]=true, + [3007]=true, + [3009]=true, + [3010]=true, + [3031]=true, + [3120]=true, + [3248]=true, + [3390]=true, + [3391]=true, + [3392]=true, + [3393]=true, + [3394]=true, + [3395]=true, + [3415]=true, + }, + ["after_subscript"]={ + [2366]=true, + [2368]=true, + [2369]=true, + [2370]=true, + [2371]=true, + [2372]=true, + [2373]=true, + [2374]=true, + [2375]=true, + [2376]=true, + [2377]=true, + [2378]=true, + [2379]=true, + [2380]=true, + [2402]=true, + [2403]=true, + [2480]=true, + [2497]=true, + [2498]=true, + [2499]=true, + [2500]=true, + [2530]=true, + [2531]=true, + [2544]=true, + [2631]=true, + [2632]=true, + [2635]=true, + [2636]=true, + [2757]=true, + [2759]=true, + [2760]=true, + [2881]=true, + [2882]=true, + [2883]=true, + [3008]=true, + [3139]=true, + [3140]=true, + [3267]=true, + [3268]=true, + [3285]=true, + [3286]=true, + }, + ["anudatta"]={ + [2386]=true, + }, + ["before_half"]={ + [2367]=true, + [2382]=true, + [2495]=true, + [2503]=true, + [2504]=true, + [2623]=true, + [2751]=true, + [2887]=true, + }, + ["before_main"]={ + [3014]=true, + [3015]=true, + [3016]=true, + [3398]=true, + [3399]=true, + [3400]=true, + }, + ["before_postscript"]={ + [2352]=true, + [2736]=true, + }, + ["before_subscript"]={ + [2608]=true, + [2817]=true, + [3134]=true, + [3135]=true, + [3136]=true, + [3137]=true, + [3138]=true, + [3142]=true, + [3143]=true, + [3146]=true, + [3147]=true, + [3148]=true, + [3157]=true, + [3158]=true, + [3262]=true, + [3263]=true, + [3265]=true, + [3266]=true, + [3270]=true, + [3276]=true, + [3298]=true, + [3299]=true, + }, + ["below_mark"]={ + [2364]=true, + [2369]=true, + [2370]=true, + [2371]=true, + [2372]=true, + [2381]=true, + [2386]=true, + [2390]=true, + [2391]=true, + [2402]=true, + [2403]=true, + [2492]=true, + [2497]=true, + [2498]=true, + [2499]=true, + [2500]=true, + [2509]=true, + [2620]=true, + [2625]=true, + [2626]=true, + [2637]=true, + [2748]=true, + [2753]=true, + [2754]=true, + [2755]=true, + [2756]=true, + [2765]=true, + [2876]=true, + [2881]=true, + [2882]=true, + [2883]=true, + [2884]=true, + [2893]=true, + [2914]=true, + [2915]=true, + [3009]=true, + [3010]=true, + [3170]=true, + [3171]=true, + [3260]=true, + [3298]=true, + [3299]=true, + [3426]=true, + [3427]=true, + }, + ["consonant"]={ + [2325]=true, + [2326]=true, + [2327]=true, + [2328]=true, + [2329]=true, + [2330]=true, + [2331]=true, + [2332]=true, + [2333]=true, + [2334]=true, + [2335]=true, + [2336]=true, + [2337]=true, + [2338]=true, + [2339]=true, + [2340]=true, + [2341]=true, + [2342]=true, + [2343]=true, + [2344]=true, + [2345]=true, + [2346]=true, + [2347]=true, + [2348]=true, + [2349]=true, + [2350]=true, + [2351]=true, + [2352]=true, + [2353]=true, + [2354]=true, + [2355]=true, + [2356]=true, + [2357]=true, + [2358]=true, + [2359]=true, + [2360]=true, + [2361]=true, + [2392]=true, + [2393]=true, + [2394]=true, + [2395]=true, + [2396]=true, + [2397]=true, + [2398]=true, + [2399]=true, + [2424]=true, + [2425]=true, + [2426]=true, + [2453]=true, + [2454]=true, + [2455]=true, + [2456]=true, + [2457]=true, + [2458]=true, + [2459]=true, + [2460]=true, + [2461]=true, + [2462]=true, + [2463]=true, + [2464]=true, + [2465]=true, + [2466]=true, + [2467]=true, + [2468]=true, + [2469]=true, + [2470]=true, + [2471]=true, + [2472]=true, + [2474]=true, + [2475]=true, + [2476]=true, + [2477]=true, + [2478]=true, + [2479]=true, + [2480]=true, + [2482]=true, + [2486]=true, + [2487]=true, + [2488]=true, + [2489]=true, + [2510]=true, + [2524]=true, + [2525]=true, + [2527]=true, + [2581]=true, + [2582]=true, + [2583]=true, + [2584]=true, + [2585]=true, + [2586]=true, + [2587]=true, + [2588]=true, + [2589]=true, + [2590]=true, + [2591]=true, + [2592]=true, + [2593]=true, + [2594]=true, + [2595]=true, + [2596]=true, + [2597]=true, + [2598]=true, + [2599]=true, + [2600]=true, + [2602]=true, + [2603]=true, + [2604]=true, + [2605]=true, + [2606]=true, + [2607]=true, + [2608]=true, + [2610]=true, + [2611]=true, + [2613]=true, + [2614]=true, + [2616]=true, + [2617]=true, + [2649]=true, + [2650]=true, + [2651]=true, + [2652]=true, + [2654]=true, + [2709]=true, + [2710]=true, + [2711]=true, + [2712]=true, + [2713]=true, + [2714]=true, + [2715]=true, + [2716]=true, + [2717]=true, + [2718]=true, + [2719]=true, + [2720]=true, + [2721]=true, + [2722]=true, + [2723]=true, + [2724]=true, + [2725]=true, + [2726]=true, + [2727]=true, + [2728]=true, + [2730]=true, + [2731]=true, + [2732]=true, + [2733]=true, + [2734]=true, + [2735]=true, + [2736]=true, + [2738]=true, + [2739]=true, + [2741]=true, + [2742]=true, + [2743]=true, + [2744]=true, + [2745]=true, + [2837]=true, + [2838]=true, + [2839]=true, + [2840]=true, + [2841]=true, + [2842]=true, + [2843]=true, + [2844]=true, + [2845]=true, + [2846]=true, + [2847]=true, + [2848]=true, + [2849]=true, + [2850]=true, + [2851]=true, + [2852]=true, + [2853]=true, + [2854]=true, + [2855]=true, + [2856]=true, + [2858]=true, + [2859]=true, + [2860]=true, + [2861]=true, + [2862]=true, + [2863]=true, + [2864]=true, + [2866]=true, + [2867]=true, + [2869]=true, + [2870]=true, + [2871]=true, + [2872]=true, + [2873]=true, + [2908]=true, + [2909]=true, + [2929]=true, + [2965]=true, + [2969]=true, + [2970]=true, + [2972]=true, + [2974]=true, + [2975]=true, + [2979]=true, + [2980]=true, + [2984]=true, + [2985]=true, + [2986]=true, + [2990]=true, + [2991]=true, + [2992]=true, + [2993]=true, + [2994]=true, + [2995]=true, + [2996]=true, + [2997]=true, + [2998]=true, + [2999]=true, + [3000]=true, + [3001]=true, + [3093]=true, + [3094]=true, + [3095]=true, + [3096]=true, + [3097]=true, + [3098]=true, + [3099]=true, + [3100]=true, + [3101]=true, + [3102]=true, + [3103]=true, + [3104]=true, + [3105]=true, + [3106]=true, + [3107]=true, + [3108]=true, + [3109]=true, + [3110]=true, + [3111]=true, + [3112]=true, + [3114]=true, + [3115]=true, + [3116]=true, + [3117]=true, + [3118]=true, + [3119]=true, + [3120]=true, + [3121]=true, + [3122]=true, + [3123]=true, + [3124]=true, + [3125]=true, + [3126]=true, + [3127]=true, + [3128]=true, + [3129]=true, + [3133]=true, + [3221]=true, + [3222]=true, + [3223]=true, + [3224]=true, + [3225]=true, + [3226]=true, + [3227]=true, + [3228]=true, + [3229]=true, + [3230]=true, + [3231]=true, + [3232]=true, + [3233]=true, + [3234]=true, + [3235]=true, + [3236]=true, + [3237]=true, + [3238]=true, + [3239]=true, + [3240]=true, + [3242]=true, + [3243]=true, + [3244]=true, + [3245]=true, + [3246]=true, + [3247]=true, + [3248]=true, + [3249]=true, + [3250]=true, + [3251]=true, + [3253]=true, + [3254]=true, + [3255]=true, + [3256]=true, + [3257]=true, + [3294]=true, + [3349]=true, + [3350]=true, + [3351]=true, + [3352]=true, + [3353]=true, + [3354]=true, + [3355]=true, + [3356]=true, + [3357]=true, + [3358]=true, + [3359]=true, + [3360]=true, + [3361]=true, + [3362]=true, + [3363]=true, + [3364]=true, + [3365]=true, + [3366]=true, + [3367]=true, + [3368]=true, + [3369]=true, + [3370]=true, + [3371]=true, + [3372]=true, + [3373]=true, + [3374]=true, + [3375]=true, + [3376]=true, + [3377]=true, + [3378]=true, + [3379]=true, + [3380]=true, + [3381]=true, + [3382]=true, + [3383]=true, + [3384]=true, + [3385]=true, + [3386]=true, + }, + ["dependent_vowel"]={ + [2362]=true, + [2363]=true, + [2366]=true, + [2367]=true, + [2368]=true, + [2369]=true, + [2370]=true, + [2371]=true, + [2372]=true, + [2373]=true, + [2374]=true, + [2375]=true, + [2376]=true, + [2377]=true, + [2378]=true, + [2379]=true, + [2380]=true, + [2382]=true, + [2383]=true, + [2389]=true, + [2390]=true, + [2391]=true, + [2402]=true, + [2403]=true, + [2494]=true, + [2495]=true, + [2496]=true, + [2497]=true, + [2498]=true, + [2499]=true, + [2500]=true, + [2503]=true, + [2504]=true, + [2622]=true, + [2623]=true, + [2624]=true, + [2625]=true, + [2626]=true, + [2631]=true, + [2632]=true, + [2635]=true, + [2636]=true, + [2750]=true, + [2751]=true, + [2752]=true, + [2753]=true, + [2754]=true, + [2755]=true, + [2756]=true, + [2757]=true, + [2759]=true, + [2760]=true, + [2761]=true, + [2763]=true, + [2764]=true, + [2878]=true, + [2879]=true, + [2880]=true, + [2881]=true, + [2882]=true, + [2883]=true, + [2884]=true, + [2887]=true, + [2888]=true, + [2891]=true, + [2892]=true, + [2914]=true, + [2915]=true, + [3006]=true, + [3007]=true, + [3008]=true, + [3009]=true, + [3010]=true, + [3014]=true, + [3015]=true, + [3016]=true, + [3018]=true, + [3019]=true, + [3020]=true, + [3134]=true, + [3135]=true, + [3136]=true, + [3137]=true, + [3138]=true, + [3139]=true, + [3140]=true, + [3142]=true, + [3143]=true, + [3144]=true, + [3146]=true, + [3147]=true, + [3148]=true, + [3170]=true, + [3171]=true, + [3262]=true, + [3263]=true, + [3264]=true, + [3265]=true, + [3266]=true, + [3267]=true, + [3268]=true, + [3270]=true, + [3271]=true, + [3272]=true, + [3274]=true, + [3275]=true, + [3276]=true, + [3298]=true, + [3299]=true, + [3390]=true, + [3391]=true, + [3392]=true, + [3393]=true, + [3394]=true, + [3395]=true, + [3396]=true, + [3398]=true, + [3399]=true, + [3400]=true, + [3402]=true, + [3403]=true, + [3404]=true, + [3415]=true, + [3426]=true, + [3427]=true, + }, + ["halant"]={ + [2381]=true, + [2509]=true, + [2637]=true, + [2765]=true, + [2893]=true, + [3021]=true, + [3149]=true, + [3277]=true, + [3405]=true, + }, + ["independent_vowel"]={ + [2308]=true, + [2309]=true, + [2310]=true, + [2311]=true, + [2312]=true, + [2313]=true, + [2314]=true, + [2315]=true, + [2316]=true, + [2317]=true, + [2318]=true, + [2319]=true, + [2320]=true, + [2321]=true, + [2322]=true, + [2323]=true, + [2324]=true, + [2400]=true, + [2401]=true, + [2418]=true, + [2419]=true, + [2420]=true, + [2421]=true, + [2422]=true, + [2423]=true, + [2437]=true, + [2438]=true, + [2439]=true, + [2440]=true, + [2441]=true, + [2442]=true, + [2443]=true, + [2444]=true, + [2447]=true, + [2448]=true, + [2451]=true, + [2452]=true, + [2528]=true, + [2529]=true, + [2530]=true, + [2531]=true, + [2565]=true, + [2566]=true, + [2567]=true, + [2568]=true, + [2569]=true, + [2570]=true, + [2575]=true, + [2576]=true, + [2579]=true, + [2580]=true, + [2693]=true, + [2694]=true, + [2695]=true, + [2696]=true, + [2697]=true, + [2698]=true, + [2699]=true, + [2700]=true, + [2701]=true, + [2703]=true, + [2704]=true, + [2705]=true, + [2707]=true, + [2708]=true, + [2784]=true, + [2785]=true, + [2786]=true, + [2787]=true, + [2821]=true, + [2822]=true, + [2823]=true, + [2824]=true, + [2825]=true, + [2826]=true, + [2827]=true, + [2828]=true, + [2831]=true, + [2832]=true, + [2835]=true, + [2836]=true, + [2912]=true, + [2913]=true, + [2949]=true, + [2950]=true, + [2951]=true, + [2952]=true, + [2953]=true, + [2954]=true, + [2958]=true, + [2959]=true, + [2960]=true, + [2962]=true, + [2963]=true, + [2964]=true, + [3077]=true, + [3078]=true, + [3079]=true, + [3080]=true, + [3081]=true, + [3082]=true, + [3083]=true, + [3084]=true, + [3086]=true, + [3087]=true, + [3088]=true, + [3090]=true, + [3091]=true, + [3092]=true, + [3168]=true, + [3169]=true, + [3205]=true, + [3206]=true, + [3207]=true, + [3208]=true, + [3209]=true, + [3210]=true, + [3211]=true, + [3212]=true, + [3214]=true, + [3215]=true, + [3216]=true, + [3218]=true, + [3219]=true, + [3220]=true, + [3296]=true, + [3297]=true, + [3333]=true, + [3334]=true, + [3335]=true, + [3336]=true, + [3337]=true, + [3338]=true, + [3339]=true, + [3340]=true, + [3342]=true, + [3343]=true, + [3344]=true, + [3346]=true, + [3347]=true, + [3348]=true, + [3423]=true, + [3424]=true, + [3425]=true, + }, + ["nukta"]={ + [2364]=true, + [2492]=true, + [2620]=true, + [2748]=true, + [2876]=true, + [3260]=true, + }, + ["post_mark"]={ + [2307]=true, + [2363]=true, + [2366]=true, + [2368]=true, + [2377]=true, + [2378]=true, + [2379]=true, + [2380]=true, + [2383]=true, + [2494]=true, + [2496]=true, + [2503]=true, + [2504]=true, + [2622]=true, + [2624]=true, + [2750]=true, + [2752]=true, + [2761]=true, + [2763]=true, + [2764]=true, + [2878]=true, + [2880]=true, + [3006]=true, + [3007]=true, + [3137]=true, + [3138]=true, + [3139]=true, + [3140]=true, + [3262]=true, + [3264]=true, + [3265]=true, + [3266]=true, + [3267]=true, + [3268]=true, + [3271]=true, + [3272]=true, + [3274]=true, + [3275]=true, + [3276]=true, + [3390]=true, + [3391]=true, + [3392]=true, + [3393]=true, + [3394]=true, + [3395]=true, + [3396]=true, + [3415]=true, + }, + ["pre_mark"]={ + [2367]=true, + [2382]=true, + [2495]=true, + [2623]=true, + [2751]=true, + [2887]=true, + [2888]=true, + [3014]=true, + [3015]=true, + [3016]=true, + [3398]=true, + [3399]=true, + [3400]=true, + }, + ["ra"]={ + [2352]=true, + [2480]=true, + [2608]=true, + [2736]=true, + [2864]=true, + [2992]=true, + [3120]=true, + [3248]=true, + [3376]=true, + }, + ["stress_tone_mark"]={ + [2385]=true, + [2386]=true, + [2387]=true, + [2388]=true, + [2507]=true, + [2508]=true, + [3277]=true, + [3405]=true, + }, + ["twopart_mark"]={ + [2891]={ 2887,2878 }, + [2892]={ 2887,2903 }, + [3018]={ 3014,3006 }, + [3019]={ 3015,3006 }, + [3020]={ 3014,3031 }, + [3402]={ 3398,3390 }, + [3403]={ 3399,3390 }, + [3404]={ 3398,3415 }, + }, + ["vowel_modifier"]={ + [2304]=true, + [2305]=true, + [2306]=true, + [2307]=true, + [3330]=true, + [3331]=true, + [43232]=true, + [43233]=true, + [43234]=true, + [43235]=true, + [43236]=true, + [43237]=true, + [43238]=true, + [43239]=true, + [43240]=true, + [43241]=true, + [43242]=true, + [43243]=true, + [43244]=true, + [43245]=true, + [43246]=true, + [43247]=true, + [43248]=true, + [43249]=true, + }, +} end -- closure @@ -8167,12 +9246,22 @@ function constructors.scale(tfmdata,specification) else target.slant=0 end + local mode=parameters.mode or 0 + if mode~=0 then + target.mode=mode + end + local width=parameters.width or 0 + if width~=0 then + target.width=width + end targetparameters.factor=delta targetparameters.hfactor=hdelta targetparameters.vfactor=vdelta targetparameters.size=scaledpoints targetparameters.units=units targetparameters.scaledpoints=askedscaledpoints + targetparameters.mode=mode + targetparameters.width=width local isvirtual=properties.virtualized or tfmdata.type=="virtual" local hasquality=parameters.expansion or parameters.protrusion local hasitalics=properties.hasitalics @@ -8508,7 +9597,9 @@ function constructors.scale(tfmdata,specification) constructors.aftercopyingcharacters(target,tfmdata) constructors.trytosharefont(target,tfmdata) local vfonts=target.fonts - if isvirtual then +if isvirtual or target.type=="virtual" or properties.virtualized then + properties.virtualized=true +target.type="virtual" if not vfonts or #vfonts==0 then target.fonts={ { id=0 } } end @@ -8545,6 +9636,12 @@ function constructors.finalize(tfmdata) if not parameters.size then parameters.size=tfmdata.size end + if not parameters.mode then + parameters.mode=0 + end + if not parameters.width then + parameters.width=0 + end if not parameters.extendfactor then parameters.extendfactor=tfmdata.extend or 0 end @@ -8627,6 +9724,8 @@ function constructors.finalize(tfmdata) tfmdata.step=nil tfmdata.extend=nil tfmdata.slant=nil + tfmdata.mode=nil + tfmdata.width=nil tfmdata.units=nil tfmdata.units_per_em=nil tfmdata.cache=nil @@ -23720,7 +24819,7 @@ function handlers.gpos_pair(head,start,dataset,sequence,kerns,rlmode,skiphash,st elseif b then local x,y,w,h=setposition(2,snext,factor,rlmode,b,injection) if trace_kerns then - local startchar=getchar(snext) + local startchar=getchar(start) logprocess("%s: shifting second of pair %s and %s by xy (%p,%p) and wh (%p,%p) as %s",pref(dataset,sequence),gref(startchar),gref(nextchar),x,y,w,h,injection or "injections") end start=snext @@ -26618,7 +27717,7 @@ if not modules then modules={} end modules ['font-osd']={ } local insert,imerge,copy=table.insert,table.imerge,table.copy local next,type=next,type -local report_devanagari=logs.reporter("otf","devanagari") +local report=logs.reporter("otf","devanagari") fonts=fonts or {} fonts.analyzers=fonts.analyzers or {} fonts.analyzers.methods=fonts.analyzers.methods or { node={ otf={} } } @@ -26655,6 +27754,9 @@ local fontdata=fonts.hashes.identifiers local a_state=attributes.private('state') local a_syllabe=attributes.private('syllabe') local dotted_circle=0x25CC +local c_nbsp=0x00A0 +local c_zwnj=0x200C +local c_zwj=0x200D local states=fonts.analyzers.states local s_rphf=states.rphf local s_half=states.half @@ -26683,199 +27785,144 @@ end local function processcharacters(head,font) return tonut(xprocesscharacters(tonode(head))) end -local consonant={ - [0x0915]=true,[0x0916]=true,[0x0917]=true,[0x0918]=true, - [0x0919]=true,[0x091A]=true,[0x091B]=true,[0x091C]=true, - [0x091D]=true,[0x091E]=true,[0x091F]=true,[0x0920]=true, - [0x0921]=true,[0x0922]=true,[0x0923]=true,[0x0924]=true, - [0x0925]=true,[0x0926]=true,[0x0927]=true,[0x0928]=true, - [0x0929]=true,[0x092A]=true,[0x092B]=true,[0x092C]=true, - [0x092D]=true,[0x092E]=true,[0x092F]=true,[0x0930]=true, - [0x0931]=true,[0x0932]=true,[0x0933]=true,[0x0934]=true, - [0x0935]=true,[0x0936]=true,[0x0937]=true,[0x0938]=true, - [0x0939]=true,[0x0958]=true,[0x0959]=true,[0x095A]=true, - [0x095B]=true,[0x095C]=true,[0x095D]=true,[0x095E]=true, - [0x095F]=true,[0x0979]=true,[0x097A]=true, - [0x0C95]=true,[0x0C96]=true,[0x0C97]=true,[0x0C98]=true, - [0x0C99]=true,[0x0C9A]=true,[0x0C9B]=true,[0x0C9C]=true, - [0x0C9D]=true,[0x0C9E]=true,[0x0C9F]=true,[0x0CA0]=true, - [0x0CA1]=true,[0x0CA2]=true,[0x0CA3]=true,[0x0CA4]=true, - [0x0CA5]=true,[0x0CA6]=true,[0x0CA7]=true,[0x0CA8]=true, - [0x0CA9]=true,[0x0CAA]=true,[0x0CAB]=true,[0x0CAC]=true, - [0x0CAD]=true,[0x0CAE]=true,[0x0CAF]=true,[0x0CB0]=true, - [0x0CB1]=true,[0x0CB2]=true,[0x0CB3]=true,[0x0CB4]=true, - [0x0CB5]=true,[0x0CB6]=true,[0x0CB7]=true,[0x0CB8]=true, - [0x0CB9]=true, - [0x0CDE]=true, - [0x0D15]=true,[0x0D16]=true,[0x0D17]=true,[0x0D18]=true, - [0x0D19]=true,[0x0D1A]=true,[0x0D1B]=true,[0x0D1C]=true, - [0x0D1D]=true,[0x0D1E]=true,[0x0D1F]=true,[0x0D20]=true, - [0x0D21]=true,[0x0D22]=true,[0x0D23]=true,[0x0D24]=true, - [0x0D25]=true,[0x0D26]=true,[0x0D27]=true,[0x0D28]=true, - [0x0D29]=true,[0x0D2A]=true,[0x0D2B]=true,[0x0D2C]=true, - [0x0D2D]=true,[0x0D2E]=true,[0x0D2F]=true,[0x0D30]=true, - [0x0D31]=true,[0x0D32]=true,[0x0D33]=true,[0x0D34]=true, - [0x0D35]=true,[0x0D36]=true,[0x0D37]=true,[0x0D38]=true, - [0x0D39]=true,[0x0D3A]=true, -} -local independent_vowel={ - [0x0904]=true,[0x0905]=true,[0x0906]=true,[0x0907]=true, - [0x0908]=true,[0x0909]=true,[0x090A]=true,[0x090B]=true, - [0x090C]=true,[0x090D]=true,[0x090E]=true,[0x090F]=true, - [0x0910]=true,[0x0911]=true,[0x0912]=true,[0x0913]=true, - [0x0914]=true,[0x0960]=true,[0x0961]=true,[0x0972]=true, - [0x0973]=true,[0x0974]=true,[0x0975]=true,[0x0976]=true, - [0x0977]=true, - [0x0C85]=true,[0x0C86]=true,[0x0C87]=true,[0x0C88]=true, - [0x0C89]=true,[0x0C8A]=true,[0x0C8B]=true,[0x0C8C]=true, - [0x0C8D]=true,[0x0C8E]=true,[0x0C8F]=true,[0x0C90]=true, - [0x0C91]=true,[0x0C92]=true,[0x0C93]=true,[0x0C94]=true, - [0x0D05]=true,[0x0D06]=true,[0x0D07]=true,[0x0D08]=true, - [0x0D09]=true,[0x0D0A]=true,[0x0D0B]=true,[0x0D0C]=true, - [0x0D0E]=true,[0x0D0F]=true,[0x0D10]=true,[0x0D12]=true, - [0x0D13]=true,[0x0D14]=true, -} -local dependent_vowel={ - [0x093A]=true,[0x093B]=true,[0x093E]=true,[0x093F]=true, - [0x0940]=true,[0x0941]=true,[0x0942]=true,[0x0943]=true, - [0x0944]=true,[0x0945]=true,[0x0946]=true,[0x0947]=true, - [0x0948]=true,[0x0949]=true,[0x094A]=true,[0x094B]=true, - [0x094C]=true,[0x094E]=true,[0x094F]=true,[0x0955]=true, - [0x0956]=true,[0x0957]=true,[0x0962]=true,[0x0963]=true, - [0x0CBE]=true,[0x0CBF]=true,[0x0CC0]=true,[0x0CC1]=true, - [0x0CC2]=true,[0x0CC3]=true,[0x0CC4]=true,[0x0CC5]=true, - [0x0CC6]=true,[0x0CC7]=true,[0x0CC8]=true,[0x0CC9]=true, - [0x0CCA]=true,[0x0CCB]=true,[0x0CCC]=true, - [0x0D3E]=true,[0x0D3F]=true,[0x0D40]=true,[0x0D41]=true, - [0x0D42]=true,[0x0D43]=true,[0x0D44]=true,[0x0D46]=true, - [0x0D47]=true,[0x0D48]=true,[0x0D4A]=true,[0x0D4B]=true, - [0x0D4C]=true,[0x0D57]=true, -} -local vowel_modifier={ - [0x0900]=true,[0x0901]=true,[0x0902]=true,[0x0903]=true, - [0xA8E0]=true,[0xA8E1]=true,[0xA8E2]=true,[0xA8E3]=true, - [0xA8E4]=true,[0xA8E5]=true,[0xA8E6]=true,[0xA8E7]=true, - [0xA8E8]=true,[0xA8E9]=true,[0xA8EA]=true,[0xA8EB]=true, - [0xA8EC]=true,[0xA8ED]=true,[0xA8EE]=true,[0xA8EF]=true, - [0xA8F0]=true,[0xA8F1]=true, - [0x0D02]=true,[0x0D03]=true, -} -local stress_tone_mark={ - [0x0951]=true,[0x0952]=true,[0x0953]=true,[0x0954]=true, - [0x0CCD]=true, - [0x0D4D]=true, -} -local nukta={ - [0x093C]=true, - [0x0CBC]=true, -} -local halant={ - [0x094D]=true, - [0x0CCD]=true, - [0x0D4D]=true, -} -local ra={ - [0x0930]=true, - [0x0CB0]=true, - [0x0D30]=true, -} -local c_anudatta=0x0952 -local c_nbsp=0x00A0 -local c_zwnj=0x200C -local c_zwj=0x200D +local indicgroups=characters and characters.indicgroups +if not indicgroups and characters then + local indic={ + c={}, + i={}, + d={}, + m={}, + s={}, + o={}, + } + local indicmarks={ + l={}, + t={}, + b={}, + r={}, + s={}, + } + local indicclasses={ + nukta={}, + halant={}, + ra={}, + anudatta={}, + } + local indicorders={ + bp={}, + ap={}, + bs={}, + as={}, + bh={}, + ah={}, + bm={}, + am={}, + } + for k,v in next,characters.data do + local i=v.indic + if i then + indic[i][k]=true + i=v.indicmark + if i then + if i=="s" then + local s=v.specials + indicmarks[i][k]={ s[2],s[3] } + else + indicmarks[i][k]=true + end + end + i=v.indicclass + if i then + indicclasses[i][k]=true + end + i=v.indicorder + if i then + indicorders[i][k]=true + end + end + end + indicgroups={ + consonant=indic.c, + independent_vowel=indic.i, + dependent_vowel=indic.d, + vowel_modifier=indic.m, + stress_tone_mark=indic.s, + pre_mark=indicmarks.l, + above_mark=indicmarks.t, + below_mark=indicmarks.b, + post_mark=indicmarks.r, + twopart_mark=indicmarks.s, + nukta=indicclasses.nukta, + halant=indicclasses.halant, + ra=indicclasses.ra, + anudatta=indicclasses.anudatta, + before_postscript=indicorders.bp, + after_postscript=indicorders.ap, + before_half=indicorders.bh, + after_half=indicorders.ah, + before_subscript=indicorders.bs, + after_subscript=indicorders.as, + before_main=indicorders.bm, + after_main=indicorders.am, + } + indic=nil + indicmarks=nil + indicclasses=nil + indicorders=nil + characters.indicgroups=indicgroups +else + indicgroups=table.setmetatableindex("table") +end +local consonant=indicgroups.consonant +local independent_vowel=indicgroups.independent_vowel +local dependent_vowel=indicgroups.dependent_vowel +local vowel_modifier=indicgroups.vowel_modifier +local stress_tone_mark=indicgroups.stress_tone_mark +local pre_mark=indicgroups.pre_mark +local above_mark=indicgroups.above_mark +local below_mark=indicgroups.below_mark +local post_mark=indicgroups.post_mark +local twopart_mark=indicgroups.twopart_mark +local nukta=indicgroups.nukta +local halant=indicgroups.halant +local ra=indicgroups.ra +local anudatta=indicgroups.anudatta +local before_postscript=indicgroups.before_postscript +local after_postscript=indicgroups.after_postscript +local before_half=indicgroups.before_half +local after_half=indicgroups.after_half +local before_subscript=indicgroups.before_subscript +local after_subscript=indicgroups.after_subscript +local before_main=indicgroups.before_main +local after_main=indicgroups.after_main +local mark_four=table.merged ( + pre_mark, + above_mark, + below_mark, + post_mark +) +local mark_above_below_post=table.merged ( + above_mark, + below_mark, + post_mark +) local zw_char={ - [0x200C]=true, - [0x200D]=true, -} -local pre_mark={ - [0x093F]=true,[0x094E]=true, - [0x0D46]=true,[0x0D47]=true,[0x0D48]=true, -} -local above_mark={ - [0x0900]=true,[0x0901]=true,[0x0902]=true,[0x093A]=true, - [0x0945]=true,[0x0946]=true,[0x0947]=true,[0x0948]=true, - [0x0951]=true,[0x0953]=true,[0x0954]=true,[0x0955]=true, - [0xA8E0]=true,[0xA8E1]=true,[0xA8E2]=true,[0xA8E3]=true, - [0xA8E4]=true,[0xA8E5]=true,[0xA8E6]=true,[0xA8E7]=true, - [0xA8E8]=true,[0xA8E9]=true,[0xA8EA]=true,[0xA8EB]=true, - [0xA8EC]=true,[0xA8ED]=true,[0xA8EE]=true,[0xA8EF]=true, - [0xA8F0]=true,[0xA8F1]=true, - [0x0D4E]=true, -} -local below_mark={ - [0x093C]=true,[0x0941]=true,[0x0942]=true,[0x0943]=true, - [0x0944]=true,[0x094D]=true,[0x0952]=true,[0x0956]=true, - [0x0957]=true,[0x0962]=true,[0x0963]=true, -} -local post_mark={ - [0x0903]=true,[0x093B]=true,[0x093E]=true,[0x0940]=true, - [0x0949]=true,[0x094A]=true,[0x094B]=true,[0x094C]=true, - [0x094F]=true, -} -local twopart_mark={ - [0x0D4A]={ 0x0D46,0x0D3E,}, - [0x0D4B]={ 0x0D47,0x0D3E,}, - [0x0D4C]={ 0x0D46,0x0D57,}, -} -local mark_four={} -for k,v in next,pre_mark do mark_four[k]=pre_mark end -for k,v in next,above_mark do mark_four[k]=above_mark end -for k,v in next,below_mark do mark_four[k]=below_mark end -for k,v in next,post_mark do mark_four[k]=post_mark end -local mark_above_below_post={} -for k,v in next,above_mark do mark_above_below_post[k]=above_mark end -for k,v in next,below_mark do mark_above_below_post[k]=below_mark end -for k,v in next,post_mark do mark_above_below_post[k]=post_mark end -local reorder_class={ - [0x0930]="before postscript", - [0x093F]="before half", - [0x0940]="after subscript", - [0x0941]="after subscript", - [0x0942]="after subscript", - [0x0943]="after subscript", - [0x0944]="after subscript", - [0x0945]="after subscript", - [0x0946]="after subscript", - [0x0947]="after subscript", - [0x0948]="after subscript", - [0x0949]="after subscript", - [0x094A]="after subscript", - [0x094B]="after subscript", - [0x094C]="after subscript", - [0x0962]="after subscript", - [0x0963]="after subscript", - [0x093E]="after subscript", - [0x0CB0]="after postscript", - [0x0CBF]="before subscript", - [0x0CC6]="before subscript", - [0x0CCC]="before subscript", - [0x0CBE]="before subscript", - [0x0CE2]="before subscript", - [0x0CE3]="before subscript", - [0x0CC1]="before subscript", - [0x0CC2]="before subscript", - [0x0CC3]="after subscript", - [0x0CC4]="after subscript", - [0x0CD5]="after subscript", - [0x0CD6]="after subscript", + [c_zwnj]=true, + [c_zwj ]=true, } local dflt_true={ dflt=true } -local dev2_defaults={ +local two_defaults={ dev2=dflt_true, } -local deva_defaults={ +local one_defaults={ dev2=dflt_true, deva=dflt_true, } local false_flags={ false,false,false,false } -local both_joiners_true={ - [0x200C]=true, - [0x200D]=true, -} local sequence_reorder_matras={ - features={ dv01=dev2_defaults }, + features={ dv01=two_defaults }, flags=false_flags, name="dv01_reorder_matras", order={ "dv01" }, @@ -26888,7 +27935,7 @@ local sequence_reorder_matras={ } } local sequence_reorder_reph={ - features={ dv02=dev2_defaults }, + features={ dv02=two_defaults }, flags=false_flags, name="dv02_reorder_reph", order={ "dv02" }, @@ -26901,7 +27948,7 @@ local sequence_reorder_reph={ } } local sequence_reorder_pre_base_reordering_consonants={ - features={ dv03=dev2_defaults }, + features={ dv03=two_defaults }, flags=false_flags, name="dv03_reorder_pre_base_reordering_consonants", order={ "dv03" }, @@ -26914,7 +27961,7 @@ local sequence_reorder_pre_base_reordering_consonants={ } } local sequence_remove_joiners={ - features={ dv04=deva_defaults }, + features={ dv04=one_defaults }, flags=false_flags, name="dv04_remove_joiners", order={ "dv04" }, @@ -26922,40 +27969,73 @@ local sequence_remove_joiners={ nofsteps=1, steps={ { - coverage=both_joiners_true, + coverage=zw_char, }, } } local basic_shaping_forms={ - nukt=true, + init=true, + abvs=true, akhn=true, - rphf=true, - pref=true, - rkrf=true, blwf=true, + calt=true, + cjct=true, half=true, + haln=true, + nukt=true, + pref=true, + pres=true, pstf=true, + psts=true, + rkrf=true, + rphf=true, vatu=true, - cjct=true, } local valid={ + abvs=true, akhn=true, - rphf=true, - pref=true, - half=true, blwf=true, + calt=true, + cjct=true, + half=true, + haln=true, + nukt=true, + pref=true, + pres=true, pstf=true, + psts=true, + rkrf=true, + rphf=true, + vatu=true, pres=true, + abvs=true, blws=true, psts=true, + haln=true, + calt=true, } +local scripts={} +local scripts_one={ "deva","mlym","beng","gujr","guru","knda","orya","taml","telu" } +local scripts_two={ "dev2","mlm2","bng2","gjr2","gur2","knd2","ory2","tml2","tel2" } +local nofscripts=#scripts_one +for i=1,nofscripts do + local one=scripts_one[i] + local two=scripts_two[i] + scripts[one]=true + scripts[two]=true + two_defaults[one]=dflt_true + one_defaults[one]=dflt_true + one_defaults[two]=dflt_true +end +local function valid_one(s) for i=1,nofscripts do if s[scripts_one[i]] then return true end end end +local function valid_two(s) for i=1,nofscripts do if s[scripts_two[i]] then return true end end end local function initializedevanagi(tfmdata) local script,language=otf.scriptandlanguage(tfmdata,attr) - if script=="deva" or script=="dev2" or script=="mlym" or script=="mlm2" then + if scripts[script] then local resources=tfmdata.resources local devanagari=resources.devanagari if not devanagari then - report_devanagari("adding devanagari features to font") + report("adding devanagari features to font") local gsubfeatures=resources.features.gsub local sequences=resources.sequences local sharedfeatures=tfmdata.shared.features @@ -26971,10 +28051,10 @@ local function initializedevanagi(tfmdata) end end local insertindex=lastmatch+1 - gsubfeatures["dv01"]=dev2_defaults - gsubfeatures["dv02"]=dev2_defaults - gsubfeatures["dv03"]=dev2_defaults - gsubfeatures["dv04"]=deva_defaults + gsubfeatures["dv01"]=two_defaults + gsubfeatures["dv02"]=two_defaults + gsubfeatures["dv03"]=two_defaults + gsubfeatures["dv04"]=one_defaults local reorder_pre_base_reordering_consonants=copy(sequence_reorder_pre_base_reordering_consonants) local reorder_reph=copy(sequence_reorder_reph) local reorder_matras=copy(sequence_reorder_matras) @@ -27022,8 +28102,8 @@ local function initializedevanagi(tfmdata) end end end - for kind,spec in next,features do - if spec.dev2 and valid[kind] then + for kind,spec in next,features do + if valid[kind] and valid_two(spec)then for i=1,nofsteps do local step=steps[i] local coverage=step.coverage @@ -27047,7 +28127,9 @@ local function initializedevanagi(tfmdata) end end end - seqsubset[#seqsubset+1]={ kind,coverage,reph } +if reph then + seqsubset[#seqsubset+1]={ kind,coverage,reph } +end end end end @@ -27092,8 +28174,14 @@ local function initializedevanagi(tfmdata) sharedfeatures["pstf"]=true sharedfeatures["pref"]=true sharedfeatures["dv03"]=true - gsubfeatures ["dv03"]=dev2_defaults + gsubfeatures ["dv03"]=two_defaults insert(sequences,insertindex,sequence_reorder_pre_base_reordering_consonants) + elseif script=="taml" then + sharedfeatures["dv04"]=true +sharedfeatures["pstf"]=true + elseif script=="tml2" then + else + report("todo: enable the right features for script %a",script) end end end @@ -27106,7 +28194,7 @@ registerotffeature { node=initializedevanagi, }, } -local function deva_initialize(font,attr) +local function initialize_one(font,attr) local tfmdata=fontdata[font] local datasets=otf.dataset(tfmdata,font,attr) local devanagaridata=datasets.devanagari @@ -27134,8 +28222,8 @@ local function deva_initialize(font,attr) end return devanagaridata.reph,devanagaridata.vattu,devanagaridata.blwfcache end -local function deva_reorder(head,start,stop,font,attr,nbspaces) - local reph,vattu,blwfcache=deva_initialize(font,attr) +local function reorder_one(head,start,stop,font,attr,nbspaces) + local reph,vattu,blwfcache=initialize_one(font,attr) local current=start local n=getnext(start) local base=nil @@ -27166,40 +28254,40 @@ local function deva_reorder(head,start,stop,font,attr,nbspaces) lastcons=current current=getnext(current) if current~=stop then - if nukta[getchar(current)] then + local char=getchar(current) + if nukta[char] then current=getnext(current) + char=getchar(current) end - if getchar(current)==c_zwj then - if current~=stop then - local next=getnext(current) - if next~=stop and halant[getchar(next)] then - current=next - next=getnext(current) - local tmp=next and getnext(next) or nil - local changestop=next==stop - local tempcurrent=copy_node(next) - copyinjection(tempcurrent,next) - local nextcurrent=copy_node(current) - copyinjection(nextcurrent,current) - setlink(tempcurrent,nextcurrent) - setprop(tempcurrent,a_state,s_blwf) - tempcurrent=processcharacters(tempcurrent,font) - setprop(tempcurrent,a_state,unsetvalue) - if getchar(next)==getchar(tempcurrent) then - flush_list(tempcurrent) - local n=copy_node(current) - copyinjection(n,current) - setchar(current,dotted_circle) - head=insert_node_after(head,current,n) - else - setchar(current,getchar(tempcurrent)) - local freenode=getnext(current) - setlink(current,tmp) - flush_node(freenode) - flush_list(tempcurrent) - if changestop then - stop=current - end + if char==c_zwj and current~=stop then + local next=getnext(current) + if next~=stop and halant[getchar(next)] then + current=next + next=getnext(current) + local tmp=next and getnext(next) or nil + local changestop=next==stop + local tempcurrent=copy_node(next) + copyinjection(tempcurrent,next) + local nextcurrent=copy_node(current) + copyinjection(nextcurrent,current) + setlink(tempcurrent,nextcurrent) + setprop(tempcurrent,a_state,s_blwf) + tempcurrent=processcharacters(tempcurrent,font) + setprop(tempcurrent,a_state,unsetvalue) + if getchar(next)==getchar(tempcurrent) then + flush_list(tempcurrent) + local n=copy_node(current) + copyinjection(n,current) + setchar(current,dotted_circle) + head=insert_node_after(head,current,n) + else + setchar(current,getchar(tempcurrent)) + local freenode=getnext(current) + setlink(current,tmp) + flush_node(freenode) + flush_list(tempcurrent) + if changestop then + stop=current end end end @@ -27472,9 +28560,11 @@ function handlers.devanagari_reorder_reph(head,start) local startprev=nil local startfont=getfont(start) local startattr=getprop(start,a_syllabe) + ::step_1:: + ::step_2:: while current do local char=ischar(current,startfont) - if char and getprop(current,a_syllabe)==startattr then + if char and getprop(current,a_syllabe)==startattr then if halant[char] and not getprop(current,a_state) then local next=getnext(current) if next then @@ -27497,11 +28587,13 @@ function handlers.devanagari_reorder_reph(head,start) break end end + ::step_3:: + ::step_4:: if not startnext then current=getnext(start) while current do local char=ischar(current,startfont) - if char and getprop(current,a_syllabe)==startattr then + if char and getprop(current,a_syllabe)==startattr then if getprop(current,a_state)==s_pstf then startnext=getnext(start) head=remove_node(head,start) @@ -27517,13 +28609,14 @@ function handlers.devanagari_reorder_reph(head,start) end end end + ::step_5:: if not startnext then current=getnext(start) local c=nil while current do local char=ischar(current,startfont) - if char and getprop(current,a_syllabe)==startattr then - if not c and mark_above_below_post[char] and reorder_class[char]~="after subscript" then + if char and getprop(current,a_syllabe)==startattr then + if not c and mark_above_below_post[char] and after_subscript[char] then c=current end current=getnext(current) @@ -27540,12 +28633,13 @@ function handlers.devanagari_reorder_reph(head,start) startattr=getprop(start,a_syllabe) end end + ::step_6:: if not startnext then current=start local next=getnext(current) while next do local nextchar=ischar(next,startfont) - if nextchar and getprop(next,a_syllabe)==startattr then + if nextchar and getprop(next,a_syllabe)==startattr then current=next next=getnext(current) else @@ -27637,12 +28731,12 @@ function handlers.devanagari_remove_joiners(head,start,kind,lookupname,replaceme setnext(prev) end if head==start then - head=stop + head=stop end flush_list(start) return head,stop,true end -local function dev2_initialize(font,attr) +local function initialize_two(font,attr) local devanagari=fontdata[font].resources.devanagari if devanagari then return devanagari.seqsubset or {},devanagari.reorderreph or {} @@ -27650,8 +28744,8 @@ local function dev2_initialize(font,attr) return {},{} end end -local function dev2_reorder(head,start,stop,font,attr,nbspaces) - local seqsubset,reorderreph=dev2_initialize(font,attr) +local function reorder_two(head,start,stop,font,attr,nbspaces) + local seqsubset,reorderreph=initialize_two(font,attr) local reph=false local halfpos=nil local basepos=nil @@ -27676,8 +28770,7 @@ local function dev2_reorder(head,start,stop,font,attr,nbspaces) if found[n] then local afternext=next~=stop and getnext(next) if afternext and zw_char[getchar(afternext)] then - current=next - current=getnext(current) + current=afternext elseif current==start then setprop(current,a_state,s_rphf) current=next @@ -27814,7 +28907,7 @@ local function dev2_reorder(head,start,stop,font,attr,nbspaces) if halant[getchar(current)] then setnext(getnext(current),tmp) local nc=copy_node(current) - copyinjection(nc,current) + copyinjection(nc,current) setchar(current,dotted_circle) head=insert_node_after(head,current,nc) else @@ -28185,7 +29278,7 @@ local function analyze_next_chars_two(c,font) if not v then return c end - if v==c_anudatta then + if anudatta[v] then c=n n=getnext(c) if not n then @@ -28280,31 +29373,32 @@ local function analyze_next_chars_two(c,font) return c end end -local function inject_syntax_error(head,current,mark) +local show_syntax_errors=false +local function inject_syntax_error(head,current,char) local signal=copy_node(current) - copyinjection(signal,current) - if mark==pre_mark then + copyinjection(signal,current) + if pre_mark[char] then setchar(signal,dotted_circle) else setchar(current,dotted_circle) end return insert_node_after(head,current,signal) end -function methods.deva(head,font,attr) +local function method_one(head,font,attr) head=tonut(head) local current=head local start=true local done=false local nbspaces=0 while current do - local char=ischar(current,font) + local char=ischar(current,font) if char then done=true local syllablestart=current local syllableend=nil local c=current local n=getnext(c) - local first=char + local first=char if n and ra[first] then local second=ischar(n,font) if second and halant[second] then @@ -28332,10 +29426,10 @@ function methods.deva(head,font,attr) end end if standalone then - local syllableend=analyze_next_chars_one(c,font,2) - current=getnext(syllableend) + local syllableend=analyze_next_chars_one(c,font,2) + current=getnext(syllableend) if syllablestart~=syllableend then - head,current,nbspaces=deva_reorder(head,syllablestart,syllableend,font,attr,nbspaces) + head,current,nbspaces=reorder_one(head,syllablestart,syllableend,font,attr,nbspaces) current=getnext(current) end else @@ -28432,7 +29526,7 @@ function methods.deva(head,font,attr) end end if syllablestart~=syllableend then - head,current,nbspaces=deva_reorder(head,syllablestart,syllableend,font,attr,nbspaces) + head,current,nbspaces=reorder_one(head,syllablestart,syllableend,font,attr,nbspaces) current=getnext(current) end elseif independent_vowel[char] then @@ -28453,9 +29547,11 @@ function methods.deva(head,font,attr) end end else - local mark=mark_four[char] - if mark then - head,current=inject_syntax_error(head,current,mark) + if show_syntax_errors then + local mark=mark_four[char] + if mark then + head,current=inject_syntax_error(head,current,char) + end end current=getnext(current) end @@ -28468,10 +29564,9 @@ function methods.deva(head,font,attr) if nbspaces>0 then head=replace_all_nbsp(head) end - head=tonode(head) - return head,done + return tonode(head),done end -function methods.dev2(head,font,attr) +local function method_two(head,font,attr) head=tonut(head) local current=head local start=true @@ -28495,7 +29590,7 @@ function methods.dev2(head,font,attr) local nextnextchar=ischar(n,font) if nextnextchar then c=n - char=nextnextchar + char=nextnextchar end end end @@ -28534,14 +29629,14 @@ function methods.dev2(head,font,attr) end end if syllableend and syllablestart~=syllableend then - head,current,nbspaces=dev2_reorder(head,syllablestart,syllableend,font,attr,nbspaces) + head,current,nbspaces=reorder_two(head,syllablestart,syllableend,font,attr,nbspaces) end - if not syllableend then + if not syllableend and show_syntax_errors then local char=ischar(current,font) if char and not getprop(current,a_state) then local mark=mark_four[char] if mark then - head,current=inject_syntax_error(head,current,mark) + head,current=inject_syntax_error(head,current,char) end end end @@ -28551,11 +29646,12 @@ function methods.dev2(head,font,attr) if nbspaces>0 then head=replace_all_nbsp(head) end - head=tonode(head) - return head,done + return tonode(head),done +end +for i=1,nofscripts do + methods[scripts_one[i]]=method_one + methods[scripts_two[i]]=method_two end -methods.mlym=methods.deva -methods.mlm2=methods.dev2 end -- closure diff --git a/tex/generic/context/luatex/luatex-fonts.lua b/tex/generic/context/luatex/luatex-fonts.lua index ef3bb74dc..5806debd2 100644 --- a/tex/generic/context/luatex/luatex-fonts.lua +++ b/tex/generic/context/luatex/luatex-fonts.lua @@ -226,7 +226,7 @@ if non_generic_context.luatex_fonts.skip_loading ~= true then loadmodule('font-map.lua') -- for loading lum file (will be stripped) -- We use a bit simpler database because using the context one demands loading more helper - -- code and although it is more flexible (more wauys to resolve and so) it will never be + -- code and although it is more flexible (more ways to resolve and so) it will never be -- uses in plain/latex anyway, so let's stick to a simple approach. loadmodule('luatex-fonts-syn.lua') -- cgit v1.2.3