LoginSignup
3
3

More than 5 years have passed since last update.

【iOS 12】フラットな絵文字 EmojiOne を iOS で使ってみる

Posted at

iOS 標準の絵文字をこんなかんじのフラットな絵文字に置き換えてみます。

iOS 標準の絵文字 EmojiOne の絵文字
スクリーンショット 2019-02-03 18.35.38.png スクリーンショット 2019-02-03 18.35.05.png

この絵文字は、EmojiOne によって無料で提供されているものです。
iOS 12 以降では、EmojiOne をカンタンにアプリに組み込むことができるみたいです。

iOS 12 から OpenType-SVG をサポートしたらしい

iOS 12 から OpenType-SVG 形式のカラーフォントをサポートしたみたいです。
UIKit や TextKit に関する公式なアナウンスは見つけることが出来なかったのですが、What’s New in Safari には次の記載がありました。

  • OpenType SVG
    • Added support for defining letterforms in OpenType fonts using SVG.

WebKit は CoreText に依存しているらしいので、もしかしたら CoreText レベルでの変更によって、TextKit にも影響がでたのかもしれません。

ところで、OpenType-SVG とは、

OpenType-SVG は、OpenType フォントの字形のすべてまたはほんの一部が SVG(Scalable Vector Graphics)アートワークとして表されるフォント形式です。これにより、1 つの字形で複数のカラーおよびグラデーションを表示できます。こうした機能から、OpenType-SVG フォントを「カラーフォント」とも呼んでいます。

OpenType-SVG カラーフォント – Adobe

とのことで、1文字に複数のカラーを表示することできるフォントみたいです。

EmojiOne フォントをアプリに組み込む

アプリにカスタムフォントをバンドルすることで EmojiOne を利用することが出来ます。
まずは EmojiOne フォントをダウンロードします。

EmojiOne SVG-based Color Fonts で Open Type Font: emojione-svg.otf のリンクからダウンロードします。

スクリーンショット_2019-02-03_21_40_19.png

ダウンロードした emojione-svg.otf を Xcode プロジェクトにドラッグ&ドロップします。
次のようにチェックして、リソースに追加します。

AppDelegate_swift.png

これで、アプリ内で EmojiOne を利用できるようになります。

インターフェースビルダーから使用する

フォントを次のように指定します。

  • Font: Custom
  • Family: EmojiOne

スクリーンショット_2019-02-03_21_58_47.png

コードからは使用できない?

PostScript名 を指定して、

label.font = UIFont(name: "EmojiOneColor", size: 38)

あるいは、フォントファミリーを指定して

label.font = UIFont(name: "EmojiOne", size: 38)

これで動くはず。
と思ったのですが、なぜかシステムフォントにフォールバックしてしまいました。
なので、今回はコードからのフォントの設定は諦めました。

iOS 11 で実行すると?

OpenType-SVG はカラーのベクタデータだけでなく、モノクロのベクタデータも持っています。
iOS 11 の場合はモノクロのフォントにフォールバックするようです。

iOS 12 iOS 11
スクリーンショット 2019-02-03 18.35.05.png スクリーンショット 2019-02-03 18.33.50.png

EmojiOne の使用許諾契約について

クリエイティブ・コモンズ・ライセンスです。
リンクを貼ることで利用できます。

EmojiOne's graphics are free to use for any project, commercial or personal, under a free culture Creative Commons License (CC-BY 4.0). Proper attribution (link back) is required for the rights to use the emoji in commercial projects.

こちらの絵文字は EmojiOne によって無料で提供されているものを利用しました。

3
3
0

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
3
3