老眼palm

老眼だけど、ぢっと掌を見る プロフィール RSS

2007年 9月のアーカイブ

Ubuntu Linuxでフォントの滲みを解消

2007/11/11追記:ubuntu 7.10 Gutsy Gibbonではフォント描画のhinting設定をGUIで行えるようになったので、この記事の内容は無効になっている。)

「あわせて読みたい」に出てくるエントリを適当に眺めていたら、「Ubuntu Linuxでフォントが滲む問題が解消」という記事を発見。3ヶ月位前の記事だが、今頃気がついたのである。早速設定変更してみる。

/usr/share/language-selector/fontconfig/ja_JPのhintnoneをhintfullに変えるとクッキリ過ぎる気がしたので、hintmediumで様子見。

それにしてもGUIで設定しても効かないとはちょっと…だな。

常磐線の事故で迂回帰宅

昨日、会社帰りにカメの菊五郎が課の同僚と飲みにいくというので、少し遅れていつものH氏と乱入。バカ話をして飲んだり食ったり。帰りは例によってH氏と御徒町から上野乗り換え常磐線ルートだ。御徒町で22:40頃。

で上野を出て日暮里で常磐線快速が止まってしまう。松戸馬橋間で車両故障のため各駅に停車との由。すぐ復旧するかも知れないが、動いていた方が気が紛れると私が主張し、H氏とともに西日暮里から千代田線に乗り換えた。

すると今度は町屋で停車。北千住まで行ってくれればTX乗り換えが出来るのに、と思いつつ待っていると、アナウンスは松戸柏間の人身事故と告げている。ああ、かかりそうだな、どうしようと考えていると、H氏が京成に乗り換えようと提案。実はH氏は京成でもなんとか帰れるので、ここでもう少し早く決断しておけば良かったのだが、自分は京成なんて良く知らないので少しためらったのが敗因だったかもしれない。これが23:10頃の話。

結局、京成町屋でH氏と別れ、自分は秋葉原からTXを目指すことにした。京成乗換時点で段々頭が混乱し初めて、振替輸送の券のことなどすっかり失念。日暮里でJRに乗換え、携帯から駅探で検索すると、23:45秋葉原発の各停守谷行きしか野田線との接続がない。最終列車なのでだいぶ混んでるが乗るしかない。

こんな混んでるTXは初めてだな、いやむしろ混んでる電車自体最近珍しいわな、とか思いつつじっと耐える。10分強遅れで流山おおたかの森に到着。接続の野田線柏行きがちゃんと待っててくれてようやく柏に到着。0:40頃。ふう、2時間以上かかってしまった。H氏からは10分位前に家に着いたとのメールあり。

家に帰るとちょうど「タモリ倶楽部」をやっていて、電車オタクネタだった。迂回していろんな電車に乗ったので、なんだかお腹いっぱいって気分。

今シーズンの初イクラ

ikura20070917.jpg土曜日の夜にマミーマートで生筋子を購入。昨日の夜、カミさんが醤油漬に仕込んで、夕方まで待ちきれず今朝食べた。ちょっと醤油が多かったのか、少ししょっぱめ。

今シーズン初の自家製イクラは去年より若干遅い。

WordPress 2.2.3のコメント通知メールをISO-2022-JPに

昨日の記事でWordPress2.2.3のコメント通知メールはしっかりUTF-8で送ってくるが、しばらく放置する、と書いた。ググってみるとWordPressのコメント通知メールが文字化けする、という話もちらちら出るが、どうも勘違いしている人がいるようだ。

  • WordPress 2.2以降ではME版も本家版も、ブログの文字コードと同じ文字コードでコメント通知メールを送るようになっている。日本語のブログの場合はUTF-8でやることになるので、コメント通知メールもUTF-8で送ってくる。このメールはちゃんとContent-Transfer-Encoding: 8bit、Content-Type: text/plain; charset=”UTF-8″で送ってくるので、MIME的には正しいメールであり、この状態が「文字化けしている」のは、単に受け側が単にUTF-8なメールを読める環境にないだけの話。
  • ただしSubjectが長くなると文字化けするバグはあるらしい。その場合本家2.2ならば文字化け実証プラグインを入れると直る。(Nippon2とかでも良いかもしれない。)
  • とはいうものの、携帯なんかで見てる場合はUTF-8は辛い。やっぱりISO-2022-JPで送ってきてほしい。

