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 の順に作成した結果。