#
# 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
#