summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/node-gcm.lmt
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2020-11-23 19:48:34 +0100
committerContext Git Mirror Bot <phg@phi-gamma.net>2020-11-23 19:48:34 +0100
commit18499e46a49b8ccf4346686d1cf626ada33935b8 (patch)
treebd0ae7b601b323e20954c10c07598637d9403e00 /tex/context/base/mkiv/node-gcm.lmt
parent4b089e589d39346a66a27d04f9857fe16e4b7b41 (diff)
downloadcontext-18499e46a49b8ccf4346686d1cf626ada33935b8.tar.gz
2020-11-23 18:39:00
Diffstat (limited to 'tex/context/base/mkiv/node-gcm.lmt')
-rw-r--r--tex/context/base/mkiv/node-gcm.lmt112
1 files changed, 0 insertions, 112 deletions
diff --git a/tex/context/base/mkiv/node-gcm.lmt b/tex/context/base/mkiv/node-gcm.lmt
deleted file mode 100644
index 8b09fb82b..000000000
--- a/tex/context/base/mkiv/node-gcm.lmt
+++ /dev/null
@@ -1,112 +0,0 @@
-if not modules then modules = { } end modules ['node-gmc'] = {
- version = 1.001,
- comment = "companion to node-ini.mkiv",
- author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
- copyright = "PRAGMA ADE / ConTeXt Development Team",
- license = "see context related readme files"
-}
-
-local type, tostring = type, tostring
-
-local nodes = nodes
-local ligature_code = nodes.glyphcodes.ligature
-local nuts = nodes.nuts
-
-local getnext = nuts.getnext
-local getsubtype = nuts.getsubtype
-local copy_node = nuts.copy
-local flush_list = nuts.flush_list
-local count = nuts.count
-local isglyph = nuts.isglyph
-local getprop = nuts.getprop
-local setprop = nuts.setprop
-
-local fastcopy = table.fastcopy
-
-local report_error = logs.reporter("node-aux:error")
-
-local function set_components(base,list)
- local t = { }
- local n = 0
- local l = list
- while list do
- local char = isglyph(list)
- if char then
- n = n + 1
- t[n] = char
- end
- list = getnext(list)
- end
- -- was forgotten:
- flush_list(l)
- --
- setprop(base,"components",n > 0 and t or false)
-end
-
-local function get_components(base)
- return getprop(base,"components")
-end
-
-local function copy_no_components(base)
- local copy = copy_node(base)
- setprop(copy,"components",false) -- no metatable lookup!
- return copy
-end
-
-local function copy_only_glyphs(base)
- local t = getprop(base,"components") -- also metatable
- if t then
- return fastcopy(t)
- end
-end
-
-local function do_count(t,marks)
- local n = 0
- if t then
- for i=1,#t do
- local c = t[i]
- if type(c) == "table" then
- n = n + do_count(t,marks)
- elseif not marks[c] then
- n = n + 1
- else
- --marks don't count
- end
- end
- end
- return n
-end
-
--- start is a mark and we need to keep that one
-
-local done = false
-
-local function count_components(base,marks)
- local char = isglyph(base)
- if char then
- if getsubtype(base) == ligature_code then
- if not done then
- logs.report("fonts","!")
- logs.report("fonts","! check count_components with mkiv !")
- logs.report("fonts","!")
- done = true
- end
- local t = getprop(base,"components")
- if t then
- return do_count(t,marks)
- end
- elseif not marks[char] then
- return 1
- end
- end
- return 0
-end
-
-nuts.set_components = set_components
-nuts.get_components = get_components
-nuts.copy_only_glyphs = copy_only_glyphs
-nuts.copy_no_components = copy_no_components
-nuts.count_components = count_components
-
-nuts.setcomponents = function() report_error("unsupported: %a","setcomponents") end
-nuts.getcomponents = function() report_error("unsupported: %a","getcomponents") end