[webkit-dev] mfenced - more MathML questions

Alex Milowski alex at milowski.org
Wed Sep 9 14:34:53 PDT 2009


On Wed, Sep 9, 2009 at 2:17 PM, David Hyatt<hyatt at apple.com> wrote:
> I guess that might make the fence too tall if something outside of it is
> taller than what's inside.  You may have to just drill into your children
> line boxes in order to compute your top and your bottom position.  We don't
> really have the concept of caching "line top" and "line bottom" except on
> the root line box....

I think what throws this off is the width of the fence changes as I scale the
font size.  That causes the whole layout to need to "shift".  In some instances
I can get that to work but I can't seem to get it to consistently work.

When I move to glyph stacking, the width will be fixed and I'll be able
to determine that when I create the fences (pre-layout).

Unfortunately, there are plenty of places where I'll need to change the width
of something and that will cause the same problem.  For example:

<munder>
<mo>&#x2192;</mo> <!-- right arrow -->
<mtext>maps to</mtext>
</munder>

The arrow is considered "stretchy" and should be stretched slightly longer
then the rendered width of the text in 'mtext'.  Again, you'd lay this out
vertically and then check the maximum width.  Afterwards, you'd stretch
the operator (right arrow) to the desired width by stacking glyphs
left-to-right.

That will cause the next item in the flow to need to be repositioned and
that is the same problem I'm having.

I can do this in javascript manually and so there must be some way to
say:  "It is now invalid from here forward and so re-layout the following
tree" ?

-- 
--Alex Milowski
"The excellence of grammar as a guide is proportional to the paucity of the
inflexions, i.e. to the degree of analysis effected by the language
considered."

Bertrand Russell in a footnote of Principles of Mathematics


More information about the webkit-dev mailing list