\setuplayout [grid=yes, headerdistance=5mm, margindistance=5mm, backspace=17.5mm, margin=10mm, topspace=40mm, height=23cm, header=10mm, footer=10mm, width=17.5cm] %\showframe %\showgrid \usemodule [visual] \setupbodyfont [palatino,11pt] \definecolor [transparentred] [r=1,t=.5,a=1] \definecolor [transparentgreen][g=1,t=.5,a=1] %------------------------------------------------------------ \def\posA{10} \def\posB{20} \def\mygap{1pt} \def\mypen{1pt} \def\PQhalfwith{20mm} %------------------------------------------------------------ \startuseMPgraphic{mytest0} % for basic straight column begingroup ; save p ; path p ; p := (0,0) -- (0.3*TextWidth,0cm) -- (0.3*TextWidth,TextHeight) -- (0cm,TextHeight) --cycle ; lmt_parshape [path = p] ; draw p withpen pencircle scaled \mypen ; endgroup ; \stopuseMPgraphic \startuseMPgraphic{mytest1} % column on the left of the pull quote begingroup ; save p ; path p ; p := (0,0) -- (0.3*TextWidth,0cm) -- (0.3*TextWidth, TextHeight+\mygap-\posB*LineHeight) -- (0.3*TextWidth-\PQhalfwith,TextHeight+\mygap-\posB*LineHeight) -- (0.3*TextWidth-\PQhalfwith,TextHeight-\mygap-\posA*LineHeight) -- (0.3*TextWidth, TextHeight-\mygap-\posA*LineHeight) -- (0.3*TextWidth,TextHeight) -- (0cm,TextHeight) --cycle ; lmt_parshape [path = p] ; draw p withpen pencircle scaled \mypen ; endgroup ; \stopuseMPgraphic \startuseMPgraphic{mytest2} % column on the right of the pull quote begingroup ; save p ; path p ; p := (0,0) -- (0.3*TextWidth,0cm) -- (0.3*TextWidth,TextHeight) -- (0cm,TextHeight) -- (0.0*TextWidth, TextHeight-\mygap-\posA*LineHeight) -- (0.0*TextWidth+\PQhalfwith,TextHeight-\mygap-\posA*LineHeight) -- (0.0*TextWidth+\PQhalfwith,TextHeight+\mygap-\posB*LineHeight) -- (0.0*TextWidth, TextHeight+\mygap-\posB*LineHeight) -- cycle ; lmt_parshape [path = p] ; draw p withpen pencircle scaled \mypen ; endgroup ; \stopuseMPgraphic \defineoverlay[myOL1][\useMPgraphic{mytest1}] \defineoverlay[myOL2][\useMPgraphic{mytest2}] %------------------------------------------------------------ \defineframed [FramePage] [align=width, frame=off, location=high, strut=yes, offset=0pt, width=\textwidth, height=\textheight, before=] \defineframed [FrameColumn] [FramePage] [background=color, backgroundcolor=transparentred, width=0.3\textwidth, after=\dontleavehmode] %------------------------------------------------------------ \definelayer % used to display the pull quote on the page [test] [x=0mm, y=0mm, width=\paperwidth, height=\paperheight] %======================================================= \starttext \startshapetext[mytest1,mytest2,mytest0,mytest0]% \strut% \dorecurse{3}{\samplefile{douglas} \blank[1*line]}% \stopshapetext %------------------------------------------------------------ % First page \FramePage{% \FrameColumn[background={color,myOL1}]{\getshapetext}\hfill \FrameColumn[background={color,myOL2}]{\getshapetext}\hfill \FrameColumn{empty}} % and the pull quote \setlayer [test] [hoffset=\backspace+0.3\textwidth-\PQhalfwith+0.2pt, voffset=\dimexpr(\topspace+\headerheight+\headerdistance+\posA\baselineskip-0.4pt)] {\framed[ background=color, backgroundcolor=transparentgreen, frame=off, strut=yes, offset=0pt, width=\dimexpr(0.05\textwidth)+\PQhalfwith+\PQhalfwith, height=\dimexpr(\posB\baselineskip-\posA\baselineskip)]{\bfd PULL QUOTE\\TRIAL}} \setupbackgrounds[page][background={foreground,test}] %------------------------------------------------------------ % Second page just to demonstrate that \getshapetext continue to work \page \FramePage{% \FrameColumn{\getshapetext}\hfill \FrameColumn{\getshapetext}\hfill \FrameColumn{empty}} \stoptext