Irrlicht 1.6 with FreeType2 (ANSI base)
Vista Japanese edition (shift-jis enviroment)
Issue
From Version 1.6, Multibyte strings are displayed in FileOpenDialog by #2450094 patch. thanks bitplane. But strings are garbled. Because two functions affect in CFileList.cpp and CFileSystem.cpp. This flow worked fine until 1.5.
Code: Select all
CFileList.cpp
u32 CFileList::addItem(const io::path& fullPath, u32 size, bool isDirectory, u32 id)
{
//...
entry.Name.replace('\\', '/');
//...
if (IgnoreCase)
entry.Name.make_lower();
Code: Select all
CFileSystem.cpp
io::path& CFileSystem::flattenFilename(io::path& directory, const io::path& root) const
{
directory.replace('\\', '/');
//...
IFileList* CFileSystem::createFileList()
{
//...
Path.replace('\\', '/');
And two is replace('\\', '/'). It has same issue above one. The file named コンソール(console) split into two parts on the way.
there is bug test patch for Ver.1.6. (need FreeType2 & Multibyte font). This issue also happens at Bitmap Font.
bug test patch
Improvement
For internationalization, I think that this is the time to switch system to Unicode from ANSI. This problem can't be fundamentally solved in the ANSI environment.
I tried to compile Irrlicht with VC2008's Unicode swich and _IRR_WCHAR_FILESYSTEM flag. There is Unicode patch fixed compilation errors (not clean up). It's work fine
Irrlicht 1.6 Unicode with Freetype
Don't you switch to unicode base?