LoginSignup
7
6

More than 5 years have passed since last update.

docomo絵文字をスマホサイトで表示する①

Last updated at Posted at 2014-03-27

スクリーンショット 2014-03-28 11.03.14.png

  • Unicode形式の docomo絵文字 をスマホサイト(for iOS/Android)で表示します。
    • 絵文字の例:晴れマークの場合 → 
    • HTMLファイルは UTF-8 形式を想定しています。
  • これ重要なのですが、最終的には画像(CSSスプライト)で表示でします。
    • iOSとAndroidの違いや、Android端末の機種依存を考えると、画像で表示するのが今のところベストプラクティスかなと。
    • なので特にスマホに限らず、PC等でも表示できます。
  • docomo絵文字に限らず、今回利用するJSライブラリは au、SoftBank の絵文字も対応しているようです(未検証)。

デモ

利用するライブラリ

docomo絵文字について

導入手順メモ

  • 今回は Bower でJavaScriptライブラリのパッケージ管理をすることにします。

手順

$ bower install emoji --save
  • index.html で CSSファイル をインクルード
index.html
<link rel="stylesheet" href="bower_components/emoji/lib/emoji.css">
  • index.html で JSファイル をインクルード ※jQueryも必要です。
index.html
<script src="bower_components/emoji/lib/emoji.js"></script>
  • HTMLへの記載
    • 実際には JavaScript の記載は外部ファイルにした方がいいです。
    • class="emojstext" は一カ所しか書けないようです。
      • なのでページ全体を絵文字対応したいなら body のすぐ下の層で div で定義する。
index.html
<body>
    <div class="emojstext">
        これは&#xE63E;晴れマークです。
        これは&#xE63F;曇りマークです。
    </div>
    <script>
        $(function () {
            var $text = $('.emojstext');
            var html = $text.html().trim().replace(/\n/g, '<br/>');
            //html = jEmoji.softbankToUnified(html);
            //html = jEmoji.googleToUnified(html);
            html = jEmoji.docomoToUnified(html);
            //html = jEmoji.kddiToUnified(html);
            $text.html(jEmoji.unifiedToHTML(html));
        });
    </script>
</body>

結果

  • ブラウザで表示するとこんな感じ。

スクリーンショット 2014-03-28 0.03.28.png

  • うまく動かない!という方の為に、デモのソースはこちらに置いておきます。
    • https://github.com/hkusu/emoji_js_demo
      • index.htmlを見てください。
    • 何カ所か変換できてないのがありますが(□みたいな表示)、iアプリマークなどdocomo固有の絵文字がそうなるようです。
    • 「晴れ」と「曇り」が続くと「晴れのち曇り」の絵文字になる?謎。

ほか

さいごに

  • Unicodeで入力するの面倒だよ単純に装飾として絵文字を使いたいんだよ、というもあるかと思いますので、それは別の投稿で書きます。
7
6
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6