review-vol(1)を使えばRe:VIEWで書いた原稿の量を概算できるとのことなので調べた。
これの実装はReVIEW::Book::Volumeのようだ。page()の定義は以下のようになっている。純粋にデータ量からページ数を概算しているようだ。
def page
(kbytes.to_f/@book.page_metric.page_per_kbyte).ceil
end
page_per_kbyte()はReVIEW::Book::PageMetricにあって、事前定義された値としてA5とB5がある。ここで注目したいのはpage_per_kbyte()だけなのでそれをみると、A5は1KBでB5は2KBとなっている。
module ReVIEW
module Book
class PageMetric
def PageMetric.a5
new(46, 80, 30, 74, 1)
end
def PageMetric.b5
new(46, 80, 30, 74, 2)
end
def initialize(list_lines, list_columns, text_lines, text_columns, page_per_kbyte)
@page_per_kbyte = page_per_kbyte
# 他の初期化処理は省略
end
# アクセサなどの定義は省略
end
end
end
で、このPageMetricのデフォルト値はReVIEW::Configureにある。デフォルトはA5らしい。
"page_metric" => ReVIEW::Book::PageMetric.a5,
それではこのpage_metricを外部から設定するにはどうすればいいかを調べたのだけど、そもそもreview-volでは設定できないようだ。review-compileはコマンド自身がconfig.ymlを読み込んでいるのに対し、review-volにそういうオプションはなさそうだからだ。
とりあえず今日はここまで。