Search Unity

Unity UI Hindi paired words are not supported without any type of unicode in unity.

Discussion in 'UGUI & TextMesh Pro' started by SohilKadevar, Mar 5, 2022.

  1. SohilKadevar

    SohilKadevar

    Joined:
    May 19, 2018
    Posts:
    14
    Hello all,

    We are developing boards games and we want to add localization in our game but we are facing some issue for hindi language localization.
    Many languages are support direct words to unity like English , arabic and many more with that specific font file.
    We just want to asking for unity that hindi paired words are not supported in unity without any type of support unicode.
    We are finding many solution on unicode but at that time some characters are not supported in specific font file.

    Original text:

    Screenshot 2022-03-05 at 5.24.35 PM.png

    Unity text mesh pro text :
    Screenshot 2022-03-05 at 5.24.14 PM.png

    Text with hindi font asset :
    Screenshot 2022-03-05 at 5.24.02 PM.png

    Can anyone solve this issue let me know we are suffering from this issue.
     
  2. Gamadrila

    Gamadrila

    Joined:
    Sep 5, 2021
    Posts:
    142
    The easiest way to find a different font. Another way to draw a missing character. The people who can do this are usually found on a game localization site. You can learn yourself.
     
    SohilKadevar likes this.
  3. SohilKadevar

    SohilKadevar

    Joined:
    May 19, 2018
    Posts:
    14
    Can you just let me know any best game localization site?
     
  4. Gamadrila

    Gamadrila

    Joined:
    Sep 5, 2021
    Posts:
    142
    In English-speaking countries, most likely there are no such sites. I only know one. https://www.zoneofgames.ru/.
     
  5. SohilKadevar

    SohilKadevar

    Joined:
    May 19, 2018
    Posts:
    14
    Sorry,
    Because this is not a solution that we want or solve our problem.

    We already used different types of font and also used "Unicode" for paired words in our game but there is a problem with Unicode to implement in unity and not a proper way to localize the game.

    So can you or anyone help us to solve the "Hindi" and "Gujarati" localization problem in our unity game?

    Please help us to localize any language in the game without the use of Unicode.

    Thank You.
     
  6. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,596
    Hindi like a few other languages requires shaping which is a text preprocess whereby certain glyphs are re-ordered.

    upload_2022-3-7_16-22-40.png

    Until, shaping is added to TMP, you can manually re-order the 'ि' where in this case the text would render correctly.

    upload_2022-3-7_16-28-11.png

    Besides shaping, many languages require the use of OpenType font features such as Ligatures, Diacritical Marks, etc.

    Here is an example of this
    upload_2022-3-7_16-30-18.png

    In terms of these font features, support for Diacritical Marks and Ligatures was recently added to the latest preview release of TMP which is version 3.2.0-pre.2. Currently the tables for Ligatures and Diacritical Marks need to be manually populated but these will be automatically populated in a future release of the Unity Editor.

    Here is an example text rendering in TMP using both re-ordering and font features.

    upload_2022-3-7_16-34-36.png

    So we are not there yet for support for Hindi but getting much closer. For Arabic, there is a free asset called RTLTMPro which handle to glyph re-ordering. I believe there are / is a similar asset for Hindi text as well that works with TMP. Using these assets in combination with the newer releases of TMP with support for Diacritical Marks and Ligatures should get you pretty close to full support for Hindi text.
     
  7. SohilKadevar

    SohilKadevar

    Joined:
    May 19, 2018
    Posts:
    14
    Thank you @Stephan_B for the information!
    You have said that RTLTMpro can work for Hindi, but I think its not woking for hindi, Just because hindi is much diffrent language from arabic language.
    We are waiting for this release version of TextMeshPro 3.2.0-pre.2 to implement in our game.
    Can you just let me know how much it will take time for release TextMeshPro 3.2.0-pre.2?
     
  8. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,596
    That is correct. As I stated, RTLTMPro is for Arabic support but I believe there are a few assets on the AssetStore that do the same thing for Hindi text in terms of shaping.

    Version 3.2.0-pre.3 was released last night.

    Since those are preview releases and depending on the version of Unity you are using (ie. 2020.3 vs. 2021 vs. 2022) package discovery has changed where in 2020.3 with show preview packages enabled, you will see it whereas in 2022, preview packages are basically completely hidden :( where in that case, you need to edit the Packages/manifest.json to manually add it. There should be a few posts about this on the forum already.
     
  9. SohilKadevar

    SohilKadevar

    Joined:
    May 19, 2018
    Posts:
    14
    Okay, I understood @Stephan_B
    I have tried in TextMesh Pro 3.2.0-pre.3 version but still the same problem is there that i mentioned above.
    Hindi Text not supported directly to textmeshpro with hindi Font Asset.
    Can you say in how many time this problem solve ?
    So i have to decide for implement localization in our game.
    If it will take more time, Then i will finding another solution for this.
     
  10. MaryamRasheed

    MaryamRasheed

    Joined:
    Jan 25, 2021
    Posts:
    6
  11. SohilKadevar

    SohilKadevar

    Joined:
    May 19, 2018
    Posts:
    14
    @MaryamRasheed
    No,
    i can't find any solution for hindi and gujarati language then apply json for every text.
     
  12. shunphoenix55_unity

    shunphoenix55_unity

    Joined:
    Jan 7, 2019
    Posts:
    2

    > In terms of these font features, support for Diacritical Marks and Ligatures was recently added to the latest preview release of TMP which is version 3.2.0-pre.2. Currently the tables for Ligatures and Diacritical Marks need to be manually populated but these will be automatically populated in a future release of the Unity Editor.

    Hi, I'd like to try populating the ligature and diacritical mark tables, but I have no idea how. Could you guide me on that?
     
  13. Grelle_IA

    Grelle_IA

    Joined:
    May 15, 2023
    Posts:
    7
    I just want to share expirience of our company.
    We added hindi support to out projects about year+ ago. On than moment Stephan wrote, that hindi support will be soon; but now here is pre-3, and it is not fully released yet. I dont want to blame anyone, I just say that it has make more time, that you expect.

    So back in time.
    I researched this problem (how to display hindi language in textmesh pro correctly). We bought 2 plugins from Unity store; but both had errors in displaying text.
    So we decided to write own solution. Unfortunately I cant share it, it is only for internal use.
    I had to research, what dialect is main (there are many of them, some of them has different rules for writing the same letters).
    I found document from some "Hindi state institute" where was rules for writing for some Main dialect. In was great help. And Microsoft guide for hindi font creators - it was great too. Note: hindi is difficult not because of ligature only. Some symbol is moving on different places, and it is depends on other symbols, which is marks start and end
    I created table of "ligatures" - how symbols converting, when p[laced together. This data was converted to json. It is about Stephan says: "Currently the tables for Ligatures and Diacritical Marks need to be manually populated but these will be automatically populated in a future release of the Unity Editor". Well, we did if manually in google table, then get this data with code.
    I created special font, where I added some unicode for all ligatures (in one place I fked up, I rewrite currency symbol of another country x_x ). So, boughted plugins also had own prepared fonts.
    And then company coder wrote big and scary converter.
    And then we clarify some moments, writing to language native man.

    So wi did big, big work. We cant use non released packages for out projects, so this work was not waste. We did it 1 time, and it now works.
    So it you want your own solution - it will not be easy) Thanks Stephan, there is some version, which can work with ligatures. So it you can use not released versions, some work may be easier, that my was.
    Hindi has many non-obvious things and it is very tricky.
    So No one can tell you quick, what you need to take into account.
    It is like some... science research. Big work.
     
  14. theproficient2021

    theproficient2021

    Joined:
    Oct 12, 2021
    Posts:
    2

    how would i manually populate the ligatures and diacritical Marks tables?..I want to add hindi language in my project but it is not rendering properly i am using tmp 3.2.0 pre8
     
  15. SaikatModak19

    SaikatModak19

    Joined:
    Mar 13, 2023
    Posts:
    3
    We can support any language (using GPOS/GSUB opentype rules) in our text plugin. Even it doesn't need any text preprocessing using any other tool. Just copy-paste your text in any language in the editor.

    upload_2024-2-15_12-20-38.png
     
  16. theproficient2021

    theproficient2021

    Joined:
    Oct 12, 2021
    Posts:
    2
    Does it work with any hindi font? can you share the plugin?how can i contact you
     
  17. SaikatModak19

    SaikatModak19

    Joined:
    Mar 13, 2023
    Posts:
    3
  18. Try4It

    Try4It

    Joined:
    Mar 26, 2024
    Posts:
    2
    Is your plugin available to use?
     
  19. SaikatModak19

    SaikatModak19

    Joined:
    Mar 13, 2023
    Posts:
    3
    Yes available. Please reach out to saikat.modak@monotype.com for further discussion as this is a company asset.