back

Emacs 上で、あるいは、そもそも PC で、テキストを縦組みで読みたいなどと思うことはめったにない、というよりまったくないかも知れない。しかし、そのようなことができる Emacs Lisp があってもよいのではないだろうか。縦組に整形する、tategaki.el を書いた人もいる。気分転換に、Emacs で文学作品を読んでみるのも悪くはないと思う。aozora.el はスクロールができる縦組みテキストビューアで、青空文庫などの電子テキストを縦組みで読むことができる。

kanzanjittoku.png

Download


インストールと設定

load-path の通ったディレクトリに aozora.el をコピーして以下のコードを .emacs に追加して下さい。

(autoload 'aozora "aozora" nil t)
(autoload 'aozora-bookmark-jump "aozora" nil t)
(autoload 'aozora-region "aozora" nil t)

または、require した方が簡単です。

(require 'aozora)

起動方法

ファイル名を聞いてくるので、縦組みで読みたいテキストのファイル名を入力して下さい。

M-x aozora

ブックマークからテキストを選択することができます。

M-x aozora-bookmark-jump

リージョン内のテキストを縦組みに整形したバッファが開きます。

M-x aozora-region

使い方

メニューバーに Aozora メニューが追加されます。すべてのコマンドはメニューから実行可能です。

バインドコマンド機能
SPCaozora-scroll-upスクロール(ページ単位)
前置引数をつけた場合には、そのページに移動します。例えば、C-u 100 SPC で100ページ目を表示します。
baozora-scroll-downバックスクロール(ページ単位)
jaozora-scroll-up-screenスクロール(1行単位)
kaozora-scroll-down-screenバックスクロール(1行単位)
M->aozora-beginning-of-buffer先頭のページに移動
M-<aozora-end-of-buffer最後のページに移動
Haozora-move-to-bookmarkブックマークしたページに移動
Saozora-bookmark-setブックマークする
ブックマークは10個のテキストに設定できます。溢れた場合には古い順から消えます。ブックマークは ~/.aozora に保存されます。
Jaozora-bookmark-jumpブックマークから他のテキストを選択する
aaozora-auto-scrollオートスクロールのON/OFFをトグル
OFFの場合に、前置引数をつけてONにするとオートスクロールのリピート秒を設定できます。例えば、C-u 4 a でリピート秒は4になります。
qaozora-bury-buffer終了(バッファメニューなどから選択すれば再び読めます)。

カスタマイズ

変更可能な設定項目は以下の通りです。好みで .emacs に追加するとよいでしょう。

縦組みで表示した場合の、1ページの行数と1行の文字数を変更できます。

(setq aozora-vertical-line 15)    ; 行数    初期値: 15
(setq aozora-vertical-cols 25)    ; 文字数    初期値: 25

文字間の余白・上の余白を変更できます。文字間の余白は、line-spacing にセットされる値です。

(setq aozora-character-separation 5)    ; 文字間の余白    初期値: 5
(setq aozora-upper-margin 2)            ; 上の余白 行数で指定する    初期値: 2

1バイト文字を全角文字に変換するかどうかを設定できます。

(setq aozora-hankaku-zenkaku t)    ; 初期値: t    (t 変換する / nil 変換しない)

オートスクロールのリピート秒を変更できます。

(setq aozora-repeat-sec 3)    ; 初期値: 3

M-x aozora RET で、ファイルを選択するときのデフォルトディレクトリを設定できます。読みたいテキストをまとめて置いてあるディレクトリを指定するとよいでしょう。

(setq aozora-directory "~/text/aozora/")    ; 初期値: nil

ブックマークを保存するパス/ファイル名を変更できます。

(setq aozora-bookmark-file "~/.aozora")    ; 初期値: "~/.aozora"

リージョンを縦組み表示する場合のバッファ名を変更できます。

(setq aozora-buffer-name "*aozora*")    ; 初期値: "*aozora*"

禁則処理

次の文字をぶら下げ処理しています。

。、」)》>】]〕』>.?!〉})]ーゝゞヽヾ々ぁぃぅぇぉっゃゅょァィゥェォッャュョヵヶ

次の文字を次行に追い出し処理しています。

「(《<【[〔『<:〈{([

それぞれの文字は、縦組みした場合そのまままでは不自然ですから、適当な文字列に変換しています。禁則文字以外で変換処理している文字は次の文字です。

-―━→←↑↓:‥…−=‖|

また、禁則文字数は1文字です。カスタマイズ変数は次の3つです。

変数名処理内容
aozora-burasage-tableぶら下げ
aozora-oidashi-table追い出し
aozora-convert-tableその他の変換

Last modified: Wed Dec 12 02:17:22 JST 2007
Copyright (C) 2007 Kazushi NODA All Right Reserved.

Valid HTML 4.01 Transitional Valid CSS