Ligatures problem in Arabic keyboard layout
Submitted by Youssef Chahibi
Assigned to Xorg Project Team
In the Arabic keyboard layout, it is possible to type لا (la), in two ways. Either by typing ل+ا (G+H) [ara,xkb: Arabic_lam + Arabic_alef ] or with one button (B) [ara,xkb: 0x100fefb ]. The problem is that (G+H) and (B) are not encoded the same way. The first is from the normal Arabic table, and the second from the Arabic representation forms (Used by font designers to design complex ligatures). This creates many problems, since the two (la)s don't have the same value. For example, Google or grep won't give the same results.
https://bugs.freedesktop.org/enter_bug.cgi?product=xorg0x100fefb (ﻻ) = Arabic_lam (ل) + Arabic_alef (ا)
Three other keys have the same problem
0x100fef9 (ﻹ) = Arabic_lam (ل) + Arabic_hamzaunderalef (إ) 0x100fef7 (ﻷ) = Arabic_lam (ل) + Arabic_hamzaonalef (أ) 0x100fef5 (ﻵ) = Arabic_lam (ل) + Arabic_maddaonalef (آ)
The character codes and names are taken from /usr/share/X11/xkb/symbols/ara
So, the desired behavior is that pressing 0x100fefb, 0x100fef9, 0x100fef7 and 0x100fef5 gives the same result as Arabic_lam (ل) + Arabic_alef (ا), Arabic_lam (ل) + Arabic_hamzaunderalef (إ),Arabic_lam (ل) + Arabic_hamzaonalef (أ), Arabic_lam (ل) + Arabic_maddaonalef (آ) respectively. For instance, pressing B should result in the production of 2 characters and not just one presentation which is what is happening today.
Windows XP does not have this problem.