Payap.net

ラーンナー語 ภาษาล้านนา (ตั๋วเมือง)

ラーンナー文字(ᨲ᩠ᩅᩫᨾᩮᩥᩬᨦ(ตัวเมือง)=TaiTham文字= Lanna文字)は、タイ北部(ラーンナー地方)で使われとった伝統文字です。 現代タイ文字とはルーツを同じくするパーリ語由来の子音体系(ワック wak)を持っていて、字形は違うけど発音の役割はかなり近い対応関係にあります。 このページでは、ラーンナー文字(Tai Tham Script)を表示する為のまとめです。

Northern Thai / Kam Mueang(ภาษาคำเมือง) — Tai Tham (Lanna) Script

Tai Tham表示


1. 表示用フォントと入力用ソフト

Windows上でラーンナー文字を扱うには、フォントと入力方式(キーボード)の両方が必要。

種類名前特徴
フォントPayap LannaSIL製の無料オープンフォント。正式なTai Tham Unicodeに対応し、Graphite/OpenType両対応
フォントNS-Somphoa / NSFakkhamKaewタイ文字コードを使う視覚代用フォント
入力Keyman + Tai Lanna (Thai Layout)タイ文字キーボード配列のまま、正式なTai Tham Unicode文字を出力するキーボード

2. Keymanキーボードのキー配列確認

Keymanの「Tai Lanna (Thai Layout)」は、タイ文字キーボードの配列そのままでラーンナー文字を出力する仕組みとの事です。

配列を確認するには、Keyman公式ヘルプページのスクリーンショットが確実です。

タイ語キーボード : +๑๒๓๔ู฿๕๖๗๘๙ ผปแอ
Keymanキーボード : +᪁᪂᪃᪄ᩪ฿᪅᪆᪇᪈᪉ ᨹᨸᩯᩋ
Keyman,キーボード配列
Keyman,キーボード配列
Keyman,キーボード配列
Keyman,ブラウザから入力できます。

3. WOFF/WOFF2形式とWeb用フォント変換

項目WOFFWOFF2
圧縮方式zlib(gzip系)Brotli
圧縮率普通WOFFよりおよそ30%軽い
ブラウザ対応IE9以降を含め全対応モダンブラウザはほぼ全対応、IE非対応

基本的にはWOFF2一択でよく、古いブラウザ向けにWOFFをフォールバックとして残す場合のみ両方指定する。

@font-face {
font-family: "PayapLanna";
src: url("payap-lanna.woff2") format("woff2"),
 url("payap-lanna.woff") format("woff");
}

4.lang属性に何を入れるか

ラーンナー文字(Tai Tham)のISO 15924スクリプトコードはLana。 何語を表しているかにより言語コードが変わる。

言語ISO 639-3lang属性
北タイ語(Kam Mueang)nodnod-Lana
タイルー語khbkhb-Lana
クン語kkhkkh-Lana
例 : <span lang="nod-Lana">ᨩ᩠ᨿᨦᩉ᩠ᨾᩲ᩵</span>

5. ブラウザごとのtofu問題

Brave,Vivaldi,Opelaでは NS-Somphoa、NSFakkhamKaew も正しく表示されるのに、Firefox、Floorp、Waterfoxでは コードポイントの数字がそのまま表示される(tofu)...΢΢΢΢...現象が発生する場合が有る。 ただし、PayapLanna-Regular や Talom4_211 なら自分のPC全てのブラウザで正常に表示されるのはフォントをインストールしているためかな。

調査ステップ

  1. フォントのcmap(文字コード対応表)を確認したところ、NS-SomphoaとNSFakkhamKaewはラーンナー文字専用のUnicodeブロック(U+1A20〜1AAF)に一切対応していないことが判明。 GSUBのスクリプトタグもthaiのみでlanaは無かった。
  2. 試しに実際のタイ文字表記「เชียงใหม่」(チェンマイ)をこのフォントに流し込んでシェイピングさせたところ、正しいグリフに変換された。
  3. 結論:この2フォントは正式な Tai Tham Unicode で動くフォントではなく、「タイ文字のコードで打ち込むと、見た目だけラーンナー文字風の字形に変わる」旧来の視覚代用フォントだった。

なぜChromium系(Brave/Vivaldi)では正しく見えていたのか Chromiumは、指定フォントに該当グリフが無い場合、システムにインストール済みの他のTai Tham対応フォント(Payap Lannaなど)へ黙って代替表示する。 そのため、実際にはNS-Somphoa自体ではなく、システムの代替フォントが表示されていた可能性が高い。 Firefox系はこの暗黙の代替処理が働かず、正直に「グリフが見つからない」ボックスを表示していたのだと思う。

対策

フォント正しい入力コード
Payap LannaTai Tham Unicode (ᨩ᩠ᨿᨦᩉ᩠ᨾᩲ᩵)のまま
NS-Somphoa / NSFakkhamKaewタイ文字表記 (เชียงใหม่) に変更

実際にタイ文字表記へ変更したところ、Braveで全フォントとも正しく表示されることを確認。


6. 数字グリフのtofu問題と対策

比較ページのコード表示欄(ᨩ &#6697;など)で、FierFox等でNS-Somphoaの行だけ数字がタイ数字風の独自グリフに変わって読みにくくなる現象が発生した。

原因

NS-Somphoaは、半角数字コード(U+0030〜U+0039)にも独自の「タイ/ラーンナー風数字グリフ」を割り当てているため。 実際にフォント内の「0123456789」を描画すると、通常のアラビア数字とは異なる装飾的な字形になる。 これはバグではなく、数字も含め全字形を統一デザインにする、というフォント側の仕様。 NSFakkhamKaewは数字グリフ自体を持たないため、システムフォントにフォールバックして通常表示される。

対策

コード表示部分を <code> タグで囲み、CSSで font-family を monospace に !important 指定して強制上書きすることで、 親要素のカスタムフォント指定を打ち消し、常に通常の数字で表示されるようにする。 のも面倒なので.cssのfont-familyのフォントの順番で正常に表示されました。

code {font-family: "Consolas", "Menlo", monospace !important;}

7. まとめ表

項目結論
フォントPayap Lanna(無料・Tai Tham Unicode正式対応)、Tahlomなどを推奨
入力Keyman「Tai Lanna (Thai Layout)」でTai Tham Unicodeを直接入力可能
Web用フォント形式woff2を使用。
lang属性nod-Lana(北タイ語+ラーンナー文字スクリプト)
NS-Somphoa / NSFakkhamKaew実体はタイ文字コードで動く視覚代用フォント。入力はタイ文字表記で行う
Fブラウザの仕様の違いブラウザにより豆腐文字になったり、母音や子音の表示位置がずれる問題が有る。
数字グリフの化け<code>にmonospace強制指定で解決

参照

参照書籍

●พจนานุกรมภาษาถิ่นภาคเหนือ
●สารานุกรม ภาษา อีสาน - ไทย - อังกฤษ ๒๕๓๒
●พจนานุกรมภาษาล้านนา (ラーンナー語辞典)
●タイ日辞典 冨田竹二郎 養徳社 1987,1990版
作成者 : webmaster
カテゴリー : タイ語
タグ : タイ語,言語,Payap Lanna,webfonts,Tai Tham script,ラーンナー文字,Tai Tham,タイフォント,使用法,Web
最終更新日 :

広告

広告

[PR]

広告