W3C home > Mailing lists > Public > www-math@w3.org > October 2009

Re: [MathML3-last-call] Last mpadded example is wrong

From: Neil Soiffer <Neils@dessci.com>
Date: Wed, 7 Oct 2009 09:09:26 -0700
Message-ID: <d98bce170910070909i6a750f3bp5188e5cae2ca1c2a@mail.gmail.com>
To: www-math@w3.org
Resolved by changing the text and not the example:

/w3ccvs/WWW/Math/Group/spec/xml/presentation-markup.xml,v
revisions 1.278 & 1.279

There was some disagreement/confusion as to the meanings of bounding box and
"visual positioning point". The consensus conclusion was to make those more
clear so that lspace='+.3em' is the same as '.3em' and so no change is
necessary to the example.  Some rewriting to the description of the
attributes was done.

The new section reads:

3.3.6.3 Meanings of size and position attributes

See Appendix D Glossary<file:///C:/Soiffer/MathML3%20Spec/WWW/Math/Group/draft-spec/appendixd.html>for
definitions of some of the typesetting terms used here.

The content of an mpadded element defines a fragment of mathematical
notation, such as a character, fraction, or expression, that can be regarded
as a single typographical element with a natural positioning point relative
to its natural bounding box.

The size of the bounding box of an mpadded element is defined as the size of
the bounding box of its content, except as modified by its height, depth,
and width attributes. The natural positioning point of the child content of
the mpadded element is located to coincide with the natural positioning
point of the mpadded element, except as modified by the lspace and
voffsetattributes. Thus, the size attributes of
mpadded can be used to expand or shrink the apparent bounding box of its
content, and the position attributes of mpadded can be used to move the
content relative to the bounding box (and hence also neighboring elements).
Note that MathML doesn't define the precise relationship between "ink",
bounding boxes and positioning points, which are implementation specific.
Thus, absolute values for mpadded attributes may not be portable between
implementations.

The height attribute specifies the vertical extent of the bounding box of
the mpadded element above its baseline. Increasing the height increases the
space between the baseline of the mpadded element and the content above it,
and introduces padding above the rendering of the child content. Decreasing
the height reduces the space between the baseline of the mpadded element and
the content above it, and removes space above the rendering of the child
content. Decreasing the height may cause content above the mpadded element
to overlap the rendering of the child content, and should generally be
avoided.

The depth attribute specifies the vertical extent of the bounding box of the
mpadded element below its baseline. Increasing the depth increases the space
between the baseline of the mpadded element and the content below it, and
introduces padding below the rendering of the child content. Decreasing the
depth reduces the space between the baseline of the mpadded element and the
content below it, and removes space below the rendering of the child
content. Decreasing the depth may cause content below the mpadded element to
overlap the rendering of the child content, and should generally be avoided.


The width attribute specifies the horizontal distance between the
positioning point of the mpadded element and the positioning of point of the
following content. Increasing the width increases the space between the
positioning point of the mpadded element and the content that follows it,
and introduces padding after the rendering of the child content. Decreasing
the width reduces the space between the positioning point of the
mpaddedelement and the content that follows it, and removes space
after the
rendering of the child content. Setting the width to zero causes following
content to be positioned at the positioning point of the mpadded element.
Decreasing the width should generally be avoided, as it may cause
overprinting of the following content.

The lspace attribute specifies the horizontal location of the positioning
point of the child content with respect to the positioning point of the
mpadded element. By default they coincide, and therefore absolute values for
lspace have the same effect as relative values. Positive values for the
lspace attribute increase the space between the preceding content and the
child content, and introduce padding before the rendering of the child
content. Negative values for the lspace attributes reduce the space between
the preceding content and the child content, and may cause overprinting of
the preceding content, and should generally be avoided. Note that the
lspaceattribute does not affect the
width of the mpadded element, and so the lspace attribute will also affect
the space between the child content and following content, and may cause
overprinting of the following content, unless the width is adjusted
accordingly.

The voffset attribute specifies the vertical location of the positioning
point of the child content with respect to the positioning point of the
mpadded element. Positive values for the voffset attribute raise the
rendering of the child content above the baseline. Negative values for the
voffset attribute lower the rendering of the child content below the
baseline. In either case, the voffset attribute may cause overprinting of
neighboring content, which should generally be avoided. Note that the
voffset attribute does not affect the height or depth of the
mpaddedelement, and so the
voffset attribute will also affect the space between the child content and
neighboring content, and may cause overprinting of the neighboring content,
unless the height or depth is adjusted accordingly.

MathML renderers should ensure that, except for the effects of the
attributes, the relative spacing between the contents of the mpadded element
and surrounding MathML elements would not be modified by replacing an
mpadded element with an mrow element with the same content, even if
linebreaking occurs within the mpadded element. MathML does not define how
non-default attribute values of an mpadded element interact with the
linebreaking algorithm.




On Tue, Sep 29, 2009 at 4:16 PM, Neil Soiffer <Neils@dessci.com> wrote:

> The last mpadded example:
>
> <mrow>
>   <mi>x</mi>
>   <mpadded lspace="0.3em" width="+0.6em">
>     <mi>y</mi>
>   </mpadded>
>   <mi>z</mi>
>
> </mrow>
>
>
> should have lspace="+0.3em" to be in sync with the picture above it.
>
> Neil Soiffer
> Senior Scientist
> Design Science, Inc.
> www.dessci.com
> ~ Makers of MathType, MathFlow, MathPlayer, MathDaisy, WebEQ, Equation
> Editor ~
>
>
Received on Wednesday, 7 October 2009 16:10:01 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 20 February 2010 06:13:05 GMT