[csswg-drafts] [css-content][css-gcpm] string manipulation fails for multilingual content

r12a has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-content][css-gcpm] string manipulation fails for multilingual content ==
The `content` function needs to recognised and handle markup in order to support international text.  This has a knock-on effect for various other generated content items, such as `target-text`, `string-set`, etc.

(1) Suppose that in an English book the title contains some other language (here Hebrew, which is also bidi), and the following markup + CSS:

```
a.xref {
content: “Section “ target-counter(attr(href, url), chapter) “, “ target-text(attr(href, url), content(text)) 
}
...
 <h2 id=sec05>Part 1: <span dir=rtl lang=he>פעילות הבינאום, W3C<span></h2>
...
<p>For more information see <a class=xref href=sec05></a>.</p>
```
where 'chapter' is a counter name.

The markup in the h2 needs to be carried over to the referring paragraph in order for the inline span containing Hebrew text (a) to be correctly ordered, and (b) to use an appropriate font.  In other words, the direction and language information associated with inline text in the title needs to be retained.

Presumably, this may also occasionally be a problem with other types of inline markup, such as `em`, `code`, etc. that appears in the title.


(2) Suppose the title is just hebrew, and the direction and language are set on the block element, or earlier, eg. on the `html` tag.

 ```<li id=sec25>פעילות הבינאום, W3C</li>```

How to pick up the direction and language and apply those at the point of insertion if that happens to be in a part of the content that is in, say, English?


(3) Bidi text inserted into a target location needs to be appropriately isolated. It's not clear to me how you can achieve that without markup. Eg. how to isolate the `target-text` part of the following:

```
a.xref {
content: “Section “ target-counter(attr(href, url), chapter) “, “ target-text(attr(href, url), content()) 
}
```

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/2982 using your GitHub account

Received on Thursday, 2 August 2018 10:55:51 UTC