Here you can find locales configuration files.

(!) The idea and several locale files are derived from Bynets UnrealIRCd distribution (See https://bynets.org)

*** File structure ***

Each file consists of 5-7 lines:
1: List of additional allowed characters

2: List of additional allowed multibyte characters ranges. In form: Sa_1 Ea_1 Sa_2 Ea_2 Sb_1 Eb_1 Sb_2 Eb_2... Total numbers count should be dividend of 4
   Sx_1 Start of highest byte
   Ex_1 End of highest byte
   Sx_2 Start of lowest byte
   Ex_2 End of lowest byte

3: List of additional characters that should be treated as upper-case

4: 255 characters table - to-lower case conversion table. 
Can be useful for example for comparing nicknames that contains similar-looking characters with different codes.

5: 255 characters table - to-upper case conversion table. 
Can be useful for example for comparing nicknames that contains similar-looking characters with different codes.

6: List of additional UTF-8 allowed characters

7: List of additional UTF-8 ranges (character followed by 1-byte "range").

8: List of additional UTF-8 ranges (i.e. start1, end1, start2, end2,... UTF8-characters between each start-end pair assumed valid).

*** Line format ***

Each line can be list of characters or decimal/hexadecimal/octal codes divided by spaces or commas in form like:
0 1 2 / 00 01 02 / 0x01 0x02 0x03...
or
'a', 'b', 'c'
or combined:
x01, 002 'a', 'b', 'c',

It is also possible to write plain-text line of characters. In this case it should begin with a . (dot) character. For example:
.abcdefABCDEF23432*&^*
In this case every character of line except first dot specifies one character-code for table

*** Notice ***

"bynets" directory contains tables from Bynets' UnrealIRCd distribution. You might find them useful.

*** TODO ***

- UTF-8 collation rules (Inapplieable to InspIRCd atm).
