[#24698] NKF(nkf2)を1.8ブランチに入れました — "NARUSE, Yui" <naruse@...>

naruseです。

14 messages 2004/11/03
[#24734] Re: NKF(nkf2)を1.8ブランチに入れました — 堀川 久 <vzw00011@...> 2004/11/06

こんにちは。

[#24720] メール関係ライブラリの標準添付について — MoonWolf <moonwolf@...>

MoonWolfです。

17 messages 2004/11/05
[#24721] Re: メール関係ライブラリの標準添付について — Yukihiro Matsumoto <matz@...> 2004/11/05

まつもと ゆきひろです

[#24722] Re: メール関係ライブラリの標準添付について — MoonWolf <moonwolf@...> 2004/11/05

MoonWolfです。

[#24804] Re: まつもとさんの負担を減らすために、何ができるだろう — "URABE Shyouhei aka.mput" <root@...>

mput です。 ruby-dev に移動します。

21 messages 2004/11/13
[#24805] Re: まつもとさんの負担を減らすために、何ができるだろう — Tanaka Akira <akr@...17n.org> 2004/11/13

In article <2D6284E3-351D-11D9-B7EF-000393735AAE@mput.dip.jp>,

[#24806] Re: まつもとさんの負担を減らすために、何ができるだろう — "URABE Shyouhei aka.mput" <root@...> 2004/11/13

mput です。

[#24808] Re: まつもとさんの負担を減らすために、何ができるだろう — Masayoshi Takahashi <maki@...> 2004/11/13

高橋征義です。

[#24809] Re: まつもとさんの負担を減らすために、何ができるだろう — "URABE Shyouhei aka.mput" <root@...> 2004/11/13

mput です。

[#24834] Process.getrlimit and Process.setrlimit — Tanaka Akira <akr@...17n.org>

Process.getrlimit と Process.setrlimit が欲しいので実装してみました。

25 messages 2004/11/13

[#24965] sync and stdio buffering — Tanaka Akira <akr@...17n.org>

ちょっとした思いつきなのですが、

12 messages 2004/11/26

[#24993] rb_io_sysread dumps core [BUG] rb_sys_fail() - errno == 0 — Tietew <tietew-ml-ruby-dev@...>

ソケットとスレッドを大量に使うアプリ(具体的には IRCbot です)を

13 messages 2004/11/29

[#25003] IO#flush dumps core again — Tanaka Akira <akr@...17n.org>

次のようにすると core を吐きます。

28 messages 2004/11/30
[#25004] Re: IO#flush dumps core again — nobu@... 2004/11/30

なかだです。

[#25005] Re: IO#flush dumps core again — Yukihiro Matsumoto <matz@...> 2004/11/30

まつもと ゆきひろです

[#25009] Re: IO#flush dumps core again — Tanaka Akira <akr@...17n.org> 2004/12/01

In article <1101836040.635395.27476.nullmailer@x31.priv.netlab.jp>,

[#25014] Re: IO#flush dumps core again — Tanaka Akira <akr@...17n.org> 2004/12/01

In article <1101878558.979715.1359.nullmailer@x31.priv.netlab.jp>,

[#25015] Re: IO#flush dumps core again — Yukihiro Matsumoto <matz@...> 2004/12/01

まつもと ゆきひろです

[#25056] Re: IO#flush dumps core again — Tanaka Akira <akr@...17n.org> 2004/12/05

In article <1101888165.570792.4192.nullmailer@x31.priv.netlab.jp>,

[#25074] Re: IO#flush dumps core again — Tanaka Akira <akr@...17n.org> 2004/12/06

In article <1102293033.356112.2288.nullmailer@x31.priv.netlab.jp>,

[ruby-dev:24780] Re: NKF(nkf2)を1.8ブランチに入れました

From: "NARUSE, Yui" <naruse@...>
Date: 2004-11-11 14:19:19 UTC
List: ruby-dev #24780
naruseです。

堀川 久 wrote:
>>IBM拡張文字が変換の過程でNEC選定IBM特殊漢字になる問題は、
>>Shift_JISに戻す際に--cp932invオプションを付ければ抑止できます。
>>この動作をデフォルトにしようとも考えましたが、
>>とりあえずそのままにしておきました。
> 
> WindowsでもLinuxでも実機で確認していないのですが、Windows(cp932)で
> はIBMの方へ変換するようです。
> http://support.microsoft.com/default.aspx?scid=kb;ja;170559
> 
> NEC選定のほうへ変換する流儀もあるのかしら。

nkfの場合は流儀とかでなく、普通に実装したらこうなったという感じです。

nkfはJIS系からUnicode系への変換はEUCとUnicodeの変換テーブルを使います。
よって、
Shift_JIS(fa40)→EUC(fcf1)→Unicode(2170)→EUC(fcf1)→Shift_JIS(eeef)
という手順になっているわけです。

で、本来Shift_JISとEUCのマッピングは
Shift_JIS(eeef)とEUC(fcf1) で行われているんです。
これはテーブルでなく、
大元の区点コードに対する、Shift_JISとEUC-JPのマッピングを元に、
単純な計算式から求められています。
この計算式を使うとEUC(fcf1)→Shift_JIS(eeef)になるので、
そのままになっていると。
#NetBSD+Rubyな手元のIconvもこのような動作です

よって、これをShift_JIS(fa40)にするには個別に置換する必要があり、
この置換処理がデフォルトでOFFになっています。
で、これをオンにするオプションが--cp932invであると。

ちなみに、そもそもの最初の Shift_JIS(fa40)→EUC(fcf1)
という変換も特殊なもので、個別にテーブルで行っています。
これはデフォルトでONになっており、
抑止するためのオプションが--nocp932です。

なので、eeefに変換されるほうが実装としては自然になるわけです。
けれどもCP932ではfa40になるのですね。
--cp932invをデフォルトにONにして、--nocp932で抑止するようにしますかね?

‘自然な実装’やIconvに合わせるか、CP932に合わせるかについて、、
わたし自身は特に意見を持たないのでそのままにしておいたのですけれど。


>>* MicrosoftのUCSマッピングに絡む問題
> 
> これはどの文字の件でしょうか。

http://www.miraclelinux.com/technet/samba30/iconv_issues.html
で指摘されている
〜 0x8160、‖ 0x8161、− 0x817C
¢ 0x8191、£ 0x8192、¬ 0x81CA
の6文字の件です。
--ms-ucs-mapを指定すると、CP932互換のマッピングを行うようにしました。


###

標準ライブラリのメンテナを確定する作業に入るのかな・・・。
iconvやjcodeあたりならメンテナやりますよ〜(っと、とりあえずひっそり

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

In This Thread