- From: Kang-Hao (Kenny) Lu <kennyluck@w3.org>
- Date: Fri, 18 Feb 2011 11:37:03 +0900
- To: 中文HTML5同樂會ML <public-html-ig-zh@w3.org>
大家好! CSS3文字模組[1]自從去年十月以來,引入了 'text-transform' 的一個新值 'fullwidth',基本上就是半形到全形的轉換: 'a' → 'a' '!' → '!' 等等。使用情節大概有: 1. 確保讓同一個 HTML 原始碼可以同時以豎排/橫排呈現 比如說在橫排的時候寫「HTML」可能就寫「HTML」就好,但是在豎排的 CSS 可以 用 'text-transform: fullwidth' 變成「HTML」,這樣做的好處是,在豎排 下呈現的方式會變成: H T M L 而不是「HTML」轉90度。 2. 另外就是直接在網頁中用全形可以對 SEO 會有不良效果,不過有時候又想要一 個字一個字對齊的時候就可以用這個 還有什麼使用情節嗎?說實在的我也是蠻不太清楚什麼樣的情形下西方人會用 'text-transform: uppercase' 的。 這裡有一個比較大的問題[2]是,半形的空白該不該轉全形的問題(也就是" " → " ")。我自己是覺得用常識來講當然該轉,不過對於瀏覽器的一致性必須要定義 "a b" (a(空白)(空白)b)到底該轉成 "a b"(兩個全形空白)還是 "a b"(一個全形空白)。實作上來說這就必須要固定瀏覽器的排版引擎是先做做空白 處理(white space processing,也就是兩個空白疊為一個)[3]還是 'text- transform',這恐怕會讓瀏覽器開翻者們不想處理這個。直覺上是空白處理先,不 過要確認一下。 如果半形空白不轉全形就不會有這個問題,不過我是覺得蠻奇怪的。大家覺得呢? 有人可以幫忙看一下 Webkit 跟 Gecko 的原始碼看看到底是哪個先嗎?這應該是 比了解Math.random簡單 :p 如果有誰會做逆向工程的請也幫忙 IE (開玩笑的 xd 不過真的有辦法也歡迎)再來 Opera 就問問看子斌有沒有辦法了 :) [1] http://dev.w3.org/csswg/css3-text/ [2] http://lists.w3.org/Archives/Public/www-style/2011Feb/thread#msg470 [3] http://dev.w3.org/csswg/css3-text/#white-space-processing 此致 Kenny, W3C
Received on Friday, 18 February 2011 02:35:52 UTC