diff options
author | Karl Berry <karl@freefriends.org> | 2021-03-06 21:58:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-03-06 21:58:15 +0000 |
commit | 974640d66e61e81cb197ad96fdff7b08343e4c5a (patch) | |
tree | 2e1f75f32f312b7f24ba82b4590ae230bcd6f399 /Master/texmf-dist/tex/context/base/mkiv/node-ini.lua | |
parent | b4fa72e61230aca75f7f6fbf988821f71edfb6b2 (diff) |
context
git-svn-id: svn://tug.org/texlive/trunk@58167 c570f23f-e606-0410-a88d-b1316a301751
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 | 126 |
1 files changed, 47 insertions, 79 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 8ebec4a1c62..701e3efa92c 100644 --- a/Master/texmf-dist/tex/context/base/mkiv/node-ini.lua +++ b/Master/texmf-dist/tex/context/base/mkiv/node-ini.lua @@ -78,19 +78,18 @@ local dircodes = mark(getsubtypes("dir")) local glyphcodes = mark(getsubtypes("glyph")) local disccodes = mark(getsubtypes("disc")) local gluecodes = mark(getsubtypes("glue")) -local leadercodes = mark(getsubtypes("leader")) local fillcodes = mark(getsubtypes("fill")) local boundarycodes = mark(getsubtypes("boundary")) local penaltycodes = mark(getsubtypes("penalty")) local kerncodes = mark(getsubtypes("kern")) -local margincodes = CONTEXTLMTXMODE == 0 and mark(getsubtypes("marginkern")) or { } +local margincodes = mark(getsubtypes("marginkern")) local mathcodes = mark(getsubtypes("math")) local noadcodes = mark(getsubtypes("noad")) local radicalcodes = mark(getsubtypes("radical")) local accentcodes = mark(getsubtypes("accent")) local fencecodes = mark(getsubtypes("fence")) ----- fractioncodes = mark(getsubtypes("fraction")) -local localparcodes = allocate { [0] = "new_graf", "local_box", "hmode_par", "penalty", "math" } -- only in luametatex now +local parcodes = allocate { [0] = "vmode_par", "local_box", "hmode_par", "penalty", "math" } local function simplified(t) local r = { } @@ -104,13 +103,13 @@ local nodecodes = simplified(node.types()) local whatcodes = simplified(node.whatsits and node.whatsits() or { }) local usercodes = allocate { - [ 97] = "attribute", -- a - [100] = "number", -- d - [102] = "float", -- f - [108] = "lua", -- l - [110] = "node", -- n - [115] = "string", -- s - [116] = "token" -- t + [ 97] = "attribute", -- a + [100] = "number", -- d + [102] = "float", -- f + [108] = "lua", -- l + [110] = "node", -- n + [115] = "string", -- s + [116] = "token" -- t } local noadoptions = allocate { @@ -125,23 +124,9 @@ local noadoptions = allocate { right = 0x14 + 0x08, } --- local directionvalues = mark(getvalues("dir")) --- local gluevalues = mark(getvalues("glue")) --- local literalvalues = mark(getvalues("literal")) - local dirvalues = allocate { - [0] = "TLT", - [1] = "TRT", - [2] = "LTL", - [3] = "RTT", -} - -local gluevalues = allocate { - [0] = "normal", - [1] = "fi", - [2] = "fil", - [3] = "fill", - [4] = "filll", + [0] = "lefttoright", + [1] = "righttoleft", } local literalvalues = allocate { @@ -154,6 +139,8 @@ local literalvalues = allocate { [6] = "special", } +local gluevalues = mark(getvalues("glue")) + gluecodes = allocate(swapped(gluecodes,gluecodes)) dircodes = allocate(swapped(dircodes,dircodes)) boundarycodes = allocate(swapped(boundarycodes,boundarycodes)) @@ -171,35 +158,39 @@ margincodes = allocate(swapped(margincodes,margincodes)) disccodes = allocate(swapped(disccodes,disccodes)) accentcodes = allocate(swapped(accentcodes,accentcodes)) fencecodes = allocate(swapped(fencecodes,fencecodes)) -localparcodes = allocate(swapped(localparcodes,localparcodes)) +parcodes = allocate(swapped(parcodes,parcodes)) rulecodes = allocate(swapped(rulecodes,rulecodes)) -leadercodes = allocate(swapped(leadercodes,leadercodes)) 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 not nodecodes.delimiter then + -- as in luametatex / lmtx + nodecodes.delimiter = nodecodes.delim + nodecodes[nodecodes.delimiter] = "delimiter" + nodecodes.delim = nil +end + +if not nodecodes.par then + -- as in luametatex / lmtx + local p = nodecodes.localpar + nodecodes.par = p + nodecodes[p] = "par" +end + if not gluecodes.indentskip then - gluecodes.indentskip = gluecodes.userskip - gluecodes.lefthangskip = gluecodes.userskip - gluecodes.righthangskip = gluecodes.userskip - gluecodes.correctionskip = gluecodes.userskip - gluecodes.intermathskip = gluecodes.userskip + gluecodes.indentskip = gluecodes.userskip + gluecodes.lefthangskip = gluecodes.userskip + gluecodes.righthangskip = gluecodes.userskip + gluecodes.correctionskip = gluecodes.userskip + gluecodes.intermathskip = gluecodes.userskip + gluecodes.parfillleftskip = gluecodes.parfillskip + gluecodes.parfillrightskip = gluecodes.parfillskip end -if CONTEXTLMTXMODE > 0 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 +if not whatcodes.literal then whatcodes.literal = whatcodes.pdfliteral whatcodes.save = whatcodes.pdfsave whatcodes.restore = whatcodes.pdfrestore @@ -223,18 +214,14 @@ nodes.disccodes = disccodes nodes.accentcodes = accentcodes nodes.radicalcodes = radicalcodes nodes.fencecodes = fencecodes -nodes.localparcodes = localparcodes +nodes.parcodes = parcodes 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, @@ -245,7 +232,7 @@ nodes.subtypes = allocate { [nodecodes.glyph] = glyphcodes, [nodecodes.hlist] = listcodes, [nodecodes.kern] = kerncodes, - [nodecodes.localpar] = localparcodes, + [nodecodes.par] = parcodes, -- [nodecodes.marginkern] = margincodes, [nodecodes.math] = mathcodes, [nodecodes.noad] = noadcodes, @@ -255,31 +242,28 @@ nodes.subtypes = allocate { -- [nodecodes.user] = usercodes, [nodecodes.vlist] = listcodes, [nodecodes.whatsit] = whatcodes, + [nodecodes.marginkern] = margincodes } -if CONTEXTLMTXMODE == 0 then - nodes.subtypes[nodecodes.marginkern] = margincodes -end - 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 +-- a few more friendly aliases: + +nodes.skipcodes = gluecodes +nodes.directioncodes = dircodes +nodes.whatsitcodes = whatcodes nodes.marginkerncodes = margincodes nodes.discretionarycodes = disccodes -nodes.directionvalues = dirvalues -- more friendly -nodes.skipvalues = gluevalues -- more friendly -nodes.literalvalues = literalvalues -- more friendly +nodes.directionvalues = dirvalues +nodes.skipvalues = gluevalues +nodes.literalvalues = literalvalues glyphcodes.glyph = glyphcodes.character -localparcodes.vmode_par = localparcodes.new_graf - listcodes.row = listcodes.alignment listcodes.column = listcodes.alignment @@ -307,7 +291,6 @@ nodes.codes = allocate { -- mostly for listing accent = accentcodes, fence = fencecodes, rule = rulecodes, - leader = leadercodes, user = usercodes, noadoptions = noadoptions, } @@ -351,18 +334,3 @@ trackers.register("system.showcodes", nodes.showcodes) if node.fix_node_lists then node.fix_node_lists(false) end - --- We use the real node code numbers. - -if CONTEXTLMTXMODE > 0 then - - local texchardef = tex.chardef - - if texchardef then - for i=0,nodecodes.glyph do - texchardef(nodecodes[i] .. "nodecode",i) - end - tex.set("internalcodesmode",1) - end - -end |