blob: b08f46374ce79f6453d7c716a2f180ef32b22ab2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
A pure Erlang IDNA implementation that folllow the RFC5891.
* support IDNA 2008 and IDNA 2003.
* label validation:
- check NFC: Label must be in Normalization Form C
- check hyphen: The Unicode string MUST NOT contain "--" (two consecutive
hyphens) in the third and fourth character positions and MUST NOT start
or end with a "-" (hyphen).
- Leading Combining Marks: The Unicode string MUST NOT begin with a
combining mark or combining character (see The Unicode Standard,
Section 2.11 Unicode for an exact definition).
- Contextual Rules: The Unicode string MUST NOT contain any characters
whose validity is context-dependent, unless the validity is positively
confirmed by a contextual rule. To check this, each code point
identified as CONTEXTJ or CONTEXTO in the Tables document RFC5892 MUST
have a non-null rule. If such a code point is missing a rule, the label
is invalid. If the rule exists but the result of applying the rule is
negative or inconclusive, the proposed label is invalid.
- check BIDI: label contains any characters from scripts that are written
from right to left, it MUST meet the Bidi criteria rfc5893
|