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

Arabic shaping in QT 3.3.x



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Salam,

This is a summary of a discussion I had with Lars Knoll (from Trolltech) on 
IRC, in parallal with the Evolution Party, after his slot was over.

I talked to him about what I notice when I compile a QT application 
(Bayani :-) with QT 3.3.x. Actually, the Arabic shaping is simply _broken_. I 
had already posted on this list and a suggestion was made, but I didn't had 
enough time to check. So, I simply asked him if he knew about the issue (if 
there were some libraries to update when installing QT 3.3.x), and he said 
no, shaping was working very well from his side. However, he asked me what 
fonts I was using, I pointed him to Khotot fonts and KACST ones, and then, he 
was able to see the problem ! So, the issue is not present when using certain 
fonts (I forgot to ask him what was the font he was using)...

He was able to fix the bug as we spoke (impressive !) and it will be included 
in QT 3.3.3, which should be out very soon. However, QT 3.3.0 to QT 3.3.2 
don't include the fix (obviously). [I won't detail the conversation, but 
there was a long uncertainty wether the bug came from QT or from the fonts, 
finally, Lars said it was QT, and hence the patch].

* So, in short:

(I know nothing about fonts, I'm just reporting :-)

1- From QT 3.2 to 3.3, there was un update of how to deal with Open Type.
   So, if a font contains Open Type tables, they are used (better results).
   QT 3.2.x doesn't use Open Type for Arabic shaping, but relies on the 
   Arabic Presentation Forms in Unicode.

2- The Khotot fonts has the Class Definition Table (subtable of GDEF, one of
   the Open Type tables) defined with a format of 0. The only formats allowed
   (in QT, before the patch) were 1 or 2. But a format of 0 is correct
   nevertheless.

3- There might be the same problem in Pango (The Open Type code is the same,
   no handling of the Class Definition Table with a format of 0
   (undefined ?)).

* What this means:

- - If someone uses future releases of KDE based on QT 3.3.x, where 0 <= x <= 2,
  with those fonts, there will probably be a serious issue for Arabic
  interfaces (no shaping).

* What we can do:

1- 'Upgrade' Khotot fonts somehow, so that shaping would work with or without
   the new patch ?
2- Test KDE before next releases and in case of an (probable) issue, propose a
   patch ??
3- Don't use Khotot fonts with KDE releases based on the unpatched QTs ;-)
4- What about Pango ?
5- ...

Any thoughts ?

Salam,

- --
Youcef R. Rahal
Arabeyes.org
http://www.arabeyes.org/~rahal
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFBEWFhHDRR6Cd0eSYRAspHAKC3Dy6h8ZFC5+l+QM6I7A012NLZpQCfWzRB
JIQxk6laugd2A72BdNwC3H8=
=lx3p
-----END PGP SIGNATURE-----