epubをルビありのテキストにする

calibreを使ってepubをテキストにすると「漢字かんじ」のように漢字とルビがつながる。「漢字(かんじ)」のようにルビを括弧でかこいたいのでcalibreで変換前にひと手間加える。

1.epubをzip形式に変換して、本文が書かれたhtmlファイルを取り出す。

2.htmlファイルを秀丸マクロで変換。

--------------------------------
//隣り合うルビを結合する
replaceallfast"<ruby>([^<]*?)<rt>([^<]*?)<¥/rt><¥/ruby><ruby>([^<]*?)<rt>","<ruby>¥¥1¥¥3<rt>¥¥2",regular;

//隣り合うルビタグがなくなるまで置換
while (result != 0) {

replaceallfast"<ruby>([^<]*?)<rt>([^<]*?)<¥/rt><¥/ruby><ruby>([^<]*?)<rt>","<ruby>¥¥1¥¥3<rt>¥¥2",regular;

//#a = result;
//$a = str(#a);
//message $a;

}

//ルビを括弧でかこう
replaceallfast"<rt>","(";
replaceallfast"</rt>",")";

//不要なrubyタグを削除
replaceallfast"<ruby>","";
replaceallfast"</ruby>","";
message "終了";
--------------------------------

3.変換後のhtmlファイルをzipの中に戻し、epub形式に戻す。そのepubをcalibreでテキスト変換する。