summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tex/context/base/char-def.lua1
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4136 -> 4132 bytes
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/font-age.lua1
-rw-r--r--tex/context/base/font-otn.lua45
-rw-r--r--tex/context/base/status-files.pdfbin24749 -> 24701 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin211555 -> 211513 bytes
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua23
9 files changed, 25 insertions, 49 deletions
diff --git a/tex/context/base/char-def.lua b/tex/context/base/char-def.lua
index 746f3f3c4..7d2df5d41 100644
--- a/tex/context/base/char-def.lua
+++ b/tex/context/base/char-def.lua
@@ -87892,7 +87892,6 @@ characters.data={
unicodeslot=0x3038,
},
[0x3039]={
- adobename="twentyhangzhou",
category="nl",
cjkwd="w",
description="HANGZHOU NUMERAL TWENTY",
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index 927828b99..584c7a6d7 100644
--- a/tex/context/base/cont-new.mkiv
+++ b/tex/context/base/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2013.05.09 15:23}
+\newcontextversion{2013.05.10 10:26}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index 54466cb4e..fbb746f4a 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 138e0be31..6c6d66b15 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -25,7 +25,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2013.05.09 15:23}
+\edef\contextversion{2013.05.10 10:26}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/font-age.lua b/tex/context/base/font-age.lua
index 94f4e6a37..bb6883a74 100644
--- a/tex/context/base/font-age.lua
+++ b/tex/context/base/font-age.lua
@@ -3702,7 +3702,6 @@ return { -- generated: inspect(fonts.encodings.agl.unicodes)
["twelveperiod"]=9363,
["twelveroman"]=8571,
["twentycircle"]=9331,
- ["twentyhangzhou"]=12345,
["twentyparen"]=9351,
["twentyperiod"]=9371,
["two"]=50,
diff --git a/tex/context/base/font-otn.lua b/tex/context/base/font-otn.lua
index 0644125f7..46b0d7ef5 100644
--- a/tex/context/base/font-otn.lua
+++ b/tex/context/base/font-otn.lua
@@ -271,9 +271,9 @@ local function logwarning(...)
report_direct(...)
end
-local f_unicode = formatters["%U"]
-local f_uniname = formatters["%U (%s)"]
-local f_unilist = formatters["% t (% t)"]
+local f_unicode = formatters["%U"]
+local f_uniname = formatters["%U (%s)"]
+local f_unilist = formatters["% t (% t)"]
local function gref(n) -- currently the same as in font-otb
if type(n) == "number" then
@@ -426,6 +426,7 @@ local function toligature(kind,lookupname,head,start,stop,char,markflag,discfoun
local componentindex = 0
local head = base
local current = base
+ -- first we loop over the glyphs in start .. stop
while start do
local char = start.char
if not marks[char] then
@@ -437,38 +438,26 @@ local function toligature(kind,lookupname,head,start,stop,char,markflag,discfoun
logwarning("%s: keep mark %s, gets index %s",pref(kind,lookupname),gref(char),start[a_ligacomp])
end
head, current = insert_node_after(head,current,copy_node(start)) -- unlikely that mark has components
+ elseif trace_marks then
+ logwarning("%s: delete mark %s",pref(kind,lookupname),gref(char))
end
start = start.next
end
- local start = components
- while start and start.id == glyph_code do -- hm, is id test needed ?
+ -- we can have one accent as part of a lookup and another following
+ -- local start = components -- was wrong (component scanning was introduced when more complex ligs in devanagari was added)
+ local start = current.next
+ while start and start.id == glyph_code do
local char = start.char
if marks[char] then
start[a_ligacomp] = baseindex + (start[a_ligacomp] or componentindex)
if trace_marks then
- logwarning("%s: keep mark %s, gets index %s",pref(kind,lookupname),gref(char),start[a_ligacomp])
- end
- else
- break
- 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])
+ logwarning("%s: set 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
@@ -741,7 +730,7 @@ function handlers.gpos_mark2ligature(head,start,kind,lookupname,markanchors,sequ
local baseanchors = baseanchors['baselig']
if baseanchors then
local al = anchorlookups[lookupname]
- for anchor,ba in next, baseanchors do
+ for anchor, ba in next, baseanchors do
if al[anchor] then
local ma = markanchors[anchor]
if ma then
@@ -1416,8 +1405,8 @@ end
function chainprocs.gpos_mark2mark(head,start,stop,kind,chainname,currentcontext,lookuphash,currentlookup,chainlookupname)
local markchar = start.char
if marks[markchar] then
---~ local alreadydone = markonce and start[a_markmark]
---~ if not alreadydone then
+ -- local alreadydone = markonce and start[a_markmark]
+ -- if not alreadydone then
-- local markanchors = descriptions[markchar].anchors markanchors = markanchors and markanchors.mark
local subtables = currentlookup.subtables
local lookupname = subtables[1]
@@ -1469,9 +1458,9 @@ function chainprocs.gpos_mark2mark(head,start,stop,kind,chainname,currentcontext
elseif trace_bugs then
logwarning("%s: mark %s has no anchors",cref(kind,chainname,chainlookupname,lookupname),gref(markchar))
end
---~ elseif trace_marks and trace_details then
---~ logprocess("%s, mark %s is already bound (n=%s), ignoring mark2mark",pref(kind,lookupname),gref(markchar),alreadydone)
---~ end
+ -- elseif trace_marks and trace_details then
+ -- logprocess("%s, mark %s is already bound (n=%s), ignoring mark2mark",pref(kind,lookupname),gref(markchar),alreadydone)
+ -- end
elseif trace_bugs then
logwarning("%s: mark %s is no mark",cref(kind,chainname,chainlookupname),gref(markchar))
end
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 8edb34b4d..de864528e 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index 6ca959f23..2642ab006 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index a0a58cc4d..e3f22be76 100644
--- a/tex/generic/context/luatex/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : luatex-fonts-merged.lua
-- parent file : luatex-fonts.lua
--- merge date : 05/09/13 15:23:31
+-- merge date : 05/10/13 10:26:54
do -- begin closure to overcome local limits and interference
@@ -8468,29 +8468,18 @@ local function toligature(kind,lookupname,head,start,stop,char,markflag,discfoun
logwarning("%s: keep mark %s, gets index %s",pref(kind,lookupname),gref(char),start[a_ligacomp])
end
head,current=insert_node_after(head,current,copy_node(start))
+ elseif trace_marks then
+ logwarning("%s: delete mark %s",pref(kind,lookupname),gref(char))
end
start=start.next
end
- local start=components
- while start and start.id==glyph_code do
+ local start=current.next
+ while start and start.id==glyph_code do
local char=start.char
if marks[char] then
start[a_ligacomp]=baseindex+(start[a_ligacomp] or componentindex)
if trace_marks then
- logwarning("%s: keep mark %s, gets index %s",pref(kind,lookupname),gref(char),start[a_ligacomp])
- end
- else
- break
- end
- start=start.next
- end
- local start=base.next
- while start and start.id==glyph_code do
- 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])
+ logwarning("%s: set mark %s, gets index %s",pref(kind,lookupname),gref(char),start[a_ligacomp])
end
else
break