EkType / Mukta

Mukta is a Unicode compliant, contemporary, mono-linear font family available in seven weights, supporting Devanagari, Gujarati, Gurumukhi, Tamil and Latin scripts.
Other
152 stars 21 forks source link

Gujarati conjuncts not displaying correctly #32

Open vizzmay opened 5 years ago

vizzmay commented 5 years ago

Some applications such as Microsoft Word and LibreOffice Writer fail to properly substitute letter combinations with Akhanda conjuncts. (You get ક્‌ષ instead of ક્ષ, for example.)

Example from LibreOffice Writer:

Microsoft Excel and LibreOffice Calc, on the other hand, display conjuncts as intended. Example from Calc:

Similar behavior can be observed in Firefox for some websites. You can either change the default font from settings or use a custom stylesheet extension. Some webpages display Gujarati ligatures correctly. (Example from gujaratilexicon.com)

Others don’t. (Example from https://gu.wikipedia.org/wiki/%E0%AA%95%E0%AB%83%E0%AA%B7%E0%AB%8D%E0%AA%A3)

(This is also true for Google Chrome.)

Other text editors (Notepad, Wordpad, Visual Studio Code, Notepad++) display Gujarati ligature correctly.

I also found this post from Microsoft forums which suggests that this bug can be observed in Office 2013 and 2016 but not 2010.

vizzmay commented 5 years ago

I have found that this problem occurs only when the language is specified as Gujarati.

This is what happens when language is set to Gujarati:

mukta-vaani-lang-gu

This is what happens when language is set to anything other than Gujarati:

mukta-vaani-lang-none

I have found the same for HTML pages. Websites that display Gujarati text as intended don’t specify the language of the content as Gujarati. The Gujarati Wikipedia, on the other hand, specifies the language of Gujarati content using HTML lang attribute, which leads to the issue of conjuncts not displaying correctly.

Other text editors mentioned above don’t have a way to specify language, so they display text as intended.

lianghai commented 4 years ago

Yeah, language GUJ ; is not specified (see https://github.com/EkType/Mukta/blob/master/MuktaVaani-Gujarati/Regular/GSUB) when language dflt; is, which led to this bug. It seems that languagesystem gjr2 GUJ ; and languagesystem gujr GUJ ; should be simply removed, if no differentiation is done between language dflt; and language GUJ ;.