freebangfont-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Freebangfont-devel] Bengali rendering bugs in Qt 3.2 beta


From: Deepayan Sarkar
Subject: [Freebangfont-devel] Bengali rendering bugs in Qt 3.2 beta
Date: Tue, 20 May 2003 00:08:02 -0500
User-agent: KMail/1.5.1


Hi,

thanks for the wonderful work on Opentype support in Qt. Here are a few bug
reports about Bengali rendering in the just released Qt 3.2 beta.

Attached are a test file (UTF-8 encoded), a screenshot of what it should look 
like (yudit-qt-test.png) and another of how it actually looks like 
(kate-qt-test.png) with this font

http://www.stat.wisc.edu/~deepayan/Bengali/FreeBangTemplate/BanglaTemplate.ttf




1. ya-phala
===========

This is a minor bug, I think. Bengali fonts should contain a lookup
for replacing 

09AF + 09CD 

by a 'ya-phala' glyph. This is supposed to be done by the lookup 'Post
Base Forms' (pstf) --- refer to 

http://www.microsoft.com/typography/otfntdev/bengalot/features.htm

(section on "Post-base form of consonant")

Akaash and Mukti, two of the fonts available from the Free Bangla
Fonts site, had this substitution listed under the 'Post Base
Substitutions' (psts) lookup, but that's a mistake. Qt 3.2 beta
renders this correctly when psts is used, but not when pstf is used.



2. a + ya-phala
===============

The sequence 0985 09CD 09AF 09BE is not rendered correctly.
(Microsoft's engine doesn't render this correctly either yet, but it
will.)

I quote from http://www.unicode.org/faq/indic.html#13

------------

Q: What are the Bengali characters used to transcribe the sound "a"
   (as in English "bat") in Unicode?


A: In Bengali, the sequence "zophola" (U+09CD U+09AF) + the "aa" matra
   (U+09BE) is used for transcribing the English "a" in "bat". This
   zophola_aa can be seen as a special "composite" matra to write a
   new Bengali sound, imported from English. Represent these sequences
   using a halant (virama):
 
   Vowel_A_zophola_AA = 0985 09CD 09AF 09BE ( a- halant ya -aa )
   Vowel_E_zophola_AA = 098F 09CD 09AF 09BE ( e- halant ya -aa )
 
   If you need to add a candrabindu or other combining mark in the
   sequence, represent the sequence as:
 
   Vowel_A_zophola_AA + candrabindu = 0985 09CD 09AF 09BE 0981 
   ( a- halant ya -aa candrabindu )

--------------




3. Reph and ra-phala
====================

There are two different lookups that substitute 09B0 + 09CD, namely
rphf and blwf. Qt seems to confuse the two sometimes, but I haven't
been able to figure out exactly what triggers it. Everything seems
fine when the consonant following 09B0 + 09CD is the last glyph in the
syllable, so perhaps it's a problem in reordering the glyphs.

The test file contains some examples, I can supply more if you want.




4. ZWNJ (U+200C) and ZWJ (U+200D)
=================================

(Qt doesn't seem to have any support for this at all, maybe you
haven't started on this part yet.)

This is very important for bengali (probably not so much for other
Indic scripts). The general usage is as variations on the normal
substitution rules. Consider the following forms:

(a) k1 + H
(b) k1 + H + k2

(c) k1 + H + ZWNJ
(d) k1 + H + ZWJ

(e) k1 + H + ZWNJ + k2
(f) k1 + H + ZWJ + k2

where k1 and k2 are consonants and H is the halant character (U+09CD).

In case (a), the sequence of lookups is 

k1 + H -> halant form of k1 (via the haln lookup)

In case (b), the sequence is

k1 + H + k2 -> [half form of k1 (half)] + k2 
            -> half-k1 + k2 conjunct (pres) (if that substitution is present)

Both these are rendered OK.


Cases (c) and (d) are supposed to be rendered as 

k1 + H + ZWNJ -> halant form of k1 (haln)
k1 + H + ZWJ  -> half form of k1 (half)


Cases (e) and (f) should be 

k1 + H + ZWNJ + k2 -> [halant form of k1 (haln)] + k2 
k1 + H + ZWJ  + k2 -> [half form of k1 (half)] + k2 

(i.e., same as cases (c) and (d), with further 'pres' substitutions
suppressed.)


Currently Qt displays a box in cases (c) - (f).

Some references on this (neither as comprehensive as I would have
liked):

http://www.unicode.org/faq/indic.html#19
http://www.microsoft.com/typography/otfntdev/bengalot/other.htm




I think that's all the problems I have noticed. 

A couple of related questions. Does Qt 3.2 do any GPOS lookups yet ?
And some fonts that should be available through fontconfig are not
listed in the Font chooser dialogs. Is that a Qt problem or a bug in
my system ?

Thanks,

Deepayan










Attachment: kate-qt-test.png
Description: PNG image

Attachment: test.txt
Description: Text document

Attachment: yudit-qt-test.png
Description: PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]