ラベル UNICODE の投稿を表示しています。 すべての投稿を表示
ラベル UNICODE の投稿を表示しています。 すべての投稿を表示

2019年1月1日火曜日

フォントを指定して文字列画像の作成(libgd):絵文字対応

フォントを指定して文字列画像の作成(libgd)する例題です。

文字列中の絵文字を、twemoji にて用意されている絵文字画像で置き換えながら描画していきます。
指定されたフォントで割り当てられていない文字や絵文字は「?」で表示されます。
また、UTF-8 文字列を UNICODE化(32bit)し、Freetype により一文字ずつ描画可能な文字かどうかを判定しています(FT_Get_Char_Index)。

ビルドするには libgd/freetype2/libpng が必要となります。
実行ファイルと同じパスに NotoSansCJKjp-Regular.otf と、twemoji からダウンロードした絵文字画像を配置してください。 実行結果 ALIGN=center/left/right の順に作成した結果。

2018年12月29日土曜日

UTF-8文字列をUNICODE化し、絵文字判別

UTF-8で指定された文字列をUNICODE化し(32bit)、絵文字かどうかを判定する例題です。

絵文字かどうかの議論は色々あるかと思いますが、twemoji 内に格納されている絵文字を基準としています。
→ emoji-png フォルダに png として保存し、ファイルを検索してチェック

絵文字かどうかを判定した後は元のUTF-8に戻し、標準出力へ出力しています。
絵文字に対応していないフォントを用いているUI等では、絵文字が表示されない場合がありますので、絵文字の部分は twemoji 内の png で置き換えて表示したりすることができます。 実行結果