summaryrefslogtreecommitdiff
path: root/otfl-node-fnt.lua
diff options
context:
space:
mode:
authorElie Roux <elie.roux@telecom-bretagne.eu>2009-06-10 20:21:00 +0300
committerElie Roux <elie.roux@telecom-bretagne.eu>2009-06-10 20:21:00 +0300
commit1ef10e57241a65e8ce2aeefdd83874e8999b7b44 (patch)
tree713769db5cdf9115e2824aa09e8f65cd795667f7 /otfl-node-fnt.lua
parent5821436af1c522206c3faf90e0813415445ea6c7 (diff)
downloadluaotfload-1ef10e57241a65e8ce2aeefdd83874e8999b7b44.tar.gz
syncing with latest ConTeXt version (more feautures, less bugs), thanks to Khaled Hosny
Diffstat (limited to 'otfl-node-fnt.lua')
-rw-r--r--otfl-node-fnt.lua18
1 files changed, 15 insertions, 3 deletions
diff --git a/otfl-node-fnt.lua b/otfl-node-fnt.lua
index 52b5a24..3ad9060 100644
--- a/otfl-node-fnt.lua
+++ b/otfl-node-fnt.lua
@@ -33,6 +33,18 @@ local fontdata = fonts.ids
-- happen often; we could consider processing sublists but that might need mor
-- checking later on; the current approach also permits variants
+if tex.attribute[0] < 0 then
+
+ texio.write_nl("log","!")
+ texio.write_nl("log","! Attribute 0 is reserved for ConTeXt's font feature management and has to be")
+ texio.write_nl("log","! set to zero. Also, some attributes in the range 1-255 are used for special")
+ texio.write_nl("log","! purposed so setting them at the TeX end might break the font handler.")
+ texio.write_nl("log","!")
+
+ tex.attribute[0] = 0 -- else no features
+
+end
+
function nodes.process_characters(head)
-- either next or not, but definitely no already processed list
starttiming(nodes)
@@ -54,7 +66,7 @@ function nodes.process_characters(head)
if shared then
local dynamics = shared.dynamics
if dynamics then
- local d = shared.set_dynamics(font,dynamics,attr)
+ local d = shared.set_dynamics(font,dynamics,attr) -- still valid?
if d then
used[attr] = d
a = a + 1
@@ -95,7 +107,7 @@ function nodes.process_characters(head)
head, done = h or head, done or d
if n > 1 then
for i=2,n do
- local h, d = processors[i](head,font,false)
+ local h, d = processors[i](head,font,0) -- false)
head, done = h or head, done or d
end
end
@@ -107,7 +119,7 @@ function nodes.process_characters(head)
head, done = h or head, done or d
if n > 1 then
for i=2,n do
- local h, d = processors[i](head,font,false)
+ local h, d = processors[i](head,font,0) -- false)
head, done = h or head, done or d
end
end