summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/mkiv/node-ini.lua
diff options
context:
space:
mode:
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.lua146
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
+