一から始めてみる威沙でPDF


スタイル機能注意点


TNFファイル出力編でも書いた通り、スタイル機能はHTMLにおけるCSSのように、威沙のTNFタグの要素を定義づけられるというものです。定義というか一括設定という感じですかね。HTMLとCSSの組み合わせに慣れている方なら、直感的に使える機能だと思います。
この機能の良い点は、スタイルタグで囲って定義づけたものに関しては、表示を変更したい時に本文中のタグを探さなくとも、スタイルタグ内をいじれば調整ができるというところです。
スタイル機能は組版作業に絶対必要というわけではありません。元々のTNFタグのみでの運用でも、十分にレイアウトは調整できます。ただ、スタイル機能を使えば本文外で本文内のタグの表示を変更することができますから、うまくやれば作業の効率化を図れますし、後々修正したくなった場合にも、定義とオプションが一目で分かって便利です。includeタグを使えば、スタイル機能を記載したファイルだけ別に用意することで、区分もしやすくなります。

これの使用時の注意点があるので、以下に書いていきます。

注意点

1.ファイルを指定する場合、""で囲う。
2.空白スペースが入った文字列を指定する場合も、""で囲う。
3.fontmap,rubymapは指定不可。

この三点です。

1.ファイルを指定する場合、""で囲う。

includeやsrcなどのオプションで、ファイルを指定する時ですね。これを使う場合、
<style>
section { include:"〜〜.tnf"}
</style>
と書く必要があります。imgのsrcも同じように、
<style>
img { src:"〜〜jpeg"}
</style>
という感じです。他のオプションも""で囲えばそのまま読み込まれるので、不安であれば全部囲ってもいいかもしれません。

2.空白スペースが入った文字列を指定する場合も、""で囲う。

空白スペースは、""で囲まなければ文字としては読み込まれません。これはおそらく半角スペースや全角スペースがスタイルタグ内にあっても、エラーを出さずに処理するためなのかなと(CSSでは全角スペースなど正しくない表記があるとその要素が無視されますが、威沙の場合は表示してくれます)。

これにより、例えばsectionタグのtitleで
section.タイトル { title:僕の 新しい 日 ;}
とすると、「僕の」以降が表示されなくなります。この場合は、下記のように記載すれば、途中で消されることなく表示されます。
section.タイトル { title:"僕の 新しい 日" ;}
また、同様にindentタグの次行から冒頭挿入されるstringオプションについて、空白を指定したい時には、""で囲うようにしましょう。
indent.マサオ用 { string : "   ";}

3.fontmap,rubymapは指定不可。

fontmapとrubymapについては、おそらくそれぞれfontタグとrubyタグに被る部分があるので、定義ができない(読み込まれない?)のだと思います。

TNFファイル出力編でも取り上げましたが、fontタグで定義ができず、fontmapのみで定義ができるものとしては、フォントのファイルがあります。ですからこれはfontmapで指定して、そこで指定したnameをスタイル機能を使ってfontタグのnameオプションに反映させて使うと良いと思います。
<fontmap name="g" file="fonts/ipag.ttf"/>
<style>
font.ゴシック{ name:g;}
</style>
という感じですね。

rubymapについてもfontmapと似たような感じですが、こちらはrubymapでのみ使えるオプションと、rubyでのみ使えるオプションがそれぞれあります。それは、
<rubymap render="〜〜">
<ruby size="〜〜" point="〜〜">
の二つです。頻出度renderを設定できるのはrubymapタグのみで、ルビのサイズ・ベース文字とルビ文字との間隔size、pointを指定できるのは、rubyタグのみということになります。
そのため、まずrubymapタグでベース文字やルビ文字を定義してから、個別にルビサイズなどを変更したい文字に対して、スタイル機能を使っていけば良いと思います。
<rubymap base="漢字" text="かんじ" render="〜〜">
<style>
ruby.漢字 { size:〜〜; point:〜〜;}
</style>
という感じで。これで本文にて<ruby style="漢字">漢字</ruby>と使うと「漢字」に「かんじ」というルビが振られ、指定されたサイズ・距離を取るようになります。

この辺の注意点を理解して使えば、引っかからずに済むのではないのかなと。ルビは置換しやすいので、スタイル機能を使わない方が分かりやすいかもしれませんし、逆に一定のフォント表示の変更などは、スタイル機能で指定した方が分かりやすいかもしれません。
使用する状況や作りたいレイアウトにもよりますから、この辺は、やりやすい方にやるのが一番だと思います。


以下、補足的にスタイルタグの表記方法をおさらいしておきます。sectionタグを例にしてみました。

<style>
section.一話
{ title : そこに至るための道;
page_title : 第一話:ミア;
include : "第一話.tnf";}
</style>

<section style="一話"></section>
 図解↓


使う時はstyleタグで囲います。その中で、まず「TNFタグ.任意の名前」を入力します。この時、名前は半角英数字でも全角文字でも大丈夫です。
そのあとからオプションを指定していきます。{}で囲み、それぞれのオプションを入力。その際は、TNFタグの時のように=""で囲うのではなく、:コロンを挟んで指定します(コロンの後に""で囲った方がいいオプションもあります)。最後にそれぞれセミコロン;を入れて、完了です(入れなくても読み込んでくれます)。一番最後は}で閉じるのを忘れないようにしましょう。
そして、この機能を本文中で使う時には、そのTNFタグのオプションとしてstyleを指定します。そうすれば、あとは表示を変更したい時でもstyleタグ内のオプションを修正すればいいだけです。

どうでしょうか。結構簡単なのではないかと思います。今回オプションを段落分けしていますが、続けて入力しても大丈夫です。見やすいようにスペースを入れても、逆に入れなくても読み込んでくれるので、自分のやりやすいように指定してみてください。


トップへ戻る