めくるめくめくるめくEmojiの世界Emojiの世界2021-01-30BuriKaigi 20211
View Slide
⾃⼰紹介⾃⼰紹介Twitter:GitHub:Blog:⾔語: Ruby, Ruby on RailsFJORD BOOT CAMP / 永和システムマネジメント最近良く使うEmojiは ima1zumiima1zumiいまブログ2
Emojiに興味を持ったきっかけEmojiに興味を持ったきっかけRubyのREPL(irb)でEmojiに関するバグを踏むissueを上げるPRを送ってマージされた⽂字コードとUnicodeとEmojiについて調べる⾯⽩い!3
今⽇話すこと今⽇話すことEmojiの歴史厄介なEmoji4
絵⽂字とは何だろう絵⽂字とは何だろう1. 表意⽂字⽂字が意味を表す表⾳⽂字: ⽂字が発⾳を表す2. ⽂字や⾔葉の代わりとなるもの3. ⽂章に⾃分の感情を付加する5
絵⽂字のおこり絵⽂字のおこりインターネットの普及BBS(電⼦掲⽰板)エモティコン :-)顔⽂字 (^_^)6
ポケベルポケベルポケベル❤の絵⽂字が存在「オコッテルノ」「オコッテルノ❤」7
iモードiモードドコモのiモードに絵⽂字が乗る(1998)⽂字数の節約、感情表現表⽰領域の狭さを解決12x12のドット絵著作権を取得できない各キャリアが追従8
Unicode 6.0 に採択されるUnicode 6.0 に採択される⽇本では10年程度絵⽂字が使われていた外字領域を使っていて、良い状態ではなかったGoogle, Apple からの提案で絵⽂字がUnicodeに⼊る(2010.10)⽇本市場での重要性iOS5でEmojiを使⽤できるようになる(2011.10)スマートフォンの普及とともにEmojiも普及9
Unicode 6.0 で⼊ったEmojiの⼀部Unicode 6.0 で⼊ったEmojiの⼀部 ☺ ❤ ✋ ✌ ☝ ✊ 10
Emojiの⽂字コードの話Emojiの⽂字コードの話⽂字コード:コードポイントUTF-811
闇の制御⽂字たち闇の制御⽂字たちZERO WIDTH JOINERSKIN TONE MODIFIERREGIONAL CHARACTERVARIATION SELECTOR-16 (VS16)COMBINING ENCLOSING KEYCAP12
ZERO WIDTH JOINER (ZWJ)ZERO WIDTH JOINER (ZWJ)ゼロ幅結合⼦U+200D⽂字と⽂字の間に置くと字形が変わる⽂字があるEmojiと別のEmojiを組み合わせて違うEmojiを表現するために使われる例: = + ZWJ + U+1F9D1 U+200D U+1F4BB参考: Recommended Emoji ZWJ Sequences, v13.113
SKIN TONE MODIFIERSKIN TONE MODIFIER肌の⾊を表現する制御⽂字U+1F3FB〜 U+1F3FF例:: U+1F44B: U+1F44B U+1F3FBref: Full Emoji Modifier Sequences, v13.114
REGIONAL INDICATORREGIONAL INDICATOR国旗の絵⽂字を表現するときに使う⽂字U+1F1E6() 〜 U+1F1FF()国名コード(ISO 3166-1)に対応例: = + = + , = + 15
VARIATION SELECTOR-16 (VS16)VARIATION SELECTOR-16 (VS16)Emojiの⽂字表現と絵⽂字表現どちらを使うか指定するための制御⽂字HEAVY BLACK HEART ❤(U+2764) / RED HEART ❤(U+2764 U+FE0F)参照:UTS #51: Unicode Emoji16
COMBINING ENCLOSING KEYCAPCOMBINING ENCLOSING KEYCAP囲み⽂字U+0030 U+FE0F U+20E30, VALIATION SELECTOR, COMBININGENCLOSING KEYCAP U+1F51F... 17
プログラムでEmojiを扱うときプログラムでEmojiを扱うとき⽂字数カウントで想定と異なる挙動をしがち書記素(grapheme cluster)単位で扱う⾒た⽬の1⽂字を1⽂字として扱う参考:Rubyで⽂字コードを扱うコードを書くときに便利なメソッド集 - Qiita18
まとめまとめEmojiは⽇本で作られ、今は世界中で使われているEmojiを使うと⽂章に感情表現を乗せられて⾯⽩い実装が複雑なので⾯⽩い19
参考資料参考資料絵⽂字はどのようにして⽣まれ、世界に広がっていったのか?Unicode Emoji v13.1Index of /Public/emoji/13.1Emoji - Wikipediaグーグルが絵⽂字を世界標準に提案した理由--国際化エンジニアに聞くプロジェクトの舞台裏(前編)- CNET Japan⽣みの親が語る「ケータイ絵⽂字」14年の軌跡と新たな⼀歩 - ⽇経トレンディネット20
参考資料参考資料Designing the Dumpling Emoji | Yiying Lu -YouTubeUnicodeとは? その歴史と進化、開発者向け基礎知識 - Build Insiderこれからの絵⽂字の実装指針、UTR #51 UnicodeEmoji とはなにか - INTERNET Watch Watch21
BuriKaigiBuriKaigiお疲れさまでしたお疲れさまでした22