v151 · CSS · typography

Locale & Script Matrix

Six annotation systems — Japanese furigana, Mandarin pinyin, Traditional Chinese bopomofo, Japanese vertical writing, Cantonese jyutping, and Korean pronunciation guides — rendered with ruby-overhang: auto, spaces, and the legacy none spelling that aliases to spaces.

Show value:
Live alias probe
ParserWaiting for browser check…
CSSOMWaiting for browser check…
Computed valuesWaiting for browser check…
Measured samplesWaiting for browser check…
ばらのはな ばらのはな
Script / system auto spaces nonelegacy alias of spaces Notes
Japanese furigana
lang="ja", horizontal
ひがし西にしみなみきた ひがし西にしみなみきた ひがし西にしみなみきた Multi-kana furigana often wider than kanji base. none should match spaces, preserving overhang only into adjacent spaces.
Mandarin pinyin
lang="zh", horizontal
zhōngwénměi zhōngwénměi zhōngwénměi Pinyin syllables with tones often exceed single CJK width. Compare auto against the constrained spaces/none alias pair.
Bopomofo (zhuyin)
lang="zh-Hant"
ㄓㄨㄥㄨㄣˊㄇㄟˇㄌㄧˋ ㄓㄨㄥㄨㄣˊㄇㄟˇㄌㄧˋ ㄓㄨㄥㄨㄣˊㄇㄟˇㄌㄧˋ Zhuyin is typically inline-end in vertical writing. Horizontal overhang matters here for multi-character bases.
Korean pronunciation
lang="ko"
Hangul ruby over Hanja. Typically 1:1 character width — less overhang pressure than Japanese multi-kana.
Japanese — long furigana
annotation wider than base
ばら薇が季節きせつ ばら薇が季節きせつ ばら薇が季節きせつ 「ばら」over「薔」— annotation ≫ base. The none column is expected to collapse to the same constrained behavior as spaces.
Japanese — punctuation
CJK punctuation adjacent
はなく」とかれった。 はなく」とかれった。 はなく」とかれった。 Punctuation-adjacent ruby makes it easier to compare permissive auto overhang against the constrained spaces/none alias pair.

Vertical writing

In vertical writing mode (writing-mode: vertical-rl), overhang applies in the block direction. The same property controls whether ruby text overhangs into adjacent block-direction space.

auto
ひがしきょう
spaces
ひがしきょう
none alias
ひがしきょう
CSS property values
auto — browser applies its default typographic rules. Ruby may partially overhang adjacent boxes when the annotation is wider than its base.
spaces — ruby may not overlap adjacent boxes except over adjacent spaces.
none — legacy value alias of spaces. It is accepted for compatibility, but it is not a third layout behavior.

references

implementation reference

Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