Leopardと玄箱Debianその7「CJKパッチ」 [日常のあれやこれや]
せっかくHATさんにコメント入れてもらってたのに、全然気がつかなくてほったらかしになってました。申し訳ない。
教えてもらった通りに、玄箱のDebianにやってみた。
そのままやればよくて(当然アーキテクチャや環境に依存する所はちゃんと変更して)すごく簡単。
さすが。
最終的に確認。
# /usr/sbin/afpd -V afpd 2.0.3+cjk3 - Apple Filing Protocol (AFP) daemon of Netatalk This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Please see the file COPYING for further information and details. afpd has been compiled with support for these features: AFP3.1 support: Yes Transport layers: TCP/IP DDP CNID backends: cdb dbd last SLP support: Yes TCP wrappers support: Yes Quota support: Yes Admin group support: Yes Valid shell checks: Yes cracklib support: Yes Dropbox kludge: No Force volume uid/gid: No afpd.conf: /etc/netatalk/afpd.conf AppleVolumes.system: /etc/netatalk/AppleVolumes.system AppleVolumes.default: /etc/netatalk/AppleVolumes.default UAM search path: /usr/lib/netatalk/ #
おお、ちゃんとあたってる。あたりまえだけど(行が折り返さないような表示にしたいな。読みづらい)。でも、実はこのパッチが何やってるのかよくわかっていない。
昔のShift-JISが普通だったころは、日本語エンコーディングの微妙でデリケートな問題がよく起こった。具体的にどんな文字列だったか良く覚えていないけど、ネットワーク越しに作ったファイルがアクセスできないどころか消すことさえできなくなったりした(結局そのときは確かファイルシステム側がunixだったのでi-node番号をたぐってunlinkしたような)。
最近はどのファイルシステムもエンコードがunicodeになってそういう問題はめっきり減った。それでもunicodeがぐちゃぐちゃに複雑(「サロゲートペア」なんかShift-JISの時代に戻ったのかと思った)な上にバイト列としての表現の微妙な違いで文字列としての比較結果が実装によって異なったりする。Shift-JIS時代からあった全角半角のアルファベットと数字もそのまま引き継がれてしまったし、何種類あるのかわからない「-」記号なんか文字列比較で問題になるだろう。このあたりはunicodeにして問題がさらに深まったような気がする。
まあ、だから昔から「Unicodeは駄目」論が噴出してるんだろうけど、じゃあTRONコードみたいなのにするのがいいのか、それともぐちゃぐちゃを整理したunified-unicode(屋上屋やろな)みたいなのがいいのかはよくわからない。見た目が区別できないにもかかわらず文字列比較関数が0以外を返すのもおかしい気がする。
永遠の問題なのかねえ。
アーキテクチャや環境に依存する所って、ファル名のnetatalk_2.0.3-4_i386.debあたりでしょうか。他に何かあったっけ?
あと、せっかくリンクして頂いてますが、URLが間違っていてアクセスできません。hhttpになっている。
by HAT (2008-02-24 23:45)
失礼しました。修正しました。
僕が変更した所は、netatalk_2.0.3-4_powerpc.debと/etc/default/netatalkのMAC_JAPANESEです。
by decafish (2008-02-25 07:00)
ぐちゃぐちゃを整理したunified-unicodeがすなわちunicodeの正規化ということではないですか。特にsingletonはそういう考え方でしょう。
by HAT (2008-03-21 23:06)
コメントありがとうございます。
遅くなって済みません。
浅学のため「unicode正規化」非常に難しいです。
勉強します。
by decafish (2008-03-24 21:26)