diff --git a/src/shared/utils.pas b/src/shared/utils.pas
index f9d8ffafd927c2715bdf5e81907e0a752c4ae020..eab26fb9e07e53fefc6d68377b6e713866c8d94c 100644 (file)
--- a/src/shared/utils.pas
+++ b/src/shared/utils.pas
function Int64ToStrComma (i: Int64): AnsiString;
function UpCase1251 (ch: Char): Char;
+function LoCase1251 (ch: Char): Char;
// `true` if strings are equal; ignoring case for cp1251
function StrEquCI1251 (const s0, s1: AnsiString): Boolean;
end;
+function LoCase1251 (ch: Char): Char;
+begin
+ if ch < #128 then
+ begin
+ if (ch >= 'A') and (ch <= 'Z') then Inc(ch, 32);
+ end
+ else
+ begin
+ if (ch >= #192) and (ch <= #223) then
+ begin
+ Inc(ch, 32);
+ end
+ else
+ begin
+ case ch of
+ #168, #170, #175: Inc(ch, 16);
+ #161, #178: Inc(ch);
+ end;
+ end;
+ end;
+ result := ch;
+end;
+
+
function StrEquCI1251 (const s0, s1: AnsiString): Boolean;
var
i: Integer;