
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. Unlike
monospaced fonts, a halfwidth character occupies half the width of a fullwidth character, hence the name.
''
Halfwidth and Fullwidth Forms'' is also the name of a
Unicode block U+FF00–FFEF, provided so that older encodings containing both halfwidth and fullwidth characters can have lossless translation to/from Unicode.
Rationale

In the days of
text mode computing, Western characters were normally laid out in a grid on the screen, often 80 columns by 24 or 25 lines. Each character was displayed as a small
dot matrix, often about 8
pixels wide, and a
SBCS (single-byte character set) was generally used to encode characters of Western languages.
For aesthetic reasons and readability, it is preferable for
Han characters to be approximately square-shaped, thusly twice as wide as these fixed-width SBCS characters. As these were typically encoded in a
DBCS (double-byte character set) this also meant that their width on screen in a
duospaced font
A duospaced font (also called a duospace font) is a fixed-width font whose letters and characters occupy either of two integer multiples of a specified, fixed horizontal space. Traditionally, this means either a single or double character width, al ...
was proportional to their byte length. Some terminals and editing programs could not deal with double-byte characters starting at odd columns, only even ones (some could not even put double-byte and single-byte characters in the same line). So the DBCS sets generally included Roman characters and digits also, for use alongside the CJK characters in the same line.
On the other hand, early Japanese computing used a single-byte code page called
JIS X 0201 for
katakana. These would be rendered at the same width as the other single-byte characters, making them
half-width kana characters rather than normally proportioned kana. Although the JIS X 0201 standard itself did not specify half-width display for katakana, this became the visually distinguishing feature in
Shift JIS between the single-byte JIS X 0201 and double-byte
JIS X 0208 katakana. Some IBM code pages used a similar treatment for
Korean jamo,
based on the
N-byte Hangul code and its
EBCDIC translation.
In Unicode
For compatibility with existing character sets that contained both half- and fullwidth versions of the same character,
Unicode allocated a single block at U+FF00–FFEF containing the necessary "alternative width" characters. This includes a fullwidth version of all the
ASCII characters and some non-ASCII punctuation such as the Yen sign, halfwidth versions of katakana and
hangul, and halfwidth versions of some other symbols such as circles. Only characters needed for lossless round trip to existing character sets were allocated, rather than (for instance) making a fullwidth version of every Latin accented character.
Unicode assigns ''every'' code point an "East Asian width"
property. This may be:
Terminal emulators can use this property to decide whether a character should consume one or two "columns" when figuring out tabs and cursor position.
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
*
Han unification
*
East Asian punctuation
*
Em size β full width forms
*
Hangul Jamo (Unicode block)
Hangul Jamo ( ko, νκΈ μλͺ¨, ) is a Unicode block containing positional (''choseong'', ''jungseong'', and ''jongseong'') forms of the Hangul consonant and vowel clusters. They can be used to dynamically compose syllables that are not avail ...
*
Katakana (Unicode block)
Katakana is a Unicode block containing katakana characters for the Japanese and Ainu languages.
Block
History
The following Unicode-related documents record the purpose and process of defining specific characters in the Katakana block:
Se ...
*
Latin script in Unicode
*
Enclosed Alphanumerics β bullet point sequences, some appear as full width (e.g. β,β΅,β΄,β,β)
References
External links
East Asian WidthUnicode Standard Annex #11
{{Unicode navigation
Kana
*Halfwidth