2009-03-09

二月に注文していた VAIO type P が土曜日にようやく届き、ちまちまセットアップ。字ちっちぇええ! どうすんだよこれ……。

とりあえず Windows PC のお約束として、プリインストールソフトのアンインストールやらアップデートやらリカバリディスクの作成やら使うソフトのインストールやらに時間がかかるので、買ってから数日間は実践投入できない。使い始めたら感想書こう。

それにしても、昨日今日と立て続けに二度も P 使っている人を喫茶店で見かけてしまった。なんか流行りもんになっとる……。そんなだと、ちょっと外で使うのが恥ずかしいな。

ローマ字 Python モジュール

まだなんもドキュメントがないけど、機能はそんなに多くない。ヘボン式、訓令式、日本式、そしてローマ字入力式のローマ字をかなに、またかなをローマ字に変換する。各方式ごとにひとつのモジュールになっているので、import romaji.hepburn などのようにして使う。Python インタプリタの -m オプションでモジュールをスクリプトとして実行すると、標準入力の文字列を変換して標準出力に吐き出すツールとして動く。

C:¥>python -m romaji.hepburn -h
Usage: hepburn.py [options]

Options:
  -h, --help            show this help message and exit
  -f FROM_ENCODING, --from-encoding=FROM_ENCODING
                        source encoding <cp932>
  -t TO_ENCODING, --to-encoding=TO_ENCODING
                        destination encoding <cp932>
  -r, --romaji          kana to romaji

C:¥>echo watashi no namae wa nakano desu. | python -m romaji.hepburn
わたし の なまえ わ なかの です.

C:¥>echo わたし の なまえ わ なかの です. | python -m romaji.hepburn -r
watashi no namae wa nakano desu.

が、ヘボン式も訓令式も長音はアクセント記号付きになるので(おとうさん → Otōsan など)、CP932 のコマンドプロンプト上では UnicodeEncodeError が起こる。-t オプションで出力エンコードを utf-8 などにして、リダイレクトで結果を見ればよい。

やってることはただの最長一致置換ですが、変換テーブルの作成がめんどくさかった。おかしなところがあったら教えてください。