@@ -971,12 +971,10 @@ <h3>10.6.1 <a name="inline-non-replaced">Inline, non-replaced elements</a></h3>
971971< p > The < a href ="visudet.html#propdef-height " class ="noxref "> < span class ="propinst-height "> 'height'</ span > </ a > property does not
972972apply. The height of the content area should be based on the font, but
973973this specification does not specify how. A UA may, e.g., use the
974- em-box or the maximum ascender and descender of the font. (The latter
974+ the maximum ascender and descender of the font. (This
975975would ensure that glyphs with parts above or below the em-box still
976976fall within the content area, but leads to differently sized boxes for
977- different fonts; the former would ensure authors can control
978- background styling relative to the 'line-height', but leads to glyphs
979- painting outside their content area.)
977+ different fonts.)
980978</ p >
981979< p class =note > Note: level 3 of CSS will probably include a property to
982980select which measure of the font is used for the content height.
@@ -989,14 +987,10 @@ <h3>10.6.1 <a name="inline-non-replaced">Inline, non-replaced elements</a></h3>
989987the height of the line box.
990988</ p >
991989< p > < a name ="multi-font-inline-height "> </ a > If more than one font is
992- used (this could happen when glyphs are found in different fonts), the
993- height of the content area is not defined by this specification.
994- However, we suggest that the height is chosen such that the content
995- area is just high enough for either (1) the em-boxes, or (2) the
996- maximum ascenders and descenders, of < em > all</ em > the fonts in the
997- element. Note that this may be larger than any of the font sizes
998- involved, depending on the baseline alignment of the fonts.
999- </ p >
990+ used (this could happen when glyphs are found in different fonts),
991+ the height of the content area is not affected
992+ by the glyphs from the fallback fonts,
993+ and only depends on the first available font.</ p >
1000994
1001995< h3 > 10.6.2 < a name ="inline-replaced-height "> Inline replaced elements</ a > ,
1002996block-level replaced elements in normal flow, 'inline-block' replaced
@@ -1415,24 +1409,38 @@ <h3>10.8.1 <a name="leading">Leading and half-leading</a></h3>
14151409each glyph, determine the < var > A</ var > and < var > D</ var > . Note that
14161410glyphs in a single element may come from different fonts and thus need
14171411not all have the same < var > A</ var > and < var > D</ var > . If the inline box
1418- contains no glyphs at all, it is considered to contain a < a
1412+ contains no glyphs at all,
1413+ or if it contains only glyphs from fallback fonts,
1414+ it is considered to contain a < a
14191415href ="#strut "> strut</ a > (an invisible glyph of zero width) with the
14201416< var > A</ var > and < var > D</ var > of the element's first available font.
14211417
1422- < p > Still for each glyph, determine the leading < var > L</ var > to add,
1418+ < p id ="inline-box-height "> When the value of the < a href ="" class ="noxref "> < span class ="propinst-line-heigh "> 'line-height'</ span > </ a > property
1419+ is something other than 'normal',
1420+ determine the leading < var > L</ var > to add,
14231421where < var > L</ var > = < a href ="visudet.html#propdef-line-height " class ="noxref "> < span
1424- class ="propinst-line-height "> 'line-height'</ span > </ a > - < var > AD</ var > . Half
1425- the leading is added above < var > A</ var > and the other half below
1426- < var > D</ var > , giving the glyph and its leading a total height above
1422+ class ="propinst-line-height "> 'line-height'</ span > </ a > - < var > AD</ var > of the first available font.
1423+ Half the leading is added above < var > A</ var > of the first available font, and the other half below
1424+ < var > D</ var > of the first available font, giving a total height above
14271425the baseline of < var > A'</ var > = < var > A</ var > + < var > L</ var > /2 and a
14281426total depth of < var > D'</ var > = < var > D</ var > + < var > L</ var > /2.
1427+ Glyphs from fonts other than the first available font
1428+ do not impact the height or baseline of the inline box
1429+ for < a href ="" class ="noxref "> < span class ="propinst-line-heigh "> 'line-height'</ span > </ a > values other than 'normal'.
14291430
14301431< p class =note > < strong > Note.</ strong > < var > L</ var > may be negative.
14311432
1432- < p id ="inline-box-height "> The height of the inline box encloses all
1433- glyphs and their half-leading on each side and is thus exactly
1434- 'line-height'. Boxes of
1435- child elements do not influence this height.
1433+ < p > Boxes of child elements do not influence this height.
1434+
1435+ < p > When the value of the < a href ="" class ="noxref "> < span class ="propinst-line-heigh "> 'line-height'</ span > </ a > property
1436+ is 'normal',
1437+ the height of the inline box encloses all glyphs, going from the highest < var > A</ var > to the deepest < var > D</ var > .
1438+
1439+ < p > User Agents may use different sets of font metrics when determining < var > A</ var > and < var > D</ var >
1440+ depending on whether the < a href ="" class ="noxref "> < span class ="propinst-line-heigh "> 'line-height'</ span > </ a > property
1441+ is 'normal' or some other value,
1442+ for instance taking external leading metrics into account
1443+ only in the 'normal' case.
14361444
14371445< p > Although margins, borders, and padding of non-replaced elements do
14381446not enter into the line box calculation, they are still rendered
@@ -1493,29 +1501,25 @@ <h3>10.8.1 <a name="leading">Leading and half-leading</a></h3>
14931501
14941502< dl >
14951503< dt > < strong > normal</ strong > </ dt >
1496- < dd > Tells user agents to set the used
1497- value to a "reasonable" value based on the font of the element. The
1498- value has the same meaning as < span class ="index-inst "
1499- title ="<number> " id ="x18 "> < a href ="syndata.html#value-def-number " class ="noxref "> < span
1500- class ="value-inst-number "> <number></ span > </ a > </ span > . We recommend a
1501- used value for 'normal' between 1.0 to 1.2. The < a
1502- href ="cascade.html#computed-value "> computed value</ a > is 'normal'.
1504+ < dd > Tells user agents to determine the height of the inline box
1505+ automatically based on font metrics.
1506+ See above for details.
15031507</ dd >
1504- < dt > < span class ="index-inst " title ="<length> " id ="x19 "> < a href ="syndata.html#value-def-length " class ="noxref "> < span
1508+ < dt > < span class ="index-inst " title ="<length> " id ="x18 "> < a href ="syndata.html#value-def-length " class ="noxref "> < span
15051509class ="value-inst-length "> < strong > <length></ strong > </ span > </ a > </ span >
15061510</ dt >
15071511< dd > The specified length is used in the calculation of the line box
15081512height. Negative values are illegal.
15091513</ dd >
1510- < dt > < span class ="index-inst " title ="<number> " id ="x20 "> < a href ="syndata.html#value-def-number " class ="noxref "> < span
1514+ < dt > < span class ="index-inst " title ="<number> " id ="x19 "> < a href ="syndata.html#value-def-number " class ="noxref "> < span
15111515class ="value-inst-number "> < strong > <number></ strong > </ span > </ a > </ span >
15121516</ dt >
15131517< dd > The used value of the property is this number multiplied by the
15141518element's font size. Negative values are illegal. The < a
15151519href ="cascade.html#computed-value "> computed value</ a > is the same as
15161520the specified value.
15171521</ dd >
1518- < dt > < span class ="index-inst " title ="<percentage> " id ="x21 "> < a href ="syndata.html#value-def-percentage " class ="noxref "> < span
1522+ < dt > < span class ="index-inst " title ="<percentage> " id ="x20 "> < a href ="syndata.html#value-def-percentage " class ="noxref "> < span
15191523class ="value-inst-percentage "> < strong > <percentage></ strong > </ span > </ a > </ span >
15201524</ dt >
15211525< dd > The < a href ="cascade.html#computed-value "> computed value</ a > of the
@@ -1534,14 +1538,9 @@ <h3>10.8.1 <a name="leading">Leading and half-leading</a></h3>
15341538</ pre >
15351539</ div >
15361540
1537- < p > When an element contains text that is rendered
1538- in more than one font, user agents may determine the 'normal' < a href ="visudet.html#propdef-line-height " class ="noxref "> < span
1539- class ="propinst-line-height "> 'line-height'</ span > </ a > value according to
1540- the largest font size.
1541- </ p >
15421541< p class =note > < em > < strong > Note.</ strong > When there is only one value of < a href ="visudet.html#propdef-line-height " class ="noxref "> < span
1543- class ="propinst-line-height "> 'line-height'</ span > </ a > for all inline
1544- boxes in a block container box and they are all in the same font (and
1542+ class ="propinst-line-height "> 'line-height'</ span > </ a > (other than 'normal') for all inline
1543+ boxes in a block container box and they all use the same first available font (and
15451544there are no replaced elements, inline-block
15461545elements, etc.), the above will ensure that
15471546baselines of successive lines are exactly < a href ="visudet.html#propdef-line-height " class ="noxref "> < span
@@ -1608,14 +1607,14 @@ <h3>10.8.1 <a name="leading">Leading and half-leading</a></h3>
16081607 < dd > Align the bottom of the box with the bottom of the parent's
16091608 content area (see < a
16101609 href ="#inline-non-replaced "> 10.6.1</ a > ).</ dd >
1611- < dt > < span class ="index-inst " title ="<percentage> " id ="x23 "> < a href ="syndata.html#value-def-percentage " class ="noxref "> < span
1610+ < dt > < span class ="index-inst " title ="<percentage> " id ="x22 "> < a href ="syndata.html#value-def-percentage " class ="noxref "> < span
16121611 class ="value-inst-percentage "> < strong > <percentage>
16131612 </ strong > </ span > </ a > </ span > </ dt >
16141613 < dd > Raise (positive value) or lower (negative value) the box
16151614 by this distance (a percentage of the < a href ="visudet.html#propdef-line-height " class ="noxref "> < span
16161615 class ="propinst-line-height "> 'line-height'</ span > </ a > value).
16171616 The value '0%' means the same as 'baseline'.</ dd >
1618- < dt > < span class ="index-inst " title ="<length> " id ="x24 "> < a href ="syndata.html#value-def-length " class ="noxref "> < span
1617+ < dt > < span class ="index-inst " title ="<length> " id ="x23 "> < a href ="syndata.html#value-def-length " class ="noxref "> < span
16191618 class ="value-inst-length "> < strong > <length>
16201619 </ strong > </ span > </ a > </ span > </ dt >
16211620 < dd > Raise (positive value) or lower (negative value) the box
0 commit comments