[Manuel]

Any way, back to the topic at hand. Lets assume the following fo:

<fo:block><fo:inline font-size=10pt">some 10pt text<fo:inline font-size="12pt">some 12 pt text</fo:inline>more 10pt text</fo:inline></fo:block>

In this case the line-height everywhere is normal which is equivalent to 1.2em. The innermost fo:inline will return an area with a bpd of 12pt. However, the outer fo:inline has a smaller font and as the line-height spec on an inline element is binding it can only return areas of 10pt bpd therefore "cutting off" part of the inner fo:inline. So our area tree (assuming it all fits on one line) in fop terminology would look like:

<linearea bpd="10000" space-before="1200" space-after="1200">
  <inlinearea bpd="10000">
    <textarea font-size="10pt">some 10pt text</textarea>
    <inlinearea bpd="12000">
      <textarea font-size="12pt">some 12pt text</textarea>
    </inlinearea>
    <textarea font-size="10pt">more 10pt text</textarea>
  </inlinearea>
<linearea>

Right, except the 10000 and 12000 values should be text-altitude + text-depth:

<linearea bpd="11100" space-before="1650" space-after="1650">
  <inlinearea bpd="9250">
    <textarea font-size="10pt">some 10pt text</textarea>
    <inlinearea bpd="11100">
      <textarea font-size="12pt">some 12pt text</textarea>
    </inlinearea>
    <textarea font-size="10pt">more 10pt text</textarea>
  </inlinearea>
<linearea>

All the inline areas also have a line-height trait of 12000 but that is only used when lls="line-height" [4.6].

In my interpretation as there is no explicit line-height spec on the inlines we get an area tree like:

<linearea bpd="12000" space-before="1200" space-after="1200">
  <inlinearea bpd="12000">
    <textarea font-size="10pt">some 10pt text</textarea>
    <inlinearea bpd="12000">
      <textarea font-size="12pt">some 12pt text</textarea>
    </inlinearea>
    <textarea font-size="10pt">more 10pt text</textarea>
  </inlinearea>
<linearea>

I have no idea whose right or wrong here or even which interpretation makes more sense.

From [4.6]:
"""An inline-area with inline-area children has a content-rectangle which extends from its dominant baseline (see [4.2.6 Font Baseline Tables]) by its text-depth in the block-progression-direction, and in the opposite direction by its text-altitude;"""

So it appears that the bpd of an inline depends on the inline's font and not on the line-height property or the inline's children.

Does it make sense?


I have no idea what the spec means by [7.15.4]:

"""If the property is set on an inline-level element, it specifies the exact height of each box generated by the element."""

because both "set" and "box" is undefined by the rest of the spec. The text is copied from CSS where it perhaps makes sense.

regards,
finn

Reply via email to