diff options
79 files changed, 1089 insertions, 798 deletions
diff --git a/context/data/scite/context/lexers/data/scite-context-data-context.lua b/context/data/scite/context/lexers/data/scite-context-data-context.lua index 520fbcea5..d91b9d393 100644 --- a/context/data/scite/context/lexers/data/scite-context-data-context.lua +++ b/context/data/scite/context/lexers/data/scite-context-data-context.lua @@ -1,4 +1,4 @@ return { - ["constants"]={ "zerocount", "minusone", "minustwo", "plusone", "plustwo", "plusthree", "plusfour", "plusfive", "plussix", "plusseven", "pluseight", "plusnine", "plusten", "plussixteen", "plusfifty", "plushundred", "plusonehundred", "plustwohundred", "plusfivehundred", "plusthousand", "plustenthousand", "plustwentythousand", "medcard", "maxcard", "maxcardminusone", "zeropoint", "onepoint", "halfapoint", "onebasepoint", "maxcount", "maxdimen", "scaledpoint", "thousandpoint", "points", "halfpoint", "zeroskip", "zeromuskip", "onemuskip", "pluscxxvii", "pluscxxviii", "pluscclv", "pluscclvi", "normalpagebox", "directionlefttoright", "directionrighttoleft", "endoflinetoken", "outputnewlinechar", "emptytoks", "empty", "undefined", "voidbox", "emptybox", "emptyvbox", "emptyhbox", "bigskipamount", "medskipamount", "smallskipamount", "fmtname", "fmtversion", "texengine", "texenginename", "texengineversion", "texenginefunctionality", "luatexengine", "pdftexengine", "xetexengine", "unknownengine", "contextformat", "contextversion", "contextkind", "contextlmtxmode", "contextmark", "mksuffix", "activecatcode", "bgroup", "egroup", "endline", "conditionaltrue", "conditionalfalse", "attributeunsetvalue", "uprotationangle", "rightrotationangle", "downrotationangle", "leftrotationangle", "inicatcodes", "ctxcatcodes", "texcatcodes", "notcatcodes", "txtcatcodes", "vrbcatcodes", "prtcatcodes", "nilcatcodes", "luacatcodes", "tpacatcodes", "tpbcatcodes", "xmlcatcodes", "ctdcatcodes", "escapecatcode", "begingroupcatcode", "endgroupcatcode", "mathshiftcatcode", "alignmentcatcode", "endoflinecatcode", "parametercatcode", "superscriptcatcode", "subscriptcatcode", "ignorecatcode", "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode", "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", "spaceasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "leftparentasciicode", "rightparentasciicode", "lessthanasciicode", "morethanasciicode", "doublecommentsignal", "atsignasciicode", "exclamationmarkasciicode", "questionmarkasciicode", "doublequoteasciicode", "singlequoteasciicode", "forwardslashasciicode", "primeasciicode", "hyphenasciicode", "activemathcharcode", "activetabtoken", "activeformfeedtoken", "activeendoflinetoken", "batchmodecode", "nonstopmodecode", "scrollmodecode", "errorstopmodecode", "bottomlevelgroupcode", "simplegroupcode", "hboxgroupcode", "adjustedhboxgroupcode", "vboxgroupcode", "vtopgroupcode", "aligngroupcode", "noaligngroupcode", "outputgroupcode", "mathgroupcode", "discretionarygroupcode", "insertgroupcode", "vcentergroupcode", "mathchoicegroupcode", "semisimplegroupcode", "mathshiftgroupcode", "mathleftgroupcode", "vadjustgroupcode", "charnodecode", "hlistnodecode", "vlistnodecode", "rulenodecode", "insertnodecode", "marknodecode", "adjustnodecode", "ligaturenodecode", "discretionarynodecode", "whatsitnodecode", "mathnodecode", "gluenodecode", "kernnodecode", "penaltynodecode", "unsetnodecode", "mathsnodecode", "charifcode", "catifcode", "numifcode", "dimifcode", "oddifcode", "vmodeifcode", "hmodeifcode", "mmodeifcode", "innerifcode", "voidifcode", "hboxifcode", "vboxifcode", "xifcode", "eofifcode", "trueifcode", "falseifcode", "caseifcode", "definedifcode", "csnameifcode", "fontcharifcode", "fontslantperpoint", "fontinterwordspace", "fontinterwordstretch", "fontinterwordshrink", "fontexheight", "fontemwidth", "fontextraspace", "slantperpoint", "mathexheight", "mathemwidth", "interwordspace", "interwordstretch", "interwordshrink", "exheight", "emwidth", "extraspace", "mathsupdisplay", "mathsupnormal", "mathsupcramped", "mathsubnormal", "mathsubcombined", "mathaxisheight", "muquad", "startmode", "stopmode", "startnotmode", "stopnotmode", "startmodeset", "stopmodeset", "doifmode", "doifelsemode", "doifmodeelse", "doifnotmode", "startmodeset", "stopmodeset", "startallmodes", "stopallmodes", "startnotallmodes", "stopnotallmodes", "doifallmodes", "doifelseallmodes", "doifallmodeselse", "doifnotallmodes", "startenvironment", "stopenvironment", "environment", "startcomponent", "stopcomponent", "component", "startproduct", "stopproduct", "product", "startproject", "stopproject", "project", "starttext", "stoptext", "startnotext", "stopnotext", "startdocument", "stopdocument", "documentvariable", "unexpandeddocumentvariable", "setupdocument", "presetdocument", "doifelsedocumentvariable", "doifdocumentvariableelse", "doifdocumentvariable", "doifnotdocumentvariable", "startmodule", "stopmodule", "usemodule", "usetexmodule", "useluamodule", "setupmodule", "currentmoduleparameter", "moduleparameter", "everystarttext", "everystoptext", "startTEXpage", "stopTEXpage", "enablemode", "disablemode", "preventmode", "definemode", "globalenablemode", "globaldisablemode", "globalpreventmode", "pushmode", "popmode", "typescriptone", "typescripttwo", "typescriptthree", "mathsizesuffix", "mathordcode", "mathopcode", "mathbincode", "mathrelcode", "mathopencode", "mathclosecode", "mathpunctcode", "mathalphacode", "mathinnercode", "mathnothingcode", "mathlimopcode", "mathnolopcode", "mathboxcode", "mathchoicecode", "mathaccentcode", "mathradicalcode", "constantnumber", "constantnumberargument", "constantdimen", "constantdimenargument", "constantemptyargument", "continueifinputfile", "luastringsep", "!!bs", "!!es", "lefttorightmark", "righttoleftmark", "lrm", "rlm", "bidilre", "bidirle", "bidipop", "bidilro", "bidirlo", "breakablethinspace", "nobreakspace", "nonbreakablespace", "narrownobreakspace", "zerowidthnobreakspace", "ideographicspace", "ideographichalffillspace", "twoperemspace", "threeperemspace", "fourperemspace", "fiveperemspace", "sixperemspace", "figurespace", "punctuationspace", "hairspace", "enquad", "emquad", "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj", "optionalspace", "asciispacechar", "softhyphen", "Ux", "eUx", "Umathaccents", "parfillleftskip", "parfillrightskip", "startlmtxmode", "stoplmtxmode", "startmkivmode", "stopmkivmode" }, + ["constants"]={ "zerocount", "minusone", "minustwo", "plusone", "plustwo", "plusthree", "plusfour", "plusfive", "plussix", "plusseven", "pluseight", "plusnine", "plusten", "plussixteen", "plusfifty", "plushundred", "plusonehundred", "plustwohundred", "plusfivehundred", "plusthousand", "plustenthousand", "plustwentythousand", "medcard", "maxcard", "maxcardminusone", "zeropoint", "onepoint", "halfapoint", "onebasepoint", "maxcount", "maxdimen", "scaledpoint", "thousandpoint", "points", "halfpoint", "zeroskip", "zeromuskip", "onemuskip", "pluscxxvii", "pluscxxviii", "pluscclv", "pluscclvi", "normalpagebox", "directionlefttoright", "directionrighttoleft", "endoflinetoken", "outputnewlinechar", "emptytoks", "empty", "undefined", "voidbox", "emptybox", "emptyvbox", "emptyhbox", "bigskipamount", "medskipamount", "smallskipamount", "fmtname", "fmtversion", "texengine", "texenginename", "texengineversion", "texenginefunctionality", "luatexengine", "pdftexengine", "xetexengine", "unknownengine", "contextformat", "contextversion", "contextkind", "contextlmtxmode", "contextmark", "mksuffix", "activecatcode", "bgroup", "egroup", "endline", "conditionaltrue", "conditionalfalse", "attributeunsetvalue", "uprotationangle", "rightrotationangle", "downrotationangle", "leftrotationangle", "inicatcodes", "ctxcatcodes", "texcatcodes", "notcatcodes", "txtcatcodes", "vrbcatcodes", "prtcatcodes", "nilcatcodes", "luacatcodes", "tpacatcodes", "tpbcatcodes", "xmlcatcodes", "ctdcatcodes", "escapecatcode", "begingroupcatcode", "endgroupcatcode", "mathshiftcatcode", "alignmentcatcode", "endoflinecatcode", "parametercatcode", "superscriptcatcode", "subscriptcatcode", "ignorecatcode", "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode", "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", "spaceasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "leftparentasciicode", "rightparentasciicode", "lessthanasciicode", "morethanasciicode", "doublecommentsignal", "atsignasciicode", "exclamationmarkasciicode", "questionmarkasciicode", "doublequoteasciicode", "singlequoteasciicode", "forwardslashasciicode", "primeasciicode", "hyphenasciicode", "activemathcharcode", "activetabtoken", "activeformfeedtoken", "activeendoflinetoken", "batchmodecode", "nonstopmodecode", "scrollmodecode", "errorstopmodecode", "bottomlevelgroupcode", "simplegroupcode", "hboxgroupcode", "adjustedhboxgroupcode", "vboxgroupcode", "vtopgroupcode", "aligngroupcode", "noaligngroupcode", "outputgroupcode", "mathgroupcode", "discretionarygroupcode", "insertgroupcode", "vcentergroupcode", "mathchoicegroupcode", "semisimplegroupcode", "mathshiftgroupcode", "mathleftgroupcode", "vadjustgroupcode", "charnodecode", "hlistnodecode", "vlistnodecode", "rulenodecode", "insertnodecode", "marknodecode", "adjustnodecode", "ligaturenodecode", "discretionarynodecode", "whatsitnodecode", "mathnodecode", "gluenodecode", "kernnodecode", "penaltynodecode", "unsetnodecode", "mathsnodecode", "charifcode", "catifcode", "numifcode", "dimifcode", "oddifcode", "vmodeifcode", "hmodeifcode", "mmodeifcode", "innerifcode", "voidifcode", "hboxifcode", "vboxifcode", "xifcode", "eofifcode", "trueifcode", "falseifcode", "caseifcode", "definedifcode", "csnameifcode", "fontcharifcode", "fontslantperpoint", "fontinterwordspace", "fontinterwordstretch", "fontinterwordshrink", "fontexheight", "fontemwidth", "fontextraspace", "slantperpoint", "mathexheight", "mathemwidth", "interwordspace", "interwordstretch", "interwordshrink", "exheight", "emwidth", "extraspace", "mathsupdisplay", "mathsupnormal", "mathsupcramped", "mathsubnormal", "mathsubcombined", "mathaxisheight", "muquad", "startmode", "stopmode", "startnotmode", "stopnotmode", "startmodeset", "stopmodeset", "doifmode", "doifelsemode", "doifmodeelse", "doifnotmode", "startmodeset", "stopmodeset", "startallmodes", "stopallmodes", "startnotallmodes", "stopnotallmodes", "doifallmodes", "doifelseallmodes", "doifallmodeselse", "doifnotallmodes", "startenvironment", "stopenvironment", "environment", "startcomponent", "stopcomponent", "component", "startproduct", "stopproduct", "product", "startproject", "stopproject", "project", "starttext", "stoptext", "startnotext", "stopnotext", "startdocument", "stopdocument", "documentvariable", "unexpandeddocumentvariable", "setupdocument", "presetdocument", "doifelsedocumentvariable", "doifdocumentvariableelse", "doifdocumentvariable", "doifnotdocumentvariable", "startmodule", "stopmodule", "usemodule", "usetexmodule", "useluamodule", "setupmodule", "currentmoduleparameter", "moduleparameter", "everystarttext", "everystoptext", "startTEXpage", "stopTEXpage", "enablemode", "disablemode", "preventmode", "definemode", "globalenablemode", "globaldisablemode", "globalpreventmode", "pushmode", "popmode", "typescriptone", "typescripttwo", "typescriptthree", "mathsizesuffix", "mathordcode", "mathopcode", "mathbincode", "mathrelcode", "mathopencode", "mathclosecode", "mathpunctcode", "mathalphacode", "mathinnercode", "mathnothingcode", "mathlimopcode", "mathnolopcode", "mathboxcode", "mathchoicecode", "mathaccentcode", "mathradicalcode", "constantnumber", "constantnumberargument", "constantdimen", "constantdimenargument", "constantemptyargument", "continueifinputfile", "luastringsep", "!!bs", "!!es", "lefttorightmark", "righttoleftmark", "lrm", "rlm", "bidilre", "bidirle", "bidipop", "bidilro", "bidirlo", "breakablethinspace", "nobreakspace", "nonbreakablespace", "narrownobreakspace", "zerowidthnobreakspace", "ideographicspace", "ideographichalffillspace", "twoperemspace", "threeperemspace", "fourperemspace", "fiveperemspace", "sixperemspace", "figurespace", "punctuationspace", "hairspace", "enquad", "emquad", "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj", "optionalspace", "asciispacechar", "softhyphen", "Ux", "eUx", "Umathaccents", "parfillleftskip", "parfillrightskip", "startlmtxmode", "stoplmtxmode", "startmkivmode", "stopmkivmode", "wildcardsymbol" }, ["helpers"]={ "startsetups", "stopsetups", "startxmlsetups", "stopxmlsetups", "startluasetups", "stopluasetups", "starttexsetups", "stoptexsetups", "startrawsetups", "stoprawsetups", "startlocalsetups", "stoplocalsetups", "starttexdefinition", "stoptexdefinition", "starttexcode", "stoptexcode", "startcontextcode", "stopcontextcode", "startcontextdefinitioncode", "stopcontextdefinitioncode", "texdefinition", "doifelsesetups", "doifsetupselse", "doifsetups", "doifnotsetups", "setup", "setups", "texsetup", "xmlsetup", "luasetup", "directsetup", "fastsetup", "copysetups", "resetsetups", "doifelsecommandhandler", "doifcommandhandlerelse", "doifnotcommandhandler", "doifcommandhandler", "newmode", "setmode", "resetmode", "newsystemmode", "setsystemmode", "resetsystemmode", "pushsystemmode", "popsystemmode", "globalsetmode", "globalresetmode", "globalsetsystemmode", "globalresetsystemmode", "booleanmodevalue", "newcount", "newdimen", "newskip", "newmuskip", "newbox", "newtoks", "newread", "newwrite", "newmarks", "newinsert", "newattribute", "newif", "newlanguage", "newfamily", "newfam", "newhelp", "then", "begcsname", "autorule", "strippedcsname", "checkedstrippedcsname", "firstargumentfalse", "firstargumenttrue", "secondargumentfalse", "secondargumenttrue", "thirdargumentfalse", "thirdargumenttrue", "fourthargumentfalse", "fourthargumenttrue", "fifthargumentfalse", "fifthargumenttrue", "sixthargumentfalse", "sixthargumenttrue", "seventhargumentfalse", "seventhargumenttrue", "vkern", "hkern", "doglobal", "dodoglobal", "redoglobal", "resetglobal", "donothing", "dontcomplain", "forgetall", "donetrue", "donefalse", "foundtrue", "foundfalse", "inlineordisplaymath", "indisplaymath", "forcedisplaymath", "startforceddisplaymath", "stopforceddisplaymath", "startpickupmath", "stoppickupmath", "reqno", "mathortext", "htdp", "unvoidbox", "hfilll", "vfilll", "mathbox", "mathlimop", "mathnolop", "mathnothing", "mathalpha", "currentcatcodetable", "defaultcatcodetable", "catcodetablename", "newcatcodetable", "startcatcodetable", "stopcatcodetable", "startextendcatcodetable", "stopextendcatcodetable", "pushcatcodetable", "popcatcodetable", "restorecatcodes", "setcatcodetable", "letcatcodecommand", "defcatcodecommand", "uedcatcodecommand", "hglue", "vglue", "hfillneg", "vfillneg", "hfilllneg", "vfilllneg", "ruledhss", "ruledhfil", "ruledhfill", "ruledhfilll", "ruledhfilneg", "ruledhfillneg", "normalhfillneg", "normalhfilllneg", "ruledvss", "ruledvfil", "ruledvfill", "ruledvfilll", "ruledvfilneg", "ruledvfillneg", "normalvfillneg", "normalvfilllneg", "ruledhbox", "ruledvbox", "ruledvtop", "ruledvcenter", "ruledmbox", "ruledhpack", "ruledvpack", "ruledtpack", "ruledhskip", "ruledvskip", "ruledkern", "ruledmskip", "ruledmkern", "ruledhglue", "ruledvglue", "normalhglue", "normalvglue", "ruledpenalty", "filledhboxb", "filledhboxr", "filledhboxg", "filledhboxc", "filledhboxm", "filledhboxy", "filledhboxk", "scratchcounter", "globalscratchcounter", "privatescratchcounter", "scratchdimen", "globalscratchdimen", "privatescratchdimen", "scratchskip", "globalscratchskip", "privatescratchskip", "scratchmuskip", "globalscratchmuskip", "privatescratchmuskip", "scratchtoks", "globalscratchtoks", "privatescratchtoks", "scratchbox", "globalscratchbox", "privatescratchbox", "globalscratchcounterone", "globalscratchcountertwo", "globalscratchcounterthree", "groupedcommand", "groupedcommandcs", "triggergroupedcommand", "triggergroupedcommandcs", "simplegroupedcommand", "pickupgroupedcommand", "normalbaselineskip", "normallineskip", "normallineskiplimit", "availablehsize", "localhsize", "setlocalhsize", "distributedhsize", "hsizefraction", "next", "nexttoken", "nextbox", "dowithnextbox", "dowithnextboxcs", "dowithnextboxcontent", "dowithnextboxcontentcs", "flushnextbox", "boxisempty", "scratchwidth", "scratchheight", "scratchdepth", "scratchoffset", "scratchdistance", "scratchhsize", "scratchvsize", "scratchxoffset", "scratchyoffset", "scratchhoffset", "scratchvoffset", "scratchxposition", "scratchyposition", "scratchtopoffset", "scratchbottomoffset", "scratchleftoffset", "scratchrightoffset", "scratchcounterone", "scratchcountertwo", "scratchcounterthree", "scratchcounterfour", "scratchcounterfive", "scratchcountersix", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchdimenfour", "scratchdimenfive", "scratchdimensix", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchskipfour", "scratchskipfive", "scratchskipsix", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchmuskipfour", "scratchmuskipfive", "scratchmuskipsix", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchtoksfour", "scratchtoksfive", "scratchtokssix", "scratchboxone", "scratchboxtwo", "scratchboxthree", "scratchboxfour", "scratchboxfive", "scratchboxsix", "scratchnx", "scratchny", "scratchmx", "scratchmy", "scratchunicode", "scratchmin", "scratchmax", "scratchleftskip", "scratchrightskip", "scratchtopskip", "scratchbottomskip", "doif", "doifnot", "doifelse", "firstinset", "doifinset", "doifnotinset", "doifelseinset", "doifinsetelse", "doifelsenextchar", "doifnextcharelse", "doifelsenextcharcs", "doifnextcharcselse", "doifelsenextoptional", "doifnextoptionalelse", "doifelsenextoptionalcs", "doifnextoptionalcselse", "doifelsefastoptionalcheck", "doiffastoptionalcheckelse", "doifelsefastoptionalcheckcs", "doiffastoptionalcheckcselse", "doifelsenextbgroup", "doifnextbgroupelse", "doifelsenextbgroupcs", "doifnextbgroupcselse", "doifelsenextparenthesis", "doifnextparenthesiselse", "doifelseundefined", "doifundefinedelse", "doifelsedefined", "doifdefinedelse", "doifundefined", "doifdefined", "doifelsevalue", "doifvalue", "doifnotvalue", "doifnothing", "doifsomething", "doifelsenothing", "doifnothingelse", "doifelsesomething", "doifsomethingelse", "doifvaluenothing", "doifvaluesomething", "doifelsevaluenothing", "doifvaluenothingelse", "doifelsedimension", "doifdimensionelse", "doifelsenumber", "doifnumberelse", "doifnumber", "doifnotnumber", "doifelsecommon", "doifcommonelse", "doifcommon", "doifnotcommon", "doifinstring", "doifnotinstring", "doifelseinstring", "doifinstringelse", "doifelseassignment", "doifassignmentelse", "docheckassignment", "doifelseassignmentcs", "doifassignmentelsecs", "validassignment", "novalidassignment", "doiftext", "doifelsetext", "doiftextelse", "doifnottext", "tracingall", "tracingnone", "loggingall", "removetoks", "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", "endgraf", "endpar", "everyendpar", "reseteverypar", "finishpar", "empty", "null", "space", "quad", "enspace", "emspace", "charspace", "nbsp", "crlf", "obeyspaces", "obeylines", "obeyedspace", "obeyedline", "obeyedtab", "obeyedpage", "normalspace", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", "removepunctuation", "ignoreparskip", "forcestrutdepth", "onlynonbreakablespace", "wait", "writestatus", "define", "defineexpandable", "redefine", "setmeasure", "setemeasure", "setgmeasure", "setxmeasure", "definemeasure", "freezemeasure", "measure", "measured", "installcorenamespace", "getvalue", "getuvalue", "setvalue", "setevalue", "setgvalue", "setxvalue", "letvalue", "letgvalue", "resetvalue", "undefinevalue", "ignorevalue", "setuvalue", "setuevalue", "setugvalue", "setuxvalue", "globallet", "glet", "udef", "ugdef", "uedef", "uxdef", "checked", "unique", "getparameters", "geteparameters", "getgparameters", "getxparameters", "forgetparameters", "copyparameters", "getdummyparameters", "dummyparameter", "directdummyparameter", "setdummyparameter", "letdummyparameter", "setexpandeddummyparameter", "usedummystyleandcolor", "usedummystyleparameter", "usedummycolorparameter", "processcommalist", "processcommacommand", "quitcommalist", "quitprevcommalist", "processaction", "processallactions", "processfirstactioninset", "processallactionsinset", "unexpanded", "expanded", "startexpanded", "stopexpanded", "protected", "protect", "unprotect", "firstofoneargument", "firstoftwoarguments", "secondoftwoarguments", "firstofthreearguments", "secondofthreearguments", "thirdofthreearguments", "firstoffourarguments", "secondoffourarguments", "thirdoffourarguments", "fourthoffourarguments", "firstoffivearguments", "secondoffivearguments", "thirdoffivearguments", "fourthoffivearguments", "fifthoffivearguments", "firstofsixarguments", "secondofsixarguments", "thirdofsixarguments", "fourthofsixarguments", "fifthofsixarguments", "sixthofsixarguments", "firstofoneunexpanded", "firstoftwounexpanded", "secondoftwounexpanded", "firstofthreeunexpanded", "secondofthreeunexpanded", "thirdofthreeunexpanded", "gobbleoneargument", "gobbletwoarguments", "gobblethreearguments", "gobblefourarguments", "gobblefivearguments", "gobblesixarguments", "gobblesevenarguments", "gobbleeightarguments", "gobbleninearguments", "gobbletenarguments", "gobbleoneoptional", "gobbletwooptionals", "gobblethreeoptionals", "gobblefouroptionals", "gobblefiveoptionals", "dorecurse", "doloop", "exitloop", "dostepwiserecurse", "recurselevel", "recursedepth", "dofastloopcs", "fastloopindex", "fastloopfinal", "dowith", "newconstant", "setnewconstant", "setconstant", "setconstantvalue", "newconditional", "settrue", "setfalse", "settruevalue", "setfalsevalue", "newmacro", "setnewmacro", "newfraction", "newsignal", "dosingleempty", "dodoubleempty", "dotripleempty", "doquadrupleempty", "doquintupleempty", "dosixtupleempty", "doseventupleempty", "dosingleargument", "dodoubleargument", "dotripleargument", "doquadrupleargument", "doquintupleargument", "dosixtupleargument", "doseventupleargument", "dosinglegroupempty", "dodoublegroupempty", "dotriplegroupempty", "doquadruplegroupempty", "doquintuplegroupempty", "permitspacesbetweengroups", "dontpermitspacesbetweengroups", "nopdfcompression", "maximumpdfcompression", "normalpdfcompression", "onlypdfobjectcompression", "nopdfobjectcompression", "modulonumber", "dividenumber", "getfirstcharacter", "doifelsefirstchar", "doiffirstcharelse", "startnointerference", "stopnointerference", "twodigits", "threedigits", "leftorright", "offinterlineskip", "oninterlineskip", "nointerlineskip", "strut", "halfstrut", "quarterstrut", "depthstrut", "halflinestrut", "noheightstrut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "struthtdp", "strutgap", "begstrut", "endstrut", "lineheight", "leftboundary", "rightboundary", "signalcharacter", "ordordspacing", "ordopspacing", "ordbinspacing", "ordrelspacing", "ordopenspacing", "ordclosespacing", "ordpunctspacing", "ordinnerspacing", "opordspacing", "opopspacing", "opbinspacing", "oprelspacing", "opopenspacing", "opclosespacing", "oppunctspacing", "opinnerspacing", "binordspacing", "binopspacing", "binbinspacing", "binrelspacing", "binopenspacing", "binclosespacing", "binpunctspacing", "bininnerspacing", "relordspacing", "relopspacing", "relbinspacing", "relrelspacing", "relopenspacing", "relclosespacing", "relpunctspacing", "relinnerspacing", "openordspacing", "openopspacing", "openbinspacing", "openrelspacing", "openopenspacing", "openclosespacing", "openpunctspacing", "openinnerspacing", "closeordspacing", "closeopspacing", "closebinspacing", "closerelspacing", "closeopenspacing", "closeclosespacing", "closepunctspacing", "closeinnerspacing", "punctordspacing", "punctopspacing", "punctbinspacing", "punctrelspacing", "punctopenspacing", "punctclosespacing", "punctpunctspacing", "punctinnerspacing", "innerordspacing", "inneropspacing", "innerbinspacing", "innerrelspacing", "inneropenspacing", "innerclosespacing", "innerpunctspacing", "innerinnerspacing", "normalreqno", "startimath", "stopimath", "normalstartimath", "normalstopimath", "startdmath", "stopdmath", "normalstartdmath", "normalstopdmath", "normalsuperscript", "normalsubscript", "normalnosuperscript", "normalnosubscript", "superscript", "subscript", "nosuperscript", "nosubscript", "uncramped", "cramped", "triggermathstyle", "mathstylefont", "mathsmallstylefont", "mathstyleface", "mathsmallstyleface", "mathstylecommand", "mathpalette", "mathstylehbox", "mathstylevbox", "mathstylevcenter", "mathstylevcenteredhbox", "mathstylevcenteredvbox", "mathtext", "setmathsmalltextbox", "setmathtextbox", "pushmathstyle", "popmathstyle", "triggerdisplaystyle", "triggertextstyle", "triggerscriptstyle", "triggerscriptscriptstyle", "triggeruncrampedstyle", "triggercrampedstyle", "triggersmallstyle", "triggeruncrampedsmallstyle", "triggercrampedsmallstyle", "triggerbigstyle", "triggeruncrampedbigstyle", "triggercrampedbigstyle", "luaexpr", "expelsedoif", "expdoif", "expdoifnot", "expdoifelsecommon", "expdoifcommonelse", "expdoifelseinset", "expdoifinsetelse", "ctxdirectlua", "ctxlatelua", "ctxsprint", "ctxwrite", "ctxcommand", "ctxdirectcommand", "ctxlatecommand", "ctxreport", "ctxlua", "luacode", "lateluacode", "directluacode", "registerctxluafile", "ctxloadluafile", "luaversion", "luamajorversion", "luaminorversion", "ctxluacode", "luaconditional", "luaexpanded", "startluaparameterset", "stopluaparameterset", "luaparameterset", "definenamedlua", "obeylualines", "obeyluatokens", "startluacode", "stopluacode", "startlua", "stoplua", "startctxfunction", "stopctxfunction", "ctxfunction", "startctxfunctiondefinition", "stopctxfunctiondefinition", "installctxfunction", "installprotectedctxfunction", "installprotectedctxscanner", "installctxscanner", "resetctxscanner", "cldprocessfile", "cldloadfile", "cldloadviafile", "cldcontext", "cldcommand", "carryoverpar", "lastlinewidth", "assumelongusagecs", "Umathbotaccent", "righttolefthbox", "lefttorighthbox", "righttoleftvbox", "lefttorightvbox", "righttoleftvtop", "lefttorightvtop", "rtlhbox", "ltrhbox", "rtlvbox", "ltrvbox", "rtlvtop", "ltrvtop", "autodirhbox", "autodirvbox", "autodirvtop", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "lefttoright", "righttoleft", "checkedlefttoright", "checkedrighttoleft", "synchronizelayoutdirection", "synchronizedisplaydirection", "synchronizeinlinedirection", "dirlre", "dirrle", "dirlro", "dirrlo", "lesshyphens", "morehyphens", "nohyphens", "dohyphens", "Ucheckedstartdisplaymath", "Ucheckedstopdisplaymath", "break", "nobreak", "allowbreak", "goodbreak", "nospace", "nospacing", "dospacing", "naturalhbox", "naturalvbox", "naturalvtop", "naturalhpack", "naturalvpack", "naturaltpack", "reversehbox", "reversevbox", "reversevtop", "reversehpack", "reversevpack", "reversetpack", "frule", "compoundhyphenpenalty", "start", "stop", "unsupportedcs" }, }
\ No newline at end of file diff --git a/context/data/scite/context/scite-context-data-context.properties b/context/data/scite/context/scite-context-data-context.properties index 907df8049..5eeb244a5 100644 --- a/context/data/scite/context/scite-context-data-context.properties +++ b/context/data/scite/context/scite-context-data-context.properties @@ -72,7 +72,8 @@ fourperemspace fiveperemspace sixperemspace figurespace punctuationspace \ hairspace enquad emquad zerowidthspace zerowidthnonjoiner \ zerowidthjoiner zwnj zwj optionalspace asciispacechar \ softhyphen Ux eUx Umathaccents parfillleftskip \ -parfillrightskip startlmtxmode stoplmtxmode startmkivmode stopmkivmode +parfillrightskip startlmtxmode stoplmtxmode startmkivmode stopmkivmode \ +wildcardsymbol keywordclass.context.helpers=\ startsetups stopsetups startxmlsetups stopxmlsetups \ diff --git a/context/data/textadept/context/data/scite-context-data-context.lua b/context/data/textadept/context/data/scite-context-data-context.lua index 520fbcea5..d91b9d393 100644 --- a/context/data/textadept/context/data/scite-context-data-context.lua +++ b/context/data/textadept/context/data/scite-context-data-context.lua @@ -1,4 +1,4 @@ return { - ["constants"]={ "zerocount", "minusone", "minustwo", "plusone", "plustwo", "plusthree", "plusfour", "plusfive", "plussix", "plusseven", "pluseight", "plusnine", "plusten", "plussixteen", "plusfifty", "plushundred", "plusonehundred", "plustwohundred", "plusfivehundred", "plusthousand", "plustenthousand", "plustwentythousand", "medcard", "maxcard", "maxcardminusone", "zeropoint", "onepoint", "halfapoint", "onebasepoint", "maxcount", "maxdimen", "scaledpoint", "thousandpoint", "points", "halfpoint", "zeroskip", "zeromuskip", "onemuskip", "pluscxxvii", "pluscxxviii", "pluscclv", "pluscclvi", "normalpagebox", "directionlefttoright", "directionrighttoleft", "endoflinetoken", "outputnewlinechar", "emptytoks", "empty", "undefined", "voidbox", "emptybox", "emptyvbox", "emptyhbox", "bigskipamount", "medskipamount", "smallskipamount", "fmtname", "fmtversion", "texengine", "texenginename", "texengineversion", "texenginefunctionality", "luatexengine", "pdftexengine", "xetexengine", "unknownengine", "contextformat", "contextversion", "contextkind", "contextlmtxmode", "contextmark", "mksuffix", "activecatcode", "bgroup", "egroup", "endline", "conditionaltrue", "conditionalfalse", "attributeunsetvalue", "uprotationangle", "rightrotationangle", "downrotationangle", "leftrotationangle", "inicatcodes", "ctxcatcodes", "texcatcodes", "notcatcodes", "txtcatcodes", "vrbcatcodes", "prtcatcodes", "nilcatcodes", "luacatcodes", "tpacatcodes", "tpbcatcodes", "xmlcatcodes", "ctdcatcodes", "escapecatcode", "begingroupcatcode", "endgroupcatcode", "mathshiftcatcode", "alignmentcatcode", "endoflinecatcode", "parametercatcode", "superscriptcatcode", "subscriptcatcode", "ignorecatcode", "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode", "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", "spaceasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "leftparentasciicode", "rightparentasciicode", "lessthanasciicode", "morethanasciicode", "doublecommentsignal", "atsignasciicode", "exclamationmarkasciicode", "questionmarkasciicode", "doublequoteasciicode", "singlequoteasciicode", "forwardslashasciicode", "primeasciicode", "hyphenasciicode", "activemathcharcode", "activetabtoken", "activeformfeedtoken", "activeendoflinetoken", "batchmodecode", "nonstopmodecode", "scrollmodecode", "errorstopmodecode", "bottomlevelgroupcode", "simplegroupcode", "hboxgroupcode", "adjustedhboxgroupcode", "vboxgroupcode", "vtopgroupcode", "aligngroupcode", "noaligngroupcode", "outputgroupcode", "mathgroupcode", "discretionarygroupcode", "insertgroupcode", "vcentergroupcode", "mathchoicegroupcode", "semisimplegroupcode", "mathshiftgroupcode", "mathleftgroupcode", "vadjustgroupcode", "charnodecode", "hlistnodecode", "vlistnodecode", "rulenodecode", "insertnodecode", "marknodecode", "adjustnodecode", "ligaturenodecode", "discretionarynodecode", "whatsitnodecode", "mathnodecode", "gluenodecode", "kernnodecode", "penaltynodecode", "unsetnodecode", "mathsnodecode", "charifcode", "catifcode", "numifcode", "dimifcode", "oddifcode", "vmodeifcode", "hmodeifcode", "mmodeifcode", "innerifcode", "voidifcode", "hboxifcode", "vboxifcode", "xifcode", "eofifcode", "trueifcode", "falseifcode", "caseifcode", "definedifcode", "csnameifcode", "fontcharifcode", "fontslantperpoint", "fontinterwordspace", "fontinterwordstretch", "fontinterwordshrink", "fontexheight", "fontemwidth", "fontextraspace", "slantperpoint", "mathexheight", "mathemwidth", "interwordspace", "interwordstretch", "interwordshrink", "exheight", "emwidth", "extraspace", "mathsupdisplay", "mathsupnormal", "mathsupcramped", "mathsubnormal", "mathsubcombined", "mathaxisheight", "muquad", "startmode", "stopmode", "startnotmode", "stopnotmode", "startmodeset", "stopmodeset", "doifmode", "doifelsemode", "doifmodeelse", "doifnotmode", "startmodeset", "stopmodeset", "startallmodes", "stopallmodes", "startnotallmodes", "stopnotallmodes", "doifallmodes", "doifelseallmodes", "doifallmodeselse", "doifnotallmodes", "startenvironment", "stopenvironment", "environment", "startcomponent", "stopcomponent", "component", "startproduct", "stopproduct", "product", "startproject", "stopproject", "project", "starttext", "stoptext", "startnotext", "stopnotext", "startdocument", "stopdocument", "documentvariable", "unexpandeddocumentvariable", "setupdocument", "presetdocument", "doifelsedocumentvariable", "doifdocumentvariableelse", "doifdocumentvariable", "doifnotdocumentvariable", "startmodule", "stopmodule", "usemodule", "usetexmodule", "useluamodule", "setupmodule", "currentmoduleparameter", "moduleparameter", "everystarttext", "everystoptext", "startTEXpage", "stopTEXpage", "enablemode", "disablemode", "preventmode", "definemode", "globalenablemode", "globaldisablemode", "globalpreventmode", "pushmode", "popmode", "typescriptone", "typescripttwo", "typescriptthree", "mathsizesuffix", "mathordcode", "mathopcode", "mathbincode", "mathrelcode", "mathopencode", "mathclosecode", "mathpunctcode", "mathalphacode", "mathinnercode", "mathnothingcode", "mathlimopcode", "mathnolopcode", "mathboxcode", "mathchoicecode", "mathaccentcode", "mathradicalcode", "constantnumber", "constantnumberargument", "constantdimen", "constantdimenargument", "constantemptyargument", "continueifinputfile", "luastringsep", "!!bs", "!!es", "lefttorightmark", "righttoleftmark", "lrm", "rlm", "bidilre", "bidirle", "bidipop", "bidilro", "bidirlo", "breakablethinspace", "nobreakspace", "nonbreakablespace", "narrownobreakspace", "zerowidthnobreakspace", "ideographicspace", "ideographichalffillspace", "twoperemspace", "threeperemspace", "fourperemspace", "fiveperemspace", "sixperemspace", "figurespace", "punctuationspace", "hairspace", "enquad", "emquad", "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj", "optionalspace", "asciispacechar", "softhyphen", "Ux", "eUx", "Umathaccents", "parfillleftskip", "parfillrightskip", "startlmtxmode", "stoplmtxmode", "startmkivmode", "stopmkivmode" }, + ["constants"]={ "zerocount", "minusone", "minustwo", "plusone", "plustwo", "plusthree", "plusfour", "plusfive", "plussix", "plusseven", "pluseight", "plusnine", "plusten", "plussixteen", "plusfifty", "plushundred", "plusonehundred", "plustwohundred", "plusfivehundred", "plusthousand", "plustenthousand", "plustwentythousand", "medcard", "maxcard", "maxcardminusone", "zeropoint", "onepoint", "halfapoint", "onebasepoint", "maxcount", "maxdimen", "scaledpoint", "thousandpoint", "points", "halfpoint", "zeroskip", "zeromuskip", "onemuskip", "pluscxxvii", "pluscxxviii", "pluscclv", "pluscclvi", "normalpagebox", "directionlefttoright", "directionrighttoleft", "endoflinetoken", "outputnewlinechar", "emptytoks", "empty", "undefined", "voidbox", "emptybox", "emptyvbox", "emptyhbox", "bigskipamount", "medskipamount", "smallskipamount", "fmtname", "fmtversion", "texengine", "texenginename", "texengineversion", "texenginefunctionality", "luatexengine", "pdftexengine", "xetexengine", "unknownengine", "contextformat", "contextversion", "contextkind", "contextlmtxmode", "contextmark", "mksuffix", "activecatcode", "bgroup", "egroup", "endline", "conditionaltrue", "conditionalfalse", "attributeunsetvalue", "uprotationangle", "rightrotationangle", "downrotationangle", "leftrotationangle", "inicatcodes", "ctxcatcodes", "texcatcodes", "notcatcodes", "txtcatcodes", "vrbcatcodes", "prtcatcodes", "nilcatcodes", "luacatcodes", "tpacatcodes", "tpbcatcodes", "xmlcatcodes", "ctdcatcodes", "escapecatcode", "begingroupcatcode", "endgroupcatcode", "mathshiftcatcode", "alignmentcatcode", "endoflinecatcode", "parametercatcode", "superscriptcatcode", "subscriptcatcode", "ignorecatcode", "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode", "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", "spaceasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "leftparentasciicode", "rightparentasciicode", "lessthanasciicode", "morethanasciicode", "doublecommentsignal", "atsignasciicode", "exclamationmarkasciicode", "questionmarkasciicode", "doublequoteasciicode", "singlequoteasciicode", "forwardslashasciicode", "primeasciicode", "hyphenasciicode", "activemathcharcode", "activetabtoken", "activeformfeedtoken", "activeendoflinetoken", "batchmodecode", "nonstopmodecode", "scrollmodecode", "errorstopmodecode", "bottomlevelgroupcode", "simplegroupcode", "hboxgroupcode", "adjustedhboxgroupcode", "vboxgroupcode", "vtopgroupcode", "aligngroupcode", "noaligngroupcode", "outputgroupcode", "mathgroupcode", "discretionarygroupcode", "insertgroupcode", "vcentergroupcode", "mathchoicegroupcode", "semisimplegroupcode", "mathshiftgroupcode", "mathleftgroupcode", "vadjustgroupcode", "charnodecode", "hlistnodecode", "vlistnodecode", "rulenodecode", "insertnodecode", "marknodecode", "adjustnodecode", "ligaturenodecode", "discretionarynodecode", "whatsitnodecode", "mathnodecode", "gluenodecode", "kernnodecode", "penaltynodecode", "unsetnodecode", "mathsnodecode", "charifcode", "catifcode", "numifcode", "dimifcode", "oddifcode", "vmodeifcode", "hmodeifcode", "mmodeifcode", "innerifcode", "voidifcode", "hboxifcode", "vboxifcode", "xifcode", "eofifcode", "trueifcode", "falseifcode", "caseifcode", "definedifcode", "csnameifcode", "fontcharifcode", "fontslantperpoint", "fontinterwordspace", "fontinterwordstretch", "fontinterwordshrink", "fontexheight", "fontemwidth", "fontextraspace", "slantperpoint", "mathexheight", "mathemwidth", "interwordspace", "interwordstretch", "interwordshrink", "exheight", "emwidth", "extraspace", "mathsupdisplay", "mathsupnormal", "mathsupcramped", "mathsubnormal", "mathsubcombined", "mathaxisheight", "muquad", "startmode", "stopmode", "startnotmode", "stopnotmode", "startmodeset", "stopmodeset", "doifmode", "doifelsemode", "doifmodeelse", "doifnotmode", "startmodeset", "stopmodeset", "startallmodes", "stopallmodes", "startnotallmodes", "stopnotallmodes", "doifallmodes", "doifelseallmodes", "doifallmodeselse", "doifnotallmodes", "startenvironment", "stopenvironment", "environment", "startcomponent", "stopcomponent", "component", "startproduct", "stopproduct", "product", "startproject", "stopproject", "project", "starttext", "stoptext", "startnotext", "stopnotext", "startdocument", "stopdocument", "documentvariable", "unexpandeddocumentvariable", "setupdocument", "presetdocument", "doifelsedocumentvariable", "doifdocumentvariableelse", "doifdocumentvariable", "doifnotdocumentvariable", "startmodule", "stopmodule", "usemodule", "usetexmodule", "useluamodule", "setupmodule", "currentmoduleparameter", "moduleparameter", "everystarttext", "everystoptext", "startTEXpage", "stopTEXpage", "enablemode", "disablemode", "preventmode", "definemode", "globalenablemode", "globaldisablemode", "globalpreventmode", "pushmode", "popmode", "typescriptone", "typescripttwo", "typescriptthree", "mathsizesuffix", "mathordcode", "mathopcode", "mathbincode", "mathrelcode", "mathopencode", "mathclosecode", "mathpunctcode", "mathalphacode", "mathinnercode", "mathnothingcode", "mathlimopcode", "mathnolopcode", "mathboxcode", "mathchoicecode", "mathaccentcode", "mathradicalcode", "constantnumber", "constantnumberargument", "constantdimen", "constantdimenargument", "constantemptyargument", "continueifinputfile", "luastringsep", "!!bs", "!!es", "lefttorightmark", "righttoleftmark", "lrm", "rlm", "bidilre", "bidirle", "bidipop", "bidilro", "bidirlo", "breakablethinspace", "nobreakspace", "nonbreakablespace", "narrownobreakspace", "zerowidthnobreakspace", "ideographicspace", "ideographichalffillspace", "twoperemspace", "threeperemspace", "fourperemspace", "fiveperemspace", "sixperemspace", "figurespace", "punctuationspace", "hairspace", "enquad", "emquad", "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj", "optionalspace", "asciispacechar", "softhyphen", "Ux", "eUx", "Umathaccents", "parfillleftskip", "parfillrightskip", "startlmtxmode", "stoplmtxmode", "startmkivmode", "stopmkivmode", "wildcardsymbol" }, ["helpers"]={ "startsetups", "stopsetups", "startxmlsetups", "stopxmlsetups", "startluasetups", "stopluasetups", "starttexsetups", "stoptexsetups", "startrawsetups", "stoprawsetups", "startlocalsetups", "stoplocalsetups", "starttexdefinition", "stoptexdefinition", "starttexcode", "stoptexcode", "startcontextcode", "stopcontextcode", "startcontextdefinitioncode", "stopcontextdefinitioncode", "texdefinition", "doifelsesetups", "doifsetupselse", "doifsetups", "doifnotsetups", "setup", "setups", "texsetup", "xmlsetup", "luasetup", "directsetup", "fastsetup", "copysetups", "resetsetups", "doifelsecommandhandler", "doifcommandhandlerelse", "doifnotcommandhandler", "doifcommandhandler", "newmode", "setmode", "resetmode", "newsystemmode", "setsystemmode", "resetsystemmode", "pushsystemmode", "popsystemmode", "globalsetmode", "globalresetmode", "globalsetsystemmode", "globalresetsystemmode", "booleanmodevalue", "newcount", "newdimen", "newskip", "newmuskip", "newbox", "newtoks", "newread", "newwrite", "newmarks", "newinsert", "newattribute", "newif", "newlanguage", "newfamily", "newfam", "newhelp", "then", "begcsname", "autorule", "strippedcsname", "checkedstrippedcsname", "firstargumentfalse", "firstargumenttrue", "secondargumentfalse", "secondargumenttrue", "thirdargumentfalse", "thirdargumenttrue", "fourthargumentfalse", "fourthargumenttrue", "fifthargumentfalse", "fifthargumenttrue", "sixthargumentfalse", "sixthargumenttrue", "seventhargumentfalse", "seventhargumenttrue", "vkern", "hkern", "doglobal", "dodoglobal", "redoglobal", "resetglobal", "donothing", "dontcomplain", "forgetall", "donetrue", "donefalse", "foundtrue", "foundfalse", "inlineordisplaymath", "indisplaymath", "forcedisplaymath", "startforceddisplaymath", "stopforceddisplaymath", "startpickupmath", "stoppickupmath", "reqno", "mathortext", "htdp", "unvoidbox", "hfilll", "vfilll", "mathbox", "mathlimop", "mathnolop", "mathnothing", "mathalpha", "currentcatcodetable", "defaultcatcodetable", "catcodetablename", "newcatcodetable", "startcatcodetable", "stopcatcodetable", "startextendcatcodetable", "stopextendcatcodetable", "pushcatcodetable", "popcatcodetable", "restorecatcodes", "setcatcodetable", "letcatcodecommand", "defcatcodecommand", "uedcatcodecommand", "hglue", "vglue", "hfillneg", "vfillneg", "hfilllneg", "vfilllneg", "ruledhss", "ruledhfil", "ruledhfill", "ruledhfilll", "ruledhfilneg", "ruledhfillneg", "normalhfillneg", "normalhfilllneg", "ruledvss", "ruledvfil", "ruledvfill", "ruledvfilll", "ruledvfilneg", "ruledvfillneg", "normalvfillneg", "normalvfilllneg", "ruledhbox", "ruledvbox", "ruledvtop", "ruledvcenter", "ruledmbox", "ruledhpack", "ruledvpack", "ruledtpack", "ruledhskip", "ruledvskip", "ruledkern", "ruledmskip", "ruledmkern", "ruledhglue", "ruledvglue", "normalhglue", "normalvglue", "ruledpenalty", "filledhboxb", "filledhboxr", "filledhboxg", "filledhboxc", "filledhboxm", "filledhboxy", "filledhboxk", "scratchcounter", "globalscratchcounter", "privatescratchcounter", "scratchdimen", "globalscratchdimen", "privatescratchdimen", "scratchskip", "globalscratchskip", "privatescratchskip", "scratchmuskip", "globalscratchmuskip", "privatescratchmuskip", "scratchtoks", "globalscratchtoks", "privatescratchtoks", "scratchbox", "globalscratchbox", "privatescratchbox", "globalscratchcounterone", "globalscratchcountertwo", "globalscratchcounterthree", "groupedcommand", "groupedcommandcs", "triggergroupedcommand", "triggergroupedcommandcs", "simplegroupedcommand", "pickupgroupedcommand", "normalbaselineskip", "normallineskip", "normallineskiplimit", "availablehsize", "localhsize", "setlocalhsize", "distributedhsize", "hsizefraction", "next", "nexttoken", "nextbox", "dowithnextbox", "dowithnextboxcs", "dowithnextboxcontent", "dowithnextboxcontentcs", "flushnextbox", "boxisempty", "scratchwidth", "scratchheight", "scratchdepth", "scratchoffset", "scratchdistance", "scratchhsize", "scratchvsize", "scratchxoffset", "scratchyoffset", "scratchhoffset", "scratchvoffset", "scratchxposition", "scratchyposition", "scratchtopoffset", "scratchbottomoffset", "scratchleftoffset", "scratchrightoffset", "scratchcounterone", "scratchcountertwo", "scratchcounterthree", "scratchcounterfour", "scratchcounterfive", "scratchcountersix", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchdimenfour", "scratchdimenfive", "scratchdimensix", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchskipfour", "scratchskipfive", "scratchskipsix", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchmuskipfour", "scratchmuskipfive", "scratchmuskipsix", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchtoksfour", "scratchtoksfive", "scratchtokssix", "scratchboxone", "scratchboxtwo", "scratchboxthree", "scratchboxfour", "scratchboxfive", "scratchboxsix", "scratchnx", "scratchny", "scratchmx", "scratchmy", "scratchunicode", "scratchmin", "scratchmax", "scratchleftskip", "scratchrightskip", "scratchtopskip", "scratchbottomskip", "doif", "doifnot", "doifelse", "firstinset", "doifinset", "doifnotinset", "doifelseinset", "doifinsetelse", "doifelsenextchar", "doifnextcharelse", "doifelsenextcharcs", "doifnextcharcselse", "doifelsenextoptional", "doifnextoptionalelse", "doifelsenextoptionalcs", "doifnextoptionalcselse", "doifelsefastoptionalcheck", "doiffastoptionalcheckelse", "doifelsefastoptionalcheckcs", "doiffastoptionalcheckcselse", "doifelsenextbgroup", "doifnextbgroupelse", "doifelsenextbgroupcs", "doifnextbgroupcselse", "doifelsenextparenthesis", "doifnextparenthesiselse", "doifelseundefined", "doifundefinedelse", "doifelsedefined", "doifdefinedelse", "doifundefined", "doifdefined", "doifelsevalue", "doifvalue", "doifnotvalue", "doifnothing", "doifsomething", "doifelsenothing", "doifnothingelse", "doifelsesomething", "doifsomethingelse", "doifvaluenothing", "doifvaluesomething", "doifelsevaluenothing", "doifvaluenothingelse", "doifelsedimension", "doifdimensionelse", "doifelsenumber", "doifnumberelse", "doifnumber", "doifnotnumber", "doifelsecommon", "doifcommonelse", "doifcommon", "doifnotcommon", "doifinstring", "doifnotinstring", "doifelseinstring", "doifinstringelse", "doifelseassignment", "doifassignmentelse", "docheckassignment", "doifelseassignmentcs", "doifassignmentelsecs", "validassignment", "novalidassignment", "doiftext", "doifelsetext", "doiftextelse", "doifnottext", "tracingall", "tracingnone", "loggingall", "removetoks", "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", "endgraf", "endpar", "everyendpar", "reseteverypar", "finishpar", "empty", "null", "space", "quad", "enspace", "emspace", "charspace", "nbsp", "crlf", "obeyspaces", "obeylines", "obeyedspace", "obeyedline", "obeyedtab", "obeyedpage", "normalspace", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", "removepunctuation", "ignoreparskip", "forcestrutdepth", "onlynonbreakablespace", "wait", "writestatus", "define", "defineexpandable", "redefine", "setmeasure", "setemeasure", "setgmeasure", "setxmeasure", "definemeasure", "freezemeasure", "measure", "measured", "installcorenamespace", "getvalue", "getuvalue", "setvalue", "setevalue", "setgvalue", "setxvalue", "letvalue", "letgvalue", "resetvalue", "undefinevalue", "ignorevalue", "setuvalue", "setuevalue", "setugvalue", "setuxvalue", "globallet", "glet", "udef", "ugdef", "uedef", "uxdef", "checked", "unique", "getparameters", "geteparameters", "getgparameters", "getxparameters", "forgetparameters", "copyparameters", "getdummyparameters", "dummyparameter", "directdummyparameter", "setdummyparameter", "letdummyparameter", "setexpandeddummyparameter", "usedummystyleandcolor", "usedummystyleparameter", "usedummycolorparameter", "processcommalist", "processcommacommand", "quitcommalist", "quitprevcommalist", "processaction", "processallactions", "processfirstactioninset", "processallactionsinset", "unexpanded", "expanded", "startexpanded", "stopexpanded", "protected", "protect", "unprotect", "firstofoneargument", "firstoftwoarguments", "secondoftwoarguments", "firstofthreearguments", "secondofthreearguments", "thirdofthreearguments", "firstoffourarguments", "secondoffourarguments", "thirdoffourarguments", "fourthoffourarguments", "firstoffivearguments", "secondoffivearguments", "thirdoffivearguments", "fourthoffivearguments", "fifthoffivearguments", "firstofsixarguments", "secondofsixarguments", "thirdofsixarguments", "fourthofsixarguments", "fifthofsixarguments", "sixthofsixarguments", "firstofoneunexpanded", "firstoftwounexpanded", "secondoftwounexpanded", "firstofthreeunexpanded", "secondofthreeunexpanded", "thirdofthreeunexpanded", "gobbleoneargument", "gobbletwoarguments", "gobblethreearguments", "gobblefourarguments", "gobblefivearguments", "gobblesixarguments", "gobblesevenarguments", "gobbleeightarguments", "gobbleninearguments", "gobbletenarguments", "gobbleoneoptional", "gobbletwooptionals", "gobblethreeoptionals", "gobblefouroptionals", "gobblefiveoptionals", "dorecurse", "doloop", "exitloop", "dostepwiserecurse", "recurselevel", "recursedepth", "dofastloopcs", "fastloopindex", "fastloopfinal", "dowith", "newconstant", "setnewconstant", "setconstant", "setconstantvalue", "newconditional", "settrue", "setfalse", "settruevalue", "setfalsevalue", "newmacro", "setnewmacro", "newfraction", "newsignal", "dosingleempty", "dodoubleempty", "dotripleempty", "doquadrupleempty", "doquintupleempty", "dosixtupleempty", "doseventupleempty", "dosingleargument", "dodoubleargument", "dotripleargument", "doquadrupleargument", "doquintupleargument", "dosixtupleargument", "doseventupleargument", "dosinglegroupempty", "dodoublegroupempty", "dotriplegroupempty", "doquadruplegroupempty", "doquintuplegroupempty", "permitspacesbetweengroups", "dontpermitspacesbetweengroups", "nopdfcompression", "maximumpdfcompression", "normalpdfcompression", "onlypdfobjectcompression", "nopdfobjectcompression", "modulonumber", "dividenumber", "getfirstcharacter", "doifelsefirstchar", "doiffirstcharelse", "startnointerference", "stopnointerference", "twodigits", "threedigits", "leftorright", "offinterlineskip", "oninterlineskip", "nointerlineskip", "strut", "halfstrut", "quarterstrut", "depthstrut", "halflinestrut", "noheightstrut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "struthtdp", "strutgap", "begstrut", "endstrut", "lineheight", "leftboundary", "rightboundary", "signalcharacter", "ordordspacing", "ordopspacing", "ordbinspacing", "ordrelspacing", "ordopenspacing", "ordclosespacing", "ordpunctspacing", "ordinnerspacing", "opordspacing", "opopspacing", "opbinspacing", "oprelspacing", "opopenspacing", "opclosespacing", "oppunctspacing", "opinnerspacing", "binordspacing", "binopspacing", "binbinspacing", "binrelspacing", "binopenspacing", "binclosespacing", "binpunctspacing", "bininnerspacing", "relordspacing", "relopspacing", "relbinspacing", "relrelspacing", "relopenspacing", "relclosespacing", "relpunctspacing", "relinnerspacing", "openordspacing", "openopspacing", "openbinspacing", "openrelspacing", "openopenspacing", "openclosespacing", "openpunctspacing", "openinnerspacing", "closeordspacing", "closeopspacing", "closebinspacing", "closerelspacing", "closeopenspacing", "closeclosespacing", "closepunctspacing", "closeinnerspacing", "punctordspacing", "punctopspacing", "punctbinspacing", "punctrelspacing", "punctopenspacing", "punctclosespacing", "punctpunctspacing", "punctinnerspacing", "innerordspacing", "inneropspacing", "innerbinspacing", "innerrelspacing", "inneropenspacing", "innerclosespacing", "innerpunctspacing", "innerinnerspacing", "normalreqno", "startimath", "stopimath", "normalstartimath", "normalstopimath", "startdmath", "stopdmath", "normalstartdmath", "normalstopdmath", "normalsuperscript", "normalsubscript", "normalnosuperscript", "normalnosubscript", "superscript", "subscript", "nosuperscript", "nosubscript", "uncramped", "cramped", "triggermathstyle", "mathstylefont", "mathsmallstylefont", "mathstyleface", "mathsmallstyleface", "mathstylecommand", "mathpalette", "mathstylehbox", "mathstylevbox", "mathstylevcenter", "mathstylevcenteredhbox", "mathstylevcenteredvbox", "mathtext", "setmathsmalltextbox", "setmathtextbox", "pushmathstyle", "popmathstyle", "triggerdisplaystyle", "triggertextstyle", "triggerscriptstyle", "triggerscriptscriptstyle", "triggeruncrampedstyle", "triggercrampedstyle", "triggersmallstyle", "triggeruncrampedsmallstyle", "triggercrampedsmallstyle", "triggerbigstyle", "triggeruncrampedbigstyle", "triggercrampedbigstyle", "luaexpr", "expelsedoif", "expdoif", "expdoifnot", "expdoifelsecommon", "expdoifcommonelse", "expdoifelseinset", "expdoifinsetelse", "ctxdirectlua", "ctxlatelua", "ctxsprint", "ctxwrite", "ctxcommand", "ctxdirectcommand", "ctxlatecommand", "ctxreport", "ctxlua", "luacode", "lateluacode", "directluacode", "registerctxluafile", "ctxloadluafile", "luaversion", "luamajorversion", "luaminorversion", "ctxluacode", "luaconditional", "luaexpanded", "startluaparameterset", "stopluaparameterset", "luaparameterset", "definenamedlua", "obeylualines", "obeyluatokens", "startluacode", "stopluacode", "startlua", "stoplua", "startctxfunction", "stopctxfunction", "ctxfunction", "startctxfunctiondefinition", "stopctxfunctiondefinition", "installctxfunction", "installprotectedctxfunction", "installprotectedctxscanner", "installctxscanner", "resetctxscanner", "cldprocessfile", "cldloadfile", "cldloadviafile", "cldcontext", "cldcommand", "carryoverpar", "lastlinewidth", "assumelongusagecs", "Umathbotaccent", "righttolefthbox", "lefttorighthbox", "righttoleftvbox", "lefttorightvbox", "righttoleftvtop", "lefttorightvtop", "rtlhbox", "ltrhbox", "rtlvbox", "ltrvbox", "rtlvtop", "ltrvtop", "autodirhbox", "autodirvbox", "autodirvtop", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "lefttoright", "righttoleft", "checkedlefttoright", "checkedrighttoleft", "synchronizelayoutdirection", "synchronizedisplaydirection", "synchronizeinlinedirection", "dirlre", "dirrle", "dirlro", "dirrlo", "lesshyphens", "morehyphens", "nohyphens", "dohyphens", "Ucheckedstartdisplaymath", "Ucheckedstopdisplaymath", "break", "nobreak", "allowbreak", "goodbreak", "nospace", "nospacing", "dospacing", "naturalhbox", "naturalvbox", "naturalvtop", "naturalhpack", "naturalvpack", "naturaltpack", "reversehbox", "reversevbox", "reversevtop", "reversehpack", "reversevpack", "reversetpack", "frule", "compoundhyphenpenalty", "start", "stop", "unsupportedcs" }, }
\ No newline at end of file diff --git a/doc/context/documents/general/leaflets/leaflet-context.pdf b/doc/context/documents/general/leaflets/leaflet-context.pdf Binary files differnew file mode 100644 index 000000000..1f7afe97f --- /dev/null +++ b/doc/context/documents/general/leaflets/leaflet-context.pdf diff --git a/doc/context/documents/general/leaflets/leaflet-luametatex.pdf b/doc/context/documents/general/leaflets/leaflet-luametatex.pdf Binary files differnew file mode 100644 index 000000000..551b9ba8e --- /dev/null +++ b/doc/context/documents/general/leaflets/leaflet-luametatex.pdf diff --git a/doc/context/documents/general/leaflets/leaflet-mixing.pdf b/doc/context/documents/general/leaflets/leaflet-mixing.pdf Binary files differnew file mode 100644 index 000000000..a023f9e88 --- /dev/null +++ b/doc/context/documents/general/leaflets/leaflet-mixing.pdf diff --git a/doc/context/documents/general/fonts/fonts-mkiv.pdf b/doc/context/documents/general/manuals/fonts-mkiv.pdf Binary files differindex d388df3e9..d388df3e9 100644 --- a/doc/context/documents/general/fonts/fonts-mkiv.pdf +++ b/doc/context/documents/general/manuals/fonts-mkiv.pdf diff --git a/doc/context/documents/general/qrcs/setup-cs.pdf b/doc/context/documents/general/qrcs/setup-cs.pdf Binary files differindex 3cd5aa523..7679fdb76 100644 --- a/doc/context/documents/general/qrcs/setup-cs.pdf +++ b/doc/context/documents/general/qrcs/setup-cs.pdf diff --git a/doc/context/documents/general/qrcs/setup-de.pdf b/doc/context/documents/general/qrcs/setup-de.pdf Binary files differindex 68ab4835c..1cd01bed1 100644 --- a/doc/context/documents/general/qrcs/setup-de.pdf +++ b/doc/context/documents/general/qrcs/setup-de.pdf diff --git a/doc/context/documents/general/qrcs/setup-en.pdf b/doc/context/documents/general/qrcs/setup-en.pdf Binary files differindex e1f854a34..479e16737 100644 --- a/doc/context/documents/general/qrcs/setup-en.pdf +++ b/doc/context/documents/general/qrcs/setup-en.pdf diff --git a/doc/context/documents/general/qrcs/setup-fr.pdf b/doc/context/documents/general/qrcs/setup-fr.pdf Binary files differindex 1bb2d1fbf..86f70bc73 100644 --- a/doc/context/documents/general/qrcs/setup-fr.pdf +++ b/doc/context/documents/general/qrcs/setup-fr.pdf diff --git a/doc/context/documents/general/qrcs/setup-it.pdf b/doc/context/documents/general/qrcs/setup-it.pdf Binary files differindex 611aadc71..7b863fabf 100644 --- a/doc/context/documents/general/qrcs/setup-it.pdf +++ b/doc/context/documents/general/qrcs/setup-it.pdf diff --git a/doc/context/documents/general/qrcs/setup-mapping-cs.pdf b/doc/context/documents/general/qrcs/setup-mapping-cs.pdf Binary files differindex 99f5e258d..6c13ca4af 100644 --- a/doc/context/documents/general/qrcs/setup-mapping-cs.pdf +++ b/doc/context/documents/general/qrcs/setup-mapping-cs.pdf diff --git a/doc/context/documents/general/qrcs/setup-mapping-de.pdf b/doc/context/documents/general/qrcs/setup-mapping-de.pdf Binary files differindex 37d64abe8..1675610f4 100644 --- a/doc/context/documents/general/qrcs/setup-mapping-de.pdf +++ b/doc/context/documents/general/qrcs/setup-mapping-de.pdf diff --git a/doc/context/documents/general/qrcs/setup-mapping-en.pdf b/doc/context/documents/general/qrcs/setup-mapping-en.pdf Binary files differindex 35df67720..561220390 100644 --- a/doc/context/documents/general/qrcs/setup-mapping-en.pdf +++ b/doc/context/documents/general/qrcs/setup-mapping-en.pdf diff --git a/doc/context/documents/general/qrcs/setup-mapping-fr.pdf b/doc/context/documents/general/qrcs/setup-mapping-fr.pdf Binary files differindex 8259467fe..a99ea5ac6 100644 --- a/doc/context/documents/general/qrcs/setup-mapping-fr.pdf +++ b/doc/context/documents/general/qrcs/setup-mapping-fr.pdf diff --git a/doc/context/documents/general/qrcs/setup-mapping-it.pdf b/doc/context/documents/general/qrcs/setup-mapping-it.pdf Binary files differindex 9056f7453..db48c25d7 100644 --- a/doc/context/documents/general/qrcs/setup-mapping-it.pdf +++ b/doc/context/documents/general/qrcs/setup-mapping-it.pdf diff --git a/doc/context/documents/general/qrcs/setup-mapping-nl.pdf b/doc/context/documents/general/qrcs/setup-mapping-nl.pdf Binary files differindex 827a82fdb..8fed3b6f3 100644 --- a/doc/context/documents/general/qrcs/setup-mapping-nl.pdf +++ b/doc/context/documents/general/qrcs/setup-mapping-nl.pdf diff --git a/doc/context/documents/general/qrcs/setup-mapping-ro.pdf b/doc/context/documents/general/qrcs/setup-mapping-ro.pdf Binary files differindex 61bf080d8..7d213c131 100644 --- a/doc/context/documents/general/qrcs/setup-mapping-ro.pdf +++ b/doc/context/documents/general/qrcs/setup-mapping-ro.pdf diff --git a/doc/context/documents/general/qrcs/setup-nl.pdf b/doc/context/documents/general/qrcs/setup-nl.pdf Binary files differindex bdd91d283..d78433474 100644 --- a/doc/context/documents/general/qrcs/setup-nl.pdf +++ b/doc/context/documents/general/qrcs/setup-nl.pdf diff --git a/doc/context/documents/general/qrcs/setup-ro.pdf b/doc/context/documents/general/qrcs/setup-ro.pdf Binary files differindex ed009f568..251dbb387 100644 --- a/doc/context/documents/general/qrcs/setup-ro.pdf +++ b/doc/context/documents/general/qrcs/setup-ro.pdf diff --git a/doc/context/sources/general/fonts/manuals-explaining-contents.tex b/doc/context/sources/general/fonts/manuals-explaining-contents.tex deleted file mode 100644 index 3e1fadabc..000000000 --- a/doc/context/sources/general/fonts/manuals-explaining-contents.tex +++ /dev/null @@ -1,11 +0,0 @@ -% language=uk - -\startcomponent manuals-explaining-contents - - \starttitle[title=Contents][color=darkgray] - - \placelist[chapter][criterium=text] - - \stoptitle - -\stopcomponent diff --git a/doc/context/sources/general/fonts/manuals-explaining-cover.tex b/doc/context/sources/general/fonts/manuals-explaining-cover.tex deleted file mode 100644 index 8b4f3e891..000000000 --- a/doc/context/sources/general/fonts/manuals-explaining-cover.tex +++ /dev/null @@ -1,199 +0,0 @@ -% language=uk - -% Please try to be original and don't just copy this cover page as I don't want -% confusion and be associated with (or responsibility for the look of) similar -% looking documents. - -\startenvironment manuals-explaining-cover - -\startsetups document:abstract - \framed [ - foregroundstyle=bold, - foregroundcolor=white, - width=7.5cm, - align={normal,tolerant}, - frame=off, - strut=no, - ] { - \getbuffer[abstract] - } -\stopsetups - -\startMPinclusions - - def DrawCoverPage (expr what) = - - numeric variant ; variant := 1 ; - - StartCover ; - - save width, height, size, anchor, offset, colors ; - - numeric width, height, size ; pair anchor, offset ; string colors[] ; - - colors[1] := "\documentvariable{cover:color:1}" ; - colors[2] := "\documentvariable{cover:color:2}" ; - colors[3] := "\documentvariable{cover:color:3}" ; - colors[4] := "\documentvariable{cover:color:4}" ; - colors[5] := "\documentvariable{cover:color:5}" ; - - fill CoverPage enlarged PaperBleed withcolor colors[5] ; - - fill Spine bottomenlarged -.5PaperHeight withcolor colors[3] ; - fill Spine topenlarged -.5PaperHeight withcolor colors[2] ; - - width := FrontPageWidth ; - height := FrontPageHeight ; - size := 4 * width / 3 ; - offset := (-1cm,1cm) ; - anchor := .5[lrcorner CoverPage,urcorner CoverPage] ; - - fill anchored.llft(lltriangle scaled size, urcorner FrontPage) withcolor colors[1] ; - fill anchored.urt (urtriangle scaled size, llcorner FrontPage) withcolor colors[2] ; - fill anchored.lrt (lrtriangle scaled size, ulcorner FrontPage) withcolor colors[3] ; - fill anchored.ulft(ultriangle scaled size, lrcorner FrontPage) withcolor colors[4] ; - - fill anchored.lrt (lrtriangle scaled size, ulcorner BackPage) withcolor colors[1] ; - fill anchored.llft(lltriangle scaled size, urcorner BackPage) withcolor colors[3] ; - fill anchored.ulft(ultriangle scaled size, lrcorner BackPage) withcolor colors[2] ; - fill anchored.urt (urtriangle scaled size, llcorner BackPage) withcolor colors[4] ; - - draw thetextext.llft( - textext("\bf \documentvariable{title}\hskip-.1em") - rotated 45 ysized .350height, - anchor shifted (6*offset+offset) - ) withcolor white ; - draw thetextext.llft( - textext("\bf \documentvariable{subtitle}") - rotated 45 ysized .275height, - anchor shifted (5*offset+offset) - ) withcolor white ; - draw thetextext.llft( - textext("\bf \documentvariable{author}") - rotated 45 ysized .200height, - anchor shifted (2*offset+offset) - ) withcolor white ; - draw thetextext.llft( - textext("\bf \documentvariable{affiliation}") - rotated 45 ysized .200height, - anchor shifted (1*offset+offset) - ) withcolor white ; - - % for the moment - - if (what = "back") or (what = "cover") : - - draw - thetextext.top( - textext("\bf \documentvariable{comment}") - xsized 4cm, - lrcorner Page shifted (-3cm,1cm) - ) withcolor white ; - - fi ; - - % till here - - width := BackPageWidth ; - - if (what = "back") or (what = "cover") : - - draw thetextext( - textext("\bf\setups[document:abstract]") - xsized .65width rotated 45, - center BackPage - ) withcolor white ; - - fi ; - - if what = "cover" : - - draw thetextext.bot( - textext("\bf \documentvariable{title}\hskip-.1em") - rotated 90 xsized .8SpineWidth, - .5[ulcorner Spine,urcorner Spine] shifted (0,-1cm) - ) withcolor white ; - - draw thetextext.top( - textext("\bf \documentvariable{author}") - rotated 90 xsized .8SpineWidth, - .5[llcorner Spine,lrcorner Spine] shifted (0,1cm) - ) withcolor white ; - - fi ; - - StopCover ; - - if what = "front" : - clip currentpicture to FrontPage ; - elseif what = "back" : - clip currentpicture to BackPage ; - else : - drawboundary CoverPage ; - fi ; - - enddef ; - -\stopMPinclusions - -\startsetups document:start - - % \startcovermatter[front] - - \setupbackgrounds[page][background=] - - \doifmodeelse {simple} { - - \startMPpage - DrawCoverPage("front") ; - \stopMPpage - - } { - - \startMPpage - DrawCoverPage("cover") ; - \stopMPpage - - } - - \page[dummy] - - \setupbackgrounds[page][background=page] - - \resetuserpagenumber - - % \stopcovermatter - -\stopsetups - -\startsetups document:stop - - \doifmodeelse {simple} { - - % \startcovermatter[back] - - \page - - \setuppagenumbering[page=] - - \setupbackgrounds[page][background=] - - \page[empty,left] - - \setupmakeup[doublesided=no,page=no] - - \startMPpage - DrawCoverPage("back") ; - \stopMPpage - - % \stopcovermatter - - } { - - % not needed as it's part of the cover page - - } - -\stopsetups - -\stopenvironment diff --git a/doc/context/sources/general/fonts/manuals-explaining-environment.tex b/doc/context/sources/general/fonts/manuals-explaining-environment.tex deleted file mode 100644 index f896c219b..000000000 --- a/doc/context/sources/general/fonts/manuals-explaining-environment.tex +++ /dev/null @@ -1,325 +0,0 @@ -\startenvironment manuals-explaining-environment - -\usemodule[abr-01] -\usemodule[visual] -\usemodule[simulate] -\usemodule[chart] -\usemodule[nodechart] - -% done - -\dontcomplain - -\definepapersize - [book] - [width=18cm, - height=24cm] - -\setuppapersize - [book] - -\startmode[oversized] - - \setuppapersize - [book] - [oversized] - - \setuplayout - [marking=on] - -\stopmode - -\setuplayout - [location=middle, - topspace=1.5cm, - bottomspace=2cm, - backspace=2cm, - cutspace=2cm, - header=0cm, - footer=0cm, - margindistance=.25cm, - margin=1.25cm, - width=middle, - height=middle] - -\setuplayout - [style=\ss] - -\usetypescript - [dejavu-condensed] - -\setupbodyfont - [ipaex,9pt] - -\setupbodyfont - [dejavu,9pt] - -\definetyping - [narrowtyping] - [typing] - [bodyfont=dejavu-condensed] - -% This is way too ugly for a manual: -% -% \setuptyping -% [indentnext=no] -% -% \setupindenting -% [medium,yes] - -\setupwhitespace - [big] - -\defineoverlay - [page] - [\useMPgraphic{page}] - -\setupbackgrounds - [page] - [background=page] - -\setuphead - [chapter,section,subsection] - [color=\namedstructureuservariable{chapter}{color}] - -\setuphead - [chapter] - [style=\bfc] - -\setuphead - [section] - [style=\bfb] - -\setuphead - [subsection] - [style=\bf, - before=\blank, - after=\blank] - -\startsetups document:chapter:inside - \definecolor[maincolor][1.0(\namedheadparameter{chapter}{color})] % this expands the color - \definecolor[halfcolor][0.5(maincolor,white)] -\stopsetups - -\setuphead - [chapter] - [insidesection=\directsetup{document:chapter:inside}] - -\setuppagenumbering - [alternative=doublesided, - location=] - -\setuplist - [aligntitle=yes] - -\setuplist - [chapter] - [pagenumber=no, - style=bold, - before={\blank\startcolor[\structurelistuservariable{color}]}, - after={\placelist[section]\stopcolor}] - -\setuplist - [chapter,section] - [width=3em] - -\startuseMPgraphic{page} - - StartPage ; - - linecap := butt ; - - if OnRightPage : - - path p ; p := ( - urcorner Page shifted (-2cm,0) -- - urcorner Page -- - urcorner Page shifted (0,-2cm) -- cycle - ) shifted (-2.5mm,-2.5mm) ; - - else : - - path p ; p := ( - ulcorner Page shifted (2cm,0) -- - ulcorner Page -- - ulcorner Page shifted (0,-2cm) -- cycle - ) shifted (2.5mm,-2.5mm) ; - - fi ; - - fill p - withpen pencircle scaled 1mm - withcolor "maincolor" ; - - draw thetextext("\bf\userpagenumber", - if OnRightPage : urcorner p shifted (-5mm,-5mm) else : ulcorner p shifted (5mm,-5mm) fi) - withcolor white ; - - if OnRightPage : - - path p ; p := ( - lrcorner Page shifted (-5cm,0) -- - lrcorner Page - ) shifted (-5mm,10mm) - - else : - - path p ; p := ( - llcorner Page shifted (5cm,0) -- - llcorner Page - ) shifted (5mm,10mm) ; - - fi ; - - draw p - withpen pencircle scaled 1mm - withcolor "maincolor" ; - - draw if OnRightPage : - thetextext.lft("\bf\getspecificstructuretitle{chapter}",lrcorner Page shifted (-5mm,5mm)) - else : - thetextext.rt ("\bf\getspecificstructuretitle{chapter}",llcorner Page shifted ( 5mm,5mm)) - fi withcolor "\namedstructureuservariable{chapter}{color}" ; - - StopPage ; -\stopuseMPgraphic - -\definecolor[orange] [r=1,g=.6,b=.1] - -\definecolor[middlegray] [s=.75] -\definecolor[darkgray] [s=.25] -\definecolor[darkred] [r=.5] -\definecolor[darkgreen] [g=.5] -\definecolor[darkblue] [b=.5] - -\definecolor[darkyellow] [.5(red,green)] -\definecolor[darkmagenta][.5(red,blue)] -\definecolor[darkcyan] [.5(green,blue)] - -\definecolor[darkorange] [.5(orange)] - -\definecolor[maincolor] [darkgray] - -\definecolor [mix-1] [r=1,g=.75,b=.25] \definecolor [darkmix-1][.5(mix-1)] -\definecolor [mix-2] [r=1,g=.25,b=.75] \definecolor [darkmix-2][.5(mix-2)] -\definecolor [mix-3] [r=.75,g=1,b=.25] \definecolor [darkmix-3][.5(mix-3)] -\definecolor [mix-4] [r=.75,g=.25,b=1] \definecolor [darkmix-4][.5(mix-4)] -\definecolor [mix-5] [r=.25,g=1,b=.75] \definecolor [darkmix-5][.5(mix-5)] -\definecolor [mix-6] [r=.25,g=.75,b=1] \definecolor [darkmix-6][.5(mix-6)] - -% \blackrule[height=1cm,width=10cm,color=mix-1] \blackrule[height=1cm,width=10cm,color=darkmix-1] -% \blackrule[height=1cm,width=10cm,color=mix-2] \blackrule[height=1cm,width=10cm,color=darkmix-2] -% \blackrule[height=1cm,width=10cm,color=mix-3] \blackrule[height=1cm,width=10cm,color=darkmix-3] -% \blackrule[height=1cm,width=10cm,color=mix-4] \blackrule[height=1cm,width=10cm,color=darkmix-4] -% \blackrule[height=1cm,width=10cm,color=mix-5] \blackrule[height=1cm,width=10cm,color=darkmix-5] -% \blackrule[height=1cm,width=10cm,color=mix-6] \blackrule[height=1cm,width=10cm,color=darkmix-6] - -% modules - -\setupsorting - [logo] - [style=] - -\setupFLOWchart - [width=6em, - height=3em, - offset=-2em, % maybe default : todo: hoffset and voffset - dx=2em, - dy=2em] - -\setupFLOWlines - [color=maincolor] - -\setupFLOWshapes - [rulecolor=maincolor] - -% tables - -\setuptabulate - [rulethickness=.5mm, - rulecolor=maincolor] - -% special commands - -\startuniqueMPgraphic{reference}{color} - fill - .5[llcorner OverlayBox,ulcorner OverlayBox] -- - .5[ulcorner OverlayBox,urcorner OverlayBox] -- - .5[urcorner OverlayBox,lrcorner OverlayBox] -- - .5[lrcorner OverlayBox,llcorner OverlayBox] -- cycle - withcolor \MPvar{color} ; -\stopuniqueMPgraphic - -\startuniqueMPgraphic{reference}{color} - path p ; p := OverlayBox enlarged -1mm ; - filldraw - ulcorner p -- - urcorner p -- - lrcorner p -- - .5[lrcorner p,llcorner p] shifted (0,-1ExHeight) -- - llcorner p -- cycle - withpen pencircle scaled 1mm - withcolor \MPvar{color} ; - setbounds currentpicture to OverlayBox enlarged 1ExHeight ; -\stopuniqueMPgraphic - -\defineoverlay - [reference] - [\uniqueMPgraphic{reference}{color=maincolor,}] - -\definecolor - [maincolor] - [red] - -\definemargindata - [appendixdata] - %[inner] - [outer] - [stack=yes] - -\definemarginframed - [appendixdata] - [width=3.5em, - height=\lineheight, % we know what goes in there - align=middle, - offset=overlay, - foregroundcolor=white, - background=reference] - -% todo: -% -% \appendixdata[reference=bla]{} -% -% whole data - -% interaction - -\setupinteraction - [state=start, - click=no, - color=, - contrastcolor=, - style=] - -% whatever - -\definestartstop - [notabene] - [before=\blank, - after=\blank, - style=\em] - -\setuphyphenation - [method=default] - - -\startbuffer[underconstruction] -\startnotabene - This document is still under construction. The functionality discussed here - will stay and more might show up. Of course there are errors, and they're all - mine. The text is not checked for spelling errors. Feel free to let me know - what should get added. -\stopnotabene -\stopbuffer - -\stopenvironment diff --git a/doc/context/sources/general/leaflets/leaflet-common.tex b/doc/context/sources/general/leaflets/leaflet-common.tex new file mode 100644 index 000000000..52cc31797 --- /dev/null +++ b/doc/context/sources/general/leaflets/leaflet-common.tex @@ -0,0 +1,80 @@ +\startenvironment leaflet-common + +%D Please don't abuse this style for your own purpose as the look and feel +%D is reserved for our own purpose. Be creative instead. + +\usemodule + [abbreviations-logos] + +\setupbodyfont + [plex,12pt] + +\setuplayout + [page] + +\setupalign + [verytolerant,stretch] + +\startluacode + function document.graphic() + local min, max, random, round = math.min, math.max, math.random, math.round + + local width = 210 + local height = 297 + local r, g, b = 3, 3, 3 + + local bitmap = graphics.bitmaps.new(width,height,"rgb",1) + local data = bitmap.data + + local graphic = tonumber(documentdata.variable("graphic")) + + if graphic == 1 then + r, g, b = 4, 3, 2 + elseif graphic == 2 then + r, g, b = 2, 3, 4 + end + + for i=1,height do + local d = data[i] + for j=1,width do + local c = random(128,255) + -- d[j] = { 0, 0, c } + d[j] = { c//r, c//g, c//b } + end + end + + graphics.bitmaps.tocontext(bitmap,"210bp","297bp") + end +\stopluacode + +\definelayer + [page] + [width=\paperwidth, + height=\paperheight] + +\setupcolors + [textcolor=white] + +\setupbackgrounds + [page] + [background=page] + +\setupmakeup + [page] + [style=\bf, + top=, + bottom=] + +\startsetups document:start + + \setlayerframed + [page] + [offset=overlay] + {\scale + [width=\textwidth, + height=\textheight] + {\ctxlua{document.graphic()}}} + +\stopsetups + +\stopenvironment diff --git a/doc/context/sources/general/leaflets/leaflet-context.tex b/doc/context/sources/general/leaflets/leaflet-context.tex new file mode 100644 index 000000000..7bab43b12 --- /dev/null +++ b/doc/context/sources/general/leaflets/leaflet-context.tex @@ -0,0 +1,129 @@ +\environment leaflet-common + +\startdocument[graphic=1] + +\startbuffer[1] + There are several ways to deploy \CONTEXT. Most common is to let it render a + document, in which case you install it on a system and use an editor to input + your document and from a console or by clicking some key trigger a run. The + input can be structured using \TEX\ macros but it can also be \XML, or some + other format that gets converted to \CONTEXT\ commands before processing. +\stopbuffer + +\startbuffer[2] + Instead you can also use \CONTEXT\ as a more hidden application, for instance + in a web service or rendering component in a larger application. In that case + the end user is not really aware that \TEX\ is being used. +\stopbuffer + +\startbuffer[3] + No matter how you use \CONTEXT, you need to install it first. You can for + instance use \TEX live or another distribution to pick up \CONTEXT, but you + can also install it using the archive (snapshot), in which case you also need + to pick up the engine (for instance \LUATEX) and a basic set of fonts. In + order to make installation easy we provide a so called standalone + distribution that has all you need. +\stopbuffer + +\startbuffer[4] + + The standalone \CONTEXT\ distribution has the following characteristics: + + \startitemize + \startitem + The installation is self contained. Apart from resources like fonts, + the \TEX\ macros, \LUA\ code and \METAPOST\ helpers are provided in + one package. + \stopitem + \startitem + There is only one binary involved: \LUAMETATEX. The source code of + this program is integral part of the \CONTEXT\ distribution (per end + 2019). A user should be able to compile the program if needed. There + is no dependency on additional libraries other than those that make + up the operating system. + \stopitem + \startitem + The core system is able to typeset documents in an efficient way. The + memory footprint is decent and performance acceptable, also on on low + power devices and virtual machines. We try not to provide bloatware. + \stopitem + \startitem + The official user interface is stable and the implementation of core + components will not change fundamentally. When something can be + improved it will be. One can use a snapshot for long term stability. + \stopitem + \startitem + Support is provided by means of a mailing list, a wiki, + documentation, meetings, etc. If needed you can consult (or hire) + support. There are enough experienced users out there to get you + going. + \stopitem + \stopitemize +\stopbuffer + +\startbuffer[5] + The first version of \CONTEXT, now tagged \MKII, has been around since 1995 + and (still) runs on top of \PDFTEX. The development of its successor \MKIV\ + started in 2005 as part of the \LUATEX\ development and still carries on. The + most recent incarnation is \LMTX, which is \MKIV\ but tuned for \LUAMETATEX, + the lean and mean successor of \LUATEX. +\stopbuffer + +% we could use a collector + +\startpagemakeup + \offinterlineskip + \vskip24pt + \hbox to \hsize \bgroup + \hss + \startframed[align=normal,width=.7\textwidth,frame=off] + \getbuffer[1] + \stopframed + \hskip1cm + \egroup + \vfill + \hbox to \hsize \bgroup + \hskip1cm + \startframed[align=normal,width=.7\textwidth,frame=off] + \getbuffer[2] + \stopframed + \egroup + \vfill + \hbox to \hsize \bgroup + \hss + \startframed[align=normal,width=.7\textwidth,frame=off] + \getbuffer[3] + \stopframed + \hskip1cm + \egroup + \vfill + \hbox to \hsize \bgroup + \hss + \setupitemize[after=] + \startframed[align=normal,width=\dimexpr\textwidth-2cm\relax,frame=off] + \getbuffer[4] + \stopframed + \hskip1cm + \egroup + \vfill + \hbox to \hsize \bgroup + \hss + \startframed[align=normal,width=.7\textwidth,frame=off] + \getbuffer[5] + \stopframed + \hskip1cm + \egroup + \vfill + \vfill + \vfill + \hbox to \hsize \bgroup + \hskip1cm + \startframed[align=normal,width=.7\textwidth,frame=off] + \bfd \CONTEXT\ \LMTX \enspace \emdash \enspace factsheet + \stopframed + \hss + \egroup + \vskip12pt +\stoppagemakeup + +\stopdocument diff --git a/doc/context/sources/general/leaflets/leaflet-luametatex.tex b/doc/context/sources/general/leaflets/leaflet-luametatex.tex new file mode 100644 index 000000000..6532a8f9f --- /dev/null +++ b/doc/context/sources/general/leaflets/leaflet-luametatex.tex @@ -0,0 +1,106 @@ +\environment leaflet-common + +\startdocument[graphic=2] + +\startbuffer[1] + The \LUAMETATEX\ engine is a follow up on \LUATEX. It integrates the \TEX\ + text rendering engine, the \METAPOST\ graphic engine and the \LUA\ script + interpreter. The development is part of the \CONTEXT\ macro package + development. This macro package tightly integrates the three subsystems. The + \LUAMETATEX\ code is part of the \CONTEXT\ distribution. +\stopbuffer + +\startbuffer[2] + The \LUAMETATEX\ engine is lean and mean. There is for instance no backend + code present. In \CONTEXT\ this is handled in \LUA. Graphic inclusion is also + delegated to \LUA. The \TEX\ frontend is a slightly extended version of the + \LUATEX\ one. System depedencies are minimized. Where possible we stay close + to the original \TEX\ concept because that is a well documented reference. + The binary can also be used as stand alone \LUA\ engine. +\stopbuffer + +\startbuffer[3] + The \METAPOST\ library also has access to \LUA, which means that the language + can be enhanced and functionality added on demand. There are several graphic + libraries provided in \CONTEXT. This graphical language is efficient in + runtime and graphical output. In combination with \LUA\ we have a high + performance graphical subsystem that can handle a huge amount of data. + Additional text (like labels) is typeset at high quality. +\stopbuffer + +\startbuffer[4] + The \LUA\ code that comes with \CONTEXT\ contains a lot of helper code which + means that one can set up selfcontained workflows without many extra + dependencies. Documents can be encoded in \TEX, \LUA, \XML\ or whatever + suits. There is support for databases too. +\stopbuffer + +\startbuffer[5] + The \CONTEXT\ code base evolved over time. The basic functionality is quite stable. + The move from \MKII\ to \MKIV\ to \LMTX\ has been gradual. The efficiency in terms + of code and performance has been improved stepwise. Development continues and beta + releases occur on a regular basis. The \CONTEXT\ user community is quite willing + to experiment with betas that can be installed alongside stable snapshots. + + \blank + + The installation is relatively small (fonts make up much of it) and updating is + easy. We operate in the \TEX\ Directory Structure, which is a proven concept. +\stopbuffer + +\startpagemakeup + \offinterlineskip + \vskip24pt + \hbox to \hsize \bgroup + \hss + \startframed[align=normal,width=.7\textwidth,frame=off] + \getbuffer[1] + \stopframed + \hskip1cm + \egroup + \vfill + \hbox to \hsize \bgroup + \hskip1cm + \startframed[align=normal,width=.7\textwidth,frame=off] + \getbuffer[2] + \stopframed + \egroup + \vfill + \hbox to \hsize \bgroup + \hss + \startframed[align=normal,width=.7\textwidth,frame=off] + \getbuffer[3] + \stopframed + \hskip1cm + \egroup + \vfill + \hbox to \hsize \bgroup + \hss + \setupitemize[after=] + \startframed[align=normal,width=\dimexpr\textwidth-2cm\relax,frame=off] + \getbuffer[4] + \stopframed + \hskip1cm + \egroup + \vfill + \hbox to \hsize \bgroup + \hss + \startframed[align=normal,width=.7\textwidth,frame=off] + \getbuffer[5] + \stopframed + \hskip1cm + \egroup + \vfill + \vfill + \vfill + \hbox to \hsize \bgroup + \hskip1cm + \startframed[align=normal,width=.7\textwidth,frame=off] + \bfd \LUAMETATEX \enspace \emdash \enspace factsheet + \stopframed + \hss + \egroup + \vskip12pt +\stoppagemakeup + +\stopdocument diff --git a/doc/context/sources/general/leaflets/leaflet-mixing.tex b/doc/context/sources/general/leaflets/leaflet-mixing.tex new file mode 100644 index 000000000..9f14525b3 --- /dev/null +++ b/doc/context/sources/general/leaflets/leaflet-mixing.tex @@ -0,0 +1,450 @@ +%D Please don't abuse this style for your own purpose as the look and feel +%D is reserved for our own purpose. Be creative instead. + +\setupbodyfont + [plex,7pt] + +\setuppapersize + [A3,landscape] + +\setuplayout + [width=middle, + height=middle, + header=0pt, + footer=0pt, + backspace=5mm, + topspace=5mm] + +\definelayer + [page] + [width=\textwidth, + height=\textheight] + +\setupbackgrounds + [page] + [background=color, + backgroundcolor=middlegray] + +\setuptyping + [before=,after=] + +\usemodule + [abbreviations-logos] + +\startbuffer[style] + \setupbodyfont + [plex] + \setuplayout + [width=middle, + height=middle, + margin=1cm] + \setupcolors + [textcolor=white] + \usemodule + [abbreviations-logos] + \setupwhitespace + [big] + \setuphead + [chapter] + [style=\bfc] +\stopbuffer + +\startbuffer[intro] + + \starttitle[title={Using \CONTEXT}] + + The \CONTEXT\ macro package is more than just a \TEX\ processor, + various input is possible, some we show here. An example of a + method not shown here is fetching data from a database. The + various input methods can be combined, so depending on what you + need you can mix \TEX\ (for typesetting text), \METAPOST\ (for + producing graphics) or \LUA\ (as language for manipulating + data. + + All these methods are quite efficient and always have access to + the full power of the typesetting engine. + + When you use \CONTEXT\ with \LUAMETATEX, you get a reasonable + small self contained component that can be used in workflows + that need quality rendering. The ecosystem is rather future + proof too. + + The \CONTEXT\ macro package has been around for decades and + evolved from \MKII, to \MKIV\ and now \LMTX. The development + team has always been involved in the development of engines + like \PDFTEX, \LUATEX\ and \LUAMETATEX. There is an active + mailing list and there are \CONTEXT\ meetings. + + \stoptitle + +\stopbuffer + +\startbuffer[tex] +\starttext + + \starttitle[title={Some \TEX}] + + Just an example. + + \starttabulate[|c|c|] + \NC first 1 \NC last 1 \NC \NR + \NC first 2 \NC last 2 \NC \NR + \stoptabulate + + \stoptitle + +\stoptext +\stopbuffer + +\startbuffer[xml] +\startbuffer[demo] +<?xml version="1.0"?> +<document> + <title>Some XML</title> + <p>Just an example.</p> + <table> + <r> <c>first 1</c> <c>last 1</c> </r> + <r> <c>first 2</c> <c>last 2</c> </r> + </table> +</document> +\stopbuffer + +\startxmlsetups xml:basics + \xmlsetsetup{#1}{title|p|table}{xml:*} +\stopxmlsetups +\startxmlsetups xml:title + \title{\xmltext{#1}{.}} +\stopxmlsetups +\startxmlsetups xml:p + \xmlflush{#1}\par +\stopxmlsetups +\startxmlsetups xml:table + \starttabulate[|c|c|] + \xmlfilter{#1}{/r/command(xml:r)} + \stoptabulate +\stopxmlsetups +\startxmlsetups xml:r + \NC \xmlfilter{#1}{/c/command(xml:c)} \NR +\stopxmlsetups +\startxmlsetups xml:c + \xmlflush{#1} \NC +\stopxmlsetups + +\xmlregistersetup{xml:basics} + +\starttext + \xmlprocessbuffer{demo}{demo}{} +\stoptext +\stopbuffer + +\startbuffer[lua] +\startluacode + local tmp = { + { a = "first 1", b = "last 1" }, + { b = "last 2", a = "first 2" }, + } + + -- local tmp = table.load("somefile.lua") + + context.starttext() + + context.starttitle { title = "Some Lua" } + + context("Just an example.") context.par() + + context.starttabulate { "|c|c|" } + for i=1,#tmp do + local t = tmp[i] + context.NC() + context(t.a) context.NC() + context(t.b) context.NC() + context.NR() + end + context.stoptabulate() + + context.stoptitle() + + context.stoptext() +\stopluacode +\stopbuffer + +\startbuffer[mp] +\startMPpage + draw textext("\bf Some \MetaPost") + xsized 4cm + rotated(45) + withcolor "white" ; + + draw textext("\bs\strut in \ConTeXt") + xsized 5cm + shifted (0,-40mm) + withcolor "white" ; + + draw fullcircle + scaled 6cm + dashed evenly + withcolor "gray" ; +\stopMPpage +\stopbuffer + +\startbuffer[csv] +\startluacode + local tmp = [[ + first,second + first 1,last 1 + first 2,last 2 + ]] + + -- local tmp = io.loaddata("somefile.csv") + + local mycsvsplitter = utilities.parsers.rfc4180splitter() + local list, names = mycsvsplitter(tmp,true) + + context.starttext() + + context.starttitle { title = "Some CSV" } + + context("Just an example.") context.par() + + context.starttabulate { "|c|c|" } + for i=1,#list do + local l = list[i] + context.NC() + context(l[1]) context.NC() + context(l[2]) context.NC() + context.NR() + end + context.stoptabulate() + + context.stoptitle() + + context.stoptext() +\stopluacode +\stopbuffer + +\startbuffer[json] +\startluacode + require("util-jsn") + + -- local str = io.loaddata("somefile.json") + + local str = [[ { + "title": "Some JSON", + "text" : "Just an example.", + "data" : [ + { "a" : "first 1", "b" : "last 1" }, + { "b" : "last 2", "a" : "first 2" } + ] + } ]] + + local tmp = utilities.json.tolua(str) + + context.starttext() + + context.starttitle { title = tmp.title } + + context(tmp.text) context.par() + + context.starttabulate { "|c|c|" } + for i=1,#tmp.data do + local d = tmp.data[i] + context.NC() + context(d.a) context.NC() + context(d.b) context.NC() + context.NR() + end + context.stoptabulate() + + context.stoptitle() + + context.stoptext() +\stopluacode +\stopbuffer + +\startbuffer[mkxi] +% normally there is already a file: + +\startbuffer[demo] +\starttext + \starttitle[title={Some template}] + + Just an example. \blank + + \startlinecorrection + \bTABLE + <?lua for i=1,20 do ?> + \bTR + <?lua for j=1,5 do ?> + \bTD + cell (<?lua inject(i) ?>,<?lua inject(j) ?>) + is <?lua inject(variables.text or "unset") ?> + \eTD + <?lua end ?> + \eTR + <?lua end ?> + \eTABLE + \stoplinecorrection + + \stoptitle +\stoptext + +\stopbuffer + +\savebuffer[file=demo.mkxi,prefix=no,list=demo] + +% the action: + +\startluacode + document.variables.text = "set" +\stopluacode + +\input{demo.mkxi} +\stopbuffer + +\definemeasure[blobwidth] [\textwidth/4-3mm] +\definemeasure[blobscale] [\textwidth/4-3mm-4mm] +\definemeasure[blobheight][\textheight/2-2mm] + +\startbuffer[everything] + +\setlayerframed + [page] + [preset=lefttop] + [align=normal, + offset=2mm, + strut=no, + frame=off, + height=\measure{blobheight}, + width=\measure{blobwidth}, + background=color, + backgroundcolor=darkgray, + foregroundcolor=white] + {\doifelsemode{verbose}{\typebuffer[intro]}{\typesetbuffer[style,intro][frame=on,width=\measure{blobscale}]}} + +\setlayerframed + [page] + [preset=lefttop, + hoffset=4mm, + x=\measure{blobwidth}] + [align=normal, + offset=2mm, + strut=no, + frame=off, + height=\measure{blobheight}, + width=\measure{blobwidth}, + background=color, + backgroundcolor=darkred, + foregroundcolor=white] + {\doifelsemode{verbose}{\typebuffer[tex]}{\typesetbuffer[style,tex][frame=on,width=\measure{blobscale}]}} + +\setlayerframed + [page] + [preset=righttop, + hoffset=4mm, + x=\measure{blobwidth}] + [align=normal, + offset=2mm, + strut=no, + frame=off, + height=\measure{blobheight}, + width=\measure{blobwidth}, + background=color, + backgroundcolor=darkblue, + foregroundcolor=white] + {\doifelsemode{verbose}{\typebuffer[xml]}{\typesetbuffer[style,xml][frame=on,width=\measure{blobscale}]}} + +\setlayerframed + [page] + [preset=righttop] + [align=normal, + offset=2mm, + strut=no, + frame=off, + height=\measure{blobheight}, + width=\measure{blobwidth}, + background=color, + backgroundcolor=darkgreen, + foregroundcolor=white] + {\doifelsemode{verbose}{\typebuffer[lua]}{\typesetbuffer[style,lua][frame=on,width=\measure{blobscale}]}} + +\setlayerframed + [page] + [preset=lefttop, + voffset=4mm, + y=\measure{blobheight}] + [align=normal, + offset=2mm, + strut=no, + frame=off, + height=\measure{blobheight}, + width=\measure{blobwidth}, + background=color, + backgroundcolor=darkcyan, + foregroundcolor=white] + {\doifelsemode{verbose}{\typebuffer[mp]}{\typesetbuffer[style,mp][frame=on,width=\measure{blobscale}]}} + +\setlayerframed + [page] + [preset=lefttop, + hoffset=4mm, + x=\measure{blobwidth}, + voffset=4mm, + y=\measure{blobheight}] + [align=normal, + offset=2mm, + strut=no, + frame=off, + height=\measure{blobheight}, + width=\measure{blobwidth}, + background=color, + backgroundcolor=darkmagenta, + foregroundcolor=white] + {\doifelsemode{verbose}{\typebuffer[csv]}{\typesetbuffer[style,csv][frame=on,width=\measure{blobscale}]}} + +\setlayerframed + [page] + [preset=righttop, + hoffset=4mm, + x=\measure{blobwidth}, + voffset=4mm, + y=\measure{blobheight}] + [align=normal, + offset=2mm, + strut=no, + frame=off, + height=\measure{blobheight}, + width=\measure{blobwidth}, + background=color, + backgroundcolor=darkyellow, + foregroundcolor=white] + {\doifelsemode{verbose}{\typebuffer[json]}{\typesetbuffer[style,json][frame=on,width=\measure{blobscale}]}} + +\setlayerframed + [page] + [preset=righttop, + voffset=4mm, + y=\measure{blobheight}] + [align=normal, + offset=2mm, + strut=no, + frame=off, + height=\measure{blobheight}, + width=\measure{blobwidth}, + background=color, + backgroundcolor=darkorange, + foregroundcolor=white] + {\doifelsemode{verbose}{\typebuffer[mkxi]}{\typesetbuffer[style,mkxi][frame=on,width=\measure{blobscale}]}} + +\startstandardmakeup + \tightlayer[page] +\stopstandardmakeup + +\stopbuffer + +\starttext + +{\enablemode[verbose] \getbuffer[everything]} + \getbuffer[everything] + +\stoptext + diff --git a/doc/context/sources/general/fonts/fonts/fonts-appendix.tex b/doc/context/sources/general/manuals/fonts/fonts-appendix.tex index 2eab26a93..2eab26a93 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-appendix.tex +++ b/doc/context/sources/general/manuals/fonts/fonts-appendix.tex diff --git a/doc/context/sources/general/fonts/fonts/fonts-demo-rule.lua b/doc/context/sources/general/manuals/fonts/fonts-demo-rule.lua index 667d1e43c..667d1e43c 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-demo-rule.lua +++ b/doc/context/sources/general/manuals/fonts/fonts-demo-rule.lua diff --git a/doc/context/sources/general/fonts/fonts/fonts-environment.tex b/doc/context/sources/general/manuals/fonts/fonts-environment.tex index c884d97e5..c884d97e5 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-environment.tex +++ b/doc/context/sources/general/manuals/fonts/fonts-environment.tex diff --git a/doc/context/sources/general/fonts/fonts/fonts-extensions.tex b/doc/context/sources/general/manuals/fonts/fonts-extensions.tex index afe6fd823..afe6fd823 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-extensions.tex +++ b/doc/context/sources/general/manuals/fonts/fonts-extensions.tex diff --git a/doc/context/sources/general/fonts/fonts/fonts-features.tex b/doc/context/sources/general/manuals/fonts/fonts-features.tex index bf9f39385..bf9f39385 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-features.tex +++ b/doc/context/sources/general/manuals/fonts/fonts-features.tex diff --git a/doc/context/sources/general/fonts/fonts/fonts-formats.tex b/doc/context/sources/general/manuals/fonts/fonts-formats.tex index 9ad6bc9bd..9ad6bc9bd 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-formats.tex +++ b/doc/context/sources/general/manuals/fonts/fonts-formats.tex diff --git a/doc/context/sources/general/fonts/fonts/fonts-hooks.tex b/doc/context/sources/general/manuals/fonts/fonts-hooks.tex index 7ee5dc198..7ee5dc198 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-hooks.tex +++ b/doc/context/sources/general/manuals/fonts/fonts-hooks.tex diff --git a/doc/context/sources/general/fonts/fonts/fonts-introduction.tex b/doc/context/sources/general/manuals/fonts/fonts-introduction.tex index 0ca91ee9f..0ca91ee9f 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-introduction.tex +++ b/doc/context/sources/general/manuals/fonts/fonts-introduction.tex diff --git a/doc/context/sources/general/fonts/fonts/fonts-lookups.tex b/doc/context/sources/general/manuals/fonts/fonts-lookups.tex index e9448b884..e9448b884 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-lookups.tex +++ b/doc/context/sources/general/manuals/fonts/fonts-lookups.tex diff --git a/doc/context/sources/general/fonts/fonts/fonts-math.tex b/doc/context/sources/general/manuals/fonts/fonts-math.tex index 766204937..766204937 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-math.tex +++ b/doc/context/sources/general/manuals/fonts/fonts-math.tex diff --git a/doc/context/sources/general/fonts/fonts/fonts-methods.tex b/doc/context/sources/general/manuals/fonts/fonts-methods.tex index eac86d694..eac86d694 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-methods.tex +++ b/doc/context/sources/general/manuals/fonts/fonts-methods.tex diff --git a/doc/context/sources/general/fonts/fonts/fonts-mkiv.tex b/doc/context/sources/general/manuals/fonts/fonts-mkiv.tex index fa53492f0..fa53492f0 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-mkiv.tex +++ b/doc/context/sources/general/manuals/fonts/fonts-mkiv.tex diff --git a/doc/context/sources/general/fonts/fonts/fonts-modes.tex b/doc/context/sources/general/manuals/fonts/fonts-modes.tex index 95cb95732..95cb95732 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-modes.tex +++ b/doc/context/sources/general/manuals/fonts/fonts-modes.tex diff --git a/doc/context/sources/general/fonts/fonts/fonts-scripts.tex b/doc/context/sources/general/manuals/fonts/fonts-scripts.tex index aed4f0a5c..aed4f0a5c 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-scripts.tex +++ b/doc/context/sources/general/manuals/fonts/fonts-scripts.tex diff --git a/doc/context/sources/general/fonts/fonts/fonts-tricks.tex b/doc/context/sources/general/manuals/fonts/fonts-tricks.tex index 65b210e2c..65b210e2c 100644 --- a/doc/context/sources/general/fonts/fonts/fonts-tricks.tex +++ b/doc/context/sources/general/manuals/fonts/fonts-tricks.tex diff --git a/doc/context/sources/general/manuals/musings/musings.tex b/doc/context/sources/general/manuals/musings/musings.tex index e2787dc99..3b6327f59 100644 --- a/doc/context/sources/general/manuals/musings/musings.tex +++ b/doc/context/sources/general/manuals/musings/musings.tex @@ -16,6 +16,7 @@ \component musings-staygo \component musings-stability \component musings-roadmap + % \component musings-names \stopbodymatter \stopproduct diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index c6ff7e991..704b2df88 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{2019.05.25 10:45} +\newcontextversion{2019.05.29 19:11} %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 e5c386698..814359e65 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{2019.05.25 10:45} +\edef\contextversion{2019.05.29 19:11} %D For those who want to use this: diff --git a/tex/context/base/mkii/mult-cs.mkii b/tex/context/base/mkii/mult-cs.mkii index 4ab875e4d..708c296cb 100644 --- a/tex/context/base/mkii/mult-cs.mkii +++ b/tex/context/base/mkii/mult-cs.mkii @@ -373,6 +373,7 @@ \setinterfacevariable{nohz}{nohz} \setinterfacevariable{noline}{noline} \setinterfacevariable{nomarking}{zadneznaceni} +\setinterfacevariable{nomenubar}{nomenubar} \setinterfacevariable{none}{zadny} \setinterfacevariable{nonumber}{nonumber} \setinterfacevariable{norepeat}{norepeat} diff --git a/tex/context/base/mkii/mult-de.mkii b/tex/context/base/mkii/mult-de.mkii index 5557eb7b8..45a9ded24 100644 --- a/tex/context/base/mkii/mult-de.mkii +++ b/tex/context/base/mkii/mult-de.mkii @@ -570,6 +570,7 @@ \setinterfacevariable{temporary}{temporaer} \setinterfacevariable{test}{test} \setinterfacevariable{text}{text} +\setinterfacevariable{textnote}{textnote} \setinterfacevariable{three}{drei} \setinterfacevariable{thursday}{donnerstag} \setinterfacevariable{tight}{tight} diff --git a/tex/context/base/mkiv/buff-ver.mkiv b/tex/context/base/mkiv/buff-ver.mkiv index e6c88cdb7..dbc9086bd 100644 --- a/tex/context/base/mkiv/buff-ver.mkiv +++ b/tex/context/base/mkiv/buff-ver.mkiv @@ -684,7 +684,9 @@ \else \buff_verbatim_type_file_checked\v!file{#3}% \fi\fi - \endgroup} + \useindentnextparameter\typingparameter % needs checking + \endgroup + \dorechecknextindentation} % needs checking \def\buff_verbatim_type_file_checked#1#2% {\doifelsetypingfile{#2} @@ -895,7 +897,8 @@ \else \buff_verbatim_type_buffer_indeed\currenttyping\empty% [] \fi\fi - \endgroup} + \endgroup + \dorechecknextindentation} \unexpanded\def\buff_verbatim_type_buffer_class#1% {\begingroup @@ -934,7 +937,8 @@ \endofverbatimlines \dostoptagged \stoppacked - \typingparameter\c!after} + \typingparameter\c!after + \dorechecknextindentation} \unexpanded\def\typeinlinebuffer {\dontleavehmode diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index 0cd33a4eb..e3d427c21 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -11,7 +11,9 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2019.05.25 10:45} +% \normalend % uncomment this to get the real base runtime + +\newcontextversion{2019.05.29 19:11} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 2550292e1..daa21816a 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -22,10 +22,14 @@ %D shares cq. when no files are cached by the os it's of course much worse. A zero %D run is .27 sec with luajittex. In luametatex it's faster anyway (2.4 sec). -% http://build.contextgarden.net/waterfall?tag=c/luatex +%D The real minimal startup time can be measured by uncommenting \type {\normalend} +%D in the \type {cont-new.mkiv} file. When we subtract .250 for \LUA\ initialization +%D from 0.300 runtime and also subtract some 0.030 for the resolver, we get about +%D 0.020 for format loading which is pretty fast. We're talking \LUAMETATEX\ here. -% Welcome to context, pronounced as kontekst (rather dutch) and not as -% conτεχt. +% http://build.contextgarden.net/waterfall?tag=c/lua(meta)tex + +%D Welcome to context, pronounced as kontekst (rather dutch) and not as conτεχt. \catcode`\{=1 \catcode`\}=2 \catcode`\#=6 @@ -41,7 +45,7 @@ %D {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2019.05.25 10:45} +\edef\contextversion{2019.05.29 19:11} \edef\contextkind {beta} %D Kind of special: diff --git a/tex/context/base/mkiv/core-env.mkiv b/tex/context/base/mkiv/core-env.mkiv index 605a92486..27ae8c008 100644 --- a/tex/context/base/mkiv/core-env.mkiv +++ b/tex/context/base/mkiv/core-env.mkiv @@ -17,6 +17,8 @@ \unprotect +\def\wildcardsymbol{*} + %D Modes: %D %D \starttyping @@ -35,12 +37,11 @@ %D %D system modes have a * as prefix %D -%D Sometimes, we want to prevent a mode for being set. Think -%D of situations where a style enables a mode, but an outer -%D level style does not want that. Preventing can be -%D considered a permanent disabling on forehand. +%D Sometimes, we want to prevent a mode for being set. Think of situations where a +%D style enables a mode, but an outer level style does not want that. Preventing can +%D be considered a permanent disabling on forehand. -\def\systemmodeprefix{*} +\let\systemmodeprefix\wildcardsymbol % we will have \installcorenamespace{mode} but need some hackery at the lua end then @@ -141,18 +142,6 @@ {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi \syst_mode_prefix\lastnamedcs\preventedmode} -% \def\syst_modes_enable_indeed#1% we can speed it up by moving the new outside -% {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi -% \ifnum\csname\??mode#1\endcsname=\preventedmode \else -% \syst_mode_prefix\lastnamedcs\enabledmode -% \fi} -% -% \def\syst_modes_disable_indeed#1% -% {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi -% \ifnum\csname\??mode#1\endcsname=\preventedmode \else -% \syst_mode_prefix\lastnamedcs\disabledmode -% \fi} - \def\syst_modes_enable_indeed#1% we can speed it up by moving the new outside {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi \ifnum\lastnamedcs=\preventedmode\else @@ -181,18 +170,6 @@ % \rawprocesscommacommand[#1]\syst_modes_define_indeed} \fastprocesscommacommand[#1]\syst_modes_define_indeed} -% \def\syst_modes_define_indeed#1% -% {\ifcsname\??mode#1\endcsname -% % already set -% \else -% \syst_modes_new{#1} -% \fi -% \ifx\m_modes_asked\v!keep -% % not changes, disabled when undefined -% \else -% \csname\??mode#1\endcsname\ifx\m_modes_asked\v!yes\enabledmode\else\disabledmode\fi -% \fi} - \def\syst_modes_define_indeed#1% {\ifcsname\??mode#1\endcsname % already set @@ -283,7 +260,6 @@ \def\syst_modes_check_all_lr#1#2#3% {\let\syst_modes_check_all_step\syst_modes_check_all_indeed - % \rawprocesscommacommand[#3]\syst_modes_check_all_step \fastprocesscommacommand[#3]\syst_modes_check_all_step \ifx\syst_modes_check_all_step\gobbleoneargument \expandafter#2% @@ -293,7 +269,6 @@ \def\syst_modes_check_all_ss#1#2[#3]% {\let\syst_modes_check_all_step\syst_modes_check_all_indeed - % \rawprocesscommacommand[#3]\syst_modes_check_all_step \fastprocesscommacommand[#3]\syst_modes_check_all_step \ifx\syst_modes_check_all_step\gobbleoneargument \expandafter#2% @@ -327,28 +302,6 @@ %D Pushing/popping: -% \unexpanded\def\pushmode[#1]% -% {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi -% \expandafter\edef\csname\??modestack#1\endcsname{\number\csname\??mode#1\endcsname}% -% \expandafter\pushmacro\csname\??modestack#1\endcsname} -% -% \unexpanded\def\popmode[#1]% -% {\ifcsname\??modestack#1\endcsname -% \expandafter\popmacro\csname\??modestack#1\endcsname -% \csname\??mode#1\endcsname\csname\??modestack#1\endcsname\relax -% \fi} -% -% \def\pushsystemmode#1% -% {\ifcsname\??mode\systemmodeprefix#1\endcsname\else\syst_modes_new{\systemmodeprefix#1}\fi -% \expandafter\edef\csname\??modestack\systemmodeprefix#1\endcsname{\number\csname\??mode\systemmodeprefix#1\endcsname}% -% \expandafter\pushmacro\csname\??modestack\systemmodeprefix#1\endcsname} -% -% \def\popsystemmode#1% -% {\ifcsname\??modestack\systemmodeprefix#1\endcsname -% \expandafter\popmacro\csname\??modestack\systemmodeprefix#1\endcsname -% \csname\??mode\systemmodeprefix#1\endcsname\csname\??modestack\systemmodeprefix#1\endcsname\relax -% \fi} - \unexpanded\def\pushmode[#1]% {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi \expandafter\edef\csname\??modestack#1\expandafter\endcsname\expandafter{\number\lastnamedcs}% @@ -458,14 +411,6 @@ \unexpanded\def\startsetups{} % to please dep checker \unexpanded\def\stopsetups {} % to please dep checker -% \expanded % will become obsolete -% {\def\expandafter\noexpand\csname\e!start\v!setups\endcsname -% {\begingroup\noexpand\doifnextoptionalcselse -% {\noexpand\dostartsetupsA\expandafter\noexpand\csname\e!stop\v!setups\endcsname} -% {\noexpand\dostartsetupsB\expandafter\noexpand\csname\e!stop\v!setups\endcsname}}} -% -% \letvalue{\e!stop\v!setups}\relax - \unexpanded\def\setups{\doifelsenextbgroup\syst_setups_a\syst_setups_b} % {..} or [..] \unexpanded\def\setup {\doifelsenextbgroup\syst_setups \syst_setups_c} % {..} or [..] @@ -507,9 +452,6 @@ \expandafter\syst_setups_process_local \fi} -% \def\syst_setups_process_local -% {\expandafter\processcommalist\expandafter[\m_syst_setups_asked]\syst_setups} - % setups=S1 % setups=lua(S2) % setups=S3 @@ -674,9 +616,9 @@ \def\luasetup#1{\ctxlua{\syst_setups{#1}}} -% % % % +%D System setups: -\def\systemsetupsprefix{*} +\let\systemsetupsprefix\wildcardsymbol \def\systemsetups#1{\syst_setups{\systemsetupsprefix#1}} @@ -687,19 +629,9 @@ \dodoglobal\undefinevalue{\??setup:#1}% \fi} -% \unexpanded\def\resetsetups[#1]% see x-fo for usage -% {\dodoglobal\expandafter\let\csname\??setup -% \ifgridsnapping\ifcsname\??setup\v!grid:#1\endcsname\v!grid\fi -% :#1\endcsname\undefined} - \unexpanded\def\copysetups {\dodoubleargument\syst_setups_copy} -% \def\syst_setups_copy[#1][#2]% -% {\ifcsname\??setup:#2\endcsname -% \expandafter\let\csname\??setup:#1\expandafter\endcsname\csname\??setup:#2\endcsname -% \fi} - \def\syst_setups_copy[#1][#2]% {\ifcsname\??setup:#2\endcsname \expandafter\let\csname\??setup:#1\expandafter\endcsname\lastnamedcs @@ -747,11 +679,6 @@ \unexpanded\def\setgvariable#1#2#3{\expandafter\gdef\csname\??variables#1:#2\endcsname{#3}} \unexpanded\def\setxvariable#1#2#3{\expandafter\xdef\csname\??variables#1:#2\endcsname{#3}} -% \def\getvariable#1#2% -% {\csname -% \ifcsname\??variables#1:#2\endcsname\??variables#1:#2\else\s!empty\fi -% \endcsname} - \def\getvariable#1#2% {\begincsname\??variables#1:#2\endcsname} @@ -775,7 +702,6 @@ \def\syst_variables_check_value#1#2#3% {\ifcsname\??variables#1:#2\endcsname - %\edef\m_syst_variables_temp{\csname\??variables#1:#2\endcsname}% \edef\m_syst_variables_temp{\lastnamedcs}% \ifx\m_syst_variables_temp\empty \expandafter\def\csname\??variables#1:#2\endcsname{#3}% @@ -812,13 +738,12 @@ \expandafter\firstofoneargument \fi} -%D A few more (we could use a public test variable so that we only need -%D to expand once, assuming expandable variables): +%D A few more (we could use a public test variable so that we only need to expand +%D once, assuming expandable variables): \letvalue{\??variables:}\empty \unexpanded\def\doifelseemptyvariable#1#2% - %{\edef\m_syst_string_one{\csname\??variables\ifcsname\??variables#1:#2\endcsname#1:#2\else:\fi\endcsname}% {\edef\m_syst_string_one{\begincsname\??variables#1:#2\endcsname}% \ifx\m_syst_string_one\empty \expandafter\firstoftwoarguments @@ -829,7 +754,6 @@ \let\doifemptyvariableelse\doifelseemptyvariable \unexpanded\def\doifemptyvariable#1#2% - %{\edef\m_syst_string_one{\csname\??variables\ifcsname\??variables#1:#2\endcsname#1:#2\else:\fi\endcsname}% {\edef\m_syst_string_one{\begincsname\??variables#1:#2\endcsname}% \ifx\m_syst_string_one\empty \expandafter\firstofoneargument @@ -838,7 +762,6 @@ \fi} \unexpanded\def\doifnotemptyvariable#1#2% - %{\edef\m_syst_string_one{\csname\??variables\ifcsname\??variables#1:#2\endcsname#1:#2\else:\fi\endcsname}% {\edef\m_syst_string_one{\begincsname\??variables#1:#2\endcsname}% \ifx\m_syst_string_one\empty \expandafter\gobbleoneargument @@ -847,7 +770,6 @@ \fi} \def\getvariabledefault#1#2% #3% can be command - %{\executeifdefined{\??variables#1:#2}}% {#3} {\ifcsname\??variables#1:#2\endcsname \expandafter\expandafter\expandafter\lastnamedcs\expandafter\gobbleoneargument \else diff --git a/tex/context/base/mkiv/font-osd.lua b/tex/context/base/mkiv/font-osd.lua index 91cf1522c..3c30910ab 100644 --- a/tex/context/base/mkiv/font-osd.lua +++ b/tex/context/base/mkiv/font-osd.lua @@ -81,7 +81,7 @@ if not modules then modules = { } end modules ['font-osd'] = { -- script devanag -- malayalam, oriya, tamil and tolugu but not all are checked. Also, some of the -- code below might need to be adapted to the extra scripts. -local insert, imerge, copy = table.insert, table.imerge, table.copy +local insert, imerge, copy, tohash = table.insert, table.imerge, table.copy, table.tohash local next, type = next, type local report = logs.reporter("otf","devanagari") @@ -332,8 +332,8 @@ local two_defaults = { } local one_defaults = { - dev2 = dflt_true, - deva = dflt_true, + dev2 = dflt_true, -- set later + deva = dflt_true, -- set later } local false_flags = { false, false, false, false } @@ -455,6 +455,8 @@ local scripts = { } local scripts_one = { "deva", "mlym", "beng", "gujr", "guru", "knda", "orya", "taml", "telu" } local scripts_two = { "dev2", "mlm2", "bng2", "gjr2", "gur2", "knd2", "ory2", "tml2", "tel2" } +local scripts_old = { } for i=1,#scripts_one do local v = scripts_one[i] scripts_old[v] = v end -- self + local nofscripts = #scripts_one for i=1,nofscripts do @@ -532,6 +534,8 @@ local function initializedevanagi(tfmdata) -- resources.devanagari = devanagari -- + local old = scripts_old[script] or false + -- for s=1,#sequences do local sequence = sequences[s] local steps = sequence.steps @@ -539,9 +543,9 @@ local function initializedevanagi(tfmdata) local features = sequence.features local has_rphf = features.rphf local has_blwf = features.blwf - if has_rphf and has_rphf.deva then + if has_rphf and has_rphf[old] then devanagari.reph = true - elseif has_blwf and has_blwf.deva then + elseif has_blwf and has_blwf[old] then devanagari.vattu = true for i=1,nofsteps do local step = steps[i] @@ -617,13 +621,15 @@ local function initializedevanagi(tfmdata) -- -- needs checking: this might be needed per instance ? -- - if script == "deva" then + if script == "deva" or script == "knda" then sharedfeatures["dv04"] = true -- dv04_remove_joiners - elseif script == "dev2" then + elseif script == "dev2" or script == "knd2" then sharedfeatures["dv01"] = true -- dv01_reorder_matras sharedfeatures["dv02"] = true -- dv02_reorder_reph sharedfeatures["dv03"] = true -- dv03_reorder_pre_base_reordering_consonants sharedfeatures["dv04"] = true -- dv04_remove_joiners + -- elseif script == "knda" then -- see deva, needs checking by Kai + -- elseif script == "knd2" then -- see dev2, needs checking by Kai elseif script == "mlym" then sharedfeatures["pstf"] = true elseif script == "mlm2" then @@ -638,8 +644,6 @@ local function initializedevanagi(tfmdata) -- elseif script == "gjr2" then -- elseif script == "guru" then -- elseif script == "gur2" then - -- elseif script == "knda" then - -- elseif script == "knd2" then elseif script == "taml" then sharedfeatures["dv04"] = true -- dv04_remove_joiners sharedfeatures["pstf"] = true @@ -699,7 +703,6 @@ local function initialize_one(font,attr) -- we need a proper hook into the datas datasets.devanagari = devanagaridata local resources = tfmdata.resources local devanagari = resources.devanagari - for s=1,#datasets do local dataset = datasets[s] if dataset and dataset[1] then -- value diff --git a/tex/context/base/mkiv/font-ots.lua b/tex/context/base/mkiv/font-ots.lua index 24a868887..631302200 100644 --- a/tex/context/base/mkiv/font-ots.lua +++ b/tex/context/base/mkiv/font-ots.lua @@ -3178,7 +3178,7 @@ local function testrun(disc,t_run,c_run,...) end local pre, post, replace, pretail, posttail, replacetail = getdisc(disc,true) local renewed = false - if (post or replace) and prev then + if (post or replace) then -- and prev then -- hm, we can start with a disc if post then setlink(posttail,next) else @@ -3419,6 +3419,7 @@ local function t_run_single(start,stop,font,attr,lookupcache) ss = nil end end +lookupmatch = lg else break end @@ -3588,6 +3589,7 @@ local function t_run_multiple(start,stop,font,attr,steps,nofsteps) ss = nil end end +lookupmatch = lg else break end diff --git a/tex/context/base/mkiv/font-shp.lua b/tex/context/base/mkiv/font-shp.lua index a6788bc62..631f3086e 100644 --- a/tex/context/base/mkiv/font-shp.lua +++ b/tex/context/base/mkiv/font-shp.lua @@ -40,26 +40,27 @@ local function packoutlines(data,makesequence) return end if makesequence then --- for index=1,#glyphs do - for index=0,#glyphs-1 do + for index=0,#glyphs do local glyph = glyphs[index] - local segments = glyph.segments - if segments then - local sequence = { } - local nofsequence = 0 - for i=1,#segments do - local segment = segments[i] - local nofsegment = #segment - -- why last first ... needs documenting - nofsequence = nofsequence + 1 - sequence[nofsequence] = segment[nofsegment] - for i=1,nofsegment-1 do + if glyph then + local segments = glyph.segments + if segments then + local sequence = { } + local nofsequence = 0 + for i=1,#segments do + local segment = segments[i] + local nofsegment = #segment + -- why last first ... needs documenting nofsequence = nofsequence + 1 - sequence[nofsequence] = segment[i] + sequence[nofsequence] = segment[nofsegment] + for i=1,nofsegment-1 do + nofsequence = nofsequence + 1 + sequence[nofsequence] = segment[i] + end end + glyph.sequence = sequence + glyph.segments = nil end - glyph.sequence = sequence - glyph.segments = nil end end else @@ -67,32 +68,36 @@ local function packoutlines(data,makesequence) local common = { } local reverse = { } local last = 0 --- for index=1,#glyphs do - for index=0,#glyphs-1 do - local segments = glyphs[index].segments - if segments then - for i=1,#segments do - local h = concat(segments[i]," ") - hash[h] = (hash[h] or 0) + 1 + for index=0,#glyphs do + local glyph = glyphs[index] + if glyph then + local segments = glyph.segments + if segments then + for i=1,#segments do + local h = concat(segments[i]," ") + hash[h] = (hash[h] or 0) + 1 + end end end end --- for index=1,#glyphs do - for index=0,#glyphs-1 do - local segments = glyphs[index].segments - if segments then - for i=1,#segments do - local segment = segments[i] - local h = concat(segment," ") - if hash[h] > 1 then -- minimal one shared in order to hash - local idx = reverse[h] - if not idx then - last = last + 1 - reverse[h] = last - common[last] = segment - idx = last + for index=0,#glyphs do + local glyph = glyphs[index] + if glyph then + local segments = glyph.segments + if segments then + for i=1,#segments do + local segment = segments[i] + local h = concat(segment," ") + if hash[h] > 1 then -- minimal one shared in order to hash + local idx = reverse[h] + if not idx then + last = last + 1 + reverse[h] = last + common[last] = segment + idx = last + end + segments[i] = idx end - segments[i] = idx end end end @@ -119,14 +124,16 @@ local function unpackoutlines(data) if not glyphs then return end --- for index=1,#glyphs do - for index=0,#glyphs-1 do - local segments = glyphs[index].segments - if segments then - for i=1,#segments do - local c = common[segments[i]] - if c then - segments[i] = c + for index=0,#glyphs do + local glyph = glyphs[index] + if glyph then + local segments = glyph.segments + if segments then + for i=1,#segments do + local c = common[segments[i]] + if c then + segments[i] = c + end end end end @@ -219,8 +226,13 @@ local function loadstreams(cache,filename,sub,instance) local glyphs = data.glyphs local streams = { } if glyphs then - for i=0,#glyphs-1 do - streams[i] = glyphs[i].stream or "" + for i=0,#glyphs do + local glyph = glyphs[i] + if glyph then + streams[i] = glyph.stream or "" + else + streams[i] = "" + end end end data.streams = streams diff --git a/tex/context/base/mkiv/lpdf-pde.lua b/tex/context/base/mkiv/lpdf-pde.lua index cb6c112e7..8c5c6ffc1 100644 --- a/tex/context/base/mkiv/lpdf-pde.lua +++ b/tex/context/base/mkiv/lpdf-pde.lua @@ -518,6 +518,7 @@ lpdf_epdf.expanded = expanded local spaces = lpegpatterns.whitespace^1 local optspaces = lpegpatterns.whitespace^0 +local comment = P("%") * (1 - lpegpatterns.newline)^0 local numchar = P("\\")/"" * (R("09")^3/function(s) return char(tonumber(s,8)) end) + P("\\") * P(1) local key = P("/") * C(R("AZ","az","09","__")^1) @@ -526,7 +527,7 @@ local keyword = Ct(Cc("name") * key) local operator = C((R("AZ","az")+P("*")+P("'")+P('"'))^1) local grammar = P { "start", - start = (keyword + number + V("dictionary") + V("array") + V("hexstring") + V("decstring") + spaces)^1, + start = (comment + keyword + number + V("dictionary") + V("array") + V("hexstring") + V("decstring") + spaces)^1, keyvalue = key * optspaces * V("start"), array = Ct(Cc("array") * P("[") * Ct(V("start")^1) * P("]")), dictionary = Ct(Cc("dict") * P("<<") * Ct(V("keyvalue")^1) * P(">>")), @@ -634,6 +635,8 @@ local function analyzefonts(document,resources) -- unfinished, see mtx-pdf for b return fonts end +lpdf_epdf.analyzefonts = analyzefonts + local more = 0 local unic = nil -- cheaper than passing each time as Carg(1) @@ -679,27 +682,34 @@ function lpdf_epdf.getpagecontent(document,pagenumber) local size = #entry local operator = entry[size] if operator == "Tf" then - font = fonts[entry[1]] - unic = font.tounicode - elseif operator == "TJ" then -- { array, TJ } - local list = entry[1] + font = fonts[entry[1][2]] + unic = font and font.tounicode or { } + elseif operator == "TJ" then + local data = entry[1] -- { "array", { ... } } + local list = data[2] -- { { ... }, { ... } } for i=1,#list do local li = list[i] - if type(li) == "table" then - if li[1] == "hex" then +-- if type(li) == "table" then + local kind = li[1] + if kind == "hex" then list[i] = lpegmatch(p_hex_to_utf,li[2]) - else + elseif kind == "string" then list[i] = lpegmatch(p_dec_to_utf,li[2]) + else + list[i] = li[2] -- kern end - else - -- kern - end +-- else +-- -- kern +-- end end - elseif operator == "Tj" or operator == "'" or operator == '"' then -- { string, Tj } { string, ' } { n, m, string, " } - local list = entry[size-1] - if list[1] == "hex" then + elseif operator == "Tj" or operator == "'" or operator == '"' then + -- { string, Tj } { string, ' } { n, m, string, " } + local data = entry[size-1] + local list = data[2] + local kind = list[1] + if kind == "hex" then list[2] = lpegmatch(p_hex_to_utf,li[2]) - else + elseif kind == "string" then list[2] = lpegmatch(p_dec_to_utf,li[2]) end end @@ -728,25 +738,32 @@ function lpdf_epdf.contenttotext(document,list) -- maybe signal fonts local size = #entry local operator = entry[size] if operator == "Tf" then - last_f = entry[2] + last_f = entry[2][2] -- size elseif operator == "TJ" then - local list = entry[1] + local data = entry[1] -- { "array", { ... } } + local list = data[2] -- { { ... }, { ... } } for i=1,#list do local li = list[i] - if type(li) == "string" then + local kind = type(li) + if kind == "string" then last = last + 1 text[last] = li - elseif li < -50 then + elseif kind == "number" and li < -50 then last = last + 1 text[last] = " " end end - line = concat(list) elseif operator == "Tj" then last = last + 1 - text[last] = entry[size-1] + local li = entry[size-1] + local kind = type(li) + if kind == "string" then + last = last + 1 + text[last] = li + end elseif operator == "cm" or operator == "Tm" then - local ty = entry[6] + local data = entry + local ty = entry[6][2] local dy = abs(last_y - ty) if dy > linefactor*last_f then if last > 0 then diff --git a/tex/context/base/mkiv/luat-cod.lua b/tex/context/base/mkiv/luat-cod.lua index 6f79a54e1..522de886c 100644 --- a/tex/context/base/mkiv/luat-cod.lua +++ b/tex/context/base/mkiv/luat-cod.lua @@ -260,6 +260,10 @@ local function find_write_file(id,name) return target_file(name) end +local function find_log_file(name) + return target_file(name) +end + local function open_read_file(name) local f = io.open(name,'rb') return { @@ -278,6 +282,7 @@ local open_data_file = open_read_file callback.register('find_read_file' , find_read_file ) callback.register('open_read_file' , open_read_file ) callback.register('find_write_file', find_write_file) +callback.register('find_log_file', find_log_file) callback.register('find_data_file' , find_data_file ) callback.register('open_data_file' , open_data_file ) diff --git a/tex/context/base/mkiv/luat-fio.lua b/tex/context/base/mkiv/luat-fio.lua index 2996ae66a..26db46a88 100644 --- a/tex/context/base/mkiv/luat-fio.lua +++ b/tex/context/base/mkiv/luat-fio.lua @@ -117,6 +117,8 @@ if not resolvers.initialized() then -- register('read_cidmap_file' , function(file) return loadbinfile(file,"cidmap") end, true) register('find_write_file' , function(id,name) return name end, true) + + register('find_log_file' , function(name) return name end, true) register('find_format_file' , function(name) return name end, true) end diff --git a/tex/context/base/mkiv/mult-def.lua b/tex/context/base/mkiv/mult-def.lua index 0fb19e18e..8dfee915a 100644 --- a/tex/context/base/mkiv/mult-def.lua +++ b/tex/context/base/mkiv/mult-def.lua @@ -13368,6 +13368,10 @@ return { ["pe"]="تهنوشت", ["ro"]="endnote", }, + ["textnote"]={ + ["en"]="textnote", + ["nl"]="tekstnoot", + }, ["enumeration"]={ ["cs"]="vycet", ["de"]="nummerierung", diff --git a/tex/context/base/mkiv/mult-low.lua b/tex/context/base/mkiv/mult-low.lua index e19f4aa76..846380027 100644 --- a/tex/context/base/mkiv/mult-low.lua +++ b/tex/context/base/mkiv/mult-low.lua @@ -142,7 +142,9 @@ return { -- "parfillleftskip", "parfillrightskip", -- - "startlmtxmode", "stoplmtxmode", "startmkivmode", "stopmkivmode" + "startlmtxmode", "stoplmtxmode", "startmkivmode", "stopmkivmode", + -- + "wildcardsymbol", }, ["helpers"] = { -- diff --git a/tex/context/base/mkiv/node-rul.lua b/tex/context/base/mkiv/node-rul.lua index 61d78668f..5a8fdc48a 100644 --- a/tex/context/base/mkiv/node-rul.lua +++ b/tex/context/base/mkiv/node-rul.lua @@ -224,7 +224,7 @@ local trace_ruled = false trackers.register("nodes.rules", function(v) trace_ local report_ruled = logs.reporter("nodes","rules") function rules.define(settings) - local nofdata = #data+1 + local nofdata = #data + 1 data[nofdata] = settings local text = settings.text if text then @@ -236,7 +236,7 @@ function rules.define(settings) settings.text = nil end end - context(nofdata) + return nofdata end local function flush_ruled(head,f,l,d,level,parent,strip) -- not that fast but acceptable for this purpose @@ -265,7 +265,7 @@ local function flush_ruled(head,f,l,d,level,parent,strip) -- not that fast but a if not f then return head end - local w, ht, dp = getrangedimensions(parent,f,getnext(l)) + local wd, ht, dp = getrangedimensions(parent,f,getnext(l)) local method = d.method local empty = d.empty == v_yes local offset = d.offset @@ -306,7 +306,7 @@ local function flush_ruled(head,f,l,d,level,parent,strip) -- not that fast but a m = 0 end - local function inject(r,w,ht,dp) + local function inject(r,wd,ht,dp) if layer then setattr(r,a_viewerlayer,layer) end @@ -317,7 +317,7 @@ local function flush_ruled(head,f,l,d,level,parent,strip) -- not that fast but a setnext(l) flushlist(f) else - local k = new_kern(-w) + local k = new_kern(-wd) if foreground then insert_node_after(head,l,k) insert_node_after(head,k,r) @@ -329,12 +329,12 @@ local function flush_ruled(head,f,l,d,level,parent,strip) -- not that fast but a end if trace_ruled then report_ruled("level %a, width %p, height %p, depth %p, nodes %a, text %a", - level,w,ht,dp,n_tostring(f,l),n_tosequence(f,l,true)) + level,wd,ht,dp,n_tostring(f,l),n_tosequence(f,l,true)) end end if mp and mp ~= "" then local r = usernutrule { - width = w, + width = wd, height = ht, depth = dp, type = "mp", @@ -346,22 +346,26 @@ local function flush_ruled(head,f,l,d,level,parent,strip) -- not that fast but a ca = color, ta = transparency, } - inject(r,w,ht,dp) + inject(r,wd,ht,dp) else local tx = d.text if tx then local l = copy_list(tx) if d["repeat"] == v_yes then - l = new_leader(w,l) + l = new_leader(wd,l) setattrlist(l,tx) end - l = hpack_nodes(l,w,"exactly") - inject(l,w,ht,dp) + l = hpack_nodes(l,wd,"exactly") + inject(l,wd,ht,dp) else for i=1,level do - local ht = (offset+(i-1)*dy)*e + rulethickness - m - local dp = -(offset+(i-1)*dy)*e + rulethickness + m - local r = new_rule(w,ht,dp) + local hd = (offset+(i-1)*dy)*e - m +-- local ht = hd + rulethickness - m +-- local dp = -hd + rulethickness + m + local ht = hd + rulethickness + local dp = -hd + rulethickness + local r = new_rule(wd,ht,dp) + -- can be done more efficient if color then setattr(r,a_colormodel,colorspace) setattr(r,a_color,color) @@ -369,7 +373,7 @@ local function flush_ruled(head,f,l,d,level,parent,strip) -- not that fast but a if transparency then setattr(r,a_transparency,transparency) end - inject(r,w,ht,dp) + inject(r,wd,ht,dp) end end end @@ -390,16 +394,18 @@ local report_shifted = logs.reporter("nodes","shifting") local a_shifted = attributes.private('shifted') -nodes.shifts = nodes.shifts or { } -nodes.shifts.data = nodes.shifts.data or { } +local shifts = nodes.shifts or { } +nodes.shifts = shifts +shifts.data = shifts.data or { } -storage.register("nodes/shifts/data", nodes.shifts.data, "nodes.shifts.data") +storage.register("nodes/shifts/data", shifts.data, "nodes.shifts.data") -local data = nodes.shifts.data +local data = shifts.data -function nodes.shifts.define(settings) - data[#data+1] = settings - context(#data) +function shifts.define(settings) + local nofdata = #data + 1 + data[nofdata] = settings + return nofdata end local function flush_shifted(head,first,last,data,level,parent,strip) -- not that fast but acceptable for this purpose @@ -430,26 +436,28 @@ local function flush_shifted(head,first,last,data,level,parent,strip) -- not tha return head end -nodes.shifts.handler = function(head) +shifts.handler = function(head) return processwords(a_shifted,data,flush_shifted,head) end -function nodes.shifts.enable() +function shifts.enable() enableaction("shipouts","nodes.shifts.handler") end -- linefillers -nodes.linefillers = nodes.linefillers or { } -nodes.linefillers.data = nodes.linefillers.data or { } +local linefillers = nodes.linefillers or { } +nodes.linefillers = linefillers +linefillers.data = linefillers.data or { } -storage.register("nodes/linefillers/data", nodes.linefillers.data, "nodes.linefillers.data") +storage.register("nodes/linefillers/data", linefillers.data, "nodes.linefillers.data") -local data = nodes.linefillers.data +local data = linefillers.data -function nodes.linefillers.define(settings) - data[#data+1] = settings - context(#data) +function linefillers.define(settings) + local nofdata = #data + 1 + data[nofdata] = settings + return nofdata end local function linefiller(current,data,width,location) @@ -486,7 +494,7 @@ local function linefiller(current,data,width,location) end end -function nodes.linefillers.filler(current,data,width,height,depth) +function linefillers.filler(current,data,width,height,depth) if width and width > 0 then local height = height or data.height or 0 local depth = depth or data.depth or 0 @@ -534,7 +542,7 @@ local function find_attr(head,attr) end end -function nodes.linefillers.handler(head) +function linefillers.handler(head) for current, subtype, list in nexthlist, head do if list and subtype == linelist_code then -- why doesn't leftskip take the attributes @@ -658,7 +666,7 @@ end local enable = false -function nodes.linefillers.enable() +function linefillers.enable() if not enable then -- we could now nil it enableaction("finalizers","nodes.linefillers.handler") @@ -700,7 +708,7 @@ implement { implement { name = "defineshift", - actions = { nodes.shifts.define, context }, + actions = { shifts.define, context }, arguments = { { { "continue" }, @@ -714,12 +722,12 @@ implement { implement { name = "enableshifts", onlyonce = true, - actions = nodes.shifts.enable + actions = shifts.enable } implement { name = "definelinefiller", - actions = { nodes.linefillers.define, context }, + actions = { linefillers.define, context }, arguments = { { { "method", "integer" }, @@ -741,7 +749,7 @@ implement { implement { name = "enablelinefillers", onlyonce = true, - actions = nodes.linefillers.enable + actions = linefillers.enable } -- We add a bonus feature here (experiment): diff --git a/tex/context/base/mkiv/node-rul.mkiv b/tex/context/base/mkiv/node-rul.mkiv index 19f398eb9..7f2093bf2 100644 --- a/tex/context/base/mkiv/node-rul.mkiv +++ b/tex/context/base/mkiv/node-rul.mkiv @@ -146,6 +146,12 @@ {\node_rules_set{#1}\barparameter\c!left}% {\relax\barparameter\c!right}} +\unexpanded\def\inlinebar[#1]% + {\node_rules_direct{#1}} + +% \unexpanded\def\inlinecurrentbar +% {\node_rules_direct{\currentbar}} + % store in properties \unexpanded\def\node_rules_set#1% maybe reverse the 1000 (also maybe use more attributes instead of settings) diff --git a/tex/context/base/mkiv/node-scn.lua b/tex/context/base/mkiv/node-scn.lua index a40a5271a..055f5e20d 100644 --- a/tex/context/base/mkiv/node-scn.lua +++ b/tex/context/base/mkiv/node-scn.lua @@ -124,7 +124,7 @@ local function processwords(attribute,data,flush,head,parent,skip) -- we have hl local continue, leaders, done, strip, level = false, false, false, true, -1 while n do local id = getid(n) - if id == glyph_code or id == rule_code or (id == hlist_code and getattr(n,a_runningtext) == 1) then + if id == glyph_code or id == rule_code or (id == hlist_code and getattr(n,a_runningtext)) then local aa = getattr(n,attribute) if aa and aa ~= skip then if aa == a then diff --git a/tex/context/base/mkiv/pack-mrl.mkiv b/tex/context/base/mkiv/pack-mrl.mkiv index 4a0b68332..cd04781c7 100644 --- a/tex/context/base/mkiv/pack-mrl.mkiv +++ b/tex/context/base/mkiv/pack-mrl.mkiv @@ -843,32 +843,32 @@ \unexpanded\def\fillinline {\dosingleempty\pack_fillinline} -\ifdefined\endpar % experiment with \endpar - - \def\pack_fillinline[#1]% - {% \endpar % no, as it interferes with \definedescription cum suis - \begingroup - \setupcurrentfillinlines[#1]% - \directfillinlinesparameter\c!before - \begingroup - \advance\rightskip \directfillinlinesparameter\c!margin\relax - \parfillskip\zeropoint - \pushmacro\endpar - \def\endpar - {\popmacro\endpar - \ifhmode\unskip\hfill\fi - \scratchwidth\dimexpr\directfillinlinesparameter\c!width-\directfillinlinesparameter\c!distance\relax - \ifdim\scratchwidth>\directfillinlinesparameter\c!margin\else\expandafter\rlap\fi - {\kern\directfillinlinesparameter\c!distance - \scratchheight\dimexpr\directfillinlinesparameter\c!rulethickness/\plustwo\relax - \color[\directfillinlinesparameter\c!color]{\vrule\s!width\scratchwidth\s!height\scratchheight\s!depth\scratchheight}}% - \endpar - \endgroup - \endpar - \directfillinlinesparameter\c!after - \endgroup}} % carryover ? - -\else +% \ifdefined\endpar % experiment with \endpar +% +% \def\pack_fillinline[#1]% +% {% \endpar % no, as it interferes with \definedescription cum suis +% \begingroup +% \setupcurrentfillinlines[#1]% +% \directfillinlinesparameter\c!before +% \begingroup +% \advance\rightskip \directfillinlinesparameter\c!margin\relax +% \parfillskip\zeropoint +% \pushmacro\endpar +% \def\endpar +% {\popmacro\endpar +% \ifhmode\unskip\hfill\fi +% \scratchwidth\dimexpr\directfillinlinesparameter\c!width-\directfillinlinesparameter\c!distance\relax +% \ifdim\scratchwidth>\directfillinlinesparameter\c!margin\else\expandafter\rlap\fi +% {\kern\directfillinlinesparameter\c!distance +% \scratchheight\dimexpr\directfillinlinesparameter\c!rulethickness/\plustwo\relax +% \color[\directfillinlinesparameter\c!color]{\vrule\s!width\scratchwidth\s!height\scratchheight\s!depth\scratchheight}}% +% \endpar +% \endgroup +% \endpar +% \directfillinlinesparameter\c!after +% \endgroup}} % carryover ? +% +% \else \def\pack_fillinline[#1]% {%\endgraf % no, as it interferes with \definedescription cum suis @@ -892,6 +892,6 @@ \directfillinlinesparameter\c!after \endgroup}} % carryover ? -\fi +% \fi \protect \endinput diff --git a/tex/context/base/mkiv/spac-hor.mkiv b/tex/context/base/mkiv/spac-hor.mkiv index c0c7d95d2..e51e54f29 100644 --- a/tex/context/base/mkiv/spac-hor.mkiv +++ b/tex/context/base/mkiv/spac-hor.mkiv @@ -1273,4 +1273,13 @@ \def\obeyfollowingtoken{{}} % end \cs scanning +%D Something new: + +\unexpanded\def\interwordspacebefore{\wordboundary\zwnj\hskip\interwordspace\relax} +\unexpanded\def\interwordspaceafter {\hskip\interwordspace\relax\zwnj\wordboundary} + +\unexpanded\def\interwordspacesbefore#1{\dofastloopcs{#1}\interwordspacebefore} +\unexpanded\def\interwordspacesafter #1{\dofastloopcs{#1}\interwordspaceafter} +\unexpanded\def\interwordspaces #1{\wordboundary\zwnj\dofastloopcs{\numexpr#1+\minusone}\interwordspaceafter} + \protect \endinput diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf Binary files differindex 328354ee5..ee13ad39a 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex 94132234a..e3b70eaa0 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf diff --git a/tex/context/base/mkiv/strc-bkm.lua b/tex/context/base/mkiv/strc-bkm.lua index ee9233a9a..41a128333 100644 --- a/tex/context/base/mkiv/strc-bkm.lua +++ b/tex/context/base/mkiv/strc-bkm.lua @@ -42,6 +42,19 @@ local opened = { } local forced = { } local numbered = { } +function bookmarks.setopened(key,value) + if value == nil then + value = true + end + if type(key) == "table" then + for i=1,#key do + opened[key[i]] = value + end + else + opened[key] = value + end +end + function bookmarks.register(settings) local force = settings.force == variables.yes local number = settings.number == variables.yes diff --git a/tex/context/base/mkiv/strc-itm.mkvi b/tex/context/base/mkiv/strc-itm.mkvi index 7895b7968..eea42f2de 100644 --- a/tex/context/base/mkiv/strc-itm.mkvi +++ b/tex/context/base/mkiv/strc-itm.mkvi @@ -906,6 +906,10 @@ \doadaptleftskip {\itemgroupparameter\c!leftmargin}% \doadaptrightskip{\itemgroupparameter\c!rightmargin}% \fi + % + \doadaptleftskip {\itemgroupparameter\c!leftmargindistance}% + \doadaptrightskip{\itemgroupparameter\c!rightmargindistance}% + % \usealignparameter\itemgroupparameter \edef\m_strc_itemgroups_indenting{\itemgroupparameter\c!indenting}% \ifnum\c_strc_itemgroups_nesting>\zerocount @@ -1808,6 +1812,8 @@ [\c!margin=\zeropoint, \c!leftmargin=\zeropoint, \c!rightmargin=\zeropoint, + \c!leftmargindistance=\zeropoint, + \c!rightmargindistance=\zeropoint, \c!indentnext=\v!yes, \c!width=1.5\emwidth, \c!factor=0, diff --git a/tex/context/base/mkiv/syst-aux.mkiv b/tex/context/base/mkiv/syst-aux.mkiv index d6f54f7d0..924043849 100644 --- a/tex/context/base/mkiv/syst-aux.mkiv +++ b/tex/context/base/mkiv/syst-aux.mkiv @@ -5149,19 +5149,26 @@ \let\m_syst_helpers_fast_loop_cs\relax -\unexpanded\def\dofastloopcs#1#2% - {\let\m_syst_helpers_fast_loop_cs#2% +\unexpanded\def\dofastloopcs#1% + {\fastloopfinal#1\relax + \ifcase\fastloopfinal + \expandafter\gobbleoneargument + \else + \expandafter\syst_helpers_fast_loop_cs + \fi} + +\unexpanded\def\syst_helpers_fast_loop_cs#1% + {\let\m_syst_helpers_fast_loop_cs#1% \fastloopindex\plusone - \fastloopfinal#1\relax - \syst_helpers_fast_loop_cs} + \syst_helpers_fast_loop_cs_step} -\unexpanded\def\syst_helpers_fast_loop_cs +\unexpanded\def\syst_helpers_fast_loop_cs_step {\ifnum\fastloopindex>\fastloopfinal \let\m_syst_helpers_fast_loop_cs\relax \else \m_syst_helpers_fast_loop_cs \advance\fastloopindex\plusone - \expandafter\syst_helpers_fast_loop_cs + \expandafter\syst_helpers_fast_loop_cs_step \fi} % Helper: diff --git a/tex/context/base/mkiv/syst-ini.mkiv b/tex/context/base/mkiv/syst-ini.mkiv index 2a2d48311..7664074c5 100644 --- a/tex/context/base/mkiv/syst-ini.mkiv +++ b/tex/context/base/mkiv/syst-ini.mkiv @@ -1141,4 +1141,8 @@ \let\normalstartdmath \Ustartdisplaymath \let\normalstopdmath \Ustopdisplaymath +%D Also better here: + +\def\wildcardsymbol{*} + \protect \endinput diff --git a/tex/context/interface/mkii/keys-cs.xml b/tex/context/interface/mkii/keys-cs.xml index f4e65c527..37736a2d7 100644 --- a/tex/context/interface/mkii/keys-cs.xml +++ b/tex/context/interface/mkii/keys-cs.xml @@ -376,6 +376,7 @@ <cd:variable name='nohz' value='nohz'/> <cd:variable name='noline' value='noline'/> <cd:variable name='nomarking' value='zadneznaceni'/> + <cd:variable name='nomenubar' value='nomenubar'/> <cd:variable name='none' value='zadny'/> <cd:variable name='nonumber' value='nonumber'/> <cd:variable name='norepeat' value='norepeat'/> diff --git a/tex/context/interface/mkii/keys-de.xml b/tex/context/interface/mkii/keys-de.xml index e76ea9340..97a18d711 100644 --- a/tex/context/interface/mkii/keys-de.xml +++ b/tex/context/interface/mkii/keys-de.xml @@ -573,6 +573,7 @@ <cd:variable name='temporary' value='temporaer'/> <cd:variable name='test' value='test'/> <cd:variable name='text' value='text'/> + <cd:variable name='textnote' value='textnote'/> <cd:variable name='three' value='drei'/> <cd:variable name='thursday' value='donnerstag'/> <cd:variable name='tight' value='tight'/> diff --git a/tex/context/interface/mkiv/context-en.xml b/tex/context/interface/mkiv/context-en.xml index 87182c2a3..e358b27e7 100644 --- a/tex/context/interface/mkiv/context-en.xml +++ b/tex/context/interface/mkiv/context-en.xml @@ -17583,6 +17583,18 @@ <cd:constant type="standard"/> <cd:constant type="cd:dimension"/> </cd:parameter> + <cd:parameter name="leftmargindistance"> + <cd:constant type="yes"/> + <cd:constant type="no"/> + <cd:constant type="standard"/> + <cd:constant type="cd:dimension"/> + </cd:parameter> + <cd:parameter name="rightmargindistance"> + <cd:constant type="yes"/> + <cd:constant type="no"/> + <cd:constant type="standard"/> + <cd:constant type="cd:dimension"/> + </cd:parameter> <cd:parameter name="align"> <cd:inherit name="setupalign"/> </cd:parameter> diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf Binary files differindex e1f854a34..479e16737 100644 --- a/tex/context/interface/mkiv/i-context.pdf +++ b/tex/context/interface/mkiv/i-context.pdf diff --git a/tex/context/interface/mkiv/i-itemgroup.xml b/tex/context/interface/mkiv/i-itemgroup.xml index 84cae20bb..c27c729f7 100644 --- a/tex/context/interface/mkiv/i-itemgroup.xml +++ b/tex/context/interface/mkiv/i-itemgroup.xml @@ -113,6 +113,12 @@ <cd:parameter name="rightmargin"> <cd:resolve name="value-rightskip"/> </cd:parameter> + <cd:parameter name="leftmargindistance"> + <cd:resolve name="value-leftskip"/> + </cd:parameter> + <cd:parameter name="rightmargindistance"> + <cd:resolve name="value-rightskip"/> + </cd:parameter> <cd:parameter name="align"> <cd:inherit name="setupalign"/> </cd:parameter> diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf Binary files differindex 007fc0e61..e428d7f39 100644 --- a/tex/context/interface/mkiv/i-readme.pdf +++ b/tex/context/interface/mkiv/i-readme.pdf diff --git a/tex/context/modules/common/s-abbreviations-logos.tex b/tex/context/modules/common/s-abbreviations-logos.tex index 54a969593..410aa1824 100644 --- a/tex/context/modules/common/s-abbreviations-logos.tex +++ b/tex/context/modules/common/s-abbreviations-logos.tex @@ -43,6 +43,7 @@ \logo [ASCIIMATH] {AsciiMath} \logo [ASCIITEX] {ascii\TeXsuffix} \logo [BACHOTEX] {Bacho\TeXsuffix} +\logo [BASIC] {Basic} \logo [BIBTEX] {bib\TeXsuffix} \logo [BLUESKY] {BlueSky} \logo [BMP] {bmp} diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 4379ead13..cf93d030c 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 : 05/25/19 10:45:25 +-- merge date : 05/29/19 19:11:02 do -- begin closure to overcome local limits and interference @@ -28095,7 +28095,7 @@ local function testrun(disc,t_run,c_run,...) end local pre,post,replace,pretail,posttail,replacetail=getdisc(disc,true) local renewed=false - if (post or replace) and prev then + if (post or replace) then if post then setlink(posttail,next) else @@ -28288,6 +28288,7 @@ local function t_run_single(start,stop,font,attr,lookupcache) ss=nil end end +lookupmatch=lg else break end @@ -28441,6 +28442,7 @@ local function t_run_multiple(start,stop,font,attr,steps,nofsteps) ss=nil end end +lookupmatch=lg else break end @@ -29145,7 +29147,7 @@ if not modules then modules={} end modules ['font-osd']={ copyright="TAT Zetwerk / PRAGMA ADE / ConTeXt Development Team", license="see context related readme files" } -local insert,imerge,copy=table.insert,table.imerge,table.copy +local insert,imerge,copy,tohash=table.insert,table.imerge,table.copy,table.tohash local next,type=next,type local report=logs.reporter("otf","devanagari") fonts=fonts or {} @@ -29436,6 +29438,7 @@ local valid={ local scripts={} local scripts_one={ "deva","mlym","beng","gujr","guru","knda","orya","taml","telu" } local scripts_two={ "dev2","mlm2","bng2","gjr2","gur2","knd2","ory2","tml2","tel2" } +local scripts_old={} for i=1,#scripts_one do local v=scripts_one[i] scripts_old[v]=v end local nofscripts=#scripts_one for i=1,nofscripts do local one=scripts_one[i] @@ -29498,6 +29501,7 @@ local function initializedevanagi(tfmdata) local pre_base_reordering_consonants={} reorder_pre_base_reordering_consonants.steps[1].coverage=pre_base_reordering_consonants resources.devanagari=devanagari + local old=scripts_old[script] or false for s=1,#sequences do local sequence=sequences[s] local steps=sequence.steps @@ -29505,9 +29509,9 @@ local function initializedevanagi(tfmdata) local features=sequence.features local has_rphf=features.rphf local has_blwf=features.blwf - if has_rphf and has_rphf.deva then + if has_rphf and has_rphf[old] then devanagari.reph=true - elseif has_blwf and has_blwf.deva then + elseif has_blwf and has_blwf[old] then devanagari.vattu=true for i=1,nofsteps do local step=steps[i] @@ -29578,13 +29582,13 @@ local function initializedevanagi(tfmdata) end end end - if script=="deva" then + if script=="deva" or script=="knda" then sharedfeatures["dv04"]=true - elseif script=="dev2" then + elseif script=="dev2" or script=="knd2" then sharedfeatures["dv01"]=true sharedfeatures["dv02"]=true sharedfeatures["dv03"]=true - sharedfeatures["dv04"]=true + sharedfeatures["dv04"]=true elseif script=="mlym" then sharedfeatures["pstf"]=true elseif script=="mlm2" then |