GNU/Linux版Google Earthのユーザインターフェースにおける日本語フォントの描画についてのメモ(バージョン6.0時点)
以前GNU/Linux版Google Earthのバージョン5.0系のユーザインターフェースのフォントに関する問題の対処についてを扱ったが、その後Ubuntu 10.10上でバージョン6.0系を試した際に同様に作業を行ってもうまくいかなかった。
Qt4を置き換えて起動するまでに必要なパッケージ
Ubuntuの「i386」アーキテクチャのバイナリパッケージを用いて代用しようとしたのだが
だけではライブラリの依存関係が満たせずにパッケージ「libphonon4」を追加することになった。
これで起動はするのだが、残念ながら起動後数秒ですぐに落ちてしまうことが分かった。
「Qt4を置き換えると起動数秒後に落ちてしまう」問題に対する対処
クラッシュログ(${HOME}/.googleearth/crashlogs/crashlog-[文字列].txt)を参考にして色々と調べたところ、Google Earthに付属するFreeImage(libfreeimage)という画像処理ライブラリとシステムのQt4との相性が悪いらしく、Ubuntuの「libfreeimage3」パッケージのファイルを配置した上で環境変数LD_PRELOADでそちらを読み込ませることで「起動数秒後に落ちる」という問題は解消された。これでフォント表示の問題は解消されることになる。
画像が表示されない件についての対処
Ubuntuのバイナリパッケージを用いてもQt4を置き換えると写真などの画像が表示されない問題は起こってしまうが、Ubuntuの「libqtgui4」や「ia32-libs」パッケージの中にあるlibqgif.soとlibqjpeg.soを用いてGoogle Earthのディレクトリ以下にあるファイルを置き換えてしまうと、残念ながら画像を表示しようとしたときに落ちてしまう。
この件についてはよく分からないが
http://www.google.com/support/forum/p/earth/thread?tid=3fe67ea84f63bcd8&hl=en
のrmtk313氏の書き込みによるとバージョン5.2にあるものを使うとよいらしい。
(2011/4/28)この際、Qt4ライブラリはDebianのSqeeze向けのものを用いるのがよいとのこと。
rmtk313氏のパッチで簡単に修正作業を行う
同氏による2つ目の「I have all the files packed.」という書き込みにあるURLにアップロードされているreplacement.7zにはGoogle Earthのディレクトリツリーに対して上書き(もしくは追加)する必要のあるファイル群が全て含まれており、起動スクリプトgoogleearthへのLD_PRELOAD指定の修正も含むため、「上書きするだけで使えるようになる」ファイル群となっている。
下は中身の個別の情報(fileコマンドによる)。
$ find replacement -exec file {} \; replacement: directory replacement/plugins: directory replacement/plugins/imageformats: directory replacement/plugins/imageformats/libqjpeg.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped replacement/plugins/imageformats/libqgif.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped replacement/libQtWebKit.so.4: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped replacement/libQtNetwork.so.4: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped replacement/libQtGui.so.4: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped replacement/libQtCore.so.4: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped replacement/libphonon.so.4: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped replacement/libfreeimage.so.3: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped replacement/googleearth: POSIX shell script text executable
適用の流れの例としては
- replacement.7zを展開
- replacement/googleearthに実行属性を付ける
- replacementディレクトリ内のファイルを/opt/google/earth/free/に(管理者権限で)上書き
- replacement/plugins/imageformats/ディレクトリ内のファイルを/opt/google/earth/free/plugins/imageformats/に(管理者権限で)上書き
となる。
実際に、インストール直後の状態に対して上記の適用処理を行ってみたところ
- フォント表示が正常に行われる
- 落ちることはない
- 画像も表示されている
と、良好な動作が確認できた(rmtk313氏に感謝)。
(2011/4/29)Ubuntu 11.04上でもこのファイルを用いて正常に動作していることを確認できた。
関連記事:
使用したバージョン:
- Google Earth 6.0.2.2074