Linux環境でのArduino IDEの豆腐文字化けを直す

Arduino IDEをLinuxにインストールしたところメニューなどが豆腐状態になって正しく表示されない。そこで、その対応。

Arduino IDEの文字化け解消 1
Arduino IDEは https://www.arduino.cc/en/softwareから貰ってくる。
Windows用, Linux用, Mac OS X用があるので使用しているOSに対応してなくて困るということはない筈。今回はArduino IDE 1.8.16 Linux 64bit版をDLした。

DLしたファイルを任意の場所に解凍する。この解凍したファイル群はその後も使い続けることになるので一時ファイル保管場所などではなくホームディレクトリの下など。 /home/user/arduino-1.8.16 例えばこんな感じ。
$ cd ~/arduino-1.8.16
$ sudo ./install.sh

これでインストールされる。必要なファイルがインストールされ、デスクトップにArduino IDEのアイコンが作成される。合わせてアプリケーションランチャー(Windowsでいうスタートメニュー)にもArduino IDEの項目が登録される。デスクトップのアイコンは要らなければ消してO.K.
「がとらぼ」の人の環境では/home/user/arduino-1.8.16でインストーラーを実行すると/home/user/Arduinoディレクトリが作成された。また、隠しとして/home/user/.arduino15 もできた。(これはもしかするとArduino IDE初回起動時かも)

Arduino IDEの文字化け解消 2
とりあえずArduino IDEを起動してみた。起動時に表示される絵の下に表示される文字やメイン画面のメニューなどの文字が□で表示される。所謂「豆腐」というやつ。

まずは英語表示にする

Arduino IDEの文字化け解消 3
文字化けで読めないので取り敢えず英語表示にしたい。
メニューの一番左をクリック。 ポップアップしたメニューの下から2番めをクリック。

Arduino IDEの文字化け解消 4
上寄りにあるドロップダウンメニューが言語選択。
ついでに下の方にあるのが設定ファイルのPath

Arduino IDEの文字化け解消 5
言語のドロップダウンメニューから English (English)を選択。
右下のOKを押す。

一旦、Arduino IDEを終了して再度起動する。

Arduino IDEの文字化け解消 6
メニューが英語で正常に表示されることを確認する。

日本語表示にする

Arduino IDEで日本語表示する方法はググるといろいろ出てくるが、Java実行環境の整備とかはどうでも良くて、今回はフォント問題を解決するだけで何とかなりそう。
つまり、「設定ファイル ~/.arduino15/preferences.txt でフォント指定する」という解決方法は半分正しいけど足りない。「Java実行環境 ~/arduino-1.8.16/java/lib/fonts 等にフォントを用意する」というのは要らない。現在のArduino IDEはシステムOSに入っているフォントを使えるようになってるっぽい。
Arduino IDEではTrueTypeのフォントしか利用できないようだが「がとらぼ」の中の人のLinux環境(KDE neon)では日本語フォントはOpenTypeのものしか入っていないみたい。おそらくこれが原因で日本語表示しようとすると表示できるフォントがなくて豆腐になる。そこでTrueTypeの日本語フォントをインストールする。読みやすいフォントなら何でも良いが、今回はVL ゴシックを使うことに。

$ fc-list

インストール済みフォントが表示される。TrueTypeで日本語フォントがあるか探してみる。
ざっと見たところKDE neon(Ubuntu系)の標準では入ってないっぽい。

VLフォントを追加
$ sudo apt search VL font    ⬅パッケージにVLフォントがあるかを探してみる
fonts-vlgothic/focal,focal 20141206-4ubuntu1 all  ⬅あった(黄色字)
  Japanese TrueType font from Vine Linux

$ sudo apt install fonts-vlgothic  ⬅インストール

中略

$ fc-list | grep VL
/usr/share/fonts/truetype/vlgothic/VL-PGothic-Regular.ttf: VL Pゴシック,VL PGothic:style=regular
/usr/share/fonts/truetype/fonts-japanese-gothic.ttf: VL ゴシック,VL Gothic:style=regular
/usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf: VL ゴシック,VL Gothic:style=regular

これで、VLフォントがインストールできた。ついでにフォント名(英語名)が「VL Gothic」であることも確認できた。正しいフォント名を得ることが大事
パッケージにVLフォントが無いとか他のVLフォント以外のパッケージ外フォントを使いたい場合は適切にインストールしてください。

Arduino IDEが開いていたら終了する。(実行中にだと次の設定ファイルの変更をしても変更が無かったことになるので)

さきほどのArduino IDEの設定画面に表示されていた設定ファイルの在り処からそのファイルをテキストエディタで開く。
vim ~/.arduino15/preferences.txt など。

editor.font=VL Gothic,plain,12
editor.languages.current=ja_JP

少なくともこの2行を変更して上書き保存する。

Arduino IDEを起動する。

Arduino IDEの文字化け解消 7
メニューが日本語表示になった。

Arduino IDEの文字化け解消 8
設定画面も日本語表示になった。言語選択も日本になっている。

無理に日本語表示させなくても英語で十分だが、「日本語が化ける」ことが腹立たしかったので敢えて日本語表示させてみたという些細な内容でした。

関連記事: