Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

中文排版需求里有类似『East Asian Casual Vertical Rhythms』的需求么? #209

Closed
hax opened this issue Apr 11, 2019 · 5 comments

Comments

@hax
Copy link
Member

hax commented Apr 11, 2019

https://drafts.csswg.org/css-rhythm/#eastasia 描述了『East Asian Casual Vertical Rhythms』,作为这份草案的主要 use case 之一。

但在本中文排版需求中并没有类似的描述。(日文排版需求里似乎也无。参见 w3c/csswg-drafts#1155 的讨论。)

所以我不是很确定 css-rhythm 草案里的描述是否恰当。又或是应加入中文或日文排版需求中?

@hax
Copy link
Member Author

hax commented Apr 12, 2019

@ryukeikun 我理解网格的需求。但这里有个问题,按我的理解,『East Asian Casual Vertical Rhythms』描述的是非严格的网格,当有border、margin的时候就会偏移。在该draft里有这样一段描述:

This variant was very widely accepted in East Asia since the middle of '90s, such that most major word processors used in East Asia provided similar features by default.

所以我其实是想问这个描述是否符合实际,因为在中文排版需求和日文排版需求里似乎并没有这种非严格网格的叙述。

@c933103
Copy link

c933103 commented Apr 12, 2019

我還是看不太懂這個East Asian Casual Vertical Rhythms是什麼意思,沒理解錯的話,
嚴格的Vertical Rhythms要求是這樣?
image
image
然後寬鬆的East Asian Casual Vertical Rhythms是這樣?
image
image

還是說文字導致的偏移不適用而只適用於其他頁面元素導致的偏移?

@ryukeikun
Copy link
Contributor

ryukeikun commented Apr 16, 2019

就传统字体排印的要求来说,东亚排版需要的是「严格式」的 vertical rhythms,这在 jlreq 里有描述,clreq 里也会深化。

但正如该文档所说,「非严格式」之所以会出现,是由于八十年代文字处理器的技术原因无法实现印刷版面的「严格」网格,非专业的消费级字处理默认都只能这种「非严格式」(在传统角度来看根本就不是全局网格的方法),几十年下来,导致很多用户并不觉得这是非正常状态,误以为是正常的,造成了这种「非严格式」的泛滥。很多人并没有意识到,用 Word 等制作的文档,往往都是这种「非严格式」。

正因为这不是专业正统的方式,所以在原来的需求文档里都没有提及。考虑到这已经是目前大多数非专业文档的现状,该文档提出了这个概念,是为了容忍这一已经普及、但并非专业正统的格式。

所以我们「需求文档」的立场依旧是,从正统的、专业的字体排印来说,应该采用中式网格(所谓「严格式」),至于非专业的、技术限制的条件下,可以容忍「非严格式」。

@ryukeikun
Copy link
Contributor

ryukeikun commented Apr 16, 2019

我還是看不太懂這個East Asian Casual Vertical Rhythms是什麼意思,
還是說文字導致的偏移不適用而只適用於其他頁面元素導致的偏移?

你想象一下这种场景:正文都是 10 pt,行高 15 pt。现在我需要在两个段落之间添加一行小标题,小标题规定字号是 15 pt。现在如何方便地控制这个小标题的位置以保证中式网格?

在很多场合,由于无法实现「标题占行」功能(以实现即所谓的严格式 vertical rhythm),只能通过普通的行距来控制这行小标题,导致小标题之后的段落,虽然段落内部(以固定的 line-height-step)继续维持相对的 rhythm,但已经整体偏移上一个段落(上一个 block)曾遵守的全局网格,也就是该文档所说的

when the line-height-step property is used without combination of the block-step property or the line-grid property, it produces the similar effect as the East Asian casual vertical rhythm.

如下图左,网格是全局的;而下图右,下段的网格位置已经偏移,也就是说,上下段落的网格由于中间小标题设置不当而不统一,网格不是全局的。这正统的印刷排版是不能容忍的,但是目前普通消费者级的排版多数是这样,所以这个文档认为需要容忍这一排版。

另外,改文档也提到,

The strict vertical rhythm often surprises non-professional authors by forced jumps in such cases, while this variant combines rhythm on text and the ease of use for non-professional authors.

也就是说,如果套用严式的全局网格,必须强制「套格子」,所以会导致「跳行」。因为全局网格对行的起始位置有规定(如下图左的箭头位置),而不能在随意的位置起行,虽然这是正统排版的规范,但对于不理解全局网格的非专业人士来说,会表示不理解,违反直觉。
vertical

@upsuper
Copy link
Member

upsuper commented Apr 27, 2019

在标准来说最大的问题不是非专业人士会无法理解,更重要的是在不同平台不同浏览器里,不同的字体设置和度量选取可能会导致有的地方跳行有的地方不跳,这个在这个草案的非严格方法中也会存在,所以至今也没有太大进展。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants