When I type in some cyrillic characters into WP5.38 demo, save the file as RTF and load it again, text has gone.
If I load RTF file containing cyrillic text created with WordPad, everything is ok.
It seems that it is the case not only with cyrillic characters, but all outside CP1252.
I have located a code in WPIOWRITERTF.PAS, introduced in WP5.38 which seems to be responsible for this behaviour, but I don't know how to fix it.
Code
{$ENDIF}
else
begin
usedDefault := false;
if OptCodePage <> 1252 then // Save using codepage ?
begin
DefaultChar := '?';
WideCharToMultiByte(
OptCodePage,
WC_COMPOSITECHECK or WC_DISCARDNS or WC_SEPCHARS or WC_DEFAULTCHAR,
@aChar, 1,
@buffer[0], 10,
@DefaultChar, @usedDefault);
if not usedDefault then
inherited WriteChar(aChar);
end;
if usedDefault then
begin
WriteStringAndValue('\u', Integer(aChar));
Result := WriteString(' ?');
end;
FNeedSpace := FALSE;
end;
end;
Alles anzeigen