Re: Changing part program to display UNICODE strings
John, I just copied your first code and changed the following lines :
WCHAR str[]={(wchar_t)0x6881,(wchar_t)0x6881,(wchar_t)0x9326,
(wchar_t)0x83ef};
LOGFONTW lf={26, 0, 0, 0, 0, FALSE, FALSE, FALSE, DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH | FF_DONTCARE, L"Arial Unicode MS"};
Now its showing some Chinese characters (finaly !!) THANK YOU.
2 remarks :
Can't change CString to CStringW (can't find the CStringW definition)
There must be something wrong with the reading of the unicode file
sinds the passed CString only displays ????? marks.
Here is my code for reading the file :
wchar_t strBuf[20];
CFile myFile;
CString
tempBuf,fileUrl,fileBuf,strBuff,fileContents,engString,retString;
wchar_t firstChar;
int retVal,nrOfBytes;
if (myFile.Open(myXMLPath, CFile::modeRead | CFile::shareDenyNone))
{
if (myFile.Read(&firstChar, sizeof(wchar_t)) > 0)
{
//Unicode
if (firstChar != (wchar_t)0xFEFF)
{
reply = -1;
logMsg << "Error: File : " << languageXMLPath << " is not saved
as UNICODE.";
throw globalException(logMsg,reply);
}
do
{
nrOfBytes = myFile.Read(strBuf,sizeof(strBuf));
tempBuf = (CString)strBuf;
fileBuf = fileBuf + tempBuf.Left(nrOfBytes/2);
}while (nrOfBytes>0);
}
myFile.Close();
myXml.SetDoc(fileBuf);
}
Thanks again,
Peter Favere