Sunday, January 27, 2008

NSPreferredMailCharset on Leopard

Apple の Mail.app にはユーザーがデフォルトで使用する送信メールのエンコーディングを選択できないという欠陥があります。新規にメールを作成する毎にはメニューから選択することにより変更できますが、環境設定の項目にはありません。

Tiger では defaults コマンドで NSPreferredMailCharset を設定することにより送信メールのデフォルトエンコーディングを設定することができたのですが(Apple のサポート情報)、Leopard ではその機能が縮退してしまっているようで動作しません。

日本語環境で利用している場合にメールを新規作成すると初期のエンコーディングは「自動」となっていて、たいていの場合はよろしくやってくれる(たぶんutf-8になる)のですが、たまに "簡体字中国語(Big 5)" で送ってくれたりしやがるので、「ヒロシさんまたメールが文字化けしてるんですけど」というクレームに Mac ユーザーとして恥ずかしくなり、デフォルトのエンコーディングを設定するプラグインを作りました。

自分だけが利用する分には ISO-2022-JP 固定で問題ないので、現状のバージョン (0.1) ではソースコードにハードコーディングしてしまっていますが、他のエンコーディングにしたい人はリクエストください。

Apple の日本やヨーロッパの法人がその問題に気がついていないのか、力が弱いのかわかりませんが、Mac の svn で濁点などが含まれるファイル名を扱うときの問題といい、 Apple のアメリカ人的考え(ascii, latin-1 以外のエンコーディングのことをまじめに考えていない)には残念に思います。

2009-09-12: Snow Leopard ではこのプラグインが動かないという報告を受けましたが、僕の mac は core duo の 初期型 MacBook でメリットを感じられなかったのでアップグレードしてません。ごめんなさい。
誰かプログラム書いたり出来る人で Snow Leopard 持ってる人がいたら プラグインの READMEの情報をヒントになんとかしてくれませんか。

7 comments:

Hiro said...

http://bugreport.apple.com に報告してやってください。使い方はこちらを参考に:http://developer.apple.com/jp/bugreporter/

hiroshi said...

おっしゃる通りです。早速報告しました。
Mail 3.2 (919/919.2) lacks settings of default encoding(第三者が内容を見れるかどうかわかりませんが)

Hiro said...

残念ながら、ひとのバグは見れないようです。

ちなみに 10.5.2 の英語環境で何度かメールを送ってみたのですが、きちんと ISO-2022-JP になりました。(NSPreferredMailCharse 設定済みです。設定前に一度 UTF-8 になりましたが、NSPreferredMailCharse を設定したことが関係あるかどうかわかりません。)もしかして 10.5.2 で直ったのかもしれませんが、いずれにせよ、登録したバグの今後のステータスで、そのあたりも確認できそうですね。

Unknown said...

はじめまして。
自分もMailの変なエンコーディングのせいで困っていたのですが、Yakitaraさんのプラグインのおかげで解決しました。とても助かりました。ありがとうございました!

hiroshi said...

iiuさん、
お役に立ててなによりです。

他にも、日本語添付ファイル名(これはMail.appが悪いのではないらしいのですが)、本文と異なるエンコーディングの添付テキストファイルが勝手に展開されて化けたりなどイライラするところがあるのでできればなんとかならないかたと思います。

Unknown said...

はじめまして。
こちらのプラグイン、とても便利に使わせていただいていましたが、Snow Leopard になって使えなくなりました。
ぜひ、Snow Leopard 対応バージョンを開発いただけると助かります。
ぶしつけなお願いで恐縮ですが、よろしくお願いします。

hiroshi said...

春樹さん、
Snow Leopard でもこの問題は残ってるとは、遺憾ですね。僕はまだ Snow Leopard にアップグレードしていないので現状では対応できません。ごめんなさい。