Nick Character Sets

UnrealIRCd now has the ability to specify which "character sets" or languages should be allowed in nicknames. You do this in set::allowed-nickchars.

Available character sets
A table of all possible choices: TODO: table layout

Name:	Description:	Character set/encoding: catalan	Catalan characters	iso8859-1 (latin1) danish	Danish characters	iso8859-1 (latin1) dutch	Dutch characters	iso8859-1 (latin1) french	French characters	iso8859-1 (latin1) german	German characters	iso8859-1 (latin1) swiss-german	Swiss-German characters (no es-zett)	iso8859-1 (latin1) icelandic	Icelandic characters	iso8859-1 (latin1) italian	Italian characters	iso8859-1 (latin1) spanish	Spanish characters	iso8859-1 (latin1) swedish	Swedish characters	iso8859-1 (latin1) latin1	catalan, danish, dutch, french, german, swiss-german, spanish, icelandic, italian, swedish	iso8859-1 (latin1) hungarian	Hungarian characters	iso8859-2 (latin2), windows-1250 polish-iso	Polish characters (note that polish-w1250 is more common!)	iso8859-2 (latin2) romanian	Romanian characters	iso8859-2 (latin2), windows-1250, iso8859-16 latin2	hungarian, polish-iso, romanian	iso8859-2 (latin2) polish-w1250	Polish characters, windows variant	windows-1250 slovak-w1250	Slovak characters, windows variant	windows-1250 czech-w1250	Czech characters, windows variant	windows-1250 windows-1250	polish-w1250, slovak-w1250, czech-w1250, hungarian, romanian	windows-1250 greek	Greek characters	iso8859-7 turkish	Turkish characters	iso8859-9 russian-w1251	Russian characters	windows-1251 belarussian-w1251	Belarussian characters	windows-1251 ukrainian-w1251	Ukrainian characters	windows-1251 windows-1251	russian-w1251, belarussian-w1251, ukrainian-w1251	windows-1251 hebrew	Hebrew characters	iso8859-8-I/windows-1255 chinese-simp	Simplified Chinese	Multibyte: GBK/GB2312 chinese-trad	Tradditional Chinese	Multibyte: GBK chinese-ja	Japanese Hiragana/Pinyin	Multibyte: GBK chinese	chinese-*	Multibyte: GBK gbk	chinese-*	Multibyte: GBK A few notes:
 * The following basic nick characters are always allowed/included: a-z A-Z 0-9 [ \ ] ^ _ - { | }
 * Some combinations can cause problems and will cause an error. For example, combining latin* and chinese-* can not be properly handled by the IRCd and UnrealIRCd will refuse it. Mixing of other charsets might cause display problems. UnrealIRCd will print out a warning if you try to mix latin1/latin2/greek/other incompatible groups.
 * Casemapping (if a certain lowercase character belongs to an upper one) is done according to US-ASCII, this means that characters like &#246; and &#214; are not recognized as 'the same' and hence someone can have a nick with &#225;lpha and someone else &#193;pha at the same time. This is a limitation of the current system and IRCd standards that is hard to solve. People should be aware of this limitation. Note that this limitation already existed in channels (in which nearly any characters have always been available for use, and casemapping was also always performed in US-ASCII).

Example 1: Western Europe
For people in western europe: set { allowed-nickchars { latin1; }; };

Example 2: Chinese
This allows nick names to contain both Simplified Chinese and Traditional Chinese characters:

set { allowed-nickchars { chinese-simp; chinese-trad; }; };