On Mon, 26 Sep 2005 06:19 pm, Peter B. West wrote:
> Manuel Mall wrote:
<snip/>
Peter,
thanks for your feedback. I have deleted most of my original post to
keep this to a reasonable size. Further comments inline. Just repeating
my example here:
<fo:block>Some text
<fo:inline font-size=".5em"
dominant-baseline="reset-size"
alignment-baseline="text-before-edge">top
<fo:inline font-size=".5em" alignment-baseline="central">
tiny</fo:inline>
</fo:inline>
</fo:block>
>
> I can't say for sure, but I think there may be some confusion about
> the relationship between the alignment-baseline of nested
> inline-areas and the dominant-baseline of the containing line-area.
> The nominal-requested-line-rectangle is implicitly defined with
> respect to the dominant-baseline, text-depth and text-altitude on
> the parent of the line-area.
Yes, agreed.
>
> The situation with inheritance of properties involved with these
> calculation is also confused. They do no inherit, except that, for
> dominant-baseline, components of the scaled-baseline-table
> "propagate" for formatting object children with the default initial
> value of "auto" for dominant-baseline. Apart from that, neither
> alignment-baseline nor dominant-baseline inherit, so they must revert
> to relativity to, I think, the values holding for the line-area,
> whenever a new inline formatting object, including nested objects, is
> encountered.
>
I agree that neither of these properties inherit but they all have
default values. However, the baseline table does propagate as you said
and may or may not be rescaled depending on the alignment properties
explicitly set. If none are set the baseline table stays unchanged.
> In the example you have used, the alignment-baseline of "central" on
> "tiny" simply moves the central line of "tiny" into correspondence
> with the central line of "Some text".
This is were my interpretation differs from yours. IMO for the innermost
inline ("tiny") the baseline table that applies is the one established
by the rescaling of the table by its parent inline ("top"). Therefore
"tiny" should be aligned to the "central" baseline of the rescaled
table. For the inline "tiny" the following alignment property values
apply:
alignment-adjust="auto" => computed value is "central"
alignment-baseline="central" => computed value is "central"
baseline-shift="baseline" => computed value is "0"
dominant-baseline="auto"
The most interesting bit is the "auto" setting for the dominant-baseline
as it says in the spec for that case: "if this property is not on a
block-level formatting object, then the baseline-identifier for the
dominant baseline, the derived baseline-table, and baseline-table
font-size remain the same as those of the parent formatting object. "
As the parent formatting object is the inline "top" I interpret this as:
"tiny's" baseline table is the same as "top's" (which is the rescaled
baseline table from the fo:block). "tiny's" baseline table is not being
rescaled to "tiny's" font-size. The dominant-baseline-identifier still
stays "alphabetic".
FWIW (not that much I agree) both AntennaHouse and RenderX behave as I
outlined.
> The scaled-font-table remains the same as for "top"; only the size of
> the glyphs changes.
Not sure I understand what a "scaled-font-table" is but as said above
IMO the "scaled-baseline-table" on "tiny" is the same as on "top".
> See the third example:
>
> <fo:inline>Apguru
> <fo:inline font-size='.75em'>
> Exji
> </fo:inline>
> </fo:inline>
>
Yes, not disputed.
> So rule 3 holds. There have been no baseline-shifts (rescaling the
> font-table doesn't count as a baseline-shift.)
>
Yes, in your interpretation, not in mine.
> Maybe.
>
> > Still seriously confused
>
> Surely not.
>
:-)
> Peter
Manuel