Might be the solution. http://www.gnu.org/software/libiconv/
2008/11/7 Robert Osfield <[EMAIL PROTECTED]> > Hi Machael, > > I've now reviewed and merged all your changes - boy what a lot of > changes! All the changes look sound, save for a couple cross platform > build problems that were easily fixed. The changes are now checked in > to SVN. > > The only open ended part left looks to be the non windows UT8 support. > > #else > //TODO: Implement for other platforms > osg::notify(osg::WARN) << "ConvertUTF16toUTF8 not implemented." << > std::endl; > return std::string(); > #endif > > I'm afraid I'm not up to speed to UTF so can't suggest a fix for this. > The UTF8 support is not compiled in by default so this shouldn't be a > problem till someone tries to enable it on a non windows platform. > > Any thoughts? > > Robert. > > On Tue, Oct 28, 2008 at 7:32 PM, Michael Platings > <[EMAIL PROTECTED]> wrote: > > Hi Robert, I'm resubmitting with the changes you suggested. > > The great majority of the changes here are just fopen -> osgDB::fopen > > and std::fstream/ifstream/ofstream to osgDB::fstream/ifstream/ofstream > > Thanks > > Michael Platings > > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of > > Robert Osfield > > Sent: 07 October 2008 13:24 > > To: OpenSceneGraph Submissions > > Subject: Re: [osg-submissions] Unicode support for Windows > > > > Hi Michael, > > > > I have just done a review of all the changes, and rather than > > overwhelmed by the extent of the changes. While I'm impressed at how > > thorough you've been - it's clearly taken quite a bit of work, I am > > rather concerned about the nature of the changes and in particular the > > ongoing readability and maintainability of them. For this reason I > > won't be merging this submission as is. > > > > I do understand the need to be able to cope with this issue, so would > > suggest an discussion about the different ways we could tackle it, since > > the way we use ifstream, ostream and fopen usage will all have to > > altered in some way I believe that this type of discussion should be > > done on osg-users. Hopefully we'll be able to come up with an approach > > that is straight forward to implementent and maintain and we can then go > > do a pure on the code base to move it across to using the new scheme. > > > > Could you introduce the topic on osg-users? > > > > Robert. > > > > On Mon, Oct 6, 2008 at 2:28 PM, Michael Platings > > <[EMAIL PROTECTED]> wrote: > >> Hi Robert, > >> Windows doesn't support the UTF-8 code-page. Therefore any filename > >> containing a character outside the current code-page cannot be loaded > >> by OpenSceneGraph. > >> To fix this I have added a OSG_USE_UTF8_FILENAME advanced option for > >> CMake (off by default) When enabled, all file access functions use the > > > >> wide-character alternative (e.g. _wfopen instead of fopen). The > >> filename argument is assumed to be a > >> UTF-8 string which is converted to a UTF-16 string. > >> > >> Thanks, > >> Michael Platings > >> > >> BTW, here's a good discussion of the problem previously posted by Ben > >> Discoe. His statement that C++ stream IO doesn't support wide > >> filenames seems to be true in the standard, however Visual C++ does > >> allow wide-string filenames. > >> > >> OSG on Windows passes your strings directly to fopen, or the C++ > >> stream equivalent. File paths are assumed to be in the local OS's > >> filesystem character set. This means that e.g. Chinese filenames can > >> be opened on computers with Chinese version of Windows, and Western > >> filenames can be opened on computer with Western version of Windows. > >> So, to do exactly what you describe below, OSG already does it. > >> > >> However, it is true that if a Chinese user sent you a file with a > >> Chinese filename, you could not open it with OSG on your non-Chinese > >> OS. To do that, OSG would indeed have to add Unicode filename support. > > > >> Unicode means that any file can be opened on any machine. > >> > >> To support Unicode ,with the C standard lib on Windows, it is quite > >> easy to replace usage of fopen with _wfopen. However, there are many > >> places in OSG's code base where the C++ stream IO is used instead of > >> fopen. AFAIK, there is no _w version of those methods, so OSG is > > stuck. > >> > >> Just as a note, this whole thing is delightfully a non-issue on Mac OS > > > >> X, and (some?) flavors of Linux, in which UTF-8 is the filesystem > >> charset, so plain old fopen() handles everything. > >> > >> -Ben > >> > >>> ---------- > >> > >>> From: Reed McKenna > >> > >>> Sent: Tuesday, April 22, 2008 4:00 PM > >> > >>> > >> > >>> We build an application for Windows XP using OpenSceneGraph. We have > >> > >>> more and more users from Asian countries who want to read in files > >> > >>> that have names with Asian characters. Windows' NTFS file system > >> > >>> stores file names in Unicode. How can I have osgDB::readNodeFile (and > >> > >>> writeNodeFile, etc.) read from and write to these files, using the > >>> full NTFS Unicode file name? > >> > >>> If it is not currently possible, are there any plans in the works to > >> > >>> make it possible? > >> > >>> > >> > >>> Reed > >> > >> _______________________________________________ > >> > >> osg-users mailing list > >> > >> [EMAIL PROTECTED] > >> > >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph. > >> org > >> ______________________________________________________________________ > >> This email and any files transmitted with it are confidential and > >> intended solely for the use of the individual or entity to whom they > >> are addressed. If you have received this email in error please notify > >> the system manager. > >> > >> This email has been scanned by the MessageLabs Email Security System. > >> For more information please visit http://www.messagelabs.com/email > >> ______________________________________________________________________ > >> > >> _______________________________________________ > >> osg-submissions mailing list > >> [email protected] > >> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscene > >> graph.org > >> > >> > > _______________________________________________ > > osg-submissions mailing list > > [email protected] > > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegr > > aph.org > > > > ______________________________________________________________________ > > This email has been scanned by the MessageLabs Email Security System. > > For more information please visit http://www.messagelabs.com/email > > ______________________________________________________________________ > > > > ______________________________________________________________________ > > This email and any files transmitted with it are confidential and > > intended solely for the use of the individual or entity to whom they > > are addressed. If you have received this email in error please notify > > the system manager. > > > > This email has been scanned by the MessageLabs Email Security System. > > For more information please visit http://www.messagelabs.com/email > > ______________________________________________________________________ > > _______________________________________________ > > osg-submissions mailing list > > [email protected] > > > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > > > > > _______________________________________________ > osg-submissions mailing list > [email protected] > > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > -- The truth is out there. Usually in header files.
_______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
