DS漢字入力辞書変換プログラム

このPerlスクリプト は、拙作 Nintendo DS で漢字を入力するLuaスクリプト (kinput.lua) の辞書ファイル tankanji.dic とテキストデータの相互変換を行うものです。
上記リンクからダウンロードし、解凍(ZIP)してお使い下さい。

Perlインタプリタ無しでも動く 実行形式版(.exe) も用意しました。
なお本文の説明はPerlスクリプト(.pl)の使用を前提としています。

(1) jishoextract.pl

機能

tankanji.dic の内容をテキスト出力します。

使い方(Windowsの場合)

カレントフォルダ(jishoextract.pl と同じ場所)に tankanji.dic を置き、コマンドプロンプトで 引数に出力先テキストファイル名 を指定してスクリプトを実行します。

例:
> perl jishoextract.pl outputfile.txt

実行後、テキストファイル に辞書の内容全部がUTF-8で格納されます。

(2) jishomake.pl

機能

テキストファイルの内容に基づいて tankanji.dic を構築します。

使い方

引数に 入力元テキストファイル名 を指定してスクリプトを実行します。

例:
> perl jishomake.pl inputfile.txt

入力元テキストファイル名 は空白で区切って複数指定する事が可能です。
実行後、カレントフォルダに tankanji.dic が生成されます。
エラーがあった場合は標準エラー出力に表示されます。

入力テキストファイルの書式

jishoextract.pl で出力されたものがそのまま入力テキストファイルの形式となります。

読み1 タブ 漢字1
読み2 タブ 漢字2

と、各行に読み と漢字 の対を タブ 1文字で区切って記述してゆきます。
漢字コードはUTF-8(BOM無し)として下さい。

(3) Linux上で動かす場合

jishoextract.pl と jishomake.pl はLinuxでも動作しますが、 システムの漢字コードがシフトJISでない場合 (多くの場合はシフトJISでないと思います)は、スクリプト冒頭の

binmode STDOUT, ':raw:encoding(cp932)';
binmode STDERR, ':raw:encoding(cp932)';
binmode STDIN, ':raw:encoding(cp932)';

という箇所を書き直して下さい。

(例: EUCにする場合)
binmode STDOUT, ':raw:encoding(euc-jp)';
binmode STDERR, ':raw:encoding(euc-jp)';
binmode STDIN, ':raw:encoding(euc-jp)';

なおスクリプトの漢字コードはUTF-8のままとして下さい。
他の漢字コードでセーブし直してしまうと正しく動きません。