Ligatures in keyboard layout

From ويكي عربآيز
Jump to: navigation, search

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 (la) don't have the same value. For example, Google or grep won't give the same results.

0x100fefb (ﻻ) = 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.

Windows XP does not have this problem.