flatpak版GnuCashの豆腐フォントを修正する

2020-09-08

KDE neonを使おう

t f B! P L

フォントが豆腐になる問題


KDE neon on 20.04にflatpak版のGnuCashをインストールしたところ、すべてのフォントが豆腐になっていました。

 Fcitxで入力したフォントもすべて豆腐になっています。
(gnucash:2): Pango-WARNING **: 21:22:11.929: failed to create cairo scaled font, expect ugly output. the offending font is 'IPAexゴシック 9.9990234375'
(gnucash:2): Pango-WARNING **: 21:22:11.929: font_face status is: file not found
(gnucash:2): Pango-WARNING **: 21:22:11.929: scaled_font status is: file not found
(gnucash:2): Pango-WARNING **: 21:22:11.936: failed to create cairo scaled font, expect ugly output. the offending font is 'IPAexゴシック 8.33203125'
(gnucash:2): Pango-WARNING **: 21:22:11.936: font_face status is: file not found
(gnucash:2): Pango-WARNING **: 21:22:11.936: scaled_font status is: file not found
(gnucash:2): Pango-WARNING **: 21:22:11.938: failed to create cairo scaled font, expect ugly output. the offending font is 'IPAexゴシック 8.33203125'
(gnucash:2): Pango-WARNING **: 21:22:11.938: font_face status is: file not found
(gnucash:2): Pango-WARNING **: 21:22:11.938: scaled_font status is: file not found
Konsoleからflatpak run org.gnucash.GnuCashで起動してみるとIPAexゴシックが問題とわかりました。

日本語フォントIPAexはGhostscriptのために日本語フォントをインストールする-p--qでインストールしたものです。


ipaexででてくるこれらをすべてアンインストールしたら豆腐が直りったので、フォントファイルが壊れているのかと思いましたがそうではありませんでした。

flatpakのフォントキャッシュをクリアすると豆腐が直る

 Broken Text · Issue #1097 · flatpak/flatpak

 ここに答えがありました。

何らかの理由でflatpakでキャッシュしているフォントファイルが壊れているのが原因のようです。

flatpak run --command=fc-cache org.gnucash.GnuCash -f -v

flatpak内でfc-cacheを実行してフォントキャッシュをクリアすると豆腐が直りました。

Pango-WARNINGの内容で検索すると/usr/share/fonts/のパーミッションの変更で解決するという解説がよくでてきますがそれでは解決しませんでした。

  G_MESSAGES_DEBUG=all flatpak run org.gnucash.GnuCash

デバッグモードでGnuCashを起動するとホストのフォルダはreadonlyでマウントしているのでパーミッションの変更では解決しないはずです。

flatpakのサンドボックス内のデフォルトフォントを確認する方法

  fc-matchでデフォルトフォントを確認できます。

flatpak run --command=fc-match org.gnucash.GnuCash
pq@NUC8i7BEH:~$ flatpak run --command=fc-match org.gnucash.GnuCash
NotoSansCJK-Regular.ttc: "Noto Sans CJK JP" "Regular"
IPAexフォントをアンイストールしたあとはNoto Sans CJK JPがデフォルトフォントになっています。
pq@NUC8i7BEH:~$ flatpak run --command=fc-match org.gnucash.GnuCash
fonts-japanese-gothic.ttf: "IPAexゴシック" "Regular"
IPAexフォントをインストールするとIPAexゴシックがデフォルトフォントになっています。

Flatpak版GnuCashのデフォルトフォントを変更する方法(うまくいきません)

やってみましたが、 どうも設定が反映されていないように思います。

 flatpak run --command=fc-match org.gnucash.GnuCashで確認してみてもいずれの方法も変更を反映できませんでした。

いちおう調べた変更方法を書いておきます。

GTK3 - GnuCash

このTypefacesの段落にデフォルトフォントと設定方法が2つ書いてあります。

GTKアプリケーションすべてのフォントを設定する方法

[Settings]
gtk-font-name=Noto Sans CJK JP 10


GTK_CONFIG_HOME/settings.iniファイルにこのように書きます。

GTK_CONFIG_HOMEのパスはOSやGnuCashのバージョンによって異なるのでConfiguration Locations - GnuCashを読んで調べないといけません。

GTK_CONFIG_HOMEはUSER_CONFIG_HOME/gtk-3.0です。

 USER_CONFIG_HOMEは$HOME/.var/app/org.gnucash.GnuCash/configです。

$HOMEは/home/<username>、つまり~です。

ということで~/.var/app/org.gnucash.GnuCash/config/gtk-3.0/settings.iniファイルに書き込めばよいとわかります。

ファイルがなければ作成します。

GnuCashのフォントのみ設定する方法

* {
  font: 10pt Noto Sans CJK JP,  sans-serif;
}


GNC_CONFIG_HOME/gtk-3.0.cssファイルにこのように書きます。

GNC_CONFIG_HOMEのパスはUSER_CONFIG_HOME/gnucashです。

 USER_CONFIG_HOMEは$HOME/.var/app/org.gnucash.GnuCash/configです。

$HOMEは/home/<username>、つまり~です。

ということで~/.var/app/org.gnucash.GnuCash/config/gnucash/gtk-3.0.cssファイルに書き込めばよいとわかります。

ファイルがなければ作成します。

ブログ検索 by Blogger

Translate

最近のコメント

Created by Calendar Gadget

QooQ