text-combine-upright

'text-combine-upright' (CSS)

[9] text-combine-upright は、 特殊な縦中横の一種を実現するための CSSプロパティーです。

仕様書

メモ

[2] 現状自動の縦中横は使えません。 digits 2 のようにすると2桁以下の数字列は縦中横と指示できますが、 Chrome は対応してません。

[3] all と指定するとすべてが横書きで表示されます。

[4] 横書きになるだけでなく横幅が圧縮されての幅に調整されます。 半角3文字以上の幅があると不自然になります。 2文字でも (フォント次第でしょうが) 字が潰れて不自然な表示になります。

[7] 紙媒体でも、 WebSNS で使われている告知等の画像でも、 行の横幅に収めてあるのは2桁かせいぜい3桁の数字列のような、 合字が予め用意されていたと思しきものばかり。 それ以外、特に3文字以上の列の縦中横で横幅圧縮した例は全然見かけません。 2桁の数字でも行の横幅からはみ出して自然な横幅で配置されるものが多い。 実例のいくつかは縦中横

[8] CSS は何でこんな変な仕様にしてしまったんだろう?

[11] CSS の横圧縮仕様が役立ちそうな事例初めて見つけたよ! 縦中横 (>>42)の時代の漢文。 当時の書籍は行間なしに漢字がぎっしり詰め込まれているので、 縦中横部分もきっちり全角1文字のスペースに収めないといけなくて、 5文字くらいあるラテン文字列でも無理矢理1行の横幅になってる。

[12] がんばって特殊な事例を探してこないと見つけられないような挙動をどうしてデフォルトにしちゃったんですかね? そして普通の表示に変更する方法をどうして用意していないんですかね? CSS WG は少しでも現実世界の用例を調査したんですかねえ? 一般的な用例はそんなに探すの難しくないから、少しでも用例を収集してればこんな変な仕様になるはずがないのに。

[13] 不思議なのはこれが日本語全然わからない外人さんがてきとーに決めた仕様ではなくて、 ネイティブと思われる日本人が関わってるっぽいんですよね。 それも背後に組版業界の専門家っぽい人達が関わっているらしい。 なのにどうしてこうなった。 一般書籍の組版だと文字数があんまり多いものは扱わないのかもしれないけど、 かといって一般書籍で横圧縮してる用例も全然出てこないから、 組版の世界では横圧縮が基本ってわけでもないだろうに。


[5] どうせ縦中横したい個所をすべて個別に span か何かで囲まないといけないなら、 text-combine-upright を使うより writing-mode: horizontal-tb にしてしまう方がいいかも。 横幅を調整したいときは他の CSS の指定で個別にすればよい。

[6] 横書き中では効果がありません。横中縦には使えません。 横中縦したいときは writing-mode: vertical-rl を使えばよろしい。

[10] 1242755 - text-combine-upright with text-indent does not work properly () https://bugs.chromium.org/p/chromium/issues/detail?id=1242755