From 4c9b11d2cafd13912fca1427b648a678b90533ee Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Sat, 10 Mar 2012 13:15:00 +0100 Subject: beta 2012.03.10 13:15 --- tex/context/base/anch-bck.mkvi | 2 ++ 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 105374 -> 105388 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/pack-lyr.mkiv | 10 +++++-- tex/context/base/s-mod-01.mkiv | 8 ++--- tex/context/base/status-files.pdf | Bin 24363 -> 24329 bytes tex/context/base/status-lua.pdf | Bin 172402 -> 172399 bytes tex/context/base/strc-con.mkvi | 2 +- tex/context/base/strc-enu.mkvi | 21 +++++++++---- tex/context/base/strc-ini.lua | 15 ++++++++++ tex/context/base/strc-itm.mkvi | 30 ++++++++++++------- tex/context/base/strc-not.mkvi | 33 +++++++++++++++++++-- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 17 files changed, 99 insertions(+), 32 deletions(-) (limited to 'tex') diff --git a/tex/context/base/anch-bck.mkvi b/tex/context/base/anch-bck.mkvi index a44b10d3d..759b6ada5 100644 --- a/tex/context/base/anch-bck.mkvi +++ b/tex/context/base/anch-bck.mkvi @@ -46,6 +46,8 @@ % The first position can be used in the middle of a paragraph in which case we're % too late with initializing par positions. Therefore we check if positions are % used at all. +% +% tricky: we need to catch newly set! otherwise an old run can have positions \unexpanded\def\anch_backgrounds_text_initialize {\ctxcommand{doifelsepositionsused()}\enableparpositions\donothing diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index 1a9da369f..7002a54cc 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{2012.03.05 19:49} +\newcontextversion{2012.03.10 13:15} %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 88b7b8f2b..f9b8563d0 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{2012.03.05 19:49} +\newcontextversion{2012.03.10 13:15} %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 20e1d1451..a6de5f299 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 881cfd40a..551d21007 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 bf4707bb5..6d787b083 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{2012.03.05 19:49} +\edef\contextversion{2012.03.10 13:15} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 6a52c0ef8..59da8a5a7 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -23,7 +23,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2012.03.05 19:49} +\edef\contextversion{2012.03.10 13:15} %D For those who want to use this: diff --git a/tex/context/base/pack-lyr.mkiv b/tex/context/base/pack-lyr.mkiv index f8cf577be..5b23a255d 100644 --- a/tex/context/base/pack-lyr.mkiv +++ b/tex/context/base/pack-lyr.mkiv @@ -625,6 +625,9 @@ % \fi % \endgroup} +\let\pack_layers_top_fill \relax +\let\pack_layers_bottom_fill\vss + \def\pack_layers_flush_indeed#1#2% quite core, so optimized {\begingroup % already grouped \offinterlineskip @@ -669,14 +672,15 @@ \doifoverlayelse{#2}% {\setlayoutcomponentattribute{\v!layer:#2}}% \resetlayoutcomponentattribute - % from now on bottom up + % we have conflicting demands: some mechanisms want ll anchoring .. I need to figure this out + % an dmaybe we will have 'origin=bottom' or so \setbox\nextbox \ifx\p_pack_layers_option\v!test \ruledvbox \else \vbox \fi \ifx\p_pack_layers_method\v!overlay to \overlayheight \fi \layoutcomponentboxattribute - {\vss + {\pack_layers_top_fill \hbox \ifx\p_pack_layers_method\v!overlay to \overlaywidth \fi {\box\nextbox \hss}% - }%\vss}% + \pack_layers_bottom_fill}% % % \edef\currentlayer{#2}% :\the\realpageno}% local .. check \anchor % \edef\p_pack_layers_position{\layerparameter\c!position}% local diff --git a/tex/context/base/s-mod-01.mkiv b/tex/context/base/s-mod-01.mkiv index 8f78f6107..ae119a7ee 100644 --- a/tex/context/base/s-mod-01.mkiv +++ b/tex/context/base/s-mod-01.mkiv @@ -227,10 +227,10 @@ % \macros{a,b}{b} % \macros[a]{a,b}{b} -% weg ermee - -\defineparagraphs [interface] [\c!n=2] -\setupparagraphs [interface] [1] [\c!width=4cm] +% weg ermee (indeed): +% +% \defineparagraphs [interface] [\c!n=2] +% \setupparagraphs [interface] [1] [\c!width=4cm] \starttexdefinition startexample \par diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 0bf6899a3..ab474636a 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 eceedcac0..1b6bfafa3 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/strc-con.mkvi b/tex/context/base/strc-con.mkvi index 405c16025..84b551711 100644 --- a/tex/context/base/strc-con.mkvi +++ b/tex/context/base/strc-con.mkvi @@ -368,7 +368,7 @@ \defineconstructionalternative [\v!top] [\c!renderingsetup=\??constructionrenderings:\v!top, - \c!width=\localhize] + \c!width=\localhsize] \defineconstructionalternative [\v!command] diff --git a/tex/context/base/strc-enu.mkvi b/tex/context/base/strc-enu.mkvi index 58e84e527..2ef09517b 100644 --- a/tex/context/base/strc-enu.mkvi +++ b/tex/context/base/strc-enu.mkvi @@ -216,29 +216,38 @@ \unexpanded\def\strc_enumerations_reset {\strc_counters_reset_sub {\specificconstructionnumber\currentconstruction}{\currentconstructionlevel}} %unexpanded\def\strc_enumerations_set #3{\strc_counters_set_sub {\specificconstructionnumber\currentconstruction}{\currentconstructionlevel}{#2}} -%D Counters +%D Counters (maybe we can share this code): (not ok yet, messy with notes) -%D WILL MOVE: +%%%%%%%%%%% BEGIN TODO (SEE NOTES) %%%%%%%%%%%%%%% \newtoks\everysetupenumerationcounter -\let\v_strc_enumerations_counter_name\empty + +\let\v_strc_enumerations_counter_name\empty % or just p_counter \def\strc_enumerations_setup_counter#1% {\edef\v_strc_enumerations_counter_name{#1}% only used in the token list - \edef\currentconstruction{#1}% \the\everysetupenumerationcounter} -\def\strc_enumerations_define_counter#1% todo: fast inheritance (was mainparameter +\def\strc_enumerations_define_counter#1% todo: fast inheritance (was mainparameter) {\definestructurecounter[#1]% \strc_enumerations_setup_counter{#1}} \appendtoks - \dostructurecountersetup\v_strc_enumerations_counter_name\constructionparameter + \dostructurecountersetup\v_strc_enumerations_counter_name\enumerationparameter \to \everysetupenumerationcounter +% \def\currentconstructionnumber {\enumerationparameter\s!counter} +% \def\specificconstructionnumber#1{\namedenumerationparameter{#1}\s!counter} + \def\currentconstructionnumber {\constructionparameter\s!counter} \def\specificconstructionnumber#1{\namedconstructionparameter{#1}\s!counter} +\appendtoks + \strc_enumerations_setup_counter\currentenumeration +\to \everysetupenumeration + +%%%%%%%%%%% END TODO (SEE NOTES) %%%%%%%%%%%%%%% + %D Initializer: %D The handlers. diff --git a/tex/context/base/strc-ini.lua b/tex/context/base/strc-ini.lua index 8644c87e3..c246ccd27 100644 --- a/tex/context/base/strc-ini.lua +++ b/tex/context/base/strc-ini.lua @@ -21,6 +21,7 @@ but it does not make sense to store all processdata. ]]-- local format, concat = string.format, table.concat +local lpegmatch = lpeg.match local count = tex.count local type, next, tonumber = type, next, tonumber local settings_to_array, settings_to_hash = utilities.parsers.settings_to_array, utilities.parsers.settings_to_hash @@ -279,7 +280,20 @@ function sets.getall(namespace,block,name) end end +-- messy (will be another keyword, fixedconversion) + +local splitter = lpeg.splitat("::") + function sets.get(namespace,block,name,level,default) -- check if name is passed + --fixed::R:a: ... + local kind, rest = lpegmatch(splitter,name) + if kind and rest then + if kind == "fixed" then + local s = settings_to_array(rest) + return s[level] or default + end + end + -- local ds = setlist[namespace] if not ds then return default @@ -301,6 +315,7 @@ function sets.get(namespace,block,name,level,default) -- check if name is passed if not dn then return default end +-- inspect(dn) local dl = dn[1][level] return dl or dn[2] or default end diff --git a/tex/context/base/strc-itm.mkvi b/tex/context/base/strc-itm.mkvi index 863e7069a..090dcd9ad 100644 --- a/tex/context/base/strc-itm.mkvi +++ b/tex/context/base/strc-itm.mkvi @@ -22,6 +22,7 @@ % todo: check breaks % todo: check grouping +% todo: fixedconversion % \startitemize[n,packed] % \item test \item test \item test @@ -222,6 +223,7 @@ \def \currentitemgroupsymbol {n} % here we cannot use a _ in the name \let \currentitemgroupconversionset \empty % here we cannot use a _ in the name +\let \currentitemgroupsegments \empty \def\strc_itemgroups_register_status {\iftrialtypesetting \else @@ -240,7 +242,7 @@ \strc_itemgroups_insert_reference_indeed \fi \fi} -\def\strc_itemgroups_insert_reference_indeed +\def\strc_itemgroups_insert_reference_indeed % maybe we need a 'frozen counter' numberdata blob {\setnextinternalreference \ctxlua {structures.references.setandgetattribute("\s!full", "\referenceprefix","\currentitemreference", { @@ -260,14 +262,18 @@ conversionset = "\structurecounterparameter\v_strc_itemgroups_counter\c!prefixconversionset", set = "\structurecounterparameter\v_strc_itemgroups_counter\c!prefixset", segments = "\structurecounterparameter\v_strc_itemgroups_counter\c!prefixsegments", - % segments = "\askedprefixsegments", + % segments = "\askedprefixsegments", connector = \!!bs\structurecounterparameter\v_strc_itemgroups_counter\c!prefixconnector\!!es, }, numberdata = structures.helpers.simplify { numbers = structures.counters.compact("\v_strc_itemgroups_counter",nil,true), separatorset = "\structurecounterparameter\v_strc_itemgroups_counter\c!numberseparatorset", - conversion = "\structurecounterparameter\v_strc_itemgroups_counter\c!numberconversion", - conversionset = "\structurecounterparameter\v_strc_itemgroups_counter\c!numberconversionset", +% conversion = "\structurecounterparameter\v_strc_itemgroups_counter\c!numberconversion", +% conversion = "\currentitemgroupconversionset", +% conversionset = "\structurecounterparameter\v_strc_itemgroups_counter\c!numberconversionset", +% todo: fixedconversion = "\currentitemgroupconversionset", % temp hack: +conversionset = "fixed::\currentitemgroupconversionset", + % % for the moment no stopper, we need to make references configurable first % stopper = \!!bs\structurecounterparameter\v_strc_itemgroups_counter\c!numberstopper\!!es, segments = "\structurecounterparameter\v_strc_itemgroups_counter\c!numbersegments", @@ -305,7 +311,7 @@ \let\currentparentitemgroup\currentitemgroup \definestructurecounter[\v_strc_itemgroups_counter]% % beware ... we cannot use _ as the conversion set is not expanded - \definestructureconversionset[\v_strc_itemgroups_counter][\currentitemgroupconversionset][\currentitemgroupsymbol]% +% \definestructureconversionset[\v_strc_itemgroups_counter][\currentitemgroupconversionset][\currentitemgroupsymbol]% \to \everydefineitemgroup %D Global states @@ -608,7 +614,10 @@ %\c!numberseparatorset=, \c!numberconversionset=\v_strc_itemgroups_counter, % itemgroup:\currentparentitemgroup, %\c!numberconversion=\currentitemgroupsymbol, - \c!numbersegments=\ifx\m_strc_itemgroups_repeat_start\empty\else\m_strc_itemgroups_repeat_start:\fi\currentitemlevel]% + \c!numbersegments=\currentitemgroupsegments]% + % there will be a fixedconversion key + \normalexpanded{\definestructureconversionset[\v_strc_itemgroups_counter][\currentitemgroupconversionset][\currentitemgroupsymbol]}% + % \convertedstructurecounter[\v_strc_itemgroups_counter]% [\number\currentitemlevel]% \strc_itemgroups_insert_reference \endgroup} @@ -804,9 +813,11 @@ \fi \fi \ifx\m_strc_itemgroups_repeat_start\empty - \let\currentitemgroupconversionset\currentitemgroupsymbol + \let\currentitemgroupconversionset \currentitemgroupsymbol + \edef\currentitemgroupsegments {\currentitemlevel}% \else \edef\currentitemgroupconversionset{\currentitemgroupconversionset,\currentitemgroupsymbol}% + \edef\currentitemgroupsegments {\m_strc_itemgroups_repeat_start:\currentitemlevel}% \fi \d_strc_itemgroups_asked_width\itemgroupparameter\c!width\relax \startcollectitems} @@ -1259,11 +1270,8 @@ \def\strc_itemgroups_check_for_repeated {\ifconditional\c_strc_itemgroups_repeat \ifx\m_strc_itemgroups_repeat_start\empty - \let\m_current_itemgroups_repeat_start\currentitemlevel + \edef\m_strc_itemgroups_repeat_start{\currentitemlevel}% \fi - \setbox\b_strc_itemgroups\hbox to \wd\b_strc_itemgroups - {\hskip-\d_strc_itemgroups_asked_width - \box\b_strc_itemgroups}% what a hack ! \fi} \def\strc_itemgroups_insert_item diff --git a/tex/context/base/strc-not.mkvi b/tex/context/base/strc-not.mkvi index b23dc3159..d05dbca77 100644 --- a/tex/context/base/strc-not.mkvi +++ b/tex/context/base/strc-not.mkvi @@ -176,9 +176,12 @@ \ifx\p_counter\empty % \let\p_counter\currentnotation \fi - \doifstructurecounterelse\p_counter\donothing{\strc_enumerations_define_counter\p_counter}% +% \doifstructurecounterelse\p_counter\donothing{\strc_enumerations_define_counter\p_counter}% +% \letnotationparameter\s!counter\p_counter +% \strc_enumerations_setup_counter\currentnotation + \doifstructurecounterelse\p_counter\donothing{\strc_notes_define_counter\p_counter}% \letnotationparameter\s!counter\p_counter - \strc_enumerations_setup_counter\currentnotation + \strc_notes_setup_counter\currentnotation \to \everydefinenotation \setvalue{\??constructioninitializer\v!notation}% @@ -367,6 +370,32 @@ \fi \to \everydefinenote +% maybe we will share this at some point + +%%%%%%%%%%% BEGIN TODO (SEE ENUMERATIONS) %%%%%%%%%%%%%%% + +\newtoks\everysetupnotecounter + +\let\v_strc_note_counter_name\empty + +\def\strc_notes_setup_counter#1% + {\edef\v_strc_note_counter_name{#1}% only used in the token list + \the\everysetupnotecounter} + +\def\strc_notes_define_counter#1% todo: fast inheritance (was mainparameter + {\definestructurecounter[#1]% + \strc_notes_setup_counter{#1}} + +\appendtoks + \dostructurecountersetup\v_strc_note_counter_name\notationparameter +\to \everysetupnotecounter + +\appendtoks + \strc_notes_setup_counter\currentnotation +\to \everysetupnotation + +%%%%%%%%%%% END TODO (SEE ENUMERATIONS) %%%%%%%%%%%%%%% + % \setvalue{\??constructionstarthandler\v!notation}% % {\csname\??constructionstarthandler\v!construction\endcsname} diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index d78374712..622c4ba2d 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 : 03/05/12 19:49:15 +-- merge date : 03/10/12 13:15:30 do -- begin closure to overcome local limits and interference -- cgit v1.2.3