Korean Input in file rename field is broken

Things you’d like to miss in the future...
sungmj
Posts: 7
Joined: 16 Mar 2022 00:42

Korean Input in file rename field is broken

Post by sungmj »

Repro Steps
- System Locale in 0x409 (US)
- Select a file or folder and press F2 to go into the rename mode
- Use K-IME and enter 가나 which u+AC00 u+B098

Result
- It enters ㄱ가간가나나 (U+3131 U+AC00 U+AC04 U+AC00 U+B098 U+B098)
which it includes all of interim characters before finalization.

Note
This doesn't occur in other places, but file renaming field.
If setting system locale to 0x949 (Korean), problem goes away (although the interim characters display location is still off the correct location)
IME input shouldn't NOT be dependent on the system locale.
Attachments
11.png
11.png (11.49 KiB) Viewed 948 times

admin
Site Admin
Posts: 60632
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Korean Input in file rename field is broken

Post by admin »

When you say "is broken", do you mean it worked before in an older version?
sungmj wrote: 16 Mar 2022 01:00 This doesn't occur in other places, but file renaming field.
So it doesn't occur e.g. in the address bar?

sungmj
Posts: 7
Joined: 16 Mar 2022 00:42

Re: Korean Input in file rename field is broken

Post by sungmj »

Well, sorry for the little delay. :)
No, it does not happen on address bar. So far, I have found that it only repros in file / folder renaming.

admin
Site Admin
Posts: 60632
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Korean Input in file rename field is broken

Post by admin »

:)

So, if you tick this, you should be able to rename files/folders in Korean?
Configuration | General | Sort and Rename | Rename | Use dialog to rename single items

sungmj
Posts: 7
Joined: 16 Mar 2022 00:42

Re: Korean Input in file rename field is broken

Post by sungmj »

I have been renaming using windows explorer, or use cut & paste in xyplorer.

admin
Site Admin
Posts: 60632
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Korean Input in file rename field is broken

Post by admin »

That doesn't really answer my question, which was more of a suggestion posed as a question.

sungmj
Posts: 7
Joined: 16 Mar 2022 00:42

Re: Korean Input in file rename field is broken

Post by sungmj »

My short answer was, "no there is no other way to rename Korean characters." which was more of a rejection posed as an answer. :)
BTW, I also tested with JPN IME, although IME awareness level isn't quite upto the standard, it doesn't at least cause the problems I've reported in JPN language.
It's probably because Korean IME supports in-place editing while J IME doesn't. My rough guess is xyplorer fails to handle WM_IME_COMPOSITION, WM_IME_CHAR, and WM_CHAR in a correct manner.

admin
Site Admin
Posts: 60632
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Korean Input in file rename field is broken

Post by admin »

sungmj wrote: 09 Feb 2024 23:02 No, it does not happen on address bar. So far, I have found that it only repros in file / folder renaming.
By "in file / folder renaming" you mean inline renaming, right? So it should work if you tick Configuration | General | Sort and Rename | Rename | Use dialog to rename single items and do "exline" renaming. Have you tried it?

sungmj
Posts: 7
Joined: 16 Mar 2022 00:42

Re: Korean Input in file rename field is broken

Post by sungmj »

There is no problem using ext. dialog box. The problem doesn't repro there. However, it won't allow xyplorer's awesome inline edit features like serial renaming with up/down arrow.
Would you consider fixing ime awareness issue? I've looked at some of IME / input related WM messages, it appears that xyplorer's inline file name edit window doesn't handle messages correctly..

Following is the case that one enters 'r k s k <space> key' while K-IME enabled, which should produce '가나 ' as a result. However, due to K-IME's in-place edit feature (language specific), it should display (as we enter 'r k s') ㄱ -> 가 -> 간 at the same character location 0 without advancing as each interim char, then by entering 'k' again, first char '가' gets finalized and updated at char position 0, then move onto char location 1, showing interim character '나'. then, by entering <space> key, it also finalize 2nd char at location 1, as '나', then move on to location 2.

Looking at WM messages, all of WM_IME_COMPOSITION should be updated / *replace* previous interim character without advancing character location, while showing either black cursor box or underline indicating the char is in interim state. (in other EA languages like CHT, CHS, JPN, this state is handled in IME composition window, however Korean IME actually update the target edit-window, which we call in-place editing feature) until WM_CHAR arrives, then we consider that the char is finalized. xyplorer currently, seems to update the target edit window by adding interim characters as each new character. As a result, it displays all of 'ㄱ가간' instead of updating the char location @ 0.

