Gazelle
2020年08月22日更新 522 Views

node-canvasで書いた日本語がLinuxで文字化けしたので対応

node-canvasはHTMLで絵を書くための要素であるcanvasと同等の処理をnode上で実行してくれるツールである。

これを用いるとCanvasと同じ要領で画像を生成することが可能となり、例えば株取引のグラフ画像を自動で生成して呟くということをやっている。

ところが日本語のフォントがLinuxに入っていないと上記のように文字化けが起きてしまう。今回はこの解決を行う。

yumで日本語fontをインストール

解決方法は簡単で、何かしら日本語フォントをLinuxへインストールしてやれば良い。ipaって基本情報技術者試験とかやっている団体だが日本語フォントの配布まで行っているのは意外である。

ともあれCentOSであれば日本語フォントをインストールできる。

sudo yum install ipa-gothic-fonts ipa-pgothic-fonts

インストールされたfontは/usr/share/fonts以下で確認できる。

# ls
dejavu  ipa-gothic  ipa-pgothic  liberation

このインストールされているフォントの中から、優先順位に従いよろしく日本語のフォントを選択してくれる。

再度Tweetしてみる。

これで修正が確認できた。

ただ、DefaultのFontを変更したり、アンチエイリアス処理を適用するにはFontconfigの仕様を読み解いてがっつり取り組む必要がありそうである。気力のある人は挑戦してみると良い。

関連記事

ps axuをして全プロセスを表示し、該当するpidを指定してkillすれば良いという話
2020年03月18日
Railsアプリの独自ドメイン取得からSSL設定まで一貫して行います。環境はCentOS7、サーバはNginx、SSL化には無料のLet's Encryptを使用。
2020年03月18日
さくらVPSでコマンドが何故か重くなった時に、コンソールのCPU使用時間やtopコマンドでのCPU使用率を調査して原因を特定し、不要プロセスを終了させようという話。
2020年04月03日
node用version管理ツールnvmをインストールして、任意のnode versionを使う方法を解説
2020年07月30日
cronがうまく動かせない時はbashファイルの読み込み、実行ユーザ、相対パスの起点について疑ってみると大体動くようになるという話
2020年10月17日
Linuxのsedコマンドを使えば、簡単にファイル内の置換を行うことができる。正規表現のスラッシュ区切りを使わずにバーティカルバーを使って簡潔に書くことも可読性を高めるうえでは重要なテクニックとなる。
2021年07月07日
ホームへ戻る