rskkservの現行化とGoogle CGI API for Japanese Inputのサポート

  • 1
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

動機

アップフロントの偉い人、「やまざきなおき」さん(通称山ちゃん)の「やまざき」は「山﨑」と書くのです。この「﨑」をSKKからも入力したいなと思ったのが発端でした。

DDSKK

DDSKKでの対応は簡単でした。

(setq skk-extra-jisyo-file-list
      (list ; いろいろ辞書指定
        '("/usr/share/skk/SKK-JISYO.JIS3_4" . euc-jisx0213)
            ; いろいろ辞書指定
)

のように書くだけでした。

fcitx

こちらはいろいろ悩みました。「﨑」だけなら、SKK-JISYO.JIS3_4 をUTF-8に変換してやってエンコードを指定して辞書指定してあげればすみました。

でも「髙橋」「髙島屋」のような「はしご高」も入力できるようにしたくなりました。この「はしご高」はUTF-8にしかないようなので、よし、この際、SKKサーバをrskkservにして、Google CGI API for Japanese Inputにも対応しようと思ったのでした。SKKの辞書にはたぶん「はしご高」はないからです。(調べていません。)

rskkserv

  1. tarao/rskkserv をforkして現在の環境に合わせて改変し、ビルドできるようにした。
  2. Google CGI API for Japanese Inputを使って日本語変換 - Qiita を参考にして、rkkservにGOOGLEDicというクラスを追加。(ありがとうございました。)
  3. SKK辞書をUTF-8に変換して、rskkserv.confファイルに追加。

SKK-JISYO.JIS3_4はUTF-8に変換できない文字もあるようなので、

iconv -c -f EUC-JISX0213 -t UTF-8 /usr/share/skk/SKK-JISYO.itaiji.JIS3_4 > SKK-JISYO.itaiji.JIS3_4.utf-8 

のように-cオプションを指定して、無視してしまいました。

rskkservの修正はduloxetine/rskkservに置いておきました。

fcitx-skk

  1. duloxetine/fcitx-skk-plusのデフォルトの文字コードをUTF-8にしました。
  2. ~/.config/fcitx/skk/user.dictをUTF-8に変換。このとき先頭行のマジックコメントもeuc-jpからutf-8に変更しておきましょう。

あとは

あとはそれぞれ/usr/local/sbin/skkserv.rbを起動したり、
fcitx -rで再起動したりすると、試行錯誤の上、使えるようになるかと思います。

効能

  • 「山﨑」が変換できる。
  • 「髙橋」「髙島屋」が変換できる。
  • ▶や⏎なども変換できる。「扃る」(ひきこもる)も変換できる。

どれも必要な人には必要ですが、いらない人はいらない機能ではあります。

課題

  • 毎回Googleにアクセスに行ってしまう。ローカルの辞書に候補がないときだけGoogleに行ってほしい。単語登録直前のところで、Googleにアクセスするのがいいと思うが、そのやり方がちょっとわからない。
  • Googleにはhttpでアクセスしています。httpsではありません。
  • メモリを多く消費します。でも現在の環境では悩むほどではないかもしれません。

課題が解消される見込みはありません。

補遺

SKKの皮をかぶったGoogle日本語入力ではないかという思いを禁じえません。でも有名人などの固有名詞の入力にはGoogle CGI API for Japanese Inputは便利なんですよね。痛し痒しです。