From a656aad1f74278e65b30bbe7493dcd5b143ffaaa Mon Sep 17 00:00:00 2001 From: Marius Date: Fri, 16 Dec 2011 18:20:15 +0200 Subject: beta 2011.12.16 17:07 --- tex/context/base/attr-col.mkiv | 62 +--------- tex/context/base/attr-eff.mkiv | 15 --- tex/context/base/attr-ini.mkiv | 48 ++++---- tex/context/base/attr-lay.lua | 64 ++++++---- tex/context/base/attr-lay.mkiv | 31 ++--- tex/context/base/colo-ext.mkiv | 17 +++ tex/context/base/colo-ini.mkiv | 136 ++++++++++----------- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4072 -> 4070 bytes tex/context/base/context-version.png | Bin 106268 -> 105590 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/lpdf-ren.lua | 72 +++++------ tex/context/base/mult-de.mkii | 1 + tex/context/base/mult-def.lua | 10 ++ tex/context/base/mult-en.mkii | 1 + tex/context/base/mult-fr.mkii | 1 + tex/context/base/mult-it.mkii | 1 + tex/context/base/mult-nl.mkii | 1 + tex/context/base/mult-pe.mkii | 1 + tex/context/base/mult-ro.mkii | 1 + tex/context/base/mult-sys.mkiv | 5 + tex/context/base/node-bck.mkiv | 16 +-- tex/context/base/page-lay.mkiv | 2 +- tex/context/base/page-txt.mkvi | 46 +++---- tex/context/base/status-files.pdf | Bin 24019 -> 24005 bytes tex/context/base/status-lua.pdf | Bin 169694 -> 169716 bytes tex/context/base/util-str.lua | 5 + tex/context/interface/keys-cs.xml | 1 + tex/context/interface/keys-de.xml | 1 + tex/context/interface/keys-en.xml | 1 + tex/context/interface/keys-fr.xml | 1 + tex/context/interface/keys-it.xml | 1 + tex/context/interface/keys-nl.xml | 1 + tex/context/interface/keys-pe.xml | 1 + tex/context/interface/keys-ro.xml | 1 + tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 38 files changed, 274 insertions(+), 280 deletions(-) (limited to 'tex') 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: 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 ba3d4190b..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.16 13:54} +\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 dd7aa3d8b..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.16 13:54} +\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 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png index 310a33f3e..f6b70f417 100644 Binary files a/tex/context/base/context-version.png and b/tex/context/base/context-version.png differ diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii index 5c091f13b..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.16 13:54} +\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 edd36eb95..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.16 13:54} +\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 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index 19f8ab2ce..930ea4472 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf 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 @@ + 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 @@ + 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 @@ + 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 @@ + 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 @@ + 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 @@ + 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 @@ + 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 @@ + diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 721822f6c..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/16/11 13:54:31 +-- merge date : 12/16/11 17:07:02 do -- begin closure to overcome local limits and interference -- cgit v1.2.3