[#32945] Shift_JIS variants and UTF-16 support — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

22 messages 2008/01/07
[#32953] Re: Shift_JIS variants and UTF-16 support — Martin Duerst <duerst@...> 2008/01/07

中村さん、こんにちは。

[#32955] Re: Shift_JIS variants and UTF-16 support — Yukihiro Matsumoto <matz@...> 2008/01/07

まつもと ゆきひろです

[#32959] Re: Shift_JIS variants and UTF-16 support — "NARUSE, Yui" <naruse@...> 2008/01/07

成瀬です。

[#32960] Re: Shift_JIS variants and UTF-16 support — Yukihiro Matsumoto <matz@...> 2008/01/07

まつもと ゆきひろです

[#32992] ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — "NARUSE, Yui" <naruse@...>

成瀬です。

18 messages 2008/01/08
[#32994] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — Yukihiro Matsumoto <matz@...> 2008/01/09

まつもと ゆきひろです

[#32995] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — Martin Duerst <duerst@...> 2008/01/09

At 18:13 08/01/09, Yukihiro Matsumoto wrote:

[#33011] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — "NARUSE, Yui" <naruse@...> 2008/01/11

成瀬です。

[#33012] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — Yukihiro Matsumoto <matz@...> 2008/01/11

まつもと ゆきひろです

[#33014] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — "NARUSE, Yui" <naruse@...> 2008/01/11

成瀬です。

[#33015] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — Yukihiro Matsumoto <matz@...> 2008/01/11

まつもと ゆきひろです

[#33239] Re: [ruby-cvs:22386] Ruby:r15149 (trunk): * string.c (rb_str_each_char): move forward. — Tanaka Akira <akr@...>

In article <200801210259.m0L2x3CW017171@ci.ruby-lang.org>,

11 messages 2008/01/21
[#33240] Re: [ruby-cvs:22386] Ruby:r15149 (trunk): * string.c (rb_str_each_char): move forward. — Nobuyoshi Nakada <nobu@...> 2008/01/21

なかだです。

[#33303] Time#strftimeのエンコーディング — rubikitch@...

るびきちです。

13 messages 2008/01/23
[#33305] Re: Time#strftimeのエンコーディング — Yukihiro Matsumoto <matz@...> 2008/01/23

まつもと ゆきひろです

[#33368] summary of script encoding — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

22 messages 2008/01/25
[#33375] Re: summary of script encoding — Yukihiro Matsumoto <matz@...> 2008/01/25

まつもと ゆきひろです

[#33376] Re: summary of script encoding — "U.Nakamura" <usa@...> 2008/01/25

こんにちは、なかむら(う)です。

[#33387] HashからStructを作る — rubikitch@...

るびきちです。

19 messages 2008/01/25
[#33455] Re: HashからStructを作る — Yukihiro Matsumoto <matz@...> 2008/01/28

まつもと ゆきひろです

[#33505] Re: HashからStructを作る — rubikitch@... 2008/01/29

From: Yukihiro Matsumoto <matz@ruby-lang.org>

[#33507] Re: HashからStructを作る — Yukihiro Matsumoto <matz@...> 2008/01/29

まつもと ゆきひろです

[#33508] Re: HashからStructを作る — rubikitch@... 2008/01/29

From: Yukihiro Matsumoto <matz@ruby-lang.org>

[#33433] Win32OLE: set encoding to OLE string — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

16 messages 2008/01/28

[#33461] Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...>

=1B$B?9ED$H?=3D$7$^$9!#=1B(B

19 messages 2008/01/28
[#33473] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — Nobuyoshi Nakada <nobu@...> 2008/01/28

なかだです。

[#33503] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...> 2008/01/29

森田です。

[#33514] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — Nobuyoshi Nakada <nobu@...> 2008/01/29

なかだです。

[#33518] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...> 2008/01/30

森田です。

[#33545] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — Ryutaro Amano <wn9r-amn@...> 2008/01/31

天野竜太郎と申します。

[#33546] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...> 2008/01/31

森田です。

[#33547] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — Ryutaro Amano <wn9r-amn@...> 2008/01/31

天野です。

[#33551] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...> 2008/01/31

森田です。

[#33488] 現在の script encoding の値を得る方法は? — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

20 messages 2008/01/29
[#33491] Re: 現在の script encoding の値を得る方法は? — Yukihiro Matsumoto <matz@...> 2008/01/29

まつもと ゆきひろです

[#33500] Re: 現在の script encoding の値を得る方法は? — Hidetoshi NAGAI <nagai@...> 2008/01/29

永井@知能.九工大です.

[#33501] Re: 現在の script encoding の値を得る方法は? — "NARUSE, Yui" <naruse@...> 2008/01/29

成瀬です。

[#33515] Re: 現在の script encoding の値を得る方法は? — Hidetoshi NAGAI <nagai@...> 2008/01/30

永井@知能.九工大です.

[#33516] Re: 現在の script encoding の値を得る方法は? — "NARUSE, Yui" <naruse@...> 2008/01/30

成瀬です。

[#33519] Re: 現在の script encoding の値を得る方法は? — Hidetoshi NAGAI <nagai@...> 2008/01/30

永井@知能.九工大です.

[#33522] Re: 現在の script encoding の値を得る方法は? — "NARUSE, Yui" <naruse@...> 2008/01/30

成瀬です。

[ruby-dev:32956] Re: Shift_JIS variants and UTF-16 support

From: "NARUSE, Yui" <naruse@...>
Date: 2008-01-07 10:01:03 UTC
List: ruby-dev #32956
成瀬です。

Martin Duerst wrote:
>> (1) 現状のtranscodeがサポートしている「Shift_JIS」というのは、
>>    数多あるvariantのうちのどれでしょうか?
> 
> 変換テーブルには nkf の http://nkf.sourceforge.jp/ucm/SJIS-nkf.ucm
> を使っています。勿論こちらでバグが入ってしまった可能性もあります。
> 何か不都合なことがありましたら是非教えてください。
>
> 問題が、いじる間に、メーリングリストの議論とテーブルのデータ
> はどうも一致してないことに気がつきました。メーリングリストの
> 議論では Shift_JIS は JIS が定義している純粋なものだという
> 意見が強かったかと思いましたが、SJIS-nkf.ucm では少なくとも
> 一部のベンダー外字が含まれている。その辺りを相談したいところで
> 中村さんのメールがちょうどいいときに来ましたので是非意見を
> お聞かせください。

Perl/Encode の Shift_JIS にあわせた方がいいような気もしたのですが、特別
問題もないと思ったので SJIS-nkf でもいいかなと思っていました。

この機会に SJIS-nkf について説明しておきますと、SJIS-nkf はかなりルーズ
なマッピングで、ベンダー依存文字のマッピングが大量に入っています。ここに
ついては nkf の見解としては「厳密性を求めるような encoding でもないし、
増える分には便利だからいいじゃん」というものなのですが、Ruby/transcode
の方針は別にするのもありでしょう。

なお、Perl/Encode の Shift_JIS とのマッピングの違いのうち、単純な追加で
ないものは以下の通りで、これらについては Perl/Encode よりも JIS の公開し
ているマッピング寄りに倒しています。

ucm\shiftjis.ucm と ucm\SJIS-nkf.ucm を比較中...
143c146,147
< <U00AC> \x81\xCA |0
---
> <U00AC> \x81\xCA |1
> <U00AF> \x81\x50 |1
265c270,271
< <U2015> \x81\x5C |0
---
> <U2014> \x81\x5C |0
> <U2015> \x81\x5C |1
7079,7080c7544,7549
< <UFFE3> \x81\x50 |0
< <UFFE5> \x81\x8F |0
---
> <UFFE3> \x81\x50 |1
> <UFFE5> \x81\x8F |1
ファイル比較終了.

ついでに書いておきますと、EUC-nkf は nkf デフォルトの EUC-JPで、基本的に
は eucJP-ascii なのですが、3bytes になってしまう範囲は CP51932 を
用いている変則的な encoding です。入力に関しては 3bytes も受け取ります。
http://nkf.sourceforge.jp/ucm/eucJP-nkf.ucm

もしかしたら Ruby では eucJP-ascii の方を「EUC-JP」で参照した方がいいか
もしれません。
http://nkf.sourceforge.jp/ucm/eucJP-ascii.ucm
http://home.m05.itscom.net/numa/cde/ucs-conv/ucs-conv.html
# eucJP-ascii TOG/JVC CDE/Motif 技術検討 WG の定めた、eucJP-open と
Unicode 間のコード変換規則で、「JIS X 0221 式の変換 (ASCII と併用する場
合)」。

このような微妙さができているのは、そもそも JIS の公開している Shift_JIS
と EUC-JP の変換マップが円記号問題のせいで絶望的に使えないために、どうし
てもそのまま用いることができないからです。それを踏まえた上でどのような変
換表を「Shift_JIS」と「EUC-JP」に割り当てるかは頭の痛い問題です。

>>    年末にWindows-31Jを入れたので、サポートしたいというかして
>>    ほしいというかそう思っているのですが...
> 
> こちらもそう思っています。既に CP932 のデータを色々いじっています
> (http://nkf.sourceforge.jp/ucm/cp932.ucm をベースにして)。

CP932 のテーブルは Perl/Encode と一致していたか、Windows が実際に行う変
換を調べてそれを基に作ったかのはずなので、まず問題はないはずです。

-- 
NARUSE, Yui  <naruse@airemix.com>
DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA

In This Thread