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. 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 https://github.com/w3c/line_paragraph_tests/issues/68 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 https://github.com/w3c/line_paragraph_tests/issues/70 Interactive test: When ::first-letter is applied to Tamil the browser will only select the first consonant+virama in a cluster if the virama is visible https://github.com/w3c/line_paragraph_tests/issues/71 For Devanagari and Bengali, Gecko only highlights the initial character+virama, whereas Blink, and Webkit select all clusters as a single unit, whether or not they are conjuncts or are rendered with a visible virama. For Tamil, all browsers select only the first grapheme cluster (as expected). WebKit browsers should not select the full consonant cluster if the virama is showing.
For additional background information, see https://www.w3.org/International/questions/qa-indic-graphemes.en
<rdar://problem/85865506>
There's a bug report for Firefox at https://bugzilla.mozilla.org/show_bug.cgi?id=1742626 which, though not exactly the same problem, contains a lot of useful discussion around the general problem of correctly segmenting clusters with viramas.
Cool, thanks for the link.