→ uranusjr: str 是 utf8 encoding string <-- 這句是否不太對 03/05 18:24
做個小修正
推 x049: ㄜ..大大能用那個網業得例題改看看嗎? 因為我只學c沒學c++ 03/06 00:57
你需要將 utf8 -> ucs4 才能傳給 freetype function FT_Get_Char_Index,
上述方法是我知道的 c++ 轉換方式。
我就是用這樣的方式使用 freetype, 也可以正確將字型中的文字畫出來。
該範例中的 const wchar_t texts[] 需要 ucs4 而不是 utf8。
你用 c 的話要自己找方法把 utf8 轉 ucs4。
你可以先用 20013, 25991 當作 texts input,
這是《中》 《文》的 ucs4 碼,
應該會得到 《中》 《文》 這兩個字。
以下是我的輸出範例
||||||||*||||||||||
||||||||**|||||||||
||||||||*||||||||||
||||||||*||||||||||
||||||||*||||||||||
*******************
*|||||||*||||||||*|
*|||||||*||||||||*|
*|||||||*||||||||*|
*|||||||*||||||||*|
*|||||||*||||||||*|
*|||||||*||||||||*|
*|||||||*||||||||*|
*|||||||*||||||||*|
******************|
*|||||||*||||||||*|
||||||||*||||||||||
||||||||*||||||||||
||||||||*||||||||||
||||||||*||||||||||
||||||||*||||||||||
||||||||*||||||||||
||||||||*||||||||||
|||||||||||||||||||
|||||||||||**|||||||||
|||||||||||*||||||||||
|||||||||||*||||||||||
|||||||||||*|||||||**|
**********************
|||||||||||||||**|||||
||||||*||||||||**|||||
|||||**||||||||*||||||
|||||**||||||||*||||||
||||*||*|||||||*||||||
|||*|||*||||||*|||||||
|||*||||*|||||*|||||||
|||||||||*|||*||||||||
|||||||||*||*|||||||||
||||||||||***|||||||||
||||||||||**||||||||||
|||||||||**|**||||||||
||||||||*||||**|||||||
||||||**|||||||**|||||
||||**||||||||||****||
|***||||||||||||||****
*|||||||||||||||||||||
※ 編輯: descent (36.236.214.210), 03/06/2015 10:05:10
推 x049: 查了蠻久的還是不會改,想知道freetype還有其他取得bitmap 03/06 20:05
→ x049: 的寫法嗎? 03/06 20:08
https://github.com/descent/progs/tree/master/cpp11_utf8
這是我的程式碼 by c++ 參考看看。
※ 編輯: descent (180.217.249.241), 03/06/2015 22:32:17
推 x049: 裡面好像有用到svgalib函式庫,這是需要在linux下才能編譯嗎 03/07 16:50
你可以把 svgalib 移掉, 裡頭有 console 的版本, 只使用 standard io
※ 編輯: descent (182.234.91.197), 03/07/2015 18:09:22