PyCharmの検索用入力フォームで日本語フォントが表示されません。対応方法を教えてください。

投稿者: Anonymous

環境

PyCharmのversion

PyCharm 2019.1.3 (Community Edition)
Build #PC-191.7479.30, built on May 30, 2019
JRE: 11.0.2+9-b159.60 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.15.0-47-generic

OS

Xubuntu 18.04

$  cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"

現象

PyCharmのTooltipや検索用入力フォーム内で、日本語を入力すると、下図のように四角で表示されます。

ただし平仮名の「の」は表示されます。

検索用入力フォーム

「あのね」と入力。

PyCharmの検索用入力フォーム

Tooltip

hogeメソッドのdocstringは「あのね」
画像の説明をここに入力

PyCharmの設定

Appearance & Behavior -> Appearance

Use custom font: Droid Sans Mono

画像の説明をここに入力

Editor -> General -> Font

Font: DejaVu Sans Mono
画像の説明をここに入力

質問

対応方法を教えていただきたいです。
たぶん日本語フォントがないため、日本語が四角で表示されているのだと思います。

また、以下の現象が発生しているのはなぜでしょうか?

  • xfce4-terminalでフォントをDejaVu Sans Monoにしても、日本語は表示された。
  • 平仮名の「の」は表示される

追記

日本語が含まれている「Noto Sans CJK JP Regular」フォントを設定しましが、解決しませんでした。
画像の説明をここに入力
画像の説明をここに入力

解決

PyCharmをどのようにインストールされているか(tar.gzのアーカイブだとかJetBrains Toolsboxだとかそれ以外だとか)で多少の違いがある気がするのですが、とりあえずtar.gzでDL、展開しただけのものと仮定して条件を近付け試してみました。

文字化け時
まず、こちらが文字化けしている状態。たしかに質問にあるとおりです。

この事象は当該のUIパーツがPyCharmにバンドルされているjreによってレンダリングあたりが起因するよう。ArchWikiに文字化けの修正という項目があるのですが、まさにこれと同じものです。

つまり、バンドルされているJREにフォールバックフォントを設定することで解決できます。

バンドルJREのフォントはPyCharm内の/jre64/lib/fonts以下に配置されています。つまり、たとえば

mkdir (PyCharmのインストールディレクトリ)/jre64/lib/fonts/fallback/
ln -s '/usr/share/fonts/opentype/noto/NotoSansCJK-Light.ttc' (PyCharmのインストールディレクトリ)/jre64/lib/fonts/fallback/

のようにfallbackフォントとしてシンボリックリンクを張ってやることでPyCharmがこれを参照,表示可能になります。

他にもましな解決策があるかもしれませんが、一度お試しください。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *