一、关于快捷方式

前面写过的crossover的快捷方式处理方法并不完整,实际上crossover对快捷方式的添加上既方便又呆板,方便的是可以手动添加任何在容器内的exe文件到linux桌面;呆板的是这个快捷方式只能放在桌面,你移动到别的位置很可能就出现无法运行的错误;前面说过的关于采用引用开始菜单stratmenu里面的lnk文件代替原本的桌面deskto里的lnk文件,这个操作方法可以,但是再补充几个备忘:

1)通过crossover生成的桌面图标(desktop文件)你可以复制到其他位置,将文件内部exec引用的desktop的lnk位置修改为开始菜单startmenu中的lnk引用,在其他位置是可以打开。但这个需要前提:是在开始菜单中你手动建立了快捷方式(不是通过复制方式,而是通过crossover生成的开始菜单快捷方式,这两者有区别,后面会说到);这点操作不当会干扰快捷方式打开的可行性;因为crossover在重建菜单的时候,应该是通过了某种文件记录,会自动删除掉不是它自身创建的或者是通过拷贝方式生成的lnk文件,譬如你通过crossover在开始菜单中建立了word快捷方式,重建菜单后这个文件会还保留,但是如果你从其他位置复制一个word快捷方式到开始菜单,重建菜单后,这个文件会被自动清理掉;

2)其实crossover在安装结束后,在linux系统中~/.local/share/applicationgs/里面生成了对应的desktop文件,有些desktop文件设置为隐藏,有些设置为x-cross……的分类;但是奇怪的这些文件在开始菜单中都不会显示,因为它自己定义的那个分类不会被显示(我猜测是这个分类或者directory文件没有被注册到系统里,menu菜单这块还没细研究);可以自己编辑desktop文件中的分类标记,比如增加到Network;或者增添到Office;的分类中,这时候开始菜单中对应分类下面就会出现该快捷方式;这时候又是同样的一个前提:你不能随便去重建菜单,重建菜单后这些desktop文件会被重写,自己定义的分类会被清理掉,导致在开始菜单中又不显示出来;一个变通的方法,在~/.local/share/applicationgs/下面,把你要的快捷方式复制一份,重新修改添加分类,这样重建菜单的话这些分类就不会受影响,因为重建菜单的操作不会影响到这些复制出来的文件;建议采用这种操作。

3)好像还有一个操作需要注意:桌面上的快捷方式建议采用隐藏方式而不是通过删除方式,如果直接删除linux桌面图标后操作了菜单重建的话,这些文件可能还会出来;

二、关于字体

linux里面windows软件的界面看起来是非常不搭的,而且很多软件会因为中文出现方框的现象;目前研究下来能解决的方法是:通过注册表操作!

1)准备一个ttf字体,命名为simsun.ttf(当然要命名其他的也应该可以,之所以命名为simsun.ttf是考虑到windows中文各种对windows的依赖性);

2)将这个字体复制到容器的windows/fonts目录下面(如果存在就替换掉,默认的simsun到处都能找到,不担心恢复问题)

3)注册表修改四个位置:

3.1、HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes

这里面把所有的字体的值都修改为一个你想要的字体,比如Source Han Sans CN Bold(思源粗体,adobe的叫法);或者导出来用正则表达式一次性替换;

修改了这一部,大部分的字体都会显示为你想要的字体了,但是不完全;

3.2、HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts

把这里面所有的值都修改为simsun.ttf(不加路径表示就在当前容器的windows/fonts目录下,如果调用linux字体的话就直接用Z:驱动器路径),注意这里的值不是字体名称,而是字体的文件名,如simsun.ttc这样;

修改到这一部,基本上85%的字体都变成了你想要的效果了;

3.3、HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements

这里面还会有一些字体替换的记录,把这里面的字体全部换成3.1的字体样式,保持统一;

这一部能解决掉office2007一些对话框中界面字体(估计是PMingLiu字体)

到这时候,基本上99%的字体应该都替换掉了;剩下1%看运气能不能碰到;

3.4、HKEY_CURRENT_USER\Software\Wine\Fonts\External Fonts

这个对应类似3.2的位置一样,属于user层次的附加字体,同样采用simsun.ttf这样的文件名来替换;

3.5、网上许多关于wine字体修改的,大多都是这些,至于那些方法说修改system.reg文件,其实就是修改注册表。playinlinux或者deepin-wine应该都是这样的位置;

3.6、建议采用medium或者bold字重的字体去替换,regular或者normal看起来可能会发虚;自己测试的是medium稍微发虚,bold又稍黑了点,windows的原生字体渲染效果在linux字体渲染面前就是渣渣(包括windows10);

三、技巧:

上面说到的3.1和3.3可以直接找一个windowsxp或者windows7系统,直接从里面导出来修改;

补充一个3.2关于wine的(这个在windows系统里面是没有的)注册表文件

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements]
"@MingLiU"="Source Han San CN Bold"
"@MS UI Gothic"="Source Han San CN Bold"
"@NSimSun"="Source Han San CN Bold"
"@PMingLiU"="Source Han San CN Bold"
"@SimSun"="Source Han San CN Bold"
"@宋体"="Source Han San CN Bold"
"@新宋体"="Source Han San CN Bold"
"@新細明體"="Source Han San CN Bold"
"@細明體"="Source Han San CN Bold"
"Arial"="Source Han San CN Bold"
"Gulim"="Source Han San CN Bold"
"Lucida Console"="Source Han San CN Bold"
"MingLiU"="Source Han San CN Bold"
"MS UI Gothic"="Source Han San CN Bold"
"NSimSun"="Source Han San CN Bold"
"PMingLiU"="Source Han San CN Bold"
"SimSun"="Source Han San CN Bold"
"宋体"="Source Han San CN Bold"
"新宋体"="Source Han San CN Bold"
"新細明體"="Source Han San CN Bold"
"細明體"="Source Han San CN Bold"