絵文字は1990年代から30年にわたり、様々なプラットフォームに実装されてきました。今日では、絵文字の正確な外観は規定されておらず、書体の違いと同様に、フォントやプラットフォームによって異なる場合があります。
プラットフォームによって、絵文字は常に最新の推奨事項に従って実装される場合もあれば、しばらく更新されずに最新の Unicode でカバーされない場合や、独自の標準に従う場合もあります。
例えば、Apple Color Emoji書体はApple独自のものであり、Appleデバイスでのみ使用できます(追加のハッキングなし)。[ 1 ]さまざまなコンピューティング企業が独自の絵文字フォントを開発しており、その一部は再利用できるようにオープンソース化されています。 [ 2 ] [ 3 ]カラーとモノクロの両方の絵文字書体が存在し、少なくとも1つのアニメーションデザインも存在します。[ 4 ]
日本では、様々な携帯電話事業者が独自の絵文字セット用に、互換性のない様々な文字エンコード方式を開発した。NTTドコモでシフトJISで送信される場合、絵文字記号はF89FからF9FC( 16進数 )の範囲の2バイトのシーケンスとして指定される。KDDIのauの絵文字は、タグを使用して指定され、シフトJISのF340からF7FCの間でエンコードされるか、[ 5 ] [ 6 ]、拡張JIS X 0208の7521から7B73の間でエンコードされる。[ 6 ]ソフトバンクモバイルの絵文字は色とアニメーションをサポートしており、2Gと3Gで異なるフォーマットを使用する。[ 7 ] 2Gフォーマットでは、エスケープ文字とシフトイン制御文字を使用してシーケンスでエンコードされるが、3Gフォーマットでは、シフトJISのF741からFBDEの間でエンコードされる。[ 5 ] [ 6 ]ソフトバンクの3Gフォーマットは、他のベンダーが使用するShift JISの重複範囲と衝突します。例えば、Shift JIS表現F797は、ソフトバンクではコンビニエンスストア(🏪)に使用されますが、KDDIでは腕時計(⌚️)に使用されます。 [ 5 ] [ 6 ]<img>
DoCoMo [ 6 ]と SoftBank [ 8 ]も、7522から7E38までの拡張JIS X 0208で絵文字セットを表現するための独自のスキームを開発した。これらのスキームは、KDDIの類似の絵文字が存在する場合、そのエンコーディングと一致することが多かった。例えば、カメラ(📷)は、Shift JISではDoCoMoではF8E2、KDDIではF6EE、SoftBankではF948と表現されていたが、JISでは3社とも7670と表現されていた。[ 6 ] [ 8 ]
これら3つのベンダーとGoogle(Gmail用)はそれぞれ、Unicode私的使用領域に絵文字をエンコードするための少なくとも1つの方式を開発した(auは2つを開発)。[ 7 ]たとえば、ドコモはU+E63EからU+E757の範囲を使用していた。[ 6 ]これらの5つの方式はほとんど重複していないが、auの主な私的使用方式はソフトバンクの方式と部分的に衝突している。[ 7 ] iOS 5.1より前のバージョンでは、絵文字をソフトバンクの私的使用領域方式でエンコードし、それ以降のバージョンでは標準のUnicodeを使用した。[ 9 ] [ 10 ]
絵文字のほとんどは、Unicodeの補助多言語面(SMP)に含まれていますが、すべてではありません。SMPには、楔形文字やエジプト象形文字などの古代文字、アドラム文字やオセージ文字などの現代文字、音楽記号や数学英数字記号などの特殊用途文字も含まれています。[ 11 ]
Unicode はもともと 16 ビットのエンコード方式として設計され、 UCS-2と呼ばれる純粋な 16 ビット形式で表現できました。これは、Universal Coded Character Setの基本多言語面(BMP)に相当します。Unicode 2.0 では、これが 17 の面 (0 から 16 の番号が付けられ、BMP は面 0) に拡張され、最初の非 BMP 文字は Unicode 3.1 で割り当てられました。[ 12 ] UCS-2 は現在では廃止され、代わりにUTF-16が採用されています。UTF-16 は可変幅エンコード方式で、BMP については UCS-2 に準拠していますが、非 BMP 文字を表す 4 バイトのコードで拡張されています。非 BMP 文字 (SMP およびその他の補助面、たとえば補助表意文字面の追加の漢字( HKSCSの広東語文字の一部を含む) は、現在では数万に上ります。[ 12 ]
Unicode絵文字の登場以前に導入されたシステムの中には、BMP以外の文字はほとんど使用されないという前提で、BMP内の文字のみをサポートするように設計されたものもあったが[ 13 ] 、 BMP外の文字を適切に処理できないとUnicodeに準拠できなくなる。[ 12 ]例えば、MySQLの初期のバージョンではUCS-2とUTF-8の変種がサポートされていたが4バイトコードはサポートされていなかったため、BMP以外の文字を正しく処理できなかった。UTF -32のサポートとUTF-16およびUTF-8の完全サポート( という名前でutf8mb4)はバージョン5.5で追加されたが[ 14 ]utf8、最大3バイトバージョンの別名として が保持されているが、これは将来変更される予定である。[ 15 ]
Unicode絵文字の導入は、ベンダーに非BMP文字のサポートを改善するインセンティブを与えました。[ 13 ] Unicodeコンソーシアムは、「絵文字の需要により、多くの実装でUnicodeサポートが大幅にアップグレードされました」と述べています。[ 16 ]
フォントの追加をサポートしているオペレーティングシステムであれば、絵文字対応フォントを追加できます。しかし、既存のフォント形式にカラフルな絵文字を含めるには、カラーグリフ専用のサポートが必要です。すべてのオペレーティングシステムがカラーフォントをサポートしているわけではないため、そのような場合には絵文字を白黒の線画としてレンダリングするか、まったくレンダリングしないかのどちらかになります。SFNTフォントでは、マルチカラーグリフに4つの異なる形式が使用されています。[ 17 ] [ 18 ] OpenTypeバージョン1.8はこれら4つすべてを標準化しています。
CBDT[ 18 ]は、生のビットマップデータまたは埋め込まれたPNGマルチカラーラスター。 [ 19 ]画像形式の詳細を保持するための補助テーブルを必要とするため、 [ 19 ]この形式は「CBDT/CBLC」と呼ばれることもあります。 [ 17 ]CBLCCOLR[ 18 ]は、複数の単色OpenType(TrueTypeまたはCFF多色ベクター。複数のグリフに個別のブロックカラーが割り当てられ、レイヤー化され、指定された単色ベースグリフに関連付けられます。文字が多色で表示される際、レイヤー化されたグリフはベースグリフの代わりに表示されます。 [ 20 ]色は別のテーブルで定義されたパレットから参照されます。 [ 20 ] [ 21 ]そのため、この形式は「COLR/CPAL」と呼ばれることもあります。 [ 17 ]CPALsbixは、JPEG、PNG、またはTIFF画像を埋め込んだマルチカラーラスター形式です。マルチカラーラスターまたはベクターグリフをPDFファイルに埋め込むことは、 AppleのAdvanced Typography仕様では許可されていますが、OpenType仕様では許可されておらず、iOSおよびmacOSの将来のリリースで予定されています。[ 22 ] [ 23 ]CPALCOLRこのCOLRフォーマットはMicrosoftによってWindows 8.1で導入されました。[ 17 ]このフォーマットはGoogleCBDTによって導入され、 Androidでサポートされています。一方、競合するフォーマットはAppleによって導入され、macOSとiOSでサポートされています。SVG-in-OpenTypeは、 MozillaとAdobeによって業界標準として設計されました。[ 18 ]sbix
SVG-in-OpenType のサポートは、Windows 10の新しいアップデートや、iOS および macOS の新しいバージョンに追加されました。[ 18 ] DirectWrite はWindows 10 Anniversary Update 以降 4 つすべてをサポートしていますが、Windows は SVG-in-OpenType のサブセットのみをサポートしています。[ 17 ]ウェブ上では、SVG-in-OpenType はFirefox、Safari、Microsoft Edgeの最近のバージョンでサポートされていますが、Google Chromeではサポートされていません。Edge と Safari は追加で をサポートしていますsbixが、Edge と Chrome は をサポートしCBDT、4 つすべてが をサポートしていますCOLR。[ 18 ]
つまり、カラー フォントを複数のオペレーティング システムまたは複数のアプリケーションで使用できるようにするには、複数の形式で提供する必要がある場合があります。
限られた数のトップレベルドメインでは、絵文字を含むドメイン名の登録が可能です。また、どのトップレベルドメインでも、絵文字を含むサブドメインを作成できます。
GoogleのNotoフォントプロジェクトには、絵文字用のカラーグリフを提供するNoto Color Emojiフォントが含まれています。[ 25 ] ChromeOSはNotoフォントを組み込むことで、Unicode 6.2で導入された絵文字セットをサポートしています。ChromeOS 41以降、Noto Color Emojiはほとんどの絵文字のデフォルトフォントとなっています。
Android端末は、OSのバージョンによって絵文字のサポートが異なります。Googleは2013年7月にAndroid 4.3でネイティブ絵文字サポートを追加し、[ 26 ]、2013年11月にはAndroid 4.4以降を搭載した端末向けにGoogleキーボードにもネイティブ絵文字サポートを追加しました。[ 27 ] Android 7.0 Nougatでは、Unicode 9絵文字、肌の色修飾子、そして多くの既存の絵文字の再設計が追加されました。[ 28 ]
絵文字は、 Googleハングアウトアプリケーションでも(使用中のキーボードに関係なく)ハングアウトモードとSMSモードの両方でサポートされています。[ 29 ] Androidデバイス向けのサードパーティ製メッセージングおよびキーボードアプリケーション(IQQIキーボードなど)[ 30 ]は、絵文字の使用を可能にするプラグインを提供しています。Android 8(Oreo)では、Googleが互換性ライブラリを追加しました。アプリ開発者がこれを組み込むことで、Android 4.3以降のあらゆるプラットフォームで最新のNoto絵文字を利用できるようになります。[ 31 ]
標準のAndroidシステムには絵文字用のNotoグリフが含まれていますが、個々のソーシャルメディアアプリでは独自のグリフが使用される場合があります。[ 32 ]ただし、携帯電話ベンダーのHTCとLGは、2017年より前にカスタムグリフを含むNotoColorEmoji.ttfのバリアントを導入しており、[ 33 ] Samsungは現在もそれを行っています。[ 34 ]日本の携帯電話キャリアの中には、ブランドのAndroidデバイスに元の絵文字に近い絵文字グリフを搭載していたところもありましたが、2015年頃から更新を停止しているようです。
Appleは2011年にOS X 10.7 Lionをリリースし、デスクトップOSに初めて絵文字を導入しました。ユーザーは、モバイルユーザーだけでなく、他のアプリケーションでも共有されているメールやメッセージングアプリケーションで送信された絵文字を見ることができます。ユーザーは、ほぼすべてのネイティブアプリケーションから「編集」メニューを選択して「特殊文字」までプルダウンするか、キーの組み合わせ⌘ Command+ ⌥ Option+を使用することで、「文字」特殊入力パネルを使用して絵文字記号を作成できます。Tまた、キーボードをUnicodeに切り替え、Unicode 16進入力を押したまま入力することでもこれらの記号を作成できます。例えば、+ + +を押したままにすると☺が作成されます。デスクトップOSは、 iOSで以前に導入されたApple Color Emojiフォントを使用しています。これにより、ユーザーはフルカラーの絵文字を利用できます。[ 35 ]⌥ Option⌥ Option263A
絵文字キーボードは、2008年にiPhone OSバージョン2.2がリリースされたときに日本で初めて利用可能になりました。 [ 36 ]絵文字キーボードは、 iOSバージョン5.0まで日本国外で正式には利用できませんでした。[ 37 ] iPhone OS 2.2からiOS 4.3.5(2011年)までは、日本国外の人もキーボードにアクセスできましたが、有効にするにはサードパーティ製のアプリを使用する必要がありました。そのようなアプリの最初のものはJosh Gareによって開発され、絵文字が日本国外の大衆文化に受け入れられ始めたのはこれらのアプリのおかげだと考えられています。[ 38 ] [ 39 ] iOSはバージョン8.3でアップデートされ、フィッツパトリックの肌色修飾子をサポートしました。 [ 40 ]
OS X 10.9 Mavericksでは、 Macの既存の文字ビューア内のほとんどのテキスト入力ボックスに、+ +キーの組み合わせを使用した専用の絵文字入力パレットが導入されました。[ 41 ]オプションとして、ユーザーはキーボード設定メニューでキーのみを指定して文字ビューアを表示することもできます。macOS Big Sur以降、 macOSとiOSの一貫性を保つため、このキーは (地球儀) というラベルも付けられています。iOSでは、地球儀キーは絵文字やその他の選択された国際キーボードレイアウトに切り替えるファンクションキーとして使用されています。 ⌘ CommandCtrlSpaceFn🌐
Appleは、「喜びの涙を流す顔」が英語圏のアメリカ人の間で最も人気のある絵文字であると発表しました。2位は「ハート」の絵文字で、続いて「大声で泣いている顔」です。[ 42 ] [ 43 ]
2018年7月17日の世界絵文字デーに、アップルは2018年のiOSアップデートで待望の赤毛、白髪、巻き毛、ハゲの絵文字を含む70以上の絵文字を追加すると発表した。 [ 44 ] [ 45 ]
2017年9月12日、AppleはFace ID搭載iPhoneのメッセージアプリに「アニ文字」を追加すると発表しました。アニ文字は、顔のモーションキャプチャを用いて送信者の表情を再現する、標準絵文字のカスタムアニメーションです。このアニ文字はリップシンク機能も備えており、送信者が録音した音声メッセージを話しているように見せることもできます。Appleは2016年後半のOSアップデート以前に、すべての標準絵文字の3Dモデルを作成しており、デフォルトの静的2Dグラフィックはそこからレンダリングされていました。これらのモデルの一部は、静止画や短いアニメーションを動的に作成するために再利用されています。
iOS 12のリリースに伴い、Appleはユーザーがメッセージをパーソナライズするために使用できるアバターの使用を可能にする「Memoji」を導入しました。この機能にはFace IDは必要ありません。[ 46 ]
iOS 13.2のリリースで、Appleは70種類以上の新しい絵文字を導入しました。性別を問わない絵文字や、様々な肌の色で手をつないでいる人々、そしてUnicode 12とUnicode 12.1の絵文字の完全なサポートが含まれています。[ 47 ] [ 48 ]
iOS 14.5のリリースでは、100を超える新しい絵文字が導入されました。[ 49 ]
iOS 15.4のリリースに伴い、AppleはUnicode 14の絵文字推奨事項を実装した新しい絵文字を導入しました。[ 50 ] [ 51 ]
iOS 16.4のリリースでは、Unicodeの絵文字が15個追加されました。[ 52 ] [ 53 ]
iOS 17.4のリリースでは、Unicode 15.1の絵文字が追加されました。[ 54 ] [ 55 ]
iOS版と同時にリリースされた macOS版にもiOSの絵文字が追加されます。
現在は中止されているFirefox OSプロジェクトの一環として、MozillaはFxEmojisという絵文字フォントを開発した。[ 56 ] [ 57 ]
Mozillaはまた、TwitterのTwemojiフォントをCOLR/CPALレイヤー形式フォントに変換したバージョンを「Twemoji Mozilla」としてパッケージ化している。[ 58 ] Mozillaプロジェクトの以前のバージョンでは、EmojiOneフォントが「EmojiOne Mozilla」としてパッケージ化されていた。[ 59 ] Firefox 50以降、プラットフォームがネイティブサポートしていない場合、絵文字はブラウザによってレンダリングされる。[ 60 ]
Ubuntu 18.04とFedora 28は、 Noto Color Emojiを使用して、デフォルトでカラー絵文字をサポートしています。[ 61 ] [ 62 ]一部のLinuxディストリビューションでは、追加のフォントのインストールが必要です。[ 63 ]カラー絵文字はFreeTypeとCairoでサポートされています。[ 64 ]
Windows 7およびWindows Server 2008 R2のアップデートにより、モノクロUnicodeセットのサブセットがSegoe UI Symbolフォントの一部としてこれらのオペレーティングシステムに導入されました。[ 65 ] Windows 8.1 Preview以降では、フルカラーの絵文字を提供するSegoe UI Emojiフォントが含まれています。プレーンなSegoe UIフォントには絵文字がありませんが、Segoe UI SymbolとSegoe UI Emojiには絵文字が含まれています。
絵文字には、画面上のキーボードのキー、または物理キーボードのショートカット+からアクセスします。 😀⊞ Win.
macOSやiOSとは異なり、アプリケーションがMicrosoftのDirectWrite APIをサポートし、Segoe UI Emojiが明示的に宣言されている場合にのみカラーグリフが提供され、そうでない場合はモノクログリフが表示されます。[ 66 ] Segoe UI Emojiなどのマルチカラーフォント用のMicrosoftのCOLR/CPAL形式は、Windows上のいくつかのWebブラウザ( Firefox、Google Chrome、Internet Explorer、Microsoft Edgeなど)の現在のバージョンでサポートされていますが、多くのグラフィックアプリケーションではサポートされていません。[ 18 ]
Windows 10 Anniversary UpdateではUnicode 9の絵文字が追加されました。[ 67 ]
2022年8月、マイクロソフトは1,500種類以上の3D絵文字をオープンソース化し、クリエイターが自由にリミックスやカスタマイズできるようにしました。このライブラリはFigmaとGitHubで公開されています。[ 68 ]
2023年11月にリリースされたWindows 11 22H2の更新プログラムKB5032190では、 Unicode 15の絵文字が追加されました。[ 69 ]ただし、Unicode 12の導入以降、Windows 10の最終バージョン22H2には絵文字が含まれていません。
他のデスクトップOSでは国旗の絵文字をカラフルなグラフィックで表示しますが、Microsoft Windowsでは2025年現在、国旗の絵文字を白黒の2文字のISO国コード(例:🇺🇸は「US」)で表示します。地政学的な配慮からとされるこの決定は、プラットフォーム間で絵文字のサポートが一貫していないとして批判を招いています。Windows 11 24H2などのアップデートにもかかわらず、国旗は依然としてサポートされていません。[ 70 ] [ 71 ]
FacebookとTwitter は、 Web サイトで使用されているすべての Unicode 絵文字を独自のカスタム グラフィックに置き換えます。
2017年10月以前、FacebookはメインサイトとMessengerサービスで異なる絵文字セットを使用していましたが、Messengerサービスではメインサイトのみが完全なカバーを提供していました。現在、MessengerはiOSではAppleの絵文字を使用し、その他の地域ではFacebookのメインセットを使用しています。[ 72 ] Facebookのリアクションは標準絵文字と部分的にしか互換性がありません。
Twitterは、Twemojiという絵文字グラフィックとそれを扱うJavaScriptライブラリを、それぞれクリエイティブ・コモンズCC-BY 4.0ライセンスとMITオープンソースライセンスの下でリリースしている。[ 73 ]それにもかかわらず、AndroidとiOSのTwitterアプリは、Twemojiグラフィックではなく、実行しているプラットフォーム(AppleとGoogle)にネイティブの絵文字グラフィックを使用している。

EmojiOneバージョン2.2は、フリーコンテンツライセンスの下で利用可能なオープンソースフォントで、Unicode Emoji 3.0(Unicode 9.0)までのカラー絵文字セット全体をサポートしています。EmojiOneの新しいバージョンは、JoyPixelsに改名され、[ 74 ]より新しいUnicode Emojiバージョンをサポートし、ベクター画像の再配布を禁止するより厳しいライセンスを使用していますが、バージョン2.xは「サポートも配布も終了」しています。[ 75 ] EmojiTwoは、EmojiOne 2.2のオープンソースフォークで、2017年以降のすべての絵文字を追加することを目指しています。
Symbolaフォントには、バージョン10.0までのすべての絵文字が通常のモノクログリフとして含まれています。バージョン10までは、Symbolaはライセンスや使用制限なしで利用可能でしたが、2018年のバージョン11以降は著作権で保護され、商用利用および二次創作は禁止されています。多数の絵文字を含む他の書体には、Noto Emoji、Adobe Source Emoji、Quiviraなどがあります。
gmojiraw.txt: ファイルは大部分がタブ区切りですが、空でない代替文字列の列の後の特定ベンダーの列は行ごとにすべてスキップされるため、特定の 2 行の列は必ずしも揃うとは限りません。最初の 4 列は、Google 私的使用コード ポイント (16 進数)、その UTF-16 と UTF-8、および Google が割り当てた名前を示し、その後に au の列、DoCoMo の列、SoftBank の列が続きます。特定ベンダーの列は、代替文字列、それに続く (代替文字列が空の場合) 10 進序数、 JIS X 0208を超える領域の 16 進 Shift JIS コード、16 進の私的 Unicode コード ポイント、16 進 7 ビット JIS コード、および (au のみ) 7 ビット JIS コードに対応する代替 Shift JIS コードで構成されます。特定のベンダーのShift JISスキームには存在するが、7ビットJISスキームには存在しない文字は、そのベンダーの7ビットコードが222E( JIS X 0208の下駄記号)としてリストされています。一部のベンダーのマッピングは近似値、またはシーケンス( で区切られたフィールド内)です。+