Halfwidth and fullwidth forms
In CJK (Chinese, Japanese and Korean) computing, graphic characters are traditionally classed into fullwidth (in Taiwan and Hong Kong: 全形; in CJK: 全角) and halfwidth (in Taiwan and Hong Kong: 半形; in CJK: 半角) characters. With fixed-width fonts, a halfwidth character occupies half the width of a fullwidth character, hence the name.
In the days of computer terminals and text mode computing, characters were normally laid out in a grid, often 80 columns by 24 or 25 lines. Each character was displayed as a small dot matrix, often about 8 pixels wide, and an SBCS (single byte character set) was generally used to encode characters of western languages.
For a number of practical and aesthetic reasons, Han characters would need to be twice as wide as these fixed-width SBCS characters. These "fullwidth characters" were typically encoded in a DBCS (double byte character set), although less common systems used other variable-width character sets that used more bytes per character.
Halfwidth and Fullwidth Forms is also the name of a Unicode block U+FF00–FFEF.
In Unicode
Halfwidth and Fullwidth Forms | |
---|---|
Range |
U+FF00..U+FFEF (240 code points) |
Plane | BMP |
Scripts |
Hangul (52 char.) Katakana (55 char.) Latin (52 char.) Common (66 char.) |
Symbol sets | Variant width characters |
Assigned | 225 code points |
Unused | 15 reserved code points |
Unicode version history | |
1.0.0 | 216 (+216) |
1.0.1 | 223 (+7) |
3.2 | 225 (+2) |
Note: [1][2][3] |
In Unicode, if a certain grapheme can be represented as either a fullwidth character or a halfwidth character, it is said to have both a fullwidth form and a halfwidth form.
Halfwidth and Fullwidth Forms is the name of Unicode block U+FF00–FFEF, the last of the Basic Multilingual Plane excepting the short Specials block at U+FFF0–FFFF.
Range U+FF01–FF5E reproduces the characters of ASCII 21 to 7E as fullwidth forms, that is, a fixed width form used in CJK computing. This is useful for typesetting Latin characters in a CJK environment. U+FF00 does not correspond to a fullwidth ASCII 20 (space character), since that role is already fulfilled by U+3000 "ideographic space."
Range U+FF65–FFDC encodes halfwidth forms of Katakana and Hangul characters – see half-width kana. Range U+FFE0–FFEE includes fullwidth and halfwidth symbols.
Block
Halfwidth and Fullwidth Forms[1][2] Official Unicode Consortium code chart (PDF) | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
U+FF0x | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / | |
U+FF1x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
U+FF2x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
U+FF3x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
U+FF4x | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
U+FF5x | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | ⦅ |
U+FF6x | ⦆ | 。 | 「 | 」 | 、 | ・ | ヲ | ァ | ィ | ゥ | ェ | ォ | ャ | ュ | ョ | ッ |
U+FF7x | ー | ア | イ | ウ | エ | オ | カ | キ | ク | ケ | コ | サ | シ | ス | セ | ソ |
U+FF8x | タ | チ | ツ | テ | ト | ナ | ニ | ヌ | ネ | ノ | ハ | ヒ | フ | ヘ | ホ | マ |
U+FF9x | ミ | ム | メ | モ | ヤ | ユ | ヨ | ラ | リ | ル | レ | ロ | ワ | ン | ゙ | ゚ |
U+FFAx | HW HF |
ᄀ | ᄁ | ᆪ | ᄂ | ᆬ | ᆭ | ᄃ | ᄄ | ᄅ | ᆰ | ᆱ | ᆲ | ᆳ | ᆴ | ᆵ |
U+FFBx | ᄚ | ᄆ | ᄇ | ᄈ | ᄡ | ᄉ | ᄊ | ᄋ | ᄌ | ᄍ | ᄎ | ᄏ | ᄐ | ᄑ | ᄒ | |
U+FFCx | ᅡ | ᅢ | ᅣ | ᅤ | ᅥ | ᅦ | ᅧ | ᅨ | ᅩ | ᅪ | ᅫ | ᅬ | ||||
U+FFDx | ᅭ | ᅮ | ᅯ | ᅰ | ᅱ | ᅲ | ᅳ | ᅴ | ᅵ | |||||||
U+FFEx | ¢ | £ | ¬ |  ̄ | ¦ | ¥ | ₩ | │ | ← | ↑ | → | ↓ | ■ | ○ | ||
Notes |
History
The following Unicode-related documents record the purpose and process of defining specific characters in the Halfwidth and Fullwidth Forms block:
Version | Final code points[lower-alpha 1] | Count | L2 ID | WG2 ID | Document |
---|---|---|---|---|---|
1.0.0 | U+FF01..FF5E, FF61..FFBE, FFC2..FFC7, FFCA..FFCF, FFD2..FFD7, FFDA..FFDC, FFE0..FFE6 | 216 | (to be determined) | ||
1.0.1 | U+FFE8..FFEE | 7 | (to be determined) | ||
3.2 | U+FF5F..FF60 | 2 | L2/99-052 | Freytag, Asmus (1999-02-05), The math pieces from the symbol font | |
L2/01-033 | Karlsson, Kent; Freytag, Asmus (2001-01-16), Disunify braces/brackets for math, computing science, and Z notation from similar-looking CJK braces/brackets | ||||
L2/01-159 | N2344 | Ad-hoc report on Mathematical Symbols, 2001-04-03 | |||
L2/01-157 | N2345R | Karlsson, Kent (2001-04-04), Proposal to disunify certain fencing CJK punctuation marks from similar-looking Math fences | |||
L2/01-168 | Whistler, Ken (2001-04-10), Bracket Disunification & Normalization Hell | ||||
L2/01-223 | Suignard, Michel (2001-05-23), Discussion of Issues Regarding Bracket Disunification | ||||
L2/01-317 | Suignard, Michel (2001-08-14), Bracket Disunification & Normalization | ||||
L2/01-295R | Moore, Lisa (2001-11-06), Minutes from the UTC/L2 meeting #88 | ||||
|
In OpenType
OpenType has the fwid, halt, hwid and vhal "feature tags" to be used for providing fullwidth or halfwidth form of a character.
See also
- CJK
- Han unification
- Monospaced font
- East Asian punctuation
- Em size - full width forms
- Hangul Jamo (Unicode block)
- Katakana (Unicode block)
- Latin script in Unicode
- Enclosed Alphanumerics - bullet point sequences, some appear as full width (e.g. ⒈,⓵,⑴,⒜,ⓐ)
References
- ↑ "Unicode 1.0.1 Addendum" (PDF). The Unicode Standard. 1992-11-03. Retrieved 2016-07-09.
- ↑ "Unicode character database". The Unicode Standard. Retrieved 2016-07-09.
- ↑ "Enumerated Versions of The Unicode Standard". The Unicode Standard. Retrieved 2016-07-09.
External links
- East Asian Width Unicode Standard Annex #11