summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2013-04-24 13:39:00 +0200
committerHans Hagen <pragma@wxs.nl>2013-04-24 13:39:00 +0200
commitb15f9b55fe6b11291a9df6fe3cbdf7ef0670c48f (patch)
tree965e64426ad56ff28d7a5ab89670e577517cea3b
parent5fa0154fd3c55e8a97c4270009052e2252bb5336 (diff)
downloadcontext-b15f9b55fe6b11291a9df6fe3cbdf7ef0670c48f.tar.gz
beta 2013.04.24 13:39
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4135 -> 4134 bytes
-rw-r--r--tex/context/base/context-version.pngbin40537 -> 40539 bytes
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/font-otf.lua14
-rw-r--r--tex/context/base/font-otn.lua4
-rw-r--r--tex/context/base/font-otp.lua2
-rw-r--r--tex/context/base/mult-def.mkiv1
-rw-r--r--tex/context/base/status-files.pdfbin24745 -> 24718 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin211551 -> 211512 bytes
-rw-r--r--tex/context/base/strc-itm.mkvi3
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua14
12 files changed, 33 insertions, 9 deletions
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index 8c1b025c8..df19f22cf 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.04.23 12:46}
+\newcontextversion{2013.04.24 13:39}
%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 70ba3f23f..86f4912f4 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-version.png b/tex/context/base/context-version.png
index e57796a2d..a7429df88 100644
--- a/tex/context/base/context-version.png
+++ b/tex/context/base/context-version.png
Binary files differ
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index ab6658451..8b5825485 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.04.23 12:46}
+\edef\contextversion{2013.04.24 13:39}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/font-otf.lua b/tex/context/base/font-otf.lua
index 8a6183180..b08b6e15d 100644
--- a/tex/context/base/font-otf.lua
+++ b/tex/context/base/font-otf.lua
@@ -798,7 +798,7 @@ actions["check encoding"] = function(data,filename,raw)
end
end
--- for the moment we assume that a fotn with lookups will not use
+-- for the moment we assume that a font with lookups will not use
-- altuni so we stick to kerns only
actions["add duplicates"] = function(data,filename,raw)
@@ -1251,9 +1251,11 @@ actions["reorganize lookups"] = function(data,filename,raw) -- we could check fo
if current then
for i=1,#current do
current[i] = current_class[current[i]] or { }
+ -- let's not be sparse
if lookups and not lookups[i] then
lookups[i] = "" -- (was: false) e.g. we can have two lookups and one replacement
end
+ -- end of fix
end
rule.current = t_hashed(current,t_h_cache)
end
@@ -1283,6 +1285,16 @@ actions["reorganize lookups"] = function(data,filename,raw) -- we could check fo
local current = coverage.current
if current then
current = t_uncover(splitter,t_u_cache,current)
+ -- let's not be sparse
+ local lookups = rule.lookups
+ if lookups then
+ for i=1,#current do
+ if not lookups[i] then
+ lookups[i] = "" -- fix sparse array
+ end
+ end
+ end
+ --
rule.current = t_hashed(current,t_h_cache)
end
local after = coverage.after
diff --git a/tex/context/base/font-otn.lua b/tex/context/base/font-otn.lua
index 39a3f77dd..36b5c4001 100644
--- a/tex/context/base/font-otn.lua
+++ b/tex/context/base/font-otn.lua
@@ -613,10 +613,10 @@ function handlers.gsub_ligature(head,start,kind,lookupname,ligature,sequence)
if lig then
if trace_ligatures then
local stopchar = stop.char
- head, start = toligature(kind,lookupname,head, start,stop,lig,skipmark,discfound)
+ head, start = toligature(kind,lookupname,head,start,stop,lig,skipmark,discfound)
logprocess("%s: replacing %s upto %s by ligature %s case 2",pref(kind,lookupname),gref(startchar),gref(stopchar),gref(start.char))
else
- head, start = toligature(kind,lookupname,head, start,stop,lig,skipmark,discfound)
+ head, start = toligature(kind,lookupname,head,start,stop,lig,skipmark,discfound)
end
return head, start, true
else
diff --git a/tex/context/base/font-otp.lua b/tex/context/base/font-otp.lua
index c07d9ad4e..b02ae97ac 100644
--- a/tex/context/base/font-otp.lua
+++ b/tex/context/base/font-otp.lua
@@ -366,8 +366,8 @@ local function packdata(data)
local r = rule.after if r then for i=1,#r do r[i] = pack_boolean(r[i]) end end
local r = rule.current if r then for i=1,#r do r[i] = pack_boolean(r[i]) end end
local r = rule.replacements if r then rule.replacements = pack_flat (r) end -- can have holes
- -- local r = rule.lookups if r then rule.lookups = pack_mixed (r) end -- can have false
local r = rule.lookups if r then rule.lookups = pack_indexed(r) end -- can have ""
+ -- local r = rule.lookups if r then rule.lookups = pack_flat(r) end -- can have holes (already taken care of some cases)
end
end
end
diff --git a/tex/context/base/mult-def.mkiv b/tex/context/base/mult-def.mkiv
index ec33171da..cb165b055 100644
--- a/tex/context/base/mult-def.mkiv
+++ b/tex/context/base/mult-def.mkiv
@@ -71,6 +71,7 @@
\def\v!chemicals {chemicals}
\def\v!words {words}
\def\v!combination {combination}
+\def\v!norepeat {norepeat}
\def\s!lcgreek {lcgreek}
\def\s!ucgreek {ucgreek}
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 75f537ddc..0d4bd81af 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 104a26f06..bdbd77bb3 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/strc-itm.mkvi b/tex/context/base/strc-itm.mkvi
index 5840ee73e..85ec4bc45 100644
--- a/tex/context/base/strc-itm.mkvi
+++ b/tex/context/base/strc-itm.mkvi
@@ -430,6 +430,7 @@
\setvalue{\??itemgroupkeyword\v!stopper }{\letitemgroupparameter\c!placestopper\v!yes} % keep {}
\setvalue{\??itemgroupkeyword\v!unpacked }{\setfalse\c_strc_itemgroups_pack}
\setvalue{\??itemgroupkeyword\v!repeat }{\settrue\c_strc_itemgroups_repeat}
+\setvalue{\??itemgroupkeyword\v!norepeat }{\setfalse\c_strc_itemgroups_repeat}
\setvalue{\??itemgroupkeyword\v!reverse }{\settrue\c_strc_itemgroups_reverse}
\setvalue{\??itemgroupkeyword\v!columns }{\settrue\c_strc_itemgroups_columns}
\setvalue{\??itemgroupkeyword\v!one }{\letitemgroupparameter\c!n\plusone}
@@ -1306,6 +1307,8 @@
\ifx\m_strc_itemgroups_repeat_start\empty
\edef\m_strc_itemgroups_repeat_start{\currentitemlevel}%
\fi
+ \else
+ \let\m_strc_itemgroups_repeat_start\empty
\fi}
\def\strc_itemgroups_insert_item
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 28271378a..da5e35a80 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 : 04/23/13 12:46:30
+-- merge date : 04/24/13 13:39:43
do -- begin closure to overcome local limits and interference
@@ -6098,6 +6098,14 @@ actions["reorganize lookups"]=function(data,filename,raw)
local current=coverage.current
if current then
current=t_uncover(splitter,t_u_cache,current)
+ local lookups=rule.lookups
+ if lookups then
+ for i=1,#current do
+ if not lookups[i] then
+ lookups[i]=""
+ end
+ end
+ end
rule.current=t_hashed(current,t_h_cache)
end
local after=coverage.after
@@ -10642,8 +10650,8 @@ local function packdata(data)
local r=rule.before if r then for i=1,#r do r[i]=pack_boolean(r[i]) end end
local r=rule.after if r then for i=1,#r do r[i]=pack_boolean(r[i]) end end
local r=rule.current if r then for i=1,#r do r[i]=pack_boolean(r[i]) end end
- local r=rule.replacements if r then rule.replacements=pack_flat (r) end
- local r=rule.lookups if r then rule.lookups=pack_indexed(r) end
+ local r=rule.replacements if r then rule.replacements=pack_flat (r) end
+ local r=rule.lookups if r then rule.lookups=pack_indexed(r) end
end
end
end