https://bugs.winehq.org/show_bug.cgi?id=54337
Bug ID: 54337 Summary: AviUtl shows Japanese text as garbage after conversion in ExEdit edit box Product: Wine Version: 8.0-rc4 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: user32 Assignee: wine-bugs@winehq.org Reporter: sagawa.aki+winebugs@gmail.com Distribution: ---
Created attachment 73906 --> https://bugs.winehq.org/attachment.cgi?id=73906 Illustration of AviUtl mojibake
AviUtl is a Japanese AVI file editing tool. When a user inputs Japanese text to the certain edit box with Input Method, it shows garbage, i.e. mojibake.
How to reproduce: 1. Download aviutl110.zip and exedit93rc1.zip respectively from http://spring-fragrance.mints.ne.jp/aviutl/ 2. Unzip them. 3. Launch aviutil.exe in Japanese locale, i.e. LANG=ja_JP.UTF-8 wine aviutl.exe 4. From the menu bar, select [設定]-[拡張編集の設定] (Settings-ExEdit Settings). The window titled 拡張設定 (ExEdit) will be shown. 5. Right click the time-line part on the window and select [新規プロジェクトの作成] (Create new project) in the context menu. New dialog window will appear. 6. In 新規プロジェクトの作成 dialog window, click [OK]. 7. Right click the time-line part on the 拡張編集 window, again. 8. In the context menu, select the topmost [メディアオブジェクトの追加] (Add a media object) - [テキスト] (Text) in the context menu. Another dialog window titled テキスト will be shown. 9. Focus on the edit box in the bottom most of the dialog window. 10. Input Japanese characters "あいう" (aiu) with your favorite Input Method. 11. Type [ENTER] to finish conversion.
Expected behavior: * After conversion, "あいう" will be shown in the edit box.
Actual behavior: * After conversion, "・「・、・" is shown.
https://bugs.winehq.org/show_bug.cgi?id=54337
Sagawa sagawa.aki+winebugs@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, regression Distribution|--- |Ubuntu Regression SHA1| |2aa54a90bd24f6aa422a2eb832a | |54d9afe585259
--- Comment #1 from Sagawa sagawa.aki+winebugs@gmail.com --- This is a regression. It shows fine in Wine 7.15.
In detail, git bisect shows 2aa54a90bd24f6aa422a2eb832a54d9afe585259 is the first bad commit: commit 2aa54a90bd24f6aa422a2eb832a54d9afe585259 Author: Zhiyi Zhang zzhang@codeweavers.com Date: Fri Aug 12 11:32:54 2022 +0800
user32/edit: Handle IME composition result string only when EIMES_GETCOMPSTRATONCE is set.
If EIMES_GETCOMPSTRATONCE is not set, WM_IME_COMPOSITION with LPARAM set to GCS_RESULTSTR should be passed to the default window procedure according to MSDN.
Fix some windows based on edit control not being able to input Chinese.
Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com
dlls/user32/edit.c | 6 ++++++ 1 file changed, 6 insertions(+)
From my point of view, user32/edit.c can't handle double-byte WM_CHAR well. I'm working on this and will submit a MR.
https://bugs.winehq.org/show_bug.cgi?id=54337
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzhang@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=54337
--- Comment #2 from Sagawa sagawa.aki+winebugs@gmail.com --- I submitted a MR, https://gitlab.winehq.org/wine/wine/-/merge_requests/1992 .
https://bugs.winehq.org/show_bug.cgi?id=54337
--- Comment #3 from Jactry Zeng jactry92@gmail.com --- Hi Sagawa,
(In reply to Sagawa from comment #2)
I submitted a MR, https://gitlab.winehq.org/wine/wine/-/merge_requests/1992 .
Not sure if bug 53860 is a similar bug, since it was caused by a similar change but in comctl32.
https://bugs.winehq.org/show_bug.cgi?id=54337
--- Comment #4 from Zhiyi Zhang zzhang@codeweavers.com --- Fixed by c385b6475e6ad07227a1ef29593170af1c3cbf99. Thanks, Akihiro.
Could you do the same for comctl32/edit as well?
https://bugs.winehq.org/show_bug.cgi?id=54337
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |c385b6475e6ad07227a1ef29593 | |170af1c3cbf99
--- Comment #5 from Zhiyi Zhang zzhang@codeweavers.com --- Marking as fixed.
https://bugs.winehq.org/show_bug.cgi?id=54337
--- Comment #6 from Sagawa sagawa.aki+winebugs@gmail.com --- (In reply to Zhiyi Zhang from comment #4)
Fixed by c385b6475e6ad07227a1ef29593170af1c3cbf99. Thanks, Akihiro.
Could you do the same for comctl32/edit as well?
Hi Zhiyi, This is an ANSI handler issue. comctl32/edit.c doesn't have a relevant part, near https://gitlab.winehq.org/wine/wine/-/blob/wine-8.0/dlls/comctl32/edit.c#L48... .
https://bugs.winehq.org/show_bug.cgi?id=54337
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.1.
https://bugs.winehq.org/show_bug.cgi?id=54337
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |8.0.x
https://bugs.winehq.org/show_bug.cgi?id=54337
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|8.0.x |---
--- Comment #8 from Michael Stefaniuc mstefani@winehq.org --- Removing the 8.0.x milestone from bug fixes included in 8.0.1.