全形和半形
全角和半角是文字的两种显示形式,“全角”指文字字身长宽比为一比一的正方形,而“半角”为宽度为全角一半的文字。现在这两个词通常用来指代计算机中显示的文字。
“fullwidth”的各地常用名称 | |
---|---|
中国大陆 | 全角 |
港澳台 | 全形 |
日韩 | 全角 |
“halfwidth”的各地常用名称 | |
---|---|
中国大陆 | 半角 |
港澳台 | 半形 |
日韩 | 半角 |
意义和用法
在传统的字体排印学中,文字字身长宽比为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 特性[3]。
缩写 | 名称 | 描述 |
---|---|---|
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
|
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
|
⟨ | 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
特性,可以为同样一个编码(码位)的字符供替换成不同的字形(显示形式)。
参见
- CJK
- 半形及全形字符 (Unicode区段)
- 半角假名
- 等宽字体
- Em尺寸——全角的实现形式
注释
参考资料
外部链接
- East Asian Width(页面存档备份,存于互联网档案馆) Unicode Standard Annex #11