最近打算用guichan作為hge的UI庫,來做開發。如果用它做UI庫,首先要解決的問題就是中文的顯示和中文的輸入。但是我google了幾天,也沒找到相關的資料,所以打算自己從hge開始為guichan添加中文支持。
    我的中文顯示方案是微妙的平衡在他blog上公布的方案,其中還包含了Kevin Lynx的freetype方案,這個就不用多說了都有現成的demo,關鍵是把guichan接受的中文文本通過hge渲染出來,kevin lynx已經將guichan整合到hge中了,而這個中間層的幾個類中,有一個關于字體HGEImageFont類,這個類中用于字體渲染的成員變量mHGEFont是hgeFont(即hge的默認字體類)的實例,將這個成員變量換成FontSprite的,這個字體類是支持中文現實的,然后HGEImageFont的函數做相應修改。最后就是字符的轉換,guichan接受的是std::string參數,但是在FontSprite接受的參數是wchar_t,所以這里需要做一個std::string到std::wstring的字符轉換,這樣漢字才能正常渲染。
以下為截圖: