Hi Hans, I believe that in MkIV some \framed[location=...] keys are not working, namely `depth`, `height`, and `hanging`. In MkIV these all place the bottom of the frame flush with the baseline, like [location=]. In MkII they behave more sensibly, as follows: * depth: place bottom of frame flush with bottom of the line (i.e. \strutdepth below baseline) * height: place top of frame flush with top of line * hanging: place top of frame flush with baseline Test code below, mkii and mkiv output attached. I have produced a fix for the code in pack-rul.mkiv [1], placed at the very bottom of this e-mail. It works; but it is a pure-bred example of cargo cult programming, i.e. lots of 'making it look right' and very little understanding, so you will probably want to check it. [1] http://repo.or.cz/w/context.git/blob/HEAD:/tex/context/base/pack-rul.mkiv All the best, Sietse \setupcolors[state=start] \setupblackrules[depth=\strutdepth,height=\strutheight,width=1mm,color=red] \starttext \ruledhbox {A \framed[width=2cm,align=middle,location=] {location\\equals\\(nothing)}% \blackrule \framed[width=2cm,align=middle,location=depth] {location\\equals\\depth}% \blackrule \framed[width=2cm,align=middle,location=height] {location\\equals\\height}% \blackrule \framed[width=2cm,align=middle,location=hanging]{location\\equals\\hanging} B} \vskip2cm \ruledhbox {A \framed[width=2cm,align=middle,location=low] {location\\equals\\low} \framed[width=2cm,align=middle,location=line] {location\\equals\\line} \framed[width=2cm,align=middle,location=high] {location\\equals\\high} B} \vskip2cm \ruledhbox {A \framed[width=2cm,align=middle,location=bottom] {location\\equals\\bottom} \framed[width=2cm,align=middle,location=lohi] {location\\equals\\lohi} \framed[width=2cm,align=middle,location=middle] {location\\equals\\middle} \framed[width=2cm,align=middle,location=top] {location\\equals\\top} B} \stoptext ------- This is the fixed code -------- \installframedlocator \v!hanging % best with strut=no {} - {\dp\b_framed_normal\scratchdimen + {\scratchdimen\ht\b_framed_normal + \setbox\b_framed_normal\hbox{\lower\scratchdimen\box\b_framed_normal}% + \dp\b_framed_normal\scratchdimen \ht\b_framed_normal\zeropoint \hbox{\box\b_framed_normal}} \installframedlocator \v!depth {} - \ht\b_framed_normal\dimexpr\ht\b_framed_normal-\strutdp\relax + {\setbox\b_framed_normal\hbox{\lower\strutdp\box\b_framed_normal}% + \ht\b_framed_normal\dimexpr\ht\b_framed_normal-\strutdp\relax \dp\b_framed_normal\strutdp \hbox{\box\b_framed_normal}} \installframedlocator \v!height {} - {\dp\b_framed_normal\dimexpr\ht\b_framed_normal-\strutht\relax + {\scratchdimen\dimexpr \ht\b_framed_normal - \strutht \relax + \setbox\b_framed_normal\hbox{\lower\scratchdimen\box\b_framed_normal}% + \dp\b_framed_normal\dimexpr\ht\b_framed_normal-\strutht\relax \ht\b_framed_normal\strutht \hbox{\box\b_framed_normal}}