https://vivliostyle.org/ja/blog/feed.xml 2025-03-01T11:50:57+09:00 Vivliostyle Vivliostyle — open source, web browser based CSS typesetting engine project GigaViewer for AppsにVivliostyle.jsが採用されました 2024-04-30T00:00:00+09:00 2024-04-30T00:00:00+09:00 https://vivliostyle.org/ja/blog/2024/04/30/gigaviewer-adopts-vivliostyle-js/ <p><a href="https://hatena.co.jp/">株式会社はてな</a>は今年3月29日、自社のマンガビューワ<a href="https://hatena.co.jp/solutions/gigaviewer">「GigaViewer for Apps」</a>が、<a href="https://shonenjumpplus.com/">「少年ジャンプ+」(株式会社集英社)</a>のアプリ版に採用されたことを発表しました。</p> <ul> <li><a href="https://hatena.co.jp/press/release/entry/2024/03/29/120000">はてなのアプリ専用マンガビューワを集英社が採用。2,700万ダウンロードを超える「少年ジャンプ+」に提供開始(2024-03-29)</a></li> </ul> <p>これにともない「GigaViewer for Apps」に組み込まれた小説用ビューワのレイアウトエンジンとして、Vivliostyle.jsが採用されたことをお知らせします。</p> <p>もしかしたら、「なぜマンガアプリにVivliostyleが?」と不思議に思われる方もいるかもしれません。じつは集英社はマンガ作品のノベライズにも力を入れており、「少年ジャンプ+」もたくさんの小説を掲載しています。</p> <p>そうした小説を読みやすく組版するために選ばれたのが、Vivliostyle.jsというわけです。開発にあたって株式会社はてなは、まず<a href="https://vivliostyle.org/ja/sponsors/#%E3%82%B9%E3%83%9D%E3%83%B3%E3%82%B5%E3%83%BC%E4%B8%80%E8%A6%A7">Bronze Sponsor</a>として私達をサポートすることを決めました。</p> <figure style="float: right; margin: 0 0 1em 1em;"> <img src="/assets/posts/2024-04-30-gigaviewer-adopts-vivliostyle-js/fig-1.jpeg" alt="「NARUTO—ナルト—暁秘伝 咲き乱れる悪の華」" style="width: 360px; box-shadow: 2px 2px 3px 2px grey;" /> <figcaption style="text-align: center font-size: 11pt;">「NARUTO—ナルト—暁秘伝 咲き乱れる悪の華」<br />(©岸本斉史・十和田シン/集英社)</figcaption> </figure> <p>その上で、「GigaViewer for Apps」の小説用ビューワ用に、Vivliostyle.jsのモジュールであるVivliostyle Coreを文字組版用のレイアウトエンジンとして組み込みました。その開発にあたっては、同社からの技術的な質問に答える形で、なんどか私達もサポートさせていただいています。</p> <p>「GigaViewer for Apps」は<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPLライセンス</a>に従ってVivliostyle.jsを利用しています。たとえばソースコードの入手方法は、下記の手順により確認できる「オープンソース」の項目をご覧ください。</p> <ul> <li>アプリ起動>マイページ>ギアマークをタップ>著作権について>オープンソース</li> </ul> <p>今回の株式会社はてなとの提携によって、Vivliostyle.jsが「少年ジャンプ+」という偉大な舞台を支える役割をいただいたことを、私達はとても栄誉に感じています。これから「GigaViewer for Apps」が、たくさんのアプリで使われるようになることを願ってやみません。</p> &copy; 2024 Vivliostyle.org 「Vivliostyle ユーザーと開発者の集い 2023春」開催報告 2023-06-16T00:00:00+09:00 2023-06-16T00:00:00+09:00 https://vivliostyle.org/ja/blog/2023/06/16/meetup-2023-spring-report/ <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2023-06-16-meetup-2023-spring-report/fig-1.png" alt="「Vivliostyle ユーザーと開発者の集い 2023春」開催報告" style="width: 500px;" /></div> <ul> <li><a href="https://vivliostyle.connpass.com/event/280760/">CSS組版 Vivliostyle ユーザーと開発者の集い 2023春</a></li> </ul> <h2 id="当日のプログラムと動画へのリンク">当日のプログラムと動画へのリンク</h2> <ul> <li><strong>第1部 ユーザーからの報告</strong> <ul> <li>13:00-13:10(10分)(<a href="https://twitter.com/ogwata">小形克宏</a>):本日の趣旨説明<a href="https://youtu.be/LWGgx_-OuzM">(movie)</a></li> <li>13:10-13:40(30分)(<a href="https://twitter.com/t_trace">藤井大洋</a>):VS Codeで使うVivliostyle<a href="https://youtu.be/IZhWqs8klAA">(movie)</a></li> <li>13:40-14:10(30分)(<a href="https://twitter.com/arinoth">大津雄一郎</a>):『Vivliostyle CSS組版入門』刊行記念 もっと紙面であそぼう!(<a href="https://docs.google.com/presentation/d/e/2PACX-1vRe8ch25fqDcA0f-H8t6jXnKkuPmjvbX8w5N6c2Url7YnDX6RrxY5C5VTrNQArUwBkn-YO0YAwWxOX1/pub?start=false&amp;loop=false&amp;delayms=3000#slide=id.p">slide</a>, <a href="https://youtu.be/tsu54buPXs4">movie</a>)</li> <li>14:10-14:15(5分)休憩</li> </ul> </li> <li><strong>第2部 Vivliostyleからの報告</strong> <ul> <li>14:15-14:45(30分)(<a href="https://twitter.com/ogwata">小形克宏</a>):Vivliostyleで旅行エッセイを共同編集/オンデマンド印刷(<a href="https://github.com/ogwata/slide-2023-05-26-kaigainotabi1">slide</a>, <a href="https://youtu.be/BBlDnUngQMI">movie</a>)</li> <li>14:45-15:15(30分)(<a href="https://twitter.com/spring_raining">緑豆はるさめ</a>):Vivliostyle CLIのアップデートと新しいVivliostyle Themes(<a href="https://paper.dropbox.com/doc/Vivliostyle-CLI-Update-2023-Spring--B6QH1glwYNzxswJS6ONA3TzsAQ-lsXkWP5og75hivqeNPNQ3">slide</a>, <a href="https://youtu.be/RiqLytcJfIE">movie</a>)</li> <li>15:15-15:45(30分)(<a href="https://twitter.com/MurakamiShinyu">村上真雄</a>):Vivliostyle.jsの最新の進化(<a href="https://github.com/MurakamiShinyu/vivliostyle-dev2023spring">slide</a>, <a href="https://youtu.be/ofxFlBkaxzk">movie</a>)</li> <li>15:45-15:50(5分)休憩</li> </ul> </li> <li><strong>第3部 ディスカッション</strong> <ul> <li>15:50-16:30(40分)5月開発者会議<a href="https://youtu.be/WGZZQIJHna0">(movie)</a></li> <li>16:30-16:40(10分)クロージング(<a href="https://twitter.com/MurakamiShinyu">村上真雄</a>)<a href="https://youtu.be/0j3zUsDkHAw">(movie)</a></li> </ul> </li> </ul> <h2 id="それぞれの発表の概要">それぞれの発表の概要</h2> <ul> <li><strong>VS Codeで使うVivliostyle(藤井大洋)</strong>:藤井さんはSF作家であるだけでなく、VS Codeで小説を執筆する機能拡張<a href="https://marketplace.visualstudio.com/items?itemName=TaiyoFujii.novel-writer">novel-writer</a>の作者でもあります。今回はその紹介に加え、Vivliostyleを使ってMarkdownからPandockを使ってEPUBとPDFを作る方法について、操作画面を交えて説明していただきました。</li> <li><strong>『Vivliostyle CSS組版入門』刊行記念 もっと紙面であそぼう!(大津雄一郎)</strong>:絶賛発売中の<a href="https://amzn.asia/d/4LZ73WU">Vivliostyle解説本</a>の著者が、「CSS 組版でこんなことができる」をテーマに、実際のCSSのコードや画面を見せながら紹介してくれました。</li> <li><strong>Vivliostyleで旅行エッセイを共同編集/オンデマンド印刷(小形克宏)</strong>:プライベートな世界旅行を撮影したカラーアルバムをVivliostyleで書籍化し印刷しました。そこで浮かび上がったVivliostylejsの課題として、<a href="https://github.com/vivliostyle/vivliostyle.js/issues/1098">OSにより出力結果が異なる問題</a>を説明しました(なお、後日の検証により<a href="https://github.com/vivliostyle/vivliostyle.js/issues/1098#issuecomment-1573302265">回避方法</a>が報告され、現在は解決済みです)。 </li> <li><strong>Vivliostyle CLIのアップデートと新しいVivliostyle Themes(緑豆はるさめ)</strong>:これまでVivliostyleの課題だったCSSのカスタマイズしにくさを解決するため、Vivliostyle CLIとThemesを大改造したコミッターが、自らその詳細な内容を解説しました。</li> <li><strong>Vivliostyle.jsの最新の進化(村上真雄)</strong>:イベントの最後として村上代表が、ここまで報告された成果や課題を整理、これからVivliostyleはどういう方向に進むのか、その開発予定を報告しました。</li> <li><strong>5月開発者会議</strong>:この日出された論点を材料に、今後のVivliostyleの課題について登壇者とコミッターが議論しました。</li> </ul> &copy; 2023 Vivliostyle.org Vivliostyleの解説本が発売! 2023-05-10T00:00:00+09:00 2023-05-10T00:00:00+09:00 https://vivliostyle.org/ja/blog/2023/05/10/vivliostyle-book/ <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2023-05-10-vivliostyle-book/fig-1.png" alt="Web技術で本が作れるCSS組版Vivliostyle入門カバー" style="width: 500px; box-shadow: 10px 10px 20px 5px grey;" /></div> <h2 id="css組版でここまでできる実践的な入門書">「CSS組版でここまでできる!」実践的な入門書</h2> <p>Vivliostyleを解説した初めての書籍『Web技術で本が作れる CSS組版Vivliostyle入門』が商業出版されました(電子書店へのリンクは文末にあります)。著者はITに強い編集プロダクション、リブロワークスの<a href="https://twitter.com/arinoth">大津雄一郎</a>さん。大津さんには、これまで何回も私達のイベント「Vivliostyle ユーザーと開発者の集い」に登壇していただきました。</p> <p>なかでも<a href="https://www.youtube.com/watch?v=RQm5G7OM2S0">商業出版『そろそろ常識?マンガでわかる「正規表現」』の制作</a>を見ていただくとよく分かるのですが、「CSS組版でここまでできる!」ということをやってのけるのが大津さんです。商業出版本のページデザインをCSS組版で実現してきた達人による解説本ですから、実践テクニックを学ぶのに最適です。まず目次を見てみましょう。</p> <ul> <li>1章 VivliostyleとCSS組版 <ul> <li>1節 CSS組版ってどんなもの?</li> <li>2節 Vivliostyleってどんなもの?</li> <li>3節 Vivliostyleを導入する</li> </ul> </li> <li>2章 CSS組版ハンズオン <ul> <li>1節 大まかな紙面を設計する</li> <li>2節 フォントを設定する</li> <li>3節 見出しのスタイルと改ページ調整</li> <li>4節 紙面上の要素を細かく調整する</li> <li>5節 PDFを書き出す</li> </ul> </li> <li>3章 MarkdownとVFM <ul> <li>1節 Markdownは難しくない!</li> <li>2節 Markdownの書き方</li> <li>3節 HTMLや数式を混ぜて書く</li> <li>4節 知っておくと便利な原稿執筆Tips</li> </ul> </li> <li>4章 Vivliostyle CLI <ul> <li>1節 複数のファイルを連結する</li> <li>2節 Vivliostyle CLIのさまざまな機能</li> </ul> </li> <li>5章 CSS組版テクニック集 <ul> <li>1節 まずはここから! 必須の基本技</li> <li>2節 難易度中! ちょっと高度なテクニック</li> <li>3節 難易度高め! いろいろ組み合わせた複合技</li> </ul> </li> <li>6章 入稿データを作る <ul> <li>1節 印刷のための最低限の基礎知識</li> <li>2節 Vivliostyleのみを利用した入稿</li> <li>3節 DTPソフトを組み合わせた入稿</li> </ul> </li> <li>7章 Vivliostyle Pub <ul> <li>1節 Vivliostyle Pubの概要</li> </ul> </li> </ul> <p>最初に1章でCSS組版やそれを実現するVivliostyleについて概説した後、2章でCSS組版用のCSS、そして第3章ではVivliostyleのMarkdown(Vivliostyle Flavored Markdown)を実際に書いていきます。つまりここまでを読み進めていけば、手取り足取りMarkdownとCSS組版による本作りを教えてもらえるのです。</p> <h2 id="css組版ならではの実践テクニックを惜しげもなく公開">CSS組版ならではの実践テクニックを惜しげもなく公開</h2> <p>しかし、本書の真骨頂と言えるのは、やはりCSS組版の達人の本領が発揮される第5章、第6章でしょう。CSS組版でここまでできるのかということに感動の連続です。</p> <ul> <li>入れ子の見出し番号、ぶら下げインデント、行取りで配置</li> <li>辞書などで使われるツメ(サイドインデックス)を章ごとにずらして配置</li> <li>伸縮自在の画像コラム枠を生成</li> <li>インラインSVG画像をページ内の任意の座標に配置</li> <li>CSS Gridを使った奥付の組み方</li> <li>任意の場所・スペースに会話文の吹き出しを生成</li> <li>凝ったデザインの目次を生成する</li> <li>背景などを裁ち落とし領域にはみ出させる</li> <li>後注、脚注、側注の生成</li> </ul> <p>キリがないのでこの辺にしておきますが、こうしたCSS組版ならではのテクニックを惜しげもなく公開しているのが、本書の最大の魅力と言えます。</p> <p>なお、来たる5月28日に開催予定<a href="https://vivliostyle.connpass.com/event/280760/">「Vivliostyle ユーザーと開発者の集い 2023春」</a>では、大津さんが本書の宣伝を兼ねてCSS組版テクニックを公開していただく予定ですので、どうかご参加ください。また、リブロワークスの下記ページで本書の紹介やサンプルページが公開されています。</p> <ul> <li><a href="https://libroworks.co.jp/?p=6956">【出版DXを実現する本!】『Web技術で「本」が作れる CSS組版Vivliostyle入門』</a></li> </ul> <p>本書は下記をはじめとした電子書店などで発売中です。ぜひお買い求めください!</p> <ul> <li>紙版 <ul> <li><a href="https://www.amazon.co.jp/dp/4863544189/">Amazon</a></li> <li><a href="https://honto.jp/netstore/pd-book_32396517.html">honto</a></li> <li><a href="https://books.rakuten.co.jp/rb/17466640/">楽天ブックス</a></li> </ul> </li> <li>電子版 <ul> <li><a href="https://book.mynavi.jp/manatee/c-r/books/detail/id=138406">本の森.jp</a></li> <li><a href="https://www.amazon.co.jp/dp/B0C531D2QF/">Amazon</a></li> <li><a href="https://honto.jp/ebook/pd_32506155.html">honto</a></li> <li><a href="https://books.rakuten.co.jp/rk/5d9abfe2827537969da4897c3bd15ade/">楽天kobo</a></li> </ul> </li> </ul> <p>(2023年5月16日:文末リンクを紙版と電子版に分載するよう修正)</p> &copy; 2023 Vivliostyle.org 新しい Vivliostyle Themes のご紹介 2023-04-23T00:00:00+09:00 2023-04-23T00:00:00+09:00 https://vivliostyle.org/ja/blog/2023/04/23/intro-new-themes/ <p><a href="/assets/posts/2023-04-23-new-themes/og.webp"><img src="/assets/posts/2023-04-23-new-themes/og.webp" alt="Vivliostyle Themeで書かれたCSSソースのスクリーンショット" /></a></p> <p>以前のイベントで予告したとおり、Vivliostyle Themesは近日中に大きな変更を加えようとしていました。そして、ついに新しいVivliostyle ThemesをBetaバージョンとしてリリースできたことを嬉しく思います! 今回リリースしたVivliostyle Themesは、単なるVivliosytleのためのCSSファイルという枠組みを超えた、CSSフレームワークの新しい形とも言える野心的なライブラリなので、この記事で少しだけ紹介させてください。</p> <h2 id="vivliostyle-themesの使用方法">Vivliostyle Themesの使用方法</h2> <p>Vivliostyle Themesは、<code class="language-plaintext highlighter-rouge">vivliostyle.config.js</code> に以下のように設定することで使用できます。(v6.0.0より新しいVivliostyle CLIは自動でテーマファイルをインストールするため <code class="language-plaintext highlighter-rouge">npm install</code> は不要です)</p> <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">module</span><span class="p">.</span><span class="nx">exports</span> <span class="o">=</span> <span class="p">{</span> <span class="na">theme</span><span class="p">:</span> <span class="dl">'</span><span class="s1">@vivliostyle/theme-base</span><span class="dl">'</span><span class="p">,</span> <span class="p">};</span> </code></pre></div></div> <p>使用できるテーマについては<a href="https://github.com/vivliostyle/themes">Vivliostyle ThemesのREADME</a>を参照してください。<del>現時点ではBetaバージョンで提供しているため、テーマ名の末尾に <code class="language-plaintext highlighter-rouge">@beta</code> をつけることに注意してください。</del> (更新: 新しいVivliostyle Themeの安定版のリリースがされたため、<code class="language-plaintext highlighter-rouge">@beta</code> を指定する必要はなくなりました)</p> <h2 id="css変数をベースにしたcssフレームワーク">CSS変数をベースにしたCSSフレームワーク</h2> <p>新しいVivliostyle Themesは、すべて新たに作成したCSSフレームワーク <a href="https://github.com/vivliostyle/themes/tree/main/packages/%40vivliostyle/theme-base"><code class="language-plaintext highlighter-rouge">@vivliostyle/theme-base</code></a> をベースとして作られています。 一般的なCSSフレームワークはBootstrapやTailwind CSSなどが知られていますが、Vivilostyle Themesはそのいずれとも異なる構成になっています。<code class="language-plaintext highlighter-rouge">@vivliostyle/theme-base</code> は、一言で表すと「Markdownなどの構造化されたドキュメントに適した、CSS変数でカスタマイズ可能なCSSフレームワーク」です。</p> <p><code class="language-plaintext highlighter-rouge">@vivliostyle/theme-base</code> を使用したドキュメントを見てみると、見た目はブラウザデフォルトのUser agent stylesheetとほとんど同じように見えます。 その代わりに、各要素セレクターのプロパティにさまざまなCSS変数が設定されていることを確認できます。</p> <p><a href="/assets/posts/2023-04-23-new-themes/fig-1.webp"><img src="/assets/posts/2023-04-23-new-themes/fig-1.webp" alt="theme-baseが適用されたWebページのスクリーンショット" /></a></p> <p>これこそが <code class="language-plaintext highlighter-rouge">@vivliostyle/theme-base</code> によって実現していることです。</p> <p>一般的なCSSは、まずスタイルを適用したいセレクターを選択して、その後に実際に適用するスタイルを記述します。 CSSのスタイルが重複して設定された場合、このセレクターの詳細度に応じて上書きするスタイルを記述します。 この特徴により、CSSは正しく管理された範囲の中では柔軟に制御できます。</p> <p>しかし、これはすべてのCSSを自分で管理できているときの話で、外部の人間がCSSを上書きするケースの場合困難が伴います。 継承先のCSSが継承元のCSSを上書きするためには、元のCSSよりも高い詳細度のセレクターを設定したり <code class="language-plaintext highlighter-rouge">!important</code> をつけて詳細度を上げる必要がありますが、これは継承元のCSSの内容に依存しているため、読みにくく理解の難しいCSSになってしまいます。 また、継承元のCSSがアップデートして詳細度が変わってしまうと、依存先のCSSも無効になってしまいます。 これまでのCSSによるテーマ機能は、この「詳細度の制御」が課題でした。</p> <p>新しいVivliostyle Themesは、セレクターを使う代わりに「CSS変数」を使ってスタイルの適用先を指定します。</p> <div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">/* 一般的なCSSの指定方法 */</span> <span class="nt">h1</span> <span class="p">{</span> <span class="nl">font-size</span><span class="p">:</span> <span class="m">2.5rem</span><span class="p">;</span> <span class="nl">line-height</span><span class="p">:</span> <span class="m">1.5</span><span class="p">;</span> <span class="p">}</span> <span class="nt">p</span> <span class="p">{</span> <span class="nl">margin</span><span class="p">:</span> <span class="m">0.5rem</span> <span class="m">1.5rem</span><span class="p">;</span> <span class="p">}</span> <span class="c">/* Vivliostyle Themesの指定方法 */</span> <span class="nd">:root</span> <span class="p">{</span> <span class="py">--vs--h1-font-size</span><span class="p">:</span> <span class="m">2.5rem</span><span class="p">;</span> <span class="py">--vs--h1-line-height</span><span class="p">:</span> <span class="m">1.5</span><span class="p">;</span> <span class="py">--vs--p-margin-block</span><span class="p">:</span> <span class="m">0.5rem</span><span class="p">;</span> <span class="py">--vs--p-margin-inline</span><span class="p">:</span> <span class="m">1.5rem</span><span class="p">;</span> <span class="p">}</span> </code></pre></div></div> <p>Vivliostyle Themesでは、<code class="language-plaintext highlighter-rouge">--vs</code> で始まる名前のCSS変数を定義しています。 4つのCSS変数はもとのセレクターとは関係ない <code class="language-plaintext highlighter-rouge">:root</code> というセレクターに設定されているため、継承元のスタイルの詳細度を気にする必要がなくなっています。</p> <p>それでは、実際に設定できるCSS変数について紹介します。</p> <h2 id="体系化されたcss変数">体系化されたCSS変数</h2> <p>上記の例では <code class="language-plaintext highlighter-rouge">h1</code> タグや <code class="language-plaintext highlighter-rouge">p</code> タグといった特定のタグに対する指定でしたが、Vivliostyle ThemesはVivliostyleがターゲットにする文章レイアウトがかんたんに実現できるように、設定するCSS変数の名前を体系化して定義しています。</p> <h3 id="meta-propertiescss"><code class="language-plaintext highlighter-rouge">meta-properties.css</code></h3> <p>ドキュメント全体に適用するもっとも基本的なCSS変数は <a href="https://github.com/vivliostyle/themes/blob/6b516234280c1eb8e5fbce1a63ba9688cc02e72f/packages/%40vivliostyle/theme-base/css/common/meta-properties.css"><code class="language-plaintext highlighter-rouge">meta-properties.css</code></a> で定義されています。 たとえば、ドキュメント全体のフォントや文字サイズ、縦書きか横書きか、などに関する情報です。</p> <div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">:root</span> <span class="p">{</span> <span class="py">--vs-font-family</span><span class="p">:</span> <span class="nb">serif</span><span class="p">;</span> <span class="c">/* フォントをセリフ体に設定 */</span> <span class="py">--vs-writing-mode</span><span class="p">:</span> <span class="n">vertical-rl</span><span class="p">;</span> <span class="c">/* 縦書きで表示 */</span> <span class="py">--vs-spacing-rlh</span><span class="p">:</span> <span class="m">2rem</span><span class="p">;</span> <span class="c">/* 各要素の基本的なマージンを設定 */</span> <span class="p">}</span> </code></pre></div></div> <h3 id="basiccss"><code class="language-plaintext highlighter-rouge">basic.css</code></h3> <p><code class="language-plaintext highlighter-rouge">h1</code> タグや <code class="language-plaintext highlighter-rouge">p</code> タグをはじめとした一般的な要素に対するCSS変数は <a href="https://github.com/vivliostyle/themes/blob/6b516234280c1eb8e5fbce1a63ba9688cc02e72f/packages/%40vivliostyle/theme-base/css/common/basic.css"><code class="language-plaintext highlighter-rouge">basic.css</code></a> で定義されています。 <code class="language-plaintext highlighter-rouge">basic.css</code> で定義されているCSS変数は、すべて <code class="language-plaintext highlighter-rouge">--vs--</code> で始まる名前になっています。</p> <div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">:root</span> <span class="p">{</span> <span class="py">--vs--blockquote-font-size</span><span class="p">:</span> <span class="m">120%</span><span class="p">;</span> <span class="c">/* blockquoteタグのフォントサイズを120%に設定 */</span> <span class="py">--vs--figure-margin-inline</span><span class="p">:</span> <span class="m">2rem</span><span class="p">;</span> <span class="c">/* figureタグのinline方向のmarginを指定 */</span> <span class="p">}</span> </code></pre></div></div> <p>一部のHTML要素には、一括で設定するためのCSS変数も用意されています。</p> <ul> <li><code class="language-plaintext highlighter-rouge">--vs--heading-*</code>: Heading要素 (<code class="language-plaintext highlighter-rouge">h1</code>, <code class="language-plaintext highlighter-rouge">h2</code>, <code class="language-plaintext highlighter-rouge">h3</code>, <code class="language-plaintext highlighter-rouge">h4</code>, <code class="language-plaintext highlighter-rouge">h5</code>, <code class="language-plaintext highlighter-rouge">h6</code>) に対して一括で指定します</li> <li><code class="language-plaintext highlighter-rouge">--vs--monospace-*</code>: 等幅フォントが適用される要素 (<code class="language-plaintext highlighter-rouge">code</code>, <code class="language-plaintext highlighter-rouge">kbd</code>, <code class="language-plaintext highlighter-rouge">pre</code>, <code class="language-plaintext highlighter-rouge">samp</code>) に対して一括で指定します</li> <li><code class="language-plaintext highlighter-rouge">--vs--lists-*</code>: リスト要素 (<code class="language-plaintext highlighter-rouge">ul</code>, <code class="language-plaintext highlighter-rouge">ol</code>, <code class="language-plaintext highlighter-rouge">dl</code>) に対して一括で指定します</li> </ul> <p>また、<code class="language-plaintext highlighter-rouge">table</code> タグについてはより細かく罫線の幅を制御できるようになっています、たとえば以下のようなCSS変数があります。</p> <ul> <li><code class="language-plaintext highlighter-rouge">--vs--table-border-width-outer</code>: 表の外側の罫線の幅を指定</li> <li><code class="language-plaintext highlighter-rouge">--vs--table-border-width-row</code>: 表の内側の横方向の罫線の幅を指定</li> </ul> <h3 id="それ以外のcss変数">それ以外のCSS変数</h3> <p>meta-propertiesやbasic以外にも、ページレイアウトに関する設定や相互参照、目次など、Vivliostyleが提供する機能の多くをCSS変数でのカスタマイズでカバーしています。 より詳しいドキュメントは、<a href="https://github.com/vivliostyle/themes/tree/main/packages/%40vivliostyle/theme-base">@vivliostyle/theme-baseのREADME</a> を参照してください。</p> <h2 id="実際の適用例">実際の適用例</h2> <p>これらのCSS変数が実際にはどのように活用されているかは、<code class="language-plaintext highlighter-rouge">theme-base</code> 以外のテーマファイルを見ることで確認できます。</p> <p>たとえば、<code class="language-plaintext highlighter-rouge">theme-techbook</code> のテーマファイルは <a href="https://github.com/vivliostyle/themes/blob/main/packages/%40vivliostyle/theme-techbook/theme.css"><code class="language-plaintext highlighter-rouge">@vivliostyle/theme-techbook/theme.css</code></a> にあります。 中身を簡略化するとこのようになっています。</p> <div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">@import</span> <span class="sx">url(../theme-base/theme-all.css)</span><span class="p">;</span> <span class="k">@import</span> <span class="sx">url(../theme-base/css/lib/prism/base.css)</span><span class="p">;</span> <span class="k">@import</span> <span class="sx">url(../theme-base/css/lib/prism/theme-okaidia.css)</span><span class="p">;</span> <span class="c">/** * Theme variables */</span> <span class="nd">:root</span> <span class="p">{</span> <span class="py">--vs-theme--anchor-color-body</span><span class="p">:</span> <span class="m">#3498db</span><span class="p">;</span> <span class="py">--vs-theme--blockquote-color-bg</span><span class="p">:</span> <span class="m">#ecf0f1</span><span class="p">;</span> <span class="py">--vs-theme--blockquote-color-body</span><span class="p">:</span> <span class="m">#34495e</span><span class="p">;</span> <span class="err">...</span> <span class="p">}</span> <span class="nd">:root</span> <span class="p">{</span> <span class="py">--vs-font-family</span><span class="p">:</span> <span class="s2">'Neue Frutiger World'</span><span class="p">,</span> <span class="s2">'Verdana'</span><span class="p">,</span> <span class="s2">'Hiragino Sans'</span><span class="p">,</span> <span class="nb">sans-serif</span><span class="p">;</span> <span class="py">--vs-font-size-on-print</span><span class="p">:</span> <span class="m">75%</span><span class="p">;</span> <span class="py">--vs-line-height</span><span class="p">:</span> <span class="m">1.7</span><span class="p">;</span> <span class="py">--vs-widows-orphans</span><span class="p">:</span> <span class="m">3</span><span class="p">;</span> <span class="py">--vs--heading-line-height</span><span class="p">:</span> <span class="m">1.2</span><span class="p">;</span> <span class="err">...</span> <span class="p">}</span> </code></pre></div></div> <p>ご覧の通り、テーマファイル自身も <code class="language-plaintext highlighter-rouge">theme-base</code> のCSS変数の内容をカスタマイズすることでスタイルを変化させています。 もちろん、自分でCSSを用意することでこのテーマからさらにCSS変数の内容を上書きすることもできます。 また、Vivliostyleが提供するテーマは、<code class="language-plaintext highlighter-rouge">--vs-theme--</code> で始まる名前のテーマ固有のCSS変数も提供しています。 必要に応じてこの内容もカスタマイズしてください。</p> <h2 id="自分のテーマを作成する">自分のテーマを作成する</h2> <p>自分のテーマを作成するための雛形生成ツール <a href="https://github.com/vivliostyle/themes/tree/main/packages/create-vivliostyle-theme">create-vivliostyle-theme</a> も、新しいVivliostyle Themesに対応しました。雛形を生成するためには、以下のコマンドを実行します。</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm create vivliostyle-theme &lt;your-theme-name&gt; </code></pre></div></div> <p>生成される雛形にはこれまでのようなSASSファイルは含まれておらず、<code class="language-plaintext highlighter-rouge">theme.css</code> だけがあるシンプルな構成になりました。テーマが完成したら、ぜひnpm packageとして公開してみてください!</p> <h2 id="まとめ">まとめ</h2> <p>この記事では、CSS変数によって新しくなったVivliostyle Themesについて紹介しました。 新しいVivliostyle Themesは、フィードバックを受けたのち正式版としてリリースされます。 ご意見がありましたら、ぜひ <a href="https://github.com/vivliostyle/themes/issues/new">vivliostyle/themesのissueに登録</a> してください。</p> &copy; 2023 Vivliostyle.org 「Vivliostyle ユーザーと開発者の集い 2022秋」開催報告 2022-11-30T00:00:00+09:00 2022-11-30T00:00:00+09:00 https://vivliostyle.org/ja/blog/2022/11/30/event-report-of-Vivliostyle-user-dev-meetup-autumn-2022/ <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2022-11-30-event-report-of-Vivliostyle-user-dev-meetup-autumn-2022/fig-1.png" alt="「Vivliostyle ユーザーと開発者の集い 2022秋」開催報告" style="width: 500px;" /></div> <h2 id="css組版-vivliostyle-ユーザーと開発者の集い-2022秋の開催">「CSS組版 Vivliostyle ユーザーと開発者の集い 2022秋」の開催</h2> <p>11月20日に秋のユーザーイベントがオンライン開催されました。</p> <ul> <li><a href="https://connpass.com/event/264332/">CSS組版 Vivliostyle ユーザーと開発者の集い 2022秋</a></li> </ul> <p>当日のプログラムと、それぞれのスライド資料、アーカイブ動画へのリンクは下記の通りです。</p> <ul> <li><strong>第1部</strong> <ul> <li>13:00-13:10(10分)<strong>本日の趣旨説明</strong>(<a href="https://twitter.com/ogwata">小形克宏</a>)(<a href="https://youtu.be/g41n3xi86uQ">movie</a>) <ul> <li>この日発表予定の演題とその概要を簡単にご説明します。</li> </ul> </li> <li>13:10-13:40(30分)<strong>Vivliostyle.jsの先行実装から考えるCSS text-spacingプロパティ</strong>(<a href="https://twitter.com/terkel">鈴木丈 Fontworks</a>)(<a href="https://speakerdeck.com/terkel/vivliostyle-dot-js-noxian-xing-shi-zhuang-karakao-erucss-text-spacing-puropatei">slide</a>, <a href="https://youtu.be/vfb-FBTyAUU">movie</a>) <ul> <li>まだブラウザで実装されていない、Vivliostyle.jsの先行実装(和欧間のアキ、連続する約物のスペーシング、行頭・行末のスペーシング)を、ユーザーの立場からレビューします。後半10分からは、実装者である村上代表が疑問に回答します。</li> </ul> </li> <li>13:40-14:10(30分)<strong>Vivliostyle.jsにおけるWeb標準、CSSサポートの大改善</strong>(<a href="https://twitter.com/MurakamiShinyu">村上真雄</a>)(<a href="https://murakamishinyu.github.io/vivliostyle-dev2022autumn/">slide</a>, <a href="https://youtu.be/p7YKTuBC68Q">movie</a>) <ul> <li>最近、新しく利用可能になったCSSグリッドレイアウト、CSS変数(カスタムプロパティ)CSSセレクター レベル4(<code class="language-plaintext highlighter-rouge">:has()</code>疑似クラスなど)等について詳しく説明します。あわせて課題として残っている未実装のCSSの機能などについても説明します。</li> </ul> </li> <li>14:10-14:15(5分)休憩</li> </ul> </li> <li><strong>第2部 Vivliostyle開発報告</strong> <ul> <li>14:15-14:25(10分)<strong>Vivliostyleプロジェクトの今までとこれから</strong>(<a href="https://twitter.com/MurakamiShinyu">村上真雄</a>)(<a href="https://murakamishinyu.github.io/vivliostyle-proj2022autumn/">slide</a>, <a href="https://youtu.be/9c5ueJcYKeE">movie</a>) <ul> <li>Vivliostyleプロジェクトで予定されている、非互換変更を含む拡張予定について説明します。たとえばVFMバージョン2(Markdown拡張仕様)でおこなうセクション分けの仕様変更、あるいはVivliostyle CLI v6における拡張予定、そしてthemeのスタイルシートの刷新などです。</li> </ul> </li> <li>14:25-14:45(20分)<strong>Vivliostyle CLI update - 2022 Autumn</strong>(<a href="https://twitter.com/spring_raining">緑豆はるさめ</a>)(<a href="https://paper.dropbox.com/doc/Vivliostyle-CLI-update-2022-Autumn--BtWcfC5r~eWo7mcxlTy~XLm8AQ-PShS2Bb2KLXRTWoqdN36J">slide</a>, <a href="https://youtu.be/Le_Zea-mCCs">movie</a>) <ul> <li>前半はこの半年のVivliostyle CLIのアップデート内容、例えばブラウザのライブラリをPuppeteerからPlaywriteに変更したこと、<code class="language-plaintext highlighter-rouge">--css</code>オプションの追加、裁ち落とし関連のオプション追加等について説明します。後半は現在取り組んでいるテーマ機能の強化について詳しく説明します。</li> </ul> </li> <li>14:45-15:05(20分)<strong>VFMの仕様設計の再考</strong>(<a href="https://twitter.com/nosuke23">@nosuke23</a>)(<a href="https://vivliostyle-20221120-nosuke23.vercel.app/1">slide</a>, <a href="https://youtu.be/etP3E3XLXMc">movie</a>) <ul> <li>Markdownの拡張方法について、考慮すべき点を整理します。セマンティックなマークアップは、どうしても名前衝突をおこす可能性が高くなります。これを防ぐために、CSSをモジュール化してコンポーネントを宣言的に割り当てる「宣言的マークアップ」が有効ではないかということを説明します。後半、発表を踏まえて村上代表、及びVFMのメンテナーakabeko氏が入って3人で討論します。</li> </ul> </li> <li>15:05-15:10(5分)休憩</li> </ul> </li> <li><strong>第3部 広がるVivliostyle</strong> <ul> <li>15:10-15:30(20分)<strong>vivliostyle-cli-helperの公開と商業出版『Viviliostyle CSS組版入門(仮)』</strong>(<a href="https://twitter.com/arinoth">大津雄一郎 リブロワークス</a>)(<a href="https://onedrive.live.com/view.aspx?resid=FD4E1B19C4E7DE29!45691&amp;ithint=file%2cpptx&amp;authkey=!AO3fsykPK085SGQ">slide</a>, <a href="https://youtu.be/u2DDCgHfQpQ">movie</a>) <ul> <li>来年春に出版が予定されている『Viviliostyle CSS組版入門(仮)』の内容、及びそこで教材として使われるツールvivliostyle cli helperについて、著者みずからが詳しく説明します。</li> </ul> </li> <li>15:30-15:50(20分)<strong>Vivliostyle、もう一つのブルーオーシャン</strong>(<a href="https://twitter.com/ogwata">小形克宏</a>)(<a href="https://vivliostyle.org/viewer/#src=/load/view.php?a=aHR0cHM6Ly9vZ3dhdGEuZ2l0aHViLmlvL3NsaWRlLTIwMjItMTEtMjAvbXlzbGlkZS5odG1sJnF1b3Q7Jmd0O3NsaWRlJmx0Oy9hJmd0Oyw <a href="https://youtu.be/zdfskfdUd-8">movie</a>) <ul> <li>Vivliostyleの強みはページ組版だけではありません。最近のVivliostyleのユーザー事例を見ると、いずれも共同編集機能を駆使したものであることが分かります。この共同編集機能こそがVivliostyleにとってのもう一つのブルーオーシャンなのかもしれません。そうだとすれば、ページ組版はオプションでよいことになります。</li> </ul> </li> <li>15:50-15:55(5分)休憩</li> </ul> </li> <li><strong>第4部 11月開発者会議</strong> <ul> <li>15:55-16:25(40分)(<a href="https://youtu.be/WGZZQIJHna0">movie</a>) <ul> <li>この日出された論点を材料に、今後のVivliostyleの課題について登壇者とメンテナーが議論しました。</li> </ul> </li> <li>16:25-16:35(10分)<strong>クロージング</strong>(<a href="https://twitter.com/MurakamiShinyu">村上真雄</a>)(<a href="https://youtu.be/Qiu0i-J8ATI">movie</a>) <ul> <li>村上代表による閉会のことば。</li> </ul> </li> </ul> </li> </ul> <p>今回のイベントでも、いくつもの「へえ!」というようなトピックがありました。以下では短くそれらをご紹介しましょう。</p> <h2 id="鈴木丈さんfontplusによる実装の評価">鈴木丈さん(<a href="https://fontplus.jp/">FONTPLUS</a>)による実装の評価</h2> <p>鈴木さんの<a href="https://youtu.be/vfb-FBTyAUU">Vivliostyle.jsの先行実装から考えるCSS text-spacingプロパティ</a>では、ブラウザがまだ実装していない仕様のうち、<a href="https://www.w3.org/TR/css-text-4/">CSSテキスト レベル4</a>のプロパティ<code class="language-plaintext highlighter-rouge">text-spacing</code>に絞って、Vivliostyle.jsにおける実装を検証、評価して下さいました。その内容は現在の実装を概ね肯定するもので、私たちとしては今までやってきたことが間違っていなかったと心強く思いました。また、後半22分以降の村上代表によるコメントも、いわば鈴木さんの疑問に答えて実装の種明かしをする内容で、聞き応えのある対話が聞けたように思います。</p> <h2 id="近い将来vivliostylejsで行取りが簡単に">近い将来Vivliostyle.jsで行取りが簡単に</h2> <p>村上代表の<a href="https://youtu.be/p7YKTuBC68Q">Vivliostyle.jsにおけるWeb標準、CSSサポートの大改善</a>では、後述する<code class="language-plaintext highlighter-rouge">:has()</code>疑似クラスをはじめ、多くの改善点の説明や近い将来のアップデートが予告されました。</p> <p>中でも大きいのが、従来ブラウザーが実装している最新のCSSの機能のうち使えないものがあったところ、v2.16.0 (2022-07-19)、及びv2.17.0 (2022-07-29)において、基本的にすべて使えるようにしたことです。これにより将来ブラウザが実装するCSSの機能も、そのままVivliostyle.jsで使えるようになります。</p> <p>そうしたCSS機能の中で、個人的に注目しているのが<a href="https://drafts.csswg.org/css-values-4/#lh">lh and rlh units</a>です(16:12)。これは<code class="language-plaintext highlighter-rouge">line-height</code>で指定された数値を単位として扱えるようにするもので、実装されれば「本文のn行分」という方法で見出しや画像等のサイズがごく簡単に指定できるようになります。とくに伝統的な日本語組版とCSS組版の違いに戸惑ってきたユーザーには朗報かもしれません。</p> <h2 id="vfmv2における非互換変更について">VFMv2における非互換変更について</h2> <p>村上代表の<a href="https://youtu.be/9c5ueJcYKeE">Vivliostyleプロジェクトの今までとこれから</a>では、VivliostyleのMarkdown方言、VFMが近々v2にアップデートすることが予告されました(2:41付近)。この中には非互換な変更が含まれるので、現在VFMで書いたデータを持っているユーザは対応が必要になります。</p> <p>具体的には、現行v1では見出しの属性は基本的に<code class="language-plaintext highlighter-rouge">section</code>要素にコピーされ、<code class="language-plaintext highlighter-rouge">id</code>属性は同じく<code class="language-plaintext highlighter-rouge">section</code>要素に移動していましたが、v2からは廃止します。これらの振る舞いは、見出しを含むsection全体にスタイルが指定できるなど、Markdownの制限の中である程度柔軟な範囲指定を可能にする、便利な機能でした。</p> <p>しかし最近、Vivliostyle.jsで子要素や後に続く任意の要素を指定する<code class="language-plaintext highlighter-rouge">:has()</code>疑似クラスを実装したことで、より精密な指定ができるようになりました。これにより従来の振る舞いは廃止する方が、ユーザーにとってメリットが大きいと判断したものです。</p> <p>v2では見出しの<code class="language-plaintext highlighter-rouge">id</code>属性に限っては、<code class="language-plaintext highlighter-rouge">section</code>要素の<code class="language-plaintext highlighter-rouge">aria-labelledby</code>属性にコピーされることになりますが、これ以外の属性はコピーや移動はしないようになります。どうかご注意ください。</p> <h2 id="vivliostyle-cliにおけるテーマ機能の強化">Vivliostyle CLIにおけるテーマ機能の強化</h2> <p>緑豆はるさめさんの<a href="https://youtu.be/Le_Zea-mCCs">Vivliostyle CLI update - 2022 Autumn</a>で注目したいのは、次バージョンで予定されているテーマ機能の強化です(10:20付近)。これはVivliostyle.jsで実装されたCSS変数(カスタムプロパティ)を本格的に利用しようとするものです。</p> <p>具体的には、Vivliostyle themeの中で共通して使えるベーシックなテーマ、<code class="language-plaintext highlighter-rouge">@vivliostyle/theme-base</code>を用意し、それを他のテーマが参照する形にします。これにより全体で使う変数を共通化することができます。たとえばフォントの種類、文字のサイズや色、段組の数などさまざまなCSSの機能が、まるでスイッチをオン/オフするような感覚で設定することができるでしょう。この日は開発中の機能のデモを実際に見ることができ(14:35)、便利さを実感することができました。とても楽しみです。</p> <p>また、このテーマ機能の強化の後、いよいよEPUB出力のサポートに取り組むとのこと。来年はすばらしい年になりそうです。</p> <h2 id="vivliostyle入門本が商業出版される">Vivliostyle入門本が商業出版される</h2> <p><a href="https://www.c-r.com/">C&amp;R研究所</a>から待望のVivliostyle入門本が出版されます! これを詳しく説明したのが、大津雄一郎さんの<a href="https://youtu.be/u2DDCgHfQpQ">vivliostyle-cli-helperの公開と商業出版『Viviliostyle CSS組版入門(仮)』</a>です。この本ではHTMLやCSSの知識を多少持っている人をメインターゲットにして、必要最低限の組版の知識を取り混ぜて、Vivliostyleの解説をすすめる形にするとのことです。構成案は以下の通りです。</p> <ol> <li>VivliostyleとCSS組版</li> <li>CSS組版ハンズオン</li> <li>VFM Markdown入門</li> <li>Vivliostyle CLIの活用</li> <li>CSS組版デザインTips</li> <li>入稿と印刷</li> <li>Vivliostyle Pub</li> </ol> <p>また、本書のハンズオンで使用予定のVSCodeの機能拡張<a href="https://marketplace.visualstudio.com/items?itemName=Libroworks.vivliostyle-cli-helper">vivliostyle-cli-helper</a>のデモを見ることができました(15:21)。これを使うとVSCodeで原稿を書きながらプレビュー画面を簡単に表示させることができます。なんて便利!</p> <p>本書の発売予定は来年、2023年3月〜4月とのこと。楽しみに見守りたいと思います。</p> <h2 id="おわりに">おわりに</h2> <p>ここまで、当日のトピックをピックアップしましたが、これ以外にも聞き応えのある発表が盛り沢山でした。ぜひ上記リストからご自分の目で確かめてみてください。次回は来年、2023年4月の開催予定です。それまでVivliostyleの開発がどこまで進むのか、どうか来年もVivliostyleにご注目ください。</p> &copy; 2022 Vivliostyle.org Vivliostyle Pubで作成したPDFファイルを印刷するサービスが開始 2022-09-07T00:00:00+09:00 2022-09-07T00:00:00+09:00 https://vivliostyle.org/ja/blog/2022/09/07/service-to-print-pdfs/ <p>7月に、<a href="https://vivliostyle.org/ja/blog/2022/07/28/vivliostyle-pub-now-exports-pdf-files/">Vivliostyle PubでPDFが出力できるようになった</a>ことを報告しました。このたび、そのPDFをPOD(プリントオンデマンド)で印刷できるサービスが開始されました。これは<a href="https://obun.jp/">欧文印刷株式会社  <i class="fas fa-external-link-alt"></i></a>による印刷サービス <a href="https://pod.mybooks.jp/">mybooksPOD  <i class="fas fa-external-link-alt"></i></a>との提携によるものです。サービス名にある「POD」とは「Print On Demand」の略で、必要に応じて必要な部数だけを印刷できる方式です。</p> <p>以下、Vivliostyle Pubからこのサービスを利用する方法を順を追ってご説明します。大まかな流れは、mybooksPODのページに遷移→PDFファイルを添えて見積もり依頼→サービスから見積金額が返信→OKならば正式に印刷を発注→納品というものです。</p> <p>①Vivliostyle Pubで出力したPDFファイルを用意した上で、編集画面の右上にある「ユーザーガイド」(赤丸)のボタンを押します(下図)。</p> <p><a href="/assets/posts/2022-09-07-service-to-print-pdfs/fig-1.png"><img src="/assets/posts/2022-09-07-service-to-print-pdfs/fig-1.png" alt="ユーザーガイド」(赤丸)のボタン" /></a></p> <p>②すると新規タブにVivliostyle Pubユーザガイドが表示されますので、画面左のインデックスから「Actionメニュー &gt; Export(出力)」(赤丸)をクリックします。</p> <p><a href="/assets/posts/2022-09-07-service-to-print-pdfs/fig-2.png"><img src="/assets/posts/2022-09-07-service-to-print-pdfs/fig-2.png" alt="Actionメニュー &gt; Export(出力)" /></a></p> <p>③同じく画面左のインデックスから「印刷会社への入稿」(赤四角❶)をクリックすると、「印刷会社への入稿」の節が表示されます。記事を読んだ上で、そのなかの <a href="https://pod.mybooks.jp/">mybooksPOD  <i class="fas fa-external-link-alt"></i></a>のリンク(赤丸❷)をクリックしてください。</p> <p><a href="/assets/posts/2022-09-07-service-to-print-pdfs/fig-3.png"><img src="/assets/posts/2022-09-07-service-to-print-pdfs/fig-3.png" alt="mybooksPODのリンク" /></a></p> <p>④すると新規タブにmybooksPODのページが表示されます。内容をよく読んでから入稿をするようにしてください。</p> <p><a href="/assets/posts/2022-09-07-service-to-print-pdfs/fig-4.png"><img src="/assets/posts/2022-09-07-service-to-print-pdfs/fig-4.png" alt="mybooksPOD" /></a></p> <p>⑤ページ下へスクロールすると「見積もり依頼」のセクションがあります。印刷したいPDFファイルを選択、アップロードしたあと、フォームに必要事項を記入していきます。以下のページも参考にしてください。</p> <ul> <li><a href="https://pod.mybooks.jp/other/apply.html">入稿について  <i class="fas fa-external-link-alt"></i></a></li> </ul> <p>フォームへの入力が終わったら、画面下端の「次へ進む」をクリックしてください。</p> <p><a href="/assets/posts/2022-09-07-service-to-print-pdfs/fig-5.png"><img src="/assets/posts/2022-09-07-service-to-print-pdfs/fig-5.png" alt="見積もり依頼" /></a></p> <p>⑥「お見積もり内容の確認」の画面に遷移します。入力内容を確認して問題がなければ「送信」、修正したければ「戻る」ボタンを押します。</p> <p><a href="/assets/posts/2022-09-07-service-to-print-pdfs/fig-6.png"><img src="/assets/posts/2022-09-07-service-to-print-pdfs/fig-6.png" alt="お見積もり内容の確認" /></a></p> <p>⑦数日後、欧文印刷株式会社から見積もり結果が届くでしょう。もしもその内容に納得がいくなら発注し、納品をお待ちください。納得がいかない場合はキャンセルすればよいだけです。</p> <p>なお、mybooksPOD に関する詳細はここでは触れません。不明点があれば欧文印刷株式会社に直接<a href="https://otoiawase.jp/do/public/form/mybooks/1">お問い合わせください  <i class="fas fa-external-link-alt"></i></a>。</p> &copy; 2022 Vivliostyle.org Vivliostyle PubでPDFが出力できるようになりました 2022-07-28T00:00:00+09:00 2022-07-28T00:00:00+09:00 https://vivliostyle.org/ja/blog/2022/07/28/vivliostyle-pub-now-exports-pdf-files/ <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2022-07-28-vivliostyle-pub-now-exports-pdf -files/fig-1.png" alt="Vivliostyle PubでPDFが出力できるようになりました" style="width: 500px;" /></div> <p>4月にアルファ版を公開したVivliostyle Pubは、その後も開発が順調にすすみ、このほどPDFの書き出しができるようになりました。それに伴い、ユーザーガイドも大幅に改訂しました。</p> <ul> <li><a href="https://vivliostyle.github.io/docs-vivliostyle-pub/#/ja/">Vivliostyle Pub α版ユーザーガイド</a></li> </ul> <p>今回のアップデートの結果、たとえば現在のVivliostyle Pubは下記のようなことができます。</p> <ul> <li><a href="https://vivliostyle.github.io/docs-vivliostyle-pub/#/ja/readme-first/quick-start-guide-and-required-environment#%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%EF%BC%8F%E3%83%97%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E7%94%BB%E9%9D%A2">Markdownで書いた原稿が、即座にプレビューできる</a></li> <li><a href="https://vivliostyle.github.io/docs-vivliostyle-pub/#/ja/functions-of-the-actions-menu/theme">Markdownファイルに、任意のtheme(スタイルシート)を適用できる</a></li> <li><a href="https://vivliostyle.github.io/docs-vivliostyle-pub/#/ja/create-and-save-documents/how-to-specify-fonts#custom-theme%EF%BC%8Fgoogle%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E3%81%AE%E4%BD%BF%E7%94%A8">無償のGoogleフォントや有償のWebフォントサービスが使える</a></li> <li><a href="https://vivliostyle.github.io/docs-vivliostyle-pub/#/ja/create-and-save-documents/document-customization.md#%E5%AF%BE%E8%B1%A1%E3%81%A8%E3%81%AA%E3%82%8B%E6%96%87%E6%9B%B8%E3%81%AE%E6%8C%87%E5%AE%9A">複数のMarkdownファイルを1冊の本にまとめられる</a></li> <li><a href="https://vivliostyle.github.io/docs-vivliostyle-pub/#/ja/multi-user-collaborative-editing/overview">GitHubの機能を使って複数ユーザーによる編集ができる</a></li> <li><a href="https://vivliostyle.github.io/docs-vivliostyle-pub/#/ja/functions-of-the-actions-menu/export#pdf">PDFの書き出しができる</a></li> </ul> <p>ただし、プレビューとPDF出力とでは組版エンジンの場所が異なるという仕様により、場合によってプレビューで使われるフォントとPDF出力で使われるフォントが一致せず、互いにページが食い違ってしまうことがあります。</p> <ul> <li><a href="https://vivliostyle.github.io/docs-vivliostyle-pub/#/ja/create-and-save-documents/how-to-specify-fonts#%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B%E3%81%97%E3%81%8F%E3%81%BF">フォントを利用するしくみ</a></li> </ul> <p>ユーザーガイドでは、こうしたフォントの不一致を回避する方法も書いてありますので、ぜひご覧ください。</p> <ul> <li><a href="https://vivliostyle.github.io/docs-vivliostyle-pub/#/ja/create-and-save-documents/how-to-specify-fonts#vivliostyle%E5%85%AC%E5%BC%8Ftheme%E3%81%A7%E4%BD%BF%E3%82%8F%E3%82%8C%E3%82%8B%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88">Vivliostyle公式Themeで使われるフォント</a></li> <li><a href="https://vivliostyle.github.io/docs-vivliostyle-pub/#/ja/create-and-save-documents/how-to-specify-fonts#custom-theme%EF%BC%8F%E3%83%97%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E3%81%A8pdf%E5%87%BA%E5%8A%9B%E3%81%A8%E3%81%A7%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E3%82%92%E4%B8%80%E8%87%B4%E3%81%95%E3%81%9B%E3%82%8B"> Custom theme/プレビューとPDF出力とでフォントを一致させる</a></li> </ul> <p>CSS組版のWebアプリ、Vivliostyle Pubは誰でも無料で使えます。ぜひ下記ページから試用してみてください。</p> <ul> <li><a href="https://vivliostyle.github.io/docs-vivliostyle-pub/#/ja/readme-first/quick-start-guide-and-required-environment">クイックスタートガイド</a></li> </ul> &copy; 2022 Vivliostyle.org 2021年度事業報告書を公開しました 2022-06-16T00:00:00+09:00 2022-06-16T00:00:00+09:00 https://vivliostyle.org/ja/blog/2022/06/16/New-FY2021-Report-Released/ <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2022-06-16-New-FY2021-Report-Released/fig-1.png" alt="2021年度事業報告書を公開しました" style="width: 400px; box-shadow: 1px 2px 2.5px 1.5px grey;" /></div> <p>2021年度(2021年4月1日〜2022年3月31日)の事業報告書を、下記のとおり公開しました。</p> <ul> <li><a href="https://vivliostyle.org/ja/about-us/#2021%E5%B9%B4%E5%BA%A6%E4%BA%8B%E6%A5%AD%E5%A0%B1%E5%91%8A%E6%9B%B8">2021年度事業報告書</a></li> </ul> <p>例年のように、<a href="https://vivliostyle.github.io/vivliostyle_doc/ja/reports/vivliostyle-report-2021/vf2021report.html">HTML</a>、Vivliostyle Viewerによる<a href="https://vivliostyle.org/viewer/#src=/load/view.php?a=aHR0cHM6Ly92aXZsaW9zdHlsZS5naXRodWIuaW8vdml2bGlvc3R5bGVfZG9jL2phL3JlcG9ydHMvdml2bGlvc3R5bGUtcmVwb3J0LTIwMjEvdmYyMDIxcmVwb3J0Lmh0bWwmYW1wO2FtcDtib29rTW9kZT10cnVlJmFtcDthbXA7dXNlclN0eWxlPWRhdGE6LC8qJTNDdmlld2VyJTNFKi8lMEFAcGFnZSUyMCU3QiUyMHNpemU6JTIwQTQ7JTIwJTdEJTBBLyolM0Mvdmlld2VyJTNFKi8mcXVvdDsmZ3Q7QTTjgrXjgqTjgrombHQ7L2EmZ3Q744CBJmx0O2E href="https://vivliostyle.org/viewer/#src=/load/view.php?a=aHR0cHM6Ly92aXZsaW9zdHlsZS5naXRodWIuaW8vdml2bGlvc3R5bGVfZG9jL2phL3JlcG9ydHMvdml2bGlvc3R5bGUtcmVwb3J0LTIwMjEvdmYyMDIxcmVwb3J0Lmh0bWwmYW1wO2FtcDtib29rTW9kZT10cnVlJnF1b3Q7Jmd0O+WPr+WkieOCteOCpOOCuiZsdDsvYSZndDvjgIHjgZ3jgZfjgaYmbHQ7YQ href="https://vivliostyle.github.io/vivliostyle_doc/ja/reports/vivliostyle-report-2021/vf2021report-ja.pdf">PDF</a>、<a href="https://github.com/vivliostyle/vivliostyle_doc/tree/gh-pages/ja/reports/vivliostyle-report-2021">ソースコード</a>、加えて<a href="https://github.com/vivliostyle/vivliostyle_doc/tree/gh-pages/en/reports/vivliostyle-report-2021/">英語版</a>もご覧いただけます。</p> <p>第4期となる2021年度において、おかげさまで当法人は単年度黒字を達成することができました。累積した赤字の解消まで道のりはまだ遠いですが、ようやくその一歩を踏み出すことができました。第1章では、そうした財務内容を報告しています。</p> <p>このように好調な決算ができたのは、Vivliostyleプロダクトの開発が順調に進んだからこそです。そこで第2章として、プロダクトごとにどのような新機能が実装されたのかをまとめました。Vivliostyle.js、Vivliostyle CLI、Vivliostyle Pubについては、プルリクエスト数やコミット数などの指標により、分かりやすく開発状況をお伝えしています。とくにVivliostyle Pubについては、4月のアルファ版公開にむけた怒濤の開発状況が客観的なデータにより浮き彫りにされています。</p> <p>こうした内容が、A4サイズで21ページにまとめてあります。Vivliostyleプロダクトのユーザであれば、きっと興味深く読むことができるのではないでしょうか。ぜひ一度、お手に取ってみてください!</p> &copy; 2022 Vivliostyle.org 2022年春ユーザーイベント開催とVivliostyle Pubアルファ版の公開 2022-05-29T00:00:00+09:00 2022-05-29T00:00:00+09:00 https://vivliostyle.org/ja/blog/2022/05/29/Event-Report-and-Alpha-Announcement/ <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2022-05-29-Event-Report-and-Alpha-Announcement/fig-1.png" alt="2022年春ユーザーイベント開催とVivliostyle Pubアルファ版の公開" /></div> <h2 id="css組版-vivliostyle-ユーザーと開発者の集い-2022春の開催">「CSS組版 Vivliostyle ユーザーと開発者の集い 2022春」の開催</h2> <p>報告が遅れてしまいましたが、4月23日に恒例となっているユーザーイベントが、オンラインで開催されました。</p> <ul> <li><a href="https://connpass.com/event/243092/">CSS組版 Vivliostyle ユーザーと開発者の集い 2022春</a></li> </ul> <p>当日のプログラムは下記のようなものでした(演題のリンクは動画記録へのものです)。</p> <ul> <li>13:05-13:15(10分)<a href="https://youtu.be/Q2Y5r8F1KTo">本日の趣旨説明</a>(<a href="https://twitter.com/ogwata">小形克宏</a>)</li> <li>13:15-13:40(25分)<a href="https://youtu.be/iHYC552z2Rc">私のVivliostyleとの付き合い方</a>(<a href="https://twitter.com/t_trace">藤井大洋</a>)</li> <li>13:40-14:00(20分)<a href="https://youtu.be/SrptSRhiR1M">Vivliostyleの2022年開発計画を展望する</a>(<a href="https://twitter.com/MurakamiShinyu">村上真雄</a>)<a href="https://vivliostyle.org/viewer/#src=[#]/load/view.php?u=https://github.com/murakamishinyu/vivliostyle-dev2022spring/blob/main/slide.html&amp;bookMode=true&amp;spread=false">[スライド]</a></li> <li>14:00-14:10(10分)休憩</li> <li>14:10-14:30(20分)<a href="https://youtu.be/35eHzZay-Bo">アルファ版を公開したVivliostyle Pub</a>(<a href="https://twitter.com/takanakahiko">takanakahiko</a>)</li> <li>14:30-14:50(20分)<a href="https://youtu.be/czVRSsekLjc">VivliostyleでWebフォントを使う:調査編</a>(<a href="https://twitter.com/ogwata">小形克宏</a>)<a href="https://vivliostyle.org/viewer/#src=/load/view.php?a=aHR0cHM6Ly9naXRodWIuY29tL29nd2F0YS9zbGlkZS0yMDIyMDQyMy0yL2Jsb2IvbWFpbi9teXNsaWRlLmh0bWwmYW1wO2FtcDtib29rTW9kZT10cnVlJmFtcDthbXA7c3ByZWFkPWZhbHNlJnF1b3Q7Jmd0O++8u+OCueODqeOCpOODie+8vSZsdDsvYSZndDsmbHQ7L2xpJmd0OwogICZsdDtsaSZndDsxNDo1MC0xNS0wMO+8iDEw5YiG77yJ5LyR5oapJmx0Oy9saSZndDsKICAmbHQ7bGkmZ3Q7MTUtMDAtMTU6MjDvvIgyMOWIhu+8iSZsdDthIGhyZWY9JnF1b3Q7aHR0cHM6Ly95b3V0dS5iZS9CXy1JOVk5MG9YQSZxdW90OyZndDvml6LlrZjjga5UaGVtZXPjgafljbDliLfnlKhQREbjgpLkvZzjgovjgavjga8mbHQ7L2EmZ3Q777yIJmx0O2EgaHJlZj0mcXVvdDtodHRwczovL3R3aXR0ZXIuY29tL1Vza2VfUyZxdW90OyZndDtZdXN1a2UgUy4mbHQ7L2EmZ3Q777yJJmx0O2EgaHJlZj0mcXVvdDtodHRwczovL2RyaXZlLmdvb2dsZS5jb20vZmlsZS9kLzFqMGVzbDRqcjIwUm9GNWdwel9IWlhIdUpJNGRmb3ZHSy92aWV3JnF1b3Q7Jmd0O++8u+OCueODqeOCpOODie+8vSZsdDsvYSZndDsmbHQ7L2xpJmd0OwogICZsdDtsaSZndDsxNToyMC0xNTo0MO+8iDIw5YiG77yJJmx0O2EgaHJlZj0mcXVvdDtodHRwczovL3lvdXR1LmJlL1NNb21xdGRaWHZnJnF1b3Q7Jmd0O3Zpdmxpb3N0eWxlLm9yZ+OBp+OBr+OBmOOCgeOCi0NTU+e1hOeJiOODgeODpeODvOODiOODquOCouODqyZsdDsvYSZndDvvvIgmbHQ7YSBocmVmPSZxdW90O2h0dHBzOi8vdHdpdHRlci5jb20veWFtYXN5MTU0OSZxdW90OyZndDvjgoTjgb7jgZfjg7wmbHQ7L2EmZ3Q777yJJmx0O2EgaHJlZj0mcXVvdDtodHRwczovL3d3dy5zbGlkZXNoYXJlLm5ldC95YW1hc3kxNTQ5cy92aXZsaW9zdHlsZW9yZ2NzcyZxdW90OyZndDvvvLvjgrnjg6njgqTjg4nvvL0mbHQ7L2EmZ3Q7Jmx0Oy9saSZndDsKICAmbHQ7bGkmZ3Q7MTU6NDAtMTY6MDDvvIgyMOWIhu+8iSZsdDthIGhyZWY9JnF1b3Q7aHR0cHM6Ly95b3V0dS5iZS9HTXpMSjE3TUxPayZxdW90OyZndDtWaXZsaW9zdHlsZSBDTEkgdXBkYXRlIC0gMjAyMiBTcHJpbmcmbHQ7L2EmZ3Q777yIJmx0O2EgaHJlZj0mcXVvdDtodHRwczovL3R3aXR0ZXIuY29tL3NwcmluZ19yYWluaW5nJnF1b3Q7Jmd0O+e3keixhuOBr+OCi+OBleOCgSZsdDsvYSZndDvvvIkmbHQ7L2xpJmd0OwogICZsdDtsaSZndDsxNjowMC0xNjoxMO+8iDEw5YiG77yJ5LyR5oapJmx0Oy9saSZndDsKICAmbHQ7bGkmZ3Q7MTY6MTAtMTY6NTDvvIg0MOWIhu+8iSZsdDthIGhyZWY9JnF1b3Q7aHR0cHM6Ly95b3V0dS5iZS9vMW1Xc1BISFFwZyZxdW90OyZndDs05pyI6ZaL55m66ICF5Lya6K2wJmx0Oy9hJmd0OyZsdDsvbGkmZ3Q7CiAgJmx0O2xpJmd0OzE2OjUwLTE3OjAw77yIMTDliIbvvIkmbHQ7YSBocmVmPSZxdW90O2h0dHBzOi8veW91dHUuYmUvVkh1Y3FTQ1NReHMmcXVvdDsmZ3Q744Kv44Ot44O844K444Oz44KwJmx0Oy9hJmd0O++8iCZsdDthIGhyZWY9JnF1b3Q7aHR0cHM6Ly90d2l0dGVyLmNvbS9NdXJha2FtaVNoaW55dSZxdW90OyZndDvmnZHkuIrnnJ/pm4QmbHQ7L2EmZ3Q777yJJmx0Oy9saSZndDsKJmx0Oy91bCZndDsKCiZsdDtwJmd0O+S4reOBp+OCguiytOmHjeOBquOBruOBr+OAgeOCsuOCueODiOOBqOOBl+OBplNG5bCP6Kqs5a6244Gn44GC44KLJmx0O2EgaHJlZj0mcXVvdDtodHRwczovL3RhaXlvbGFiLmNvbS8/bGFuZz1qYSZxdW90OyZndDvol6TkupXlpKfmtIsmbHQ7L2EmZ3Q744GV44KT44KS44GK6L+O44GI44GX44Gm44CB44GU6Ieq6Lqr44GuJmx0O2EgaHJlZj0mcXVvdDtodHRwczovL2dpdGh1Yi5jb20vdHRyYWNlL2F1dG9idWlsZCZxdW90OyZndDtWaXZsaW9zdHlsZeOBq+OCiOOCi1BERuWHuuWKm+OCkuWIqeeUqOOBl+OBn+aOqOaVsuODr+ODvOOCr+ODleODreODvCZsdDsvYSZndDvjgpLjg4fjg6LjgZfjgabjgYTjgZ/jgaDjgYTjgZ/jgZPjgajjgafjgZnjgILol6TkupXjgZXjgpPjga7lsI7lhaXkuovkvovjgavjgaTjgYTjgabjga/jgIHlvozljYrjga7oh6rnlLHoqI7orbDjgrvjg4Pjgrfjg6fjg7MmbHQ7YSBocmVmPSZxdW90O2h0dHBzOi8veW91dHUuYmUvbzFtV3NQSEhRcGcmcXVvdDsmZ3Q744CMNOaciOmWi+eZuuiAheS8muitsOOAjSZsdDsvYSZndDvjga7kuK3jgafjgoLlj5bjgorkuIrjgZLjgonjgozjgIHjgrPjg5/jg4Pjgr/jg7zpgZTjgavjgojjgaPjgabmlLnlloTjga7lj6/og73mgKfjgpLlkKvjgoHjgZ/mtLvnmbrjgarorbDoq5bjgYzjgZXjgozjgb7jgZfjgZ/jgIImbHQ7L3AmZ3Q7CgombHQ7aDIgaWQ9JnF1b3Q7dml2bGlvc3R5bGUtcHVi44Ki44Or44OV44Kh54mI44GE44KI44GE44KI5YWs6ZaLJnF1b3Q7Jmd0O1Zpdmxpb3N0eWxlIFB1YuOCouODq+ODleOCoeeJiOOAgeOBhOOCiOOBhOOCiOWFrOmWi++8gSZsdDsvaDImZ3Q7CgombHQ7cCZndDvjgoLjgYbkuIDjgaTjgIHjgZPjga7ml6Xjga7ph43opoHjgarlh7rmnaXkuovjga/jgIHmnZHkuIrnnJ/pm4Tku6PooajjgavjgojjgaPjgaZWaXZsaW9zdHlsZSBQdWLvvIjkuIroqJjjgrnjgq/jg6rjg7zjg7Pjgrfjg6fjg4Pjg4jlj4LnhafvvInjga7jgqLjg6vjg5XjgqHniYjlhazplovjgYzjgqLjg4rjgqbjg7PjgrnjgZXjgozjgZ/jgZPjgajjgafjgZnjgIImbHQ7L3AmZ3Q7CgombHQ7dWwmZ3Q7CiAgJmx0O2xpJmd0OyZsdDthIGhyZWY9JnF1b3Q7aHR0cHM6Ly92aXZsaW9zdHlsZS1wdWItZGV2ZWxvcC52ZXJjZWwuYXBwLyZxdW90OyZndDtWaXZsaW9zdHlsZSBQdWLjgqLjg6vjg5XjgqHniYgmbHQ7L2EmZ3Q7Jmx0Oy9saSZndDsKJmx0Oy91bCZndDsKCiZsdDtwJmd0O0Nocm9tZeODluODqeOCpuOCtu+8iFBD54mI77yJ44KS5L2/44GI44Gw44CB44Gp44Gq44Gf44Gn44KC54Sh5paZ44Gn5Yip55So44Gn44GN44G+44GZ44CC44G+44Gf5pON5L2c5pa55rOV44KS44G+44Go44KB44Gf5LiL6KiY44Om44O844K244Ks44Kk44OJ44KC44CB44Gc44Gy44GU5rS755So44GP44Gg44GV44GE44CCJmx0Oy9wJmd0OwoKJmx0O3VsJmd0OwogICZsdDtsaSZndDsmbHQ7YSBocmVmPSZxdW90O2h0dHBzOi8vdml2bGlvc3R5bGUuZ2l0aHViLmlvL2RvY3Mtdml2bGlvc3R5bGUtcHViLyMvamEvJnF1b3Q7Jmd0O1Zpdmxpb3N0eWxlIFB1YiDjgqLjg6vjg5XjgqHniYjjg6bjg7zjgrbjgqzjgqTjg4kmbHQ7L2EmZ3Q7Jmx0Oy9saSZndDsKJmx0Oy91bCZndDsKCiZsdDtwJmd0O+OBk+OBruODl+ODreODgOOCr+ODiOOBr+S4gOaYqOW5tOOBi+OCieWwkeOBl+OBmuOBpOmWi+eZuuOBjOmAsuOCgeOCieOCjOOBpuOBhOOBn+OCguOBruOBp+OBmeOAguacgOWIneOBruevgOebruOCkui/juOBiOOCieOCjOOBn+OBk+OBqOOCkue0oOebtOOBq+WWnOOBs+OBn+OBhOOBqOaAneOBhOOBvuOBmeOAguOCguOBoeOCjeOCk+OAgeOCouODq+ODleOCoeeJiOOBr+acgOWIneOBruS4gOatqeOBq+OBmeOBjuOBvuOBm+OCk+OAguOBvuOBoOOBvuOBoFZpdmxpb3N0eWxlIFB1YuOBq+OBr+WFi+acjeOBmeOBueOBjeiqsumhjOOBjOWxseepjeOBl+OBpuOBhOOBvuOBmeOAguOBsuOBjeOBpOOBpeOBjeOAgeasoeOBruevgOebruOBp+OBguOCi+ODmeODvOOCv+eJiOOCkuebruaMh+OBl+OBpumWi+eZuuOCkumAsuOCgeOBpuOBhOOBjeOBvuOBmeOAguOBqeOBhuOBi+OBlOWjsOaPtOOBj+OBoOOBleOBhOOAgiZsdDsvcCZndDsKPC9jb250ZW50> &copy; 2022 Vivliostyle.org 行末処理が進化して多様な組版ができるように 2022-02-08T00:00:00+09:00 2022-02-08T00:00:00+09:00 https://vivliostyle.org/ja/blog/2022/02/08/Improved-of-line-end-handling-and-support-for-page-progression-direction-in-PDF/ <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2022-02-08-Improved-of-line-end-handling-and-support-for-page-progression-direction-in-PDF/fig-1.png" alt="Improved of line end handling" style="width: 850px; box-shadow: 1px 2px 2.5px 1.5px grey;" /><figcaption>図1 Vivliostyle Viewerの旧版 v.2.13.0(左)と新版 v2.14.0(右)</figcaption></div> <h2 id="はじめに">はじめに</h2> <p>2022年2月4日、Vivliostyle.jsはv2.14.0にアップデートされました。詳細は下記をご参照ください。</p> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js/blob/master/CHANGELOG.md#2140-2022-02-04">Vivliostyle.js v2.14.0</a></li> </ul> <p>新バージョンは、<a href="https://vivliostyle.org/ja/blog/2022/01/24/JavaScript-can-now-be-used-in-typesetting-by-Vivliostyle/">前回ご紹介した</a>JavaScript対応のように目立つものではないものの、東アジア言語、とくに日本語組版における選択肢を増やすものです。この記事ではその内容をかいつまんで説明します。</p> <h2 id="行末処理の進化">行末処理の進化</h2> <p>Vivliostyle.jsは、<a href="https://github.com/vivliostyle/vivliostyle.js/blob/master/CHANGELOG.md#2120-2021-11-13">v2.12.0 (2021-11-13)</a>において、<a href="https://web.archive.org/web/20220127113120/https://drafts.csswg.org/css-text-4/#text-spacing-property">CSS Text Module Level 4</a>の<code class="language-plaintext highlighter-rouge">text-spacing</code>プロパティと、<a href="https://www.w3.org/TR/css-text-3/#hanging-punctuation-property">CSS Text Module Level 3</a>の<code class="language-plaintext highlighter-rouge">hanging-punctuation</code>プロパティを実装しました。これにより、日本語/中国語と欧語における単語間の間隔や、連続する全角句読点類の間隔を調整できるようになりました。<code class="language-plaintext highlighter-rouge">text-spacing</code> はまだどのブラウザも実装しておらず、<code class="language-plaintext highlighter-rouge">hanging-punctuation</code> はSafariだけが実装しているという状況を考えると、きわめて意欲的な取り組みと言えます。</p> <p>とはいえ、この時点の実装は一部の機能が未実装でした。図1は前バージョン v.2.13.0(左、以下旧版)と、アップデート後のv2.14.0(右側、以下新版)で、同一のテストページを表示させたものです。あなたのブラウザでも、以下のリンクから同じように表示できます。</p> <ul> <li><a href="https://vivliostyle.github.io/viewer/v2.13.0/#src=/load/view.php?a=aHR0cHM6Ly9naXRodWIuY29tL3Zpdmxpb3N0eWxlL3Zpdmxpb3N0eWxlLmpzL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL2NvcmUvdGVzdC9maWxlcy90ZXh0LXNwYWNpbmcvdHMtaHAtYWxsb3ctZm9yY2UtZW5kLmh0bWwmcXVvdDsmZ3Q7Vml2bGlvc3R5bGUuanM v.2.13.0 - <code class="language-plaintext highlighter-rouge">text-spacing</code>と<code class="language-plaintext highlighter-rouge">hanging-punctuation</code>のテストページ</a></li> <li><a href="https://vivliostyle.org/viewer/#src=/load/view.php?a=aHR0cHM6Ly9yYXcuZ2l0aGFjay5jb20vdml2bGlvc3R5bGUvdml2bGlvc3R5bGUuanMvbWFzdGVyL3BhY2thZ2VzL2NvcmUvdGVzdC9maWxlcy90ZXh0LXNwYWNpbmcvdHMtaHAtYWxsb3ctZm9yY2UtZW5kLmh0bWwmcXVvdDsmZ3Q7Vml2bGlvc3R5bGUuanM v.2.14.0 - <code class="language-plaintext highlighter-rouge">text-spacing</code>と<code class="language-plaintext highlighter-rouge">hanging-punctuation</code>のテストページ</a></li> </ul> <p>テストページの見出しは適用しているプロパティとその値です。サンプル文はすべて共通で、1行目は行末である10字目に読点(U+3001)、2行目は11字目に句点(U+3002)、3行目は10字目と11字目に半角の感嘆符(U+0021)と読点(U+3001)を配置しています。分かりやすくするために、文字サイズと同じ16pxずつ等間隔で水色の基準線を引いています。</p> <p>その基準線が、1番目のサンプル文1行目の字間にピタリと揃っていることに注意してください。組版用語でいうと、字間はベタ(文字サイズと同一)で揃っています。この見出しに<code class="language-plaintext highlighter-rouge">text-spacing: none; hanging-punctuation: none</code>とあるように、このブロックはプロパティ<code class="language-plaintext highlighter-rouge">text-spacing</code>と<code class="language-plaintext highlighter-rouge">hanging-punctuation</code>を無効(<code class="language-plaintext highlighter-rouge">none</code>)にする指定がされています(だから旧版も新版も組版結果は同一)。ということは、字間と基準線が揃っていればツメ処理もアキ処理もしておらず、基準線よりも前に文字があれば何らかのツメ処理が、逆に後ろにあればアキ処理をしていることになります。そして、左右の組版結果を比較することで、新版の変更点が確認できるわけです。</p> <h2 id="多様な日本語組版が可能になった">多様な日本語組版が可能になった</h2> <p>では実際に図1を見てみましょう。見出しごとに加えた赤い分数に注目してください。これは、全部で3行あるサンプル文のうち、見出しのプロパティを適用することで字間と基準線が揃ったものがいくつあったかを示したものです。左の旧版の方は、プロパティを無効にした1番目を除けば、1/3が1つ、0/3が4つと、全体に基準線に揃ってない組版ばかりと言えます。</p> <p>それに対して右側の新版はどうでしょう。1番目を除けば、0/3が2つ、2/3が2つ、3/3が1つあります。つまり、まったく基準線に揃ってない(0/3)ものと、揃っているものが多い(2/3、3/3)ものの両極に分かれています。これこそが新版の進化内容で、言い換えれば2つの異なった考え方の組版が選択可能になったと言えるのです。</p> <p>一般に「日本語組版の基本はベタ組み」などと言われます。それは漢字と仮名を文字サイズと同じ字間(ベタ/全角)で組むことを指す言い方ですが、すべてを言い当ててはいません。なぜなら句読点類や括弧類の見た目の幅はベタではないからです。別の言い方をすると、これらをどのように組むかをめぐって、同じ日本語組版の中で異なる考え方があり得るのです。大雑把に以下の2つにまとめて捉えられるでしょう。</p> <ol> <li>行頭行末を揃えることを優先する</li> <li>字間をベタに揃えることを優先する</li> </ol> <p>もちろん、両者の違いは正否でも優劣でもありません。どちらを読みやすく感じるかという好みの違いです。赤い分数に戻れば、基準線に揃ってないもの、つまり3番目の <code class="language-plaintext highlighter-rouge">text-spacing: none; hanging-punctuation: force-end</code>(右側0/3)と6番目の <code class="language-plaintext highlighter-rouge">text-spacing: allow-end; hanging-punctuation: allow-end</code>(右側0/3) が上記1に当たります。ここで、この2つに共通する値が<code class="language-plaintext highlighter-rouge">hanging-punctuation: force-end</code>であることは偶然ではありません。</p> <p>そもそも<code class="language-plaintext highlighter-rouge">hanging-punctuation:</code>というプロパティは、いわゆる「ぶらさがり」(hanging punctuation)を実現するものです。そして、値 <code class="language-plaintext highlighter-rouge">force-end</code>は行末前後に句読点があれば、アキ処理かツメ処理をして強制的にぶら下げます。DTPアプリInDesignをご存知の方は「ぶら下がり方法→強制」をイメージしてください。結果として行末が揃うことになる反面、行中に調整が発生するので字間はベタになりづらくなります。</p> <p>一方、2番目の <code class="language-plaintext highlighter-rouge">text-spacing: none; hanging-punctuation: allow-end</code>(右側2/3)と 4番目の<code class="language-plaintext highlighter-rouge">text-spacing: allow-end; hanging-punctuation: none</code>(右側2/3)、そして5番目の <code class="language-plaintext highlighter-rouge">text-spacing: allow-end; hanging-punctuation: allow-end</code>(右側3/3)は、上記2に当たります。これらに共通するのは<code class="language-plaintext highlighter-rouge">allow-end</code>ですが、もちろん偶然ではありません。</p> <p><code class="language-plaintext highlighter-rouge">hanging-punctuation:</code>の方の <code class="language-plaintext highlighter-rouge">allow-end</code>は、一定の条件を満たした場合だけぶら下げます。これもInDesignで例えれば「ぶら下がり方法→標準」に近いものです。<code class="language-plaintext highlighter-rouge">force-end</code> に比べれば調整がより少なくなるため、ベタは維持されやすくなります。そしてもう一つのプロパティ <code class="language-plaintext highlighter-rouge">text-spacing</code>にも <code class="language-plaintext highlighter-rouge">allow-end</code>があり、こちらは行末の句読点類や括弧類を基本的には全角どり、場合によって半角どりにします。これも結果としてベタは維持されやすくなります。その反面、右側2番目、4番目、5番目の1行目のように、行末に半角分のアキが残り、行末は揃いません。前述したように、これを良しとするかどうかは「好み」です。</p> <p>最後に左側の旧版の組版を見てみましょう。全体に行中で調整をするものが多い結果、行末は揃っています。つまり、上記1の考え方の組版は実現できているものの、上記2の組版が実現できていません。逆に言えば旧版では字間を均等に揃えることを優先する組版を選択できなかったところ、これも選べるようにしたのが新版のアップデートという訳です。</p> <p>今回はとくに行末処理に特化して説明しましたが、以下のテストページからVivliostyle.jsの組版を、プロパティごとに確認できます。ぜひ一度お試しください。</p> <ul> <li><a href="https://raw.githack.com/vivliostyle/vivliostyle.js/master/packages/core/test/files/">Test cases</a></li> </ul> &copy; 2022 Vivliostyle.org Vivliostyleの組版でJavaScriptが使えるようになりました 2022-01-24T00:00:00+09:00 2022-01-24T00:00:00+09:00 https://vivliostyle.org/ja/blog/2022/01/24/JavaScript-can-now-be-used-in-typesetting-by-Vivliostyle/ <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2022-01-24-JavaScript-can-now-be-used-in-typesetting-by-Vivliostyle/fig-1.png" alt="JavaScript can now be used in typesetting by Vivliostyle" style="width: 620px;" /><figcaption>現在開発中のVivliostyle Pubで、DynaFont の “DF玉刻華宋 StdN W4” を表示</figcaption></div> <h2 id="はじめに">はじめに</h2> <p>2022年1月17日にVivliostyle.jsが v2.13.0 に、同じく18日に Vivliostyle CLI が v4.6.0 にアップデートしました。改訂の詳細は下記をご覧ください:</p> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js/blob/master/CHANGELOG.md">vivliostyle /vivliostyle.js /CHANGELOG.md</a></li> <li><a href="https://github.com/vivliostyle/vivliostyle-cli/blob/main/CHANGELOG.md">vivliostyle /vivliostyle-cli /CHANGELOG.md</a></li> </ul> <p>今回のアップデートの目玉は、CSS組版にJavaScriptが使えるようになったことです。従来のバージョンでは、HTMLにJavaScriptのコードが含まれていた場合、内部的に削除していました。しかし、JavaScriptが使えないままではVivliostyleの用途を狭めてしまいます。そこでこれを利用できるようにしたのが、今回のアップデートです。</p> <h2 id="webフォントにおけるjavascript-対応のメリット">WebフォントにおけるJavaScript 対応のメリット</h2> <p>その中でも大きなメリットは、JavaScriptで利用するタイプのWebフォントサービスが利用可能になったことでしょう。一般にWebフォントをロードする方法は、以下の3種類です(カッコ内は該当するサービス名の例):</p> <ol> <li><code class="language-plaintext highlighter-rouge">@font-face</code> によりネット上にあるフォントをロードする方法</li> <li><code class="language-plaintext highlighter-rouge">@import</code>か<code class="language-plaintext highlighter-rouge">link</code>要素により外部スタイルシート経由でロードする方法(DynaFont、Google Fonts等)</li> <li>JavaScriptによりロードする方法(DynaFont、Adobe Fonts、TypeSquare、FONTPLUS等)</li> </ol> <p>Webフォントを使う上でネックになるのは、フォントをロードする速度がネットワークの速度に依存することです。これにより表示まで時間がかかりがちになります。この問題は文字セットが大規模になる日本語や中国語、韓国語フォントでより顕著になります。しかし、上記のうち3の方法であれば、JavaScriptを使って対象となるHTMLを読み込み、必要な文字だけを抽出したサブセットを作成することで、ロードの速度を早めることができます(ダイナミックサブセット)。</p> <p>つまり、日本語や中国語、韓国語でWebフォントを使う場合、上記3の方法は大変有効になり得ます。ところがVivliostyleは、今までこれに対応できていませんでした。</p> <h2 id="vivliostyle-cliでjavascriptによるwebフォントを使うには">Vivliostyle CLIでJavaScriptによるWebフォントを使うには</h2> <p>各社のWebフォントサービスを、実際にVivliostyle Viewerで使ってみたテストサンプルを下記で公開しています:</p> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js/issues/735#issuecomment-1006275491">各社Webフォントサービスのテストサンプル</a></li> </ul> <p>ところでWebフォントサービスの中には、ドメイン登録(利用サイトの登録)を利用条件にしているものがあります。他方、Vivliostyle CLIに限っては今までfileプロトコルによりHTMLドキュメントをロードしてきました。しかしfileプロトコルではドメイン登録はできません。そこで今回のアップデートで、新しく httpプロトコルでロードするオプションを追加しました。具体的には以下のようにして利用できます:</p> <ol> <li>あらかじめWebフォントサービスに、ドメインとして <code class="language-plaintext highlighter-rouge">http://localhost:13000</code>を登録(各社の差異は後述)</li> <li>オプションとして <code class="language-plaintext highlighter-rouge">--http</code> を指定して実行</li> </ol> <p>より詳しい情報は、下記を参照してください:</p> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle-cli/pull/234"> Feat/http hosting #234 </a></li> </ul> <p>ただし実際のドメイン登録にあたっては、Webフォントサービスにより細かな違いがあります。参考まで以下にまとめてみました。</p> <h3 id="fontplus">FONTPLUS</h3> <p><code class="language-plaintext highlighter-rouge">https://</code>などを含めた「サイトURL」を登録します。Vivliostyle CLI で <code class="language-plaintext highlighter-rouge">--http</code> オプションをつけて利用するには、<code class="language-plaintext highlighter-rouge">http://localhost:13000/</code>を登録します。</p> <h3 id="typesquare">TypeSquare</h3> <p><code class="language-plaintext highlighter-rouge">https://</code> などを含めない「ドメイン名」を登録します。Vivliostyle CLI で <code class="language-plaintext highlighter-rouge">--http</code> オプションをつけて利用するには、<code class="language-plaintext highlighter-rouge">localhost</code>を登録します。</p> <h3 id="dynafont">DynaFont</h3> <p>ドメイン登録が利用条件になっていますが、localhost はドメイン登録なしで使えます。以下の同社FAQを参考にしてください:</p> <ul> <li><a href="https://www.dynacw.co.jp/support/support_faq_detail.aspx?qid=456&amp;fcid=223">Q:ローカル環境でWebフォントを使うことはできますか?<i class="fas fa-external-link-alt"></i></a></li> </ul> <blockquote> <p>Answer:ローカル環境での開発のご要望に応えて、DynaFont Onlineではローカルサーバー上でWebフォントを表示することができます。ご自身のPCにローカルサーバーを構築いただき、localhostフォルダに該当のHTMLファイル及びCSSファイルを置くことで、ブラウザから <code class="language-plaintext highlighter-rouge">https://localhost/</code> にアクセスいただくと、Webフォントをご確認いただくことができます</p> </blockquote> <h2 id="その他のjavascript対応のメリット">その他のJavaScript対応のメリット</h2> <p>JavaScriptに対応したメリットは、Webフォントに留まりません。現在広く流通している各種JavaScriptライブラリ、たとえば以下のようなライブラリを、Vivliostyleで利用できるようになりました:</p> <ul> <li><a href="http://vexflow.com/vextab/tutorial.html">楽譜を作成する “VexTab”<i class="fas fa-external-link-alt"></i></a> <ul> <li><a href="https://vivliostyle.vercel.app/#src=/load/view.php?a=aHR0cHM6Ly9yYXcuZ2l0aGFjay5jb20vMHhmZS92ZXh0YWIvbWFzdGVyL2RvYy90dXRvcmlhbC5odG1sJnF1b3Q7Jmd0O1Zpdmxpb3N0eWxl Viewerでのテスト</a></li> </ul> </li> <li><a href="https://www.chartjs.org/">図表を作成する “Charts.js”<i class="fas fa-external-link-alt"></i></a> <ul> <li><a href="https://vivliostyle.vercel.app/#src=/load/view.php?a=aHR0cHM6Ly9yYXcuZ2l0aGFjay5jb20vem9weXgvcHJpbnQtY3NzLXJvY2tzL21hc3Rlci9sZXNzb25zL2xlc3Nvbi1jaGFydC1qcy9pbmRleC5odG1sJnF1b3Q7Jmd0O1Zpdmxpb3N0eWxl Viewerでのテスト</a></li> </ul> </li> </ul> <h2 id="おわりに">おわりに</h2> <p>以上、今回のアップデートにおけるJavaScript対応について簡単にまとめました。より詳細な情報は、以下のIssueをご参照ください:</p> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js/issues/733">Allow JavaScript in HTML documents #733</a></li> <li><a href="https://github.com/vivliostyle/vivliostyle.js/issues/735">Support Web fonts loaded via JavaScript #735</a></li> </ul> &copy; 2022 Vivliostyle.org 「Vivliostyle ユーザーと開発者の集い 2021秋」開催報告 2021-11-17T00:00:00+09:00 2021-11-17T00:00:00+09:00 https://vivliostyle.org/ja/blog/2021/11/17/meetup-2021-autumn-report/ <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2021-11-17-meetup-2021-autumn-report/2021fall_user_meeting_banner.png" alt="「Vivliostyle ユーザーと開発者の集い 2021秋」開催報告" style="width: 400px; box-shadow: 1px 2px 2.5px 1.5px grey;" /></div> <p>11月14日、恒例の「Vivliostyle ユーザーと開発者の集い 2021秋」がオンラインで開催されました。スライド資料、そして当日SNSで寄せられたコメントまとめ(by<a href="https://twitter.com/yamasy1549">やましー</a>さん)を、下記のページで公開しています。</p> <ul> <li><a href="https://vivliostyle.connpass.com/event/227954/presentation/">イベント資料一覧<i class="fas fa-external-link-alt"></i></a></li> <li><a href="https://miro.com/app/board/o9J_lKvZd38=/">CSS組版 Vivliostyle ユーザーと開発者の集い 2021秋の板書<i class="fas fa-external-link-alt"></i></a></li> </ul> <p>また、<a href="https://www.youtube.com/playlist?list=PLgmHvdtAuq5OVe_QSWjEsyX2jktccRtTY">当法人のYouTubeチャンネル</a>で、以下のように発表ごとの動画を公開しています。ぜひご視聴ください。</p> <ul> <li>第1部 ユーザから見たVivliostyle <ul> <li><a href="https://youtu.be/qfH3OV-_DlI">人工言語イジェール語の辞書をVivliostyleで作る<i class="fas fa-external-link-alt"></i></a><a href="https://twitter.com/Zaslon">(ざすろん)</a>(10:29)</li> <li><a href="https://youtu.be/Hz5_Wd7d5lw">Vivliostyle PubでWebフォントを使う<i class="fas fa-external-link-alt"></i></a><a href="https://twitter.com/ogwata">(小形克宏)</a>(17:33)</li> </ul> </li> <li>第2部 ライブラリとしてのVivliostyle <ul> <li><a href="https://youtu.be/2hvsMhTJai4">Vivliostyle.jsの進化と今後の開発予定<i class="fas fa-external-link-alt"></i></a><a href="https://twitter.com/MurakamiShinyu">(村上真雄)</a>(20:20)</li> <li><a href="https://youtu.be/FvhdUBrw104">Inside Vivliostyle.js への入り口<i class="fas fa-external-link-alt"></i></a><a href="https://twitter.com/skoji">(Satoshi Kojima)</a>(16:58)</li> <li><a href="https://youtu.be/lF6Mb2DXJK0">VFM 1.0 リリースと今後の展望<i class="fas fa-external-link-alt"></i></a><a href="https://twitter.com/akabekobeko">(アカベコ)</a>(12:39)</li> </ul> </li> <li>第3部 アプリケーションとしてのVivliostyle <ul> <li><a href="https://youtu.be/H6g5S3SHZSg">Vivliostyle CLI update - 2021 Autumn<i class="fas fa-external-link-alt"></i></a><a href="https://twitter.com/spring_raining">(緑豆はるさめ)</a>(17:14)</li> <li><a href="https://youtu.be/NioXx9NFUZU">Vivliostyle Theme 開発ガイドラインの公開<i class="fas fa-external-link-alt"></i></a><a href="https://twitter.com/yamasy1549">(やましー)</a>(16:17)</li> <li><a href="https://youtu.be/AYVzmVAz7Ug">Theme取得ライブラリの開発<i class="fas fa-external-link-alt"></i></a><a href="https://twitter.com/AyumuTakai">(高井 歩)</a>(17:31)</li> <li><a href="https://youtu.be/V-I88jOzQs8">Vivliostyle Pubの現状と今後の開発スケジュール<i class="fas fa-external-link-alt"></i></a><a href="https://twitter.com/takanakahiko">(takanakahiko)</a>(21:42)</li> <li><a href="https://youtu.be/z31H5T23-fA">Q&amp;Aセッション<i class="fas fa-external-link-alt"></i></a>(14:27)</li> </ul> </li> <li><a href="https://youtu.be/bQRZlymV3-8">第4部 Vivliostyle 開発会議<i class="fas fa-external-link-alt"></i></a>(46:48)</li> </ul> <p>今回は、私の設定の不手際により開始時間が30分ほど遅れてしまいました。またその影響もあり、高井歩さんの発表で予定していたアンケートがうまくとれなかったなど、反省点が多く残りました。参加を申し込んでくださったユーザーの皆さん、そしてスピーカーの皆さんには大変ご迷惑をおかけしました。深くお詫び申し上げます。</p> <p>個人的に印象に残っているのは、イベント冒頭、ざすろんさんによる「Vivliostyleの公式サイトにある情報はアプリケーションの説明ばかりで、CSS組版そのものについての説明がない」という指摘で、大変刺さりました。たしかにユーザの立場で考えると、公式サイトの情報は偏りがありました。折りしも村上代表と、Vivliostyle.jsのCSS仕様の実装にある程度目途がついてきたので、次のステップとしてCSS組版の普及に取り組んでいこうと話していたところです。この機会に、どのようなことができるか考え直したいと思います。</p> <p>また、私達の古い友人であるKojimaさんが提起したコードリーディングも、一過性のものにしてはならないと思いました。じつのところ、最近Vivliostyleで課題となっているのは、<a href="https://github.com/vivliostyle/vivliostyle.js">Vivliostyle.js</a>のコミッターが村上代表だけという点です。これを解消しないと持続性に懸念が生じます。それには多少遠回りに見えても、一人でも多くの人にソースコードを読んでもらうところから始めるしかありません。今必要なのは、その敷居を少しでも低くする取り組みだと気付かされました。</p> <p>次回は来年、2022年春に開催の予定です。この頃にはVivliostyle Pubのベータ版公開も始まっているはずです。どんな発表ができるのか、どうかお楽しみに!</p> &copy; 2021 Vivliostyle.org 最近のVivliostyle.jsの進化について 2021-10-12T00:00:00+09:00 2021-10-12T00:00:00+09:00 https://vivliostyle.org/ja/blog/2021/10/12/recent-vivliostyle-js-updates/ <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2021-10-12-recent-vivliostyle-js-updates/fig-1.png" alt="最近のVivliostyle.jsの進化について" style="width: 700px;" /></div> <p>この1ヵ月、Vivliostyle.jsは重要なアップデートを重ねてきました。9月初頭までv2.8.1でしたが、本稿執筆時点のバージョンはv2.11.1になっています。その概要は<a href="https://github.com/vivliostyle/vivliostyle.js/blob/master/CHANGELOG.md">Change Log</a>で一覧できます。この記事では追加された便利な機能、そしてバグ修正にともなう組版結果への影響について説明し、最後に近日中に実装予定の機能について予告します。</p> <h2 id="cssの機能追加">CSSの機能追加</h2> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js/blob/master/CHANGELOG.md#290-2021-09-03">v2.9.0</a> <ul> <li><a href="https://developer.mozilla.org/ja/docs/Web/CSS/@supports">@supports</a>……CSSの特定のプロパティ、あるいはプロパティと値の組み合わせがサポートされているかどうかでスタイルを切り替えることができる</li> </ul> </li> <li><a href="https://github.com/vivliostyle/vivliostyle.js/blob/master/CHANGELOG.md#2100-2021-09-17">v2.10.0</a> <ul> <li><a href="https://developer.mozilla.org/ja/docs/Web/CSS/line-break">line-break: anywhere</a>……句読点やスペースを含め、全ての文字間での改行を許容する</li> <li><a href="https://developer.mozilla.org/ja/docs/Web/CSS/overflow-wrap">overflow-wrap: anywhere</a>……インライン要素に対してテキストが行ボックスからあふれないよう、通常改行しない箇所でも改行する</li> <li><a href="https://developer.mozilla.org/ja/docs/Web/CSS/white-space">white-space: break-spaces</a>……要素内の文字列に含まれるホワイトスペースの扱いを規定。<code class="language-plaintext highlighter-rouge">white-space: pre-wrap</code> と似ているが、連続するホワイトスペースの間も改行する</li> <li><a href="https://developer.mozilla.org/ja/docs/Web/CSS/font-variant-caps">font-variant-caps</a>……OpenTypeの欧文フォントにおける大文字関係の制御</li> <li><a href="https://developer.mozilla.org/ja/docs/Web/CSS/font-variant-ligatures">font-variant-ligatures</a>……OpenTypeの欧文フォントにおける合字の制御</li> <li><a href="https://developer.mozilla.org/ja/docs/Web/CSS/font-variant-numeric">font-variant-numeric</a>……OpenTypeフォントの数字、分数、序数記号におけるグリフを制御</li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/min-content">min-content</a>……ボックス内で自動改行される場合において、そのボックスの幅が最小になるよう、最も語長が長い単語に合わせてボックスを生成する</li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/max-content">max-content</a>……コンテンツが最大幅になるよう、自動改行せずにボックスを生成する</li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/fit-content">fit-content</a>……利用可能領域が可変の場合において、まずmax-contentを使ってボックスを生成し、利用可能領域がmax-contentの幅を下回った場合は、利用可能領域とmin-contentの大きい方に切り替えてボックスを生成する</li> <li><a href="https://developer.mozilla.org/ja/docs/Web/CSS/@font-face/unicode-range">unicode-range</a>…… <code class="language-plaintext highlighter-rouge">@font-face</code>で定義されたフォントのうち、特定の符号位置を指定する</li> </ul> </li> </ul> <p>中でも注目したいのが、最後の<code class="language-plaintext highlighter-rouge">unicode-range</code>です。これにより、たとえば欧文と和文で異なるフォントを指定したり、あるいは特定の文字や約物だけ別のフォントを指定したりすることが可能になります。また、中国語や日本語のWebフォントを指定する際、この機能を使ってグリフのサブセットを作成することで、容量を抑え表示速度を向上させることが期待できます。</p> <h2 id="vivliostyle-viewerのuiにテキスト検索機能を追加">Vivliostyle ViewerのUIにテキスト検索機能を追加</h2> <p>本ページ一番上のVivliostyle Viewerスクリーンショットをご覧ください。画面左上に虫眼鏡のアイコンが確認できるでしょう。これが新設されたテキスト検索アイコンです。以下のページから、実際に最新バージョンのVivliostyle Viewerが使えますので、ぜひお試しください。</p> <ul> <li><a href="https://vivliostyle.org/viewer/#src=/load/view.php?a=aHR0cHM6Ly92aXZsaW9zdHlsZS5naXRodWIuaW8vdml2bGlvc3R5bGVfZG9jL2phL3Zpdmxpb3N0eWxlLXVzZXItZ3JvdXAtdm9sNS9jb250ZW50LyZhbXA7YW1wO2Jvb2tNb2RlPXRydWUmcXVvdDsmZ3Q7Vml2bGlvc3R5bGU で本を作ろう Vol.5</a></li> </ul> <h2 id="バグ修正にともなう組版結果への影響">バグ修正にともなう組版結果への影響</h2> <h3 id="デフォルトスタイルシートにおけるbodyのmarginの値を8pxから0に変更">デフォルトスタイルシートにおける、<code class="language-plaintext highlighter-rouge">body</code>の<code class="language-plaintext highlighter-rouge">margin</code>の値を8pxから0に変更</h3> <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2021-10-12-recent-vivliostyle-js-updates/fig-2.png" alt="body`における`margin`のデフォルト値を8から0に変更" style="width: 900px; " /></div> <p>Vivliostyle.jsでは、当初から<a href="https://github.com/vivliostyle/vivliostyle.js/blob/v2.9.1/packages/core/src/vivliostyle/assets.ts#L1064">ユーザーエージェントのデフォルトスタイルシート</a>のなかで、<code class="language-plaintext highlighter-rouge">body</code>(本文)の<code class="language-plaintext highlighter-rouge">margin</code>の値を8pxに設定してきました。この設定はWebブラウザのデフォルト値を踏襲したものです。</p> <p>ところが、<a href="https://www.w3.org/TR/css-page-3/">CSS Paged Media Module Level 3</a>では、ページのマージンを<code class="language-plaintext highlighter-rouge">@page {...}</code>の<code class="language-plaintext highlighter-rouge">margin</code>プロパティによって指定することになっています。これにもとづき、VivliostyleをふくむほとんどのCSS Paged Media実装は、デフォルトスタイルシートで<code class="language-plaintext highlighter-rouge">@page { margin: 10% }</code>を設定しています。そうした中、Vivliostyle.jsだけが加えて<code class="language-plaintext highlighter-rouge">body { margin: 8px; }</code>を設定するのは意味がありません。さらに言えば、Vivliostyle.jsのユーザはページ領域内の余分な余白を避けるため、常に<code class="language-plaintext highlighter-rouge">body { margin: 0 }</code>を指定なければなりませんでした。</p> <p>つまり、今までVivliostyle.jsが設定してきたデフォルトスタイルシートの<code class="language-plaintext highlighter-rouge">body { margin: 8px; }</code>は、CSS Paged Mediaの実装には適していないと言えます。この状況を修正するため、v2.10.0で、このデフォルトスタイルシートの設定を削除しました(<code class="language-plaintext highlighter-rouge">margin</code>のデフォルトは0になります)。</p> <p>スクリーンショットをご覧ください。意図的にマージンをなくすよう<code class="language-plaintext highlighter-rouge">@page {margin: 0;}</code>を指定したのに、左側のv2.9.1の緑色枠の外側には8pxの間隔が発生しています(現物は<a href="https://vivliostyle.github.io/viewer/v2.9.1/#src=/load/view.php?a=aHR0cHM6Ly9naXRodWIuY29tL29nd2F0YS90ZXN0YmVkLTIwMjExMDEyL2Jsb2IvbWFpbi90ZXN0Lmh0bWwmcXVvdDsmZ3Q744GT44Gh44KJJmx0Oy9hJmd0O++8ieOAguOBneOCjOOBq+WvvuOBl+OAgeWPs+WBtOOBrnYyLjEwLjDjgafjga/mjIflrprpgJrjgorplpPpmpTjga/jgrzjg63jgafjgYLjgovjgZPjgajjgYzliIbjgYvjgorjgb7jgZnvvIjnj77nianjga8mbHQ7YQ href="https://vivliostyle.github.io/viewer/v2.10.0/#src=/load/view.php?a=aHR0cHM6Ly9naXRodWIuY29tL29nd2F0YS90ZXN0YmVkLTIwMjExMDEyL2Jsb2IvbWFpbi90ZXN0Lmh0bWwmcXVvdDsmZ3Q744GT44Gh44KJJmx0Oy9hJmd0O+OAguOCs+ODvOODieOBryZsdDth href="https://github.com/ogwata/testbed-20211012/blob/main/test.html">こちら</a>)。</p> <p>この修正により、v2.10.0の前後で組版結果が異なる可能性があります。Vivliostyle.jsを組み込んだ Vivliostyle Viewer、Vivliostyle CLI、Create Bookを、以前からお使いのユーザは、お手元のデータに影響がないか、一度ご確認ください。詳細は下記のIssueを参照してください。</p> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js/issues/776"> Default body margin should be 0 in paged media #776 </a></li> </ul> <h3 id="ルート要素で指定された継承プロパティをpageの内容に継承できるよう修正">ルート要素で指定された継承プロパティを、<code class="language-plaintext highlighter-rouge">@page</code>の内容に継承できるよう修正</h3> <p>これもスクリーンショットで比較してみましょう。まず、ルート要素の中で以下のように記述したHTMLを用意します(コード全体は<a href="https://github.com/ogwata/testbed-20211012/blob/main/test-2.html">こちら</a>)。<code class="language-plaintext highlighter-rouge">:root</code>セレクタにより、文字に関するスタイル(色、フォント名、バリアント、サイズ等)を指定しています。これらは<a href="https://developer.mozilla.org/ja/docs/Web/CSS/inheritance#inherited_properties">継承プロパティ</a>ですので、続く<code class="language-plaintext highlighter-rouge">@page</code>で指定されたヘッダとフッタに継承されるはずです。</p> <div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">:root</span> <span class="p">{</span> <span class="nl">color</span><span class="p">:</span> <span class="no">maroon</span><span class="p">;</span> <span class="nl">font-family</span><span class="p">:</span> <span class="s1">"Georgia"</span><span class="p">,</span> <span class="nb">serif</span><span class="p">;</span> <span class="nl">font-variant</span><span class="p">:</span> <span class="nb">small-caps</span><span class="p">;</span> <span class="nl">font-style</span><span class="p">:</span> <span class="nb">italic</span><span class="p">;</span> <span class="nl">font-size</span><span class="p">:</span> <span class="m">200%</span><span class="p">;</span> <span class="p">}</span> <span class="k">@page</span> <span class="p">{</span> <span class="k">@top-center</span> <span class="p">{</span> <span class="nl">content</span><span class="p">:</span> <span class="s1">"Here is the Page Header"</span><span class="p">;</span> <span class="p">}</span> <span class="k">@bottom-center</span> <span class="p">{</span> <span class="nl">content</span><span class="p">:</span> <span class="n">counter</span><span class="p">(</span><span class="n">page</span><span class="p">);</span> <span class="p">}</span> <span class="p">}</span> </code></pre></div></div> <p>これを修正前後のVivliostyle Viewerに読み込ませたスクリーンショットをご覧ください。左側は修正前のv2.9.1(現物は<a href="https://vivliostyle.github.io/viewer/v2.9.1/#src=/load/view.php?a=aHR0cHM6Ly9vZ3dhdGEuZ2l0aHViLmlvL3Rlc3RiZWQtMjAyMTEwMTIvdGVzdC0yJnF1b3Q7Jmd0O+OBk+OBoeOCiSZsdDsvYSZndDvvvInjgIHlj7PlgbTjga/kv67mraPjgZfjgZ92Mi4xMC4w44Gn44GZ77yI54++54mp44GvJmx0O2E href="https://vivliostyle.github.io/viewer/v2.10.0/#src=/load/view.php?a=aHR0cHM6Ly9vZ3dhdGEuZ2l0aHViLmlvL3Rlc3RiZWQtMjAyMTEwMTIvdGVzdC0yJnF1b3Q7Jmd0O+OBk+OBoeOCiSZsdDsvYSZndDvvvInjgIImbHQ7L3AmZ3Q7CgombHQ7ZGl2 style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2021-10-12-recent-vivliostyle-js-updates/fig-3.png" alt="body における margin のデフォルト値を8から0に変更" style="width: 1200px; " /></div> <p>画面の上端のヘッダと下端のフッタを左右で比べてください。左側の旧バージョンでは本来継承されるはずの文字に関するスタイルが有効にならず、ただヘッダとフッタの内容、位置だけが表示されてしまっています。これはぜひ直したいバグです。そこで右側の新バージョンをみると、ヘッダとフッタは指定通り、適切に表示されていることが分かります。</p> <p>この修正によって、前項と同じくv2.10.0の前後で組版結果が異なる可能性があります。以前からVivliostyle Viewer、Vivliostyle CLI、Create Bookをお使いのユーザは、お手元のデータに影響がないか、一度ご確認ください。詳細は下記のIssueを参照してください。</p> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js/issues/568">Root element styles are not inherited to page context #568</a></li> </ul> <h2 id="直近のアップデート予定">直近のアップデート予定</h2> <p>最後に、 この1ヵ月くらいに予定されている機能追加について、簡単にご紹介しましょう。</p> <ul> <li><a href="https://drafts.csswg.org/css-text-4/#text-spacing-property">CSS Text Level 4: text-spacing</a>……日本語/中国語と欧語における単語間の間隔や、連続する全角句読点類の間隔を調整</li> <li><a href="https://developer.mozilla.org/ja/docs/Web/CSS/CSS_Grid_Layout">CSS Grid Layout</a>……画面を複数のグリッドに分割することで、要素を列と行に整列させられる</li> <li>WebフォントにおけるJavaScript 埋め込みコードをサポート……容量が大きくなりがちな東アジアフォントに多い、JavaScript 埋め込みコードによるWebフォントの指定をサポートする予定です(なお、現在でも<code class="language-plaintext highlighter-rouge">@import</code>埋め込みコードや、<code class="language-plaintext highlighter-rouge">link</code>要素による指定はサポートされています)</li> </ul> <p>以上、駆け足で紹介しましたが、来月11月14日(日曜)に開催予定の<a href="https://vivliostyle.connpass.com/event/227954/">「Vivliostyle ユーザーと開発者の集い 2021秋」</a>では、村上代表がVivliostyle.jsのアップデートについて、デモを交えながら詳しく説明する予定です。どうかお楽しみに!</p> &copy; 2021 Vivliostyle.org 2020年度事業報告書を公開します 2021-07-02T00:00:00+09:00 2021-07-02T00:00:00+09:00 https://vivliostyle.org/ja/blog/2021/07/02/New-FY2020-Report-Released/ <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2021-07-02-New-FY2020-Report-Released/2021-07-02-New-FY2020-Report-Released.png" alt="2020年度事業報告書を公開します" style="width: 400px; box-shadow: 1px 2px 2.5px 1.5px grey;" /></div> <p>2020年度の事業報告書を、下記のとおり公開しました。</p> <ul> <li><a href="https://vivliostyle.org/ja/about-us/#2020%E5%B9%B4%E5%BA%A6%E4%BA%8B%E6%A5%AD%E5%A0%B1%E5%91%8A%E6%9B%B8">2020年度事業報告書</a></li> </ul> <p>第3期にあたる昨年度は、本当にいろいろなことがありました。突然のコロナ禍、そのなかでコントリビュータ達が開発資金確保のために未踏アドバンスト事業への応募を提案してくれたこと、そうしてチーム一丸となってVivliostyle Pubアルファ版を開発してくれたこと、それにも関わらず落選したこと。そのショックを乗り越えて、Vivliostyle CLI、Vivliostyle Themes、VFM、そしてVivliostyle Viewerが大きく機能アップしたこと。すべてコントリビュータの皆さんのおかげです。</p> <p>第2章として決算報告も掲載しています。まだまだ赤字ですが、昨年度は150万円あまりの経常収益を上げることができました。そのうちの約6万円が<a href="https://vivliostyle.org/ja/sponsors/">一般の皆さんからの寄付金収入</a>です。今期はもっともっと増やしていきたいと思っています。そうした1年のできごとを、ぎゅっと圧縮してA4、13ページのレポートにまとめました。上記リンク先では、Vivliostyle Viewerによる、読みやすいページ表示もご用意しています。ぜひお読みください!</p> &copy; 2021 Vivliostyle.org 技術書典 11 出展 & 合同誌無料配布キャンペーンのお知らせ 2021-06-26T00:00:00+09:00 2021-06-26T00:00:00+09:00 https://vivliostyle.org/ja/blog/2021/06/26/make-books-with-vivliostyle-vol5/ <p>こんにちは、Vivliostyle コラボレーターの spring-raining です。7 月 10-25 日に開催される<a href="https://techbookfest.org/event/tbf11">技術書典 11</a> で Vivliostyle ユーザー会が頒布予定の『Vivliostyle で本を作ろう Vol. 5』と、無料配布キャンペーンについてお知らせします。</p> <h2 id="vivliostyleで本を作ろう-vol-5">Vivliostyleで本を作ろう Vol. 5</h2> <p><a href="https://techbookfest.org/organization/6255412097581056">https://techbookfest.org/organization/6255412097581056</a></p> <p>第 5 回となった合同誌企画。今回は以下の記事を掲載予定です。どの記事もとても興味深い内容です! また、今回もこれまでの『Vivliostyle で本を作ろう』と同様、物理書籍は有料となる代わりに全篇をこちらのサイトにて無料公開予定です。</p> <ul> <li>Vivliostyle Theme のつくりかた (やましー)</li> <li>Markdown を拡張する MDX はドキュメント作成の新たな可能性? (spring-raining)</li> <li>VFM 入門 2021 夏 (アカベコ)</li> <li>Vivliostyle Foundation 2020 年度の活動まとめ (小形克宏)</li> <li>CSS 組版の基本仕様 CSS Paged Media 入門のススメ (村上真雄)</li> </ul> <p>この記事を執筆時点で絶賛入稿データの作成中です。締め切りに間に合うよう頑張ります!</p> <h2 id="無料配布キャンペーン">無料配布キャンペーン</h2> <p>Vivliostyle ユーザー会では、技術書典のオフラインイベント再開を記念して、Vivliostyle を使って本を制作されているサークルの方に、こちらの「Vivliostyle で本を作ろう vol.5」を無料でお送りするキャンペーンを実施予定です。以下の内容を読み、ご希望の方はこちらのフォームから登録をお願いします。後ほど、お渡しのため個別にご連絡します。</p> <p><a href="https://forms.gle/zz83U64RLd4dSw6y5">https://forms.gle/zz83U64RLd4dSw6y5</a></p> <h3 id="お渡し条件">お渡し条件</h3> <ul> <li>「技術書典 11」「技術書同人誌博覧会 5」で Vivliostyle を使って制作された新刊を出した (出す予定がある) <ul> <li>媒体は物理的な書籍だけでなく、電子書籍も対象となります</li> </ul> </li> <li>上記の新刊が Vivliostyle で制作されたことを証明できる情報を提出できる</li> </ul> <h3 id="お渡し方法">お渡し方法</h3> <p>宅急便の匿名配送 (<a href="https://www.kuronekoyamato.co.jp/ytc/customer/send/sp/">https://www.kuronekoyamato.co.jp/ytc/customer/send/sp/</a>) を利用して配送予定です。住所等を Vivliostyle ユーザー会に直接教える必要はありません。</p> <h3 id="免責事項">免責事項</h3> <p>上記のフォームは『Vivliostyle で本を作ろう Vol. 5』のお渡しを約束するものではありません。また、都合により希望者全員にお渡しできない可能性もあります。感覚的には即売会での新刊交換くらいの気持ちで、期待せず待ってもらえるとありがたいです。</p> &copy; 2021 Vivliostyle.org JEPAセミナーでVivliostyleについて報告 2021-06-16T00:00:00+09:00 2021-06-16T00:00:00+09:00 https://vivliostyle.org/ja/blog/2021/06/16/Presentation-at-JEPA-Seminar/ <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2021-06-16-Presentation-at-JEPA-Seminar/2021-06-16-Presentation-at-JEPA-Seminar.png" alt="JEPAセミナーでVivliostyleについて報告" style="width: 400px; box-shadow: 1px 2px 2.5px 1.5px grey;" /></div> <p>2021年6月15日、日本電子出版協会(JEPA)のご招待により、村上代表と私がVivliostyleについて講演をおこないました。以下がその記録です。</p> <ul> <li><a href="https://www.jepa.or.jp/sem/20210615/?fbclid=IwAR0DdYxrqzSs2Q8ztw_l1xHHZ6YIe-W_bXYJ-3UCX-mdviw5vZJneSoro8M">日本電子出版協会&gt;JEPAセミナー&gt;あしたのVivliostyle:オープンソースCSS組版システムがつくる未来<i class="fas fa-external-link-alt"></i></a></li> <li><a href="https://kokucheese.com/event/index/611843/">募集ページ<i class="fas fa-external-link-alt"></i></a></li> <li><a href="https://www.youtube.com/watch?v=cpQ1XCS7aV0">講演動画(YouTube)<i class="fas fa-external-link-alt"></i></a></li> <li><a href="https://vivliostyle.org/viewer/#src=[#]/load/view.php?u=https://vivliostyle.github.io/vivliostyle_doc/ja/events/JEPA20210615/slide.html&amp;bookMode=true&amp;spread=false">スライド資料:Vivliostyle:オープンソースCSS組版システム(村上真雄)</a></li> <li><a href="https://vivliostyle.org/assets/posts/2021-06-16-Presentation-at-JEPA-Seminar/20210615-VivliostyleUse-Cases.pdf">スライド資料:Vivliostyleの利用事例と普及戦略(小形克宏)</a></li> </ul> <p>講演の概要は、まず村上がCSS組版とVivliostyleプロジェクトについて概説した後、小形が利用事例として以下の5つをデモを交えて報告するというものでした。</p> <ul> <li><a href="https://vivliostyle.org/viewer/#src=/load/view.php?a=aHR0cHM6Ly92aXZsaW9zdHlsZS5naXRodWIuaW8vdml2bGlvc3R5bGVfZG9jL3NhbXBsZXMvd2VibWFnL2luZGV4Lmh0bWwmYW1wO2FtcDtzdHlsZT1odHRwczovL3Zpdmxpb3N0eWxlLmdpdGh1Yi5pby92aXZsaW9zdHlsZV9kb2Mvc2FtcGxlcy93ZWJtYWcvY3NzL3Zpdi1zdHlsZS12LmNzcyZhbXA7YW1wO2Jvb2tNb2RlPXRydWUmcXVvdDsmZ3Q74pGg5Zuz54mI5YWl44KKV2Vi6KiY5LqL44KS44CB57SZ44Gu6ZuR6KqM44Gu44KI44GG44Gr57WE54mI44GX44Gf5L6LLSZhbXA7Z3Q7RVBVQg Adaptive Layout (EAL) による複雑な組版(サンプルページ)</a></li> <li><a href="https://github.com/vivliostyle/community/wiki/Rapid-publishing-for-public-health-books-against-COVID-19">②1つの素材から複数の形式で出版・配信した例-&gt;Rapid publishing for public health books against COVID 19</a></li> <li><a href="https://libroworks.co.jp/?p=3271">③商業出版の紙書籍でマンガ表現を実現した例-&gt;『そろそろ常識?マンガでわかる「正規表現」』の制作<i class="fas fa-external-link-alt"></i></a></li> <li><a href="https://marketplace.visualstudio.com/items?itemName=TaiyoFujii.novel-writer">④VScode上のテキストファイルから縦組PDFを出力した例-&gt;novel-writer(Visual Studio Codeプラグイン)<i class="fas fa-external-link-alt"></i></a></li> <li><a href="https://vivliostyle.org/ja/getting-started/#vivliostyle-pub">⑤世界中に散在する移動拠点に文書を配布する例-&gt;Vivliostyle Pub</a></li> </ul> <p>上記のうち、④については当法人は開発に関わっておらず、独自にVivliostyleを利用してくれた事例です。以前から私たちのプロダクトを選んでくださったことをうれしく思っていましたが、今回のような機会ですこしでも世に広めるお手伝いができればと考え、取り上げた次第です。ぜひ動画のデモをご覧ください。</p> &copy; 2021 Vivliostyle.org 「Vivliostyle ユーザーと開発者の集い 2021春」開催報告 2021-04-23T00:00:00+09:00 2021-04-23T00:00:00+09:00 https://vivliostyle.org/ja/blog/2021/04/23/meetup-2021-spring-report/ <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2021-04-23-meetup-2021-spring-report/user-meeting-banner-2021spring.png" alt="「Vivliostyle ユーザーと開発者の集い 2021春」開催報告" style="width: 400px; box-shadow: 1px 2px 2.5px 1.5px grey;" /></div> <p>去る4月10日、通算4回目となる<a href="https://vivliostyle.connpass.com/event/208401/">「Vivliostyle ユーザーと開発者の集い」 <i class="fas fa-external-link-alt"></i></a>をオンラインで無事に開催することができました。当日のスライド資料や動画、SNSでの反応等を、下記のページで公開しています。</p> <ul> <li><a href="https://vivliostyle.connpass.com/event/208401/presentation/">イベント資料一覧 <i class="fas fa-external-link-alt"></i></a></li> </ul> <p>発表ごとの動画は、下記からご覧いただけます(なお、動画はYouTubeの<a href="https://www.youtube.com/channel/UCMi_9RMA2z1AlX1dc_ImZbQ">Vivliostyle Foundationチャンネル <i class="fas fa-external-link-alt"></i></a>にまとまっています。ぜひ登録をお願いします!)。</p> <ul> <li><a href="https://youtu.be/7kOmS26TImo">①開会の挨拶(小形克宏)2:41 <i class="fas fa-external-link-alt"></i></a></li> <li><strong>第1部 ひろがるCSS組版の世界</strong> <ul> <li><a href="https://youtu.be/0fMba3srkXk">②強力なグラフィック機能を備えた日本語組版処理システムの開発(和田優斗)25:44 <i class="fas fa-external-link-alt"></i></a></li> <li><a href="https://youtu.be/wx0wgsYVPgE">③同人作家から見たVivliostyleへの期待(逢賀サク)8:41 <i class="fas fa-external-link-alt"></i></a></li> <li><a href="https://youtu.be/jPH0hwxn_WQ">④Introduction to the PrintCSS Playground and PrintCSS Cloud.(Andreas Zettl)32:31 <i class="fas fa-external-link-alt"></i></a></li> </ul> </li> <li><strong>第2部 Vivliostyle の現在</strong> <ul> <li><a href="https://youtu.be/0-59ACZPapg">⑤Vivliostyle CLIの開発状況(緑豆はるさめ)14:29 <i class="fas fa-external-link-alt"></i></a></li> <li><a href="https://youtu.be/Y73ilw1AnqU">⑥VFMの開発状況(アカベコ)14:14 <i class="fas fa-external-link-alt"></i></a></li> <li><a href="https://youtu.be/23IjGnwg-Vc">⑦Create Bookを使った旅行エッセイ本の制作(小形克宏)20:46 <i class="fas fa-external-link-alt"></i></a></li> <li><a href="https://youtu.be/f3mcmEgzKH4">⑧Vivliostyle Pubの開発状況(takanakahiko)15:16 <i class="fas fa-external-link-alt"></i></a></li> </ul> </li> <li><strong>第3部 Vivliostyle の未来</strong> <ul> <li><a href="https://youtu.be/_y3YBHNN2Oc">⑨Vivliostyle CoreにおけるCSS Paged Media の実装(村上真雄)26:56 <i class="fas fa-external-link-alt"></i></a></li> <li><a href="https://youtu.be/auqefAA0Bx0">⑩Vivliostyle Themesのハンズオン(やましー)25:07 <i class="fas fa-external-link-alt"></i></a></li> <li><a href="https://youtu.be/bAOqQ5TH1-A">⑪Vivliostyle CLIのアップデート案(高井歩)35:14 <i class="fas fa-external-link-alt"></i></a></li> <li><a href="https://youtu.be/2_2ABGuHuzQ">⑫開発ディスカッション 33:48 <i class="fas fa-external-link-alt"></i></a></li> </ul> </li> <li><a href="https://youtu.be/zVOvHUaF4Qk">⑬終会の挨拶(村上真雄)5:35 <i class="fas fa-external-link-alt"></i></a></li> </ul> <p>いつも当イベントでは、コミュニティ外部の方々にも登壇していただいています。今回も第1部として<a href="https://twitter.com/kyoto_ysfh">和田優斗 <i class="fas fa-external-link-alt"></i></a>さん、<a href="https://twitter.com/ogs_52843">逢賀サク <i class="fas fa-external-link-alt"></i></a>さん、そして<a href="https://twitter.com/andreas_zettl">Andreas Zettl <i class="fas fa-external-link-alt"></i></a>さんから貴重な報告を聞くことができました。和田さんには<a href="https://www.ipa.go.jp/jinzai/mitou/2020/gaiyou_sd-2.html">2020年度未踏事業として採択された <i class="fas fa-external-link-alt"></i></a>新組版システム「Twight」をご発表いただきました。逢賀さんには非エンジニアの立場から取っつきづらいVivliostyleの現状を鋭く批判していただきました。また、Andreas さんには世界の主要CSS組版エンジン全てをAPI化し、自在に切り替えてプレビューできるご自身のサービス、<a href="https://printcss.live/">PrintCSS Playground <i class="fas fa-external-link-alt"></i></a> と <a href="https://printcss.cloud/">PrintCSS Cloud <i class="fas fa-external-link-alt"></i></a> を紹介してもらいました。まさに当イベントでしか聞けない素晴らしい発表ばかりで、心から御礼申し上げます。</p> <p>さて、次回のイベントは10月を予定しています。その時期には、いよいよ私達のWebアプリ、Vivliostyle Pub が姿を現しているはずです。当然イベントでも大きく扱われるはずです。どうかその時をお待ちください!</p> &copy; 2021 Vivliostyle.org Vivliostyle の最新アップデート — CLI 改良と CSS Paged Media サポートの充実 2021-04-21T00:00:00+09:00 2021-04-21T00:00:00+09:00 https://vivliostyle.org/ja/blog/2021/04/21/vivliostyle-improved-css-paged-media-support/ <p>Vivliostyle の最近の重要なアップデートは、Vivliostyle CLI のプレビュー機能改良、それから CSS Paged Media 仕様サポートの充実です。</p> <h2 id="vivliostyle-cli-のプレビュー機能改良vivliostyle-viewer-を統合">Vivliostyle CLI のプレビュー機能改良:Vivliostyle Viewer を統合</h2> <p>Vivliostyle CLI v3.2 から、プレビュー機能が以前の簡易ビュワーから、フル機能の Vivliostyle Viewer に置き換わりました。それにともなう主な改善点やメリットは以下です:</p> <ul> <li>見開き表示モード、ページスライダー、目次パネルからのナビゲーションなど、使い勝手が向上。</li> <li>原稿ファイルの更新によるリロードで表示位置が先頭ページに戻ることなく保持されるようになりました。</li> <li>ユーザースタイルシートの指定が可能になったので、既存のWebやEPUBコンテンツからの組版でもページレイアウトを変更可能。</li> <li>Vivliostyle Viewer を別にインストールしたり、それを使うためにローカル Web サーバーを立ち上げることなどが不要に。</li> </ul> <p>Vivliostyle CLI のインストール方法と使い方については、<a href="https://docs.vivliostyle.org/#/ja/vivliostyle-cli">Vivliostyle CLI ユーザーガイド</a> をご覧ください。</p> <p>詳しい更新内容は <a href="https://github.com/vivliostyle/vivliostyle-cli/blob/main/CHANGELOG.md">Vivliostyle CLI 変更履歴</a> をご覧ください。</p> <h2 id="css-paged-media-仕様サポートの充実">CSS Paged Media 仕様サポートの充実</h2> <p><a href="https://github.com/vivliostyle/vivliostyle.js">Vivliostyle.js (Core)</a> の最近の一連のバージョンアップ(v2.4–v2.8)で、CSS組版の基本的な標準仕様である <a href="https://www.w3.org/TR/css-page-3/">CSS Paged Media</a> や関連CSS仕様のサポートが充実しました:</p> <ul> <li><a href="https://www.w3.org/TR/css-gcpm-3/#named-strings">Named strings(名前付き文字列)</a> / <a href="https://github.com/vivliostyle/vivliostyle.js/blob/master/CHANGELOG.md#240-2020-12-28">v2.4 (2020-12-28)</a> <ul> <li>柱(ページヘッダー/フッター)に表示する文字列を本文中の見出しなどから得られるようにする機能</li> </ul> </li> <li><a href="https://www.w3.org/TR/css-gcpm-3/#document-page-selectors">:nth() page selector (N番目ページセレクタ)</a> / <a href="https://github.com/vivliostyle/vivliostyle.js/blob/master/CHANGELOG.md#250-2021-02-26">v2.5 (2021-02-26)</a> <ul> <li>文書の N 番目のページのスタイルを定義できる機能</li> </ul> </li> <li><a href="https://www.w3.org/TR/css-page-3/#using-named-pages">Named pages (名前付きページ)</a> / <a href="https://github.com/vivliostyle/vivliostyle.js/blob/master/CHANGELOG.md#270-2021-04-07">v2.7 (2021-04-07)</a> <ul> <li>ページの種類ごとに名前をつけてページのスタイルを定義できる機能</li> </ul> </li> <li><a href="https://www.w3.org/TR/css-page-3/#blank-pseudo">:blank page selector (空白ページセレクタ)</a> / <a href="https://github.com/vivliostyle/vivliostyle.js/blob/master/CHANGELOG.md#280-2021-04-16">v2.8 (2021-04-16)</a> <ul> <li>改丁(見開きの左右ページを指定した改ページ)によって生じる空白ページのスタイルを定義できる機能</li> </ul> </li> </ul> <p>詳しい更新内容は <a href="https://github.com/vivliostyle/vivliostyle.js/blob/master/CHANGELOG.md">Vivliostyle.js 変更履歴</a> をご覧ください。</p> <h3 id="vivliostylejs-における-css-paged-media-の実装">「Vivliostyle.js における CSS Paged Media の実装」</h3> <p>2021年4月10日にオンライン開催したイベント「<a href="https://vivliostyle.connpass.com/event/208401/">CSS組版 Vivliostyle ユーザーと開発者の集い 2021春</a>」で、Vivliostyle.js における CSS Paged Media の実装について発表を行いました。そのスライド資料をご覧ください。</p> <ul> <li><a href="https://bit.ly/vivliostyle202104">Vivliostyle.js における CSS Paged Media の実装 (Vivliostyle Viewer で閲覧)</a> <ul> <li><a href="https://vivliostyle.github.io/vivliostyle_doc/ja/events/vivliostyle-css-paged-media-20210410/slide.html">HTML</a></li> <li><a href="https://github.com/vivliostyle/vivliostyle_doc/tree/gh-pages/ja/events/vivliostyle-css-paged-media-20210410">ソース (GitHub)</a></li> </ul> </li> </ul> &copy; 2021 Vivliostyle.org Vivliostyle CLI がv3にメジャーバージョンアップ 2021-02-08T00:00:00+09:00 2021-02-08T00:00:00+09:00 https://vivliostyle.org/ja/blog/2021/02/08/New-release-of-Vivliostyle-CLI-v.3/ <div style="float: right; margin: 0 0 1em 1em;"><video src="/assets/posts/2021-02-08-Vivliostyle-CLI-is-Major-Upgrade-to-v.3/vivliostyle-v3-instruction-720p.mp4" controls="" alt="New release of Vivliostyle CLI v.3" style="width: 400px; box-shadow: 1px 2px 2.5px 1.5px grey;" /></div> <p>今年初めてのエントリ<a href="https://vivliostyle.org/ja/blog/2021/01/06/new-years-greetings-and-updates-on-vivliostyle/">「新年のご挨拶とVivliostyleのアップデートについて」</a>の中で、Vivliostyle CLI v3を準備中であることを書きましたが、2月7日、正式にv3.0.0をリリースしたことをお知らせします!</p> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle-cli/releases/tag/v3.0.0">vivliostyle/vivliostyle-cli/release/v3.0.0</a></li> </ul> <p>メジャーバージョンアップだけあって、v3には多くの変更が含まれています。そのうち主要な新機能だけでも挙げてみましょう。</p> <ul> <li>設定ファイル<code class="language-plaintext highlighter-rouge">vivliostyle.config.js</code>を使って出版物のカスタマイズが可能になりました</li> <li><a href="https://github.com/vivliostyle/themes">Vivliostyle Themes</a>をスタイルに指定できるようになりました</li> <li>以下の形式を読み込めるようになりました <ul> <li><a href="https://vivliostyle.org/ja/make-books-with-create-book/#vfm-%E3%81%A7%E5%8E%9F%E7%A8%BF%E3%82%92%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86">“VFM”</a>……書籍用に拡張したMarkdown</li> <li>“EPUB”……電子書籍のデファクト形式</li> </ul> </li> <li>以下の形式で書き出せるようになりました <ul> <li><a href="https://github.com/vivliostyle/community/wiki/Rapid-publishing-for-public-health-books-against-COVID-19#%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89%E3%81%AE%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%81%AA%E5%87%BA%E7%89%88%E3%81%AE%E6%A8%99%E6%BA%96%E3%81%A8%E3%81%97%E3%81%A6webbook">webpub</a>……HTMLの交換形式(<a href="https://vivliostyle.org/blog/2021/01/06/new-years-greetings-and-updates-on-vivliostyle/#vivliostyle-cli-v30-and-output-to-webbook">前回エントリの</a> “webbook” と同じ。変更理由は<a href="https://github.com/vivliostyle/vivliostyle-cli/pull/116">こちら</a>)</li> </ul> </li> </ul> <p>上記のうち、設定ファイルやVivliostyle Themes、VFMを使ったビルド作業について、コントリビュータの <a href="https://twitter.com/spring_raining">@spring_raining<i class="fas fa-external-link-alt"></i></a> さんが短い動画を作ってくれました。本エントリ冒頭に掲げた動画です。それを詳しいタイムシートにおこしてみました。</p> <ol> <li>作業概要の提示 (〜0.01)</li> <li>ターミナルで設定ファイルを生成 (〜0.02)</li> <li>設定ファイル <code class="language-plaintext highlighter-rouge">vivliostyle.config.js</code>の読み込み (〜0.12)</li> <li>設定ファイルを上書きしてカスタマイズ (〜0.21)</li> <li>ターミナルでスタイルファイル (<a href="https://github.com/vivliostyle/themes#bunko">Bunko Theme</a>) の読み込み(〜0.27)</li> <li>ターミナルでMarkdownファイルを読み込み、ビルドしてPDFを出力(〜0.47)</li> <li><a href="https://www.chromium.org/Home">Chromium<i class="fas fa-external-link-alt"></i></a>により組版結果をプレビュー(〜1.05)</li> <li>ChromiumからPDFを出力(〜1.15)</li> </ol> <p>以上述べたような v3へのバージョンアップによって、Vivliostyle CLI の実用性は格段に向上しました。このCLIは今年公開を目指す <a href="https://github.com/vivliostyle/vivliostyle-pub">Vivliostyle Pub</a> の心臓部とも言える重要コンポーネントです。Vivliostyleの次なるステップに、どうかご注目ください!</p> <h2 id="追記20210216">追記(2021/02/16)</h2> <p><a href="https://vivliostyle.org/ja/documents/#-%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%AC%E3%82%A4%E3%83%89">ドキュメント&gt;ユーザガイド</a>に<a href="https://vivliostyle.org/ja/documents/#vivliostyle-cli">「Vivliostyle CLI」</a>を追加しました。これはインストールから始まり、目的ごとにその機能を詳しく説明した公式ガイドです。ぜひご一読ください!</p> &copy; 2021 Vivliostyle.org 新年のご挨拶とVivliostyleのアップデートについて 2021-01-06T00:00:00+09:00 2021-01-06T00:00:00+09:00 https://vivliostyle.org/ja/blog/2021/01/06/new-years-greetings-and-updates-on-vivliostyle/ <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2021-01-06-new-years-greetings-and-updates-on-vivliostyle/fig1.png" alt="Implementation of named strings in Vivliostyle Viewer" style="width: 400px; box-shadow: 1px 2px 2.5px 1.5px grey;" /></div> <h2 id="はじめに">はじめに</h2> <p>新年あけましておめでとうございます。今年もVivliostyleをよろしくお願い申し上げます。</p> <p>Vivliostyleにとって昨年は、開発体制を整えたり、新プロジェクトを立ち上げたり、いわば大きな飛躍をするための「準備の年」だったように思います。今年は積み重ねてきた成果を生かし、大空へ飛び立てるよう微力を尽くすつもりです。</p> <p>そんな「準備の年」にあって、Vivliostyleは着実にアップデートを重ね、機能を追加してきました。本来このブログでリリースをお知らせすべきなのですが、去年はそれができませんでした。そこで現在のVivliostyleの開発状況について、この記事で概略をお伝えしたいと思います。</p> <h2 id="vivliostylejsの機能追加">vivliostyle.jsの機能追加</h2> <p>まずプロジェクト全体の基盤となる、<a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> のアップデート履歴については、<a href="https://github.com/vivliostyle/vivliostyle.js/releases">GitHub のリリース履歴のページ</a>にまとまっています。見逃せない機能追加は以下の2点でしょう。</p> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js/releases/tag/v2.2.0">v2.2.0 (2020-11-26)</a>……Vivliostyle Viewer のUIにページスライドバーを追加</li> <li><a href="https://github.com/vivliostyle/vivliostyle.js/releases/tag/v2.4.0">v2.4.0 (2020-12-28)</a>……<a href="https://www.w3.org/TR/css-gcpm-3/#named-strings">named strings(名前付き文字列)<i class="fas fa-external-link-alt"></i></a>のサポート</li> </ul> <p>中でも可能性を感じるのが named strings です。以下のテストページで、このプロパティがどのように使えるのか確かめることができます。</p> <ul> <li><a href="https://raw.githack.com/vivliostyle/vivliostyle.js/master/packages/core/test/files/#Named_Strings">Test cases / Named Strings</a></li> </ul> <p>上記ページの “canary” または “stable” をクリックすると named strings を実装した最新バージョンの Vivliostyle Viewer (図上)が、“2019.11” か “2018.2” をクリックするとまだ実装してない過去バージョンのVivliostyle Viewer(図下)が起動し、両者を比較することができます。</p> <p>これを見れば、出版に詳しい方なら「ああ、柱のことね」とうなずかれるかもしれません。もちろんそれは正しいのですが、named strings の可能性はそれに留まるものではありません。たとえばbody要素の中で使えます。これにより本文や見出しの中でnamed stringsとして指定した任意の文字列、たとえば本のタイトルや著者名等を代入することができるのです。</p> <p>なお、これらのバージョンの開発には、株式会社日本ビジネスプレスより支援をいただいたことを記して感謝いたします。</p> <h2 id="vivliostyle-cli--v30-と-webbook-への出力">Vivliostyle CLI v3.0 と webbook への出力</h2> <p>次に Vivliostyle CLI について。現在のバージョンはv2.1.2で、アップデート履歴は同じく<a href="https://github.com/vivliostyle/vivliostyle-cli/releases">GitHub のリリース履歴のページ</a>にまとまっています。これをみると、一番上に Release 3.0.0-pre.5 があることに気付かれるでしょう。じつは現在、メジャーアップデートに向けて作業中なのです。その v3.0 の仕様は下記にまとまっています。</p> <ul> <li><a href="https://github.com/vivliostyle/community/wiki/Vivliostyle-CLI-v3.0-new-spec">Vivliostyle CLI v3.0 new spec</a></li> </ul> <p>目玉となるのは、WebBook生成機能の追加です。これによりMarkdown(VFM)ファイルを読み込んで、webbook(本を作るためのHTMLファイル群とCSS、画像、フォントなどの関連ファイルをフォルダにまとめるフォーマット)を出力できるようになります。webbookとは何かについては、2020年秋の開発者イベントにおける村上代表の発表をご参照下さい。</p> <ul> <li><a href="https://github.com/vivliostyle/community/wiki/Rapid-publishing-for-public-health-books-against-COVID-19#%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89%E3%81%AE%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%81%AA%E5%87%BA%E7%89%88%E3%81%AE%E6%A8%99%E6%BA%96%E3%81%A8%E3%81%97%E3%81%A6webbook">これからのオープンな出版標準としての「WebBook」</a></li> </ul> <p>このwebbookを中間ファイルとして出力することで、そこからEPUB、Webページ、PDFなどへ容易に変換することができるようになります。夢が広がりますね。</p> <p>なお、<a href="https://github.com/vivliostyle/vivliostyle-cli/issues/86">Issue #86</a>でv3.0 の仕様について議論が続いているので、興味のある方はぜひご参加ください。</p> <h2 id="そしてvivliostyle-pub-について">そしてVivliostyle Pub について</h2> <p>最後に、私たちの最大の目標である Vivliostyle Pub についてです。ここまで述べてきた vivliostyle.jsも、Vivliostyle CLI 3.0も、すべてはVivliostyle Pubの要素技術とも言えます。その要件仕様は下記にまとまっています。</p> <ul> <li><a href="https://github.com/vivliostyle/community/wiki/Vivliostyle-Pub-v1-Req">Vivliostyle Pub v1 要件仕様 (WIP)</a></li> </ul> <p>この中で、Vivliostyle Pub が生成できるコンテンツフォーマットの一つとして webbook が挙げられていることからも分かるとおり、前述 Vivliostyle CLI 3.0 はVivliostyle Pubの最も重要なコンポーネントなのです。</p> <p>私たちはこれらの開発を着実にすすめることで、今年大きく羽ばたくことを願っています。どうかご支援いただければ幸いです。</p> &copy; 2021 Vivliostyle.org Vivliostyleの開発状況をOnline.tex 2020で報告 2020-12-21T00:00:00+09:00 2020-12-21T00:00:00+09:00 https://vivliostyle.org/ja/blog/2020/12/21/Update-on-the-development-of-Vivliostyle-at-Online.tex-2020/ <h2 id="はじめに">はじめに</h2> <p>だいぶ報告が遅れてしまいましたが、去る11月21日、オンラインで開催された<a href="https://connpass.com/event/188075/">「Online.tex 2020」<i class="fas fa-external-link-alt"></i></a>で、Vivliostyle Pubの開発状況について報告しました。この日のスライドを下記で公開しています。Vivliostyle Pubのデモを実際に公開の場でおこなったのは、この時が初めてだったと思います。</p> <ul> <li><a href="https://www2.slideshare.net/ogwata_1959/vivliostyle-239370581">あしたのVivliostyle<i class="fas fa-external-link-alt"></i></a></li> </ul> <p>実績あるTexコミュニティの主催だけあって、大変歯ごたえのあるフィードバックがいただけました。あらためて感謝いたします。</p> <p>とはいえ、ライブということもあって、とっさに的確な回答ができず申し訳ありませんでした。そこで、あらためて代表の村上と協議した上で回答することにします。この日のフィードバックは、下記のようなものでした。</p> <ul> <li><a href="#1-行頭インデントが消えてしまっている">1. 行頭インデントが消えてしまっている</a></li> <li><a href="#2-ルビ文字のサイズが大きすぎる">2. ルビ文字のサイズが大きすぎる</a></li> <li><a href="#3-テーブル中のテキストにルビが使えないか">3. テーブル中のテキストにルビが使えないか</a></li> <li><a href="#4-フォーカスが最初のページに戻ってしまう">4. フォーカスが最初のページに戻ってしまう</a></li> <li><a href="#5-エディタのカーソル位置がプレビュー画面で表示されるとよい">5. エディタのカーソル位置が、プレビュー画面で表示されるとよい</a></li> </ul> <h2 id="1-行頭インデントが消えてしまっている">1. 行頭インデントが消えてしまっている</h2> <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2020-12-21-Update-on-the-development-of-Vivliostyle-at-Online.tex-2020/fig-1.png" alt="A text document created with a double return code to separate paragraphs" style="width: 500px; box-shadow: 1px 2px 2.5px 1.5px grey;" /></div> <p>お恥ずかしいことに、これは私のケアレスミスです。本来、VFMでは段落区切り(ハード改行)はリターン2つです。なのに当日私がデモで使った原稿は、1つしか入っていませんでした。この場合GFMなどでは無視するのですが、VFMの場合は段落区切りではないソフト改行と解釈され、HTMLでは <code class="language-plaintext highlighter-rouge">&lt;br&gt;</code> に変換されます(右図上)。</p> <p>そのために改行はされたものの、段落の区切りではないので行頭はインデントはされませんでした。段落区切りをリターン2つに修正したスクリーンショットをご覧ください(右図下) 。</p> <h2 id="2-ルビ文字のサイズが大きすぎる">2. ルビ文字のサイズが大きすぎる</h2> <p>この問題、じつは以前から指摘されていましたが、この機会にIssueとして登録しました。</p> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js/issues/673">ルビの文字サイズ問題: Minimum font size setting in Chrome causes ruby font size problem #673 <i class="fas fa-external-link-alt"></i></a></li> </ul> <p>簡単に説明しましょう。元来 Vivliostyle はブラウザの補完を目的とするpolyfill(ポリフィル)の一種です。つまり、多くの機能はブラウザにまかせ、そこで実装されていない、たとえばページネーション等の機能を自前で実装しているわけです。</p> <p>このルビ文字の組版も同様で、Vivliostyleではなくブラウザ(Chrome)のレンダリング結果になります。ここで、もともとChromeでは最小文字サイズのデフォルト値は10pxです。ところが、CSSの指定によってはルビ文字のサイズがChromeの最小文字サイズを上回ってしまうため、結果としてルビが大きくレンダリングされてしまうのです(下図上)。</p> <div style="float: right; margin: 0 0 1em 1em;"><img src="/assets/posts/2020-12-21-Update-on-the-development-of-Vivliostyle-at-Online.tex-2020/fig-2.png" alt="Typesetting results with the default minimum font size (10px) in Chrome" style="width: 300px; box-shadow: 1px 2px 2.5px 1.5px grey;" /></div> <p>対処法として、Chromeの設定で最小文字サイズを0pxにすると、CSSの指定どおりにレンダリングされます(下図下)。</p> <p>ちょっと脇道に逸れますが、よくみるとこのスクリーンショットのルビ組版は、ルビが親文字よりはみ出した場合、親文字に掛けるよう処理する<a href="https://www.w3.org/TR/jlreq/#adjustments_of_ruby_with_length_longer_than_that_of_the_base_characters">JLReq 3.3.8 <i class="fas fa-external-link-alt"></i></a>通りではないことに気付きでしょうか。じつは、Vivliostyle はページネーションのためのW3C仕様の実装も十分にできていません。その結果、細部ではしばしばルールどおりに組版できないのが実情なのです。図らずもこのルビ組版は、そんなVivliostyleの開発状況を示す一例と言えるかもしれません。</p> <h2 id="3-テーブル中のテキストにルビが使えないか">3. テーブル中のテキストにルビが使えないか</h2> <p>実際にテーブルの中でルビを指定してみたところ、ルビの指定に使うパイプ文字 <code class="language-plaintext highlighter-rouge">|</code> が、セルの区切りとして解釈されてしまいました。VFMのバグですね。これについてIssue登録しました(現在、熱心な討論がつづいているので、興味のある方はぜひ覗いてみて下さい)。</p> <ul> <li><a href="https://github.com/vivliostyle/vfm/issues/44">テーブルでルビを指定するとパイプ文字がセルの区切りにパースされる</a></li> </ul> <p>ただし、この現象を回避する方法があります。VFMは生のHTMLをそのままパースしますので、HTMLでルビを指定すればよいのです。もともと、MarkdownはHTMLの簡易記法です。だから簡易記法で書けないことは本来の記法で書けばよいという思想からきた実装とも言えます。</p> <p>なお、この件について当日私は、以前から登録されているIssue <a href="https://github.com/vivliostyle/vfm/issues/35">図表キャプション内で他の記法が使えない #35</a>と同様の問題で、ある要素の中で別の要素をネストできないと説明をしましたが、これはまた別の問題であり間違いです。お詫びして取り消します。</p> <h2 id="4-フォーカスが最初のページに戻ってしまう">4. フォーカスが最初のページに戻ってしまう</h2> <p>はい、確かに現状は好ましくない動作であり、既に Issue として登録されています。</p> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle-pub/issues/53">エディターで更新のたびにプレビューが1ページ目に戻らないようにすること #53</a></li> </ul> <h2 id="5-エディタのカーソル位置がプレビュー画面で表示されるとよい">5. エディタのカーソル位置が、プレビュー画面で表示されるとよい</h2> <p>確かに。これも既に ver. 1 の実装要件を定めた<a href="https://github.com/vivliostyle/community/wiki/Vivliostyle-Pub-v1-Req#%E5%8E%9F%E7%A8%BF%E7%B7%A8%E9%9B%86%E7%94%BB%E9%9D%A2%E3%81%A8%E3%83%97%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC">「Vivliostyle Pubv1 要件仕様 (WIP)」</a>に盛り込まれており、実装する予定です。</p> <p>こうしてまとめると、図らずも Vivliostyle Pub の開発がまだまだ初期段階であることを示すような事例ばかりです。とくに組版について積み残しが多いことがお分かりいただけると思います。もちろん、これで良いわけがありません。Online.tex 2020への参加により、そうした現状をあらためて認識させられました。感謝すると共に、これらの課題を克服する決意を新たにしているところです。</p> &copy; 2020 Vivliostyle.org GitHubのアカウントがなくともVivliostyleを支援できるようになりました 2020-11-20T00:00:00+09:00 2020-11-20T00:00:00+09:00 https://vivliostyle.org/ja/blog/2020/11/20/You-can-support-Vivliostyle-without-a-GitHub-account/ <div style="float: right; margin: 0 0 1em 1em;"><a href="https://vivliostyle.org/ja/sponsors/"><img src="/assets/posts/2020-11-20-You-can-support-Vivliostyle-without-a-GitHub-account/2020-11-20-You-can-support-Vivliostyle-without-a-GitHub-account.png" alt="How about supporting Vivliostyle" style="width: 300px; box-shadow: 1px 2px 2.5px 1.5px grey;" /></a></div> <p>今年4月から<a href="https://github.com/sponsors/vivliostyle">GitHub スポンサー<i class="fas fa-external-link-alt"></i></a>を利用した支援を開始しました。幸いなことに、<a href="https://vivliostyle.org/ja/sponsors/#%E3%82%B9%E3%83%9D%E3%83%B3%E3%82%B5%E3%83%BC%E4%B8%80%E8%A6%A7">執筆時点で13人もの方々</a>が、ここから支援してくださっています。大変ありがたいことで、スポンサーの方々には深く感謝申し上げます。</p> <p>しかし、Vivliostyleの開発を一層すすめるためには、もっともっと多くの方々の支援が必要です。GitHub スポンサーはGitHubのアカウントが必要です。エンジニアにとってGitHubは身近なサービスですが、それ以外の人々にとって存在すら知らないという人が大多数でしょう。そこでGitHubのアカウントがなくともVivliostyleが支援できるよう、 <a href="https://www.robotpayment.co.jp/">Robot Payment<i class="fas fa-external-link-alt"></i></a> のクレジットカード決済サービスを導入することにしました。現在、下記ページから同社のサービスを使った支援が可能になっています。</p> <ul> <li><a href="https://vivliostyle.org/ja/sponsors/">あなたも Vivliostyle のスポンサーになりませんか</a></li> </ul> <p>GitHub スポンサーでは月毎の継続支払いのみでしたが、Robot Payment では継続支払いはもちろん、一括支払いも可能です。金額も継続支払いで100円〜250,000円、一括支払いで100円〜600,000円と細かく設定しました。また、GitHub スポンサーの決済はドル建てですが、Robot Paymentでは円建てです。</p> <p>Vivliostyle はオープンソース・プロジェクトです。お好みの方法に合わせて、一人でも多くの方にご支援いただければと思います。</p> <p><strong>追記(2022-06-13)</strong>:Robot Paymentをつかったスポンサー募集は終了しました。今までのご愛用を感謝いたします。</p> &copy; 2020 Vivliostyle.org 「Vivliostyle ユーザーと開発者の集い 2020秋」開催報告 2020-11-06T00:00:00+09:00 2020-11-06T00:00:00+09:00 https://vivliostyle.org/ja/blog/2020/11/06/meetup-2020-autumn-report/ <p> 去る10月24日、オンラインで<a href="https://vivliostyle.connpass.com/event/189940/">「Vivliostyle ユーザーと開発者の集い 2020秋」</a>を開催しました。</p> <p>YouTubeチャンネルにてライブ配信をしたのですが、当日および1週間後までの視聴者数は446人! Vivliostyle始まって以来の人数で、CSS組版への期待と熱気を感じずにはいられません。身が引き締まる思いです。</p> <p>当日の発表動画とスライド資料を公開しています。</p> <p><strong>オープニング</strong></p> <ul> <li>開会の挨拶/Vivliostyleの現状と展望(<a href="https://twitter.com/MurakamiShinyu">村上真雄</a>) <a href="https://youtu.be/LwGDDGbmrKE">動画</a></li> </ul> <p><strong>第1部 Vivliostyle の現在</strong></p> <ul> <li>Vivliostyle CLIで広がるCSS組版のエコシステム(<a href="https://twitter.com/spring_raining">緑豆はるさめ</a>)<a href="https://youtu.be/KxapwLgmtKA">動画</a> <a href="https://speakerdeck.com/spring_raining/vivliostyle-user-and-developer-meetup-2020-autumn">スライド</a></li> <li>スピーディーな本作りとカスタマイズ可能な本作りのための Vivliostyle Themes プロジェクト(<a href="https://twitter.com/yamasy1549">やましー</a>)<a href="https://youtu.be/zEQ1nPq2FHo">動画</a> <a href="https://www.slideshare.net/yamasy1549s/vivliostyle-themes-238958997">スライド</a></li> <li>Vivliostyle Pub の現状と課題(<a href="https://twitter.com/takanakahiko">takanakahiko</a>)<a href="https://youtu.be/Ym71Lqmc3HY">動画</a> <a href="https://speakerdeck.com/takanakahiko/current-status-and-issues-of-vivliostyle-pub">スライド</a></li> </ul> <p><strong>第2部 Vivliostyleの利用例</strong></p> <ul> <li>Vivliostyleで厚めの薄い本をCSSで組んだ話(<a href="https://twitter.com/y_mikou">みこう悠長</a>)<a href="https://youtu.be/YBlQzfqKKXA">動画</a> <a href="https://sway.office.com/X8dcP25wnTEXFbE0?ref=Link&amp;loc=mysways">スライド</a></li> <li>Rapid publishing for public health books against COVID-19(<a href="https://twitter.com/mrchristian99">Simon Worthington</a>)(村上真雄による背景説明+字幕翻訳付)<a href="https://youtu.be/xddKDFaCVr0">動画</a> <a href="https://github.com/vivliostyle/community/wiki/Rapid-publishing-for-public-health-books-against-COVID-19">Wiki</a></li> <li>商業出版『そろそろ常識?マンガでわかる「正規表現」』の制作(<a href="https://twitter.com/arinoth">大津雄一郎</a>)<a href="https://youtu.be/RQm5G7OM2S0">動画</a> <a href="https://www.slideshare.net/ohtsuyuichiro/vivliostyle2020fall-lwohtsu">スライド</a></li> </ul> <p><strong>第3部 ひろがるCSS組版の世界</strong></p> <ul> <li>Paged.js について 〜Yet another CSS paged media polyfill〜(<a href="https://twitter.com/akabekobeko">アカベコ</a>)<a href="https://youtu.be/awMBMrKwHHA">動画</a> <a href="https://speakerdeck.com/akabekobeko/paged-dot-js-nituite-yet-another-css-paged-media-polyfill">スライド</a></li> <li>より良いタイポグラフィのための知られざるCSS(<a href="https://twitter.com/terkel">鈴木丈</a>)<a href="https://youtu.be/96EbOEChoIY">動画</a> <a href="https://speakerdeck.com/terkel/yoriliang-itaipogurahuifalsetamefalsezhi-rarezarucss">スライド</a></li> </ul> <p><strong>クロージング</strong></p> <p>Q&amp;Aセッション /終会の挨拶 <a href="https://youtu.be/tTv8Uq3tqr8">動画</a></p> <p>当日の様子は登壇者でもある、あかべこさんがブログで報告してくれています。背景情報を含めとても詳しく、よくまとめてくれたので、ぜひ読んでみてください。</p> <ul> <li><a href="https://akabeko.me/blog/2020/11/vivliostyle/">CSS 組版 Vivliostyle ユーザーと開発者の集い 2020 秋|アカベコマイリ</a></li> </ul> <p>最後に宣伝です。11月8日(日曜)に月例の開発者会議をオンラインで開催します。イベントでご覧に入れたVivliostyleのプロダクトをどうのように開発するか、皆で話し合います。誰でも参加可能ですので、見るだけでよいのでぜひご参加ください。</p> <ul> <li><a href="https://join.slack.com/t/vivliostyle/shared_invite/enQtNzc1NjE4ODk1ODI5LWQxZjM4YTZjMmQ0ZTUyNmUyOGZlMzIwZjQ5OWYwYjkyZDZmOTIwNGMwOWU5NDc0NjE5OTAyMmVhZTRhYTAyNWQ">Vivliostyle Slack 招待リンク</a></li> </ul> <p>URLは当日、Slackの #general チャンネルで告知します。もちろんSlackも公開していますので、ぜひ覗いてみてください。</p> &copy; 2020 Vivliostyle.org 2019年度事業報告書を公開します 2020-06-11T00:00:00+09:00 2020-06-11T00:00:00+09:00 https://vivliostyle.org/ja/blog/2020/06/11/fy2019-activity-report-is-now-available/ <div style="float: right; margin: 0 0 1em 1em;"><a href="/ja/about-us/#2019年度事業報告書"><img src="/assets/posts/2020-06-11-fy2019-activity-report-is-now-available/fy2019-activity-report-ja.png" alt="FY2019 Activity Report" style="width: 300px; box-shadow: 1px 2px 2.5px 1.5px grey;" /></a></div> <p>一般社団法人ビブリオスタイルの事業年度は4/1〜3/31です。下記の通り、第2期となる2019年4月1日〜2020年3月31日の事業報告書を作成しましたのでお知らせします。</p> <ul> <li><a href="/ja/about-us/#2019年度事業報告書">私たちについて&gt;2019年度事業報告書</a></li> </ul> <p>読みやすいように、事業報告書は当法人のメインプロダクトである Vivliostyle Viewer でも閲覧できるようにしてあります。CSS組版による誌面をご確認いただければと思います。</p> <p>事業報告書にも書きましたが、第2期は飛躍のための準備期間でした。今期はより遠くへジャンプできよう、頑張りたいと思います!</p> &copy; 2020 Vivliostyle.org GitHub Sponsors で Vivliostyle を支援しませんか 2020-04-29T00:00:00+09:00 2020-04-29T00:00:00+09:00 https://vivliostyle.org/ja/blog/2020/04/29/become-a-sponsor-to-vivliostyle-via-github-sponsors/ <div style="float: right; margin: 0 0 1em 1em;"><a href="https://github.com/sponsors/vivliostyle"><img src="/assets/posts/2020-04-29-become-a-sponsor-to-vivliostyle-via-github-sponsors/gitHub-sponsors.png" alt="Become a sponsor to vivliostyle" style="width: 300px; box-shadow: 1px 2px 2.5px 1.5px grey;" /></a></div> <p>少し前に申請していた GitHub Sponsors に無事通過し、このほど募集ページが公開されました。</p> <ul> <li><a href="https://github.com/sponsors/vivliostyle">Become a sponsor to Vivliostyle</a></li> </ul> <p>このページから任意のコース(tier)の “Select” ボタンをクリックすることで、Vivliostyleに対して毎月一定額を支援することが可能になります。支払いはクレジットカードかPayPalの2種類からお選びいただけます。また、“Who can see your sponsorship?” (あなたの支援を誰かが見ることができますか?)の項目で “Private” を選択すれば、匿名による寄付も可能です(デフォルトは名前を公開する “Everyone”)。</p> <p>コース(tier)は全部で10種類、金額は毎月1ドルから6,000ドルまでと、幅広い選択肢を用意しました。募集ページは英語ですので、ここではその日本語訳でご説明します。</p> <ul> <li> <p><strong>毎月$1</strong> <strong>⭐️ ファン・スポンサー:</strong> Vivliostyle を愛してくれてありがとうございます。お礼として <a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a>リポジトリの BACKERS.md ファイルで、バッジ⭐️とともにあなたのアイコンを掲載します。</p> </li> <li> <p><strong>毎月$3</strong> <strong>🌟 ファン・スポンサー:</strong> Vivliostyle を愛してくれてありがとうございます。あなたのサポートに感謝をこめて、<a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの BACKERS.md ファイルで、バッジ🌟とともにあなたのアイコンを掲載します。</p> </li> <li> <p><strong>毎月 $10</strong> <strong>🌹 ベーシック・スポンサー:</strong> Vivliostyle を愛してくれてありがとうございます。お礼としてお名前を <a href="https://twitter.com/Vivliostyle">Twitter</a> で告知し、<a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの BACKERS.md ファイルと公式サイト <a href="https://vivliostyle.org">vivliostyle.org</a> で、バッジ🌹とともにあなたのアイコンを掲載します。</p> </li> <li> <p><strong>毎月$30</strong> <strong>💐 ベーシック・スポンサー:</strong> Vivliostyle を愛してくれてありがとうございます。あなたのサポートに感謝をこめて、お名前を <a href="https://twitter.com/Vivliostyle">Twitter</a> で告知し、<a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの BACKERS.md ファイルと公式サイト <a href="https://vivliostyle.org">vivliostyle.org</a> で、バッジ💐とともにあなたのアイコンを掲載します。</p> </li> <li><strong>毎月$100</strong> <strong>🥉 ブロンズ・スポンサー:</strong> Vivliostyle を愛してくれてありがとうございます。Bronze Sponsor としてあなたのお名前を <a href="https://twitter.com/Vivliostyle">Twitter</a> で告知し、<a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの BACKERS.md ファイルと公式サイト <a href="https://vivliostyle.org">vivliostyle.org</a> で、バッジ🥉とともにあなたのアイコンを掲載します。その他、以下の特典が加えられます: <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの README ファイルにあなたのロゴを掲載</li> </ul> </li> <li><strong>毎月$200</strong> <strong>🥈 シルバー・スポンサー:</strong> Vivliostyle を愛してくれてありがとうございます。Silver Sponsor としてあなたのお名前を <a href="https://twitter.com/Vivliostyle">Twitter</a> で告知し、<a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの BACKERS.md ファイルと公式サイト <a href="https://vivliostyle.org">vivliostyle.org</a> で、バッジ🥈とともにあなたのアイコンを掲載します。その他、以下の特典が加えられます: <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの README ファイルにあなたのロゴを掲載</li> </ul> </li> <li><strong>毎月$500</strong> <strong>🥇 ゴールド・スポンサー:</strong> Vivliostyle を愛してくれてありがとうございます。Gold Sponsor としてあなたのお名前を <a href="https://twitter.com/Vivliostyle">Twitter</a> で告知し、<a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの BACKERS.md ファイルと公式サイト <a href="https://vivliostyle.org">vivliostyle.org</a> で、バッジ🥇とともにあなたのアイコンを掲載します。その他、以下の特典が加えられます: <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの README ファイルにあなたのロゴを掲載</li> <li>公式サイト <a href="https://vivliostyle.org">vivliostyle.org</a> にあなたのロゴを掲載</li> </ul> </li> <li><strong>毎月$1,000</strong> <strong>🏆 プラチナ・スポンサー:</strong> Vivliostyle を愛してくれてありがとうございます。Platinum Sponsor としてあなたのお名前を <a href="https://twitter.com/Vivliostyle">Twitter</a> で告知し、<a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの BACKERS.md ファイルと公式サイト <a href="https://vivliostyle.org">vivliostyle.org</a> で、バッジ🏆とともにあなたのアイコンを掲載します。その他、以下の特典が加えられます: <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの README ファイルにあなたの大型のロゴを掲載</li> <li>公式サイト <a href="https://vivliostyle.org">vivliostyle.org</a> にあなたの大型のロゴを掲載</li> <li>月2時間のサポートまたはコンサルティング</li> </ul> </li> <li><strong>毎月$2,500</strong> <strong>💎 ダイヤモンド・スポンサー:</strong> Vivliostyle を愛してくれてありがとうございます。Diamond Sponsor としてあなたのお名前を <a href="https://twitter.com/Vivliostyle">Twitter</a> で告知し、<a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの BACKERS.md ファイルと公式サイト <a href="https://vivliostyle.org">vivliostyle.org</a> で、バッジ💎とともにあなたのアイコンを掲載します。その他、以下の特典が加えられます: <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの README ファイルにあなたの大型のロゴを掲載</li> <li>公式サイト <a href="https://vivliostyle.org">vivliostyle.org</a> にあなたの大型のロゴを掲載</li> <li>月5時間のサポートまたはコンサルティング</li> </ul> </li> <li><strong>毎月$6,000</strong> <strong>💠 スペシャル・スポンサー:</strong> Vivliostyle を愛してくれてありがとうございます。Special Sponsor としてあなたのお名前を <a href="https://twitter.com/Vivliostyle">Twitter</a> で告知し、<a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの BACKERS.md ファイルと公式サイト <a href="https://vivliostyle.org">vivliostyle.org</a> で、バッジ💠とともにあなたのアイコンを掲載します。その他、以下の特典が加えられます: <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js">vivliostyle.js</a> リポジトリの README ファイルにあなたの大型のロゴを掲載</li> <li>公式サイト <a href="https://vivliostyle.org">vivliostyle.org</a> にあなたの大型のロゴを掲載</li> <li>月12時間のサポートまたはコンサルティング</li> </ul> </li> </ul> <p>Vivliostyle はボランティアによって開発されています。この機会にぜひ、<a href="https://github.com/sponsors/vivliostyle">支援</a>をご検討ください!</p> &copy; 2020 Vivliostyle.org 「Vivliostyle ユーザーと開発者の集い 2020春」開催報告 2020-04-26T00:00:00+09:00 2020-04-26T00:00:00+09:00 https://vivliostyle.org/ja/blog/2020/04/26/vivliostyle-dev-user-2020spring/ <p>ご報告が遅れてしまいましたが、「Vivliostyle ユーザーと開発者の集い 2020春」を、無事に終えることができました。</p> <p>前回の<a href="https://vivliostyle.org/ja/blog/2020/03/21/We-will-hold-Vivliostyle-User-and-Developer-Gathering-Spring-2020/">3月21日付投稿</a>では、折りからのパンデミックを受け、会場に参加者を集める以外に、オンラインでの動画配信もおこなうことを報告しました。しかし、4月に入ってからも状況は悪化の一途を辿り、オンライン開催のみに変更せざるを得なくなりました。</p> <p>そんな悪環境でしたが、全部で8人の登壇者による盛り沢山の報告により、なんとか「Vivliostyleの現在と未来」を提示できたように思います。</p> <p>とくに御礼申し上げたいのが、この逆境の中、登壇を引き受けてくださったゲスト講演者の<a href="https://twitter.com/kondoyuko">kondoyukoさん</a>、そして<a href="https://twitter.com/_kauplan">カウプラン機関極東支部さん</a>のお二人です。外部からの率直な意見を聞く機会を持てたことは、これからのVivliostyleにとって貴重な機会でした。</p> <p>また、今年後半の公開を目指して開発中の「Vivliostyle Pub」について、バックエンド、フロントエンド、あるいはmarkdownなど、さまざまな角度からご報告できたのもよかったと思います。</p> <p>本来でしたら懇親会で、ゲストの皆さんはもちろん、来場してくださった方々と親しく意見交換したかったのですが、それがかなわず残念です。ぜひ後日、そうした機会を持てるようになることを願っています。</p> <p>当日のスライドや動画記録は、すべて以下の募集ページに集約しました。お時間のあるとき、ぜひご覧ください。</p> <ul> <li><a href="https://vivliostyle.connpass.com/event/170939/presentation/"> CSS組版 Vivliostyle ユーザーと開発者の集い 2020春</a></li> </ul> &copy; 2020 Vivliostyle.org ドイツ国立科学技術図書館が Vivliostyle により、COVID-19対策の公衆衛生教科書を出版 2020-04-10T00:00:00+09:00 2020-04-10T00:00:00+09:00 https://vivliostyle.org/ja/blog/2020/04/10/tib-book-against-covid19/ <div style="float: right; margin: 0 0 1em 1em;"><a href="https://akademie-oeffentliches-gesundheitswesen.github.io/krisenmanagment/"><img src="/assets/posts/2020-04-10-tib-book-against-covid19/krisenmanagment.png" alt="TIB book: Krisenmanagement (Crisis Management)" style="width: 300px; box-shadow: 2px 4px 5px 3px grey;" /></a></div> <p>世界中で新型コロナウイルス(COVID-19)が猛威を振るっています。ドイツでもこの数週間、医療関係者は厳しい戦いを強いられてきました。</p> <p><a href="https://www.tib.eu/en/tib/profile/foundation/">TIB(ドイツ国立科学技術図書館)</a>はこの戦いに打ち勝つため、ドイツ国内で公衆衛生サービスの第一線に立つ医学生を対象にした、オープンに利用できる学習システムの開発を急いできました。</p> <p>2020年4月9日、TIBはその最初の成果である教科書 “Krisenmanagement” (危機管理)を、 Vivliostyle を使って完成させたことを発表しました。プレスリリースは下記から読むことができます。</p> <ul> <li><a href="https://blogs.tib.eu/wp/tib/2020/04/09/accelerating-open-health-training-against-covid-19/">Accelerating Open Health Training Against COVID-19(英語)</a></li> <li><a href="https://blogs.tib.eu/wp/tib/2020/04/09/schneller-fortbilden-und-informieren-zur-bekaempfung-von-covid-19/">Schneller Fortbilden und Informieren zur Bekämpfung von COVID-19(ドイツ語)</a></li> </ul> <p>“Krisenmanagement” そのものの説明と閲覧は下記からどうぞ。</p> <ul> <li><a href="https://akademie-oeffentliches-gesundheitswesen.github.io/krisenmanagment/">Krisenmanagement - Lehrbuch für den Öffentlichen Gesundheitsdienst</a></li> <li><a href="https://akademie-oeffentliches-gesundheitswesen.github.io/krisenmanagment/pdf/Krisenmanagement-Pre-Release-v1-978-3-9812871-2-7-PDF.pdf">PDF版(Vivliostyle による出力)</a></li> <li><a href="https://akademie-oeffentliches-gesundheitswesen.github.io/krisenmanagment/vivliostyle-viewer-2.0.0-pre.10/viewer/#src=/load/view.php?a=aHR0cHM6Ly9ha2FkZW1pZS1vZWZmZW50bGljaGVzLWdlc3VuZGhlaXRzd2VzZW4uZ2l0aHViLmlvL2tyaXNlbm1hbmFnbWVudC93ZWJidWNoLzk3ODM5ODEyODcxMjdLUkl2MS54aHRtbCZhbXA7YW1wO2Jvb2tNb2RlPXRydWUmYW1wO2FtcDtyZW5kZXJBbGxQYWdlcz10cnVlJnF1b3Q7Jmd0O+OCpuOCp+ODluODluODg+OCr+eJiO+8iFZpdmxpb3N0eWxl Viewer で表示)</a></li> <li><a href="https://github.com/akademie-oeffentliches-gesundheitswesen/krisenmanagment">GitHub</a></li> </ul> <p>私達が、TIBのスタッフである Simon Worthington 氏からSlackで質問を受けたのは、3月26日のことでした。そこから数日間、私達はWorthington 氏と技術上のやりとりをしました。</p> <p>制作を担当したTIBの Lambert Heller 氏は4月8日、<a href="https://twitter.com/Lambo/status/1247862424931315712">自身のTwitterへの投稿</a>で、このプロジェクトで使った Vivliostyle や <a href="https://www.fiduswriter.org/">Fidus Writer</a>、<a href="https://web.hypothes.is/">Hypothesis</a>、GitHubなどのツールを挙げた上で、「これらがなければ、100人もの著者がいる本を迅速に制作するWebベースでのワークフローを構築するのはほとんど不可能でした」と述べています。</p> <blockquote class="twitter-tweet"><p lang="en" dir="ltr">In fact, we are super glad to have tools like <a href="https://twitter.com/fiduswriter?ref_src=twsrc%5Etfw">@fiduswriter</a>, <a href="https://twitter.com/Vivliostyle?ref_src=twsrc%5Etfw">@Vivliostyle</a>, <a href="https://twitter.com/hypothes_is?ref_src=twsrc%5Etfw">@hypothes_is</a>, <a href="https://twitter.com/github?ref_src=twsrc%5Etfw">@github</a> etc. in place. Without them, a rapid and fully web-based production workflow of a book with +100 authors would hardly be possible.<br />Thanks <a href="https://twitter.com/mrchristian99?ref_src=twsrc%5Etfw">@mrchristian99</a> for bringing it all together! <a href="https://t.co/FxgSEPgJE2">https://t.co/FxgSEPgJE2</a></p>&mdash; Lambert Heller 🌈🦄🐶 (@Lambo) <a href="https://twitter.com/Lambo/status/1247862424931315712?ref_src=twsrc%5Etfw">April 8, 2020</a></blockquote> <p>冒頭のプレスリリースは4月9日のものですが、GitHubのリポジトリを見ると4月3日には完成したようです。本書が一刻も早い刊行を急いでいたことを考えれば、Vivliostyle が彼等の期待に見事に応えられたことを誇りに思っています。</p> <p>Worthington 氏によれば、TIBは本書を皮切りとして次々に本の刊行を続ける予定であり、とりわけ重要な一冊は「接触者追跡 (contact tracing)」に関するもので、ドイツのシステムがどのように機能するのかを詳細に説明し、より多くの医療従事者が迅速に処置を行えるように活用される予定だとのことです。</p> <p>私達としては、これからも可能な限り彼等へのサポートを続けていくつもりです。また、もしも Vivliostyle を新型コロナウイルスへの対応で利用したい方がいれば、どんなことでも<a href="https://vivliostyle.org/ja/community/">私達にご質問ください。</a></p> <p>日々、辛い状況が続きますが、皆で力を合わせて COVID-19 を撃退しましょう!</p> &copy; 2020 Vivliostyle.org “CSS組版 Vivliostyle ユーザーと開発者の集い 2020春” を開催します 2020-03-21T00:00:00+09:00 2020-03-21T00:00:00+09:00 https://vivliostyle.org/ja/blog/2020/03/21/We-will-hold-Vivliostyle-User-and-Developer-Gathering-Spring-2020/ <p>新型コロナウィルスの世界的流行の中、私達に何ができるでしょう? いろいろ考えた末に、私達はむしろ開発をスピードアップしようと決めました。そこで、来たる4月4日に以下のようなイベントを開催します。</p> <p><strong><a href="https://vivliostyle.connpass.com/event/170939/">CSS組版 Vivliostyle ユーザーと開発者の集い 2020春</a></strong></p> <p>この情勢ですので、インターネット中継をメインとして、少人数の会場参加も可能とする二元開催です。URLは上記告知ページ、及び<a href="https://twitter.com/Vivliostyle">Twitter</a>で発表します。お伝えしたいのは以下の3点です。</p> <ul> <li>ユーザによるVivliostyleの使用報告と新たな提案</li> <li>新バージョンの変更点と、新しい Vivliostyle ファミリーの紹介</li> <li>年内公開予定のコンシューマ向け無料サービス “Vivliostyle Pub” の報告</li> </ul> <p>新型コロナウィルスの流行は、そう簡単に収束しないと思われます。それでも私達は、生きている限り活動をやめられません。つまりウィルスへ対処しながら、私たちができる活動をしていかなくてはなりません。</p> <p>そうして、テレワークを始め今まで以上にインターネットが重要なインフラとなる状況がつづくでしょう。そのために、今よりももっとWebは使いやすくなるべきです。</p> <p>なかでも日本において課題となるのは、文書コミュニケーションの効率性です。だからこそ、Vivliostyleは開発を止めてはいけないと考えました。</p> <p>どうか一人でも多くの人が、それぞれ可能な方法で、私達のイベントに参加されますよう呼びかけます。</p> &copy; 2020 Vivliostyle.org 技術書典7に出展『Vivliostyleで本を作ろう Vol.2』公開! 2019-09-25T00:00:00+09:00 2019-09-25T00:00:00+09:00 https://vivliostyle.org/ja/blog/2019/09/25/make-books-with-vivliostyle-vol2/ <p>9 月 22 日に開催された <a href="https://techbookfest.org/event/tbf07">技術書典 7</a> に出展した <a href="https://techbookfest.org/event/tbf07/circle/5649899693539328">Vivliostyle ユーザー会 </a> の同人誌<strong>『Vivliostyle で本を作ろう Vol.2』</strong>の全篇を公開します。 👉<a href="/ja/samples/">Vivliostyle サンプル</a></p> <p><a href="https://vivliostyle.org/viewer/#b=https://vivliostyle.github.io/vivliostyle_doc/ja/vivliostyle-user-group-vol2/index.html&amp;renderAllPages=true"><img src="/assets/samples/vug-vol2.png" alt="『Vivliostyle で本を作ろう Vol. 2』" /> Vivliostyle Viewer で閲覧</a><br /> <a href="https://vivliostyle.github.io/vivliostyle_doc/ja/vivliostyle-user-group-vol2/index.html">通常のウェブページとして閲覧 (Raw HTML)</a></p> <p>ソースは GitHub に公開:</p> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle_doc/tree/gh-pages/ja/vivliostyle-user-group-vol2">『Vivliostyle で本を作ろう Vol. 2』CSS 組版ソース(HTML+CSS)</a></li> <li><a href="https://github.com/spring-raining/tbf07-draft">原稿(Markdown など)からビルドできるソース一式</a></li> </ul> &copy; 2019 Vivliostyle.org Vivliostyle 開発者とユーザーの集い 2019夏 開催しました! 2019-09-04T00:00:00+09:00 2019-09-04T00:00:00+09:00 https://vivliostyle.org/ja/blog/2019/09/04/vivliostyle-dev-user-meetup-tokyo20190831/ <p>2019年8月31日(土)、<a href="https://connpass.com/event/141767/">〈CSS組版 Vivliostyle 開発者とユーザーの集い 2019夏〉</a>イベントを、Vivliostyleユーザー会/Vivliostyle Foundation の主催、JAGAT XMLパブリッシング研究会の協力により、開催いたしました。参加・協力してくれたみなさま、ありがとうございます!</p> <p>イベントでの発表資料が公開されています:</p> <h2 id="第1部vivliostyle-開発者ミーティング">《第1部》Vivliostyle 開発者ミーティング</h2> <ul> <li><a href="http://bit.ly/vivdev20190831"><strong>「Vivliostyle開発のこれまでと、これからへ」</strong></a><br /> by 村上真雄(<a href="https://twitter.com/MurakamiShinyu">@MurakamiShinyu</a>) Vivliostyle Foundation代表</li> </ul> <p>Vivliostyle の開発課題(issue)を <a href="https://github.com/vivliostyle/vivliostyle.js/projects">GitHub Projects - vivliostyle.js</a> で、課題カテゴリーごとのプロジェクトにまとめたので、ミーティング参加者にどのプロジェクトが重要か聞きました(複数回答)。結果は以下:</p> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle.js/projects/5">Bugs</a>: 7人</li> <li><a href="https://github.com/vivliostyle/vivliostyle.js/projects/2">PDF printing</a>: 7人</li> <li><a href="https://github.com/vivliostyle/vivliostyle.js/projects/3">Input formats</a>: 7人</li> <li><a href="https://github.com/vivliostyle/vivliostyle.js/projects/1">Paged media</a>: 15人</li> <li><a href="https://github.com/vivliostyle/vivliostyle.js/projects/4">Typography</a>: 8人</li> <li><a href="https://github.com/vivliostyle/vivliostyle.js/projects/6">Layout enhancement</a>: 10人</li> <li><a href="https://github.com/vivliostyle/vivliostyle.js/projects/7">Web standards</a>: 7人</li> <li><a href="https://github.com/vivliostyle/vivliostyle.js/projects/8">Other improvements</a>: <ul> <li>Improved error handling (more stable): 5人</li> <li>UI multilingualization: 3人</li> <li>Search function: 3人</li> <li>Chrome extension: 6人</li> <li>Documentation: 12人</li> </ul> </li> </ul> <h2 id="第2部vivliostylecss組版ユーザーミーティング">《第2部》Vivliostyle・CSS組版ユーザーミーティング</h2> <ul> <li><a href="https://speakerdeck.com/spring_raining/vivliostyle-meetup"><strong>Vivliostyleユーザー会の合同誌の制作|Markdownの複雑化と締め切りのはざまで</strong></a><br /> by 緑豆はるさめ(<a href="https://twitter.com/spring_raining">@spring_raining</a>) Vivliostyleユーザー会</li> <li><a href="http://bit.ly/vivuser20190831"><strong>Vivliostyleと関連ツールの便利な使い方</strong></a><br /> by 村上真雄(<a href="https://twitter.com/MurakamiShinyu">@MurakamiShinyu</a>) Vivliostyle Foundation代表</li> <li><a href="https://docs.google.com/presentation/d/1xeYNsAQgqCOd7F6tYuCrn536-2LKB1FAeqZXHwMPn10/edit?usp=sharing"><strong>「マンガでわかるRuby」のCSS組版・制作秘話</strong></a><br /> by <ul> <li>湊川あい(<a href="https://twitter.com/llminatoll">@llminatoll</a>) 『わかばちゃんと学ぶ』シリーズ著者</li> <li>よう(<a href="https://twitter.com/youchan">@youchan</a>) Rubyist「猫と森羅と日本語とRuby」著者</li> </ul> </li> <li><a href="https://www.slideshare.net/ogwata_1959/vivliostyle-168920640"><strong>Vivliostyleで縦組シナリオを組版する</strong></a><br /> by 小形克宏(<a href="https://twitter.com/ogwata">@ogwata</a>) 電脳マヴォ合同会社 業務執行社員。文字とコンピュータのフリーライター</li> <li><a href="https://www.slideshare.net/yamasy1549s/css-vivliostyle"><strong>CSS組版やってみた!</strong></a> by やましー(<a href="https://twitter.com/yamasy1549">@yamasy1549</a>)</li> <li><a href="https://www.slideshare.net/Hidemi_Ishihara/ss-168065612"><strong>楽したい組版|markdownからPDFへ</strong></a> by 石原ひでみ(<a href="https://twitter.com/hidemi_ishihara">@hidemi_ishihara</a>)</li> <li><a href="https://speakerdeck.com/juntajima/epubhuairukaravivliostyledepdfwozuo-ru"><strong>EPUBファイルからVivliostyleでPDFを作る</strong></a> by 田嶋淳(<a href="https://twitter.com/JunTajima">@JunTajima</a>) 電書魂</li> </ul> <h2 id="イベントの-twitter-実況のまとめ">イベントの Twitter 実況のまとめ</h2> <ul> <li><a href="https://togetter.com/li/1397878">Togetterまとめ:CSS組版 Vivliostyle 開発者とユーザーの集い 2019夏</a> <ul> <li>Twitter ハッシュタグ: <a href="https://twitter.com/search?q=%23Vivliostyle">#Vivliostyle</a></li> </ul> </li> </ul> <h2 id="イベントの参加者による報告ブログ記事">イベントの参加者による報告ブログ記事</h2> <ul> <li><a href="https://akabeko.me/blog/2019/09/vivliostyle/">アカベコマイリ: CSS 組版 Vivliostyle 開発者とユーザーの集い 2019 夏</a></li> <li><a href="https://senooken.jp/blog/2019/09/01/">senooken.jp: 参加報告 CSS組版 #Vivliostyle 開発者とユーザーの集い 2019夏</a></li> </ul> &copy; 2019 Vivliostyle.org Vivliostyle version 2019.8.101 リリース 2019-08-20T00:00:00+09:00 2019-08-20T00:00:00+09:00 https://vivliostyle.org/ja/blog/2019/08/20/vivliostyle-2019.8.101-released/ <p>Vivliostyle version 2019.8.101 をリリースしました。</p> <p>(最新の <a href="https://vivliostyle.org/viewer/">Vivliostyle Viewer</a> および <a href="https://vivliostyle.org/ja/docs/">ユーザーガイド</a> をご覧ください。)</p> <p>これは <a href="https://vivliostyle.org/ja/blog/2019/08/16/vivliostyle-2019.8.100-released/">Vivliostyle version 2019.8.100 リリース! ソースコード TypeScript 化</a> のバグ修正版です:</p> <ul> <li>Viewer UI でキーボードの操作が無効になっていた</li> <li>Viewer の自動ページリサイズが無効になっていた</li> </ul> <p>詳細については、<a href="https://github.com/vivliostyle/vivliostyle.js/releases">Release Notes</a> を参照してください。</p> &copy; 2019 Vivliostyle.org Vivliostyle version 2019.8.100 リリース! ソースコードTypeScript化 2019-08-16T00:00:00+09:00 2019-08-16T00:00:00+09:00 https://vivliostyle.org/ja/blog/2019/08/16/vivliostyle-2019.8.100-released/ <p>Vivliostyle version 2019.8.100 をリリースしました。</p> <p>(最新の <a href="https://vivliostyle.org/viewer/">Vivliostyle Viewer</a> および <a href="https://vivliostyle.org/ja/docs/">ユーザーガイド</a> をご覧ください。)</p> <h2 id="vivliostylejs-ソースコードを-typescript-に移行">Vivliostyle.js ソースコードを TypeScript に移行</h2> <p>Vivliostyle.js の元となるプロジェクトは 2013 年頃に Google の<a href="https://twitter.com/sorotokin">Peter Sorotokin</a>氏が開発した <a href="https://github.com/sorotokin/adaptive-layout">EPUB Adaptive Layout 実装</a>で、そのソースコードは、JavaScript (ES5)と <a href="https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler">Closure Compiler のための型注釈</a>を用いて書かれていました。現 Trim-marks Inc.の<a href="https://twitter.com/kwkbtr_t">Toru Kawakubo</a>氏をメイン開発者として開発開始された Vivliostyle.js は、その同じソースコードスタイルを踏襲してきました。</p> <p>この ES5 の JavaScript スタイルは古くなり今後の維持が難しいため、私たちはこれを TypeScript に移行することを決め、そしていま <a href="https://github.com/vivliostyle/vivliostyle.js/tree/master/src/ts">TypeScript への移行が完了</a>しました。<a href="https://github.com/vivliostyle/vivliostyle.js/pull/536">[#536]</a></p> <p>ソースコードが TypeScript 化されたことで、オープンソース Vivliostyle 開発への貢献が活発になることを期待しています。</p> <p>開発については、<a href="https://github.com/vivliostyle/vivliostyle.js/wiki/Development">Development document</a>をご覧ください。</p> <h2 id="その他の変更と修正">その他の変更と修正</h2> <ul> <li>TypeScript ソースコード用に再編されたビルドスクリプト <ul> <li>複数ターゲットへのトランスパイル: <code class="language-plaintext highlighter-rouge">lib/vivliostyle.min.js</code> for ES2018、 <code class="language-plaintext highlighter-rouge">lib/vivliostyle-es5.min.js</code> for ES5. <a href="https://github.com/vivliostyle/vivliostyle.js/pull/538">[#538]</a></li> </ul> </li> <li>UA スタイルシートなどのリソースを別個にダウンロードしないようにした <a href="https://github.com/vivliostyle/vivliostyle.js/pull/537">[#537]</a></li> <li>これまでダウンロードパッケージと npm パッケージに同梱されていた大きなサンプルファイルを削除 <a href="https://github.com/vivliostyle/vivliostyle.js/commit/5c3becac">[5c3becac]</a> <a href="https://github.com/vivliostyle/vivliostyle.js/commit/245c9e7d">[245c9e7d]</a> <ul> <li>これによりダウンロードパッケージ (vivliostyle-js-latest.zip) のサイズが以前は 6.8MB あったのが 1.4MB に縮小されました。</li> <li>Vivliostyle のサンプルファイルは、vivliostyle.js から <a href="https://github.com/vivliostyle/vivliostyle_doc">vivliostyle_doc</a> リポジトリに移動しました。</li> </ul> </li> <li>Microsoft Edge で Web publication をロードしたときのエラー “Failed to fetch a source document” を修正 <a href="https://github.com/vivliostyle/vivliostyle.js/commit/1ed01afc">[1ed01afc]</a></li> <li>EPUB OPF (.opf) の MIME タイプを認識しない一部の Web サーバーでのエラー “empty response for EPUB OPF” を修正 <a href="https://github.com/vivliostyle/vivliostyle.js/commit/db8e9bcb">[db8e9bcb]</a></li> </ul> <h2 id="過去のリリースの概要">過去のリリースの概要</h2> <ul> <li><a href="https://vivliostyle.org/ja/blog/2019/06/14/vivliostyle-2019.1.106-released/">Vivliostyle バージョン 2019.1.106</a>: 最後の JavaScript ソースコードのバージョン</li> <li><a href="https://vivliostyle.org/ja/blog/2019/02/27/vivliostyle-2019.1.101-released/">Vivliostyle バージョン 2019.1.101</a>: Viewer UI に目次パネル, Web publications (複数 HTML 文書), GitHub からの文書ロード, <code class="language-plaintext highlighter-rouge">env(pub-title)</code> と <code class="language-plaintext highlighter-rouge">env(doc-title)</code>, ビューポート・パーセント単位, <code class="language-plaintext highlighter-rouge">calc()</code>, Viewer UI 設定パネル改良, Viewer スタートページ, Render All Pages 設定, <code class="language-plaintext highlighter-rouge">vivliostyle</code> メディア型</li> <li><a href="https://vivliostyle.org/ja/blog/2018/10/31/vivliostyle-2018.10.100-released/">Vivliostyle バージョン 2018.10.100</a>: Viewer UI にページ番号/総ページ数</li> <li><a href="https://vivliostyle.org/ja/blog/2018/09/10/vivliostyle-2018.8.100-released/">Vivliostyle バージョン 2018.8.100</a>: Viewer UI 改良, CSS 論理プロパティ</li> </ul> <p>詳細については、<a href="https://github.com/vivliostyle/vivliostyle.js/releases">Release Notes</a> を参照してください。</p> &copy; 2019 Vivliostyle.org Vivliostyle 開発者とユーザーの集い 2019-08-31 のお知らせ 2019-08-01T00:00:00+09:00 2019-08-01T00:00:00+09:00 https://vivliostyle.org/ja/blog/2019/08/01/vivliostyle-dev-user-meetup-tokyo20190831/ <p>2019年8月31日(土)東京都内で、Vivliostyle の開発者とユーザーのミーティング・交流会を行います。</p> <p>《第1部》Vivliostyle開発者ミーティング 13:10-14:20<br /> 《第2部》Vivliostyleユーザーミーティング 14:30-16:20<br /> 《第3部》交流懇親会 16:40-17:50</p> <p>会場: 東京都杉並区和田1-29-11 日本印刷技術協会(JAGAT)<br /> 主催: Vivliostyleユーザー会/Vivliostyle Foundation<br /> 協力: JAGAT XMLパブリッシング研究会</p> <p>イベント詳細と参加申し込みは、<br /> 👉<a href="https://connpass.com/event/141767/">告知ページ〈CSS組版 Vivliostyle 開発者とユーザーの集い 2019夏〉</a></p> &copy; 2019 Vivliostyle.org Vivliostyle version 2019.1.106 リリース 2019-06-14T00:00:00+09:00 2019-06-14T00:00:00+09:00 https://vivliostyle.org/ja/blog/2019/06/14/vivliostyle-2019.1.106-released/ <p>Vivliostyle version 2019.1.106 をリリースしました。</p> <p>(最新の <a href="https://vivliostyle.org/viewer/">Vivliostyle Viewer</a> および <a href="https://vivliostyle.org/ja/docs/">ユーザーガイド</a> をご覧ください。)</p> <p>これは <a href="https://vivliostyle.org/ja/blog/2019/02/27/vivliostyle-2019.1.101-released/">2019.1.101 リリース</a> のバグ修正版です:</p> <ul> <li>Firefox での印刷が正常にできなかった問題を修正</li> <li>ページサイズ指定での vw/vh 単位がエラーになっていたのを修正</li> </ul> <p>詳細については、<a href="https://github.com/vivliostyle/vivliostyle.js/releases">Release Notes</a> を参照してください。</p> &copy; 2019 Vivliostyle.org 技術書典6に出展『Vivliostyleで本を作ろう Vol.1』公開! 2019-05-06T00:00:00+09:00 2019-05-06T00:00:00+09:00 https://vivliostyle.org/ja/blog/2019/05/06/make-books-with-vivliostyle-vol1/ <p>前回記事<a href="/ja/blog/2019/04/13/appearance-of-user-group-in-tbf06">「技術書典 6 に Vivliostyle ユーザー会が出展します!」</a>にて紹介の『Vivliostyle で本を作ろう Vol. 1』全篇を公開します。 👉<a href="/ja/samples/">Vivliostyle サンプル</a></p> <p><a href="https://vivliostyle.org/viewer/#b=https://vivliostyle.github.io/vivliostyle_doc/ja/vivliostyle-user-group-vol1/index.html&amp;renderAllPages=true"><img src="/assets/samples/vug-vol1.png" alt="『Vivliostyle で本を作ろう Vol. 1』" /> Vivliostyle Viewer で閲覧</a><br /> <a href="https://vivliostyle.github.io/vivliostyle_doc/ja/vivliostyle-user-group-vol1/index.html">通常のウェブページとして閲覧 (Raw HTML)</a></p> <p>ソースは GitHub に公開:</p> <ul> <li><a href="https://github.com/vivliostyle/vivliostyle_doc/tree/gh-pages/ja/vivliostyle-user-group-vol1">『Vivliostyle で本を作ろう Vol. 1』CSS 組版ソース(HTML+CSS)</a></li> <li><a href="https://github.com/spring-raining/tbf06-draft">原稿(Markdown など)からビルドできるソース一式</a></li> </ul> &copy; 2019 Vivliostyle.org Vivliostyle version 2019.1.105 リリース 2019-04-23T00:00:00+09:00 2019-04-23T00:00:00+09:00 https://vivliostyle.org/ja/blog/2019/04/23/vivliostyle-2019.1.105-released/ <p>Vivliostyle version 2019.1.105 をリリースしました。</p> <p>(最新の <a href="https://vivliostyle.org/viewer/">Vivliostyle Viewer</a> および <a href="https://vivliostyle.org/ja/docs/">ユーザーガイド</a> をご覧ください。)</p> <p>これは <a href="https://vivliostyle.org/ja/blog/2019/02/27/vivliostyle-2019.1.101-released/">2019.1.101 リリース</a> のバグ修正版です:</p> <ul> <li>ページ・マージン・ボックスの内容がページの下部に重複して表示されることがあるバグを修正</li> <li><code class="language-plaintext highlighter-rouge">-epubx-expr()</code> の式に演算子 <code class="language-plaintext highlighter-rouge">!=</code> があると CSS パーサーエラーが発生してページ生成に失敗するバグを修正</li> <li>一部のプロパティがページ・パーティションまたはマージン・ボックスのコンテキストで無視される問題を修正</li> <li><code class="language-plaintext highlighter-rouge">text-combine-upright: all</code> による縦中横が WebKit で機能しない問題を修正</li> <li>サーバーでディレクトリ・リスティングが有効になっていると EPUB をロードできないことがあるバグを再修正</li> </ul> <p>詳細については、<a href="https://github.com/vivliostyle/vivliostyle.js/releases">Release Notes</a> を参照してください。</p> &copy; 2019 Vivliostyle.org 技術書典6にVivliostyleユーザー会が出展します! 2019-04-13T00:00:00+09:00 2019-04-13T00:00:00+09:00 https://vivliostyle.org/ja/blog/2019/04/13/appearance-of-user-group-in-tbf06 <p><strong>【追記】</strong> 『Vivliostyle で本を作ろう Vol. 1』の全篇を<a href="https://vivliostyle.org/viewer/#b=https://vivliostyle.github.io/vivliostyle_doc/ja/vivliostyle-user-group-vol1/index.html&amp;renderAllPages=true">公開</a>しました。👉<a href="/ja/samples/">Vivliostyle サンプル</a></p> <p>こんにちは! Vivliostyle Foundation コラボレータの spring-raining です。この記事では 4 月 14 日に開催される技術書典 6 で、サークル「Vivliostyle ユーザー会」が頒布する同人誌「Vivliostyle で本を作ろう Vol.1」を紹介します。</p> <h2 id="技術書典って">技術書典って?</h2> <p>技術に関する同人誌の即売会、すなわち個人制作の本を売買する会です。回を追うごとに規模も拡大しており、今度の 4 月 14 日の技術書典 6 は池袋サンシャインシティで開催されます。</p> <p><a href="https://techbookfest.org/event/tbf06">https://techbookfest.org/event/tbf06</a></p> <p>技術と言っても内容は様々、ソフトウェアやハードウェア、科学技術、果てはエンジニア論までジャンルを問わず集められています。それらの本を制作するための選択肢として、今 Vivliostyle は徐々に活用が進んでいるのです。</p> <h2 id="vivliostyle-ユーザー会">Vivliostyle ユーザー会</h2> <p>かつてない技術書典の盛り上がり……乗るしかない、このビックウェーブに! Vivliostyle の 1 ユーザーとして、私は Vivliostyle のさらなる普及を目指して「Vivliostyle ユーザー会」を立ち上げました。そして、Vivliostyle ユーザーだけの夢の合同誌「Vivliostyle で本を作ろう Vol.1」がここに完成したのです! ここでは、それぞれの記事の内容を簡単に紹介します。</p> <h3 id="epub-adaptive-layout-による段組み混在レイアウトへの挑戦-arinoth"><a href="https://vivliostyle.org/viewer/#b=https://vivliostyle.github.io/vivliostyle_doc/ja/vivliostyle-user-group-vol1/index.html&amp;f=epubcfi(/6!)">●EPUB Adaptive Layout による段組み混在レイアウトへの挑戦 (arinoth)</a></h3> <p>「ふりがなプログラミング」シリーズなど、多くの商業技術書を手がける編集プロダクション「リブロワークス」が、新しく Vivliostyle を使って試みられているレイアウト制作について紹介しています。Vivliostyle の裏で動く EPUB Adaptive Layout まで立ち入った貴重な記事です!</p> <h3 id="-私が組版オペレータになってもtakanakahiko"><a href="https://vivliostyle.org/viewer/#b=https://vivliostyle.github.io/vivliostyle_doc/ja/vivliostyle-user-group-vol1/index.html&amp;f=epubcfi(/8!)">● 私が組版オペレータになっても?(takanakahiko)</a></h3> <p>本書と同じく、Vivliostyle で合同誌を制作した際の工程について紹介しています。複数人で記事を執筆する際は、Markdown で執筆ができる点も魅力ですね〜</p> <h3 id="css-組版やってみたやましー"><a href="https://vivliostyle.org/viewer/#b=https://vivliostyle.github.io/vivliostyle_doc/ja/vivliostyle-user-group-vol1/index.html&amp;f=epubcfi(/10!)">●CSS 組版やってみた!(やましー)</a></h3> <p>CSS 組版が気に入りすぎて、同人誌だけでなく卒論まで Vivliostyle で組版してしまった剛の者による解説記事です。卒論という時間的な制約が強い条件で、CI による PDF のビルドにより極限まで作業を省力化している点がグッドです!</p> <h3 id="vivliostylejs-typescript-化の道のり-spring-raining"><a href="https://vivliostyle.org/viewer/#b=https://vivliostyle.github.io/vivliostyle_doc/ja/vivliostyle-user-group-vol1/index.html&amp;f=epubcfi(/12!)">●Vivliostyle.js: TypeScript 化の道のり (spring-raining)</a></h3> <p>Vivilostyle.js で現在進行している TypeScript 化について、私も記事を書きました。先に予告しておきますが、分量はちょっと少なめです…</p> <h3 id="vivliostyle-viewer-で-css-組版ちょっと入門-村上-真雄"><a href="https://vivliostyle.org/viewer/#b=https://vivliostyle.github.io/vivliostyle_doc/ja/vivliostyle-user-group-vol1/index.html&amp;f=epubcfi(/14!)">●Vivliostyle Viewer で CSS 組版ちょっと入門 (村上 真雄)</a></h3> <p>Vivliostyle Foundation 代表の村上による、「Vivliostyle Viewer」プロジェクトの解説です。「ちょっと」と言いつつめちゃめちゃ紹介されているので、この記事の内容だけでも大分使いこなせそうです…!</p> <h2 id="読んでみたい"><a href="https://vivliostyle.org/viewer/#b=https://vivliostyle.github.io/vivliostyle_doc/ja/vivliostyle-user-group-vol1/index.html&amp;renderAllPages=true">読んでみたい!</a></h2> <p>Vivliostyle ユーザー会や技術書典に興味があれば、ぜひ遊びに来てください! <strong>か 22</strong> にてお待ちしております。</p> <p><a href="https://techbookfest.org/event/tbf06/circle/46140004">お気に入り追加はこちらから!</a></p> <p><img src="/assets/posts/2019-04-13-appearance-of-user-group-in-tbf06/oshinagaki.png" alt="おしながき" /></p> &copy; 2019 Vivliostyle.org Vivliostyle version 2019.1.103 リリース 2019-04-05T00:00:00+09:00 2019-04-05T00:00:00+09:00 https://vivliostyle.org/ja/blog/2019/04/05/vivliostyle-2019.1.103-released/ <p>Vivliostyle version 2019.1.103 をリリースしました。</p> <p>(最新の <a href="https://vivliostyle.org/viewer/">Vivliostyle Viewer</a> および <a href="https://vivliostyle.org/ja/docs/">ユーザーガイド</a> をご覧ください。)</p> <p>これは <a href="https://vivliostyle.org/ja/blog/2019/02/27/vivliostyle-2019.1.101-released/">2019.1.101 リリース</a> のバグ修正版です:</p> <ul> <li>ページの背景色が塗り足し(bleed)領域に描画されない問題を修正</li> <li>ショートハンドプロパティで <code class="language-plaintext highlighter-rouge">vw</code>/<code class="language-plaintext highlighter-rouge">vh</code> 単位、<code class="language-plaintext highlighter-rouge">calc()</code>、<code class="language-plaintext highlighter-rouge">-epubx-expr()</code> が無効になる問題を修正</li> <li><code class="language-plaintext highlighter-rouge">env(doc-title)</code> 等が <code class="language-plaintext highlighter-rouge">content</code> プロパティ値リストの一部として使われたときに動作しない問題を修正</li> <li>Adaptive Layout スタイルシート使用時に目次ボックスが正しく生成されない問題を修正</li> <li>目次ボックスのキーボードナビゲーションを修正:サブツリーアイテムを閉じずにツリーアイテムを閉じるとフォーカスが失われた</li> <li>サイズを変更すると予期しないページ移動(最初のページから次のページへ)が発生する問題を修正</li> <li>見開き左右のページ幅が異なる場合にページ見開きが正しく中央揃えされない問題を修正</li> <li>固定レイアウト EPUB などで viewport サイズの指定があると誤ったページリサイズを引き起こす問題を修正</li> <li>余白ゼロで印刷すると大きな画像が消えることがあるという問題を修正</li> <li>カラー名 <code class="language-plaintext highlighter-rouge">rebeccapurple</code> をサポート</li> <li>[ビューア UI] PDF に印刷したときにデフォルトのページサイズ auto が尊重されない問題を修正しました。</li> <li>[ビューア UI] userStyle CSS の解析とエンコードの問題を修正</li> <li>[ビューア UI] 小さな画面でメニューボタンを隠す順序を変更する</li> <li>[ビューア UI] FontSize を調整して、テキストに有効な値を増減します。</li> <li>[ビューア UI] “fontSize” URL パラメータを改善しました:パーセントと小数を受け入れます</li> </ul> <p>詳細については、<a href="https://github.com/vivliostyle/vivliostyle.js/releases">Release Notes</a> を参照してください。</p> &copy; 2019 Vivliostyle.org Vivliostyle version 2019.1.102 リリース 2019-03-04T00:00:00+09:00 2019-03-04T00:00:00+09:00 https://vivliostyle.org/ja/blog/2019/03/04/vivliostyle-2019.1.102-released/ <p>Vivliostyle version 2019.1.102 をリリースしました。</p> <p>(最新の <a href="https://vivliostyle.org/viewer/">Vivliostyle Viewer</a> および <a href="https://vivliostyle.org/ja/docs/">ユーザーガイド</a> をご覧ください。)</p> <p>これは <a href="https://vivliostyle.org/ja/blog/2019/02/27/vivliostyle-2019.1.101-released/">2019.1.101 リリース</a> のバグ修正版です:</p> <ul> <li>EPUB をロードできないことがあったバグを修正しました。この問題は、解凍された EPUB ファイルのトップディレクトリを指定したとき、サーバーでディレクトリ・リスティングが有効になっている場合に発生しました。</li> </ul> <p>詳細については、<a href="https://github.com/vivliostyle/vivliostyle.js/releases">Release Notes</a> を参照してください。</p> &copy; 2019 Vivliostyle.org Vivliostyle version 2019.1.101 リリース 2019-02-27T00:00:00+09:00 2019-02-27T00:00:00+09:00 https://vivliostyle.org/ja/blog/2019/02/27/vivliostyle-2019.1.101-released/ <p>Vivliostyle version 2019.1.101 をリリースしました。</p> <p>(最新の <a href="https://vivliostyle.org/viewer/">Vivliostyle Viewer</a> および <a href="https://vivliostyle.org/ja/docs/">ユーザーガイド</a> をご覧ください。)</p> <p>このリリースでは、以下の点が改善されています。</p> <h2 id="目次table-of-contents-tocナビゲーションが有効になりました">目次(Table of Contents, TOC)ナビゲーションが有効になりました</h2> <ul> <li>Viewer パラメータ <code class="language-plaintext highlighter-rouge">#b=</code> が使用されていて、出版物に目次データがある場合、目次パネルが有効になります。HTML 文書では、目次要素は <code class="language-plaintext highlighter-rouge">&lt;nav role="doc-toc"&gt;</code> などでマークアップされます。Vivliostyle は、CSS セレクタ <code class="language-plaintext highlighter-rouge">[role=doc-toc], [role=directory], nav li, .toc, #toc</code> で選択される要素を目次要素として認識します。</li> </ul> <h2 id="web-出版物および同様の複数-html-文書をサポート">Web 出版物および同様の複数 HTML 文書をサポート</h2> <ul> <li>サポートされている文書タイプは以下のとおりです(Viewer パラメータ<code class="language-plaintext highlighter-rouge">#b=</code> 使用時): <ul> <li>ZIP 解凍済みの EPUB <ul> <li>解凍された EPUB ファイルのトップディレクトリ、または OPF ファイルの URL を指定できます。</li> </ul> </li> <li>Web 出版物(閲覧順のある HTML 文書の集まり) <ul> <li>プライマリーエントリーページまたはマニフェストファイルの URL を指定できます。</li> <li>Web 出版物マニフェストのフォーマットについては、W3C ドラフト <a href="https://w3c.github.io/wpub/">Web Publications</a> および <a href="https://github.com/readium/webpub-manifest/">Readium Web Publication Manifest</a> がサポートされています。</li> </ul> </li> <li>(X)HTML 文書 <ul> <li>(X)HTML 文書の URL が指定されている場合、その URL はプライマリーエントリーページとして扱われ、一連の HTML ファイルが自動的にロードされます。 <ul> <li>Web 出版物マニフェストがプライマリーエントリーページの(X)HTML 文書で指定されている場合は、マニフェストの readingOrder が使用されます。</li> <li>マニフェストが指定されていない場合、または “readingOrder” がマニフェストに含まれていない場合は、CSS セレクタ <code class="language-plaintext highlighter-rouge">[role=doc-toc], [role=directory], nav li, .toc, #toc</code> で選択される目次要素からリンクされた(X)HTML 文書がロードされます。</li> </ul> </li> </ul> </li> </ul> </li> </ul> <h2 id="github-からの文書の読み込みと特定の-url-のサポート">GitHub からの文書の読み込みと特定の URL のサポート</h2> <ul> <li>GitHub と Gist の URL は直接指定できます。github/gist URL が指定されている場合、Vivliostyle は github/gist の raw コンテンツをロードします。</li> <li><a href="https://www.aozora.gr.jp/">青空文庫</a> の(X)HTML の URL を指定できます。その場合、Vivliostyle は青空文庫の github raw コンテンツをロードします。</li> <li>JS Bin の URL は JS Bin output URL に変換され、読み込むことができます。これは、Gist と同様に、小さな HTML+CSS コードで Vivliostyle の出力をテストするのに便利です。</li> </ul> <h2 id="出版物のタイトルと個々の-html-文書のタイトルがビューアの-ui-に渡されるようになりました">出版物のタイトルと個々の HTML 文書のタイトルがビューアの UI に渡されるようになりました</h2> <ul> <li>[ビューア UI] Web ページのタイトルに表示中の文書のタイトルを反映します。</li> </ul> <h2 id="環境変数-envpub-title-と-envdoc-title-で出版物文書のタイトルをページヘッダに出力できます">環境変数 ‘env(pub-title)’ と ‘env(doc-title)’ で出版物/文書のタイトルをページヘッダに出力できます</h2> <ul> <li>仕様:<a href="https://drafts.csswg.org/css-env/">CSS Environment Variables Module Level 1</a> では <code class="language-plaintext highlighter-rouge">env()</code> 関数が定義されてます。ただし、<code class="language-plaintext highlighter-rouge">env(pub-title)</code> と <code class="language-plaintext highlighter-rouge">env(doc-title)</code> はまだ定義されていません。</li> <li><code class="language-plaintext highlighter-rouge">env(pub-title)</code>:出版物タイトル = EPUB、Web 出版物、またはプライマリーエントリーページの HTML タイトル。Viewer パラメータ <code class="language-plaintext highlighter-rouge">#b=</code> が使用されている場合に有効になります。</li> <li><code class="language-plaintext highlighter-rouge">env(doc-title)</code>:文書タイトル = HTML title、複数の HTML 文書からなる出版物の中の章や節のタイトル</li> <li>タイトルデータが見つからない、つまり HTML に <code class="language-plaintext highlighter-rouge">&lt;title&gt;</code> 要素がない場合、または Viewer パラメータ <code class="language-plaintext highlighter-rouge">#x=</code> が使用されている場合の <code class="language-plaintext highlighter-rouge">env(pub-title)</code> などでは、空の文字列 “” が返されます。</li> </ul> <h2 id="ビューポートのパーセンテージ単位vwvhvivbvminvmaxおよびページサイズのパーセンテージ単位-pvwpvhpvipvbpvminpvmax">ビューポートのパーセンテージ単位:vw、vh、vi、vb、vmin、vmax、およびページサイズのパーセンテージ単位 pvw、pvh、pvi、pvb、pvmin、pvmax</h2> <ul> <li>仕様:<a href="https://drafts.csswg.org/css-values/#viewport-relative-lengths">CSS Values and Units - Viewport-percentage lengths</a>、ただしページサイズのパーセント単位はこれまでのところ定義されていません。</li> <li>注:ページメディアのコンテキストでは、ビューポートのパーセンテージ単位 vw、vh、vi、vb、vmin、vmax は、ページエリアのサイズ、つまりページボックスのコンテンツ領域に対する相対値であり、<code class="language-plaintext highlighter-rouge">@page</code> ルールで指定された margin、border、padding は含みません。これはとても理にかなっていますが、ページサイズ相対の単位も必要かもしれません。pvw、pvh、pvi、pvb、pvmin、pvmax の各単位は、vw、vh、vi、vb、vmin、vmax と似ていますが、参照サイズはページ余白を含むページサイズです。</li> </ul> <h2 id="css-calc-関数をサポート">CSS ‘calc()’ 関数をサポート</h2> <ul> <li>仕様:<a href="https://drafts.c​​sswg.org/css-values/#calc-notation">CSS Values and Units - Mathematical Expressions</a></li> <li>calc() 関数の他に、calc() 関数内で min() 関数と max() 関数を使用できます。</li> <li>制限:calc() 内のパーセント値が正しく計算されません。 <ul> <li>この <code class="language-plaintext highlighter-rouge">calc()</code> 実装は、単に <a href="http://www.idpf.org/epub/pgt/#s2.1">Adaptive Layout ‘-epubx-expr()’ function</a> の実装を再利用したものであるため、今のところそれによる制限があります。</li> </ul> </li> </ul> <h2 id="ビューア-ui-設定パネルに新しいユーザースタイル設定-user-style-preferences">[ビューア UI] 設定パネルに新しいユーザースタイル設定 (“User Style Preferences”)</h2> <ul> <li>新しい設定:ページ余白、改ページ(widows/orphans)、画像、テキスト(基本フォントサイズ、行の高さ、フォントファミリ)</li> <li>ユーザースタイルの CSS コードが “CSS Details” ボックスに表示されて、編集可能です</li> <li>ユーザスタイル CSS は URL パラメータ <code class="language-plaintext highlighter-rouge">userStyle=data:,/*&lt;viewer&gt;*/</code>…<code class="language-plaintext highlighter-rouge">/*&lt;/viewer&gt;*/</code> に保存されて、再読み込み時に消えず、ブラウザでブックマークできます。</li> <li>“Font size (%)” は “Text:large/small” ボタンで増減できる ViewerOptions の fontSize を反映しており、この設定は新しい URL パラメータ <code class="language-plaintext highlighter-rouge">fontSize=</code> に保存されます。</li> </ul> <h2 id="ビューア-ui-vivliostyle-viewer-のスタートページに文書の-url-入力ボックスと使用方法の説明">[ビューア UI] Vivliostyle Viewer のスタートページに文書の URL 入力ボックスと使用方法の説明</h2> <ul> <li>文書 URL パラメータ(<code class="language-plaintext highlighter-rouge">#b=</code> または <code class="language-plaintext highlighter-rouge">#x=</code>)が指定されていない場合、スタートページが表示されるようになりました。</li> <li>ユーザーが入力した文書 URL は URL パラメータ <code class="language-plaintext highlighter-rouge">#b=</code> に反映され、Enter キーを押すと文書がロードされます。</li> </ul> <h2 id="render-all-pagesすべてのページをレンダリング-onoff設定">Render All Pages(すべてのページをレンダリング ON/OFF)設定</h2> <ul> <li>On:印刷向き(すべてのページが印刷可能で、ページ番号は期待されるとおりに機能します)</li> <li>Off:閲覧向き(おおまかなページ番号を使って、クイックロード) - このモードは、多数の HTML 文書で構成される大規模な出版物を閲覧するために必要です。</li> <li>[ビューア UI] この設定は設定パネルと URL パラメータ <code class="language-plaintext highlighter-rouge">renderAllPages=[true | false]</code> で指定できます。 <ul> <li>デフォルト設定は <code class="language-plaintext highlighter-rouge">#b=</code>(Book 閲覧)の場合は <code class="language-plaintext highlighter-rouge">renderAllPages=false</code>、<code class="language-plaintext highlighter-rouge">#x=</code>(個別(X)HTML 文書)の場合は <code class="language-plaintext highlighter-rouge">renderAllPages=true</code> です。</li> </ul> </li> </ul> <h2 id="デフォルトで-vivliostyle-メディアタイプを有効にしました">デフォルトで ‘vivliostyle’ メディアタイプを有効にしました</h2> <ul> <li>これは ‘print’ メディアタイプのように使うことができ、Vivliostyle 特有のスタイルシートと一般的な印刷スタイルシートを区別するのに役立ちます。</li> </ul> <h2 id="その他の変更点">その他の変更点</h2> <ul> <li>スタイルルール <code class="language-plaintext highlighter-rouge">h1,h2,h3,h4,h5,h6 { break-after: avoid; }</code> をデフォルトのスタイルシートに追加。デフォルトで見出しの後の改ページを避けるようにしました。</li> <li><code class="language-plaintext highlighter-rouge">&lt;style&gt;</code> 要素で media 属性が無視されていたバグを修正しました。</li> <li>文書の読み込みに失敗したときのエラーメッセージを改善しました。</li> <li>Viewer パラメータ <code class="language-plaintext highlighter-rouge">#b=</code> に対応する関数 <code class="language-plaintext highlighter-rouge">loadEPUB()</code> を <code class="language-plaintext highlighter-rouge">loadPublication()</code> に改名しました。これは EPUB だけのものではなくなったためです。</li> </ul> <hr /> <p>詳細については、<a href="https://github.com/vivliostyle/vivliostyle.js/releases">Release Notes</a> を参照してください。</p> <h2 id="謝辞">謝辞</h2> <ul> <li>このバージョンの開発には、株式会社日本ビジネスプレスより支援をいただいております。</li> </ul> &copy; 2019 Vivliostyle.org Vivliostyle version 2018.12.103 リリース 2019-01-03T00:00:00+09:00 2019-01-03T00:00:00+09:00 https://vivliostyle.org/ja/blog/2019/01/03/vivliostyle-2018.12.103-released/ <p>Vivliostyle version 2018.12.103 をリリースしました。</p> <p>このリリースには以下の変更が含まれています:</p> <ul> <li>ルビ(あるいは inline-block/table 類)によって改ページの不具合が生じることがあったバグを修正</li> <li>URLフラグメント・パラメータの <code class="language-plaintext highlighter-rouge">f=epubcfi(…)</code> でEPUBのスパイン項目の先頭にジャンプできないバグを修正</li> <li>inline-table が別の table の中にあって改ページが起きるときにエラーが発生するバグを修正</li> <li>設定パネルの <strong>Applay</strong> ボタンをクリックしたときにパネルを閉じるようにした</li> <li>ウインドウ幅が広いとき <strong>Previous Page</strong>、<strong>Next Page</strong> および <strong>Text: Default Size</strong> ボタンを有効にした</li> </ul> <p>詳細については、<a href="https://github.com/vivliostyle/vivliostyle.js/releases">Release Notes</a> を参照してください。</p> &copy; 2019 Vivliostyle.org 印刷・出版のためのオンラインエディタ Viola のご紹介 2018-11-22T00:00:00+09:00 2018-11-22T00:00:00+09:00 https://vivliostyle.org/ja/blog/2018/11/22/introduction-of-viola/ <p>はじめまして、Vivliostyle プロジェクト コラボレーターの<a href="https://github.com/spring-raining">spring-raining</a>です。今回は Vivliostyle を活用して私が制作したオンラインエディタ、<strong>Viola</strong> についてご紹介したいと思います。</p> <div><a href="https://viola.pub"><img src="/assets/posts/2018-11-22-introduction-of-viola/viola-top.png" alt="https://viola.pub" /></a></div> <h2 id="開発経緯">開発経緯</h2> <p>2016 年、私はソフトウェア開発について紹介する同人誌を執筆するため、組版ソフトウェアを探していました。当時(そして今でも)そのような用途のための組版ソフトウェアのうち、デファクトスタンダードは LaTeX でした。しかし、私は自力で技術書を執筆し、レイアウトを思い通りに変更できるほど LaTeX を自在に扱えるとは言いがたく、別の選択肢を探していました。そんな時見つけた Vivliostyle は、Web アプリケーションエンジニアである私にとって、Web 技術を活用して組版を実現するという解決策が非常に魅力的なものに映りました。</p> <p>以降現在まで 5 冊の同人誌を、一貫して Vivliostyle を用いて制作しており、Web 技術による組版というビジョンの先見性を確信しました。一方で、残念ながら Vivliostyle.js は単なる JavaScript のライブラリであるため、このライブラリを使うためには少なからず JavaScript の知識を必要とすることも事実です。そこで、私はより多くの人が CSS 組版を体験できるよう、Vivliostyle を組み込んだ新しいテキストエディタを開発することを決めました。</p> <h2 id="viola-について">Viola について</h2> <p>Viola の一番の利点はエディタの機能性です。世にあるブラウザ向けのテキストエディタの中でも、Viola はかなりプログラマーや Web デザイナー向けの機能を備えたエディタになっています。複数の HTML や CSS、画像、フォントファイルなどを扱うことができるので、普段エディタ上で Web ページを作っているような感覚で、ページをレイアウトすることができます。</p> <p>HTML や CSS にそこまで詳しくない人でも執筆できるよう、今後はテンプレートを追加していくことを計画しています。ぜひ <a href="https://viola.pub">https://viola.pub</a> をチェックしてみてください!</p> <h2 id="viola-savepdf-について">viola-savepdf について</h2> <p>Viola の開発に関連して、私は <code class="language-plaintext highlighter-rouge">viola-savepdf</code> というツールも公開しました。これは、Viola のコア機能から Vivliostyle.js による変換機能を CLI 向けに切り出したもので、既に HTML や CSS を編集するワークフローを確立しているプロのエンジニア・デザイナー向けのツールです。</p> <p><code class="language-plaintext highlighter-rouge">viola-savepdf</code> をインストールするには、Node.js をセットアップした上で以下のコマンドを実行します。</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g viola-savepdf </code></pre></div></div> <p>インストール後、以下のようなコマンドを実行することで PDF を生成できます。</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>savepdf -o output.pdf --size A4 input/index.html </code></pre></div></div> <p>また、<code class="language-plaintext highlighter-rouge">--preview</code> オプションを指定するとブラウザが起動し、プレビューを見ることができます。</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>savepdf --preview input/index.html </code></pre></div></div> <h2 id="利点欠点">利点・欠点</h2> <p><a href="https://www.fiduswriter.org"><strong>Fidus Writer</strong></a>は、Viola と同様に、Vivliostyle を使って Web ベースの組版を実現する編集ツールの有力な選択肢です。Viola は文章の編集ツールであると同時に、HTML や CSS のテキストエディタでもあるので、より自由に原稿を編集することができます。Vivliostyle による出力結果のライブプレビュー機能も Viola の一押しの機能です。一方で、執筆時の軽快さや快適性といった面では、現状では長年開発を続けてきた Fidus Writer に軍配が上がります。両方のエディタを使ってみて、好みの使い方を探してみてください。</p> <p><strong>vivliostyle-print</strong> は viola-savepdf と似た機能を持ちますが、用途が少し違います。vivliostyle-print は <strong>JavaScript ライブラリ</strong>として提供され、Vivliostyle の変換機能を使いやす形で利用できる API を提供します。一方で、viola-savepdf は<strong>コマンドラインアプリケーション</strong>として提供され、ローカルのディレクトリにある HTML や CSS に対して、Vivliostyle で変換した結果を保存することができます。</p> <p>Vivliostyle とともに、Viola がより多くの人に愛用されることを願っています!</p> &copy; 2018 Vivliostyle.org Vivliostyle と Webベース出版について——Fidus Writer 開発者によるインタビュー 2018-11-12T00:00:00+09:00 2018-11-12T00:00:00+09:00 https://vivliostyle.org/ja/blog/2018/11/12/interview-by-fiduswriter/ <div style="float: right"><a href="https://www.fiduswriter.org/2018/11/09/shinyu-murakami-on-vivliostyle-and-the-state-of-webbased-publishing/"><img src="/assets/posts/2018-11-12-interview-by-fiduswriter/fiduswriterweb1.png" alt="Fidus Writer サイトの元記事" /></a></div> <p>Vivliostyle によるCSS組版・PDF出力を組み込んだ学術論文用オンライン編集ツール Fidus Writer のWebサイトで、<a href="https://www.fiduswriter.org/2018/11/09/shinyu-murakami-on-vivliostyle-and-the-state-of-webbased-publishing/">Vivliostyle 代表 村上真雄へのインタビュー記事</a> が公開されました(英語)。その日本語訳を以下に掲載します。</p> <p>* * *</p> <p><em>Fidus Writer バージョン3.5で、PDF生成に <a href="https://www.vivliostyle.org">Vivliostyle</a> を使うようになりました。Vivliostyle はブラウザ技術を使ってPDFレンダリングを行う日本発のオープンソースプロジェクトです。Vivliostyle に関わっている中心人物である村上真雄(Shinyu Murakami)は、仙台市出身で現在は、言語聴覚士で本の著者である妻と、さいたま市に暮らしています。村上は長年にわたりページ・レンダリングとブラウザ技術を組み合わせることを提唱しており、Webページのスタイルを定義する CSS (Cascading Stylesheets)を、ページネートされたコンテンツのためにも使用する技術について非常に熱心なことで知られています。私(Johannes Wilm、Fidus Writer 開発者)は彼に、私たちの読者と視点を共有するために、いくつか尋ねました。</em></p> <p><strong>数年前、私は、ブラウザで印刷ダイアログを使用したとき、より良い印刷出力を作成するプロジェクトに取り組んでいました。私のシステムは、ページヘッダー、ページ番号、脚注、その他いくつかのものを追加することができ、それを作り上げるのには約1年かかっていました。私にとってこれは、PDF組版ソリューションの高価なライセンス料を支払うことを避ける方法でした。</strong></p> <p><strong>そのとき私は、自分がやっていたことはかなり制限されたもので、おそらくは他の誰にも有用ではないことを知っていました。だから私は、2014年の終わりに突然、Vivliostyle プロジェクトをスタートするというあなたからのEメールを受け取ったとき、かなり驚きました。この段階で、あなたはすでにこの分野で知られた存在で、PDFページレンダリングでキャリアを積んでいました。当時のPDFレンダリングの状態がどのようなもので、なぜ私に連絡することを選択したのですか?</strong></p> <p>Vivliostyle プロジェクトを始める前、私は、別の組版エンジンの開発に携わっていました。その製品は CSS Paged Media 仕様をサポートし、高品質なPDFの生成が可能な、商用のプロプライエタリなソフトウェアです。しかし私は、これから必要とされるのはオープンソースでWeb上で動くものだと考え、新しいプロジェクト「Vivliostyle」を構想しました。<a href="http://toc.oreilly.com/2012/10/bookjs-turns-your-browser-into-a-print-typesetting-engine.html">O’Reilly Media の Tools of Change for Publishing の記事</a> を読んで “BookJS” の存在を知っていたので、ブラウザ上での本の組版が実用になるだろうという確信がありました。そこで、できたら一緒にプロジェクトを進めたいと思い、その “BookJS” 開発者であるあなたとコンタクトを取ったのです。</p> <p><strong>あなたが Vivliostyle をセットアップしたとき、あなたと開発チームは、私が作り上げたソースコード上で開発を続行するのではなく、別のプロジェクトの上で開発を始めました。その決定の背後には何があったのですか?</strong></p> <p>私たちが目指していたのは、CSSによって自由なページレイアウトを実現できることです。すでに商用CSS組版エンジンで実装されている CSS Paged Media 仕様をサポートすることはもちろん、これからW3Cでの標準化が進むであろうCSSでのより高度なページレイアウト機能をサポートしたいと考えました。</p> <p>それを1から自分たちで作るか、既存のオープンソースをベースにして作るか検討しました。</p> <p>あなたの “BookJS” (またの名は Pagination.js、そのあと SimplePagination.js) は、JavaScript で本の組版を可能にした画期的なものでしたが、いくつか元々の制限がありました。ページレイアウトの指定には CSS ではなく JavaScript でのカスタマイズが必要であることなどです。</p> <p>そこで注目したのが、Peter Sorotokin(元 Adobe、その後 Google に所属)による、EPUB のページレイアウトのためにCSSを拡張する提案 <a href="http://www.idpf.org/epub/pgt/">EPUB Adaptive Layout 仕様</a>と、その <a href="http://sorotokin.com/adaptive-layout/">JavaScript での実装</a> です。ページテンプレートという新しいCSSの機能によってページレイアウトの指定ができることは魅力的でした。これをベースにして、印刷出版物の組版にも十分使えるように、CSS Paged Media と関連CSS仕様の実装を追加していくことが、私たちが目指しているものを作る近道だと考えました。</p> <p><strong>Vivliostyle は当初、この分野で活躍しているもっと大きな会社の子会社でした。それからスタートアップ企業となりました。そして最近ではそのスタートアップ企業は別の名前に変わり、Vivliostyle オープンソース・プロジェクトは非営利のモデルで運営されています。これらの変化の背景は何ですか、Vivliostyle を使用する可能性がある人たちにとってどのような違いがありますか、またどのような組織モデルのもとで Vivliostyle はプログラムされているのですか?</strong></p> <p>最初、私はそれ以前に仕事をしていた会社の支援を得て Vivliostyle をその子会社として創業し、そのあと別の支援者たちの協力を得て独立したスタートアップ企業となりました。</p> <p>私たちのビジネスモデルは、オープンソースの開発を行いながら、同時に企業向けの商用ライセンスの販売とコンサルティング業務によって収益を得るというものでした。</p> <p>しかし、しだいに会社の経営にとってオープンソース製品の開発にあまり時間を費やすことはできないという状況になっていき、その開発は停滞してしまいました。</p> <p>その段階で、営利目的の会社と非営利のオープンソース・プロジェクト団体とに別れたほうが、双方にとってよいだろうということになったわけです。会社名とその商用製品のブランドは変わり(会社は Trim-marks Inc.、その製品は VersaType)、Vivliostyle という名前はオープンソースの側だけのものになりました。</p> <p>オープンソースの Vivliostyle プロジェクトのために、私たちは新しい非営利団体である Vivliostyle Foundation(一般社団法人ビブリオスタイル)を設立しました。この新しい団体で私たちは、Vivliostyle プロジェクトに協力してくれる人たちと関わりをもつことにとても関心があり、開発への貢献者が増えることを期待しています。</p> <p><strong>Vivliostyle のライセンスも変更されました。当初は Apache ライセンスでしたが、今は AGPL です。それは、商用の書籍を書くためには使うことができないという意味ですか、あるいはそれでどういう影響がありますか? ライセンスの変更の背景にある考えは何でしたか?</strong></p> <p>当初私たちは Vivliostyle を Apache ライセンスのもとで開発しました。これはベースとしたオープンソース(Adaptive Layout)のライセンスを引き継いだものです。</p> <p>その後 AGPL に変更しました。それはオープンソース版と同時に商用ライセンス版製品も扱っていた会社の方針によるものでした。現在、オープンソースの Vivliostyle プロジェクトはその会社から離れましたが、AGPL ライセンスを引き継いでいます。その会社のもとで開発された部分のソースコードの著作権は、今は Trim-marks Inc. の名前になっているその会社が保持しているからです。</p> <p>AGPL ライセンスであることによって、ソースコードを改変して、別製品にしたりWebサービスに埋め込む場合には、改変したソースコードを開示する義務がありますが、Vivliostyle をそのまま利用して、あるいは、Fidus Writer など、Vivliostyle を利用している別のサービスを利用して、商用の書籍を制作することに何ら問題はなく、制限なしで Vivliostyle を印刷やPDF生成に使用することができます。</p> <p><strong>最初から、あなたは技術仕様の標準化にとても関心がありました。私たちが初めて会ったのは、オーストラリアでの World Wide Web Consortium(W3C)CSS ワーキンググループ(CSSWG)の会議でした。その後、私は Vivliostyle の立場で、ページフロート仕様に取り組むことになりました。当時、標準化作業に積極的には関与していなかったそれなりに大きなPDFレンダラの会社がいくつかありました。最近では、あなたが Vivliostyle Foundation を立ち上げたとき、CSSWG の招待エキスパートである Florian Rivoal と、Editing タスクフォースの招待エキスパートである私を、理事に迎え入れました。ページネーションに関連する機能を標準化することがなぜ重要なのですか? 特にスタートアップ企業にとって、プロジェクト独自の新しい機能を作ることが妨げられることはありませんか?</strong></p> <p>HTML と CSS だけで本の組版を行うという技術は、まだ標準仕様が完成していないものです。そこでベンダーにとっては、標準を無視して彼らのソフトウェアの独自な方法で機能を実装していくというやり方も可能となっています。</p> <p>しかし私は、それがよいやりかたとは思いません。それでは現在の特定のニーズを満たすことはできても、将来に標準仕様ができたらそれと互換性がなくなってしまい、非標準のものは捨てられることになってしまいます。</p> <p>そこで、Vivliostyle では標準仕様の策定に積極的に関わりながら、Vivliostyle を開発して、後で標準になるものに可能な限り近づけるようにすることを決めました。</p> <p><strong>あなたが非標準のものは捨てられることなると言うのは、もはや動かないプロプライエタリなソフトウェアのために作られたコンテンツのことを考えていますか? それを再び使用できるようにするには新しい標準仕様に合うようにコンテンツのフォーマットを直さなければなりませんね。あるいは、標準仕様をアプリケーションで使えるようにするために作り直さなければならないプログラムコードのことを考えていますか?</strong></p> <p>ソフトウェアとコンテンツの両方とも影響を受けることになります。ベンダーは、新しい標準が利用可能になった後も、既存ユーザーのために非標準機能をサポートし続けることがよくあります。このようなベンダーにとって、古い非標準なものを残しながら新しい標準を実装することは面倒ですが、もし新しい標準を実装しなければ、それを使用したい新しいユーザーを失うことになります。</p> <p><strong>Vivliostyle を最初に始めたとき、どのようなユースケースを予見してましたか? そして今 Vivliostyle が実際にどう使われているのでしょうか?</strong></p> <p>Vivliostyle をはじめたとき、これが将来的にはWebブラウザ上でのビジュアルな編集・レイアウト機能と結びつくことで、ページレイアウトを必要とする幅広い用途に使われる可能性があるけれど、まずは、Web と EPUB など HTML 中心のコンテンツから印刷用のページレイアウトも必要とされるような場合に、Vivliostyle が特に役に立つはずだと考えていました。</p> <p>そしてこれまで明らかになったところでは、Vivliostyle および別ブランドになった商用製品は、主に3つの出版分野、すなわち学術ジャーナル、製品カタログやマニュアル、そして技術書に使用されています。</p> <p>技術書については、商業出版での技術書のほかに、技術者が自分で出版する技術同人誌を作るのに Vivliostyle が使われています。技術者たちは、たいていHTMLとCSSなら分かるので、ほかの難しい組版ソフトウェアを使う必要がない Vivliostyle が好まれています。</p> <p>現在はまだ Vivliostyle が利用される出版分野はあまり多いとはいえません。それは、多くの用途に必要とされることが Vivliostyle で何でもできるようにはなっていないことと、使いやすさがまだ不十分なためです。たとえば、PDFの生成は、Webブラウザの印刷・PDF出力機能に依存していてそれがあまり高品質ではないということが制限になっています。</p> <p><strong>Vivliostyle は現在、PDFの生成とブラウザでのページの表示(例えば EPUB の場合)の両方に使用できます。 Vivliostyle の次の大きな目標は何ですか?</strong></p> <p>はい、Vivliostyle はPDFを生成するというだけではなくて、ブラウザ上でページネーション表示を行うビュアーとしても使うことができます。たとえば複数の HTML ファイルからなる文書や、EPUB のビュアーにもなります。</p> <p>今後、私たちは、W3Cの出版ワーキンググループで標準化が進められている <a href="https://www.w3.org/TR/wpub/">Web出版物 (Web Publications)</a> に対応することを考えています。Vivliostyle がWeb出版物ビュアーとして使われることで、そのページレイアウトがより良いものとなり、またそれは、Web出版物と印刷出版物を同時に作ることが可能になるということです。</p> <p><strong>Vivliostyle は、Fidus Writer やおそらく他のテキスト編集アプリケーションにも適しているようです。Vivliostyle を自分のWebサイトやアプリに追加することで他に誰が恩恵を受けることができると思いますか?</strong></p> <p>Vivliostyle を組み込んだ出版用のテキストエディターとして、ほかに次のものがあります: <a href="https://github.com/violapub/viola">Viola</a> は印刷と出版のためのオンライン・エディターです。それから、<a href="https://github.com/lwohtsu/atom-markdown-book-preview">MDBP: atom-markdown-book-preview</a> は Atom エディター上でマークダウンで書かれたテキストを Vivliostyle でプレビューすることができます。</p> <p>テキストエディター以外にも、Vivliostyle はオンライン電子書籍ビュアーや、さまざまなレポート生成アプリケーションのプレビューと印刷機能のために役に立つでしょう。</p> <p>また、Webサイトで Vivliostyle Viewer を使用することで、HTMLコンテンツをスクロール方式のほかに、ページネーション方式でも読めるようにしたり、印刷用のページレイアウトを付加することができます。</p> <p>そしてW3CでのWeb出版物の標準化が進んだときには、そのような出版物のビュアーとして、またWeb出版物オーサリングツールに組み込むものとして Vivliostyle が役に立つでしょう。</p> <p><strong>このようなとても深いインタビューができて本当にありがとうございます! 私は、私たちのユーザーが Vivliostyle をどう受け取るのか、また、彼らがそれで何をもっと望むことになるのか、反響が楽しみです。</strong></p> <p>ありがとうございました!</p> &copy; 2018 Vivliostyle.org Vivliostyle version 2018.10.100 リリース 2018-10-31T00:00:00+09:00 2018-10-31T00:00:00+09:00 https://vivliostyle.org/ja/blog/2018/10/31/vivliostyle-2018.10.100-released/ <p>Vivliostyle version 2018.10.100 をリリースしました。</p> <p>このリリースには以下の変更が含まれています:</p> <ul> <li>ページ指定ジャンプ(Go to Page)、ページ番号/総ページ数表示</li> <li>ナビゲーションUIの調整</li> <li>タッチスクリーンで、拡大表示中あるいは横スクロール可能状態のときはページスワイプしないようにした</li> <li>EPUB の内部リンクが機能しないバグがあったのを修正</li> </ul> <p>詳細については、<a href="https://github.com/vivliostyle/vivliostyle.js/releases">Release Notes</a> を参照してください。</p> <h2 id="謝辞">謝辞</h2> <ul> <li>このバージョンの開発には、株式会社日本ビジネスプレスより支援をいただいております。</li> </ul> &copy; 2018 Vivliostyle.org Vivliostyle-print について 2018-10-03T00:00:00+09:00 2018-10-03T00:00:00+09:00 https://vivliostyle.org/ja/blog/2018/10/03/vivliostyle-print/ <p><em>(<a href="/blog/2018/10/03/vivliostyle-print/">英語元記事</a> からの日本語訳)</em></p> <p><em>新パッケージ Vivliostyle-print についてのセルフ・インタビュー</em></p> <p><strong><a href="https://github.com/vivliostyle/vivliostyle.js">Vivliostyle.js</a> は、すでに数年間私たちとともにあります。ブラウザ内でページメディアを表示するだけでなく、ページメディアをターゲットにした追加の CSS で HTML を印刷することもできます。<a href="https://github.com/vivliostyle/vivliostyle-print">Vivliostyle-print</a> にはどんな必要性がありますか?</strong></p> <p>Vivliostyle.js がすでに数年間存在していて、Vivliostyle-print が、CSS の面では何も新しいものを追加していないことはその通りです。HTMLとCSSのみを認識し、JavaScriptを認識しないエンドユーザにとっては、Vivliostyle Viewer (Vivliostyle.js + Vivliostyle-ui) を使用することは引き続き有効です。</p> <p>私が直面した Vivliostyle.js の問題は、それを他のソフトウェアに含めようとしたときに、本当に複雑なプログラムだということでした。そして、最近までドキュメンテーションはあまり広範でありませんでした。今でもこのパッケージを作成する過程で、私はこれを動くようにするために、チャットや試行錯誤の多くで一日以上を費やす必要がありました。</p> <p>Vivliostyle-print は、Vivliostyle.js の印刷機能を必要とするだけで他のものは必要としないプロジェクトにおいて、JavaScript 開発者にとっての苦労を取り除くはずです。</p> <p><strong>なぜあなたは Vivliostyle-print を作ることを決めたのですか?</strong></p> <p>私自身、Fidus Writer でそれが動くようにするため取り組んできました。Fidus Writer は、私が過去数年間を費やした学術用テキスト・エディターです。 2012年に遡ると、当時私たちは、ユーザーがドキュメントを書いている間にページネーションが行われるしくみをエディター自体に持っていました。それは実験的な技術である “CSS Regions” に基づいていました。しかし、Chromium チームがそれを削除することを決めたときに、私たちにあるのは、印刷ダイアログが呼び出されたときに呼び出されるページネーションという解決策だけになりました。その解決策 (paginate-for-print) は、数年前に急いで寄せ集めで作った代替策でした。私は Vivliostyle.js を推進しているにもかかわらず、その複雑さのために、私が Vivliostyle.js のためのコネクターを作るために席につく時間がなかったのです。そして今やっとそれができました。私は、他の人々が同じことをするのに多くの時間を費やす必要がないように、これを分かち合うのが最善だと考えたのです。</p> <p><strong>どのような種類のプロジェクトでこの恩恵を受けることができると思いますか?</strong></p> <p>他のテキスト・エディターのアプリケーションは、明らかに恩恵を受けるもののひとつです。しかし実際には、オンラインコンテンツのより高品質な印刷バージョンを提供したいすべてのウェブページが該当します。JavaScript を少し使用するだけで、ユーザーが CTRL+P を押したときに、オリジナルのコンテンツにページネーション用の追加のCSSを使用して Vivliostyle-print を実行させるようにできます。オンライン新聞やブログも頭に浮かぶでしょう。さらには、ウェブベース電子メール・アプリケーションさえも、Vivliostyle-print の恩恵を受ける可能性があります。私は本当にこれが Vivliostyle.js の利用の普及を助けることを望んでいます。</p> <p><strong>Vivliostyle.js を実行するとそのページの DOM は台無しになりませんか? ユーザーは印刷後にページをリロードする必要がありますか?</strong></p> <p>Vivliostyle-print はわずかに異なる動作をします。バックグラウンドで Vivliostyle.js を実行して(非表示の iframe で)、印刷ダイアログが消えた後に削除するのです。この方法では、元の DOM は Vivliostyle-print 実行の前と後にまったく同じです。</p> &copy; 2018 Vivliostyle.org Vivliostyle version 2018.8.100 をリリースしました! 2018-09-10T00:00:00+09:00 2018-09-10T00:00:00+09:00 https://vivliostyle.org/ja/blog/2018/09/10/vivliostyle-2018.8.100-released/ <p>Vivliostyle version 2018.8.100 をリリースしました。オープンソース Vivliostyle の<a href="https://vivliostyle.org/ja/blog/2018/03/26/a-new-beginning/">組織変更</a>からの最初のリリースです。</p> <p>このリリースには以下の変更が含まれています:</p> <ul> <li>ページナビゲーションUIの改良 <ul> <li>タッチデバイスでスワイプでページ移動できるようにした</li> <li>先頭ページ/最終ページに移動するボタンを追加</li> <li>ページ移動できる方向にだけ矢印が出るようにした</li> </ul> </li> <li>最初のページのURLに <code class="language-plaintext highlighter-rouge">&amp;f=epubcfi(/2!)</code> が付加されないようにした</li> <li><a href="https://www.w3.org/TR/css-logical-1/">CSS論理プロパティ</a> をサポート</li> <li>バグの修正</li> </ul> <p>詳細については、<a href="https://github.com/vivliostyle/vivliostyle.js/releases">Release Notes</a> を参照してください。</p> <p>また、<a href="https://vivliostyle.org/ja/docs/">Vivliostyle Viewer ユーザーズガイド</a> も更新しました。内容は:</p> <ul> <li>使い方(ローカル環境で、またはオンライン Vivliostyle Viewer で)</li> <li>Vivliostyle Viewer で表示するHTMLファイルの指定</li> <li>EPUBを表示するには</li> <li>複数のHTMLファイルを指定するには</li> <li>見開きページ表示を指定するには</li> <li>スタイルシートを指定するには</li> <li>Vivliostyle Viewer から印刷・PDF出力を行うには</li> </ul> <p>それから、私たちの組織 Vivliostyle.org に新しい名前がつきました。Vivliostyle Foundation です。</p> &copy; 2018 Vivliostyle.org Vivliostyle の新しい始まり 2018-03-26T00:00:00+09:00 2018-03-26T00:00:00+09:00 https://vivliostyle.org/ja/blog/2018/03/26/a-new-beginning/ <p>Vivliostyleは、Webと印刷の世界のギャップを埋めることを実現する目的をもって、スタートアップ会社として誕生しました。そのため、標準技術をオープンソースで実装しながら、様々なプロジェクトの活動をしてきました。</p> <p>会社は当然にビジネスニーズによって進化してくものですが、Vivliostyleの場合は初期の戦略によって中心だったオープンソース・プロジェクトは中心ではなくなり、他のことを集中することになってきました。</p> <p>2018年2月16日、Vivliostyle社は、この変化を反映して社名を変更し(新社名: トリムマーク株式会社)、オープンソース・プロジェクトとしての Vivliostyle の管理は、オープンソースを追求したい元メンバーたち(私たち)に移譲されることが決まりました。</p> <p>同社については、<a href="http://trim-marks.com/">trim-marks.com</a>、または <a href="mailto: info@trim-marks.com">info@trim-marks.com</a> にお問い合わせください。</p> <p>Vivliostyle は、営利企業のものではなくなったので <a href="http://vivliostyle.com/">vivliostyle.com</a> から <a href="https://vivliostyle.org/">vivliostyle.org</a> に移動しました。 今後、「Vivliostyle」のブランド(<a href="https://github.com/vivliostyle/">GitHub での Vivliostyle</a> や各SNSでの Vivliostyle アカウントなど)は、オープンソース・プロジェクトでのみ使用されます。</p> <p>トリムマーク株式会社の経営陣が、このオープンソース・プロジェクトを独立させて元の名前のまま継続できるようにしてくれたことに感謝します。</p> <p>今後は、以下のことに重点を置くことになるでしょう(大雑把な優先順位):</p> <ul> <li>最新のWeb標準テストに対応するように、テストの自動化と継続的インテグレーションの設定</li> <li>新しいユーザーや開発貢献者がより簡単に扱えるようにすること</li> <li>相互運用性を高めて互換性バグを直すこと</li> <li>最新のWeb標準に対応していくこと</li> <li>エコシステム(npm, docker…)とより良く統合すること</li> <li>新しいレイアウト問題解決方法を実験して、標準化につなげること</li> </ul> <p>これら(あるいはもっと)の実現に協力したいという方は、ぜひ連絡ください!</p> <p>私たちがいるところ:</p> <ul> <li><a href="https://github.com/vivliostyle/">github</a></li> <li><a href="https://twitter.com/vivliostyle">twitter</a></li> <li><a href="https://www.facebook.com/vivliostyle">facebookページ</a></li> <li><a href="https://www.facebook.com/groups/vivliostyle">facebook公開グループ</a></li> </ul> <p><a href="/ja/blog/feed.xml">乞うご期待!</a></p> &copy; 2018 Vivliostyle.org