summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2011-02-16 12:00:14 +0200
committerMarius <mariausol@gmail.com>2011-02-16 12:00:14 +0200
commit848a55f9b6b0ce0843811b98f3fb22985ac62bdd (patch)
treee971c55c4c43b5d228a5f3caa751f4ec8d2afcf6
parentb806c83e0359c66b1651b5039a126a2aa0186fa9 (diff)
downloadcontext-848a55f9b6b0ce0843811b98f3fb22985ac62bdd.tar.gz
beta 2011.02.16 10:54
-rw-r--r--tex/context/base/back-ini.lua3
-rw-r--r--tex/context/base/back-pdf.lua43
-rw-r--r--tex/context/base/cont-new.mkii2
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context.mkii2
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/font-col.lua4
-rw-r--r--tex/context/base/font-col.mkiv14
-rw-r--r--tex/context/base/font-ini.mkiv8
-rw-r--r--tex/context/base/font-run.mkiv2
-rw-r--r--tex/context/base/grph-inc.lua51
-rw-r--r--tex/context/base/grph-inc.mkiv6
-rw-r--r--tex/context/base/mult-de.mkii2
-rw-r--r--tex/context/base/mult-def.lua7
-rw-r--r--tex/context/base/mult-en.mkii2
-rw-r--r--tex/context/base/mult-fr.mkii2
-rw-r--r--tex/context/base/mult-it.mkii2
-rw-r--r--tex/context/base/mult-nl.mkii2
-rw-r--r--tex/context/base/mult-pe.mkii2
-rw-r--r--tex/context/base/mult-ro.mkii2
-rw-r--r--tex/context/base/node-ini.lua25
-rw-r--r--tex/context/base/status-files.pdfbin23241 -> 23229 bytes
-rw-r--r--tex/context/base/syst-lua.lua16
-rw-r--r--tex/context/base/typo-cln.lua2
-rw-r--r--tex/context/interface/keys-cs.xml2
-rw-r--r--tex/context/interface/keys-de.xml2
-rw-r--r--tex/context/interface/keys-en.xml2
-rw-r--r--tex/context/interface/keys-fr.xml2
-rw-r--r--tex/context/interface/keys-it.xml2
-rw-r--r--tex/context/interface/keys-nl.xml2
-rw-r--r--tex/context/interface/keys-pe.xml2
-rw-r--r--tex/context/interface/keys-ro.xml2
-rw-r--r--tex/generic/context/luatex-fonts-merged.lua2
33 files changed, 150 insertions, 71 deletions
diff --git a/tex/context/base/back-ini.lua b/tex/context/base/back-ini.lua
index bc690f946..4e990aa38 100644
--- a/tex/context/base/back-ini.lua
+++ b/tex/context/base/back-ini.lua
@@ -104,6 +104,7 @@ backends.codeinjections = {
setfigurecolorspace = nothing,
setfigurealternative = nothing,
+ setfiguremask = nothing,
enabletags = nothing,
@@ -155,7 +156,7 @@ backends.tables = {
backends.current = "unknown"
-function backends.install(what)
+function backends.install(what) -- these can become metatables
if type(what) == "string" then
local backend = backends[what]
if backend then
diff --git a/tex/context/base/back-pdf.lua b/tex/context/base/back-pdf.lua
index eec82d5f2..5f4ea465c 100644
--- a/tex/context/base/back-pdf.lua
+++ b/tex/context/base/back-pdf.lua
@@ -434,11 +434,11 @@ end
-- graphics
function codeinjections.setfigurealternative(data,figure)
- local display = data.request.display
+ local request = data.request
+ local display = request.display
if display and display ~= "" then
- local request = data.request
- figures.push {
- name = request.display,
+ local nested = figures.push {
+ name = display,
page = request.page,
size = request.size,
prefix = request.prefix,
@@ -461,8 +461,41 @@ function codeinjections.setfigurealternative(data,figure)
Alternates = pdfreference(pdfimmediateobject(tostring(a))),
}
displayfigure.attr = d()
- return displayfigure, figures.current()
+ figures.pop()
+ return displayfigure, nested
+ else
+ figures.pop()
+ end
+ end
+end
+
+function codeinjections.setfiguremask(data,figure) -- mark
+ local request = data.request
+ local mask = request.mask
+ if mask and mask ~= "" then
+ figures.push {
+ name = mask,
+ page = request.page,
+ size = request.size,
+ prefix = request.prefix,
+ cache = request.cache,
+ width = request.width,
+ height = request.height,
+ }
+ figures.identify()
+ local maskfigure = figures.check()
+ if maskfigure then
+ local image = maskfigure.status.private
+ if image then
+ img.immediatewrite(image)
+ local d = pdfdictionary {
+ Interpolate = false,
+ SMask = pdfreference(image.objnum),
+ }
+ figure.attr = d()
+ end
end
+ figures.pop()
end
end
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index 46e16e7c8..c1479bb14 100644
--- a/tex/context/base/cont-new.mkii
+++ b/tex/context/base/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2011.02.15 16:11}
+\newcontextversion{2011.02.16 10:54}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index 57ce69dd0..4ce0db0f3 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{2011.02.15 16:11}
+\newcontextversion{2011.02.16 10:54}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii
index e17d70eb5..85fde561a 100644
--- a/tex/context/base/context.mkii
+++ b/tex/context/base/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2011.02.15 16:11}
+\edef\contextversion{2011.02.16 10:54}
%D For those who want to use this:
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 0046482a5..3a39bee24 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2011.02.15 16:11}
+\edef\contextversion{2011.02.16 10:54}
%D For those who want to use this:
diff --git a/tex/context/base/font-col.lua b/tex/context/base/font-col.lua
index e1c2afe48..4b888d6cb 100644
--- a/tex/context/base/font-col.lua
+++ b/tex/context/base/font-col.lua
@@ -146,6 +146,8 @@ function collections.stage_2(name)
statistics.stoptiming(fonts)
end
+-- we already have this parser
+
local P, Cc = lpeg.P, lpeg.Cc
local spec = (P("sa") + P("at") + P("scaled") + P("at") + P("mo")) * P(" ")^1 * (1-P(" "))^1 * P(" ")^0 * -1
local okay = ((1-spec)^1 * spec * Cc(true)) + Cc(false)
@@ -190,7 +192,7 @@ function collections.message(message)
end
end
-function collections.process(head)
+function collections.process(head) -- this way we keep feature processing
if active then
local done = false
for n in traverse_id(glyph,head) do
diff --git a/tex/context/base/font-col.mkiv b/tex/context/base/font-col.mkiv
index 0ace4854f..20af3e91b 100644
--- a/tex/context/base/font-col.mkiv
+++ b/tex/context/base/font-col.mkiv
@@ -79,7 +79,7 @@
{\egroup}
\def\doclonefonta#1#2% kind of dododefinefont
- {\ctxlua{fonts.collections.message("defining #1 (relative scale: #2)")}%
+ {\ctxlua{fonts.collections.message("defining #1 (relative scale: #2)")}% brrr
\autofontsizefalse
\let\lastfontidentifier\s!dummy
\def\localrelativefontsize{#2}%
@@ -99,7 +99,6 @@
\def\doclonefontstagetwo#1%
{\ctxlua{fonts.collections.stage_2("#1")}}
-
% check : only replace when present in replacement font (default: no)
% force : force replacent even when basefont has glyph (default: yes)
@@ -111,16 +110,7 @@
%
% \definefontsynonym[SerifPlus][Serif][fallbacks=whatever]
%
-% \definefont[MySerif][SerifPlus at 10pt]
-%
-% \startcolumns[n=6]
-% \MySerif
-% \dostepwiserecurse {0} {65000} {1} {
-% \iffontchar\font\recurselevel
-% {\tttf\uchexnumbers\recurselevel:} \char\recurselevel\par
-% \fi
-% }
-% \stopcolumns
+% \showfont[SerifPlus][all]
% \definefontfeature[zh][mode=node,script=hang,lang=zhs]
% \definefontfallback[serifwhatever] [lmroman10-regular] [0x0000-0x0400][force=yes]
diff --git a/tex/context/base/font-ini.mkiv b/tex/context/base/font-ini.mkiv
index 2df79815f..0c5a3b9f2 100644
--- a/tex/context/base/font-ini.mkiv
+++ b/tex/context/base/font-ini.mkiv
@@ -687,8 +687,8 @@
\let\relativefontid\empty
-\def\lowleveldefinefont#1#2% #2 = cs
- {%
+\unexpanded\def\lowleveldefinefont#1#2% #2 = cs
+ {% we can now set more at the lua end
\ctxlua{fonts.definers.stage_one("\luaescapestring{#1}")}% the escapestring catches at \somedimen
% sets \scaledfontmode and \somefontname and \somefontsize
\ifcase\scaledfontmode\relax
@@ -709,6 +709,7 @@
% scaled, don't use this one as it's unpredictable
\scaledfontsize-\somefontsize\scaledpoint
\fi
+ \relax
\scaledfontsize\localrelativefontsize\scaledfontsize
\ifautofontsize
\scaledfontsize\currentfontbodyscale\scaledfontsize
@@ -735,7 +736,8 @@
"\@@fontclassgoodies", % experiment (not yet used)
"\@@fontgoodies" % experiment
)}%
- \edef\somefontspec{at \somefontsize}% we need the resolved designsize (for fallbacks)
+% \edef\somefontspec{at \somefontsize}% we need the resolved designsize (for fallbacks)
+ \edef\somefontspec{at \number\scaledfontsize sp}% we need the resolved designsize (for fallbacks)
\expandafter\let\expandafter\lastrawfontcall\csname#2\endcsname
\the\everydefinefont}
diff --git a/tex/context/base/font-run.mkiv b/tex/context/base/font-run.mkiv
index f65017ef4..aaa714c3d 100644
--- a/tex/context/base/font-run.mkiv
+++ b/tex/context/base/font-run.mkiv
@@ -140,7 +140,7 @@
\ifinsidefloat\else\startbaselinecorrection\fi
\vbox\bgroup
\forgetall
- \startoverlay
+ \startoverlay % easier in cld
{\vbox
{\tf \setstrut \dummy
\offinterlineskip
diff --git a/tex/context/base/grph-inc.lua b/tex/context/base/grph-inc.lua
index 71ef9430a..19429c5b5 100644
--- a/tex/context/base/grph-inc.lua
+++ b/tex/context/base/grph-inc.lua
@@ -16,6 +16,8 @@ if not modules then modules = { } end modules ['grph-inc'] = {
-- figures.boxnumber can go as we now can use names
+-- avoid push
+
--[[
The ConTeXt figure inclusion mechanisms are among the oldest code
in ConTeXt and evolve dinto a complex whole. One reason is that we
@@ -40,7 +42,7 @@ run TeX code from within Lua. Some more functionality will move to Lua.
local format, lower, find, match, gsub, gmatch = string.format, string.lower, string.find, string.match, string.gsub, string.gmatch
local texbox = tex.box
local contains = table.contains
-local concat = table.concat
+local concat, insert, remove = table.concat, table.insert, table.remove
local todimen = string.todimen
local settings_to_array, settings_to_hash = utilities.parsers.settings_to_array, utilities.parsers.settings_to_hash
local allocate = utilities.storage.allocate
@@ -251,11 +253,10 @@ end
-- interfacing to tex
-
local figuredata = { }
local callstack = { }
-function figures.new() -- we could use metatables status -> used -> request but it needs testing
+local function new() -- we could use metatables status -> used -> request but it needs testing
local request = {
name = false,
label = false,
@@ -267,6 +268,7 @@ function figures.new() -- we could use metatables status -> used -> request but
["repeat"] = false,
controls = false,
display = false,
+ mask = false,
conversion = false,
resolution = false,
cache = false,
@@ -291,30 +293,28 @@ function figures.new() -- we could use metatables status -> used -> request but
}
-- setmetatable(status, { __index = used })
-- setmetatable(used, { __index = request })
- figuredata = {
+ return {
request = request,
used = used,
status = status,
}
- return figuredata
end
+ -- use table.insert|remove
+
function figures.push(request)
- local ncs = #callstack + 1
- if ncs == 1 then
- statistics.starttiming(figures)
- end
- local figuredata = figures.new()
+ statistics.starttiming(figures)
+ insert(callstack,figuredata)
+ figuredata = new()
if request then
- local iv = interfaces.variables
-- request.width/height are strings and are only used when no natural dimensions
-- can be determined; at some point the handlers might set them to numbers instead
-- local w, h = tonumber(request.width), tonumber(request.height)
request.page = math.max(tonumber(request.page) or 1,1)
request.size = img.checksize(request.size)
- request.object = iv[request.object] == variables.yes
- request["repeat"] = iv[request["repeat"]] == variables.yes
- request.preview = iv[request.preview] == variables.yes
+ request.object = request.object == variables.yes
+ request["repeat"] = request["repeat"] == variables.yes
+ request.preview = request.preview == variables.yes
request.cache = request.cache ~= "" and request.cache
request.prefix = request.prefix ~= "" and request.prefix
request.format = request.format ~= "" and request.format
@@ -322,17 +322,17 @@ function figures.push(request)
-- request.height = (h and h > 0) or false
table.merge(figuredata.request,request)
end
- callstack[ncs] = figuredata
return figuredata
end
function figures.pop()
- local ncs = #callstack
- figuredata = callstack[ncs]
- callstack[ncs] = nil
- if ncs == 1 then
- statistics.stoptiming(figures)
- end
+ figuredata = remove(callstack) or figuredata
+ statistics.stoptiming(figures)
+ return figuredata
+end
+
+function figures.current()
+ return figuredata -- callstack[#callstack]
end
function figures.get(category,tag,default)
@@ -349,10 +349,6 @@ function figures.tprint(category,tag,default)
context(figures.get(category,tag,default))
end
-function figures.current()
- return callstack[#callstack]
-end
-
local defaultformat = "pdf"
local defaultprefix = "m_k_i_v_"
@@ -812,9 +808,11 @@ function existers.generic(askedname,resolve)
end
return result
end
+
function checkers.generic(data)
local dr, du, ds = data.request, data.used, data.status
local name, page, size, color = du.fullname or "unknown generic", du.page or dr.page, dr.size or "crop", dr.color or "natural"
+ local mask = dr.mask or "none"
local conversion = dr.conversion
local resolution = dr.resolution
if not conversion or conversion == "" then
@@ -824,10 +822,12 @@ function checkers.generic(data)
resolution = "unknown"
end
local hash = name .. "->" .. page .. "->" .. size .. "->" .. color .. "->" .. conversion .. "->" .. resolution
+ .. "->" .. mask
local figure = figures.loaded[hash]
if figure == nil then
figure = img.new { filename = name, page = page, pagebox = dr.size }
codeinjections.setfigurecolorspace(data,figure)
+ codeinjections.setfiguremask(data,figure)
figure = (figure and img.scan(figure)) or false
local f, d = codeinjections.setfigurealternative(data,figure)
figure, data = f or figure, d or data
@@ -855,6 +855,7 @@ function checkers.generic(data)
end
return data
end
+
function includers.generic(data)
local dr, du, ds = data.request, data.used, data.status
-- here we set the 'natural dimensions'
diff --git a/tex/context/base/grph-inc.mkiv b/tex/context/base/grph-inc.mkiv
index 80a9c3187..8304c393e 100644
--- a/tex/context/base/grph-inc.mkiv
+++ b/tex/context/base/grph-inc.mkiv
@@ -148,6 +148,7 @@
\let\@@efpage \!!zerocount
\let\@@efobject \@@exobject
\let\@@efdisplay \empty
+ \let\@@efmask \empty
%
\let\@@efpreset \v!yes
\let\@@efsplit \empty
@@ -255,6 +256,7 @@
controls = "\@@efcontrols",
preview = "\@@efpreview",
display = "\@@efdisplay",
+ mask = "\@@efmask",
conversion = "\@@efconversion",
resolution = "\@@efresolution",
color = "\internalspotcolorparent\@@efcolor", % hack is needed
@@ -372,7 +374,7 @@
\def\dogetfiguredimensions[#1][#2]%
{\startnointerference
\settrue\testexternalfigureonly
- \externalfigure[#1][#2,\c!display=,\c!object=\v!no]%
+ \externalfigure[#1][#2,\c!display=,\c!mask=,\c!object=\v!no]%
\stopnointerference}
\let\getfiguredimensionsonly\getfiguredimensions
@@ -393,7 +395,7 @@
\testexternalfigureonly
\setfalse\externalfigureflush % == test ?
\externalfigure[#1][#2][#3]% or \doexternalfigure
- \externalfigure[#1][#2,\c!display=,\c!object=\v!no]%
+ \externalfigure[#1][#2,\c!display=,\c!mask=,\c!object=\v!no]%
\stopnointerference}
% helpers (will be replaced when xforms are accessible at the lua end)
diff --git a/tex/context/base/mult-de.mkii b/tex/context/base/mult-de.mkii
index 6c95f4aaa..aec2b075a 100644
--- a/tex/context/base/mult-de.mkii
+++ b/tex/context/base/mult-de.mkii
@@ -272,6 +272,7 @@
\setinterfacevariable{marginedge}{marginalkante}
\setinterfacevariable{margintitle}{marginaltitel}
\setinterfacevariable{marking}{beschriftung}
+\setinterfacevariable{mask}{mask}
\setinterfacevariable{mathalignment}{mathalignment}
\setinterfacevariable{mathcases}{mathcases}
\setinterfacevariable{mathmatrix}{mathmatrix}
@@ -981,6 +982,7 @@
\setinterfaceconstant{textstate}{textstatus}
\setinterfaceconstant{textstyle}{textstil}
\setinterfaceconstant{textwidth}{textbreite}
+\setinterfaceconstant{threshold}{threshold}
\setinterfaceconstant{title}{titel}
\setinterfaceconstant{titlecolor}{titelfarbe}
\setinterfaceconstant{titlecommand}{titlecommand}
diff --git a/tex/context/base/mult-def.lua b/tex/context/base/mult-def.lua
index fd1837147..69d1edb84 100644
--- a/tex/context/base/mult-def.lua
+++ b/tex/context/base/mult-def.lua
@@ -10483,6 +10483,9 @@ return {
["pe"]="عرض‌متن",
["ro"]="latimetext",
},
+ ["threshold"]={
+ ["en"]="threshold", -- rather international term
+ },
["title"]={
["cs"]="titul",
["de"]="titel",
@@ -12594,6 +12597,10 @@ return {
["pe"]="نمایش",
["ro"]="display",
},
+ ["mask"]={
+ ["en"]="mask",
+ ["nl"]="masker",
+ },
["dot"]={
["cs"]="tecka",
["de"]="punkt",
diff --git a/tex/context/base/mult-en.mkii b/tex/context/base/mult-en.mkii
index 383e731a1..608cd6706 100644
--- a/tex/context/base/mult-en.mkii
+++ b/tex/context/base/mult-en.mkii
@@ -272,6 +272,7 @@
\setinterfacevariable{marginedge}{marginedge}
\setinterfacevariable{margintitle}{margintitle}
\setinterfacevariable{marking}{marking}
+\setinterfacevariable{mask}{mask}
\setinterfacevariable{mathalignment}{mathalignment}
\setinterfacevariable{mathcases}{mathcases}
\setinterfacevariable{mathmatrix}{mathmatrix}
@@ -981,6 +982,7 @@
\setinterfaceconstant{textstate}{textstate}
\setinterfaceconstant{textstyle}{textstyle}
\setinterfaceconstant{textwidth}{textwidth}
+\setinterfaceconstant{threshold}{threshold}
\setinterfaceconstant{title}{title}
\setinterfaceconstant{titlecolor}{titlecolor}
\setinterfaceconstant{titlecommand}{titlecommand}
diff --git a/tex/context/base/mult-fr.mkii b/tex/context/base/mult-fr.mkii
index a686e2811..283f66df6 100644
--- a/tex/context/base/mult-fr.mkii
+++ b/tex/context/base/mult-fr.mkii
@@ -272,6 +272,7 @@
\setinterfacevariable{marginedge}{bordmarge}
\setinterfacevariable{margintitle}{titremarge}
\setinterfacevariable{marking}{marquage}
+\setinterfacevariable{mask}{mask}
\setinterfacevariable{mathalignment}{mathalignment}
\setinterfacevariable{mathcases}{mathcases}
\setinterfacevariable{mathmatrix}{mathmatrix}
@@ -981,6 +982,7 @@
\setinterfaceconstant{textstate}{etattexte}
\setinterfaceconstant{textstyle}{styletexte}
\setinterfaceconstant{textwidth}{largeurtexte}
+\setinterfaceconstant{threshold}{threshold}
\setinterfaceconstant{title}{titre}
\setinterfaceconstant{titlecolor}{couleurtitre}
\setinterfaceconstant{titlecommand}{titlecommand}
diff --git a/tex/context/base/mult-it.mkii b/tex/context/base/mult-it.mkii
index 65061f61c..6dbedaa41 100644
--- a/tex/context/base/mult-it.mkii
+++ b/tex/context/base/mult-it.mkii
@@ -272,6 +272,7 @@
\setinterfacevariable{marginedge}{bordomargine}
\setinterfacevariable{margintitle}{titoloinmargine}
\setinterfacevariable{marking}{marcatura}
+\setinterfacevariable{mask}{mask}
\setinterfacevariable{mathalignment}{mathalignment}
\setinterfacevariable{mathcases}{mathcases}
\setinterfacevariable{mathmatrix}{mathmatrix}
@@ -981,6 +982,7 @@
\setinterfaceconstant{textstate}{statotesto}
\setinterfaceconstant{textstyle}{stiletesto}
\setinterfaceconstant{textwidth}{ampiezzatesto}
+\setinterfaceconstant{threshold}{threshold}
\setinterfaceconstant{title}{titolo}
\setinterfaceconstant{titlecolor}{coloretitolo}
\setinterfaceconstant{titlecommand}{titlecommand}
diff --git a/tex/context/base/mult-nl.mkii b/tex/context/base/mult-nl.mkii
index 4676f1951..21778c3a4 100644
--- a/tex/context/base/mult-nl.mkii
+++ b/tex/context/base/mult-nl.mkii
@@ -272,6 +272,7 @@
\setinterfacevariable{marginedge}{kantlijn}
\setinterfacevariable{margintitle}{margetitel}
\setinterfacevariable{marking}{markering}
+\setinterfacevariable{mask}{masker}
\setinterfacevariable{mathalignment}{wiskundeuitlijnen}
\setinterfacevariable{mathcases}{mathcases}
\setinterfacevariable{mathmatrix}{wiskundematrix}
@@ -981,6 +982,7 @@
\setinterfaceconstant{textstate}{tekststatus}
\setinterfaceconstant{textstyle}{tekstletter}
\setinterfaceconstant{textwidth}{tekstbreedte}
+\setinterfaceconstant{threshold}{threshold}
\setinterfaceconstant{title}{titel}
\setinterfaceconstant{titlecolor}{titelkleur}
\setinterfaceconstant{titlecommand}{titelcommando}
diff --git a/tex/context/base/mult-pe.mkii b/tex/context/base/mult-pe.mkii
index da48701e4..862fac2c2 100644
--- a/tex/context/base/mult-pe.mkii
+++ b/tex/context/base/mult-pe.mkii
@@ -272,6 +272,7 @@
\setinterfacevariable{marginedge}{لبه‌حاشیه}
\setinterfacevariable{margintitle}{عنوان‌حاشیه}
\setinterfacevariable{marking}{نشانه‌گذاری}
+\setinterfacevariable{mask}{mask}
\setinterfacevariable{mathalignment}{تنظیم‌ریاضی}
\setinterfacevariable{mathcases}{حالتهای‌ریاضی}
\setinterfacevariable{mathmatrix}{ماتریش‌ریاضی}
@@ -981,6 +982,7 @@
\setinterfaceconstant{textstate}{وضعیت‌متن}
\setinterfaceconstant{textstyle}{سبک‌متن}
\setinterfaceconstant{textwidth}{عرض‌متن}
+\setinterfaceconstant{threshold}{threshold}
\setinterfaceconstant{title}{عنوان}
\setinterfaceconstant{titlecolor}{رنگ‌عنوان}
\setinterfaceconstant{titlecommand}{فرمان‌عنوان}
diff --git a/tex/context/base/mult-ro.mkii b/tex/context/base/mult-ro.mkii
index 83943d3fa..8e04db7c0 100644
--- a/tex/context/base/mult-ro.mkii
+++ b/tex/context/base/mult-ro.mkii
@@ -272,6 +272,7 @@
\setinterfacevariable{marginedge}{marginebordura}
\setinterfacevariable{margintitle}{titlumarginal}
\setinterfacevariable{marking}{marcaje}
+\setinterfacevariable{mask}{mask}
\setinterfacevariable{mathalignment}{mathalignment}
\setinterfacevariable{mathcases}{mathcases}
\setinterfacevariable{mathmatrix}{mathmatrix}
@@ -981,6 +982,7 @@
\setinterfaceconstant{textstate}{staretext}
\setinterfaceconstant{textstyle}{stiltext}
\setinterfaceconstant{textwidth}{latimetext}
+\setinterfaceconstant{threshold}{threshold}
\setinterfaceconstant{title}{titlu}
\setinterfaceconstant{titlecolor}{culoaretitlu}
\setinterfaceconstant{titlecommand}{titlecommand}
diff --git a/tex/context/base/node-ini.lua b/tex/context/base/node-ini.lua
index f0b9b83fa..21e7bc8cb 100644
--- a/tex/context/base/node-ini.lua
+++ b/tex/context/base/node-ini.lua
@@ -57,6 +57,7 @@ also ignore the empty nodes. [This is obsolete!]</p>
local traverse, traverse_id = node.traverse, node.traverse_id
local free_node, remove_node = node.free, node.remove
local insert_node_before, insert_node_after = node.insert_before, node.insert_after
+local slide_nodes = node.slide
local allocate = utilities.storage.allocate
@@ -346,16 +347,26 @@ function nodes.reference(n)
return lpegmatch(reference,tostring(n))
end
+function nodes.link(n,...) -- blobs ?
+ if type(n) ~= "table" then
+ n = { n, ... }
+ end
+ local head = n[1]
+ local tail = slide_nodes(head)
+ for i=2,#n do
+ local ni = n[i]
+ tail.next = ni
+ ni.prev = tail
+ tail = slide_nodes(ni)
+ end
+ return head
+end
+
--
if not node.next then
- function node.next(n)
- return n and n.next
- end
-
- function node.prev(n)
- return n and n.prev
- end
+ function node.next(n) return n and n.next end
+ function node.prev(n) return n and n.prev end
end
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index f818f6229..99681aeb6 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/syst-lua.lua b/tex/context/base/syst-lua.lua
index 7c619b6d3..8a5a9531c 100644
--- a/tex/context/base/syst-lua.lua
+++ b/tex/context/base/syst-lua.lua
@@ -91,17 +91,17 @@ end
local splitter = lpegsplitat(S(". "))
-function commands.doifolderversionelse(one,two) -- no checking done
+function commands.doifolderversionelse(one,two) -- one >= two
if not two then
one, two = environment.version, one
elseif one == "" then
one = environment.version
end
- local y_1, m_1, d_1 = lpeg.match(splitter,one)
- local y_2, m_2, d_2 = lpeg.match(splitter,two)
- commands.testcase ( not (
- (tonumber(y_2) or 0) >= (tonumber(y_1) or 0) and
- (tonumber(m_2) or 99) >= (tonumber(m_1) or 0) and
- (tonumber(d_2) or 99) >= (tonumber(d_1) or 0)
- ) )
+ local y_1, m_1, d_1 = lpegmatch(splitter,one)
+ local y_2, m_2, d_2 = lpegmatch(splitter,two)
+ commands.testcase (
+ (tonumber(y_1) or 0) >= (tonumber(y_2) or 0) and
+ (tonumber(m_1) or 0) >= (tonumber(m_2) or 0) and
+ (tonumber(d_1) or 0) >= (tonumber(d_1) or 0)
+ )
end
diff --git a/tex/context/base/typo-cln.lua b/tex/context/base/typo-cln.lua
index 2327ef6be..a8542c1a1 100644
--- a/tex/context/base/typo-cln.lua
+++ b/tex/context/base/typo-cln.lua
@@ -57,13 +57,13 @@ local function process(namespace,attribute,head)
-- some day, not much change that \SS ends up here
else
n.char = upper
- inline = true
done = true
if trace_autocase then
report_autocase("")
end
end
end
+ inline = true
end
end
return head, done
diff --git a/tex/context/interface/keys-cs.xml b/tex/context/interface/keys-cs.xml
index 8aba0cca6..2a2fbe2ec 100644
--- a/tex/context/interface/keys-cs.xml
+++ b/tex/context/interface/keys-cs.xml
@@ -275,6 +275,7 @@
<cd:variable name='marginedge' value='textovahrana'/>
<cd:variable name='margintitle' value='titulmarginalie'/>
<cd:variable name='marking' value='znaceni'/>
+ <cd:variable name='mask' value='mask'/>
<cd:variable name='mathalignment' value='mathalignment'/>
<cd:variable name='mathcases' value='mathcases'/>
<cd:variable name='mathmatrix' value='mathmatrix'/>
@@ -987,6 +988,7 @@
<cd:constant name='textstate' value='statustextu'/>
<cd:constant name='textstyle' value='styltextu'/>
<cd:constant name='textwidth' value='sirkatextu'/>
+ <cd:constant name='threshold' value='threshold'/>
<cd:constant name='title' value='titul'/>
<cd:constant name='titlecolor' value='barvatitulek'/>
<cd:constant name='titlecommand' value='titlecommand'/>
diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml
index fefab4d55..3e67c7286 100644
--- a/tex/context/interface/keys-de.xml
+++ b/tex/context/interface/keys-de.xml
@@ -275,6 +275,7 @@
<cd:variable name='marginedge' value='marginalkante'/>
<cd:variable name='margintitle' value='marginaltitel'/>
<cd:variable name='marking' value='beschriftung'/>
+ <cd:variable name='mask' value='mask'/>
<cd:variable name='mathalignment' value='mathalignment'/>
<cd:variable name='mathcases' value='mathcases'/>
<cd:variable name='mathmatrix' value='mathmatrix'/>
@@ -987,6 +988,7 @@
<cd:constant name='textstate' value='textstatus'/>
<cd:constant name='textstyle' value='textstil'/>
<cd:constant name='textwidth' value='textbreite'/>
+ <cd:constant name='threshold' value='threshold'/>
<cd:constant name='title' value='titel'/>
<cd:constant name='titlecolor' value='titelfarbe'/>
<cd:constant name='titlecommand' value='titlecommand'/>
diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml
index 34ed39349..d152c78e9 100644
--- a/tex/context/interface/keys-en.xml
+++ b/tex/context/interface/keys-en.xml
@@ -275,6 +275,7 @@
<cd:variable name='marginedge' value='marginedge'/>
<cd:variable name='margintitle' value='margintitle'/>
<cd:variable name='marking' value='marking'/>
+ <cd:variable name='mask' value='mask'/>
<cd:variable name='mathalignment' value='mathalignment'/>
<cd:variable name='mathcases' value='mathcases'/>
<cd:variable name='mathmatrix' value='mathmatrix'/>
@@ -987,6 +988,7 @@
<cd:constant name='textstate' value='textstate'/>
<cd:constant name='textstyle' value='textstyle'/>
<cd:constant name='textwidth' value='textwidth'/>
+ <cd:constant name='threshold' value='threshold'/>
<cd:constant name='title' value='title'/>
<cd:constant name='titlecolor' value='titlecolor'/>
<cd:constant name='titlecommand' value='titlecommand'/>
diff --git a/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml
index f2e5990be..0725ecc62 100644
--- a/tex/context/interface/keys-fr.xml
+++ b/tex/context/interface/keys-fr.xml
@@ -275,6 +275,7 @@
<cd:variable name='marginedge' value='bordmarge'/>
<cd:variable name='margintitle' value='titremarge'/>
<cd:variable name='marking' value='marquage'/>
+ <cd:variable name='mask' value='mask'/>
<cd:variable name='mathalignment' value='mathalignment'/>
<cd:variable name='mathcases' value='mathcases'/>
<cd:variable name='mathmatrix' value='mathmatrix'/>
@@ -987,6 +988,7 @@
<cd:constant name='textstate' value='etattexte'/>
<cd:constant name='textstyle' value='styletexte'/>
<cd:constant name='textwidth' value='largeurtexte'/>
+ <cd:constant name='threshold' value='threshold'/>
<cd:constant name='title' value='titre'/>
<cd:constant name='titlecolor' value='couleurtitre'/>
<cd:constant name='titlecommand' value='titlecommand'/>
diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml
index 313d27e09..e564d79f3 100644
--- a/tex/context/interface/keys-it.xml
+++ b/tex/context/interface/keys-it.xml
@@ -275,6 +275,7 @@
<cd:variable name='marginedge' value='bordomargine'/>
<cd:variable name='margintitle' value='titoloinmargine'/>
<cd:variable name='marking' value='marcatura'/>
+ <cd:variable name='mask' value='mask'/>
<cd:variable name='mathalignment' value='mathalignment'/>
<cd:variable name='mathcases' value='mathcases'/>
<cd:variable name='mathmatrix' value='mathmatrix'/>
@@ -987,6 +988,7 @@
<cd:constant name='textstate' value='statotesto'/>
<cd:constant name='textstyle' value='stiletesto'/>
<cd:constant name='textwidth' value='ampiezzatesto'/>
+ <cd:constant name='threshold' value='threshold'/>
<cd:constant name='title' value='titolo'/>
<cd:constant name='titlecolor' value='coloretitolo'/>
<cd:constant name='titlecommand' value='titlecommand'/>
diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml
index f486a03c0..eb13b9861 100644
--- a/tex/context/interface/keys-nl.xml
+++ b/tex/context/interface/keys-nl.xml
@@ -275,6 +275,7 @@
<cd:variable name='marginedge' value='kantlijn'/>
<cd:variable name='margintitle' value='margetitel'/>
<cd:variable name='marking' value='markering'/>
+ <cd:variable name='mask' value='masker'/>
<cd:variable name='mathalignment' value='wiskundeuitlijnen'/>
<cd:variable name='mathcases' value='mathcases'/>
<cd:variable name='mathmatrix' value='wiskundematrix'/>
@@ -987,6 +988,7 @@
<cd:constant name='textstate' value='tekststatus'/>
<cd:constant name='textstyle' value='tekstletter'/>
<cd:constant name='textwidth' value='tekstbreedte'/>
+ <cd:constant name='threshold' value='threshold'/>
<cd:constant name='title' value='titel'/>
<cd:constant name='titlecolor' value='titelkleur'/>
<cd:constant name='titlecommand' value='titelcommando'/>
diff --git a/tex/context/interface/keys-pe.xml b/tex/context/interface/keys-pe.xml
index a6b3024f6..8c7102906 100644
--- a/tex/context/interface/keys-pe.xml
+++ b/tex/context/interface/keys-pe.xml
@@ -275,6 +275,7 @@
<cd:variable name='marginedge' value='لبه‌حاشیه'/>
<cd:variable name='margintitle' value='عنوان‌حاشیه'/>
<cd:variable name='marking' value='نشانه‌گذاری'/>
+ <cd:variable name='mask' value='mask'/>
<cd:variable name='mathalignment' value='تنظیم‌ریاضی'/>
<cd:variable name='mathcases' value='حالتهای‌ریاضی'/>
<cd:variable name='mathmatrix' value='ماتریش‌ریاضی'/>
@@ -987,6 +988,7 @@
<cd:constant name='textstate' value='وضعیت‌متن'/>
<cd:constant name='textstyle' value='سبک‌متن'/>
<cd:constant name='textwidth' value='عرض‌متن'/>
+ <cd:constant name='threshold' value='threshold'/>
<cd:constant name='title' value='عنوان'/>
<cd:constant name='titlecolor' value='رنگ‌عنوان'/>
<cd:constant name='titlecommand' value='فرمان‌عنوان'/>
diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml
index 7e08e8a8b..b081430d8 100644
--- a/tex/context/interface/keys-ro.xml
+++ b/tex/context/interface/keys-ro.xml
@@ -275,6 +275,7 @@
<cd:variable name='marginedge' value='marginebordura'/>
<cd:variable name='margintitle' value='titlumarginal'/>
<cd:variable name='marking' value='marcaje'/>
+ <cd:variable name='mask' value='mask'/>
<cd:variable name='mathalignment' value='mathalignment'/>
<cd:variable name='mathcases' value='mathcases'/>
<cd:variable name='mathmatrix' value='mathmatrix'/>
@@ -987,6 +988,7 @@
<cd:constant name='textstate' value='staretext'/>
<cd:constant name='textstyle' value='stiltext'/>
<cd:constant name='textwidth' value='latimetext'/>
+ <cd:constant name='threshold' value='threshold'/>
<cd:constant name='title' value='titlu'/>
<cd:constant name='titlecolor' value='culoaretitlu'/>
<cd:constant name='titlecommand' value='titlecommand'/>
diff --git a/tex/generic/context/luatex-fonts-merged.lua b/tex/generic/context/luatex-fonts-merged.lua
index dc44eecfb..ace911714 100644
--- a/tex/generic/context/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : luatex-fonts-merged.lua
-- parent file : luatex-fonts.lua
--- merge date : 02/15/11 16:11:51
+-- merge date : 02/16/11 10:54:11
do -- begin closure to overcome local limits and interference