[FreeBSD-users-jp 96173] Re: zipアーカイブ中の日本語ファイル

Tomoaki AOKI junchoon @ dec.sakura.ne.jp
2017年 11月 19日 (日) 13:18:43 UTC


青木@名古屋です。

On Tue, 14 Nov 2017 00:02:32 +0900
Hajimu UMEMOTO <ume @ mahoroba.org> wrote:

> 梅本です。
> 
> >>> Mon, 13 Nov 2017 21:53:16 +0900 の刻に「junchoon」、すなわち
> >>> Tomoaki AOKI <junchoon @ dec.sakura.ne.jp> 氏曰く
> 
> junchoon> On Mon, 13 Nov 2017 11:50:30 +0900
> junchoon> Takashi SHIRAI <shirai @ unixusers.net> wrote:
> 
> >  これって、そもそも論として「CJK 圏で困るから ICONV=on でビ
> > ルドしてね」ってメンテナさんにお願い出来ないんでしょうか?
> 
> 要望は出しても良いのではないでしょうか。

そう言いたい気はしますが...


> junchoon> これ、言いたいところですが、embeddedな面々から「リソースの
> junchoon> 限られたプラットホームのことも考えろ」と反論を食らいそうです。
> junchoon> 変換テーブルの大きさも馬鹿になりませんし。
> 
> 今時、unzip は別実装が標準で入っていますし、その辺はあまり気にならない
> かと。
> それに、ICONV を有効にした ports の unzip でも、リンクする iconv は
> libc に標準的に入っているものですし、ほとんど影響ないでしょう。

baseがWITHOUT_ICONVでビルドされていなければそうですよね。
loaderでのGELIサポートのデフォルト化にも反対の声が上がったり
する訳で。


> ICONV を有効にした際に得られる機能は、オリジナルが持っているものであり
> ません。パッチを当ています。
> このパッチの本家での扱いがどうなっているのか知りませんが、ports でサー
> ドパーティのパッチをデフォルトで当ててしまうと、ports の保守性が著しく
> 損なわれます。ports の unzip のメンテナが、この辺を気にしているのかも
> しれません。
> ちなみに、私がメンテナをしているある ports でも、サードパーティなパッ
> チをデフォルトで当ててくれと幾度もなく要望されていたことがありますが、
> 同じ理由で頑なに断り続けたことがあります。

ここが最大の問題のように思えます。
前述のサイズ問題は、行き着くところ、そこまで厳しい環境なら
OPTION設定も徹底的に吟味するでしょうし、そうなればこれ以外の
ものでもportsからビルドしたものを使うことも多いでしょうから。

# 確かカーネルで動きがあったと思いますが、機能をとことん
# 機能毎のモジュールに追い出すようになっていれば、極端な話、
# モジュールまるごとのパッチを作ってしまうという手も。


> >  2 はリソースが Sjift_JIS 以外のコードだと誤解して変換して
> > しまった結果だと思うので、nkf に -s オプションに加えて適切な
> > --ic オプションを設定してやることで復元出来るかも知れません。
> 
> junchoon> こちらは別途丸山さんのメールへの返信で書いたように、化け方が
> junchoon> 1と同じなら文字コード指定がないからiconvの機能を使っていない
> junchoon> だけ、違う化け方ならしらいさんのおっしゃるとおりかと。
> 
> ICONV を有効して作った場合と有効にしていない場合とで挙動が違うとすれば、
> デフォルトで有効にしない大きな理由に成り得ますね。

入力コードの自動判別をする場合、判定のキーになる文字が現れる
までどれだけの使えない文字があるかと判定用バッファの大きさとの
兼ね合いでの判定ミスもありがちですから、対策として、入力コードが
明示的に指定されない場合はICONVオプション無効の場合と同じ挙動に
なる(ICONVの機能を一切使わない)ようにしてしまうというのはあり
ますが、パッチ作者がどう考えるかですね。


> ちなみに、ports の unzip は 8 ビット透過ではないみたいです。FreeBSD に
> 標準で入っている unzip は 8 ビット透過ですので、ロケールを合わせたり適
> 切にコード変換しないと表示ができないかもしれませんが、壊れることはない
> です。

丸山さんのリプライを見る限り、これが決め手だった臭いですね。
それにしても、いまどき8bit透過でないとは...。 ソースを読んで
いないのがバレますね。


> 
> --
> 梅本 肇    http://www.mahoroba.org/~ume/
> ume @ mahoroba.org  ume @ FreeBSD.org
> プログラムは書いた人の意図ではなく書かれた通り動く  I hate Modula-3 :-)
> 


-- 
青木 知明  [Tomoaki AOKI]    <junchoon @ dec.sakura.ne.jp>


freebsd-users-jp メーリングリストの案内