diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mkiv/node-ini.lua')
-rw-r--r-- | Master/texmf-dist/tex/context/base/mkiv/node-ini.lua | 146 |
1 files changed, 46 insertions, 100 deletions
diff --git a/Master/texmf-dist/tex/context/base/mkiv/node-ini.lua b/Master/texmf-dist/tex/context/base/mkiv/node-ini.lua index f910c7e012f..50da140ce98 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/node-ini.lua +++ b/Master/texmf-dist/tex/context/base/mkiv/node-ini.lua @@ -70,12 +70,6 @@ local formatcolumns = utilities.formatters.formatcolumns local getsubtypes = node.subtypes local getvalues = node.values -tex.magicconstants = { -- we use tex.constants for something else - running = -1073741824, - maxdimen = 1073741823, -- 0x3FFFFFFF or 2^30-1 - trueinch = 4736286, -} - -- local listcodes = allocate { -- [0] = "unknown", -- [1] = "line", @@ -114,11 +108,12 @@ dircodes = allocate { } -- local glyphcodes = allocate { --- [ 1] = "character", --- [ 2] = "ligature", --- [ 4] = "ghost", --- [ 8] = "left", --- [16] = "right", +-- [0] = "character", +-- [1] = "glyph", +-- [2] = "ligature", +-- [3] = "ghost", +-- [4] = "left", +-- [5] = "right", -- } local glyphcodes = mark(getsubtypes("glyph")) @@ -286,12 +281,11 @@ local function simplified(t) end local nodecodes = simplified(node.types()) -local whatcodes = simplified(node.whatsits and node.whatsits() or { }) +local whatcodes = simplified(node.whatsits()) local usercodes = allocate { [ 97] = "attribute", -- a [100] = "number", -- d - [102] = "float", -- f [108] = "lua", -- l [110] = "node", -- n [115] = "string", -- s @@ -312,7 +306,7 @@ local noadoptions = allocate { -- local directionvalues = mark(getvalues("dir")) -- local gluevalues = mark(getvalues("glue")) --- local literalvalues = mark(getvalues("literal")) +-- local pdfliteralvalues = mark(getvalues("pdf_literal")) local dirvalues = allocate { [0] = "TLT", @@ -329,7 +323,7 @@ local gluevalues = allocate { [4] = "filll", } -local literalvalues = allocate { +local pdfliteralvalues = allocate { [0] = "origin", [1] = "page", [2] = "always", @@ -362,90 +356,41 @@ usercodes = allocate(swapped(usercodes,usercodes)) noadoptions = allocate(swapped(noadoptions,noadoptions)) dirvalues = allocate(swapped(dirvalues,dirvalues)) gluevalues = allocate(swapped(gluevalues,gluevalues)) -literalvalues = allocate(swapped(literalvalues,literalvalues)) - -if CONTEXTLMTXMODE > 1 then - whatcodes.literal = 0x1 whatcodes[0x1] = "literal" - whatcodes.latelua = 0x2 whatcodes[0x2] = "latelua" - whatcodes.userdefined = 0x3 whatcodes[0x3] = "userdefined" - whatcodes.savepos = 0x4 whatcodes[0x4] = "savepos" - whatcodes.save = 0x5 whatcodes[0x5] = "save" - whatcodes.restore = 0x6 whatcodes[0x6] = "restore" - whatcodes.setmatrix = 0x7 whatcodes[0x7] = "setmatrix" - whatcodes.open = 0x8 whatcodes[0x8] = "open" - whatcodes.close = 0x9 whatcodes[0x9] = "close" - whatcodes.write = 0xA whatcodes[0xA] = "write" -elseif not whatcodes.literal then - whatcodes.literal = whatcodes.pdfliteral - whatcodes.save = whatcodes.pdfsave - whatcodes.restore = whatcodes.pdfrestore - whatcodes.setmatrix = whatcodes.pdfsetmatrix -end - -nodes.gluecodes = gluecodes -nodes.dircodes = dircodes -nodes.boundarycodes = boundarycodes -nodes.noadcodes = noadcodes -nodes.nodecodes = nodecodes -nodes.whatcodes = whatcodes -nodes.listcodes = listcodes -nodes.glyphcodes = glyphcodes -nodes.kerncodes = kerncodes -nodes.penaltycodes = penaltycodes -nodes.mathcodes = mathcodes -nodes.fillcodes = fillcodes -nodes.margincodes = margincodes -nodes.disccodes = disccodes -nodes.accentcodes = accentcodes -nodes.radicalcodes = radicalcodes -nodes.fencecodes = fencecodes -nodes.rulecodes = rulecodes -nodes.leadercodes = leadercodes -nodes.usercodes = usercodes -nodes.noadoptions = noadoptions -nodes.dirvalues = dirvalues -nodes.gluevalues = gluevalues -nodes.literalvalues = literalvalues - -dirvalues.lefttoright = 0 -dirvalues.righttoleft = 1 - -nodes.subtypes = allocate { - [nodecodes.accent] = accentcodes, - [nodecodes.boundary] = boundarycodes, - [nodecodes.dir] = dircodes, - [nodecodes.disc] = disccodes, - [nodecodes.fence] = fencecodes, - [nodecodes.glue] = gluecodes, - [nodecodes.glyph] = glyphcodes, - [nodecodes.hlist] = listcodes, - [nodecodes.kern] = kerncodes, - [nodecodes.marginkern] = margincodes, - [nodecodes.math] = mathcodes, - [nodecodes.noad] = noadcodes, - [nodecodes.penalty] = penaltycodes, - [nodecodes.radical] = radicalcodes, - [nodecodes.rule] = rulecodes, - [nodecodes.vlist] = listcodes, - [nodecodes.whatsit] = whatcodes, -} - -table.setmetatableindex(nodes.subtypes,function(t,k) - local v = { } - t[k] = v - return v -end) - -nodes.skipcodes = gluecodes -- more friendly -nodes.directioncodes = dircodes -- more friendly -nodes.whatsitcodes = whatcodes -- more official -nodes.marginkerncodes = margincodes -nodes.discretionarycodes = disccodes -nodes.directionvalues = dirvalues -- more friendly -nodes.skipvalues = gluevalues -- more friendly -nodes.literalvalues = literalvalues -- more friendly - -glyphcodes.glyph = glyphcodes.character +pdfliteralvalues = allocate(swapped(pdfliteralvalues,pdfliteralvalues)) + +nodes.gluecodes = gluecodes +nodes.dircodes = dircodes +nodes.boundarycodes = boundarycodes +nodes.noadcodes = noadcodes +nodes.nodecodes = nodecodes +nodes.whatcodes = whatcodes +nodes.listcodes = listcodes +nodes.glyphcodes = glyphcodes +nodes.kerncodes = kerncodes +nodes.penaltycodes = penaltycodes +nodes.mathcodes = mathcodes +nodes.fillcodes = fillcodes +nodes.margincodes = margincodes +nodes.disccodes = disccodes +nodes.accentcodes = accentcodes +nodes.radicalcodes = radicalcodes +nodes.fencecodes = fencecodes +nodes.rulecodes = rulecodes +nodes.leadercodes = leadercodes +nodes.usercodes = usercodes +nodes.noadoptions = noadoptions +nodes.dirvalues = dirvalues +nodes.gluevalues = gluevalues +nodes.pdfliteralvalues = pdfliteralvalues + +nodes.skipcodes = gluecodes -- more friendly +nodes.directioncodes = dircodes -- more friendly +nodes.whatsitcodes = whatcodes -- more official +nodes.marginkerncodes = margincodes +nodes.discretionarycodes = disccodes +nodes.directionvalues = dirvalues -- more friendly +nodes.skipvalues = gluevalues -- more friendly +nodes.literalvalues = pdfliteralvalues -- more friendly listcodes.row = listcodes.alignment listcodes.column = listcodes.alignment @@ -454,7 +399,7 @@ kerncodes.kerning = kerncodes.fontkern kerncodes.italiccorrection = kerncodes.italiccorrection or 1 -- new -literalvalues.direct = literalvalues.always +pdfliteralvalues.direct = pdfliteralvalues.always nodes.codes = allocate { -- mostly for listing glue = skipcodes, @@ -523,3 +468,4 @@ end if node.fix_node_lists then node.fix_node_lists(false) end + |