# remove punctiation (cannot be replaced by simple user input normalization, assume input "std::vector:" or "command and conquer:" )

:[SPACE] [SPACE]
,[SPACE] [SPACE]
" [SPACE] [EMPTY]
[EMPTY] [SPACE] PESSIMIZE:0.0000000000001
#match punctuation by space 
#   disabled, because space matches '.', and '.' matches super-popular mispell correction ютуб, or 'n p' matches 'тюз'
#[SPACE] - 
#[SPACE] . 
#[SPACE] / 
#[SPACE] \ 
а[SPACE] а-
б[SPACE] б-
в[SPACE] в-
г[SPACE] г-
д[SPACE] д-
е[SPACE] е-
ж[SPACE] ж-
з[SPACE] з-
и[SPACE] и-
й[SPACE] й-
к[SPACE] к-
л[SPACE] л-
м[SPACE] м-
н[SPACE] н-
о[SPACE] о-
п[SPACE] п-
р[SPACE] р-
с[SPACE] с-
т[SPACE] т-
у[SPACE] у-
ф[SPACE] ф-
х[SPACE] х-
ц[SPACE] ц-
ч[SPACE] ч-
ш[SPACE] ш-
щ[SPACE] щ-
ъ[SPACE] ъ-
ы[SPACE] ы-
ь[SPACE] ь-
э[SPACE] э-
ю[SPACE] ю-
я[SPACE] я-
ё[SPACE] ё-

#single quote as apostrophe 
' ’ 
' ` 

#equalence of / and \ in suggest
/ \
\ /

# some well known cyrillic input replacements

а     ә
i     і ї #latin to cyrillic
и     і ї #from russian layout to cyrrilic 
j     ј   #latin to cyrillic
у     ү ұ
у     ў ӯ
о     ө
х     һ

#turkish dotless i:
ı     i
i     ı

# double chars, for german and ligatures 

ue     ü

ae     ä
ae     æ # latin to latin 
ae     ӕ # latin to cyrillic http://en.wikipedia.org/wiki/%D3%94
ае     ӕ # cyrillic to cyrillic

oe     ö
oe     œ

ss     ß

#special symbols
# №
№0 0
№[SPACE]0 0
№1 1
№[SPACE]1 1
№2 2
№[SPACE]2 2
№3 3
№[SPACE]3 3
№4 4
№[SPACE]4 4
№5 5
№[SPACE]5 5
№6 6
№[SPACE]6 6
№7 7
№[SPACE]7 7
№8 8
№[SPACE]8 8
№9 9
№[SPACE]9 9

# hyphen
[SPACE]–[SPACE] [SPACE]
[SPACE]-[SPACE] [SPACE]

#automatically generated and manualy fixed from unicode diacritics data, for chars used in european Windows/ISO encodings:

a     à á â ã ä å ā ă ą
b     ḃ
c     ç ć ĉ ċ č
d     ď đ ḋ
e     è é ê ë ē ė ę ě
f     ƒ ḟ
g     ĝ ğ ġ ģ
h     ĥ ħ
i     ì í î ï ĩ ī į
j     ĵ
k     ķ
l     ĺ ļ ľ ł
m     ṁ
n     ñ ń ņ ň
o     ò ó ô õ ö ø ō ő ơ
p     ṗ
r     ŕ ŗ ř
s     ś ŝ ş š ș ṡ
t     ţ ť ŧ ț ṫ
u     ù ú û ü ũ ū ŭ ů ű ų ư ӯ
w     ŵ ẁ ẃ ẅ
y     ý ÿ ŷ ỳ
z     ź ż ž
а     ӑ ӓ
г     ґ ғ ѓ
ж     җ
з     ҙ ӟ
к     қ ҝ ќ
н     ң ӈ ӊ
п     ҧ
с     ҫ
т     ҭ
у     ӯ ӱ ӳ
х     ҳ ӽ ӿ
ч     ҷ ҹ ӵ
э     ӭ
е     ё

#automatically generated variants for BMP unicode range (may be deleted, if causes performance problems)

