skk-dev / skktools

SKK dictionary maintenance tools
http://openlab.jp/skk/
GNU General Public License v2.0
40 stars 11 forks source link

isshue #6 残り #9

Open yutopia opened 8 years ago

yutopia commented 8 years ago

6 対応の #7 で棚上げした ruby ツールについて。

kyohsuke commented 8 years ago

dic-it2skk.rb は辞書を見つけられずコードをそのまま 2.2.5 対応かけただけなので、 辞書を探していただいた今ならこちらで確認できます。 これは直します。

これ見つからないです、ほんと見つからないです。

これが一番頭の痛い問題ですね。 元々のコードが euc-jp 決め打ちの状態になっていて、 その形で euc-jp を食わせて euc-jp の skk-jisyo 形式を吐き出すのは確認したのですが、 先のお話であったように sjis も utf8 も環境によっては吐き出すので、 その部分をどうするかが難しいです。

yutopia commented 8 years ago

コーディングについてシンプルな方法として、euc-jp -> euc-jp をデフォにしておいて、他のコーディングについては作業者がオプションで明示的に指示するようにするとか考えていたのですが。 つまり、オプション無しのとき euc-jp -> euc-jp オプション -f (変換元)、 -t (変換先) とか。

hattya commented 8 years ago

ctdicconv.rbSKK-JISYO.china_taiwan を生成するために使われています。

http://openlab.ring.gr.jp/skk/skk/dic/Makefile

yutopia commented 8 years ago

@hattya ありがとうございます。 http://openlab.ring.gr.jp/skk/dev-ja.html の方法で cvs 経由で skk/dic から取って来れるということですね。

ついでに調べてみたのですが、openlab の ruby は現状では 2.1.8 みたいです。cron で定期的に make されてるのかなぁ。 配布辞書のメンテに skktool が使われてるのは恥かしながら知りませんでした。 ということは、skktools は github の更新内容を openlab に反映しないといけないということですね。

yutopia commented 8 years ago

skk/skktools は今は削除されているので、cron が動作していたとしても skktools は更新されていません。 上のMakefile の中の ../tools ディレクトリをのぞいてみたのですが、ruby ファイルがなかったので、上記の Makefile でメンテされてるはずの辞書の一部がアップデートされてない可能性があるみたいです。 もしかして、これって大きな問題なんでは。。 新たに issue 立てときます。MLにも流さないといけないか。

tats commented 8 years ago

skk/dicでのmake SKK-JISYO.china_taiwanで下記のようにエラーになる のを修正しました。cf. https://github.com/skk-dev/skktools/commit/86064813d4f9880666450b86e02d9e93ee4231e9

$ make SKK-JISYO.china_taiwan TOOLS_DIR=~/tmp/skktools
ruby -I /home/tats/tmp/skktools/filters /home/tats/tmp/skktools/convert2skk/ctdicconv.rb csv/china_taiwan.csv > SKK-JISYO.tmp
/home/tats/tmp/skktools/convert2skk/ctdicconv.rb:108:in `tr!': incompatible character encodings: EUC-JIS-2004 and UTF-8 (Encoding::CompatibilityError)
        from /home/tats/tmp/skktools/convert2skk/ctdicconv.rb:108:in `block in <main>'
        from /home/tats/tmp/skktools/convert2skk/ctdicconv.rb:66:in `foreach'
        from /home/tats/tmp/skktools/convert2skk/ctdicconv.rb:66:in `<main>'
Makefile:64: recipe for target 'SKK-JISYO.china_taiwan' failed
make: *** [SKK-JISYO.china_taiwan] Error 1
yutopia commented 8 years ago

@tats ありがとうございます。