<000001> - P WM_IME_STARTCOMPOSITION
Pressed 'r' key
<000002> ㄱ P WM_IME_COMPOSITION chDBCS:3131 fFlags:6018 // interim char 'ㄱ' at char location 0
pressed 'k' key
<000003> 가 P WM_IME_COMPOSITION chDBCS:AC00 fFlags:6018 // interim char '가' at char location 0
pressed 's' key
<000004> 간 P WM_IME_COMPOSITION chDBCS:AC04 fFlags:6018 // interim char '간' at char location 0
pressed 'k' key
<000005> 가 P WM_IME_COMPOSITION chDBCS:AC00 fFlags:GCS_RESULTSTR // finalized char '가', therefore followed by WM_IME_CHAR, WM_CHAR
<000006> 가 S WM_IME_CHAR chCharCode:'41392' (176) cRepeat:1 ScanCode:00 //41392 == 0xA1B0 -> cp949 B0A1 ==> equivalent to Unicode AC00,
<000007> - R WM_IME_CHAR
<000008> - P WM_IME_ENDCOMPOSITION
<000009> 가 P WM_CHAR chCharCode:'41392' (176) cRepeat:1 ScanCode:00 fExtended:0 fAltDown:0 fRepeat:0 fUp:0 // final WM_CHAR message with '가' value, 0xA1B0 at location 0


<000010> - S WM_IME_STARTCOMPOSITION
<000011> - R WM_IME_STARTCOMPOSITION
<000012> 나 S WM_IME_COMPOSITION chDBCS:AAB3 fFlags:6018 // 0xB3AA (Little Endian) == Unicode 0xB098 // interim '나' at location 1
<000013> - R WM_IME_COMPOSITION
<000014> 나 P WM_IME_COMPOSITION chDBCS:B098 fFlags:6018 //interim '나' at location 1
pressed 'space' key
<000015> 나 S WM_IME_COMPOSITION chDBCS:AAB3 fFlags:GCS_RESULTSTR // finalized 나 at location 1
<000016> 나 S WM_IME_CHAR chCharCode:'43699' (179) cRepeat:1 ScanCode:00 // finalized WM_IME_CHAR at location 1
<000017> R WM_IME_CHAR
<000018> R WM_IME_COMPOSITION
<000019> S WM_IME_ENDCOMPOSITION
<000020> R WM_IME_ENDCOMPOSITION
<000021> P WM_CHAR chCharCode:'43699' (179) cRepeat:1 ScanCode:00 fExtended:0 fAltDown:0 fRepeat:0 fUp:0 //finalized WM_CHAR at location 1
<000022> P WM_CHAR chCharCode:'32' (32) cRepeat:1 ScanCode:39 fExtended:0 fAltDown:0 fRepeat:0 fUp:0 //finalized 'space' char

I understand it's very tricky to correctly implement intl input, especially for the languages that are not familiar... but I think this can be addressed properly.

Much appreciated your efforts!
-long fan of xyplorer!

admin
Site Admin
Posts: 60632
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Korean Input in file rename field is broken

Post by admin »

Thanks, but all this complicated stuff should be handled automatically by the edit box. And it is in all cases except inline rename as you reported. So for me it's enough to spot the difference between this and all other edit boxes in XY. I'll go hunting later...

admin
Site Admin
Posts: 60632
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Korean Input in file rename field is broken

Post by admin »

Does it make a difference if you untick this?
Configuration | General | Sort and Rename | Rename | Auto-replace invalid characters


Forget it, I could reproduce it now and will find a fix.

admin
Site Admin
Posts: 60632
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Korean Input in file rename field is broken

Post by admin »

Fixed. 8)

sungmj
Posts: 7
Joined: 16 Mar 2022 00:42

Re: Korean Input in file rename field is broken

Post by sungmj »

Thank you!!
was the culprit, system edit control? anyways, I really appreciate and admire your passion and expertise.
Long live, xyplorer!

admin
Site Admin
Posts: 60632
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: Korean Input in file rename field is broken

Post by admin »

I was the culprit. I did something in the inline rename box that did not work well with IME input (if the system locale was not set to a IME language).

sungmj
Posts: 7
Joined: 16 Mar 2022 00:42

Re: Korean Input in file rename field is broken

Post by sungmj »

Tested the latest version for a couple days after release. Everything works as expected and perfect.
Thank you!

Post Reply