2008年7月26日土曜日

変貌著しい清亮寺の周辺






Google Earth で東京の変貌を視ていると楽しいのだが、この箇所はとりわけ苦笑してしまった。
かつて、田んぼの真ん中にあった寺は、今や東西南北を川と鉄道で囲まれてしまっている。

100年4世代の間に、この寺はこの周囲の変化をどのように見ていたんだろうか・・・

2008年7月16日水曜日

新しい文字が生まれる時。


 新しい文字が生まれる瞬間とはこんなものなのだろうか。
 薄田泣菫の「白羊宮」を読んでいるとき、このような表記に出くわした。
「イモリ」は漢語では「蠑螈」と書く。

 おそらく版元は何らかの理由で「螈」を作字せざるを得ないとき、「源」の右側と「虫偏」を組み合わせようとしたのではないか。
 しかし、原の字は左下に払いが伸びるので、左上の「さんずい」の名残が残り、結果として、虫偏に「源」という字が作られてしまった・・・そういう想像をしている。

 この詩集は金尾文淵堂による初版以来、幾つかの叢書に再録されているので、
各々がこの字をどのように取り扱ったのか、追跡してみるのも面白いかも知れない。

2008年7月8日火曜日

ポータブルで高速な.emacs.elの書き方



ネットを巡回していると、「ポータブルな .emacs.el の書き方(意訳)」という記事がありましたが、ここではさらに、「ポータブルでかつ高速起動する.emacs.el」の書き方を紹介したいと思います。
すなわち、.emacs.elで拡張ライブラリを設定するときには、

(require 'ライブラリ名)
(add-hook 'xxxx 'yyyy)
....
(setq xxxx 設定値)
....
という記法で書くことが多いのですが、これを以下のような記法で統一します。

(when (locate-library "ライブラリ名")
(autoload '関数名 "ライブラリ名" "関数の簡単な説明")
(autoload 'xxxx "....")
(add-hook 'xxxx 'yyyy)
....
(eval-after-load 'ライブラリ名
'(progn
(setq xxxx 設定値)
....)))
このように書くことで、以下のメリットがあります。

  • 指定されたライブラリが入っていないEmacs環境でも ".emacs.el" はエラーを起こさない。

  • 指定されたライブラリが入っていても、そのライブラリが必要とされるまで、読み込まれない。

この記法を活用すれば、ライブラリは使用するまで読み込まれないので、滅多に利用しないライブラリも安心して ".emacs.el" に組み込めることができます。なお、interactiveな関数(M-x xxxx で起動するタイプ)については、autoloadの第四引数をtにすることで、たとえライブラリが読み込まれなくても M-x xxxxで実行することができるようになります。
また、ライブラリを読み込む前に設定すべき事柄(フック関数など)は、eval-after-load の後には置かないように注意しましょう。

2008年7月5日土曜日

近代書誌データベースの画像を一度に取得する



薄田泣菫の「白羊宮」を読みたくなったので、ネットで検索したら青空文庫にはなく、近代書誌データベースにあることがわかりました。
ところがこの近代書誌データベース、1ページ1ページのダウンロードが遅い上に、画像サイズが800x600と小さく、各ページ毎にサイズを直して表示しなおすのが非常に手間暇かかります。
仕方がないので、ちょっとWebページの中身を拝見させてもらったら、白羊宮の画像に関しては以下のことがわかりました。

  1. 一度に表示できる最大のサイズは、1520x1004ドット。(これ以上いくら設定でサイズを大きくしても見ることができない。)

  2. この画像はある特定のURLを送って、サーバ側で「画像を生成」させて、その後で取得しなければならない。


そういうわけで、下記のようなスクリプトを作成し、一括して1520x1004ドットの全ページのJPEGを取得するようにしてみました。結果は良好で、現在はこうやって取得したJPEGファイルをzipで固めてビューワーで読んでいます。また、他の文献もいくつか、同様の方法で取得できることがわかりました。
(安易な乱用を防ぐため、スクリプトの一部は伏せ字にしていますが、ページの中身を調べればおそらくはすぐにわかるでしょう。)

#!/bin/sh
# 近代書誌データベースの画像を、1600x1200(1520x1004)で取得します。
# usage: command doc-id max-page
# 実行前のチェック項目
# (1) ページ数
# (2) 画像サイズ:ファイルの末尾が760-502/a-1520-1000.jpgとなっている場合は、1520x1004 が最大サイズ。これ以外の場合は、実験してみて下記の値を調整する。
count=0
while [ $count -le $2 ];
do
echo "Now processing $1-`printf \"%04d\"` $count"
curl "http://image.nijl.ac.jp/XXXX(伏せ字)XXXX/$1-`printf \"%04d\" $count`.jp2&file=kindai.html&dy=1200&dx=1600" > /dev/null
curl "http://image.nijl.ac.jp/XXXX(伏せ字)XXXX/$1-`printf \"%04d\" $count`.dir/02-0/1520-1004/a-1520-1004.jpg" -o $1-`printf "%04d" $count`.jpg
count=`expr $count + 1`
done

実行例(白羊宮のJPEGファイル172枚取得)は以下の通りです。

% sh getNDLDoc.sh CKMR-00075 172


2008年7月2日水曜日

Emacs g-clientでブログを編集する。

このブログはできるだけg-clientでやろうかと思います。
まずインストールとセットアップ。".emacs"に以下を追加。

(when (locate-library "g")
(autoload 'gblogger-sign-in "g" "Resets client so you can start with a different userid." t)
(autoload 'gblogger-blog "g" "Retrieve and display feed of feeds after authenticating." t)
(eval-after-load 'g
'(progn
(setq g-user-email "XXXXXX@gmail.com")
;;(setq gcal-user-email "XXXXX@gmail.com")
;;(setq gblogger-user-email "XXXXX@gmail.com")
;;(setq browse-url-browser-function 'w3m-browse-url))
(setq browse-url-browser-function 'browse-url-firefox))))

次に、"M-x gblogger-blog" を実行。ブラウザに一連のリンクが表示されます。これがキーになります。たとえば、新しいブログを投稿したい場合は、"M-x gblogger-new-entry" を実行しますが、その後に聞いてくる "Post URL:"には、このリンクの該当するブログの[PostLink]のリンクをコピーして貼り付けます。

編集したい場合は、まず"M-x gblogger-atom-display" を実行して、"Feed:"に対しては、[feedLink]のリンクをコピーして表示。そして編集したいブログに対して、"M-x gblogger-edit-entry" を実行して、[Edit]のリンクを入力。

日本語でも編集しやすいよう、auto-fill-modeは無効にして、あと <br /> の文字列は改行に置換した方が良いでしょう。

うーん・・現時点では今ひとつ使いにくい(英語圏の人用のカスタマイズが入ってるみたい)のですが、なれればこっちの方がいいのかな…?