From b7a7de31716616b7a5176259e2b60349f8089615 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Fri, 21 Jan 2022 20:54:31 +0100 Subject: 2022-01-21 20:12:00 --- .../context/lexers/data/scite-context-data-tex.lua | 2 +- .../context/scite-context-data-tex.properties | 57 +- .../context/syntaxes/context-syntax-tex.json | 2 +- .../sources/general/manuals/luatex/luatex-math.tex | 5 + metapost/context/base/mpiv/mp-tool.mpiv | 14 +- metapost/context/base/mpxl/mp-tool.mpxl | 14 +- tex/context/base/mkii/cont-new.mkii | 2 +- tex/context/base/mkii/context.mkii | 2 +- tex/context/base/mkii/mult-ro.mkii | 2 + tex/context/base/mkiv/cont-new.mkiv | 2 +- tex/context/base/mkiv/context.mkiv | 2 +- tex/context/base/mkiv/lang-imp-indic.lua | 1362 ++++++++++++++++++-- tex/context/base/mkiv/lang-imp-serbian.lua | 8 + tex/context/base/mkiv/mult-prm.lua | 5 + tex/context/base/mkiv/status-files.pdf | Bin 24784 -> 24745 bytes tex/context/base/mkiv/status-lua.pdf | Bin 257644 -> 257662 bytes tex/context/base/mkiv/strc-enu.mkvi | 2 +- tex/context/base/mkxl/cont-new.mkxl | 2 +- tex/context/base/mkxl/context.mkxl | 2 +- tex/context/base/mkxl/font-ctx.lmt | 46 +- tex/context/base/mkxl/font-ini.mklx | 13 +- tex/context/base/mkxl/good-gen.lmt | 6 +- tex/context/base/mkxl/lang-lab.mkxl | 2 +- tex/context/base/mkxl/lang-tra.lmt | 322 +++++ tex/context/base/mkxl/lang-tra.mkxl | 42 +- tex/context/base/mkxl/lpdf-lmt.lmt | 8 +- tex/context/base/mkxl/math-act.lmt | 9 +- tex/context/base/mkxl/math-fen.mkxl | 22 +- tex/context/base/mkxl/meta-ini.mkxl | 4 +- tex/context/base/mkxl/mlib-ctx.lmt | 15 + tex/context/base/mkxl/node-syn.lmt | 82 +- tex/context/base/mkxl/pack-mrl.mkxl | 74 +- tex/context/base/mkxl/spac-hor.mkxl | 32 +- tex/context/base/mkxl/trac-deb.lmt | 20 +- tex/context/fonts/mkiv/lucida-opentype-math.lfg | 2 +- tex/context/interface/mkii/keys-ro.xml | 2 + tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 37 files changed, 1855 insertions(+), 333 deletions(-) create mode 100644 tex/context/base/mkxl/lang-tra.lmt 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 5d2f5dbf1..579ef3414 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", "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", "savinghyphcodes", "savingvdiscards", "scantokens", "showgroups", "showifs", "showtokens", "splitbotmarks", "splitdiscards", "splitfirstmarks", "topmarks", "tracingassigns", "tracinggroups", "tracingifs", "tracinglevels", "tracingnesting", "unexpanded", "unless", "widowpenalties" }, - ["luatex"]={ "UUskewed", "UUskewedwithdelims", "Uabove", "Uabovewithdelims", "Uatop", "Uatopwithdelims", "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Uleft", "Umathaccent", "Umathaccentbaseheight", "Umathaccentvariant", "Umathadapttoleft", "Umathadapttoright", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbinfracspacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinradspacing", "Umathbinrelspacing", "Umathbotaccentvariant", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharnum", "Umathcharnumdef", "Umathcharslot", "Umathclass", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathclosefracspacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloseradspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathconnectoroverlapmin", "Umathdegreevariant", "Umathdelimiterovervariant", "Umathdelimiterundervariant", "Umathdenominatorvariant", "Umathextrasubpreshift", "Umathextrasubprespace", "Umathextrasubshift", "Umathextrasubspace", "Umathextrasuppreshift", "Umathextrasupprespace", "Umathextrasupshift", "Umathextrasupspace", "Umathfracbinspacing", "Umathfracclosespacing", "Umathfracfracspacing", "Umathfracinnerspacing", "Umathfracopenspacing", "Umathfracopspacing", "Umathfracordspacing", "Umathfracpunctspacing", "Umathfracradspacing", "Umathfracrelspacing", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathfractionvariant", "Umathhextensiblevariant", "Umathinnerbinspacing", "Umathinnerclosespacing", "Umathinnerfracspacing", "Umathinnerinnerspacing", "Umathinneropenspacing", "Umathinneropspacing", "Umathinnerordspacing", "Umathinnerpunctspacing", "Umathinnerradspacing", "Umathinnerrelspacing", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathlimits", "Umathnoaxis", "Umathnolimits", "Umathnolimitsubfactor", "Umathnolimitsupfactor", "Umathnumeratorvariant", "Umathopbinspacing", "Umathopclosespacing", "Umathopenbinspacing", "Umathopenclosespacing", "Umathopenfracspacing", "Umathopeninnerspacing", "Umathopenopenspacing", "Umathopenopspacing", "Umathopenordspacing", "Umathopenpunctspacing", "Umathopenradspacing", "Umathopenrelspacing", "Umathopenupdepth", "Umathopenupheight", "Umathoperatorsize", "Umathopfracspacing", "Umathopinnerspacing", "Umathopopenspacing", "Umathopopspacing", "Umathopordspacing", "Umathoppunctspacing", "Umathopradspacing", "Umathoprelspacing", "Umathordbinspacing", "Umathordclosespacing", "Umathordfracspacing", "Umathordinnerspacing", "Umathordopenspacing", "Umathordopspacing", "Umathordordspacing", "Umathordpunctspacing", "Umathordradspacing", "Umathordrelspacing", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervariant", "Umathoverdelimitervgap", "Umathoverlayaccentvariant", "Umathoverlinevariant", "Umathphantom", "Umathpunctbinspacing", "Umathpunctclosespacing", "Umathpunctfracspacing", "Umathpunctinnerspacing", "Umathpunctopenspacing", "Umathpunctopspacing", "Umathpunctordspacing", "Umathpunctpunctspacing", "Umathpunctradspacing", "Umathpunctrelspacing", "Umathquad", "Umathradbinspacing", "Umathradclosespacing", "Umathradfracspacing", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalkern", "Umathradicalrule", "Umathradicalvariant", "Umathradicalvgap", "Umathradinnerspacing", "Umathradopenspacing", "Umathradopspacing", "Umathradordspacing", "Umathradpunctspacing", "Umathradradspacing", "Umathradrelspacing", "Umathrelbinspacing", "Umathrelclosespacing", "Umathrelfracspacing", "Umathrelinnerspacing", "Umathrelopenspacing", "Umathrelopspacing", "Umathrelordspacing", "Umathrelpunctspacing", "Umathrelradspacing", "Umathrelrelspacing", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathspaceafterscript", "Umathspacebeforescript", "Umathspacingmode", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvariant", "Umathstackvgap", "Umathsubscriptvariant", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsuperscriptvariant", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathtopaccentvariant", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervariant", "Umathunderdelimitervgap", "Umathunderlinevariant", "Umathvextensiblevariant", "Umathvoid", "Umathxscale", "Umathyscale", "Umiddle", "Unosubprescript", "Unosubscript", "Unosuperprescript", "Unosuperscript", "Uover", "Uoverdelimiter", "Uoverwithdelims", "Uradical", "Uright", "Uroot", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Ustyle", "Usubprescript", "Usubscript", "Usuperprescript", "Usuperscript", "Uunderdelimiter", "Uvextensible", "adjustspacing", "adjustspacingshrink", "adjustspacingstep", "adjustspacingstretch", "afterassigned", "aftergrouped", "aliased", "alignmark", "aligntab", "atendofgroup", "atendofgrouped", "attribute", "attributedef", "automaticdiscretionary", "automatichyphenpenalty", "automigrationmode", "autoparagraphmode", "begincsname", "beginlocalcontrol", "beginmathgroup", "beginsimplegroup", "boundary", "boxanchor", "boxanchors", "boxattribute", "boxdirection", "boxgeometry", "boxorientation", "boxshift", "boxsource", "boxtarget", "boxtotal", "boxxmove", "boxxoffset", "boxymove", "boxyoffset", "catcodetable", "clearmarks", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "csstring", "currentloopiterator", "currentloopnesting", "currentmarks", "defcsname", "dimensiondef", "dimexpression", "directlua", "edefcsname", "efcode", "endlocalcontrol", "endmathgroup", "endsimplegroup", "enforced", "etoks", "etoksapp", "etokspre", "everybeforepar", "everytab", "exceptionpenalty", "expand", "expandafterpars", "expandafterspaces", "expandcstoken", "expanded", "expandedafter", "expandedloop", "expandtoken", "explicitdiscretionary", "explicithyphenpenalty", "firstvalidlanguage", "flushmarks", "fontid", "fontmathcontrol", "fontspecdef", "fontspecid", "fontspecifiedsize", "fontspecscale", "fontspecxscale", "fontspecyscale", "fonttextcontrol", "formatname", "frozen", "futurecsname", "futuredef", "futureexpand", "futureexpandis", "futureexpandisap", "gdefcsname", "gleaders", "glet", "gletcsname", "glettonothing", "gluespecdef", "glyphdatafield", "glyphoptions", "glyphscale", "glyphscriptfield", "glyphscriptscale", "glyphscriptscriptscale", "glyphstatefield", "glyphtextscale", "glyphxoffset", "glyphxscale", "glyphyoffset", "glyphyscale", "gtoksapp", "gtokspre", "hccode", "hjcode", "hpack", "hyphenationmin", "hyphenationmode", "ifabsdim", "ifabsnum", "ifarguments", "ifboolean", "ifchkdim", "ifchknum", "ifcmpdim", "ifcmpnum", "ifcondition", "ifcstok", "ifdimexpression", "ifdimval", "ifempty", "ifflags", "ifhaschar", "ifhastok", "ifhastoks", "ifhasxtoks", "ifincsname", "ifinsert", "ifmathparameter", "ifmathstyle", "ifnumexpression", "ifnumval", "ifparameter", "ifparameters", "ifrelax", "iftok", "ignorearguments", "ignorepars", "immediate", "immutable", "initcatcodetable", "insertbox", "insertcopy", "insertdepth", "insertdistance", "insertheight", "insertheights", "insertlimit", "insertmaxdepth", "insertmode", "insertmultiplier", "insertpenalty", "insertprogress", "insertstorage", "insertstoring", "insertunbox", "insertuncopy", "insertwidth", "instance", "integerdef", "lastarguments", "lastchkdim", "lastchknum", "lastnamedcs", "lastnodesubtype", "lastparcontext", "leftmarginkern", "letcharcode", "letcsname", "letfrozen", "letprotected", "lettonothing", "linedirection", "localbrokenpenalty", "localcontrol", "localcontrolled", "localcontrolledloop", "localinterlinepenalty", "localleftbox", "localleftboxbox", "localmiddlebox", "localmiddleboxbox", "localrightbox", "localrightboxbox", "lpcode", "luabytecode", "luabytecodecall", "luacopyinputnodes", "luadef", "luaescapestring", "luafunction", "luafunctioncall", "luatexbanner", "luatexrevision", "luatexversion", "mathcontrolmode", "mathdelimitersmode", "mathdirection", "mathdisplayskipmode", "matheqnogapstep", "mathflattenmode", "mathfontcontrol", "mathfrac", "mathlimitsmode", "mathnolimitsmode", "mathpenaltiesmode", "mathrad", "mathrulesfam", "mathrulesmode", "mathrulethicknessmode", "mathscale", "mathscriptboxmode", "mathscriptcharmode", "mathscriptsmode", "mathstyle", "mathsurroundmode", "mathsurroundskip", "mugluespecdef", "mutable", "noaligned", "noboundary", "nohrule", "norelax", "normalizelinemode", "nospaces", "novrule", "numericscale", "numexpression", "orelse", "orphanpenalties", "orphanpenalty", "orunless", "outputbox", "overloaded", "overloadmode", "pageboundary", "pageboundarypenalty", "pagevsize", "parametercount", "parametermark", "parattribute", "pardirection", "permanent", "postexhyphenchar", "posthyphenchar", "prebinoppenalty", "predisplaygapfactor", "preexhyphenchar", "prehyphenchar", "prerelpenalty", "protrudechars", "protrusionboundary", "pxdimen", "quitloop", "quitvmode", "retokenized", "rightmarginkern", "rpcode", "savecatcodetable", "scantextokens", "semiexpanded", "semiprotected", "setfontid", "shapingpenaltiesmode", "shapingpenalty", "snapshotpar", "supmarkmode", "swapcsvalues", "tabsize", "textdirection", "thewithoutunit", "todimension", "tointeger", "tokenized", "toksapp", "tokspre", "tolerant", "tomathstyle", "toscaled", "tpack", "tracingadjusts", "tracingalignments", "tracingexpressions", "tracingfonts", "tracingfullboxes", "tracinghyphenation", "tracinginserts", "tracingmarks", "tracingmath", "tracingnodes", "undent", "unexpandedloop", "unletfrozen", "unletprotected", "untraced", "vpack", "wordboundary", "wrapuppar", "xdefcsname", "xtoks", "xtoksapp", "xtokspre" }, + ["luatex"]={ "UUskewed", "UUskewedwithdelims", "Uabove", "Uabovewithdelims", "Uatop", "Uatopwithdelims", "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Uleft", "Umathaccent", "Umathaccentbaseheight", "Umathaccentvariant", "Umathadapttoleft", "Umathadapttoright", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbinfracspacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinradspacing", "Umathbinrelspacing", "Umathbotaccentvariant", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharnum", "Umathcharnumdef", "Umathcharslot", "Umathclass", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathclosefracspacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloseradspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathconnectoroverlapmin", "Umathdegreevariant", "Umathdelimiterovervariant", "Umathdelimiterundervariant", "Umathdenominatorvariant", "Umathextrasubpreshift", "Umathextrasubprespace", "Umathextrasubshift", "Umathextrasubspace", "Umathextrasuppreshift", "Umathextrasupprespace", "Umathextrasupshift", "Umathextrasupspace", "Umathfracbinspacing", "Umathfracclosespacing", "Umathfracfracspacing", "Umathfracinnerspacing", "Umathfracopenspacing", "Umathfracopspacing", "Umathfracordspacing", "Umathfracpunctspacing", "Umathfracradspacing", "Umathfracrelspacing", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathfractionvariant", "Umathhextensiblevariant", "Umathinnerbinspacing", "Umathinnerclosespacing", "Umathinnerfracspacing", "Umathinnerinnerspacing", "Umathinneropenspacing", "Umathinneropspacing", "Umathinnerordspacing", "Umathinnerpunctspacing", "Umathinnerradspacing", "Umathinnerrelspacing", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathlimits", "Umathnoaxis", "Umathnolimits", "Umathnolimitsubfactor", "Umathnolimitsupfactor", "Umathnumeratorvariant", "Umathopbinspacing", "Umathopclosespacing", "Umathopenbinspacing", "Umathopenclosespacing", "Umathopenfracspacing", "Umathopeninnerspacing", "Umathopenopenspacing", "Umathopenopspacing", "Umathopenordspacing", "Umathopenpunctspacing", "Umathopenradspacing", "Umathopenrelspacing", "Umathopenupdepth", "Umathopenupheight", "Umathoperatorsize", "Umathopfracspacing", "Umathopinnerspacing", "Umathopopenspacing", "Umathopopspacing", "Umathopordspacing", "Umathoppunctspacing", "Umathopradspacing", "Umathoprelspacing", "Umathordbinspacing", "Umathordclosespacing", "Umathordfracspacing", "Umathordinnerspacing", "Umathordopenspacing", "Umathordopspacing", "Umathordordspacing", "Umathordpunctspacing", "Umathordradspacing", "Umathordrelspacing", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervariant", "Umathoverdelimitervgap", "Umathoverlayaccentvariant", "Umathoverlinevariant", "Umathphantom", "Umathpunctbinspacing", "Umathpunctclosespacing", "Umathpunctfracspacing", "Umathpunctinnerspacing", "Umathpunctopenspacing", "Umathpunctopspacing", "Umathpunctordspacing", "Umathpunctpunctspacing", "Umathpunctradspacing", "Umathpunctrelspacing", "Umathquad", "Umathradbinspacing", "Umathradclosespacing", "Umathradfracspacing", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalkern", "Umathradicalrule", "Umathradicalvariant", "Umathradicalvgap", "Umathradinnerspacing", "Umathradopenspacing", "Umathradopspacing", "Umathradordspacing", "Umathradpunctspacing", "Umathradradspacing", "Umathradrelspacing", "Umathrelbinspacing", "Umathrelclosespacing", "Umathrelfracspacing", "Umathrelinnerspacing", "Umathrelopenspacing", "Umathrelopspacing", "Umathrelordspacing", "Umathrelpunctspacing", "Umathrelradspacing", "Umathrelrelspacing", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathspaceafterscript", "Umathspacebeforescript", "Umathspacingmode", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvariant", "Umathstackvgap", "Umathsubscriptvariant", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsuperscriptvariant", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathtopaccentvariant", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervariant", "Umathunderdelimitervgap", "Umathunderlinevariant", "Umathvextensiblevariant", "Umathvoid", "Umathxscale", "Umathyscale", "Umiddle", "Unosubprescript", "Unosubscript", "Unosuperprescript", "Unosuperscript", "Uover", "Uoverdelimiter", "Uoverwithdelims", "Uradical", "Uright", "Uroot", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Ustyle", "Usubprescript", "Usubscript", "Usuperprescript", "Usuperscript", "Uunderdelimiter", "Uvextensible", "adjustspacing", "adjustspacingshrink", "adjustspacingstep", "adjustspacingstretch", "afterassigned", "aftergrouped", "aliased", "alignmark", "aligntab", "allmathstyles", "allscriptstyles", "allsplitstyles", "alltextstyles", "atendofgroup", "atendofgrouped", "attribute", "attributedef", "automaticdiscretionary", "automatichyphenpenalty", "automigrationmode", "autoparagraphmode", "begincsname", "beginlocalcontrol", "beginmathgroup", "beginsimplegroup", "boundary", "boxanchor", "boxanchors", "boxattribute", "boxdirection", "boxgeometry", "boxorientation", "boxshift", "boxsource", "boxtarget", "boxtotal", "boxxmove", "boxxoffset", "boxymove", "boxyoffset", "catcodetable", "clearmarks", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "csstring", "currentloopiterator", "currentloopnesting", "currentmarks", "defcsname", "dimensiondef", "dimexpression", "directlua", "edefcsname", "efcode", "endlocalcontrol", "endmathgroup", "endsimplegroup", "enforced", "etoks", "etoksapp", "etokspre", "everybeforepar", "everytab", "exceptionpenalty", "expand", "expandafterpars", "expandafterspaces", "expandcstoken", "expanded", "expandedafter", "expandedloop", "expandtoken", "explicitdiscretionary", "explicithyphenpenalty", "firstvalidlanguage", "flushmarks", "fontid", "fontmathcontrol", "fontspecdef", "fontspecid", "fontspecifiedsize", "fontspecscale", "fontspecxscale", "fontspecyscale", "fonttextcontrol", "formatname", "frozen", "futurecsname", "futuredef", "futureexpand", "futureexpandis", "futureexpandisap", "gdefcsname", "gleaders", "glet", "gletcsname", "glettonothing", "gluespecdef", "glyphdatafield", "glyphoptions", "glyphscale", "glyphscriptfield", "glyphscriptscale", "glyphscriptscriptscale", "glyphstatefield", "glyphtextscale", "glyphxoffset", "glyphxscale", "glyphyoffset", "glyphyscale", "gtoksapp", "gtokspre", "hccode", "hjcode", "hpack", "hyphenationmin", "hyphenationmode", "ifabsdim", "ifabsnum", "ifarguments", "ifboolean", "ifchkdim", "ifchknum", "ifcmpdim", "ifcmpnum", "ifcondition", "ifcstok", "ifdimexpression", "ifdimval", "ifempty", "ifflags", "ifhaschar", "ifhastok", "ifhastoks", "ifhasxtoks", "ifincsname", "ifinsert", "ifmathparameter", "ifmathstyle", "ifnumexpression", "ifnumval", "ifparameter", "ifparameters", "ifrelax", "iftok", "ignorearguments", "ignorepars", "immediate", "immutable", "inherited", "initcatcodetable", "insertbox", "insertcopy", "insertdepth", "insertdistance", "insertheight", "insertheights", "insertlimit", "insertmaxdepth", "insertmode", "insertmultiplier", "insertpenalty", "insertprogress", "insertstorage", "insertstoring", "insertunbox", "insertuncopy", "insertwidth", "instance", "integerdef", "lastarguments", "lastchkdim", "lastchknum", "lastnamedcs", "lastnodesubtype", "lastparcontext", "leftmarginkern", "letcharcode", "letcsname", "letfrozen", "letprotected", "lettonothing", "linedirection", "localbrokenpenalty", "localcontrol", "localcontrolled", "localcontrolledloop", "localinterlinepenalty", "localleftbox", "localleftboxbox", "localmiddlebox", "localmiddleboxbox", "localrightbox", "localrightboxbox", "lpcode", "luabytecode", "luabytecodecall", "luacopyinputnodes", "luadef", "luaescapestring", "luafunction", "luafunctioncall", "luatexbanner", "luatexrevision", "luatexversion", "mathcontrolmode", "mathdelimitersmode", "mathdirection", "mathdisplayskipmode", "matheqnogapstep", "mathflattenmode", "mathfontcontrol", "mathfrac", "mathlimitsmode", "mathnolimitsmode", "mathpenaltiesmode", "mathrad", "mathrulesfam", "mathrulesmode", "mathrulethicknessmode", "mathscale", "mathscriptboxmode", "mathscriptcharmode", "mathscriptsmode", "mathstyle", "mathsurroundmode", "mathsurroundskip", "mugluespecdef", "mutable", "noaligned", "noboundary", "nohrule", "norelax", "normalizelinemode", "nospaces", "novrule", "numericscale", "numexpression", "orelse", "orphanpenalties", "orphanpenalty", "orunless", "outputbox", "overloaded", "overloadmode", "pageboundary", "pageboundarypenalty", "pagevsize", "parametercount", "parametermark", "parattribute", "pardirection", "permanent", "postexhyphenchar", "posthyphenchar", "prebinoppenalty", "predisplaygapfactor", "preexhyphenchar", "prehyphenchar", "prerelpenalty", "protrudechars", "protrusionboundary", "pxdimen", "quitloop", "quitvmode", "retokenized", "rightmarginkern", "rpcode", "savecatcodetable", "scantextokens", "semiexpanded", "semiprotected", "setfontid", "shapingpenaltiesmode", "shapingpenalty", "snapshotpar", "supmarkmode", "swapcsvalues", "tabsize", "textdirection", "thewithoutunit", "todimension", "tointeger", "tokenized", "toksapp", "tokspre", "tolerant", "tomathstyle", "toscaled", "tpack", "tracingadjusts", "tracingalignments", "tracingexpressions", "tracingfonts", "tracingfullboxes", "tracinghyphenation", "tracinginserts", "tracingmarks", "tracingmath", "tracingnodes", "undent", "unexpandedloop", "unletfrozen", "unletprotected", "untraced", "vpack", "wordboundary", "wrapuppar", "xdefcsname", "xtoks", "xtoksapp", "xtokspre" }, ["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", "pdfmajorversion", "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfomitcharset", "pdfomitcidset", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkfixeddpi", "pdfpkmode", "pdfpkresolution", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrecompress", "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"]={ " ", "-", "/", "above", "abovedisplayshortskip", "abovedisplayskip", "abovewithdelims", "accent", "adjdemerits", "advance", "afterassignment", "aftergroup", "aligncontent", "atop", "atopwithdelims", "badness", "baselineskip", "batchmode", "begingroup", "belowdisplayshortskip", "belowdisplayskip", "binoppenalty", "botmark", "box", "boxmaxdepth", "brokenpenalty", "catcode", "char", "chardef", "cleaders", "clubpenalty", "copy", "count", "countdef", "cr", "crcr", "csname", "day", "deadcycles", "def", "defaulthyphenchar", "defaultskewchar", "delcode", "delimiter", "delimiterfactor", "delimitershortfall", "dimen", "dimendef", "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", "floatingpenalty", "font", "fontdimen", "fontname", "fontspecifiedname", "futurelet", "gdef", "global", "globaldefs", "glyph", "halign", "hangafter", "hangindent", "hbadness", "hbox", "hfil", "hfill", "hfilneg", "hfuzz", "holdinginserts", "hrule", "hsize", "hskip", "hss", "ht", "hyphenation", "hyphenchar", "hyphenpenalty", "if", "ifcase", "ifcat", "ifdim", "iffalse", "ifhbox", "ifhmode", "ifinner", "ifmmode", "ifnum", "ifodd", "iftrue", "ifvbox", "ifvmode", "ifvoid", "ifx", "ignorespaces", "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", "mark", "mathaccent", "mathbin", "mathchar", "mathchardef", "mathchoice", "mathclose", "mathcode", "mathinner", "mathop", "mathopen", "mathord", "mathpunct", "mathrel", "mathsurround", "maxdeadcycles", "maxdepth", "meaning", "meaningasis", "meaningfull", "meaningless", "medmuskip", "message", "middle", "mkern", "month", "moveleft", "moveright", "mskip", "multiply", "muskip", "muskipdef", "newlinechar", "noalign", "noexpand", "noindent", "nolimits", "nonscript", "nonstopmode", "nulldelimiterspace", "nullfont", "number", "omit", "or", "outer", "output", "outputpenalty", "over", "overfullrule", "overline", "overshoot", "overwithdelims", "pagedepth", "pagefilllstretch", "pagefillstretch", "pagefilstretch", "pagegoal", "pageshrink", "pagestretch", "pagetotal", "par", "parfillleftskip", "parfillskip", "parindent", "parshape", "parskip", "patterns", "pausing", "penalty", "postdisplaypenalty", "predisplaypenalty", "predisplaysize", "pretolerance", "prevdepth", "prevgraf", "radical", "raise", "relax", "relpenalty", "right", "righthyphenmin", "rightskip", "romannumeral", "scaledfontdimen", "scriptfont", "scriptscriptfont", "scriptscriptstyle", "scriptspace", "scriptstyle", "scrollmode", "setbox", "setlanguage", "sfcode", "shipout", "show", "showbox", "showboxbreadth", "showboxdepth", "showlists", "shownodedetails", "showthe", "skewchar", "skip", "skipdef", "spacefactor", "spaceskip", "span", "splitbotmark", "splitfirstmark", "splitmaxdepth", "splittopskip", "string", "tabskip", "textfont", "textstyle", "the", "thickmuskip", "thinmuskip", "time", "toks", "toksdef", "tolerance", "topmark", "topskip", "tracingcommands", "tracinglostchars", "tracingmacros", "tracingonline", "tracingoutput", "tracingpages", "tracingparagraphs", "tracingrestores", "tracingstats", "uccode", "uchyph", "underline", "unhbox", "unhcopy", "unhpack", "unkern", "unpenalty", "unskip", "unvbox", "unvcopy", "unvpack", "uppercase", "vadjust", "valign", "vbadness", "vbox", "vcenter", "vfil", "vfill", "vfilneg", "vfuzz", "vrule", "vsize", "vskip", "vsplit", "vss", "vtop", "wd", "widowpenalty", "xdef", "xleaders", "xspaceskip", "year" }, diff --git a/context/data/scite/context/scite-context-data-tex.properties b/context/data/scite/context/scite-context-data-tex.properties index 2de096e04..1c2967c5c 100644 --- a/context/data/scite/context/scite-context-data-tex.properties +++ b/context/data/scite/context/scite-context-data-tex.properties @@ -66,34 +66,35 @@ Ustack Ustartdisplaymath Ustartmath Ustopdisplaymath Ustopmath \ Ustyle Usubprescript Usubscript Usuperprescript Usuperscript \ Uunderdelimiter Uvextensible adjustspacing adjustspacingshrink adjustspacingstep \ adjustspacingstretch afterassigned aftergrouped aliased alignmark \ -aligntab atendofgroup atendofgrouped attribute attributedef \ -automaticdiscretionary automatichyphenpenalty automigrationmode autoparagraphmode begincsname \ -beginlocalcontrol beginmathgroup beginsimplegroup boundary boxanchor \ -boxanchors boxattribute boxdirection boxgeometry boxorientation \ -boxshift boxsource boxtarget boxtotal boxxmove \ -boxxoffset boxymove boxyoffset catcodetable clearmarks \ -crampeddisplaystyle crampedscriptscriptstyle crampedscriptstyle crampedtextstyle csstring \ -currentloopiterator currentloopnesting currentmarks defcsname dimensiondef \ -dimexpression directlua edefcsname efcode endlocalcontrol \ -endmathgroup endsimplegroup enforced etoks etoksapp \ -etokspre everybeforepar everytab exceptionpenalty expand \ -expandafterpars expandafterspaces expandcstoken expanded expandedafter \ -expandedloop expandtoken explicitdiscretionary explicithyphenpenalty firstvalidlanguage \ -flushmarks fontid fontmathcontrol fontspecdef fontspecid \ -fontspecifiedsize fontspecscale fontspecxscale fontspecyscale fonttextcontrol \ -formatname frozen futurecsname futuredef futureexpand \ -futureexpandis futureexpandisap gdefcsname gleaders glet \ -gletcsname glettonothing gluespecdef glyphdatafield glyphoptions \ -glyphscale glyphscriptfield glyphscriptscale glyphscriptscriptscale glyphstatefield \ -glyphtextscale glyphxoffset glyphxscale glyphyoffset glyphyscale \ -gtoksapp gtokspre hccode hjcode hpack \ -hyphenationmin hyphenationmode ifabsdim ifabsnum ifarguments \ -ifboolean ifchkdim ifchknum ifcmpdim ifcmpnum \ -ifcondition ifcstok ifdimexpression ifdimval ifempty \ -ifflags ifhaschar ifhastok ifhastoks ifhasxtoks \ -ifincsname ifinsert ifmathparameter ifmathstyle ifnumexpression \ -ifnumval ifparameter ifparameters ifrelax iftok \ -ignorearguments ignorepars immediate immutable initcatcodetable \ +aligntab allmathstyles allscriptstyles allsplitstyles alltextstyles \ +atendofgroup atendofgrouped attribute attributedef automaticdiscretionary \ +automatichyphenpenalty automigrationmode autoparagraphmode begincsname beginlocalcontrol \ +beginmathgroup beginsimplegroup boundary boxanchor boxanchors \ +boxattribute boxdirection boxgeometry boxorientation boxshift \ +boxsource boxtarget boxtotal boxxmove boxxoffset \ +boxymove boxyoffset catcodetable clearmarks crampeddisplaystyle \ +crampedscriptscriptstyle crampedscriptstyle crampedtextstyle csstring currentloopiterator \ +currentloopnesting currentmarks defcsname dimensiondef dimexpression \ +directlua edefcsname efcode endlocalcontrol endmathgroup \ +endsimplegroup enforced etoks etoksapp etokspre \ +everybeforepar everytab exceptionpenalty expand expandafterpars \ +expandafterspaces expandcstoken expanded expandedafter expandedloop \ +expandtoken explicitdiscretionary explicithyphenpenalty firstvalidlanguage flushmarks \ +fontid fontmathcontrol fontspecdef fontspecid fontspecifiedsize \ +fontspecscale fontspecxscale fontspecyscale fonttextcontrol formatname \ +frozen futurecsname futuredef futureexpand futureexpandis \ +futureexpandisap gdefcsname gleaders glet gletcsname \ +glettonothing gluespecdef glyphdatafield glyphoptions glyphscale \ +glyphscriptfield glyphscriptscale glyphscriptscriptscale glyphstatefield glyphtextscale \ +glyphxoffset glyphxscale glyphyoffset glyphyscale gtoksapp \ +gtokspre hccode hjcode hpack hyphenationmin \ +hyphenationmode ifabsdim ifabsnum ifarguments ifboolean \ +ifchkdim ifchknum ifcmpdim ifcmpnum ifcondition \ +ifcstok ifdimexpression ifdimval ifempty ifflags \ +ifhaschar ifhastok ifhastoks ifhasxtoks ifincsname \ +ifinsert ifmathparameter ifmathstyle ifnumexpression ifnumval \ +ifparameter ifparameters ifrelax iftok ignorearguments \ +ignorepars immediate immutable inherited initcatcodetable \ insertbox insertcopy insertdepth insertdistance insertheight \ insertheights insertlimit insertmaxdepth insertmode insertmultiplier \ insertpenalty insertprogress insertstorage insertstoring insertunbox \ diff --git a/context/data/vscode/extensions/context/syntaxes/context-syntax-tex.json b/context/data/vscode/extensions/context/syntaxes/context-syntax-tex.json index 96aae71d1..1e3e4ce6f 100644 --- a/context/data/vscode/extensions/context/syntaxes/context-syntax-tex.json +++ b/context/data/vscode/extensions/context/syntaxes/context-syntax-tex.json @@ -216,7 +216,7 @@ ] }, "primitive" : { - "match" : "\u005C\u005C(year|xtokspre|xtoksapp|xtoks|xspaceskip|xleaders|xdefcsname|xdef|wrapuppar|wordboundary|widowpenalty|widowpenalties|wd|vtop|vss|vsplit|vskip|vsize|vrule|vpack|vfuzz|vfilneg|vfill|vfil|vcenter|vbox|vbadness|valign|vadjust|uppercase|unvpack|unvcopy|unvbox|untraced|unskip|unpenalty|unletprotected|unletfrozen|unless|unkern|unhpack|unhcopy|unhbox|unexpandedloop|underline|undent|uchyph|uccode|tracingstats|tracingrestores|tracingparagraphs|tracingpages|tracingoutput|tracingonline|tracingnodes|tracingnesting|tracingmath|tracingmarks|tracingmacros|tracinglostchars|tracinglevels|tracinginserts|tracingifs|tracinghyphenation|tracinggroups|tracingfullboxes|tracingfonts|tracingexpressions|tracingcommands|tracingassigns|tracingalignments|tracingadjusts|tpack|toscaled|topskip|topmarks|topmark|tomathstyle|tolerant|tolerance|tokspre|toksdef|toksapp|toks|tokenized|tointeger|todimension|time|thinmuskip|thickmuskip|thewithoutunit|the|textstyle|textfont|textdirection|tabskip|tabsize|swapcsvalues|supmarkmode|string|splittopskip|splitmaxdepth|splitfirstmarks|splitfirstmark|splitdiscards|splitbotmarks|splitbotmark|span|spaceskip|spacefactor|snapshotpar|skipdef|skip|skewchar|showtokens|showthe|shownodedetails|showlists|showifs|showgroups|showboxdepth|showboxbreadth|showbox|show|shipout|shapingpenalty|shapingpenaltiesmode|sfcode|setlanguage|setfontid|setbox|semiprotected|semiexpanded|scrollmode|scriptstyle|scriptspace|scriptscriptstyle|scriptscriptfont|scriptfont|scantokens|scantextokens|scaledfontdimen|savingvdiscards|savinghyphcodes|savecatcodetable|rpcode|romannumeral|rightskip|rightmarginkern|righthyphenmin|right|retokenized|relpenalty|relax|raise|radical|quitvmode|quitloop|pxdimen|protrusionboundary|protrudechars|protected|prevgraf|prevdepth|pretolerance|prerelpenalty|prehyphenchar|preexhyphenchar|predisplaysize|predisplaypenalty|predisplaygapfactor|predisplaydirection|prebinoppenalty|posthyphenchar|postexhyphenchar|postdisplaypenalty|permanent|penalty|pdfximage|pdfxformresources|pdfxformname|pdfxformmargin|pdfxformattr|pdfxform|pdfvorigin|pdfuniqueresname|pdfuniformdeviate|pdftrailerid|pdftrailer|pdftracingfonts|pdfthreadmargin|pdfthread|pdftexversion|pdftexrevision|pdftexbanner|pdfsuppressptexinfo|pdfsuppressoptionalinfo|pdfstartthread|pdfstartlink|pdfsetrandomseed|pdfsetmatrix|pdfsavepos|pdfsave|pdfretval|pdfrestore|pdfreplacefont|pdfrefximage|pdfrefxform|pdfrefobj|pdfrecompress|pdfrandomseed|pdfpxdimen|pdfprotrudechars|pdfprimitive|pdfpkresolution|pdfpkmode|pdfpkfixeddpi|pdfpagewidth|pdfpagesattr|pdfpageresources|pdfpageref|pdfpageheight|pdfpagebox|pdfpageattr|pdfoutput|pdfoutline|pdfomitcidset|pdfomitcharset|pdfobjcompresslevel|pdfobj|pdfnormaldeviate|pdfnoligatures|pdfnames|pdfminorversion|pdfmapline|pdfmapfile|pdfmajorversion|pdfliteral|pdflinkmargin|pdflastypos|pdflastxpos|pdflastximagepages|pdflastximage|pdflastxform|pdflastobj|pdflastlink|pdflastlinedepth|pdflastannot|pdfinsertht|pdfinfoomitdate|pdfinfo|pdfinclusionerrorlevel|pdfinclusioncopyfonts|pdfincludechars|pdfimageresolution|pdfimagehicolor|pdfimagegamma|pdfimageapplygamma|pdfimageaddfilename|pdfignoreunknownimages|pdfignoreddimen|pdfhorigin|pdfglyphtounicode|pdfgentounicode|pdfgamma|pdffontsize|pdffontobjnum|pdffontname|pdffontexpand|pdffontattr|pdffirstlineheight|pdfendthread|pdfendlink|pdfeachlineheight|pdfeachlinedepth|pdfdraftmode|pdfdestmargin|pdfdest|pdfdecimaldigits|pdfcreationdate|pdfcopyfont|pdfcompresslevel|pdfcolorstackinit|pdfcolorstack|pdfcatalog|pdfannot|pdfadjustspacing|pausing|patterns|parskip|parshapelength|parshapeindent|parshapedimen|parshape|parindent|parfillskip|pardirection|parattribute|parametermark|parametercount|par|pagevsize|pagetotal|pagestretch|pageshrink|pagegoal|pagefilstretch|pagefillstretch|pagefilllstretch|pagediscards|pagedepth|pageboundarypenalty|pageboundary|overwithdelims|overshoot|overloadmode|overloaded|overline|overfullrule|over|outputpenalty|outputbox|output|outer|orunless|orphanpenalty|orphanpenalties|orelse|or|omit|numexpression|numexpr|numericscale|number|nullfont|nulldelimiterspace|novrule|nospaces|normalyear|normalxtokspre|normalxtoksapp|normalxtoks|normalxspaceskip|normalxleaders|normalxdefcsname|normalxdef|normalwrapuppar|normalwordboundary|normalwidowpenalty|normalwidowpenalties|normalwd|normalvtop|normalvss|normalvsplit|normalvskip|normalvsize|normalvrule|normalvpack|normalvfuzz|normalvfilneg|normalvfill|normalvfil|normalvcenter|normalvbox|normalvbadness|normalvalign|normalvadjust|normaluppercase|normalunvpack|normalunvcopy|normalunvbox|normaluntraced|normalunskip|normalunpenalty|normalunletprotected|normalunletfrozen|normalunless|normalunkern|normalunhpack|normalunhcopy|normalunhbox|normalunexpandedloop|normalunexpanded|normalunderline|normalundent|normaluchyph|normaluccode|normaltracingstats|normaltracingrestores|normaltracingparagraphs|normaltracingpages|normaltracingoutput|normaltracingonline|normaltracingnodes|normaltracingnesting|normaltracingmath|normaltracingmarks|normaltracingmacros|normaltracinglostchars|normaltracinglevels|normaltracinginserts|normaltracingifs|normaltracinghyphenation|normaltracinggroups|normaltracingfullboxes|normaltracingfonts|normaltracingexpressions|normaltracingcommands|normaltracingassigns|normaltracingalignments|normaltracingadjusts|normaltpack|normaltoscaled|normaltopskip|normaltopmarks|normaltopmark|normaltomathstyle|normaltolerant|normaltolerance|normaltokspre|normaltoksdef|normaltoksapp|normaltoks|normaltokenized|normaltointeger|normaltodimension|normaltime|normalthinmuskip|normalthickmuskip|normalthewithoutunit|normalthe|normaltextstyle|normaltextfont|normaltextdirection|normaltabskip|normaltabsize|normalswapcsvalues|normalsupmarkmode|normalstring|normalsplittopskip|normalsplitmaxdepth|normalsplitfirstmarks|normalsplitfirstmark|normalsplitdiscards|normalsplitbotmarks|normalsplitbotmark|normalspan|normalspaceskip|normalspacefactor|normalsnapshotpar|normalskipdef|normalskip|normalskewchar|normalshowtokens|normalshowthe|normalshownodedetails|normalshowlists|normalshowifs|normalshowgroups|normalshowboxdepth|normalshowboxbreadth|normalshowbox|normalshow|normalshipout|normalshapingpenalty|normalshapingpenaltiesmode|normalsfcode|normalsetlanguage|normalsetfontid|normalsetbox|normalsemiprotected|normalsemiexpanded|normalscrollmode|normalscriptstyle|normalscriptspace|normalscriptscriptstyle|normalscriptscriptfont|normalscriptfont|normalscantokens|normalscantextokens|normalscaledfontdimen|normalsavingvdiscards|normalsavinghyphcodes|normalsavecatcodetable|normalrpcode|normalromannumeral|normalrightskip|normalrightmarginkern|normalrighthyphenmin|normalright|normalretokenized|normalrelpenalty|normalrelax|normalraise|normalradical|normalquitvmode|normalquitloop|normalpxdimen|normalprotrusionboundary|normalprotrudechars|normalprotected|normalprevgraf|normalprevdepth|normalpretolerance|normalprerelpenalty|normalprehyphenchar|normalpreexhyphenchar|normalpredisplaysize|normalpredisplaypenalty|normalpredisplaygapfactor|normalpredisplaydirection|normalprebinoppenalty|normalposthyphenchar|normalpostexhyphenchar|normalpostdisplaypenalty|normalpermanent|normalpenalty|normalpdfximage|normalpdfxformresources|normalpdfxformname|normalpdfxformmargin|normalpdfxformattr|normalpdfxform|normalpdfvorigin|normalpdfuniqueresname|normalpdfuniformdeviate|normalpdftrailerid|normalpdftrailer|normalpdftracingfonts|normalpdfthreadmargin|normalpdfthread|normalpdftexversion|normalpdftexrevision|normalpdftexbanner|normalpdfsuppressptexinfo|normalpdfsuppressoptionalinfo|normalpdfstartthread|normalpdfstartlink|normalpdfsetrandomseed|normalpdfsetmatrix|normalpdfsavepos|normalpdfsave|normalpdfretval|normalpdfrestore|normalpdfreplacefont|normalpdfrefximage|normalpdfrefxform|normalpdfrefobj|normalpdfrecompress|normalpdfrandomseed|normalpdfpxdimen|normalpdfprotrudechars|normalpdfprimitive|normalpdfpkresolution|normalpdfpkmode|normalpdfpkfixeddpi|normalpdfpagewidth|normalpdfpagesattr|normalpdfpageresources|normalpdfpageref|normalpdfpageheight|normalpdfpagebox|normalpdfpageattr|normalpdfoutput|normalpdfoutline|normalpdfomitcidset|normalpdfomitcharset|normalpdfobjcompresslevel|normalpdfobj|normalpdfnormaldeviate|normalpdfnoligatures|normalpdfnames|normalpdfminorversion|normalpdfmapline|normalpdfmapfile|normalpdfmajorversion|normalpdfliteral|normalpdflinkmargin|normalpdflastypos|normalpdflastxpos|normalpdflastximagepages|normalpdflastximage|normalpdflastxform|normalpdflastobj|normalpdflastlink|normalpdflastlinedepth|normalpdflastannot|normalpdfinsertht|normalpdfinfoomitdate|normalpdfinfo|normalpdfinclusionerrorlevel|normalpdfinclusioncopyfonts|normalpdfincludechars|normalpdfimageresolution|normalpdfimagehicolor|normalpdfimagegamma|normalpdfimageapplygamma|normalpdfimageaddfilename|normalpdfignoreunknownimages|normalpdfignoreddimen|normalpdfhorigin|normalpdfglyphtounicode|normalpdfgentounicode|normalpdfgamma|normalpdffontsize|normalpdffontobjnum|normalpdffontname|normalpdffontexpand|normalpdffontattr|normalpdffirstlineheight|normalpdfendthread|normalpdfendlink|normalpdfeachlineheight|normalpdfeachlinedepth|normalpdfdraftmode|normalpdfdestmargin|normalpdfdest|normalpdfdecimaldigits|normalpdfcreationdate|normalpdfcopyfont|normalpdfcompresslevel|normalpdfcolorstackinit|normalpdfcolorstack|normalpdfcatalog|normalpdfannot|normalpdfadjustspacing|normalpausing|normalpatterns|normalparskip|normalparshapelength|normalparshapeindent|normalparshapedimen|normalparshape|normalparindent|normalparfillskip|normalparfillleftskip|normalpardirection|normalparattribute|normalparametermark|normalparametercount|normalpar|normalpagevsize|normalpagetotal|normalpagestretch|normalpageshrink|normalpagegoal|normalpagefilstretch|normalpagefillstretch|normalpagefilllstretch|normalpagediscards|normalpagedepth|normalpageboundarypenalty|normalpageboundary|normaloverwithdelims|normalovershoot|normaloverloadmode|normaloverloaded|normaloverline|normaloverfullrule|normalover|normaloutputpenalty|normaloutputbox|normaloutput|normalouter|normalorunless|normalorphanpenalty|normalorphanpenalties|normalorelse|normalor|normalomit|normalnumexpression|normalnumexpr|normalnumericscale|normalnumber|normalnullfont|normalnulldelimiterspace|normalnovrule|normalnospaces|normalnormalizelinemode|normalnorelax|normalnonstopmode|normalnonscript|normalnolimits|normalnoindent|normalnohrule|normalnoexpand|normalnoboundary|normalnoaligned|normalnoalign|normalnewlinechar|normalmutoglue|normalmutable|normalmuskipdef|normalmuskip|normalmultiply|normalmugluespecdef|normalmuexpr|normalmskip|normalmoveright|normalmoveleft|normalmonth|normalmkern|normalmiddle|normalmessage|normalmedmuskip|normalmeaningless|normalmeaningfull|normalmeaningasis|normalmeaning|normalmaxdepth|normalmaxdeadcycles|normalmathsurroundskip|normalmathsurroundmode|normalmathsurround|normalmathstyle|normalmathscriptsmode|normalmathscriptcharmode|normalmathscriptboxmode|normalmathscale|normalmathrulethicknessmode|normalmathrulesmode|normalmathrulesfam|normalmathrel|normalmathrad|normalmathpunct|normalmathpenaltiesmode|normalmathord|normalmathopen|normalmathop|normalmathnolimitsmode|normalmathlimitsmode|normalmathinner|normalmathfrac|normalmathfontcontrol|normalmathflattenmode|normalmatheqnogapstep|normalmathdisplayskipmode|normalmathdirection|normalmathdelimitersmode|normalmathcontrolmode|normalmathcode|normalmathclose|normalmathchoice|normalmathchardef|normalmathchar|normalmathbin|normalmathaccent|normalmarks|normalmark|normalluatexversion|normalluatexrevision|normalluatexbanner|normalluafunctioncall|normalluafunction|normalluaescapestring|normalluadef|normalluacopyinputnodes|normalluabytecodecall|normalluabytecode|normallpcode|normallowercase|normallower|normallooseness|normallong|normallocalrightboxbox|normallocalrightbox|normallocalmiddleboxbox|normallocalmiddlebox|normallocalleftboxbox|normallocalleftbox|normallocalinterlinepenalty|normallocalcontrolledloop|normallocalcontrolled|normallocalcontrol|normallocalbrokenpenalty|normallineskiplimit|normallineskip|normallinepenalty|normallinedirection|normallimits|normallettonothing|normalletprotected|normalletfrozen|normalletcsname|normalletcharcode|normallet|normalleqno|normalleftskip|normalleftmarginkern|normallefthyphenmin|normalleft|normalleaders|normallccode|normallastskip|normallastpenalty|normallastparcontext|normallastnodetype|normallastnodesubtype|normallastnamedcs|normallastlinefit|normallastkern|normallastchknum|normallastchkdim|normallastbox|normallastarguments|normallanguage|normalkern|normaljobname|normalizelinemode|normalinterlinepenalty|normalinterlinepenalties|normalinteractionmode|normalintegerdef|normalinstance|normalinsertwidth|normalinsertuncopy|normalinsertunbox|normalinsertstoring|normalinsertstorage|normalinsertprogress|normalinsertpenalty|normalinsertpenalties|normalinsertmultiplier|normalinsertmode|normalinsertmaxdepth|normalinsertlimit|normalinsertheights|normalinsertheight|normalinsertdistance|normalinsertdepth|normalinsertcopy|normalinsertbox|normalinsert|normalinputlineno|normalinput|normalinitcatcodetable|normalindent|normalimmutable|normalimmediate|normalignorespaces|normalignorepars|normalignorearguments|normalifx|normalifvoid|normalifvmode|normalifvbox|normaliftrue|normaliftok|normalifrelax|normalifpdfprimitive|normalifpdfabsnum|normalifpdfabsdim|normalifparameters|normalifparameter|normalifodd|normalifnumval|normalifnumexpression|normalifnum|normalifmmode|normalifmathstyle|normalifmathparameter|normalifinsert|normalifinner|normalifincsname|normalifhmode|normalifhbox|normalifhasxtoks|normalifhastoks|normalifhastok|normalifhaschar|normaliffontchar|normalifflags|normaliffalse|normalifempty|normalifdimval|normalifdimexpression|normalifdim|normalifdefined|normalifcstok|normalifcsname|normalifcondition|normalifcmpnum|normalifcmpdim|normalifchknum|normalifchkdim|normalifcat|normalifcase|normalifboolean|normalifarguments|normalifabsnum|normalifabsdim|normalif|normalhyphenpenalty|normalhyphenchar|normalhyphenationmode|normalhyphenationmin|normalhyphenation|normalht|normalhss|normalhskip|normalhsize|normalhrule|normalhpack|normalholdinginserts|normalhjcode|normalhfuzz|normalhfilneg|normalhfill|normalhfil|normalhccode|normalhbox|normalhbadness|normalhangindent|normalhangafter|normalhalign|normalgtokspre|normalgtoksapp|normalglyphyscale|normalglyphyoffset|normalglyphxscale|normalglyphxoffset|normalglyphtextscale|normalglyphstatefield|normalglyphscriptscriptscale|normalglyphscriptscale|normalglyphscriptfield|normalglyphscale|normalglyphoptions|normalglyphdatafield|normalglyph|normalgluetomu|normalgluestretchorder|normalgluestretch|normalgluespecdef|normalglueshrinkorder|normalglueshrink|normalglueexpr|normalglobaldefs|normalglobal|normalglettonothing|normalgletcsname|normalglet|normalgleaders|normalgdefcsname|normalgdef|normalfuturelet|normalfutureexpandisap|normalfutureexpandis|normalfutureexpand|normalfuturedef|normalfuturecsname|normalfrozen|normalformatname|normalfonttextcontrol|normalfontspecyscale|normalfontspecxscale|normalfontspecscale|normalfontspecifiedsize|normalfontspecifiedname|normalfontspecid|normalfontspecdef|normalfontname|normalfontmathcontrol|normalfontid|normalfontdimen|normalfontcharwd|normalfontcharic|normalfontcharht|normalfontchardp|normalfont|normalflushmarks|normalfloatingpenalty|normalfirstvalidlanguage|normalfirstmarks|normalfirstmark|normalfinalhyphendemerits|normalfi|normalfam|normalexplicithyphenpenalty|normalexplicitdiscretionary|normalexpandtoken|normalexpandedloop|normalexpandedafter|normalexpanded|normalexpandcstoken|normalexpandafterspaces|normalexpandafterpars|normalexpandafter|normalexpand|normalexhyphenpenalty|normalexhyphenchar|normalexceptionpenalty|normaleveryvbox|normaleverytab|normaleverypar|normaleverymath|normaleveryjob|normaleveryhbox|normaleveryeof|normaleverydisplay|normaleverycr|normaleverybeforepar|normaletokspre|normaletoksapp|normaletoks|normalescapechar|normalerrorstopmode|normalerrorcontextlines|normalerrmessage|normalerrhelp|normaleqno|normalenforced|normalendsimplegroup|normalendmathgroup|normalendlocalcontrol|normalendlinechar|normalendinput|normalendgroup|normalendcsname|normalend|normalemergencystretch|normalelse|normalefcode|normaledefcsname|normaledef|normaldump|normaldp|normaldoublehyphendemerits|normaldivide|normaldisplaywidth|normaldisplaywidowpenalty|normaldisplaywidowpenalties|normaldisplaystyle|normaldisplaylimits|normaldisplayindent|normaldiscretionary|normaldirectlua|normaldimexpression|normaldimexpr|normaldimensiondef|normaldimendef|normaldimen|normaldetokenize|normaldelimitershortfall|normaldelimiterfactor|normaldelimiter|normaldelcode|normaldefcsname|normaldefaultskewchar|normaldefaulthyphenchar|normaldef|normaldeadcycles|normalday|normalcurrentmarks|normalcurrentloopnesting|normalcurrentloopiterator|normalcurrentiftype|normalcurrentiflevel|normalcurrentifbranch|normalcurrentgrouptype|normalcurrentgrouplevel|normalcsstring|normalcsname|normalcrcr|normalcrampedtextstyle|normalcrampedscriptstyle|normalcrampedscriptscriptstyle|normalcrampeddisplaystyle|normalcr|normalcountdef|normalcount|normalcopy|normalclubpenalty|normalclubpenalties|normalclearmarks|normalcleaders|normalchardef|normalchar|normalcatcodetable|normalcatcode|normalbrokenpenalty|normalboxyoffset|normalboxymove|normalboxxoffset|normalboxxmove|normalboxtotal|normalboxtarget|normalboxsource|normalboxshift|normalboxorientation|normalboxmaxdepth|normalboxgeometry|normalboxdirection|normalboxattribute|normalboxanchors|normalboxanchor|normalbox|normalboundary|normalbotmarks|normalbotmark|normalbinoppenalty|normalbelowdisplayskip|normalbelowdisplayshortskip|normalbeginsimplegroup|normalbeginmathgroup|normalbeginlocalcontrol|normalbegingroup|normalbegincsname|normalbatchmode|normalbaselineskip|normalbadness|normalautoparagraphmode|normalautomigrationmode|normalautomatichyphenpenalty|normalautomaticdiscretionary|normalattributedef|normalattribute|normalatopwithdelims|normalatop|normalatendofgrouped|normalatendofgroup|normalaligntab|normalalignmark|normalaligncontent|normalaliased|normalaftergrouped|normalaftergroup|normalafterassignment|normalafterassigned|normaladvance|normaladjustspacingstretch|normaladjustspacingstep|normaladjustspacingshrink|normaladjustspacing|normaladjdemerits|normalaccent|normalabovewithdelims|normalabovedisplayskip|normalabovedisplayshortskip|normalabove|normalXeTeXversion|normalUvextensible|normalUunderdelimiter|normalUsuperscript|normalUsuperprescript|normalUsubscript|normalUsubprescript|normalUstyle|normalUstopmath|normalUstopdisplaymath|normalUstartmath|normalUstartdisplaymath|normalUstack|normalUskewedwithdelims|normalUskewed|normalUroot|normalUright|normalUradical|normalUoverwithdelims|normalUoverdelimiter|normalUover|normalUnosuperscript|normalUnosuperprescript|normalUnosubscript|normalUnosubprescript|normalUmiddle|normalUmathyscale|normalUmathxscale|normalUmathvoid|normalUmathvextensiblevariant|normalUmathunderlinevariant|normalUmathunderdelimitervgap|normalUmathunderdelimitervariant|normalUmathunderdelimiterbgap|normalUmathunderbarvgap|normalUmathunderbarrule|normalUmathunderbarkern|normalUmathtopaccentvariant|normalUmathsupsubbottommax|normalUmathsupshiftup|normalUmathsupshiftdrop|normalUmathsuperscriptvariant|normalUmathsupbottommin|normalUmathsubtopmax|normalUmathsubsupvgap|normalUmathsubsupshiftdown|normalUmathsubshiftdrop|normalUmathsubshiftdown|normalUmathsubscriptvariant|normalUmathstackvgap|normalUmathstackvariant|normalUmathstacknumup|normalUmathstackdenomdown|normalUmathspacingmode|normalUmathspacebeforescript|normalUmathspaceafterscript|normalUmathskewedfractionvgap|normalUmathskewedfractionhgap|normalUmathrelrelspacing|normalUmathrelradspacing|normalUmathrelpunctspacing|normalUmathrelordspacing|normalUmathrelopspacing|normalUmathrelopenspacing|normalUmathrelinnerspacing|normalUmathrelfracspacing|normalUmathrelclosespacing|normalUmathrelbinspacing|normalUmathradrelspacing|normalUmathradradspacing|normalUmathradpunctspacing|normalUmathradordspacing|normalUmathradopspacing|normalUmathradopenspacing|normalUmathradinnerspacing|normalUmathradicalvgap|normalUmathradicalvariant|normalUmathradicalrule|normalUmathradicalkern|normalUmathradicaldegreeraise|normalUmathradicaldegreebefore|normalUmathradicaldegreeafter|normalUmathradfracspacing|normalUmathradclosespacing|normalUmathradbinspacing|normalUmathquad|normalUmathpunctrelspacing|normalUmathpunctradspacing|normalUmathpunctpunctspacing|normalUmathpunctordspacing|normalUmathpunctopspacing|normalUmathpunctopenspacing|normalUmathpunctinnerspacing|normalUmathpunctfracspacing|normalUmathpunctclosespacing|normalUmathpunctbinspacing|normalUmathphantom|normalUmathoverlinevariant|normalUmathoverlayaccentvariant|normalUmathoverdelimitervgap|normalUmathoverdelimitervariant|normalUmathoverdelimiterbgap|normalUmathoverbarvgap|normalUmathoverbarrule|normalUmathoverbarkern|normalUmathordrelspacing|normalUmathordradspacing|normalUmathordpunctspacing|normalUmathordordspacing|normalUmathordopspacing|normalUmathordopenspacing|normalUmathordinnerspacing|normalUmathordfracspacing|normalUmathordclosespacing|normalUmathordbinspacing|normalUmathoprelspacing|normalUmathopradspacing|normalUmathoppunctspacing|normalUmathopordspacing|normalUmathopopspacing|normalUmathopopenspacing|normalUmathopinnerspacing|normalUmathopfracspacing|normalUmathoperatorsize|normalUmathopenupheight|normalUmathopenupdepth|normalUmathopenrelspacing|normalUmathopenradspacing|normalUmathopenpunctspacing|normalUmathopenordspacing|normalUmathopenopspacing|normalUmathopenopenspacing|normalUmathopeninnerspacing|normalUmathopenfracspacing|normalUmathopenclosespacing|normalUmathopenbinspacing|normalUmathopclosespacing|normalUmathopbinspacing|normalUmathnumeratorvariant|normalUmathnolimitsupfactor|normalUmathnolimitsubfactor|normalUmathnolimits|normalUmathnoaxis|normalUmathlimits|normalUmathlimitbelowvgap|normalUmathlimitbelowkern|normalUmathlimitbelowbgap|normalUmathlimitabovevgap|normalUmathlimitabovekern|normalUmathlimitabovebgap|normalUmathinnerrelspacing|normalUmathinnerradspacing|normalUmathinnerpunctspacing|normalUmathinnerordspacing|normalUmathinneropspacing|normalUmathinneropenspacing|normalUmathinnerinnerspacing|normalUmathinnerfracspacing|normalUmathinnerclosespacing|normalUmathinnerbinspacing|normalUmathhextensiblevariant|normalUmathfractionvariant|normalUmathfractionrule|normalUmathfractionnumvgap|normalUmathfractionnumup|normalUmathfractiondenomvgap|normalUmathfractiondenomdown|normalUmathfractiondelsize|normalUmathfracrelspacing|normalUmathfracradspacing|normalUmathfracpunctspacing|normalUmathfracordspacing|normalUmathfracopspacing|normalUmathfracopenspacing|normalUmathfracinnerspacing|normalUmathfracfracspacing|normalUmathfracclosespacing|normalUmathfracbinspacing|normalUmathextrasupspace|normalUmathextrasupshift|normalUmathextrasupprespace|normalUmathextrasuppreshift|normalUmathextrasubspace|normalUmathextrasubshift|normalUmathextrasubprespace|normalUmathextrasubpreshift|normalUmathdenominatorvariant|normalUmathdelimiterundervariant|normalUmathdelimiterovervariant|normalUmathdegreevariant|normalUmathconnectoroverlapmin|normalUmathcodenum|normalUmathcode|normalUmathcloserelspacing|normalUmathcloseradspacing|normalUmathclosepunctspacing|normalUmathcloseordspacing|normalUmathcloseopspacing|normalUmathcloseopenspacing|normalUmathcloseinnerspacing|normalUmathclosefracspacing|normalUmathcloseclosespacing|normalUmathclosebinspacing|normalUmathclass|normalUmathcharslot|normalUmathcharnumdef|normalUmathcharnum|normalUmathcharfam|normalUmathchardef|normalUmathcharclass|normalUmathchar|normalUmathbotaccentvariant|normalUmathbinrelspacing|normalUmathbinradspacing|normalUmathbinpunctspacing|normalUmathbinordspacing|normalUmathbinopspacing|normalUmathbinopenspacing|normalUmathbininnerspacing|normalUmathbinfracspacing|normalUmathbinclosespacing|normalUmathbinbinspacing|normalUmathaxis|normalUmathadapttoright|normalUmathadapttoleft|normalUmathaccentvariant|normalUmathaccentbaseheight|normalUmathaccent|normalUleft|normalUhextensible|normalUdelimiterunder|normalUdelimiterover|normalUdelimiter|normalUdelcodenum|normalUdelcode|normalUchar|normalUatopwithdelims|normalUatop|normalUabovewithdelims|normalUabove|normalUUskewedwithdelims|normalUUskewed|normalOmegaversion|normalOmegarevision|normalOmegaminorversion|normalAlephversion|normalAlephrevision|normalAlephminorversion|normal |norelax|nonstopmode|nonscript|nolimits|noindent|nohrule|noexpand|noboundary|noaligned|noalign|newlinechar|mutoglue|mutable|muskipdef|muskip|multiply|mugluespecdef|muexpr|mskip|moveright|moveleft|month|mkern|middle|message|medmuskip|meaningless|meaningfull|meaningasis|meaning|maxdepth|maxdeadcycles|mathsurroundskip|mathsurroundmode|mathsurround|mathstyle|mathscriptsmode|mathscriptcharmode|mathscriptboxmode|mathscale|mathrulethicknessmode|mathrulesmode|mathrulesfam|mathrel|mathrad|mathpunct|mathpenaltiesmode|mathord|mathopen|mathop|mathnolimitsmode|mathlimitsmode|mathinner|mathfrac|mathfontcontrol|mathflattenmode|matheqnogapstep|mathdisplayskipmode|mathdirection|mathdelimitersmode|mathcontrolmode|mathcode|mathclose|mathchoice|mathchardef|mathchar|mathbin|mathaccent|marks|mark|luatexversion|luatexrevision|luatexbanner|luafunctioncall|luafunction|luaescapestring|luadef|luacopyinputnodes|luabytecodecall|luabytecode|lpcode|lowercase|lower|looseness|long|localrightboxbox|localrightbox|localmiddleboxbox|localmiddlebox|localleftboxbox|localleftbox|localinterlinepenalty|localcontrolledloop|localcontrolled|localcontrol|localbrokenpenalty|lineskiplimit|lineskip|linepenalty|linedirection|limits|lettonothing|letprotected|letfrozen|letcsname|letcharcode|let|leqno|leftskip|leftmarginkern|lefthyphenmin|left|leaders|lccode|lastskip|lastpenalty|lastparcontext|lastnodetype|lastnodesubtype|lastnamedcs|lastlinefit|lastkern|lastchknum|lastchkdim|lastbox|lastarguments|language|kern|jobname|interlinepenalty|interlinepenalties|interactionmode|integerdef|instance|insertwidth|insertuncopy|insertunbox|insertstoring|insertstorage|insertprogress|insertpenalty|insertpenalties|insertmultiplier|insertmode|insertmaxdepth|insertlimit|insertheights|insertheight|insertdistance|insertdepth|insertcopy|insertbox|insert|inputlineno|input|initcatcodetable|indent|immutable|immediate|ignorespaces|ignorepars|ignorearguments|ifx|ifvoid|ifvmode|ifvbox|iftrue|iftok|ifrelax|ifpdfprimitive|ifpdfabsnum|ifpdfabsdim|ifparameters|ifparameter|ifodd|ifnumval|ifnumexpression|ifnum|ifmmode|ifmathstyle|ifmathparameter|ifinsert|ifinner|ifincsname|ifhmode|ifhbox|ifhasxtoks|ifhastoks|ifhastok|ifhaschar|iffontchar|ifflags|iffalse|ifempty|ifdimval|ifdimexpression|ifdim|ifdefined|ifcstok|ifcsname|ifcondition|ifcmpnum|ifcmpdim|ifchknum|ifchkdim|ifcat|ifcase|ifboolean|ifarguments|ifabsnum|ifabsdim|if|hyphenpenalty|hyphenchar|hyphenationmode|hyphenationmin|hyphenation|ht|hss|hskip|hsize|hrule|hpack|holdinginserts|hjcode|hfuzz|hfilneg|hfill|hfil|hccode|hbox|hbadness|hangindent|hangafter|halign|gtokspre|gtoksapp|glyphyscale|glyphyoffset|glyphxscale|glyphxoffset|glyphtextscale|glyphstatefield|glyphscriptscriptscale|glyphscriptscale|glyphscriptfield|glyphscale|glyphoptions|glyphdatafield|glyph|gluetomu|gluestretchorder|gluestretch|gluespecdef|glueshrinkorder|glueshrink|glueexpr|globaldefs|global|glettonothing|gletcsname|glet|gleaders|gdefcsname|gdef|futurelet|futureexpandisap|futureexpandis|futureexpand|futuredef|futurecsname|frozen|formatname|fonttextcontrol|fontspecyscale|fontspecxscale|fontspecscale|fontspecifiedsize|fontspecifiedname|fontspecid|fontspecdef|fontname|fontmathcontrol|fontid|fontdimen|fontcharwd|fontcharic|fontcharht|fontchardp|font|flushmarks|floatingpenalty|firstvalidlanguage|firstmarks|firstmark|finalhyphendemerits|fi|fam|explicithyphenpenalty|explicitdiscretionary|expandtoken|expandedloop|expandedafter|expandcstoken|expandafterspaces|expandafterpars|expandafter|expand|exhyphenpenalty|exhyphenchar|exceptionpenalty|everyvbox|everytab|everypar|everymath|everyjob|everyhbox|everyeof|everydisplay|everycr|everybeforepar|etokspre|etoksapp|etoks|escapechar|errorstopmode|errorcontextlines|errmessage|errhelp|eqno|enforced|endsimplegroup|endmathgroup|endlocalcontrol|endlinechar|endinput|endgroup|endcsname|end|emergencystretch|else|efcode|edefcsname|edef|dump|dp|doublehyphendemerits|divide|displaywidth|displaywidowpenalty|displaywidowpenalties|displaystyle|displaylimits|displayindent|discretionary|directlua|dimexpression|dimexpr|dimensiondef|dimendef|dimen|detokenize|delimitershortfall|delimiterfactor|delimiter|delcode|defcsname|defaultskewchar|defaulthyphenchar|def|deadcycles|day|currentmarks|currentloopnesting|currentloopiterator|currentiftype|currentiflevel|currentifbranch|currentgrouptype|currentgrouplevel|csstring|csname|crcr|crampedtextstyle|crampedscriptstyle|crampedscriptscriptstyle|crampeddisplaystyle|cr|countdef|count|copy|clubpenalty|clubpenalties|clearmarks|cleaders|chardef|char|catcodetable|catcode|brokenpenalty|boxyoffset|boxymove|boxxoffset|boxxmove|boxtotal|boxtarget|boxsource|boxshift|boxorientation|boxmaxdepth|boxgeometry|boxdirection|boxattribute|boxanchors|boxanchor|box|boundary|botmarks|botmark|binoppenalty|belowdisplayskip|belowdisplayshortskip|beginsimplegroup|beginmathgroup|beginlocalcontrol|begingroup|begincsname|batchmode|baselineskip|badness|autoparagraphmode|automigrationmode|automatichyphenpenalty|automaticdiscretionary|attributedef|attribute|atopwithdelims|atop|atendofgrouped|atendofgroup|aligntab|alignmark|aligncontent|aliased|aftergrouped|aftergroup|afterassignment|afterassigned|advance|adjustspacingstretch|adjustspacingstep|adjustspacingshrink|adjustspacing|adjdemerits|accent|abovewithdelims|abovedisplayskip|abovedisplayshortskip|above|XeTeXversion|Uvextensible|Uunderdelimiter|Usuperscript|Usuperprescript|Usubscript|Usubprescript|Ustyle|Ustopmath|Ustopdisplaymath|Ustartmath|Ustartdisplaymath|Ustack|Uskewedwithdelims|Uskewed|Uroot|Uright|Uradical|Uoverwithdelims|Uoverdelimiter|Uover|Unosuperscript|Unosuperprescript|Unosubscript|Unosubprescript|Umiddle|Umathyscale|Umathxscale|Umathvoid|Umathvextensiblevariant|Umathunderlinevariant|Umathunderdelimitervgap|Umathunderdelimitervariant|Umathunderdelimiterbgap|Umathunderbarvgap|Umathunderbarrule|Umathunderbarkern|Umathtopaccentvariant|Umathsupsubbottommax|Umathsupshiftup|Umathsupshiftdrop|Umathsuperscriptvariant|Umathsupbottommin|Umathsubtopmax|Umathsubsupvgap|Umathsubsupshiftdown|Umathsubshiftdrop|Umathsubshiftdown|Umathsubscriptvariant|Umathstackvgap|Umathstackvariant|Umathstacknumup|Umathstackdenomdown|Umathspacingmode|Umathspacebeforescript|Umathspaceafterscript|Umathskewedfractionvgap|Umathskewedfractionhgap|Umathrelrelspacing|Umathrelradspacing|Umathrelpunctspacing|Umathrelordspacing|Umathrelopspacing|Umathrelopenspacing|Umathrelinnerspacing|Umathrelfracspacing|Umathrelclosespacing|Umathrelbinspacing|Umathradrelspacing|Umathradradspacing|Umathradpunctspacing|Umathradordspacing|Umathradopspacing|Umathradopenspacing|Umathradinnerspacing|Umathradicalvgap|Umathradicalvariant|Umathradicalrule|Umathradicalkern|Umathradicaldegreeraise|Umathradicaldegreebefore|Umathradicaldegreeafter|Umathradfracspacing|Umathradclosespacing|Umathradbinspacing|Umathquad|Umathpunctrelspacing|Umathpunctradspacing|Umathpunctpunctspacing|Umathpunctordspacing|Umathpunctopspacing|Umathpunctopenspacing|Umathpunctinnerspacing|Umathpunctfracspacing|Umathpunctclosespacing|Umathpunctbinspacing|Umathphantom|Umathoverlinevariant|Umathoverlayaccentvariant|Umathoverdelimitervgap|Umathoverdelimitervariant|Umathoverdelimiterbgap|Umathoverbarvgap|Umathoverbarrule|Umathoverbarkern|Umathordrelspacing|Umathordradspacing|Umathordpunctspacing|Umathordordspacing|Umathordopspacing|Umathordopenspacing|Umathordinnerspacing|Umathordfracspacing|Umathordclosespacing|Umathordbinspacing|Umathoprelspacing|Umathopradspacing|Umathoppunctspacing|Umathopordspacing|Umathopopspacing|Umathopopenspacing|Umathopinnerspacing|Umathopfracspacing|Umathoperatorsize|Umathopenupheight|Umathopenupdepth|Umathopenrelspacing|Umathopenradspacing|Umathopenpunctspacing|Umathopenordspacing|Umathopenopspacing|Umathopenopenspacing|Umathopeninnerspacing|Umathopenfracspacing|Umathopenclosespacing|Umathopenbinspacing|Umathopclosespacing|Umathopbinspacing|Umathnumeratorvariant|Umathnolimitsupfactor|Umathnolimitsubfactor|Umathnolimits|Umathnoaxis|Umathlimits|Umathlimitbelowvgap|Umathlimitbelowkern|Umathlimitbelowbgap|Umathlimitabovevgap|Umathlimitabovekern|Umathlimitabovebgap|Umathinnerrelspacing|Umathinnerradspacing|Umathinnerpunctspacing|Umathinnerordspacing|Umathinneropspacing|Umathinneropenspacing|Umathinnerinnerspacing|Umathinnerfracspacing|Umathinnerclosespacing|Umathinnerbinspacing|Umathhextensiblevariant|Umathfractionvariant|Umathfractionrule|Umathfractionnumvgap|Umathfractionnumup|Umathfractiondenomvgap|Umathfractiondenomdown|Umathfractiondelsize|Umathfracrelspacing|Umathfracradspacing|Umathfracpunctspacing|Umathfracordspacing|Umathfracopspacing|Umathfracopenspacing|Umathfracinnerspacing|Umathfracfracspacing|Umathfracclosespacing|Umathfracbinspacing|Umathextrasupspace|Umathextrasupshift|Umathextrasupprespace|Umathextrasuppreshift|Umathextrasubspace|Umathextrasubshift|Umathextrasubprespace|Umathextrasubpreshift|Umathdenominatorvariant|Umathdelimiterundervariant|Umathdelimiterovervariant|Umathdegreevariant|Umathconnectoroverlapmin|Umathcodenum|Umathcode|Umathcloserelspacing|Umathcloseradspacing|Umathclosepunctspacing|Umathcloseordspacing|Umathcloseopspacing|Umathcloseopenspacing|Umathcloseinnerspacing|Umathclosefracspacing|Umathcloseclosespacing|Umathclosebinspacing|Umathclass|Umathcharslot|Umathcharnumdef|Umathcharnum|Umathcharfam|Umathchardef|Umathcharclass|Umathchar|Umathbotaccentvariant|Umathbinrelspacing|Umathbinradspacing|Umathbinpunctspacing|Umathbinordspacing|Umathbinopspacing|Umathbinopenspacing|Umathbininnerspacing|Umathbinfracspacing|Umathbinclosespacing|Umathbinbinspacing|Umathaxis|Umathadapttoright|Umathadapttoleft|Umathaccentvariant|Umathaccentbaseheight|Umathaccent|Uleft|Uhextensible|Udelimiterunder|Udelimiterover|Udelimiter|Udelcodenum|Udelcode|Uchar|Uatopwithdelims|Uatop|Uabovewithdelims|Uabove|UUskewedwithdelims|UUskewed|Omegaversion|Omegarevision|Omegaminorversion|Alephversion|Alephrevision|Alephminorversion| )(?=[^a-zA-Z])", + "match" : "\u005C\u005C(year|xtokspre|xtoksapp|xtoks|xspaceskip|xleaders|xdefcsname|xdef|wrapuppar|wordboundary|widowpenalty|widowpenalties|wd|vtop|vss|vsplit|vskip|vsize|vrule|vpack|vfuzz|vfilneg|vfill|vfil|vcenter|vbox|vbadness|valign|vadjust|uppercase|unvpack|unvcopy|unvbox|untraced|unskip|unpenalty|unletprotected|unletfrozen|unless|unkern|unhpack|unhcopy|unhbox|unexpandedloop|underline|undent|uchyph|uccode|tracingstats|tracingrestores|tracingparagraphs|tracingpages|tracingoutput|tracingonline|tracingnodes|tracingnesting|tracingmath|tracingmarks|tracingmacros|tracinglostchars|tracinglevels|tracinginserts|tracingifs|tracinghyphenation|tracinggroups|tracingfullboxes|tracingfonts|tracingexpressions|tracingcommands|tracingassigns|tracingalignments|tracingadjusts|tpack|toscaled|topskip|topmarks|topmark|tomathstyle|tolerant|tolerance|tokspre|toksdef|toksapp|toks|tokenized|tointeger|todimension|time|thinmuskip|thickmuskip|thewithoutunit|the|textstyle|textfont|textdirection|tabskip|tabsize|swapcsvalues|supmarkmode|string|splittopskip|splitmaxdepth|splitfirstmarks|splitfirstmark|splitdiscards|splitbotmarks|splitbotmark|span|spaceskip|spacefactor|snapshotpar|skipdef|skip|skewchar|showtokens|showthe|shownodedetails|showlists|showifs|showgroups|showboxdepth|showboxbreadth|showbox|show|shipout|shapingpenalty|shapingpenaltiesmode|sfcode|setlanguage|setfontid|setbox|semiprotected|semiexpanded|scrollmode|scriptstyle|scriptspace|scriptscriptstyle|scriptscriptfont|scriptfont|scantokens|scantextokens|scaledfontdimen|savingvdiscards|savinghyphcodes|savecatcodetable|rpcode|romannumeral|rightskip|rightmarginkern|righthyphenmin|right|retokenized|relpenalty|relax|raise|radical|quitvmode|quitloop|pxdimen|protrusionboundary|protrudechars|protected|prevgraf|prevdepth|pretolerance|prerelpenalty|prehyphenchar|preexhyphenchar|predisplaysize|predisplaypenalty|predisplaygapfactor|predisplaydirection|prebinoppenalty|posthyphenchar|postexhyphenchar|postdisplaypenalty|permanent|penalty|pdfximage|pdfxformresources|pdfxformname|pdfxformmargin|pdfxformattr|pdfxform|pdfvorigin|pdfuniqueresname|pdfuniformdeviate|pdftrailerid|pdftrailer|pdftracingfonts|pdfthreadmargin|pdfthread|pdftexversion|pdftexrevision|pdftexbanner|pdfsuppressptexinfo|pdfsuppressoptionalinfo|pdfstartthread|pdfstartlink|pdfsetrandomseed|pdfsetmatrix|pdfsavepos|pdfsave|pdfretval|pdfrestore|pdfreplacefont|pdfrefximage|pdfrefxform|pdfrefobj|pdfrecompress|pdfrandomseed|pdfpxdimen|pdfprotrudechars|pdfprimitive|pdfpkresolution|pdfpkmode|pdfpkfixeddpi|pdfpagewidth|pdfpagesattr|pdfpageresources|pdfpageref|pdfpageheight|pdfpagebox|pdfpageattr|pdfoutput|pdfoutline|pdfomitcidset|pdfomitcharset|pdfobjcompresslevel|pdfobj|pdfnormaldeviate|pdfnoligatures|pdfnames|pdfminorversion|pdfmapline|pdfmapfile|pdfmajorversion|pdfliteral|pdflinkmargin|pdflastypos|pdflastxpos|pdflastximagepages|pdflastximage|pdflastxform|pdflastobj|pdflastlink|pdflastlinedepth|pdflastannot|pdfinsertht|pdfinfoomitdate|pdfinfo|pdfinclusionerrorlevel|pdfinclusioncopyfonts|pdfincludechars|pdfimageresolution|pdfimagehicolor|pdfimagegamma|pdfimageapplygamma|pdfimageaddfilename|pdfignoreunknownimages|pdfignoreddimen|pdfhorigin|pdfglyphtounicode|pdfgentounicode|pdfgamma|pdffontsize|pdffontobjnum|pdffontname|pdffontexpand|pdffontattr|pdffirstlineheight|pdfendthread|pdfendlink|pdfeachlineheight|pdfeachlinedepth|pdfdraftmode|pdfdestmargin|pdfdest|pdfdecimaldigits|pdfcreationdate|pdfcopyfont|pdfcompresslevel|pdfcolorstackinit|pdfcolorstack|pdfcatalog|pdfannot|pdfadjustspacing|pausing|patterns|parskip|parshapelength|parshapeindent|parshapedimen|parshape|parindent|parfillskip|pardirection|parattribute|parametermark|parametercount|par|pagevsize|pagetotal|pagestretch|pageshrink|pagegoal|pagefilstretch|pagefillstretch|pagefilllstretch|pagediscards|pagedepth|pageboundarypenalty|pageboundary|overwithdelims|overshoot|overloadmode|overloaded|overline|overfullrule|over|outputpenalty|outputbox|output|outer|orunless|orphanpenalty|orphanpenalties|orelse|or|omit|numexpression|numexpr|numericscale|number|nullfont|nulldelimiterspace|novrule|nospaces|normalyear|normalxtokspre|normalxtoksapp|normalxtoks|normalxspaceskip|normalxleaders|normalxdefcsname|normalxdef|normalwrapuppar|normalwordboundary|normalwidowpenalty|normalwidowpenalties|normalwd|normalvtop|normalvss|normalvsplit|normalvskip|normalvsize|normalvrule|normalvpack|normalvfuzz|normalvfilneg|normalvfill|normalvfil|normalvcenter|normalvbox|normalvbadness|normalvalign|normalvadjust|normaluppercase|normalunvpack|normalunvcopy|normalunvbox|normaluntraced|normalunskip|normalunpenalty|normalunletprotected|normalunletfrozen|normalunless|normalunkern|normalunhpack|normalunhcopy|normalunhbox|normalunexpandedloop|normalunexpanded|normalunderline|normalundent|normaluchyph|normaluccode|normaltracingstats|normaltracingrestores|normaltracingparagraphs|normaltracingpages|normaltracingoutput|normaltracingonline|normaltracingnodes|normaltracingnesting|normaltracingmath|normaltracingmarks|normaltracingmacros|normaltracinglostchars|normaltracinglevels|normaltracinginserts|normaltracingifs|normaltracinghyphenation|normaltracinggroups|normaltracingfullboxes|normaltracingfonts|normaltracingexpressions|normaltracingcommands|normaltracingassigns|normaltracingalignments|normaltracingadjusts|normaltpack|normaltoscaled|normaltopskip|normaltopmarks|normaltopmark|normaltomathstyle|normaltolerant|normaltolerance|normaltokspre|normaltoksdef|normaltoksapp|normaltoks|normaltokenized|normaltointeger|normaltodimension|normaltime|normalthinmuskip|normalthickmuskip|normalthewithoutunit|normalthe|normaltextstyle|normaltextfont|normaltextdirection|normaltabskip|normaltabsize|normalswapcsvalues|normalsupmarkmode|normalstring|normalsplittopskip|normalsplitmaxdepth|normalsplitfirstmarks|normalsplitfirstmark|normalsplitdiscards|normalsplitbotmarks|normalsplitbotmark|normalspan|normalspaceskip|normalspacefactor|normalsnapshotpar|normalskipdef|normalskip|normalskewchar|normalshowtokens|normalshowthe|normalshownodedetails|normalshowlists|normalshowifs|normalshowgroups|normalshowboxdepth|normalshowboxbreadth|normalshowbox|normalshow|normalshipout|normalshapingpenalty|normalshapingpenaltiesmode|normalsfcode|normalsetlanguage|normalsetfontid|normalsetbox|normalsemiprotected|normalsemiexpanded|normalscrollmode|normalscriptstyle|normalscriptspace|normalscriptscriptstyle|normalscriptscriptfont|normalscriptfont|normalscantokens|normalscantextokens|normalscaledfontdimen|normalsavingvdiscards|normalsavinghyphcodes|normalsavecatcodetable|normalrpcode|normalromannumeral|normalrightskip|normalrightmarginkern|normalrighthyphenmin|normalright|normalretokenized|normalrelpenalty|normalrelax|normalraise|normalradical|normalquitvmode|normalquitloop|normalpxdimen|normalprotrusionboundary|normalprotrudechars|normalprotected|normalprevgraf|normalprevdepth|normalpretolerance|normalprerelpenalty|normalprehyphenchar|normalpreexhyphenchar|normalpredisplaysize|normalpredisplaypenalty|normalpredisplaygapfactor|normalpredisplaydirection|normalprebinoppenalty|normalposthyphenchar|normalpostexhyphenchar|normalpostdisplaypenalty|normalpermanent|normalpenalty|normalpdfximage|normalpdfxformresources|normalpdfxformname|normalpdfxformmargin|normalpdfxformattr|normalpdfxform|normalpdfvorigin|normalpdfuniqueresname|normalpdfuniformdeviate|normalpdftrailerid|normalpdftrailer|normalpdftracingfonts|normalpdfthreadmargin|normalpdfthread|normalpdftexversion|normalpdftexrevision|normalpdftexbanner|normalpdfsuppressptexinfo|normalpdfsuppressoptionalinfo|normalpdfstartthread|normalpdfstartlink|normalpdfsetrandomseed|normalpdfsetmatrix|normalpdfsavepos|normalpdfsave|normalpdfretval|normalpdfrestore|normalpdfreplacefont|normalpdfrefximage|normalpdfrefxform|normalpdfrefobj|normalpdfrecompress|normalpdfrandomseed|normalpdfpxdimen|normalpdfprotrudechars|normalpdfprimitive|normalpdfpkresolution|normalpdfpkmode|normalpdfpkfixeddpi|normalpdfpagewidth|normalpdfpagesattr|normalpdfpageresources|normalpdfpageref|normalpdfpageheight|normalpdfpagebox|normalpdfpageattr|normalpdfoutput|normalpdfoutline|normalpdfomitcidset|normalpdfomitcharset|normalpdfobjcompresslevel|normalpdfobj|normalpdfnormaldeviate|normalpdfnoligatures|normalpdfnames|normalpdfminorversion|normalpdfmapline|normalpdfmapfile|normalpdfmajorversion|normalpdfliteral|normalpdflinkmargin|normalpdflastypos|normalpdflastxpos|normalpdflastximagepages|normalpdflastximage|normalpdflastxform|normalpdflastobj|normalpdflastlink|normalpdflastlinedepth|normalpdflastannot|normalpdfinsertht|normalpdfinfoomitdate|normalpdfinfo|normalpdfinclusionerrorlevel|normalpdfinclusioncopyfonts|normalpdfincludechars|normalpdfimageresolution|normalpdfimagehicolor|normalpdfimagegamma|normalpdfimageapplygamma|normalpdfimageaddfilename|normalpdfignoreunknownimages|normalpdfignoreddimen|normalpdfhorigin|normalpdfglyphtounicode|normalpdfgentounicode|normalpdfgamma|normalpdffontsize|normalpdffontobjnum|normalpdffontname|normalpdffontexpand|normalpdffontattr|normalpdffirstlineheight|normalpdfendthread|normalpdfendlink|normalpdfeachlineheight|normalpdfeachlinedepth|normalpdfdraftmode|normalpdfdestmargin|normalpdfdest|normalpdfdecimaldigits|normalpdfcreationdate|normalpdfcopyfont|normalpdfcompresslevel|normalpdfcolorstackinit|normalpdfcolorstack|normalpdfcatalog|normalpdfannot|normalpdfadjustspacing|normalpausing|normalpatterns|normalparskip|normalparshapelength|normalparshapeindent|normalparshapedimen|normalparshape|normalparindent|normalparfillskip|normalparfillleftskip|normalpardirection|normalparattribute|normalparametermark|normalparametercount|normalpar|normalpagevsize|normalpagetotal|normalpagestretch|normalpageshrink|normalpagegoal|normalpagefilstretch|normalpagefillstretch|normalpagefilllstretch|normalpagediscards|normalpagedepth|normalpageboundarypenalty|normalpageboundary|normaloverwithdelims|normalovershoot|normaloverloadmode|normaloverloaded|normaloverline|normaloverfullrule|normalover|normaloutputpenalty|normaloutputbox|normaloutput|normalouter|normalorunless|normalorphanpenalty|normalorphanpenalties|normalorelse|normalor|normalomit|normalnumexpression|normalnumexpr|normalnumericscale|normalnumber|normalnullfont|normalnulldelimiterspace|normalnovrule|normalnospaces|normalnormalizelinemode|normalnorelax|normalnonstopmode|normalnonscript|normalnolimits|normalnoindent|normalnohrule|normalnoexpand|normalnoboundary|normalnoaligned|normalnoalign|normalnewlinechar|normalmutoglue|normalmutable|normalmuskipdef|normalmuskip|normalmultiply|normalmugluespecdef|normalmuexpr|normalmskip|normalmoveright|normalmoveleft|normalmonth|normalmkern|normalmiddle|normalmessage|normalmedmuskip|normalmeaningless|normalmeaningfull|normalmeaningasis|normalmeaning|normalmaxdepth|normalmaxdeadcycles|normalmathsurroundskip|normalmathsurroundmode|normalmathsurround|normalmathstyle|normalmathscriptsmode|normalmathscriptcharmode|normalmathscriptboxmode|normalmathscale|normalmathrulethicknessmode|normalmathrulesmode|normalmathrulesfam|normalmathrel|normalmathrad|normalmathpunct|normalmathpenaltiesmode|normalmathord|normalmathopen|normalmathop|normalmathnolimitsmode|normalmathlimitsmode|normalmathinner|normalmathfrac|normalmathfontcontrol|normalmathflattenmode|normalmatheqnogapstep|normalmathdisplayskipmode|normalmathdirection|normalmathdelimitersmode|normalmathcontrolmode|normalmathcode|normalmathclose|normalmathchoice|normalmathchardef|normalmathchar|normalmathbin|normalmathaccent|normalmarks|normalmark|normalluatexversion|normalluatexrevision|normalluatexbanner|normalluafunctioncall|normalluafunction|normalluaescapestring|normalluadef|normalluacopyinputnodes|normalluabytecodecall|normalluabytecode|normallpcode|normallowercase|normallower|normallooseness|normallong|normallocalrightboxbox|normallocalrightbox|normallocalmiddleboxbox|normallocalmiddlebox|normallocalleftboxbox|normallocalleftbox|normallocalinterlinepenalty|normallocalcontrolledloop|normallocalcontrolled|normallocalcontrol|normallocalbrokenpenalty|normallineskiplimit|normallineskip|normallinepenalty|normallinedirection|normallimits|normallettonothing|normalletprotected|normalletfrozen|normalletcsname|normalletcharcode|normallet|normalleqno|normalleftskip|normalleftmarginkern|normallefthyphenmin|normalleft|normalleaders|normallccode|normallastskip|normallastpenalty|normallastparcontext|normallastnodetype|normallastnodesubtype|normallastnamedcs|normallastlinefit|normallastkern|normallastchknum|normallastchkdim|normallastbox|normallastarguments|normallanguage|normalkern|normaljobname|normalizelinemode|normalinterlinepenalty|normalinterlinepenalties|normalinteractionmode|normalintegerdef|normalinstance|normalinsertwidth|normalinsertuncopy|normalinsertunbox|normalinsertstoring|normalinsertstorage|normalinsertprogress|normalinsertpenalty|normalinsertpenalties|normalinsertmultiplier|normalinsertmode|normalinsertmaxdepth|normalinsertlimit|normalinsertheights|normalinsertheight|normalinsertdistance|normalinsertdepth|normalinsertcopy|normalinsertbox|normalinsert|normalinputlineno|normalinput|normalinitcatcodetable|normalinherited|normalindent|normalimmutable|normalimmediate|normalignorespaces|normalignorepars|normalignorearguments|normalifx|normalifvoid|normalifvmode|normalifvbox|normaliftrue|normaliftok|normalifrelax|normalifpdfprimitive|normalifpdfabsnum|normalifpdfabsdim|normalifparameters|normalifparameter|normalifodd|normalifnumval|normalifnumexpression|normalifnum|normalifmmode|normalifmathstyle|normalifmathparameter|normalifinsert|normalifinner|normalifincsname|normalifhmode|normalifhbox|normalifhasxtoks|normalifhastoks|normalifhastok|normalifhaschar|normaliffontchar|normalifflags|normaliffalse|normalifempty|normalifdimval|normalifdimexpression|normalifdim|normalifdefined|normalifcstok|normalifcsname|normalifcondition|normalifcmpnum|normalifcmpdim|normalifchknum|normalifchkdim|normalifcat|normalifcase|normalifboolean|normalifarguments|normalifabsnum|normalifabsdim|normalif|normalhyphenpenalty|normalhyphenchar|normalhyphenationmode|normalhyphenationmin|normalhyphenation|normalht|normalhss|normalhskip|normalhsize|normalhrule|normalhpack|normalholdinginserts|normalhjcode|normalhfuzz|normalhfilneg|normalhfill|normalhfil|normalhccode|normalhbox|normalhbadness|normalhangindent|normalhangafter|normalhalign|normalgtokspre|normalgtoksapp|normalglyphyscale|normalglyphyoffset|normalglyphxscale|normalglyphxoffset|normalglyphtextscale|normalglyphstatefield|normalglyphscriptscriptscale|normalglyphscriptscale|normalglyphscriptfield|normalglyphscale|normalglyphoptions|normalglyphdatafield|normalglyph|normalgluetomu|normalgluestretchorder|normalgluestretch|normalgluespecdef|normalglueshrinkorder|normalglueshrink|normalglueexpr|normalglobaldefs|normalglobal|normalglettonothing|normalgletcsname|normalglet|normalgleaders|normalgdefcsname|normalgdef|normalfuturelet|normalfutureexpandisap|normalfutureexpandis|normalfutureexpand|normalfuturedef|normalfuturecsname|normalfrozen|normalformatname|normalfonttextcontrol|normalfontspecyscale|normalfontspecxscale|normalfontspecscale|normalfontspecifiedsize|normalfontspecifiedname|normalfontspecid|normalfontspecdef|normalfontname|normalfontmathcontrol|normalfontid|normalfontdimen|normalfontcharwd|normalfontcharic|normalfontcharht|normalfontchardp|normalfont|normalflushmarks|normalfloatingpenalty|normalfirstvalidlanguage|normalfirstmarks|normalfirstmark|normalfinalhyphendemerits|normalfi|normalfam|normalexplicithyphenpenalty|normalexplicitdiscretionary|normalexpandtoken|normalexpandedloop|normalexpandedafter|normalexpanded|normalexpandcstoken|normalexpandafterspaces|normalexpandafterpars|normalexpandafter|normalexpand|normalexhyphenpenalty|normalexhyphenchar|normalexceptionpenalty|normaleveryvbox|normaleverytab|normaleverypar|normaleverymath|normaleveryjob|normaleveryhbox|normaleveryeof|normaleverydisplay|normaleverycr|normaleverybeforepar|normaletokspre|normaletoksapp|normaletoks|normalescapechar|normalerrorstopmode|normalerrorcontextlines|normalerrmessage|normalerrhelp|normaleqno|normalenforced|normalendsimplegroup|normalendmathgroup|normalendlocalcontrol|normalendlinechar|normalendinput|normalendgroup|normalendcsname|normalend|normalemergencystretch|normalelse|normalefcode|normaledefcsname|normaledef|normaldump|normaldp|normaldoublehyphendemerits|normaldivide|normaldisplaywidth|normaldisplaywidowpenalty|normaldisplaywidowpenalties|normaldisplaystyle|normaldisplaylimits|normaldisplayindent|normaldiscretionary|normaldirectlua|normaldimexpression|normaldimexpr|normaldimensiondef|normaldimendef|normaldimen|normaldetokenize|normaldelimitershortfall|normaldelimiterfactor|normaldelimiter|normaldelcode|normaldefcsname|normaldefaultskewchar|normaldefaulthyphenchar|normaldef|normaldeadcycles|normalday|normalcurrentmarks|normalcurrentloopnesting|normalcurrentloopiterator|normalcurrentiftype|normalcurrentiflevel|normalcurrentifbranch|normalcurrentgrouptype|normalcurrentgrouplevel|normalcsstring|normalcsname|normalcrcr|normalcrampedtextstyle|normalcrampedscriptstyle|normalcrampedscriptscriptstyle|normalcrampeddisplaystyle|normalcr|normalcountdef|normalcount|normalcopy|normalclubpenalty|normalclubpenalties|normalclearmarks|normalcleaders|normalchardef|normalchar|normalcatcodetable|normalcatcode|normalbrokenpenalty|normalboxyoffset|normalboxymove|normalboxxoffset|normalboxxmove|normalboxtotal|normalboxtarget|normalboxsource|normalboxshift|normalboxorientation|normalboxmaxdepth|normalboxgeometry|normalboxdirection|normalboxattribute|normalboxanchors|normalboxanchor|normalbox|normalboundary|normalbotmarks|normalbotmark|normalbinoppenalty|normalbelowdisplayskip|normalbelowdisplayshortskip|normalbeginsimplegroup|normalbeginmathgroup|normalbeginlocalcontrol|normalbegingroup|normalbegincsname|normalbatchmode|normalbaselineskip|normalbadness|normalautoparagraphmode|normalautomigrationmode|normalautomatichyphenpenalty|normalautomaticdiscretionary|normalattributedef|normalattribute|normalatopwithdelims|normalatop|normalatendofgrouped|normalatendofgroup|normalalltextstyles|normalallsplitstyles|normalallscriptstyles|normalallmathstyles|normalaligntab|normalalignmark|normalaligncontent|normalaliased|normalaftergrouped|normalaftergroup|normalafterassignment|normalafterassigned|normaladvance|normaladjustspacingstretch|normaladjustspacingstep|normaladjustspacingshrink|normaladjustspacing|normaladjdemerits|normalaccent|normalabovewithdelims|normalabovedisplayskip|normalabovedisplayshortskip|normalabove|normalXeTeXversion|normalUvextensible|normalUunderdelimiter|normalUsuperscript|normalUsuperprescript|normalUsubscript|normalUsubprescript|normalUstyle|normalUstopmath|normalUstopdisplaymath|normalUstartmath|normalUstartdisplaymath|normalUstack|normalUskewedwithdelims|normalUskewed|normalUroot|normalUright|normalUradical|normalUoverwithdelims|normalUoverdelimiter|normalUover|normalUnosuperscript|normalUnosuperprescript|normalUnosubscript|normalUnosubprescript|normalUmiddle|normalUmathyscale|normalUmathxscale|normalUmathvoid|normalUmathvextensiblevariant|normalUmathunderlinevariant|normalUmathunderdelimitervgap|normalUmathunderdelimitervariant|normalUmathunderdelimiterbgap|normalUmathunderbarvgap|normalUmathunderbarrule|normalUmathunderbarkern|normalUmathtopaccentvariant|normalUmathsupsubbottommax|normalUmathsupshiftup|normalUmathsupshiftdrop|normalUmathsuperscriptvariant|normalUmathsupbottommin|normalUmathsubtopmax|normalUmathsubsupvgap|normalUmathsubsupshiftdown|normalUmathsubshiftdrop|normalUmathsubshiftdown|normalUmathsubscriptvariant|normalUmathstackvgap|normalUmathstackvariant|normalUmathstacknumup|normalUmathstackdenomdown|normalUmathspacingmode|normalUmathspacebeforescript|normalUmathspaceafterscript|normalUmathskewedfractionvgap|normalUmathskewedfractionhgap|normalUmathrelrelspacing|normalUmathrelradspacing|normalUmathrelpunctspacing|normalUmathrelordspacing|normalUmathrelopspacing|normalUmathrelopenspacing|normalUmathrelinnerspacing|normalUmathrelfracspacing|normalUmathrelclosespacing|normalUmathrelbinspacing|normalUmathradrelspacing|normalUmathradradspacing|normalUmathradpunctspacing|normalUmathradordspacing|normalUmathradopspacing|normalUmathradopenspacing|normalUmathradinnerspacing|normalUmathradicalvgap|normalUmathradicalvariant|normalUmathradicalrule|normalUmathradicalkern|normalUmathradicaldegreeraise|normalUmathradicaldegreebefore|normalUmathradicaldegreeafter|normalUmathradfracspacing|normalUmathradclosespacing|normalUmathradbinspacing|normalUmathquad|normalUmathpunctrelspacing|normalUmathpunctradspacing|normalUmathpunctpunctspacing|normalUmathpunctordspacing|normalUmathpunctopspacing|normalUmathpunctopenspacing|normalUmathpunctinnerspacing|normalUmathpunctfracspacing|normalUmathpunctclosespacing|normalUmathpunctbinspacing|normalUmathphantom|normalUmathoverlinevariant|normalUmathoverlayaccentvariant|normalUmathoverdelimitervgap|normalUmathoverdelimitervariant|normalUmathoverdelimiterbgap|normalUmathoverbarvgap|normalUmathoverbarrule|normalUmathoverbarkern|normalUmathordrelspacing|normalUmathordradspacing|normalUmathordpunctspacing|normalUmathordordspacing|normalUmathordopspacing|normalUmathordopenspacing|normalUmathordinnerspacing|normalUmathordfracspacing|normalUmathordclosespacing|normalUmathordbinspacing|normalUmathoprelspacing|normalUmathopradspacing|normalUmathoppunctspacing|normalUmathopordspacing|normalUmathopopspacing|normalUmathopopenspacing|normalUmathopinnerspacing|normalUmathopfracspacing|normalUmathoperatorsize|normalUmathopenupheight|normalUmathopenupdepth|normalUmathopenrelspacing|normalUmathopenradspacing|normalUmathopenpunctspacing|normalUmathopenordspacing|normalUmathopenopspacing|normalUmathopenopenspacing|normalUmathopeninnerspacing|normalUmathopenfracspacing|normalUmathopenclosespacing|normalUmathopenbinspacing|normalUmathopclosespacing|normalUmathopbinspacing|normalUmathnumeratorvariant|normalUmathnolimitsupfactor|normalUmathnolimitsubfactor|normalUmathnolimits|normalUmathnoaxis|normalUmathlimits|normalUmathlimitbelowvgap|normalUmathlimitbelowkern|normalUmathlimitbelowbgap|normalUmathlimitabovevgap|normalUmathlimitabovekern|normalUmathlimitabovebgap|normalUmathinnerrelspacing|normalUmathinnerradspacing|normalUmathinnerpunctspacing|normalUmathinnerordspacing|normalUmathinneropspacing|normalUmathinneropenspacing|normalUmathinnerinnerspacing|normalUmathinnerfracspacing|normalUmathinnerclosespacing|normalUmathinnerbinspacing|normalUmathhextensiblevariant|normalUmathfractionvariant|normalUmathfractionrule|normalUmathfractionnumvgap|normalUmathfractionnumup|normalUmathfractiondenomvgap|normalUmathfractiondenomdown|normalUmathfractiondelsize|normalUmathfracrelspacing|normalUmathfracradspacing|normalUmathfracpunctspacing|normalUmathfracordspacing|normalUmathfracopspacing|normalUmathfracopenspacing|normalUmathfracinnerspacing|normalUmathfracfracspacing|normalUmathfracclosespacing|normalUmathfracbinspacing|normalUmathextrasupspace|normalUmathextrasupshift|normalUmathextrasupprespace|normalUmathextrasuppreshift|normalUmathextrasubspace|normalUmathextrasubshift|normalUmathextrasubprespace|normalUmathextrasubpreshift|normalUmathdenominatorvariant|normalUmathdelimiterundervariant|normalUmathdelimiterovervariant|normalUmathdegreevariant|normalUmathconnectoroverlapmin|normalUmathcodenum|normalUmathcode|normalUmathcloserelspacing|normalUmathcloseradspacing|normalUmathclosepunctspacing|normalUmathcloseordspacing|normalUmathcloseopspacing|normalUmathcloseopenspacing|normalUmathcloseinnerspacing|normalUmathclosefracspacing|normalUmathcloseclosespacing|normalUmathclosebinspacing|normalUmathclass|normalUmathcharslot|normalUmathcharnumdef|normalUmathcharnum|normalUmathcharfam|normalUmathchardef|normalUmathcharclass|normalUmathchar|normalUmathbotaccentvariant|normalUmathbinrelspacing|normalUmathbinradspacing|normalUmathbinpunctspacing|normalUmathbinordspacing|normalUmathbinopspacing|normalUmathbinopenspacing|normalUmathbininnerspacing|normalUmathbinfracspacing|normalUmathbinclosespacing|normalUmathbinbinspacing|normalUmathaxis|normalUmathadapttoright|normalUmathadapttoleft|normalUmathaccentvariant|normalUmathaccentbaseheight|normalUmathaccent|normalUleft|normalUhextensible|normalUdelimiterunder|normalUdelimiterover|normalUdelimiter|normalUdelcodenum|normalUdelcode|normalUchar|normalUatopwithdelims|normalUatop|normalUabovewithdelims|normalUabove|normalUUskewedwithdelims|normalUUskewed|normalOmegaversion|normalOmegarevision|normalOmegaminorversion|normalAlephversion|normalAlephrevision|normalAlephminorversion|normal |norelax|nonstopmode|nonscript|nolimits|noindent|nohrule|noexpand|noboundary|noaligned|noalign|newlinechar|mutoglue|mutable|muskipdef|muskip|multiply|mugluespecdef|muexpr|mskip|moveright|moveleft|month|mkern|middle|message|medmuskip|meaningless|meaningfull|meaningasis|meaning|maxdepth|maxdeadcycles|mathsurroundskip|mathsurroundmode|mathsurround|mathstyle|mathscriptsmode|mathscriptcharmode|mathscriptboxmode|mathscale|mathrulethicknessmode|mathrulesmode|mathrulesfam|mathrel|mathrad|mathpunct|mathpenaltiesmode|mathord|mathopen|mathop|mathnolimitsmode|mathlimitsmode|mathinner|mathfrac|mathfontcontrol|mathflattenmode|matheqnogapstep|mathdisplayskipmode|mathdirection|mathdelimitersmode|mathcontrolmode|mathcode|mathclose|mathchoice|mathchardef|mathchar|mathbin|mathaccent|marks|mark|luatexversion|luatexrevision|luatexbanner|luafunctioncall|luafunction|luaescapestring|luadef|luacopyinputnodes|luabytecodecall|luabytecode|lpcode|lowercase|lower|looseness|long|localrightboxbox|localrightbox|localmiddleboxbox|localmiddlebox|localleftboxbox|localleftbox|localinterlinepenalty|localcontrolledloop|localcontrolled|localcontrol|localbrokenpenalty|lineskiplimit|lineskip|linepenalty|linedirection|limits|lettonothing|letprotected|letfrozen|letcsname|letcharcode|let|leqno|leftskip|leftmarginkern|lefthyphenmin|left|leaders|lccode|lastskip|lastpenalty|lastparcontext|lastnodetype|lastnodesubtype|lastnamedcs|lastlinefit|lastkern|lastchknum|lastchkdim|lastbox|lastarguments|language|kern|jobname|interlinepenalty|interlinepenalties|interactionmode|integerdef|instance|insertwidth|insertuncopy|insertunbox|insertstoring|insertstorage|insertprogress|insertpenalty|insertpenalties|insertmultiplier|insertmode|insertmaxdepth|insertlimit|insertheights|insertheight|insertdistance|insertdepth|insertcopy|insertbox|insert|inputlineno|input|initcatcodetable|inherited|indent|immutable|immediate|ignorespaces|ignorepars|ignorearguments|ifx|ifvoid|ifvmode|ifvbox|iftrue|iftok|ifrelax|ifpdfprimitive|ifpdfabsnum|ifpdfabsdim|ifparameters|ifparameter|ifodd|ifnumval|ifnumexpression|ifnum|ifmmode|ifmathstyle|ifmathparameter|ifinsert|ifinner|ifincsname|ifhmode|ifhbox|ifhasxtoks|ifhastoks|ifhastok|ifhaschar|iffontchar|ifflags|iffalse|ifempty|ifdimval|ifdimexpression|ifdim|ifdefined|ifcstok|ifcsname|ifcondition|ifcmpnum|ifcmpdim|ifchknum|ifchkdim|ifcat|ifcase|ifboolean|ifarguments|ifabsnum|ifabsdim|if|hyphenpenalty|hyphenchar|hyphenationmode|hyphenationmin|hyphenation|ht|hss|hskip|hsize|hrule|hpack|holdinginserts|hjcode|hfuzz|hfilneg|hfill|hfil|hccode|hbox|hbadness|hangindent|hangafter|halign|gtokspre|gtoksapp|glyphyscale|glyphyoffset|glyphxscale|glyphxoffset|glyphtextscale|glyphstatefield|glyphscriptscriptscale|glyphscriptscale|glyphscriptfield|glyphscale|glyphoptions|glyphdatafield|glyph|gluetomu|gluestretchorder|gluestretch|gluespecdef|glueshrinkorder|glueshrink|glueexpr|globaldefs|global|glettonothing|gletcsname|glet|gleaders|gdefcsname|gdef|futurelet|futureexpandisap|futureexpandis|futureexpand|futuredef|futurecsname|frozen|formatname|fonttextcontrol|fontspecyscale|fontspecxscale|fontspecscale|fontspecifiedsize|fontspecifiedname|fontspecid|fontspecdef|fontname|fontmathcontrol|fontid|fontdimen|fontcharwd|fontcharic|fontcharht|fontchardp|font|flushmarks|floatingpenalty|firstvalidlanguage|firstmarks|firstmark|finalhyphendemerits|fi|fam|explicithyphenpenalty|explicitdiscretionary|expandtoken|expandedloop|expandedafter|expandcstoken|expandafterspaces|expandafterpars|expandafter|expand|exhyphenpenalty|exhyphenchar|exceptionpenalty|everyvbox|everytab|everypar|everymath|everyjob|everyhbox|everyeof|everydisplay|everycr|everybeforepar|etokspre|etoksapp|etoks|escapechar|errorstopmode|errorcontextlines|errmessage|errhelp|eqno|enforced|endsimplegroup|endmathgroup|endlocalcontrol|endlinechar|endinput|endgroup|endcsname|end|emergencystretch|else|efcode|edefcsname|edef|dump|dp|doublehyphendemerits|divide|displaywidth|displaywidowpenalty|displaywidowpenalties|displaystyle|displaylimits|displayindent|discretionary|directlua|dimexpression|dimexpr|dimensiondef|dimendef|dimen|detokenize|delimitershortfall|delimiterfactor|delimiter|delcode|defcsname|defaultskewchar|defaulthyphenchar|def|deadcycles|day|currentmarks|currentloopnesting|currentloopiterator|currentiftype|currentiflevel|currentifbranch|currentgrouptype|currentgrouplevel|csstring|csname|crcr|crampedtextstyle|crampedscriptstyle|crampedscriptscriptstyle|crampeddisplaystyle|cr|countdef|count|copy|clubpenalty|clubpenalties|clearmarks|cleaders|chardef|char|catcodetable|catcode|brokenpenalty|boxyoffset|boxymove|boxxoffset|boxxmove|boxtotal|boxtarget|boxsource|boxshift|boxorientation|boxmaxdepth|boxgeometry|boxdirection|boxattribute|boxanchors|boxanchor|box|boundary|botmarks|botmark|binoppenalty|belowdisplayskip|belowdisplayshortskip|beginsimplegroup|beginmathgroup|beginlocalcontrol|begingroup|begincsname|batchmode|baselineskip|badness|autoparagraphmode|automigrationmode|automatichyphenpenalty|automaticdiscretionary|attributedef|attribute|atopwithdelims|atop|atendofgrouped|atendofgroup|alltextstyles|allsplitstyles|allscriptstyles|allmathstyles|aligntab|alignmark|aligncontent|aliased|aftergrouped|aftergroup|afterassignment|afterassigned|advance|adjustspacingstretch|adjustspacingstep|adjustspacingshrink|adjustspacing|adjdemerits|accent|abovewithdelims|abovedisplayskip|abovedisplayshortskip|above|XeTeXversion|Uvextensible|Uunderdelimiter|Usuperscript|Usuperprescript|Usubscript|Usubprescript|Ustyle|Ustopmath|Ustopdisplaymath|Ustartmath|Ustartdisplaymath|Ustack|Uskewedwithdelims|Uskewed|Uroot|Uright|Uradical|Uoverwithdelims|Uoverdelimiter|Uover|Unosuperscript|Unosuperprescript|Unosubscript|Unosubprescript|Umiddle|Umathyscale|Umathxscale|Umathvoid|Umathvextensiblevariant|Umathunderlinevariant|Umathunderdelimitervgap|Umathunderdelimitervariant|Umathunderdelimiterbgap|Umathunderbarvgap|Umathunderbarrule|Umathunderbarkern|Umathtopaccentvariant|Umathsupsubbottommax|Umathsupshiftup|Umathsupshiftdrop|Umathsuperscriptvariant|Umathsupbottommin|Umathsubtopmax|Umathsubsupvgap|Umathsubsupshiftdown|Umathsubshiftdrop|Umathsubshiftdown|Umathsubscriptvariant|Umathstackvgap|Umathstackvariant|Umathstacknumup|Umathstackdenomdown|Umathspacingmode|Umathspacebeforescript|Umathspaceafterscript|Umathskewedfractionvgap|Umathskewedfractionhgap|Umathrelrelspacing|Umathrelradspacing|Umathrelpunctspacing|Umathrelordspacing|Umathrelopspacing|Umathrelopenspacing|Umathrelinnerspacing|Umathrelfracspacing|Umathrelclosespacing|Umathrelbinspacing|Umathradrelspacing|Umathradradspacing|Umathradpunctspacing|Umathradordspacing|Umathradopspacing|Umathradopenspacing|Umathradinnerspacing|Umathradicalvgap|Umathradicalvariant|Umathradicalrule|Umathradicalkern|Umathradicaldegreeraise|Umathradicaldegreebefore|Umathradicaldegreeafter|Umathradfracspacing|Umathradclosespacing|Umathradbinspacing|Umathquad|Umathpunctrelspacing|Umathpunctradspacing|Umathpunctpunctspacing|Umathpunctordspacing|Umathpunctopspacing|Umathpunctopenspacing|Umathpunctinnerspacing|Umathpunctfracspacing|Umathpunctclosespacing|Umathpunctbinspacing|Umathphantom|Umathoverlinevariant|Umathoverlayaccentvariant|Umathoverdelimitervgap|Umathoverdelimitervariant|Umathoverdelimiterbgap|Umathoverbarvgap|Umathoverbarrule|Umathoverbarkern|Umathordrelspacing|Umathordradspacing|Umathordpunctspacing|Umathordordspacing|Umathordopspacing|Umathordopenspacing|Umathordinnerspacing|Umathordfracspacing|Umathordclosespacing|Umathordbinspacing|Umathoprelspacing|Umathopradspacing|Umathoppunctspacing|Umathopordspacing|Umathopopspacing|Umathopopenspacing|Umathopinnerspacing|Umathopfracspacing|Umathoperatorsize|Umathopenupheight|Umathopenupdepth|Umathopenrelspacing|Umathopenradspacing|Umathopenpunctspacing|Umathopenordspacing|Umathopenopspacing|Umathopenopenspacing|Umathopeninnerspacing|Umathopenfracspacing|Umathopenclosespacing|Umathopenbinspacing|Umathopclosespacing|Umathopbinspacing|Umathnumeratorvariant|Umathnolimitsupfactor|Umathnolimitsubfactor|Umathnolimits|Umathnoaxis|Umathlimits|Umathlimitbelowvgap|Umathlimitbelowkern|Umathlimitbelowbgap|Umathlimitabovevgap|Umathlimitabovekern|Umathlimitabovebgap|Umathinnerrelspacing|Umathinnerradspacing|Umathinnerpunctspacing|Umathinnerordspacing|Umathinneropspacing|Umathinneropenspacing|Umathinnerinnerspacing|Umathinnerfracspacing|Umathinnerclosespacing|Umathinnerbinspacing|Umathhextensiblevariant|Umathfractionvariant|Umathfractionrule|Umathfractionnumvgap|Umathfractionnumup|Umathfractiondenomvgap|Umathfractiondenomdown|Umathfractiondelsize|Umathfracrelspacing|Umathfracradspacing|Umathfracpunctspacing|Umathfracordspacing|Umathfracopspacing|Umathfracopenspacing|Umathfracinnerspacing|Umathfracfracspacing|Umathfracclosespacing|Umathfracbinspacing|Umathextrasupspace|Umathextrasupshift|Umathextrasupprespace|Umathextrasuppreshift|Umathextrasubspace|Umathextrasubshift|Umathextrasubprespace|Umathextrasubpreshift|Umathdenominatorvariant|Umathdelimiterundervariant|Umathdelimiterovervariant|Umathdegreevariant|Umathconnectoroverlapmin|Umathcodenum|Umathcode|Umathcloserelspacing|Umathcloseradspacing|Umathclosepunctspacing|Umathcloseordspacing|Umathcloseopspacing|Umathcloseopenspacing|Umathcloseinnerspacing|Umathclosefracspacing|Umathcloseclosespacing|Umathclosebinspacing|Umathclass|Umathcharslot|Umathcharnumdef|Umathcharnum|Umathcharfam|Umathchardef|Umathcharclass|Umathchar|Umathbotaccentvariant|Umathbinrelspacing|Umathbinradspacing|Umathbinpunctspacing|Umathbinordspacing|Umathbinopspacing|Umathbinopenspacing|Umathbininnerspacing|Umathbinfracspacing|Umathbinclosespacing|Umathbinbinspacing|Umathaxis|Umathadapttoright|Umathadapttoleft|Umathaccentvariant|Umathaccentbaseheight|Umathaccent|Uleft|Uhextensible|Udelimiterunder|Udelimiterover|Udelimiter|Udelcodenum|Udelcode|Uchar|Uatopwithdelims|Uatop|Uabovewithdelims|Uabove|UUskewedwithdelims|UUskewed|Omegaversion|Omegarevision|Omegaminorversion|Alephversion|Alephrevision|Alephminorversion| )(?=[^a-zA-Z])", "name" : "context.primitive.commands.primitive.tex" }, "reserved" : { diff --git a/doc/context/sources/general/manuals/luatex/luatex-math.tex b/doc/context/sources/general/manuals/luatex/luatex-math.tex index 03961ab62..f5d6c7429 100644 --- a/doc/context/sources/general/manuals/luatex/luatex-math.tex +++ b/doc/context/sources/general/manuals/luatex/luatex-math.tex @@ -754,6 +754,11 @@ to fully control spacing. Therefore \LUATEX\ comes with a new directive: \lpr \LL \stoptabulate +By default the short skip detection is not adapted to r2l typesetting and that +hasn't been the case since the start of the project. Changing it could break +hacks that users came up with but when you set \lpr {matheqdirmode} to a positive +value direction will be taken into account. + \subsection {Nolimit correction} \topicindex {math+limits} diff --git a/metapost/context/base/mpiv/mp-tool.mpiv b/metapost/context/base/mpiv/mp-tool.mpiv index 611eafe77..495900fa2 100644 --- a/metapost/context/base/mpiv/mp-tool.mpiv +++ b/metapost/context/base/mpiv/mp-tool.mpiv @@ -548,7 +548,7 @@ def mfun_tool_striped_set_options(expr option) = enddef ; vardef mfun_tool_striped_number(expr option, p, s_n, s_slot) text extra = - image ( +% image ( begingroup ; save pattern, shape, bounds, penwidth, used_n, used_slot ; picture pattern, shape ; path bounds ; numeric used_s, used_slot ; @@ -585,7 +585,7 @@ vardef mfun_tool_striped_number(expr option, p, s_n, s_slot) text extra = addto currentpicture also shape ; fi ; endgroup ; - ) +% ) enddef ; def mfun_tool_striped_angle_action text extra = @@ -596,7 +596,7 @@ def mfun_tool_striped_angle_action text extra = enddef ; vardef mfun_tool_striped_angle(expr option, p, s_angle, s_gap) text extra = - image ( +% image ( begingroup ; save pattern, shape, mask, maximum, minimum, centrum, used_angle, used_gap ; picture pattern, shape, mask ; numeric maximum, minimum ; pair centrum ; numeric used_angle, used_gap ; @@ -637,7 +637,7 @@ vardef mfun_tool_striped_angle(expr option, p, s_angle, s_gap) text extra = fi ; currentpicture := currentpicture shifted centrum ; endgroup ; - ) +% ) enddef; newinternal striped_normal_inner ; striped_normal_inner := 1 ; @@ -646,11 +646,13 @@ newinternal striped_normal_outer ; striped_normal_outer := 3 ; newinternal striped_reverse_outer ; striped_reverse_outer := 4 ; secondarydef p anglestriped s = - mfun_tool_striped_angle(redpart s,p,greenpart s,bluepart s) + % mfun_tool_striped_angle(redpart s,p,greenpart s,bluepart s) + image(mfun_tool_striped_angle(redpart s,p,greenpart s,bluepart s)) % for 'withcolor' enddef ; secondarydef p numberstriped s = - mfun_tool_striped_number(redpart s,p,greenpart s,bluepart s) + % mfun_tool_striped_number(redpart s,p,greenpart s,bluepart s) + image(mfun_tool_striped_number(redpart s,p,greenpart s,bluepart s)) % for 'withcolor' enddef ; % for old times sake: diff --git a/metapost/context/base/mpxl/mp-tool.mpxl b/metapost/context/base/mpxl/mp-tool.mpxl index 31be9707a..474b68353 100644 --- a/metapost/context/base/mpxl/mp-tool.mpxl +++ b/metapost/context/base/mpxl/mp-tool.mpxl @@ -575,7 +575,7 @@ def mfun_tool_striped_set_options(expr option) = enddef ; vardef mfun_tool_striped_number(expr option, p, asked_n, asked_slot) text extra = - image ( +% image ( begingroup ; save pattern, shape, bounds, penwidth, used_n, used_slot ; picture pattern, shape ; path bounds ; numeric used_s, used_slot ; @@ -614,7 +614,7 @@ vardef mfun_tool_striped_number(expr option, p, asked_n, asked_slot) text extra addto currentpicture also shape ; fi ; endgroup ; - ) +% ) enddef ; % def mfun_tool_striped_angle_action text extra = @@ -633,7 +633,7 @@ def mfun_tool_striped_angle_action text extra = enddef ; vardef mfun_tool_striped_angle(expr option, p, asked_angle, asked_gap) text extra = - image ( +% image ( begingroup ; save pattern, shape, mask, maximum, minimum, centrum, used_angle, used_gap ; picture pattern, shape, mask ; numeric maximum, minimum ; pair centrum ; numeric used_angle, used_gap ; @@ -677,7 +677,7 @@ vardef mfun_tool_striped_angle(expr option, p, asked_angle, asked_gap) text extr fi ; currentpicture := currentpicture shifted centrum ; endgroup ; - ) +% ) enddef; newinternal striped_normal_inner ; striped_normal_inner := 1 ; @@ -686,11 +686,13 @@ newinternal striped_normal_outer ; striped_normal_outer := 3 ; newinternal striped_reverse_outer ; striped_reverse_outer := 4 ; secondarydef p anglestriped s = - mfun_tool_striped_angle(redpart s,p,greenpart s,bluepart s) + % mfun_tool_striped_angle(redpart s,p,greenpart s,bluepart s) + image(mfun_tool_striped_angle(redpart s,p,greenpart s,bluepart s)) % for 'withcolor' enddef ; secondarydef p numberstriped s = - mfun_tool_striped_number(redpart s,p,greenpart s,bluepart s) + % mfun_tool_striped_number(redpart s,p,greenpart s,bluepart s) + image(mfun_tool_striped_number(redpart s,p,greenpart s,bluepart s)) % for 'withcolor' enddef ; % for old times sake: diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index 52c6a3e48..acb247396 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{2022.01.18 10:48} +\newcontextversion{2022.01.21 20:10} %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 e58fbe97b..e1535e159 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{2022.01.18 10:48} +\edef\contextversion{2022.01.21 20:10} %D For those who want to use this: diff --git a/tex/context/base/mkii/mult-ro.mkii b/tex/context/base/mkii/mult-ro.mkii index dbfe43067..99e44c530 100644 --- a/tex/context/base/mkii/mult-ro.mkii +++ b/tex/context/base/mkii/mult-ro.mkii @@ -993,7 +993,9 @@ \setinterfaceconstant{marstyle}{stilmarcaj} \setinterfaceconstant{mask}{mask} \setinterfaceconstant{mathclass}{mathclass} +\setinterfaceconstant{mathdenominatorstyle}{mathdenominatorstyle} \setinterfaceconstant{mathlimits}{mathlimits} +\setinterfaceconstant{mathnumeratorstyle}{mathnumeratorstyle} \setinterfaceconstant{mathstyle}{mathstyle} \setinterfaceconstant{max}{max} \setinterfaceconstant{maxdepth}{maxdepth} diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index f139b7f69..fb27e5d04 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -13,7 +13,7 @@ % \normalend % uncomment this to get the real base runtime -\newcontextversion{2022.01.18 10:48} +\newcontextversion{2022.01.21 20:10} %D This file is loaded at runtime, thereby providing an excellent place for hacks, %D patches, extensions and new features. There can be local overloads in cont-loc diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 58b9315f3..1aaa77a0f 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -49,7 +49,7 @@ %D {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2022.01.18 10:48} +\edef\contextversion{2022.01.21 20:10} %D Kind of special: diff --git a/tex/context/base/mkiv/lang-imp-indic.lua b/tex/context/base/mkiv/lang-imp-indic.lua index 46af00e3b..5c766c5ef 100644 --- a/tex/context/base/mkiv/lang-imp-indic.lua +++ b/tex/context/base/mkiv/lang-imp-indic.lua @@ -1,13 +1,18 @@ +local zwj = utf.char(0x200D) + return { + name = "indic transliterations", version = "1.00", comment = "Experimental code, the name of this file might change" .. "or maybe it become a llg file in the end.", author = "kauśika and hans", copyright = "ConTeXt development team & whoever made this list", + transliterations = { - ["iast to indic"] = { - svara = { + ["iast to deva"] = { + mapping = { + --- vowels ["a"] = "अ", ["ā"] = "आ", ["i"] = "इ", @@ -24,77 +29,1230 @@ return { ["ò"] = "ऒ", ["o"] = "ओ", ["au"] = "औ", - }, - vyanjana = { - ["k"] = "क", - ["kh"] = "ख", - ["g"] = "ग", - ["gh"] = "घ", - ["ṅ"] = "ङ", - ["c"] = "च", - ["ch"] = "छ", - ["j"] = "ज", - ["jh"] = "झ", - ["ñ"] = "ञ", - ["ṭ"] = "ट", - ["ṭh"] = "ठ", - ["ḍ"] = "ड", - ["ḍh"] = "ढ", - ["ṇ"] = "ण", - ["t"] = "त", - ["th"] = "थ", - ["d"] = "द", - ["dh"] = "ध", - ["n"] = "न", - ["p"] = "प", - ["ph"] = "फ", - ["b"] = "ब", - ["bh"] = "भ", - ["m"] = "म", - ["y"] = "य", - ["r"] = "र", - ["l"] = "ल", - ["v"] = "व", - ["ś"] = "श", - ["ṣ"] = "ष", - ["s"] = "स", - ["h"] = "ह", - ["ḻ"] = "ळ", - ["x"] = "क्ष", - ["jñ"] = "ज्ञ", - }, - maatra = { - ["a"] = "", - ["ā"] = "ा", - ["i"] = "ि", - ["ī"] = "ी", - ["u"] = "ु", - ["ū"] = "ू", - ["ṛ"] = "ृ", - ["ṝ"] = "ॄ", - ["ḷ"] = "ॢ", - ["ḹ"] = "ॣ", - ["ai"] = "ै", - ["e"] = "े", - ["o"] = "ो", - ["au"] = "ौ", - }, - yogavaaha = { + --- consonant forms + ["ka"] = "क", + ["kā"] = "का", + ["ki"] = "कि", + ["kī"] = "की", + ["ku"] = "कु", + ["kū"] = "कू", + ["ke"] = "के", + ["ko"] = "को", + ["kai"] = "कै", + ["kau"] = "कौ", + ["kḷ"] = "कॢ", + ["kḹ"] = "कॣ", + ["kṛ"] = "कृ", + ["kṝ"] = "कॄ", + --- + ["kha"] = "ख", + ["khā"] = "खा", + ["khi"] = "खि", + ["khī"] = "खी", + ["khu"] = "खु", + ["khū"] = "खू", + ["khe"] = "खे", + ["kho"] = "खो", + ["khai"] = "खै", + ["khau"] = "खौ", + ["khḷ"] = "खॢ", + ["khḹ"] = "खॣ", + ["khṛ"] = "खृ", + ["khṝ"] = "खॄ", + --- + ["ga"] = "ग", + ["gā"] = "गा", + ["gi"] = "गि", + ["gī"] = "गी", + ["gu"] = "गु", + ["gū"] = "गू", + ["ge"] = "गे", + ["go"] = "गो", + ["gai"] = "गै", + ["gau"] = "गौ", + ["gḷ"] = "गॢ", + ["gḹ"] = "गॣ", + ["gṛ"] = "गृ", + ["gṝ"] = "गॄ", + --- + ["gha"] = "घ", + ["ghā"] = "घा", + ["ghi"] = "घि", + ["ghī"] = "घी", + ["ghu"] = "घु", + ["ghū"] = "घू", + ["ghe"] = "घे", + ["gho"] = "घो", + ["ghai"] = "घै", + ["ghau"] = "घौ", + ["ghḷ"] = "घॢ", + ["ghḹ"] = "घॣ", + ["ghṛ"] = "घृ", + ["ghṝ"] = "घॄ", + --- + ["ṅa"] = "ङ", + ["ṅā"] = "ङा", + ["ṅi"] = "ङि", + ["ṅī"] = "ङी", + ["ṅu"] = "ङु", + ["ṅū"] = "ङू", + ["ṅe"] = "ङे", + ["ṅo"] = "ङो", + ["ṅai"] = "ङै", + ["ṅau"] = "ङौ", + ["ṅḷ"] = "ङॢ", + ["ṅḹ"] = "ङॣ", + ["ṅṛ"] = "ङृ", + ["ṅṝ"] = "ङॄ", + --- + ["ca"] = "च", + ["cā"] = "चा", + ["ci"] = "चि", + ["cī"] = "ची", + ["cu"] = "चु", + ["cū"] = "चू", + ["ce"] = "चे", + ["co"] = "चो", + ["cai"] = "चै", + ["cau"] = "चौ", + ["cḷ"] = "चॢ", + ["cḹ"] = "चॣ", + ["cṛ"] = "चृ", + ["cṝ"] = "चॄ", + --- + ["cha"] = "छ", + ["chā"] = "छा", + ["chi"] = "छि", + ["chī"] = "छी", + ["chu"] = "छु", + ["chū"] = "छू", + ["che"] = "छे", + ["cho"] = "छो", + ["chai"] = "छै", + ["chau"] = "छौ", + ["chḷ"] = "छॢ", + ["chḹ"] = "छॣ", + ["chṛ"] = "छृ", + ["chṝ"] = "छॄ", + --- + ["ja"] = "ज", + ["jā"] = "जा", + ["ji"] = "जि", + ["jī"] = "जी", + ["ju"] = "जु", + ["jū"] = "जू", + ["je"] = "जे", + ["jo"] = "जो", + ["jai"] = "जै", + ["jau"] = "जौ", + ["jḷ"] = "जॢ", + ["jḹ"] = "जॣ", + ["jṛ"] = "जृ", + ["jṝ"] = "जॄ", + --- + ["jha"] = "झ", + ["jhā"] = "झा", + ["jhi"] = "झि", + ["jhī"] = "झी", + ["jhu"] = "झु", + ["jhū"] = "झू", + ["jhe"] = "झे", + ["jho"] = "झो", + ["jhai"] = "झै", + ["jhau"] = "झौ", + ["jhḷ"] = "झॢ", + ["jhḹ"] = "झॣ", + ["jhṛ"] = "झृ", + ["jhṝ"] = "झॄ", + --- + ["ña"] = "ञ", + ["ñā"] = "ञा", + ["ñi"] = "ञि", + ["ñī"] = "ञी", + ["ñu"] = "ञु", + ["ñū"] = "ञू", + ["ñe"] = "ञे", + ["ño"] = "ञो", + ["ñai"] = "ञै", + ["ñau"] = "ञौ", + ["ñḷ"] = "ञॢ", + ["ñḹ"] = "ञॣ", + ["ñṛ"] = "ञृ", + ["ñṝ"] = "ञॄ", + --- + ["ṭa"] = "ट", + ["ṭā"] = "टा", + ["ṭi"] = "टि", + ["ṭī"] = "टी", + ["ṭu"] = "टु", + ["ṭū"] = "टू", + ["ṭe"] = "टे", + ["ṭo"] = "टो", + ["ṭai"] = "टै", + ["ṭau"] = "टौ", + ["ṭḷ"] = "टॢ", + ["ṭḹ"] = "टॣ", + ["ṭṛ"] = "टृ", + ["ṭṝ"] = "टॄ", + --- + ["ṭha"] = "ठ", + ["ṭhā"] = "ठा", + ["ṭhi"] = "ठि", + ["ṭhī"] = "ठी", + ["ṭhu"] = "ठु", + ["ṭhū"] = "ठू", + ["ṭhe"] = "ठे", + ["ṭho"] = "ठो", + ["ṭhai"] = "ठै", + ["ṭhau"] = "ठौ", + ["ṭhḷ"] = "ठॢ", + ["ṭhḹ"] = "ठॣ", + ["ṭhṛ"] = "ठृ", + ["ṭhṝ"] = "ठॄ", + --- + ["ḍa"] = "ड", + ["ḍā"] = "डा", + ["ḍi"] = "डि", + ["ḍī"] = "डी", + ["ḍu"] = "डु", + ["ḍū"] = "डू", + ["ḍe"] = "डे", + ["ḍo"] = "डो", + ["ḍai"] = "डै", + ["ḍau"] = "डौ", + ["ḍḷ"] = "डॢ", + ["ḍḹ"] = "डॣ", + ["ḍṛ"] = "डृ", + ["ḍṝ"] = "डॄ", + --- + ["ḍha"] = "ढ", + ["ḍhā"] = "ढा", + ["ḍhi"] = "ढि", + ["ḍhī"] = "ढी", + ["ḍhu"] = "ढु", + ["ḍhū"] = "ढू", + ["ḍhe"] = "ढे", + ["ḍho"] = "ढो", + ["ḍhai"] = "ढै", + ["ḍhau"] = "ढौ", + ["ḍhḷ"] = "ढॢ", + ["ḍhḹ"] = "ढॣ", + ["ḍhṛ"] = "ढृ", + ["ḍhṝ"] = "ढॄ", + --- + ["ṇa"] = "ण", + ["ṇā"] = "णा", + ["ṇi"] = "णि", + ["ṇī"] = "णी", + ["ṇu"] = "णु", + ["ṇū"] = "णू", + ["ṇe"] = "णे", + ["ṇo"] = "णो", + ["ṇai"] = "णै", + ["ṇau"] = "णौ", + ["ṇḷ"] = "णॢ", + ["ṇḹ"] = "णॣ", + ["ṇṛ"] = "णृ", + ["ṇṝ"] = "णॄ", + --- + ["ta"] = "त", + ["tā"] = "ता", + ["ti"] = "ति", + ["tī"] = "ती", + ["tu"] = "तु", + ["tū"] = "तू", + ["te"] = "ते", + ["to"] = "तो", + ["tai"] = "तै", + ["tau"] = "तौ", + ["tḷ"] = "तॢ", + ["tḹ"] = "तॣ", + ["tṛ"] = "तृ", + ["tṝ"] = "तॄ", + --- + ["tha"] = "थ", + ["thā"] = "था", + ["thi"] = "थि", + ["thī"] = "थी", + ["thu"] = "थु", + ["thū"] = "थू", + ["the"] = "थे", + ["tho"] = "थो", + ["thai"] = "थै", + ["thau"] = "थौ", + ["thḷ"] = "थॢ", + ["thḹ"] = "थॣ", + ["thṛ"] = "थृ", + ["thṝ"] = "थॄ", + --- + ["da"] = "द", + ["dā"] = "दा", + ["di"] = "दि", + ["dī"] = "दी", + ["du"] = "दु", + ["dū"] = "दू", + ["de"] = "दे", + ["do"] = "दो", + ["dai"] = "दै", + ["dau"] = "दौ", + ["dḷ"] = "दॢ", + ["dḹ"] = "दॣ", + ["dṛ"] = "दृ", + ["dṝ"] = "दॄ", + --- + ["dha"] = "ध", + ["dhā"] = "धा", + ["dhi"] = "धि", + ["dhī"] = "धी", + ["dhu"] = "धु", + ["dhū"] = "धू", + ["dhe"] = "धे", + ["dho"] = "धो", + ["dhai"] = "धै", + ["dhau"] = "धौ", + ["dhḷ"] = "धॢ", + ["dhḹ"] = "धॣ", + ["dhṛ"] = "धृ", + ["dhṝ"] = "धॄ", + --- + ["na"] = "न", + ["nā"] = "ना", + ["ni"] = "नि", + ["nī"] = "नी", + ["nu"] = "नु", + ["nū"] = "नू", + ["ne"] = "ने", + ["no"] = "नो", + ["nai"] = "नै", + ["nau"] = "नौ", + ["nḷ"] = "नॢ", + ["nḹ"] = "नॣ", + ["nṛ"] = "नृ", + ["nṝ"] = "नॄ", + --- + ["pa"] = "प", + ["pā"] = "पा", + ["pi"] = "पि", + ["pī"] = "पी", + ["pu"] = "पु", + ["pū"] = "पू", + ["pe"] = "पे", + ["po"] = "पो", + ["pai"] = "पै", + ["pau"] = "पौ", + ["pḷ"] = "पॢ", + ["pḹ"] = "पॣ", + ["pṛ"] = "पृ", + ["pṝ"] = "पॄ", + --- + ["pha"] = "फ", + ["phā"] = "फा", + ["phi"] = "फि", + ["phī"] = "फी", + ["phu"] = "फु", + ["phū"] = "फू", + ["phe"] = "फे", + ["pho"] = "फो", + ["phai"] = "फै", + ["phau"] = "फौ", + ["phḷ"] = "फॢ", + ["phḹ"] = "फॣ", + ["phṛ"] = "फृ", + ["phṝ"] = "फॄ", + --- + ["ba"] = "ब", + ["bā"] = "बा", + ["bi"] = "बि", + ["bī"] = "बी", + ["bu"] = "बु", + ["bū"] = "बू", + ["be"] = "बे", + ["bo"] = "बो", + ["bai"] = "बै", + ["bau"] = "बौ", + ["bḷ"] = "बॢ", + ["bḹ"] = "बॣ", + ["bṛ"] = "बृ", + ["bṝ"] = "बॄ", + --- + ["bha"] = "भ", + ["bhā"] = "भा", + ["bhi"] = "भि", + ["bhī"] = "भी", + ["bhu"] = "भु", + ["bhū"] = "भू", + ["bhe"] = "भे", + ["bho"] = "भो", + ["bhai"] = "भै", + ["bhau"] = "भौ", + ["bhḷ"] = "भॢ", + ["bhḹ"] = "भॣ", + ["bhṛ"] = "भृ", + ["bhṝ"] = "भॄ", + --- + ["ma"] = "म", + ["mā"] = "मा", + ["mi"] = "मि", + ["mī"] = "मी", + ["mu"] = "मु", + ["mū"] = "मू", + ["me"] = "मे", + ["mo"] = "मो", + ["mai"] = "मै", + ["mau"] = "मौ", + ["mḷ"] = "मॢ", + ["mḹ"] = "मॣ", + ["mṛ"] = "मृ", + ["mṝ"] = "मॄ", + --- + ["ya"] = "य", + ["yā"] = "या", + ["yi"] = "यि", + ["yī"] = "यी", + ["yu"] = "यु", + ["yū"] = "यू", + ["ye"] = "ये", + ["yo"] = "यो", + ["yai"] = "यै", + ["yau"] = "यौ", + ["yḷ"] = "यॢ", + ["yḹ"] = "यॣ", + ["yṛ"] = "यृ", + ["yṝ"] = "यॄ", + --- + ["ra"] = "र", + ["rā"] = "रा", + ["ri"] = "रि", + ["rī"] = "री", + ["ru"] = "रु", + ["rū"] = "रू", + ["re"] = "रे", + ["ro"] = "रो", + ["rai"] = "रै", + ["rau"] = "रौ", + ["rḷ"] = "रॢ", + ["rḹ"] = "रॣ", + ["rṛ"] = "रृ", + ["rṝ"] = "रॄ", + --- + ["la"] = "ल", + ["lā"] = "ला", + ["li"] = "लि", + ["lī"] = "ली", + ["lu"] = "लु", + ["lū"] = "लू", + ["le"] = "ले", + ["lo"] = "लो", + ["lai"] = "लै", + ["lau"] = "लौ", + ["lḷ"] = "लॢ", + ["lḹ"] = "लॣ", + ["lṛ"] = "लृ", + ["lṝ"] = "लॄ", + --- + ["va"] = "व", + ["vā"] = "वा", + ["vi"] = "वि", + ["vī"] = "वी", + ["vu"] = "वु", + ["vū"] = "वू", + ["ve"] = "वे", + ["vo"] = "वो", + ["vai"] = "वै", + ["vau"] = "वौ", + ["vḷ"] = "वॢ", + ["vḹ"] = "वॣ", + ["vṛ"] = "वृ", + ["vṝ"] = "वॄ", + --- + ["śa"] = "श", + ["śā"] = "शा", + ["śi"] = "शि", + ["śī"] = "शी", + ["śu"] = "शु", + ["śū"] = "शू", + ["śe"] = "शे", + ["śo"] = "शो", + ["śai"] = "शै", + ["śau"] = "शौ", + ["śḷ"] = "शॢ", + ["śḹ"] = "शॣ", + ["śṛ"] = "शृ", + ["śṝ"] = "शॄ", + --- + ["ṣa"] = "ष", + ["ṣā"] = "षा", + ["ṣi"] = "षि", + ["ṣī"] = "षी", + ["ṣu"] = "षु", + ["ṣū"] = "षू", + ["ṣe"] = "षे", + ["ṣo"] = "षो", + ["ṣai"] = "षै", + ["ṣau"] = "षौ", + ["ṣḷ"] = "षॢ", + ["ṣḹ"] = "षॣ", + ["ṣṛ"] = "षृ", + ["ṣṝ"] = "षॄ", + --- + ["sa"] = "स", + ["sā"] = "सा", + ["si"] = "सि", + ["sī"] = "सी", + ["su"] = "सु", + ["sū"] = "सू", + ["se"] = "से", + ["so"] = "सो", + ["sai"] = "सै", + ["sau"] = "सौ", + ["sḷ"] = "सॢ", + ["sḹ"] = "सॣ", + ["sṛ"] = "सृ", + ["sṝ"] = "सॄ", + --- + ["ha"] = "ह", + ["hā"] = "हा", + ["hi"] = "हि", + ["hī"] = "ही", + ["hu"] = "हु", + ["hū"] = "हू", + ["he"] = "हे", + ["ho"] = "हो", + ["hai"] = "है", + ["hau"] = "हौ", + ["hḷ"] = "हॢ", + ["hḹ"] = "हॣ", + ["hṛ"] = "हृ", + ["hṝ"] = "हॄ", + --- + ["ḻa"] = "ळ", + ["ḻā"] = "ळा", + ["ḻi"] = "ळि", + ["ḻī"] = "ळी", + ["ḻu"] = "ळु", + ["ḻū"] = "ळू", + ["ḻe"] = "ळे", + ["ḻo"] = "ळो", + ["ḻai"] = "ळै", + ["ḻau"] = "ळौ", + ["ḻḷ"] = "ळॢ", + ["ḻḹ"] = "ळॣ", + ["ḻṛ"] = "ळृ", + ["ḻṝ"] = "ळॄ", + --- + ["xa"] = "क्ष", + ["xā"] = "क्षा", + ["xi"] = "क्षि", + ["xī"] = "क्षी", + ["xu"] = "क्षु", + ["xū"] = "क्षू", + ["xe"] = "क्षे", + ["xo"] = "क्षो", + ["xai"] = "क्षै", + ["xau"] = "क्षौ", + ["xḷ"] = "क्षॢ", + ["xḹ"] = "क्षॣ", + ["xṛ"] = "क्षृ", + ["xṝ"] = "क्षॄ", + --- + ["jña"] = "ज्ञ", + ["jñā"] = "ज्ञा", + ["jñi"] = "ज्ञि", + ["jñī"] = "ज्ञी", + ["jñu"] = "ज्ञु", + ["jñū"] = "ज्ञू", + ["jñe"] = "ज्ञे", + ["jño"] = "ज्ञो", + ["jñai"] = "ज्ञै", + ["jñau"] = "ज्ञौ", + ["jñḷ"] = "ज्ञॢ", + ["jñḹ"] = "ज्ञॣ", + ["jñṛ"] = "ज्ञृ", + ["jñṝ"] = "ज्ञॄ", + --- + ["k"] = "क्", + ["kh"] = "ख्", + ["g"] = "ग्", + ["gh"] = "घ्", + ["ṅ"] = "ङ्", + ["c"] = "च्", + ["ch"] = "छ्", + ["j"] = "ज्", + ["jh"] = "झ्", + ["ñ"] = "ञ्", + ["ṭ"] = "ट्", + ["ṭh"] = "ठ्", + ["ḍ"] = "ड्", + ["ḍh"] = "ढ्", + ["ṇ"] = "ण्", + ["t"] = "त्", + ["th"] = "थ्", + ["d"] = "द्", + ["dh"] = "ध्", + ["n"] = "न्", + ["p"] = "प्", + ["ph"] = "फ्", + ["b"] = "ब्", + ["bh"] = "भ्", + ["m"] = "म्", + ["y"] = "य्", + ["r"] = "र्", + ["l"] = "ल्", + ["v"] = "व्", + ["ś"] = "श्", + ["ṣ"] = "ष्", + ["s"] = "स्", + ["h"] = "ह्", + ["ḻ"] = "ळ्", + ["x"] = "क्ष्", + ["jñ"] = "ज्ञ्", + -- yogavaahas (always with phonetic) ["ṁ"] = "ं", ["ḥ"] = "ः", ["ँ"] = "ँ", - }, - viraama = { + -- punctuations ["viraama"] = "्", ["."] = "।", ["|"] = "।", ["||"] = "॥", - ["‘"] = "‘", - ["’"] = "’", + }, + }, + ["deva to iast"] = { + mapping = { + -- vowels + ["अ"] = "a", + ["आ"] = "ā", + ["इ"] = "i", + ["ई"] = "ī", + ["उ"] = "u", + ["ऊ"] = "ū", + ["ऋ"] = "ṛ", + ["ॠ"] = "ṝ", + ["ऌ"] = "ḷ", + ["ॡ"] = "ḹ", + ["ऎ"] = "è", + ["ए"] = "e", + ["ऐ"] = "ai", + ["ऒ"] = "ò", + ["ओ"] = "o", + ["औ"] = "au", + -- consonant + vowel forms + ["क"]= "ka", + ["का"] = "kā", + ["कि"] = "ki", + ["की"] = "kī", + ["कु"] = "ku", + ["कू"] = "kū", + ["के"] = "ke", + ["को"] = "ko", + ["कै"] = "kai", + ["कौ"] = "kau", + ["कॢ"] = "kḷ", + ["कॣ"] = "kḹ", + ["कृ"] = "kṛ", + ["कॄ"] = "kṝ", + --- + ["ख"]= "kha", + ["खा"] = "khā", + ["खि"] = "khi", + ["खी"] = "khī", + ["खु"] = "khu", + ["खू"] = "khū", + ["खे"] = "khe", + ["खो"] = "kho", + ["खै"] = "khai", + ["खौ"] = "khau", + ["खॢ"] = "khḷ", + ["खॣ"] = "khḹ", + ["खृ"] = "khṛ", + ["खॄ"] = "khṝ", + --- + ["ग"]= "ga", + ["गा"] = "gā", + ["गि"] = "gi", + ["गी"] = "gī", + ["गु"] = "gu", + ["गू"] = "gū", + ["गे"] = "ge", + ["गो"] = "go", + ["गै"] = "gai", + ["गौ"] = "gau", + ["गॢ"] = "gḷ", + ["गॣ"] = "gḹ", + ["गृ"] = "gṛ", + ["गॄ"] = "gṝ", + --- + ["घ"]= "gha", + ["घा"] = "ghā", + ["घि"] = "ghi", + ["घी"] = "ghī", + ["घु"] = "ghu", + ["घू"] = "ghū", + ["घे"] = "ghe", + ["घो"] = "gho", + ["घै"] = "ghai", + ["घौ"] = "ghau", + ["घॢ"] = "ghḷ", + ["घॣ"] = "ghḹ", + ["घृ"] = "ghṛ", + ["घॄ"] = "ghṝ", + --- + ["ङ"]= "ṅa", + ["ङा"] = "ṅā", + ["ङि"] = "ṅi", + ["ङी"] = "ṅī", + ["ङु"] = "ṅu", + ["ङू"] = "ṅū", + ["ङे"] = "ṅe", + ["ङो"] = "ṅo", + ["ङै"] = "ṅai", + ["ङौ"] = "ṅau", + ["ङॢ"] = "ṅḷ", + ["ङॣ"] = "ṅḹ", + ["ङृ"] = "ṅṛ", + ["ङॄ"] = "ṅṝ", + --- + ["च"]= "ca", + ["चा"] = "cā", + ["चि"] = "ci", + ["ची"] = "cī", + ["चु"] = "cu", + ["चू"] = "cū", + ["चे"] = "ce", + ["चो"] = "co", + ["चै"] = "cai", + ["चौ"] = "cau", + ["चॢ"] = "cḷ", + ["चॣ"] = "cḹ", + ["चृ"] = "cṛ", + ["चॄ"] = "cṝ", + -- + ["छ"]= "cha", + ["छा"] = "chā", + ["छि"] = "chi", + ["छी"] = "chī", + ["छु"] = "chu", + ["छू"] = "chū", + ["छे"] = "che", + ["छो"] = "cho", + ["छै"] = "chai", + ["छौ"] = "chau", + ["छॢ"] = "chḷ", + ["छॣ"] = "chḹ", + ["छृ"] = "chṛ", + ["छॄ"] = "chṝ", + -- + ["ज"]= "ja", + ["जा"] = "jā", + ["जि"] = "ji", + ["जी"] = "jī", + ["जु"] = "ju", + ["जू"] = "jū", + ["जे"] = "je", + ["जो"] = "jo", + ["जै"] = "jai", + ["जौ"] = "jau", + ["जॢ"] = "jḷ", + ["जॣ"] = "jḹ", + ["जृ"] = "jṛ", + ["जॄ"] = "jṝ", + -- + ["झ"]= "jha", + ["झा"] = "jhā", + ["झि"] = "jhi", + ["झी"] = "jhī", + ["झु"] = "jhu", + ["झू"] = "jhū", + ["झे"] = "jhe", + ["झो"] = "jho", + ["झै"] = "jhai", + ["झौ"] = "jhau", + ["झॢ"] = "jhḷ", + ["झॣ"] = "jhḹ", + ["झृ"] = "jhṛ", + ["झॄ"] = "jhṝ", + -- + ["ञ"]= "ña", + ["ञा"] = "ñā", + ["ञि"] = "ñi", + ["ञी"] = "ñī", + ["ञु"] = "ñu", + ["ञू"] = "ñū", + ["ञे"] = "ñe", + ["ञो"] = "ño", + ["ञै"] = "ñai", + ["ञौ"] = "ñau", + ["ञॢ"] = "ñḷ", + ["ञॣ"] = "ñḹ", + ["ञृ"] = "ñṛ", + ["ञॄ"] = "ñṝ", + -- + ["ट"]= "ṭa", + ["टा"] = "ṭā", + ["टि"] = "ṭi", + ["टी"] = "ṭī", + ["टु"] = "ṭu", + ["टू"] = "ṭū", + ["टे"] = "ṭe", + ["टो"] = "ṭo", + ["टै"] = "ṭai", + ["टौ"] = "ṭau", + ["टॢ"] = "ṭḷ", + ["टॣ"] = "ṭḹ", + ["टृ"] = "ṭṛ", + ["टॄ"] = "ṭṝ", + -- + ["ठ"]= "ṭha", + ["ठा"] = "ṭhā", + ["ठि"] = "ṭhi", + ["ठी"] = "ṭhī", + ["ठु"] = "ṭhu", + ["ठू"] = "ṭhū", + ["ठे"] = "ṭhe", + ["ठो"] = "ṭho", + ["ठै"] = "ṭhai", + ["ठौ"] = "ṭhau", + ["ठॢ"] = "ṭhḷ", + ["ठॣ"] = "ṭhḹ", + ["ठृ"] = "ṭhṛ", + ["ठॄ"] = "ṭhṝ", + -- + ["ड"]= "ḍa", + ["डा"] = "ḍā", + ["डि"] = "ḍi", + ["डी"] = "ḍī", + ["डु"] = "ḍu", + ["डू"] = "ḍū", + ["डे"] = "ḍe", + ["डो"] = "ḍo", + ["डै"] = "ḍai", + ["डौ"] = "ḍau", + ["डॢ"] = "ḍḷ", + ["डॣ"] = "ḍḹ", + ["डृ"] = "ḍṛ", + ["डॄ"] = "ḍṝ", + -- + ["ढ"]= "ḍha", + ["ढा"] = "ḍhā", + ["ढि"] = "ḍhi", + ["ढी"] = "ḍhī", + ["ढु"] = "ḍhu", + ["ढू"] = "ḍhū", + ["ढे"] = "ḍhe", + ["ढो"] = "ḍho", + ["ढै"] = "ḍhai", + ["ढौ"] = "ḍhau", + ["ढॢ"] = "ḍhḷ", + ["ढॣ"] = "ḍhḹ", + ["ढृ"] = "ḍhṛ", + ["ढॄ"] = "ḍhṝ", + -- + ["ण"]= "ṇa", + ["णा"] = "ṇā", + ["णि"] = "ṇi", + ["णी"] = "ṇī", + ["णु"] = "ṇu", + ["णू"] = "ṇū", + ["णे"] = "ṇe", + ["णो"] = "ṇo", + ["णै"] = "ṇai", + ["णौ"] = "ṇau", + ["णॢ"] = "ṇḷ", + ["णॣ"] = "ṇḹ", + ["णृ"] = "ṇṛ", + ["णॄ"] = "ṇṝ", + -- + ["त"]= "ta", + ["ता"] = "tā", + ["ति"] = "ti", + ["ती"] = "tī", + ["तु"] = "tu", + ["तू"] = "tū", + ["ते"] = "te", + ["तो"] = "to", + ["तै"] = "tai", + ["तौ"] = "tau", + ["तॢ"] = "tḷ", + ["तॣ"] = "tḹ", + ["तृ"] = "tṛ", + ["तॄ"] = "tṝ", + -- + ["थ"]= "tha", + ["था"] = "thā", + ["थि"] = "thi", + ["थी"] = "thī", + ["थु"] = "thu", + ["थू"] = "thū", + ["थे"] = "the", + ["थो"] = "tho", + ["थै"] = "thai", + ["थौ"] = "thau", + ["थॢ"] = "thḷ", + ["थॣ"] = "thḹ", + ["थृ"] = "thṛ", + ["थॄ"] = "thṝ", + -- + ["द"]= "da", + ["दा"] = "dā", + ["दि"] = "di", + ["दी"] = "dī", + ["दु"] = "du", + ["दू"] = "dū", + ["दे"] = "de", + ["दो"] = "do", + ["दै"] = "dai", + ["दौ"] = "dau", + ["दॢ"] = "dḷ", + ["दॣ"] = "dḹ", + ["दृ"] = "dṛ", + ["दॄ"] = "dṝ", + -- + ["ध"]= "dha", + ["धा"] = "dhā", + ["धि"] = "dhi", + ["धी"] = "dhī", + ["धु"] = "dhu", + ["धू"] = "dhū", + ["धे"] = "dhe", + ["धो"] = "dho", + ["धै"] = "dhai", + ["धौ"] = "dhau", + ["धॢ"] = "dhḷ", + ["धॣ"] = "dhḹ", + ["धृ"] = "dhṛ", + ["धॄ"] = "dhṝ", + -- + ["न"]= "na", + ["ना"] = "nā", + ["नि"] = "ni", + ["नी"] = "nī", + ["नु"] = "nu", + ["नू"] = "nū", + ["ने"] = "ne", + ["नो"] = "no", + ["नै"] = "nai", + ["नौ"] = "nau", + ["नॢ"] = "nḷ", + ["नॣ"] = "nḹ", + ["नृ"] = "nṛ", + ["नॄ"] = "nṝ", + -- + ["प"]= "pa", + ["पा"] = "pā", + ["पि"] = "pi", + ["पी"] = "pī", + ["पु"] = "pu", + ["पू"] = "pū", + ["पे"] = "pe", + ["पो"] = "po", + ["पै"] = "pai", + ["पौ"] = "pau", + ["पॢ"] = "pḷ", + ["पॣ"] = "pḹ", + ["पृ"] = "pṛ", + ["पॄ"] = "pṝ", + -- + ["फ"]= "pha", + ["फा"] = "phā", + ["फि"] = "phi", + ["फी"] = "phī", + ["फु"] = "phu", + ["फू"] = "phū", + ["फे"] = "phe", + ["फो"] = "pho", + ["फै"] = "phai", + ["फौ"] = "phau", + ["फॢ"] = "phḷ", + ["फॣ"] = "phḹ", + ["फृ"] = "phṛ", + ["फॄ"] = "phṝ", + -- + ["ब"]= "ba", + ["बा"] = "bā", + ["बि"] = "bi", + ["बी"] = "bī", + ["बु"] = "bu", + ["बू"] = "bū", + ["बे"] = "be", + ["बो"] = "bo", + ["बै"] = "bai", + ["बौ"] = "bau", + ["बॢ"] = "bḷ", + ["बॣ"] = "bḹ", + ["बृ"] = "bṛ", + ["बॄ"] = "bṝ", + -- + ["भ"]= "bha", + ["भा"] = "bhā", + ["भि"] = "bhi", + ["भी"] = "bhī", + ["भु"] = "bhu", + ["भू"] = "bhū", + ["भे"] = "bhe", + ["भो"] = "bho", + ["भै"] = "bhai", + ["भौ"] = "bhau", + ["भॢ"] = "bhḷ", + ["भॣ"] = "bhḹ", + ["भृ"] = "bhṛ", + ["भॄ"] = "bhṝ", + -- + ["म"]= "ma", + ["मा"] = "mā", + ["मि"] = "mi", + ["मी"] = "mī", + ["मु"] = "mu", + ["मू"] = "mū", + ["मे"] = "me", + ["मो"] = "mo", + ["मै"] = "mai", + ["मौ"] = "mau", + ["मॢ"] = "mḷ", + ["मॣ"] = "mḹ", + ["मृ"] = "mṛ", + ["मॄ"] = "mṝ", + -- + ["य"]= "ya", + ["या"] = "yā", + ["यि"] = "yi", + ["यी"] = "yī", + ["यु"] = "yu", + ["यू"] = "yū", + ["ये"] = "ye", + ["यो"] = "yo", + ["यै"] = "yai", + ["यौ"] = "yau", + ["यॢ"] = "yḷ", + ["यॣ"] = "yḹ", + ["यृ"] = "yṛ", + ["यॄ"] = "yṝ", + -- + ["र"]= "ra", + ["रा"] = "rā", + ["रि"] = "ri", + ["री"] = "rī", + ["रु"] = "ru", + ["रू"] = "rū", + ["रे"] = "re", + ["रो"] = "ro", + ["रै"] = "rai", + ["रौ"] = "rau", + ["रॢ"] = "rḷ", + ["रॣ"] = "rḹ", + ["रृ"] = "rṛ", + ["रॄ"] = "rṝ", + -- + ["ल"]= "la", + ["ला"] = "lā", + ["लि"] = "li", + ["ली"] = "lī", + ["लु"] = "lu", + ["लू"] = "lū", + ["ले"] = "le", + ["लो"] = "lo", + ["लै"] = "lai", + ["लौ"] = "lau", + ["लॢ"] = "lḷ", + ["लॣ"] = "lḹ", + ["लृ"] = "lṛ", + ["लॄ"] = "lṝ", + -- + ["व"]= "va", + ["वा"] = "vā", + ["वि"] = "vi", + ["वी"] = "vī", + ["वु"] = "vu", + ["वू"] = "vū", + ["वे"] = "ve", + ["वो"] = "vo", + ["वै"] = "vai", + ["वौ"] = "vau", + ["वॢ"] = "vḷ", + ["वॣ"] = "vḹ", + ["वृ"] = "vṛ", + ["वॄ"] = "vṝ", + -- + ["ष"]= "ṣa", + ["षा"] = "ṣā", + ["षि"] = "ṣi", + ["षी"] = "ṣī", + ["षु"] = "ṣu", + ["षू"] = "ṣū", + ["षे"] = "ṣe", + ["षो"] = "ṣo", + ["षै"] = "ṣai", + ["षौ"] = "ṣau", + ["षॢ"] = "ṣḷ", + ["षॣ"] = "ṣḹ", + ["षृ"] = "ṣṛ", + ["षॄ"] = "ṣṝ", + -- + ["श"]= "śa", + ["शा"] = "śā", + ["शि"] = "śi", + ["शी"] = "śī", + ["शु"] = "śu", + ["शू"] = "śū", + ["शे"] = "śe", + ["शो"] = "śo", + ["शै"] = "śai", + ["शौ"] = "śau", + ["शॢ"] = "śḷ", + ["शॣ"] = "śḹ", + ["शृ"] = "śṛ", + ["शॄ"] = "śṝ", + -- + ["स"]= "sa", + ["सा"] = "sā", + ["सि"] = "si", + ["सी"] = "sī", + ["सु"] = "su", + ["सू"] = "sū", + ["से"] = "se", + ["सो"] = "so", + ["सै"] = "sai", + ["सौ"] = "sau", + ["सॢ"] = "sḷ", + ["सॣ"] = "sḹ", + ["सृ"] = "sṛ", + ["सॄ"] = "sṝ", + -- + ["ह"]= "ha", + ["हा"] = "hā", + ["हि"] = "hi", + ["ही"] = "hī", + ["हु"] = "hu", + ["हू"] = "hū", + ["हे"] = "he", + ["हो"] = "ho", + ["है"] = "hai", + ["हौ"] = "hau", + ["हॢ"] = "hḷ", + ["हॣ"] = "hḹ", + ["हृ"] = "hṛ", + ["हॄ"] = "hṝ", + -- + ["ळ"]= "l̤a", + ["ळा"] = "l̤ā", + ["ळि"] = "l̤i", + ["ळी"] = "l̤ī", + ["ळु"] = "l̤u", + ["ळू"] = "l̤ū", + ["ळे"] = "l̤e", + ["ळो"] = "l̤o", + ["ळै"] = "l̤ai", + ["ळौ"] = "l̤au", + ["ळॢ"] = "l̤ḷ", + ["ळॣ"] = "l̤ḹ", + ["ळृ"] = "l̤ṛ", + ["ळॄ"] = "l̤ṝ", + --- + ["क्ष"]= "xa", + ["क्षा"] = "xā", + ["क्षि"] = "xi", + ["क्षी"] = "xī", + ["क्षु"] = "xu", + ["क्षू"] = "xū", + ["क्षे"] = "xe", + ["क्षो"] = "xo", + ["क्षै"] = "xai", + ["क्षौ"] = "xau", + ["क्षॢ"] = "xḷ", + ["क्षॣ"] = "xḹ", + ["क्षृ"] = "xṛ", + ["क्षॄ"] = "xṝ", + --- + ["ज्ञ"]= "jña", + ["ज्ञा"] = "jñā", + ["ज्ञि"] = "jñi", + ["ज्ञी"] = "jñī", + ["ज्ञु"] = "jñu", + ["ज्ञू"] = "jñū", + ["ज्ञे"] = "jñe", + ["ज्ञो"] = "jño", + ["ज्ञै"] = "jñai", + ["ज्ञौ"] = "jñau", + ["ज्ञॢ"] = "jñḷ", + ["ज्ञॣ"] = "jñḹ", + ["ज्ञृ"] = "jñṛ", + ["ज्ञॄ"] = "jñṝ", + -- + ["क्"]= "k", + ["ख्"] = "kh", + ["ग्"] = "g", + ["घ्"] = "gh", + ["ङ्"] = "ṅ", + ["च्"] = "c", + ["छ्"] = "ch", + ["ज्"] = "j", + ["झ्"] = "jh", + ["ञ्"] = "ñ", + ["ट्"] = "ṭ", + ["ठ्"] = "ṭh", + ["ड्"] = "ḍ", + ["ढ्"] = "ḍh", + ["ण्"] = "ṇ", + ["त्"] = "t", + ["थ्"] = "th", + ["द्"] = "d", + ["ध्"] = "dh", + ["न्"] = "n", + ["प्"] = "p", + ["फ्"] = "ph", + ["ब्"] = "b", + ["भ्"] = "bh", + ["म्"] = "m", + ["य्"] = "y", + ["र्"] = "r", + ["ल्"] = "l", + ["व्"] = "v", + ["श्"] = "ś", + ["ष्"] = "ṣ", + ["स्"] = "s", + ["ह्"] = "h", + ["ळ्"] = "l̤", + ["क्ष्"] = "kṣ", + ["ज्ञ्"] = "jñ", + -- discard virama (?!) TODO: revisit this if need arises + -- ["्"] = "", + ["।"] = ".", + ["॥"] = ".", + ["ं"] = "ṃ", + ["ः"] = "ḥ", + ["ऽ"] = "\'", + -- disputed + ["ँ"] = "ँ", + -- diactrics (combining): provided for completeness + -- warning: many fonts don't have these + ["॒"] = "॒", + -- could not test + -- ["॑"] = "̭", + ["॑"] = "॑", + ["᳚"] = "᳚", + ["᳛"] = "᳛", + ["᳡"] = "̀", + ["꣡"] = "́", + ["꣢"] = "²", + ["꣣"] = "³", + ["꣤"] = "⁴", + ["꣥"] = "⁵", + ["꣦"] = "⁶", + ["꣧"] = "⁷", + ["꣨"] = "⁸", + ["꣩"] = "⁹", + ["꣪"] = "꣪", + ["꣫"] = "꣫", + ["꣬"] = "꣬", + ["꣭"] = "꣭", + ["꣮"] = "꣮", + ["꣯"] = "꣯", + ["꣰"] = "꣰", + ["꣱"] = "꣱", }, }, ["deva to mlym"] = { - svara = { + mapping = { + -- vowels ["अ"] = "അ", ["आ"] = "ആ", ["इ"] = "ഇ", @@ -111,8 +1269,7 @@ return { ["ऒ"] = "ഒ", ["ओ"] = "ഓ", ["औ"] = "ഔ", - }, - vyanjana = { + -- consonants ["क"] = "ക", ["ख"] = "ഖ", ["ग"] = "ഗ", @@ -149,8 +1306,7 @@ return { ["ळ"] = "ള", ["क्ष"] = "ക്ഷ", ["ज्ञ"] = "ജ്ഞ", - }, - maatra = { + -- vowel marks ["ा"] = "ാ", ["ि"] = "ി", ["ी"] = "ീ", @@ -166,84 +1322,18 @@ return { ["ॊ"] = "ൊ", ["ो"] = "ോ", ["ौ"] = "ൌ", - }, - yogavaaha = { + -- always with phonetic ["ं"] = "ം", ["ः"] = "ഃ", ["ँ"] = "ഁ", - }, - viraama = { + -- punctuation marks ["्"] = "്", - ["viraama"] = "്", -- weird ["'"] = "'", ["।"] = ".", ["॥"] = ".", ["‘"] = "‘", ["’"] = "’", }, - } + }, } } - --- return { --- transliterations = { --- ["iast to indic"] = { --- mapping = { --- ["a"] = "अ", --- ["ā"] = "आ", --- ["i"] = "इ", --- ["ī"] = "ई", --- ["u"] = "उ", --- ["ū"] = "ऊ", --- ["ṛ"] = "ऋ", --- ["ṝ"] = "ॠ", --- ["ḷ"] = "ऌ", --- ["ḹ"] = "ॡ", --- ["e"] = "ए", --- ["o"] = "ओ", --- ["ṃ"] = "ं", --- ["ḥ"] = "ः", --- ["˜"] = "ँ", --- ["'"] = "ऽ", --- ["k"] = "क", --- ["c"] = "च", --- ["ṭ"] = "ट", --- ["t"] = "त", --- ["p"] = "प", --- ["g"] = "ग", --- ["j"] = "ज", --- ["ḍ"] = "ड", --- ["d"] = "द", --- ["b"] = "ब", --- ["ṅ"] = "ङ", --- ["ñ"] = "ञ", --- ["ṇ"] = "ण", --- ["n"] = "न", --- ["m"] = "म", --- ["h"] = "ह", --- ["y"] = "य", --- ["r"] = "र", --- ["l"] = "ल", --- ["v"] = "व", --- ["ś"] = "श", --- ["ṣ"] = "ष", --- ["s"] = "स", --- -- --- ["ai"] = "ऐ", --- ["au"] = "औ", --- ["kh"] = "ख", --- ["ch"] = "छ", --- ["ṭh"] = "ठ", --- ["th"] = "थ", --- ["ph"] = "फ", --- ["gh"] = "घ", --- ["jh"] = "झ", --- ["ḍh"] = "ढ", --- ["dh"] = "ध", --- ["bh"] = "भ", --- -- --- ["khā"] = "खा", --- } --- } --- } --- } diff --git a/tex/context/base/mkiv/lang-imp-serbian.lua b/tex/context/base/mkiv/lang-imp-serbian.lua index 377d6dfde..9e2cf5ce6 100644 --- a/tex/context/base/mkiv/lang-imp-serbian.lua +++ b/tex/context/base/mkiv/lang-imp-serbian.lua @@ -1,4 +1,12 @@ return { + + name = "sebian transliterations", + version = "1.00", + author = "Hans Hagen", + comment = "Experimental code, the name of this file might change" + .. "or maybe it become a llg file in the end.", + copyright = "ConTeXt development team & whoever made this list", + transliterations = { ["serbian to latin"] = { mapping = { diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua index d53e76b10..6959944d9 100644 --- a/tex/context/base/mkiv/mult-prm.lua +++ b/tex/context/base/mkiv/mult-prm.lua @@ -314,6 +314,10 @@ return { "aliased", "alignmark", "aligntab", + "allmathstyles", + "allscriptstyles", + "allsplitstyles", + "alltextstyles", "atendofgroup", "atendofgrouped", "attribute", @@ -452,6 +456,7 @@ return { "ignorepars", "immediate", "immutable", + "inherited", "initcatcodetable", "insertbox", "insertcopy", diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf index 26bd5eedd..2675edd1b 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 d366185ed..7dea83d86 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-enu.mkvi b/tex/context/base/mkiv/strc-enu.mkvi index a64a7ef54..4ad417a3e 100644 --- a/tex/context/base/mkiv/strc-enu.mkvi +++ b/tex/context/base/mkiv/strc-enu.mkvi @@ -314,7 +314,7 @@ \unexpanded\def\strc_enumerations_inject_number {\begingroup - \useconstructionstyleandcolor\c!numberstyle\c!symbolcolor + \useconstructionstyleandcolor\c!numberstyle\c!numbercolor \constructionparameter\c!left \constructionparameter\c!starter \clf_savedlistprefixednumber{\currentconstructionmain}\currentconstructionlistentry\relax diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl index e8d91be4c..77ef89d5d 100644 --- a/tex/context/base/mkxl/cont-new.mkxl +++ b/tex/context/base/mkxl/cont-new.mkxl @@ -13,7 +13,7 @@ % \normalend % uncomment this to get the real base runtime -\newcontextversion{2022.01.18 10:48} +\newcontextversion{2022.01.21 20:10} %D This file is loaded at runtime, thereby providing an excellent place for hacks, %D patches, extensions and new features. There can be local overloads in cont-loc diff --git a/tex/context/base/mkxl/context.mkxl b/tex/context/base/mkxl/context.mkxl index 1c3563ee3..ca6e796c1 100644 --- a/tex/context/base/mkxl/context.mkxl +++ b/tex/context/base/mkxl/context.mkxl @@ -29,7 +29,7 @@ %D {YYYY.MM.DD HH:MM} format. \immutable\edef\contextformat {\jobname} -\immutable\edef\contextversion{2022.01.18 10:48} +\immutable\edef\contextversion{2022.01.21 20:10} %overloadmode 1 % check frozen / warning %overloadmode 2 % check frozen / error diff --git a/tex/context/base/mkxl/font-ctx.lmt b/tex/context/base/mkxl/font-ctx.lmt index 05cad84f0..399de7421 100644 --- a/tex/context/base/mkxl/font-ctx.lmt +++ b/tex/context/base/mkxl/font-ctx.lmt @@ -1052,23 +1052,30 @@ local sizepattern, splitpattern, specialscale do local withinparents = leftparent * (1-rightparent)^0 * rightparent local withinbraces = leftbrace * (1-rightbrace )^0 * rightbrace local value = C((withinparents + withinbraces + (1-space))^1) - -- local dimension = C((space/"" + P(1))^1) - local dimension = Cs((digit+period)^1 * (spaces/"") * (P(1)-digit)^0) --- local scaler = C((digit+period)^1) + local dimension = Cs((digit+period)^1 * (spaces/"") * (P(1)-digit-space)^0) + -- local dimension_x = C((space/"" + P(1))^1) + local dimension_x = C((1-space)^1) + -- local scaler = C((digit+period)^1) local scaler = lpeg.patterns.unsigned/function(s) return round(tonumber(s)*1000) end + C(lpeg.patterns.cardinal) local rest = C(P(1)^0) local scale_none = Cc(0) - local scale_at = (P("at") + P("@")) * Cc(1) * spaces * dimension -- dimension - local scale_sa = P("sa") * Cc(2) * spaces * dimension -- number - local scale_mo = P("mo") * Cc(3) * spaces * dimension -- number - local scale_scaled = P("scaled") * Cc(4) * spaces * dimension -- number - local scale_ht = P("ht") * Cc(5) * spaces * dimension -- dimension - local scale_cp = P("cp") * Cc(6) * spaces * dimension -- dimension + local scale_at = (P("at") + P("@")) * Cc(1) * spaces * dimension -- dimension + local scale_sa = P("sa") * Cc(2) * spaces * dimension_x -- number or string + local scale_mo = P("mo") * Cc(3) * spaces * dimension_x -- number or string + local scale_scaled = P("scaled") * Cc(4) * spaces * dimension -- number + local scale_ht = P("ht") * Cc(5) * spaces * dimension -- dimension + local scale_cp = P("cp") * Cc(6) * spaces * dimension -- dimension + local scale_sx = P("sx") * spaces * scaler -- scale + local scale_sy = P("sy") * spaces * scaler -- scale specialscale = { [5] = "ht", [6] = "cp" } - sizepattern = spaces * ((scale_at + scale_sa + scale_mo + scale_ht + scale_cp + scale_scaled) * (spaces * scaler)^0 + scale_none) + -- sizepattern = spaces * ((scale_at + scale_sa + scale_mo + scale_ht + scale_cp + scale_scaled) * (spaces * scaler)^0 + scale_none) + + scaler = spaces * ( (scale_sx + Cc(0)) * spaces * (scale_sy + Cc(0)) )^-1 + sizepattern = spaces * ((scale_at + scale_sa + scale_mo + scale_ht + scale_cp + scale_scaled) * scaler + scale_none) + splitpattern = spaces * value * spaces * rest end @@ -1112,6 +1119,12 @@ do -- else too many locals return v end) + local obey_designsize = false + + experiments.register("fonts.compact.obeydesignsize",function(v) + obey_designsize = v + end) + implement { name = "definefont_one", arguments = "string", @@ -1134,13 +1147,14 @@ do -- else too many locals end -- we can also use a count for the size if size and size ~= "" then - local mode, size, sx, sy = lpegmatch(sizepattern,size) - if mode and size and size ~= "" then + local mode, fontsize, sx, sy = lpegmatch(sizepattern,size) +-- print(size,mode,fontsize,sx,sy) + if mode and fontsize and fontsize ~= "" then texsetcount("scaledfontmode",mode) - -- ctx_setsomefontsize(size) + -- ctx_setsomefontsize(fontsize) -- We use a catcodetable, just in case it's 1.2\exheight (a corner case that showed -- up in the lmtx manual: marking that changed size in the mids of some verbatim). - setmacro(ctxcatcodes,"somefontsize",size) + setmacro(ctxcatcodes,"somefontsize",fontsize) if sx then setmacro("somefontsizex",sx) end @@ -1215,7 +1229,7 @@ do -- else too many locals local lookup, name, sub, method, detail = getspecification(str or "") -- new (todo: inheritancemode) local designsize = fontdesignsize ~= "" and fontdesignsize or classdesignsize or "" - local designname = designsizefilename(name,designsize,size) + local designname = designsizefilename(name,designsize,size,obey_designsize) if designname and designname ~= "" then if trace_defining or trace_designsize then report_defining("remapping name %a, specification %a, size %a, designsize %a",name,designsize,size,designname) @@ -1624,7 +1638,7 @@ do -- else too many locals return infofont end - -- abstract interfacing + -- abstract interfacing : we could actually do a runmacro or so implement { name = "tf", actions = function() setmacro("fontalternative","tf") end } implement { name = "bf", actions = function() setmacro("fontalternative","bf") end } diff --git a/tex/context/base/mkxl/font-ini.mklx b/tex/context/base/mkxl/font-ini.mklx index 6a926bcbd..c30a610cc 100644 --- a/tex/context/base/mkxl/font-ini.mklx +++ b/tex/context/base/mkxl/font-ini.mklx @@ -921,16 +921,15 @@ % \glyphscale \ifnum\c_font_scaled_font_mode_saved>\plusfour + % \c_font_scaled_points is set when we pass the font to the engine \numexpr\plusthousand*\dimexpr\d_font_scaled_default\relax/\c_font_scaled_points\relax \else \c_font_future_glyph_scale \fi -% \ifempty\somefontsizex\else -% \edef\somefontsizex{\glyphxscale\somefontsizex\relax}% todo: inserts relax -% \fi -% \ifempty\somefontsizey\else -% \edef\somefontsizey{\glyphyscale\somefontsizey\relax}% -% \fi + % experiment + \glyphxscale\ifempty\somefontsizex\plusthousand\else\somefontsizex\fi\relax + \glyphyscale\ifempty\somefontsizey\plusthousand\else\somefontsizey\fi\relax + % experiment \expandafter\let\expandafter\lastrawfontcall\csname#csname\endcsname \ifrelax\lastrawfontcall \let\somefontspec\empty @@ -2138,7 +2137,7 @@ \enforced\let\tx\empty \enforced\let\txx\empty} -%D This alterative is not really needed, but for old time's sake we keep it there. +%D This alternative is not really needed, but for old time's sake we keep it there. %D We can speed it up when needed. \def\font_helpers_set_current_font_x_style_alternative #alternative{\csname#alternative\endcsname\tx} diff --git a/tex/context/base/mkxl/good-gen.lmt b/tex/context/base/mkxl/good-gen.lmt index 33147260d..49b379304 100644 --- a/tex/context/base/mkxl/good-gen.lmt +++ b/tex/context/base/mkxl/good-gen.lmt @@ -197,10 +197,12 @@ function fontgoodies.designsizes.register(name,size,specification) end end -function fontgoodies.designsizes.filename(name,spec,size) -- returns nil of no match +function fontgoodies.designsizes.filename(name,spec,size,force) -- returns nil of no match local data = designdata[lower(name)] if data then - if not spec or spec == "" or spec == "default" or texconditionals["c_font_compact"] then + if not spec or spec == "" or spec == "default" then + return data.default + elseif not force and texconditionals["c_font_compact"] then return data.default elseif spec == "auto" then local ranges = data.ranges diff --git a/tex/context/base/mkxl/lang-lab.mkxl b/tex/context/base/mkxl/lang-lab.mkxl index 369049ed1..3ce9d027f 100644 --- a/tex/context/base/mkxl/lang-lab.mkxl +++ b/tex/context/base/mkxl/lang-lab.mkxl @@ -21,7 +21,7 @@ %D Left-overs: \ifdefined\sixperemspace \else - \permanent\def\sixperemspace{\normalUchar"2006} + \permanent\edef\sixperemspace{\normalUchar"2006} \fi %D In this module we deal with language dependant labels and prefixes, like in {\em diff --git a/tex/context/base/mkxl/lang-tra.lmt b/tex/context/base/mkxl/lang-tra.lmt new file mode 100644 index 000000000..b3fedc7c1 --- /dev/null +++ b/tex/context/base/mkxl/lang-tra.lmt @@ -0,0 +1,322 @@ +if not modules then modules = { } end modules ['lang-tra'] = { + version = 1.001, + comment = "companion to lang-tra.mkiv", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +-- The indic transliterations was researched by kauśika and after some experiments +-- we settled on the current approach (mappings and a more specific lpeg). + +local concat = table.concat +local utfbyte, utfchar, utfsplit, utfvalues = utf.byte, utf.char, utf.split, utf.values +local C, Cc, Cs, lpegmatch = lpeg.C, lpeg.Cc, lpeg.Cs, lpeg.match +local utfchartabletopattern = lpeg.utfchartabletopattern +local utfcharacterpattern = lpeg.patterns.utf8character + +local nuts = nodes.nuts + +local nextchar = nuts.traversers.char + +local getattr = nuts.getattr +local setchar = nuts.setchar +local getnext = nuts.getnext +local isnextchar = nuts.isnextchar + +local insertafter = nuts.insertafter +local copynode = nuts.copy +local removenode = nuts.remove + +local texsetattribute = tex.setattribute + +local transliteration = { } +languages.transliteration = transliteration + +local a_transliteration = attributes.private("transliteration") +local unsetvalue = attributes.unsetvalue + +local implement = interfaces.implement +local context = context + +local zwj = utf.char(0x200D) + +local lastmapping = 0 +local loadedmappings = { } +local loadedlibraries = { } + +local report = logs.reporter("transliteration") +local trace = false trackers.register("languages.transliteration", function(v) trace = v end) + +local converters = { +-- ["iast to deva"] = function(m) +-- local t_svara = m.svara +-- local p_svara = utfchartabletopattern(t_svara) +-- local t_vyanjana = m.vyanjana +-- local p_vyanjana = utfchartabletopattern(t_vyanjana) +-- local t_maatra = m.maatra +-- local p_maatra = utfchartabletopattern(t_maatra) +-- local t_viraama = m.viraama +-- local p_viraama = utfchartabletopattern(t_viraama) +-- local t_boundary = m.boundary +-- local p_boundary = utfchartabletopattern(t_boundary) +-- local t_yogavaaha = m.yogavaaha +-- local p_yogavaaha = utfchartabletopattern(t_yogavaaha) +-- local p_svara_boundary = 1 - p_svara - p_vyanjana - p_yogavaaha +-- local p = Cs ( ( +-- p_svara / t_svara +-- + p_vyanjana / t_vyanjana +-- + p_viraama / t_viraama +-- + p_yogavaaha / t_yogavaaha +-- + C(utfcharacterpattern) +-- )^0 ) +-- return function(s) +-- -- for now +-- -- s = zwj .. s +-- -- +-- return lpegmatch(p,s) or s +-- end +-- end, + ["mapping"] = function(m) + local t_mapping = m.mapping + if t_mapping then + local p = Cs ( ( + utfchartabletopattern(t_mapping) / t_mapping + + C(utfcharacterpattern) + )^0 ) + -- lpeg.print(p) + return function(s) + return lpegmatch(p,s) or s + end + else + return false + end + end, + ["default"] = function(m) + return function(s) + return s + end + end, +} + +function transliteration.use(library) + local lib = loadedlibraries[library] + if lib == nil then + -- todo: use library loader + local data = require("lang-imp-" .. library) + if data then + local transliterations = data.transliterations + if transliterations then + for name, d in table.sortedhash(transliterations) do + local vector = d.vector + if vector then + report("vector %a in %a is %sloaded with index %i",name,library," already",d.attribute) + else + lastmapping = lastmapping + 1 + d.vector = (converters[name] or converters.mapping or converters.default)(d) + or (converters.default)(d) + report("vector %a in set %a is %sloaded with index %i",name,library,"",lastmapping) + end + d.attribute = lastmapping + d.library = library + d.name = name + loadedmappings[name] = d + loadedmappings[lastmapping] = d + end + else + report("library %a has no transliterations",library) + end + loadedlibraries[library] = data + else + loadedlibraries[library] = false + end + end +end + +local enable = false + +enable = function() + nodes.tasks.enableaction("processors", "languages.transliteration.handler") + enable = false +end + +function transliteration.set(vector) + if enable then + enable() + end + local m = loadedmappings[vector] + local a = m and m.attribute or unsetvalue + if trace then + report("setting transliteration %s",vector) + end + texsetattribute(a_transliteration,a) +end + +function transliteration.register(vector) + if enable then + enable() + end + local m = loadedmappings[vector] + local a = m and m.attribute or unsetvalue + if trace then + report("registering transliteration %s",vector) + end + return a +end + +-- When there is need I will improve the performance of the next handler. + +function transliteration.handler(head) + local aprev = nil + local vector = nil + local current = head + local first = nil + local last = nil + local list = { } + local size = 0 + + -- we need a more clever one: run over small ranges in order to keep colors etc + + -- actually we can generalize the replacer elsewhere + + local function flush(nxt) + -- we can do some optimization here by having the split as replacement + local old = concat(list,"",1,size) + local new = vector(old) + if old ~= new then + if trace then + report("old: %s",old) + report("new: %s",new) + end + local c = first + local x = false + for s in utfvalues(new) do + if x then + head, c = insertafter(head,c,copynode(first)) + setchar(c,s) + else + setchar(c,s) + if c == last then + x = true + else + c = getnext(c) + end + end + end + if not x then + while c do + head, c = removenode(head,c,true) + if c == nxt then + break + end + end + end + end + end + + while current do + local nxt, chr, more = isnextchar(current) + if chr then + local a = getattr(current,a_transliteration) + if a then + if a ~= aprev then + if first then + flush(nxt) + first = nil + size = 0 + end + aprev = a + vector = loadedmappings[a] + if vector then + vector = vector.vector + end + end + if not first then + first = current + end + last = current + size = size + 1 + list[size] = utfchar(chr) + if not more then + flush(nxt) + first = nil + size = 0 + -- we can go ahead one next + end + else + if first then + flush(nxt) + first = nil + size = 0 + end + end + end + current = nxt + end + if first then + flush(nxt) + end + return head +end + +interfaces.implement { + name = "usetransliteration", + public = true, + protected = true, + arguments = "optional", + actions = transliteration.use, +} + +implement { + name = "settransliteration", + arguments = "string", + actions = transliteration.set, +} + +implement { + name = "registertransliteration", + arguments = "string", + actions = { transliteration.register, context }, +} + +nodes.tasks.prependaction("processors", "normalizers", "languages.transliteration.handler", nil, "nut", "disabled" ) + +local function transliterate(scheme,str) + if str and str ~= "" then + local m = loadedmappings[scheme] + local c = m and m.vector + context(c and c(str) or str) + end +end + +local getbuffer = buffers.getcontent + +implement { + name = "transliterate", + public = true, + protected = true, + arguments = { "optional", "string" }, + actions = transliterate, +} + +implement { + name = "transliteratebuffer", + public = true, + protected = true, + arguments = { "optional", "string" }, + actions = function(scheme,name) transliterate(scheme,getbuffer(name)) end, +} + +implement { + name = "transliterated", + public = true, + arguments = { "optional", "string" }, + actions = transliterate, +} + +implement { + name = "transliteratedbuffer", + public = true, + arguments = { "optional", "string" }, + actions = function(scheme,name) transliterate(scheme,getbuffer(name)) end, +} diff --git a/tex/context/base/mkxl/lang-tra.mkxl b/tex/context/base/mkxl/lang-tra.mkxl index b087832e0..96dcc7d94 100644 --- a/tex/context/base/mkxl/lang-tra.mkxl +++ b/tex/context/base/mkxl/lang-tra.mkxl @@ -13,23 +13,49 @@ \writestatus{loading}{ConTeXt Language Macros / Transliteration} -\registerctxluafile{lang-tra}{} +\registerctxluafile{lang-tra}{autosuffix} \unprotect +\installcorenamespace {transliteration} + +\installcommandhandler \??transliteration {transliteration} \??transliteration + \definesystemattribute[transliteration][public,global] -\installcorenamespace {transliteration} +% define in lua: \usetransliteration[#1] -\permanent\tolerant\protected\def\definetransliteration[#1]#*[#2]% - {\clf_definedtransliteration{#1}{#2}} +% todo: define fast attribute at the tex end do we can have a proper define -\permanent\protected\def\settransliteration[#1]% - {\clf_settransliteration{#1}} +\def\lang_transliteration_set#1% + {\ifcsname\??transliteration#1\endcsname + \c_attr_transliteration\lastnamedcs + \edef\currenttransliteration{#1}% + \usetransliterationstyleandcolor\c!style\c!color + \uselanguageparameter\transliterationparameter + \else + \clf_settransliteration{#1}% + \fi} -\permanent\protected\def\starttransliteration[#1]% +\permanent\tolerant\protected\def\settransliteration[#1]#;#2% + {\lang_transliteration_set{#1}} + +\permanent\tolerant\protected\def\starttransliteration[#1]#*[#2]% {\begingroup - \clf_settransliteration{#1}} + \ifparameter#2\or + \edef\currenttransliteration{#1}% + \setupcurrenttransliteration[#2]% + \fi + \lang_transliteration_set{#1}} + +\permanent\tolerant\protected\def\transliteration[#1]#;#2% + {\groupedcommand{\lang_transliteration_set{#1#2}}\donothing} + +\appendtoks + \expandafter\integerdef\csname\??transliteration\currenttransliteration\endcsname + \clf_registertransliteration{\transliterationparameter\c!vector}% + \relax +\to \everydefinetransliteration \permanent\protected\def\stoptransliteration {\endgroup} diff --git a/tex/context/base/mkxl/lpdf-lmt.lmt b/tex/context/base/mkxl/lpdf-lmt.lmt index 0861e0916..9bb3319d4 100644 --- a/tex/context/base/mkxl/lpdf-lmt.lmt +++ b/tex/context/base/mkxl/lpdf-lmt.lmt @@ -480,10 +480,16 @@ do local w local e = c and c[char] if e then - w = e.width or 0 +-- w = e.width or 0 +-- local a = e.advance +-- if a then +-- w = a +-- end local a = e.advance if a then w = a + else + w = e.width or 0 end end if not w then diff --git a/tex/context/base/mkxl/math-act.lmt b/tex/context/base/mkxl/math-act.lmt index 0ac497d57..48d389bf9 100644 --- a/tex/context/base/mkxl/math-act.lmt +++ b/tex/context/base/mkxl/math-act.lmt @@ -459,7 +459,14 @@ do if trace_tweaking then report_tweak("setting width of %U to %p",target,original,unicode,width) end - characters[unicode] = { width = width } + characters[unicode] = { + width = width, + -- advance = width, + unicode = unicode, + commands = { + -- { "slot", 0, 32 }, + }, + } end end end diff --git a/tex/context/base/mkxl/math-fen.mkxl b/tex/context/base/mkxl/math-fen.mkxl index 4a3144530..b8347eb66 100644 --- a/tex/context/base/mkxl/math-fen.mkxl +++ b/tex/context/base/mkxl/math-fen.mkxl @@ -63,7 +63,8 @@ \appendtoks \edef\p_command{\mathfenceparameter\c!command}% \ifx\p_command\v!yes - \setuevalue\currentmathfence{\math_fenced_fenced[\currentmathfence]}% + % \instance + \protected\edefcsname\currentmathfence\endcsname{\math_fenced_fenced[\currentmathfence]}% \fi \to \everydefinemathfence @@ -230,12 +231,15 @@ {\advance\c_math_fenced_nesting\plusone \begingroup \edef\currentmathfence{#1}% -% under test: -\c_attr_mathsize\attributeunsetvalue -\letmathfenceparameter\c!size\empty -\letmathfenceparameter\c!factor\v!auto -% so far - \ifparameter#2\or\setupcurrentmathfence[#2]\fi + % under test: + \c_attr_mathsize\attributeunsetvalue + \letmathfenceparameter\c!size\empty + \letmathfenceparameter\c!factor\v!auto + % so far + \ifparameter#2\or + \setupcurrentmathfence[#2]% + \bigmathdelimitervariant\mathfenceparameter\c!alternative\relax + \fi \math_fenced_fenced_common \edef\p_size{\mathfenceparameter\c!size}% \ifempty\p_size @@ -637,7 +641,7 @@ \bigmathdelimitervariant\mathfenceparameter\c!alternative\relax \to \everysetupmathfence -\setupmathfence[\c!method=1,\c!alternative=2] +\setupmathfence[\c!method=1,\c!alternative=1] % \protected\def\plainbigdelimiters % traditional method % {\bigmathdelimitermethod\plustwo} @@ -704,7 +708,7 @@ \fi \fi} -\permanent\protected\def\mathdelimiterstep#1#2% +\permanent\protected\def\mathdelimiterstep#1#2% not used {\begingroup \math_fenced_force_size\plusone{#1}% \math_fenced_step#2\relax diff --git a/tex/context/base/mkxl/meta-ini.mkxl b/tex/context/base/mkxl/meta-ini.mkxl index b30f4826f..6ddf4def8 100644 --- a/tex/context/base/mkxl/meta-ini.mkxl +++ b/tex/context/base/mkxl/meta-ini.mkxl @@ -168,8 +168,8 @@ \t_meta_inclusions \emptytoks % in case we redefine \to \everydefineMPinstance -\permanent\protected\def\resetMPinstance[#1]% - {\writestatus\m!metapost{reset will be implemented when needed}} +% \permanent\protected\def\resetMPinstance[#1]% +% {\writestatus\m!metapost{reset will be implemented when needed}} \def\meta_analyze_graphicname[#1]% {\normalexpanded{\meta_analyze_graphicname_indeed[#1::::]}} diff --git a/tex/context/base/mkxl/mlib-ctx.lmt b/tex/context/base/mkxl/mlib-ctx.lmt index 64225e308..8ed6b0b00 100644 --- a/tex/context/base/mkxl/mlib-ctx.lmt +++ b/tex/context/base/mkxl/mlib-ctx.lmt @@ -410,3 +410,18 @@ MP = MP or { } -- user namespace table.setmetatablecall(mp,function(t,k,...) return t[k](...) end) table.setmetatablecall(MP,function(t,k,...) return t[k](...) end) + +-- A secret option: + +implement { + name = "resetMPinstance", + protected = true, + public = true, + arguments = "optional", + actions = function(s) + if s and s ~= "" then + report_metapost("resetting instance %a",s) + metapost.reset(s) + end + end, +} diff --git a/tex/context/base/mkxl/node-syn.lmt b/tex/context/base/mkxl/node-syn.lmt index dfa1a19e8..916e85c9e 100644 --- a/tex/context/base/mkxl/node-syn.lmt +++ b/tex/context/base/mkxl/node-syn.lmt @@ -530,52 +530,6 @@ local function collect_min(head) return head end --- local function collect_min(head) --- local first = false --- local last = false --- local tag = 0 --- local line = 0 --- for current, id, subtype in nextnode, head do --- if id == glyph_code then --- local tc, lc = getsynctexfields(current) --- if tc and tc > 0 then --- if tag == 0 then --- first = current --- end --- tag = tc --- line = lc --- last = current --- elseif tag > 0 then --- head = inject(head,first,last,tag,line) --- tag = 0 --- end --- elseif id == disc_code then --- last = current --- elseif id == kern_code and subtype == fontkern_code then --- last = current --- elseif id == hlist_code or id == vlist_code then --- if tag > 0 then --- head = inject(head,first,last,tag,line) --- tag = 0 --- end --- local list = getlist(current) --- if list then --- local l = collect(list) --- if l ~= list then --- setlist(current,l) --- end --- end --- elseif tag > 0 then --- head = inject(head,first,last,tag,line) --- tag = 0 --- end --- end --- if tag > 0 then --- head = inject(head,first,last,tag,line) --- end --- return head --- end - local function inject(parent,head,first,last,tag,line) local w, h, d = getrangedimensions(parent,first,getnext(last)) if h < height then @@ -630,24 +584,24 @@ local function collect_max(head,parent) last = current end elseif id == glue_code then - if tag > 0 then - local tc, lc = getsynctexfields(current) - if tc and tc > 0 then - if tag ~= tc or line ~= lc then - head = inject(parent,head,first,last,tag,line) - tag = 0 - break - end - else - head = inject(parent,head,first,last,tag,line) - tag = 0 - break - end - else - tag = 0 - break - end - id = nil -- so no test later on + -- if tag > 0 then + -- local tc, lc = getsynctexfields(current) + -- if tc and tc > 0 then + -- if tag ~= tc or line ~= lc then + -- head = inject(parent,head,first,last,tag,line) + -- tag = 0 + -- break + -- end + -- else + -- head = inject(parent,head,first,last,tag,line) + -- tag = 0 + -- break + -- end + -- else + -- tag = 0 + -- break + -- end + -- id = nil -- so no test later on elseif id == penalty_code then -- go on (and be nice for math) else diff --git a/tex/context/base/mkxl/pack-mrl.mkxl b/tex/context/base/mkxl/pack-mrl.mkxl index ce25fe1dd..7a04f3904 100644 --- a/tex/context/base/mkxl/pack-mrl.mkxl +++ b/tex/context/base/mkxl/pack-mrl.mkxl @@ -39,32 +39,82 @@ \installsimplecommandhandler \??blackrules {blackrules} \??blackrules \permanent\protected\def\blackrule - {\hpack\bgroup + {% this was \hpack\bgroup\dontleavehmode but we want leader support + \begingroup \doifelsenextoptionalcs\pack_black_rule_pickup\pack_black_rule_indeed} \def\pack_black_rule_pickup[#1]% {\setupcurrentblackrules[#1]% \pack_black_rule_indeed} +% \def\pack_black_rule_indeed +% {\edef\p_width {\directblackrulesparameter\c!width }% +% \edef\p_height{\directblackrulesparameter\c!height}% +% \edef\p_depth {\directblackrulesparameter\c!depth }% +% \ifx\p_height\v!max +% \setstrut +% \orelse\ifx\p_depth\v!max +% \setstrut +% \fi +% \useblackrulesstyleandcolor\c!style\c!color +% \ifcsname\??blackruletype\directblackrulesparameter\c!type\endcsname +% \lastnamedcs +% \else +% \vrule +% \fi +% \ifx\p_width \v!max\s!width \emwidth\orelse\ifempty\p_width \else\s!width \p_width \fi +% \ifx\p_height\v!max\s!height\strutht\orelse\ifempty\p_height\else\s!height\p_height\fi +% \ifx\p_depth \v!max\s!depth \strutdp\orelse\ifempty\p_depth \else\s!depth \p_depth \fi +% \egroup} + \def\pack_black_rule_indeed - {\edef\p_width {\directblackrulesparameter\c!width }% - \edef\p_height{\directblackrulesparameter\c!height}% - \edef\p_depth {\directblackrulesparameter\c!depth }% + {\edef\p_width {\directblackrulesparameter\c!width}% + \edef\p_height {\directblackrulesparameter\c!height}% + \edef\p_depth {\directblackrulesparameter\c!depth}% + \edef\p_stretch{\directblackrulesparameter\c!stretch}% + \edef\p_shrink {\directblackrulesparameter\c!shrink}% \ifx\p_height\v!max \setstrut + \let\p_height\strutdp \orelse\ifx\p_depth\v!max \setstrut \fi + % \ifx\p_height\v!max + % \let\p_height\strutdp + % \fi + \ifx\p_depth\v!max + \let\p_depth\strutdp + \fi + \ifx\p_width\v!max + \let\p_width\emwidth + \fi \useblackrulesstyleandcolor\c!style\c!color + \ifempty\p_stretch + \ifempty\p_shrink + \donefalse + \else + \donetrue + \leaders + \fi + \else + \donetrue + \leaders + \fi \ifcsname\??blackruletype\directblackrulesparameter\c!type\endcsname \lastnamedcs \else \vrule \fi - \ifx\p_width \v!max\s!width \emwidth\orelse\ifempty\p_width \else\s!width \p_width \fi - \ifx\p_height\v!max\s!height\strutht\orelse\ifempty\p_height\else\s!height\p_height\fi - \ifx\p_depth \v!max\s!depth \strutdp\orelse\ifempty\p_depth \else\s!depth \p_depth \fi - \egroup} + \ifempty\p_height\else\s!height\p_height\fi + \ifempty\p_depth\else\s!depth\p_depth\fi + \ifdone + \hskip\ifempty\p_width\zeropoint\else\p_width\fi + \ifempty\p_stretch\else\s!plus\p_stretch\fi + \ifempty\p_shrink\else\s!minus\p_shrink\fi + \else + \ifempty\p_width\else\s!width\p_width\fi + \fi + \endgroup} \setupblackrules [\c!width=\emwidth, @@ -99,7 +149,7 @@ %D would probably have taken more tokens. \permanent\tolerant\protected\def\blackrules[#1]% probably never used - {\hpack\bgroup + {\hpack\bgroup % we keep this because breaking into lines breaks compatibility \ifarguments\or\setupcurrentblackrules[#1]\fi \scratchwidth \directblackrulesparameter\c!width \scratchheight \directblackrulesparameter\c!height @@ -136,15 +186,15 @@ \installcorenamespace{blackruletype} -\setvalue{\??blackruletype mp}% +\defcsname\??blackruletype mp\endcsname {\frule type {mp}% data {\includeMPgraphic{\directblackrulesparameter\c!mp}} line \dimexpr\directblackrulesparameter\c!rulethickness\relax } -\letvalue{\??blackruletype\s!no }\novrule -%letvalue{\??blackruletype\s!yes}\vrule +\letcsname\??blackruletype\s!no \endcsname\novrule +%letcsname\??blackruletype\s!yes\endcsname\vrule \setupblackrules [\c!n=3, diff --git a/tex/context/base/mkxl/spac-hor.mkxl b/tex/context/base/mkxl/spac-hor.mkxl index 245195011..c8ac4c74c 100644 --- a/tex/context/base/mkxl/spac-hor.mkxl +++ b/tex/context/base/mkxl/spac-hor.mkxl @@ -1021,22 +1021,22 @@ \overloaded\permanent\protected \def\negthickspace{\textormathspace-\thickmuskip3} \overloaded\permanent\protected\edef\medspace {\textormathspacecommand+\medmuskip{\Uchar"205F}} -% needed for unicode: - -% \protected\def\breakablethinspace {\breakabletextormathspace+\thinmuskip1} -% \protected\def\twoperemspace {\hskip\dimexpr\emwidth/2\relax} % == \enspace -% \protected\def\threeperemspace {\hskip\dimexpr\emwidth/3\relax} -% \protected\def\fourperemspace {\hskip\dimexpr\emwidth/4\relax} -% \protected\def\fiveperemspace {\hskip\dimexpr\emwidth/5\relax} % goodie -% \protected\def\sixperemspace {\hskip\dimexpr\emwidth/6\relax} -% \protected\def\figurespace {\begingroup\setbox\scratchbox\hbox{0}\hskip\wd\scratchbox\endgroup} % there is a command for this -% \protected\def\punctuationspace {\begingroup\setbox\scratchbox\hbox{.}\hskip\wd\scratchbox\endgroup} -% \protected\def\ideographicspace {\hskip\dimexpr\emwidth/1\relax} -% \protected\def\ideographichalffillspace{\hskip\dimexpr\emwidth/2\relax} -% \protected\def\nobreakspace {\penalty\plustenthousand\kern\interwordspace} -% \protected\def\narrownobreakspace {\penalty\plustenthousand\thinspace} -% \protected\def\zerowidthnobreakspace {\penalty\plustenthousand\kern\zeropoint} -% \protected\def\zerowidthspace {\hskip\zeropoint} +% maybe + +% \protected\def\breakablethinskip {\breakabletextormathspace+\thinmuskip1} +% \protected\def\twoperemskip {\hskip\dimexpr\emwidth/2\relax} % == \enspace +% \protected\def\threeperemskip {\hskip\dimexpr\emwidth/3\relax} +% \protected\def\fourperemskip {\hskip\dimexpr\emwidth/4\relax} +% \protected\def\fiveperemskip {\hskip\dimexpr\emwidth/5\relax} % goodie +% \protected\def\sixperemskip {\hskip\dimexpr\emwidth/6\relax} +% \protected\def\figureskip {\begingroup\setbox\scratchbox\hbox{0}\hskip\wd\scratchbox\endgroup} % there is a command for this +% \protected\def\punctuationskip {\begingroup\setbox\scratchbox\hbox{.}\hskip\wd\scratchbox\endgroup} +% \protected\def\ideographicskip {\hskip\dimexpr\emwidth/1\relax} +% \protected\def\ideographichalffillskip{\hskip\dimexpr\emwidth/2\relax} +% \protected\def\nobreakskip {\penalty\plustenthousand\kern\interwordspace} +% \protected\def\narrownobreakskip {\penalty\plustenthousand\thinspace} +% \protected\def\zerowidthnobreakskip {\penalty\plustenthousand\kern\zeropoint} +% \protected\def\zerowidthskip {\hskip\zeropoint} \definehspace[.5][.1250\emwidth] % hair \definehspace[1] [.1667\emwidth] % thin diff --git a/tex/context/base/mkxl/trac-deb.lmt b/tex/context/base/mkxl/trac-deb.lmt index f54e0605e..caa5464f8 100644 --- a/tex/context/base/mkxl/trac-deb.lmt +++ b/tex/context/base/mkxl/trac-deb.lmt @@ -25,6 +25,7 @@ local implement = interfaces.implement local ioflush = io.flush local ioread = io.read local ossleep = os.sleep +local osexit = os.exit local writenl = texio.writenl local write = texio.write @@ -428,14 +429,19 @@ implement { -- protected = false, -- expandable arguments = { "optional", "string" }, actions = function(t,s) - t = tonumber(t) - if t then - report("%s (sleep: %.3N)",s,t) - ioflush() - ossleep(t) - else + if t == "quit" then report(s) - ioflush() + osexit() + else + t = tonumber(t) + if t then + report("%s (sleep: %.3N)",s,t) + ioflush() + ossleep(t) + else + report(s) + ioflush() + end end end } diff --git a/tex/context/fonts/mkiv/lucida-opentype-math.lfg b/tex/context/fonts/mkiv/lucida-opentype-math.lfg index 3f5c8cff7..eff1603fb 100644 --- a/tex/context/fonts/mkiv/lucida-opentype-math.lfg +++ b/tex/context/fonts/mkiv/lucida-opentype-math.lfg @@ -10,7 +10,7 @@ local dimensions, kerns if CONTEXTLMTXMODE == 0 then dimensions = { default = { -- experimental values - [0x02044] = { xoffset = 275, width = 600 }, +-- [0x02044] = { xoffset = 275, width = 600 }, -- primes [0xFE932] = { width = 200 }, [0xFE933] = { width = 500 }, diff --git a/tex/context/interface/mkii/keys-ro.xml b/tex/context/interface/mkii/keys-ro.xml index 5656f3aad..a2aa8bdd3 100644 --- a/tex/context/interface/mkii/keys-ro.xml +++ b/tex/context/interface/mkii/keys-ro.xml @@ -999,7 +999,9 @@ + + diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index c55f95cd2..2118c8001 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 : 2022-01-18 10:48 +-- merge date : 2022-01-21 20:10 do -- begin closure to overcome local limits and interference -- cgit v1.2.3