Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Normalization

From Sequence, press n to compare the input with its NFC, NFD, NFKC, and NFKD normalized forms.

sauva 'Á①ffi'

Normalization comparison

Forms

FormTransformation
NFCCanonical decomposition followed by canonical composition
NFDCanonical decomposition
NFKCCompatibility decomposition followed by canonical composition
NFKDCompatibility decomposition

Canonical normalization handles equivalent representations, such as a precomposed accented letter and a letter followed by a combining mark. Compatibility normalization also converts characters such as circled digits and ligatures, and can remove distinctions in their original presentation. See Unicode Normalization Forms for the specification.

Examples of individual transformations:

InputFormResult
A + U+0301NFCÁ (U+00C1)
Á (U+00C1)NFDA + U+0301
① (U+2460)NFKC1 (U+0031)
ffi (U+FB03)NFKDffi

Comparison

The comparison screen shows:

  • The original text and its code point sequence.
  • Whether each form changes the input.
  • Code point (CP), UTF-8 byte (Bytes), and grapheme cluster (GC) counts for each form.
  • The selected form's result, code point sequence, and number of changed regions.

Changed regions use the configured difference colors and underlining. Spaces and invisible characters are represented with display aids; the copied result contains the actual normalized text.

Inspect a Result

Each normalized result can be opened as a code point list.

Normalization result

The result is shown alongside the original code point list. As you select a result code point, the corresponding region in the original is highlighted and brought into view. This makes compositions and expansions easier to follow.

Result code points can be opened in the Inspector to read their properties.

Copying

Quick copying from form comparison takes the whole normalized result as text. The copy dialog offers other formats and, from the result list, code point and grapheme cluster targets.

Operations

KeysIn form comparisonIn a result list
Up / DownSelect a formSelect a code point
EnterOpen the selected resultOpen the selected code point in the Inspector
yCopy the whole normalized result—
YOpen the copy dialog for the whole resultOpen the copy dialog
EscReturn to the original sequenceReturn to form comparison

Backspace in the Inspector returns to the result list.

See Keybindings for all comparison, result list, and copy dialog controls.