\setuplayout [grid=yes]

\showgrid

\definecolor [transparentred]  [r=1,t=.5,a=1]

\def\numA{18}
\def\numB{4}
\def\numC{8}
\def\numD{14}
\def\mygap{0.001pt}

%=======================================================

\startMPinclusions
    path pleft ; path pright ;

    numeric LA ; LA := (\numA-1)*LineHeight + StrutHeight + StrutDepth + \mygap ;
    numeric LB ; LB :=  \numB   *LineHeight - StrutHeight - StrutDepth + \mygap ;
    numeric LC ; LC :=  \numC   *LineHeight - StrutHeight - StrutDepth - \mygap ;
    numeric LD ; LD :=  \numD   *LineHeight ;
    numeric LE ; LE := 2cm ;

    pleft := (0cm     , 0cm    ) --
             (LD      , 0cm    ) --
             (LD      , LA - LC) --
             (LD - LE , LA - LC) --
             (LD - LE , LA - LB) --
             (LD      , LA - LB) --
             (LD      , LA     ) --
             (0cm     , LA     ) --
             cycle  ;

    pright := pleft reflectedabout ((LD/2,0cm) , (LD/2,1cm));

\stopMPinclusions

\startuseMPgraphic{mytest1}  % column on the left of the pull quote
    lmt_parshape [path = pleft ] ;
    fill pleft withcolor \MPcolor{transparentred} ;
\stopuseMPgraphic

\startuseMPgraphic{mytest2}  % column on the right of the pull quote
    lmt_parshape [path = pright] ;
    fill pright withcolor \MPcolor{transparentred} ;
\stopuseMPgraphic

\defineoverlay[myOL1][\useMPgraphic{mytest1}]
\defineoverlay[myOL2][\useMPgraphic{mytest2}]

%=======================================================

\defineframed
  [MyBigFrame]
  [offset=-0.26pt,
   frameoffset=0pt,
   frame=off,
   strut=yes,
   before=,
   location=top,
   height=\dimexpr(\numA\lineheight),
   width=\textwidth,
   align=normal,]

\defineframed
  [MyFrame]
  [MyBigFrame]
  [location=high,
   width=\dimexpr(\numD\lineheight),
   after=\dontleavehmode,]

%=======================================================

\starttext

{\bf Before}   %----------------------------------------

\startshapetext[mytest1,mytest2]
\strut\samplefile{douglas}
\stopshapetext

\MyBigFrame{%
\MyFrame[background=myOL1]{\getshapetext}%
\hfill%
\MyFrame[background=myOL2]{\getshapetext}}

{\bf Between}  %----------------------------------------

\startshapetext[mytest1,mytest2]
\strut\samplefile{knuth}\par\samplefile{knuth}
\stopshapetext

\MyBigFrame{%
\MyFrame[background=myOL1]{\getshapetext}%
\hfill%
\MyFrame[background=myOL2]{\getshapetext}}

{\bf After}    %----------------------------------------

\stoptext
