Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Letter-spacing & first-letter selection must keep yo-phola with preceding independent vowels #67

Open
r12a opened this issue Feb 4, 2020 · 1 comment
Labels
doc:beng gap i:initials Styling initials i:spacing Text spacing l:bn Bengali language & script p:basic x:beng

Comments

@r12a
Copy link
Contributor

r12a commented Feb 4, 2020

This issue is applicable to Bengali and Assamese.

The issues Letter-spacing splits conjuncts and Conjuncts are not selected as a single unit when styling initials describe how conjuncts should not be split by letter-spacing. See those issues for more details.

This topic builds on that for some specific cases in Bengali.

There are two cases in Bengali where hasant (virama) is preceded by an independent vowel, rather than a consonant. These are:

  • অ্যা [U+0985 BENGALI LETTER A + U+09CD BENGALI SIGN VIRAMA + U+09AF BENGALI LETTER YA + U+09BE BENGALI VOWEL SIGN AA], and
  • এ্যা [U+098F BENGALI LETTER E + U+09CD BENGALI SIGN VIRAMA + U+09AF BENGALI LETTER YA + U+09BE BENGALI VOWEL SIGN AA]

Screenshot 2021-12-14 at 16 40 16

Screenshot 2021-12-14 at 16 40 37 Screenshot 2021-12-14 at 16 40 46

(In both cases this produces the sound æ, used for non-native words, such as 'application', 'administration' etc.)

This combination should not be split either, even though it doesn't fit the typical CvC structure of a conjunct (where 'v' is the virama).

Specs:
css-text-3 CSS uses the concept of 'typographic character unit', rather than grapheme cluster, in its specs with the explanation that the cases just described go beyond the scope of the grapheme cluster concept and that implementations should provide appropriate support. The spec doesn't provide details about the support needed for each language.

Tests & results:
Both of the following tests were run with the following pre-installed fonts:

Windows: Shonar Bangla, Arial Unicode MS, Nirmala UI, Vrinda

Mac: Bangla MN, Bangla Sangam MN, Kohinoor Bangla, Tiro Bangla, Baloo Da

Also tested with Noto Sans Bengali and Noto Serif Bengali on the Mac.

Interactive test, Bengali অ্যা and এ্যা (æ) are selected as a single grapheme by ::first-letter.

  • Gecko: ✅❌ Mac: fails for Bangla MN, and Bangla Sangam MN, but passes for the other 3 fonts. Windows: works fine for all fonts.
  • Blink: ❌ Mac & Windows: fails for all fonts.
  • Webkit: ❌ Mac: fails for all fonts. It was not possible to apply the Noto fonts.

Note that Blink and Webkit actually handle the more usual CvC conjunct arrangement (see this test).

Interactive test, Bengali অ্যা and এ্যা (æ) are treated as a single grapheme for letter-spacing.

  • Gecko: ✅❌ Windows: works with all fonts. Mac: fails with Bangla MN, Bangla Sangam MN, and Baloo Da, but works with the others. Works with Noto fonts.
  • Blink: ✅❌ Windows: works with all fonts. Mac: same results as for Gecko.
  • Webkit: ❌ Mac: failed for all fonts. In fact, letters were all spaced individually, rather than by grapheme cluster. Could not apply Noto fonts.

Gecko, Blink, and Webkit all fail to treat the sequence as a single grapheme, despite the fact that Blink and Webkit actually handle the more usual CvC conjunct arrangement (see this test).

Browser bug reports:
GeckoBlinkWebkit

Priority:
Keeping such sequences together is a pretty basic requirement. That said, first-letter selection and letter-spacing are not essential for content authoring, although Bengali content authors should still have equal access to these styling features as Westerners. Content authors could work around the first-letter problem by adding markup (though that's not ideal), but for letter-spacing there is no real alternative, and adding spaces between letters ruins the semantics. The priority was set to advanced.

@r12a
Copy link
Contributor Author

r12a commented Feb 4, 2020

The first comment in this issue contains text that will automatically appear in one or more gap-analysis documents as a subsection with the same title as this issue. Any edits made to that comment will be immediately available in the document. Proposals for changes or discussion of the content can be made in comments below this point.

Relevant gap analysis documents include:
Bengali

@r12a r12a changed the title Text units for letter-spacing are incorrect Letter-spacing must keep yo-phola with preceding independent vowels May 11, 2021
@r12a r12a added the x:beng label May 11, 2021
@r12a r12a changed the title Letter-spacing must keep yo-phola with preceding independent vowels Letter-spacing & first-letter selection must keep yo-phola with preceding independent vowels Dec 14, 2021
@r12a r12a added the i:initials Styling initials label Dec 14, 2021
r12a added a commit that referenced this issue Dec 15, 2021
@r12a r12a added the l:bn Bengali language & script label May 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc:beng gap i:initials Styling initials i:spacing Text spacing l:bn Bengali language & script p:basic x:beng
Projects
None yet
Development

No branches or pull requests

1 participant