############################################################################ # sed_imeudic_del_v.txt # MS-IME98/2000 --> OAK/Japanist V1 辞書コンバート用 # sed スクリプト (一括処理用バッチ・ファイル付き) # # N.B. This text is encoded in Shift-JIS (CR+LF) # # 作者:ソヤネン 2001年12月12日 Ver. 0.90 公開 # 2001年12月13日 Ver. 0.91 更新 # 2001年12月18日 Ver. 0.92 更新 # 原本公開場所: # http://homepage1.nifty.com/cura/oya/sed_imeudic_del_v.txt # このスクリプトは「複製・転載・改変すべて自由」とする。 # # ■この sed スクリプトが役立つ人とは? # Windows 98/Me のユーザで,MS-IME98/2000 のユーザ辞書をJapanist V1に # 移行させたいが,Japanist V1付属の辞書ツールでは,MS-IMEのユーザ辞書 # テキストで「読み」に「ヴ」が含まれる単語をインポートできないので, # この点を何とか解決したい人。 # # ■この sed スクリプトが不要な人 # (1) Japanist V1を使っていない人。あるいは,Japanist 2002のユーザー。 # (2) Japanist V1のユーザだが,Win2KもしくはWinXPの使用者。 # (3) 上の「この sed スクリプトが役立つ人とは?」に該当するものの, # 「読みに『ヴ』が含まれるユーザ単語なんて,別に消えてもかまわないや」 # と考える人。 # ※(2), (3)に該当する人は,別文書 # 「Tip: (ユーザ辞書コンバート) MS-IME2000 → Japanist V1.0」 # http://homepage1.nifty.com/cura/oya/transporting_ime2kdic_to_japanist.html # で紹介した方法によって簡単にユーザ辞書移行が可能だ。 # # ■この sed スクリプトの利用法 # 1. 必要なもの: # (1) Japanist V1/OAK V8 and その辞書ツール # (2) MS-IME 98/2000 and その辞書ツール(IME2002は未検証) # (3) マルチバイト対応版 GNU sed Win32 (フリーソフトウェア) # 入手先 # http://www.vector.co.jp/vpack/browse/pickup/pw0/pw000569.html # このWebページ上の # ●sed win32 GNU sed / Win32 Version ストリームエディタ # というリンクをクリックしてダウンロードサイトへジャンプ。 # (4) zip アーカイブの解凍ツール # (5) このスクリプト・ファイル # (6) Windows コマンド・プロンプト操作に関する若干の知識 # 2. 作業手順 # (1) GNU sed のアーカイブをダウンロードしたら,これを解凍する。 # zip形式で圧縮された書庫ファイル(アーカイブ)となっている。 # これを展開して元のファイルを復元する(=解凍する)と, # アーカイブの中に sed.exe が入っている。この sed.exe を # pathの通ったディレクトリにコピーする。どこにコピーして # いいか分からない人は, # sed.exe を c:\windows\command にコピーする # (Windows 2000 なら,c:\winnt\system32 にコピーする) # とよい。 # (2) MS-IME98/2000 の辞書ツールで,ユーザ辞書をテキストファイルに # 書き出す。その方法は, # 「辞書ツール/ツール/一覧の出力」による。以下の例では,このテ # キストファイルを"ms_udic.txt"という名前で示す。テキストファ # イ書き出しの際に,"ms_udic.txt"と名前をつけることをお勧めす # る。 # (3) sed を用いて「読み」の「ヴ」を「う゛」に置換する。 # (2)で出力した辞書テキストと,このスクリプト・テキスト # (sed_imeudic_del_v.txt)とを同じディレクトリーに置く。 # コマンドプロンプトを開き,そのディレクトリーをカレント・ # ディレクトリーに切り替える。そのあとで,コマンド・プロンプト # に対して,すべて半角英数文字で # # sed -f sed_imeudic_del_v.txt ms_udic.txt > jap_udic.txt[Enter] # # ※注:ms_udic.txt --> MS-IMEが書き出した辞書テキスト。 # jap_udic.txt --> Japanistに読み込ませるべきテキスト。 # [Enter] --> 末尾で Enter キーを打鍵する。 # # とタイプすれば,「読み」の「ヴ」は「う゛」に置換される。 # これが■第一の方法■である。 # ただし,この方法では「制限」があるので,この文書を最後まで # 読んで,バッチ・ファイルを使った■第二の方法■によって対処し # て欲しい。 # (4) Japanist V1の辞書ツールキットを用いて jap_udic.txt をJapanistV1 # のユーザー辞書へ読み込ませる。その方法は, #   ・「辞書ツールキット/ツール/抽出ファイルから単語を登録」 # →「ファイルの選択/ファイル名」 # の欄に上でsedが出力した jap_udic.txt を指定するだけである。 # #### 第1レコード「読み」の中に含まれる *一個目* の「ヴ」だけ #### を「う゛」に置換。 # # 筆者が Japanist V1.0 (L10 rel. 0.7G)で確認した限りでは,MS-IME98/ # 2000 が書き出したユーザ辞書テキストにおいて,「読み」(=第1フィールド) # の中にカタカナの「ヴ」が入っていた場合には,たとえそれが「読みの先頭」 # でなくとも,Japanistの辞書ツールでこれをインポートしようとすると, # エラーとして処理されてしまい,結果としてそのエラー対象となった単語は # 登録できない。なお,Win 2K(& おそらくWin XP)環境下の MS-IME2000 で, # ユーザ辞書一覧を出力するときに「Unicode形式」を選択すると,「読み」 # の中の「ヴ」は自動的に「う゛」に書き換えられる。これについては,別文書 # http://homepage1.nifty.com/cura/oya/transporting_ime2kdic_to_japanist.html # を参照。 # # なお,新バージョンのJapanist 2002ではこの不具合(『ヴ』インポート・ # エラー)は改善されている。以下は,あくまでMS-IME側で「Shift-JISテキス # ト」としてユーザ辞書一覧を出力し,Japanist V1.0 (OAK V8)で辞書テキス # ト取り込みを行う場合に,「読み」中の「ヴ」を「う゛」に置換する方法に # ついて説明したものである。 # #### sed スクリプト開始 #  次のコマンドによって第1レコード「読み」中に含まれる *一個目* の # 「ヴ」だけを「う゛」に置換する。 /^.*ヴ.* .* .*$/s/ヴ/う゛/ # ※注意 上(↑)は,/^.*ヴ.*.*.*$/s/ヴ/う゛/となっている。 #### レコード冒頭が「かな」文字以外の登録語をレコードごと削除。 #### ただし,テキスト先頭のMS-IME辞書ヘッダは残す。 /^[^ぁ-ん!]/d #### sed スクリプトおわり。■第一の方法■おわり。 # #  なおここまでに示した■第一の方法■では,「読み」の中に2個以上の # 「ヴ」がある場合駄目だ。 # すなわち,「ヴぁいおりん」→「う゛ぁいおりん」や, # 「でぃヴぇるてぃめんと」→「でぃう゛ぇるてぃめんと」という # 置換はできるが,「ヴぃヴぁるでぃ」→「う゛ぃヴぁるでぃ」と置換されて # しまう。「ヴぃヴぁるでぃ」→「う゛ぃう゛ぁるでぃ」という置換はできな # い。(この対処法は後述。) #  ある特定のフィールドだけを置換対象とするような動作をsed で実行する # 方法が原理的に存在するのか否か,筆者は分からない。知っている方はこっ # そり教えて欲しい。:-) # # ■第二の方法■ #  上の第1のコマンドだけを単独で複数回走らせる----前回のアウトプット # ファイルを次回のインプットファイルとして複数回走らせる;「ヴぃヴぁる # でぃ」なら2回だ----という方法なら「読み」の中の「複数個のヴ」を「う゛」 # に置換させることが可能だ。 # #  バッチファイル化すれば,その作業は一回の実行で作業を完了できる。 # その手順を以下で説明する。まず,二つの「1行 sed スクリプト」をテキス # トファイルとして用意する。 # ##### 第1スクリプト:"sed_del_v1"として保存すること。 # 次のコマンドによって第1レコード「読み」中に含まれる *一個目* の # 「ヴ」だけを「う゛」に置換する。 # ##### 切り抜き開始!! ※次行にある行頭のコメント文字"#"は削除すること。 #/^.*ヴ.* .* .*$/s/ヴ/う゛/ ##### 切り抜きおわり!! # ※注意 上(↑)は,/^.*ヴ.*.*.*$/s/ヴ/う゛/となっている。 # ##### 第1スクリプトおわり # #### 第2スクリプト:※ sed_del_v2 として保存すること。 # レコード冒頭が「かな」文字以外の登録語をレコードごと削除。 # ただし,テキスト先頭のMS-IME辞書ヘッダは残す。 # #### 切り抜き開始!! ※次行にある行頭のコメント文字"#"は削除すること。 #/^[^ぁ-ん!]/d #### 切り抜きおわり!! # #### 第2スクリプトおわり # # 上述のように,これら二つのスクリプトを,それぞれ sed_del_v1, # sed_del_v2 というファイル名でテキストファイルとして保存すること。 # #  次は,バッチファイルである。なお,見る通り,次に示すバッチファイル # によって複数回連続実行させるのは,第1のスクリプトのみだ。次の例では, # (1) 最初に,sed にインプットさせる IME辞書テキスト"ms_udic.txt"を, # sed_del_v1 によって「『ヴ』を『う゛』に置換」させる。(sed を連続実行) # 次に,(2) sed_del_v2 によってレコード先頭が「かな」文字以外の登録語 # をレコードごと削除し,(3)最後に不要な作業ファイルを削除する,という # 手順を採っている。 # #####★次行から切り抜きはじめ ("ime_repv.bat"として保存) #sed -f sed_del_v1 ms_udic.txt > output_1.txt #sed -f sed_del_v1 output_1.txt > output_2.txt #sed -f sed_del_v1 output_2.txt > output_3.txt #sed -f sed_del_v1 output_3.txt > output_z.txt #sed -f sed_del_v2 output_z.txt > jap_udic.txt #del .\output_?.txt #####☆切り抜き終わり (上6行分の行頭コメント文字"#"は削除の上,テキス # トファイルとして ime_repv.bat と名前をつけて保存すること。) # #  あとは,次の四つのファイル,即ち,(1) ms_udic.txt (= # MS-IME98/2000 の辞書ツールによって一覧出力させたユーザ辞書テキストファ # イル), (2) sed_del_v1, (3) sed_del_v2, (4) ime_repv.bat の四つのファ # イルを,同一のディレクトリーにコピーした状態で,そのディレクトリーを # カレント・ディレクトリーとしてコマンドプロンプトを開き,次のようにプ # ロンプトに対してタイプすればよい。(">"によってコマンドプロンプトを # 表す。[Enter]で Enterキーを打鍵する。) # # >ime_repv.bat[Enter] # # このバッチファイルによって,MS-IMEの辞書ツールが吐き出したユーザ辞書 # テキストに含まれる「読みの『ヴ』」を「う゛」に変換し,さらに「読み先 # 頭」が「ひらがな」でないレコードを削除した。ゆえに,Japanist V1.0側 # で,sed が出力した最後のテキストファイル(= jap_udic.txt)から単語登録 # を行うことが可能になる。 # # その方法は, #  ・「辞書ツールキット/ツール/抽出ファイルから単語を登録」 #   →「ファイルの選択/ファイル名」 # の欄に上で jap_udic.txt を指定するだけである。 # # なお,上のバッチファイルで置換可能な「読み中の『ヴ』」は4文字までだ。 # 自分の辞書中に「読みの中に5文字以上の『ヴ』がある」と確信している人 # は,自分で上のバッチファイルを書き換える必要がある。 # # ■第二の方法■おわり # #### End of sed_imeudic_del_v.txt