本日はUnicodeの縦書きやカラー絵文字に関する仕様についてのお話をします。
UTR #50
UNICODE VERTICAL TEXT LAYOUT
Unicodeの縦書きテキストに関する情報が書かれています。
日本語の縦書きを見るとわかると思うのですが、縦書きの際にはアルファベットのように文字が90度回転したり、句読点や小文字の仮名のように描画位置が変わったりします。
こうした縦書き時の文字の回転などに関する情報が全てのグリフに対して付与されます。
-
U
- 日本語の漢字のように縦書きでも回転しない文字
-
R
- アルファベットのように縦書き時に時計回りに90度回転される文字
-
Tu
- 通常は縦書き用のグリフが必要だが、それがなければ回転せずに表示する文字
- 句読点や小書き仮名
-
Tr
- 通常は縦書き用のグリフが必要だが、それがなければ時計回りに90度回転して表示する文字
- 全角の括弧や「ー」など
- 長音記号は、筆の入りが横書きの時と異なるので回転するだけでは不十分
文字列描画エンジンは、このプロパティを参照して適切に文字を描画する必要があります。
(ちなみにモンゴル語も縦書きを有する言語体系ですが、横書きが縦書きを左に倒した字形になっているので上記のプロパティはR
となります)
縦書き字形を用意して、その変換テーブルを提供するのはフォントのお仕事です。
変換テーブルを読み込んで適切に文字を配置するのがテキスト描画エンジンのお仕事です。
UTR #51
UNICODE EMOJI
Unicodeのカラー絵文字に関する情報が書かれています。
具体的には
- 絵文字
- テキスト表示の絵文字も含む
- http://www.unicode.org/Public/emoji/4.0//emoji-data.txt
- デフォルトがカラー絵文字の絵文字
- 絵文字にはデフォルトが
emoji
=カラー絵文字のものとtext
=白黒絵文字のものがある - http://www.unicode.org/Public/emoji/4.0/emoji-data.txt
- 絵文字にはデフォルトが
- 絵文字の表示を
emoji
,text
を指定して表示する方法 - カラー絵文字の見た目を変えるコードポイント
- 現時点では肌の色を変更するものだけ
- http://www.unicode.org/Public/emoji/4.0/emoji-data.txt
- カラー絵文字の見た目を変えるコードポイントに対応した絵文字
- 複数の文字を合成してひとつのカラー絵文字になる文字列
- Zero Width Joinerで結合すると絵文字になる文字列
おわりに
明日はTATEditorの設定の話をする予定です。