a     à á â ã ä å ā ă ą ǎ ǟ ǡ ǻ ȁ ȃ ȧ ᶏ ḁ ẚ ạ ả ấ ầ ẩ ẫ ậ ắ ằ ẳ ẵ ặ ⱥ
b     ƀ ƃ ɓ ᵬ ᶀ ḃ ḅ ḇ
c     ç ć ĉ ċ č ƈ ȼ ɕ ḉ
d     ď đ ƌ ȡ ɖ ɗ ᵭ ᶁ ᶑ ḋ ḍ ḏ ḑ ḓ
e     è é ê ë ē ĕ ė ę ě ȅ ȇ ȩ ɇ ᶒ ḕ ḗ ḙ ḛ ḝ ẹ ẻ ẽ ế ề ể ễ ệ ⱸ
f     ƒ ᵮ ᶂ ḟ
g     ĝ ğ ġ ģ ǥ ǧ ǵ ɠ ᶃ ḡ
h     ĥ ħ ȟ ɦ ḣ ḥ ḧ ḩ ḫ ẖ ⱨ
i     ì í î ï ĩ ī ĭ į ǐ ȉ ȋ ɨ ᶖ ḭ ḯ ỉ ị
j     ĵ ǰ ɉ ʝ
k     ķ ƙ ǩ ᶄ ḱ ḳ ḵ ⱪ ꝁ ꝃ ꝅ
l     ĺ ļ ľ ŀ ł ƚ ȴ ɫ ɬ ɭ ᶅ ḷ ḹ ḻ ḽ ⱡ ꝉ
m     ɱ ᵯ ᶆ ḿ ṁ ṃ
n     ñ ń ņ ň ŉ ƞ ǹ ȵ ɲ ɳ ᵰ ᶇ ṅ ṇ ṉ ṋ
o     ò ó ô õ ö ø ō ŏ ő ơ ǒ ǫ ǭ ǿ ȍ ȏ ȫ ȭ ȯ ȱ ṍ ṏ ṑ ṓ ọ ỏ ố ồ ổ ỗ ộ ớ ờ ở ỡ ợ ⱺ ꝋ ꝍ
p     ƥ ᵱ ᵽ ᶈ ṕ ṗ ꝑ ꝓ ꝕ
q     ɋ ʠ ꝗ ꝙ
r     ŕ ŗ ř ȑ ȓ ɍ ɼ ɽ ɾ ᵲ ᵳ ᶉ ṙ ṛ ṝ ṟ ꝛ
s     ś ŝ ş š ș ȿ ʂ ᵴ ᶊ ṡ ṣ ṥ ṧ ṩ
t     ţ ť ŧ ƫ ƭ ț ȶ ʈ ᵵ ṫ ṭ ṯ ṱ ẗ ⱦ
u     ù ú û ü ũ ū ŭ ů ű ų ư ǔ ǖ ǘ ǚ ǜ ȕ ȗ ʉ ᶙ ṳ ṵ ṷ ṹ ṻ ụ ủ ứ ừ ử ữ ự
v     ʋ ᶌ ṽ ṿ ⱱ ⱴ ꝟ
w     ŵ ẁ ẃ ẅ ẇ ẉ ẘ ⱳ
x     ᶍ ẋ ẍ
y     ý ÿ ŷ ƴ ȳ ɏ ẏ ẙ ỳ ỵ ỷ ỹ ỿ
z     ź ż ž ƶ ȥ ɀ ʐ ʑ ᵶ ᶎ ẑ ẓ ẕ ⱬ
а     ӑ ӓ
г     ґ ғ ҕ ӷ ӻ
е     ѐ ӗ
ж     җ ӂ ӝ
з     ҙ ӟ
и     ѝ ӣ ӥ
й     ҋ
к     қ ҝ ҟ ӄ
л     ӆ ԓ ԡ
м     ӎ
н     ң ӈ ӊ ԣ
о     ӧ
п     ҧ
р     ҏ
с     ҫ
т     ҭ ꚋ
у     ӯ ӱ ӳ
х     ҳ ӽ ӿ
ч     ҷ ҹ ӵ
ы     ӹ ꙑ
э     ӭ


