[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-i18n-doc
Subject: Re: Farsi problems
From: qt-bugs () trolltech ! com
Date: 2001-12-18 13:27:26
[Download RAW message or body]
Hi Arash,
sorry that it took me so long to fix this (as it turned out to be rather
easy), but here it is finally. I've added support for XFree86 Unicode keysyms
to Qt, and I had no problems inputting characters with the farsi keyboard you
provided anymore.
The fix will be in tomorrows snapshot of Qt, or you can patch
qapplication_x11.cpp yourself (path attached). Please test, and tell me if
there are remaining problems.
Cheers,
Lars
> Hi,
>
> We, the Farsi translation team of KDE, have some
> problems with data input under KDE and hence cannot
> begin our work with the translation.
> The problem is due to problems in X11 and the
> non-support for Farsi characters that are to be seen
> as an extension to the Arabic characters encoded in
> Unicode. This problem affects Kurdish too.
>
> The only solution for us- at this moment at least-
> seems to be to 'hack' QT in order to support the usage
> of Farsi with our keyboard layout.
> Some information on what we did to use a Farsi
> keyboard can be found at:
> http://www.farsikde.com/keyboard.html
>
> We need some information on where to begin and where
> to locate the RTL and Unicode related parts in QT3
> source, in order to see if we can do anything in this
> regard.
> Do you think you could help us getting started with
> this task?
>
> Any help, feedback and pointers are highly welcome and
> appreciated!
>
> Thanks and Best wishes,
> Arash Zeini
>
> __________________________________________________
> Do You Yahoo!?
> Find the one for you at Yahoo! Personals
> http://personals.yahoo.com
["unikeysyms.patch" (text/x-diff)]
==== //depot/qt/3.0/src/kernel/qapplication_x11.cpp#20 (text) ====
@@ -5215,9 +5215,12 @@
}
if ( mib != -1 ) {
mapper = QTextCodec::codecForMib( mib );
- chars[0] = (unsigned char) (key & 0xff );
+ chars[0] = (unsigned char) (key & 0xff); // get only the fourth bit for conversion later
count++;
}
+ } else if ( key >= 0x1000000 && key <= 0x100ffff ) {
+ converted = (ushort) (key - 0x1000000);
+ mapper = 0;
}
if ( count < (int)chars.size()-1 )
chars[count] = '\0';
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic