前提・実現したいこと
Safariブラウザに表示するHTMLとCSS、必要であればJavascriptを用いて分離禁止文字の追い出し・追い込みの表示を実現したいと考えています。
具体的には「…(3点リーダ)」などは分離禁止文字として2つ(……)をセットで表示する必要があり、もし行末にちょうど1つ目の「…」が来ると2つ目の「…」は次の行に表示されてしまいますが、これは正しい表示ではありません。
例:
<誤った表示>
あいうえお…(ここで改行)
…かきくけこ<正しい表示>
あいうえお(ここで改行)
……かきくけこ
単純にWebブラウザ上でテキストを表示しただけでは上記の「誤った表示」のように分離されてしまう場合がありますが、このような分離禁止文字があった場合は前の行または後ろの行の文字間を変えて、ちょうど前または後ろの文字で改行されるようにしたいです。
処理としては、テキストが表示された後のタイミングでJavascriptを用いて改行位置を検知し、その前後に分離禁止文字が1文字ずつ存在すれば、前の行を対象範囲として字間を調整するスタイルを挿入すればよいかと思っています。
しかし、表示上の(Webブラウザがレンダリングした後の)テキスト内の改行位置を検知する具体的なJavascript APIがわからないため、ご存知の方がいたら教えてください。
なお、CSSのみのスタイル指定で分離禁止文字の正しい表示を実現できるようであれば、その方がシンプルで良いと思っています。
試したこと
Safariブラウザ上でのテキスト表示を試しています。
補足情報(FW/ツールのバージョンなど)
iOS 15.2 + Safari
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/08 11:02
2022/01/11 00:56 編集