[ttml2] Use of maximum descendant font size in normal line height computation.

skynavga has just created a new issue for https://github.com/w3c/ttml2:

== Use of maximum descendant font size in normal line height computation. ==
It appears that when we reworked the algorithm for resolving the value of ``normal`` line height that the language regarding use of maximum descendant font size was inadvertently left out.

TTML1 (8.2.12) says

>If the value of this attribute is ``normal``, then the computed value of the style property must be considered to be no less than the size of the largest font size that applies to the element and its descendant elements in the intermediate synchronic document as determined by 9.3.3 Intermediate Synchronic Document Construction.

As it turns out, this language, which was intended to be compatible with XSL-FO and CSS2, does not in fact yield the correct result because it takes the maximum descendant font size for the paragraph and assigns that value as a single value to the every line area generated by the paragraph. In contrast, the definition of **per-inline-height-rectangle**, which XSL-FO states is compatible with CSS2, makes use of the maximum font size of the inline areas on a per-line-area basis, not for all line areas in the paragraph, and, further, factors in the ascent, descent, and leading for individual inline area descendants of a line area.

XSL-FO 1.1 (4.5) says

>The extent of the per-inline-height-rectangle in the block-progression-direction is then defined to be the minimum required to enclose both the expanded-nominal-requested-line-rectangle and the expanded-rectangles of all the inline-areas stacked within the line-area; this may vary depending on the descendants of the line-area.

The defining language in CSS2 can be found in section 10.8, which has evolved (mainly via clarification and additional prose) from CSS2 (1998) to the current draft of [CSS2.2](https://www.w3.org/TR/CSS22/visudet.html#line-height).

Taken together, I conclude that, as presently written:
- TTML1 semantics for `normal` do not match either CSS2 or XSL-FO;
- TTML2 semantics for `normal` do not say anything (at present) about taking the maximum of descendants, and, therefore, match none of TTML1, CSS, nor XSL-FO;

To resolve this, we need to clarify/refine the algorithmic language found in [TTML2 10.2.27](file:///Users/glenn/work/ttml2/spec/ttml2.html#style-attribute-lineHeight). We also need to back port the essential clarifications to TTML1.

I am going to mark this as a a bug, and requiring substantive changes, even though one might (marginally) argue that it is editorial since our intentions were to match CSS2/XSL-FO in the first place. However, to resolve this, we will need to introduce new normative algorithmic language which can affect conformance.



Please view or discuss this issue at https://github.com/w3c/ttml2/issues/806 using your GitHub account

Received on Wednesday, 30 May 2018 00:11:23 UTC