Re: 舱璶― CSS Text Level 3  'text-spacing'

事實上要找過去的案例,中西文混排是非常稀罕的。我受的訓
練就是中文字對字、行對行。在@種情況下碰到英數字當然是
調整中英字間距,鉛排師傅碰到@種情況也必然做@種選擇。

因為拉散整行的話,他得在每個鉛字中間插入甚至小於0.1em
的鉛片,工程比單純調整中英字間多十倍。

oc


2013/11/11 octw chen <oc.tw.mail@gmail.com>

> 任何排版都會面臨極端情況挑戰,不只是縱橫對齊為然。例如我就
> 要排一整行古哥搜尋的網址,不管怎樣的排版技術,都要面臨強迫
> 斷行的問題。
>
> oc
>
>
> octw chen <oc.tw.mail@gmail.com> 於 2013年11月11日下午9:13 寫道:
>
>
>> 如果确实说的是这个事,那么网页里直接用 em
>>> 为单位设定栏宽就行了。(当然,如果还给正文加了字距(tracking),那就还要算上字距,不过那些都不是问题。)比如
>>> http://lianghai.github.io/sandbox/justification.html 的文本栏就是 38 em
>>> 宽的,即一行正好38个汉字。
>>>
>>
>> 在使用者沒有修改系統的「@示器字體大小」的時候,@個做法可行,但
>> 只要使用者修改了,@個辦法就失效了。
>>
>>
>>>
>>> 对于「縱橫對齊行為」,我暂时想到这几个疑问:
>>>
>>>    - 令西文和数字占整数个 em 的空间后,这整数个 em
>>>    的空间内多余的空白是仅分给两侧的中西文间距,还是分给中西文间距和西文词间距,还是除了分给中西文间距和西文词间距也分给西文字母间距?
>>>
>>> 只分給中西文字間距。
>>
>>>
>>>    - 如果行内不需要中西文间距,如何分配这些多余的空白?(比如西文两端都是中文括号或引号。)
>>>
>>> 規則同上。那可能會白上加白,但,那是採用此設定者必須面臨的後果。
>>
>>>
>>>    - 中西文间距是否有最小值?比如 1/4 em?比如,如果设定 1/4 em
>>>    为中西文间距最小值的话,大多数字体的单个阿拉伯数字都会占用两个汉字(2 em)的空间,因为它们会比 1/2 em
>>>    宽。当然这种场合下,理论上应当用全形字符。
>>>
>>> @裡是取捨,我建議提供使用者設定 CSS 值,最小中西文字間距=0~0.25
>>  之間的值,不指定的話,預設為0。
>>
>>
>>>
>>> 另外有一些情况,虽然确实不属于「純漢字排版,或少量中英文混排的場合」,但「縱橫對齊」也必须对遇到这些情况时的行为有所定义(比如可以允许将空白分配至汉字之间,作为最终迫不得已的行为)。
>>>
>>>    - 比如,如果行末正好是一个西文单词,而这个西文单词在这一行放不下因而移到下一行,当前行如何处理行末的空白?例如
>>>    http://lianghai.github.io/sandbox/justification.html 里第三段第一行。
>>>
>>> 在漢字字符不拉散的條件下,要嘛該字比照行尾懸掛延伸出去,要嘛強迫
>> 斷行,行末的空白就留著。@是@個設定的小缺憾,如果瀏覽器都支援音
>> 節分詞的話,@個問題就可解決。
>>
>> 兩種做法我沒有特別偏好。
>>
>> oc
>>
>>
>>>
>>> —
>>> LIANG Hai 梁海
>>>
>>> On 2013年11月11日 Monday at 19:06, octw chen wrote:
>>>
>>> 由於 InDesign 可以精確定義欄寬和內邊界(到小數點後三位),所以
>>> 我可以很簡單地在齊頭尾設定時,達成漢字字符不拉散。
>>>
>>> 但網頁我找不到普遍設定,可以通用於所有不同解析度的螢幕,和使用
>>> 者設定的@示器系統字級。所以漢字字元的縱橫對齊變成我的解答。
>>>
>>> 由於英文排版有「page-grid」概念,所以我套用@個概念到下一層,
>>> 成為「line-grid」,強迫字符釘在固定的字框內,字間不要任意拉散。
>>>
>>> 那個草案我去看了,坦白說,半路進入很難理解,因為裡面的陌生術語、
>>> 陌生定義太多,看一句要花十分鐘,還不能明白。
>>>
>>> 我所可以想像的縱橫對齊行為的優先順序是:
>>>
>>> 一、漢字字符排在固定的字框(line-grid)內;
>>>
>>> 二、所有不屬於漢字字符的英數字,都占用整倍數的字框空間;
>>>
>>> 三、連續接排的標點,如果行尾懸掛可以解決避頭點問題,就用行尾懸
>>> 掛;
>>>
>>> 四、如果行尾懸掛也無法解決,例如有兩個或三個以上連續接排的標點,
>>> 則該行取消避頭點禁則。
>>>
>>> oc
>>>
>>>
>>>
>>>
>>> 2013/11/11 梁海 <lianghai@gmail.com>
>>>
>>>  嗯,其实对于纯汉字排版时的纵横对齐需求,只要开启标点悬挂就可以了。
>>> 而 `hanging-punctuation`(标点悬挂)这个属性已经在 CSS3 的草案里了。
>>> 所以如果各家浏览器厂商跟进迅速,你的愿望或许在一两年内就能实现了。
>>>
>>> 现在说的希望加入 CSS3 的 `text-spacing` 这个属性主要处理的是 InDesign
>>> 里「标点挤压」负责的那些事情(中西文间距、标点之间的挤压、标点在行首行尾的挤压……)。
>>> 目前这个属性的草案见此
>>> http://www.w3.org/html/ig/zh/wiki/Css4-text#text-spacing-prop

>>> 目前草案中的确没有考虑到少量西文与中文主体混排时纵横对齐的需求。如果要提供这个选项,须研究如何设计方案。
>>> @老猫 或许可以抽空详细写一下中西文混排时「纵横对齐」的具体行为?
>>>
>>>
>>> --
>>> LIANG Hai(梁海)
>>>
>>> On 2013年11月11日 Monday at 17:39, octw chen wrote:
>>>
>>> 謝謝你終於理解我的需求。大量中英文混排,用現狀
>>> 就已經可以解決,我當然不需要為已經有解的情境再
>>> 找更多解法。
>>>
>>> 我情境很簡單,如果有純漢字排版,或少量中英文混
>>> 排的場合,我需要一個縱橫對齊的選項。
>>>
>>> 請勿再用大量中英文混排來模糊焦點,謝謝。
>>>
>>> oc
>>>
>>>
>>>
>>>
>>>
>>
>

Received on Monday, 11 November 2013 13:32:20 UTC