热门问题
时间线
聊天
视角
全形和半形
来自维基百科,自由的百科全书
Remove ads
全角和半角是文字的兩種顯示形式,「全角」指文字字身長寬比為一比一的正方形,而「半角」為寬度為全角一半的文字。現在這兩個詞通常用來指代計算機中顯示的文字。

意義和用法
在傳統的字體排印學中,文字字身長寬比為1比1的正方形金屬鉛字原本稱作「全身」,而寬度只有一半的稱為「半身」。另外對於小於一個「全身」的各種鉛空稱為「分空」,通常稱為「二分空」(注意不是「半身」)「三分空」「四分空」「六分空」等等。
「半角/全角」源於日文,其中「角」是「方塊」的意思,「全角/半角」在日文里即是原本「正方形/半個正方形大小文字」的本意,與西文字體排印學中Em和En單位含義相同。
而中文裡的「角」雖然有「角度」「角落」等含義,卻沒有「方塊」的意思,中文在字體排印時不說「全角/半角」而說「全身/半身」[來源請求]。中文裡說「半角/全角」是計算機文字編碼技術引入時直接借用了日文的做法[1]。
而目前對於計算機上的文字稱作「全角字」「全形字」和「半角字」「半形字」的指代非常混亂。
「全角字」「全形字」可能是指:
- 用兩個字節存儲的字符
- ASCII(所謂半角拉丁字母、符號及阿拉伯數字)以外所有的字符
- 顯示上字身寬度與字體高度相等(即字形外框為正方形)的字形
「半角字」「半形字」時可能指:
- 用單字節存儲的字符(可能包括片假名)
- ASCII 字符即拉丁字母、數字和常見符號[註 1]
- 顯示上字身寬度為字體高度一半的字形
為了避免混亂,在使用「字寬」的本意時,可以使用從英文倒翻譯回中文的「全寬/半寬」(fullwidth / halfwidth)。
Remove ads
歷史
在早期的計算機中,英語或拉丁字母語言使用的系統,每一個字母或符號,都是使用一字節的空間(一字節由8位元組成,共256個編碼空間)來儲存;而漢語、日語及韓語文字,由於數量大大超過256個,故慣常使用兩字節來儲存一個字符。所以這原本是編碼層面的「單字節」「雙字節」的問題。
當時使用等寬字體(如DOS、部分文字編輯器等)時,字體也就順應這種編碼形式,將中日韓文字的寬度繪製成拉丁字母和數字的兩倍,這樣字符的編碼存儲和顯示寬度可以一一對應起來,「單字節」文字顯示成「半寬」,「雙字節」文字顯示成「全寬」。因此當時的用戶就開始習慣稱中、日、韓等文字為「全形字符」,而稱拉丁字母或數字為「半形字符」。
但是,後來計算機的文字編碼技術已經發生很大變化,存儲一個字符可能用一個、兩個、三個或者四個字節(如UTF-8)。一個英文字符即使顯示為半寬,依照不同的編碼方式,並不一定是用一個字節存儲;而日文的片假名也不一定是雙字節,也可能用一個字節存儲(即「半角片假名」)。因此,現在字符編碼存儲和字符顯示寬度的已經沒有一一對應關係。但是由於字符編碼和字形寬度曾經的對應關係,很多用戶一直習慣性地使用「全角/半角」詞彙。
Remove ads
Unicode 裏的 East_Asian_Width 特性
Unicode 標準的附件11 (UAX#11) 中以信息性附件 (informative) 的形式,定義了東亞文字的字寬 East_Asian_Width 特性[2]。
半形字符與全形字符的比較
Remove ads
Remove ads
Remove ads
Remove ads
OpenType
OpenType字體格式里定義了fwid
、halt
、hwid
和vhal
等GSUB
特性,可以為同樣一個編碼(碼位)的字符供替換成不同的字形(顯示形式)。
參見
- CJK
- 半形及全形字符 (Unicode區段)
- 半角假名
- 等寬字體
- Em尺寸——全角的實現形式
註釋
參考資料
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads