W3C home > Mailing lists > Public > public-css-archive@w3.org > October 2016

Re: [csswg-drafts] [css-writing-modes][css-pseudo][css-inline] text-combine-upright and initial-letter

From: Florian Rivoal via GitHub <sysbot+gh@w3.org>
Date: Thu, 27 Oct 2016 09:29:47 +0000
To: public-css-archive@w3.org
Message-ID: <issue_comment.created-256592938-1477560585-sysbot+gh@w3.org>
One part of the problem is that as far as I can tell, initial-letter 
does not make sense if you apply it to part of the run of characters 
grouped by text-combine-upright. It can only make sense it you apply 
to all of it (or none of it). In turn, that problem may only be 
relevant if it is possible to select only a part of the run of 
characters grouped by text-combine-upright.

I find the rules in 
https://drafts.csswg.org/css-writing-modes-3/#text-combine-runs hard 
to understand, so I think, but I am not sure, that it would not be 
possible to try and apply initial-letter (or any other property for 
that matter) to part of a run of characters grouped by 
text-combine-upright using a regular element (e.g. `<span>`) because 
the presence of that element would create a box, which get in the way 
of creating that run. What the different browsers do on 
http://output.jsbin.com/xacicok/ seems to support that, but at the 
same time they're all doing something different, so I'm not 100% sure.
 Can someone who understands the spec,  look at 
http://output.jsbin.com/xacicok/ in various browsers, and help me 
understand:
* for the third example on the first row, which browser is following 
the spec
* for the third example on the second row, whether Edge (which is the 
only one to support text-combine-upright: digits) follows the spec or 
not

If it is the case that you cannot apply a property to part of a run of
 characters grouped by text-combine-upright using a regular element, 
then it would make sense for `::first-letter` not to be able to do 
that either. But I can think of at two ways that could be prevented:
- `::first-letter` matches a single letter, creates a box, and applies
 a property to it. The existence of that box boundary prevents the 
creation of a run of characters grouped by text-combine-upright that 
would contain both the first-letter and the one(s) after it. 
(everybody except Edge with text-combine-upright:all seems to be doing
 a variant of this, but interestingly, different variants of it, not 
always aligned with what they did with a span)
- `::first-letter` is defined not to match characters that would 
otherwise be in a run of characters grouped by text-combine-upright, 
so that we don't run into the problem (this appears to be what Edge is
 doing with text-combine-upright:all, but not with 
text-combine-upright: digits)

Either way, it is possible that the spec already defines this, but the
 text is tricky enough that I am not sure. My best bet is that Chrome 
is doing the right thing with `text-combine-upright: all`  with 
`::first-letter` but not `<span>`, and that Edge is doing the right 
thing for `text-combine-upright: digits` with `::first-letter` but not
 `<span>`, but I am not sure.

If the specs are already defining this, rephrasing and/or more 
examples and/or more notes would be very welcome. If they're not, they
 should.

-- 
GitHub Notification of comment by frivoal
Please view or discuss this issue at 
https://github.com/w3c/csswg-drafts/issues/653#issuecomment-256592938 
using your GitHub account
Received on Thursday, 27 October 2016 09:29:53 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 06:41:04 UTC