彻底解决Wine中文显示乱码的设想

Wine、Cedega、CrossOver 等配置

成立个小组来彻底解决Wine乱码问题

支持
553
97%
反对
2
0%
无所谓
17
3%
 
总计票数: 572
goodsforyou
帖子: 34
注册时间: 2008-06-18 14:24

彻底解决Wine中文显示乱码的设想

#1

帖子 goodsforyou » 2008-11-10 7:45

目前解决Wine中文显示乱码的补丁不能被Wine官方接受,因为这是个dirty补丁,基本只适用于简体中文。

我觉得中、日、韩文用户应该都会遇到Wine中文乱码的问题,甚至其它非欧语系的用户也会遇到。
如果我们只顾着解决简体中文的乱码,对其它语系的Wine用户没用,甚至可能使别人原本正常的显示变成了乱码,Wine官方怎么能接受?

如果要彻底解决这个问题,就必须开发出通用的补丁,对各个语系的Wine用户都适用,而且能够同时显示多种语言,比如简体中文用户要能够正常运行显示正体中文软件。

设想中的通用补丁的关键是要能够自动识别待显示的字符串的编码,如果能做到这点应该就能彻底解决Wine乱码问题。
希望能有人牵头成立个小组来做这个事,包括代码编写、调试、测试,和Wine官方联系等等。

注:有现存的自动识别字符串编码的代码库,比如python-chardet, Mozilla Charset Detectors, Mozilla Charset Detectors Source Code , Universal Encoding Detector, jchardet
本人不会Linux编程,但懂点英文。

补充
给懂编程的出个点子:
全面整理Windows下有关字体及文字显示的API函数,写个 Windows程序将所用可能的字体及文字显示的API函数组合来调用一遍,将它放在Wine下运行,看看结果如何,把显示不正常的调用组合(当然包括 Wine注册表)找出来,再分析和解决。(最好是和其它中日韩文字的Wine开发者交流合作)

另外,建议不要用Windows字体测试,现在自由字体已经够用了。虽然用Windows字体测试的结果是正常的,但是很多人只用自由字体,别人还得再测试,何况要让Wine开发测试人员用Windows字体测试不太好吧。

再出个点子:
测试用例最好编写成脚本,方便自动化测试,节省人力,又不容易出错。
1)测试前自动检测 ~/.wine 目录,如果存在则随机建立一个目录作为WINEPREFIX,这样测试就不会影响平常用的~/.wine 目录了。
2)测试时自动调用上面说的那个程序,每种字体及文字显示的API函数组合运行一次,运行后自动判断相应文字是否正常显示,如果不正常则写入测试结果中。
3) 所有组合运行完后,删除那个随机建立WINEPREFIX目录。

附:如何用程序自动判断相应文字是否正常显示
编程来截取待测试程序的窗口显示,判断是否是汉字或其它应该显示的文字,当然可以用文字自动识别,但是必要性不大。其实只要测试中的文字为全角空格(或其它很容易编程判断的字符)就行了,全角空格正常显示就是空白的,如果乱码的话就不是的了,程序只要判断指定区域是否为空白就行了。

希望能有人尝试下,并和相关Wine开发人员交流合作。
自动化测试脚本、程序编写好了后,不同的发行版的用户就很方便进行测试了,更能发挥社区的力量了。

重要回贴
洗干净Wine补丁的尝试,请爱好者和Linux编程高手进
hzhr 写了:所谓的彻底解决中文显示乱码:
1、在注册表中设置Tahoma、MS Sans Serif等字体的 FontLink,加入中文字体。这个方法大部分情况下都是OK的
2、用了方法1之后,某些情况下还是会乱码,比如QQ,这是因为程序写的烂,使用ANSI_CHARSET创建字体(应该用 DEFAULT_CHARSET),解决方法是修正 GdiGetCodePage 函数,当用ANSI_CHARSET创建字体、GDI选择这个字体后,GdiGetCodePage应该返回的codepage是936。
相关贴子
wine 中文支持問題 解決方案新方向
上次由 goodsforyou 在 2009-02-26 10:55,总共编辑 12 次。
erlking
帖子: 51
注册时间: 2008-04-22 22:22

Re: 彻底解决Wine中文显示乱码的设想

#2

帖子 erlking » 2008-11-10 18:54

支持,这个想法不错!
purewater
帖子: 686
注册时间: 2007-11-30 15:17
来自: 福建

Re: 彻底解决Wine中文显示乱码的设想

#3

帖子 purewater » 2008-11-14 18:41

这个想法不错,关键是行动
头像
sfbi
帖子: 796
注册时间: 2007-09-06 11:41
来自: Bergen

Re: 彻底解决Wine中文显示乱码的设想

#4

帖子 sfbi » 2008-11-14 20:00

不懂,只能纯支持了。
寻子期
帖子: 32
注册时间: 2007-11-24 17:43

Re: 彻底解决Wine中文显示乱码的设想

#5

帖子 寻子期 » 2008-11-15 15:08

我觉得,可以先把各种编码都放进去,弄个可选项,用简体的可选简体,用繁体的可选繁体,可以自定义应该更符合自由软件的风格 :em06
czk
帖子: 232
注册时间: 2006-10-08 22:20

Re: 彻底解决Wine中文显示乱码的设想

#6

