逆引きマニュアル: Linux + Javaでフォントの文字化けを解消する方法

投稿日:

やりたいこと

Javaでフォントによる文字化けが発生したときに、修正する方法です。 エンコーディングによる文字化けは除きます。

前提条件

以下の環境で確認しました。

  • CentOS 7
  • Java 8(OpenJDK )
  • Jenkins 2.128

概要

JDK/JREにデフォルトでバンドルされているLucidaフォントには、 日本語フォントが配布されていません。

サポートされているフォント

JREで通常完全にサポートされている書記体系のうち、 中国語(簡体字)、中国語(繁体字)、日本語、 および韓国語はLucidaフォントでサポートされません。

よって、代わりのフォントを入れる必要があります。

手順

例えば、IPAフォントを使用する場合、以下のようにしました。

rpm -qi ipa-gothic-fonts
mkdir -p /usr/lib/jvm/java-1.8.0-openjdk/jre/lib/fonts/fallback
cd /usr/lib/jvm/java-1.8.0-openjdk/jre/lib/fonts/fallback
ln -s /usr/share/fonts/ipa-gothic/ipag.ttf ./ipag.ttf

この作業のあと、プログラムを再起動したら、 それ以降作成された画像は正常に表示されました。

補足

マニュアル

  • Linux
  • Java
  • font: まだありません。
  • mojibake: まだありません。
  • Jenkins