diff options
author | Hans Hagen <pragma@wxs.nl> | 2013-05-09 15:23:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2013-05-09 15:23:00 +0200 |
commit | cc045f4b1cedad65d90a220c1075d9bdaa1e3365 (patch) | |
tree | 195b781899214cd7a5ef47680901ab79605f54c1 /tex/context/base/font-otn.lua | |
parent | 9e236867a2a9787c0faa0ede827a1cd9d5031ce9 (diff) | |
download | context-cc045f4b1cedad65d90a220c1075d9bdaa1e3365.tar.gz |
beta 2013.05.09 15:23
Diffstat (limited to 'tex/context/base/font-otn.lua')
-rw-r--r-- | tex/context/base/font-otn.lua | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tex/context/base/font-otn.lua b/tex/context/base/font-otn.lua index 46d64c783..0644125f7 100644 --- a/tex/context/base/font-otn.lua +++ b/tex/context/base/font-otn.lua @@ -393,6 +393,8 @@ local function getcomponentindex(start) end end +-- eventually we will do positioning in an other way (needs addional w/h/d fields) + local function toligature(kind,lookupname,head,start,stop,char,markflag,discfound) -- brr head if start == stop and start.char == char then start.char = char @@ -451,6 +453,22 @@ local function toligature(kind,lookupname,head,start,stop,char,markflag,discfoun end start = start.next end + -- new per 2013/5/9 : why was this not needed before, probably because we had + -- no nested components then and operated on the real start (no nil after stop) + local start = base.next + while start and start.id == glyph_code do -- hm, is id test needed ? + local char = start.char + if marks[char] then + start[a_ligacomp] = baseindex + (start[a_ligacomp] or componentindex) + if trace_marks then + logwarning("%s: find mark %s, gets index %s",pref(kind,lookupname),gref(char),start[a_ligacomp]) + end + else + break + end + start = start.next + end + -- end return head, base end @@ -735,6 +753,10 @@ function handlers.gpos_mark2ligature(head,start,kind,lookupname,markanchors,sequ pref(kind,lookupname),anchor,index,bound,gref(markchar),gref(basechar),index,dx,dy) end return head, start, true + else + if trace_bugs then + logwarning("%s: no matching anchors for mark %s and baselig %s with index %a",pref(kind,lookupname),gref(markchar),gref(basechar),index) + end end end end |