node-canvasで書いた日本語がLinuxで文字化けしたので対応
node-canvasはHTMLで絵を書くための要素であるcanvasと同等の処理をnode上で実行してくれるツールである。
これを用いるとCanvasと同じ要領で画像を生成することが可能となり、例えば株取引のグラフ画像を自動で生成して呟くということをやっている。
現在の私の投資結果は下記の通りよ。
— 右肩あがり (@agari_migikata) August 20, 2020
前日比: -35320円 ▼0.32%
評価益(11/2~): -799237円
配当益: 150818円
総合利益: -648419円 pic.twitter.com/7YrT9mMrpg
ところが日本語のフォントが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してみる。
現在の私の投資結果は下記の通りよ。
— 右肩あがり (@agari_migikata) August 21, 2020
前日比: 0円 ▲0%
評価益(11/2~): -753287円
配当益: 150818円
総合利益: -602469円 pic.twitter.com/s59rH3y169
これで修正が確認できた。
ただ、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日
2020年07月01日
node用version管理ツールnvmをインストールして、任意のnode versionを使う方法を解説
2020年07月30日
cronがうまく動かせない時はbashファイルの読み込み、実行ユーザ、相対パスの起点について疑ってみると大体動くようになるという話
2020年10月17日
Linuxのsedコマンドを使えば、簡単にファイル内の置換を行うことができる。正規表現のスラッシュ区切りを使わずにバーティカルバーを使って簡潔に書くことも可読性を高めるうえでは重要なテクニックとなる。
2021年07月07日
2021年07月18日
2021年07月23日