Re: [css-writing-modes] § 9.1.1 tcy element in example 20; extra >; non-interrupted sequence of characters

On 11/09/2014 12:25 AM, Gérard Talbot wrote:> Koji, Elika,
>
> § 9.1.1 Text Run Rules
> http://dev.w3.org/csswg/css-writing-modes-3/#text-combine-runs
>
> uses <tcy> element in example 20. But there is no tcy element
> that I can find in HTML5. Can this be replaced with span elements?
> Unless the example is supposed to use pseudo-code ... but it is
> not said so.

It could be considered as an XML fragment. The purpose is to
illustrate the CSS, not to illustrate HTML, so I think it's
okay to use <tcy>. It makes the example easier to follow, I
think.

> § 9.1.1 Text Run Rules
> http://dev.w3.org/csswg/css-writing-modes-3/#text-combine-runs
>
> Also, in example 20:
>
> (...) However in these cases:
> <pre>12&lt;tcy&gt;&lt;span&gt;34&gt;&lt;/span&gt;&lt;/tcy&gt;
>
> should be replaced with
>
> (...) However in these cases:
> <pre>12&lt;tcy&gt;&lt;span&gt;34&lt;/span&gt;&lt;/tcy&gt;
>
> There is an extra ">" sign that does not and should not belong there.

Fixed.

> § 9.1.1 Text Run Rules
> http://dev.w3.org/csswg/css-writing-modes-3/#text-combine-runs
>
> The spec says:
>
> [
>
> For example, given the rule
>
> tcy { text-combine-upright: digits 4; }
>
> if the following markup were given:
>
> <tcy>12<span>34</span></tcy>
>
> no text would combine: the 12 and 34 both share an ancestor
> with the same text-combine-upright value, and therefore are
> considered part of a sequence of four combinable digits
> interrupted by a box boundary.
>
> ]
>
> My question is: what should happen with the following code:
>
> span#outer { text-combine-upright: digits 2; }
>
> if the following markup were given:
>
> <span id="outer">12<span id="inner">34</span></span>
>
> I believe that text should combine: 12 must be combined
> into the space of a single character and then 34 must
> be combined into the space of another single character
> because each individual sequence of 2 characters is not
> interrupted by a box boundary.
> Am I correct?

No, it would not combine, because it's part of a 4-digit
sequence:

  # To avoid combining only part of a sequence: if the boundary
  # of a potentially-combinable run is due only to one or more
  # inline box boundaries, the UA must inspect any characters
  # that appear immediately before and immediately after the run,
  # and if these characters would, without the intervening box,
  # form a sequence that would (if it were not too long) combine,
  # then the candidate run does not combine.

The code you cite has an inline box boundary, and the numbers
on either side, if we ignored the boundary, would combine if
the sequence were not as long (e.g. 2 chars instead of 4 chars).

Let me know if that helps.

~fantasai

Received on Wednesday, 26 August 2015 00:12:27 UTC