2016/12/06

LibreOfficeで日本語入力できるようにするには、どうすれば良いのか?

NetBSD/i386でLinuxバイナリを使ってLibreOfficeを動かすと日本語入力ができない問題を調べていますが、なかなか手掛かりがつかめません。

「LibreOfficeで日本語入力が出来ない」と書いていますが、それはLinuxバイナリを使っているのがLibreOfficeしか今のところないからであって、それだけのことです。おそらくLinux用バイナリならばLibreOffice以外でも同様の問題を抱えていると思っていますが、確認しておいた方が良いかもしれません。

また日本語入力はibus-Mozcを使っています。これも同様に、ibus-mozcだから起きている問題ではないと思っています。ただ念のため、他のエンジンを使っても同様の現象がおきるのか、 または起きないのか、確認しておくべきかもしれません。

iBusの設定画面を開くと、エンジンとして「japanese」と「Mozc」が登録されています。これを切り替える機能は「<Super>+<Space>」というキーに割り当てられています。<Super>というのはWindowsキーのことらしいです。さて、LibreOfficeで日本語入力は出来ないのですが、エンジン切り替えは出来ることに気がつきました。つまりLibreOfficeに渡したキー入力はiBusに伝わっているということです。それならば何故Mozcにまで伝わっていないのでしょうか。

pkgsrcからlsofを入れて、調査してみることにしました。NetBSD/i386では次のような情報が得られました。このときLibreOfficeも起動しているのですが、immodulesというディレクトリにあるファイルをアクセスしていないようです。
sh         1997     root  cwd     VDIR        4,4      512 2039616 /usr/pkg/emul/linux/usr/lib/gtk-2.0/2.10.0/immodules
mate-term  6976 furusawa  txt     VREG        4,4    33519 1266968 /usr/pkg/lib/gtk-2.0/2.10.0/immodules/im-ibus.so
mate-pane  7623 furusawa  txt     VREG        4,4    33519 1266968 /usr/pkg/lib/gtk-2.0/2.10.0/immodules/im-ibus.so
さて比較のためにWindows上のVirtualBoxでUbuntu-MATEを動かしたみて、同様の情報を調べてみました。ここではLibreOfficeも現れています。
tilda     2999        furusawa  mem       REG                8,1    34840     416052 /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx.so
gmain     2999 3055   furusawa  mem       REG                8,1    34840     416052 /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx.so
gdbus     2999 3056   furusawa  mem       REG                8,1    34840     416052 /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/im-fcitx.so
clock-app 3155        furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
gmain     3155 3168   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
gdbus     3155 3170   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
dconf\x20 3155 3256   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
mate-term 3315        furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
gmain     3315 3318   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
gdbus     3315 3320   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
dconf\x20 3315 3321   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
threaded- 3315 3322   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
soffice.b 3421        furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
rtl_cache 3421 3423   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
OfficeIPC 3421 3425   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
gmain     3421 3426   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
gdbus     3421 3427   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
ICEConnec 3421 3429   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
Selection 3421 3430   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
threaded- 3421 3455   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
thread-po 3421 3931   furusawa  mem       REG                8,1    30744     416051 /usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules/im-fcitx.so
このような状況をみると、immodulesのディレクトリにあるファイルをアクセスしていれば日本語入力が出来て(Ubuntu-MATEの場合)、アクセスしていないなら日本語入力できない(NetBSD/i386の場合)と考えられます。しかし、では何をすれば良いのか、さっぱり見えてこないので、調べてみたものの結局何の役にもたちません。なかなか手強い問題ですが、何か糸口が見つからないかと足掻くような思いです。

0 件のコメント:

コメントを投稿