Vivliostyle version 2019.1.101 リリース
Vivliostyle version 2019.1.101 をリリースしました。
(最新の Vivliostyle Viewer および ユーザーガイド をご覧ください。)
このリリースでは、以下の点が改善されています。
目次(Table of Contents, TOC)ナビゲーションが有効になりました
- Viewer パラメータ
#b=
が使用されていて、出版物に目次データがある場合、目次パネルが有効になります。HTML 文書では、目次要素は<nav role="doc-toc">
などでマークアップされます。Vivliostyle は、CSS セレクタ[role=doc-toc], [role=directory], nav li, .toc, #toc
で選択される要素を目次要素として認識します。
Web 出版物および同様の複数 HTML 文書をサポート
- サポートされている文書タイプは以下のとおりです(Viewer パラメータ
#b=
使用時):- ZIP 解凍済みの EPUB
- 解凍された EPUB ファイルのトップディレクトリ、または OPF ファイルの URL を指定できます。
- Web 出版物(閲覧順のある HTML 文書の集まり)
- プライマリーエントリーページまたはマニフェストファイルの URL を指定できます。
- Web 出版物マニフェストのフォーマットについては、W3C ドラフト Web Publications および Readium Web Publication Manifest がサポートされています。
- (X)HTML 文書
- (X)HTML 文書の URL が指定されている場合、その URL はプライマリーエントリーページとして扱われ、一連の HTML ファイルが自動的にロードされます。
- Web 出版物マニフェストがプライマリーエントリーページの(X)HTML 文書で指定されている場合は、マニフェストの readingOrder が使用されます。
- マニフェストが指定されていない場合、または “readingOrder” がマニフェストに含まれていない場合は、CSS セレクタ
[role=doc-toc], [role=directory], nav li, .toc, #toc
で選択される目次要素からリンクされた(X)HTML 文書がロードされます。
- (X)HTML 文書の URL が指定されている場合、その URL はプライマリーエントリーページとして扱われ、一連の HTML ファイルが自動的にロードされます。
- ZIP 解凍済みの EPUB
GitHub からの文書の読み込みと特定の URL のサポート
- GitHub と Gist の URL は直接指定できます。github/gist URL が指定されている場合、Vivliostyle は github/gist の raw コンテンツをロードします。
- 青空文庫 の(X)HTML の URL を指定できます。その場合、Vivliostyle は青空文庫の github raw コンテンツをロードします。
- JS Bin の URL は JS Bin output URL に変換され、読み込むことができます。これは、Gist と同様に、小さな HTML+CSS コードで Vivliostyle の出力をテストするのに便利です。
出版物のタイトルと個々の HTML 文書のタイトルがビューアの UI に渡されるようになりました
- [ビューア UI] Web ページのタイトルに表示中の文書のタイトルを反映します。
環境変数 ‘env(pub-title)’ と ‘env(doc-title)’ で出版物/文書のタイトルをページヘッダに出力できます
- 仕様:CSS Environment Variables Module Level 1 では
env()
関数が定義されてます。ただし、env(pub-title)
とenv(doc-title)
はまだ定義されていません。 -
env(pub-title)
:出版物タイトル = EPUB、Web 出版物、またはプライマリーエントリーページの HTML タイトル。Viewer パラメータ#b=
が使用されている場合に有効になります。 -
env(doc-title)
:文書タイトル = HTML title、複数の HTML 文書からなる出版物の中の章や節のタイトル - タイトルデータが見つからない、つまり HTML に
<title>
要素がない場合、または Viewer パラメータ#x=
が使用されている場合のenv(pub-title)
などでは、空の文字列 “” が返されます。
ビューポートのパーセンテージ単位:vw、vh、vi、vb、vmin、vmax、およびページサイズのパーセンテージ単位 pvw、pvh、pvi、pvb、pvmin、pvmax
- 仕様:CSS Values and Units - Viewport-percentage lengths、ただしページサイズのパーセント単位はこれまでのところ定義されていません。
- 注:ページメディアのコンテキストでは、ビューポートのパーセンテージ単位 vw、vh、vi、vb、vmin、vmax は、ページエリアのサイズ、つまりページボックスのコンテンツ領域に対する相対値であり、
@page
ルールで指定された margin、border、padding は含みません。これはとても理にかなっていますが、ページサイズ相対の単位も必要かもしれません。pvw、pvh、pvi、pvb、pvmin、pvmax の各単位は、vw、vh、vi、vb、vmin、vmax と似ていますが、参照サイズはページ余白を含むページサイズです。
CSS ‘calc()’ 関数をサポート
- 仕様:CSS Values and Units - Mathematical Expressions
- calc() 関数の他に、calc() 関数内で min() 関数と max() 関数を使用できます。
- 制限:calc() 内のパーセント値が正しく計算されません。
- この
calc()
実装は、単に Adaptive Layout ‘-epubx-expr()’ function の実装を再利用したものであるため、今のところそれによる制限があります。
- この
[ビューア UI] 設定パネルに新しいユーザースタイル設定 (“User Style Preferences”)
- 新しい設定:ページ余白、改ページ(widows/orphans)、画像、テキスト(基本フォントサイズ、行の高さ、フォントファミリ)
- ユーザースタイルの CSS コードが “CSS Details” ボックスに表示されて、編集可能です
- ユーザスタイル CSS は URL パラメータ
userStyle=data:,/*<viewer>*/
…/*</viewer>*/
に保存されて、再読み込み時に消えず、ブラウザでブックマークできます。 - “Font size (%)” は “Text:large/small” ボタンで増減できる ViewerOptions の fontSize を反映しており、この設定は新しい URL パラメータ
fontSize=
に保存されます。
[ビューア UI] Vivliostyle Viewer のスタートページに文書の URL 入力ボックスと使用方法の説明
- 文書 URL パラメータ(
#b=
または#x=
)が指定されていない場合、スタートページが表示されるようになりました。 - ユーザーが入力した文書 URL は URL パラメータ
#b=
に反映され、Enter キーを押すと文書がロードされます。
Render All Pages(すべてのページをレンダリング ON/OFF)設定
- On:印刷向き(すべてのページが印刷可能で、ページ番号は期待されるとおりに機能します)
- Off:閲覧向き(おおまかなページ番号を使って、クイックロード) - このモードは、多数の HTML 文書で構成される大規模な出版物を閲覧するために必要です。
- [ビューア UI] この設定は設定パネルと URL パラメータ
renderAllPages=[true | false]
で指定できます。- デフォルト設定は
#b=
(Book 閲覧)の場合はrenderAllPages=false
、#x=
(個別(X)HTML 文書)の場合はrenderAllPages=true
です。
- デフォルト設定は
デフォルトで ‘vivliostyle’ メディアタイプを有効にしました
- これは ‘print’ メディアタイプのように使うことができ、Vivliostyle 特有のスタイルシートと一般的な印刷スタイルシートを区別するのに役立ちます。
その他の変更点
- スタイルルール
h1,h2,h3,h4,h5,h6 { break-after: avoid; }
をデフォルトのスタイルシートに追加。デフォルトで見出しの後の改ページを避けるようにしました。 -
<style>
要素で media 属性が無視されていたバグを修正しました。 - 文書の読み込みに失敗したときのエラーメッセージを改善しました。
- Viewer パラメータ
#b=
に対応する関数loadEPUB()
をloadPublication()
に改名しました。これは EPUB だけのものではなくなったためです。
詳細については、Release Notes を参照してください。
謝辞
- このバージョンの開発には、株式会社日本ビジネスプレスより支援をいただいております。