Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

convert ruby 2.2.x #7

Merged
merged 2 commits into from
May 8, 2016
Merged

convert ruby 2.2.x #7

merged 2 commits into from
May 8, 2016

Conversation

kyohsuke
Copy link
Member

@kyohsuke kyohsuke commented May 7, 2016

#6 の Issue に対するパッチです。

以下の環境にてテスト可能な物を確認しました。

ruby 2.2.5p319 (2016-04-26 revision 54774) [x86_64-darwin14]

確認できていない物は

  • dic-it2skk.rb
  • ctdicconv.rb

の2つです。
どちらも変換で利用する辞書を見つけられませんでした。

@yutopia yutopia mentioned this pull request May 7, 2016
@yutopia
Copy link
Contributor

yutopia commented May 7, 2016

いきなり最初のところでつまずいたのですが、 ( #8 ) 1行目の env が上手く動作してないようです。

#!/usr/bin/env  ruby -E euc-jis-2004:utf-8

手持ちの以下の環境では、

/usr/bin/env: `ruby -E euc-jis-2004:utf-8': No such file or directory

とエラーになり動作してくれません。

  • cygwin
  • MSYS2/mingw64
  • Ubuntu 16.04

FreeBSD 10.0 は env の仕様が異なるため、最初の行を以下のように変更することで正常に動作することを確認しました。

#!/usr/bin/env  -S ruby -E euc-jis-2004:utf-8

-S オプションは gnu の env には無いオプションですが、コマンドに引数がある時は必要となるようです。
ただし、ruby のバージョンは cygwin は 2.2.4 で mingw64 は 2.3.0, FreeBSD では 2.1.x でした。

手持ちのWindows 版 ruby 2.2.3 は env コマンドを経由しないので動作してくれるようです。

すぐにテストできるデータが README.md にあった aozora2skk.rb の例文だけだったものですから、 aozora2skk.rb でしか確認取れていません。

@kyohsuke
Copy link
Member Author

kyohsuke commented May 8, 2016

手持ちの以下の環境では、

/usr/bin/env: `ruby -E euc-jis-2004:utf-8': No such file or directory
とエラーになり動作してくれません。

shbang で引数とれるのって BSD 由来だったんですね、知りませんでした。
引数でエンコードを渡さず、起動後に渡す形に変更しました。

@yutopia
Copy link
Contributor

yutopia commented May 8, 2016

  • aozora2skk.rb -> OK
  • canna2skk.rb -> OK
  • chasen2skk.rb -> 正常な動作がどうなのかわからないのですが、chasenの出力したファイル(euc-jis-2004)を chasen2skk.rb に食わせたところ何も出力されませんでした。これは標準出力されるべきものなのでしょうか? あと、chasenの辞書はeuc-jp の他のコーディングもサポートしてるということで、euc-jp 以外のコーディングではエラーとなります。(Windows 版のchasenをインストールしましたが、出力はshift-jisになりますし、utf-8を使う人もいるかも。)
  • ipadic2skk.rb -> 入力ファイルをeuc-jpにしたときはOK。 ただし、Windows 版の chasen から持ってきた Noun.dic は shift-jis であるため動作しない。(euc-jpに変換すると動作)
  • prime2skk.rb -> OK
  • dic-it2skk.rb -> http://homepage2.nifty.com/palmgiraffe/dic-it/download.htm にあった dic-it18.zip 添付の辞書でテストしましたが、添付の辞書 dic-it.txt が shift-jis であるため他の辞書と同様のエラー。euc-jpに変換したところ動作はしましたが、words の後の "/" の前に改行が挿入されてしまっていました。
  • ctdicconv.rb -> 私も該当する辞書ファイルをみつけることができなかったのでテストできませんでした。

辞書の文字コードについては元のツールの時点でeuc-jpにしか対応していないことを謳ってるのですがどうしましょう?
出力ファイルのコーディングもeuc-jpのままで良いのか、とか頭の痛い問題はありますが、とりあえず棚上げにしますか? > @kyohsuke
その場合、明らかに挙動がおかしい(と思われる) dic-it 形式以外は問題なさそうな気がします。
chasen2skk.rb については、私もちゃんと使い方がわかってないので、そのせいなのかもしれません。

@yutopia
Copy link
Contributor

yutopia commented May 8, 2016

とりあえず現状で merge してしまいます。
あとは別途考えましょう。

@yutopia yutopia merged commit 5d238e8 into skk-dev:master May 8, 2016
@yutopia yutopia mentioned this pull request May 8, 2016
tats added a commit that referenced this pull request May 13, 2016
@tats
Copy link
Member

tats commented May 13, 2016

@kyohsuke

引数でエンコードを渡さず、起動後に渡す形に変更しました。

STDOUTにeuc-jis-2004が反映されていなかったのを修正しました。
cf. 5cafbbe

@kyohsuke
Copy link
Member Author

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

@kyohsuke kyohsuke deleted the bump_up_ruby_2_2_x branch August 2, 2018 18:13
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants