Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

動機

アップフロントの偉い人、「やまざきなおき」さん(通称山ちゃん)の「やまざき」は「山﨑」と書くのです。この「﨑」を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は便利なんですよね。痛し痒しです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away