*Article*
★
Meadow で丸数字
Meadow で utf-8 の文書中の丸数字が表示できなくって困ったので、
てけとーにフォントを設定する。
(require 'jisx0213)
(w32-add-font
"fixed-14"
'((strict-spec
((:char-spec ascii :height any)
(w32-logfont "MS ゴシック" 0 -14 400 0 nil nil nil 0 1 3 49))
((:char-spec ascii :height any :weight bold)
(w32-logfont "MS ゴシック" 0 -14 700 0 nil nil nil 0 1 3 49)
((spacing . -1)))
((:char-spec japanese-jisx0208 :height any)
(w32-logfont "MS ゴシック" 0 -14 400 0 nil nil nil 128 1 3 49))
((:char-spec japanese-jisx0208 :height any :weight bold)
(w32-logfont "MS ゴシック" 0 -14 700 0 nil nil nil 128 1 3 49)
((spacing . -1)))
((:char-spec japanese-jisx0213-1 :height any)
(w32-logfont "MS ゴシック" 0 -14 400 0 nil nil nil 128 1 3 49)
((encoding . shift-jisx0213-font-encoder)))
((:char-spec japanese-jisx0213-1 :height any :weight bold)
(w32-logfont "MS ゴシック" 0 -14 700 0 nil nil nil 128 1 3 49)
((encoding . shift-jisx0213-font-encoder) (spacing . -1)))
)))
しかし
黒丸数字が表示されない。BDF フォントを使うしかないのか?
★
courier-imap
おうちのメール環境を IMAP4 に移行することにした。
まずはサーバだが、
小関さんの記事を参考に Courier にしてみる。
インストールは apt-get remove imap imap-devel で入っていた UW を消して
apt-get install courier-imap でさくっと完了したものの、認証がうまくいかない。
かなり悩んだが、原因は /etc/inetd.conf に imapd のエントリが残っていた
ためであった…。
*
MDA
とりあえずは procmail を使い続けることにして、~/.procmailrc を変更。
保存形式を MH フォルダから Maildir に変更してっと。
それと、今まではデフォルトでは system mailbox に落としていたけど、
全て INBOX に落とすようにしておく。
*
MUA
とりあえず Wanderlust を使い続けることにして、
prom-wlを導入することにした。
ログの形式として Maildir への配送は対応していないようだったので、適当に
設定。
(setq proc-folder-regexp " Folder: \\([^ \t]+\\)/new/")
(setq prom-wl-folder-prefix-alist '((imap4 . "%INBOX") (nil . "%INBOX")))
★
maildrop
procmail のレシピをまじめに書く気になれないので、maildrop に移行する。
MAILDIR="$HOME/Maildir/"
DEFAULT="$MAILDIR"
LOCKFILE="$MAILDIR/.lock"
#cc "$HOME/.maildrop.save"
logfile "${MAILDIR}maildrop.log"
dotlock "$LOCKFILE" {
if (/^Content-Type: text\/html;.*(ks_c_5601-1987|euc-kr)/:h)
{
to "$MAILDIR.spam.korea/"
}
if (/^From: admin@*********.com/:h)
{
to "$MAILDIR.iepg/"
}
}
xfilter "/usr/local/bin/spamassassin"
dotlock "$LOCKFILE" {
if (/^X-Spam-Status: Yes/:h)
{
to "$MAILDIR.spam/"
}
if (/^X-ML-Name:[ \t]*![^ \t]+/:h && `/bin/sh -c 'test -d "$MAILDIR.ml.$MATCH2/" && echo 1'`)
{
to "$MAILDIR.ml.$MATCH2/"
}
to "$MAILDIR"
}
とりあえず、今までの procmail のレシピに X-ML-Name による振り分けを
追加しただけだが、もうちょっとすっきり書けないものかな。
*
prom-wl
maildrop のログの書式に従って、proc-folder-regexp を変更。
あと、proc-log-list などが "/" からの絶対パスだと動作しない
*1
のを
適当に回避。でもって、~/.emacs には以下のように記述した。
(let ((maildir (expand-file-name "~/Maildir/")))
(setq proc-log-list (list (expand-file-name "maildrop.log" maildir))
proc-keep-log (expand-file-name "maildrop.bak.log" maildir)
proc-lock-file (expand-file-name ".lock" maildir))
(setq proc-folder-regexp (concat "File: " maildir "\\([^/ \t]*\\)/?"))
(setq prom-wl-folder-prefix-alist '((imap4 . "%INBOX") (nil . "%INBOX"))))
★
userdb
RD-XS40 のメール予約のために適当にユーザを作って、procmail でそのアカウントに
転送していたんだけど、せっかくだから userdb を用いたバーチャルユーザを
作成して運用してみる。
まずは、/etc/userdb に以下のように記述する。
iepg home=/home/ari|mail=/home/ari/Maildir/.iepg|gid=500|uid=500
でもって、password の設定して userdb.dat を作成っと。
# userdbpw --md5 | userdb iepg set pop3pw
# makeuserdb
あとは、maildrop で Maildir/.ipeg/ に配送すればおっけー。
ようやく、携帯を変えてから目的としていた mobileimap を導入。
★
wl-biff
Maildir 形式にしたおかげで、display-time の biff が使えなくなったので、
wl-biff に移行する。
Wanderlust 以外のバッファでも表示されるように global-mode-string にも
設定したり、face を変えてみたり。
(setq wl-biff-check-folder-list '("%INBOX"))
(setq wl-modeline-biff-state-on
(propertize "[〒]" 'face display-time-mail-face))
(add-to-list 'global-mode-string
'(wl-modeline-biff-status wl-modeline-biff-state-on
wl-modeline-biff-state-off))
(defadvice wl-mode-line-buffer-identification (around dont-show-biff activate)
(let ((wl-biff-check-folder-list nil))
ad-do-it))
★
5ch スピーカ
スピーカケーブルを買ってきて、以前使っていたスピーカをサランドとして
繋いでみたり。
あとはサブウーハか。
★
アクセスグループ
Wanderlust で %INBOX.from というアクセスグループを作ってみたが、
%INBOX.from というフォルダ自身が含まれない。
ちょっと調べてみたところ、Wanderlust では "list %INBOX.from %" という
コマンドを発行しているけど、その応答に "%INBOX.from" が含まれていない模様。
0 list INBOX. *
* LIST (\HasChildren) "." "INBOX.from"
* LIST (\HasNoChildren) "." "INBOX.from.foo"
* LIST (\HasNoChildren) "." "INBOX.from.bar"
0 list INBOX.from *
* LIST (\HasNoChildren) "." "INBOX.from.foo"
* LIST (\HasNoChildren) "." "INBOX.from.bar"
手抜き advice でゴマカそうかとも思ったけど、elmo-imap4.el での対応を
提案してみる。
$HNS::Hnf::Command::LNEW::Template{ISBN} なんかを定義すると
画像を表示できたりします。
package HNS::Hnf::Command::ConvUrl;
sub ConvAmazon($$) {
my ($Template, $params) = @_;
# Convert url
HNS::Hnf::Command::ConvUrl->new->ConvUrl(\$params->{1});
# Add img
$Template .= qq(<img align="right" src="http://images-jp.amazon.com/images/P/%isbn_no_bar.09.MZZZZZZZ.jpg" alt="%content">);
($params->{isbn_no_bar} = $params->{param}) =~ s/-//g;
HNS::Template->new->Expand($Template, $params);
}
package HNS::Hnf::Command::LNEW;
$Template{ISBN} = sub {
HNS::Hnf::Command::ConvUrl::ConvAmazon($Template, shift);
};
package HNS::Hnf::Command::LSUB;
$Template{ISBN} = sub {
HNS::Hnf::Command::ConvUrl::ConvAmazon($Template, shift);
};

hnf には以下のように書いてます。
LSUB ISBN:4-06-182363-9 「四季・冬」 森博嗣 (講談社ノベルス)
*
追記
昨日のは
[hns-dev:00740] の変更が適用されている必要があった。
関数呼出しの時に self が渡ってくると以下のように書けて、ちょっと良いかな。
package HNS::Hnf::Command::ConvUrl;
sub AmazonImage($$) {
my ($self, $params) = @_;
my $Template = qq(<img align="right" src="http://images-jp.amazon.com/images/P/%isbn_no_bar.09.MZZZZZZZ.jpg" alt="%content">);
($params->{isbn_no_bar} = $params->{param}) =~ s/-//g;
HNS::Template->new->Expand($Template, $params);
}
package HNS::Hnf::Command::LNEW;
$Template{ISBN} = sub {
my ($self, $params) = @_;
$self->ConvUrl;
$self->SUPER::AsHTML(1, $params) . $self->AmazonImage($params);
};
package HNS::Hnf::Command::LSUB;
$Template{ISBN} = sub {
my ($self, $params) = @_;
$self->ConvUrl;
$self->SUPER::AsHTML(1, $params) . $self->AmazonImage($params);
};
★
nnshimbun+itmedia:games
何か化けまくるなと思ったら、
この記事のタイトルに
「塚」という JIS X 0208-1983 に無い文字
*1
が含まれていたために、
Emacs が文字コードの判定に失敗しまくっていたためであった…。
今見たら「塚」に変更されているので大丈夫だろう。
*
URL メモ
★
biff for screen
ふと、zsh を使って screen の hardstatus にメールの到着を表示させてみる。
mailpath=($HOME/Maildir/new/"?^[_^[[41;37mYou have new mail.^[\\You have new mail.")
chpwd () { local m; m=($HOME/Maildir/new/*(.ND)); echo -n "^[_${m:+^[[41;37m[〒]}^[[46;30m `dirs`^[\\"}
*
screen shot
以上、8 日分です。