请问如何让新 wine 不要自动关 AA

Wine、Cedega、CrossOver 等配置
头像
huangjiahua
帖子: 3294
注册时间: 2005-03-30 0:27
送出感谢: 0
接收感谢: 1 次
联系:

请问如何让新 wine 不要自动关 AA

#1

帖子 huangjiahua » 2009-03-13 12:58

有些时候没用 wine 了,
发现现在的 wine 默认给小号中文字体给关掉了 AA,

如果使用宋体,那么小字号关 AA 没问题,
可是现在都用文泉驿正黑了,关掉 AA 就惨不忍睹,

请问如何让新 wine 不要自动关 AA 呀,

谢谢
跃过无数的时间断层,只为了在
头像
huangjiahua
帖子: 3294
注册时间: 2005-03-30 0:27
送出感谢: 0
接收感谢: 1 次
联系:

Re: 请问如何让新 wine 不要自动关 AA

#2

帖子 huangjiahua » 2009-03-13 13:31

代码: 全选

for i in symbol.ttf tahoma.ttf simsun.ttf  svgasys.fon  vga936.fon; do sudo ln -sfv /usr/share/fonts/truetype/arphic/uming.ttc  /usr/share/wine/fonts/$i ; done

代码: 全选

for i in symbol.ttf tahoma.ttf simsun.ttf  svgasys.fon  vga936.fon; do sudo ln -sfv /usr/share/fonts/zh_CN/TrueType/yzdwsj6.ttf /usr/share/wine/fonts/$i ; done


倒是可以无须修改注册表或打补丁而设置默认中文
跃过无数的时间断层,只为了在
头像
huangjiahua
帖子: 3294
注册时间: 2005-03-30 0:27
送出感谢: 0
接收感谢: 1 次
联系:

Re: 请问如何让新 wine 不要自动关 AA

#3

帖子 huangjiahua » 2009-04-06 22:07

算了,自己写补丁

顺带搞定默认颜色、字体

效果:
Screenshot-Wine 设置.png
Screenshot-notepad.png
补丁:

代码: 全选



=== modified file 'wine-1.1.18~winehq0~ubuntu~9.04/dlls/gdi32/freetype.c'
--- wine-1.1.18~winehq0~ubuntu~9.04/dlls/gdi32/freetype.c	2009-04-05 11:35:46 +0000
+++ wine-1.1.18~winehq0~ubuntu~9.04/dlls/gdi32/freetype.c	2009-04-06 13:39:43 +0000
@@ -3390,6 +3390,14 @@
     if(!strcmpiW(lf.lfFaceName, SymbolW))
         lf.lfCharSet = SYMBOL_CHARSET;
 
