秀丸ルビ振りマクロ
ルビを振ると、読みやすくもなるが、本来とは違うルビを振るという遊びもできるようになる。
縦書きも考えたが、とりあえず、ルビだけ対応させようと思った。
原稿、というかテキストファイルと、表示は別ものとした。
テキストの方は青空文庫形式、表示はルビタグである。
当然、変換が入るが、それは簡単なので後回しにする。
ただし、簡単にするために、必ず「|」を入れて、「《》」にルビを入れる。
まず、テキストをなんとかしなくてはならない。
いちいち手書きは面倒である。
前の記事にも書いているが、愛用しているのは「秀丸」なので、秀丸のマクロで対応した。
まずは、どういう機能のマクロか、だ。
・選択範囲の前に「|」を、後ろに「《》」を挿入する。
どうせルビの入力をするなら、別ダイアログなどは使わず秀丸上でした方がいい。
・シフト状態の場合は、1文字づつに傍点を振る。
これは一文字づつルビを振る場合にも使えるものだ。
・選択範囲内に「()」があったら、その内容を「《》」内に入れる。
既にルビを振ったものは、そのまま変換させるので楽である。
例えば、「ここにルビを振る」というテキストがあった場合に・・・
「振」を選択して、マクロ実行(ボタンに登録しておく)すると、「ここにルビを|振《》る」と変換される。
同様に「振」を選択して、シフトを押しながらマクロ実行すると、「ここにルビを|振《、》る」と変換される。複数文字可で、横書きで傍点が何がいいか試したところ、「、」が一番良かったのでそうした。
「ここにルビを振(ふ)る」というテキストがあった場合に・・・
「振(ふ)」を選択して、マクロ実行すると、「ここにルビを|振《ふ》る」と変換される。
大したマクロではないのと、秀丸マクロは初めて書いたので、お見せするようなものではない。
(もしご要望があれば公開してもいいが)
これをDBに入れて置いて、表示時に変換する。
効率から言うと変換しておいた方がいいのだが、テキストのまま保存しておきたいのだ。
出力はPHPなので、簡単に変換できる。
$pattern = array("|", "《", "》"); $replace = array("", ""); $body = str_replace( $pattern , $replace, $row["body"] );
この開始位置にrubyタグを入れるために、必ず「|」を入れているというわけだ。
確認ブラウザは、IE8.0、Google Chrome、Firefoxである。
ただし、Firefoxではルビ表示アドオンがインストールされている必要がある。
ルビ表示アドオンはここ
設定のおすすめは、ルビサイズ0.6em、「行間を空ける」 のチェックを外す、である。