というわけで、本家2.2.3でも前回やった無理矢理ISO-2022-JPにするパッチを施せばいいだろう、とゴソゴソやるがうまくいかない!

いろいろ調べてみると、前回の記事だけの修正では不十分であることがわかった。いろいろいじくった挙句だったので、class-phpmailer.phpなんかもいじったのが抜けていたようだ。

というわけで、次のようなコードでコメント通知メールが無事ISO-2022-JPで来るようになった。多分ME版でも同じような修正でいけるかな、と思うがよくわからない。ともかく手抜きであることは確かだが、自分にはこれで用が足りるので良しとする。

--- pluggable.php.bak   2007-08-31 03:13:48.000000000 +0900
+++ pluggable.php       2007-09-17 12:01:37.000000000 +0900
@@ -160,6 +160,8 @@
 function wp_mail($to, $subject, $message, $headers = '') {
        global $phpmailer;

+       mb_internal_encoding("UTF-8");
+
        if ( !is_object( $phpmailer ) ) {
                require_once(ABSPATH . WPINC . '/class-phpmailer.php');
                require_once(ABSPATH . WPINC . '/class-smtp.php');
@@ -185,8 +187,10 @@

        $phpmailer->FromName = "WordPress";
        $phpmailer->AddAddress("$to", "");
-       $phpmailer->Subject = $subject;
-       $phpmailer->Body    = $message;
+       $phpmailer->CharSet = "ISO-2022-JP";
+       $phpmailer->Encoding = "7bit";
+       $phpmailer->Subject = mb_encode_mimeheader($subject, "ISO-2022-JP", "B", "\n");
+       $phpmailer->Body    = mb_convert_encoding($message, "ISO-2022-JP", "UTF-8");
        $phpmailer->IsHTML(false);
        $phpmailer->IsMail(); // set mailer to use php mail()

2007/9/22追記:トラックバックを頂いたMOMENTSさんの記事のパッチはFrom:の文字化けまで対応しているので、そちらの方が良いコードだと思います。

2007/10/6追記:WordPress 2.3なら、こっちのプラグインもお試しください。

WordPress ME 2.2.1から本家版2.2.3にアップグレード

WordPress MEのセキュリティーアップグレードである2.2.3のアナウンスがあった。思うところあり、MEから本家版にアップグレードした。基本的には上書きでOKのようで、次のような手順でうまくいった。

  1. バックアップする。
  2. 日本語リソース入りWordPress 2.2.3をこのページからダウンロードし、ローカルに展開する。
  3. 展開したフォルダwordpress-2.2.3-ja以下に対し、下記4〜8のようにいじってローカルで準備する。
  4. wp-includes/widgets.phpで検索ボタンの前の<br />を外す。
  5. wp-includes/feed-rss2.phpにRSS Feedを全文配信にするカスタマイズを行う。(ただしリンク先の記事と異なり、the_content_rssにする必要あり。)
  6. wp-content/plugins/akismet/akismet.phpにakismet de-spam view Hackを施す。
  7. バックアップからwp-config.phpを持ってくる。define(‘WP_LANG’, ja);と変更。(前はja_UTFだった。)
  8. バックアップからテーマファイルやプラグインやこれまでアップロードした画像ファイルなどを持ってくる。
  9. プラグインを止める。
  10. フォルダwordpress-2.2.3-jaをアップロードして、wordpressに名称変更する。
  11. wp-admin/upgrade.phpを実行する。(今回は必要なかった模様。)
  12. プラグインを使用開始する。
  13. コメント通知メールでSubjectの文字化けが起こるので、文字化け防止実証プラグインを入れる。

コメント通知メールはしっかりcharset=”UTF-8″で送ってくる。携帯(WILLCOM WX-320T)ではUTF-8なメールは文字化けするので、前にやったようにコードをいじる必要があるが、面倒なのでしばらく放置しようと思う。

本家版にしたからといって何が変わったわけではない。ME版を使っているときには、海外製のテーマで問題があることがあったためにversion.phpをローカルにいじっていたが、それが必要なくなった位か?ただ、日本語リソース入りのWordPressは言語カタログファイルがあるだけでなくて、phpファイルにハードコードされている文字列まで丁寧に訳されているのは驚いた。ME版よりもちゃんと日本語になっている印象。