From b553f9b238272364a2475185f648f84a632f7f26 Mon Sep 17 00:00:00 2001 From: Marius Date: Mon, 18 Jun 2012 18:20:23 +0300 Subject: beta 2012.06.18 17:11 --- tex/context/base/colo-ini.mkiv | 16 +- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4145 -> 4143 bytes tex/context/base/context-version.png | Bin 106504 -> 105858 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/data-res.lua | 4 +- tex/context/base/pack-rul.mkiv | 233 ++++++++++++++------- tex/context/base/status-files.pdf | Bin 24488 -> 24462 bytes tex/context/base/status-lua.pdf | Bin 181589 -> 181592 bytes tex/context/base/strc-not.mkvi | 15 +- tex/context/base/syst-gen.mkii | 5 + tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 14 files changed, 193 insertions(+), 90 deletions(-) (limited to 'tex') diff --git a/tex/context/base/colo-ini.mkiv b/tex/context/base/colo-ini.mkiv index a46555534..6b4f1be10 100644 --- a/tex/context/base/colo-ini.mkiv +++ b/tex/context/base/colo-ini.mkiv @@ -357,16 +357,26 @@ \normalexpanded{\colo_palets_define[#1][\csname\??colorpaletspecification#2\endcsname]}% \fi}} -\def\colo_palets_define_one#1#2% get rid of { } in #2 - {\colo_palets_define_two{#1}[#2]}% +% \def\colo_palets_define_one#1#2% get rid of { } in #2 +% {\colo_palets_define_two{#1}[#2]}% + +\def\colo_palets_define_one#1#2% get rid of { } + {\doifassignmentelse{#2} % catch empty entries + {\colo_palets_define_two{#1}[#2]} + {\colo_palets_define_three{#1}{#2}}} \def\colo_palets_define_two#1[#2=#3]% {\edef\m_colo_palets_tmp{\ifx\m_colo_palets_tmp\empty\else\m_colo_palets_tmp,\fi#2}% \colo_palets_define_set{#1}{#2}{#3}}% +\def\colo_palets_define_three#1#2% + {\ifcsname\??colorpaletspecification#2\endcsname + \processcommacommand[\csname\??colorpaletspecification#2\endcsname]{\colo_palets_define_one{#1}}% + \fi} + \let\paletsize\!!zerocount -\def\getpaletsize[#1]% +\unexpanded\def\getpaletsize[#1]% only works for valid k=v definitions {\getcommacommandsize[\csname\??colorpaletspecification#1\endcsname]% \edef\paletsize{\number\commalistsize}} diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index 4b79a732f..75980ba4e 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.06.13 23:46} +\newcontextversion{2012.06.18 17:11} %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 8db00b160..67e72221b 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.06.13 23:46} +\newcontextversion{2012.06.18 17:11} %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 169d147e4..90f70bdcd 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 bcf424f66..1c34d9d55 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 6230809f5..aaa7046ee 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.06.13 23:46} +\edef\contextversion{2012.06.18 17:11} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index fd1d6539a..472881e66 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.06.13 23:46} +\edef\contextversion{2012.06.18 17:11} %D For those who want to use this: diff --git a/tex/context/base/data-res.lua b/tex/context/base/data-res.lua index 362cacf58..6515b4ddb 100644 --- a/tex/context/base/data-res.lua +++ b/tex/context/base/data-res.lua @@ -679,8 +679,8 @@ function resolvers.resetextrapath() end function resolvers.registerextrapath(paths,subpaths) - paths = paths and settings_to_array(paths) - subpaths = subpaths and settings_to_array(subpaths) + paths = settings_to_array(paths) + subpaths = settings_to_array(subpaths) local ep = instance.extra_paths or { } local oldn = #ep local newn = oldn diff --git a/tex/context/base/pack-rul.mkiv b/tex/context/base/pack-rul.mkiv index 957b3e32f..16b4460e9 100644 --- a/tex/context/base/pack-rul.mkiv +++ b/tex/context/base/pack-rul.mkiv @@ -982,8 +982,6 @@ \def\c!fr!analyze{fr:analyze} % private option -% we can make macros for the offset, width, and height branches or do an \csname - \unexpanded\def\pack_framed_process_indeed {\d_framed_frameoffset\framedparameter\c!frameoffset \edef\p_framed_backgroundoffset{\framedparameter\c!backgroundoffset}% @@ -1038,78 +1036,28 @@ \settrue\c_framed_has_format \dosetraggedcommand\localformat % not that fast \fi - \ifx\localoffset\v!none - \setfalse\c_framed_has_offset - \setfalse\c_framed_has_strut - \setfalse\c_framed_is_overlaid - \d_framed_local_offset\d_framed_linewidth - \else\ifx\localoffset\v!overlay - % \ifx\p_framed_frame\v!no \setfalse\c_framed_has_frame \fi % test first - \setfalse\c_framed_has_offset - \setfalse\c_framed_has_strut - \settrue \c_framed_is_overlaid - \d_framed_local_offset\zeropoint -% \else\ifx\localoffset\v!strut -% \setfalse\c_framed_has_offset -% \settrue \c_framed_has_strut -% \settrue \c_framed_is_overlaid -% \d_framed_local_offset\zeropoint - \else - \settrue \c_framed_has_offset - \settrue \c_framed_has_strut - \setfalse\c_framed_is_overlaid - \ifx\localoffset\v!default % new per 2-6-2000 - \let\localoffset\defaultframeoffset - \letframedparameter\c!offset\defaultframeoffset % brrr + \csname\??framedoffsetalternative + \ifcsname\??framedoffsetalternative\localoffset\endcsname + \localoffset \else - \let\defaultframeoffset\localoffset + \s!unknown \fi - \d_framed_local_offset\dimexpr\localoffset+\d_framed_linewidth\relax - \fi\fi % \fi - \d_framed_height\zeropoint - \d_framed_width \zeropoint - \ifx\localwidth\empty % fallback to fit - \ifconditional\c_framed_has_format - \settrue\c_framed_has_width - \d_framed_width\hsize + \endcsname + \csname\??framedwidthalternative + \ifcsname\??framedwidthalternative\localwidth\endcsname + \localwidth \else - \setfalse\c_framed_has_width + \s!unknown \fi - \else\ifx\localwidth\v!fit - \ifconditional\c_framed_has_format - \settrue\c_framed_has_width - \d_framed_width\hsize + \endcsname + \csname\??framedheightalternative + \ifcsname\??framedheightalternative\localheight\endcsname + \localheight \else - \setfalse\c_framed_has_width + \s!unknown \fi - \else\ifx\localwidth\v!fixed % equals \v!fit but no shapebox - \ifconditional\c_framed_has_format - \settrue\c_framed_has_width - \d_framed_width\hsize - \else - \setfalse\c_framed_has_width - \fi - \else\ifx\localwidth\v!broad - \settrue\c_framed_has_width - \d_framed_width\hsize - \else\ifx\localwidth\v!local - \settrue\c_framed_has_width - \setlocalhsize - \d_framed_width\localhsize - \else - \settrue\c_framed_has_width - \d_framed_width\localwidth - \fi\fi\fi\fi\fi - \ifx\localheight\empty % fallback to fit - \setfalse\c_framed_has_height - \else\ifx\localheight\v!fit - \setfalse\c_framed_has_height - \else\ifx\localheight\v!broad - \setfalse\c_framed_has_height - \else - \settrue\c_framed_has_height - \d_framed_height\localheight - \fi\fi\fi + \endcsname + % the next check could move to heightalternative \ifconditional\c_framed_has_height % obey user set height, also downward compatible \else @@ -1132,15 +1080,14 @@ % i.e. disable (colsetbackgroundproblemintechniek) \advance\d_framed_width -2\d_framed_local_offset \advance\d_framed_height -2\d_framed_local_offset - \ifx\localstrut\v!no - \setfalse\c_framed_has_strut - \else\ifx\localstrut\v!global - \setstrut - \else\ifx\localstrut\v!local - \setfontstrut - \else - \setstrut - \fi\fi\fi + \csname\??framedstrutalternative + \ifcsname\??framedstrutalternative\localstrut\endcsname + \localstrut + \else + \s!unknown + \fi + \endcsname + % the next check could move to strutalternative \ifconditional\c_framed_has_strut \let\localbegstrut\begstrut \let\localendstrut\endstrut @@ -1219,6 +1166,136 @@ \afterassignment\pack_framed_restart \setbox\b_framed_normal\next} +% alternatives for width, height, strut and offset + +\installcorenamespace{framedwidthalternative} +\installcorenamespace{framedheightalternative} +\installcorenamespace{framedstrutalternative} +\installcorenamespace{framedoffsetalternative} + +% widths + +\setvalue{\??framedwidthalternative\empty}% + {\ifconditional\c_framed_has_format + \settrue\c_framed_has_width + \d_framed_width\hsize + \else + \setfalse\c_framed_has_width + \d_framed_width\zeropoint + \fi} + +\setvalue{\??framedwidthalternative\v!fit}% + {\ifconditional\c_framed_has_format + \settrue\c_framed_has_width + \d_framed_width\hsize + \else + \setfalse\c_framed_has_width + \d_framed_width\zeropoint + \fi} + +\setvalue{\??framedwidthalternative\v!fixed}% equals \v!fit but no shapebox + {\ifconditional\c_framed_has_format + \settrue\c_framed_has_width + \d_framed_width\hsize + \else + \setfalse\c_framed_has_width + \d_framed_width\zeropoint + \fi} + +\setvalue{\??framedwidthalternative\v!broad}% + {\settrue\c_framed_has_width + \d_framed_width\hsize} + +\setvalue{\??framedwidthalternative\v!max}% idem broad + {\settrue\c_framed_has_width + \d_framed_width\hsize} + +\setvalue{\??framedwidthalternative\v!local}% + {\settrue\c_framed_has_width + \setlocalhsize + \d_framed_width\localhsize} + +\setvalue{\??framedwidthalternative\s!unknown}% + {\settrue\c_framed_has_width + \d_framed_width\localwidth} + +% heights + +\setvalue{\??framedheightalternative\empty}% + {\setfalse\c_framed_has_height + \d_framed_height\zeropoint} + +\setvalue{\??framedheightalternative\v!fit}% + {\setfalse\c_framed_has_height + \d_framed_height\zeropoint} + +\setvalue{\??framedheightalternative\v!broad}% + {\setfalse\c_framed_has_height + \d_framed_height\zeropoint} + +\setvalue{\??framedheightalternative\v!max}% + {\settrue\c_framed_has_height + \d_framed_height\vsize} + +\setvalue{\??framedheightalternative\s!unknown}% + {\settrue\c_framed_has_height + \d_framed_height\localheight} + +% struts + +\setvalue{\??framedstrutalternative\v!no}% + {\setfalse\c_framed_has_strut} + +\setvalue{\??framedstrutalternative\v!global}% + {\setstrut} + +\setvalue{\??framedstrutalternative\v!local}% + {\setfontstrut} + +\setvalue{\??framedstrutalternative\v!yes}% + {\setstrut} + +\setvalue{\??framedstrutalternative\s!unknown}% + {\setstrut} + +% offsets + +\setvalue{\??framedoffsetalternative\v!none}% + {\setfalse\c_framed_has_offset + \setfalse\c_framed_has_strut + \setfalse\c_framed_is_overlaid + \d_framed_local_offset\d_framed_linewidth} + +\setvalue{\??framedoffsetalternative\v!overlay}% + {% \ifx\p_framed_frame\v!no \setfalse\c_framed_has_frame \fi % test first + \setfalse\c_framed_has_offset + \setfalse\c_framed_has_strut + \settrue \c_framed_is_overlaid + \d_framed_local_offset\zeropoint} + +% \setvalue{\??framedoffsetalternative\v!strut}% +% {\setfalse\c_framed_has_offset +% \settrue \c_framed_has_strut +% \settrue \c_framed_is_overlaid +% \d_framed_local_offset\zeropoint} + +\setvalue{\??framedoffsetalternative\v!default}% new per 2-6-2000 + {\settrue \c_framed_has_offset + \settrue \c_framed_has_strut + \setfalse\c_framed_is_overlaid + \let\localoffset\defaultframeoffset + \letframedparameter\c!offset\defaultframeoffset % brrr + \d_framed_local_offset\dimexpr\localoffset+\d_framed_linewidth\relax} + +\setvalue{\??framedoffsetalternative\s!unknown}% + {\settrue \c_framed_has_offset + \settrue \c_framed_has_strut + \setfalse\c_framed_is_overlaid + \let\defaultframeoffset\localoffset + \d_framed_local_offset\dimexpr\localoffset+\d_framed_linewidth\relax} + +% so far for alternatives + \let\pack_framed_stop_orientation\relax \def\pack_framed_restart @@ -1238,7 +1315,7 @@ %D %D Offset helper (see menus): -\def\doassigncheckedframeoffset#1#2% +\def\doassigncheckedframeoffset#1#2% could be a fast \csname .. \endcsname {\edef\checkedframeoffset{#2}% #1% \ifx\checkedframeoffset\empty \zeropoint\else diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 3b5e3291c..6ee3c4f18 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 fc2a6c247..f1e84a241 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-not.mkvi b/tex/context/base/strc-not.mkvi index 8b3887a81..ce37a5717 100644 --- a/tex/context/base/strc-not.mkvi +++ b/tex/context/base/strc-not.mkvi @@ -1713,8 +1713,19 @@ \unexpanded\def\startlocalfootnotes {\startlocalnotes [\v!footnote]} % alleen footnote \unexpanded\def\stoplocalfootnotes {\stoplocalnotes } -\def\strc_notes_place_footnotes [#1][#2]{\ifsecondargument\placenotes [#1][#2,\c!height=\textheight]\else\placenotes [#1]\fi} -\def\strc_notes_place_local_footnotes[#1][#2]{\ifsecondargument\placelocalnotes[#1][#2,\c!height=\textheight]\else\placelocalnotes[#1]\fi} +\def\strc_notes_place_footnotes[#1][#2]% + {\ifsecondargument + \placenotes[#1][#2,\c!height=\textheight]% + \else + \placenotes[#1][\c!height=\textheight]% + \fi} + +\def\strc_notes_place_local_footnotes[#1][#2]% + {\ifsecondargument + \placelocalnotes[#1][#2,\c!height=\textheight]% + \else + \placelocalnotes[#1][\c!height=\textheight]% + \fi} %D Goodies: %D diff --git a/tex/context/base/syst-gen.mkii b/tex/context/base/syst-gen.mkii index bb0f54d11..8b71b77d5 100644 --- a/tex/context/base/syst-gen.mkii +++ b/tex/context/base/syst-gen.mkii @@ -657,6 +657,11 @@ \def\resetvalue #1{\expandafter\let\csname#1\endcsname\empty} \def\ignorevalue#1#2{\expandafter\let\csname#1\endcsname\empty} +\def\setuvalue #1{\normalprotected\expandafter \def\csname#1\endcsname} +\def\setuevalue #1{\normalprotected\expandafter\edef\csname#1\endcsname} +\def\setugvalue #1{\normalprotected\expandafter\gdef\csname#1\endcsname} +\def\setuxvalue #1{\normalprotected\expandafter\xdef\csname#1\endcsname} + %D \macros %D {globallet,glet} %D diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index c28cd2a74..864baf31d 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 : 06/13/12 23:46:07 +-- merge date : 06/18/12 17:11:41 do -- begin closure to overcome local limits and interference -- cgit v1.2.3