全形和半形
全角和半角是文字的两种显示形式,「全角」指文字字身长宽比为一比一的正方形,而「半角」为宽度为全角一半的文字。现在这两个词通常用来指代计算机中显示的文字。
「」的各地常用名稱 | |
---|---|
中国大陸 | |
港澳臺 | 全形 |
日韓 | 全角 |
「」的各地常用名稱 | |
---|---|
中国大陸 | |
港澳臺 | 半形 |
日韓 | 半角 |
意义和用法
在传统的字体排印学中,文字字身长宽比为1比1的正方形金属铅字原本称作「全身」,而宽度只有一半的称为「半身」。另外对于小于一个「全身」的各种铅空称为「分空」,通常称为「二分空」(注意不是「半身」)「三分空」「四分空」「六分空」等等。
「半角/全角」源于日文,其中「角」是「方块」的意思,「全角/半角」在日文里即是原本「正方形/半个正方形大小文字」的本意,与西文字体排印学中Em和En单位含义相同。
而中文里的「角」虽然有「角度」「角落」等含义,却没有「方块」的意思,中文在字体排印时不说「全角/半角」而说「全身/半身」。中文里说「半角/全角」是计算机文字编码技术引入时直接借用了日文的做法[1]。
而目前对于计算机上的文字称作「全角字」「全形字」和「半角字」「半形字」的指代非常混乱。
「全角字」「全形字」可能是指:
- 用两个字节存储的字符
- ASCII(所谓半角拉丁字母、符号及阿拉伯数字)以外所有的字符
- 显示上字身宽度与字体高度相等(即字形外框为正方形)的字形
「半角字」「半形字」时可能指:
- 用单字节存储的字符(可能包括片假名)
- ASCII 字符即拉丁字母、数字和常见符号[註 1]
- 显示上字身宽度为字体高度一半的字形
为了避免混乱,在使用「字宽」的本意时,可以使用从英文倒翻译回中文的「全宽/半宽」(fullwidth / halfwidth)。
历史
在早期的计算机中,英语或拉丁字母语言使用的系统,每一个字母或符号,都是使用一字节的空间(一字节由8位元組成,共256个编码空间)来储存;而汉语、日语及韩语文字,由于数量大大超过256个,故惯常使用两字节来储存一个字符。所以这原本是编码层面的「单字节」「双字节」的问题。
当时使用等宽字体(如DOS、部分文字编辑器等)时,字体也就顺应这种编码形式,将中日韩文字的宽度绘制成拉丁字母和数字的两倍,这样字符的编码存储和显示宽度可以一一对应起来,「单字节」文字显示成「半宽」,「双字节」文字显示成「全宽」。因此当时的用户就开始习惯称中、日、韩等文字为「全形字符」,而称拉丁字母或数字为「半形字符」。
但是,后来计算机的文字编码技术已经发生很大变化,存储一个字符可能用一个、两个、三个或者四个字节(如UTF-8)。一个英文字符即使显示为半宽,依照不同的编码方式,并不一定是用一个字节存储;而日文的片假名也不一定是双字节,也可能用一个字节存储(即“半角片假名”)。因此,现在字符编码存储和字符显示宽度的已经没有一一对应关系。但是由于字符编码和字形宽度曾经的对应关系,很多用户一直习惯性地使用「全角/半角」词汇。
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(韩元符号)[註 2]。 |
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 |
0x | ワ | 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+FF | ㅣ | 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 |
⟨ | U+27E8 |
〈 | U+3008 |
⟩ | U+27E9 |
〉 | U+3009 |
⟪ | U+27EA |
《 | U+300A |
⟫ | U+27EB |
》 | U+300B |
⟬ | U+27EC |
〘 | U+3018 |
⟭ | U+27ED |
〙 | U+3019 |
⟦ | U+27E6 |
〚 | U+301A |
⟧ | U+27E7 |
〛 | U+301B |
OpenType
OpenType字体格式里定义了fwid
、halt
、hwid
和vhal
等GSUB
特性,可以为同样一个编码(码位)的字符供替换成不同的字形(显示形式)。
註釋
参考资料
外部链接
- East Asian Width(页面存档备份,存于) Unicode Standard Annex #11