wine 中文问题[ 完美解决 wine设置一步到位]

Wine、Cedega、CrossOver 等配置
头像
ptpt52
帖子: 717
注册时间: 2008-07-27 8:51
系统: Ubuntu/Windows
来自: 广西玉林|广东深圳
联系:

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#46

帖子 ptpt52 » 2010-05-30 22:01

用wine-cn 后,wine 帝国时代3英文版本字体很难看
走过去了也便有了路
http://www.ptpt52.com/
头像
ptpt52
帖子: 717
注册时间: 2008-07-27 8:51
系统: Ubuntu/Windows
来自: 广西玉林|广东深圳
联系:

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#47

帖子 ptpt52 » 2010-05-30 22:03

xrfang, 有个问题想问一下,你们patch修改的地方为什么会有效,原理是什么,我不太明白,你能不能跟我解释一下呢?
走过去了也便有了路
http://www.ptpt52.com/
victorfuts
帖子: 5
注册时间: 2010-05-31 6:01

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#48

帖子 victorfuts » 2010-05-31 6:24

已解决
上次由 victorfuts 在 2013-09-13 19:31,总共编辑 1 次。
头像
adsl
帖子: 61
注册时间: 2010-04-05 16:43
来自: 山东临沂
联系:

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#49

帖子 adsl » 2010-06-02 15:21

正在找,不知道这个管不管用 :em06 :em06 :em06
http://shop100148913.taobao.com/ 欢迎光临偶滴小店
头像
xrfang
帖子: 1116
注册时间: 2006-12-08 10:21

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#50

帖子 xrfang » 2010-06-03 23:16

ptpt52 写了:xrfang, 有个问题想问一下,你们patch修改的地方为什么会有效,原理是什么,我不太明白,你能不能跟我解释一下呢?
修改的什么地方,你一看patch文件就知道了。原理我只能比较肤浅的说一下,说老实话我也不知道怎么就不被官方所接受。Dan Kegel (WineTricks的作者,Wine项目的重量级人物)曾经回复过我在Wine Bug列表里面的提交,说这问题不是这么解的,因为Wine的目标是要尽量和Windows的行为保持一致云云,反正我也不完全明白。

至于这个问题,你如果看到口口这样的,其实中文已经没有问题了,只不过此程序所使用的字体中不包含中文(典型的就是飞狐中这块东西用的是System字体,在Windows下面System字体可能和宋体什么的联系了起来所以可以正确显示中文,而Wine则不行,幸亏飞狐可以更改字体)。而乱码则不同。有很多Windows程序会使用所谓的DEFAULT_CHARSET来显示,如果是windows下面没有问题的,而wine的话呢,就会把这个字符集映射到类似ISO-8859-1这样的西方语言的代码页上面。造成了无法显示。这也是你会看到同样一个程序,一部分中文显示正常,而有一部分就是乱码的原因。

技术细节请看原讨论贴,里面有高人可以解释这个问题的。
你爱用不用,没人逼你用--这就是Free的定义?
不,请自重,不要玷污Linux文化。
头像
hasee.wu
帖子: 2089
注册时间: 2009-10-20 21:13
来自: Pacific Western University

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#51

帖子 hasee.wu » 2010-06-03 23:36

为什么说这个patch是drity?希望有人能解释一下! :em06

代码: 全选

patch dlls/gdi32/freetype.c < freetype.patch 


freetype.patch

代码: 全选

--- freetype.org	2008-10-13 10:00:00.250404261 +0800
+++ freetype.c	2008-10-13 10:01:57.347900632 +0800
@@ -3349,9 +3349,21 @@
 
     if(!strcmpiW(lf.lfFaceName, SymbolW))
         lf.lfCharSet = SYMBOL_CHARSET;
-
-    if(!TranslateCharsetInfo((DWORD*)(INT_PTR)lf.lfCharSet, &csi, TCI_SRCCHARSET)) {
-        switch(lf.lfCharSet) {
+    
+    if(lf.lfCharSet == DEFAULT_CHARSET || lf.lfCharSet == ANSI_CHARSET) {
+      int codepage = 936; /* I'm Chinese. Let me do something selfish. */
+      char *env_wdc = getenv("WINE_DEFAULT_CODEPAGE");
+      if(env_wdc != NULL) {
+        codepage = atoi(env_wdc);
+      }
+      FIXME("Dirty hack. Default and ansi charset is translated to getenv(\"WINE_DEFAULT_CODEPAGE\")\n");
+      if(!TranslateCharsetInfo((DWORD*)(INT_PTR)codepage, &csi, TCI_SRCCODEPAGE)) {
+        FIXME("OMG. Even this dirty hack doesn't work.  Let's PRAY.\n");
+        csi.fs.fsCsb[0] = 0; 
+      }
+      lf.lfCharSet = csi.ciCharset;
+    } else if(!TranslateCharsetInfo((DWORD*)(INT_PTR)lf.lfCharSet, &csi, TCI_SRCCHARSET)) {
+      switch(lf.lfCharSet) {
 	case DEFAULT_CHARSET:
 	    csi.fs.fsCsb[0] = 0;
 	    break;
linxyz
帖子: 310
注册时间: 2008-05-12 16:04

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#52

帖子 linxyz » 2010-06-04 9:27

原说1.2会解决这个问题,现在wine1.2 RC了,尚未有进展
linxyz
帖子: 310
注册时间: 2008-05-12 16:04

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#53

帖子 linxyz » 2010-06-04 9:39

牛人们要多去http://bugs.winehq.org/show_bug.cgi?id=16325反馈才能解决问题
zzl130520
帖子: 29
注册时间: 2008-12-24 16:26

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#54

帖子 zzl130520 » 2010-07-22 18:05

支持你了!!!终于好了!!
gezhaowan
帖子: 4
注册时间: 2010-07-18 21:49

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#55

帖子 gezhaowan » 2010-07-23 12:01

初学 支持
gezhaowan
帖子: 4
注册时间: 2010-07-18 21:49

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#56

帖子 gezhaowan » 2010-07-23 13:21

我用你的脚本设置后,中文问题解决了,但是当我把wine函数库中设置了gdiplus(我的程序不替换这个numricupdown空间显示不正常)用原版后就又出现部分显示为方块了

请问知道这种情况如何解决吗?
rogern
帖子: 33
注册时间: 2008-10-02 1:19

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#57

帖子 rogern » 2010-07-23 21:12

现在怎么没有gdi32.dll.so 解决方案了。
baidongyi
帖子: 212
注册时间: 2005-07-12 7:58

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#58

帖子 baidongyi » 2010-08-25 17:18

支持楼主,很好用!
头像
ReiFFEXzyx
帖子: 1045
注册时间: 2010-08-14 13:13

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#59

帖子 ReiFFEXzyx » 2010-08-28 0:37

用了wine-cn后 lingoes就变得非常“卡”了... 郁闷...
[fracting的大作]Wine使用中的一些常见误区
viewtopic.php?f=121&t=363147
顺便学习一下对待开源软件的正确态度
头像
ReiFFEXzyx
帖子: 1045
注册时间: 2010-08-14 13:13

Re: wine 中文问题[ 完美解决 wine设置一步到位]

#60

帖子 ReiFFEXzyx » 2010-08-28 22:14

ReiFFEXzyx 写了:用了wine-cn后 lingoes就变得非常“卡”了... 郁闷...
错怪wine-cn了 原来是wine从1.1.42升级1.2后 灵格斯就“卡”了...
[fracting的大作]Wine使用中的一些常见误区
viewtopic.php?f=121&t=363147
顺便学习一下对待开源软件的正确态度
回复