mac osx wine 1.7.5 源碼編譯方法及中文亂碼的解決

源碼編譯

一、先安裝apple-gcc42,Mac osx自帶的 llvm-gcc,編譯後,沒法運行wine。php

1git

sudo port install apple-gcc42macos

二、下載wine源碼ubuntu

1windows

2app

git clone git://source.winehq.org/git/wine.git ~/wine-git工具

cd ~/wine-git字體

三、安裝 X11/XQuartz ,官網下載 XQuartzspa

四、我是用的是1.7.5編譯的code

1

git checkout -b 1.7.5 wine-1.7.5

五、切換編譯工具爲 apple-gcc42

1

2

sudo port select gcc apple-gcc42

hash gcc

若是想恢復蘋果默認的llvm-gcc:

1

2

sudo port select gcc none

hash gcc

六、編譯源碼

1

2

./configure --verbose --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib

make

七、安裝

1

2

3

4

make install

 

# 卸載

make uninstall

中文亂碼解決

一、參考下面的文章:

http://linfan.info/blog/2012/03/01/wine-mac/

字體最好是用 SimSun.ttc,宋體,能夠從windows 中提取。

二、經過以上註冊表中的方式,仍然會存在亂碼,是字符集的問題,能夠參考下面文章:

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 中提到的註冊表的方式,添加。

相關文章
相關標籤/搜索