全形和半形
「fullwidth」的各地常用別名 | |
---|---|
中國大陸 | 全角 |
臺灣 | 全形 |
港澳 | 全形 |
「halfwidth」的各地常用別名 | |
---|---|
中國大陸 | 半角 |
臺灣 | 半形 |
港澳 | 半形 |
全形和半形是文字的兩種顯示形式,「全形」指文字字身長寬比為一比一的正方形,而「半形」為寬度為全形一半的文字。現在這兩個詞通常用來指代電腦中顯示的文字。
意義和用法
在傳統的字型排印學中,文字字身長寬比為1比1的正方形金屬鉛字原本稱作「全身」,而寬度只有一半的稱為「半身」。另外對於小於一個「全身」的各種鉛空稱為「分空」,通常稱為「二分空」(注意不是「半身」)「三分空」「四分空」「六分空」等等。
「半形/全形」源於日文,其中「角」是「方塊」的意思,「全形/半形」在日文里即是原本「正方形/半個正方形大小文字」的本意,與西文字型排印學中Em和En單位含義相同。
而中文裡的「角」雖然有「角度」「角落」等含義,卻沒有「方塊」的意思,中文在字型排印時不說「全形/半形」而說「全身/半身」。中文裡說「半形/全形」是電腦文字編碼技術引入時直接借用了日文的做法[1]。
而目前對於電腦上的文字稱作「全形字」「全形字」的指代非常混亂,可能是指 (1) 用兩個位元組儲存的字元、(2) ASCII(所謂半形英文和數字)以外所有的字元、(3) 顯示上字身寬度為一比一正方形的字形。
為了避免混亂,在使用「字寬」的本意時,可以使用從英文倒翻譯回中文的「全寬/半寬」(fullwidth/halfwidth)。
歷史
而在早期的電腦中,英語或拉丁字母語言使用的系統,每一個字母或符號,都是使用一位元組的空間(一位元組由8位元組成,共256個編碼空間)來儲存;而漢語、日語及韓語文字,由於數量大大超過256個,故慣常使用兩位元組來儲存一個字元。所以這原本是編碼層面的「單位元組」「雙位元組」的問題。
當時使用等寬字型(如DOS、部份文字編輯器等)時,字型也就順應這種編碼形式,將中日韓文字的寬度繪製成拉丁字母和數字的兩倍,這樣字元的編碼儲存和顯示寬度可以一一對應起來,「單位元組」文字顯示成「半寬」,「雙位元組」文字顯示成「全寬」。因此當時的使用者就開始習慣稱中、日、韓等文字為「全形字元」,而稱拉丁字母或數字為「半形字元」。
但是,後來電腦的文字編碼技術已經發生很大變化,儲存一個字元可能用一個、兩個、四個或者更多的位元組。一個英文字元即使顯示為半寬,依照不同的編碼方式,並不一定是用一個位元組儲存;而日文的片假名也不一定是雙位元組,也可能用一個位元組儲存(即「半形片假名」)。因此,現在字元編碼儲存和字元顯示寬度的已經沒有一一對應關係。
但是由於字元編碼和字形寬度曾經的對應關係,很多使用者一直習慣性地使用「全形/半形」詞彙。「全形字」「全形字」可能是指 (1) 用兩個位元組儲存的字元、(2) ASCII(所謂半形英文和數字)以外所有的字元、(3) 顯示上字身寬度為一比一正方形的字形。
而在說「半形字」「半形字」時可能指 (1) 用單位元組儲存的字元(可能包括片假名)、(2) ASCII 字元即拉丁字母、數字和常見符號(而事實上並不一定是用單位元組儲存,根據不同的字型會顯示成全寬、或者是西文的「比例寬度」而並不是正好「半寬」)、(3) 顯示上字身寬度為字型高度一半的字形)。
Unicode 裏的 East_Asian_Width 特性
Unicode 標準的附件11 (UAX#11) 中以資訊性附件 (informative) 的形式,定義了東亞文字的字寬 East_Asian_Width 特性[2]。
縮寫 | 名稱 | 描述 |
---|---|---|
W | Wide(寬) | 自然的寬字元,如平假名。 |
Na | Narrow(窄) | 自然的窄字元,如 ISO 基本拉丁字母。 |
F | Fullwidth(全寬) | 與自然的窄字元具有Unicode等價性的寬式變體,比如全寬拉丁字母。 |
H | Halfwidth(半寬) | 與自然的窄字元具有Unicode等價性的窄式變體,如 半形假名,包括 U+20A9(韓元符號)這個例外。 |
A | Ambiguous(模糊) | 在東亞雙位元組字元集和歐洲單位元組字元集中都有的編碼的字元,如希臘字母,因此字寬行為會有所不同。 |
N | Neutral(中性) | 沒有出現在東亞雙位元組字元集編碼中的字元,如天城文字母。 |
半形字元與全形字元的比較
半形字元與全形字元的比較(ASCII字元)
ASCII | 全形字元 | Unicode | 半形字元 | Unicode |
---|---|---|---|---|
0x20 | " " | U+3000 | " " | U+0020 |
0x21 | ! | U+FF01 | ! | U+0021 |
0x22 | " | U+FF02 | " | U+0022 |
0x23 | # | U+FF03 | # | U+0023 |
0x24 | $ | U+FF04 | $ | U+0024 |
0x25 | % | U+FF05 | % | U+0025 |
0x26 | & | U+FF06 | & | U+0026 |
0x27 | ' | U+FF07 | ' | U+0027 |
0x28 | ( | U+FF08 | ( | U+0028 |
0x29 | ) | U+FF09 | ) | U+0029 |
0x2A | * | U+FF0A | * | U+002A |
0x2B | + | U+FF0B | + | U+002B |
0x2C | , | U+FF0C | , | U+002C |
0x2D | - | U+FF0D | - | U+002D |
0x2E | . | U+FF0E | . | U+002E |
0x2F | / | U+FF0F | / | U+002F |
0x30 | 0 | U+FF10 | 0 | U+0030 |
0x31 | 1 | U+FF11 | 1 | U+0031 |
0x32 | 2 | U+FF12 | 2 | U+0032 |
0x33 | 3 | U+FF13 | 3 | U+0033 |
0x34 | 4 | U+FF14 | 4 | U+0034 |
0x35 | 5 | U+FF15 | 5 | U+0035 |
0x36 | 6 | U+FF16 | 6 | U+0036 |
0x37 | 7 | U+FF17 | 7 | U+0037 |
0x38 | 8 | U+FF18 | 8 | U+0038 |
0x39 | 9 | U+FF19 | 9 | U+0039 |
0x3A | : | U+FF1A | : | U+003A |
0x3B | ; | U+FF1B | ; | U+003B |
0x3C | < | U+FF1C | < | U+003C |
0x3D | = | U+FF1D | = | U+003D |
0x3E | > | U+FF1E | > | U+003E |
0x3F | ? | U+FF1F | ? | U+003F |
0x40 | @ | U+FF20 | @ | U+0040 |
0x41 | A | U+FF21 | A | U+0041 |
0x42 | B | U+FF22 | B | U+0042 |
0x43 | C | U+FF23 | C | U+0043 |
0x44 | D | U+FF24 | D | U+0044 |
0x45 | E | U+FF25 | E | U+0045 |
0x46 | F | U+FF26 | F | U+0046 |
0x47 | G | U+FF27 | G | U+0047 |
0x48 | H | U+FF28 | H | U+0048 |
0x49 | I | U+FF29 | I | U+0049 |
0x4A | J | U+FF2A | J | U+004A |
0x4B | K | U+FF2B | K | U+004B |
0x4C | L | U+FF2C | L | U+004C |
0x4D | M | U+FF2D | M | U+004D |
0x4E | N | U+FF2E | N | U+004E |
0x4F | O | U+FF2F | O | U+004F |
0x50 | P | U+FF30 | P | U+0050 |
0x51 | Q | U+FF31 | Q | U+0051 |
0x52 | R | U+FF32 | R | U+0052 |
0x53 | S | U+FF33 | S | U+0053 |
0x54 | T | U+FF34 | T | U+0054 |
0x55 | U | U+FF35 | U | U+0055 |
0x56 | V | U+FF36 | V | U+0056 |
0x57 | W | U+FF37 | W | U+0057 |
0x58 | X | U+FF38 | X | U+0058 |
0x59 | Y | U+FF39 | Y | U+0059 |
0x5A | Z | U+FF3A | Z | U+005A |
0x5B | [ | U+FF3B | [ | U+005B |
0x5C | \ | U+FF3C | \ | U+005C |
0x5D | ] | U+FF3D | ] | U+005D |
0x5E | ^ | U+FF3E | ^ | U+005E |
0x5F | _ | U+FF3F | _ | U+005F |
0x60 | ` | U+FF40 | ` | U+0060 |
0x61 | a | U+FF41 | a | U+0061 |
0x62 | b | U+FF42 | b | U+0062 |
0x63 | c | U+FF43 | c | U+0063 |
0x64 | d | U+FF44 | d | U+0064 |
0x65 | e | U+FF45 | e | U+0065 |
0x66 | f | U+FF46 | f | U+0066 |
0x67 | g | U+FF47 | g | U+0067 |
0x68 | h | U+FF48 | h | U+0068 |
0x69 | i | U+FF49 | i | U+0069 |
0x6A | j | U+FF4A | j | U+006A |
0x6B | k | U+FF4B | k | U+006B |
0x6C | l | U+FF4C | l | U+006C |
0x6D | m | U+FF4D | m | U+006D |
0x6E | n | U+FF4E | n | U+006E |
0x6F | o | U+FF4F | o | U+006F |
0x70 | p | U+FF50 | p | U+0070 |
0x71 | q | U+FF51 | q | U+0071 |
0x72 | r | U+FF52 | r | U+0072 |
0x73 | s | U+FF53 | s | U+0073 |
0x74 | t | U+FF54 | t | U+0074 |
0x75 | u | U+FF55 | u | U+0075 |
0x76 | v | U+FF56 | v | U+0076 |
0x77 | w | U+FF57 | w | U+0077 |
0x78 | x | U+FF58 | x | U+0078 |
0x79 | y | U+FF59 | y | U+0079 |
0x7A | z | U+FF5A | z | U+007A |
0x7B | { | U+FF5B | { | U+007B |
0x7C | | | U+FF5C | | | U+007C |
0x7D | } | U+FF5D | } | U+007D |
0x7E | ~ | U+FF5E | ~ | U+007E |
半形字元與全形字元的比較(日語字元)
JIS X 0201 | 半形字元 | Unicode | 全形字元 | Unicode |
---|---|---|---|---|
0xA1 | 。 | U+FF61 | 。 | U+3002 |
0xA2 | 「 | U+FF62 | 「 | U+300C |
0xA3 | 」 | U+FF63 | 」 | U+300D |
0xA4 | 、 | U+FF64 | 、 | U+3001 |
0xA5 | ・ | U+FF65 | ・ | U+30FB |
0xA6 | ヲ | U+FF66 | ヲ | U+30F2 |
0xA7 | ァ | U+FF67 | ァ | U+30A1 |
0xA8 | ィ | U+FF68 | ィ | U+30A3 |
0xA9 | ゥ | U+FF69 | ゥ | U+30A5 |
0xAA | ェ | U+FF6A | ェ | U+30A7 |
0xAB | ォ | U+FF6B | ォ | U+30A9 |
0xAC | ャ | U+FF6C | ャ | U+30E3 |
0xAD | ュ | U+FF6D | ュ | U+30E5 |
0xAE | ョ | U+FF6E | ョ | U+30E7 |
0xAF | ッ | U+FF6F | ッ | U+30C3 |
0xB0 | ー | U+FF70 | ー | U+30FC |
0xB1 | ア | U+FF71 | ア | U+30A2 |
0xB2 | イ | U+FF72 | イ | U+30A4 |
0xB3 | ウ | U+FF73 | ウ | U+30A6 |
0xB4 | エ | U+FF74 | エ | U+30A8 |
0xB5 | オ | U+FF75 | オ | U+30AA |
0xB6 | カ | U+FF76 | カ | U+30AB |
0xB7 | キ | U+FF77 | キ | U+30AD |
0xB8 | ク | U+FF78 | ク | U+30AF |
0xB9 | ケ | U+FF79 | ケ | U+30B1 |
0xBA | コ | U+FF7A | コ | U+30B3 |
0xBB | サ | U+FF7B | サ | U+30B5 |
0xBC | シ | U+FF7C | シ | U+30B7 |
0xBD | ス | U+FF7D | ス | U+30B9 |
0xBE | セ | U+FF7E | セ | U+30BB |
0xBF | ソ | U+FF7F | ソ | U+30BD |
0xC0 | タ | U+FF80 | タ | U+30BF |
0xC1 | チ | U+FF81 | チ | U+30C1 |
0xC2 | ツ | U+FF82 | ツ | U+30C4 |
0xC3 | テ | U+FF83 | テ | U+30C6 |
0xC4 | ト | U+FF84 | ト | U+30C8 |
0xC5 | ナ | U+FF85 | ナ | U+30CA |
0xC6 | ニ | U+FF86 | ニ | U+30CB |
0xC7 | ヌ | U+FF87 | ヌ | U+30CC |
0xC8 | ネ | U+FF88 | ネ | U+30CD |
0xC9 | ノ | U+FF89 | ノ | U+30CE |
0xCA | ハ | U+FF8A | ハ | U+30CF |
0xCB | ヒ | U+FF8B | ヒ | U+30D2 |
0xCC | フ | U+FF8C | フ | U+30D5 |
0xCD | ヘ | U+FF8D | ヘ | U+30D8 |
0xCE | ホ | U+FF8E | ホ | U+30DB |
0xCF | マ | U+FF8F | マ | U+30DE |
0xD0 | ミ | U+FF90 | ミ | U+30DF |
0xD1 | ム | U+FF91 | ム | U+30E0 |
0xD2 | メ | U+FF92 | メ | U+30E1 |
0xD3 | モ | U+FF93 | モ | U+30E2 |
0xD4 | ヤ | U+FF94 | ヤ | U+30E4 |
0xD5 | ユ | U+FF95 | ユ | U+30E6 |
0xD6 | ヨ | U+FF96 | ヨ | U+30E8 |
0xD7 | ラ | U+FF97 | ラ | U+30E9 |
0xD8 | リ | U+FF98 | リ | U+30EA |
0xD9 | ル | U+FF99 | ル | U+30EB |
0xDA | レ | U+FF9A | レ | U+30EC |
0xDB | ロ | U+FF9B | ロ | U+30ED |
0xDC | ワ | U+FF9C | ワ | U+30EF |
0xDD | ン | U+FF9D | ン | U+30F3 |
0xDE | ゙ | U+FF9E | ゛ | U+309B |
0xDF | ゚ | U+FF9F | ゜ | U+309C |
半形字元與全形字元的比較(韓文字元)
半形字元 | Unicode | 全形字元 | Unicode |
---|---|---|---|
ᅠ | U+FFA0 | ㅤ | U+3164 |
ᄀ | U+FFA1 | ㄱ | U+3131 |
ᄁ | U+FFA2 | ㄲ | U+3132 |
ᆪ | U+FFA3 | ㄳ | U+3133 |
ᄂ | U+FFA4 | ㄴ | U+3134 |
ᆬ | U+FFA5 | ㄵ | U+3135 |
ᆭ | U+FFA6 | ㄶ | U+3136 |
ᄃ | U+FFA7 | ㄷ | U+3137 |
ᄄ | U+FFA8 | ㄸ | U+3138 |
ᄅ | U+FFA9 | ㄹ | U+3139 |
ᆰ | U+FFAA | ㄺ | U+313A |
ᆱ | U+FFAB | ㄻ | U+313B |
ᆲ | U+FFAC | ㄼ | U+313C |
ᆳ | U+FFAD | ㄽ | U+313D |
ᆴ | U+FFAE | ㄾ | U+313E |
ᆵ | U+FFAF | ㄿ | U+313F |
ᄚ | U+FFB0 | ㅀ | U+3140 |
ᄆ | U+FFB1 | ㅁ | U+3141 |
ᄇ | U+FFB2 | ㅂ | U+3142 |
ᄈ | U+FFB3 | ㅃ | U+3143 |
ᄡ | U+FFB4 | ㅄ | U+3144 |
ᄉ | U+FFB5 | ㅅ | U+3145 |
ᄊ | U+FFB6 | ㅆ | U+3146 |
ᄋ | U+FFB7 | ㅇ | U+3147 |
ᄌ | U+FFB8 | ㅈ | U+3148 |
ᄍ | U+FFB9 | ㅉ | U+3149 |
ᄎ | U+FFBA | ㅊ | U+314A |
ᄏ | U+FFBB | ㅋ | U+314B |
ᄐ | U+FFBC | ㅌ | U+314C |
ᄑ | U+FFBD | ㅍ | U+314D |
ᄒ | U+FFBE | ㅎ | U+314E |
ᅡ | U+FFC2 | ㅏ | U+314F |
ᅢ | U+FFC3 | ㅐ | U+3150 |
ᅣ | U+FFC4 | ㅑ | U+3151 |
ᅤ | U+FFC5 | ㅒ | U+3152 |
ᅥ | U+FFC6 | ㅓ | U+3153 |
ᅦ | U+FFC7 | ㅔ | U+3154 |
ᅧ | U+FFCA | ㅕ | U+3155 |
ᅨ | U+FFCB | ㅖ | U+3156 |
ᅩ | U+FFCC | ㅗ | U+3157 |
ᅪ | U+FFCD | ㅘ | U+3158 |
ᅫ | U+FFCE | ㅙ | U+3159 |
ᅬ | U+FFCF | ㅚ | U+315A |
ᅭ | U+FFD2 | ㅛ | U+315B |
ᅮ | U+FFD3 | ㅜ | U+315C |
ᅯ | U+FFD4 | ㅝ | U+315D |
ᅰ | U+FFD5 | ㅞ | U+315E |
ᅱ | U+FFD6 | ㅟ | U+315F |
ᅲ | U+FFD7 | ㅠ | U+3160 |
ᅳ | U+FFDA | ㅡ | U+3161 |
ᅴ | U+FFDB | ㅢ | U+3162 |
ᅵ | U+FFDC | ㅣ | U+3163 |
半形字元與全形字元的比較(其他字元)
半形字元 | Unicode | 全形字元 | Unicode |
---|---|---|---|
⦅ | U+2985 | ⦅ | U+FF5F |
⦆ | U+2986 | ⦆ | U+FF60 |
¢ | U+00A2 | ¢ | U+FFE0 |
£ | U+00A3 | £ | U+FFE1 |
¬ | U+00AC | ¬ | U+FFE2 |
¯ | U+00AF |  ̄ | U+FFE3 |
¦ | U+00A6 | ¦ | U+FFE4 |
¥ | U+00A5 | ¥ | U+FFE5 |
₩ | U+20A9 | ₩ | U+FFE6 |
│ | U+FFE8 | │ | U+2502 |
← | U+FFE9 | ← | U+2190 |
↑ | U+FFEA | ↑ | U+2191 |
→ | U+FFEB | → | U+2192 |
↓ | U+FFEC | ↓ | U+2193 |
■ | U+FFED | ■ | U+25A0 |
○ | U+FFEE | ○ | U+25CB |
OpenType
OpenType字型格式里定義了fwid
、halt
、hwid
和vhal
等GSUB
特性,可以為同樣一個編碼(碼位)的字元供替換成不同的字形(顯示形式)。
參見
參考資料
外部連結
- East Asian Width(頁面存檔備份,存於網際網路檔案館) Unicode Standard Annex #11