東亞寬度
傳統上,東亞編碼字集(如Big5、Shift_JIS、GB等)受限於技術限制,將單位元組文字視為半形,雙位元組文字一律設計為全形。此一特性不只影響到字型外觀寬度,也影響文字編輯器、排版軟體的寬度認定(例如移動1個中文字,邏輯位置會視為移動2個字)。
由於可能在許多情形下,CJK字型、CJK處理環境還是需要顧慮傳統寬度習慣,故Unicode定義了每個字的東亞寬度資訊來描述此資訊。
東亞寬度的值與定義
值 | 全名 | 定義 | 說明 |
---|---|---|---|
F | Fullwidth | 全形 | 具有 wide 相容分解映射的相容文字,文字名稱包含 FULLWIDTH 字樣。即一般說的全形英數字等。 |
H | Halfwidth | 半形 | 具有 narrow 相容分解映射的相容文字,文字名稱包含 HALFWIDTH 字樣。即一般說的半形假名等。 |
W | Wide | 寬 | 上述以外的文字,在既有東亞編碼一般都以全形處理的文字。如漢字、假名、注音符號,以及東亞特有的標點符號等。 |
Na | Narrow | 窄 | 上述以外的文字,在既有東亞編碼一般都以半形處理,且在Unicode中存在有對應的全形文字者,如半形英數字。 |
A | Ambiguous | 模稜兩可 | 根據文脈環境寬度不同的文字。在東亞排版與非東亞排版都會使用到,傳統上在東亞排版使用全形顯示。如希臘字母、西里爾字母等。 |
N | Neutral | 中立 | 不屬於上面任何一者的文字,一般不會出現在東亞排版中,未收錄於任何傳統東亞編碼。並非半形也並非全形。如阿拉伯文等。 |
建議處理方式
UAX#11建議以下述方式來解釋、處理這些文字:
值 | 於東亞文脈環境 | 於非東亞文脈環境 |
---|---|---|
Na / N | 以半形處理。 | 以半形處理。 |
W / F | 以全形處理。 | (不會出現於非東亞文脈) |
H | 以半形處理。 | (不會出現於非東亞文脈) |
A | 以全形處理。 | 以半形處理。 |
補充說明
- 一般有半形與全形對應的英數字、標點,如 U+0041A ↔ U+FF21A、U+002C, ↔ U+FF0C, 這樣成對收錄,且半形會用在非東亞排版者,半形者為 Na,全形者為 F。
- 只用於東亞排版,且有半形與全形對應的文字、標點,如 U+30A2ア ↔ U+FF71ア、U+FF62「 ↔ U+300C「 這樣成對收錄者,全形者為 W,半形者為 H。
- 各種傳統東亞編碼都未收錄的文字,如埃及文字、泰文、印度文字等,均為 N。
- 收錄於任一傳統東亞編碼,但並未區分全形與半形的文字,則會是 A。如希臘字母、西里爾字母等。
模稜兩可(A)的文字
因為傳統技術限制,超過ASCII範圍的文字,在東亞編碼中只能用全形處理。像是希臘字母,都是全形形式,也未區分全形與半形。
此類文字收錄至Unicode後,因為原規格並未區別全半形,所以在Unicode也不會對全半形各自編碼,統合為一字。但在東亞排版環境該視為全形還是半形,就容易引起困擾。例如,圈號 U+25CF● 如果不是全形,在BBS等排版上就可能造成整個畫面錯位、或是游標跑錯位置。
在UAX#11中,這些文字均被標示為A(模稜兩可)。建議上,在東亞排版環境中仍然以全形處理。
但因為排版的進步,傳統環境逐漸式微,前述BBS環境逐漸淘汰,直排逐漸被橫排取代,讀者一般也更能接受這些文字應有的寬度呈現,而非硬轉成全形。甚至很多情況,這些字以全形處理,反而會造成問題(後述)。近年已有許多字型開始嘗試將部分模稜兩可(A)的文字造成半形(比例寬),然而也有部分文字仍是全形較符合習慣,端看字型設計者的權衡。
帶有附加符號的字母
半形英文字母因為有全形字母對應,東亞寬度定義為 Na。然而,部分帶有標音的字母(如 U+00E9é),因為各種原因曾經收錄於既有東亞編碼(如此字是因為漢語拼音),就會被定義為 A。事實上,傳統簡體中文字型確實都是以全形製作這些文字的。
但實務上,一整組拼音(如 chéng),如果只有中間的 é 以全形呈現,顯示起來非常難看又難以閱讀。
傳統上需要以全形呈現純粹是技術限制,現代排版實在沒有理由繼續使用全形處理這些文字。
惱人的右單引號’
歐式的引號 U+2018‘ U+2019’ U+201C“ U+201D” 這4個文字,也因為同樣理由,傳統上在東亞編碼只能用全形處理。
其中最惱人的是右單引號 U+2019’,因為它不只用於引號,也會用於 it’s 之類的撇點。以多數遵照UAX#11建議將此字設計為全形的字型進行排版時, ’ 後方會出現異常開闊的空間,相當難以閱讀。
基於繁體中文正規排版很少使用 U+2018‘ U+2019’ 引號。本站建議這些文字以比例寬度處理。
參考
- 建立於 2021 年 12 月 9 日 16 時 23 分
- 本條目共被 1 位不同作者編輯過 3 次
- 最後一次修改於 2021 年 12 月 10 日 16 時 35 分