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 文書がロードされます。

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()’ 関数をサポート

[ビューア 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 を参照してください。

謝辞

  • このバージョンの開発には、株式会社日本ビジネスプレスより支援をいただいております。