fcitx で latn-pre、latn-post を使う

初稿作成:2017/6/6(火)(Yahoo!ブログ)
最終更新:2020/5/20(水)
 
ドイツ語やフランス語、スペイン語、イタリア語などで見かける
「ä」「ß」「â」「œ」「ñ」「¿」「è」といった文字を
Linux で入力するのに便利なのが latn-pre、latn-post というインプットメソッドです。

この latn-pre と latn-post、どこが違うかと言うと
原則として、latn-pre では修飾記号にあたるキーを先に打ちそのあとアルファベットを入力、
latn-post では逆にアルファベットを入力してから修飾記号に相当するキーを打って文字を出します。

たとえば「á」を入力するのに
latn-pre では「 ' 」「a 」、
latn-post では「 a」「 ' 」の順にキーを押すわけです。

導入方法ですが
latn-pre と latn-post は m17n の中に入っているので、まず m17n をインストールします。
 
$ sudo apt-get install fcitx-m17n
 
その後 fcitx の設定から
 入力メソッドタブ
で latn-pre や latn-post を出したいのですが出てきません。
 
latn-pre や latn-post の対応言語は「その他」になっているのですが、
fcitx では「その他」の言語に対応する入力メソッドが出ないようになっているようです
(何か方法があるのかもしれませんがどうすればいいのか分かりません)。
 
しかし m17n に含まれる入力メソッドの設定ファイルは編集可能なので、
latn-pre または latn-post のファイルを編集して
対応言語を「その他」から「日本語」にしてしまえば fcitx で使えるようになります。
 
それには

$ cd /usr/share/m17n
$ sudo emacs latn-pre.mim
または
$ sudo emacs latn-post.mim
(emacs のかわりに gedit でもなんでも自分が使っているエディターで可)
 
latn-pre なら 47 行目の

(input-method t latn-pre)

latn-post だと 50 行目の
 
(input-method t latn-post)
 
の t を ja に書き換え
 
(input-method ja latn-pre)
または
(input-method ja latn-post)
 
とするだけです。

そのあとは fcitx を再起動し(fcitx の状態パネルが表示されているときに
パネルを右クリックすると 再起動 の項目が出るのでこれをクリックします)、
fcitx の設定の 入力メソッドタブ で追加ボタンを押すと
「latn-pre 日本語」「latn-post 日本語」というのが出ますので必要なものを選んで追加します。

私はキー配列の変更に興味があって
どんなやりかたがあるかときどき調べるのですが、
この m17n に用意されているいろいろな入力メソッド、
とくに latn-pre.mim、latn-post.mim、fr-azerty.mim なんかをながめていると、
キー配列のうち文字・記号類だけの変更なら、自分で m17n 上の設定ファイルを作るほうが、
ほかのやりかたより楽な気がしますね。2段階キーマップも簡単に設定できそうです。
m17n の中には漢字直接入力の T-Code や TUT-Code の設定ファイルまであったりします
(とても覚える気にはなりませんけど)。
自分でファイルを作ったり既存のファイルを編集したりしたい方は
ネット上に Tutorial for writing the m17n database という
設定ファイル作成マニュアルもありますので参考にしてみて下さい。