Search Unity

Unity UI InputField Bugs Korean Language

Discussion in 'UGUI & TextMesh Pro' started by AceAssetMaster, Aug 16, 2019.

  1. AceAssetMaster

    AceAssetMaster

    Joined:
    Jan 5, 2015
    Posts:
    21
    WTF?

    can you see two bugs?

    How can I fix this? Please help.


     
    Last edited: Aug 16, 2019
  2. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,595
    I would recommend switching to using TextMesh Pro instead of UI Text and the UI Input Field.

    You will need to create a Font Asset from a source font file that contains Korean characters. This font asset can be dynamic to begin with for the purpose of testing.

    To create a Dynamic Font Asset, simply select the source font file and use the context menu to create it as seen below.

    upload_2019-8-16_1-39-26.png

    This will create a dynamic font asset with default settings which can be changed later.

    Then create a TMP Input Field from the UI menu and assign this newly created font asset to it.

    Let me know if everything works as expected using the TMP Input Field.
     
  3. AceAssetMaster

    AceAssetMaster

    Joined:
    Jan 5, 2015
    Posts:
    21
    This is not a font problem.
    All fonts are output correctly.

    Bug 1.
    a. Select a part of the letters typing in English.
    (key input : "abcdefgh"-> select with mouse "cdefgh")
    b. If you typing 'ㄱ' in Korean consecutively, an error occurs.
    (key input : "ㄱ", "ㄱ")

    => Normally, "abㄱㄱ" is correct. But "abㄱcdefgh" and error occurs.

    Bug 2.
    a. key input : "abcdefgh"
    b. Go to the first letter
    c. typing 'ㄱ' consecutively

    d. you can see "ㄱaㄱbㄱcㄱdㄱeㄱfㄱgㄱf"

    => Normally, "ㄱㄱㄱㄱㄱㄱㄱㄱabcdefgh" is correct.


    What is this??

    can you fix it?

    P.S. The letter "ㄱ" is the same as the letter "a" in the alphabet.


    아... 영어로 설명 할려니까 졸라 어렵네...
    유니티 거 한국 사람 좀 없냐?
    한번 설명 해주면 금방 이해 할텐데...
     
  4. AceAssetMaster

    AceAssetMaster

    Joined:
    Jan 5, 2015
    Posts:
    21
    Text Mesh Pro InputField
    same error....
     
  5. AceAssetMaster

    AceAssetMaster

    Joined:
    Jan 5, 2015
    Posts:
    21
    And...
    There is a misunderstanding in the video above.
    "ㅁ" in the video is not a broken letter is correct Hangul letters.
    The alphabet consists of "abcdefghijklmnopqrstuvwxy".
    Hangul is composed of "ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎ"
    "ㅁ" in the video is the fifth letter. It is not a broken font.

    can you understand?
     
  6. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,595
    I am able to reproduce the errors in the TMP Input Field and will take a closer look tomorrow.

    If possible, I will post the code changes for the TMP Input Field which would enable you to make the changes in the current package instead of having to wait for the next release.

    P.S. I am unable to reproduce the issue in the UI Input Field in 2019.1.13f1. Can you see if you are still able to reproduce the issue in the latest release of 2019.1?

    P.S.S Seems like the Microsoft Korean IME on Windows is not working correctly either when trying to Input characters.
     
    Last edited: Aug 16, 2019
  7. AceAssetMaster

    AceAssetMaster

    Joined:
    Jan 5, 2015
    Posts:
    21
    Unity2019.1.13.f1.png

    Same two Bugs in Unity 2019.1.13f1

    Please Fix it....


    and i find two bugs more.....

    Bug3. Backspace bug...

    1. Enter "ㄱㄱㄱㄱ"
    2. Press the backspace key.
    3. Then it should be "ㄱㄱㄱ".
    But....The letters are still the same ("ㄱㄱㄱㄱ").
    Only the cursor moves one space to the left.
    4. Press the backspace key in this state to become "ㄱㄱ".
    Two "ㄱ" are erased.

    ※ this bug is same in Inspector's text editor.



    Bug4. Read Only Bug...

    1. Check on the ReadOnly property in the inspector.
    2. Enter Korean 'ㄱ' in the input field.
    No letters should be entered, but ...
    'ㄱ' are added.


    Please fix these two bugs together.

    Same for both Windows 7, Windows 10.
     
    Last edited: Aug 16, 2019
  8. AceAssetMaster

    AceAssetMaster

    Joined:
    Jan 5, 2015
    Posts:
    21
    For bugs 1 and 2, see the IME Hangul Handling section of the Inspector's text editor.

    Bug3...must be fixed in both the input field and the Inspector's text editor.
     
    Last edited: Aug 16, 2019
  9. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,595
    Although I need to do additional testing, I believe I have resolved issue #1, #2 and #4.

    Issue #3 is more problematic as it relates to detecting when the composition ends.

    For instance if you type "ㄱㄱㄱㄱ" in the inspector, you will notice the _ underneath the ㄱ as you type each of them. Pressing the left or right arrow keys or Enter terminates the composition and navigation works as expected.

    However, pressing Backspace doesn't register correctly nor does it result in any Input events. As such I don't know Backspace was pressed nor that the composition ended.

    For this issue, I need to talk with the Input team.
     
    Last edited: Aug 17, 2019
  10. AceAssetMaster

    AceAssetMaster

    Joined:
    Jan 5, 2015
    Posts:
    21
    Thank you very so much~!!!

    Where can I get a fixed version?

    I will test and report the fixed version.
     
  11. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,595
    The fix for these issues will require both an updated TextMesh Pro package along with an updated version of Unity.

    I am still working on IME related issues and will provide an update with more details in the next few days.

    Here is an example where IME input correctly deletes the selection which is consistent with how this behaves in MS Word. IME Input is now also underlined until accepted.

     
    Last edited: Aug 21, 2019
  12. AceAssetMaster

    AceAssetMaster

    Joined:
    Jan 5, 2015
    Posts:
    21
    good~! 뮻short~!

    ok I'll wait.

    스테판_B님! 겁나 감사합니다.
     
  13. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,595
    Still making improvements to IME support and positioning of IME Window.

     
  14. AceAssetMaster

    AceAssetMaster

    Joined:
    Jan 5, 2015
    Posts:
    21
    I do not know Chinese but it looks very good.
    When will the new version be available?
    Thank you~!
     
  15. DaeJinYoo

    DaeJinYoo

    Joined:
    Jan 14, 2020
    Posts:
    1
    problem fixed TMP 1.5.0 preview 3
    but still problem in UGUI (2018.4.6f1, 2019.2.17f1)
    and i have to use ugui
    i need more tissue..
     
  16. ozkee

    ozkee

    Joined:
    Aug 21, 2018
    Posts:
    1
    Unity 2019.3.0f6 still does not resolve this issue.

    I downloaded the source from the internet and am using some modifications. In the hope that Unity will be included in the engine as regular code, it will expose the modified code below.

    And if Unity is aware that the Asian market is big, I think the issue should be fixed as soon as possible.

    The code below is a modified code.

    Symbol for modification -> FIX_UGUI_INPUTFIELD_MULTILINGUAL_SUPPORT
     

    Attached Files:

    latsoft likes this.
  17. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,595
    The UI.Text component is a legacy component which will continue to get bug fixes but very unlikely to get new functionality whereas the TextMesh Pro components are on active development and already improved support for Asian languages.

    TMP now includes dynamic SDF support and fallbacks with multi atlas textures which is new in version 2.1.0-preview.x for Unity 2019.x.

    Preview 7 includes improved handling of <nobr> and <nbsp> and <zwsp> to provide for even better control for line breaking for Asian languages.

    I strongly recommend using the TMP package version 1.5.0-preview.7 for Unity 2018.4, version 2.1.0-preview.7 for Unity 2019.x and 3.0.0-preview.7 for Unity 2020.x.

    Like I said, I am actively improving TMP so please keep on providing feedback so I can keep improving our support for all languages.
     
  18. latsoft

    latsoft

    Joined:
    Jan 29, 2020
    Posts:
    2
    ==============================================================================

    I am working fine by applying it with new code.
    Thank you very much.

    For reference, even the latest Unity version did not fix this bug ...
     
    Last edited: Mar 17, 2020
  19. Wizner

    Wizner

    Joined:
    Sep 6, 2018
    Posts:
    2
    I have same problem in Unity 19.1.1f1

    And I Upgrade version 2.1.0-preview.x and I have to Upgrade My Unity to 2019.2.13f.1 because text mesh pro 2.1.0 Need That Version's Unity.

    Then, It works. But I dont have time. I Upgrade my Unity Project to 2019.2.13f.1

    What Can I have to do?

    I need some another solutions, Help!
     
  20. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,595
    These IME fix require Unity 2019.4.13f1.

    The latest release of the TMP package for Unity 2019.4 is version 2.1.1.
     
  21. Wizner

    Wizner

    Joined:
    Sep 6, 2018
    Posts:
    2
    There are no solution on Unity 2019.1.1f.1...?

    That is not good at me but Thanks to reply.