2015年12月8日 星期二

[JUCE] Image Viewer Development Log 5 - Support Chinese

之前的程式,如果遇到中文或是日文等 Sans-Serif font 都會呈現亂碼

這次要解決這個問題

1. 先來看看原本會出現的現象


2. 首先解決 FileChooser 顯示 Sans-Serif font

   其實並不困難,只要在 MainContentComponent 的 constructor 加一行 code 就可以了

   這邊用 Microsoft JhengHei UI 這個 Windows7 自帶的 Sans-Serif font


   這樣修改之後,FileChooser 就可以正常顯示中文,日文也沒問題,因為都是 Sans-Serif font

   但可以看到紅框處依然還是亂碼,那是因為那邊必須去修改 ImagePreviewComponent



3. 修改 ImagePreviewComponent 相對麻煩一點

   一開始使用的方式是去直接修改 juce_ImagePreviewComponent.cpp 下的 paint()

   可以 work,但是這樣就會動到 JUCE 原本的 code,所以不打算這樣改

   因此自己重刻一個 MyImagePreviewComponent

   也不困難,就是把  juce_ImagePreviewComponent.cpp 和  juce_ImagePreviewComponent.h

   的內容複製一份,然後把檔名以及有用到之前的 class name 的地方都改成

   MyImagePreviewComponent 就好

   最後的步驟就是去修改 MyImagePreviewComponent.cpp下的 paint()
 

4. 到 MainComponent.cpp 的 openImageFile()

   將原本使用的 ImagePreviewComponent 換成 MyImagePreviewComponent 就OK了


5. 成果



沒有留言:

張貼留言