Skip to main content

ログ取得ツール (移転先予定地)

SKK辞書の汚染

SKKの辞書の一部が猛烈に文字化けしていたので直した。普通には直らない。一部のエントリは修復不可能な壊れ方になっている。しょうがないのでこうした。


--- skkpy.py ここから
#! /usr/bin/python

import string
import japanese
import sys

def read_files(filename):
  f=open(filename, "r")
  lines=f.readlines()
  f.close()
  for i in lines:
    try:
      s=unicode(i, "japanese.euc-jp")
      if s[0]!="/":
        print s.encode("japanese.iso-2022-jp"),
    except:
      i

for i in sys.argv[1:]:
  read_files(i)
--- skkpy.py ここまで

python skkpy.py ~/.skk-jisyo | nkf -e

で、できたのは文字化けしていない。japanese.euc-jpにencodeすると化けたままのが残ってしまう。…Pythonで何もしないブロックってどう書くんだっけ?

もともとskkinputとskk.elのプライベート辞書のマージにはskkdic-expr2を使っていて、しばらく前から猛烈に化けているエントリがあって徐々に汚染されてきているのは知っていたのだが、今回遅ればせながら手を打ったわけ。前も汚染されてったことがあって、その時は確かあきらめたんだったと思う。XEmacsで開いてもほとんど化けまくりだったし、viで編集もダメ。自動判別は勿論効かないので強制的にEUC-JPで開いたら一部のエントリだけが見えたって状態だったのだ。今回は大部分のエントリを救うことができた。

IMEの辞書はあたかも人生のログのようだ。学習結果はもちろんそうだし、「w」→「/(笑)/渡辺です。/」や「r」→「/(略)/了解しました。/」みたいなショートカット的なエントリもたくさん登録されている。SKKはバカだがそれだけに人間側がSKKの動作を読めるので入力は異様に快適。

(追記) 2003-10-25 16:17

Pythonの空ブロックはpassと書く、だった。全く空だとダメなのは、なにゆえ??