關於etk的資料實在太少,就連英文資料也是如此。 象emphasis和exhibit之類的程式中文顯示為方塊的問題一直非常困擾,我google了很長時間才在linuxsir論壇上看到一點眉目,不過也是語焉不詳,沒辦法,自己又反復試驗折騰了好久,終於部分解決了問題。 實際上etk程式中文顯示為方塊的問題是由於缺省的etk主題default.edj沒有使用中文字體造成的(opengeu自帶的另外兩個etk主題「日照」和「月光」也一樣),解決的思路如下:
將系統預設的etk主題複製到使用者的etk主題目錄並改名為chinese.edj:
cp /usr/local/share/etk/themes/default.edj ~/.e/etk/themes/chinese.edj
用edje_decc命令將chinese.edj解包成~/.e/etk/themes下的一個chinese目錄:
cd ~/.e/etk/themes
edje_decc chinese.edj
修改
進入這個chinese目錄及其widgets子目錄修改其中的*.edc設定檔,但是怎麼改法就有講究了。 我現在是將系統裡的文泉驛字體複製到chinese目錄中,再在chinese/default.edc檔中添加關於文泉驛字體的alias(比如叫WQY),然後進chinese/widgets子目錄,將裡面的*. edc檔中幾個明顯出現Vera和Sans這樣的字體名字的地方都改成了WQY。 我沒有把Vera-It和Vera-Bd這樣的斜體和粗體也改成WQY,因為這樣對於英文來說就沒有斜體和粗體的區分了,而如果把這些字體也替換成不同的中文字體添加進去的話,打包出來的etk主題檔太大。 所以這樣只解決了普通字體中文顯示的問題,如果etk程式介面中出現斜體和粗體的話中文還是有方框。 也許etk主題檔中可以實現直接引用系統字體檔,不過我還沒有好好研究試驗。
重新封包
改完之後運行這個chinese目錄下的build.sh腳本就可以重新封包成一個chinese.edj主題檔,只需將它移動回去覆蓋原來的那個:
./build.sh
mv chinese.edj ..
用etk_prefs命令套用該主題檔:
etk_prefs --theme=chinese搞定。 為方便人民群眾,我把自己製作的chinese.edj提供出來:
HTTP://cid-395fa98992dfdc37.skydrive.live.com/self.aspx/software/chinese.edj