[#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:33516] Re: 現在の script encoding の値を得る方法は?

From: "NARUSE, Yui" <naruse@...>
Date: 2008-01-30 02:23:38 UTC
List: ruby-dev #33516
成瀬です。

Hidetoshi NAGAI wrote:
>> 唯一高い確度で推定できるのが -K が指定されている場合で、これは -K のエン
>> コーディングだと思われますが。
> 
> なるほど.
> しかし,-K が指定されたかどうかはスクリプト側からはわからないので,
> これによって判断することはできないのが残念です.
> それとも私が忘れているだけで,得る方法が存在したでしょうか?

えーっと、KCODE_CHECKER ="\x80" とか書いたファイルを置いて、それを読み込
むとか。-K が指定されていると デフォルトの script encoding が与えられる
ので、KCODE_CHECKER.encoding が ASCII-8BIT 以外になります。存在はするけ
どー、という感じですね(ぉぃ

> でも,-E オプションが指定された場合を考えると,
> Encoding.default_external に合わせてしまうと
> スクリプト上で Tk からの戻値を利用 (文字列比較とか) する際に
> encoding を常に気にしなければならず,不便そうに感じます.

-E に合わせて変わるべき、と言う主張でした。独立するべきと言う主張も一理
あるとは思います。

>>> また,もし上記のような対応とせざるをえないなら,
>>> Ruby の encoding -> Tcl/Tk の encoding の対応表が必要です.
>>> これを安全確実に作成し維持できるようにするために,
>>> うまい方法はないでしょうか?
>> tk_encoding.each do |name|
>>   enc = Encoding.find(name)
>>   puts '%s -> %s' % [enc.to_s, name]
>> end
>> これで作れます。
> 
> あ,ごめんなさい.
> tk の encoding 名に基づいて,Encoding.find を使って
> 直接対応する encoding を得ることはわかります.
> aliase についても Encoding.aliases の結果に基づいて
> 対応を検索するようにすればなんとかなりそうです.

'%s -> %s' % [enc.to_s, name] となっているところに意図があって、実際は
Ruby 側の encoding から Tk 側の encoding にちゃんとなっています。

r2t_table = {}
tk_encoding.each do |name|
  enc = Encoding.find(name)
  r2t_table[enc] = name
end

def rubyenc2tkenc(name)
  r2t_table[Encoding.find(name)]
end

これで、alias も考慮して Ruby の encoding name から tk の encoding name
が取れます。

> # Encoding.aliases は対応関係のある全 encoding 名を網羅していると
> # 考えていいのですよね?

網羅していなかったらバグなので教えてください。私の気付いた範囲では網羅さ
せているはずです。

> 気にしていたのは直接対応する encoding ではなく,
> その replica が指定されたケース,あるいは
> 直接対応する encoding と共通の replica 元を持つものが
> 指定されたケースです.
> そうした場合には,replica 関係から直接対応する encoding を
> 検索して指定しなければならないように思うのですが,
> この関係はスクリプト上からは調べようがないのですよね?
> それとも,replica に対する私の捉え方が不適切で,
> もし関係がわかったとしてもそれを選択してはならないのでしょうか?

えぇ、関係があったとしてもそれを選択してはなりません。replica 関係では基
本的に CES についてしか見ていませんから、同じ CES でも全く違う文字集合が
入っている場合にはうまくいかなくなります。

一応注意すれば replica 関係で fallback を構成することは可能だとは思うの
ですが、全ての encoding を知っているわけでもないので、現時点でそういった
機構を期待させてしまうのは危険だと感じています。また、ようは(chr)1000 み
たいなキャストをやっていることに他ならないので、明示的に指定してほしい
なぁという思いもあります。

現時点での replica は、あくまで encoding 実装上の都合で、ユーザが見るも
のではない、ということになっていると思います。

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

In This Thread