At 03:43 07/12/13, Nobuyoshi Nakada wrote:

>> それはそれとして...
>> Ruby での encoding 名と Tk での encoding 名とで
>> 対応表を用意しておく必要があるかもと思っています.
>> Tcl/Tk の lsort [encoding names] の結果は
>> ----------------------------------------------------------------------
>> ascii big5 cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257
>> cp1258 cp437 cp737 cp775 cp850 cp852 cp855 cp857 cp860 cp861 cp862
>> cp863 cp864 cp865 cp866 cp869 cp874 cp932 cp936 cp949 cp950 dingbats
>> ebcdic euc-cn euc-jp euc-kr gb12345 gb1988 gb2312 gb2312-raw identity
>> iso2022 iso2022-jp iso2022-kr iso8859-1 iso8859-10 iso8859-13
>> iso8859-14 iso8859-15 iso8859-16 iso8859-2 iso8859-3 iso8859-4
>> iso8859-5 iso8859-6 iso8859-7 iso8859-8 iso8859-9 jis0201 jis0208
>> jis0212 koi8-r koi8-u ksc5601 macCentEuro macCroatian macCyrillic
>> macDingbats macGreek macIceland macJapan macRoman macRomania macThai
>> macTurkish macUkraine shiftjis symbol tis-620 unicode utf-8
>> ----------------------------------------------------------------------
>> という感じなのですが,Ruby の m17n ではどうなりそうでしょうか?
>
>onigurumaと同じになるはずです。
>
>$ l enc
>ascii.c    iso8859_1.c   iso8859_2.c  iso8859_9.c  utf32_be.c
>big5.c     iso8859_10.c  iso8859_3.c  koi8.c       utf32_le.c
>cp1251.c   iso8859_11.c  iso8859_4.c  koi8_r.c     utf8.c
>euc_jp.c   iso8859_13.c  iso8859_5.c  sjis.c
>euc_kr.c   iso8859_14.c  iso8859_6.c  unicode.c
>euc_tw.c   iso8859_15.c  iso8859_7.c  utf16_be.c
>gb18030.c  iso8859_16.c  iso8859_8.c  utf16_le.c

先ず、どの文字コードがサポートされているか、どこまでサポートされているか
(例えば変換だけ、名前としての Encoding、文字コードの「構造」、等など) と、
名前そのものを区別する必要があります。

名前そのものは是非もうちょっとはっきりした方針が必要だと思います。
原則的にはインターネットで幅広く使われている名前を使うべきであると
思っています (http://www.iana.org/assignments/character-sets)。

そうすると例えば Latin-1 といわれるものの場合、ISO-8859-1
(大文字小文字は関係なく) にするべきです。現在は大体その方向で
動いていますが、もうちょっとはっきりした方がいいと思います。
何かのライブラリで綴りが違ったら、そのライブラリと Ruby を
つないでいるところで対応を取った方がいいと思います。
Oniguruma の上記のリストはあくまでもファイル名で、
Encoding の名前ではない。ファイル名では '-' も使えただろうが、
特に変数名では '-' は使えません。

宜しくお願いします。    Martin.



#-#-#  Martin J. Du"rst, Assoc. Professor, Aoyama Gakuin University
#-#-#  http://www.sw.it.aoyama.ac.jp       mailto:duerst / it.aoyama.ac.jp