summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/context/lua/mtx-context.lua6
-rw-r--r--scripts/context/lua/mtxrun.lua8
-rw-r--r--scripts/context/stubs/mswin/mtxrun.lua8
-rw-r--r--scripts/context/stubs/unix/mtxrun8
-rw-r--r--scripts/context/stubs/win64/mtxrun.lua8
-rw-r--r--tex/context/base/back-exp.lua3
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4202 -> 4200 bytes
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/core-con.lua2
-rw-r--r--tex/context/base/font-inj.lua48
-rw-r--r--tex/context/base/font-ots.lua13
-rw-r--r--tex/context/base/font-oup.lua2
-rw-r--r--tex/context/base/lxml-aux.lua1
-rw-r--r--tex/context/base/lxml-lpt.lua31
-rw-r--r--tex/context/base/m-newotf.mkiv4
-rw-r--r--tex/context/base/m-scite.mkiv4
-rw-r--r--tex/context/base/status-files.pdfbin24483 -> 24450 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin255196 -> 255170 bytes
-rw-r--r--tex/context/base/strc-lst.lua21
-rw-r--r--tex/context/base/task-ini.lua2
-rw-r--r--tex/context/base/typo-bld.lua7
-rw-r--r--tex/context/base/util-sci.lua8
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
24 files changed, 138 insertions, 52 deletions
diff --git a/scripts/context/lua/mtx-context.lua b/scripts/context/lua/mtx-context.lua
index 1cd288d3a..cb76a0106 100644
--- a/scripts/context/lua/mtx-context.lua
+++ b/scripts/context/lua/mtx-context.lua
@@ -44,6 +44,8 @@ local application = logs.application {
-- ["default-translate-file"] = true, -- ignored, input is assumed to be in UTF-8 encoding
-- ["translate-file"] = true, -- ignored, input is assumed to be in UTF-8 encoding
-- ["etex"] = true, -- ignored, the etex extensions are always active
+-- ["parse-first-line"] = true, -- ignored, enable parsing of the first line of the input file
+-- ["no-parse-first-line"] = true, -- ignored, disable parsing of the first line of the input file
--
-- ["credits"] = true, -- display credits and exit
-- ["debug-format"] = true, -- enable format debugging
@@ -68,8 +70,6 @@ local application = logs.application {
-- ["output-comment"] = true, -- use STRING for DVI file comment instead of date (no effect for PDF)
-- ["output-directory"] = true, -- use existing DIR as the directory to write files in
-- ["output-format"] = true, -- use FORMAT for job output; FORMAT is 'dvi' or 'pdf'
--- ["parse-first-line"] = true, -- enable parsing of the first line of the input file
--- ["no-parse-first-line"] = true, -- disable parsing of the first line of the input file
-- ["progname"] = true, -- set the program name to STRING
-- ["recorder"] = true, -- enable filename recorder
-- ["safer"] = true, -- disable easily exploitable lua commands
@@ -731,7 +731,7 @@ function scripts.context.run(ctxdata,filename)
local l_flags = {
["interaction"] = a_batchmode,
["synctex"] = a_synctex,
- ["no-parse-first-line"] = true,
+ ["no-parse-first-line"] = true, -- obsolete
["safer"] = a_safer,
-- ["no-mktex"] = true,
-- ["file-line-error-style"] = true,
diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua
index bab715c69..e13bc4eef 100644
--- a/scripts/context/lua/mtxrun.lua
+++ b/scripts/context/lua/mtxrun.lua
@@ -10993,7 +10993,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-lpt"] = package.loaded["lxml-lpt"] or true
--- original size: 48172, stripped down to: 30632
+-- original size: 48982, stripped down to: 30632
if not modules then modules={} end modules ['lxml-lpt']={
version=1.001,
@@ -12134,7 +12134,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-aux"] = package.loaded["lxml-aux"] or true
--- original size: 28786, stripped down to: 20578
+-- original size: 28785, stripped down to: 20578
if not modules then modules={} end modules ['lxml-aux']={
version=1.001,
@@ -18329,8 +18329,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 757265
--- stripped bytes : 272593
+-- original bytes : 758074
+-- stripped bytes : 273402
-- end library merge
diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua
index bab715c69..e13bc4eef 100644
--- a/scripts/context/stubs/mswin/mtxrun.lua
+++ b/scripts/context/stubs/mswin/mtxrun.lua
@@ -10993,7 +10993,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-lpt"] = package.loaded["lxml-lpt"] or true
--- original size: 48172, stripped down to: 30632
+-- original size: 48982, stripped down to: 30632
if not modules then modules={} end modules ['lxml-lpt']={
version=1.001,
@@ -12134,7 +12134,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-aux"] = package.loaded["lxml-aux"] or true
--- original size: 28786, stripped down to: 20578
+-- original size: 28785, stripped down to: 20578
if not modules then modules={} end modules ['lxml-aux']={
version=1.001,
@@ -18329,8 +18329,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 757265
--- stripped bytes : 272593
+-- original bytes : 758074
+-- stripped bytes : 273402
-- end library merge
diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun
index bab715c69..e13bc4eef 100644
--- a/scripts/context/stubs/unix/mtxrun
+++ b/scripts/context/stubs/unix/mtxrun
@@ -10993,7 +10993,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-lpt"] = package.loaded["lxml-lpt"] or true
--- original size: 48172, stripped down to: 30632
+-- original size: 48982, stripped down to: 30632
if not modules then modules={} end modules ['lxml-lpt']={
version=1.001,
@@ -12134,7 +12134,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-aux"] = package.loaded["lxml-aux"] or true
--- original size: 28786, stripped down to: 20578
+-- original size: 28785, stripped down to: 20578
if not modules then modules={} end modules ['lxml-aux']={
version=1.001,
@@ -18329,8 +18329,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 757265
--- stripped bytes : 272593
+-- original bytes : 758074
+-- stripped bytes : 273402
-- end library merge
diff --git a/scripts/context/stubs/win64/mtxrun.lua b/scripts/context/stubs/win64/mtxrun.lua
index bab715c69..e13bc4eef 100644
--- a/scripts/context/stubs/win64/mtxrun.lua
+++ b/scripts/context/stubs/win64/mtxrun.lua
@@ -10993,7 +10993,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-lpt"] = package.loaded["lxml-lpt"] or true
--- original size: 48172, stripped down to: 30632
+-- original size: 48982, stripped down to: 30632
if not modules then modules={} end modules ['lxml-lpt']={
version=1.001,
@@ -12134,7 +12134,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-aux"] = package.loaded["lxml-aux"] or true
--- original size: 28786, stripped down to: 20578
+-- original size: 28785, stripped down to: 20578
if not modules then modules={} end modules ['lxml-aux']={
version=1.001,
@@ -18329,8 +18329,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 757265
--- stripped bytes : 272593
+-- original bytes : 758074
+-- stripped bytes : 273402
-- end library merge
diff --git a/tex/context/base/back-exp.lua b/tex/context/base/back-exp.lua
index 23940d2ee..da4c5d7e0 100644
--- a/tex/context/base/back-exp.lua
+++ b/tex/context/base/back-exp.lua
@@ -312,7 +312,8 @@ function wrapups.hashlistdata()
local tag = ci.references.tag
if tag then
local m = ci.metadata
- listdata[m.kind .. ">" .. tag] = ci
+ local t = m.kind .. ">" .. tag -- todo: use internal (see strc-lst.lua where it's set)
+ listdata[t] = ci
end
end
end
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index e415389bf..822f9f09b 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{2015.08.26 09:07}
+\newcontextversion{2015.08.30 17:07}
%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 328813c62..4fed34b6b 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 dd2132720..e1c93c484 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -39,7 +39,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2015.08.26 09:07}
+\edef\contextversion{2015.08.30 17:07}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/core-con.lua b/tex/context/base/core-con.lua
index 63dfcae90..8773d9224 100644
--- a/tex/context/base/core-con.lua
+++ b/tex/context/base/core-con.lua
@@ -1272,7 +1272,7 @@ local function currentdate(str,currentlanguage) -- second argument false : no la
if currentlanguage == false then
-- ignore
else
- context(converters.ordinal(whatordinal,currentlanguage)) -- no "%s" needed
+ context.highordinalstr(converters.ordinal(whatordinal,currentlanguage))
end
end
end
diff --git a/tex/context/base/font-inj.lua b/tex/context/base/font-inj.lua
index 99172a89f..cdf14b935 100644
--- a/tex/context/base/font-inj.lua
+++ b/tex/context/base/font-inj.lua
@@ -16,6 +16,9 @@ if not modules then modules = { } end modules ['font-inj'] = {
-- cleaner to have an identification pass here. Also, I need to keep tracing in mind so
-- being too clever here is dangerous.
+-- The subtype test is not needed as there will be no (new) properties set, given that we
+-- reset the properties.
+
if not nodes.properties then return end
local next, rawget = next, rawget
@@ -211,9 +214,12 @@ function injections.setpair(current,factor,rlmode,r2lflag,spec,injection) -- r2l
if rlmode and rlmode < 0 then
leftkern, rightkern = rightkern, leftkern
end
+ if not injection then
+ injection = "injections"
+ end
local p = rawget(properties,current)
if p then
- local i = rawget(p,"injections")
+ local i = rawget(p,injection)
if i then
if leftkern ~= 0 then
i.leftkern = (i.leftkern or 0) + leftkern
@@ -225,19 +231,19 @@ function injections.setpair(current,factor,rlmode,r2lflag,spec,injection) -- r2l
i.yoffset = (i.yoffset or 0) + yoffset
end
elseif leftkern ~= 0 or rightkern ~= 0 then
- p.injections = {
+ p[injection] = {
leftkern = leftkern,
rightkern = rightkern,
yoffset = yoffset,
}
else
- p.injections = {
+ p[injection] = {
yoffset = yoffset,
}
end
elseif leftkern ~= 0 or rightkern ~= 0 then
properties[current] = {
- injections = {
+ [injection] = {
leftkern = leftkern,
rightkern = rightkern,
yoffset = yoffset,
@@ -245,7 +251,7 @@ function injections.setpair(current,factor,rlmode,r2lflag,spec,injection) -- r2l
}
else
properties[current] = {
- injections = {
+ [injection] = {
yoffset = yoffset,
},
}
@@ -545,9 +551,9 @@ local function inject_marks(marks,marki,nofmarks)
-- ox = px - getfield(p,"width") + pn.markx - pp.leftkern
local leftkern = pp.leftkern
if leftkern then
- ox = px - pn.markx
- else
ox = px - pn.markx - leftkern
+ else
+ ox = px - pn.markx
end
end
else
@@ -674,7 +680,15 @@ local function inject_cursives(glyphs,glyphi,nofglyphs)
end
end
-local function inject_kerns(head,glist,ilist,length)
+-- G +D-pre G
+-- D-post+
+-- +D-replace+
+--
+-- G +D-pre +D-pre
+-- D-post +D-post
+-- +D-replace +D-replace
+
+local function inject_kerns(head,glist,ilist,length) -- not complete ! compare with inject_kerns_only (but unlikely disc here)
for i=1,length do
local n = glist[i]
local pn = rawget(properties,n)
@@ -682,8 +696,9 @@ local function inject_kerns(head,glist,ilist,length)
local dp = nil
local dr = nil
local ni = ilist[i]
+ local p = nil
if ni == "injections" then
- local p = getprev(n)
+ p = getprev(n)
if p then
local id = getid(p)
if id == disc_code then
@@ -699,6 +714,7 @@ local function inject_kerns(head,glist,ilist,length)
if leftkern and leftkern ~= 0 then
local t = find_tail(dp)
insert_node_after(dp,t,newkern(leftkern))
+setfield(p,"post",dp) -- currently we need to force a tail refresh
end
end
end
@@ -709,6 +725,7 @@ local function inject_kerns(head,glist,ilist,length)
if leftkern and leftkern ~= 0 then
local t = find_tail(dr)
insert_node_after(dr,t,newkern(leftkern))
+setfield(p,"replace",dr) -- currently we need to force a tail refresh
end
end
else
@@ -757,6 +774,14 @@ local function inject_everything(head,where)
return tonode(head), true
end
+-- G +D-pre G
+-- D-post+
+-- +D-replace+
+--
+-- G +D-pre +D-pre
+-- D-post +D-post
+-- +D-replace +D-replace
+
local function inject_kerns_only(head,where)
head = tonut(head)
if trace_injections then
@@ -779,6 +804,7 @@ local function inject_kerns_only(head,where)
if leftkern and leftkern ~= 0 then
local t = find_tail(d)
insert_node_after(d,t,newkern(leftkern))
+setfield(p,"post",d) -- currently we need to force a tail refresh
end
end
end
@@ -790,6 +816,7 @@ local function inject_kerns_only(head,where)
if leftkern and leftkern ~= 0 then
local t = find_tail(d)
insert_node_after(d,t,newkern(leftkern))
+setfield(p,"replace",d) -- currently we need to force a tail refresh
end
end
else
@@ -839,6 +866,7 @@ local function inject_kerns_only(head,where)
setfield(n,"pre",h)
end
end
+ -- weird
local d = getfield(n,"post")
if d then
local h = d
@@ -923,6 +951,7 @@ local function inject_pairs_only(head,where)
if leftkern and leftkern ~= 0 then
local t = find_tail(d)
insert_node_after(d,t,newkern(leftkern))
+setfield(p,"post",d) -- currently we need to force a tail refresh
end
-- local rightkern = i.rightkern
-- if rightkern and rightkern ~= 0 then
@@ -939,6 +968,7 @@ local function inject_pairs_only(head,where)
if leftkern and leftkern ~= 0 then
local t = find_tail(d)
insert_node_after(d,t,newkern(leftkern))
+setfield(p,"replace",d) -- currently we need to force a tail refresh
end
-- local rightkern = i.rightkern
-- if rightkern and rightkern ~= 0 then
diff --git a/tex/context/base/font-ots.lua b/tex/context/base/font-ots.lua
index c7497c16f..74d7ac60b 100644
--- a/tex/context/base/font-ots.lua
+++ b/tex/context/base/font-ots.lua
@@ -6,6 +6,11 @@ if not modules then modules = { } end modules ['font-ots'] = { -- sequences
license = "see context related readme files",
}
+-- assumptions:
+--
+-- cursives don't cross discretionaries
+-- marks precede bases
+
-- This is a version of font-otn.lua adapted to the new font loader code. It
-- is a context version which can contain experimental code, but when we
-- have serious patches we will backport to the font-otn files. There will
@@ -885,16 +890,16 @@ function handlers.gpos_pair(head,start,dataset,sequence,kerns,rlmode,step,i,inje
elseif step.format == "pair" then
local a, b = krn[1], krn[2]
if a and #a > 0 then
- local startchar = getchar(start)
local x, y, w, h = setpair(start,factor,rlmode,sequence.flags[4],a,injection) -- characters[startchar])
if trace_kerns then
+ local startchar = getchar(start)
logprocess("%s: shifting first of pair %s and %s by (%p,%p) and correction (%p,%p)",pref(dataset,sequence),gref(startchar),gref(nextchar),x,y,w,h)
end
end
if b and #b > 0 then
- local startchar = getchar(start)
local x, y, w, h = setpair(snext,factor,rlmode,sequence.flags[4],b,injection) -- characters[nextchar])
if trace_kerns then
+ local startchar = getchar(start)
logprocess("%s: shifting second of pair %s and %s by (%p,%p) and correction (%p,%p)",pref(dataset,sequence),gref(startchar),gref(nextchar),x,y,w,h)
end
end
@@ -1426,7 +1431,7 @@ function chainprocs.gsub_ligature(head,start,stop,dataset,sequence,currentlookup
end
else
local schar = getchar(current)
- if skipmark and marks[schar] then -- marks
+ if skipmark and marks[schar] then -- marks
-- if current == stop then -- maybe add this
-- break
-- else
@@ -2887,7 +2892,7 @@ local function featuresprocessor(head,font,attr)
end
end
- local function k_run(sub,injection,last)
+ local function k_run(sub,injection,last)
local a = getattr(sub,0)
if a then
a = (a == attr) and (not attribute or getprop(sub,a_state) == attribute)
diff --git a/tex/context/base/font-oup.lua b/tex/context/base/font-oup.lua
index f0e182be1..534bfe42e 100644
--- a/tex/context/base/font-oup.lua
+++ b/tex/context/base/font-oup.lua
@@ -1913,6 +1913,8 @@ function readers.expand(data)
local cu = coverage[unic]
if not cu then
coverage[unic] = rulehash -- can now be done cleaner i think
+-- else
+-- sequence[start] = nil
end
end
end
diff --git a/tex/context/base/lxml-aux.lua b/tex/context/base/lxml-aux.lua
index 8eedade39..01c2a8bfc 100644
--- a/tex/context/base/lxml-aux.lua
+++ b/tex/context/base/lxml-aux.lua
@@ -998,4 +998,3 @@ function xml.totable(x,strip,flat)
return convert(x,strip,flat)
end
end
-
diff --git a/tex/context/base/lxml-lpt.lua b/tex/context/base/lxml-lpt.lua
index add29241e..6df89be20 100644
--- a/tex/context/base/lxml-lpt.lua
+++ b/tex/context/base/lxml-lpt.lua
@@ -1446,3 +1446,34 @@ function xml.finalizers.paragraphs(c)
end
return c
end
+
+-- local lpegmatch = lpeg.match
+-- local w = lpeg.patterns.whitespace
+-- local p = w^0 * lpeg.Cf(lpeg.Ct("") * lpeg.Cg(lpeg.C((1-w)^1) * lpeg.Cc(true) * w^0)^1,rawset)
+
+-- function xml.functions.classes(e) -- cache
+-- local class = e.at.class
+-- if class then
+-- return lpegmatch(p,class)
+-- else
+-- return { }
+-- end
+-- end
+
+-- local gmatch = string.gmatch
+
+-- function xml.functions.hasclass(e,c,class)
+-- class = class and e.at[class] or e.at.class
+-- if class and class ~= "" then
+-- if class == c then
+-- return true
+-- else
+-- for s in gmatch(class,"%S+") do
+-- if s == c then
+-- return true
+-- end
+-- end
+-- end
+-- end
+-- return false
+-- end
diff --git a/tex/context/base/m-newotf.mkiv b/tex/context/base/m-newotf.mkiv
index 5f5e617ff..0bdd6ec8e 100644
--- a/tex/context/base/m-newotf.mkiv
+++ b/tex/context/base/m-newotf.mkiv
@@ -19,8 +19,6 @@
\startluacode
local files = {
- "font-inj-new", -- for me, testing
- "node-fnt-new", -- for me, testing
"font-otr",
"font-cff",
"font-ttf",
@@ -28,7 +26,7 @@
"font-oup",
"font-otl",
"font-ots",
- "font-ots-new", -- for me, testing
+"font-ots-xxx", -- for me, testing
"font-oto",
"font-otd",
"font-otc",
diff --git a/tex/context/base/m-scite.mkiv b/tex/context/base/m-scite.mkiv
index 7a8e8b06e..38c2f249e 100644
--- a/tex/context/base/m-scite.mkiv
+++ b/tex/context/base/m-scite.mkiv
@@ -32,6 +32,8 @@
% TODO: as these files are in tds we can locate them and set the lexer root
% to that one. Currently we're on: we're on context/documents.
+% TODO: tab
+
% This is an experiment: eventually we need to hook it into the verbatim code
% and deal with widow lines and so.
@@ -71,6 +73,7 @@ local f_mapping = [[
\let\string\slxH\string\letterhash
\let\string\slxB\string\letterbackslash
\let\string\slxP\string\letterpercent
+\let\string\slxT\string\lettertilde
\let\string\slxS\string\fixedspace
%]]
@@ -84,6 +87,7 @@ local replacer = lpeg.replacer {
["#"] = "\\slxH ",
["\\"] = "\\slxB ",
["%"] = "\\slxP ",
+ ["~"] = "\\slxT ",
[" "] = "\\slxS ",
}
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 05e61ce47..149bef03a 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 18f1af54b..9c3fbb81c 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-lst.lua b/tex/context/base/strc-lst.lua
index 050655e64..e36ed9eaa 100644
--- a/tex/context/base/strc-lst.lua
+++ b/tex/context/base/strc-lst.lua
@@ -227,6 +227,7 @@ function lists.addto(t) -- maybe more more here (saves parsing at the tex end)
end
local group = numberdata and numberdata.group
local name = metadata.name
+ local kind = metadata.kind
if not group then
-- forget about it
elseif group == "" then
@@ -246,6 +247,12 @@ function lists.addto(t) -- maybe more more here (saves parsing at the tex end)
r.section = structures.sections.currentid()
end
local i = r and r.internal or 0 -- brrr
+if r and kind and name then
+ local tag = tags.getid(kind,name)
+ if tag and tag ~= "?" then
+ r.tag = tag -- todo: use internal ... is unique enough
+ end
+end
local p = pushed[i]
if not p then
p = #cached + 1
@@ -314,13 +321,13 @@ function lists.enhance(n)
if trace_lists then
report_lists("enhancing %a, name %a",n,name)
end
- if references then
- -- is this used ?
- local tag = tags.getid(kind,name)
- if tag and tag ~= "?" then
- references.tag = tag
- end
- end
+-- if references then
+-- -- is this used ?
+-- local tag = tags.getid(kind,name)
+-- if tag and tag ~= "?" then
+-- references.tag = tag
+-- end
+-- end
-- specific enhancer (kind of obsolete)
local enhancer = kind and lists.enhancers[kind]
if enhancer then
diff --git a/tex/context/base/task-ini.lua b/tex/context/base/task-ini.lua
index 192f116e0..986044c6e 100644
--- a/tex/context/base/task-ini.lua
+++ b/tex/context/base/task-ini.lua
@@ -111,8 +111,6 @@ appendaction("math", "builders", "builders.kernel.mlist_to_hlist")
------------("math", "builders", "noads.handlers.italics", nil, "nohead") -- disabled
appendaction("math", "builders", "typesetters.directions.processmath") -- disabled (has to happen pretty late)
-appendaction("finalizers", "normalizers", "typesetters.paragraphs.normalize") -- enabled
-
appendaction("finalizers", "lists", "typesetters.margins.localhandler") -- disabled
appendaction("finalizers", "lists", "builders.paragraphs.keeptogether")
------------("finalizers", "lists", "nodes.handlers.graphicvadjust") -- todo
diff --git a/tex/context/base/typo-bld.lua b/tex/context/base/typo-bld.lua
index 964d0cd7e..75b294188 100644
--- a/tex/context/base/typo-bld.lua
+++ b/tex/context/base/typo-bld.lua
@@ -228,14 +228,17 @@ local build_par_codes = {
adjust = true,
}
+local normalize = typesetters.paragraphs.normalize
+
function builders.buildpage_filter(groupcode)
-- the next check saves 1% runtime on 1000 tufte pages
+ local head = texlists.contrib_head
+ local done = false
if build_par_codes[groupcode] then
-- also called in vbox .. we really need another callback for these four
- return nil, false -- can be another action set .. like anchoring for box
+ normalize(head) -- a bit weird place
end
--
- local head, done = texlists.contrib_head, false
if head then
-- called quite often ... maybe time to remove timing
starttiming(builders)
diff --git a/tex/context/base/util-sci.lua b/tex/context/base/util-sci.lua
index c3e24cd9d..43d873b63 100644
--- a/tex/context/base/util-sci.lua
+++ b/tex/context/base/util-sci.lua
@@ -1,3 +1,11 @@
+if not modules then modules = { } end modules ['util-sci'] = {
+ version = 1.001,
+ comment = "companion to m-scite.mkiv",
+ author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
+ copyright = "PRAGMA ADE / ConTeXt Development Team",
+ license = "see context related readme files"
+}
+
local gsub, sub, find = string.gsub, string.sub, string.find
local concat = table.concat
local formatters = string.formatters
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index ac2c42525..36548e688 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 : 08/26/15 09:07:04
+-- merge date : 08/30/15 17:07:45
do -- begin closure to overcome local limits and interference