2007年12月31日 星期一

[轉] wine 中文問題

簡單說就是把wine預設的字型刪除就可以了
rm -rf /usr/share/wine/fonts

wine…預設編碼不是中文??
我現在用wine執行程式遇到一個問題就是程式如果沒有指定編碼的部份中文就會變亂碼無法顯示,而用Cross Over的情況下則是使用了英文字型來顯示沒有指定編碼的部份(會變成“|||”),因為我不知道Cross Over怎麼改字型也不知道能不能改所以把目標集中在wine的env設定,因為能正常顯示中文的部份有設定是使用big5的編碼,我用locale -a看了一下好像沒有zh_TW.big5,這樣還能用big5來執行嗎?我用env="zh_TW.big5"跟env="zh_TW"都會全部變成“?”而用env="zh_TW.utf8"則跟直接執行一樣,所以我想是不是wine在執行的時候遇到沒有指定編碼方式的字就會預設用英文來顯示(順序:env→程式設定),但在XP執行是正常的(沒指定默認big5?),這樣有辦法解決嗎?我搜過論壇的wine字型校調相關文章不過設定後也只能讓字變大;嗯…也許一些程式安裝時無法顯示中文也跟這有相關吧~
PS:程式是自己寫的所以知道沒有指定預設的編碼

我自問自答好了= =
今天研究了一天大概有一點頭緒了,發現以下幾點:
1. wine及其延伸產品Crossover預設使用的“字型名”為System
2. 該字型的“檔名”為cvgasys.fon
3. Windows預設使用的“字型名”為Fixedsys
4. 該字型的“檔名”為cvgafix.fon
5. 以上都跟亂碼沒有直接的關係= =
6. Crossover似乎對“notepad.exe”這個檔名有下奇怪的暗示
7.wine及其延申產品只要使用.fon字型就會產生亂碼

在測試的過程中還發現在Crossover中即使執行中文版的記事本仍會顯示英文介面,而且預設如果用中文字型會變特大號字,但只要改一下檔名即可正常執行
判斷應該是某個設定檔中有記載notepad.exe和字型相關資訊不過我不知道要改哪(正確來說是哪裡都改過了可是都無效…還會自動被改回來)
結論就是…幹掉所有.fon字型即可解決大部份亂碼問題
rm ~/cxoffice/share/wine/fonts/*.fon
wine也是一樣如法炮製
sudo rm /usr/share/wine/fonts/*.fon
如此一來在找不到原本的系統字型就會改用拷進去的ttf、ttc字型了

原文: http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?post_id=16868

沒有留言:

Related Posts Plugin for WordPress, Blogger...