summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2011-12-19 14:20:13 +0200
committerMarius <mariausol@gmail.com>2011-12-19 14:20:13 +0200
commit5eff1ba98979f1bdb6558c6f9a32acc4d55a3112 (patch)
tree5ac0f3f78fb04c5492c8743cdd22a383eac4315e
parent257458ed4e64f9f7dca6ddf4dc1d228ea8b966af (diff)
downloadcontext-5eff1ba98979f1bdb6558c6f9a32acc4d55a3112.tar.gz
beta 2011.12.19 13:06
-rw-r--r--tex/context/base/cont-new.mkii2
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4069 -> 4068 bytes
-rw-r--r--tex/context/base/context-version.pngbin104792 -> 105482 bytes
-rw-r--r--tex/context/base/context.mkii2
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/core-mis.mkiv18
-rw-r--r--tex/context/base/page-flt.mkiv7
-rw-r--r--tex/context/base/page-one.mkiv2
-rw-r--r--tex/context/base/page-sid.mkiv108
-rw-r--r--tex/context/base/spac-ver.mkiv3
-rw-r--r--tex/context/base/status-files.pdfbin23976 -> 23983 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin169720 -> 169717 bytes
-rw-r--r--tex/context/base/strc-flt.mkvi7
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
15 files changed, 93 insertions, 62 deletions
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index 8bfd21551..3a2639c96 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.19 01:47}
+\newcontextversion{2011.12.19 13:06}
%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 6a479880b..5ec1e118c 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.19 01:47}
+\newcontextversion{2011.12.19 13:06}
%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 7307dd017..f98f74e94 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png
index 2b2d5e9f0..b2123c564 100644
--- a/tex/context/base/context-version.png
+++ b/tex/context/base/context-version.png
Binary files differ
diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii
index ed241ddcf..53c21864e 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.19 01:47}
+\edef\contextversion{2011.12.19 13:06}
%D For those who want to use this:
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 74a765c4e..ee8df8080 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.19 01:47}
+\edef\contextversion{2011.12.19 13:06}
%D For those who want to use this:
diff --git a/tex/context/base/core-mis.mkiv b/tex/context/base/core-mis.mkiv
index d0f418991..0a7bd93fa 100644
--- a/tex/context/base/core-mis.mkiv
+++ b/tex/context/base/core-mis.mkiv
@@ -783,8 +783,8 @@
\c!before,\c!after,\c!left,\c!right]}}%
\doifsomething{#1}
{\setuvalue{#1}{\delimitedtext[#1]}%
- \setvalue{\e!start#1}{\startdelimitedtext[#1]}%
- \setvalue{\e!stop #1}{\stopdelimitedtext}}}
+ \setuvalue{\e!start#1}{\startdelimitedtext[#1]}% u added
+ \setuvalue{\e!stop #1}{\stopdelimitedtext}}} % u added
\unexpanded\def\setupdelimitedtext
{\dotripleargument\dosetupdelimitedtext}
@@ -806,12 +806,11 @@
\let\dohandlerepeatdelimitedtext\relax
\unexpanded\def\startdelimitedtext[#1]%
- {\bgroup
+ {\begingroup
\pushdelimitedtext{#1}%
\dostarttagged\t!delimitedblock\currentdelimitedtext
\doifelse{\delimitedtextparameter\c!method}\s!font
- {\def\dostopdelimitedtext
- {\removeunwantedspaces\ignoredelimitedtext\c!right}%
+ {\let\dostopdelimitedtext\dostopdelimitedtext_font
\ignoredelimitedtext\c!left\ignorespaces}
{\doifelse{\delimitedtextparameter\c!repeat}\v!yes
{\let\dohandlerepeatdelimitedtext\dorepeatdelimitedtext}%
@@ -819,6 +818,9 @@
\doifinsetelse{\delimitedtextparameter\c!location}{\v!paragraph,\v!margin}%
{\dosingleempty\dostartdelimitedtextpar}\dostartdelimitedtexttxt}}
+\def\dostopdelimitedtext_font
+ {\removeunwantedspaces\ignoredelimitedtext\c!right}
+
\def\dostartdelimitedtextpar[#1]%
{\let\dostopdelimitedtext\dostopdelimitedtextpar
\doifsomething{\delimitedtextparameter\c!spacebefore}
@@ -849,7 +851,7 @@
{\removeunwantedspaces
\removelastskip
\rightdelimitedtextmark
- \begingroup
+ \endgroup
\popmacro\checkindentation
\dodostopdelimitedtextpar
\delimitedtextparameter\c!after
@@ -875,7 +877,7 @@
{\dostopdelimitedtext
\dostoptagged
\popdelimitedtext
- \egroup}
+ \endgroup}
\def\pushdelimitedtext#1%
{\globalpushmacro\currentdelimitedtext
@@ -898,7 +900,7 @@
\unexpanded\def\startdelimited{\startdelimitedtext}
\unexpanded\def\stopdelimited {\stopdelimitedtext} % no let, dynamically assigned
-\def\delimited {\delimitedtext}
+ \def\delimited {\delimitedtext}
\def\leftdelimitedtextmark
{\doifsomething{\delimitedtextparameter\c!left}
diff --git a/tex/context/base/page-flt.mkiv b/tex/context/base/page-flt.mkiv
index f2b183f2d..4eef6f25c 100644
--- a/tex/context/base/page-flt.mkiv
+++ b/tex/context/base/page-flt.mkiv
@@ -246,7 +246,7 @@
\doflushsomepagefloat\checkedpagefloat
\fi\fi}
-\def\uncenteredfloatbox
+\def\uncenteredfloatbox % hm, where is this one used (was in save/restore, see old implementation)
{\ifcenterfloatbox
\ifhbox\floatbox\relax % remove centering
\ifdim\wd\floatbox=\hsize
@@ -269,8 +269,8 @@
\box\floatbox
\fi}
-\ifdefined\doflushfloats\else \let\doflushfloats\relax \fi
-\ifdefined\flushfloatbox\else \let\flushfloatbox\relax \fi
+% \ifdefined\doflushfloats\else \let\doflushfloats\relax \fi
+% \ifdefined\flushfloatbox\else \let\flushfloatbox\relax \fi
% temp hack, needed to prevent floatbox being forgotten during
% output, this will change to using another box for flushing
@@ -284,6 +284,7 @@
\appendtoks
\global\setbox\savedfloatbox\box\floatbox
\to \everybeforeoutput
+
\appendtoks
\global\setbox\floatbox\box\savedfloatbox
\to \everyafteroutput
diff --git a/tex/context/base/page-one.mkiv b/tex/context/base/page-one.mkiv
index cc65a7267..c44ff830b 100644
--- a/tex/context/base/page-one.mkiv
+++ b/tex/context/base/page-one.mkiv
@@ -437,7 +437,7 @@
\someelsefloat[\v!here]%
\else
%\checkwaitingfloats{#1}%
- \setbox\floatbox\vbox{\box\floatbox}%
+ \setbox\floatbox\vbox{\box\floatbox}% ? can go
\wd\floatbox\floatwidth
\processfirstactioninset
[#1]
diff --git a/tex/context/base/page-sid.mkiv b/tex/context/base/page-sid.mkiv
index 38ae1cfcc..ee1962310 100644
--- a/tex/context/base/page-sid.mkiv
+++ b/tex/context/base/page-sid.mkiv
@@ -41,12 +41,14 @@
\newdimen \d_page_sides_progress
\newdimen \d_page_sides_page_total
\newdimen \d_page_sides_saved_depth
+\newdimen \d_page_sides_grid_shift
\newbox \b_page_sides_bottom
\newcount \c_page_sides_lines_done
\newcount \c_page_sides_checks_done
\newcount \c_page_sides_n_of_lines
+\newcount \c_page_sides_n_of_hang
\newconstant \c_page_sides_float_type
\newconditional \c_page_sides_short
@@ -457,16 +459,54 @@
\fi\fi
\global\sidefloatdownshift\zeropoint}
-\def\page_sides_place_float % nilling everypar saves time and redudant pos's
- {% removed here dec 2001
- % {\everypar\emptytoks\forgetall\verticalstrut\vskip-\struttotal}%
- \ifnum\c_page_sides_float_type=\plusfour \kern\sidefloattopskip \fi
+\def\page_sides_place_float
+ {\ifnum\c_page_sides_float_type=\plusfour \kern\sidefloattopskip \fi
\ifnum\c_page_sides_float_type=\plusfive \kern\sidefloattopskip \fi
\d_page_sides_saved_depth\prevdepth
\nointerlineskip
- \bgroup
- \everypar\emptytoks
- \parskip\zeropoint
+ \ifgridsnapping
+ \page_sides_place_float_grid
+ \else
+ \page_sides_place_float_normal
+ \fi
+ \par
+ \kern-\d_page_sides_height
+ \penalty10001 % oeps, this will change
+ \normalbaselines
+ \prevdepth\d_page_sides_saved_depth}
+
+\def\page_sides_place_float_normal
+ {\d_page_sides_grid_shift\zeropoint % be nice
+ \page_sides_push_float_inline\firstofoneargument}
+
+% The following needs some more work .. consider this a quick hack. We
+% probably need an mkiv hanging grid option.
+
+\def\page_sides_place_snap_to_grid#1%
+ {\snaptogrid[\v!line,\v!offset:\the\d_page_sides_grid_shift]\hbox{#1}}
+
+% this will be a grid option in float placement:
+
+\newconstant\c_page_sides_place_grid_shift \c_page_sides_place_grid_shift\plustwo
+
+\def\page_sides_place_float_grid
+ {\getrawnoflines\d_page_sides_height % raw ?
+ \d_page_sides_height\plustwo\lineheight
+ \d_page_sides_grid_shift\the\dimexpr \noflines\lineheight
+ \ifcase\c_page_sides_place_grid_shift
+ -3\lineheight % high
+ \or
+ -2.5\lineheight % half
+ \else
+ -2\lineheight % low
+ \fi
+ \relax
+ \page_sides_push_float_inline\page_sides_place_snap_to_grid}
+
+\def\page_sides_push_float_inline#1%
+ {\begingroup
+ \everypar\emptytoks % needed !
+ \parskip\zeropoint % needed !
\page_sides_set_skips
\page_sides_insert_info
\relax
@@ -474,35 +514,23 @@
\ifcase\c_page_sides_float_type
% invalid
\or % backspace
- \noindent\llap{\rlap{\box\floatbox}\hskip\sidefloatleftskip}\hfill
+ \noindent#1{\llap{\rlap{\box\floatbox}\hskip\sidefloatleftskip}}\hfill
\or % leftedge
- \noindent\llap{\box\floatbox\hskip\sidefloatleftskip}\hfill
+ \noindent#1{\llap{\box\floatbox\hskip\sidefloatleftskip}}\hfill
\or % leftmargin
- \noindent\llap{\box\floatbox\hskip\sidefloatleftskip}\hfill
+ \noindent#1{\llap{\box\floatbox\hskip\sidefloatleftskip}}\hfill
\or % leftside
- \noindent\box\floatbox\hfill
+ \noindent#1{\box\floatbox}\hfill
\or % rightside
- \hfill\box\floatbox
+ \hfill#1{\box\floatbox}%
\or % rightmargin
- \hfill\rlap{\hskip\sidefloatrightskip\box\floatbox}%
+ \hfill#1{\rlap{\hskip\sidefloatrightskip\box\floatbox}}%
\or % rightedge
- \hfill\rlap{\hskip\sidefloatrightskip\box\floatbox}%
+ \hfill#1{\rlap{\hskip\sidefloatrightskip\box\floatbox}}%
\or % cutspace
- \hfill\rlap{\hskip\sidefloatrightskip\llap{\box\floatbox}}%
+ \hfill#1{\rlap{\hskip\sidefloatrightskip\llap{\box\floatbox}}}%
\fi
- \egroup
- \par
- \ifgridsnapping
- \getrawnoflines\d_page_sides_height
- \d_page_sides_height=\noflines\lineheight
- \fi
- \kern-\d_page_sides_height
- \penalty10001 % oeps, this will change
- \normalbaselines
- \prevdepth\d_page_sides_saved_depth
- % \noindent
- \page_sides_check_floats_reset
- \ignorespaces} % not really needed
+ \endgroup}
\def\page_sides_analyse_progress
{\d_page_sides_progress\d_page_sides_vsize
@@ -580,7 +608,9 @@
\page_sides_analyse_space
\page_sides_inject_dummy_lines
\fi
- \page_sides_place_float}
+ \page_sides_place_float
+ \page_sides_check_floats_reset
+ \ignorespaces} % not really needed
\def\page_sides_check_floats_indeed
{\page_sides_analyse_progress
@@ -598,17 +628,17 @@
\def\page_sides_check_floats_set
{\scratchdimen\dimexpr\d_page_sides_progress+\strutht-\roundingeps\relax
- \!!counta\scratchdimen
- \divide\!!counta \baselineskip\relax
- \ifnum\!!counta>\zerocount
+ \c_page_sides_n_of_hang\scratchdimen
+ \divide\c_page_sides_n_of_hang \baselineskip\relax
+ \ifnum\c_page_sides_n_of_hang>\zerocount
% new from here (needs test case, old code)
\ifcase\c_page_sides_n_of_lines
\else
\ifcase\c_page_sides_lines_done
- \global\c_page_sides_lines_done\!!counta
+ \global\c_page_sides_lines_done\c_page_sides_n_of_hang
\else
\scratchcounter\c_page_sides_lines_done
- \advance\scratchcounter-\!!counta
+ \advance\scratchcounter-\c_page_sides_n_of_hang
\global\advance\c_page_sides_n_of_lines-\scratchcounter
\fi
\fi
@@ -619,10 +649,10 @@
\scratchdimen\dimexpr\hsize-\d_page_sides_width\relax
\dorecurse\c_page_sides_n_of_lines
{\appendtoks \zeropoint \hsize \to \scratchtoks}%
- \ifnum\!!counta>\c_page_sides_n_of_lines
- \advance\!!counta -\c_page_sides_n_of_lines\relax
- \advance\scratchcounter\!!counta
- \dorecurse\!!counta % weird, shouldn't that be scratchcounter
+ \ifnum\c_page_sides_n_of_hang>\c_page_sides_n_of_lines
+ \advance\c_page_sides_n_of_hang -\c_page_sides_n_of_lines\relax
+ \advance\scratchcounter\c_page_sides_n_of_hang
+ \dorecurse\c_page_sides_n_of_hang % weird, shouldn't that be scratchcounter
{\ifnum\c_page_sides_float_type>\plusfour
\appendtoks \zeropoint \scratchdimen \to \scratchtoks
\else
@@ -637,7 +667,7 @@
\else
% new till here
\hangindent \ifnum\c_page_sides_float_type>\plusfour -\fi\d_page_sides_width
- \hangafter-\!!counta
+ \hangafter-\c_page_sides_n_of_hang
\fi
\fi
\global\advance\c_page_sides_checks_done \plusone
diff --git a/tex/context/base/spac-ver.mkiv b/tex/context/base/spac-ver.mkiv
index 2d137d360..fe83414c7 100644
--- a/tex/context/base/spac-ver.mkiv
+++ b/tex/context/base/spac-ver.mkiv
@@ -1241,7 +1241,7 @@
% minheight round height down
% maxheight round height up
% local use local interline space
-% offset:-3tp vertical shift within box
+% offset:-3tp vertical shift within box
% bottom:lines
% top:lines
@@ -1274,7 +1274,6 @@
\definegridsnapping[\v!middle] [\v!maxheight,\v!maxdepth] % used in placement
-
\newtoks\everysetupgridsnapping % this only happens at the setuplayout level
\def\dosetupgridsnapping{\the\everysetupgridsnapping} % not used !
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index ccf9141f5..ea308c0b2 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index 385b4ccb3..0ce87fb5b 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/strc-flt.mkvi b/tex/context/base/strc-flt.mkvi
index b38642eee..5e9dd5ec5 100644
--- a/tex/context/base/strc-flt.mkvi
+++ b/tex/context/base/strc-flt.mkvi
@@ -813,7 +813,7 @@
{\global\sidefloatdownshift \zeropoint
\global\sidefloatextrashift\zeropoint
\doifassignmentelse{#settings}%
- {\bgroup
+ {\begingroup
\getparameters[\??fl\??fl][\c!x=\zeropoint,\c!y=\zeropoint,#settings]%
\ifgridsnapping
\getnoflines\@@fly
@@ -822,7 +822,7 @@
\global\sidefloatdownshift\@@fl@@fly
\fi
\global\sidefloatextrashift\@@fl@@flx
- \egroup}
+ \endgroup}
{\movedownsidefloat[#settings]}}
\def\float_move_down#setting%
@@ -1157,8 +1157,6 @@
% minwidth=fit,width=max : no overshoot, as wide as graphic
-\ifdefined\moveboxontogrid\else \let\movecaptionontogrid\gobblethreearguments \fi
-
\def\float_align_content_indeed
{\alignstrutmode\zerocount
\doifnotcommon{\floatcaptionparameter\c!location}{\v!outermargin,\v!innermargin,\v!leftmargin,\v!rightmargin}
@@ -1470,6 +1468,7 @@
\def\doflushfloatleftcaptionhang
{\hsmash{\llap{\box\float_caption_box\dotfskip{\floatcaptionparameter\c!distance}}}}
+
\def\doflushfloatrightcaptionhang
{\hsmash{\rlap{\dotfskip{\floatcaptionparameter\c!distance}\box\float_caption_box}}}
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 74a8d9027..748d476de 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/19/11 01:47:29
+-- merge date : 12/19/11 13:06:43
do -- begin closure to overcome local limits and interference