[Lazarus] LazUtf16.IsUTF16CharValid ok?
AlexeyT
aaa5500 at ya.ru
Mon Apr 9 18:44:10 CEST 2018
function IsUTF16CharValid(AChar, ANextChar: WideChar): Boolean;
begin
if AChar = #0 then Exit(False);
Result := ((AChar >= #$D800) and (AChar <= #$DBFF)) and not
((ANextChar >= #$DC00) and (ANextChar <= #$DFFF));
//Result := (Word(AChar) in [$D800..$DBFF]) and not (Word(ANextChar)
in [$DC00..$DFFF]); <= generates range check error
Result := not Result;
end;
maybe better if func also gives True for chars <$D800.
--
Regards,
Alexey
More information about the Lazarus
mailing list