summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2013-03-25 19:07:00 +0100
committerHans Hagen <pragma@wxs.nl>2013-03-25 19:07:00 +0100
commit9a00ccc904a5396ac780ba4785c30f1c1afa6471 (patch)
tree1d8c357780042205aeab16d7af8a6fdddaf2bdc5 /tex
parent6f5a110cb2b224aa3724194edfa354d38e7235cc (diff)
downloadcontext-9a00ccc904a5396ac780ba4785c30f1c1afa6471.tar.gz
beta 2013.03.25 19:07
Diffstat (limited to 'tex')
-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.pdfbin4137 -> 4137 bytes
-rw-r--r--tex/context/base/context-version.pngbin40261 -> 40161 bytes
-rw-r--r--tex/context/base/context.mkii2
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/font-ini.mkvi32
-rw-r--r--tex/context/base/grph-fig.mkiv2
-rw-r--r--tex/context/base/math-ali.mkiv20
-rw-r--r--tex/context/base/mult-low.lua2
-rw-r--r--tex/context/base/page-app.mkiv17
-rw-r--r--tex/context/base/page-mak.mkvi7
-rw-r--r--tex/context/base/spac-ali.mkiv3
-rw-r--r--tex/context/base/spac-ver.mkiv11
-rw-r--r--tex/context/base/status-files.pdfbin24756 -> 24775 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin211596 -> 211630 bytes
-rw-r--r--tex/context/base/strc-lst.lua1
-rw-r--r--tex/context/base/strc-lst.mkvi11
-rw-r--r--tex/context/base/strc-ref.mkvi16
-rw-r--r--tex/context/base/strc-reg.mkiv6
-rw-r--r--tex/context/base/strc-ren.mkiv6
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
22 files changed, 118 insertions, 26 deletions
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index 1763a50ae..736a547c6 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{2013.03.24 15:11}
+\newcontextversion{2013.03.25 19:07}
%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 29e251c13..d26e2f240 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{2013.03.24 15:11}
+\newcontextversion{2013.03.25 19:07}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index bbdd8306b..c718216c5 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 76e54ddeb..371a30b54 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 54f3720da..a4a3f3f6b 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{2013.03.24 15:11}
+\edef\contextversion{2013.03.25 19:07}
%D For those who want to use this:
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index b07d561c1..d31bfa8c0 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -25,7 +25,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2013.03.24 15:11}
+\edef\contextversion{2013.03.25 19:07}
%D For those who want to use this:
diff --git a/tex/context/base/font-ini.mkvi b/tex/context/base/font-ini.mkvi
index 897c56ed3..63b7863c8 100644
--- a/tex/context/base/font-ini.mkvi
+++ b/tex/context/base/font-ini.mkvi
@@ -2265,4 +2265,36 @@
% in case of troubles: \let\restorebodyfont\fullrestoreglobalbodyfont
+%D Here are some fast variants that can be used in cases where no font
+%D system is needed and where fonts are frozen:
+%D
+%D \starttyping
+%D \definefont [TestA][Serif at 10pt]
+%D \predefinefont[TestB][Serif at 20pt]
+%D
+%D \testfeatureonce{1000}{{\TestA}} % .312
+%D \testfeatureonce{1000}{{\TestB}} % < .016
+%D \testfeatureonce{1000}{{\definedfont[Serif at 30pt]}} % .312
+%D \testfeatureonce{1000}{{\predefinedfont[Serif at 40pt]}} % < .016
+%D \stoptyping
+
+\installcorenamespace{predefinedfont}
+
+\unexpanded\def\predefinefont[#1]#2[#3]% global !
+ {\setugvalue{#1}{\font_basics_predefine{#1}{#3}}}
+
+\unexpanded\def\predefinedfont[#1]% global !
+ {\ifcsname\??predefinedfont#1\endcsname
+ \csname\??predefinedfont#1\endcsname
+ \else
+ \font_basics_predefined{#1}%
+ \fi}
+
+\unexpanded\def\font_basics_predefine#1#2%
+ {\font_basics_defined_font_yes[#2]%
+ \global\expandafter\let\csname#1\expandafter\endcsname\csname\v_font_identifier_basic\endcsname}
+
+\unexpanded\def\font_basics_predefined#1%
+ {\font_basics_predefine{\??predefinedfont#1}{#1}}
+
\protect \endinput
diff --git a/tex/context/base/grph-fig.mkiv b/tex/context/base/grph-fig.mkiv
index 864bd29fb..80b8e35d9 100644
--- a/tex/context/base/grph-fig.mkiv
+++ b/tex/context/base/grph-fig.mkiv
@@ -311,7 +311,7 @@
\endgraf}
\def\grph_steps_this_is(#1,#2)#3[#4]%
- {\grph_steps_area(#1,#2){#3}{\pagereference[#4]}}
+ {\grph_steps_area(#1,#2){#3}{\dosetdirectpagereference{#4}}}
\def\grph_steps_area(#1,#2)#3#4% (h,b){kader}{tekst}
{\bgroup
diff --git a/tex/context/base/math-ali.mkiv b/tex/context/base/math-ali.mkiv
index 9e6fda074..0e08c70bb 100644
--- a/tex/context/base/math-ali.mkiv
+++ b/tex/context/base/math-ali.mkiv
@@ -221,6 +221,26 @@
\definemathalignment[align] % default case (this is what amstex users expect)
\definemathalignment[\v!mathalignment] % prefered case (this is cleaner, less clashing)
+% special case.. in case one mistypes ..
+
+\ifdefined \startalignment
+
+ \let\align_math_normal_start\startalign
+ \let\align_math_normal_stop \stopalign
+
+ \let\align_text_normal_start\startalignment
+ \let\align_text_normal_stop \stopalignment
+
+ \unexpanded\def\startalign{\ifmmode\expandafter\align_math_normal_start\else\expandafter\align_text_normal_start\fi}
+ \unexpanded\def\stopalign {\ifmmode\expandafter\align_math_normal_stop \else\expandafter\align_text_normal_stop \fi}
+
+ \let\startalignment\startalign
+ \let\stopalignment \stopalign
+
+\fi
+
+%
+
\def\numberedeqalign
{\doifelse{\formulaparameter\c!location}\v!left
\math_handle_eqalign_no_l_aligned
diff --git a/tex/context/base/mult-low.lua b/tex/context/base/mult-low.lua
index 3af1f1a44..d3c5add10 100644
--- a/tex/context/base/mult-low.lua
+++ b/tex/context/base/mult-low.lua
@@ -95,7 +95,7 @@ return {
"startcomponent", "stopcomponent", "component",
"startproduct", "stopproduct", "product",
"startproject", "stopproject", "project",
- "starttext", "stoptext", "startnotext", "stopnotext","startdocument", "stopdocument", "documentvariable",
+ "starttext", "stoptext", "startnotext", "stopnotext","startdocument", "stopdocument", "documentvariable", "setupdocument",
"startmodule", "stopmodule", "usemodule", "usetexmodule", "useluamodule",
--
"startTEXpage", "stopTEXpage",
diff --git a/tex/context/base/page-app.mkiv b/tex/context/base/page-app.mkiv
index 0cf83592d..5f1c2f297 100644
--- a/tex/context/base/page-app.mkiv
+++ b/tex/context/base/page-app.mkiv
@@ -186,17 +186,28 @@
\unexpanded\def\startpagefigure
{\dodoubleempty\page_figures_start}
+% this one:
+%
+% \def\page_figures_start[#1][#2]%
+% {\bgroup
+% \def\currentexternalfigure{\v!page:\v!figure}%
+% \setupcurrentexternalfigure[\c!offset=\v!overlay,#2]%
+% \startTEXpage[\c!offset=\externalfigureparameter\c!offset]%
+% \externalfigure[#1]\ignorespaces} % so we can put some text below the graphic
+%
+% or this one:
+
\def\page_figures_start[#1][#2]%
{\bgroup
\setupexternalfigure[\v!page:\v!figure][\c!offset=\v!overlay,#2]%
- \startTEXpage[\c!offset=\externalfigureparameter\c!offset]%
- \externalfigure[#1][\v!page:\v!figure]\ignorespaces} % so we can put some text below the graphic
+ \startTEXpage[\c!offset=\namedexternalfigureparameter{\v!page:\v!figure}\c!offset]%
+ \externalfigure[#1]\ignorespaces} % so we can put some text below the graphic
\unexpanded\def\stoppagefigure
{\stopTEXpage
\egroup}
-\def\pagefigure
+\unexpanded\def\pagefigure
{\dodoubleempty\page_figure}
\def\page_figure[#1][#2]%
diff --git a/tex/context/base/page-mak.mkvi b/tex/context/base/page-mak.mkvi
index 4e5e5dcbe..71af520a1 100644
--- a/tex/context/base/page-mak.mkvi
+++ b/tex/context/base/page-mak.mkvi
@@ -107,7 +107,7 @@
\global\setbox\b_page_makeup\vbox to \makeupparameter\c!height \bgroup
\usemakeupstyleandcolor\c!style\c!color
\hsize\makeupparameter\c!width
- \setupalign[\makeupparameter\c!align]%
+ \usealignparameter\makeupparameter
\usesetupsparameter\makeupparameter % lua(..),xml(...,..),tex(..)
\makeupparameter\c!top
\let\stopmakeup\page_makeup_stop_yes}
@@ -124,7 +124,10 @@
\fi
\setuppagenumber[\c!state=\makeupparameter\c!pagestate]%
\doif{\makeupparameter\c!location}\v!top{\topskip\zeropoint}%
- \box\b_page_makeup
+ \edef\p_reference{\makeupparameter\c!reference}%
+ \dontleavehmode
+ \usereferenceparameter\makeupparameter
+ \box\b_page_makeup % could be whole box being destination
\the\t_page_makeup_every_setup
\page
\endgroup
diff --git a/tex/context/base/spac-ali.mkiv b/tex/context/base/spac-ali.mkiv
index 376916fa5..0f9b21186 100644
--- a/tex/context/base/spac-ali.mkiv
+++ b/tex/context/base/spac-ali.mkiv
@@ -416,6 +416,8 @@
\or
% 7 centered last line
\spac_align_set_horizontal_centered_last_line
+ \or
+ \parfillskip\zeropoint
\fi}
% Page spacing:
@@ -591,6 +593,7 @@
\c_spac_align_state_broad \plustwo }
\setvalue{\??aligncommand\v!disable }{\c_spac_align_state_horizontal\plussix }
\setvalue{\??aligncommand\v!last }{\c_spac_align_state_horizontal\plusseven}
+\setvalue{\??aligncommand\v!paragraph }{\c_spac_align_state_horizontal\pluseight}
\setvalue{\??aligncommand\v!lefttoright }{\c_spac_align_state_direction \plusone }
diff --git a/tex/context/base/spac-ver.mkiv b/tex/context/base/spac-ver.mkiv
index 7c3604dd4..d4a388cdc 100644
--- a/tex/context/base/spac-ver.mkiv
+++ b/tex/context/base/spac-ver.mkiv
@@ -720,6 +720,11 @@
\lineskip \normallineskip
\lineskiplimit\normallineskiplimit}
+\unexpanded\def\flexiblebaselines
+ {\baselineskip \normalbaselineskip
+ \lineskip 1\normallineskip \s!plus 1\s!fill
+ \lineskiplimit\normallineskiplimit}
+
\unexpanded\def\setnormalbaselines
{\ifdim\normallineheight>\zeropoint
\lineheight\normallineheight
@@ -1128,7 +1133,7 @@
\unexpanded\def\offinterlineskip
{\baselineskip-\thousandpoint
- \lineskip\zeropoint
+ \lineskip \zeropoint
\lineskiplimit\maxdimen
% We also need this here now; thanks to taco for figuring that out!
\def\minimumlinedistance{\zeropoint}}
@@ -1142,8 +1147,8 @@
\unexpanded\def\spac_helpers_push_interlineskip_yes
{\edef\oninterlineskip
- {\baselineskip\the\baselineskip
- \lineskip\the\lineskip
+ {\baselineskip \the\baselineskip
+ \lineskip \the\lineskip
\lineskiplimit\the\lineskiplimit
\noexpand\edef\noexpand\minimumlinedistance{\the\dimexpr\minimumlinedistance}%
\let\noexpand\offinterlineskip\noexpand\normaloffinterlineskip}} % \noexpand not needed
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 782fd5aa7..3076cbaee 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 135c4ba01..74f9b00a3 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-lst.lua b/tex/context/base/strc-lst.lua
index e3c0d60a9..95f5e675e 100644
--- a/tex/context/base/strc-lst.lua
+++ b/tex/context/base/strc-lst.lua
@@ -617,7 +617,6 @@ function lists.prefixednumber(name,n,prefixspec,numberspec)
helpers.prefix(data,prefixspec)
local numberdata = data.numberdata
if numberdata then
---~ print(table.serialize(numberspec))
sections.typesetnumber(numberdata,"number",numberspec or false,numberdata or false)
end
end
diff --git a/tex/context/base/strc-lst.mkvi b/tex/context/base/strc-lst.mkvi
index 2aee09fbe..15a499c8b 100644
--- a/tex/context/base/strc-lst.mkvi
+++ b/tex/context/base/strc-lst.mkvi
@@ -1272,6 +1272,17 @@
\listparameter\c!textcommand{\limitatetext{#text}\p_maxwidth{\splitsymbol{\listparameter\c!limittext}}}%
\fi}
+% public helpers
+
+\unexpanded\def\startcurrentlistentrywrapper
+ {\hbox \strc_lists_get_reference_attribute\v!all \strc_lists_get_destination_attribute\bgroup}
+
+\let\stopcurrentlistentrywrapper\egroup
+
+\let\currentlistentryreferenceattribute \strc_lists_get_reference_attribute
+\let\currentlistentrydestinationattribute\strc_lists_get_destination_attribute
+\let\currentlistentrylimitedtext \strc_lists_limitated_text
+
% todo:
\def\utilitylistlength{\listlength} % old name ... uses in styles
diff --git a/tex/context/base/strc-ref.mkvi b/tex/context/base/strc-ref.mkvi
index 26f389294..54f180d8e 100644
--- a/tex/context/base/strc-ref.mkvi
+++ b/tex/context/base/strc-ref.mkvi
@@ -111,10 +111,10 @@
%D \reference[here]{some text}
%D \stoptyping
-\unexpanded\def\textreference {\dosingleargument\strc_references_text_reference}
-\unexpanded\def\pagereference {\dosingleargument\strc_references_page_reference}
-\unexpanded\def\reference {\dosingleargument\strc_references_full_reference}
-\unexpanded\def\setreference {\dodoubleargument\strc_references_set_reference }
+\unexpanded\def\textreference {\dosingleargument\strc_references_text_reference} % no need for \dosingle
+\unexpanded\def\pagereference {\dosingleargument\strc_references_page_reference} % as they're mandate and
+\unexpanded\def\reference {\dosingleargument\strc_references_full_reference} % never forgotten
+\unexpanded\def\setreference {\dodoubleargument\strc_references_set_reference } %
%D These are implemented in a low level form as:
@@ -123,6 +123,14 @@
\unexpanded\def\strc_references_full_reference [#labels]{\strc_references_set_named_reference\s!full{#labels}{}}
\unexpanded\def\strc_references_set_reference[#labels][#settings]{\strc_references_set_named_reference\s!user{#labels}{#settings}{}}
+\unexpanded\def\dosetdirectpagereference#1{\strc_references_set_named_reference\s!page{#1}{}{}} % low level, maybe use _
+
+\unexpanded\def\usereferenceparameter#1% faster local variant
+ {\edef\m_strc_references_asked{#1\c!reference}%
+ \ifx\m_strc_references_asked\empty\else
+ \dosetdirectpagereference\m_strc_references_asked
+ \fi}
+
%D Actually there is not much difference between a text and a
%D full reference, but it's the concept that counts. The low
%D level implementation is:
diff --git a/tex/context/base/strc-reg.mkiv b/tex/context/base/strc-reg.mkiv
index 3940594c3..de9ebf6b4 100644
--- a/tex/context/base/strc-reg.mkiv
+++ b/tex/context/base/strc-reg.mkiv
@@ -620,7 +620,7 @@
\dontleavehmode
\strut
\iflocation
- \pagereference[\currentregister:\v!section:#1]%
+ \dosetdirectpagereference{\currentregister:\v!section:#1}%
\fi
\registerparameter\c!command{#1}%
\endgroup
@@ -638,7 +638,7 @@
\dontleavehmode
\strut
\iflocation
- \pagereference[\currentregister:\v!section:#1]%
+ \dosetdirectpagereference{\currentregister:\v!section:#1}%
\fi
\registerparameter\c!command{#1}%
\endgroup
@@ -761,7 +761,7 @@
{\dostarttagged\t!registerentry\empty
\ifx\currentregisterseeindex\empty \else
\dontleavehmode
- \pagereference[seeindex:\currentregisterseeindex]% maybe some day we will support an area
+ \dosetdirectpagereference{seeindex:\currentregisterseeindex}% maybe some day we will support an area
\fi
\applyprocessor{#1}{\registerparameter\c!textcommand{\limitedregisterentry{\registerparameter\c!deeptextcommand{#2}}}}%
\dostoptagged}
diff --git a/tex/context/base/strc-ren.mkiv b/tex/context/base/strc-ren.mkiv
index d0a3e2e23..33fccfb5c 100644
--- a/tex/context/base/strc-ren.mkiv
+++ b/tex/context/base/strc-ren.mkiv
@@ -461,11 +461,11 @@
% \newconditional\headisdisplay % defined already
\unexpanded\def\strc_rendering_initialize_alternatives
- {\edef\currentheadalternative {\headparameter \c!alternative}%
- \ifcsname\??headplacementalternative\currentheadalternative\endcsname \else
+ {\edef\currentheadalternative{\headparameter\c!alternative}%
+ \ifcsname\currentheadalternativehash\s!parent\endcsname \else
\let\currentheadalternative\v!normal % cf. mkii
\fi
- \edef\currentheadrenderingsetup {\headalternativeparameter\c!renderingsetup}%
+ \edef\currentheadrenderingsetup{\headalternativeparameter\c!renderingsetup}%
\edef\currentheadrenderingalternative{\headalternativeparameter\c!alternative}%
\ifx\currentheadrenderingalternative\empty
\let\currentheadrenderingalternative\v!vertical
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 87857f01f..eccb4cc6c 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/24/13 15:11:25
+-- merge date : 03/25/13 19:07:29
do -- begin closure to overcome local limits and interference