Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
めくるめくEmojiの世界/emoji-world
Search
ima1zumi
January 30, 2021
4.2k
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
3k
OSSと私たち: Rubyの開発を支える STORES
ima1zumi
2
180
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
700
Relineのその後の生活
ima1zumi
0
300
IRB and Reline Kaigi 2024
ima1zumi
0
65
Exploring Reline: Enhancing Command Line Usability
ima1zumi
3
16k
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
330
Evolving SEO for Evolving Search Engines
ryanjones
0
300
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
570
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
340
So, you think you're a good person
axbom
PRO
2
2.2k
Building AI with AI
inesmontani
PRO
1
1.3k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
690
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
440
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
540
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
700
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