テーマについて

スライドの見た目はRDとは別に指定します.それがテーマです.

テーマのテスト用のスライドがsample/theme-bench.rabにあるので 活用してください。

置き場所

テーマはrubyの$LOAD_PATHから検索されます.新しくテーマを作成 した場合は$LOAD_PATHに含まれているパス/rabbit/theme/テーマ 名/テーマ名.rbあるいはソースがあるディレクトリ/テーマ 名.rbに置いてください.

書き方

テーマはRubyスクリプトです.難しいと思われるかもしれませんが, 凝ったことをしなければそれほど難しいことはありません.

テーマは以下のような記述を列挙していくことになると思います.

  1. 対象となるスライド中の要素(段落とか,ページタイトルと か)を選択
  2. 選択した要素に対して属性を変更したり,描画時の動作を加 えたりする.

例えば,各ページ(タイトルページは含まない)にあるタイトルの 文字の色を変更したい場合は以下のように書きます.

match(Page, HeadLine) do |heads|
  heads.prop_set("foreground", "red")
end

headsというように複数形になっているのは,headsは タイトル(見出し,head line)を0個以上含んでいるからです.

プロパティ

prop_setでは前景色(foreground)以外にも以下のものが指 定できます.詳しくはPango Text Attribute Markup を見てください.

font_desc
フォント情報を指定します.
font_family

フォント名を指定します.

フォント名の一覧はfont_familiesとやればフォント名の 配列として取得できます.

face
font_familyと同じです.
size

フォントの大きさを指定します.

フォントの大きさを数値で指定する場合は,指定する数値を screen_sizeで変換してからPango::SCALEを掛けて ください.例えば,フォントの大きさを(Rabbitのテーマの世 界の単位で)2にする場合は以下のようにします.

screen_size(2) * Pango::SCALE
style
フォントのスタイルを指定します.
weight
フォントの重みを指定します.
variant
フォントのvariant(変形方法って感じ?)を指定します.
stretch
フォントの伸び縮みの具合を指定します.
foreground
前景色を指定します.
background
背景色を指定します.
underline
下線の種類をします.
rise
文字の上下の位置を指定します.
strikethrough
取消線を引くかどうかを指定します.
fallback
指定したフォントがなかった場合に似たようなフォントで代用 するかどうかを指定します.
lang
言語を指定します.
b
太字にします.
big
フォントのサイズを大きくします.
i
斜体にします.
s
取消線を引きます.
sub
下付き文字にします.
sup
上付き文字にします.
small
フォントのサイズを小さくします.
tt
固定スペースフォントにします.
u
下線を引きます.

フック

要素が描画される前,又は後に実行される手続きを指定することが できます.それぞれ,add_pre_draw_procadd_post_draw_procで指定できます.これらの手続きを削除 するときは,それぞれclear_pre_draw_procsclear_post_draw_procsを使います.

詳しくは...とりあえず,今のところはdefaultテーマを参考に してください.