From 11522bc3fe614d955574729c1236d6bfc5a3d5b2 Mon Sep 17 00:00:00 2001 From: Marius Date: Thu, 17 Nov 2011 10:40:26 +0200 Subject: beta 2011.11.17 09:18 --- tex/context/base/anch-pgr.mkiv | 3 + tex/context/base/anch-pos.lua | 2 +- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4118 -> 4064 bytes tex/context/base/context-version.png | Bin 106296 -> 105911 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 3 +- tex/context/base/mult-aux.mkiv | 8 +- tex/context/base/pack-bck.mkvi | 252 +++++++++++++++++++++ tex/context/base/pack-rul.mkiv | 221 ++---------------- tex/context/base/status-files.pdf | Bin 24136 -> 24021 bytes tex/context/base/status-lua.pdf | Bin 168962 -> 167852 bytes tex/context/base/tabl-xtb.mkvi | 42 +++- tex/context/fonts/lucida-math.lfg | 1 + tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 16 files changed, 317 insertions(+), 223 deletions(-) create mode 100644 tex/context/base/pack-bck.mkvi (limited to 'tex') diff --git a/tex/context/base/anch-pgr.mkiv b/tex/context/base/anch-pgr.mkiv index 906dfd73e..1901097e3 100644 --- a/tex/context/base/anch-pgr.mkiv +++ b/tex/context/base/anch-pgr.mkiv @@ -20,6 +20,9 @@ %D I will speed up this module when I have a proper torture %D test file. +%D This module will be adapted to \MKIV\ and we will have a +%D more direct processing in a pre-shipout phase. + \unprotect % in the future, the depth of tail will reflect page depth diff --git a/tex/context/base/anch-pos.lua b/tex/context/base/anch-pos.lua index eda3ecb43..34fc46209 100644 --- a/tex/context/base/anch-pos.lua +++ b/tex/context/base/anch-pos.lua @@ -357,7 +357,7 @@ end function commands.MPpos(id) local jpi = collected[id] or tobesaved[id] if jpi then - context("%spt,%spt,%spt,%spt,%spt,%spt",jpi[1]*pt,jpi[2]*pt,jpi[3]*pt,jpi[4]*pt,jpi[5]*pt,jpi[6]*pt) + context("%s,%spt,%spt,%spt,%spt,%spt",jpi[1],jpi[2]*pt,jpi[3]*pt,jpi[4]*pt,jpi[5]*pt,jpi[6]*pt) else context('0,0,0,0,0,0') end diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index c23e3b4bf..6338773da 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.11.14 16:17} +\newcontextversion{2011.11.17 09:18} %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 73c1f07fa..95d01d2b3 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.11.14 16:17} +\newcontextversion{2011.11.17 09:18} %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 2f9f24c95..1828b1acb 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 2429baea6..fadb8f369 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 65bbc7e9a..916b5f19a 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.11.14 16:17} +\edef\contextversion{2011.11.17 09:18} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 54a178193..c4b7279e2 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.11.14 16:17} +\edef\contextversion{2011.11.17 09:18} %D For those who want to use this: @@ -197,6 +197,7 @@ \loadmkvifile{pack-mis} \loadmarkfile{pack-rul} +\loadmkvifile{pack-bck} \loadmarkfile{pack-fen} \loadmarkfile{lxml-ini} diff --git a/tex/context/base/mult-aux.mkiv b/tex/context/base/mult-aux.mkiv index 8a0fdd25f..beb6ae5d1 100644 --- a/tex/context/base/mult-aux.mkiv +++ b/tex/context/base/mult-aux.mkiv @@ -64,14 +64,15 @@ % todo: add (relaxed) postsetup and postdefine hooks, just after the everys -\unexpanded\def\doinstallparameterhandler#1#2#3#4#5#6#7#8% +\unexpanded\def\doinstallparameterhandler#1#2#3#4#5#6#7#8#9% {\ifx#2\relax\let#2\empty\fi \def#3##1{\csname#4{#1#2}{##1}\endcsname}% \def#4##1##2{\ifcsname##1:##2\endcsname##1:##2\else\expandafter#5\csname##1:\s!parent\endcsname{##2}\fi}% \def#5##1##2{\ifx##1\relax\s!empty\else#4{##1}{##2}\fi}% is {} needed around ##1 ? \def#6##1##2{\csname#4{#1##1}{##2}\endcsname}% \def#7##1{\detokenize\expandafter\expandafter\expandafter{\csname#1#2:##1\endcsname}}% always root, no backtrack - \def#8##1{\csname\ifcsname#1#2:##1\endcsname#1#2:##1\else\s!empty\fi\endcsname}} + \def#8##1{\csname\ifcsname#1#2:##1\endcsname#1#2:##1\else\s!empty\fi\endcsname}% + \def#9##1{\csname#1#2:##1\endcsname}} \unexpanded\def\installparameterhandler#1#2% {\normalexpanded @@ -83,7 +84,8 @@ \expandafter\noexpand\csname do#2parentparameter\endcsname \expandafter\noexpand\csname named#2parameter\endcsname \expandafter\noexpand\csname detokenized#2parameter\endcsname - \expandafter\noexpand\csname strict#2parameter\endcsname}} + \expandafter\noexpand\csname strict#2parameter\endcsname % checked + \expandafter\noexpand\csname direct#2parameter\endcsname}} % unchecked \unexpanded\def\doinstallrootparameterhandler#1#2#3% {\def#2##1{\detokenize\expandafter\expandafter\expandafter{\csname#1:##1\endcsname}}% always root diff --git a/tex/context/base/pack-bck.mkvi b/tex/context/base/pack-bck.mkvi new file mode 100644 index 000000000..200495719 --- /dev/null +++ b/tex/context/base/pack-bck.mkvi @@ -0,0 +1,252 @@ +%D \module +%D [ file=pack-bck, % moved from pack-rul, +%D version=20111115, % 1998.10.16, +%D title=\CONTEXT\ Packaging Macros, +%D subtitle=Simple Backgrounds, +%D author=Hans Hagen \& Wolfgang Schuster, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\writestatus{loading}{ConTeXt Packaging Macros / Simple Backgrounds} + +%D The code here is already pretty old and is used for simple +%D backgrounds. As it is still used WS adapted the code to the +%D new command handler methods so that it gets a second life. So +%D it made sense to mkvi ir as well. Some more code is moved here +%D too. + +%D \macros +%D {setupbackground,startbackground,background} +%D +%D The section deals with backgrounds in the running text. This +%D means that texts is to be collected and split over pages. To +%D show what can be done, we provide this part of the +%D documentation with some gray background and a red frame. +%D Both the background and frame can have all characteristics +%D of \type{\framed}. +%D +%D \starttyping +%D \setupbackground +%D [backgroundoffset=4pt, +%D background=screen, +%D frame=on, +%D framecolor=red, +%D leftoffset=2pt] +%D \stoptyping +%D +%D The implementation is not that sophisticated, but suffices. +%D The main problem with this kind of functionality is to get +%D the spacing all right. +%D +%D Specifying the background is more or less the same as +%D specifying a framed box. +%D +%D \showsetup{setupbackground} +%D +%D {\em This mechanism is sort of obsolete and textbackgrounds should +%D be used instead.} + +\unprotect + +\installframedcommandhandler \??ag {background} \??ag + +% The mode is not that public an dmostlu an initial mode: +% +% 0 : no split +% 1 : no split, honoring leftskip (messy) +% 2 : split +% 3 : split, honoring leftskip (messy) +% +% While processing the modes will change from 3->1 or 2->0. Don't +% depend on the mode being public currently as it could become a +% key. + +\setnewconstant\backgroundsplitmode\plusthree + +\appendtoks + \setuevalue{\e!start\currentbackground}{\background_start [\currentbackground]}% + \setuevalue{\e!stop \currentbackground}{\background_stop }% + \setuevalue {\currentbackground}{\background_direct[\currentbackground]}% +\to \everydefinebackground + +\unexpanded\def\background_start[#tag]% + {\endgraf + \begingroup + \def\currentbackground{#tag}% + \doifelse{\backgroundparameter\c!state}\v!start + {\dosingleempty\background_start_indeed} + {\dosingleempty\background_start_ignore}} + +\def\background_start_indeed[#settings]% + {\setupcurrentbackground[#settings,\c!state=\v!start,\c!offset=\v!overlay]% + \let\background_stop\background_stop_indeed + \setbox0\vbox\bgroup + \vbox to \lineheight{}\vskip\zeropoint + \blank[\v!disable] + \leftskip \backgroundparameter\c!leftoffset + \rightskip\backgroundparameter\c!rightoffset} + +\def\background_start_ignore[#settings]% + {\let\background_stop\background_stop_ignore} + +\let\background_stop\relax + +\unexpanded\def\background_stop_indeed + {\endgraf + \removelastskip + \egroup + \dimen2\leftskip % new ** + \forgetall + \ifinsidefloat + \backgroundsplitmode\zerocount + \fi + \ifcase\backgroundsplitmode + \inheritedbackgroundframed{\box0}% + \or + \hskip\dimen2 + \inheritedbackgroundframed{\box0}% + \else + \splitmaxdepth\boxmaxdepth + \splittopskip\topskip + \setbox2\vsplit0 to \lineheight % get rid of fake line + \doloop + {\ifdim\pagetotal=\zeropoint % empty page + \scratchdimen\textheight + \backgroundsplitmode\plusone % split to max height + \else + \setbox0\vbox{\backgroundparameter\c!before}% + \scratchdimen\dimexpr\pagegoal-\ht0-\pagetotal\relax + \backgroundsplitmode\plustwo % split to partial height + \fi + \advance\scratchdimen\dimexpr-\backgroundparameter\c!topoffset-\backgroundparameter\c!bottomoffset\relax + \ifdim\scratchdimen>2\lineheight\relax % reasonable, will be configurable + \ifdim\ht0>\scratchdimen % larger than page + \setbox2\vsplit0 to \scratchdimen + \else + \setbox2\box0 + \backgroundsplitmode\zerocount % no split + \fi + \setbox2\vbox \ifcase\backgroundsplitmode\or to \textheight \fi % max split + {\vskip\backgroundparameter\c!topoffset + \unvcopy2 + \prevdepth\dp2 + \obeydepth + \vskip\backgroundparameter\c!bottomoffset + \vfill} + \backgroundparameter\c!before + \ifcase\backgroundsplitmode\or\or % partial split + \ifdim\pagegoal<\maxdimen + \pagegoal=1.2\pagegoal % be a bit more tolerant + \fi + \fi + \startlinecorrection + \ifnum\backgroundsplitmode=\plusthree + \hskip\dimen2 + \fi % + \inheritedbackgroundframed{\box2}% new ** + \stoplinecorrection + \ifcase\backgroundsplitmode % no split + \backgroundparameter\c!after + \else % some split + \vfill\eject % geen \page ! + \fi + \else + \page + \fi + \ifdim\ht0>\zeropoint \else + \exitloop + \fi}% + \fi + \endgroup + \endgraf} + +\unexpanded\def\background_stop_ignore + {\endgroup + \endgraf} + +\unexpanded\def\background_direct[#tag]% + {\begingroup + \def\currentbackground{#tag}% + \doifelse{\backgroundparameter\c!state}\c!start + \background_direct_indeed + \background_direct_ignore} + +\def\background_direct_indeed + {\dowithnextbox + {\setupcurrentbackground[\c!offset=\v!overlay]% + \inheritedbackgroundframed{\flushnextbox}\endgroup} + \vbox} + +\def\background_direct_ignore + {\endgroup} + +\definebackground[\v!background] + +\ifdefined\startbackground \else + \expandafter\let\startbackground\csname\e!start\v!background\endcsname + \expandafter\let\stopbackground \csname\e!stop \v!background\endcsname + \expandafter\let\background \csname \v!background\endcsname +\fi + +\setupbackground + [\c!leftoffset=.5\bodyfontsize, + \c!rightoffset=\backgroundparameter\c!leftoffset, + \c!topoffset=\!!zeropoint, + \c!bottomoffset=\backgroundparameter\c!topoffset, + \c!state=\v!start, + \c!radius=.5\bodyfontsize, + \c!corner=\v!rectangular, + \c!frame=\v!off, + \c!color=, + \c!depth=\!!zeropoint, + \c!background=\v!screen, + \c!backgroundcolor=\backgroundparameter\c!color, + \c!screen=\@@rsscreen, + \c!before=, + \c!after=] + +%D \startbuffer +%D \setupbackground[state=start,frame=on] +%D +%D \startbackground +%D \input ward +%D \stopbackground +%D +%D \background{\input ward\par} +%D +%D \setupbackground[state=stop] +%D +%D \startbackground +%D \input ward +%D \stopbackground +%D +%D \background{\input ward\par} +%D \stopbuffer +%D +%D \typebuffer \getbuffer + +%D \macros +%D {backgroundline} +%D +%D For the moment an undocumented feature, but a candidate +%D for going public. + +\unexpanded\def\backgroundline[#color]% + {\dontleavehmode + \dowithnextbox + {\hbox + {\faststartcolor[#color]% + \vrule + \!!width \nextboxwd + \!!height\nextboxht + \!!depth \nextboxdp + \faststopcolor + \hskip-\nextboxwd + \flushnextbox}}% + \hbox} + +\protect \endinput diff --git a/tex/context/base/pack-rul.mkiv b/tex/context/base/pack-rul.mkiv index df1aee5f6..86f5effe5 100644 --- a/tex/context/base/pack-rul.mkiv +++ b/tex/context/base/pack-rul.mkiv @@ -622,6 +622,18 @@ \expandafter\let\csname\??ol:\the\framednesting\s!parent\endcsname\??ol \dodoubleempty\dolocalframed[\??ol:\the\framednesting]} +\unexpanded\def\startframed + {\dosingleempty\dostartframed} + +\def\dostartframed[#1]% + {\bgroup + \advance\framednesting\plusone + \expandafter\let\csname\??ol:\the\framednesting\s!parent\endcsname\??ol + \dolocalframed[\??ol:\the\framednesting][#1]% + \bgroup} + +\let\stopframed\egroup + \unexpanded\def\setupframed {\dodoubleempty\dosetupframed} @@ -3287,162 +3299,6 @@ \endgraf % ! \@@ilafter}} -%D \macros -%D {setupbackground,startbackground,background} -%D -%D The section deals with backgrounds in the running text. This -%D means that texts is to be collected and split over pages. To -%D show what can be done, we provide this part of the -%D documentation with some gray background and a red frame. -%D Both the background and frame can have all characteristics -%D of \type{\framed}. -%D -%D \starttyping -%D \setupbackground -%D [backgroundoffset=4pt, -%D background=screen, -%D frame=on, -%D framecolor=red, -%D leftoffset=2pt] -%D \stoptyping -%D -%D The implementation is not that sophisticated, but suffices. -%D The main problem with this kind of functionality is to get -%D the spacing all right. -%D -%D Specifying the background is more or less the same as -%D specifying a framed box. -%D -%D \showsetup{setupbackground} -%D -%D {\em This mechanism is sort of obsolete and textbackgrounds should -%D be used instead.} - -\def\dosetupbackground[#1]% - {\getparameters[\??ag][#1]% - \doifelse\@@agstate\v!start - {\let\startbackground\dostartbackground - \let\stopbackground \dostopbackground - \let\background \dobackground} - {\let\startbackground\relax - \let\stopbackground \relax - \let\background \relax}} - -\unexpanded\def\setupbackground - {\dosingleargument\dosetupbackground} - -%D Actually typesetting the background is implemented rather -%D straightforward. We need to handle some spacing as well as -%D the (often) a bit smaller horizontal size. -%D -%D \showsetup{startbackground} -%D -%D Although we could have used a scratch one, we first -%D declare a boolean. - -% 0=no-split, 1=no-split+indent, 2=split, 3=split+indent - -\setnewconstant\backgroundsplitmode\plusthree - -%D The \type{\vbox to \lineheight{}\vskip\zeropoint} -%D construction gives the first real line a decent height by -%D adding a dummy line. - -\def\dostartbackground - {\endgraf - \bgroup - \setbox0\vbox\bgroup - \vbox to \lineheight{}\vskip\zeropoint - \blank[\v!disable] - % \advance\hsize -\@@agleftoffset - % \advance\hsize -\@@agrightoffset - \leftskip \@@agleftoffset % new ** - \rightskip\@@agrightoffset} % new ** - -%D This dummy line is removed by \type{\setbox2=\vsplit0 to -%D \lineheight}. That way \type{\topskip} takes care of the -%D lineheight. I'll probably forget to apply this trick -%D elsewhere. - -\presetlocalframed[\??ag] - -\def\dostopbackground % improved version (i hope) - {\endgraf - \removelastskip - \egroup - \dimen2\leftskip % new ** - \forgetall - \ifinsidefloat - \backgroundsplitmode\zerocount - \fi - \ifcase\backgroundsplitmode - \localframed[\??ag][\c!offset=\v!overlay]{\box0}% - \or - \hskip\dimen2 - \localframed[\??ag][\c!offset=\v!overlay]{\box0}% - \else - \splitmaxdepth\boxmaxdepth - \splittopskip\topskip - \setbox2\vsplit0 to \lineheight % get rid of fake line - \loop - \ifdim\pagetotal=\zeropoint % empty page - \scratchdimen\textheight - \backgroundsplitmode\plusone % split to max height - \else - \setbox\scratchbox\vbox{\@@agbefore}% - \scratchdimen\dimexpr\pagegoal-\ht\scratchbox-\pagetotal\relax - \backgroundsplitmode\plustwo % split to partial height - \fi - \advance\scratchdimen\dimexpr-\@@agtopoffset-\@@agbottomoffset\relax - \ifdim\scratchdimen>2\lineheight\relax % reasonable, will be configurable - \ifdim\ht0>\scratchdimen % larger than page - \setbox2\vsplit0 to \scratchdimen - \else - \setbox2\box0 - \backgroundsplitmode\zerocount % no split - \fi - \setbox2\vbox \ifcase\backgroundsplitmode\or to \textheight \fi % max split - {\vskip\@@agtopoffset - \unvcopy2 - \prevdepth\dp2 - \obeydepth - \vskip\@@agbottomoffset - \vfill} - \@@agbefore - \ifcase\backgroundsplitmode\or\or % partial split - \ifdim\pagegoal<\maxdimen - \pagegoal=1.2\pagegoal % be a bit more tolerant - \fi - \fi - \startlinecorrection - %\localframed[\??ag][\c!offset=\v!overlay]{\hskip\@@agleftoffset\box2\hskip\@@agrightoffset}% - \ifnum\backgroundsplitmode=\plusthree \hskip\dimen2 \fi % - \localframed[\??ag][\c!offset=\v!overlay]{\box2}% new ** - \stoplinecorrection - \ifcase\backgroundsplitmode % no split - \@@agafter - \else % some split - \vfill\eject % geen \page ! - \fi - \else - \page - \fi - \ifdim\ht0>\zeropoint \repeat - \fi - \egroup - \endgraf} - -%D As a bonus we also have a short command, that is of not -%D much use, but kept there for historic reasons. -%D -%D \showsetup{background} - -\def\dobackground - {\bgroup - \dowithnextbox - {\localframed[\??ag][\c!offset=\v!overlay]{\flushnextbox}\egroup} - \vbox} - %D New, for the moment private; let's see when GB finds out %D about this one and its obscure usage. It's used in: %D @@ -3558,41 +3414,7 @@ \ifdone\stoplinecorrection\fi \egroup} -%D \macros -%D {backgroundline} -%D -%D For the moment an undocumented feature, but a cancidate -%D for going public. - -\def\backgroundline[#1]% - %{\doifsomething{#1}{\dobackgroundline{#1}}\hbox} - {\doifcolorelse{#1}{\dobackgroundline{#1}\hbox}\hbox} - -% \def\backgroundline[#1]% -% {\doifcolor{#1}{\dobackgroundline{#1}}\hbox} - -\def\dobackgroundline#1% - {\dowithnextbox - {\hbox - {\startcolor[#1]% - \vrule - \!!width \nextboxwd - \!!height\nextboxht - \!!depth \nextboxdp - \stopcolor - \hskip-\nextboxwd - \flushnextbox}}} - -%D \macros -%D {encircled} -%D -%D Some not so robust left||overs (borrowed from Knuth, -%D \TEX Book\ page 356): - -\def\encircled#1% - {{\ooalign{\hfil\raise0.07ex\hbox{{\tx#1}}\hfil\crcr\mathhexbox20D}}} - -\let\omcirkeld\encircled +% A shared setting. \setuplinewidth [\v!medium] @@ -3703,23 +3525,6 @@ \c!before=\blank, \c!after=\blank] -\setupbackground - [\c!leftoffset=.5\bodyfontsize, - \c!rightoffset=\@@agleftoffset, - \c!topoffset=\!!zeropoint, - \c!bottomoffset=\@@agtopoffset, - \c!state=\v!start, - \c!radius=.5\bodyfontsize, - \c!corner=\v!rectangular, - \c!frame=\v!off, - \c!color=, - \c!depth=\!!zeropoint, - \c!background=\v!screen, - \c!backgroundcolor=\@@agcolor, - \c!screen=\@@rsscreen, - \c!before=, - \c!after=] - % Experimental extension: \def\c!loffset{loffset} diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 08d46ae7d..d64097b5e 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 b889cde03..e25ff5098 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/tabl-xtb.mkvi b/tex/context/base/tabl-xtb.mkvi index 57d88a13e..28518d474 100644 --- a/tex/context/base/tabl-xtb.mkvi +++ b/tex/context/base/tabl-xtb.mkvi @@ -102,8 +102,10 @@ \to \everysetupxtable \setupxtable[% - \c!nx=1, - \c!ny=1, + \c!nr=1, + \c!nc=1, + \c!nx=1, % slow + \c!ny=1, % slow \c!align=\v!table, % {\v!flushleft,\v!broad,\v!high}, % just as \bTABLE .. \eTABLE \c!frameoffset=.5\linewidth, \c!backgroundoffset=\v!frame, @@ -333,6 +335,32 @@ \fi \fi} +% For historic reasons we support both nx/nc and ny/nr : maybe nx/ny becomes +% obsolete some day. The let as well as the direct speed things up a bit. We +% could also consider a \defaultxtableparameter. +% +% \x_table_nx\defaultxtableparameter\c!nc{\defaultxtableparameter\c!nx\plusone} +% \x_table_ny\defaultxtableparameter\c!nr{\defaultxtableparameter\c!ny\plusone} +% +% Although this becomes kind of messy. It saves already time that we only check +% for it when we have settings. + +\def\before_x_cell_settings + {\letxtableparameter\c!nx\plusone + \letxtableparameter\c!ny\plusone + \letxtableparameter\c!nr\plusone + \letxtableparameter\c!nc\plusone} + +\def\after_x_cell_settings + {\x_table_nx\directxtableparameter\c!nc\relax + \x_table_ny\directxtableparameter\c!nr\relax + \ifnum\x_table_nx=\plusone + \x_table_nx\directxtableparameter\c!nx\relax + \fi + \ifnum\x_table_ny=\plusone + \x_table_ny\directxtableparameter\c!ny\relax + \fi} + \unexpanded\def\start_x_cell_reflow_width[#settings]% {\setbox\x_table_box\hbox\bgroup \ifnum\x_table_nesting>\plusone @@ -340,12 +368,14 @@ \letxtableparameter\c!height\v!fit % overloads given height \fi \iffirstargument + \before_x_cell_settings \setupcurrentxtable[#settings]% + \after_x_cell_settings + \else + \x_table_nx\plusone + \x_table_ny\plusone \fi - \x_table_nx \xtableparameter\c!nx - \x_table_ny \xtableparameter\c!ny - \x_table_distance\xtableparameter\c!distance - \relax + \x_table_distance\xtableparameter\c!distance\relax \ctxcommand{x_table_init_reflow_width()}% \inheritedxtableframed\bgroup \begin_of_cell} diff --git a/tex/context/fonts/lucida-math.lfg b/tex/context/fonts/lucida-math.lfg index 74e4ebefd..82ba589cd 100644 --- a/tex/context/fonts/lucida-math.lfg +++ b/tex/context/fonts/lucida-math.lfg @@ -339,6 +339,7 @@ return { { name = "file:lsr.afm", vector = "tex-ss" }, { name = "file:lstr.afm", vector = "tex-tt" }, { name = "file:lbl.afm", vector = "lbr-fraktur" }, -- more complete + }, }, variables = { joinrelfactor = 4, -- default is 3 diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index f55ca3ce1..431ad16cf 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 : 11/14/11 16:17:52 +-- merge date : 11/17/11 09:18:11 do -- begin closure to overcome local limits and interference -- cgit v1.2.3