Halfwidth and Fullwidth Forms is a Unicode block U+FF00–FFEF, provided so that older encodings containing both halfwidth and fullwidth characters can have lossless translation to/from Unicode. It is the second-to-last block of the Basic Multilingual Plane, followed only by the short Specials block at U+FFF0–FFFF. Its block name in Unicode 1.0 was Halfwidth and Fullwidth Variants.

Range U+FF01–FF5E reproduces the characters of ASCII 21 to 7E as fullwidth forms. 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+FF61–FF9F encodes halfwidth forms of katakana and related punctuation in a transposition of A1 to DF in the JIS X 0201 encoding – see half-width kana.

The range U+FFA0–FFDC encodes halfwidth forms of compatibility jamo characters for Hangul, in a transposition of their 1974 standard layout. It is used in the mapping of some IBM encodings for Korean, such as IBM code page 933, which allows the use of the Shift Out and Shift In characters to shift to a double-byte character set. Since the double-byte character set could contain compatibility jamo, halfwidth variants are needed to provide round-trip compatibility.

Range U+FFE0–FFEE includes fullwidth and halfwidth symbols.

Block

Halfwidth and Fullwidth Forms[1][2] (PDF)
0123456789ABCDEF
U+FF0x
U+FF1x
U+FF2x
U+FF3x_
U+FF4x
U+FF5x
U+FF6x
U+FF7xソ
U+FF8x
U+FF9x
U+FFAxHW HF
U+FFBx
U+FFCx
U+FFDx
U+FFEx
Notes 1.^ As of Unicode version 17.0 2.^ Grey areas indicate non-assigned code points

The block has variation sequences defined for East Asian punctuation positional variants. They use U+FE00 VARIATION SELECTOR-1 (VS01) and U+FE01 VARIATION SELECTOR-2 (VS02):

Variation sequences for punctuation alignment
U+FF01FF0CFF0EFF1AFF1BFF1FDescription
base code point
base + VS01!︀,︀.︀:︀;︀?︀corner-justified form
base + VS02!︁,︁.︁:︁;︁?︁centered form

An additional variant is defined for a fullwidth zero with a short diagonal stroke: U+FF10 FULLWIDTH DIGIT ZERO, U+FE00 VS1 (0︀).

History

The following Unicode-related documents record the purpose and process of defining specific characters in the Halfwidth and Fullwidth Forms block:

VersionFinal code pointsCountL2 IDWG2 IDDocument
1.0.0U+FF01..FF5E, FF61..FFBE, FFC2..FFC7, FFCA..FFCF, FFD2..FFD7, FFDA..FFDC, FFE0..FFE6216(to be determined)
, )Umamaheswaran, V. S. (2014-01-28), "Resolution M61.01", Unconfirmed minutes of WG 2 meeting 61, Holiday Inn, Vilnius, Lithuania; 2013-06-10/14
Lunde, Ken (2017-02-13), Proposal to add standardized variation sequences
Lunde, Ken (2018-01-21), Proposal to add standardized variation sequences for fullwidth East Asian punctuation
Anderson, Deborah; Whistler, Ken; Pournader, Roozbeh; Moore, Lisa; Liang, Hai; Cook, Richard (2018-01-19), "24. Fullwidth East Asian Punctuation", Recommendations to UTC #154 January 2018 on Script Proposals
Moore, Lisa (2018-02-02), "B.4.1 New Proposal to add standardized variation sequence for U+FF10 FULL WIDTH DIGIT ZERO", UTC #153 Minutes
Moore, Lisa (2018-05-09), "Consensus 154-C17", UTC #155 Minutes, Add 16 standardized variation sequences based on L2/17-436R, for Unicode 12.0.
Iancu, Laurențiu (2019-01-14), Proposed Changes in the Segmentation Property Values for Fullwidth Digits
Moore, Lisa (2019-02-08), "B.11.11.1.2 Proposed changes in the segmentation property values for fullwidth digits", UTC #158 Minutes
1.1U+FFE8..FFEE7(to be determined)
3.2U+FF5F..FF602Freytag, Asmus (1999-02-05), The math pieces from the symbol font
Karlsson, Kent; Freytag, Asmus (2001-01-16), Disunify braces/brackets for math, computing science, and Z notation from similar-looking CJK braces/brackets
Ad-hoc report on Mathematical Symbols, 2001-04-03
Karlsson, Kent (2001-04-04), Proposal to disunify certain fencing CJK punctuation marks from similar-looking Math fences
Whistler, Ken (2001-04-10), Bracket Disunification & Normalization Hell
Moore, Lisa (2001-05-21), "Disunifying Braces and Brackets", Minutes UTC #86 in Mountain View, Jan 2001
Suignard, Michel (2001-05-23), Discussion of Issues Regarding Bracket Disunification
Moore, Lisa (2001-06-18), "Motion 87-M21", Minutes from the UTC/L2 meeting, Reverse the decision made in motion 86-M6 not to disunify brackets.
Suignard, Michel (2001-08-14), Bracket Disunification & Normalization
Moore, Lisa (2001-11-06), "Bracket Disunification and Normalization", Minutes from the UTC/L2 meeting #88
Umamaheswaran, V. S. (2002-04-22), "Resolution M41.1", Draft minutes of WG 2 meeting 41, Hotel Phoenix, Singapore, 2001-10-15/19

See also