summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/context/lua/mtx-rsync.lua21
-rw-r--r--scripts/context/lua/mtxrun.lua10
-rw-r--r--scripts/context/stubs/mswin/mtxrun.lua10
-rwxr-xr-xscripts/context/stubs/unix/mtxrun10
-rw-r--r--tex/context/base/buff-ver.lua15
-rw-r--r--tex/context/base/buff-ver.mkiv12
-rw-r--r--tex/context/base/context-version.pdfbin4108 -> 4104 bytes
-rw-r--r--tex/context/base/context.mkiv3
-rw-r--r--tex/context/base/l-boolean.lua4
-rw-r--r--tex/context/base/math-acc.mkvi181
-rw-r--r--tex/context/base/math-act.lua54
-rw-r--r--tex/context/base/math-fbk.lua74
-rw-r--r--tex/context/base/math-fen.mkiv48
-rw-r--r--tex/context/base/math-stc.mkvi35
-rw-r--r--tex/context/base/mult-de.mkii2
-rw-r--r--tex/context/base/mult-def.lua8
-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/page-lay.mkiv2
-rw-r--r--tex/context/base/spac-ver.mkiv26
-rw-r--r--tex/context/base/status-files.pdfbin24663 -> 24653 bytes
-rw-r--r--tex/context/base/status-lua.log2
-rw-r--r--tex/context/base/status-mkiv.lua6
-rw-r--r--tex/context/base/typo-txt.mkvi4
-rw-r--r--tex/context/base/util-sql-users.lua6
-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/luatex-fonts-merged.lua6
38 files changed, 423 insertions, 144 deletions
diff --git a/scripts/context/lua/mtx-rsync.lua b/scripts/context/lua/mtx-rsync.lua
index 65f795ee5..70a82e929 100644
--- a/scripts/context/lua/mtx-rsync.lua
+++ b/scripts/context/lua/mtx-rsync.lua
@@ -92,14 +92,20 @@ else
end
end
-function rsynccommand(dryrun,recurse,origin,target)
- local command = "rsync -ptlva "
+function rsynccommand(origin,target,dryrun,recurse,delete)
+ local command = "rsync -t -p "
if dryrun then
command = command .. "-n "
end
if recurse then
command = command .. "-r "
end
+ if delete then
+ if not recurse then
+ command = command .. "-d "
+ end
+ command = command .. "--delete "
+ end
return format('%s %s %s',command,origin,target)
end
@@ -109,7 +115,7 @@ local rsync = scripts.rsync
rsync.mode = "command"
-function rsync.run(origin,target,message,recurse)
+function rsync.run(origin,target,message,recurse,delete)
if type(origin) == "table" then
origin = concat(origin,"/")
end
@@ -127,15 +133,15 @@ function rsync.run(origin,target,message,recurse)
report_message(message)
end
if rsync.mode == "dryrun" then
- local command = rsynccommand(true,recurse,origin,target)
+ local command = rsynccommand(origin,target,true,recurse,delete)
report_dryrun(command.."\n")
os.execute(command)
elseif rsync.mode == "force" then
- local command = rsynccommand(false,recurse,origin,target)
+ local command = rsynccommand(origin,target,false,recurse,delete)
report_normal(command.."\n")
os.execute(command)
else
- local command = rsynccommand(true,recurse,origin,target)
+ local command = rsynccommand(origin,target,true,recurse,delete)
report_command(command)
end
end
@@ -154,8 +160,9 @@ function rsync.job(list)
local target = li.target
local message = li.message
local recurse = li.recurse
+ local delete = li.delete
if origin and #origin > 0 and target and #target > 0 then -- string or table
- rsync.run(origin,target,message,recurse)
+ rsync.run(origin,target,message,recurse,delete)
else
report_message("invalid job specification at index %s",i)
end
diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua
index 62a9fd3bc..61f2b8f4f 100644
--- a/scripts/context/lua/mtxrun.lua
+++ b/scripts/context/lua/mtxrun.lua
@@ -3966,7 +3966,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["l-boolean"] = package.loaded["l-boolean"] or true
--- original size: 1781, stripped down to: 1503
+-- original size: 1809, stripped down to: 1527
if not modules then modules={} end modules ['l-boolean']={
version=1.001,
@@ -4022,9 +4022,9 @@ function string.booleanstring(str)
end
function string.is_boolean(str,default)
if type(str)=="string" then
- if str=="true" or str=="yes" or str=="on" or str=="t" then
+ if str=="true" or str=="yes" or str=="on" or str=="t" or str=="1" then
return true
- elseif str=="false" or str=="no" or str=="off" or str=="f" then
+ elseif str=="false" or str=="no" or str=="off" or str=="f" or str=="0" then
return false
end
end
@@ -16261,8 +16261,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-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 : 663473
--- stripped bytes : 233126
+-- original bytes : 663501
+-- stripped bytes : 233130
-- end library merge
diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua
index 62a9fd3bc..61f2b8f4f 100644
--- a/scripts/context/stubs/mswin/mtxrun.lua
+++ b/scripts/context/stubs/mswin/mtxrun.lua
@@ -3966,7 +3966,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["l-boolean"] = package.loaded["l-boolean"] or true
--- original size: 1781, stripped down to: 1503
+-- original size: 1809, stripped down to: 1527
if not modules then modules={} end modules ['l-boolean']={
version=1.001,
@@ -4022,9 +4022,9 @@ function string.booleanstring(str)
end
function string.is_boolean(str,default)
if type(str)=="string" then
- if str=="true" or str=="yes" or str=="on" or str=="t" then
+ if str=="true" or str=="yes" or str=="on" or str=="t" or str=="1" then
return true
- elseif str=="false" or str=="no" or str=="off" or str=="f" then
+ elseif str=="false" or str=="no" or str=="off" or str=="f" or str=="0" then
return false
end
end
@@ -16261,8 +16261,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-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 : 663473
--- stripped bytes : 233126
+-- original bytes : 663501
+-- stripped bytes : 233130
-- end library merge
diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun
index 62a9fd3bc..61f2b8f4f 100755
--- a/scripts/context/stubs/unix/mtxrun
+++ b/scripts/context/stubs/unix/mtxrun
@@ -3966,7 +3966,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["l-boolean"] = package.loaded["l-boolean"] or true
--- original size: 1781, stripped down to: 1503
+-- original size: 1809, stripped down to: 1527
if not modules then modules={} end modules ['l-boolean']={
version=1.001,
@@ -4022,9 +4022,9 @@ function string.booleanstring(str)
end
function string.is_boolean(str,default)
if type(str)=="string" then
- if str=="true" or str=="yes" or str=="on" or str=="t" then
+ if str=="true" or str=="yes" or str=="on" or str=="t" or str=="1" then
return true
- elseif str=="false" or str=="no" or str=="off" or str=="f" then
+ elseif str=="false" or str=="no" or str=="off" or str=="f" or str=="0" then
return false
end
end
@@ -16261,8 +16261,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-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 : 663473
--- stripped bytes : 233126
+-- original bytes : 663501
+-- stripped bytes : 233130
-- end library merge
diff --git a/tex/context/base/buff-ver.lua b/tex/context/base/buff-ver.lua
index e6508d3a5..772008e39 100644
--- a/tex/context/base/buff-ver.lua
+++ b/tex/context/base/buff-ver.lua
@@ -41,6 +41,8 @@ local addsuffix = file.addsuffix
local v_auto = variables.auto
local v_yes = variables.yes
+local v_last = variables.last
+local v_all = variables.all
-- beware, all macros have an argument:
@@ -735,14 +737,21 @@ end
-- parser so we use lpeg.
--
-- [[\text ]] [[\text{}]] [[\text \text ]] [[\text \\ \text ]]
+--
+-- needed in e.g. tabulate (manuals)
------ strip = Cs((P(" ")^1 * P(-1)/"" + 1)^0)
-local strip = Cs((P("\\") * ((1-S("\\ "))^1) * (P(" ")/"") + 1)^0) --
+local compact_all = Cs((P("\\") * ((1-S("\\ "))^1) * (P(" ")/"") * (P(-1) + S("[{")) + 1)^0)
+local compact_last = Cs((P(" ")^1 * P(-1)/"" + 1)^0)
function commands.typestring(settings)
local content = settings.data
if content and content ~= "" then
- content = #content > 1 and lpegmatch(strip,content) or content -- can be an option, but needed in e.g. tabulate
+ local compact = settings.compact
+ if compact == v_all then
+ content = lpegmatch(compact_all,content)
+ elseif compact == v_last then
+ content = lpegmatch(compact_last,content)
+ end
-- content = decodecomment(content)
-- content = dotabs(content,settings)
visualize(content,checkedsettings(settings,"inline"))
diff --git a/tex/context/base/buff-ver.mkiv b/tex/context/base/buff-ver.mkiv
index 48be6b67b..7ebadea41 100644
--- a/tex/context/base/buff-ver.mkiv
+++ b/tex/context/base/buff-ver.mkiv
@@ -298,10 +298,11 @@
{\buff_verbatim_initialize_type_two
\dostarttagged\t!verbatim\currenttype
\ctxcommand{typestring{
- data = \!!bs\detokenize{#1}\!!es,
- tab = "\typeparameter\c!tab",
- method = "\typeparameter\c!option",
- nature = "inline",
+ data = \!!bs\detokenize{#1}\!!es,
+ tab = "\typeparameter\c!tab",
+ method = "\typeparameter\c!option",
+ nature = "inline",
+ compact = "\typeparameter\c!compact", % none | all | last (all needed in tabulate etc for manuals)
}}%
\dostoptagged
\buff_verbatim_right_of_type
@@ -675,7 +676,8 @@
\c!style=\tt,
%\c!option=\v!normal,
\c!page=\v!no,
- \c!tab=\v!yes]
+ \c!tab=\v!yes,
+ \c!compact=\v!all]
%D Buffers
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index 48e7e92d4..82afc8c2b 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 3d88a8a4b..381d2a258 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.07.24 14:11}
+\edef\contextversion{2013.07.31 20:23}
\edef\contextkind {beta}
%D For those who want to use this:
@@ -430,6 +430,7 @@
\loadmarkfile{math-int}
\loadmarkfile{math-del}
\loadmarkfile{math-fen}
+\loadmkvifile{math-acc}
\loadmkvifile{math-rad}
\loadmarkfile{math-inl}
\loadmarkfile{math-dis}
diff --git a/tex/context/base/l-boolean.lua b/tex/context/base/l-boolean.lua
index f087f1a4c..8d11080e7 100644
--- a/tex/context/base/l-boolean.lua
+++ b/tex/context/base/l-boolean.lua
@@ -59,9 +59,9 @@ end
function string.is_boolean(str,default)
if type(str) == "string" then
- if str == "true" or str == "yes" or str == "on" or str == "t" then
+ if str == "true" or str == "yes" or str == "on" or str == "t" or str == "1" then
return true
- elseif str == "false" or str == "no" or str == "off" or str == "f" then
+ elseif str == "false" or str == "no" or str == "off" or str == "f" or str == "0" then
return false
end
end
diff --git a/tex/context/base/math-acc.mkvi b/tex/context/base/math-acc.mkvi
new file mode 100644
index 000000000..415f2b91f
--- /dev/null
+++ b/tex/context/base/math-acc.mkvi
@@ -0,0 +1,181 @@
+%D \module
+%D [ file=math-acc,
+%D version=2013.07.31,
+%D title=\CONTEXT\ Math Macros,
+%D subtitle=Accents,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\writestatus{loading}{ConTeXt Math Macros / Accents}
+
+% There are probably errors ... too distracted by amazing (piano) music videos running
+% on top of scite ... so: experimental code.
+
+\unprotect
+
+% This module permits overloading of accents so that we can do fancy things. The
+% implementation is similar to stackers. By default accenst are defined in a simple
+% way. Contrary to extensibles accents cannot grow indefinitely. Alas the
+% implementation of accents is different too, in the sense that they are
+% prepositioned i.e. are already raised. (In my opinion for no real reason as they
+% need to adapt anyway).
+%
+% $ \ruledhbox{$H$} \hat{H} \ruledhbox{$\widehat{H}$} \widehat{H} $
+%
+% One alternative is:
+%
+% \definemathoverextensible [top] [hoed] ["FE302]
+% \definemathoverextensible [top] [slang] ["FE303]
+%
+% $ \hoed{H} \ruledhbox{$\hoed{H}$} \ruledhbox{$\hoed{\tf H}$} \slang{H} $
+%
+% But that nills the italic correction (and I'm in nood to mess with that again).
+%
+% \definemathaccents [myaccents] [color=darkred]
+% \definemathtopaccent [myaccents] [mywidehat] ["0302]
+%
+% $ \hat{H} \widehat{H} \mywidehat{H} $
+
+% A first variant (kept for educational purposed):
+%
+% \installcorenamespace{mathaccents}
+%
+% \installcommandhandler \??mathaccents {mathaccent} \??mathaccents
+%
+% \let\setupmathaccents\setupmathaccent
+%
+% \setupmathaccents
+% [\c!top=,
+% \c!bottom=,
+% \c!mathstyle=,
+% \c!color=,
+% \c!command=\v!yes]
+%
+% \appendtoks
+% \edef\p_top_bottom{\namedmathaccentparameter\currentmathaccent\c!top\namedmathaccentparameter\currentmathaccent\c!bottom}%
+% \ifx\p_top_bottom\empty\else
+% \edef\p_command{\mathaccentparameter\c!command}%
+% \ifx\p_command\v!yes
+% \setuevalue\currentmathaccent{\math_accent{\currentmathaccent}}%
+% \fi
+% \fi
+% \to \everydefinemathaccent
+%
+% \def\math_accented_color_do_push{\pushcolor[\p_math_accent_color]}
+% \let\math_accented_color_do_pop \popcolor
+%
+% \unexpanded\def\math_accent#1#2%
+% {\begingroup
+% \edef\currentmathaccent{#1}%
+% \edef\p_math_accent_top {\mathaccentparameter\c!top}%
+% \edef\p_math_accent_bottom{\mathaccentparameter\c!bottom}%
+% \edef\p_math_accent_color {\mathaccentparameter\c!color}%
+% \startusemathstyleparameter\mathaccentparameter
+% \ifx\p_math_accented_color\empty
+% \let\math_accented_color_do_pop\donothing
+% \else
+% \let\math_accented_color_do_pop\popcolor
+% \math_accented_color_do_push
+% \fi
+% \ifx\p_math_accent_top\empty
+% \ifx\p_math_accent_bottom\empty
+% \else
+% \Umathaccent bottom \fam\zerocount\p_math_accent_bottom
+% \fi
+% \else
+% \ifx\p_math_accent_bottom\empty
+% \Umathaccent \fam\zerocount\p_math_accent_top
+% \else
+% \Umathaccent both \fam\zerocount\p_math_accent_top
+% \fam\zerocount\p_math_accent_bottom
+% \fi
+% \fi
+% {\popcolor#2}%
+% \stopusemathstyleparameter
+% \endgroup}
+%
+% \definemathaccent [myaccents] [\c!color=red]
+% \definemathaccent [mywidehat] [myaccents] [\c!top="0302]
+
+\installcorenamespace{mathaccents}
+
+\installcommandhandler \??mathaccents {mathaccents} \??mathaccents
+
+\setupmathaccents
+ [\c!top=,
+ \c!bottom=,
+ \c!mathstyle=,
+ \c!color=,
+ \c!command=\v!yes]
+
+\definemathaccents
+ [\v!both]
+
+\definemathaccents
+ [\v!top]
+ [\v!both]
+
+\definemathaccents
+ [\v!bottom]
+ [\v!both]
+
+\unexpanded\def\definemathtopaccent {\dotripleempty \math_accents_define_top }
+\unexpanded\def\definemathbottomaccent{\dotripleempty \math_accents_define_bottom}
+\unexpanded\def\definemathdoubleaccent{\doquadrupleempty\math_accents_define_double}
+
+\def\math_accents_define_top[#1][#2][#3]% class name top
+ {\ifthirdargument
+ \setuevalue{#2}{\math_accents_make_double {#1}\plusone{\number#3}\zerocount}%
+ \else
+ \setuevalue{#1}{\math_accents_make_double\noexpand\currentmathaccents\plusone{\number#2}\zerocount}%
+ \fi}
+
+\def\math_accents_define_bottom[#1][#2][#3]% class name bottom
+ {\ifthirdargument
+ \setuevalue{#2}{\math_accents_make_double {#1}\plustwo\zerocount{\number#3}}%
+ \else
+ \setuevalue{#1}{\math_accents_make_double\noexpand\currentmathaccents\plustwo\zerocount{\number#2}}%
+ \fi}
+
+\def\math_accents_define_double[#1][#2][#3][#4]% class name top bottom
+ {\iffourthargument
+ \setuevalue{#2}{\math_accents_make_double {#1}\plusthree{\number#3}{\number#4}}%
+ \else
+ \setuevalue{#1}{\math_accents_make_double\noexpand\currentmathaccents\plusthree{\number#2}{\number#3}}%
+ \fi}
+
+\def\math_accents_color_push_yes
+ {\pushcolor[\p_math_accent_color]%
+ \let\math_accents_color_pop\popcolor}
+
+\def\math_accents_color_push_nop
+ {\let\math_accents_color_pop\donothing}
+
+\unexpanded\def\math_accents_make_double#class#kind#top#bottom#content%
+ {\begingroup
+ \edef\currentmathaccents {#class}%
+ \edef\p_math_accent_color{\mathaccentsparameter\c!color}%
+ \startusemathstyleparameter\mathaccentsparameter
+ \ifx\p_math_accent_color\empty
+ \math_accents_color_push_nop
+ \else
+ \math_accents_color_push_yes
+ \fi
+ \ifcase#kind\or
+ \Umathaccent \fam\zerocount#top
+ \or
+ \Umathaccent bottom \fam\zerocount#bottom
+ \or
+ \Umathaccent both \fam\zerocount#top
+ \fam\zerocount#bottom
+ \fi
+ {\math_accents_color_pop#content}%
+ \stopusemathstyleparameter
+ \endgroup}
+
+\protect \endinput
diff --git a/tex/context/base/math-act.lua b/tex/context/base/math-act.lua
index c8d862ffc..84549ca52 100644
--- a/tex/context/base/math-act.lua
+++ b/tex/context/base/math-act.lua
@@ -392,6 +392,7 @@ local setmetatableindex = table.setmetatableindex
local family_font = node.family_font
local fontcharacters = fonts.hashes.characters
+local fontdescriptions = fonts.hashes.descriptions
local extensibles = utilities.storage.allocate()
fonts.hashes.extensibles = extensibles
@@ -415,24 +416,34 @@ local function extensiblecode(font,unicode)
if not character then
return unknown
end
+ local first = character.next
local code = unicode
- local next = character.next
+ local next = first
while next do
code = next
character = characters[next]
next = character.next
end
local char = chardata[unicode]
- local mathextensible = char and char.mathextensible
+ if not char then
+ return unknown
+ end
if character.horiz_variants then
if character.vert_variants then
return { e_mixed, code, character }
else
- local e = mathextensible and extensibles[mathextensible]
+ local m = char.mathextensible
+ local e = m and extensibles[m]
return e and { e, code, character } or unknown
end
elseif character.vert_variants then
- local e = mathextensible and extensibles[mathextensible]
+ local m = char.mathextensible
+ local e = m and extensibles[m]
+ return e and { e, code, character } or unknown
+ elseif first then
+ -- assume accent (they seldom stretch .. sizes)
+ local m = char.mathextensible or char.mathstretch
+ local e = m and extensibles[m]
return e and { e, code, character } or unknown
else
return unknown
@@ -465,31 +476,32 @@ end
-- abs(right["start"] - right["end"]) | right.advance | characters[right.glyph].width
function commands.horizontalcode(family,unicode)
- local font = family_font(family or 0)
- local data = extensibles[font][unicode]
- local kind = data[1]
+ local font = family_font(family or 0)
+ local data = extensibles[font][unicode]
+ local kind = data[1]
+ local loffset = 0
+ local roffset = 0
if kind == e_left then
local charlist = data[3].horiz_variants
- local characters = fontcharacters[font]
- local left = charlist[1]
- texsetdimen("scratchleftoffset",abs((left["start"] or 0) - (left["end"] or 0)))
- texsetdimen("scratchrightoffset",0)
+ if charlist then
+ local left = charlist[1]
+ loffset = abs((left["start"] or 0) - (left["end"] or 0))
+ end
elseif kind == e_right then
local charlist = data[3].horiz_variants
- local characters = fontcharacters[font]
local right = charlist[#charlist]
- texsetdimen("scratchleftoffset",0)
- texsetdimen("scratchrightoffset",abs((right["start"] or 0) - (right["end"] or 0)))
+ roffset = abs((right["start"] or 0) - (right["end"] or 0))
elseif kind == e_horizontal then
local charlist = data[3].horiz_variants
- local characters = fontcharacters[font]
- local left = charlist[1]
- local right = charlist[#charlist]
- texsetdimen("scratchleftoffset", abs((left ["start"] or 0) - (left ["end"] or 0)))
- texsetdimen("scratchrightoffset",abs((right["start"] or 0) - (right["end"] or 0)))
+ if charlist then
+ local left = charlist[1]
+ local right = charlist[#charlist]
+ loffset = abs((left ["start"] or 0) - (left ["end"] or 0))
+ roffset = abs((right["start"] or 0) - (right["end"] or 0))
+ end
else
- texsetdimen("scratchleftoffset",0)
- texsetdimen("scratchrightoffset",0)
end
+ texsetdimen("scratchleftoffset",loffset)
+ texsetdimen("scratchrightoffset",roffset)
context(kind)
end
diff --git a/tex/context/base/math-fbk.lua b/tex/context/base/math-fbk.lua
index 383b08f0d..96f7be81b 100644
--- a/tex/context/base/math-fbk.lua
+++ b/tex/context/base/math-fbk.lua
@@ -314,14 +314,7 @@ end
-- we could move the defs from math-act here
-addextra(0xFE3DE, { description="EXTENSIBLE OF 0x03DE", unicodeslot=0xFE3DE, mathextensible = "r", mathstretch = "h" } )
-addextra(0xFE3DF, { description="EXTENSIBLE OF 0x03DF", unicodeslot=0xFE3DF, mathextensible = "r", mathstretch = "h" } )
-addextra(0xFE3DC, { description="EXTENSIBLE OF 0x03DC", unicodeslot=0xFE3DC, mathextensible = "r", mathstretch = "h" } )
-addextra(0xFE3DD, { description="EXTENSIBLE OF 0x03DD", unicodeslot=0xFE3DD, mathextensible = "r", mathstretch = "h" } )
-addextra(0xFE3B4, { description="EXTENSIBLE OF 0x03B4", unicodeslot=0xFE3B4, mathextensible = "r", mathstretch = "h" } )
-addextra(0xFE3B5, { description="EXTENSIBLE OF 0x03B5", unicodeslot=0xFE3B5, mathextensible = "r", mathstretch = "h" } )
-
-local function accent_to_extensible(target,newchr,original,oldchr,height,depth,swap)
+local function accent_to_extensible(target,newchr,original,oldchr,height,depth,swap,offset)
local characters = target.characters
local addprivate = fonts.helpers.addprivate
local olddata = characters[oldchr]
@@ -334,7 +327,7 @@ local function accent_to_extensible(target,newchr,original,oldchr,height,depth,s
height = height or 0
depth = depth or 0
end
- local correction = swap and { "down", (olddata.height or 0) - height } or { "down", olddata.height }
+ local correction = swap and { "down", (olddata.height or 0) - height } or { "down", olddata.height + (offset or 0)}
local newdata = {
commands = { correction, { "slot", 1, oldchr } },
width = olddata.width,
@@ -400,44 +393,45 @@ end
virtualcharacters[0xFE33E] = virtualcharacters[0x203E] -- convenient
virtualcharacters[0xFE33F] = virtualcharacters[0x203E] -- convenient
-virtualcharacters[0xFE3DE] = function(data)
- local target, original = data.target, data.original
- local chardata = target.characters[0x23DE]
+local function smashed(data,unicode,swap,private)
+ local target = data.target
+ local original = data.original
+ local chardata = target.characters[unicode]
if chardata and chardata.height > target.parameters.xheight then
- return accent_to_extensible(target,0xFE3DE,original,0x23DE,0,0,0x23DF)
+ return accent_to_extensible(target,private,original,unicode,0,0,swap)
else
- return original.characters[0x23DE]
+ return original.characters[unicode]
end
end
-virtualcharacters[0xFE3DC] = function(data)
- local target, original = data.target, data.original
- local chardata = target.characters[0x23DC]
- if chardata and chardata.height > target.parameters.xheight then
- return accent_to_extensible(target,0xFE3DC,original,0x23DC,0,0,0x23DD)
- else
- return original.characters[0x23DC]
- end
-end
+addextra(0xFE3DE, { description="EXTENSIBLE OF 0x03DE", unicodeslot=0xFE3DE, mathextensible = "r", mathstretch = "h" } )
+addextra(0xFE3DC, { description="EXTENSIBLE OF 0x03DC", unicodeslot=0xFE3DC, mathextensible = "r", mathstretch = "h" } )
+addextra(0xFE3B4, { description="EXTENSIBLE OF 0x03B4", unicodeslot=0xFE3B4, mathextensible = "r", mathstretch = "h" } )
-virtualcharacters[0xFE3B4] = function(data)
- local target, original = data.target, data.original
- local chardata = target.characters[0x23B4]
- if chardata and chardata.height > target.parameters.xheight then
- return accent_to_extensible(target,0xFE3B4,original,0x23B4,0,0,0x23B5)
- else
- return original.characters[0x23B4]
- end
-end
+virtualcharacters[0xFE3DE] = function(data) return smashed(data,0x23DE,0x23DF,0xFE3DE) end
+virtualcharacters[0xFE3DC] = function(data) return smashed(data,0x23DC,0x23DD,0xFE3DC) end
+virtualcharacters[0xFE3B4] = function(data) return smashed(data,0x23B4,0x23B5,0xFE3B4) end
-virtualcharacters[0xFE3DF] = function(data)
- return data.original.characters[0x23DF]
-end
+addextra(0xFE3DF, { description="EXTENSIBLE OF 0x03DF", unicodeslot=0xFE3DF, mathextensible = "r", mathstretch = "h" } )
+addextra(0xFE3DD, { description="EXTENSIBLE OF 0x03DD", unicodeslot=0xFE3DD, mathextensible = "r", mathstretch = "h" } )
+addextra(0xFE3B5, { description="EXTENSIBLE OF 0x03B5", unicodeslot=0xFE3B5, mathextensible = "r", mathstretch = "h" } )
-virtualcharacters[0xFE3DD] = function(data)
- return data.original.characters[0x23DD]
-end
+virtualcharacters[0xFE3DF] = function(data) return data.original.characters[0x23DF] end
+virtualcharacters[0xFE3DD] = function(data) return data.original.characters[0x23DD] end
+virtualcharacters[0xFE3B5] = function(data) return data.original.characters[0x23B5] end
+
+-- todo: add some more .. numbers might change
-virtualcharacters[0xFE3B5] = function(data)
- return data.original.characters[0x23B5]
+addextra(0xFE302, { description="EXTENSIBLE OF 0x0302", unicodeslot=0xFE302, mathstretch = "h" } )
+addextra(0xFE303, { description="EXTENSIBLE OF 0x0303", unicodeslot=0xFE303, mathstretch = "h" } )
+
+local function smashed(data,unicode,private)
+ local target = data.target
+ local height = target.parameters.xheight / 2
+ local c = accent_to_extensible(target,private,data.original,unicode,height,0,nil,-height)
+ c.top_accent = nil
+ return c
end
+
+virtualcharacters[0xFE302] = function(data) return smashed(data,0x0302,0xFE302) end
+virtualcharacters[0xFE303] = function(data) return smashed(data,0x0303,0xFE303) end
diff --git a/tex/context/base/math-fen.mkiv b/tex/context/base/math-fen.mkiv
index 74a870277..640821bad 100644
--- a/tex/context/base/math-fen.mkiv
+++ b/tex/context/base/math-fen.mkiv
@@ -11,6 +11,8 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
+% 0x -> "
+
\writestatus{loading}{ConTeXt Math Macros / Fences}
\unprotect
@@ -32,9 +34,6 @@
% test $a\fancybracket{\frac{1}{b}}c$ test \par
\installcorenamespace{mathfences}
-\installcorenamespace{mathfencesleft}
-\installcorenamespace{mathfencesmiddle}
-\installcorenamespace{mathfencesright}
\installcommandhandler \??mathfences {mathfence} \??mathfences
@@ -55,40 +54,36 @@
\fi
\to \everydefinemathfence
-\def\math_fenced_left {\normalleft \utfchar{\mathfenceparameter\c!left }} % no Uchar here
-\def\math_fenced_middle{\normalmiddle\utfchar{\mathfenceparameter\c!middle}} % no Uchar here
-\def\math_fenced_right {\normalright \utfchar{\mathfenceparameter\c!right }} % no Uchar here
+% no Uchar here:
+
+\def\math_fenced_left {\math_fenced_color_push\normalleft \utfchar{\mathfenceparameter\c!left }\math_fenced_color_pop}
+\def\math_fenced_middle{\mskip\thinmuskip
+ \math_fenced_color_push\normalmiddle\utfchar{\mathfenceparameter\c!middle}\math_fenced_color_pop
+ \mskip\thinmuskip}
+\def\math_fenced_right {\math_fenced_color_push\normalright \utfchar{\mathfenceparameter\c!right }\math_fenced_color_pop}
+
+\def\math_fenced_color_do_push{\pushcolor[\p_math_fenced_color]}
+\let\math_fenced_color_do_pop \popcolor
\let\fence \relax
\let\fenced\relax
-\unexpanded\def\math_fenced_fenced[#1]%
+\unexpanded\def\math_fenced_fenced[#1]#2%
{\begingroup
\edef\currentmathfence{#1}%
\startusemathstyleparameter\mathfenceparameter
\let\fence\math_fenced_middle
\edef\p_math_fenced_color{\mathfenceparameter\c!color}%
\ifx\p_math_fenced_color\empty
- \expandafter\math_fenced_normal
+ \let\math_fenced_color_push\donothing
+ \let\math_fenced_color_pop \donothing
\else
- \expandafter\math_fenced_colored
- \fi}
-
-\def\math_fenced_normal#1%
- {\math_fenced_left
- #1%
- \math_fenced_right
- \stopusemathstyleparameter
- \endgroup}
-
-\def\math_fenced_colored#1%
- {\pushcolor[\p_math_fenced_color]%
+ \let\math_fenced_color_push\math_fenced_color_do_push
+ \let\math_fenced_color_pop \math_fenced_color_do_pop
+ \fi
\math_fenced_left
- \popcolor
- #1%
- \pushcolor[\p_math_fenced_color]%
+ #2%
\math_fenced_right
- \popcolor
\stopusemathstyleparameter
\endgroup}
@@ -105,4 +100,9 @@
%definemathfence [fancybracket] [bracket] [command=yes,color=red]
+% experimental accents:
+%
+% \definemathoverextensible [top] [hoed] ["FE302]
+% \definemathoverextensible [top] [slang] ["FE303]
+
\protect
diff --git a/tex/context/base/math-stc.mkvi b/tex/context/base/math-stc.mkvi
index 9a98d4d5d..87db7aacb 100644
--- a/tex/context/base/math-stc.mkvi
+++ b/tex/context/base/math-stc.mkvi
@@ -60,6 +60,9 @@
\installcorenamespace {mathextensiblefallbacks}
+% currently no italic correction ... problem is that we don't know yet if we have an italic
+% below so we we need to postpone
+
\def\math_stackers_fallback
{\hbox to \scratchwidth{\csname\??mathextensiblefallbacks\ifcsname\??mathextensiblefallbacks\number\scratchunicode\endcsname\number\scratchunicode\fi\endcsname}}
%{\csname\??mathextensiblefallbacks\ifcsname\??mathextensiblefallbacks\number\scratchunicode\endcsname\number\scratchunicode\fi\endcsname }
@@ -77,15 +80,15 @@
\setvalue{\??mathextensiblefallbacks}{\hbox{\vrule\!!width\scratchwidth\!!height.1\exheight\!!depth\zeropoint}}
-\def\math_stackers_with_fallback#codepoint%
- {\begingroup
- \scratchunicode#codepoint\relax
- \ifcase\mathextensiblecode\fam\scratchunicode\relax
- \math_stackers_fallback
- \else
- \math_stackers_stretch
- \fi
- \endgroup}
+% \def\math_stackers_with_fallback#codepoint%
+% {\begingroup
+% \scratchunicode#codepoint\relax
+% \ifcase\mathextensiblecode\fam\scratchunicode\relax
+% \math_stackers_fallback
+% \else
+% \math_stackers_stretch
+% \fi
+% \endgroup}
%D We don't really need this because we can assume that fonts have the right
%D extensibles. If needed I will make a general virtual extender for \OPENTYPE\
@@ -512,26 +515,26 @@
\expandafter\endgroup
\fi}
-\unexpanded\def\definemathoverextensible {\dotripleempty \math_extensiblies_define_over }
-\unexpanded\def\definemathunderextensible {\dotripleempty \math_extensiblies_define_under}
-\unexpanded\def\definemathdoubleextensible{\doquadrupleempty\math_extensiblies_define_double}
+\unexpanded\def\definemathoverextensible {\dotripleempty \math_extensibles_define_over }
+\unexpanded\def\definemathunderextensible {\dotripleempty \math_extensibles_define_under}
+\unexpanded\def\definemathdoubleextensible{\doquadrupleempty\math_extensibles_define_double}
-\def\math_extensiblies_define_over[#1][#2][#3]%
+\def\math_extensibles_define_over[#1][#2][#3]%
{\ifthirdargument
\setuevalue{#2}{\math_stackers_make_double\plusone \zerocount{#1}{\number#3}{0}}%
\else
\setuevalue{#1}{\math_stackers_make_double\plusone \zerocount\noexpand\currentmathstackers{\number#2}{0}}%
\fi}
-\def\math_extensiblies_define_under[#1][#2][#3]%
+\def\math_extensibles_define_under[#1][#2][#3]%
{\ifthirdargument
\setuevalue{#2}{\math_stackers_make_double\zerocount\plusone{#1}{\number#3}{0}}%
\else
\setuevalue{#1}{\math_stackers_make_double\zerocount\plusone\noexpand\currentmathstackers{\number#2}{0}}%
\fi}
-\def\math_extensiblies_define_double[#1][#2][#3][#4]%
- {\ifthirdargument
+\def\math_extensibles_define_double[#1][#2][#3][#4]%
+ {\iffourthargument
\setuevalue{#2}{\math_stackers_make_double\plusone \plusone{#1}{\number#3}{\number#4}}%
\else
\setuevalue{#1}{\math_stackers_make_double\plusone \plusone\noexpand\currentmathstackers{\number#2}{\number#3}}%
diff --git a/tex/context/base/mult-de.mkii b/tex/context/base/mult-de.mkii
index ab5e66140..4b7a54e61 100644
--- a/tex/context/base/mult-de.mkii
+++ b/tex/context/base/mult-de.mkii
@@ -630,6 +630,7 @@
\setinterfaceconstant{component}{component}
\setinterfaceconstant{compoundhyphen}{compoundhyphen}
\setinterfaceconstant{compress}{compress}
+\setinterfaceconstant{concerns}{concerns}
\setinterfaceconstant{connector}{connector}
\setinterfaceconstant{continue}{fortsetzen}
\setinterfaceconstant{contrastcolor}{kontrastfarbe}
@@ -798,6 +799,7 @@
\setinterfaceconstant{marginedge}{marginalkante}
\setinterfaceconstant{marginedgetext}{marginalkantetext}
\setinterfaceconstant{margintext}{marginaltext}
+\setinterfaceconstant{mark}{mark}
\setinterfaceconstant{marking}{beschriftung}
\setinterfaceconstant{marstyle}{beschrstil}
\setinterfaceconstant{mask}{mask}
diff --git a/tex/context/base/mult-def.lua b/tex/context/base/mult-def.lua
index 8c515ba8b..07e1139f0 100644
--- a/tex/context/base/mult-def.lua
+++ b/tex/context/base/mult-def.lua
@@ -6982,6 +6982,10 @@ return {
["pe"]="قبل‌ازسر",
["ro"]="inaintetitlu",
},
+ ["concerns"]={
+ ["en"]="concerns",
+ ["nl"]="betreft",
+ },
["bet"]={
["cs"]="bet",
["de"]="bet",
@@ -8361,6 +8365,10 @@ return {
["pe"]="آیتمها",
["ro"]="elemente",
},
+ ["mark"]={
+ ["en"]="mark",
+ ["nl"]="kernmerk",
+ },
["ken"]={
["cs"]="ken",
["de"]="ken",
diff --git a/tex/context/base/mult-en.mkii b/tex/context/base/mult-en.mkii
index a543151ce..7b06ec627 100644
--- a/tex/context/base/mult-en.mkii
+++ b/tex/context/base/mult-en.mkii
@@ -630,6 +630,7 @@
\setinterfaceconstant{component}{component}
\setinterfaceconstant{compoundhyphen}{compoundhyphen}
\setinterfaceconstant{compress}{compress}
+\setinterfaceconstant{concerns}{concerns}
\setinterfaceconstant{connector}{connector}
\setinterfaceconstant{continue}{continue}
\setinterfaceconstant{contrastcolor}{contrastcolor}
@@ -798,6 +799,7 @@
\setinterfaceconstant{marginedge}{marginedge}
\setinterfaceconstant{marginedgetext}{marginedgetext}
\setinterfaceconstant{margintext}{margintext}
+\setinterfaceconstant{mark}{mark}
\setinterfaceconstant{marking}{marking}
\setinterfaceconstant{marstyle}{marstyle}
\setinterfaceconstant{mask}{mask}
diff --git a/tex/context/base/mult-fr.mkii b/tex/context/base/mult-fr.mkii
index 10c9e6713..55aa3af79 100644
--- a/tex/context/base/mult-fr.mkii
+++ b/tex/context/base/mult-fr.mkii
@@ -630,6 +630,7 @@
\setinterfaceconstant{component}{composant}
\setinterfaceconstant{compoundhyphen}{compoundhyphen}
\setinterfaceconstant{compress}{compress}
+\setinterfaceconstant{concerns}{concerns}
\setinterfaceconstant{connector}{connector}
\setinterfaceconstant{continue}{continue}
\setinterfaceconstant{contrastcolor}{coleurcontraste}
@@ -798,6 +799,7 @@
\setinterfaceconstant{marginedge}{bordmarge}
\setinterfaceconstant{marginedgetext}{textebordmarge}
\setinterfaceconstant{margintext}{textemarge}
+\setinterfaceconstant{mark}{mark}
\setinterfaceconstant{marking}{marquage}
\setinterfaceconstant{marstyle}{stylemarquage}
\setinterfaceconstant{mask}{mask}
diff --git a/tex/context/base/mult-it.mkii b/tex/context/base/mult-it.mkii
index c485cbf31..6d3591c04 100644
--- a/tex/context/base/mult-it.mkii
+++ b/tex/context/base/mult-it.mkii
@@ -630,6 +630,7 @@
\setinterfaceconstant{component}{component}
\setinterfaceconstant{compoundhyphen}{compoundhyphen}
\setinterfaceconstant{compress}{compress}
+\setinterfaceconstant{concerns}{concerns}
\setinterfaceconstant{connector}{connector}
\setinterfaceconstant{continue}{continua}
\setinterfaceconstant{contrastcolor}{colorecontrasto}
@@ -798,6 +799,7 @@
\setinterfaceconstant{marginedge}{bordomargine}
\setinterfaceconstant{marginedgetext}{testobordomargine}
\setinterfaceconstant{margintext}{testomargine}
+\setinterfaceconstant{mark}{mark}
\setinterfaceconstant{marking}{marcatura}
\setinterfaceconstant{marstyle}{stilemarcatura}
\setinterfaceconstant{mask}{mask}
diff --git a/tex/context/base/mult-nl.mkii b/tex/context/base/mult-nl.mkii
index adaf09b01..275f86c1a 100644
--- a/tex/context/base/mult-nl.mkii
+++ b/tex/context/base/mult-nl.mkii
@@ -630,6 +630,7 @@
\setinterfaceconstant{component}{component}
\setinterfaceconstant{compoundhyphen}{koppelteken}
\setinterfaceconstant{compress}{comprimeren}
+\setinterfaceconstant{concerns}{betreft}
\setinterfaceconstant{connector}{connector}
\setinterfaceconstant{continue}{doorgaan}
\setinterfaceconstant{contrastcolor}{contrastkleur}
@@ -798,6 +799,7 @@
\setinterfaceconstant{marginedge}{kantlijn}
\setinterfaceconstant{marginedgetext}{kantlijntekst}
\setinterfaceconstant{margintext}{margetekst}
+\setinterfaceconstant{mark}{kernmerk}
\setinterfaceconstant{marking}{markering}
\setinterfaceconstant{marstyle}{marletter}
\setinterfaceconstant{mask}{masker}
diff --git a/tex/context/base/mult-pe.mkii b/tex/context/base/mult-pe.mkii
index 5954d1d6f..cff5dfce4 100644
--- a/tex/context/base/mult-pe.mkii
+++ b/tex/context/base/mult-pe.mkii
@@ -630,6 +630,7 @@
\setinterfaceconstant{component}{مولفه}
\setinterfaceconstant{compoundhyphen}{compoundhyphen}
\setinterfaceconstant{compress}{فشردن}
+\setinterfaceconstant{concerns}{concerns}
\setinterfaceconstant{connector}{connector}
\setinterfaceconstant{continue}{ادامه}
\setinterfaceconstant{contrastcolor}{contrastcolor}
@@ -798,6 +799,7 @@
\setinterfaceconstant{marginedge}{لبه‌حاشیه}
\setinterfaceconstant{marginedgetext}{متن‌لبه‌حاشیه}
\setinterfaceconstant{margintext}{متن‌حاشیه}
+\setinterfaceconstant{mark}{mark}
\setinterfaceconstant{marking}{نشانه‌گذاری}
\setinterfaceconstant{marstyle}{سبک‌حاش}
\setinterfaceconstant{mask}{mask}
diff --git a/tex/context/base/mult-ro.mkii b/tex/context/base/mult-ro.mkii
index 4fa4d3ce1..e901e28f4 100644
--- a/tex/context/base/mult-ro.mkii
+++ b/tex/context/base/mult-ro.mkii
@@ -630,6 +630,7 @@
\setinterfaceconstant{component}{component}
\setinterfaceconstant{compoundhyphen}{compoundhyphen}
\setinterfaceconstant{compress}{compress}
+\setinterfaceconstant{concerns}{concerns}
\setinterfaceconstant{connector}{connector}
\setinterfaceconstant{continue}{continua}
\setinterfaceconstant{contrastcolor}{culoarecontrast}
@@ -798,6 +799,7 @@
\setinterfaceconstant{marginedge}{coltbordura}
\setinterfaceconstant{marginedgetext}{textcoltbordura}
\setinterfaceconstant{margintext}{textmargine}
+\setinterfaceconstant{mark}{mark}
\setinterfaceconstant{marking}{marcaje}
\setinterfaceconstant{marstyle}{stilmarcaj}
\setinterfaceconstant{mask}{mask}
diff --git a/tex/context/base/page-lay.mkiv b/tex/context/base/page-lay.mkiv
index c0d897522..1ff837d5e 100644
--- a/tex/context/base/page-lay.mkiv
+++ b/tex/context/base/page-lay.mkiv
@@ -597,7 +597,7 @@
\let\p_page_layouts_height\empty
\def\page_layouts_synchronize
- {\setups[\layoutparameter\c!preset]%
+ {\setups[\layoutparameter\c!preset]\relax
\global\leftmarginwidth \layoutparameter\c!leftmargin
\global\rightmarginwidth\layoutparameter\c!rightmargin
\global\leftedgewidth \layoutparameter\c!leftedge
diff --git a/tex/context/base/spac-ver.mkiv b/tex/context/base/spac-ver.mkiv
index 9b74b273a..05e4336bc 100644
--- a/tex/context/base/spac-ver.mkiv
+++ b/tex/context/base/spac-ver.mkiv
@@ -2073,4 +2073,30 @@
%
% \def\shapefill{\vskip\zeropoint\s!plus\lineheight\s!minus\lineheight\relax}
+%D Nasty:
+
+% \writestatus{1}{\the\prevdepth} \blank[force,5*big] { \writestatus{1}{\the\prevdepth} \baselineskip1cm xxxxxxxxx \par } \page
+% \writestatus{2}{\the\prevdepth} \blank[force,5*big] { \writestatus{2}{\the\prevdepth} \baselineskip1cm xxxxxxxxx \par } \page
+% \writestatus{3}{\the\prevdepth} \blank[force,5*big] { \writestatus{3}{\the\prevdepth} \baselineskip5cm xxxxxxxxx \par } \page
+% \writestatus{4}{\the\prevdepth} \input tufte \page
+% \writestatus{5}{\the\prevdepth} \input tufte \page
+% \writestatus{6}{\the\prevdepth} \blank[force,5*big] { \writestatus{6}{\the\prevdepth} \baselineskip1cm xxxxxxxxx \par } \page
+
+% \writestatus{1}{\the\prevdepth} \null\vskip4cm { \writestatus{1}{\the\prevdepth} \baselineskip1cm xxxxxxxxx \par } \page
+% \writestatus{2}{\the\prevdepth} \null\vskip4cm { \writestatus{2}{\the\prevdepth} \baselineskip1cm xxxxxxxxx \par } \page
+% \writestatus{3}{\the\prevdepth} \null\vskip4cm { \writestatus{3}{\the\prevdepth} \baselineskip5cm xxxxxxxxx \par } \page
+% \writestatus{4}{\the\prevdepth} \input tufte \page
+% \writestatus{5}{\the\prevdepth} \input tufte \page
+% \writestatus{6}{\the\prevdepth} \null\vskip4cm { \writestatus{6}{\the\prevdepth} \baselineskip1cm xxxxxxxxx \par } \page
+
+\appendtoks
+ \prevdepth\zeropoint % consistent, else first page -1000pt .. needed for fixed,3*big first/successive pages consistency
+\to \everystarttext
+
+\prevdepth\zeropoint
+
+\appendtoks
+ \ctxcommand{resetprevdepth()}%
+\to \everyafteroutput
+
\protect \endinput
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index d6a048831..035c411ba 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.log b/tex/context/base/status-lua.log
index feca5a6e1..3ad484d9b 100644
--- a/tex/context/base/status-lua.log
+++ b/tex/context/base/status-lua.log
@@ -1,6 +1,6 @@
(cont-yes.mkiv
-ConTeXt ver: 2013.07.24 14:11 MKIV beta fmt: 2013.7.24 int: english/english
+ConTeXt ver: 2013.07.31 20:23 MKIV beta fmt: 2013.7.31 int: english/english
system > 'cont-new.mkiv' loaded
(cont-new.mkiv)
diff --git a/tex/context/base/status-mkiv.lua b/tex/context/base/status-mkiv.lua
index 1e8d55c9c..62bfc790c 100644
--- a/tex/context/base/status-mkiv.lua
+++ b/tex/context/base/status-mkiv.lua
@@ -1818,6 +1818,12 @@ return {
status = "okay",
},
{
+ category = "mkvi",
+ filename = "math-acc",
+ loading = "always",
+ status = "okay",
+ },
+ {
category = "mkiv",
comment = "at least for the moment",
filename = "math-frc",
diff --git a/tex/context/base/typo-txt.mkvi b/tex/context/base/typo-txt.mkvi
index f1c80c1bd..57f4e5f42 100644
--- a/tex/context/base/typo-txt.mkvi
+++ b/tex/context/base/typo-txt.mkvi
@@ -36,7 +36,7 @@
%D Consider for instance:
%D
%D \startbuffer[a]
-%D \NormalizeFontHeight \TempFont {X} {2\baselineskip} {Serif}
+%D \normalizefontheight \TempFont {X} {2\baselineskip} {Serif}
%D \stopbuffer
%D
%D \startbuffer[b]
@@ -54,7 +54,7 @@
%D The horizontal counterpart is:
%D
%D \startbuffer[a]
-%D \NormalizeFontWidth \TempFont {This Line Fits} {\hsize} {Serif}
+%D \normalizefontwidth \TempFont {This Line Fits} {\hsize} {Serif}
%D \stopbuffer
%D
%D \startbuffer[b]
diff --git a/tex/context/base/util-sql-users.lua b/tex/context/base/util-sql-users.lua
index ea8fb4e07..a1f433946 100644
--- a/tex/context/base/util-sql-users.lua
+++ b/tex/context/base/util-sql-users.lua
@@ -17,7 +17,7 @@ local sql = utilities.sql
local format, upper, find, gsub, topattern = string.format, string.upper, string.find, string.gsub, string.topattern
local sumhexa = md5.sumhexa
-local booleanstring = string.booleanstring
+local toboolean = string.toboolean
local sql = utilities.sql
local users = { }
@@ -244,7 +244,7 @@ function users.add(db,specification)
fullname = name or fullname,
password = encryptpassword(specification.password or ""),
group = groupnumbers[specification.group] or groupnumbers.guest,
- enabled = booleanstring(specification.enabled) and "1" or "0",
+ enabled = toboolean(specification.enabled) and "1" or "0",
email = specification.email,
address = specification.address,
theme = specification.theme,
@@ -354,7 +354,7 @@ function users.save(db,id,specification)
fullname = fullname,
password = encryptpassword(password),
group = groupnumbers[group],
- enabled = booleanstring(enabled) and "1" or "0",
+ enabled = toboolean(enabled) and "1" or "0",
email = email,
address = address,
theme = theme,
diff --git a/tex/context/interface/keys-cs.xml b/tex/context/interface/keys-cs.xml
index 7853f731b..f7de67072 100644
--- a/tex/context/interface/keys-cs.xml
+++ b/tex/context/interface/keys-cs.xml
@@ -636,6 +636,7 @@
<cd:constant name='component' value='component'/>
<cd:constant name='compoundhyphen' value='compoundhyphen'/>
<cd:constant name='compress' value='compress'/>
+ <cd:constant name='concerns' value='concerns'/>
<cd:constant name='connector' value='connector'/>
<cd:constant name='continue' value='pokracovat'/>
<cd:constant name='contrastcolor' value='kontrastnibarva'/>
@@ -804,6 +805,7 @@
<cd:constant name='marginedge' value='textovahrana'/>
<cd:constant name='marginedgetext' value='textmarginalnihookraje'/>
<cd:constant name='margintext' value='textmarginalie'/>
+ <cd:constant name='mark' value='mark'/>
<cd:constant name='marking' value='znaceni'/>
<cd:constant name='marstyle' value='stylsnacky'/>
<cd:constant name='mask' value='mask'/>
diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml
index 6d6b8858e..07add1d02 100644
--- a/tex/context/interface/keys-de.xml
+++ b/tex/context/interface/keys-de.xml
@@ -636,6 +636,7 @@
<cd:constant name='component' value='component'/>
<cd:constant name='compoundhyphen' value='compoundhyphen'/>
<cd:constant name='compress' value='compress'/>
+ <cd:constant name='concerns' value='concerns'/>
<cd:constant name='connector' value='connector'/>
<cd:constant name='continue' value='fortsetzen'/>
<cd:constant name='contrastcolor' value='kontrastfarbe'/>
@@ -804,6 +805,7 @@
<cd:constant name='marginedge' value='marginalkante'/>
<cd:constant name='marginedgetext' value='marginalkantetext'/>
<cd:constant name='margintext' value='marginaltext'/>
+ <cd:constant name='mark' value='mark'/>
<cd:constant name='marking' value='beschriftung'/>
<cd:constant name='marstyle' value='beschrstil'/>
<cd:constant name='mask' value='mask'/>
diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml
index b0777e355..954dcffd2 100644
--- a/tex/context/interface/keys-en.xml
+++ b/tex/context/interface/keys-en.xml
@@ -636,6 +636,7 @@
<cd:constant name='component' value='component'/>
<cd:constant name='compoundhyphen' value='compoundhyphen'/>
<cd:constant name='compress' value='compress'/>
+ <cd:constant name='concerns' value='concerns'/>
<cd:constant name='connector' value='connector'/>
<cd:constant name='continue' value='continue'/>
<cd:constant name='contrastcolor' value='contrastcolor'/>
@@ -804,6 +805,7 @@
<cd:constant name='marginedge' value='marginedge'/>
<cd:constant name='marginedgetext' value='marginedgetext'/>
<cd:constant name='margintext' value='margintext'/>
+ <cd:constant name='mark' value='mark'/>
<cd:constant name='marking' value='marking'/>
<cd:constant name='marstyle' value='marstyle'/>
<cd:constant name='mask' value='mask'/>
diff --git a/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml
index 2633fe572..b71707d8f 100644
--- a/tex/context/interface/keys-fr.xml
+++ b/tex/context/interface/keys-fr.xml
@@ -636,6 +636,7 @@
<cd:constant name='component' value='composant'/>
<cd:constant name='compoundhyphen' value='compoundhyphen'/>
<cd:constant name='compress' value='compress'/>
+ <cd:constant name='concerns' value='concerns'/>
<cd:constant name='connector' value='connector'/>
<cd:constant name='continue' value='continue'/>
<cd:constant name='contrastcolor' value='coleurcontraste'/>
@@ -804,6 +805,7 @@
<cd:constant name='marginedge' value='bordmarge'/>
<cd:constant name='marginedgetext' value='textebordmarge'/>
<cd:constant name='margintext' value='textemarge'/>
+ <cd:constant name='mark' value='mark'/>
<cd:constant name='marking' value='marquage'/>
<cd:constant name='marstyle' value='stylemarquage'/>
<cd:constant name='mask' value='mask'/>
diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml
index 7cd34c3b6..ffdc8e2a6 100644
--- a/tex/context/interface/keys-it.xml
+++ b/tex/context/interface/keys-it.xml
@@ -636,6 +636,7 @@
<cd:constant name='component' value='component'/>
<cd:constant name='compoundhyphen' value='compoundhyphen'/>
<cd:constant name='compress' value='compress'/>
+ <cd:constant name='concerns' value='concerns'/>
<cd:constant name='connector' value='connector'/>
<cd:constant name='continue' value='continua'/>
<cd:constant name='contrastcolor' value='colorecontrasto'/>
@@ -804,6 +805,7 @@
<cd:constant name='marginedge' value='bordomargine'/>
<cd:constant name='marginedgetext' value='testobordomargine'/>
<cd:constant name='margintext' value='testomargine'/>
+ <cd:constant name='mark' value='mark'/>
<cd:constant name='marking' value='marcatura'/>
<cd:constant name='marstyle' value='stilemarcatura'/>
<cd:constant name='mask' value='mask'/>
diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml
index 3b427906a..b09d73183 100644
--- a/tex/context/interface/keys-nl.xml
+++ b/tex/context/interface/keys-nl.xml
@@ -636,6 +636,7 @@
<cd:constant name='component' value='component'/>
<cd:constant name='compoundhyphen' value='koppelteken'/>
<cd:constant name='compress' value='comprimeren'/>
+ <cd:constant name='concerns' value='betreft'/>
<cd:constant name='connector' value='connector'/>
<cd:constant name='continue' value='doorgaan'/>
<cd:constant name='contrastcolor' value='contrastkleur'/>
@@ -804,6 +805,7 @@
<cd:constant name='marginedge' value='kantlijn'/>
<cd:constant name='marginedgetext' value='kantlijntekst'/>
<cd:constant name='margintext' value='margetekst'/>
+ <cd:constant name='mark' value='kernmerk'/>
<cd:constant name='marking' value='markering'/>
<cd:constant name='marstyle' value='marletter'/>
<cd:constant name='mask' value='masker'/>
diff --git a/tex/context/interface/keys-pe.xml b/tex/context/interface/keys-pe.xml
index 64bad296e..069de9a1f 100644
--- a/tex/context/interface/keys-pe.xml
+++ b/tex/context/interface/keys-pe.xml
@@ -636,6 +636,7 @@
<cd:constant name='component' value='مولفه'/>
<cd:constant name='compoundhyphen' value='compoundhyphen'/>
<cd:constant name='compress' value='فشردن'/>
+ <cd:constant name='concerns' value='concerns'/>
<cd:constant name='connector' value='connector'/>
<cd:constant name='continue' value='ادامه'/>
<cd:constant name='contrastcolor' value='contrastcolor'/>
@@ -804,6 +805,7 @@
<cd:constant name='marginedge' value='لبه‌حاشیه'/>
<cd:constant name='marginedgetext' value='متن‌لبه‌حاشیه'/>
<cd:constant name='margintext' value='متن‌حاشیه'/>
+ <cd:constant name='mark' value='mark'/>
<cd:constant name='marking' value='نشانه‌گذاری'/>
<cd:constant name='marstyle' value='سبک‌حاش'/>
<cd:constant name='mask' value='mask'/>
diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml
index d23d1b7bc..b16f25e2c 100644
--- a/tex/context/interface/keys-ro.xml
+++ b/tex/context/interface/keys-ro.xml
@@ -636,6 +636,7 @@
<cd:constant name='component' value='component'/>
<cd:constant name='compoundhyphen' value='compoundhyphen'/>
<cd:constant name='compress' value='compress'/>
+ <cd:constant name='concerns' value='concerns'/>
<cd:constant name='connector' value='connector'/>
<cd:constant name='continue' value='continua'/>
<cd:constant name='contrastcolor' value='culoarecontrast'/>
@@ -804,6 +805,7 @@
<cd:constant name='marginedge' value='coltbordura'/>
<cd:constant name='marginedgetext' value='textcoltbordura'/>
<cd:constant name='margintext' value='textmargine'/>
+ <cd:constant name='mark' value='mark'/>
<cd:constant name='marking' value='marcaje'/>
<cd:constant name='marstyle' value='stilmarcaj'/>
<cd:constant name='mask' value='mask'/>
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 5b98b1938..621b9ae0b 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 : 07/24/13 14:11:45
+-- merge date : 07/31/13 20:23:22
do -- begin closure to overcome local limits and interference
@@ -2416,9 +2416,9 @@ function string.booleanstring(str)
end
function string.is_boolean(str,default)
if type(str)=="string" then
- if str=="true" or str=="yes" or str=="on" or str=="t" then
+ if str=="true" or str=="yes" or str=="on" or str=="t" or str=="1" then
return true
- elseif str=="false" or str=="no" or str=="off" or str=="f" then
+ elseif str=="false" or str=="no" or str=="off" or str=="f" or str=="0" then
return false
end
end