Skip to content

Instantly share code, notes, and snippets.

@yuki-takeichi
yuki-takeichi / how-to-impl-emoji.md
Last active June 24, 2019 02:27
絵文字を実装する (outline)

絵文字を実装する

Intro

絵文字は漢字のような表意文字の一種だ。Unicode上にコードポイントが定義されていて、それに対応するグリフ(フォントファイル上で定義された文字のアウトライン情報)が表示される。そういう意味では通常の文字となんら変わらない。異なるのは、通常の文字はアウトラインフォントというアウトライン情報(ベジエ曲線)を持っているに対して、絵文字はビットマップになっていることと、一般的に絵文字と呼ばれるものは予め色が決まっている文字(カラーグリフ)であるということだ。(これまでの)文字は活版印刷に適した形態として進化してきたが、絵文字は日本の携帯電話のディスプレイ上で表示されることを目的とした文字のため、複雑な字形や多色を利用した文字が特徴の、まさに現代的な表意文字になっている。絵文字ははじめ、日本の携帯電話メーカーがsjisの拡張エリアに定義した文字だったが、初期のiOSではUnicodeのPUAに定義され、最終的にUnicode Emojiとして正式採用され今や世界中の人々が利用するようになった。

絵文字は、人の電子デバイスでのコミュニケーション量が加速度的に増加するのに伴って、またはそれ以上のスピードで、人々のテレコミュニケーションに利用されている。人が表意文字で表現したい対象は年々増加している。表情、職業、食べ物、アクティビティ、目的地、そしてそれらを彩る感情記号、などなど…。多種多様な要求に伴ってUnicode Emojiの規格は年々複雑化しており、iOS/Androidのメジャーバージョンアップとともに毎年内容が更新されている。

Outline