rabbit-shocker / rabbit

A programmable presentation tool by Ruby.
http://rabbit-shocker.org/
Other
255 stars 42 forks source link

Rabbitでのフォント指定のしかたの相談 #125

Closed knokmki612 closed 5 years ago

knokmki612 commented 5 years ago

Rabbitでフォントを指定したい場合に、どのような方法をとるのかを共有したいです。

なぜこのようなことに関心があるかというと、OSS Gateのように複数人でスライドを編集するケースで、特定のフォントだとスライドのレイアウトが崩れる場合があります。ローカルでrabbitを使う際はそんなに気にならないのですが、rake publishしてslide.rabbit-shocker.orgにpdfが反映される場合などでレイアウトが崩れたままだと気になり、それを防ぐため想定されたフォントを使いたいためです。

自分が調べた範囲では

Rabbitではテーマにフォントを指定できて、デフォルトでは"Rabbit"というフォントファミリーがあれば使うようになっているので、この記事のように以下のようなfontconfigの設定を書くことで特定のフォントを使おうとしました。

~/.config/fontconfig/conf.d/65-nonlatin.conf

  <match target="pattern">
    <test qual="any" name="family">
      <string>Rabbit</string>
    </test>
    <edit name="family" mode="assign" binding="same">
      <string>モトヤLマルベリ3等幅</string>
    </edit>
  </match>
  <alias>
    <family>Rabbit</family>
    <prefer>
      <family>モトヤLマルベリ3等幅</family>
    </prefer>
  </alias>

ですが、いずれの書き方でも指定したフォントでスライドが表示されませんでした。最終的には一時的にsansやsans-serifのフォントの優先順位を変えてpdfを出力したのですが、スライドのレイアウト崩れを防ぐためにシステム全体のフォント設定を変えるのはあまり綺麗な方法ではないなと個人的に思っています。

OSS Gateのケースでは、OSS Gate用にテーマを新しく作り、@font_family = find_font_family("モトヤLマルベリ3等幅")を書いたほうがいいんでしょうか。

Rabbitフォントファミリーが正しく使えるならそれでも良い気もします。

kou commented 5 years ago

そうですね! テーマでフォントを指定するのがいいです!それぞれの人たちが設定をするのも大変なので。

ただ、OSS Gate用にテーマを作ってもいいんですが、今のところ、ワークショップの資料しかないので、現時点ではこのスライド専用のテーマで十分です。

ということで、指定しておきました。 https://github.com/oss-gate/workshop/commit/2f5a1749a42e2eec317a7879f4fd697a1ff05001

knokmki612 commented 5 years ago

なるほど!ソースディレクトリにtheme.rbを置いてinclude_themeすればテーマを少し弄って使うことができるんですね!勉強になりました!

ありがとうございます!

knokmki612 commented 5 years ago

https://github.com/oss-gate/workshop/commit/2f5a1749a42e2eec317a7879f4fd697a1ff05001 の変更によって使用したいフォントで表示されることを確認しました!