Re: CSS transform 中文字變形問題 — 拿掉點陣字形(Bitmap Strike)的 CSS3 Fonts 屬性

(11/07/11 22:45), Yuan Chao wrote:
> 2011/7/11 Kang-Hao (Kenny) Lu <kennyluck@w3.org>:
>>> 目前看起來,在Linux下FF其實是用點陣字+AA。
>> 總之是點陣字就是了?所以不會有任何不好看或是不讓你轉的現象(像是 Chrome
>> 不讓你用斜體那樣)?
> 主要要看字型大小,跟fontconfig的設定了。

我想知道的是,有點陣字型的字型大小(小字型)和什麼都不動的預設設定的情形。

>> 我還好奇一件事情,在 font-size 是連續的情形 Linux FF 是怎麼處理的,我說
>> 連續是指比如說使用 CSS Transition 之類的。這種情形會不用點陣字嗎?
> 能不能提供一個測試網頁呢?

辛苦做了一個出來 →
http://lists.w3.org/Archives/Public/www-archive/2011Jul/att-0007/font-size-transition

解釋一下,這個頁面的樣式跟測試用字都可以改,用「憂鬱」的原因是因為筆畫比
較多(遽聞所謂內嵌點陣字體就是為了讓這些字在小字型下比較好看)。 來報告
一下 Mac FF 的情形:

預設狀況是從 12px(9pt) 到 16px(12pt) 的漸變,用 transform: scale(5)
放大 5 倍以便觀察。

發現到從 12px 到 16px 放大的過程中,文字震動了四次,這似乎代表比 13.8px
是用 13 px 的字形放大出來的,也證明 Mac FF 的確是有用到點陣字形(有錯請
更正)?(不過好像也不太對,scale(20) 之類的看不出鋸齒,有人可以解釋這個
震動現象嗎?)

== 對照組 1 ==
把文字換成 AB,font-family 換成 Arial 你會發現震動比較不規律,至於為什麼
會有震動我就不太清楚了,反正跟某種數位化的方式相關吧。

== 對照組 2 ==
改成觀察 60px 到 80px 並把 transform 關掉則會看到不規律的像是對照組 1 的
震動,而不是四次

可以觀察的出來是無條件捨去(13.8 px 是用 13px 放大這點)不是無條件進位,
如果是無條件進位震動的模式應該部會在最後的地方鈍一下。


我想一個把「點陣字型調掉」的 CSS 屬性可能可以用在把震動調掉(理論上
啦)。不過如果本來 12px 到 16 px 的漸變沒有用 scale(5) 放大根本看不出啥
震動,所以這個屬性的存在價值在這個使用例就很低。

所以我還是想知道 Hax 的使用例(use case)還有對應的裝置是什麼,我試過把
實驗改成旋轉的漸變,不過基本上看不出什麼太破的地方,可能 AA 還是蠻有用的
吧。(注意一下要同時 旋轉跟放大的時候記得 transform 要寫 rotate(30deg)
scale(3) 之類的,會不小心忘掉,之前討論過這個問題[1])


至於 WebKit.... 因為 WebKit 不支援非整數 font-size 所以 font-size 漸變的
實驗不適用 xdd 旋轉也看不出什麼問題

Linux FF 的情形怎麼樣呢?

[1]
http://lists.w3.org/Archives/Public/public-html-ig-zh/2011Apr/thread#msg14

此致
Kenny

Received on Monday, 11 July 2011 18:08:55 UTC