らんだむな記憶

blogというものを体験してみようか!的なー

急にタイ語

ゆるふわ顔文字でよく大活躍のタイ文字。ちょっとタイ語のフォントを調べてみよう。

Thai Opentype font downloadで「Garuda」使いなよみたいな感じのリンクがあるけど、デッドリンク。魚拓で回収はできる。
それ以外に、fonts-tlwg - Revision 948: /trunkにたっぷりとfontforge用のデータでタイ語のデータがある。OpenType(CFF)でビルドしようとすると「おらっ、EMサイズが2048だけど、ふつーは1000だろ?見直したらどーよ?」とか言われる。まぁ、スケーリングするのも面倒臭いのでTrueTypeとしてビルドしとく。ggって見つかるのもTrueType向けデータばっかりだけど、そんなもん?

できあがったTrueType (試しに Waree.ttf をビルドした) をFontLabで除くとOpenType Layout tag registryにある ccmp (Glyph Composition/Decomposition) が幾つか入ってる。逆にめぼしいのはそれぐらいか?Garudaには「RQD」ってのが見えるけど、なんだこりゃ?あと、markやmkmkは中身がすっからかん?よく分からん。

手元でビルドしたWaree.ttfのccmpを見た感じ、

feature ccmp {
lookup ccmp9 {
    sub uni0E07 macronbelowcmb by uni0E07.uline;
    sub uni0E0D macronbelowcmb by uni0E0D.uline;
    sub uni0E19 macronbelowcmb by uni0E19.uline;
    sub uni0E21 macronbelowcmb by uni0E21.uline;
} ccmp9;
lookup ccmp10 {
    sub [uni0E0D uni0E10]' [macronbelowcmb uni0E38 uni0E39 uni0E3A] by [uni0E0D.descless uni0E10.descless];
} ccmp10;

 script thai; # Thai
lookup ccmp9;
lookup ccmp10;
} ccmp;

本質的にはこーゆーことかな?

ญ (U+0E0D) の後ろに ุ (U+0E38) が来る場合などに置換が発生するようだ。

$ hb-view --text="ญุ" --output-format=png --output-file=out.png --features="-ccmp" --font-file=Waree.ttf

でccmpを無効にして、次に有効にしたもののラスタ画像をとってみる。

[ccmp無効]

[ccmp有効]

ccmpは「UI suggestion: This feature should be on by default.」なので、hb-viewでは特に指定しない限り、ON状態だった。

なんか難しいな。でも、フランス語もエリジオンが発生する場合に

Que est-ce que ce est? → Qu'est-ce que c'est?

のような変化を起こすのだから、これが更に進んで字形が変わっちゃうということも言語によってはあるということなんだろうか?

Thai Typography: a Brief Investigation by a Farang |手書きのを見ると大変そうだなぁという気持ちにしかなれない。