summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/font-nod.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2017-08-04 09:53:17 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2017-08-04 09:53:17 +0200
commit817e18d3f6969b1b50b4883ec4d5bb05c985db88 (patch)
tree3569da776df0f8bcf449efd99b11380544d44ec5 /tex/context/base/mkiv/font-nod.lua
parentab253433729006addd4336870face2facce5f894 (diff)
downloadcontext-817e18d3f6969b1b50b4883ec4d5bb05c985db88.tar.gz
2017-08-04 09:46:00
Diffstat (limited to 'tex/context/base/mkiv/font-nod.lua')
-rw-r--r--tex/context/base/mkiv/font-nod.lua38
1 files changed, 29 insertions, 9 deletions
diff --git a/tex/context/base/mkiv/font-nod.lua b/tex/context/base/mkiv/font-nod.lua
index a4dec4f74..2670a924b 100644
--- a/tex/context/base/mkiv/font-nod.lua
+++ b/tex/context/base/mkiv/font-nod.lua
@@ -18,7 +18,10 @@ local match, rep = string.match, string.rep
fonts = fonts or { }
nodes = nodes or { }
-local fonts, nodes, node, context = fonts, nodes, node, context
+
+local fonts = fonts
+local nodes = nodes
+local context = context
local tracers = nodes.tracers or { }
nodes.tracers = tracers
@@ -296,24 +299,41 @@ function step_tracers.features()
local f = collection[1]
while f do
if getid(f) == glyph_code then
- local tfmdata, t = fontidentifiers[getfont(f)], { }
+ local tfmdata = fontidentifiers[getfont(f)]
+ local features = tfmdata.resources.features
+ local result_1 = { }
+ local result_2 = { }
+ local gpos = features and features.gpos or { }
+ local gsub = features and features.gsub or { }
for feature, value in table.sortedhash(tfmdata.shared.features) do
if feature == "number" or feature == "features" then
- -- private
+ value = false
elseif type(value) == "boolean" then
if value then
- t[#t+1] = formatters["%s=yes"](feature)
+ value = "yes"
else
- -- skip
+ value = false
end
else
- t[#t+1] = formatters["%s=%s"](feature,value)
+ -- use value
+ end
+ if value then
+ if gpos[feature] or gsub[feature] or feature == "language" or feature == "script" then
+ result_1[#result_1+1] = formatters["%s=%s"](feature,value)
+ else
+ result_2[#result_2+1] = formatters["%s=%s"](feature,value)
+ end
end
end
- if #t > 0 then
- context(concat(t,", "))
+ if #result_1 > 0 then
+ context("{\\bf[basic:} %, t{\\bf]} ",result_1)
+ else
+ context("{\\bf[}no basic features{\\bf]} ")
+ end
+ if #result_2 > 0 then
+ context("{\\bf[extra:} %, t{\\bf]}",result_2)
else
- context("no features")
+ context("{\\bf[}no extra features{\\bf]}")
end
return
end