+    if(!strncmp(getenv("LANG"), "zh_CN", 5) && (lf.lfCharSet == DEFAULT_CHARSET || lf.lfCharSet == ANSI_CHARSET)) { 
+	int codepage = 936; 
+    	if(!TranslateCharsetInfo((DWORD*)(INT_PTR)codepage, &csi, TCI_SRCCODEPAGE)) {
+	    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:
@@ -3640,6 +3648,9 @@
         ret->scale_y = 1.0;
     TRACE("font scale y: %f\n", ret->scale_y);
 
+    if (0 <= height && height <12) height =12;
+    else if ( 0 > height && height > -12) height = -12;
+
     ret->ft_face = OpenFontFace(ret, face, width, height);
 
     if (!ret->ft_face)

=== modified file 'wine-1.1.18~winehq0~ubuntu~9.04/dlls/winex11.drv/xrender.c'
--- wine-1.1.18~winehq0~ubuntu~9.04/dlls/winex11.drv/xrender.c	2009-04-05 11:35:46 +0000
+++ wine-1.1.18~winehq0~ubuntu~9.04/dlls/winex11.drv/xrender.c	2009-04-06 12:14:17 +0000
@@ -491,6 +491,7 @@
     gsCacheEntry *entry;
     static int hinter = -1;
     static int subpixel = -1;
+    WORD flags;
     BOOL font_smoothing;
 
     if((ret = LookupEntry(plfsz)) != -1) return ret;
@@ -511,29 +512,13 @@
             hinter = status.wFlags & WINE_TT_HINTER_ENABLED;
             subpixel = status.wFlags & WINE_TT_SUBPIXEL_RENDERING_ENABLED;
         }
-
-        switch (plfsz->lf.lfQuality)
-        {
-            case ANTIALIASED_QUALITY:
-                entry->aa_default = get_antialias_type( physDev, FALSE, hinter );
-                break;
-            case CLEARTYPE_QUALITY:
-            case CLEARTYPE_NATURAL_QUALITY:
-                entry->aa_default = get_antialias_type( physDev, subpixel, hinter );
-                break;
-            case DEFAULT_QUALITY:
-            case DRAFT_QUALITY:
-            case PROOF_QUALITY:
-            default:
-                if ( SystemParametersInfoW( SPI_GETFONTSMOOTHING, 0, &font_smoothing, 0) &&
-                     font_smoothing)
-                {
-                    entry->aa_default = get_antialias_type( physDev, subpixel, hinter );
-                }
-                else
-                    entry->aa_default = AA_None;
-                break;
-        }
+	// xxx the buggy antialias type decision code
+        if ( subpixel && X11DRV_XRender_Installed)
+            entry->aa_default = AA_RGB;
+        else if(!hinter || !get_gasp_flags(physDev, &flags) || flags & GASP_DOGRAY)
+            entry->aa_default = AA_Grey;
+        else
+            entry->aa_default = AA_None;
     }
     else
         entry->aa_default = AA_None;

