| # |
| # Normalization Test Suite |
| # Format: |
| # |
| # Columns (c1, c2,...) are separated by semicolons |
| # Comments are indicated with hash marks |
| # |
| # CONFORMANCE: |
| # 1. The following invariants must be true for all conformant implementations |
| # |
| # NFC |
| # c2 == NFC(c1) == NFC(c2) == NFC(c3) |
| # c4 == NFC(c4) == NFC(c5) |
| # |
| # NFD |
| # c3 == NFD(c1) == NFD(c2) == NFD(c3) |
| # c5 == NFD(c4) == NFD(c5) |
| # |
| # NFKC |
| # c4 == NFKC(c1) == NFKC(c2) == NFKC(c3) == NFKC(c4) == NFKC(c5) |
| # |
| # NFKD |
| # c5 == NFKD(c1) == NFKD(c2) == NFKD(c3) == NFKD(c4) == NFKD(c5) |
| # |
| # 2. For every code point X assigned in this version of Unicode that is not specifically |
| # listed in Part 1, the following invariants must be true for all conformant |
| # implementations: |
| # |
| # X == NFC(X) == NFD(X) == NFKC(X) == NFKD(X) |
| # |
| @Part0 # Specific cases |
| # |