7

I am currently making a Corona app where I would like to include Japanese text. For those of you who do not know, it appears that Japanese has multiple languages to write in text (Kanji, Hiragana, etc.). Furigana is a way to have Kanji characters with Hiragana in what looks to be subtext (or Ruby characters). See the Ruby slide on this page for an example.

I am looking for a way to use Furigana in my app. I was hoping there was a way to do it using Unicode. Well, I stumbled upon the Interlinear Annotation characters and tested them out (using unicodeToUtf8 and the LastResort font) in Corona as follows: :

    local iaAnchor = unicodeToUtf8(0xfff9)
    local iaSep = unicodeToUtf8(0xfffa)
    local iaTerm = unicodeToUtf8(0xfffb)
    local options = {
        parent = localGroup,
        text = iaAnchor .. "漢" .. iaSep .. "かん" .. iaTerm .. iaAnchor .."字" .. iaSep .. "じ" .. iaTerm,
        x = 285,
        y = 195,
        font = "LastResort",
        fontSize = 24,
    }
    local testText = display.newText(options)

Unfortunately, I had no success and ended up getting something like this:

Bad Furigana Results

So, my question is, is it possible to get Furigana (and Ruby characters) to work using Unicode? Or is this not an actual usable feature in Unicode? I just want to make sure that I am not wasting my time trying to get this stuff to work.

I checked out the Interlinear Annotation Characters section in this Unicode report, but the jargon is a bit too thick for me to understand what they're trying to say. Are they implying at all that such characters should not be used in regular practice? If so, then the previous resources on Unicode Ruby Characters is a bit misleading.

4

1 回答 1

5

Interlinear Annotation Characters 是用于注释文本的通用工具(如 Furigana、Bopomofo 或其他语音指南),但 Unicode 标准并未指定应如何解释或呈现它们。也就是说,您可能必须自己实现对它们的渲染支持,因为大多数库不知道如何处理它们。

使用已经支持呈现 Ruby 文本的高级协议可能更容易。例如,如果您有权访问可以呈现 HTML 的 API,则可以使用<ruby>/<rt>标签——它具有明确定义的呈现语义。

于 2015-06-23T18:43:37.803 回答