summaryrefslogtreecommitdiff
path: root/luaotfload-basics-nod.lua
diff options
context:
space:
mode:
Diffstat (limited to 'luaotfload-basics-nod.lua')
-rw-r--r--luaotfload-basics-nod.lua13
1 files changed, 11 insertions, 2 deletions
diff --git a/luaotfload-basics-nod.lua b/luaotfload-basics-nod.lua
index 151d98a..5ab9df7 100644
--- a/luaotfload-basics-nod.lua
+++ b/luaotfload-basics-nod.lua
@@ -28,12 +28,12 @@ if tex.attribute[0] ~= 0 then
end
-attributes = { }
+attributes = attributes or { }
attributes.unsetvalue = -0x7FFFFFFF
local numbers, last = { }, 127
-function attributes.private(name)
+attributes.private = attributes.private or function(name)
local number = numbers[name]
if not number then
if last < 255 then
@@ -63,6 +63,9 @@ nodes.glyphcodes = glyphcodes
local free_node = node.free
local remove_node = node.remove
local new_node = node.new
+local traverse_id = node.traverse_id
+
+local math_code = nodecodes.math
nodes.handlers.protectglyphs = node.protect_glyphs
nodes.handlers.unprotectglyphs = node.unprotect_glyphs
@@ -93,3 +96,9 @@ function nodes.pool.kern(k)
n.kern = k
return n
end
+
+function nodes.endofmath(n)
+ for n in traverse_id(math_code,n.next) do
+ return n
+ end
+end