首页 > 代码库 > mac osx wine 1.7.5 源码编译方法及中文乱码的解决
mac osx wine 1.7.5 源码编译方法及中文乱码的解决
源码编译
1、先安装apple-gcc42,Mac osx自带的 llvm-gcc,编译后,无法运行wine。
1 | sudo port install apple-gcc42 |
2、下载wine源码
1 2 | git clone git: //source.winehq.org/git/wine.git ~/wine-git cd ~/wine-git |
3、安装 X11/XQuartz ,官网下载 XQuartz
4、我是用的是1.7.5编译的
1 | git checkout -b 1.7 . 5 wine- 1.7 . 5 |
5、切换编译工具为 apple-gcc42
1 2 | sudo port select gcc apple-gcc42 hash gcc |
如果想恢复苹果默认的llvm-gcc:
1 2 | sudo port select gcc none hash gcc |
6、编译源码
1 2 | ./configure --verbose --x-includes=/usr/X11/ include --x-libraries=/usr/X11/lib make |
7、安装
1 2 3 4 | make install # 卸载 make uninstall |
中文乱码解决
1、参考下面的文章:
http://linfan.info/blog/2012/03/01/wine-mac/
字体最好是用 SimSun.ttc,宋体,可以从windows 中提取。
2、通过以上注册表中的方式,仍然会存在乱码,是字符集的问题,可以参考下面文章:
http://forum.ubuntu.org.cn/viewtopic.php?t=291611&p=2719632
dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c 源码中添加一句,最新源码中的位置有所变化,如下:
1 2 3 4 5 6 7 8 9 10 11 | diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index fb4f2af..5bc1393 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ - 5073 , 6 + 5073 , 7 @@ static HFONT freetype_SelectFont( PHYSDEV dev, HFONT hfont, UINT *aa_flags ) GetObjectW( hfont, sizeof(lf), &lf ); lf.lfWidth = abs(lf.lfWidth); + lf.lfCharSet = GetTextCharset(dc); can_use_bitmap = GetDeviceCaps(dev->hdc, TEXTCAPS) & TC_RA_ABLE; |
通过以上努力,基本可以解决乱码问题,当仍会有部分字体乱码,主要原因是相关程序的字体,无法找到,如果知道程序使用的字体,可以通过 #1 中提到的注册表的方式,添加。
欢迎转载:http://www.yinqisen.cn/blog-293.html
mac osx wine 1.7.5 源码编译方法及中文乱码的解决
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。