From 2527b228386c22af57e3d72a739c74930fd09eb6 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Tue, 15 Sep 2009 12:27:00 +0200 Subject: beta 2009.09.15 12:27 --- tex/context/base/attr-ini.lua | 34 ++++++------ tex/context/base/attr-ini.mkiv | 37 +++++++++---- tex/context/base/back-pdf.lua | 7 ++- tex/context/base/bibl-tra.mkiv | 8 +-- tex/context/base/chem-ini.mkiv | 2 +- tex/context/base/colo-ext.mkii | 10 ++-- tex/context/base/colo-ext.mkiv | 35 +++++++++--- tex/context/base/colo-ini.mkiv | 26 +++++---- tex/context/base/cont-new.tex | 2 +- tex/context/base/context.tex | 2 +- tex/context/base/core-env.mkiv | 84 ----------------------------- tex/context/base/core-spa.mkiv | 43 +++------------ tex/context/base/math-ali.mkiv | 6 ++- tex/context/base/math-ini.mkiv | 5 ++ tex/context/base/mult-cld.lua | 36 +++++++++---- tex/context/base/mult-de.tex | 2 +- tex/context/base/mult-def.lua | 13 ++--- tex/context/base/mult-en.tex | 2 +- tex/context/base/mult-fr.tex | 2 +- tex/context/base/mult-it.tex | 2 +- tex/context/base/mult-nl.tex | 2 +- tex/context/base/mult-ro.tex | 2 +- tex/context/base/mult-sys.tex | 1 + tex/context/base/page-mak.mkiv | 4 +- tex/context/base/prop-mis.mkiv | 40 ++++++-------- tex/context/base/s-pre-60.tex | 2 +- tex/context/base/strc-ref.lua | 6 +-- tex/context/base/strc-ref.mkiv | 32 ++++++----- tex/context/base/task-ini.lua | 2 +- tex/context/bib/t-bib.tex | 4 +- tex/context/interface/cont-cs.xml | 5 ++ tex/context/interface/cont-de.xml | 5 ++ tex/context/interface/cont-en.xml | 5 ++ tex/context/interface/cont-fr.xml | 5 ++ tex/context/interface/cont-it.xml | 5 ++ tex/context/interface/cont-nl.xml | 5 ++ tex/context/interface/cont-pe.xml | 5 ++ tex/context/interface/cont-ro.xml | 5 ++ tex/context/interface/keys-cs.xml | 2 +- tex/context/interface/keys-de.xml | 2 +- tex/context/interface/keys-en.xml | 2 +- tex/context/interface/keys-fr.xml | 2 +- tex/context/interface/keys-it.xml | 2 +- tex/context/interface/keys-nl.xml | 2 +- tex/context/interface/keys-pe.xml | 2 +- tex/context/interface/keys-ro.xml | 2 +- tex/generic/context/luatex-fonts-merged.lua | 2 +- 47 files changed, 253 insertions(+), 258 deletions(-) (limited to 'tex') diff --git a/tex/context/base/attr-ini.lua b/tex/context/base/attr-ini.lua index 4e3b52e1d..100743c91 100644 --- a/tex/context/base/attr-ini.lua +++ b/tex/context/base/attr-ini.lua @@ -336,24 +336,24 @@ shipouts.handle_transparency = nodes.install_attribute_handler { processor = states.process, } ---- overprint / knockout +--- colorintents: overprint / knockout -overprints = overprints or { } -overprints.data = overprints.data or { } -overprints.enabled = false -overprints.attribute = attributes.private('overprint') +colorintents = colorintents or { } +colorintents.data = colorintents.data or { } +colorintents.enabled = false +colorintents.attribute = attributes.private('colorintent') -overprints.registered = { +colorintents.registered = { overprint = 1, knockout = 2, } -local data, registered = overprints.data, overprints.registered +local data, registered = colorintents.data, colorintents.registered -local function extender(overprints,key) +local function extender(colorintents,key) if key == "none" then local d = data[2] - overprints.none = d + colorintents.none = d return d end end @@ -370,21 +370,23 @@ local function reviver(data,n) end end -setmetatable(overprints, { __index = extender }) -setmetatable(overprints.data, { __index = reviver }) +setmetatable(colorintents, { __index = extender }) +setmetatable(colorintents.data, { __index = reviver }) -function overprints.register(stamp) +function colorintents.register(stamp) return registered[stamp] or registered.overprint end -shipouts.handle_overprint = nodes.install_attribute_handler { - name = "overprint", - namespace = overprints, +shipouts.handle_colorintent = nodes.install_attribute_handler { + name = "colorintent", + namespace = colorintents, initializer = states.initialize, finalizer = states.finalize, processor = states.process, } +local s = shipouts.handle_colorintent + --- negative / positive negatives = negatives or { } @@ -463,7 +465,7 @@ end local function reviver(data,n) local e = values[n] -- we could nil values[n] now but hardly needed - local d = effect(v[1],v[2],v[3]) + local d = effect(e[1],e[2],e[3]) data[n] = d return d end diff --git a/tex/context/base/attr-ini.mkiv b/tex/context/base/attr-ini.mkiv index b90d4976b..49a109e7d 100644 --- a/tex/context/base/attr-ini.mkiv +++ b/tex/context/base/attr-ini.mkiv @@ -20,6 +20,21 @@ \registerctxluafile{attr-ini}{1.001} +%D This might move: + +\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% + {\attribute#1\csname\??ae:\string#1:\number\csname\??ae:\string#1\endcsname\endcsname + \global\advance\csname\??ae:\string#1\endcsname\minusone} + +\def\installattributestack#1% + {\expandafter\newcount\csname\??ae:\string#1\endcsname} + +%D For the moment we put this here (later it will move to where it's used): + \definesystemattribute[state] \definesystemattribute[skip] \definesystemattribute[penalty] @@ -27,7 +42,7 @@ \definesystemattribute[color] \chardef\colorattribute \dogetattributeid{color} \definesystemattribute[transparency] \chardef\transparencyattribute \dogetattributeid{transparency} \definesystemattribute[background] \chardef\backgroundattribute \dogetattributeid{background} -\definesystemattribute[overprint] +\definesystemattribute[colorintent] \chardef\colorintentattribute \dogetattributeid{colorintent} \definesystemattribute[negative] \definesystemattribute[effect] \definesystemattribute[viewerlayer] \chardef\viewerlayerattribute \dogetattributeid{viewerlayer} @@ -84,16 +99,20 @@ % overprint -\def\registeroverprint#1#2% - {\setevalue{(os:#1)}{\dosetattribute{overprint}{\ctxlua{tex.print(overprints.register('#2'))}}}} +\def\registercolorintent#1#2% + {\setevalue{(os:#1)}{\dosetattribute{colorintent}{\ctxlua{tex.print(colorintents.register('#2'))}}}} + +\def\dotriggercolorintent + {\ctxlua{colorintents.enabled=true}% + \gdef\dotriggercolorintent##1{\csname(os:##1)\endcsname}% + \dotriggercolorintent} + +\registercolorintent{knockout} {knockout} +\registercolorintent{overprint}{overprint} -\def\dotriggeroverprint - {\ctxlua{overprints.enabled=true}% - \gdef\dotriggeroverprint##1{\csname(os:##1)\endcsname}% - \dotriggeroverprint} +\installattributestack\colorintentattribute -\registeroverprint{knockout} {knockout} -\registeroverprint{overprint}{overprint} +\setevalue{(os:#\v!none}{\doresetattribute{colorintent}} % does this work out ok? % negative diff --git a/tex/context/base/back-pdf.lua b/tex/context/base/back-pdf.lua index 52151aa6e..e3e3ebcda 100644 --- a/tex/context/base/back-pdf.lua +++ b/tex/context/base/back-pdf.lua @@ -21,8 +21,7 @@ local concat = table.concat local round = math.round local utfcharacters, utfvalues = string.utfcharacters, string.utfvalues local texsprint, texwrite = tex.sprint, tex.write - -ctxcatcodes = tex.ctxcatcodes +local ctxcatcodes = tex.ctxcatcodes local copy_node = node.copy @@ -72,9 +71,9 @@ local effects = { hidden = 3, } -function nodeinjections.effect(stretch,rulethickness,effect) +function nodeinjections.effect(effect,stretch,rulethickness) -- always, no zero test (removed) - rulethickness = number.dimenfactors["bp"]*rulethickness + rulethickness = number.dimenfactors["bp"] * rulethickness effect = effects[effect] or effects['normal'] return register(pdfliteral(format("%s Tc %s w %s Tr",stretch,rulethickness,effect))) -- watch order end diff --git a/tex/context/base/bibl-tra.mkiv b/tex/context/base/bibl-tra.mkiv index 4dff006b5..13ef316b8 100644 --- a/tex/context/base/bibl-tra.mkiv +++ b/tex/context/base/bibl-tra.mkiv @@ -53,7 +53,7 @@ %D \item added headtext for it (23/11/2005) %D \item make \type{\cite[url]} and \type{\cite[doi]} interactive (23/11/2005) %D \item make right-aligned labels in the list work even when autohang=no -%D \item use 'et al.' instead of 'et.al.'. Pointed out by Peter M�nster (30/12/2005) +%D \item use 'et al.' instead of 'et.al.'. Pointed out by Peter M\"unster (30/12/2005) %D \item added headtext for cz (31/12/2005) %D \item Keep whitespace after \type{\cite} with single argument (31/12/2005) %D \item Fix broken \type{\cite{}} support (31/12/2005) @@ -123,7 +123,7 @@ %D Thomas Schmitz (15/9/2006) %D \item Removed some spurious spaces pointed out by willi egger (19/9/2006) %D \item Add configuration of bibtex executable name (4/11/2006) -%D \item Fix numbering=short and numbering=bib (spotted by Matthias W�chter) (4/11/2006) +%D \item Fix numbering=short and numbering=bib (spotted by Matthias W\"achter) (4/11/2006) %D \item third attempt to get a correct release (5/11/2006) %D \item fix a few missing dots in bibl-num.tex (7/12/2006) %D \item Patch for DOI's by Tobias Burnus (17/4/2007) @@ -161,8 +161,8 @@ %D to the latest \CONTEXT. Change some names in order to avoid conflicts %D with existing core names (like \type {\insertpages}). %D \item All constants, variables, message etc.\ are now in the core. -%D \item Added: method=local|global (when global, previous shown entries are -%D not shown again. +%D \item Added key: \type {method} (when \type {global}, previous shown entries are +%D not shown again, when \type {local} they are repeated). %D \stopitemize %D %D \subject{WISHLIST} diff --git a/tex/context/base/chem-ini.mkiv b/tex/context/base/chem-ini.mkiv index da240dbac..5184fe1a7 100644 --- a/tex/context/base/chem-ini.mkiv +++ b/tex/context/base/chem-ini.mkiv @@ -17,7 +17,7 @@ \unprotect %D \macros -%D {\molecule} +%D {molecule} %D %D Quick and dirty: %D diff --git a/tex/context/base/colo-ext.mkii b/tex/context/base/colo-ext.mkii index 06facd34e..473c010e0 100644 --- a/tex/context/base/colo-ext.mkii +++ b/tex/context/base/colo-ext.mkii @@ -42,12 +42,14 @@ %D handling. Here we deal with a per-document setting. \setupcolors - [\c!overprint=\v!no] + [\c!intent=\v!none] \def\starttextoverprint - {\doifelse\@@cloverprint\v!yes - {\let\stoptextoverprint\dostopoverprint\dostartoverprint} - {\let\stoptextoverprint\donothing}} + {\doifelse\@@clintent\v!overprint + {\glet\stoptextoverprint \dostopoverprint + \glet\starttextoverprint\dostartoverprint + \dostartoverprint} + {\glet\stoptextoverprint\donothing}} \let\stoptextoverprint\donothing diff --git a/tex/context/base/colo-ext.mkiv b/tex/context/base/colo-ext.mkiv index 1c1f0d1af..074a0130e 100644 --- a/tex/context/base/colo-ext.mkiv +++ b/tex/context/base/colo-ext.mkiv @@ -41,17 +41,38 @@ %D or independent. For the moment we only support independent overprint %D handling. Here we deal with a per-document setting. +\unexpanded\def\startcolorintent[#1]% + {\pushattribute\colorintentattribute + \dotriggercolorintent{#1}} + +\unexpanded\def\stopcolorintent + {\popattribute\colorintentattribute} + +\unexpanded\def\startoverprint{\startcolorintent[\v!overprint]} +\unexpanded\def\stopoverprint {\stopcolorintent} + +\unexpanded\def\startknockout {\startcolorintent[\v!knockout ]} +\unexpanded\def\stopknockout {\stopcolorintent} + +\let\starttextcolorintent\relax +\let\stoptextcolorintent \relax + \setupcolors [\c!overprint=\v!no] -\def\starttextoverprint - {\doifelse\@@cloverprint\v!yes - {\let\stoptextoverprint\stopoverprintproperty\startoverprintproperty} - {\let\stoptextoverprint\donothing}} +\appendtoks + \dosettextcolorintent +\to \everysetupcolors + +\def\dosettextcolorintent + {\doifnot\@@clintent\v!none + {\xdef\starttextcolorintent{\noexpand\dotriggercolorintent{\@@clintent}}% + \glet\dosettextcolorintent\relax + \dotriggercolorintent\@@clintent}} -\let\stoptextoverprint\donothing +\appendtoks \starttextcolorintent \to \everystarttextproperties +\appendtoks \stoptextcolorintent \to \everystoptextproperties -\appendtoks \starttextoverprint \to \everystarttextproperties -\appendtoks \stoptextoverprint \to \everystoptextproperties +\setupcolors[\c!intent=\v!none] \protect \endinput diff --git a/tex/context/base/colo-ini.mkiv b/tex/context/base/colo-ini.mkiv index e7a849805..3890a77df 100644 --- a/tex/context/base/colo-ini.mkiv +++ b/tex/context/base/colo-ini.mkiv @@ -221,6 +221,8 @@ \let\showcolormessage\gobblethreearguments +\newtoks\everysetupcolors + \def\dosetupcolors[#1]% some no longer make sense in MkIV {\getparameters[\??cl][#1]% \doifelse\@@clspot\v!yes @@ -273,7 +275,7 @@ {\incolorfalse\forcegrayMPcolorstrue}% {\ifincolor\else\showcolormessage\m!colors1\colorstyle\fi\incolortrue\let\@@clstate\v!start}% \dosetupcolormodel - \initializemaintextcolor} + \the\everysetupcolors} %D In this documentation we will not go into too much details %D on palets. Curious users can find more information on this @@ -874,15 +876,18 @@ \def\defaulttextcolor {black} \def\@@themaintextcolor{themaintextcolor} -\appendtoks\deactivatecolor\to\everybeforeoutput - -\def\startregistercolor[#1]% probably obsolete - {\doifelsenothing{#1} - {\let\stopregistercolor\relax} - {\edef\stopregistercolor - {\dosetattribute\s!color {\dogetattribute\s!color }% - \dosetattribute\s!transparency{\dogetattribute\s!transparency}}% - \doactivatecolor{#1}}} +\appendtoks + \deactivatecolor + \ifx\maintextcolor\empty\else\doactivatecolor\maintextcolor\fi +\to \everybeforeoutput + +% \def\startregistercolor[#1]% probably obsolete +% {\doifelsenothing{#1} +% {\let\stopregistercolor\relax} +% {\edef\stopregistercolor +% {\dosetattribute\s!color {\dogetattribute\s!color }% +% \dosetattribute\s!transparency{\dogetattribute\s!transparency}}% +% \doactivatecolor{#1}}} \def\registermaintextcolor{\ctxlua{colors.main = \thecolorattribute\maintextcolor}} @@ -904,6 +909,7 @@ \registermaintextcolor} \appendtoks \initializemaintextcolor \to \everyjob +\appendtoks \initializemaintextcolor \to \everysetupcolors \def\dodefinepaletcolor#1#2#3% {\doifassignmentelse{#3}% \definepalet[test][xx={y=.4}] diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex index 76599f6d4..1379af14b 100644 --- a/tex/context/base/cont-new.tex +++ b/tex/context/base/cont-new.tex @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2009.09.13 14:24} +\newcontextversion{2009.09.15 12:27} %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.tex b/tex/context/base/context.tex index 0e8e16e7d..4124f5924 100644 --- a/tex/context/base/context.tex +++ b/tex/context/base/context.tex @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2009.09.13 14:24} +\edef\contextversion{2009.09.15 12:27} %D For those who want to use this: diff --git a/tex/context/base/core-env.mkiv b/tex/context/base/core-env.mkiv index c97987268..72f7278d8 100644 --- a/tex/context/base/core-env.mkiv +++ b/tex/context/base/core-env.mkiv @@ -243,90 +243,6 @@ \dodoglobal\letbeundefined{\??su:#1}% \fi} -%D \defineshortcut [style=type] -%D \defineshortcut [b] [style=bold] -%D \defineshortcut [e] [style=\em] -%D \defineshortcut [t] [style=type] -%D \defineshortcut [c] [style=cap] -%D \defineshortcut [k] [style=cap] -%D \defineshortcut [u] [style=type,command=\hyphenatedurl] -%D -%D \startlines -%D test test -%D test test -%D test test -%D test test -%D zus<>zo zus<:>zo zus<::>zo -%D test test dat (ziezo) -%D test test dat (:ziezo) -%D test test dat (ziezo:) -%D test test dat (zi:ezo:) -%D well, looks fuzzy -%D $10<20$ -%D \stoplines -%D -%D \defineshortcut [<>] [i] [style=\it] -%D \defineshortcut [()] [b] [style=\bf] -%D \defineshortcut [++] [s] [style=\sl] -%D \defineshortcut [//] [u] [style=\underbars] -%D \defineshortcut [--] [a] [style=\overstrike] -%D -%D \startlines -%D it seems well -%D it seems (b:to work) well -%D it seems +s:to work+ well -%D it seems /u:to work/ well -%D it seems -a:to work- well -%D \stoplines - -\def\defineshortcut - {\dotripleargument\dodefineshortcut} - -\def\dodefineshortcut[#1][#2][#3]% - {\ifthirdargument - \doifelsenothing{#1} - {\dododefineshortcut[<>][#2][#3]} - {\dododefineshortcut[#1][#2][#3]}% - \else\ifsecondargument - \dododefineshortcut[<>][#1][#2]% - \else - \dododefineshortcut[<>][][#1]% - \fi\fi} - -\def\dododefineshortcut[#1#2][#3][#4]% #1 is the trigger, #2 the delimiter/tag - {\doifundefined{\??te\??te\string#2}{\letvalue{\??te\??te\string#2}=#1}% - \defineactivecharacter #1 {\@EA\doshortcut\string#2} % we need to deactivate in math - \getparameters - [\??te\string#2#3] - [\c!commands=,\c!command=,\c!style=,\c!color=,#4]} - -\def\doshortcut#1% - {\ifmmode - \getvalue{\??te\??te#1}% - \else - \bgroup - \catcode`#1=\@@other - \def\dodoshortcut##1#1% - {\def\shorttag{\??te#1}% - \def\shortcut{##1}% - \dododoshortcut##1:\end}% - \@EA\dodoshortcut - \fi} - -\def\dododoshortcut#1:#2\end - {\doifelsenothing{#2} - {\doifundefinedelse{\shorttag\c!commands} - {\shortcut} - {\@EA\dodododoshortcut\@EA\shorttag\@EA:\shortcut:\end}} - {\doifundefinedelse{\shorttag#1\c!commands} - {\shortcut} - {\dodododoshortcut\shorttag#1:#2\end}}% - \egroup} - -\def\dodododoshortcut#1:#2:\end - {\getvalue{#1\c!commands}% - \doattributes{#1}\c!style\c!color{\getvalue{#1\c!command}{#2}}} - %D \macros %D {setvariables,getvariable,getvariabledefault} %D diff --git a/tex/context/base/core-spa.mkiv b/tex/context/base/core-spa.mkiv index 5d7836f5b..2b17cad11 100644 --- a/tex/context/base/core-spa.mkiv +++ b/tex/context/base/core-spa.mkiv @@ -937,60 +937,33 @@ %D \setuptyping [indentnext=auto] %D \setupformulas[indentnext=auto] %D -%D \input tufte -%D -%D \startitemize -%D \item itemize -%D \stopitemize -%D \input tufte -%D -%D \startitemize -%D \item itemize -%D \stopitemize -%D -%D \input tufte -%D -%D \startitemize -%D \item itemize -%D \stopitemize +%D \input tufte \startitemize \item itemize \stopitemize +%D \input tufte \startitemize \item itemize \stopitemize +%D \input tufte \startitemize \item itemize \stopitemize %D %D \page %D %D \input tufte -%D %D \starttyping %D verbatim %D \stoptyping -%D \input tufte %D +%D \input tufte %D \starttyping %D verbatim %D \stoptyping %D %D \input tufte -%D %D \starttyping %D verbatim %D \stoptyping %D %D \page %D -%D \input tufte -%D -%D \startformula -%D a = b -%D \stopformula -%D \input tufte -%D -%D \startformula -%D a = b -%D \stopformula -%D -%D \input tufte -%D -%D \startformula -%D a = b -%D \stopformula +%D \input tufte \startformula a = b \stopformula +%D \input tufte \startformula a = b \stopformula +%D \input tufte \startformula a = b \stopformula +%D \stoptyping %D \macros diff --git a/tex/context/base/math-ali.mkiv b/tex/context/base/math-ali.mkiv index 1279126b5..2ef77c6a8 100644 --- a/tex/context/base/math-ali.mkiv +++ b/tex/context/base/math-ali.mkiv @@ -19,7 +19,7 @@ %D \MKIV\ code is not gathered in files with the same name. %D \macros -%D {\definemathalignment, setupmathalignment, startmathalignment} +%D {definemathalignment, setupmathalignment, startmathalignment} %D %D Modules may provide additional alignment features. The following %D mechanisms are provided by the core. @@ -849,7 +849,7 @@ %D \stopformula %D \stopbuffer %D -%D \typebuffer \getbuffer +%D \typebuffer % does not run well: \getbuffer %D \macros %D {startintertext} @@ -940,6 +940,8 @@ %D \text{ and } %D \sum_{\scriptstyle a \atop \scriptstyle} %D \stopformula +%D \stopbuffer +%D %D \typebuffer which gives \getbuffer \def\startsubstack diff --git a/tex/context/base/math-ini.mkiv b/tex/context/base/math-ini.mkiv index 0d01b0e7a..bb561a483 100644 --- a/tex/context/base/math-ini.mkiv +++ b/tex/context/base/math-ini.mkiv @@ -29,6 +29,11 @@ \ifx\v!compact\undefined \def\v!compact{compact} \fi +%D New: + +\let\startimath\Ustartmath \let\stopimath \Ustopmath +\let\startdmath\Ustartdisplaymath \let\stopdmath \Ustopmath + %D We move these definitions into the format: % test [[\char948 \ctxlua{tex.sprint(utf.char(948))}]] diff --git a/tex/context/base/mult-cld.lua b/tex/context/base/mult-cld.lua index 10ca5e1d2..257921cb1 100644 --- a/tex/context/base/mult-cld.lua +++ b/tex/context/base/mult-cld.lua @@ -19,11 +19,15 @@ context = context or { } local format, concat = string.format, table.concat local next, type = next, type -local texsprint, texiowrite = tex.sprint, texio.write +local texsprint, texiowrite, ctxcatcodes = tex.sprint, texio.write, tex.ctxcatcodes local flush = texsprint local cache +function tex.fprint(...) -- goodie + texsprint(ctxcatcodes,format(...)) +end + local function cached_flush(c,...) local tt = { ... } for i=1,#tt do @@ -31,6 +35,17 @@ local function cached_flush(c,...) end end +function context.trace(intercept) + local normalflush = flush + flush = function(c,...) + logs.report("context",concat({...})) + if not intercept then + normalflush(c,...) + end + end + context.trace = function() end +end + local function writer(k,...) flush(ctxcatcodes,k) local t = { ... } @@ -38,21 +53,24 @@ local function writer(k,...) for i=1,#t do local ti = t[i] local typ, force = type(ti), nil + local saved_flush = flush + flush = cached_flush while typ == "function" do - local saved_flush = flush cache = { } - flush = cached_flush ti, force = ti() if force then typ = false -- force special cases - elseif typ == "nil" then - typ = "string" - ti = concat(cache) - elseif typ == "string" then - ti = concat(cache) + else + typ = type(ti) + if typ == "nil" then + typ = "string" + ti = concat(cache) + elseif typ == "string" then + ti = concat(cache) + end end - flush = saved_flush end + flush = saved_flush if ti == nil then -- next elseif typ == "string" or typ == "number" then diff --git a/tex/context/base/mult-de.tex b/tex/context/base/mult-de.tex index d5a1a400a..ea3644751 100644 --- a/tex/context/base/mult-de.tex +++ b/tex/context/base/mult-de.tex @@ -679,6 +679,7 @@ \setinterfaceconstant{inner}{innen} \setinterfaceconstant{innermargin}{innermargin} \setinterfaceconstant{inputfile}{inputfile} +\setinterfaceconstant{intent}{intent} \setinterfaceconstant{interaction}{interaktion} \setinterfaceconstant{interlinespace}{zeilenabstande} \setinterfaceconstant{itemalign}{itemalign} @@ -935,7 +936,6 @@ \setinterfaceconstant{textlayer}{textlayer} \setinterfaceconstant{textmargin}{textmargin} \setinterfaceconstant{textmethod}{textmethod} -\setinterfaceconstant{textoverprint}{textoverprint} \setinterfaceconstant{textseparator}{textseparator} \setinterfaceconstant{textsize}{textgroesse} \setinterfaceconstant{textstate}{textstatus} diff --git a/tex/context/base/mult-def.lua b/tex/context/base/mult-def.lua index 4ec4b154f..20438a484 100644 --- a/tex/context/base/mult-def.lua +++ b/tex/context/base/mult-def.lua @@ -7183,6 +7183,9 @@ return { ["pe"]="رنگ", ["ro"]="culoare", }, + ["intent"]={ + ["en"]="intent", + }, ["column"]={ ["cs"]="sloupec", ["de"]="spalte", @@ -9156,16 +9159,6 @@ return { ["pe"]="overprint", ["ro"]="overprint", }, - ["textoverprint"]={ - ["cs"]="textoverprint", - ["de"]="textoverprint", - ["en"]="textoverprint", - ["fr"]="textoverprint", - ["it"]="textoverprint", - ["nl"]="textoverprint", - ["pe"]="textoverprint", - ["ro"]="textoverprint", - }, ["ownnumber"]={ ["cs"]="vlastnicislo", ["de"]="eigenenummer", diff --git a/tex/context/base/mult-en.tex b/tex/context/base/mult-en.tex index 2298668ee..8ffcd96ec 100644 --- a/tex/context/base/mult-en.tex +++ b/tex/context/base/mult-en.tex @@ -679,6 +679,7 @@ \setinterfaceconstant{inner}{inner} \setinterfaceconstant{innermargin}{innermargin} \setinterfaceconstant{inputfile}{inputfile} +\setinterfaceconstant{intent}{intent} \setinterfaceconstant{interaction}{interaction} \setinterfaceconstant{interlinespace}{interlinespace} \setinterfaceconstant{itemalign}{itemalign} @@ -935,7 +936,6 @@ \setinterfaceconstant{textlayer}{textlayer} \setinterfaceconstant{textmargin}{textmargin} \setinterfaceconstant{textmethod}{textmethod} -\setinterfaceconstant{textoverprint}{textoverprint} \setinterfaceconstant{textseparator}{textseparator} \setinterfaceconstant{textsize}{textsize} \setinterfaceconstant{textstate}{textstate} diff --git a/tex/context/base/mult-fr.tex b/tex/context/base/mult-fr.tex index 9c0c725d6..93dd1cd9d 100644 --- a/tex/context/base/mult-fr.tex +++ b/tex/context/base/mult-fr.tex @@ -679,6 +679,7 @@ \setinterfaceconstant{inner}{interieur} \setinterfaceconstant{innermargin}{margeinterieure} \setinterfaceconstant{inputfile}{fichierentree} +\setinterfaceconstant{intent}{intent} \setinterfaceconstant{interaction}{interaction} \setinterfaceconstant{interlinespace}{espaceinterligne} \setinterfaceconstant{itemalign}{itemalign} @@ -935,7 +936,6 @@ \setinterfaceconstant{textlayer}{calquetexte} \setinterfaceconstant{textmargin}{margetexte} \setinterfaceconstant{textmethod}{textmethod} -\setinterfaceconstant{textoverprint}{textoverprint} \setinterfaceconstant{textseparator}{separateurtexte} \setinterfaceconstant{textsize}{tailletexte} \setinterfaceconstant{textstate}{etattexte} diff --git a/tex/context/base/mult-it.tex b/tex/context/base/mult-it.tex index 9d42da744..1efbb1a00 100644 --- a/tex/context/base/mult-it.tex +++ b/tex/context/base/mult-it.tex @@ -679,6 +679,7 @@ \setinterfaceconstant{inner}{interno} \setinterfaceconstant{innermargin}{margineinterno} \setinterfaceconstant{inputfile}{inputfile} +\setinterfaceconstant{intent}{intent} \setinterfaceconstant{interaction}{interazione} \setinterfaceconstant{interlinespace}{interlinea} \setinterfaceconstant{itemalign}{itemalign} @@ -935,7 +936,6 @@ \setinterfaceconstant{textlayer}{textlayer} \setinterfaceconstant{textmargin}{textmargin} \setinterfaceconstant{textmethod}{textmethod} -\setinterfaceconstant{textoverprint}{textoverprint} \setinterfaceconstant{textseparator}{separatoretesto} \setinterfaceconstant{textsize}{dimensionetesto} \setinterfaceconstant{textstate}{statotesto} diff --git a/tex/context/base/mult-nl.tex b/tex/context/base/mult-nl.tex index 07b0ab070..2c465ca46 100644 --- a/tex/context/base/mult-nl.tex +++ b/tex/context/base/mult-nl.tex @@ -679,6 +679,7 @@ \setinterfaceconstant{inner}{binnen} \setinterfaceconstant{innermargin}{binnenmarge} \setinterfaceconstant{inputfile}{inputfile} +\setinterfaceconstant{intent}{intent} \setinterfaceconstant{interaction}{interactie} \setinterfaceconstant{interlinespace}{interlinie} \setinterfaceconstant{itemalign}{itemuitlijnen} @@ -935,7 +936,6 @@ \setinterfaceconstant{textlayer}{tekstlaag} \setinterfaceconstant{textmargin}{tekstmarge} \setinterfaceconstant{textmethod}{tekstmethode} -\setinterfaceconstant{textoverprint}{textoverprint} \setinterfaceconstant{textseparator}{tekstscheider} \setinterfaceconstant{textsize}{tekstformaat} \setinterfaceconstant{textstate}{tekststatus} diff --git a/tex/context/base/mult-ro.tex b/tex/context/base/mult-ro.tex index c79e64d0f..b0c1beadd 100644 --- a/tex/context/base/mult-ro.tex +++ b/tex/context/base/mult-ro.tex @@ -679,6 +679,7 @@ \setinterfaceconstant{inner}{intern} \setinterfaceconstant{innermargin}{innermargin} \setinterfaceconstant{inputfile}{inputfile} +\setinterfaceconstant{intent}{intent} \setinterfaceconstant{interaction}{interactiune} \setinterfaceconstant{interlinespace}{spatiereinterliniara} \setinterfaceconstant{itemalign}{itemalign} @@ -935,7 +936,6 @@ \setinterfaceconstant{textlayer}{textlayer} \setinterfaceconstant{textmargin}{textmargin} \setinterfaceconstant{textmethod}{textmethod} -\setinterfaceconstant{textoverprint}{textoverprint} \setinterfaceconstant{textseparator}{separatortext} \setinterfaceconstant{textsize}{dimensiunetext} \setinterfaceconstant{textstate}{staretext} diff --git a/tex/context/base/mult-sys.tex b/tex/context/base/mult-sys.tex index 40d8d49d3..6a6cba5d5 100644 --- a/tex/context/base/mult-sys.tex +++ b/tex/context/base/mult-sys.tex @@ -388,6 +388,7 @@ \definesystemvariable {ab} % AlignedBoxes \definesystemvariable {ac} % ACcent +\definesystemvariable {ae} % AttributEs \definesystemvariable {ag} % AchterGrond \definesystemvariable {al} % ALinea's \definesystemvariable {am} % interActieMenu diff --git a/tex/context/base/page-mak.mkiv b/tex/context/base/page-mak.mkiv index 45a1f1167..fae68b38f 100644 --- a/tex/context/base/page-mak.mkiv +++ b/tex/context/base/page-mak.mkiv @@ -126,10 +126,10 @@ \setsystemmode\v!makeup \setupmakeuplayout \makeupparameter\c!commands % hm, what is this one doing here ? - \startregistercolor[\makeupparameter\c!color]% \forgetall % else indented flush \global\setbox\makeupbox\vbox to \makeupparameter\c!height \bgroup + \doifsomething{\makeupparameter\c!color}{\startcolor[\makeupparameter\c!color]}% can be made faster \setups[\makeupparameter\c!setups]% \hsize\makeupparameter\c!width \doifsomething{\makeupparameter\c!align} @@ -139,9 +139,9 @@ \def\dodostopmakeup {\endgraf \makeupparameter\c!bottom + \doifsomething{\makeupparameter\c!color}{\stopcolor}% \egroup \flushmarks % new, here, else empty pages - \stopregistercolor \doflushmakeup \egroup \calculatehsizes diff --git a/tex/context/base/prop-mis.mkiv b/tex/context/base/prop-mis.mkiv index 0d52097ed..4bc9ab4c0 100644 --- a/tex/context/base/prop-mis.mkiv +++ b/tex/context/base/prop-mis.mkiv @@ -21,16 +21,28 @@ \unprotect -%D Stream based overprint and knockout: +% D Overprint cum suis. +% +% \defineproperty[\v!overprint][\s!overprint] [\c!method=\v!command] +% \defineproperty[\v!knockout] [\s!overprint] [\c!method=\v!command] +% +% \definepropertyhandler \v!overprint {\dotriggeroverprint\v!overprint} +% \definepropertyhandler \v!knockout {\dotriggeroverprint\v!knockout } +% +% \def\startoverprintproperty{\dotriggeroverprint\v!overprint} +% \def\stopoverprintproperty {\dotriggeroverprint\v!knockout } -\defineproperty[\v!overprint][\s!overprint] [\c!method=\v!command] -\defineproperty[\v!knockout] [\s!overprint] [\c!method=\v!command] - -%D Negation. +%D Negative cum suis. \defineproperty [\v!negative] [\s!negative] [\c!method=\v!command] \defineproperty [\v!positive] [\s!negative] [\c!method=\v!command] +\definepropertyhandler \v!negative {\dotriggernegative\v!negative} +\definepropertyhandler \v!positive {\dotriggernegative\v!positive} + +\def\startnegativeproperty{\dotriggernegative\v!negative} +\def\stopnegativeproperty {\dotriggernegative\v!positive} + %D Special font effects. \setupproperty @@ -46,24 +58,6 @@ \defineproperty [\v!stretch] [\s!effect] [\c!stretch=1] -%D Overprint cum suis. - -\definepropertyhandler \v!overprint {\dotriggeroverprint\v!overprint} -\definepropertyhandler \v!knockout {\dotriggeroverprint\v!knockout } - -\def\startoverprintproperty{\dotriggeroverprint\v!overprint} -\def\stopoverprintproperty {\dotriggeroverprint\v!knockout } - -%D Negative cum suis. - -\definepropertyhandler \v!negative {\dotriggernegative\v!negative} -\definepropertyhandler \v!positive {\dotriggernegative\v!positive} - -\def\startnegativeproperty{\dotriggernegative\v!negative} -\def\stopnegativeproperty {\dotriggernegative\v!positive} - -%D Effects. - \def\mktriggereffect#1% {\dotriggereffect{#1}{\propertyparameter{#1}\c!stretch}{\propertyparameter{#1}\c!rulethickness}} diff --git a/tex/context/base/s-pre-60.tex b/tex/context/base/s-pre-60.tex index 89ddbbba4..f12b98b06 100644 --- a/tex/context/base/s-pre-60.tex +++ b/tex/context/base/s-pre-60.tex @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\startmode[paper] +\startmode[paper,print] \let\StartSteps\relax \let\StopSteps \relax \let\FlushStep \relax diff --git a/tex/context/base/strc-ref.lua b/tex/context/base/strc-ref.lua index aa71f88dc..675adcc15 100644 --- a/tex/context/base/strc-ref.lua +++ b/tex/context/base/strc-ref.lua @@ -122,9 +122,9 @@ local special_reference = special * lparent * (operation * optional_arguments + local scanner = (reset * outer_reference * (special_reference + inner_reference)^-1 * -1) / function() return result end -function jobreferences.analyse(str) - return scanner:match(str) -end +--~ function jobreferences.analyse(str) -- overloaded +--~ return scanner:match(str) +--~ end function jobreferences.split(str) return scanner:match(str or "") diff --git a/tex/context/base/strc-ref.mkiv b/tex/context/base/strc-ref.mkiv index 5b2045fb8..5416c17f1 100644 --- a/tex/context/base/strc-ref.mkiv +++ b/tex/context/base/strc-ref.mkiv @@ -787,22 +787,26 @@ % Yet untested: \unexpanded\def\somewhere#1#2#3[#4]% #3 gobbles space around #2 % todo - {\goto{\ifcase\referencepagestate#1/#2\or#2\or#1\or#2\fi}[#4]} + {\doifreferencefoundelse{#4}% kind of inefficient as \goto also analyses + {\goto{\analyzecurrentreference\ifcase\referencepagestate\relax#1/#2\or#2\or#1\or#2\fi}[#4]} + {[#1/#2]}} \unexpanded\def\atpage[#1]% todo - {\goto{\ifcase\referencepagestate - \labeltexts\v!page\dummyreference - \or - \labeltexts\v!atpage\currentreferencepage - \or - \labeltexts\v!atpage\currentreferencepage - \or - \labeltexts\v!atpage\currentreferencepage - \or - \labeltext\v!hereafter - \or - \labeltext\v!hencefore - \fi}[#1]} + {\doifreferencefoundelse{#1}% kind of inefficient as \goto also analyses + {\goto{\analyzecurrentreference\ifcase\referencepagestate + \labeltexts\v!page\dummyreference + \or + \labeltexts\v!atpage\currentreferencepage + \or + \labeltexts\v!atpage\currentreferencepage + \or + \labeltexts\v!atpage\currentreferencepage + \or + \labeltext\v!hereafter + \or + \labeltext\v!hencefore + \fi}[#1]} + {[?]}} \def\dosymbolreference#1#2[#3]% {\removeunwantedspaces diff --git a/tex/context/base/task-ini.lua b/tex/context/base/task-ini.lua index a4aa4b0e5..d00b4535a 100644 --- a/tex/context/base/task-ini.lua +++ b/tex/context/base/task-ini.lua @@ -35,7 +35,7 @@ tasks.appendaction("shipouts", "normalizers", "nodes.add_destinations") tasks.appendaction("shipouts", "finishers", "shipouts.handle_color") tasks.appendaction("shipouts", "finishers", "shipouts.handle_transparency") -tasks.appendaction("shipouts", "finishers", "shipouts.handle_overprint") +tasks.appendaction("shipouts", "finishers", "shipouts.handle_colorintent") tasks.appendaction("shipouts", "finishers", "shipouts.handle_negative") tasks.appendaction("shipouts", "finishers", "shipouts.handle_effect") tasks.appendaction("shipouts", "finishers", "shipouts.handle_viewerlayer") diff --git a/tex/context/bib/t-bib.tex b/tex/context/bib/t-bib.tex index 876bad8e2..11ed1309c 100644 --- a/tex/context/bib/t-bib.tex +++ b/tex/context/bib/t-bib.tex @@ -1092,7 +1092,7 @@ \else\ifcsname#2\s!en#3\endcsname \csname#2\s!en#3\endcsname \fi\fi - \fi\fi} + \fi\fi} \def\docompletepublications[#1]% {\begingroup @@ -1435,7 +1435,7 @@ \edef\currentbibauthor{\currentbibauthor ##1\bibalternative{andtext}}% \else \edef\currentbibauthor{\currentbibauthor ##1\bibalternative{namesep}}% - \fi + \fi \fi }% \processcommalist[#2]\bibprocessauthoritem } diff --git a/tex/context/interface/cont-cs.xml b/tex/context/interface/cont-cs.xml index 754249d75..f85a07d73 100644 --- a/tex/context/interface/cont-cs.xml +++ b/tex/context/interface/cont-cs.xml @@ -619,6 +619,11 @@ + + + + + diff --git a/tex/context/interface/cont-de.xml b/tex/context/interface/cont-de.xml index fe97020ff..77c8d62f7 100644 --- a/tex/context/interface/cont-de.xml +++ b/tex/context/interface/cont-de.xml @@ -619,6 +619,11 @@ + + + + + diff --git a/tex/context/interface/cont-en.xml b/tex/context/interface/cont-en.xml index 8f0f76f52..97b3b4e15 100644 --- a/tex/context/interface/cont-en.xml +++ b/tex/context/interface/cont-en.xml @@ -619,6 +619,11 @@ + + + + + diff --git a/tex/context/interface/cont-fr.xml b/tex/context/interface/cont-fr.xml index 9d298d6b9..11a7c89b3 100644 --- a/tex/context/interface/cont-fr.xml +++ b/tex/context/interface/cont-fr.xml @@ -619,6 +619,11 @@ + + + + + diff --git a/tex/context/interface/cont-it.xml b/tex/context/interface/cont-it.xml index 337255228..0c8a1e6c2 100644 --- a/tex/context/interface/cont-it.xml +++ b/tex/context/interface/cont-it.xml @@ -619,6 +619,11 @@ + + + + + diff --git a/tex/context/interface/cont-nl.xml b/tex/context/interface/cont-nl.xml index 2961ac83c..fa710019c 100644 --- a/tex/context/interface/cont-nl.xml +++ b/tex/context/interface/cont-nl.xml @@ -619,6 +619,11 @@ + + + + + diff --git a/tex/context/interface/cont-pe.xml b/tex/context/interface/cont-pe.xml index fc18282d3..6c6edc594 100644 --- a/tex/context/interface/cont-pe.xml +++ b/tex/context/interface/cont-pe.xml @@ -619,6 +619,11 @@ + + + + + diff --git a/tex/context/interface/cont-ro.xml b/tex/context/interface/cont-ro.xml index 786f95b6c..e1a27912a 100644 --- a/tex/context/interface/cont-ro.xml +++ b/tex/context/interface/cont-ro.xml @@ -619,6 +619,11 @@ + + + + + diff --git a/tex/context/interface/keys-cs.xml b/tex/context/interface/keys-cs.xml index 2e2e896f9..15ff191b9 100644 --- a/tex/context/interface/keys-cs.xml +++ b/tex/context/interface/keys-cs.xml @@ -685,6 +685,7 @@ + @@ -941,7 +942,6 @@ - diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml index c968ef5a7..7e700570e 100644 --- a/tex/context/interface/keys-de.xml +++ b/tex/context/interface/keys-de.xml @@ -685,6 +685,7 @@ + @@ -941,7 +942,6 @@ - diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml index 4f47eba5c..942bc6ba3 100644 --- a/tex/context/interface/keys-en.xml +++ b/tex/context/interface/keys-en.xml @@ -685,6 +685,7 @@ + @@ -941,7 +942,6 @@ - diff --git a/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml index eeb9dd0b7..653a49bf4 100644 --- a/tex/context/interface/keys-fr.xml +++ b/tex/context/interface/keys-fr.xml @@ -685,6 +685,7 @@ + @@ -941,7 +942,6 @@ - diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml index 393fee324..1f0d73af2 100644 --- a/tex/context/interface/keys-it.xml +++ b/tex/context/interface/keys-it.xml @@ -685,6 +685,7 @@ + @@ -941,7 +942,6 @@ - diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml index 5847ec9d8..a6f527ec9 100644 --- a/tex/context/interface/keys-nl.xml +++ b/tex/context/interface/keys-nl.xml @@ -685,6 +685,7 @@ + @@ -941,7 +942,6 @@ - diff --git a/tex/context/interface/keys-pe.xml b/tex/context/interface/keys-pe.xml index 396435277..98e37b6f4 100644 --- a/tex/context/interface/keys-pe.xml +++ b/tex/context/interface/keys-pe.xml @@ -685,6 +685,7 @@ + @@ -941,7 +942,6 @@ - diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml index 7218a29cf..fde4533d1 100644 --- a/tex/context/interface/keys-ro.xml +++ b/tex/context/interface/keys-ro.xml @@ -685,6 +685,7 @@ + @@ -941,7 +942,6 @@ - diff --git a/tex/generic/context/luatex-fonts-merged.lua b/tex/generic/context/luatex-fonts-merged.lua index 8e8de0a3a..6166237f7 100644 --- a/tex/generic/context/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/texmf/tex/generic/context/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/texmf/tex/generic/context/luatex-fonts.lua --- merge date : 09/13/09 14:26:14 +-- merge date : 09/15/09 12:29:59 do -- begin closure to overcome local limits and interference -- cgit v1.2.3