summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luaotfload/otfl-font-ota.lua
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-06-20 21:35:33 +0000
committerKarl Berry <karl@freefriends.org>2010-06-20 21:35:33 +0000
commita262478df24d895c9ec6e33766d70ef3671fc097 (patch)
tree4aa64d676402332c34f40746304456c7bd9b16f2 /Master/texmf-dist/tex/luatex/luaotfload/otfl-font-ota.lua
parent0bfa62a5a154a4375347eafd93488b528858ffc9 (diff)
luaotfload 1.12 (18jun10)
git-svn-id: svn://tug.org/texlive/trunk@19078 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luaotfload/otfl-font-ota.lua')
-rw-r--r--Master/texmf-dist/tex/luatex/luaotfload/otfl-font-ota.lua39
1 files changed, 1 insertions, 38 deletions
diff --git a/Master/texmf-dist/tex/luatex/luaotfload/otfl-font-ota.lua b/Master/texmf-dist/tex/luatex/luaotfload/otfl-font-ota.lua
index 558e2fc8063..0e5b5554265 100644
--- a/Master/texmf-dist/tex/luatex/luaotfload/otfl-font-ota.lua
+++ b/Master/texmf-dist/tex/luatex/luaotfload/otfl-font-ota.lua
@@ -35,14 +35,8 @@ local penalty = node.id('penalty')
local set_attribute = node.set_attribute
local has_attribute = node.has_attribute
local traverse_id = node.traverse_id
-local delete_node = nodes.delete
-local replace_node = nodes.replace
-local insert_node_after = node.insert_after
-local insert_node_before = node.insert_before
local traverse_node_list = node.traverse
-local new_glue_node = nodes.glue
-
local fontdata = fonts.ids
local state = attributes.private('state')
@@ -56,8 +50,8 @@ local a_to_language = otf.a_to_language
-- font related value, but then we also need dynamic features which is
-- somewhat slower; and .. we need a chain of them
-
function fonts.initializers.node.otf.analyze(tfmdata,value,attr)
+ local script, language
if attr and attr > 0 then
script, language = a_to_script[attr], a_to_language[attr]
else
@@ -195,8 +189,6 @@ function fonts.analyzers.methods.nocolor(head,font,attr)
return head, true
end
-otf.remove_joiners = false -- true -- for idris who want it as option
-
local function finish(first,last)
if last then
if first == last then
@@ -242,22 +234,10 @@ function fonts.analyzers.methods.arab(head,font,attr) -- maybe make a special ve
local tfmdata = fontdata[font]
local marks = tfmdata.marks
local first, last, current, done = nil, nil, head, false
- local joiners, nonjoiners
- local removejoiners = tfmdata.remove_joiners -- or otf.remove_joiners
- if removejoiners then
- joiners, nonjoiners = { }, { }
- end
while current do
if current.id == glyph and current.subtype<256 and current.font == font and not has_attribute(current,state) then
done = true
local char = current.char
- if removejoiners then
- if char == zwj then
- joiners[#joiners+1] = current
- elseif char == zwnj then
- nonjoiners[#nonjoiners+1] = current
- end
- end
if marks[char] then
set_attribute(current,state,5) -- mark
if trace_analyzing then fcs(current,"font:mark") end
@@ -303,22 +283,5 @@ function fonts.analyzers.methods.arab(head,font,attr) -- maybe make a special ve
current = current.next
end
first, last = finish(first,last)
- if removejoiners then
- -- is never head
- for i=1,#joiners do
- delete_node(head,joiners[i])
- end
- for i=1,#nonjoiners do
- replace_node(head,nonjoiners[i],new_glue_node(0)) -- or maybe a kern
- end
- end
return head, done
end
-
-table.insert(fonts.manipulators,"joiners")
-
-function fonts.initializers.node.otf.joiners(tfmdata,value)
- if value == "strip" then
- tfmdata.remove_joiners = true
- end
-end