Bug 47339

Summary: ISO 15919 transliteration of Indic vocalic R/RR/L/LL not displayed properly in DejaVu fonts
Product: DejaVu Reporter: Shriramana Sharma <samjnaa>
Component: GeneralAssignee: Deja Vu bugs <dejavu-bugs>
Status: NEW --- QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
i915 platform: i915 features:
Attachments: ZIP of ODT containing relevant text, PDFs showing current rendering and TTF of sample glyphs

Description Shriramana Sharma 2012-03-15 02:23:22 UTC
Created attachment 58478 [details]
ZIP of ODT containing relevant text, PDFs showing current rendering and TTF of sample glyphs

Using DejaVu fonts 2.33.

In the ISO 15919 transliteration standard for Indic scripts, R and L with ring below, and the same with macron above (and ring below) are prescribed for transliterating the so-called vocalic R/RR/L/LL characters (as per Unicode parlance) of Indic scripts. See http://homepage.ntlworld.com/stone-catend/trimain1.htm

However these are also among the written forms that do not have a pre-composed Unicode character as you can see in http://homepage.ntlworld.com/stone-catend/trinoun1.gif

The rest of the characters (which are having tilde) in the above chart are not of primary importance as they are only for nasalized vowels which are very rare and as such not listed in the transliteration chart linked first. But the vocalic R/RR/L/LL are quite important for Sanskrit/Vedic. As such it is important for the DejaVu fonts to support them correctly.

However, I have tested the latest DejaVu fonts on LibreOffice 3.5 (latest) on Windows XP (sorry I don't use the latest) and Kubuntu Oneiric (latest released). The fonts exhibit various degrees of supporting the ISO-prescribed sequences, and what's more the rendering on Windows is different from (i.e. worse than) the rendering on Linux. 

Mono has the worst behaviour with overlappings on Windows and misplacement of diacritics on Linux. Sans and Serif don't place the macron above the base (see small L, capital R/L) on Linux whereas they seem to do so on Windows. 

As for lesser problems:

Sans and Serif also don't position the ring correctly centered below small l and capital R. Sans also doesn't center the macron correctly above the base in small R/L and capital R. (Placing the macron centered above the vertical stroke of capital L is acceptable.)

As a general solution to all above problems, I would recommend following the diacritic placements of the unified precomposed characters 1E5C Ṝ 1E5D ṝ 1E38 Ḹ 1E39 ḹ (used for the same purpose in the alternate IAST transliteration scheme for Sanskrit). The ring should merely replace the dot below. I have included a sample TTF from the regular versions of all three fonts.

Now it is up to you whether you are going to add a pre-composed unmapped glyph following that placement and do a GSUB substitution mapping to that glyph (easier?) or whether you actually position the diacritics correctly using the GPOS table or such (more difficult?). 

In any case, it would be great if you could support these characters which are very important for us for Indic transliteration. Thank you!


FWIW I checked the other multiple-character ISO 15919 written forms listed at http://homepage.ntlworld.com/stone-catend/trinoun2.gif and http://homepage.ntlworld.com/stone-catend/trinoun4.gif: M̐m̐H̱N̆n̆M̆m̆R̆r̆S̱s̱H̤h̤S̤s̤T̤t̤ and they seem to work correctly with all three fonts.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.