Maniphest T82459

Language Preference restricts inputs of different languages
Closed, ResolvedKNOWN ISSUE

Assigned To
Hans Goudey (HooglyBoogly)
Authored By
炎臻 (PrettyFireNOI7)
Nov 6 2020, 12:14 PM
Tags
  • BF Blender
  • User Interface
  • Papercut
Subscribers
Hans Goudey (HooglyBoogly)
Harley Acheson (harley)
hujin (MAXMADZZ)
Julian Eisel (Severin)
Richard Antalik (ISS)
炎臻 (PrettyFireNOI7)
Tokens
"Love" token, awarded by MAXMADZZ.

Description

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: GeForce GTX 980/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 456.71

Blender Version
Broken: version: 2.92.0 Alpha, branch: master, commit date: 2020-11-06 00:11, hash: rBc99c02d3ba7f
Worked: (newest version of Blender that worked as expected)


Short description of error:

Language Preference restricts inputs of different languages.

For example,if Language preference is set to English , Spanish or Korean ,it will not be able to input Chinese , Japanese and Korean. Once the setting is switched to Chinese or Japanese ,they three will all be allowed to input.

Despite of the setting,it is possible to paste in any of them from the clipboard.

This problem is also mentioned in T80532.


Exact steps for others to reproduce the error:

OS Conditon: WIN 10 |Blender: 2.92.0 Alpha

  • To instal another input language on WIN 10,open Settings from start menu:
  • Select Time & Language:
  • Then select Language row on the left side of the panel.Here in the Preferred languages,click on the "plus" button to add a language:
  • In the search bar search "japanese"/"korean",these two have only one result and for "chinese"'s results I'm using Simplified,China.After installing you should have a similar language list as below:
  • For changing the input language you are using:Seclet the language in the pop-over panel that shows up after clicking the "ENG" icon at the right-bottom corner of the screen:
    There will be two clickable button once one language is selected:
    If the left one is displayed as "英/A/A“,that means the input will still be interpreted as English.By clicking,the icon will change to "中/あ/가” then the input will be interpreted as the respective language.

    Now you can input a foreign language.Press enter to comfirm,new a text document and try some:

    Chinese: yuzhou宇宙universe Korean: dmsgk은하galaxy Japanese: kawaiiかわいいcute
  • Then in Blender,with Language preference set to English/Korean and default scene,this BUG can be reproduced by renaming the default cube,the input will still be interpreted as English even if another language is selected,so as other text field in Blender.
    Below is what it looks like if the Language preference is set to Japanese,this should be correct without the BUG in T80532:

Revisions and Commits

rB Blender
D10268

Event Timeline

炎臻 (PrettyFireNOI7) created this task.Nov 6 2020, 12:14 PM
炎臻 (PrettyFireNOI7) renamed this task from Language Preference restricts inputs of different languages. to Language Preference restricts inputs of different languages.Nov 6 2020, 12:16 PM
炎臻 (PrettyFireNOI7) updated the task description.Nov 6 2020, 12:24 PM
Robert Guetzkow (rjg) added a project: User Interface.Nov 6 2020, 1:13 PM
Richard Antalik (ISS) changed the task status from Needs Triage to Confirmed.Nov 10 2020, 8:29 PM
Richard Antalik (ISS) added a subscriber: Richard Antalik (ISS).

I can confirm this, though along with T80532 this would be probably feature request, but I will let UI team to decide on this.

hujin (MAXMADZZ) awarded a token.Dec 16 2020, 9:22 AM
hujin (MAXMADZZ) added a subscriber: hujin (MAXMADZZ).
Julian Eisel (Severin) moved this task from Backlog to Known Issues on the User Interface board.Jan 31 2021, 11:57 PM
Julian Eisel (Severin) added a project: Papercut.
Julian Eisel (Severin) changed the subtype of this task from "Report" to "Known Issue".
Julian Eisel (Severin) added a subscriber: Julian Eisel (Severin).

Unfortunately IME support is still rather limited and needs work, mostly on the coding side but also design wise. Help from the community is welcome here (most of it was already done by the community).
Tagging as known issue. AFAIK this behaves as intended but could be improved.

Harley Acheson (harley) added a subscriber: Harley Acheson (harley).Feb 1 2021, 1:27 AM

Although we have plenty of problems with IME, this particular issue can be fixed with a one-liner.

In a nutshell, setting the language in Preferences only selects the OUTPUT language used for formatting display strings.

On Windows we already properly get the input language from the OS, and properly change the input language when you change it on the taskbar (by dealing with the WM_INPUTLANGCHANGE message). This means no matter what language you select inside Blender, if your tasktray says the keyboard language is Chinese it is properly treated that way inside Blender. It is just that the IME is not allowed to launch. So you are in Chinese but can only enter English characters.

There was a reason for this that made sense until fairly recently. the comment for blt_lang_check_ime_supported says:

/**
 * Test if the translation context allows IME input - used to
 * avoid weird character drawing if IME inputs non-ascii chars.
 */

This is because we used to only swap in the larger international font for these languages, but used a smaller font for all other languages. Therefore if you switched input language you were likely to see little "tofu" squares rather than proper glyphs. But we changed that last year and we always use the multi-language font regardless of language selected. So we can now just have blt_lang_check_ime_supported() return true (if WITH_INPUT_IME) and you can enter Chinese while displaying blender in Spanish.

Harley Acheson (harley) added a commit: rBf2781e1c7c82: Fix for T82459 - Input Language Independent of Display Language.Feb 2 2021, 7:59 PM
Hans Goudey (HooglyBoogly) closed this task as Resolved.Feb 2 2021, 8:19 PM
Hans Goudey (HooglyBoogly) claimed this task.
Hans Goudey (HooglyBoogly) added a subscriber: Hans Goudey (HooglyBoogly).

Closing, since it was not automatically done. The commit could be titled "Fix T12345:" which automatically closes the report.