讓注音輸入法支援 HTML 的 Ruby 標示

不久(ㄅㄨˋ ㄐㄧㄡˇ)之前(ㄓ ㄑㄧㄢˊ)一時興起(ㄧ ㄕˊ ㄒㄧㄥˋ ㄑㄧˇ)(ㄗㄞˋ)小麥注音(ㄒㄧㄠˇ ㄇㄞˋ ㄓㄨˋ ㄧㄣ)輸入法(ㄕㄨ ㄖㄨˋ ㄈㄚˇ)(ㄉㄜ˙) fcitx5 移植(ㄧˊ ㄓˊ)版本(ㄅㄢˇ ㄅㄣˇ)(ㄕㄤˋ)加上(ㄐㄧㄚ ㄕㄤˋ)(ㄌㄜ˙)一個(ㄧ ㄍㄜ˙)實現(ㄕˊ ㄒㄧㄢˋ)(ㄒㄧㄥˋ)(ㄉㄜ˙)功能(ㄍㄨㄥ ㄋㄥˊ)(ㄗㄞˋ)打開(ㄉㄚˇ ㄎㄞ)特定的(ㄊㄜˋ ㄉㄧㄥˋ ㄉㄜ˙)(ㄆㄧㄢ)(ㄏㄠˋ)設定(ㄕㄜˋ ㄉㄧㄥˋ)之後(ㄓ ㄏㄡˋ)(ㄗㄞˋ)輸入(ㄕㄨ ㄖㄨˋ)文字(ㄨㄣˊ ㄗˋ)(ㄕˊ)如果(ㄖㄨˊ ㄍㄨㄛˇ)不是(ㄅㄨˊ ㄕˋ)按下(ㄢˋ ㄒㄧㄚˋ) Enter,而是(ㄦˊ ㄕˋ)按下(ㄢˋ ㄒㄧㄚˋ) Ctrl (ㄩˇ) Enter 按鍵(ㄢˋ ㄐㄧㄢˋ)那麼(ㄋㄚˋ ㄇㄜ˙)輸入法(ㄕㄨ ㄖㄨˋ ㄈㄚˇ)就不是(ㄐㄧㄡˋ ㄅㄨˊ ㄕˋ)(ㄓˇ)(ㄐㄧㄤ)中文(ㄓㄨㄥ ㄨㄣˊ)輸入(ㄕㄨ ㄖㄨˋ)(ㄉㄠˋ)各種(ㄍㄜˋ ㄓㄨㄥˇ)文書(ㄨㄣˊ ㄕㄨ)(ㄖㄨㄢˇ)(ㄊㄧˋ)(ㄓㄨㄥ),而是輸入(ㄕㄨ ㄖㄨˋ)帶有(ㄉㄞˋ ㄧㄡˇ)注音(ㄓㄨˋ ㄧㄣ)標示(ㄅㄧㄠ ㄕˋ)(ㄉㄜ˙)中文(ㄓㄨㄥ ㄨㄣˊ)呈現出來(ㄔㄥˊ ㄒㄧㄢˋ ㄔㄨ ㄌㄞˊ)(ㄉㄜ˙)效果(ㄒㄧㄠˋ ㄍㄨㄛˇ)就像(ㄐㄧㄡˋ ㄒㄧㄤˋ)(ㄋㄧˇ)現在(ㄒㄧㄢˋ ㄗㄞˋ)看到(ㄎㄢˋ ㄉㄠˋ)(ㄉㄜ˙)文章(ㄨㄣˊ ㄓㄤ)一般(ㄧ ㄅㄢ)

大概在今年一二月的時候,趁著過年有一點空檔,我和幾個朋友花了點時間調整了一下 macOS 版本的小麥注音輸入法,然後試著把小麥注音移植到 Linux 上,畢竟現在也會拿 Linux 系統工作,難免就會想把慣用的工具也一起帶過去。這次的調整中加上了可以加入自訂詞的功能,為了能夠方便修改自訂詞表格,所以直接使用純文字格式,自訂詞庫就是一組注音加上一個中文詞彙;為了可以方便修改這個表格,所以又加上了用 Ctrl + Enter 按鍵直接輸出注音的功能。

後來又想到,既然輸入法可以用來輸入中文詞彙與注音,那如果同時輸入又會如何呢?想起來就是 HTML 的 Ruby text,也就是注音標示這種情境了。

查了一下資料,W3C 在大約 98、99 年,就開始將 Ruby text 納入網頁標準,現在的主流瀏覽器也都支援這套規格,在製作網頁時,只要透過一定的 HTML 語法,對東亞語言加上特定標注,瀏覽器就可以將注音(或是拼音、假名等)顯示在文字上。而就算這套規格已經出現二十多年,印象中有注音標示內容的網頁也不多見。

稍微搜尋一番,台灣目前如果有人想要製作有注音標示的文字內容時,大概還是透過以下幾種方式:首先是在文書軟體中,使用加上了注音符號的字體,但是在傳遞、分享這種文件的時候,首先開啟的人也要有同樣的文書軟體,也要安裝特定字體,當然也可以匯出成 PDF 格式,將字體包進 PDF 中,或是將文字轉成向量曲線,但這樣的文件也難以複製與修改。

另外,像是 Word 等文書軟體,也有注音標示功能,使用者先輸入中文,然後讓文書軟體幫每個字標上注音,蘋果的 Pages 與 OpenOffice 也有這項功能,但感覺起來有些限制,像是文書軟體中一次能夠標示注音的文字有上限。像澳聲通的「字型版拼音注音」編輯器,看來就是想要解決這個字數上限的問題。

澳聲通提供一個網頁版的編輯器,只要在這個線上編輯器裡頭,輸入或是貼上中文,就會從詞庫中查詢文字的讀音,在編輯器中加上中文的拼音或注音,同時也利用了 Open Fonts 規格中一個字的字體可以有多個變體的特性,解決破音字的問題;最後,只要用戶的電腦上也安裝了澳聲通製作的特定字體,就可以把線上編輯器裡頭標好注音的文字,整篇複製、貼上到文書軟體中。這個編輯器還針對了編輯課本內容最佳化,可以呈現出課本的排版方式,也可以只針對某個教學進度範圍的字加上注音,像是你要編輯三、四年級的課文,就不需要對一、二年級的內容加上注音。

澳聲通還有一個圖像版本的線上編輯器,可以將加上注音的中文變成圖檔,這樣就可以透過圖片的形式,將加上注音的中文插入到各種線上文件中;澳聲通還將圖像版本編輯器,做成了 Google Slide 的 plugin,可以快速插入、編輯這類型的圖片。圖像版本的編輯器在產生了圖片之後,還可以把這個圖片拿回編輯器中以文字的形式編輯,雖然不知道技術細節,但感覺起來,這些圖片資料裡頭應該有些特定 metadata 區段,用來說明圖片裡頭其實是什麼文字。

現在的方案不少,但搜尋一輪下來,倒是沒看到什麼支援 HTML Ruby text 的方案。而如果想要在一些支援 HTML 的寫作平台上,像是 WordPress、Blogger 等等。寫一些帶有注音標示的文章,無輪是使用特定字體,或是將文字轉成圖檔,好像都不是方便的方案。想像中也可以做成某種線上編輯器,貼上中文之後,透過詞庫把整篇中文轉成加上注音的 Ruby Text,目前也還沒有這樣的作品。

把注音標示做進輸入法裡頭,看來是可以讓我在 WordPress 裡頭打一篇有注音的文章,但我也不知道有什麼人有這種需求就是了。

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.