summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/attr-col.mkiv62
-rw-r--r--tex/context/base/attr-eff.mkiv15
-rw-r--r--tex/context/base/attr-ini.mkiv48
-rw-r--r--tex/context/base/attr-lay.lua64
-rw-r--r--tex/context/base/attr-lay.mkiv31
-rw-r--r--tex/context/base/colo-ext.mkiv17
-rw-r--r--tex/context/base/colo-ini.mkiv136
-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-version.pdfbin4072 -> 4070 bytes
-rw-r--r--tex/context/base/context-version.pngbin106268 -> 105590 bytes
-rw-r--r--tex/context/base/context.mkii2
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/lpdf-ren.lua72
-rw-r--r--tex/context/base/mult-de.mkii1
-rw-r--r--tex/context/base/mult-def.lua10
-rw-r--r--tex/context/base/mult-en.mkii1
-rw-r--r--tex/context/base/mult-fr.mkii1
-rw-r--r--tex/context/base/mult-it.mkii1
-rw-r--r--tex/context/base/mult-nl.mkii1
-rw-r--r--tex/context/base/mult-pe.mkii1
-rw-r--r--tex/context/base/mult-ro.mkii1
-rw-r--r--tex/context/base/mult-sys.mkiv5
-rw-r--r--tex/context/base/node-bck.mkiv16
-rw-r--r--tex/context/base/page-lay.mkiv2
-rw-r--r--tex/context/base/page-txt.mkvi46
-rw-r--r--tex/context/base/status-files.pdfbin24019 -> 24005 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin169694 -> 169716 bytes
-rw-r--r--tex/context/base/util-str.lua5
-rw-r--r--tex/context/interface/keys-cs.xml1
-rw-r--r--tex/context/interface/keys-de.xml1
-rw-r--r--tex/context/interface/keys-en.xml1
-rw-r--r--tex/context/interface/keys-fr.xml1
-rw-r--r--tex/context/interface/keys-it.xml1
-rw-r--r--tex/context/interface/keys-nl.xml1
-rw-r--r--tex/context/interface/keys-pe.xml1
-rw-r--r--tex/context/interface/keys-ro.xml1
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
38 files changed, 274 insertions, 280 deletions
diff --git a/tex/context/base/attr-col.mkiv b/tex/context/base/attr-col.mkiv
index 268c2d362..47a26df22 100644
--- a/tex/context/base/attr-col.mkiv
+++ b/tex/context/base/attr-col.mkiv
@@ -17,66 +17,6 @@
\unprotect
-% todo: no need for 'color' argument, we can set that once at startup; currently
-% a bit inconsistent
-
-% 1=off 2=gray 3=spot 4=rgb 5=cmyk 6=cmy % only 1/2/4/5 are supported
-%
-% We could combine this in one attribute but this is not faster and also
-% less flexible because sometimes we want to freeze the attribute bit.
-
-% % color (layer on top)
-%
-% \def\dosetcolormodel#1% overloaded later
-% {\ctxcommand{setcolormodel('#1')}} % sets attribute
-%
-% \dosetcolormodel{all}
-%
-% \def\registerrgbcolor#1#2#3#4% not used
-% {\setevalue{(cs:#1)}{\attribute\colorattribute\ctxcommand{registercolor('#1','rgb' ,#2,#3,#4)}}}
-%
-% \def\registercmykcolor#1#2#3#4#5% not used
-% {\setevalue{(cs:#1)}{\attribute\colorattribute\ctxcommand{registercolor('#1','cmyk',#2,#3,#4,#5)}}}
-%
-% \def\registergraycolor#1#2% not used
-% {\setevalue{(cs:#1)}{\attribute\colorattribute\ctxcommand{registercolor('#1','gray',#2)}}}
-
-% % transparency (layer on top)
-%
-% \def\registertransparency#1#2#3%
-% {\setevalue{(ts:#1)}{\attribute\transparencyattribute\ctxcommand{registertransparency(#2,#3)} }}
-%
-% \def\sometransparencyswitch#1%
-% {\csname(ts:#1)\endcsname}
-%
-% \def\sometransparencyswitch
-% {\ctxcommand{enabletransparency()}%
-% \gdef\sometransparencyswitch##1{\csname(ts:##1)\endcsname}%
-% \sometransparencyswitch}
-%
-% \registertransparency {one} {1} {.5}
-% \registertransparency {two} {1} {.6}
-
-% overprint
-
-\def\registercolorintent#1#2%
- {\setevalue{(os:#1)}{\attribute\colorintentattribute\ctxcommand{registercolorintent('#2')} }}
-
-\def\dotriggercolorintent
- {\ctxcommand{enablecolorintents()}%
- \gdef\dotriggercolorintent##1{\csname(os:##1)\endcsname}%
- \dotriggercolorintent}
-
-\registercolorintent{knockout} {knockout}
-\registercolorintent{overprint}{overprint}
-
-\installattributestack\colorintentattribute
-
-\setevalue{(os:#\v!none}{\attribute\colorintentattribute\attributeunsetvalue} % does this work out ok?
+% We implement this elsewhere.
\protect \endinput
-
-% test case
-%
-% {\green \hbox to \hsize{\leaders\hrule \hfill a}\par}
-% {\red \hbox to \hsize{\leaders\hbox{x}\hfill a}\par}
diff --git a/tex/context/base/attr-eff.mkiv b/tex/context/base/attr-eff.mkiv
index c78893307..c5c94537c 100644
--- a/tex/context/base/attr-eff.mkiv
+++ b/tex/context/base/attr-eff.mkiv
@@ -17,21 +17,6 @@
\unprotect
-% \def\registereffect#1#2#3% #2=stretch #3=rulethickness
-% {\setxvalue{(es:#1:#2:\number\dimexpr#3\relax)}% todo: set attribute at lua end
-% {\attribute\effectattribute\ctxcommand{registereffect('#1',#2,\number\dimexpr#3\relax)}\relax}}
-%
-% \def\dotriggereffect
-% {\ctxcommand{enableeffect()}% can then move to caller
-% \gdef\dotriggereffect##1##2##3%
-% {\ifcsname(es:##1:##2:\number\dimexpr##3\relax)\endcsname\else\registereffect{##1}{##2}{##3}\fi
-% \csname(es:##1:##2:\number\dimexpr##3\relax)\endcsname}%
-% \dotriggereffect}
-%
-% \def\registereffect#1#2#3% #2=stretch #3=rulethickness
-% {\setxvalue{(es:#1:#2:\number\dimexpr#3\relax)}% todo: set attribute at lua end
-% {\attribute\effectattribute\ctxcommand{registereffect('#1',#2,\number\dimexpr#3\relax)}\relax}}
-
\gdef\dotriggereffect#1#2#3%
{\ctxcommand{triggereffect('#1',#2,\number\dimexpr#3\relax)}}
diff --git a/tex/context/base/attr-ini.mkiv b/tex/context/base/attr-ini.mkiv
index 1bdd67022..fb98b903e 100644
--- a/tex/context/base/attr-ini.mkiv
+++ b/tex/context/base/attr-ini.mkiv
@@ -21,15 +21,15 @@
\registerctxluafile{attr-ini}{1.001}
-\def\pushattribute#1%
+\unexpanded\def\pushattribute#1%
{\global\advance\csname\??ae:\string#1\endcsname\plusone
\global\expandafter\mathchardef\csname\??ae:\string#1:\number\csname\??ae:\string#1\endcsname\endcsname\attribute#1}
-\def\popattribute#1%
+\unexpanded\def\popattribute#1%
{\attribute#1\csname\??ae:\string#1:\number\csname\??ae:\string#1\endcsname\endcsname
\global\advance\csname\??ae:\string#1\endcsname\minusone}
-\def\installattributestack#1%
+\unexpanded\def\installattributestack#1%
{\expandafter\newcount\csname\??ae:\string#1\endcsname}
\newtoks \attributesresetlist
@@ -38,43 +38,43 @@
\ifdefined \s!public \else \def\s!public{public} \fi % for metatex % or hard check later
\unexpanded\def\defineattribute
- {\dodoubleempty\dodefineattribute}
+ {\dodoubleempty\attributes_define}
-\def\dodefineattribute[#1][#2]% alternatively we can let lua do the housekeeping
- {\expandafter\newattribute\csname @attr@#1\endcsname
- \expandafter\newconstant \csname :attr:#1\endcsname
- \csname :attr:#1\endcsname\last_allocated_attribute
+\def\attributes_define[#1][#2]% alternatively we can let lua do the housekeeping
+ {\expandafter\newattribute\csname\??ae:a:#1\endcsname
+ \expandafter\newconstant \csname\??ae:c:#1\endcsname
+ \csname\??ae:c:#1\endcsname\last_allocated_attribute
\ctxcommand{defineattribute("#1",\number\last_allocated_attribute)}%
- \doifnotinset\s!global{#2}{\appendetoks\csname @attr@#1\endcsname\attributeunsetvalue\to\attributesresetlist}%
- \doifinset \s!public{#2}{\expandafter\let\csname#1attribute\expandafter\endcsname\csname :attr:#1\endcsname}}
+ \doifnotinset\s!global{#2}{\appendetoks\csname\??ae:a:#1\endcsname\attributeunsetvalue\to\attributesresetlist}%
+ \doifinset \s!public{#2}{\expandafter\let\csname#1attribute\expandafter\endcsname\csname\??ae:c:#1\endcsname}}
\unexpanded\def\definesystemattribute
- {\dodoubleempty\dodefinesystemattribute}
+ {\dodoubleempty\attributes_define_system}
-\def\dodefinesystemattribute[#1][#2]% alternatively we can let lua do the housekeeping
+\def\attributes_define_system[#1][#2]% alternatively we can let lua do the housekeeping
{\scratchcounter\ctxcommand{getprivateattribute("#1")}\relax
- \expandafter\attributedef\csname @attr@#1\endcsname\scratchcounter
- \expandafter\newconstant \csname :attr:#1\endcsname
- \csname :attr:#1\endcsname\scratchcounter
+ \expandafter\attributedef\csname\??ae:a:#1\endcsname\scratchcounter
+ \expandafter\newconstant \csname\??ae:c:#1\endcsname
+ \csname\??ae:c:#1\endcsname\scratchcounter
%\writestatus\m!system{defining system attribute #1 with number \number\scratchcounter}%
- \doifnotinset\s!global{#2}{\appendetoks\csname @attr@#1\endcsname\attributeunsetvalue\to\attributesresetlist}%
- \doifinset \s!public{#2}{\expandafter\let\csname#1attribute\expandafter\endcsname\csname :attr:#1\endcsname}}
+ \doifnotinset\s!global{#2}{\appendetoks\csname\??ae:a:#1\endcsname\attributeunsetvalue\to\attributesresetlist}%
+ \doifinset \s!public{#2}{\expandafter\let\csname#1attribute\expandafter\endcsname\csname\??ae:c:#1\endcsname}}
% expandable so we can \edef them for speed
-\def\dosetattribute#1#2{\csname @attr@#1\endcsname#2\relax}
-\def\doresetattribute#1{\csname @attr@#1\endcsname\attributeunsetvalue}
-\def\dogetattribute #1{\number\csname @attr@#1\endcsname}
-\def\dogetattributeid#1{\number\csname :attr:#1\endcsname}
+\def\dosetattribute#1#2{\csname\??ae:a:#1\endcsname#2\relax}
+\def\doresetattribute#1{\csname\??ae:a:#1\endcsname\attributeunsetvalue}
+\def\dogetattribute #1{\number\csname\??ae:a:#1\endcsname}
+\def\dogetattributeid#1{\number\csname\??ae:c:#1\endcsname}
\let\dompattribute\gobbletwoarguments
-\def\resetallattributes{\the\attributesresetlist}
+\unexpanded\def\resetallattributes{\the\attributesresetlist}
%D Rather special.
-\def\savecurrentattributes #1{\ctxcommand{savecurrentattributes ("#1")}}
-\def\restorecurrentattributes#1{\ctxcommand{restorecurrentattributes("#1")}}
+\unexpanded\def\savecurrentattributes #1{\ctxcommand{savecurrentattributes ("#1")}}
+\unexpanded\def\restorecurrentattributes#1{\ctxcommand{restorecurrentattributes("#1")}}
%D For the moment we put this here (later it will move to where it's used):
diff --git a/tex/context/base/attr-lay.lua b/tex/context/base/attr-lay.lua
index e12938fa4..bcdc541f7 100644
--- a/tex/context/base/attr-lay.lua
+++ b/tex/context/base/attr-lay.lua
@@ -98,20 +98,6 @@ local function initializer(...)
return states.initialize(...)
end
-local function register(name,lw) -- if not inimode redefine data[n] in first call
- local stamp = format(template,name)
- local n = registered[stamp]
- if not n then
- n = #values + 1
- values[n] = name
- registered[stamp] = n
- listwise[n] = lw or false
- end
- return registered[stamp] -- == n
-end
-
-viewerlayers.register = register
-
attributes.viewerlayers.handler = nodes.installattributehandler {
name = "viewerlayer",
namespace = viewerlayers,
@@ -120,11 +106,19 @@ attributes.viewerlayers.handler = nodes.installattributehandler {
processor = states.stacked,
}
+local stack, enabled, global = { }, false, false
+
function viewerlayers.enable(value)
if value == false or not viewerlayers.supported then
- tasks.disableaction("shipouts","attributes.viewerlayers.handler")
+ if enabled then
+ tasks.disableaction("shipouts","attributes.viewerlayers.handler")
+ end
+ enabled = false
else
- tasks.enableaction("shipouts","attributes.viewerlayers.handler")
+ if not enabled then
+ tasks.enableaction("shipouts","attributes.viewerlayers.handler")
+ end
+ enabled = true
end
end
@@ -134,16 +128,31 @@ function viewerlayers.forcesupport(value)
viewerlayers.enable(value)
end
+local function register(name,lw) -- if not inimode redefine data[n] in first call
+ if not enabled then
+ viewerlayers.enable(true)
+ end
+ local stamp = format(template,name)
+ local n = registered[stamp]
+ if not n then
+ n = #values + 1
+ values[n] = name
+ registered[stamp] = n
+ listwise[n] = lw or false -- lw forces a used
+ end
+ return registered[stamp] -- == n
+end
+
+viewerlayers.register = register
+
function viewerlayers.setfeatures(hasorder)
viewerlayers.hasorder = hasorder
end
-local stack, enabled, global = { }, false, false
-
function viewerlayers.start(name)
- if not enabled then
- viewerlayers.enable(true)
- end
+-- if not enabled then
+-- viewerlayers.enable(true)
+-- end
insert(stack,texgetattribute(a_viewerlayer))
local a = register(name) or unsetvalue
if global or scopes[name] == v_global then
@@ -188,4 +197,15 @@ function viewerlayers.define(settings)
end
end
-commands.defineviewerlayer = viewerlayers.define
+commands.defineviewerlayer = viewerlayers.define
+commands.startviewerlayer = viewerlayers.start
+commands.stopviewerlayer = viewerlayers.stop
+
+function commands.definedviewerlayer(settings)
+ viewerlayers.define(settings)
+ context(register(settings.tag,true)) -- true forces a use
+end
+
+function commands.registeredviewerlayer(name)
+ context(register(name,true)) -- true forces a use
+end
diff --git a/tex/context/base/attr-lay.mkiv b/tex/context/base/attr-lay.mkiv
index 7dd0e35b9..55f3bcdc8 100644
--- a/tex/context/base/attr-lay.mkiv
+++ b/tex/context/base/attr-lay.mkiv
@@ -15,21 +15,14 @@
\unprotect
-\def\c!printable{printable} % todo
-
\registerctxluafile{attr-lay}{1.001}
% needs to work over stopitemize grouping etc
-\def\registerviewerlayer#1#2% global !
- {\setxvalue{(vl:#1)}{\global\attribute\viewerlayerattribute\ctxlua{tex.write(attributes.viewerlayers.register('#2'))} }}
-
-\setevalue{(vl:)}{\global\attribute\viewerlayerattribute\attributeunsetvalue}
-
-\def\dotriggerviewerlayer % move to lua
- {\ctxlua{attributes.viewerlayers.enable()}%
- \gdef\dotriggerviewerlayer##1{\csname(vl:##1)\endcsname}%
- \dotriggerviewerlayer}
+% \def\registerviewerlayer#1#2% global !
+% {\setxvalue{\??ql:#1}{\global\attribute\viewerlayerattribute\ctxlua{tex.write(attributes.viewerlayers.register('#2'))} }}
+%
+% \setevalue{\??ql:}{\global\attribute\viewerlayerattribute\attributeunsetvalue}
\getparameters
[\??lr]
@@ -58,8 +51,8 @@
\setugvalue{\e!stop #1}{\stopviewerlayer }}%
\endgroup}
-\unexpanded\def\startviewerlayer[#1]{\ctxlua{attributes.viewerlayers.start("#1")}} % not grouped
-\unexpanded\def\stopviewerlayer {\ctxlua{attributes.viewerlayers.stop()}} % not grouped
+\unexpanded\def\startviewerlayer[#1]{\ctxcommand{startviewerlayer("#1")}} % not grouped
+\unexpanded\def\stopviewerlayer {\ctxcommand{stopviewerlayer()}} % not grouped
\unexpanded\def\viewerlayer [#1]{\groupedcommand{\startviewerlayer[#1]}{\stopviewerlayer}} % grouped
% some day we will keep this at the lua end as the info is only needed there
@@ -75,18 +68,18 @@
% layout components are implemented rather directly (speed)
\def\doinitializelayoutcomponent#1%
- {\ctxcommand{defineviewerlayer{% this will move to the lua end i.e be merged with register
+ {\edef\layoutcomponentboxattribute{\ctxcommand{definedviewerlayer{%
tag = "#1",
- title = "#1", % todo: auto remove :
+ title = utilities.strings.nice("#1"), % only here as in steps we have step:<number>
visible = "\v!start",
editable = "\v!yes",
printable = "\v!yes"
- }}%
- \edef\layoutcomponentboxattribute{attr \viewerlayerattribute \ctxlua{tex.write(attributes.viewerlayers.register('#1',true))}\relax}%
- \expandafter\glet\csname\??ly>#1\endcsname\layoutcomponentboxattribute}
+ }}}%
+ \edef\layoutcomponentboxattribute{attr \viewerlayerattribute \layoutcomponentboxattribute\relax}%
+ \expandafter\glet\csname\??ly:a:#1\endcsname\layoutcomponentboxattribute}
\def\dosetlayoutcomponentattribute#1% make this faster
- {\expandafter\let\expandafter\layoutcomponentboxattribute\csname\??ly>#1\endcsname
+ {\expandafter\let\expandafter\layoutcomponentboxattribute\csname\??ly:a:#1\endcsname
\ifx\layoutcomponentboxattribute\relax
\doinitializelayoutcomponent{#1}% get rid of { }
\fi}
diff --git a/tex/context/base/colo-ext.mkiv b/tex/context/base/colo-ext.mkiv
index 688b3d441..6cb02f88b 100644
--- a/tex/context/base/colo-ext.mkiv
+++ b/tex/context/base/colo-ext.mkiv
@@ -41,6 +41,23 @@
%D or independent. For the moment we only support independent overprint
%D handling. Here we deal with a per-document setting.
+%D We can move the stack and attribute setting to the \LUA\ end.
+
+\def\registercolorintent#1#2%
+ {\setevalue{\??qi:#1}{\attribute\colorintentattribute\ctxcommand{registercolorintent('#2')} }}
+
+\def\dotriggercolorintent
+ {\ctxcommand{enablecolorintents()}%
+ \gdef\dotriggercolorintent##1{\csname\??qi:##1\endcsname}%
+ \dotriggercolorintent}
+
+\registercolorintent{knockout} {knockout}
+\registercolorintent{overprint}{overprint}
+
+\installattributestack\colorintentattribute
+
+\setevalue{\??qi:\v!none}{\attribute\colorintentattribute\attributeunsetvalue} % or reset? used at all?
+
\unexpanded\def\startcolorintent[#1]%
{\pushattribute\colorintentattribute
\dotriggercolorintent{#1}}
diff --git a/tex/context/base/colo-ini.mkiv b/tex/context/base/colo-ini.mkiv
index 76bd14f09..f569c4b40 100644
--- a/tex/context/base/colo-ini.mkiv
+++ b/tex/context/base/colo-ini.mkiv
@@ -761,17 +761,17 @@
% : in currentpalet, maybe not, ugly (some day at the lua end)
-\letvalueempty{(cs:-}
-\letvalueempty{(ts:-}
+\letvalueempty{\??qc:-}
+\letvalueempty{\??qt:-}
% \unexpanded\def\doactivatecolor#1% : in currentpalet, maybe not, ugly (some day at the lua end)
% {\edef\currentcolorname{#1}%
-% \ifcsname(cs:\currentpalet\currentcolorname)\endcsname
-% \csname(cs:\currentpalet\currentcolorname)\endcsname
-% \csname(ts:\currentpalet\currentcolorname)\endcsname
-% \else\ifcsname(cs:\currentcolorname)\endcsname
-% \csname(cs:\currentcolorname)\endcsname
-% \csname(ts:\currentcolorname)\endcsname
+% \ifcsname\??qc:\currentpalet\currentcolorname\endcsname
+% \csname\??qc:\currentpalet\currentcolorname\endcsname
+% \csname\??qt:\currentpalet\currentcolorname\endcsname
+% \else\ifcsname\??qc:\currentcolorname\endcsname
+% \csname\??qc:\currentcolorname\endcsname
+% \csname\??qt:\currentcolorname\endcsname
% \fi\fi}
\unexpanded\def\doactivatecolor#1% not that much faster but less tracing
@@ -783,18 +783,18 @@
\fi}
\unexpanded\def\doactivatecolor_yes
- {\ifcsname(cs:\currentpalet\currentcolorname)\endcsname
- \csname(cs:\currentpalet\currentcolorname)\endcsname
- \csname(ts:\currentpalet\currentcolorname)\endcsname
- \else\ifcsname(cs:\currentcolorname)\endcsname
- \csname(cs:\currentcolorname)\endcsname
- \csname(ts:\currentcolorname)\endcsname
+ {\ifcsname\??qc:\currentpalet\currentcolorname\endcsname
+ \csname\??qc:\currentpalet\currentcolorname\endcsname
+ \csname\??qt:\currentpalet\currentcolorname\endcsname
+ \else\ifcsname\??qc:\currentcolorname\endcsname
+ \csname\??qc:\currentcolorname\endcsname
+ \csname\??qt:\currentcolorname\endcsname
\fi\fi}
\unexpanded\def\doactivatecolor_nop
- {\ifcsname(cs:\currentcolorname)\endcsname
- \csname(cs:\currentcolorname)\endcsname
- \csname(ts:\currentcolorname)\endcsname
+ {\ifcsname\??qc:\currentcolorname\endcsname
+ \csname\??qc:\currentcolorname\endcsname
+ \csname\??qt:\currentcolorname\endcsname
\fi}
\let\normaldoactivatecolor\doactivatecolor
@@ -810,12 +810,12 @@
\unexpanded\def\dousecurrentcolorparameter
{\let\currentcolorname\currentcolorparameter % maybe only when success
- \ifcsname(cs:\currentpalet\currentcolorparameter)\endcsname
- \csname(cs:\currentpalet\currentcolorparameter)\endcsname
- \csname(ts:\currentpalet\currentcolorparameter)\endcsname
- \else\ifcsname(cs:\currentcolorparameter)\endcsname
- \csname(cs:\currentcolorparameter)\endcsname
- \csname(ts:\currentcolorparameter)\endcsname
+ \ifcsname\??qc:\currentpalet\currentcolorparameter\endcsname
+ \csname\??qc:\currentpalet\currentcolorparameter\endcsname
+ \csname\??qt:\currentpalet\currentcolorparameter\endcsname
+ \else\ifcsname\??qc:\currentcolorparameter\endcsname
+ \csname\??qc:\currentcolorparameter\endcsname
+ \csname\??qt:\currentcolorparameter\endcsname
\fi\fi}
\let\dosetcolorattribute\dousecolorhashparameter % for a while
@@ -895,18 +895,18 @@
%D define ourselves a color conditional first.
\def\doifcolorelse#1%
- {\ifcsname(ca:\currentpalet#1)\endcsname
+ {\ifcsname\??qa:\currentpalet#1\endcsname
\expandafter\firstoftwoarguments
- \else\ifcsname(ca:#1)\endcsname
+ \else\ifcsname\??qa:#1\endcsname
\doubleexpandafter\firstoftwoarguments
\else
\doubleexpandafter\secondoftwoarguments
\fi\fi}
\def\doifcolor#1%
- {\ifcsname(ca:\currentpalet#1)\endcsname
+ {\ifcsname\??qa:\currentpalet#1\endcsname
\expandafter\firstofoneargument
- \else\ifcsname(ca:#1)\endcsname
+ \else\ifcsname\??qa:#1\endcsname
\doubleexpandafter\firstofoneargument
\else
\doubleexpandafter\gobbleoneargument
@@ -981,60 +981,60 @@
\appendtoks \initializemaintextcolor \to \everyjob
\appendtoks \initializemaintextcolor \to \everysetupcolors
-\def\doinheritdirectcs#1{\csname(cs:\ifcsname(cs:#1)\endcsname#1\fi)\endcsname}
-\def\doinheritdirectca#1{\csname(ca:\ifcsname(ca:#1)\endcsname#1\fi)\endcsname}
-\def\doinheritdirectts#1{\csname(ts:\ifcsname(ts:#1)\endcsname#1\fi)\endcsname}
-\def\doinheritdirectta#1{\csname(ta:\ifcsname(ta:#1)\endcsname#1\fi)\endcsname}
+\def\doinheritdirectcs#1{\csname\??qc:\ifcsname\??qc:#1\endcsname#1\fi\endcsname}
+\def\doinheritdirectca#1{\csname\??qa:\ifcsname\??qa:#1\endcsname#1\fi\endcsname}
+\def\doinheritdirectts#1{\csname\??qt:\ifcsname\??qt:#1\endcsname#1\fi\endcsname}
+\def\doinheritdirectta#1{\csname\??qs:\ifcsname\??qs:#1\endcsname#1\fi\endcsname}
-\def\doinheritpaletca#1#2{\csname(ca:\ifcsname(ca:\??pa#1:#2)\endcsname\??pa#1:#2\fi)\endcsname}
-\def\doinheritpaletcs#1#2{\csname(cs:\ifcsname(cs:\??pa#1:#2)\endcsname\??pa#1:#2\fi)\endcsname}
-\def\doinheritpaletta#1#2{\csname(ta:\ifcsname(ta:\??pa#1:#2)\endcsname\??pa#1:#2\fi)\endcsname}
-\def\doinheritpaletts#1#2{\csname(ts:\ifcsname(ts:\??pa#1:#2)\endcsname\??pa#1:#2\fi)\endcsname}
+\def\doinheritpaletca#1#2{\csname\??qa:\ifcsname\??qa:\??pa#1:#2\endcsname\??pa#1:#2\fi\endcsname}
+\def\doinheritpaletcs#1#2{\csname\??qc:\ifcsname\??qc:\??pa#1:#2\endcsname\??pa#1:#2\fi\endcsname}
+\def\doinheritpaletta#1#2{\csname\??qs:\ifcsname\??qs:\??pa#1:#2\endcsname\??pa#1:#2\fi\endcsname}
+\def\doinheritpaletts#1#2{\csname\??qt:\ifcsname\??qt:\??pa#1:#2\endcsname\??pa#1:#2\fi\endcsname}
\def\dodefinepaletcolor#1#2#3%
{\doifassignmentelse{#3}% \definepalet[test][xx={y=.4}]
{\definecolor[\??pa#1:#2][#3]%
- \dosetcolorvalue{(cs:#1:#2)}{\doinheritpaletca{#1}{#2}}%
- \dosetcolorvalue{(ca:#1:#2)}{\doinheritpaletcs{#1}{#2}}%
- \dosetcolorvalue{(ts:#1:#2)}{\doinheritpaletta{#1}{#2}}%
- \dosetcolorvalue{(ta:#1:#2)}{\doinheritpaletts{#1}{#2}}}
- {\ifcsname(cs:#3)\endcsname % \definepalet[test][xx=green]
- \dosetcolorvalue{(cs:#1:#2)}{\doinheritdirectcs{#3}}%
- \dosetcolorvalue{(ca:#1:#2)}{\doinheritdirectca{#3}}%
- \dosetcolorvalue{(ts:#1:#2)}{\doinheritdirectts{#3}}%
- \dosetcolorvalue{(ta:#1:#2)}{\doinheritdirectta{#3}}%
+ \dosetcolorvalue{\??qc:#1:#2}{\doinheritpaletca{#1}{#2}}%
+ \dosetcolorvalue{\??qa:#1:#2}{\doinheritpaletcs{#1}{#2}}%
+ \dosetcolorvalue{\??qt:#1:#2}{\doinheritpaletta{#1}{#2}}%
+ \dosetcolorvalue{\??qs:#1:#2}{\doinheritpaletts{#1}{#2}}}
+ {\ifcsname\??qc:#3\endcsname % \definepalet[test][xx=green]
+ \dosetcolorvalue{\??qc:#1:#2}{\doinheritdirectcs{#3}}%
+ \dosetcolorvalue{\??qa:#1:#2}{\doinheritdirectca{#3}}%
+ \dosetcolorvalue{\??qt:#1:#2}{\doinheritdirectts{#3}}%
+ \dosetcolorvalue{\??qs:#1:#2}{\doinheritdirectta{#3}}%
\else
% not entered when making format
- \localundefine{(cs:#1:#2)}% \letvalue{(cs:#1:#2)}\undefined
- \localundefine{(ca:#1:#2)}% \letvalue{(ca:#1:#2)}\undefined
- \localundefine{(ts:#1:#2)}% \letvalue{(cs:#1:#2)}\undefined
- \localundefine{(ta:#1:#2)}% \letvalue{(ca:#1:#2)}\undefined
+ \localundefine{\??qc:#1:#2}%
+ \localundefine{\??qa:#1:#2}%
+ \localundefine{\??qt:#1:#2}%
+ \localundefine{\??qs:#1:#2}%
\fi}}
-\setvalue{(cs:)}{} \setvalue{(ca:)}{0}
-\setvalue{(ts:)}{} \setvalue{(ta:)}{0}
+\setvalue{\??qc:}{} \setvalue{\??qa:}{0}
+\setvalue{\??qt:}{} \setvalue{\??qs:}{0}
-\def\doinheritca#1{\csname(ca:\ifcsname(ca:\currentpalet#1)\endcsname\currentpalet#1\else\ifcsname(ca:#1)\endcsname#1\fi\fi)\endcsname}
-\def\doinheritcs#1{\csname(cs:\ifcsname(cs:\currentpalet#1)\endcsname\currentpalet#1\else\ifcsname(cs:#1)\endcsname#1\fi\fi)\endcsname}
-\def\doinheritta#1{\csname(ta:\ifcsname(ta:\currentpalet#1)\endcsname\currentpalet#1\else\ifcsname(ta:#1)\endcsname#1\fi\fi)\endcsname}
-\def\doinheritts#1{\csname(ts:\ifcsname(ts:\currentpalet#1)\endcsname\currentpalet#1\else\ifcsname(ts:#1)\endcsname#1\fi\fi)\endcsname}
+\def\doinheritca#1{\csname\??qa:\ifcsname\??qa:\currentpalet#1\endcsname\currentpalet#1\else\ifcsname\??qa:#1\endcsname#1\fi\fi\endcsname}
+\def\doinheritcs#1{\csname\??qc:\ifcsname\??qc:\currentpalet#1\endcsname\currentpalet#1\else\ifcsname\??qc:#1\endcsname#1\fi\fi\endcsname}
+\def\doinheritta#1{\csname\??qs:\ifcsname\??qs:\currentpalet#1\endcsname\currentpalet#1\else\ifcsname\??qs:#1\endcsname#1\fi\fi\endcsname}
+\def\doinheritts#1{\csname\??qt:\ifcsname\??qt:\currentpalet#1\endcsname\currentpalet#1\else\ifcsname\??qt:#1\endcsname#1\fi\fi\endcsname}
%D Low level defs:
-\def\colordefalc#1#2{\setevalue{(ca:#1)}{#2}\setvalue {(cs:#1)}{\attribute\colorattribute #2 }}
-\def\colordefagc#1#2{\setxvalue{(ca:#1)}{#2}\setgvalue{(cs:#1)}{\attribute\colorattribute #2 }} % was not g
-\def\colordefalt#1#2{\setevalue{(ta:#1)}{#2}\setvalue {(ts:#1)}{\attribute\transparencyattribute#2 }}
-\def\colordefagt#1#2{\setxvalue{(ta:#1)}{#2}\setgvalue{(ts:#1)}{\attribute\transparencyattribute#2 }}
+\def\colordefalc#1#2{\setevalue{\??qa:#1}{#2}\setvalue {\??qc:#1}{\attribute\colorattribute #2 }}
+\def\colordefagc#1#2{\setxvalue{\??qa:#1}{#2}\setgvalue{\??qc:#1}{\attribute\colorattribute #2 }} % was not g
+\def\colordefalt#1#2{\setevalue{\??qs:#1}{#2}\setvalue {\??qt:#1}{\attribute\transparencyattribute#2 }}
+\def\colordefagt#1#2{\setxvalue{\??qs:#1}{#2}\setgvalue{\??qt:#1}{\attribute\transparencyattribute#2 }}
-\def\colordefflc#1#2{\setvalue {(ca:#1)}{\doinheritca{#2}}\setvalue {(cs:#1)}{\doinheritcs{#2}}}
-\def\colordeffgc#1#2{\setgvalue{(ca:#1)}{\doinheritca{#2}}\setvalue {(cs:#1)}{\doinheritcs{#2}}}
-\def\colordefflt#1#2{\setvalue {(ta:#1)}{\doinheritta{#2}}\setvalue {(ts:#1)}{\doinheritts{#2}}}
-\def\colordeffgt#1#2{\setgvalue{(ta:#1)}{\doinheritta{#2}}\setgvalue{(ts:#1)}{\doinheritts{#2}}}
+\def\colordefflc#1#2{\setvalue {\??qa:#1}{\doinheritca{#2}}\setvalue {\??qc:#1}{\doinheritcs{#2}}}
+\def\colordeffgc#1#2{\setgvalue{\??qa:#1}{\doinheritca{#2}}\setvalue {\??qc:#1}{\doinheritcs{#2}}}
+\def\colordefflt#1#2{\setvalue {\??qs:#1}{\doinheritta{#2}}\setvalue {\??qt:#1}{\doinheritts{#2}}}
+\def\colordeffgt#1#2{\setgvalue{\??qs:#1}{\doinheritta{#2}}\setgvalue{\??qt:#1}{\doinheritts{#2}}}
-\def\colordefrlc #1{\localundefine {(ca:#1)}\localundefine {(cs:#1)}}
-\def\colordefrgc #1{\globalundefine{(ca:#1)}\globalundefine{(cs:#1)}}
-\def\colordefrlt #1{\localundefine {(ta:#1)}\localundefine {(ts:#1)}}
-\def\colordefrgt #1{\globalundefine{(ta:#1)}\globalundefine{(ts:#1)}}
+\def\colordefrlc #1{\localundefine {\??qa:#1}\localundefine {\??qc:#1}}
+\def\colordefrgc #1{\globalundefine{\??qa:#1}\globalundefine{\??qc:#1}}
+\def\colordefrlt #1{\localundefine {\??qs:#1}\localundefine {\??qt:#1}}
+\def\colordefrgt #1{\globalundefine{\??qs:#1}\globalundefine{\??qt:#1}}
%D \macros
%D {colorvalue, grayvalue}
@@ -1063,8 +1063,8 @@
\def\MPcolor #1{\ctxcommand{mpcolor(\number\currentcolormodel,\number\doinheritca{#1},\number\doinheritta{#1})}}
\def\MPoptions #1{\ctxcommand{mpoptions(\number\currentcolormodel,\number\doinheritca{#1},\number\doinheritta{#1})}}
-\def\thecolorattribute #1{\number\csname(ca:\ifcsname(ca:\currentpalet#1)\endcsname\currentpalet#1\else\ifcsname(ca:#1)\endcsname#1\fi\fi)\endcsname}
-\def\thetransparencyattribute#1{\number\csname(ta:\ifcsname(ta:\currentpalet#1)\endcsname\currentpalet#1\else\ifcsname(ta:#1)\endcsname#1\fi\fi)\endcsname}
+\def\thecolorattribute #1{\number\csname\??qa:\ifcsname\??qa:\currentpalet#1\endcsname\currentpalet#1\else\ifcsname\??qa:#1\endcsname#1\fi\fi\endcsname}
+\def\thetransparencyattribute#1{\number\csname\??qs:\ifcsname\??qs:\currentpalet#1\endcsname\currentpalet#1\else\ifcsname\??qs:#1\endcsname#1\fi\fi\endcsname}
\def\internalspotcolorname #1{\ctxcommand{spotcolorname(\thecolorattribute{#1})}}
\def\internalspotcolorparent #1{\ctxcommand{spotcolorparent(\thecolorattribute{#1})}}
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index 4e98dde32..d17753ab7 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.12.15 23:39}
+\newcontextversion{2011.12.16 17:07}
%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 a4e0b7497..9828fcf67 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.12.15 23:39}
+\newcontextversion{2011.12.16 17:07}
%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-version.pdf b/tex/context/base/context-version.pdf
index b999615d8..739da779f 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png
index 310a33f3e..f6b70f417 100644
--- a/tex/context/base/context-version.png
+++ b/tex/context/base/context-version.png
Binary files differ
diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii
index b29c046ad..f88dcc041 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.12.15 23:39}
+\edef\contextversion{2011.12.16 17:07}
%D For those who want to use this:
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 62bd4d532..1b39a7e0b 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.12.15 23:39}
+\edef\contextversion{2011.12.16 17:07}
%D For those who want to use this:
diff --git a/tex/context/base/lpdf-ren.lua b/tex/context/base/lpdf-ren.lua
index 4221a8e47..e0c4b1973 100644
--- a/tex/context/base/lpdf-ren.lua
+++ b/tex/context/base/lpdf-ren.lua
@@ -118,42 +118,46 @@ function codeinjections.defineviewerlayer(specification)
end
end
-local function useviewerlayer(name)
- local specification = specifications[name]
- if not environment.initex and specification and not initialized[name] then
- specifications[name] = nil -- or not
- initialized [name] = true
- if not pagelayers then
- pagelayers = pdfdictionary()
- pagelayersreference = pdfreserveobject()
- end
- local tag = specification.tag
- -- todo: reserve
- local nn = pdfreserveobject()
- local nr = pdfreference(nn)
- local nd = pdfdictionary {
- Type = pdf_ocg,
- Name = specification.title or "unknown",
- Intent = ((specification.editable ~= v_no) and pdf_design) or nil, -- disable layer hiding by user
- Usage = ((specification.printable == v_no) and lpdf_usage) or nil, -- printable or not
- }
- cache[#cache+1] = { nn, nd }
- pdfln[tag] = nr -- was n
- local dn = pdfreserveobject()
- local dr = pdfreference(dn)
- local dd = pdfdictionary {
- Type = pdf_ocmd,
- OCGs = pdfarray { nr },
- }
- cache[#cache+1] = { dn, dd }
- pdfld[tag] = dr
- textlayers[#textlayers+1] = nr
- if specification.visible == v_start then
- videlayers[#videlayers+1] = nr
+local function useviewerlayer(name) -- move up so that we can use it as local
+ if not environment.initex and not initialized[name] then
+ local specification = specifications[name]
+ if specification then
+ specifications[name] = nil -- or not
+ initialized [name] = true
+ if not pagelayers then
+ pagelayers = pdfdictionary()
+ pagelayersreference = pdfreserveobject()
+ end
+ local tag = specification.tag
+ -- todo: reserve
+ local nn = pdfreserveobject()
+ local nr = pdfreference(nn)
+ local nd = pdfdictionary {
+ Type = pdf_ocg,
+ Name = specification.title or "unknown",
+ Intent = ((specification.editable ~= v_no) and pdf_design) or nil, -- disable layer hiding by user
+ Usage = ((specification.printable == v_no) and lpdf_usage) or nil, -- printable or not
+ }
+ cache[#cache+1] = { nn, nd }
+ pdfln[tag] = nr -- was n
+ local dn = pdfreserveobject()
+ local dr = pdfreference(dn)
+ local dd = pdfdictionary {
+ Type = pdf_ocmd,
+ OCGs = pdfarray { nr },
+ }
+ cache[#cache+1] = { dn, dd }
+ pdfld[tag] = dr
+ textlayers[#textlayers+1] = nr
+ if specification.visible == v_start then
+ videlayers[#videlayers+1] = nr
+ else
+ hidelayers[#hidelayers+1] = nr
+ end
+ pagelayers[tag] = dr -- check
else
- hidelayers[#hidelayers+1] = nr
+ -- todo: message
end
- pagelayers[tag] = dr -- check
end
end
diff --git a/tex/context/base/mult-de.mkii b/tex/context/base/mult-de.mkii
index 01c98ef8b..079a890f5 100644
--- a/tex/context/base/mult-de.mkii
+++ b/tex/context/base/mult-de.mkii
@@ -881,6 +881,7 @@
\setinterfaceconstant{preview}{vorschau}
\setinterfaceconstant{previous}{vorige}
\setinterfaceconstant{previousnumber}{vorigenummer}
+\setinterfaceconstant{printable}{druckbar}
\setinterfaceconstant{process}{process}
\setinterfaceconstant{profile}{profile}
\setinterfaceconstant{pubsep}{pubsep}
diff --git a/tex/context/base/mult-def.lua b/tex/context/base/mult-def.lua
index 74d2584ac..40339c442 100644
--- a/tex/context/base/mult-def.lua
+++ b/tex/context/base/mult-def.lua
@@ -9470,6 +9470,16 @@ return {
["pe"]="شماره‌قبلی",
["ro"]="numarprecedent",
},
+ ["printable"]={
+ ["cs"]="tisknutelne",
+ ["de"]="druckbar",
+ ["en"]="printable",
+ ["fr"]="editable",
+ ["it"]="stampabile",
+ ["nl"]="printbaar", -- afdrukbaar
+ ["pe"]="قابل‌چاپ",
+ ["ro"]="tiparibil",
+ },
["process"]={
["cs"]="process",
["de"]="process",
diff --git a/tex/context/base/mult-en.mkii b/tex/context/base/mult-en.mkii
index 9610c4b13..70f2cab42 100644
--- a/tex/context/base/mult-en.mkii
+++ b/tex/context/base/mult-en.mkii
@@ -881,6 +881,7 @@
\setinterfaceconstant{preview}{preview}
\setinterfaceconstant{previous}{previous}
\setinterfaceconstant{previousnumber}{previousnumber}
+\setinterfaceconstant{printable}{printable}
\setinterfaceconstant{process}{process}
\setinterfaceconstant{profile}{profile}
\setinterfaceconstant{pubsep}{pubsep}
diff --git a/tex/context/base/mult-fr.mkii b/tex/context/base/mult-fr.mkii
index 62593922e..4d4f3c47e 100644
--- a/tex/context/base/mult-fr.mkii
+++ b/tex/context/base/mult-fr.mkii
@@ -881,6 +881,7 @@
\setinterfaceconstant{preview}{previsualisation}
\setinterfaceconstant{previous}{precedent}
\setinterfaceconstant{previousnumber}{numeroprecedent}
+\setinterfaceconstant{printable}{editable}
\setinterfaceconstant{process}{process}
\setinterfaceconstant{profile}{profile}
\setinterfaceconstant{pubsep}{pubsep}
diff --git a/tex/context/base/mult-it.mkii b/tex/context/base/mult-it.mkii
index de04a8ede..9747dfddc 100644
--- a/tex/context/base/mult-it.mkii
+++ b/tex/context/base/mult-it.mkii
@@ -881,6 +881,7 @@
\setinterfaceconstant{preview}{anteprima}
\setinterfaceconstant{previous}{precedente}
\setinterfaceconstant{previousnumber}{numeroprecedente}
+\setinterfaceconstant{printable}{stampabile}
\setinterfaceconstant{process}{process}
\setinterfaceconstant{profile}{profile}
\setinterfaceconstant{pubsep}{pubsep}
diff --git a/tex/context/base/mult-nl.mkii b/tex/context/base/mult-nl.mkii
index 1cc2a7dd3..9b3e146c8 100644
--- a/tex/context/base/mult-nl.mkii
+++ b/tex/context/base/mult-nl.mkii
@@ -881,6 +881,7 @@
\setinterfaceconstant{preview}{preview}
\setinterfaceconstant{previous}{vorige}
\setinterfaceconstant{previousnumber}{vorigenummer}
+\setinterfaceconstant{printable}{printbaar}
\setinterfaceconstant{process}{proces}
\setinterfaceconstant{profile}{profile}
\setinterfaceconstant{pubsep}{pubsep}
diff --git a/tex/context/base/mult-pe.mkii b/tex/context/base/mult-pe.mkii
index 9244557a8..766ba89a8 100644
--- a/tex/context/base/mult-pe.mkii
+++ b/tex/context/base/mult-pe.mkii
@@ -881,6 +881,7 @@
\setinterfaceconstant{preview}{پیش‌دید}
\setinterfaceconstant{previous}{قبلی}
\setinterfaceconstant{previousnumber}{شماره‌قبلی}
+\setinterfaceconstant{printable}{قابل‌چاپ}
\setinterfaceconstant{process}{پردازش}
\setinterfaceconstant{profile}{profile}
\setinterfaceconstant{pubsep}{pubsep}
diff --git a/tex/context/base/mult-ro.mkii b/tex/context/base/mult-ro.mkii
index 89a4af4f8..3daadd0c8 100644
--- a/tex/context/base/mult-ro.mkii
+++ b/tex/context/base/mult-ro.mkii
@@ -881,6 +881,7 @@
\setinterfaceconstant{preview}{previzualizare}
\setinterfaceconstant{previous}{precendent}
\setinterfaceconstant{previousnumber}{numarprecedent}
+\setinterfaceconstant{printable}{tiparibil}
\setinterfaceconstant{process}{process}
\setinterfaceconstant{profile}{profile}
\setinterfaceconstant{pubsep}{pubsep}
diff --git a/tex/context/base/mult-sys.mkiv b/tex/context/base/mult-sys.mkiv
index 5ae28db77..6c2ef2502 100644
--- a/tex/context/base/mult-sys.mkiv
+++ b/tex/context/base/mult-sys.mkiv
@@ -655,6 +655,11 @@
\definesystemvariable {px} % Parallel
\definesystemvariable {py} % PropertYs
\definesystemvariable {pv} % PublicationVariable
+\definesystemvariable {qi} % colorIntentattribute
+\definesystemvariable {qc} % Colorattribute (cs)
+\definesystemvariable {qt} % Transparencyattribute (ts)
+\definesystemvariable {qa} % Colorattribute (ca)
+\definesystemvariable {qs} % Transparencyattribute (ta)
\definesystemvariable {ra} % RAise
\definesystemvariable {rd} % RenDering
\definesystemvariable {re} % REferenceformat
diff --git a/tex/context/base/node-bck.mkiv b/tex/context/base/node-bck.mkiv
index 50f27aec6..844ffa377 100644
--- a/tex/context/base/node-bck.mkiv
+++ b/tex/context/base/node-bck.mkiv
@@ -44,29 +44,29 @@
\def\backgroundhbox{\doaddbackgroundtobox\hbox}
\def\colorattr#1%
- {\ifcsname(cs:\currentpalet#1)\endcsname
+ {\ifcsname\??qc:\currentpalet#1\endcsname
\thecolorattr{\currentpalet#1}%
- \else\ifcsname(cs:#1)\endcsname
+ \else\ifcsname\??qc:#1\endcsname
\thecolorattr{#1}%
\fi\fi}
\def\thecolorattr#1%
{attr \colormodelattribute \attribute\colormodelattribute
- attr \colorattribute \csname(cs:#1)\endcsname
- attr \transparencyattribute \csname(ts:#1)\endcsname}
+ attr \colorattribute \csname\??qc:#1\endcsname
+ attr \transparencyattribute \csname\??qt:#1\endcsname}
\def\backgroundcolorattr#1%
- {\ifcsname(cs:\currentpalet#1)\endcsname
+ {\ifcsname\??qc:\currentpalet#1\endcsname
\thebackgroundcolorattr{\currentpalet#1}%
- \else\ifcsname(cs:#1)\endcsname
+ \else\ifcsname\??qc:#1\endcsname
\thebackgroundcolorattr{#1}%
\fi\fi}
\def\thebackgroundcolorattr#1%
{attr \backgroundattribute \plusone
attr \colormodelattribute \attribute\colormodelattribute
- attr \colorattribute \csname(cs:#1)\endcsname
- attr \transparencyattribute \csname(ts:#1)\endcsname}
+ attr \colorattribute \csname\??qc:#1\endcsname
+ attr \transparencyattribute \csname\??qt:#1\endcsname}
% \def\backgroundvbox[#1]{\vbox \backgroundcolorattr{#1}}
% \def\backgroundvtop[#1]{\vtop \backgroundcolorattr{#1}}
diff --git a/tex/context/base/page-lay.mkiv b/tex/context/base/page-lay.mkiv
index 68337b937..e30d76245 100644
--- a/tex/context/base/page-lay.mkiv
+++ b/tex/context/base/page-lay.mkiv
@@ -287,7 +287,7 @@
\def\v_page_target_dy {\dimexpr\rootlayouttargetparameter \c!dy \relax}
\def\v_page_target_width {\dimexpr\rootlayouttargetparameter \c!width \relax}
\def\v_page_target_height {\dimexpr\rootlayouttargetparameter \c!height \relax}
-\def\v_page_target_topoffset{\dimexpr\rootlayouttargetparameter \c!topoffset\relax}
+\def\v_page_target_topspace {\dimexpr\rootlayouttargetparameter \c!topspace \relax}
\def\v_page_target_backspace{\dimexpr\rootlayouttargetparameter \c!backspace\relax}
\def\v_page_target_offset {\dimexpr\rootlayouttargetparameter \c!offset \relax}
diff --git a/tex/context/base/page-txt.mkvi b/tex/context/base/page-txt.mkvi
index 7d89f7d8e..86415c6ed 100644
--- a/tex/context/base/page-txt.mkvi
+++ b/tex/context/base/page-txt.mkvi
@@ -52,23 +52,23 @@
\definelayoutelement[\v!footer]
\definelayoutelement[\v!bottom]
-\definelayoutelement[\v!top :\v!text] [\v!text] [\c!lefttext=,\c!middletext=,\c!righttext=]
-\definelayoutelement[\v!header:\v!text] [\v!text] [\c!lefttext=,\c!middletext=,\c!righttext=]
-\definelayoutelement[\v!text :\v!text] [\v!text] [\c!lefttext=,\c!middletext=,\c!righttext=]
-\definelayoutelement[\v!footer:\v!text] [\v!text] [\c!lefttext=,\c!middletext=,\c!righttext=]
-\definelayoutelement[\v!bottom:\v!text] [\v!text] [\c!lefttext=,\c!middletext=,\c!righttext=]
-
-\definelayoutelement[\v!top :\v!margin][\v!margin][\c!lefttext=,\c!middletext=,\c!righttext=]
-\definelayoutelement[\v!header:\v!margin][\v!margin][\c!lefttext=,\c!middletext=,\c!righttext=]
-\definelayoutelement[\v!text :\v!margin][\v!margin][\c!lefttext=,\c!middletext=,\c!righttext=]
-\definelayoutelement[\v!footer:\v!margin][\v!margin][\c!lefttext=,\c!middletext=,\c!righttext=]
-\definelayoutelement[\v!bottom:\v!margin][\v!margin][\c!lefttext=,\c!middletext=,\c!righttext=]
-
-\definelayoutelement[\v!top :\v!edge] [\v!edge] [\c!lefttext=,\c!middletext=,\c!righttext=]
-\definelayoutelement[\v!header:\v!edge] [\v!edge] [\c!lefttext=,\c!middletext=,\c!righttext=]
-\definelayoutelement[\v!text :\v!edge] [\v!edge] [\c!lefttext=,\c!middletext=,\c!righttext=]
-\definelayoutelement[\v!footer:\v!edge] [\v!edge] [\c!lefttext=,\c!middletext=,\c!righttext=]
-\definelayoutelement[\v!bottom:\v!edge] [\v!edge] [\c!lefttext=,\c!middletext=,\c!righttext=]
+\definelayoutelement[\v!top :\v!text] [\v!top ][\c!lefttext=,\c!middletext=,\c!righttext=]
+\definelayoutelement[\v!header:\v!text] [\v!header][\c!lefttext=,\c!middletext=,\c!righttext=]
+\definelayoutelement[\v!text :\v!text] [\v!text ][\c!lefttext=,\c!middletext=,\c!righttext=]
+\definelayoutelement[\v!footer:\v!text] [\v!footer][\c!lefttext=,\c!middletext=,\c!righttext=]
+\definelayoutelement[\v!bottom:\v!text] [\v!bottom][\c!lefttext=,\c!middletext=,\c!righttext=]
+
+\definelayoutelement[\v!top :\v!margin][\v!top ][\c!lefttext=,\c!middletext=,\c!righttext=]
+\definelayoutelement[\v!header:\v!margin][\v!header][\c!lefttext=,\c!middletext=,\c!righttext=]
+\definelayoutelement[\v!text :\v!margin][\v!text ][\c!lefttext=,\c!middletext=,\c!righttext=]
+\definelayoutelement[\v!footer:\v!margin][\v!footer][\c!lefttext=,\c!middletext=,\c!righttext=]
+\definelayoutelement[\v!bottom:\v!margin][\v!bottom][\c!lefttext=,\c!middletext=,\c!righttext=]
+
+\definelayoutelement[\v!top :\v!edge] [\v!top ][\c!lefttext=,\c!middletext=,\c!righttext=]
+\definelayoutelement[\v!header:\v!edge] [\v!header][\c!lefttext=,\c!middletext=,\c!righttext=]
+\definelayoutelement[\v!text :\v!edge] [\v!text ][\c!lefttext=,\c!middletext=,\c!righttext=]
+\definelayoutelement[\v!footer:\v!edge] [\v!footer][\c!lefttext=,\c!middletext=,\c!righttext=]
+\definelayoutelement[\v!bottom:\v!edge] [\v!bottom][\c!lefttext=,\c!middletext=,\c!righttext=]
\unexpanded\def\setuplayouttext
{\dotripleempty\setup_layout_text}
@@ -579,13 +579,13 @@
\def\place_left_edge_layout_element#parameter%
{\edef\currentlayoutelement{\currentlayouttextline:\v!edge}%
- \place_left_edge_layout_element_indeed\leftedgewidth
+ \place_layout_element_indeed\leftedgewidth
{\hss\layoutelementparameter#parameter}%
\hskip\leftedgedistance}
\def\place_left_margin_layout_element#parameter#extrastate%
{\edef\currentlayoutelement{\currentlayouttextline:\v!margin}%
- \place_left_edge_layout_element_indeed\leftmarginwidth
+ \place_layout_element_indeed\leftmarginwidth
{\hbox to \leftmarginwidth{\hss\layoutelementparameter#parameter}%
\ifnum#extrastate=\extra_at_margin_left
\hskip-\leftmarginwidth
@@ -595,7 +595,7 @@
\def\place_text_body_layout_element#left#middle#right#extrastate%
{\edef\currentlayoutelement{\currentlayouttextline:\v!text}%
- \place_left_edge_layout_element_indeed\makeupwidth
+ \place_layout_element_indeed\makeupwidth
{\hbox to \makeupwidth{\ifnum#extrastate=\extra_at_margin_left\place_layout_extra_text_left\fi\layoutelementparameter#left\hss}%
\hskip-\makeupwidth
\hbox to \makeupwidth{\hss\layoutelementparameter#middle\hss}%
@@ -605,7 +605,7 @@
\def\place_right_margin_layout_element#parameter#extrastate%
{\edef\currentlayoutelement{\currentlayouttextline:\v!margin}%
\hskip\rightmargindistance
- \place_left_edge_layout_element_indeed\rightmarginwidth
+ \place_layout_element_indeed\rightmarginwidth
{\hbox to \rightmarginwidth{\layoutelementparameter#parameter\hss}%
\ifnum#extrastate=\extra_at_margin_right
\hskip-\rightmarginwidth
@@ -615,10 +615,10 @@
\def\place_right_edge_layout_element#parameter%
{\edef\currentlayoutelement{\currentlayouttextline:\v!edge}%
\hskip\rightedgedistance
- \place_left_edge_layout_element_indeed\rightedgewidth
+ \place_layout_element_indeed\rightedgewidth
{\layoutelementparameter#parameter\hss}}
-\def\place_left_edge_layout_element_indeed#width#content%
+\def\place_layout_element_indeed#width#content%
{\vbox % to \vsize
{\hsize#1\relax
\layoutelementparameter\c!before
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 36dc476f7..a886a25ac 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 19f8ab2ce..930ea4472 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/util-str.lua b/tex/context/base/util-str.lua
index 13d9b8a63..75cf443fb 100644
--- a/tex/context/base/util-str.lua
+++ b/tex/context/base/util-str.lua
@@ -123,3 +123,8 @@ end
--~ bb
--~ cccccc
--~ ]])
+
+function strings.nice(str)
+ str = gsub(str,"[:%-+_]+"," ") -- maybe more
+ return str
+end
diff --git a/tex/context/interface/keys-cs.xml b/tex/context/interface/keys-cs.xml
index 9a8c04170..963fe5c6e 100644
--- a/tex/context/interface/keys-cs.xml
+++ b/tex/context/interface/keys-cs.xml
@@ -887,6 +887,7 @@
<cd:constant name='preview' value='nahled'/>
<cd:constant name='previous' value='predchozi'/>
<cd:constant name='previousnumber' value='predchozicislo'/>
+ <cd:constant name='printable' value='tisknutelne'/>
<cd:constant name='process' value='process'/>
<cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml
index 17afd73d0..ec36abc0d 100644
--- a/tex/context/interface/keys-de.xml
+++ b/tex/context/interface/keys-de.xml
@@ -887,6 +887,7 @@
<cd:constant name='preview' value='vorschau'/>
<cd:constant name='previous' value='vorige'/>
<cd:constant name='previousnumber' value='vorigenummer'/>
+ <cd:constant name='printable' value='druckbar'/>
<cd:constant name='process' value='process'/>
<cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml
index f256cf061..d7ba6ea65 100644
--- a/tex/context/interface/keys-en.xml
+++ b/tex/context/interface/keys-en.xml
@@ -887,6 +887,7 @@
<cd:constant name='preview' value='preview'/>
<cd:constant name='previous' value='previous'/>
<cd:constant name='previousnumber' value='previousnumber'/>
+ <cd:constant name='printable' value='printable'/>
<cd:constant name='process' value='process'/>
<cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
diff --git a/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml
index 02e8a1acf..8f8bc73ee 100644
--- a/tex/context/interface/keys-fr.xml
+++ b/tex/context/interface/keys-fr.xml
@@ -887,6 +887,7 @@
<cd:constant name='preview' value='previsualisation'/>
<cd:constant name='previous' value='precedent'/>
<cd:constant name='previousnumber' value='numeroprecedent'/>
+ <cd:constant name='printable' value='editable'/>
<cd:constant name='process' value='process'/>
<cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml
index 7e5108f5c..e4a2707df 100644
--- a/tex/context/interface/keys-it.xml
+++ b/tex/context/interface/keys-it.xml
@@ -887,6 +887,7 @@
<cd:constant name='preview' value='anteprima'/>
<cd:constant name='previous' value='precedente'/>
<cd:constant name='previousnumber' value='numeroprecedente'/>
+ <cd:constant name='printable' value='stampabile'/>
<cd:constant name='process' value='process'/>
<cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml
index 896d30984..16853ed49 100644
--- a/tex/context/interface/keys-nl.xml
+++ b/tex/context/interface/keys-nl.xml
@@ -887,6 +887,7 @@
<cd:constant name='preview' value='preview'/>
<cd:constant name='previous' value='vorige'/>
<cd:constant name='previousnumber' value='vorigenummer'/>
+ <cd:constant name='printable' value='printbaar'/>
<cd:constant name='process' value='proces'/>
<cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
diff --git a/tex/context/interface/keys-pe.xml b/tex/context/interface/keys-pe.xml
index af0e47992..9c6d37174 100644
--- a/tex/context/interface/keys-pe.xml
+++ b/tex/context/interface/keys-pe.xml
@@ -887,6 +887,7 @@
<cd:constant name='preview' value='پیش‌دید'/>
<cd:constant name='previous' value='قبلی'/>
<cd:constant name='previousnumber' value='شماره‌قبلی'/>
+ <cd:constant name='printable' value='قابل‌چاپ'/>
<cd:constant name='process' value='پردازش'/>
<cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml
index a4cb10529..ec69be517 100644
--- a/tex/context/interface/keys-ro.xml
+++ b/tex/context/interface/keys-ro.xml
@@ -887,6 +887,7 @@
<cd:constant name='preview' value='previzualizare'/>
<cd:constant name='previous' value='precendent'/>
<cd:constant name='previousnumber' value='numarprecedent'/>
+ <cd:constant name='printable' value='tiparibil'/>
<cd:constant name='process' value='process'/>
<cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 1aceda930..0781e84ec 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 : 12/15/11 23:39:33
+-- merge date : 12/16/11 17:07:02
do -- begin closure to overcome local limits and interference