Recent from talks
Nothing was collected or created yet.
Halfwidth and fullwidth forms
View on Wikipedia
In CJK (Chinese, Japanese, and Korean) computing, graphic characters are traditionally classed into fullwidth[a] and halfwidth[b] 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 and from Unicode.
Rationale
[edit]This section needs additional citations for verification. (April 2021) |

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 an SBCS (single-byte character set) was generally used to encode characters of Western languages.
For aesthetic reasons and readability, it is preferable for Chinese characters to be approximately square-shaped, therefore 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 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,[1] based on the N-byte Hangul code and its EBCDIC translation.
In Unicode
[edit]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:[2]
| Abbreviation | Name | Description |
|---|---|---|
| W | Wide | Naturally wide character, e.g. Hiragana. |
| Na | Narrow | Naturally narrow character, e.g. ISO Basic Latin alphabet. |
| F | Fullwidth | Wide variant with compatibility normalisation to naturally narrow character, e.g. fullwidth Latin script. |
| H | Halfwidth | Narrow variant with compatibility normalisation to naturally wide character, e.g. half-width kana. Includes U+20A9 (₩) as an exception. |
| A | Ambiguous | Characters included in East Asian DBCS codes but also in European SBCS codes, e.g. Greek alphabet. Duospaced behaviour can consequently vary. |
| N | Neutral | Characters which do not appear in East Asian DBCS codes, e.g. Devanagari. |
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
[edit]OpenType has the fwid, halt, hwid, and vhal feature tags to be used to reproduce fullwidth or halfwidth form of a character. CSS provides control over these features using font-variant-east-asian and font-feature-settings properties.[3]
See also
[edit]- East Asian punctuation
- Em size – full width forms
- Enclosed Alphanumerics – bullet point sequences; some appear as fullwidth (e.g. ⒈, ⓵, ⑴, ⒜, ⓐ)
- Han unification
- Hangul Jamo (Unicode block)
- Katakana (Unicode block)
- Latin script in Unicode
Notes
[edit]References
[edit]- ^ "ICU Demonstration - Converter Explorer". demo.icu-project.org. Retrieved 7 May 2018.
- ^ Lunde, Ken (2019-01-25). "Unicode® Standard Annex #11: East Asian Width". Unicode Consortium.
- ^ "Syntax for OpenType features in CSS". Adobe. Retrieved 2023-09-20.
External links
[edit]- East Asian Width Unicode Standard Annex #11
Halfwidth and fullwidth forms
View on Grokipedia<wide> or <narrow>, normalizing to their base forms during text processing.[6] Additionally, the normative East Asian Width property classifies all Unicode characters into categories—such as Narrow (half-em width), Wide (full-em width), Ambiguous (context-dependent), Halfwidth, Fullwidth, and Neutral—to assist in line-breaking, justification, and rendering algorithms for East Asian typography.[2]
Overview
Definition and Purpose
Halfwidth and fullwidth forms are typographic variants of characters, primarily Latin letters, numerals, and punctuation, used in East Asian contexts to achieve balanced spacing in mixed-script text. Halfwidth forms occupy approximately half the width of a standard fullwidth character, typically 1/2 em in fixed-pitch East Asian fonts, while fullwidth forms span a full em width, aligning visually with the square proportions of CJK (Chinese, Japanese, Korean) ideographs.[2][1] The primary purpose of these forms is to enable proportional spacing and visual harmony in fixed-width displays and terminals, where standard narrow Latin characters might appear cramped alongside wider CJK scripts, causing imbalance in line layout and typography. Halfwidth variants support compact, monospaced usage for Latin-like elements in environments requiring efficiency, such as early computing systems, whereas fullwidth variants emulate traditional East Asian typesetting by treating all characters as uniformly square for aesthetic consistency.[2][7] The terminology originates from early computing practices in East Asia: "halfwidth" (or Japanese hankaku) refers to single-byte encoding efficiency in legacy character sets like JIS X 0201, allowing denser text representation, while "fullwidth" (or zenkaku) describes the full visual occupancy in line printers and terminals, often requiring two bytes for broader glyphs.[1][2] These forms are encoded in Unicode's Halfwidth and Fullwidth Forms block (U+FF00–U+FFEF) for compatibility with such legacy systems.[2]Historical Development
The origins of halfwidth and fullwidth forms trace back to the 1960s and 1970s in Japanese computing and printing technologies, where halfwidth katakana characters were developed to enable denser text representation in fixed-width media such as teleprinters and early digital systems. These forms addressed the challenge of integrating Japanese scripts with limited character spaces, initially through standards like JIS X 0201, established in 1976 but rooted in 1969 developments, which encoded 63 halfwidth katakana characters alongside ASCII for single-byte efficiency.[8] This allowed Japanese text to align with monospaced Latin fonts in resource-constrained environments, marking an early milestone in East Asian character encoding.[9] In the late 1970s, IBM advanced these concepts through 8-bit code pages tailored for Japanese, notably CPGID 300 (IBM Japanese DBCS-Host), which integrated halfwidth variants to fit more characters within fixed byte limits while supporting double-byte sets for kanji. Drawing from JIS X 0208-1978, which defined 6,151 characters, including halfwidth katakana from JIS X 0201 and fullwidth forms for broader compatibility, this facilitated data interchange in mainframe and PC systems.[10] This development reflected IBM's globalization efforts to adapt international standards for Japanese typography, with subsequent revisions in the 1980s and 1990s expanding their extended character sets, including non-kanji support to over 2,500 characters by 1999, beyond core JIS standards.[10] The 1980s saw widespread adoption of halfwidth and fullwidth forms in ASCII-compatible systems for East Asian terminals and word processors, driven by the proliferation of personal computing in Japan. Platforms like the NEC PC-9800 series, launched in 1982, relied on encodings such as Shift-JIS, which incorporated halfwidth katakana for efficient text processing and display in business applications.[11] A key milestone was the formalization of ISO 2022 in its 1986 edition, which introduced escape sequences (e.g., ESC F for designation) to switch between halfwidth and fullwidth modes in 7-bit and 8-bit codes, enabling dynamic character set invocation for Japanese protocols and ensuring interoperability across telegraphic and computing networks.[12] By the 1990s, the transition to 16-bit encodings culminated in Unicode's inclusion of halfwidth and fullwidth forms as compatibility mappings for legacy systems, with the Halfwidth and Fullwidth Forms block (U+FF00–U+FFEF) introduced in Unicode 1.1 (1993) to support round-trip conversion from standards like JIS X 0208 and Shift-JIS. This block encoded 240 characters, including fullwidth Latin variants and halfwidth katakana, preserving visual distinctions for East Asian typography while aligning with ISO/IEC 10646.[8] These mappings ensured backward compatibility without altering core Unicode principles, solidifying the forms' role in modern digital text processing.[8]Character Encoding
In Unicode
The Halfwidth and Fullwidth Forms block in Unicode spans the range U+FF00–U+FFEF and encompasses 240 code points, of which 225 are assigned to characters such as fullwidth variants of Latin letters, digits, and punctuation; halfwidth katakana; and related punctuation forms.[5] This block serves primarily as a compatibility zone, enabling the preservation of distinctions from legacy East Asian encodings where character width variants were essential for efficient data storage and display in fixed-width contexts.[2] These characters are classified under the East_Asian_Width property, with fullwidth forms assigned the value "F" (fullwidth) and halfwidth forms assigned "H" (halfwidth), reflecting their intended rendering widths of 1 em and 1/2 em, respectively, in East Asian typography.[2] The inclusion of these forms ensures round-trip compatibility with encodings like Shift JIS, where halfwidth characters (e.g., single-byte katakana) map to their Unicode equivalents without loss of width-specific information, while fullwidth characters (often double-byte) correspond to widened variants of ASCII or other base forms.[2] For instance, the fullwidth Latin capital letter A (U+FF21) has a compatibility decomposition mapping to the standard Latin capital letter A (U+0041).[5] In Unicode normalization, fullwidth and halfwidth characters are treated as compatibility equivalents rather than canonical equivalents, meaning they are not decomposed in Normalization Form C (NFC) or Form D (NFD), which rely solely on canonical mappings to avoid unintended alterations in legacy data.[13] However, in Normalization Form KC (NFKC) and Form KD (NFKD), compatibility decompositions apply, mapping these variants to their base forms (e.g., fullwidth katakana to standard katakana), though this process may disrupt round-trip fidelity with systems dependent on width distinctions.[13] The block was introduced in Unicode version 1.1 in 1993 to accommodate early East Asian character set integrations, with subsequent expansions in later versions, such as Unicode 3.2, adding further CJK punctuation variants to enhance compatibility coverage.[5]Compatibility with Other Standards
In Shift-JIS, standardized as Microsoft Code Page 932, halfwidth katakana characters are encoded in the single-byte range from 0xA1 to 0xDF, drawing from JIS X 0201, while fullwidth characters, including katakana and kanji from JIS X 0208, occupy the double-byte range starting from 0x81 to 0x9F and 0xE0 to 0xEF for the lead byte.[14] This structure ensures backward compatibility with early Japanese computing systems that relied on single-byte efficiency for katakana in limited-storage environments. EUC-JP, a fixed-width encoding prevalent in Unix systems, supports halfwidth katakana through a two-byte sequence where the lead byte 0x8E (equivalent to the SS2 control in ISO-2022) is followed by a trail byte in the 0xA1 to 0xDF range, aligning with JIS X 0201 mappings. Similarly, ISO-2022-JP utilizes escape sequences to switch character sets, with the SS2 control (0x8E) enabling temporary invocation of the JIS X 0201 katakana set for halfwidth forms, facilitating interoperability in email and network protocols on Unix-like platforms.[15] These mechanisms allow seamless mode switching between ASCII, fullwidth JIS X 0208, and halfwidth katakana without disrupting legacy Unix text processing workflows.[16] Chinese standards like GB 2312 primarily encode fullwidth forms for simplified Chinese characters in double-byte sequences, with halfwidth Latin characters handled via single-byte ASCII compatibility in the 0x00 to 0x7F range; extensions in GBK (Code Page 936) incorporate additional halfwidth Latin and symbols to support Windows environments, preserving these mappings in Unicode for data migration. Big5, for traditional Chinese, follows a comparable approach, emphasizing fullwidth glyphs in double-byte ranges while retaining halfwidth Latin for basic interoperability. In Korean standards, KS C 5601 (superseded by KS X 1001) includes halfwidth Hangul compatibility forms, which map to Unicode's U+FFA0–U+FFDC range for round-trip preservation during conversion from legacy systems.[5] Interoperability challenges arise from byte-order differences, as UTF-8 employs variable-length encoding without inherent byte order, contrasting with the big-endian fixed sequences in legacy encodings like EUC-JP and Shift-JIS, potentially causing misalignment in mixed-content streams. Unicode's CESU-8 encoding addresses this by providing a UTF-8-compatible format that serializes surrogate pairs as in Java's modified UTF-8, enabling reliable round-trip handling of fullwidth and halfwidth forms in Java applications interfacing with legacy East Asian data.Font and Typography Support
OpenType Features
OpenType fonts support halfwidth and fullwidth forms through specific feature tags that enable glyph substitution and positioning adjustments, primarily for East Asian typography. The 'fwid' (Full Widths) feature replaces glyphs set on proportional or other widths with full-width variants occupying one em unit, ensuring uniform spacing in CJKV (Chinese, Japanese, Korean, Vietnamese) text; this is achieved via GSUB (Glyph Substitution) lookup type 1 tables.[17] Similarly, the 'hwid' (Half Widths) feature substitutes proportional or full-width glyphs with half-width versions (half an em), commonly applied to Latin characters, figures, or kana in Japanese fonts for compact layouts.[18] The 'halt' (Alternate Half Widths) feature, distinct from 'hwid', repositions existing full-width glyphs to half their nominal width without substitution, using GPOS (Glyph Positioning) lookup type 1; it targets full-width Latin or katakana in Japanese text for better punctuation fit, ignoring proportional forms.[19] These features are mutually exclusive with other width-related tags like 'pwid' (Proportional Widths), which substitutes uniform-width glyphs (e.g., 1/4 to full em) with proportional variants suitable for mixed Latin and CJK content, and they disable kerning ('kern') when active to maintain fixed spacing.[20][17] Glyph substitution and positioning occur through GSUB and GPOS tables, often script-specific such as 'latn' (Latin script) for fullwidth variants of Roman letters within CJK fonts, allowing locale-aware selection based on text context. Fonts like Noto Sans CJK implement these features to toggle between halfwidth and fullwidth glyphs, with 'fwid' enabling wide forms for Japanese or Korean locales while preserving narrow defaults for others.[21] Layout engines integrate these mechanisms for seamless rendering: HarfBuzz processes GSUB lookups to apply width substitutions automatically in mixed East Asian and Latin text, supporting script tags like 'hani' (Han) or 'kana'.[22] Core Text similarly utilizes these features via its typography panel options for "Full Width" ('fwid') and "Half Width" ('hwid'), adjusting widths in heterogeneous scripts without manual intervention.[23] As a fallback for non-monospaced environments, the 'pwid' feature contrasts fixed half/fullwidth forms by providing proportional spacing, which can combine with kerning for natural flow in proportional CJKV typography while avoiding conflicts with monospaced needs like terminals.[20] These features trigger based on Unicode properties such as East Asian Width, ensuring compatibility post-encoding.[17]Rendering Considerations
The Unicode Line Breaking Algorithm, as defined in UAX #14, classifies fullwidth alphabetic characters in the Halfwidth and Fullwidth Forms block (U+FF00–U+FFEF) primarily as "AL" (Alphabetic), which prohibits breaks between them unless tailored, while characters such as halfwidth katakana are treated as "ID" (Ideographic), allowing breaks before or after (ID ÷ ID) to support flexible line formation in mixed scripts.[24] These classifications incorporate wide metrics for fullwidth forms, ensuring they occupy the equivalent of two halfwidth units in East Asian typography, which influences justification by enabling even space distribution across CJK lines without irregular gaps.[24] In scenarios where fonts lack glyphs for halfwidth characters, operating systems like Windows employ font substitution mechanisms in GDI+ that select alternative fonts for missing halfwidth glyphs, often resulting in inconsistent spacing and alignment due to differing metrics during text layout.[25] This fallback behavior prioritizes glyph availability over precise metrics, potentially disrupting monospaced rendering in applications handling mixed-width text. Web rendering of halfwidth and fullwidth forms is managed through CSS properties such asfont-variant-east-asian, which leverages @font-feature-values rules to select variants like full-width or proportional-width for Japanese typography, with additional options like jis78 for specific glyph forms, enabling browsers like Chrome to adjust glyph widths dynamically based on OpenType features.[26] This approach ensures consistent display across devices but requires explicit author control to avoid default substitutions that alter intended spacing.
Platform-specific rendering varies significantly: iOS interfaces for Japanese text favor fullwidth forms to maintain monospaced alignment with kanji and kana, as recommended in Apple's input guidelines for seamless UI integration.[27] In contrast, Android applications, particularly code editors, often default to halfwidth katakana for compact, monospaced output in programming contexts, with metrics adapting to DPI scaling for optimal readability on diverse screen sizes.[28]
Accessibility considerations arise in how screen readers process these forms; tools like NVDA announce fullwidth characters as their standard semantic equivalents without denoting width, treating them identically to halfwidth counterparts for verbal output.[29] However, since fullwidth characters are compatibility equivalents, they are transcribed in braille identically to their base forms without width distinctions.[30]
Usage Contexts
In East Asian Typography
In Japanese typography, fullwidth forms are predominantly used in vertical writing systems, known as tategaki, to ensure balanced columns and a uniform visual rhythm that aligns with the traditional grid-based layout of printed matter. This preference stems from the need for consistent character spacing in columnar formats, where fullwidth glyphs occupy a square em unit, preventing disruptions in line flow and enhancing readability in book spines, novels, and historical texts.[31] Halfwidth katakana, referred to as hankaku, emerged as a practical alternative for space-constrained applications, particularly in technical diagrams and tables, following the establishment of the JIS X 0201 standard in 1976, which encoded these forms as single-byte characters for compatibility with early computing environments.[32] Chinese typographic conventions emphasize fullwidth punctuation in publications employing simplified script, such as the fullwidth comma (U+FF0C, ,) and period (U+FF0E, 。), to harmonize with the square proportions of hanzi characters and maintain optical balance in body text. This approach is codified in style guides for digital and print media, where fullwidth variants ensure seamless integration without introducing irregular spacing. Halfwidth forms remain uncommon in mainland Chinese contexts but persist in Taiwan's Big5 encoding environments, where they support mode-switching between fullwidth Chinese and halfwidth Latin for bilingual interfaces and legacy systems.[33][34] In Korean practices, fullwidth Hangul syllables dominate print media like newspapers, promoting aesthetic uniformity by rendering characters in consistent square cells that echo the modular structure of the script and facilitate grid alignment across pages. This monospaced approach enhances legibility in dense layouts, where varying widths could disrupt the visual harmony essential to journalistic design. Conversely, halfwidth Latin characters are integrated via Hangul-compatible keyboards, enabling efficient input of Romanized terms or acronyms without requiring separate input modes, thus streamlining multilingual composition in everyday typography.[35] Contemporary East Asian design, including manga and advertisements, often mixes halfwidth and fullwidth forms strategically for emphasis and compactness, as seen in the use of halfwidth English loanwords to create visual contrast or fit tight spaces within panels and headlines. For instance, brand names or technical terms may employ halfwidth Roman letters to stand out against fullwidth Japanese or Korean text, adding a modern, international flair. Since the 2000s, the adoption of proportional fonts has diminished the rigid necessity of fullwidth forms, allowing more flexible glyph widths that adapt to digital screens and variable layouts while preserving typographic elegance.[36][37]In Computing and Terminals
Terminal emulators such as xterm and iTerm2 handle halfwidth and fullwidth forms to ensure proper display in grid-based interfaces, where fullwidth characters occupy two cells to match their visual width.[38][39] In xterm, thewcwidth function determines character widths, treating fullwidth CJK and similar characters as double-width for accurate rendering, while supporting legacy encodings like Shift-JIS for input in older applications.[40] iTerm2 similarly provides robust support for fullwidth characters and Unicode, including normalization options that preserve fullwidth attributes during text processing.[41]
In programming environments, Python's unicodedata module includes the east_asian_width() function, which categorizes characters by their East Asian width (e.g., "W" for fullwidth, "N" for narrow/halfwidth) to facilitate console output alignment in CLI tools.[42] This function, based on Unicode Standard Annex #11, is used to compute display widths and prevent misalignment when handling strings with mixed-width characters, such as in custom file listers or progress bars that process CJK filenames akin to how the ls command relies on terminal width calculations.[43][44]
Integrated development environments (IDEs) and text editors incorporate options to manage halfwidth and fullwidth forms for precise cursor positioning and text handling. In Vim, the 'ambiwidth' option controls the rendering of ambiguous-width characters (e.g., certain Latin or Greek symbols), with 'single' treating them as halfwidth like ASCII and 'double' rendering them at fullwidth to align with CJK contexts and avoid cursor misalignment over double-width glyphs.[45] Visual Studio Code extensions, such as Zenkaku-Hankaku, enable toggling between fullwidth and halfwidth Japanese characters, useful for editing comments or code with embedded Japanese text while maintaining consistent formatting.[46]
Web and mobile applications leverage input method editors (IMEs) that integrate halfwidth and fullwidth forms for natural language entry. The Microsoft Japanese IME defaults to half-width alphanumeric input but allows seamless switching to full-width modes (e.g., via F7 for full-width katakana) during composition, supporting both during romaji-to-kana conversion for Japanese text entry.[47] Emoji rendering in these environments often applies fullwidth metrics, where terminals and browsers treat many emojis as double-width to fit grid layouts, ensuring consistent spacing alongside CJK characters.[48]
Legacy systems like IBM z/OS maintain support for halfwidth characters in COBOL applications to ensure compatibility with historical data formats, including EBCDIC code pages that include halfwidth katakana from punch-card eras, facilitating migrations in the 2020s without altering core logic.[49] This backward compatibility allows older COBOL programs to process mixed-width text while integrating with modern Unicode handling.[50]
Examples and Comparisons
Visual Differences
Halfwidth and fullwidth forms exhibit distinct visual characteristics primarily in their horizontal spacing and glyph proportions, designed to integrate with East Asian typography conventions. Fullwidth characters, such as the Latin capital letter A at U+FF21 (A), are rendered with a width approximating 1 em in fixed-pitch East Asian fonts, ensuring they occupy a square-like space comparable to CJK ideographs; for instance, in a standard 12-point font at 96 dpi, this equates to about 16 pixels wide.[2] In contrast, halfwidth forms like the katakana letter A at U+FF71 (ア) span roughly 0.5 em, or half that width, allowing two such characters to fit within the space of one fullwidth slot for denser layout in mixed-script text.[2] This difference facilitates balanced line composition in documents combining Latin scripts with CJK elements, where the purpose of width balancing is to maintain optical evenness across character sets.[5] Punctuation marks further highlight these visual disparities, particularly in vertical alignment and baseline positioning. The fullwidth full stop at U+FF0E (.) is proportioned to align centrally with the optical midline of CJK ideographs, creating a uniform horizontal rhythm in East Asian typesetting.[2] Conversely, the halfwidth period at U+002E (.) typically sits lower on the baseline, aligned with Western Latin conventions, which can disrupt vertical harmony in mixed lines by introducing subtle shifts in perceived height.[5] These alignments ensure fullwidth punctuation integrates seamlessly into ideographic blocks without protruding or receding, while halfwidth variants prioritize compatibility with narrower scripts. In terms of script-specific visuals, fullwidth Latin characters emulate the squareness of CJK glyphs, with bold, blocky strokes that fill the em square for cohesive appearance in bilingual texts.[2] Halfwidth forms for non-Latin scripts, such as those in the range U+FFA0–U+FFDC for compatibility jamo elements, are compressed into a narrower rectangle, suitable for inline insertions like mathematical notation in Japanese publications where space efficiency is key.[5] This compression preserves legibility while reducing footprint, often used to embed symbols without expanding line length. Alignment effects become evident in monospaced fonts, where fullwidth characters maintain straight, non-jagged edges in tabular layouts by matching the uniform cell width of surrounding ideographs.[2] Halfwidth forms, by contrast, enable denser packing in lists or columns, accommodating more content per line without truncation or overflow.[5] However, common pitfalls arise in sans-serif fonts, where halfwidth characters may appear disproportionately narrow due to variable proportions, exacerbating readability challenges on low-resolution displays through increased pixelation and reduced contrast.Specific Character Mappings
The Halfwidth and Fullwidth Forms block (U+FF00–U+FFEF) includes characters designed for compatibility with legacy East Asian encodings, where many have defined compatibility decompositions mapping them to their base forms in other Unicode blocks, such as Basic Latin or CJK Symbols and Punctuation. These mappings are specified in the UnicodeData.txt file and facilitate normalization processes like NFKC, allowing conversion between variant forms while preserving semantic equivalence. Representative mappings are cataloged below in a table, focusing on key categories including Latin letters, punctuation, katakana, and symbols. Each entry shows the variant code point and name, its base form, and brief usage notes derived from the decomposition type (e.g.,| Variant Code Point | Variant Name | Base Code Point | Base Name | Decomposition Type | Usage Notes |
|---|---|---|---|---|---|
| U+FF21 | FULLWIDTH LATIN CAPITAL LETTER A | U+0041 | LATIN CAPITAL LETTER A | Part of fullwidth Latin range U+FF21–U+FF3A, used in East Asian fixed-width contexts. | |
| U+FF41 | FULLWIDTH LATIN SMALL LETTER A | U+0061 | LATIN SMALL LETTER A | Corresponds to fullwidth lowercase range U+FF41–U+FF5A for compatibility. | |
| U+FF01 | FULLWIDTH EXCLAMATION MARK | U+0021 | EXCLAMATION MARK | Fullwidth punctuation U+FF01–U+FF20 mirrors Basic Latin U+0021–U+0040. | |
| U+FF06 | FULLWIDTH AMPERSAND | U+0026 | AMPERSAND | Employed in legacy Japanese encodings for wider visual spacing. | |
| U+FF0E | FULLWIDTH FULL STOP | U+002E | FULL STOP | Standard fullwidth period equivalent. | |
| U+FF61 | HALFWIDTH IDEOGRAPHIC FULL STOP | U+3002 | IDEOGRAPHIC FULL STOP | Halfwidth CJK punctuation U+FF61–U+FF65 for compact layouts. | |
| U+FF71 | HALFWIDTH KATAKANA LETTER A | U+30A2 | KATAKANA LETTER A | Start of halfwidth katakana range U+FF67–U+FF9D, unique to Japanese input systems. | |
| U+FF94 | HALFWIDTH KATAKANA LETTER YA | U+30E4 | KATAKANA LETTER YA | Used in halfwidth katakana for terminal displays and older software. | |
| U+FF66 | HALFWIDTH KATAKANA LETTER WO | U+30F2 | KATAKANA LETTER WO | Includes voiced marks like U+FF9E mapping to U+3099 (KATAKANA VOICED SOUND MARK). | |
| U+FFE5 | FULLWIDTH YEN SIGN | U+00A5 | YEN SIGN | Fullwidth compatibility characters including monetary symbols in U+FFE0–U+FFE6 for East Asian display. | |
| U+FFE1 | FULLWIDTH POUND SIGN | U+00A3 | POUND SIGN | Compatibility form for international currency in East Asian text. | |
| U+FFA1 | HALFWIDTH HANGUL LETTER KIYEOK | U+3131 | HANGUL LETTER KIYEOK | Halfwidth Hangul jamo U+FFA0–U+FFBE for Korean legacy compatibility. | |
| U+FF64 | HALFWIDTH IDEOGRAPHIC COMMA | U+3001 | IDEOGRAPHIC COMMA | Compact variant for CJK typography in narrow spaces. |
.png)