Java
絵文字
JavaDay 14

Javaでお手軽に絵文字を使うライブラリ emoji-java の紹介

More than 1 year has passed since last update.

この記事はJava Advent Calendar 2017の14日目の記事です。

昨日は@Itinoiseさんの『ふわっとStreamで試したいこと試してみた。』でした。


概要

emoji-javaというライブラリを利用してJavaでお手軽に絵文字を使用できるライブラリの紹介です。

emoji-javaにより、Slackを利用している方には馴染みのある記法をJavaアプリケーションでも使えるようになります。


emoji-java


ダウンロード

READMEにも書いてありますが、MavenやGradleでお手軽にダウンロードできます。


  • Maven

<dependency>

<groupId>com.vdurmont</groupId>
<artifactId>emoji-java</artifactId>
<version>4.0.0</version>
</dependency>


  • Gradle

compile 'com.vdurmont:emoji-java:4.0.0'


使ってみる

単一の絵文字は、 EmojiManager クラスで取得できます。

Emoji クラスはPOJOでaliasやunicode、HTML表現などの情報を持っています。

EmojiManager.getForAlias("name_badge");

// => Emoji{description='name badge', supportsFitzpatrick=false, aliases=[name_badge], tags=[], unicode='📛', htmlDec='&#128219;', htmlHex='&#x1f4db;'}

unicodeのみ欲しい場合は、Emoji.getUnicode() で取得できます。

System.out.println(EmojiManager.getForAlias("name_badge").getUnicode());

// => 📛

EmojiPareser.parseToUnicode() で文字列中に含まれるエイリアスを絵文字に変換することもできます。

String str = "明日の朝までによろしくお願いします:pray:\n"

+ "定時後にゴメンネ:bow: @ほげほげ\n";
String parsed = EmojiParser.parseToUnicode(str);
System.out.println(parsed);
// => 明日までによろしくお願いします🙏
// 定時後にゴメンネ🙇 @ほげほげ

EmojiParser のメソッドで、絵文字の表現形式を変換できます。

例としては、以下のような変換が可能です

Method
from
to

parseToUnicode
alias
unicode

parseToHtmlHexadecimal
unicode
html hexadecimal

parseToAliases
unicode
aliases

他にも、絵文字のみ削除したり、抽出したりすることもできます。


まとめ

emoji-javaを使ってJavaで絵文字をお手軽に扱う方法を紹介しました。

基本的には EmojiParser クラスを利用して文章中の絵文字形式を変換できると良さそうかな、という気がします。

Java Advent Calendar 2017、15日目の明日は@cero_tさんです。

よろしくお願いします。