Search Unity

Suggestions for Working with Lao/Thai/Khmer

Discussion in 'Getting Started' started by rcampbellbassac, Sep 5, 2020.

  1. rcampbellbassac

    rcampbellbassac

    Joined:
    Sep 5, 2020
    Posts:
    1
    Sa bai dee! AKA, howdy y'all!

    (Edit: In an already bad sign, Unity Forum bans Lao letters from being included in threads/posts here...)

    Background - I'm making an interactive story app designed for Lao children. I'm aiming for something that is simple, colorful, and easy to develop as a starting project! This is my very first Unity project. :) I'm still making decisions in terms of 2d vs 3d (probably some kind of 2d).

    Because Lao is a complex text layout script, which means consonants can have marks above and below them - consonants, vowels, tone marks. (I didn't invent Lao; don't blame me.) Spaces are not used to separate words. Words have to be delimited with zero-width-spaces or automatically tokenized with libraries such as ICU. Lao, Thai, Khmer, Burmese, Javanese, and a number of other SE Asian languages work this way.

    Problem - I started with a simple, empty project, and following some tutorials online, created a simple 2d top-down view example... Think Legend of Zelda: A Link to the Past style, but with a chicken as the main character, because that's the way it should have been. Sorry, tangent. Anyways, I wanted to start playing around with UI and NPC interaction - which brought me to fonts, TextMeshPro, Lao fonts, and pain and misery.

    I could never get the text to show up in the Unity property editor (where you insert the text - only ever showed an empty box, even if Lao content was pasted in), and I was only once able to get the font to render in the game preview (and have not been able to repeat the steps to get it working). In short, I don't even know how I got it to render at one point, and I can't figure out how to get it to show again, and even when I did, I couldn't see it in the text property, which made editing awful. I blame it all on Windows.

    Questions - Where is the best place to learn about the text/font related support in the documentation? Does Unity rely on Harffbuzz/ICU? AKA, am I going to have to type in zero-width-spaces to get word boundary analysis working right for line-breaks, text layout, and whatnot? Can I add in my own custom Lao fonts (https://github.com/rober42539/KouangSiWaterfall) even if they don't include any level of Latin support? What are some best practices for setting up a project to handle a language like Lao? Who will help me finish my Legend of Chicken game?

    Additional Information - Some common Lao fonts include Phetsarath OT and Saysettha. Some example Lao content can be found here. I'm a Unity newbie. I'm a vegetarian.