From 2ee95c7070f4d16d25209332378cb27e599292f7 Mon Sep 17 00:00:00 2001 From: Marius Date: Mon, 2 Jan 2012 23:20:16 +0200 Subject: beta 2012.01.02 21:59 --- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4072 -> 4071 bytes tex/context/base/context-version.png | Bin 104249 -> 104319 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/spac-ver.lua | 2 + tex/context/base/spac-ver.mkiv | 102 +++++++++++---------- tex/context/base/status-files.pdf | Bin 24199 -> 24207 bytes tex/context/base/status-lua.pdf | Bin 170104 -> 170108 bytes tex/context/base/status-mkiv.lua | 1 + tex/context/base/status-mkiv.tex | 3 +- tex/context/base/tabl-xtb.mkvi | 6 +- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 14 files changed, 64 insertions(+), 60 deletions(-) (limited to 'tex') diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index 8a9337707..cdaa6555b 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.01.02 19:23} +\newcontextversion{2012.01.02 21:59} %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 1cd0e3508..f15350801 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.01.02 19:23} +\newcontextversion{2012.01.02 21:59} %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 b3213bb61..2b75912ca 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 a273c3c82..3f70be95d 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 77a02c426..e6112b831 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.01.02 19:23} +\edef\contextversion{2012.01.02 21:59} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index a19eecf9c..b9b1a545d 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.01.02 19:23} +\edef\contextversion{2012.01.02 21:59} %D For those who want to use this: diff --git a/tex/context/base/spac-ver.lua b/tex/context/base/spac-ver.lua index bb5a3f7f8..f9ef14da1 100644 --- a/tex/context/base/spac-ver.lua +++ b/tex/context/base/spac-ver.lua @@ -8,6 +8,8 @@ if not modules then modules = { } end modules ['spac-ver'] = { -- we also need to call the spacer for inserts! +-- todo: directly set skips + -- this code dates from the beginning and is kind of experimental; it -- will be optimized and improved soon -- diff --git a/tex/context/base/spac-ver.mkiv b/tex/context/base/spac-ver.mkiv index 4a37b0a3a..a84b49a18 100644 --- a/tex/context/base/spac-ver.mkiv +++ b/tex/context/base/spac-ver.mkiv @@ -17,19 +17,6 @@ \registerctxluafile{spac-ver}{1.001} -\newskip\blankskip \blankskip=\bigskipamount - -\def\skipfactor {.75} -\def\skipgluefactor{.25} - -\def\normalskipamount - {\openlineheight - \ifgridsnapping \else \ifblankflexible - \!!plus \skipgluefactor\openlineheight - \!!minus\skipgluefactor\openlineheight - \fi \fi - \relax} - %D There are two ways to influence the interline spacing. The %D most general and often most consistent way is using %D @@ -61,7 +48,18 @@ \newif\iflocalinterlinespace -% font-ini +\newskip\s_spac_vspacing_temp \s_spac_vspacing_temp\bigskipamount + +\def\skipfactor {.75} +\def\skipgluefactor{.25} + +\def\normalskipamount + {\openlineheight + \ifgridsnapping \else \ifblankflexible + \!!plus \skipgluefactor\openlineheight + \!!minus\skipgluefactor\openlineheight + \fi \fi + \relax} \ifx\bodyfontinterlinespecs\undefined @@ -70,7 +68,7 @@ \fi -\def\presetnormallineheight % each bodyfont +\unexpanded\def\presetnormallineheight % each bodyfont {\edef\normallineheight{\interlinespaceparameter\c!line}% %done elsewhere : \spacing\!!plusone % new per 10/08/2004, else problems in otr / !! needed \iflocalinterlinespace \else @@ -79,41 +77,43 @@ {\edef\normallineheight{\bodyfontinterlinespace}}}% \fi} -% to be tested: +% check and test: % -% \def\presetnormallineheight % each bodyfont +% \let\m_spac_linespacing_asked\empty +% +% \unexpanded\def\presetnormallineheight % each bodyfont % {\iflocalinterlinespace -% \spac_basics_set_lineheight_regular +% \spac_linespacing_set_lineheight_regular % \else -% \spac_basics_set_lineheight_checked +% \spac_linespacing_set_lineheight_checked % \fi} % -% \def\spac_basics_set_lineheight_regular +% \def\spac_linespacing_set_lineheight_regular % {\edef\normallineheight{\interlinespaceparameter\c!line}} % -% \def\spac_basics_set_lineheight_checked -% {\edef\askedbodyfontinterlinespecs{\bodyfontvariable{\normalizedbodyfontsize\c!interlinespace}}% -% \ifcsname\askedbodyfontinterlinespecs\endcsname -% \spac_basics_set_lineheight_specific +% \def\spac_linespacing_set_lineheight_checked +% {\edef\m_spac_linespacing_asked{\bodyfontvariable{\normalizedbodyfontsize\c!interlinespace}}% +% \ifcsname\m_spac_linespacing_asked\endcsname +% \spac_linespacing_set_lineheight_specific % \else -% \spac_basics_set_lineheight_regular +% \spac_linespacing_set_lineheight_regular % \fi} % -% \def\spac_basics_set_lineheight_specific -% {\edef\askedbodyfontinterlinespace{\csname\bodyfontinterlinespecs\endcsname}% -% \ifx\askedbodyfontinterlinespace\empty -% \spac_basics_set_lineheight_regular +% \def\spac_linespacing_set_lineheight_specific +% {\edef\m_spac_linespacing_asked{\csname\bodyfontinterlinespecs\endcsname}% +% \ifx\m_spac_linespacing_asked\empty +% \spac_linespacing_set_lineheight_regular % \else -% \let\normallineheight\askedbodyfontinterlinespace +% \let\normallineheight\m_spac_linespacing_asked % \fi} \let\currentrelativeinterlinespace\empty \unexpanded\def\setupspecifiedinterlinespace[#1]% {\getparameters[\??it\currentinterlinespace][#1]% - \dosetupspecifiedinterlinespaceindeed} + \spac_linespacing_setup_specified_interline_space} -\def\dosetupspecifiedinterlinespaceindeed +\def\spac_linespacing_setup_specified_interline_space {\edef\strutheightfactor {\interlinespaceparameter\c!height }% \edef\strutdepthfactor {\interlinespaceparameter\c!depth }% \edef\minimumstrutheight {\interlinespaceparameter\c!minheight}% @@ -132,35 +132,37 @@ \installcorenamespace{interlinespacerelative} +\let\setrelativeinterlinespace\relax % used elsewhere + \setvalue{\??interlinespacerelative\v!on }{\oninterlineskip} \setvalue{\??interlinespacerelative\v!off }{\offinterlineskip} \setvalue{\??interlinespacerelative\v!reset}{\let\currentrelativeinterlinespace\empty \let\setrelativeinterlinespace\relax \setfontparameters} -\setvalue{\??interlinespacerelative\v!auto }{\let\setrelativeinterlinespace\dosetrelativeinterlinespace} +\setvalue{\??interlinespacerelative\v!auto }{\let\setrelativeinterlinespace\spac_linespacing_set_relative_interlinespace} -\def\dosetspecifiedrelativeinterlinespace#1% fragile? +\def\spac_linespacing_set_specified_relative_interlinespace#1% fragile? {\doifdimenstringelse{#1} {\setupspecifiedinterlinespace[\c!line=#1]} {\assignvalue{#1}\currentrelativeinterlinespace{1.00}{1.25}{1.50}% \spacing\currentrelativeinterlinespace}} \unexpanded\def\setuprelativeinterlinespace[#1]% - {\processcommalist[#1]\dosetuprelativeinterlinespace} + {\processcommalist[#1]\spac_linespacing_setup_relative_interlinespace} -\def\dosetuprelativeinterlinespace#1% +\def\spac_linespacing_setup_relative_interlinespace#1% {\ifcsname\??interlinespacerelative#1\endcsname \csname\??interlinespacerelative#1\endcsname \else - \dosetspecifiedrelativeinterlinespace{#1}% + \spac_linespacing_set_specified_relative_interlinespace{#1}% \fi} -\def\dosetrelativeinterlinespace +\def\spac_linespacing_set_relative_interlinespace {\ifx\currentrelativeinterlinespace\empty\else \spacing\currentrelativeinterlinespace \fi} -\let\setrelativeinterlinespace\relax +% todo: use command handler here \newtoks\everysetupglobalinterlinespace \newtoks\everysetuplocalinterlinespace @@ -1471,7 +1473,7 @@ \newconditional\someblankdone \appendtoks - \blankskip\zeropoint + \s_spac_vspacing_temp\zeropoint \attribute\skipcategoryattribute\plusone \attribute\skippenaltyattribute \attributeunsetvalue \attribute\skiporderattribute \attributeunsetvalue @@ -1483,11 +1485,11 @@ \to \everybeforeblankhandling \appendtoks - \ifconditional\blankisfixed - \blankskip1\blankskip - \else - \blankskip1\blankskip\!!plus\skipgluefactor\blankskip\!!minus\skipgluefactor\blankskip - \fi + \s_spac_vspacing_temp\plusone\s_spac_vspacing_temp + \ifconditional\blankisfixed \else + \!!plus \skipgluefactor\s_spac_vspacing_temp + \!!minus\skipgluefactor\s_spac_vspacing_temp + \fi \to \everyafterblankhandling % \ifgridsnapping will go @@ -1515,7 +1517,7 @@ \def\addblankskip#1#2#3% {\settrue\someblankdone - \advance\blankskip#1\dimexpr\ifgridsnapping#3\else#2\fi\relax\relax} + \advance\s_spac_vspacing_temp#1\dimexpr\ifgridsnapping#3\else#2\fi\relax\relax} \def\setblankpenalty #1% {\flushblankhandling @@ -1543,14 +1545,14 @@ \unexpanded\def\stopblankhandling {\the\everyafterblankhandling \ifconditional\someblankdone - \vskip\blankskip + \vskip\s_spac_vspacing_temp \fi \endgroup} \def\flushblankhandling {\the\everyafterblankhandling \ifconditional\someblankdone - \vskip\blankskip + \vskip\s_spac_vspacing_temp \fi \setfalse\someblankdone \the\everybeforeblankhandling} @@ -1568,11 +1570,11 @@ \def\addpredefinedblankskip#1#2% {\settrue\someblankdone - \advance\blankskip#1\dimexpr\csname\??vspacingamount#2\endcsname\relax} + \advance\s_spac_vspacing_temp#1\dimexpr\csname\??vspacingamount#2\endcsname\relax} \def\addaskedblankskip#1#2% {\settrue\someblankdone - \advance\blankskip#1\dimexpr#2\relax} + \advance\s_spac_vspacing_temp#1\dimexpr#2\relax} \unexpanded\def\definevspacing {\dodoubleempty\dodefinevspacing} diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 896cfc66a..2450c93b4 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 ead91c158..5c297c1ff 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/status-mkiv.lua b/tex/context/base/status-mkiv.lua index 524f8e602..27e65c475 100644 --- a/tex/context/base/status-mkiv.lua +++ b/tex/context/base/status-mkiv.lua @@ -575,6 +575,7 @@ return { filename = "spac-ver", marktype = "mkiv", status = "unknown", + comment = "update lua code (communicate via register)" }, { filename = "spac-pag", diff --git a/tex/context/base/status-mkiv.tex b/tex/context/base/status-mkiv.tex index 82a737f43..4c764e4f7 100644 --- a/tex/context/base/status-mkiv.tex +++ b/tex/context/base/status-mkiv.tex @@ -92,7 +92,8 @@ local valid = table.tohash { "toks", "attr", "page", "buff", "font", "colo", "phys", "supp", "typo", "strc", "syst", "tabl", "spac", "scrn", "lang", "lxml", "mlib", "java", "pack", "math", - "symb", "grph", "anch", "luat", "mult", "back", "node", "meta", "module", + "symb", "grph", "anch", "luat", "mult", "back", "node", "meta", + "module", } context.startsubject { title = "Valid prefixes" } diff --git a/tex/context/base/tabl-xtb.mkvi b/tex/context/base/tabl-xtb.mkvi index 1f5ce8a18..6ddaf39e0 100644 --- a/tex/context/base/tabl-xtb.mkvi +++ b/tex/context/base/tabl-xtb.mkvi @@ -156,16 +156,14 @@ \buff_pickup{\tabl_x_current_buffer}{startxtable}{stopxtable}\relax\tabl_x_process} \unexpanded\def\processxtablebuffer - {\dosingleempty\tabl_x_process_buffer} - -\let\tabl_x_normal_start\tabl_x_start_table + {\dosingleempty\tabl_x_process_buffer_directly} % These direct buffers can be somewhat faster but it's probably neglectable. % Anyway, no nesting is supported as we then need to catch (e.g.) rows and % keep track of nesting and have a more complex redefinition of nested % instanced \unknown\ it's not worth the trouble. -\def\tabl_x_process_buffer[#name]% +\def\tabl_x_process_buffer_directly[#name]% {\bgroup \let\tabl_x_start_table\tabl_x_process_buffer \edef\tabl_x_current_buffer{#name}% diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 25176c36c..d609ca635 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 : 01/02/12 19:23:09 +-- merge date : 01/02/12 21:59:34 do -- begin closure to overcome local limits and interference -- cgit v1.2.3