Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vivliostyle Pub におけるフォント選択機能実装の提案 #129

Open
Tracked by #89
ogwata opened this issue Nov 26, 2021 · 4 comments
Open
Tracked by #89

Vivliostyle Pub におけるフォント選択機能実装の提案 #129

ogwata opened this issue Nov 26, 2021 · 4 comments
Labels
enhancement New feature or request

Comments

@ogwata
Copy link
Member

ogwata commented Nov 26, 2021

  • その必要性
    • 競合が増えつつある状況の中で、ワンソース・マルチユーズ以外にもVivliostyle Pubの訴求点を増やしたい
      • 競合の多くはフォントを訴求点にしていない
      • 他方でフォントはエンドユーザにもメリットを理解してもらいやすい
      • オープンベータの段階で複数フォントを選択できることを訴求できれば、注目してもらえそう
    • また、Dockerモードをサポートした場合、どのみちフォント関連の手直しが必要になる
      • この状況を逆手にとって、フォント選択機能の実装を訴求点にできるよう考えたい
  • ゴール
    • 既成のMarkdownに対し、UI上から複数のフォントを指定できる
    • 上記をプレビューに反映する
    • 上記をPDF(閲覧用、印刷用)出力に反映する
    • 上記をEPUB出力に反映する
  • 実現方法
    • Google Fontsの一部をPubのサーバにおいて、@font-faceで使えるようにする
  • 課題
    • 日本語書籍で本文書体としてWebフォントを使う場合、速度の点からJavaScriptによるダイナミックサブセットが利用できることが望ましい
      • 同様に、フォント埋め込みのEPUBとして出力する際、容量の点からJavaScriptによるダイナミックサブセット化が望ましい
      • 他方、ユーザがAdobe FontsやFONT PLUS等の有料オンラインフォントサービスのライセンシーである場合、Vivliostyle Pubでもそれらを使いたいとのニーズが想定される
      • 加えて、将来の交渉に備えてVivliostyle自身がライセンシーとなってユーザに有料Webフォントを使ってもらう選択肢を確保しておきたい
    • その場合、分かりやすいUIを確保しつつ、どのようにJavaScriptのコードをユーザに入力してもらうのか?
  • 関連資料
@ogwata ogwata added the enhancement New feature or request label Nov 26, 2021
@AyumuTakai
Copy link
Contributor

利用しているテーマとどう整合性を取るかが難しいように思います。
見出しと本文など複数のフォントを使っている場合にどのような形で指定するのか、など。

テーマの編集機能の一部として、CSSまたはSCSSの変数で定義されているフォント指定を対象に選択できるようにするのは有り得るかと思います。

@ogwata
Copy link
Member Author

ogwata commented Nov 27, 2021

利用しているテーマとどう整合性を取るかが難しいように思います。 見出しと本文など複数のフォントを使っている場合にどのような形で指定するのか、など。

なるほど、たしかに。
図らずも簡単にCSS組版ができるために導入したThemeが、フォント指定の柔軟性を制限してしまったわけですね。

ただ、柔軟なフォント選択というニーズ自体は想定され、何らかの形でこれにも答えたいところです。

たとえばThemeの選択メニューでブラウザのデフォルトテーマを選べるようにし、この場合のみ任意のフォントを選択できるようにするなどの方策は考えられないでしょうか?

@AyumuTakai
Copy link
Contributor

まだなんの検証もしていないアイデアレベルですが、フォント指定をしているcss変数やscss変数が特定できれば指定した値で上書きできるかもしれません。

:root {
    --title-font-src: local(serif); /* type: font-face-src; title:見出しのフォント; */
}

@font-face {
   font-family: 'title-font';
   src: var(--title-font-src);
}

h1 { font-family: 'title-font', serif; }

テーマでのフォント指定のパターンがこんな風に決まっていれば /* type: font-face-src; title:見出しのフォント; */を手掛りにフォントの選択フォームを作ることはできそうな気がします。

@ogwata
Copy link
Member Author

ogwata commented Nov 27, 2021

私の提案では、webフォントが使えるのと引き換えに、Themaの利便性を全て手放さなくてはならないので取り下げます。

高井さんの方法でうまくいくことを祈ってます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants