summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2011-08-26 13:32:00 +0200
committerHans Hagen <pragma@wxs.nl>2011-08-26 13:32:00 +0200
commit138533636bdde59d55a7cfaac4915d9a8083844b (patch)
treecd48aa193e9a8b8c508c6c407a33eb964c5aef59
parentde74cbee0bab8051c2c2edb6e8e90dd0f79672f2 (diff)
downloadcontext-138533636bdde59d55a7cfaac4915d9a8083844b.tar.gz
beta 2011.08.26 13:32
-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.pdfbin4089 -> 4093 bytes
-rw-r--r--tex/context/base/context-version.pngbin104744 -> 106125 bytes
-rw-r--r--tex/context/base/context.mkii2
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/font-otn.lua29
-rw-r--r--tex/context/base/pack-rul.mkii2
-rw-r--r--tex/context/base/pack-rul.mkiv20
-rw-r--r--tex/context/base/scrn-int.mkii3
-rw-r--r--tex/context/base/scrn-pag.mkvi103
-rw-r--r--tex/context/base/status-files.pdfbin23870 -> 23890 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin162205 -> 162208 bytes
-rw-r--r--tex/context/base/strc-sec.mkiv2
-rw-r--r--tex/context/base/strc-tag.lua18
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua31
16 files changed, 103 insertions, 113 deletions
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index b6dbba5e0..1da67eedf 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.08.26 01:43}
+\newcontextversion{2011.08.26 13:32}
%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 6ee2a3bfb..815e84f60 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.08.26 01:43}
+\newcontextversion{2011.08.26 13:32}
%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 8c927f12b..b9f838973 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 4e9c93bbe..2328fe297 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 578783b40..ba1a4f21f 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.08.26 01:43}
+\edef\contextversion{2011.08.26 13:32}
%D For those who want to use this:
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 433fbb340..855070b9a 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.08.26 01:43}
+\edef\contextversion{2011.08.26 13:32}
%D For those who want to use this:
diff --git a/tex/context/base/font-otn.lua b/tex/context/base/font-otn.lua
index d9dc20f6c..1d2b20976 100644
--- a/tex/context/base/font-otn.lua
+++ b/tex/context/base/font-otn.lua
@@ -976,17 +976,29 @@ example, the following is valid:</p>
<p>Therefore we we don't really do the replacement here already unless we have the
single lookup case. The efficiency of the replacements can be improved by deleting
-as less as needed but that would also mke the code even more messy.</p>
+as less as needed but that would also make the code even more messy.</p>
--ldx]]--
local function delete_till_stop(start,stop,ignoremarks)
- if start ~= stop then
- -- todo keep marks
+ local n = 1
+ if start == stop then
+ -- done
+ elseif ignoremarks then
+ repeat -- start x x m x x stop => start m
+ local next = start.next
+ if not marks[next.char] then
+ delete_node(start,next)
+ end
+ n = n + 1
+ until next == stop
+ else -- start x x x stop => start
repeat
local next = start.next
delete_node(start,next)
+ n = n + 1
until next == stop
end
+ return n
end
--[[ldx--
@@ -1076,29 +1088,32 @@ end
function chainprocs.gsub_alternate(start,stop,kind,chainname,currentcontext,lookuphash,currentlookup,chainlookupname)
-- todo: marks ?
- delete_till_stop(start,stop)
+ local n = delete_till_stop(start,stop)
local current = start
local subtables = currentlookup.subtables
+ local m = 0
while current do
if current.id == glyph_code then
+ m = m + 1
local currentchar = current.char
local lookupname = subtables[1]
local alternatives = lookuphash[lookupname]
if not alternatives then
if trace_bugs then
- logwarning("%s: no alternative hits",cref(kind,chainname,chainlookupname,lookupname))
+ logwarning("%s: %s of %s, no alternative hit",cref(kind,chainname,chainlookupname,lookupname),m,n)
end
else
alternatives = alternatives[currentchar]
if not alternatives then
if trace_bugs then
- logwarning("%s: no alternative for %s",cref(kind,chainname,chainlookupname,lookupname),gref(currentchar))
+ logwarning("%s: %s of %s, no alternative for %s",cref(kind,chainname,chainlookupname,lookupname),m,n,gref(currentchar))
end
else
local choice, index = alternative_glyph(current,alternatives,kind,chainname,chainlookupname,lookupname)
current.char = choice
if trace_alternatives then
- logprocess("%s: replacing single %s by alternative %s (%s)",cref(kind,chainname,chainlookupname,lookupname),index,gref(currentchar),gref(choice),index)
+ logprocess("%s: %s of %s, replacing single %s by alternative %s (%s)",
+ cref(kind,chainname,chainlookupname,lookupname),m,n,index,gref(currentchar),gref(choice))
end
end
end
diff --git a/tex/context/base/pack-rul.mkii b/tex/context/base/pack-rul.mkii
index 2e625a90f..7399cacd8 100644
--- a/tex/context/base/pack-rul.mkii
+++ b/tex/context/base/pack-rul.mkii
@@ -871,7 +871,7 @@
\edef\framedforegroundcolor{\framedparameter\c!foregroundcolor}%
\ifx\framedforegroundcolor\empty\else\docolorframebox\fi
\edef\overlaylinecolor{\framedparameter\c!framecolor}%
- \edef\overlaylinewidth{\the\ruledlinewidth}%
+ \def \overlaylinewidth{\the\ruledlinewidth}% no edef
\edef\@@localframing {\framedparameter\c!frame}%
\ifx\@@localframing\v!overlay \else \ifx\@@localframing\v!none \else
\edef\framedrulethickness{\framedparameter\c!rulethickness}%
diff --git a/tex/context/base/pack-rul.mkiv b/tex/context/base/pack-rul.mkiv
index 97724ff00..6b90daee1 100644
--- a/tex/context/base/pack-rul.mkiv
+++ b/tex/context/base/pack-rul.mkiv
@@ -417,6 +417,8 @@
\edef\backgroundwidth {\the\wd\framebox}%
\edef\backgroundheight{\the\ht\framebox}%
\edef\backgrounddepth {\the\dp\framebox}%
+ \edef\overlaylinecolor{\framedparameter\c!framecolor}%
+ \edef\overlaylinewidth{\the\ruledlinewidth}%
%\edef\foregroundbox{\box#1}%
\edef\component{\framedparameter\c!component}%
\ifx\component\empty
@@ -676,10 +678,6 @@
\fi
% not here, in calling macro: setups
\removeframedboxdepth
-% \edef\framedforegroundcolor{\framedparameter\c!foregroundcolor}%
-% \ifx\framedforegroundcolor\empty\else\docolorframebox\fi
- \edef\overlaylinecolor{\framedparameter\c!framecolor}%
- \edef\overlaylinewidth{\the\ruledlinewidth}%
\edef\@@localframing {\framedparameter\c!frame}%
\ifx\@@localframing\v!overlay \else \ifx\@@localframing\v!none \else
\edef\framedrulethickness{\framedparameter\c!rulethickness}%
@@ -712,23 +710,17 @@
\fi
\setbox\framebox\box#2%
\dp\framebox\zeropoint
-% \removeframedboxdepth
-% \edef\framedforegroundcolor{\framedparameter\c!foregroundcolor}%
-% \ifx\framedforegroundcolor\empty\else\docolorframebox\fi
- \edef\overlaylinecolor{\framedparameter\c!framecolor}%
- \edef\overlaylinewidth{\the\ruledlinewidth}%
- \edef\@@localframing {\framedparameter\c!frame}%
+ \edef\framedbackground {\framedparameter\c!background}%
+ \edef\framedrulethickness{\framedparameter\c!rulethickness}%
+ \edef\@@localframing {\framedparameter\c!frame}%
\ifx\@@localframing\v!overlay \else \ifx\@@localframing\v!none \else
- \edef\framedrulethickness{\framedparameter\c!rulethickness}%
\ifx\framedrulethickness\empty\else
\ruledlinewidth\framedrulethickness\relax
\ifinheritruledlinewidth\linewidth\ruledlinewidth\fi
\fi
\dooutlinebox % real or invisible frame
\fi \fi
- \edef\framedbackground{\framedparameter\c!background}%
\ifx\framedbackground\empty\else\dobackedbox\fi
-% \restoreframedboxdepth
\box\framebox
\egroup}
@@ -1286,8 +1278,6 @@
\let\postprocessframebox\relax % prevent nesting
\next\framebox
\fi
- \edef\overlaylinecolor{\framedparameter\c!framecolor}%
- \edef\overlaylinewidth{\the\ruledlinewidth}% \@@...
\ifboxhasframe % real or invisible frame
\dooutlinebox
\fi
diff --git a/tex/context/base/scrn-int.mkii b/tex/context/base/scrn-int.mkii
index 1f104c03d..01d8501e2 100644
--- a/tex/context/base/scrn-int.mkii
+++ b/tex/context/base/scrn-int.mkii
@@ -89,7 +89,8 @@
\advance\backspace -\!!widtha
\fi\fi
\advance\!!widtha\rightcombitotal
- \advance\!!widtha 2\dimexpr\@@scbackspace+\@@schoroffset\relax}
+ \advance\!!widtha 2\dimexpr\@@scbackspace+\@@schoroffset\relax
+ \advance\!!widtha \makeupwidth}
{\doifelse\@@scwidth\v!max
{\!!widtha\printpaperwidth}
{\!!widtha\@@scwidth}}%
diff --git a/tex/context/base/scrn-pag.mkvi b/tex/context/base/scrn-pag.mkvi
index aae99f304..ca5305304 100644
--- a/tex/context/base/scrn-pag.mkvi
+++ b/tex/context/base/scrn-pag.mkvi
@@ -31,93 +31,56 @@
\newconditional\scrn_canvas_tight_page
-% \def\scrn_canvas_calculate
-% {\begingroup
-% \edef\currentinteractionscreenwidth {\interactionscreenparameter\c!width }%
-% \edef\currentinteractionscreenheight{\interactionscreenparameter\c!height}%
-% \canvasbackoffset\backspace
-% \canvastopoffset\topspace
-% \ifx\currentinteractionscreenwidth\v!fit
-% \global\canvaswidth\leftcombitotal
-% \ifdim\backspace>\canvaswidth
-% \ifdim\backspace>\zeropoint\relax
-% \global\advance\canvasbackoffset -\canvaswidth
-% \fi
-% \fi
-% \global\advance\canvaswidth\dimexpr
-% \rightcombitotal
-% + 2\dimexpr
-% \interactionscreenparameter\c!backspace
-% + \interactionscreenparameter\c!horoffset
-% \relax
-% \relax
-% \donetrue
-% \else\ifx\currentinteractionscreenwidth\v!max
-% \global\canvaswidth\printpaperwidth
-% \donetrue
-% \else
-% \global\canvaswidth\currentinteractionscreenwidth
-% \donefalse
-% \fi\fi
-% \ifdone
-% \ifdim\canvaswidth>\paperwidth\ifdim\canvaswidth>\zeropoint
-% \global\paperwidth\canvaswidth % kills location=middle
-% \fi\fi
-% \fi
-% \ifx\currentinteractionscreenheight\v!fit
-% \global\canvasheight\dimexpr\topheight+\topdistance\relax
-% \ifdim\topspace>\canvasheight
-% \ifdim\topspace>\zeropoint\relax
-% \global\advance\canvastopoffset -\canvasheight
-% \fi
-% \fi
-% \global\advance\canvasheight\dimexpr
-% \makeupheight
-% + \bottomdistance
-% + \bottomheight
-% + 2\dimexpr
-% \interactionscreenparameter\c!topspace
-% + \interactionscreenparameter\c!veroffset
-% \relax
-% \relax
-% \else\ifx\currentinteractionscreenheight\v!max
-% \global\canvasheight\printpaperheight
-% \else
-% \global\canvasheight\currentinteractionscreenheight
-% \fi\fi
-% \ifdone
-% \ifdim\canvasheight>\paperheight\ifdim\canvasheight>\zeropoint
-% \global\paperheight\canvasheight % kills location=middle
-% \fi\fi
-% \fi
-% \endgroup}
-
\def\scrn_canvas_calculate
{\begingroup
\edef\currentinteractionscreenwidth {\interactionscreenparameter\c!width }%
\edef\currentinteractionscreenheight{\interactionscreenparameter\c!height}%
\canvasbackoffset\backspace
\canvastopoffset\topspace
- \ifx\currentinteractionscreenwidth\v!fit
- \global\canvaswidth\leftcombitotal
+ \ifx\currentinteractionscreenwidth\v!max
+ \global\canvaswidth\printpaperwidth
+ \else\ifx\currentinteractionscreenwidth\v!fit
+ \global\canvaswidth\dimexpr
+ \leftcombitotal
+ + \makeupwidth
+ + \rightcombitotal
+ + 2\dimexpr
+ \interactionscreenparameter\c!backspace
+ + \interactionscreenparameter\c!horoffset
+ \relax
+ \relax
+ \else\ifx\currentinteractionscreenwidth\v!tight
\ifdim\backspace>\canvaswidth
\ifdim\backspace>\zeropoint\relax
\global\advance\canvasbackoffset -\canvaswidth
\fi
\fi
\global\advance\canvaswidth\dimexpr
- \rightcombitotal
+ \makeupwidth
+ + \rightcombitotal
+ 2\dimexpr
\interactionscreenparameter\c!backspace
+ \interactionscreenparameter\c!horoffset
\relax
\relax
- \else\ifx\currentinteractionscreenwidth\v!max
- \global\canvaswidth\printpaperwidth
\else
\global\canvaswidth\currentinteractionscreenwidth
- \fi\fi
- \ifx\currentinteractionscreenheight\v!fit
+ \fi\fi\fi
+ \ifx\currentinteractionscreenheight\v!max
+ \global\canvasheight\printpaperheight
+ \else\ifx\currentinteractionscreenheight\v!fit
+ \global\canvasheight\dimexpr
+ \topheight
+ + \topdistance
+ + \makeupheight
+ + \bottomdistance
+ + \bottomheight
+ + 2\dimexpr
+ \interactionscreenparameter\c!topspace
+ + \interactionscreenparameter\c!veroffset
+ \relax
+ \relax
+ \else\ifx\currentinteractionscreenheight\v!tight
\global\canvasheight\dimexpr\topheight+\topdistance\relax
\ifdim\topspace>\canvasheight
\ifdim\topspace>\zeropoint\relax
@@ -133,11 +96,9 @@
+ \interactionscreenparameter\c!veroffset
\relax
\relax
- \else\ifx\currentinteractionscreenheight\v!max
- \global\canvasheight\printpaperheight
\else
\global\canvasheight\currentinteractionscreenheight
- \fi\fi
+ \fi\fi\fi
\ifconditional\c_page_layouts_location_is_set
\global\setfalse\scrn_canvas_tight_page
\fi
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index c9d27a01e..6f26315ab 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 c8d4e573f..71187c33d 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-sec.mkiv b/tex/context/base/strc-sec.mkiv
index 33ab047d0..1990e0d97 100644
--- a/tex/context/base/strc-sec.mkiv
+++ b/tex/context/base/strc-sec.mkiv
@@ -331,7 +331,7 @@
{\getvalue{\??nh:\c!placehead:\v!yes}}}
\def\setheaddisplay
- {\doifelsevalue{\??nh:\headparameter\c!alternative}\v!horizontal
+ {\doifelsevalue{\??ns:\headparameter\c!alternative}\v!horizontal
{\setfalse\headisdisplay}
{\settrue \headisdisplay}}
diff --git a/tex/context/base/strc-tag.lua b/tex/context/base/strc-tag.lua
index a0c1d1d32..78b807487 100644
--- a/tex/context/base/strc-tag.lua
+++ b/tex/context/base/strc-tag.lua
@@ -242,13 +242,21 @@ function tags.start(tag,specification)
codeinjections.enabletags()
enabled = true
end
- labels[tag] = label ~= "" and label or tag
- local fulltag
+ --
+--~ labels[tag] = label ~= "" and label or tag
+--~ local fulltag
+--~ if detail and detail ~= "" then
+--~ fulltag = tag .. ":" .. detail
+--~ else
+--~ fulltag = tag
+--~ end
+ --
+ local fulltag = label ~= "" and label or tag
+ labels[tag] = fulltag
if detail and detail ~= "" then
- fulltag = tag .. ":" .. detail
- else
- fulltag = tag
+ fulltag = fulltag .. ":" .. detail
end
+ --
local t = #taglist + 1
local n = (ids[fulltag] or 0) + 1
ids[fulltag] = n
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 99c22f268..6202ac04e 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 : 08/26/11 01:43:42
+-- merge date : 08/26/11 13:33:00
do -- begin closure to overcome local limits and interference
@@ -9058,17 +9058,29 @@ example, the following is valid:</p>
<p>Therefore we we don't really do the replacement here already unless we have the
single lookup case. The efficiency of the replacements can be improved by deleting
-as less as needed but that would also mke the code even more messy.</p>
+as less as needed but that would also make the code even more messy.</p>
--ldx]]--
local function delete_till_stop(start,stop,ignoremarks)
- if start ~= stop then
- -- todo keep marks
+ local n = 1
+ if start == stop then
+ -- done
+ elseif ignoremarks then
+ repeat -- start x x m x x stop => start m
+ local next = start.next
+ if not marks[next.char] then
+ delete_node(start,next)
+ end
+ n = n + 1
+ until next == stop
+ else -- start x x x stop => start
repeat
local next = start.next
delete_node(start,next)
+ n = n + 1
until next == stop
end
+ return n
end
--[[ldx--
@@ -9158,29 +9170,32 @@ end
function chainprocs.gsub_alternate(start,stop,kind,chainname,currentcontext,lookuphash,currentlookup,chainlookupname)
-- todo: marks ?
- delete_till_stop(start,stop)
+ local n = delete_till_stop(start,stop)
local current = start
local subtables = currentlookup.subtables
+ local m = 0
while current do
if current.id == glyph_code then
+ m = m + 1
local currentchar = current.char
local lookupname = subtables[1]
local alternatives = lookuphash[lookupname]
if not alternatives then
if trace_bugs then
- logwarning("%s: no alternative hits",cref(kind,chainname,chainlookupname,lookupname))
+ logwarning("%s: %s of %s, no alternative hit",cref(kind,chainname,chainlookupname,lookupname),m,n)
end
else
alternatives = alternatives[currentchar]
if not alternatives then
if trace_bugs then
- logwarning("%s: no alternative for %s",cref(kind,chainname,chainlookupname,lookupname),gref(currentchar))
+ logwarning("%s: %s of %s, no alternative for %s",cref(kind,chainname,chainlookupname,lookupname),m,n,gref(currentchar))
end
else
local choice, index = alternative_glyph(current,alternatives,kind,chainname,chainlookupname,lookupname)
current.char = choice
if trace_alternatives then
- logprocess("%s: replacing single %s by alternative %s (%s)",cref(kind,chainname,chainlookupname,lookupname),index,gref(currentchar),gref(choice),index)
+ logprocess("%s: %s of %s, replacing single %s by alternative %s (%s)",
+ cref(kind,chainname,chainlookupname,lookupname),m,n,index,gref(currentchar),gref(choice))
end
end
end