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

(11/07/05 22:11), Yuan Chao wrote:
> 2011/7/5 Kang-Hao (Kenny) Lu <kennyluck@w3.org>:
>> 我也不懂。現在狀況是這樣,Hax 問我有沒有拿掉點陣字形的屬性但是沒跟我講問
>> 題在哪裡,我原本以為這跟以前討論的 CSS transform 下的問題([2] 的討論)
>> 有關後來自己做了幾張圖證明是無關的(別忘了我沒什麼字形相關的知識所以也有
>> 可能是我還沒碰到原始討論碰到的狀況,因為那時候沒有人附 Windows 下的圖)。
> 我後來想了一下,應該是等同於當初在fontconfig/freetype處理「偽斜體」的情況一樣:
> 中文TTF通常在小號字型的時候,使用內嵌點陣字型會有比較好的顯示效果。
> 所以目前大多數的情況都會優先取用點陣字型,並且關閉AA。(看起來FF是這樣子處理的)
> 但是因為中文沒有斜體的屬性,所以當初在Linux上的做法是透過座標轉換,hack出斜體。
> 當初Linux下FF1.x還有2.x某些版本是無法顯示斜體的,所以才準備了這個網頁:
> http://hep1.phys.ntu.edu.tw/~john/olpc/font_test.html
> 當然直接把點陣字型推倒成斜的,會有很嚴重的鋸齒狀產生。
> 所以比較好的做法是無視內嵌點陣字型,改用向量字並開啟AA。

所以 Linux 下 FF 的現況是:
1) 沒斜體的時候使用點陣字形,並且關閉 AA
2) 斜體的時候仍使用點陣字形,但是開啟 AA
嗎?
抱歉,真的沒 Linux 可以試。

> 所以這裡我們應該做的,是去FF發bug report改善transform後字型顯示的品質?

就原先火狐的頁面的問題的確是這樣,雖然連 ABCD 都有問題代表這不是中文的問
題也可能有人發過這個 bug report 了。也就像你講的,那跟 AA 比較有關,跟點
陣字型應該比較無關。

>> 當然把點陣字形拿掉可能還是有好處,不過不理解在哪個平台有好處要去
>> www-style 講也講不清楚。我注意到在 Chromium 其中一個關於內嵌點陣字形的
>> bug 裡有一句話[3]:
>>
>>  // If the user requested anti-aliasing then we don't use bitmap
>>  // strikes in the font. The consensus among our Japanese users is
>>  // that this results in the best quality.
> 個人覺得這裡有點倒因為果,因為點陣字型開AA是沒有意義的... XD
> 而且如果使用明體字型的話,小字號使用向量開啟AA不會比較好看,
那需要做的實驗好像是,在明體,小字號,有 transform 的情形,比較以下哪個
比較好看:
1) 點陣字型,不開 AA
2) 點陣字型,開 AA
3) 向量字型,不開 AA
4) 向量字型,開 AA

2 會遠勝 1 嗎?另外,4 會跟 2 差很多嗎(需要了解 font-bitmap: none; 之類
在一般電腦上到底價值有多高)?

我可以想像在沒有 AA 的環境(電子書?),3 應該會遠勝於 1 所以 font-
bitmap 可能有價值,不過如果 Hax 能提供一張照片佐證那就最好了。

> 甚至hinting處理不好的話,筆劃模糊會嚴重影響閱讀。
> 相對來說黑體字型則是剛好相反。(通常也沒有內嵌點陣字型)
>>>>>> 1. 當 transform 的時候自動取消點陣字形
>>> 也許應該改成:當 transform 的時候自動啟用AA,類似一般對斜體字的處理。
>>> (還是歸結到UA的implementation)
>> 如果能這樣不是全程啟動 AA 就好了?至少 Chrome 在 Windows XP 下看起來是這
> 這是偷懶的做法... :D

全部歸結到 UA 的 implementation 的好處的是不錯,畢竟不用加太難懂的新屬
性。唯一個缺點是在動態環境下不知道會不會產生不協調的奇怪現象。比如說你想
像一下一串字在那裡慢慢旋轉但是只有 在 0 度的時候沒有 AA。

雖然這種情形應該很少發生可以暫時無視、、、

我還不太清楚從點陣字形切換到向量字形會不會差很多就是了。


Kenny

Received on Tuesday, 5 July 2011 16:32:25 UTC