=== modified file 'wine-1.1.18~winehq0~ubuntu~9.04/dlls/user32/sysparams.c'
--- wine-1.1.18~winehq0~ubuntu~9.04/dlls/user32/sysparams.c	2009-04-05 11:35:46 +0000
+++ wine-1.1.18~winehq0~ubuntu~9.04/dlls/user32/sysparams.c	2009-04-06 14:00:05 +0000
@@ -94,37 +94,37 @@
 
 static const char * const DefSysColors[] =
 {
-    "Scrollbar", "212 208 200",              /* COLOR_SCROLLBAR */
+    "Scrollbar", "0 153 11",                 /* COLOR_SCROLLBAR */
     "Background", "58 110 165",              /* COLOR_BACKGROUND */
-    "ActiveTitle", "10 36 106",              /* COLOR_ACTIVECAPTION */
-    "InactiveTitle", "128 128 128",          /* COLOR_INACTIVECAPTION */
-    "Menu", "212 208 200",                   /* COLOR_MENU */
+    "ActiveTitle", "0 153 11",               /* COLOR_ACTIVECAPTION */
+    "InactiveTitle", "232 227 221",          /* COLOR_INACTIVECAPTION */
+    "Menu", "232 227 221",                   /* COLOR_MENU */
     "Window", "255 255 255",                 /* COLOR_WINDOW */
     "WindowFrame", "0 0 0",                  /* COLOR_WINDOWFRAME */
     "MenuText", "0 0 0",                     /* COLOR_MENUTEXT */
     "WindowText", "0 0 0",                   /* COLOR_WINDOWTEXT */
     "TitleText", "255 255 255",              /* COLOR_CAPTIONTEXT */
-    "ActiveBorder", "212 208 200",           /* COLOR_ACTIVEBORDER */
-    "InactiveBorder", "212 208 200",         /* COLOR_INACTIVEBORDER */
+    "ActiveBorder", "239 235 230",           /* COLOR_ACTIVEBORDER */
+    "InactiveBorder", "192 192 192",         /* COLOR_INACTIVEBORDER */
     "AppWorkSpace", "128 128 128",           /* COLOR_APPWORKSPACE */
-    "Hilight", "10 36 106",                  /* COLOR_HIGHLIGHT */
+    "Hilight", "0 153 11",                   /* COLOR_HIGHLIGHT */
     "HilightText", "255 255 255",            /* COLOR_HIGHLIGHTTEXT */
-    "ButtonFace", "212 208 200",             /* COLOR_BTNFACE */
+    "ButtonFace", "232 227 221",             /* COLOR_BTNFACE */
     "ButtonShadow", "128 128 128",           /* COLOR_BTNSHADOW */
     "GrayText", "128 128 128",               /* COLOR_GRAYTEXT */
     "ButtonText", "0 0 0",                   /* COLOR_BTNTEXT */
-    "InactiveTitleText", "212 208 200",      /* COLOR_INACTIVECAPTIONTEXT */
+    "InactiveTitleText", "0 0 0",            /* COLOR_INACTIVECAPTIONTEXT */
     "ButtonHilight", "255 255 255",          /* COLOR_BTNHIGHLIGHT */
-    "ButtonDkShadow", "64 64 64",            /* COLOR_3DDKSHADOW */
-    "ButtonLight", "212 208 200",            /* COLOR_3DLIGHT */
-    "InfoText", "0 0 0",                     /* COLOR_INFOTEXT */
+    "ButtonDkShadow", "128 128 128",         /* COLOR_3DDKSHADOW */
+    "ButtonLight", "239 235 230",            /* COLOR_3DLIGHT */
+    "InfoText", "0 0 0-0 0 0",               /* COLOR_INFOTEXT */
     "InfoWindow", "255 255 225",             /* COLOR_INFOBK */
-    "ButtonAlternateFace", "181 181 181",    /* COLOR_ALTERNATEBTNFACE */
-    "HotTrackingColor", "0 0 128",           /* COLOR_HOTLIGHT */
-    "GradientActiveTitle", "166 202 240",    /* COLOR_GRADIENTACTIVECAPTION */
-    "GradientInactiveTitle", "192 192 192",  /* COLOR_GRADIENTINACTIVECAPTION */
-    "MenuHilight", "10 36 106",              /* COLOR_MENUHILIGHT */
-    "MenuBar", "212 208 200"                 /* COLOR_MENUBAR */
+    "ButtonAlternateFace", "180 180 180",    /* COLOR_ALTERNATEBTNFACE */
+    "HotTrackingColor", "180 180 180",       /* COLOR_HOTLIGHT */
+    "GradientActiveTitle", "0 153 11",       /* COLOR_GRADIENTACTIVECAPTION */
+    "GradientInactiveTitle", "232 227 221",  /* COLOR_GRADIENTINACTIVECAPTION */
+    "MenuHilight", "0 0 0",                  /* COLOR_MENUHILIGHT */
+    "MenuBar", "232 227 221"                 /* COLOR_MENUBAR */
 };
 
 /**

跃过无数的时间断层,只为了在
fbsd4
帖子: 174
注册时间: 2007-03-19 8:07
送出感谢: 0
接收感谢: 0

Re: 请问如何让新 wine 不要自动关 AA

#4

帖子 fbsd4 » 2009-04-07 19:12

上面的补丁很爽很强大。解决了不少软件的字体问题。
头像
daf3707
论坛版主
帖子: 12671
注册时间: 2007-06-13 15:57
来自: 在他乡
送出感谢: 49 次
接收感谢: 85 次

Re: 请问如何让新 wine 不要自动关 AA

#5

帖子 daf3707 » 2009-04-08 16:50

就是我等菜菜不会用 :em06
看意思是减少某行,添加某行的
怎么用?
头像
huangjiahua
帖子: 3294
注册时间: 2005-03-30 0:27
送出感谢: 0
接收感谢: 1 次
联系:

Re: 请问如何让新 wine 不要自动关 AA

#6

帖子 huangjiahua » 2009-04-08 16:55

好吧,附件 wine-cn_1.1.18.tar.gz
是打过补丁编译后的 .so

适用于 Ubuntu 8.10 wine 1.1.18

下载后,执行

代码: 全选

sudo tar xvf wine-cn_1.1.18.tar.gz -C/
释放到系统就好
附件
wine-cn_1.1.18.tar.gz
(879.97 KiB) 下载 41 次
跃过无数的时间断层,只为了在
头像
daf3707
论坛版主
帖子: 12671
注册时间: 2007-06-13 15:57
来自: 在他乡
送出感谢: 49 次
接收感谢: 85 次

Re: 请问如何让新 wine 不要自动关 AA

#7

帖子 daf3707 » 2009-04-08 17:35

老将出马,不幸荣幸 :em03 :em11
harmock
帖子: 56
注册时间: 2008-06-12 10:42
送出感谢: 0
接收感谢: 0

Re: 请问如何让新 wine 不要自动关 AA

#8

帖子 harmock » 2009-04-08 18:06

lz好强大。学习了!
有机会多出些这样的帖子。让我等好继续学习。
头像
sunningv
帖子: 1818
注册时间: 2006-12-17 13:34
来自: 武汉
送出感谢: 1 次
接收感谢: 0
联系:

Re: 请问如何让新 wine 不要自动关 AA

#9

帖子 sunningv » 2009-04-09 16:14

不知道有什么用 反正看见code多的就收藏
人生长恨水长东;
远近高低各不同.
头像
huangjiahua
帖子: 3294
注册时间: 2005-03-30 0:27
送出感谢: 0
接收感谢: 1 次
联系:

Re: 请问如何让新 wine 不要自动关 AA

#10

帖子 huangjiahua » 2009-04-09 20:25

再用这个 deb 包吧,

这个 wine-cn_1.1.18-1_i386.deb 会 dpkg-divert 掉原始 wine 的 .so,
用中文版替换,

重要的是,以后升级 wine 时也会保留改动,
就不需要每次都打补丁了。
附件
wine-cn_1.1.18-3_i386.deb
(877.75 KiB) 下载 17 次
跃过无数的时间断层,只为了在
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵
送出感谢: 1 次
接收感谢: 6 次

Re: 请问如何让新 wine 不要自动关 AA

#11

帖子 wangdu2002 » 2009-04-09 20:32

Hua老大牛也! :em15
顺便 问下,老大的Hiweed2.0正式版本什么时候出来啊! :em07
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
头像
huangjiahua
帖子: 3294
注册时间: 2005-03-30 0:27
送出感谢: 0
接收感谢: 1 次
联系:

Re: 请问如何让新 wine 不要自动关 AA

#12

帖子 huangjiahua » 2009-04-11 16:05

海薇 MM 写书写好了,
所以快了
跃过无数的时间断层,只为了在
头像
daf3707
论坛版主
帖子: 12671
注册时间: 2007-06-13 15:57
来自: 在他乡
送出感谢: 49 次
接收感谢: 85 次

Re: 请问如何让新 wine 不要自动关 AA

#13

帖子 daf3707 » 2009-04-11 16:17

sudo dpkg -i wine-cn_1.1.18-1_i386.deb
选中了曾被取消选择的软件包 wine-cn。
(正在读取数据库 ... 系统当前总共安装有 198526 个文件和目录。)
正在解压缩 wine-cn (从 wine-cn_1.1.18-1_i386.deb) ...
正在添加 “diversion of /usr/lib/wine/winex11.drv.so to /usr/lib/wine/winex11.drv.so.distrib by wine-cn”
正在添加 “diversion of /usr/lib/wine/gdi32.dll.so to /usr/lib/wine/gdi32.dll.so.distrib by wine-cn”
正在添加 “diversion of /usr/lib/wine/user32.dll.so to /usr/lib/wine/user32.dll.so.distrib by wine-cn”
安装不完了
gui界面里也是,就一直来去来去的,安装不完
头像
daf3707
论坛版主
帖子: 12671
注册时间: 2007-06-13 15:57
来自: 在他乡
送出感谢: 49 次
接收感谢: 85 次

Re: 请问如何让新 wine 不要自动关 AA

#14

帖子 daf3707 » 2009-04-11 16:30

只能中断退出了
可是再更新或者安装时
sudo apt-get remove wine-cn
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 软件包 wine-cn 需要重新安装,但是我无法找到相应的安装文件。
死循环了
头像
huangjiahua
帖子: 3294
注册时间: 2005-03-30 0:27
送出感谢: 0
接收感谢: 1 次
联系:

Re: 请问如何让新 wine 不要自动关 AA

#15

帖子 huangjiahua » 2009-04-11 17:13

麻烦试试 wine-cn_1.1.18-3_i386.deb 吧,
多谢
跃过无数的时间断层,只为了在
回复

回到 “Wine及其分支”