Nameprep is the process of Unicode NFKC normalization, case-folding to lowercase and removal of some generally invisible code points before it is suitable to represent a domain name, or other such canonical name. It is used by IDNA. Unicode is an industry standard designed to allow text and symbols from all of the writing systems of the world to be consistently represented and manipulated by computers. ... Text normalization is a process by which text is transformed in some way to make it consistent in some way which it may not have been before. ... The term domain name has multiple related meanings: A name that identifies a computer or computers on the internet. ... Example of Arabic IDN Example of Chinese IDN An internationalized domain name (IDN) is an Internet domain name that (potentially) contains non-ASCII characters. ...
Nameprep is defined in RFC 3491, "Nameprep: A Stringprep Profile for Internationalized Domain Names (IDN)", as a profile of Stringprep, which is described in RFC 3454, "Preparation of Internationalized Strings ("stringprep")."
It does not map lookalike characters to a single character nor prohibit the use of lookalike characters. There are good reasons for this, such as the fact that fonts differ in which characters are lookalikes, and the fact that any decision on which character to map to will obviously provide a bias towards users of one script, but it has potentially grave implications for security if not considered by the designers and administrators of systems based on nameprep (the best known example of this being Verisign's handling of IDNA names in .com and .net).