10.232017
6.<ヒンディー語の文字結合のしくみ4>
こんにちは、カルチスタッフです。
前回に引き続き、どのような仕組みでヒンディー語の⽂字が結合するのかを⾒ていきましょう。
⼿順は次の4つです。
(1)ヒンディー語の単語を⾳節で区切る
(2)変形しやすいように⽂字を並べ替える
(3)フォントファイルに収録されている情報に基づいて⽂字を変形する
(4)フォントファイルに収録されている情報に基づいて記号の位置を調整する
今回は、最後の項⽬です。
(4)フォントファイルに収録されている情報に基づいて記号の位置を調整する
について説明したいと思います。
■フォントファイルに収録されている情報について■
フォントファイルには「GPOS」と呼ばれる⽂字位置調整情報が含まれています。
「GPOS」は「Glyph positioning data」の略です。ここでは、「グリフ位置調整情報」と呼びます。「グリフ位置調整情報」は、画⾯上に⽂字を表⽰するときの位置を⽰したものです。
ここではわかりやすいようにビットマップで説明します。
たとえば、 と の2⽂字が⼊⼒された場合に、 を表⽰する例を取り上げます。⽂字にはそれぞれ幅があります。
単に並べて表⽰した場合、このようになります。 のように結合⽂字を表⽰させるためには、2⽂字⽬を重ねて表⽰する必要があります。
網掛けのところが重ねて表⽰している部分です。2⽂字⽬をどの位置に重ねるかは、2つの⽂字の形によって異なります。
下の図は、 と の2⽂字が⼊⼒された場合に、 を表⽰する例です。
の時と、2⽂字⽬の重なる位置が違っているのがわかると思います。1⽂字⽬に対する、2⽂字⽬の表⽰位置を指定するための情報が「グリフ位置調整情報」です。
簡単に「グリフ位置調整情報」の中⾝を説明します。
下に⽰す表が「グリフ位置調整情報」⼀例です。ここでは「グリフ位置調整情報」の⼀部のみを紹介しています。「グリフ位置調整情報」のデータ数は、フォントにより⼤きく異なります。データ数が多いほど、きれいに重なる⽂字が多いことになりますが、フォントの容量が⼤きくなるデメリットもあります。
次に、表<GPOS データ例>をどのように使うかを説明します。
⼊⼒された単語中に、表の縦軸と横軸が連続する並びがあった場合、2⽂字⽬の表⽰位置を調整します。交点の数値分、表⽰位置を戻して、1⽂字⽬と重ねて表⽰します。交点の数値は、⾼さ24dot のヒンディー語フォントを使って⽂字を重ねる場合の値です。
<GPOS データ例>
■記号の位置を調整してみよう■
例1)ヒンディー語の「こんばんは」① ヒンディー語の単語を⾳節で区切る
4⾳節に区切ることができます。② 変形しやすいように⽂字を並べ替える
4⾳節とも並べ替え前と後で⽂字の順番は変わりません。③ フォントファイルに収録されている情報に基づいて⽂字を変形する
4⾳節⽬の先頭⽂字が変形しました。④ フォントファイルに収録されている情報に基づいて記号の位置を調整する(a)1⾳節⽬
1 ⽂字⽬と2⽂字⽬:<GPOS データ例>の縦軸に が、横軸に があるので、
2⽂字⽬の始点を交点の数字である8dot 分ずらして重ねて表⽰する。
(b)2⾳節⽬
1⽂字しかないので重ねない。
(c)3⾳節⽬
1⽂字⽬と2⽂字⽬:<GPOS データ例>の縦軸に が、横軸に があるので、
2⽂字⽬の始点を交点の数字である4dot 分ずらして重ねて表⽰する。
(d)4⾳節⽬
1⽂字⽬と2⽂字⽬:<GPOS データ例>の縦軸に がないので は重ねない。
2⽂字⽬と3⽂字⽬:<GPOS データ例>の横軸に がないので は重ねない。
重ねて表⽰する⽂字をまとめてみるとこのようになります。これで、単語中のすべての結合⽂字ができました。
と の間には半⾓スペースが⼊りますが、それ以外の⽂字は隙間なく並べて表⽰します。
例2)ヒンディー語の「冬」① ヒンディー語の単語を⾳節で区切る
2⾳節に区切ることができます。② 変形しやすいように⽂字を並べ替える
2⾳節⽬の⽂字の順番が⼊れ替わっています。③ フォントファイルに収録されている情報に基づいて⽂字を変形する
2⾳節⽬の最後の3⽂字が変形しました。④ フォントファイルに収録されている情報に基づいて記号の位置を調整する・1⾳節⽬
1⽂字しかないので重ねない。
・2⾳節⽬
1 ⽂字⽬と2⽂字⽬:<GPOS データ例>の縦軸に が、横軸に があるので、
2⽂字⽬の始点を交点の数字である7dot 分ずらして重ねて表⽰する。
重ねて表⽰する⽂字をまとめてみるとこのようになります。これで、単語中のすべての結合⽂字ができました。
⽂字は隙間なく並べて表⽰します。
ここまで4回に渡ってヒンディー語の⽂字結合のしくみについて説明してきました。
3.<ヒンディー語の⽂字結合のしくみ1>
4.<ヒンディー語の⽂字結合のしくみ2>
5.<ヒンディー語の⽂字結合のしくみ3>
6.<ヒンディー語の⽂字結合のしくみ4>
カルチが提供するヒンディー語レイアウトエンジン作成ガイドは今まで説明した内容をベースに、より詳しい説明を加えたドキュメントです。
⽂字の種類や組み合わせ⽅などをわかりやすく表にしているので、ヒンディー語の知識がなくてもヒンディー語表⽰プログラムを作成することができます。
ヒンディー語フォントについてご質問・ご相談などございましたら、お気軽にお問い合わせください。
カルチスタッフ