[#38323] [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@...

押田です。

22 messages 2009/04/24
[#38331] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/04/26

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

[#38339] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@... 2009/04/27

押田です。

[#38340] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/04/27

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

[#38697] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/06/21

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

[#38711] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@... 2009/06/24

押田です。

[#38723] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/07/01

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

[#38743] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@... 2009/07/07

押田です。

[#38747] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/07/08

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

[#38748] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@... 2009/07/08

押田です。

[#38749] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/07/08

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

[ruby-dev:38358] Re: [Feature:1.9] transcode for UTF8-MAC

From: "NARUSE, Yui" <naruse@...>
Date: 2009-04-29 12:59:35 UTC
List: ruby-dev #38358
成瀬です。

Nobuyoshi Nakada wrote:
> なかだです。
> 
> At Wed, 29 Apr 2009 18:43:26 +0900,
> NARUSE, Yui wrote in [ruby-dev:38356]:
>> 「ファイルシステムに適した形」というのは、必ずしもdecomposed Unicodeには
>> ならないという意味です。
>> 例えば、HFS+ではdecomposed UTF-16になります。
>> しかし、smb経由でWindowsのファイルサーバーにアクセスする場合、
>> Mac OS Xはファイル名を合成済み形式にしてアクセスを行います。
>> そして、分解済みのファイル名を持つファイルにはアクセスすることができません。
>>
>> 例外がUFSとNFSで、この2つでは上記の処理が行われません。
> 
> ファイルシステムを意識したコードを書かなければならないというのは
> かなりイヤですねぇ。

新しいFSが出てきた時にそこではどういう扱いをするのか、
とかも考えないといけませんからねぇ。

>>> 現状では、シェルのglobではNFDがそのまま渡されたり、それ以外の部
>>> 分ではNFCになっていたり、ARGVやENVはUTF-8のままであったり、
>>> UTF8-MACを分けていることによるメリットはありません。UTF-8に統一
>>> して、normalizeするメソッドを追加するほうがよいのではないでしょ
>>> うか。
>> 「normalizeするメソッド」はr23296にて、transcodeにUTF8-MACを追加という形で
>> 対処を行いました。
> 
> encode("UTF-8", "UTF8-MAC") と
> encode("UTF8-MAC").force_encoding("UTF-8") ですか?
> 
> 前者はまぁともかく、後者は到底使いやすいとは思えません。せめて
> encode("UTF-8", normalize: :decompose) とか。

後者に対する問題意識は理解しますが、指定の際には行う変換が、
「Appleによって修正されたNFDから戻すための変換」だと明示する必要があります。
ので、encode("UTF-8", normalize: :decompose_mac)とかになりますか。

しかし、いっそのことUTF8-MACをUTF-8のaliasにしちゃってもいいかなとも思っています。

>> 「UTF-8に統一」というのには設定するエンコーディングを「UTF-8」にする
>> という意味だけですか?
>> ファイル名のリストを取得する際に変換という話もなさっていたように思いますが。
>> # で、その場合ARGVやENVはどうするのかなぁという疑問がある
> 
> 自動的な変換は一切なし、という方向に傾いています。

自動変換を入れると上述のファイルシステムごとに分岐するか否かとかもあるんですよね。
一部を取り出せばあった方が良さそうだが、
全体として矛盾のない処理がきわめて困難なので変換なし、になるかなぁと。

-- 
NARUSE, Yui  <naruse@airemix.jp>

In This Thread