應Kenny要求,說明一下最近爭議的UTR#50與Fallback的議題。

和UTR#50的這串相關討論發生在這兒:

http://lists.w3.org/Archives/Public/public-i18n-cjk/2013OctDec/

UTR#50 = Unicode Technical Report No.50
http://www.unicode.org/reports/tr50/

是Unicode Consortium的一份技術報告,主要敘述各字元在直排文書下的方向。有著四種值:
U:這個字直立表現,和Unicode表單上相同。
R:這個字直排時需轉90度。
Tu:這個字直立時的Glyph與Unicode表單上不同。
Tr:這個字需轉90度,Glyph與Unicode表單上不同。

但在CSS中有個 text-orientation: upright/sideway 可強制字元直立、轉90度。

這邊的爭議就是:需不需要這樣的Fallback機制。

首先,如果所有字型都按照UTR#50的指示調整,User
Agent也配合調整,那麼理論上應該是沒有問題的。但是這需要一段時間來做調整。同時也得注意到字型製造商與UA端願不願意配合。

我所舉的兩個問題發生在電子書上頭:

1,中文全形分號「;」
蘋果在iOS 6.1後的Webkit由於採用了早期的UTR#50
Spec,所以直排時中文分號一律是橫過來的。這不符合我們的排版規則。這時就需要手動指定text-orientation: upright來讓分號直立。

當然,我們也可以不這麼幹,等蘋果哪一天修正UA,分號就會直過來了。但在那之前,都得忍受橫過來的分號。

採用CSS強制轉正也有問題,例如全形分號原來是自動避頭點的對象文字,採<span>;</span>包起來以後,就會出現在行頭,這十分惱人。

而在一些閱讀系統的實作上,這麼做會在;前後加上空白,也非常難看。

2,中文「~」號
這個符號在橫排時,就應該是轉90度。但由於許多字形未指定,就算套了CSS也直不過來。這就很令人頭疼。

主要的爭議是:既然有了UTR #50,我們是不是該讓UA/Fonts去遵守這樣規範,不需要於CSS中做Fallback機制。或者是UTR
#50有所規範,CSS中依然要有Fallback機制,讓作者決定符號方向如何。

大致這樣,但已經吵到不曉得問題在哪兒了。




-- 

Wanderer Inc.|汪達數位出版股份有限公司

Founder

董福興 Bobby Tung

Mobile:+886-975068558

E-mail:[email protected]

Website:http://wanderer.tw

回复