Description
This issue is applicable to most languages that form conjuncts from consonant clusters using a visible virama.
When the start of a line contains a 2-consonant cluster that uses a visible virama, ::first-letter should highlight only the first consonant+virama. This corresponds to a grapheme cluster, as defined by Unicode.
Specs:
css-text-3 CSS uses the concept of 'typographic character unit', which defaults to a grapheme cluster. The spec doesn't provide details about the support needed for each language.
The Unicode Consortium defines grapheme clusters to, by default, stop after the first virama in a cluster.
Tests & results:
Interactive test, When ::first-letter is applied to Devanagari the browser will NOT select a 2-consonant cluster as a unit if the virama is visible
Interactive test, When ::first-letter is applied to Bengali the browser will only select the first consonant+virama in a cluster if the virama is visible
Gecko only highlights the initial character+virama. Blink, and Webkit select all clusters as a single unit, whether or not they are conjuncts or are rendered with a visible virama.
Browser bug reports:
Blink • WebKit
Priority:
This choice needs to be discussed. If a cluster is rendered as a conjunct, it should be selected as a single unit. If, instead, the virama is displayed (ie. it is not a conjunct) then only the initial part of the cluster should be selected. Since the underlying code points are identical if a cluster is displayed as a conjunct or instead with visible viramas, it's not possible to distinguish one situation from another by working with the code points. In the absence of a technical solution that examines what the font used does when rendering, this is a difficult problem to solve. This priority rating says that, in the absence of a perfect solution, it is better to select a whole non-conjunct cluster than to break a conjunct. So it is labelled advanced, rather than basic.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status