前回の記事ではシステムフォントをNotoに変更しました。

これで、OS自体が表示するフォントが正しい日本語フォントになりました。ですが、Flashプラグインで動くScratchのフォントはおかしな日本語フォントのまま。今回はそれを解決します

こちらの記事を参考にさせていただきました
Linux での Youtube 再生時の文字化け対策
Flashではシステムの設定でSans(sans-serif)に指定されたフォントが使われるようなので、Sansに正しい日本語フォントが設定されるように変更したいと思います

そのために「69-language-selector-ja-jp.conf」というファイルを作成します
ファイルを~/Documentsにつくります
内容はこんな感じ
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Japanese (ja) -->
<match target="pattern">
<test qual="any" name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans CJK JP</string>
</edit>
</match>
<!--match target="pattern">
<test qual="any" name="family">
<string>serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans CJK JP</string>
</edit>
</match-->
<!--match target="pattern">
<test qual="any" name="family">
<string>monospace</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans CJK JP</string>
</edit>
</match-->
<!--match target="pattern">
<test qual="any" name="family">
<string>Ryumin</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans CJK JP</string>
</edit>
</match-->
<!--match target="pattern">
<test qual="any" name="family">
<string>GothicBBB</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans CJK JP</string>
</edit>
</match-->
<match target="font">
<test name="family" compare="contains">
<string>Noto Sans CJK JP</string>
</test>
<test name="pixelsize" compare="less_eq">
<double>18</double>
</test>
<edit name="hintstyle" mode="assign">
<const>hintnone</const>
</edit>
<edit name="embeddedbitmap">
<bool>false</bool>
</edit>
</match>
<!-- Japanese (ja) ends -->
</fontconfig>
Flashでのフォントを変更したい場合は必要なさそうなので、serif(明朝)、monospace(等幅)、Ryumin(明朝)、GothicBBB(ゴシック)はコメントアウトしていますが、指定したい場合はコメントを外して自分が使いたいフォントを指定してください。
実際指定しているのはこれだけ。(このファイルでも問題無いです)
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Japanese (ja) -->
<match target="pattern">
<test qual="any" name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans CJK JP</string>
</edit>
</match>
<match target="font">
<test name="family" compare="contains">
<string>Noto Sans CJK JP</string>
</test>
<test name="pixelsize" compare="less_eq">
<double>18</double>
</test>
<edit name="hintstyle" mode="assign">
<const>hintnone</const>
</edit>
<edit name="embeddedbitmap">
<bool>false</bool>
</edit>
</match>
<!-- Japanese (ja) ends -->
</fontconfig>
いろんなフォントを追加したい場合は、こっちの設定ファイルが参考になると思います
69-language-selector-ja-jp.conf
作成したファイルを/etc/fonts/conf.avail/にコピーして、/etc/fonts/conf.avail/にシンボリックリンクを作成をします
cd ~/Documents sudo cp 69-language-selector-ja-jp.conf /etc/fonts/conf.avail/69-language-selector-ja-jp.conf sudo ln -s /etc/fonts/conf.avail/69-language-selector-ja-jp.conf /etc/fonts/conf.d/
システムを再起動します
これでFlashで使われるフォントが変更されると思います

ちなみに、この設定ファイルを作成すると前回の記事で変更したシステムフォントやブラウザのフォントはデフォルトに戻してしまっても問題ありません

以下は、システムフォントを変更してしまった人向けの手順です
システムフォントをデフォルトのRobotoに戻します

ChromeのフォントもデフォルトのDejajaVu Sansに戻します

これでおしまいです



