16 ) |
16 ) |
17 |
17 |
18 // A Form denotes a canonical representation of Unicode code points. |
18 // A Form denotes a canonical representation of Unicode code points. |
19 // The Unicode-defined normalization and equivalence forms are: |
19 // The Unicode-defined normalization and equivalence forms are: |
20 // |
20 // |
21 // NFC Unicode Normalization Form C |
21 // NFC Unicode Normalization Form C |
22 // NFD Unicode Normalization Form D |
22 // NFD Unicode Normalization Form D |
23 // NFKC Unicode Normalization Form KC |
23 // NFKC Unicode Normalization Form KC |
24 // NFKD Unicode Normalization Form KD |
24 // NFKD Unicode Normalization Form KD |
25 // |
25 // |
26 // For a Form f, this documentation uses the notation f(x) to mean |
26 // For a Form f, this documentation uses the notation f(x) to mean |
27 // the bytes or string x converted to the given form. |
27 // the bytes or string x converted to the given form. |
28 // A position n in x is called a boundary if conversion to the form can |
28 // A position n in x is called a boundary if conversion to the form can |
29 // proceed independently on both sides: |
29 // proceed independently on both sides: |
30 // f(x) == append(f(x[0:n]), f(x[n:])...) |
30 // |
|
31 // f(x) == append(f(x[0:n]), f(x[n:])...) |
31 // |
32 // |
32 // References: https://unicode.org/reports/tr15/ and |
33 // References: https://unicode.org/reports/tr15/ and |
33 // https://unicode.org/notes/tn5/. |
34 // https://unicode.org/notes/tn5/. |
34 type Form int |
35 type Form int |
35 |
36 |