diff options
Diffstat (limited to 'tex/context/base/mkiv/font-osd.lua')
-rw-r--r-- | tex/context/base/mkiv/font-osd.lua | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/tex/context/base/mkiv/font-osd.lua b/tex/context/base/mkiv/font-osd.lua index b67cc9241..ca20f6782 100644 --- a/tex/context/base/mkiv/font-osd.lua +++ b/tex/context/base/mkiv/font-osd.lua @@ -1140,6 +1140,7 @@ function handlers.devanagari_reorder_matras(head,start) -- no leak head = remove_node(head,start) setlink(start,next) setlink(current,start) + -- setlink(current,start,next) -- maybe start = startnext break end @@ -1199,6 +1200,7 @@ function handlers.devanagari_reorder_reph(head,start) head = remove_node(head,start) setlink(start,next) setlink(current,start) + -- setlink(current,start,next) -- maybe start = startnext startattr = getprop(start,a_syllabe) break @@ -1216,9 +1218,9 @@ function handlers.devanagari_reorder_reph(head,start) if getprop(current,a_state) == s_pstf then -- post-base startnext = getnext(start) head = remove_node(head,start) - local prev = getprev(current) - setlink(prev,start) + setlink(getprev(current),start) setlink(start,current) + -- setlink(getprev(current),start,current) -- maybe start = startnext startattr = getprop(start,a_syllabe) break @@ -1250,9 +1252,9 @@ function handlers.devanagari_reorder_reph(head,start) if c then startnext = getnext(start) head = remove_node(head,start) - local prev = getprev(c) - setlink(prev,start) + setlink(getprev(c),start) setlink(start,c) + -- setlink(getprev(c),start,c) -- maybe -- end start = startnext startattr = getprop(start,a_syllabe) @@ -1274,9 +1276,9 @@ function handlers.devanagari_reorder_reph(head,start) if start ~= current then startnext = getnext(start) head = remove_node(head,start) - local next = getnext(current) - setlink(start,next) + setlink(start,getnext(current)) setlink(current,start) + -- setlink(current,start,getnext(current)) -- maybe start = startnext end end @@ -1320,6 +1322,7 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start) removenode(start,start) setlink(start,next) setlink(current,start) + -- setlink(current,start,next) -- maybe start = startnext break end @@ -1337,9 +1340,9 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start) if not consonant[char] and getprop(current,a_state) then -- main startnext = getnext(start) removenode(start,start) - local prev = getprev(current) - setlink(prev,start) + setlink(getprev(current),start) setlink(start,current) + -- setlink(getprev(current),start,current) -- maybe start = startnext break end @@ -1690,9 +1693,9 @@ local function dev2_reorder(head,start,stop,font,attr,nbspaces) -- maybe do a pa end start = current end - local prev = getprev(halfpos) - setlink(prev,current) + setlink(getprev(halfpos),current) setlink(current,halfpos) + -- setlink(getprev(halfpos),current,halfpos) -- maybe halfpos = current elseif above_mark[char] then -- After main consonant target = basepos @@ -1721,9 +1724,9 @@ local function dev2_reorder(head,start,stop,font,attr,nbspaces) -- maybe do a pa if current == stop then stop = prev end - local next = getnext(target) - setlink(current,next) + setlink(current,getnext(target)) setlink(target,current) + -- setlink(target,current,getnext(target)) -- maybe end end end @@ -1750,8 +1753,7 @@ local function dev2_reorder(head,start,stop,font,attr,nbspaces) -- maybe do a pa if stop == next then stop = current end - local prev = getprev(c) - setlink(prev,next) + setlink(getprev(c),next) local nextnext = getnext(next) setnext(current,nextnext) local nextnextnext = getnext(nextnext) |