研究CEGUI首先想解決中文顯示問題,我在網(wǎng)上找了很多關(guān)于中文現(xiàn)實(shí)的問題,結(jié)果發(fā)現(xiàn)只對CEGUI的FontDemo例子有效果,其他的例子都不行,后來發(fā)現(xiàn)原來是源代碼文件的編碼格式問題,原來只有FontDemo的源代碼文件Unicode(utf-8 無簽名)格式,其他都不是此格式,我用vs2003把其他源代碼文件轉(zhuǎn)為Unicode(utf-8 無簽名)格式,就可以正常顯示中文了。

以CEGUI自帶的最簡單的例子FirstWindow為例,先將Sample_FirstWindow.cpp轉(zhuǎn)為Unicode(utf-8 無簽名)格式保存。
將系統(tǒng)文件夾的黑體字字庫文件simhei.ttf拷貝到CEGUI-0.7.1\datafiles\fonts目錄里,然后在FirstWindowSample::initialiseSample() 函數(shù)中添加以下代碼:
    FontManager::getSingleton().createFreeTypeFont("DefaultFont", 10/*pt*/, true, "simhei.ttf");
    // 設(shè)為默認(rèn)字體
    System::getSingleton().setDefaultFont("DefaultFont");
然后再在同一個(gè)函數(shù)內(nèi)將wnd->setText("Hello World!");
改為:
     wnd->setText((CEGUI::utf8*)"大家好!Hello World!");記住一定要有CEGUI::utf8*指針。
 編譯運(yùn)行即可。