crutch redone
parent
fbce2cb299
commit
ef5d94b037
170
signs/init.lua
170
signs/init.lua
|
@ -2,143 +2,111 @@
|
|||
|
||||
-- avoiding of bug with russian input =========================================================================================================
|
||||
local crutch_table = {
|
||||
["233131144"]="А",
|
||||
["235131144"]="а",
|
||||
[string.char(233, 131, 144)]="А",
|
||||
[string.char(235, 131, 144)]="а",
|
||||
|
||||
["233135144"]="Б",
|
||||
["235135144"]="б",
|
||||
[string.char(233, 135, 144)]="Б",
|
||||
[string.char(235, 135, 144)]="б",
|
||||
|
||||
["233139144"]="В",
|
||||
["235139144"]="в",
|
||||
[string.char(233, 139, 144)]="В",
|
||||
[string.char(235, 139, 144)]="в",
|
||||
|
||||
["233143144"]="Г",
|
||||
["235143144"]="г",
|
||||
[string.char(233, 143, 144)]="Г",
|
||||
[string.char(235, 143, 144)]="г",
|
||||
|
||||
["233147144"]="Д",
|
||||
["235147144"]="д",
|
||||
[string.char(233, 147, 144)]="Д",
|
||||
[string.char(235, 147, 144)]="д",
|
||||
|
||||
["233151144"]="Е",
|
||||
["235151144"]="е",
|
||||
[string.char(233, 151, 144)]="Е",
|
||||
[string.char(235, 151, 144)]="е",
|
||||
|
||||
["232135144"]="Ё",
|
||||
["233135145"]="ё",
|
||||
[string.char(232, 135, 144)]="Ё",
|
||||
[string.char(233, 135, 145)]="ё",
|
||||
|
||||
["233155144"]="Ж",
|
||||
["235155144"]="ж",
|
||||
[string.char(233, 155, 144)]="Ж",
|
||||
[string.char(235, 155, 144)]="ж",
|
||||
|
||||
["233159144"]="З",
|
||||
["235159144"]="з",
|
||||
[string.char(233, 159, 144)]="З",
|
||||
[string.char(235, 159, 144)]="з",
|
||||
|
||||
["233163144"]="И",
|
||||
["235163144"]="и",
|
||||
[string.char(233, 163, 144)]="И",
|
||||
[string.char(235, 163, 144)]="и",
|
||||
|
||||
["233167144"]="Й",
|
||||
["235167144"]="й",
|
||||
[string.char(233, 167, 144)]="Й",
|
||||
[string.char(235, 167, 144)]="й",
|
||||
|
||||
["233171144"]="К",
|
||||
["235171144"]="к",
|
||||
[string.char(233, 171, 144)]="К",
|
||||
[string.char(235, 171, 144)]="к",
|
||||
|
||||
["233175144"]="Л",
|
||||
["235175144"]="л",
|
||||
[string.char(233, 175, 144)]="Л",
|
||||
[string.char(235, 175, 144)]="л",
|
||||
|
||||
["233179144"]="М",
|
||||
["235179144"]="м",
|
||||
[string.char(233, 179, 144)]="М",
|
||||
[string.char(235, 179, 144)]="м",
|
||||
|
||||
["233183144"]="Н",
|
||||
["235183144"]="н",
|
||||
[string.char(233, 183, 144)]="Н",
|
||||
[string.char(235, 183, 144)]="н",
|
||||
|
||||
["233187144"]="О",
|
||||
["235187144"]="о",
|
||||
[string.char(233, 187, 144)]="О",
|
||||
[string.char(235, 187, 144)]="о",
|
||||
|
||||
["233191144"]="П",
|
||||
["235191144"]="п",
|
||||
[string.char(233, 191, 144)]="П",
|
||||
[string.char(235, 191, 144)]="п",
|
||||
|
||||
["234131144"]="Р",
|
||||
["232131145"]="р",
|
||||
[string.char(234, 131, 144)]="Р",
|
||||
[string.char(232, 131, 145)]="р",
|
||||
|
||||
["234135144"]="С",
|
||||
["232135145"]="с",
|
||||
[string.char(234, 135, 144)]="С",
|
||||
[string.char(232, 135, 145)]="с",
|
||||
|
||||
["234139144"]="Т",
|
||||
["232139145"]="т",
|
||||
[string.char(234, 139, 144)]="Т",
|
||||
[string.char(232, 139, 145)]="т",
|
||||
|
||||
["234143144"]="У",
|
||||
["232143145"]="у",
|
||||
[string.char(234, 143, 144)]="У",
|
||||
[string.char(232, 143, 145)]="у",
|
||||
|
||||
["234147144"]="Ф",
|
||||
["232147145"]="ф",
|
||||
[string.char(234, 147, 144)]="Ф",
|
||||
[string.char(232, 147, 145)]="ф",
|
||||
|
||||
["234151144"]="Х",
|
||||
["232151145"]="х",
|
||||
[string.char(234, 151, 144)]="Х",
|
||||
[string.char(232, 151, 145)]="х",
|
||||
|
||||
["234155144"]="Ц",
|
||||
["232155145"]="ц",
|
||||
[string.char(234, 155, 144)]="Ц",
|
||||
[string.char(232, 155, 145)]="ц",
|
||||
|
||||
["234159144"]="Ч",
|
||||
["232159145"]="ч",
|
||||
[string.char(234, 159, 144)]="Ч",
|
||||
[string.char(232, 159, 145)]="ч",
|
||||
|
||||
["234163144"]="Ш",
|
||||
["232163145"]="ш",
|
||||
[string.char(234, 163, 144)]="Ш",
|
||||
[string.char(232, 163, 145)]="ш",
|
||||
|
||||
["234167144"]="Щ",
|
||||
["232167145"]="щ",
|
||||
[string.char(234, 167, 144)]="Щ",
|
||||
[string.char(232, 167, 145)]="щ",
|
||||
|
||||
["234171144"]="Ъ",
|
||||
["232171145"]="ъ",
|
||||
[string.char(234, 171, 144)]="Ъ",
|
||||
[string.char(232, 171, 145)]="ъ",
|
||||
|
||||
["234175144"]="Ы",
|
||||
["232175145"]="ы",
|
||||
[string.char(234, 175, 144)]="Ы",
|
||||
[string.char(232, 175, 145)]="ы",
|
||||
|
||||
["234179144"]="Ь",
|
||||
["232179145"]="ь",
|
||||
[string.char(234, 179, 144)]="Ь",
|
||||
[string.char(232, 179, 145)]="ь",
|
||||
|
||||
["234183144"]="Э",
|
||||
["232183145"]="э",
|
||||
[string.char(234, 183, 144)]="Э",
|
||||
[string.char(232, 183, 145)]="э",
|
||||
|
||||
["234187144"]="Ю",
|
||||
["232187145"]="ю",
|
||||
[string.char(234, 187, 144)]="Ю",
|
||||
[string.char(232, 187, 145)]="ю",
|
||||
|
||||
["234191144"]="Я",
|
||||
["232191145"]="я"
|
||||
[string.char(234, 191, 144)]="Я",
|
||||
[string.char(232, 191, 145)]="я"
|
||||
};
|
||||
|
||||
function tobytes(str)
|
||||
byte={}
|
||||
for i = 1, #str do
|
||||
table.insert(byte, string.byte(string.sub(str, i, i)))
|
||||
end
|
||||
return byte;
|
||||
end
|
||||
|
||||
function string.km_rus_crutch_regen(str)
|
||||
byte=tobytes(str)
|
||||
if byte[1]==nil then
|
||||
return ""
|
||||
for key, value in pairs(crutch_table) do
|
||||
str = string.gsub(str, key, value)
|
||||
end
|
||||
text=""
|
||||
i=1
|
||||
repeat
|
||||
if byte[i]>128 then
|
||||
if byte[i+2]~=nil and byte[i+1]~=nil and byte[i] then
|
||||
tmp = byte[i]..byte[i+1]..byte[i+2]
|
||||
else
|
||||
tmp = "0"
|
||||
end
|
||||
|
||||
if crutch_table[tmp]~=nil then
|
||||
char = crutch_table[tmp]
|
||||
i=i+3
|
||||
else
|
||||
char = string.sub(str, i, i+1)
|
||||
i=i+2
|
||||
end
|
||||
else
|
||||
char=string.sub(str, i, i)
|
||||
i=i+1
|
||||
end
|
||||
text=text..char
|
||||
until i>#byte
|
||||
return text
|
||||
return str
|
||||
end
|
||||
|
||||
function km_process_fields(fields)
|
||||
|
|
Loading…
Reference in New Issue