Feature #6349
closedIconv の復活を希望します
Description
r35444 で Iconv が削除されましたが、例えば Iconv.conv('UTF-8', 'EUC-JISX0213', line) のようなコードは
Ruby の Encoding が EUC-JISX0213 に対応していないため、単純に String#encode に置き換えることができません。
(私の場合だと、SKKのJIS第三・第四水準辞書 http://openlab.ring.gr.jp/skk/wiki/wiki.cgi?page=SKK%BC%AD%BD%F1#p25
を扱っているスクリプトで上のようなコードを書いています)
このように String#encode では扱えないケースがあるため、Iconv の復活を希望します。
Updated by kyanagi (Kouhei Yanagita) over 12 years ago
こんにちは。柳田です。
2012年4月24日16:55 "Martin J. Dürst" duerst@it.aoyama.ac.jp:
EUC-JISX0213 以外に、必要が String#encode にない文字コードはありますか。
ひとまず私の使っている範囲では、EUC-JISX0213 があれば十分です。
--
柳田 浩平 / やなぎた こうへい
Kouhei Yanagita yanagi@shakenbu.org
Updated by duerst (Martin Dürst) over 12 years ago
On 2012/04/24 17:11, "Martin J. Dürst" wrote:
On 2012/04/24 17:02, U.Nakamura wrote:
データは例によってNetBSDのものが利用できそうです。
なのですが、transcodeってUnicodeの第0面(BMP)以外はサポートし
てましたっけ?もちろんです :-)
もうちょっと調べました。BMP 以外は transcode の最初から全く問題ないです
が、現時点で引っかかるのは次のものです
(http://x0213.org/codetable/euc-jis-2004-std.txt から抜粋):
0xA4F7 U+304B+309A # [2000]
0xA4F8 U+304D+309A # [2000]
0xA4F9 U+304F+309A # [2000]
0xA4FA U+3051+309A # [2000]
0xA4FB U+3053+309A # [2000]
0xA5F7 U+30AB+309A # [2000]
0xA5F8 U+30AD+309A # [2000]
0xA5F9 U+30AF+309A # [2000]
0xA5FA U+30B1+309A # [2000]
0xA5FB U+30B3+309A # [2000]
0xA5FC U+30BB+309A # [2000]
0xA5FD U+30C4+309A # [2000]
0xA5FE U+30C8+309A # [2000]
0xA6F8 U+31F7+309A # [2000]
0xABC4 U+00E6+0300 # [2000]
0xABC8 U+0254+0300 # [2000]
0xABC9 U+0254+0301 # [2000]
0xABCA U+028C+0300 # [2000]
0xABCB U+028C+0301 # [2000]
0xABCC U+0259+0300 # [2000]
0xABCD U+0259+0301 # [2000]
0xABCE U+025A+0300 # [2000]
0xABCF U+025A+0301 # [2000]
0xABE5 U+02E9+02E5 # [2000]
0xABE6 U+02E5+02E9 # [2000]
ようするに、JIS X 0213 で一文字になっているが、Unicode で二文字になって
いるものです。EUC-JISX0213 から UTF-8 は問題ないですが、逆は現在引っかか
ります。windows-1258 も (逆ですが) 同じ問題がありますので、いずれはなく
さないといけないと思いましたが、今回はいいきっかけのではないかと思います。
よろしくお願いします。 Martin.
Updated by usa (Usaku NAKAMURA) over 12 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r35460.
Kouhei, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
-
enc/euc_jp.c: added EUC-JP-2004 and its alias EUC-JISX0213.
[ruby-dev:45571] [Feature #6349]
Requested by Kyouhei Yanagita yanagi@shakenbu.org. -
enc/trans/japanese_euc.trans: ditto.
-
enc/trans/JIS/JISX0213-[12]%UCS@{BMP,SIP}.src: JIS X 0213:2004 ->
Unicode mapping table from NetBSD. -
enc/trans/JIS/UCS@{BMP,SIP}%JISX0213-[12].src: Unicode -> JIX X
0213:2004 mapping table from NetBSD. -
tool/transcode-tblgen.rb: added SIP support.
-
test/ruby/test_transcode.rb: tests of above changes.