畫在Windows CE 6,我使用AddFontResource()至(宋體的Unicode MS,版本1.0.1)加載ARIALUNI.TTF到系統的字體列表,並支持我們所有的當文本使用字體繪製到屏幕時,遠東語言(日文,韓文,簡體和繁體中文)顯示正確。遠東語言文本無法在Windows Compact 7的
同樣的技術也不會產生在Windows 7精簡屏幕上遠東字符我得到空箱,而不是出現在屏幕上的實際字符,這是我見過當字體不支持必要的字符組。
我對兩個平臺以及相同的字體文件使用相同的代碼。我已經通過代碼進行了調試,以驗證 a)操作系統聲稱該字體實際上是通過AddFontResource()加載到系統字體列表中的, b)操作系統聲稱在實際繪製之前字體會加載到屏幕設備上下文中文本和 c)實際的遠東字符在我交給DrawText()的緩衝區中。 這與CE6下的工作完全相同。
有什麼奇怪的是,我們支持的東部歐洲語言(俄語,捷克語,保加利亞)在Windows上正確顯示Compact 7的我是否無法加載ARIALUNI.TTF。註冊表說默認的系統字體是Tahoma,但我不認爲Tahoma支持基本的西歐語言以外的其他任何東西。它不在CE6下。
我寧可不添加或使用其他字體。 Arialuni.ttf幾乎支持我們可能支持的所有語言,並且它已經是我們用於非西歐語言的唯一語言。
目前已經安裝了其他幾個True-Type字體,因此該選項(而不是光柵字體)已經在我們的操作系統版本。
- 這是arialuni.ttf與Windows Compact 7兼容嗎?
- 有沒有必要在操作系統映像中添加對遠東語言的支持以使此類字體加載和文本繪圖有效?
- 我錯了Tahoma,它現在支持東歐語言嗎?
- 我錯過了什麼?
感謝您的任何和所有的想法。
你用什麼來建立你的應用程序?你使用什麼編程語言?你在運行你的應用程序?我知道Windows CE默認使用Unicode。是否有可能需要在Windows Compact 7的項目中定義UNICODE? –
我們已經在CE 6上成功使用了Visual Studio 2008,並繼續在Compact 7上成功使用它。雖然我們有一些C#組件,但有問題的是C++可執行文件。我們一直以Unicode支持爲基礎,以挑選俄羅斯,保加利亞,捷克,日本,韓國和中國(傳統和簡體)等非西歐語言的外語支持。如上所述,只有遠東語言不能正確繪製,我不明白爲什麼。 – gozer61