From b0f6c985f61771b2d115f1632ceeccbd7dc2f1d1 Mon Sep 17 00:00:00 2001 From: Marius Date: Thu, 20 Oct 2011 00:20:14 +0300 Subject: beta 2011.10.19 23:10 --- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4095 -> 4105 bytes tex/context/base/context-version.png | Bin 106448 -> 105305 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 4 +- tex/context/base/m-chart.lua | 187 +++++++++-------- tex/context/base/m-chart.mkvi | 8 +- tex/context/base/page-mak.mkiv | 224 --------------------- tex/context/base/page-mak.mkvi | 219 ++++++++++++++++++++ tex/context/base/status-files.pdf | Bin 23928 -> 24095 bytes tex/context/base/status-lua.pdf | Bin 163859 -> 163918 bytes tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 13 files changed, 335 insertions(+), 315 deletions(-) delete mode 100644 tex/context/base/page-mak.mkiv create mode 100644 tex/context/base/page-mak.mkvi (limited to 'tex') diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index 626011f35..184b572cc 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.10.19 18:24} +\newcontextversion{2011.10.19 23:10} %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 449c3567b..1e045568d 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.10.19 18:24} +\newcontextversion{2011.10.19 23:10} %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 f7d784e7d..3753826da 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 6dff771ad..f031c57fb 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 77977156d..98ee11df7 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.10.19 18:24} +\edef\contextversion{2011.10.19 23:10} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 8f6f21389..49ca9eec4 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.10.19 18:24} +\edef\contextversion{2011.10.19 23:10} %D For those who want to use this: @@ -254,7 +254,7 @@ \loadmarkfile{page-set} \loadmarkfile{pack-lyr} \loadmarkfile{pack-pos} -\loadmarkfile{page-mak} +\loadmkvifile{page-mak} \loadmarkfile{page-lin} \loadmarkfile{page-par} diff --git a/tex/context/base/m-chart.lua b/tex/context/base/m-chart.lua index 9ae7feabf..1d76e9845 100644 --- a/tex/context/base/m-chart.lua +++ b/tex/context/base/m-chart.lua @@ -46,6 +46,8 @@ local defaults = { dot = "", hcompact = variables_no, vcompact = variables_no, + autofocus = "", + focus = "", }, shape = { -- FLOS rulethickness = 65436, @@ -409,20 +411,6 @@ function commands.flow_set_connection(location,displacement,name) } end -local where = { - l = "left", - r = "right", - t = "top", - b = "bottom", -} - -local what = { - ["p"] = 1, - ["m"] = -1, - ["+"] = 1, - ["-"] = -1, -} - local function visible(chart,cell) local x, y = cell.x, cell.y return @@ -430,27 +418,6 @@ local function visible(chart,cell) y >= chart.from_y and y <= chart.to_y and cell end -local function check_cells(chart,xoffset,yoffset,min_x,min_y,max_x,max_y) - local data = chart.data - if not data then - return - end - for i=1,#data do - local cell = data[i] - local x, y = cell.x + xoffset, cell.y + yoffset - if min_x == 0 then - min_x, max_x = x, x - min_y, max_y = y, y - else - if x < min_x then min_x = x end - if y < min_y then min_y = y end - if x > max_x then max_x = x end - if y > max_y then max_y = y end - end - end - return min_x, min_y, max_x, max_y -end - local function process_cells(chart,xoffset,yoffset) local data = chart.data if not data then @@ -468,7 +435,7 @@ local function process_cells(chart,xoffset,yoffset) end if shape ~= v_none then local shapedata = validshapes[shape] - context("flow_begin_sub_chart ;") + context("flow_begin_sub_chart ;") -- when is this needed if shapedata.kind == "line" then local linesettings = settings.line context("flow_shape_line_color := \\MPcolor{%s} ;", linesettings.color) @@ -486,6 +453,7 @@ local function process_cells(chart,xoffset,yoffset) context("flow_shape_line_width := %s ; " , points(shapesettings.rulethickness)) end context("flow_peepshape := false ;") -- todo +-- context("flow_new_shape(%s,%s,%s) ;",cell.x+xoffset,cell.y+yoffset,shapedata.number) context("flow_new_shape(%s,%s,%s) ;",cell.x+xoffset,cell.y+yoffset,shapedata.number) context("flow_end_sub_chart ;") end @@ -541,16 +509,10 @@ local function process_connections(chart,xoffset,yoffset) local connection = connections[j] local othername = connection.name local othercell = hash[othername] - if othercell then + if othercell then -- and visible(chart,data[i]) then local cellx, celly = cell.x, cell.y local otherx, othery, location = othercell.x, othercell.y, connection.location if otherx > 0 and othery > 0 and cellx > 0 and celly > 0 and connection.location then - -- move to setter - -- local what_cell, where_cell, what_other, where_other = match(location,"([%+%-pm]-)([lrtb]),?([%+%-pm]-)([lrtb])") - -- local what_cell = what [what_cell] or 0 - -- local what_other = what [what_other] or 0 - -- local where_cell = where[where_cell] or "left" - -- local where_other = where[where_other] or "right" local what_cell, where_cell, what_other, where_other = lpegmatch(what,location) if what_cell and where_cell and what_other and where_other then local linesettings = settings.line @@ -639,14 +601,73 @@ local function getchart(settings) return end chart = expanded(chart,settings) - local _, _, nx, ny = check_cells(chart,0,0,0,0,0,0) - chart.from_x = chart.settings.chart.x or 1 - chart.from_y = chart.settings.chart.y or 1 - chart.to_x = chart.settings.chart.nx or nx - chart.to_y = chart.settings.chart.ny or ny - chart.nx = chart.to_x - chart.from_x + 1 - chart.ny = chart.to_y - chart.from_y + 1 --- inspect(chart) + local cc_settings = chart.settings.chart + local autofocus = chart.settings.chart.autofocus + if autofocus then + autofocus = utilities.parsers.settings_to_hash(autofocus) + if not next(autofocus) then + autofocus = false + end + end + -- check natural window + local x = tonumber(cc_settings.x) + local y = tonumber(cc_settings.y) + local nx = tonumber(cc_settings.nx) + local ny = tonumber(cc_settings.ny) + -- + local minx, miny, maxx, maxy = 0, 0, 0, 0 + local data = chart.data + for i=1,#data do + local cell = data[i] + if not autofocus or autofocus[cell.name] then -- offsets probably interfere with autofocus + local x = cell.x + local y = cell.y + if minx == 0 or x < minx then minx = x end + if miny == 0 or y < miny then miny = y end + if minx == 0 or x > maxx then maxx = x end + if miny == 0 or y > maxy then maxy = y end + end + end + -- check of window should be larger (maybe autofocus + nx/ny?) + if autofocus then + -- x and y are ignored + if nx and nx > 0 then + maxx = minx + nx - 1 + end + if ny and ny > 0 then + maxy = miny + ny - 1 + end + else + if x and x > 0 then + minx = x + end + if y and y > 0 then + minx = y + end + if nx and nx > 0 then + maxx = minx + nx - 1 + end + if ny and ny > 0 then + miny = miny + ny - 1 + end + end + -- + local nx = maxx - minx + 1 + local ny = maxy - miny + 1 + -- relocate cells + for i=1,#data do + local cell = data[i] + cell.x = cell.x - minx + 1 + cell.y = cell.y - miny + 1 + end + chart.from_x = 1 + chart.from_y = 1 + chart.to_x = nx + chart.to_y = ny + chart.nx = nx + chart.ny = ny + -- + -- inspect(chart) return chart end @@ -726,38 +747,38 @@ function commands.flow_make_chart(settings) local chart = getchart(settings) if chart then local settings = chart.settings - if settings.split.state == v_start then - local nx = chart.settings.split.nx - local ny = chart.settings.split.ny - local x = 1 - while true do - local y = 1 - while true do - -- FLOTbefore - -- doif @@FLOTmarking on -> cuthbox - -- @@FLOTcommand - chart.from_x = x - chart.from_y = y - chart.to_x = math.min(x + nx - 1,chart.nx) - chart.to_y = math.min(x + ny - 1,chart.ny) - makechart(chart) - -- FLOTafter - y = y + ny - if y > chart.max_y then - break - else - y = y - dy - end - end - x = x + nx - if x > chart.max_x then - break - else - x = x - dx - end - end - else +-- if settings.split.state == v_start then +-- local nx = chart.settings.split.nx +-- local ny = chart.settings.split.ny +-- local x = 1 +-- while true do +-- local y = 1 +-- while true do +-- -- FLOTbefore +-- -- doif @@FLOTmarking on -> cuthbox +-- -- @@FLOTcommand +-- chart.from_x = x +-- chart.from_y = y +-- chart.to_x = math.min(x + nx - 1,chart.nx) +-- chart.to_y = math.min(x + ny - 1,chart.ny) +-- makechart(chart) +-- -- FLOTafter +-- y = y + ny +-- if y > chart.max_y then +-- break +-- else +-- y = y - dy +-- end +-- end +-- x = x + nx +-- if x > chart.max_x then +-- break +-- else +-- x = x - dx +-- end +-- end +-- else makechart(chart) - end +-- end end end diff --git a/tex/context/base/m-chart.mkvi b/tex/context/base/m-chart.mkvi index 89d17463b..3bdf190e6 100644 --- a/tex/context/base/m-chart.mkvi +++ b/tex/context/base/m-chart.mkvi @@ -12,7 +12,6 @@ %C details. % todo (if used): -% autofocus={name,name,name} -> min/max % flowsets % autoscaling (bodyfontsteps) % comment @@ -199,6 +198,11 @@ hcompact = "\FLOWchartparameter\c!hcompact", % undocumented option vcompact = "\FLOWchartparameter\c!vcompact", % undocumented option focus = "\FLOWchartparameter\c!focus", + autofocus = "\FLOWchartparameter\c!autofocus", + nx = "\FLOWchartparameter\c!nx", + ny = "\FLOWchartparameter\c!ny", + x = "\FLOWchartparameter\c!x", + y = "\FLOWchartparameter\c!y", }, shape = { rulethickness = \number\dimexpr\FLOWshapeparameter\c!rulethickness, @@ -274,7 +278,7 @@ \unexpanded\def\FLOW_text {\dosingleempty\do_FLOW_text} \unexpanded\def\FLOW_label {\dosingleempty\do_FLOW_label} -\unexpanded\def\FLOW_comment {\dosingleempty\do_FLOW_commment} +\unexpanded\def\FLOW_comment {\dosingleempty\do_FLOW_comment} \unexpanded\def\FLOW_exit {\dosingleempty\do_FLOW_exit} \unexpanded\def\FLOW_connection {\dodoubleempty\do_FLOW_connection} \unexpanded\def\FLOW_include {\dodoubleempty\do_FLOW_include} diff --git a/tex/context/base/page-mak.mkiv b/tex/context/base/page-mak.mkiv deleted file mode 100644 index f27a979e8..000000000 --- a/tex/context/base/page-mak.mkiv +++ /dev/null @@ -1,224 +0,0 @@ -%D \module -%D [ file=page-mak, % copied from main-001, -%D version=1997.03.31, -%D title=\CONTEXT\ Page Macros, -%D subtitle=Simple MakeUp, -%D author=Hans Hagen, -%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 Page Macros / MakeUp} - -\unprotect - -%D \macros -%D {definemakeup, setupmakeup, startmakeup} -%D -%D A makeup is a separate page, like a title page or colofon. -%D There is one standard makeup page, but you can define more -%D if needed. -%D -%D \starttyping -%D \startstandardmakeup -%D My Fancy Title -%D \stopstandardmakeup -%D \stoptyping -%D -%D The associated commands are: -%D -%D \showsetup{definemakeup} -%D \showsetup{setupmakeup} -%D \showsetup{startmakeup} - -\unexpanded\def\definemakeup - {\dodoubleargument\dodefinemakeup} - -\def\dodefinemakeup[#1][#2]% - {\getparameters - [\??do#1]% - [\c!width=\innermakeupwidth, % example in manual / was \makeupwidth - \c!height=\textheight, % example in manual - \c!commands=, - \c!setups=, - \c!page=\v!right, - \c!doublesided=\v!empty, - \c!before=, - \c!top=\vss, - \c!bottom=\vss, - \c!after=, - \c!bottomstate=\v!normal, - \c!topstate=\v!normal, - \c!textstate=\v!normal, - \c!headerstate=\v!stop, - \c!footerstate=\v!stop, - \c!pagestate=\v!stop, % in manual ! ! ! - \c!color=, - \c!align=, - #2]% - \setvalue{\e!start#1\e!makeup}{\startmakeup[#1]}% - \setvalue{\e!stop #1\e!makeup}{\stopmakeup}} - -\unexpanded\def\setupmakeup - {\dodoubleargument\dosetupmakeup} - -\def\dosetupmakeup[#1]% - {\getparameters[\??do#1]} - -%D This will save us some 375 bytes in the format file. - -\def\makeupparameter#1{\getvalue{\??do\currentmakeup#1}} - -%D The \type{\start}||\type{\stop} macros are used for both -%D the direct and indirect way. The parameterless call will -%D build a simple box. - -\newtoks\everymakeup - -\let\currentmakeup\empty - -\unexpanded\def\startmakeup - {\dodoubleempty\dostartmakeup} - -\def\dostartmakeup[#1][#2]% - {\bgroup - \edef\currentmakeup{#1}% - \the\everymakeup - \iffirstargument - \setupmakeup[\currentmakeup][#2]% - \let\stopmakeup\dodostopmakeup - \expandafter \dodostartmakeup - \else - \let\stopmakeup\donostopmakeup - \expandafter \donostartmakeup - \fi} - -%D The simple case: - -\def\donostartmakeup % textwidth ? - {\page - \setupheader[\c!state=\v!empty]% - \setupfooter[\c!state=\v!empty]% - \setsystemmode\v!makeup - \vbox to \textheight\bgroup\hsize\textwidth} - -\def\donostopmakeup - {\egroup - \page - \egroup} - -%D The normal one: - -\newbox\makeupbox - -\def\dodostartmakeup - {\doifvaluesomething{\??do\currentmakeup\c!page} - {\page[\makeupparameter\c!page]}% - \setsystemmode\v!makeup - \setupmakeuplayout - \makeupparameter\c!commands % hm, what is this one doing here ? - \forgetall % else indented flush - \global\setbox\makeupbox\vbox to \makeupparameter\c!height - \bgroup - \doifsomething{\makeupparameter\c!color}{\startcolor[\makeupparameter\c!color]}% can be made faster - \doprocesslocalsetups{\makeupparameter\c!setups}% - \hsize\makeupparameter\c!width - \doifsomething{\makeupparameter\c!align} - {\setupalign[\makeupparameter\c!align]}% - \makeupparameter\c!top} - -\def\dodostopmakeup - {\endgraf - \makeupparameter\c!bottom - \doifsomething{\makeupparameter\c!color}{\stopcolor}% - \egroup - \doflushmakeup - \egroup - \calculatehsizes - \calculatevsizes} - -%D Selective page processing is handled here. (Why?) - -\def\doflushmakeup - {\ifprocessingpages - \ifpageselected - \doshipoutmakeup - \fi - \else - \ifpageselected \else - \doshipoutmakeup - \fi - \fi - \ifselectingpages - \global\pageselectedfalse - \fi} - -% \def\pushpagestate{\globalpushmacro\@@pnstate} -% \def\poppagestate {\globalpopmacro \@@pnstate} - -\def\doshipoutmakeup - {\pushpagestate % new - \makeupparameter\c!before - \setbox\makeupbox\vbox{\hbox{\color[\makeupparameter\c!color]{\box\makeupbox}}}% - % \ifgridsnapping - % new per 22/6/2006 - \ifdim\ht\makeupbox>\vsize - \ht\makeupbox\vsize - \fi - % \fi - \box\makeupbox - \setuppagenumber[\c!state=\makeupparameter\c!pagestate]% - \setupmakeuplayout - \page - \makeupparameter\c!after - \relax % voor fi - \ifdoublesided \ifodd\realpageno\else - \processaction - [\makeupparameter\c!doublesided] - [ \v!yes=>\emptyhbox - \page, - \v!empty=>{\setupmakeuplayout - \page[\v!blank]% - \emptyhbox - \page}]% - \fi \fi - \poppagestate} % new - -%D The text surrounding the main body text can be influenced -%D by setting their associated status variables. The -%D connection between them is made by the following macro - -\unexpanded\def\setupmakeuplayout - {\setupfooter[\c!state=\makeupparameter\c!footerstate]% - \setupheader[\c!state=\makeupparameter\c!headerstate]% - \setuptext [\c!state=\makeupparameter\c!textstate]% - \setupbottom[\c!state=\makeupparameter\c!bottomstate]% - \setuptop [\c!state=\makeupparameter\c!topstate]% - % this is needed, but no \setuplayout here; fails in texexec --fig=c - \recalculatelayout} - -%D The standard page template is defined as follows: - -\definemakeup - [\v!standard] - [\c!width=\innermakeupwidth, - \c!height=\textheight, - \c!page=\v!right, - \c!doublesided=\v!empty] - -\definemakeup - [\v!text] - [\c!topstate=\v!start, - \c!headerstate=\v!start, - \c!textstate=\v!start, - \c!footerstate=\v!start, - \c!bottomstate=\v!start, - \c!doublesided=\v!no, - \c!page=\v!yes, - \c!top=\pseudostrut\ignorespaces, - \c!bottom=\obeydepth\vss] - -\protect \endinput diff --git a/tex/context/base/page-mak.mkvi b/tex/context/base/page-mak.mkvi new file mode 100644 index 000000000..53385ff72 --- /dev/null +++ b/tex/context/base/page-mak.mkvi @@ -0,0 +1,219 @@ +%D \module +%D [ file=page-mak, % copied from main-001, +%D version=1997.03.31, +%D title=\CONTEXT\ Page Macros, +%D subtitle=Simple MakeUp, +%D author=Hans Hagen, +%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 Page Macros / MakeUp} + +\unprotect + +%D \macros +%D {definemakeup, setupmakeup, startmakeup} +%D +%D A makeup is a separate page, like a title page or colofon. +%D There is one standard makeup page, but you can define more +%D if needed. +%D +%D \starttyping +%D \startstandardmakeup +%D My Fancy Title +%D \stopstandardmakeup +%D \stoptyping +%D +%D The associated commands are: +%D +%D \showsetup{definemakeup} +%D \showsetup{setupmakeup} +%D \showsetup{startmakeup} + +%D New is that we have a layout with the same name so one can set +%D up a special layout tthat then gets used. + +\installcommandhandler \??do {makeup} \??do + +\appendtoks + \setuevalue{\e!start\currentmakeup\e!makeup}{\startmakeup[\currentmakeup]}% + \setuevalue{\e!stop \currentmakeup\e!makeup}{\stopmakeup}% + \definelayout[\currentmakeup]% new +\to \everydefinemakeup + +%D The \type{\start}||\type{\stop} macros are used for both +%D the direct and indirect way. The parameterless call will +%D build a simple box. + +\unexpanded\def\startmakeup + {\dodoubleempty\page_makeup_start} + +\let\stopmakeup\relax + +\def\page_makeup_start + {\iffirstargument + \expandafter\page_makeup_start_yes + \else + \expandafter\page_makeup_start_nop + \fi} + +%D The simple case: just a box with text dimensions. + +\unexpanded\def\page_makeup_start_nop[#name][#settings]% dummies + {\page + \setupheader[\c!state=\v!empty]% + \setupfooter[\c!state=\v!empty]% + \bgroup + \forgetall % else indented flush + \dontcomplain + \vbox to \textheight \bgroup + \setsystemmode\v!makeup + \hsize\textwidth + \let\stopmakeup\page_makeup_stop_nop} + +\unexpanded\def\page_makeup_stop_nop + {\egroup + \egroup + \page} + +%D The normal variant. + +\newbox \page_makeup_box +\newtoks\page_makeup_every_setup + +\def\page_makeup_start_yes[#name][#settings]% + {\doifelsenothing{\namedmakeupparameter{#name}\c!page} + {\page}% new, so best not have dangling mess here like references (we could capture then and flush embedded) + {\page[\namedmakeupparameter{#name}\c!page]}% + \startlayout[#name]% + \bgroup + \edef\currentmakeup{#name}% + \setupcurrentmakeup[#settings]% + \setsystemmode\v!makeup + \the\page_makeup_every_setup + \makeupparameter\c!commands % hm, what is this one doing here ? + \forgetall % else indented flush + \dontcomplain + \global\setbox\page_makeup_box\vbox to \makeupparameter\c!height \bgroup + \dosetmakeupattributes\c!style\c!color + \hsize\makeupparameter\c!width + \setupalign[\makeupparameter\c!align]% + \doprocesslocalsetups{\makeupparameter\c!setups}% lua(..),xml(...,..),tex(..) + \makeupparameter\c!top + \let\stopmakeup\page_makeup_stop_yes} + +\unexpanded\def\page_makeup_stop_yes + {\endgraf + \makeupparameter\c!bottom + \egroup + \ifprocessingpages % this will be redone anyway (is this needed at all?) + \ifpageselected + \page_makeup_flush_box + \else + \page_makeup_wipe_box + \fi + \else + \ifpageselected + \page_makeup_wipe_box + \else + \page_makeup_flush_box + \fi + \fi + \ifselectingpages + \global\pageselectedfalse + \fi + \egroup + \stoplayout} + +\def\page_makeup_flush_box + {\pushpagestate % new + \makeupparameter\c!before + \relax % to be sure we don't enter the \if + \ifdim\ht\page_makeup_box>\vsize + \ht\page_makeup_box\vsize % is already set to \textheight (maybe set dp to 0) + \fi + \setuppagenumber[\c!state=\makeupparameter\c!pagestate]% + \box\page_makeup_box + \the\page_makeup_every_setup + \page + \makeupparameter\c!after + \relax % to be sure we don't enter the \if + \ifdoublesided \ifodd\realpageno \else + \getvalue{\??do::\c!doublesided::\makeupparameter\c!doublesided}% + \fi \fi + \poppagestate} % new + +\def\page_makeup_wipe_box + {\global\box\page_makeup_box\emptybox} + +\setvalue{\??do::\c!doublesided::\v!yes}% + {\emptyhbox + \page} + +\setvalue{\??do::\c!doublesided::\v!empty}% + {\the\page_makeup_every_setup + % == \page[\v!dummy] + \page[\v!blank]% + \emptyhbox + \page} + +%D The text surrounding the main body text can be influenced +%D by setting their associated status variables. The +%D connection between them is made by the following macro + +\appendtoks % this might need a revision + \setupfooter[\c!state=\makeupparameter\c!footerstate]% + \setupheader[\c!state=\makeupparameter\c!headerstate]% + \setuptext [\c!state=\makeupparameter\c!textstate]% + \setupbottom[\c!state=\makeupparameter\c!bottomstate]% + \setuptop [\c!state=\makeupparameter\c!topstate]% + % this is needed, but no \setuplayout here; fails in texexec --fig=c + %\recalculatelayout +\to \page_makeup_every_setup + +%D The standard page template is defined as follows: + +\setupmakeup + [\c!width=\innermakeupwidth, % example in manual / was \makeupwidth + \c!height=\textheight, % example in manual + %\c!commands=, + %\c!setups=, + %\c!color=, + %\c!align=, + %\c!before=, + %\c!after=, + \c!page=\v!right, + \c!doublesided=\v!empty, + \c!top=\vss, + \c!bottom=\vss, + \c!bottomstate=\v!normal, + \c!topstate=\v!normal, + \c!textstate=\v!normal, + \c!headerstate=\v!stop, + \c!footerstate=\v!stop, + \c!pagestate=\v!stop] % in manual ! ! ! + +\definemakeup + [\v!standard] + [\c!width=\innermakeupwidth, + \c!height=\textheight, + \c!page=\v!right, + \c!doublesided=\v!empty] + +\definemakeup + [\v!text] + [\c!topstate=\v!start, + \c!headerstate=\v!start, + \c!textstate=\v!start, + \c!footerstate=\v!start, + \c!bottomstate=\v!start, + \c!doublesided=\v!no, + \c!page=\v!yes, + \c!top=\pseudostrut\ignorespaces, + \c!bottom=\obeydepth\vss] + +\protect diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index c10a64d95..d299bfc1a 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 e14bfa84a..ec6a091ca 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 1da99b200..4f82f9b8f 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 : 10/19/11 18:24:29 +-- merge date : 10/19/11 23:10:36 do -- begin closure to overcome local limits and interference -- cgit v1.2.3