Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
めくるめくEmojiの世界/emoji-world
Search
ima1zumi
January 30, 2021
4.1k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
めくるめくEmojiの世界/emoji-world
ima1zumi
January 30, 2021
More Decks by ima1zumi
See All by ima1zumi
Is Ruby's Multi-Encoding Overhead Heavy?
ima1zumi
1
2.9k
OSSと私たち: Rubyの開発を支える STORES
ima1zumi
2
170
Ruby Taught Me About Under the Hood
ima1zumi
6
24k
Exploring Reline: Enhancing Command Line Usability
ima1zumi
1
200
10年物のRailsアプリにキャッチアップ!〜コードを読まずに理解したかった〜
ima1zumi
0
180
RubyKaigiの登壇者一覧ページを作った
ima1zumi
0
690
Relineのその後の生活
ima1zumi
0
300
IRB and Reline Kaigi 2024
ima1zumi
0
63
Exploring Reline: Enhancing Command Line Usability
ima1zumi
3
16k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
528
40k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Done Done
chrislema
186
16k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Leo the Paperboy
mayatellez
8
2.2k
Discover your Explorer Soul
emna__ayadi
2
1.3k
The browser strikes back
jonoalderson
0
1.6k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Test your architecture with Archunit
thirion
2
2.4k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
260
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
520
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
310
Transcript
めくるめく めくるめく Emojiの世界 Emojiの世界 2021-01-30 BuriKaigi 2021 1
⾃⼰紹介 ⾃⼰紹介 Twitter: GitHub: Blog: ⾔語: Ruby, Ruby on Rails
FJORD BOOT CAMP / 永和システムマネジメント 最近良く使うEmojiは ima1zumi ima1zumi いまブログ 2
Emojiに興味を持ったきっかけ Emojiに興味を持ったきっかけ RubyのREPL(irb)でEmojiに関するバグを踏む issueを上げる PRを送ってマージされた ⽂字コードとUnicodeとEmojiについて調べる ⾯⽩い! 3
今⽇話すこと 今⽇話すこと Emojiの歴史 厄介なEmoji 4
絵⽂字とは何だろう 絵⽂字とは何だろう 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-8 11
闇の制御⽂字たち 闇の制御⽂字たち ZERO WIDTH JOINER SKIN TONE MODIFIER REGIONAL CHARACTER
VARIATION SELECTOR-16 (VS16) COMBINING ENCLOSING KEYCAP 12
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.1 13
SKIN TONE MODIFIER SKIN TONE MODIFIER 肌の⾊を表現する制御⽂字 U+1F3FB 〜 U+1F3FF
例: : U+1F44B : U+1F44B U+1F3FB ref: Full Emoji Modifier Sequences, v13.1 14
REGIONAL INDICATOR REGIONAL 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 Emoji 16
COMBINING ENCLOSING KEYCAP COMBINING ENCLOSING KEYCAP 囲み⽂字 U+0030 U+FE0F U+20E3
0, VALIATION SELECTOR, COMBINING ENCLOSING KEYCAP U+1F51F ... 17
プログラムでEmojiを扱うとき プログラムでEmojiを扱うとき ⽂字数カウントで想定と異なる挙動をしがち 書記素(grapheme cluster )単位で扱う ⾒た⽬の1⽂字を1⽂字として扱う 参考:Rubyで⽂字コードを扱うコードを書くとき に便利なメソッド集 -
Qiita 18
まとめ まとめ Emojiは⽇本で作られ、今は世界中で使われている Emojiを使うと⽂章に感情表現を乗せられて⾯⽩い 実装が複雑なので⾯⽩い 19
参考資料 参考資料 絵⽂字はどのようにして⽣まれ、世界に広がって いったのか? Unicode Emoji v13.1 Index of /Public/emoji/13.1
Emoji - Wikipedia グーグルが絵⽂字を世界標準に提案した理由--国際 化エンジニアに聞くプロジェクトの舞台裏(前編) - CNET Japan ⽣みの親が語る「ケータイ絵⽂字」14年の軌跡と 新たな⼀歩 - ⽇経トレンディネット 20
参考資料 参考資料 Designing the Dumpling Emoji | Yiying Lu -
YouTube Unicodeとは? その歴史と進化、開発者向け基礎 知識 - Build Insider これからの絵⽂字の実装指針、UTR #51 Unicode Emoji とはなにか - INTERNET Watch Watch 21
BuriKaigi BuriKaigi お疲れさまでした お疲れさまでした 22