|
@@ -265,92 +265,6 @@ procedure Ansi2WideMove(source:pchar;var dest:widestring;len:SizeInt);
|
|
|
end;
|
|
|
|
|
|
|
|
|
-(*
|
|
|
-function LowerWideString(const s : WideString) : WideString;
|
|
|
- var
|
|
|
- i, slen : SizeInt;
|
|
|
-{$if sizeof(wchar_t) = 4}
|
|
|
- nc : wint_t;
|
|
|
- resindex : SizeInt;
|
|
|
- len : longint;
|
|
|
- valid : boolean;
|
|
|
-{$elseif sizeof(wchar_t) = 2}
|
|
|
- p : PWideChar;
|
|
|
-{$endif sizeof(wchar_t)}
|
|
|
- begin
|
|
|
- slen:=length(s);
|
|
|
- SetLength(result,slen);
|
|
|
-{$if sizeof(wint_t) = 4}
|
|
|
- i:=1;
|
|
|
- resindex:=1;
|
|
|
- while (i<=slen) do
|
|
|
- begin
|
|
|
- nc:=utf16toutf32(s,i,len,valid);
|
|
|
- inc(i,len);
|
|
|
- if (valid) then
|
|
|
- ConcatUTF32ToWideStr(towlower(nc),result,resindex)
|
|
|
- else
|
|
|
- { do nothing }
|
|
|
- pwidechar(@result[i])^:=s[i];
|
|
|
- end;
|
|
|
- { adjust length }
|
|
|
- setlength(result,resindex-1);
|
|
|
-{$elseif sizeof(wchar_t) = 2}
|
|
|
- { avoid unique calls for each character }
|
|
|
- p:=@result[1];
|
|
|
- { this will fail for surrogate pairs, but that's inherent }
|
|
|
- { to choosing sizeof(wint_t)=2, and nothing we can help }
|
|
|
- for i:=1 to length(s) do
|
|
|
- p[i]:=WideChar(towlower(wint_t(s[i])));
|
|
|
-{$else}
|
|
|
-{$error Unsupported wchar_t size}
|
|
|
-{$endif}
|
|
|
- end;
|
|
|
-
|
|
|
-
|
|
|
-function UpperWideString(const s : WideString) : WideString;
|
|
|
- var
|
|
|
- i, slen : SizeInt;
|
|
|
-{$if sizeof(wint_t) = 4}
|
|
|
- nc : wint_t;
|
|
|
- resindex : SizeInt;
|
|
|
- len : longint;
|
|
|
- valid : boolean;
|
|
|
-{$elseif sizeof(wchar_t) = 2}
|
|
|
- p : PWideChar;
|
|
|
-{$endif sizeof(wchar_t)}
|
|
|
- begin
|
|
|
- slen:=length(s);
|
|
|
- SetLength(result,slen);
|
|
|
-{$if sizeof(wchar_t) = 4}
|
|
|
- i:=1;
|
|
|
- resindex:=1;
|
|
|
- while (i<=slen) do
|
|
|
- begin
|
|
|
- nc:=utf16toutf32(s,i,len,valid);
|
|
|
- inc(i,len);
|
|
|
- if (valid) then
|
|
|
- ConcatUTF32ToWideStr (towupper(nc),result,resindex)
|
|
|
- else
|
|
|
- { do nothing }
|
|
|
- pwidechar(@result[i])^:=s[i];
|
|
|
- end;
|
|
|
- { adjust length }
|
|
|
- setlength(result,resindex-1);
|
|
|
-{$elseif sizeof(wchar_t) = 2}
|
|
|
- { avoid unique calls for each character }
|
|
|
- p:=@result[1];
|
|
|
- { this will fail for surrogate pairs, but that's inherent }
|
|
|
- { to choosing sizeof(wint_t)=2, and nothing we can help }
|
|
|
- for i:=1 to length(s) do
|
|
|
- p[i]:=WideChar(towupper(wint_t(s[i])));
|
|
|
-{$else}
|
|
|
-{$error Unsupported wchar_t size}
|
|
|
-{$endif}
|
|
|
- end;
|
|
|
-*)
|
|
|
-
|
|
|
-
|
|
|
function LowerWideString(const s : WideString) : WideString;
|
|
|
var
|
|
|
i : SizeInt;
|