Skip to content

[css-text-4] text-spacing, closing-opening bracket fullwidth punctuation collapsing #1668

Closed
@MurakamiShinyu

Description

@MurakamiShinyu

https://drafts.csswg.org/css-text-4/#fullwidth-collapsing

  • Set fullwidth opening punctuation half-width if the previous character is a fullwidth opening punctuation, fullwidth middle dot punctuation, or ideographic space (U+3000). Else set it full-width.
  • Set fullwidth closing punctuation half-width if the next character is a fullwidth closing punctuation, fullwidth middle dot punctuation, or ideographic space (U+3000). Else set it full-width.
  • Set fullwidth closing punctuation followed by fullwidth opening punctuation each at "3/4-width", i.e. halfway between full-width and half-width.

I think the last item above, "3/4-width" rule, is not necessary and the first item should be changed to:

  • Set fullwidth opening punctuation half-width if the previous character is a fullwidth opening punctuation, fullwidth middle dot punctuation, fullwidth closing punctuation, or ideographic space (U+3000). Else set it full-width.

The reasons are as follows:

  • as mentioned in [css-text-4] should the text-spacing property work with OpenType 1.8 updates? #535 (comment), it is not appropriate when we use half-width / full-width glyphs.
  • According to JIS X 4051, Table 5, the half-width space between the closing punctuation and the opening punctuation is attached to the former (closing) punctuation. i.e., the closing punctuation should be set full-width and the opening punctuation should be set half-width. (This is unclear in JLREQ but is clear in JIS)
  • Existing typesetting software such as InDesign support the above JIS X 4051 rule.

Example 9 table (Demonstration of adjacent-pairs punctuation trimming) should also be changed:

Closing—Opening   〕+(  )  (

to

Closing—Opening   〕+(  〕(

BTW, the current stylesheet in css-text-4 cannot render well this table. I found the css-text-3 stylesheet has the following style:

    .char { border: 1px dotted gray; }
    .quarter { font-size: 25%; }
    tt[lang="ja"] { font-family: "MS Gothic", "Osaka", monospace }

I think this should be moved to css-text-4 stylesheet, with some fixing:

    .char { border: 1px dotted gray; }
    .quarter { font-size: 25%; }
    samp[lang="ja"] { font-family: "MS Gothic", "Osaka-Mono", monospace }

Note that regular "Osaka" font is not appropriate because its fullwidth punctuations are not really full width (very narrow!) in current macOS font environment. So I think "Osaka-Mono" is better.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions