yamatoiizuka/palt-typesetting

Unnecessary Spaces in Safari's Reader Mode

yamatoiizuka opened this issue · 4 comments

Screenshot 2024-02-25 at 13 58 44 Safari のリーダーモードで、カーニングや四分アキスペースで使われているスペース/NBSP が出力されてしまう。
.typeset-thin-space, .typeset-kerning {
  visibillity: hidden;
}

では、リーダーモードに不要な半角スペースは出力されなくなったが、今度は text-decoration が効かなくなってしまう。(カーニングの適用がある「よ-う-な」間が空いてしまう。)
Screenshot 2024-02-25 at 14 04 22

そのほかあり得そうなのは、Web コンポーネントを用いて、typeset-thinspace と typeset-kerning をカプセル化してしまう、あたりだろうか…? Web コンポーネントは Node 環境での正解がよくわからない。#49 も参照のこと

HTML 側でスペースを出力するのをやめ、CSS の before/after 擬似要素の content で出力するのがよさそう。

例)

.typeset-thin-space::after,
.typeset-kerning::after {
  font-family: ling-one;
  content: ' ';
}
Screenshot 2024-02-26 at 23 21 16 修正後のスクリーンショット