> The method that should be fixed is MathScriptInset::draw.
> However, how do I get the ascent/descent of the element before the
> super/subscript ?

Taking contextual or other "semiglobal" information is Wrong.

If that is necessary, we need the "base" to be part of the inset as well.
Maybe that's the proper solution for the current sub/superscript problems
after all...

But that would mean that the uservisible behaviour changes: Currently, in
'ab^c' both 'a' and 'b' are "peers". If we make 'b' part of the scriptinset
(where it probably belongs considering the semantics), 'a' and 'b' are not
peers anymore which will show e.g. when deleting 'b'...

> Looking at the 1.1.6 code, MathScriptInset::draw should be something like
> 
> if (up())
>    xcell(0).draw(pain, x, y - (xcell(0).descent()>ascent ? 
>                                    xcell(0).descent()+4 : ascent) );
> if (down())
>    xcell(1).draw(pain, x, y + descent + xcell(1).ascent()/2);
> 
> PS: I really don't like the use of the constant 4.

I don't like it either, but I didn't really care for "off by a few pixel"
errors as long as the mathed core was in flux.  OTOH thing seem to
stabilize now, so the time to fix these things may be close.

Andre'

-- 
André Pönitz ............................................. [EMAIL PROTECTED]

Reply via email to