公告: 本站內所有河洛語文之字詞書寫皆以此為準

[語文學習]河洛語文之常用漢字詞彙收錄概觀

內文: 因內容略大 故開啟時間會稍加延遲                      河洛語文之常用漢字詞彙收錄概觀-1-1                 河洛語文之常用漢字詞彙收錄概觀-1-2               河洛語文 之常用漢字詞彙收錄概觀-2-1    ...

2013年7月9日 星期二

[電腦應用]C++-SDL_ttf, 字串及各種文字(SDL_ttf, string and a variety of text)

1. 目標:
使用C++及SDL_ttf在工作視窗(window)的螢幕畫面上顯示一段含有大小寫英文字母繁簡漢字其他文字數字及符號所組成的字串, 如:
Hello, 我是台灣人永吉(Цолмoн), 爱与和平!! E-mail: poettw2010@gmail.com

2. 做法:

2.1. 確認工作環境:
2.1.1. 作業系統: Windows XP/Vista/Win7
2.1.2. C++編譯工具: Code::Blocks 12.11
將其開檔編碼設為UTF-8(點擊功能列的Settings>Editor...>Other settings>"Encoding"Use encoding when opening files:);
另編輯器之其他選項框內須加入下行橘色文字: 
-fexec-charset=BIG-5
(點擊功能列的Settings>Compiler...>Global compiler settings(全域編輯器設定項目)>Compiler settings>Other options(其他選項))
2.1.3. 安裝函式庫: SDL(Simple DirectMedia Layer)SDL_ttf
最好將其相關的動態連結資料庫(DLL, Dynamic Link Library)與本程式置於同一資料夾中.
2.1.4. 文件格式: 檔案(F)> New> File...> 選擇 "C/C++ source"> 選擇 "C++"

2.2. C++語法及註解:


P.S. 在程式的第82行(MyFont = TTF_OpenFont( "WCL-06.ttf", 30 );)與第83行(MyFont = TTF_OpenFont( "C:/Windows/Fonts/kaiu.ttf", 25 );)可二擇一選用, 若使用前者, 則須將WCL-06.ttf與本程式置於同一資料夾內; 若使用後者, 則須確認載入檔案的路徑是否正確及資料夾Fonts內存有kaiu.ttf, 否則就會出錯.

2.3. 結果:

若使用WCL-06.ttf者, 其畫面如下:







字串中的簡體字"爱"不見了.

若使用kaiu.ttf者, 其畫面如下:








字串中的西里爾字母(кирйллицаCyrillic alphabet)脫落不全了.

2.4. 資源下載:

本C++語法的自解壓縮檔下載位置: SDL_ttf- string and a variety of text.exe(共6.1MB)
內含TrueTypeFonts-Han_simple.cpp與WCL-06.ttf兩個檔案, 於運用前請先考量著作者的權利宣告與使用範圍.

2.5. 改良延伸:

有興趣者可自行增加字串長度段落與畫面尺寸的自動調整功能; (請參: < C++>SDL_ttf, 字串跳行(SDL_ttf, a string to skip a line))
或是改寫成更方便使用的函式或標頭檔; 
或是針對不同的文字自由選擇相應的ttf字體檔; 
或是增加程式執行時可從鍵盤輸入字串的功能...等.

3. 感謝:

感謝網路上每位資訊提供者, 因為有您們無私的貢獻, 讓大家才有更美好的表現.
因為我是初學者, 如未能提供更詳實完整的資訊與解答時, 請見諒.


相關文章:
1. < C++>SDL_ttf, 字串跳行(SDL_ttf, a string to skip a line)
2. < C++>SDL_ttf, 精準地字串跳行(SDL_ttf, a string to skip a line accurately)

沒有留言:

張貼留言