RFR: 8264728: When use chinese IME, the candidate box isn't moved with caret of JTextArea [v12]
柳鲲鹏
duke at openjdk.org
Wed Feb 5 13:50:27 UTC 2025
On Thu, 12 Dec 2024 00:05:33 GMT, 柳鲲鹏 <duke at openjdk.org> wrote:
>> Candidat box can moving with caret on windows version. Someone must wrote codes for linux(ubuntu), but it doesn't work, so he didn't commit the codes. Why it doesn't work, is the key problem.
>>
>> 1, I wrote a example for linux:
>> https://github.com/quantum6/X11InputMethod
>>
>> I tried all parameters to test and as my research:
>> If you use XIMPreeditCallbacks to initiate, the box can't be moved with caret.
>> If you use XIMPreeditNothing, it works.
>> All examples use XIMPreeditCallbacks to initiate input method and candidate box can't moving. So I understand why he didn't commit the codes.
>>
>> 2, I traced the route of transfering caret coordites on windows version, then add codes for linux.
>> 3, Taishan Office(like Microsoft Office Word) is running on jdk, we tested for a long time, it works OK.
>> 4, I am not sure for AIX( no environment).
>>
>>
>> JDK-8264728 : When use chinese IME, the candidate box isn't moved with caret of JTextArea
>> Type: Bug
>> Component: client-libs
>> Sub-Component: java.awt:i18n
>> Affected Version: 8,9,15,16
>> Priority: P3
>> Status: Open
>> Resolution: Unresolved
>> OS: linux
>> CPU: x86_64
>
> 柳鲲鹏 has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 11 additional commits since the last revision:
>
> - Merge branch 'master' of https://github.com/openjdk/jdk into quantum6
> - Merge branch 'master' of https://github.com/openjdk/jdk into quantum6
> - Merge branch 'master' of https://github.com/openjdk/jdk into quantum6
> - Merge branch 'master' of https://github.com/openjdk/jdk into quantum6
> - Merge branch 'master' of https://github.com/openjdk/jdk into quantum6
> - Update to lastest
> - Merge branch 'master' of https://github.com/openjdk/jdk into quantum6
> - Remove tab
> - Update to latest and make code safer
> - Merge branch 'master' of https://github.com/openjdk/jdk into quantum6
> - ... and 1 more: https://git.openjdk.org/jdk/compare/0d3eac6e...0ab7a467
> A few another issues with the current patch:
>
> * On KDE the preedit popup isn't positioned correctly. Most likely this is because HiDPI settings aren't taken into account - I observed the issue with 200% scale set (the used IM engine is _iBus_) ;
> * Preedit text doesn't get discarded when a mouse click happens in a different place _of the same component_, e.g. in a multi-lined `JTextArea` ;
> * The preedit popup isn't moved when the focused component is scrolled .
>
> Also please don't forget to take a look at my question in [#13055 (comment)](https://github.com/openjdk/jdk/pull/13055#issuecomment-2100914601)
I am back. This is my work result:
1, I study many codes of libX11 input method, all of them can't work correctly. So, it is a bug on libX11.
2, I research libX11, 1.8.2 fixed this bug.
commit 62c3337d89d31e0d3ed807004e73ad711fad3342
Author: Kirill Chibisov <contact at kchibisov.com>
Date: Thu Sep 8 22:50:30 2022 +0000
ximcp/imRm.c: allow XNSpotLocation with OnTheSpot
3, I tried to ask ubuntu to update libX11, I can't login to edit. I really don't know why.
https://help.ubuntu.com/community/ReportingBugs
-------------
PR Comment: https://git.openjdk.org/jdk/pull/13055#issuecomment-2636902575
More information about the client-libs-dev
mailing list