plamo8.2x->oyayubi

親指シフトキーボード

fcitx-anthyを使ってみる

plamo8.1では、anthy と fcitx5-anthy を自分でセットアップする必要があったのですが、anthyの開発が引き継がれて再開されたためか、当初より入っているようです。 ( なお、fcitx-anthyの設定ファイルは、fcitx5-anthyに流用しない方がよいです。)

設定

Fcitx5

fcitxの設定パネルから設定していきます。

fcitxの設定パネル(入力メソッド-タブ)
fcitxの設定パネル(グローバルオプション-タブ) → IME ON-OFF のトグルキーの設定など
設定ファイルは、~/.config/fcitx5/ 以下となるようです。( anthyの設定も含む )

Anthy

[BackSpace]キーを、右小指のすぐ右隣とする配列(Nicola-F型)にしています。 BackSpaceキーを押下するときに右小指を「エイヤッ」と伸ばさなくてよいのがラク。

その代わりに、右小指周辺のキー(主に英字記号)が、ちまちまと入れ替わってますが、なんだかんだで慣れるものですよ。

機能キーの設定

機能キーの割り当ては、OAK(オアシスかな漢字変換)に近づけるようにしています。 特徴は、文節長さを変えるキーと、変換対象の文節を変えるキーの割り当てでしょう。
変換中の文節長さを変える 伸ばす [→],Ctrl+[BS]
短縮する [←], [BS]
変換対象とする文節を変える 次の分節へ移動 [Tab]
前の分節へ移動 Ctrl+[Tab]

また、[space][BS][Tab][変換][無変換][かな]キーなどは、Xorgの設定で配置を変更している前提で 機能キーの割り当てをしています。

Anthyの設定パネル



設定ファイルは、~/.config/fcitx5/conf/anthy.conf になります。 (辞書ファイルは別途)

anthyの辞書を少し賢く

MSIMEに登録した辞書を使う

MSIMEで登録していた単語を anthy でも登録します。 一つ一つ登録するのは大変なので、ユーザー辞書ファイルを作って所定のディレクトリに入れます。 辞書ファイルは、Canna辞書形式が使えます。

手順

  1. MSIMEの辞書ツールで、登録単語の一覧を抽出します。
  2. 最初の数行は要らないので削除します。
  3. 文字コードをUTF-8に変換します
  4. 2列めと3列目を入れ替える
  5. 「品詞」を Canna のコードで書き換える
  6. LANG=C で ソートする
  7. 出来たファイルを ~/.anthy/imported_words_default.d/ に入れる

スクリプトにしてみた

上記手順の 2.〜6.をスクリプトにしてみました。 品詞の書き換え対照表(未確認の分もありますが...)もこちらを見てみてください。

#!/usr/bin/perl
#---------------------------------------------------------
# MS-IMEの辞書から、cannaの辞書形式へ変換する
#
$msimedictxt="output1.txt"; # MSIMEからの出力
$inputdic="output1.text";
$outputdic="output1.dic";
$cannadic="user.t";
    
`nkf -wd $msimedictxt > $inputdic`;

my( $indexhtml );
open(IN, "< $inputdic");
open(OF, "> $outputdic");
    
# 品詞の変換リスト
my %hinlist = (
    '名詞'=>'#T35',
    'さ変名詞'=>'#T30',
    '固有名詞'=>'#KK', '短縮よみ'=>'#KK',
    '姓'=>'#JN', '名'=>'#JN',
    '地名その他'=>'#CN',
    'か行五段'=>'#K5',
    'が行五段'=>'#G5',
    'さ行五段'=>'#S5',
    'た行五段'=>'#T5',
    'な行五段'=>'#N5',
    'ば行五段'=>'#B5',
    'ま行五段'=>'#M5',
    'ら行五段'=>'#R5',
    'わ行五段'=>'#W5',
    '一段動詞'=>'#KS',
    'か変動詞'=>'#KX',
    'さ変動詞'=>'#SX',
    'ざ変動詞'=>'#ZX',
    '形容詞'=>'#KY',
    '形容動詞'=>'#T05',
    '副詞'=>'#F04',
    '連体詞'=>'#RT',
    '感動詞'=>'#CJ',
    '接続詞'=>'#CJ',
    '助数詞'=>'#JS',
    '接頭語'=>'#PRE',
    '接尾語'=>'#SUC',
    '数詞'=>'#NN',
    '単漢字'=>'#KJ' );

my( $tx );
while($tx = ){
    if(( $tx !~ /^!/ )&&( $tx =~ /^(.+?)\s(.+?)\s(.+?)$/ )){
	#print "0[$1][$2][$3]\n";
	my $yomi=$1;
	my $moji=$2;
	my $hin=$3;
	print OF "$yomi $hinlist{$hin} $moji\n";
	
    }else{
	#print "1". $tx;
    }
}
close OF;

`env LANG=C sort $outputdic > $cannadic`;
	  
  
[参考] [参考]

もっと単語を追加したいとき

ここで作ったファイルにテキストエディタで追加するのもアリかと。 追加したらソートを忘れずに。

JIS第3水準・第4水準漢字の単語辞書

対応するフォントも必要です。

  1. [こちら]から、Anthy用辞書をダウンロードします。
  2. ~/.anthy/imported_words_default.d/ に辞書を入れます。 ( imported_words_default.d ディレクトリが無いときには作ります。)
参考:[phpBB]


tsushiro.s 2003-2023.