W3C home > Mailing lists > Public > public-html-ig-zh@w3.org > December 2010

Re: WebKit 直書(w/ CSS Writing Mode)目前的情況

From: Yuan Chao <yuanchao@gmail.com>
Date: Wed, 8 Dec 2010 11:23:11 +0100
Message-ID: <AANLkTinpea4sRgKbek58hXh1JMDkm63qLM9PQ=3oaVmv@mail.gmail.com>
To: Koan-Sin Tan <koansin.tan@gmail.com>
Cc: public-html-ig-zh@w3.org
2010/12/8 Koan-Sin Tan <koansin.tan@gmail.com>:

感謝freedom大的整理。

> 2. platform dependent 的部份, Apple 先實做只有 Mac OS X 上用 Core
>    Text 和 cocoa 的部份。包括 WeKit 和 Chromium for Mac 用的都是這個
>    backend, 也就是說在如果下在 WebKit 或 Chromium 的 nightly build,
>    大概在十月底十@月初以後的版本就可以看到直書了。不過還是有些
>    小問題, 如顯示 [1] 的時候是錯的
可以麻煩貼個圖說明@下錯誤的地方嗎?

> 3. 其他的 platform 呢? 如果沒有人主動寫 code, 大概沒有希望, 所以我隨便
>    寫了@些 code, 把 Chromium [2] 和 WebKitGtk+ [3] 的直書弄得會動了。
>    不過因為 code 是隨便寫的, review 大概還要@陣子, 有興趣的朋友可以先
>    自己玩玩看。用 Qt 的朋友也可以參考@下, 做個 patch 吧。
真是太感謝了。
有了webkit的刺激,相信很快其他的瀏覽器也會加入支援。

注意到關於標點的地方,目前的這個implementation似乎是依照簡中與日文的做法,
把逗號放到右上角。(也就是前@個字的右下角)不過直書時會換成類似中文的頓號。
可是這裡顯示的句號是在中央。
據小弟所知,橫書時大陸簡中的習慣,是把句逗都放到前@個字的右下角。(現在好像沒有在用直書了)
而台灣繁中的習慣則是不論直橫都放在字符的中間。
「古代」倚天中文印直書的時候只要轉90度,所以並不會像引號之類特別做直書用的字符。
(後來windows似乎也是沿襲舊的方法,提供@開頭轉90度的字型供直書列印使用。)
在freedom大提供的抓圖看來,黑體的逗號似乎太靠近前@個字,
而標楷體的逗號則是順時針轉了90度。這是因為目前的實@是類似古代,先逆時針轉90度後,
以原本的layout engine排好,再轉回來的做法嗎?

另外,注音符號的聲調符,似乎飛遠了點。應該要在抓圖中範例的綠框內嗎?

感謝freedom大的patch。


>    做了這兩 patch 有個意外的結果, 在 WebKitGtk+ 看 [1] 竟然是對了,
>    所以這應該是 Mac版處理有問題。
>
> 4. 那 Windows 呢? 請用 IE 吧。不是啦, 因為懶得裝 Windows 的發展環境,
>    所以根本沒看, 有在寫 Windows 程式的朋友順手做@下應該不會太難。
>
> 5. 不相關的技術細節: 處理字型時, Chromium Linux 用 Skia + HarfBuzz
>    (舊版的)。WebKitGtk+ 主要用 Cairo+FreeType+FontConfig, 做很複雜
>    的處理時才會加上用 Pango
>
> [1] http://freebsd.csie.nctu.edu.tw/~freedom/html5/vertical-hant-2.html
> [2] https://bugs.webkit.org/show_bug.cgi?id=50365
> [3] https://bugs.webkit.org/show_bug.cgi?id=50619
> [4] http://www.flickr.com/photos/koansin/5240134997/
> [5] http://www.flickr.com/photos/koansin/5240153765/


-- 
Best regards,
Yuan Chao
Received on Wednesday, 8 December 2010 10:24:04 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:43:46 UTC