Re: 可否将 text-spacing 和标点压缩合并到一个属性?并且指定其调整值?

(Cc+ 梁海)

(12/07/23 14:03), BelleveInvis wrote:
> 这个想法来自 Indesign,Indesign 里中-西文间距调整和标点压缩是用一个功
> 能实现的,截图如下
> http://ww1.sinaimg.cn/large/a74eed94jw1dv6qheenwlj.jpg
> 在这个选项里,对每一对字符种类(如 西文->汉字)可以指定三个尺寸:典型
> 值,最小值和最大值,

看起來真是有夠複雜、、、不過不管怎麼樣,感謝提供圖片,的確是非常有幫助了
解狀況。

> 其中最小值和最大值是为双齐时调整字距设计的。而且间距也可以是负值,这用
> 于标点压缩。我希望 CSS4 可以参考此实现,定义个新属性
> text-spacing-adjustment,格式大概如下
> text-spacing-adjustment: han alpha 0.25, han open 0
> text-spacing-adjustment-min: han alpha 0.125, han open -0.5
> text-spacing-adjustment-max: han alpha 0.5, han open 0

簡單感想/問題/意見:
一、不管怎麼樣我比起 'ideograph' 我比較支持 'han' 這種命名,這我之前提過
[1]。

二、"han open" 是順序還是無順序(代表 "open han" 也是一樣的規則)的?看
你那個介面似乎是有順序的,但是假如在 "han alpha" 的情形,要輸入 "han
alpha 0.25em, alpha han 0.25em" 很多餘。

三、有些間隔的百分比是怎麼決定的?比如說

  ( → 漢

這個,百分比是相對什麼寬度的百分比?誇號?漢字?

四、CSS3 對 'letter-spacing' 和 'wording-spacing' 引入了 <spacing-limit>
這個微語法[2]:

  <spacing-limit> = [ normal | <length> | <percentage> ]{1,3}

我覺得這蠻好的,這類東西也不是說很常用,不太需要三個屬性吧,所以
'text-sapcing-adjustment' 的語法可以改成(隨便寫寫):

  [[ han | alpha | numeric | open-punc | close-punc | line-start |
     line-end | middle-punc ]{2} <line-spacing> ]#

其中 'normal' 由 'text-spacing' 決定。

五、是不是可以直接讓 'text-spacing-adjustment' 取代 'text-spacing'?語法
大致是

  [[ han | alpha | numeric | open-punc | close-punc | line-start |
     line-end | middle-punc ]{2} <line-spacing>? ]#

不過這些要多想想,畢竟我感覺

  'text-spacing: line-start open-punc 50%;'

的確是比

  'text-spacing: trim-start'

冗長不少。另外,原來的

  'text-spacing: space-adjacent/trim-adjacent'

在新語法裡要怎麼寫?



另外還有一個比較根本的問題,你有沒有辦法證明一下這個需求很重要?基本上要
讓 CSS 變成 Indesign 這種詳細程度恐怕還有一段路要走,主要是這些文字排版
的需求一般不是很強烈、、、


[1] http://lists.w3.org/Archives/Public/public-html-ig-zh/2012Apr/0065
(第三點)
[2] http://www.w3.org/html/ig/zh/wiki/css4-text#spacing-limit


(12/07/26 17:22), Sunyang (Eric) wrote:
> 现有的CSS中有letter-spacing和word-spacing(不支持中文),这两个属性是不
> 是已经可以解决问题了?

CSS3 的 'letter-spacing' 理論上可以解決大部分問題,不過比較明顯的問題就
是必須在每個英文-中文相鄰之處加 <span></span>,不是一個一般人會做得事
情。另一個小問題是 'letter-spacing' 不能改變行首行尾的標點壓縮:

  # Letter-spacing must not be applied at the beginning or at the end
  # of a line.



以上

Kenny

Received on Friday, 27 July 2012 04:28:44 UTC