帖子 czk » 2008-11-16 9:02

对于非unicode的字符集支持,只能做成选项选择的,就像windows xp中regional settings中选择字符集一样
sprone
帖子: 5
注册时间: 2008-11-16 10:36
联系:

Re: 彻底解决Wine中文显示乱码的设想

#7

帖子 sprone » 2008-11-16 10:42

支持,用wine的时候因为乱码的问题没有少郁闷~~~
签名~~签名~~
头像
无的幻灭
帖子: 23
注册时间: 2008-11-09 10:04

Re: 彻底解决Wine中文显示乱码的设想

#8

帖子 无的幻灭 » 2008-11-17 13:39

强烈支持!!
头像
想入非非
帖子: 8078
注册时间: 2008-07-14 22:42
来自: Beijing
联系:

Re: 彻底解决Wine中文显示乱码的设想

#9

帖子 想入非非 » 2008-11-17 14:23

现在似乎随便配置一下,基本上就没有什么乱码问题了 :em06
Ubuntu User
nxw234n
帖子: 29
注册时间: 2008-10-09 8:51

Re: 彻底解决Wine中文显示乱码的设想

#10

帖子 nxw234n » 2008-11-19 9:38

虽不会用wine,但还是支持这种想法及行动
头像
bobo4548
帖子: 661
注册时间: 2007-07-17 22:52
来自: cn,shandong

Re: 彻底解决Wine中文显示乱码的设想

#11

帖子 bobo4548 » 2008-11-19 18:53

严重支持,现正为乱码问题焦头烂额呢,老是解决不了,安装UC过程中就是乱码,更不用说打开程序了!!!!
头像
zongbing
帖子: 10
注册时间: 2008-11-12 19:07

Re: 彻底解决Wine中文显示乱码的设想

#12

帖子 zongbing » 2008-11-21 5:46

goodsforyou 写了:目前解决Wine中文显示乱码的补丁不能被Wine官方接受,因为这是个dirty补丁,基本只适用于简体中文。

我觉得中、日、韩文用户应该都会遇到Wine中文乱码的问题,甚至其它非欧语系的用户也会遇到。
如果我们只顾着解决简体中文的乱码,对其它语系的Wine用户没用,甚至可能使别人原本正常的显示变成了乱码,Wine官方怎么能接受?

如果要彻底解决这个问题,就必须开发出通用的补丁,对各个语系的Wine用户都适用,而且能够同时显示多种语言,比如简体中文用户要能够正常运行显示正体中文软件。

设想中的通用补丁的关键是要能够自动识别待显示的字符串的编码,如果能做到这点应该就能彻底解决Wine乱码问题。
希望能有人牵头成立个小组来做这个事,包括代码编写、调试、测试,和Wine官方联系等等。

注:有现存的自动识别字符串编码的代码库,比如python-chardet, Mozilla Charset Detectors, Mozilla Charset Detectors Source Code , Universal Encoding Detector, jchardet
本人不会Linux编程,但懂点英文。
不过个人感觉还是字体的问题。我把winxp下的字体都复制过来了。电驴就不再乱码了。
我不知道什么叫做签名
jason0079
帖子: 34
注册时间: 2007-06-18 12:31

Re: 彻底解决Wine中文显示乱码的设想

#13

帖子 jason0079 » 2008-11-21 11:59

能手动切换非unicode程序编码是最好不过了,强烈支持本计划!
cenubuntuborn
帖子: 29
注册时间: 2008-10-29 15:44

Re: 彻底解决Wine中文显示乱码的设想

#14

帖子 cenubuntuborn » 2008-11-21 21:34

zongbing 写了:
goodsforyou 写了:目前解决Wine中文显示乱码的补丁不能被Wine官方接受,因为这是个dirty补丁,基本只适用于简体中文。

我觉得中、日、韩文用户应该都会遇到Wine中文乱码的问题,甚至其它非欧语系的用户也会遇到。
如果我们只顾着解决简体中文的乱码,对其它语系的Wine用户没用,甚至可能使别人原本正常的显示变成了乱码,Wine官方怎么能接受?

如果要彻底解决这个问题,就必须开发出通用的补丁,对各个语系的Wine用户都适用,而且能够同时显示多种语言,比如简体中文用户要能够正常运行显示正体中文软件。

设想中的通用补丁的关键是要能够自动识别待显示的字符串的编码,如果能做到这点应该就能彻底解决Wine乱码问题。
希望能有人牵头成立个小组来做这个事,包括代码编写、调试、测试,和Wine官方联系等等。

注:有现存的自动识别字符串编码的代码库,比如python-chardet, Mozilla Charset Detectors, Mozilla Charset Detectors Source Code , Universal Encoding Detector, jchardet
本人不会Linux编程,但懂点英文。
不过个人感觉还是字体的问题。我把winxp下的字体都复制过来了。电驴就不再乱码了。
你是怎么弄的阿 man
头像
xrfang
帖子: 1116
注册时间: 2006-12-08 10:21

Re: 彻底解决Wine中文显示乱码的设想

#15

帖子 xrfang » 2008-11-22 22:57

看看我的一次努力:viewtopic.php?f=121&t=169647

谢谢。
你爱用不用,没人逼你用--这就是Free的定义?
不,请自重,不要玷污Linux文化。
回复