diff options
author | Karl Berry <karl@freefriends.org> | 2010-10-17 22:09:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-10-17 22:09:01 +0000 |
commit | 87c6a6ef44e21718b0eaf4e1e03a27806f6d750d (patch) | |
tree | 7b5eb8c77a04c1706da4ac7b77b376ed9e2d5eef /Master/texmf-dist/tex/luatex/luaotfload/otfl-node-inj.lua | |
parent | 7581728dcb2e3ed619a2e56f42d8b32560246f09 (diff) |
luaotfload 1.20 (16oct10)
git-svn-id: svn://tug.org/texlive/trunk@20127 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luaotfload/otfl-node-inj.lua')
-rw-r--r-- | Master/texmf-dist/tex/luatex/luaotfload/otfl-node-inj.lua | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/otfl-node-inj.lua b/Master/texmf-dist/tex/luatex/luaotfload/otfl-node-inj.lua index 5b55c8c2e85..fdea7f1f351 100644 --- a/Master/texmf-dist/tex/luatex/luaotfload/otfl-node-inj.lua +++ b/Master/texmf-dist/tex/luatex/luaotfload/otfl-node-inj.lua @@ -115,7 +115,7 @@ function nodes.set_mark(start,base,factor,rlmode,ba,ma,index) --ba=baseanchor, m set_attribute(base,markbase,bound) set_attribute(start,markmark,bound) set_attribute(start,markdone,index) - marks[bound] = { [index] = { dx, dy } } + marks[bound] = { [index] = { dx, dy, rlmode } } return dx, dy, bound end @@ -314,17 +314,23 @@ function nodes.inject_kerns(head,where,keep) local index = has_attribute(n,markdone) or 1 local d = mrks[index] if d then - -- local rlmode = d[3] -- not used - -- if rlmode and rlmode > 0 then - -- todo - -- else + local rlmode = d[3] + if rlmode and rlmode > 0 then + -- new per 2010-10-06 + local k = wx[p] + if k then -- maybe (d[1] - p.width) and/or + k[2] + n.xoffset = p.xoffset - (p.width - d[1]) - k[2] + else + n.xoffset = p.xoffset - (p.width - d[1]) + end + else local k = wx[p] if k then n.xoffset = p.xoffset - d[1] - k[2] else n.xoffset = p.xoffset - d[1] end - -- end + end if mk[p] then n.yoffset = p.yoffset + d[2] else |