全形西文字元是對中西文混排的優秀解決方案嗎?

全形的西文字元的設計初衷是否是為了解決中西文字元寬度不同的問題?在實際的應用中,這種設計能出色地解決這個問題嗎?


明確地說,在目前 Unicode 環境下還多有使用的,是全形 ASCII 字元:

從 U+FF01 的全形感嘆號(!)到 U+FF5E 的全形浪線(~),對應 ASCII 從 U+0020 的半形感嘆號(!)到 U+007E 的半形浪線(~),中間包括阿拉伯數字、拉丁字母和許多標點。

如 @孫煒 所言,全形 ASCII 字元出現的初衷基本是技術原因,而非設計原因。也很難說它當初是為了解決中西文混排。

實際上,用全形 ASCII 字元來書寫西文恰恰是在逃避中西文混排——把西文排成中文的模樣,而不顧(或者說放棄)西文原本應有的樣式。這話不是在批評,是在描述當年不得不做的決策。用 @孫煒 在評論的更為中性的措詞,即「他們想把這種異質的成分盡量同質化」。

全形的數字和拉丁字母字元從來都不適合真正的「中西文混排」,只勉強適合中文文本中零星出現的、西文性質並不顯著的那些片段(即「異質」不明顯的)。比如X光、B超、A股,等等,比如縱中橫數字。當無法實現完善、專業的中西文混排時,用這些為中文優化的全形字元能簡化問題,而得到及格的效果。

除此以外,全形數字和拉丁字母字元實在沒有什麼好用的。完全為漢字優化的一字寬的數字和拉丁字母樣式完全不適合排版典型中西文混排中真正的西文。

「!(),.:;?[]{}~」等幾個全形 ASCII 字元的情況和全形數字、拉丁字母字元的情況不同。它們和原半形字元的分立恰好提供了 CJK 標點和西文標點的分立,加上「、。〈〉《》「」『』【】〔〕〖〗」等字元,提供了 CJK 所需的專用標點字元。

這樣的中西文標點字元分立,是有利於中西文混排的,便於字體和排版環境為中西文各自的習慣分別優化。而「「 『 』 」—…」等幾個字元沒能分立也是造成中西文混排困難的原因之一(因為它們完全依賴字體來區分中文、西文樣式,無法在字元層面區分)。

另有「"'-<>^_`|」等全形 ASCII 字元在排版中幾乎沒有任何用途(因為 CJK 文本用不到它們),卻因為技術原因而留下了全形版本。


謝邀,回答粗淺,見諒。

回到Dos時代吧,在上世紀九十年代,初學電腦的孩子一定不會忘記,那個時候的漢字,可以神奇的刪除半個。這涉及最初漢字編碼解決方案問題,具體不詳談。在那個時候:

  1. 沒有現在這樣「奢侈」的富文本,連表格都是製表符拼湊的。

  2. 字型檔是點陣的,漢字、中文標點都是等寬的。

  3. 英文字元也是等寬的,而且絕對性的,為半個漢字的寬度。

  4. 字間距都是恆零距,不會因版口對齊等因素而自動調整間距。

  5. 文本無論橫向、縱向,連起來總是一個整齊的柵格,不會有錯落的情況。

所以,全形等寬西文字元,是一個歷史遺留。當初的目的正是為了讓夾雜西文字元的東方文字能更整齊(試想,如果有一個字元不等寬,也不是半寬,文本里若含有製表符,是無論如何都無法對齊的)。這個遺留,保留在了編碼中,中(包括台灣)日韓的編碼均繼承了這個遺留,而Unicode為了與其兼容,同樣收錄了全形西文字元(只收錄了基本拉丁字母與符號,因為這部分字元在原「三文」編碼中是重複收錄的,即一個字同時有半形、全形兩個碼位,原本在「三文」中為全形的西里爾字母、希臘字母被映射到了相應區間,但仍然是一對一關係,所以西里爾字母、希臘字母在中日韓字體裡面是全形等寬字元,而在西文字體裡面是半形不等寬字元)。

現時來看,它似乎沒有了使用意義。我記得前幾年馮志偉出了一本書,裡面夾雜的英文全部使用了全形拉丁字元,使得整體排版反而很零落。

無論如何,這幾十個字元仍然會存在於各種編碼中,目的只有一個,向後兼容。


推薦閱讀:

曾經流行過的字體都有哪些?
為什麼 OS X 的中文的常規體和粗體區別非常小,這種設計出於什麼考慮?是否代表了蘋果的某種設計理念?
如何評價在中文印刷物/出版物上使用日制漢字/字體的行為?
現在網頁設計中的為什麼少有人用 11px、13px、15px 等奇數的字體?
如何修改 OS X 的系統默認中文字體?

TAG:字體 | 字體排印 |