- From: Kang-Hao (Kenny) Lu <kennyluck@w3.org>
- Date: Tue, 05 Jul 2011 13:19:44 +0800
- To: 中文HTML5同樂會ML <public-html-ig-zh@w3.org>
(再發一次到郵件群,上次那封因為有圖檔檔案太大沒庫存起來) 首先先給大家看一下我本來以為要解決的問題,在 FF5, WindowsXP 下的情形[1] 跟 Chrome12, WindowsXP 的情形[2]比起來不管是中文還是英文都有問題,不過這 似乎說明這個問題跟中文使用點陣字形無關,因為英文的字形是 Arial 是一個向 量字形(有錯請更正),另外,把字放大也不能改善這個現象。如果我沒理解錯誤 的話這好像是 FF 反鋸齒(Anti-aliasing)有問題的樣子,有人能提供在 Windows Vista 以上的狀況嗎?我看到一篇文章[3]裡提到了一些調整 Windows Vista 以上 FF 反鋸齒的方法,目前還沒辦法嘗試。 [1] https://lh3.googleusercontent.com/-rolIIVVtouk/ThKY3FNI3ZI/AAAAAAAAAEs/drUWCsEraJI/s800/ff-transformed-bitmap.PNG [2] https://lh3.googleusercontent.com/-8A3LrtW4RrI/ThKZsD8Qw_I/AAAAAAAAAE8/y6T6vN1EZL4/s800/chrome-transformed-bitmap.PNG [3] http://blog.ginchen.de/en/2011/03/26/schriftglaettung-im-firefox-4/ Hax 在跟我研究 CSS 有沒有拿掉點陣字形的屬性的時候我以為要解決的問題是這 個,不過看來不是。所以要解決的是在不能反鋸齒的裝置(例如電子書 Bambook) 發生的問題嗎?沒有正確圖片的還蠻難理解要解決的問題在哪的。還是說就很單純 的是在某些情形下不用點陣字形比較好看?老話一句, 沒圖片很難有下一步動作。 我用了有內嵌點陣字形的字形也不能在 MacOSX 上的 FF 重現這個變形的現象、、、 (11/07/04 21:15), Yuan Chao wrote: > 2011/7/4 Kang-Hao (Kenny) Lu <kennyluck@w3.org>: > >> 多個月之前裕波提出過 CSS Transform 會使得中文字變形的問題[1],而 Hax 提 >> 出的一個解釋[2]是因為中文很多字形在字體小的時候會使用點陣字形(bitmap >> strike)[3](或者說是字形檔裡面的 EBDT、EBLC、EBSC 表[4])而不是向量部份 >> 造成的結果。(以上是對字形完全沒專業的人到目前為止的理解,如果有比較好的 >> 資訊請不舍指教) > 這個應該是關係到UA字型描繪實作上的問題吧?至少目前就小弟所知在Linux下, > 雖然都是使用FreeType,FF會遵循fontconfig的設定,而Chrome則是似乎一直有著無視相關 > (hinting and embedded bitmap font) 設定的bug。 > > http://code.google.com/p/chromium/issues/detail?id=12179 > http://hyperrate.com/thread.php?tid=16031 > > 這些個bug不修的話,是不可能讓我把主要瀏覽器換到chrome系列的! 感謝你提供的連結,特別是[2]裡提到了 3 個和點陣字形相關的 chromium 的 bug,可是它們的狀態都是 fixed,應該可以換到 chrome 系列了 xd。 [2] http://hyperrate.com/thread.php?tid=18678#18678 >> 這感覺起來是很低層次的操作,而我跟 Hax 研究到目前為止 CSS3 Fonts 沒有這 >> 樣的東西,連直接操作 OpenType feature 的低層次屬性 >> 'font-feature-settings'[5] 裡面似乎沒有這個 feature[6]。這當然可以用 >> webfont 解決(給沒有EBXX部份的字形),不過似乎不是很好的解法,也不能解決 >> 內建字形的問題,所以標準看來是有缺陷的。這裡可能有幾種解法: > 這裡應該是由font rendering engine來處理,其實用不著和底層API打交道, > 需要的只是提供相關的對應設定。 看不太懂這一段。 >> 1. 當 transform 的時候自動取消點陣字形 >> 2. 新屬性 >> 3. 新的 OpenType feature >> 4. transform: rotate(0) 的時候不使用點陣字形 > 個人的淺見有兩個:要不就在UA裡面提供選項,讓使用者自行決定。 > 要不就提供在CSS的相關設定flag,讓developer決定? 一定是使用者的決定(FontConfig之類的)壓過網頁開發者的決定。本來想像中網 頁開發者需要這個 CSS 相關的屬性是因為只有網頁開發者知道網頁的哪個區塊會 之後會旋轉變形而可以事先把點陣字形拿掉,不過就像我講的,我根本沒法證明變 形現象跟點陣字形相關, 所以到目前為止都是空談。 當初討論這個問題的人如果有什麼參考圖麻煩詳細解釋一下。 >> 我跟 Hax 討論的時後,我是懷疑這個功能會不會因為太底層所以有實作困難(畢 >> 竟涉及到 EBXX 表的操作),不過他是說 FreeType 有這個 API,但是 Windows >> 的情況是怎麼樣呢?(好像原本就只有 Windows 有問題,是 MacOSX 本來就沒去 > 主要還是UA的font rendering engine怎麼處理了? 我覺得現在最大的問題是「問題到底在哪裡?」 此致 Kenny
Received on Tuesday, 5 July 2011 05:15:45 UTC