一応ながらPerlプログラム作ってみました。
一万語医学辞書をQPOBoxに組み込んでみた。
流れは以下の通り。
前準備として,
①一万語医学辞書の加工(品詞の削除)
ここからDL。実際は5万語近くあり,学生レベルが使うには困らないものと思われる。
exeを展開してMSMED12.txtをExcelで開く。
MSMED12.txtは,
[読み(ひらがな)][TAB][変換候補][TAB][品詞]
という構成になっているので,区切りは「タブ」を指定。
一方,POBoxの辞書形式は,
[読み(アルファベット)][TAB][変換候補]
なので,MSMED12.txtの品詞の列(3列目)は削除する。
他にも必要ない変換候補は行単位で削除する。
②一万語医学辞書の加工(全角→半角の変換)
個人的に英数はいつも半角を使うので,
ここでExcelの列ごとに変換する。
1列目はチェックを「Alphabet」と「数字」と「大文字⇔小文字」にし,
2列目はチェックを「Alphabet」と「数字」にする。
1列目のみを別にtxtファイルにして保存する。(これをアルファベットに変換するため)
②’一万語医学辞書の加工(kakasidict追加用を作成)
医学用語変換辞書の手順ではないが,namazuで使うための加工をついでにしておく。
[ひらがな][半角スペース][漢字][改行(LF)]
となるように「TAB(\t)」を「半角スペース」で置換し,EUCテキストファイルとして②とは別に保存しておく。
③一万語医学辞書の加工(1列目ひらがな→アルファベットの変換)
「MultiReplace」を使わせていただいた。
MultiReplaceに使う置換リストを,医療とザウルス奮闘記さんの置換リストを改良して作成する。
(残念ながら↑のリストでは「っ」の変換が不完全です)
(例えば「結核」が「kextukaku」になってしまう)
(あと「ぁぃぅぇぉ」の変換の仕方も慣れないので変えさせてもらいました)
置換リストの完成品はこちら。
MultiReplaceを起動させ,
区切り文字を「,」にして,
置換リストに作った変換ルールをコピペする。
そして1列目だけのtxtファイルをドロップして置換する。
Excelの1列目に置換したものを貼り付けて,変換のおかしいところがないかをざっとチェックする。
(特に「っぁぃぅぇぉ」。元々の辞書が間違っている箇所があった)
(自分の時は「律」「舌下小丘」で引っかかった)
④staticdicの加工
C3000のstaticdic(/hdd2/QtPalmtop/pobox/staticdic)のバックアップを取る。
staticdicをWindowsの母艦PCにコピー。
TeraPadで開き,文字コードを「Shift-JIS」,改行コードを「CR+LF」にしてtxtで保存する。
staticdic.txtを「タブ」区切り,「日本語(シフトJIS)」を選択してExcelで開く。
文字化けしていなければOK。
一部に3列目があるが,無視してよい。
⑤辞書の結合,並べ替え
Excelで開いているstaticdic.txtの最終行に,
それぞれ一万語医学辞書の1列目,2列目をコピペする。
「編集」→「並び替えとフィルタ」→「昇順」
にして保存。
TeraPadで開いて,文字コードを「EUC」,改行コードを「LF」にしてtxtで保存する。
⑥staticdicの置き換え
/hdd2/QtPalmtop/pobox/にデータをコピーし,
「staticdic」と名前を変更,パーミッションは「644」にして再起動。
QPOBoxを起動し無事変換できれば出来上がり。
プログラム初心者が作成したPerlプログラムです。
一万語医学辞書をQPOBoxに組み込む専用のプログラムです。
プログラムの実行によりPCに不具合が生じる可能性があることを了承した上でお使いください。
ソースはここです。文字コード「UTF-8N」で「convertdic.pl」として保存してください。
>perl convertdic.pl MSMED12.txt staticdic.txt list.txt⑤しばらくすると(管理人の環境では4分近く),「kakasidic.txt」と「newdic.txt」が作成されます。