- 24
- 0
- 约2.53万字
- 约 5页
- 2016-10-09 发布于贵州
- 举报
LinuxGTK体美化原理
1.GTK1的程序是不支持Fontconfig的。所以有点麻烦。拿到一个字体,你首先要让X找到它对吧?这一步就是在 /etc/X11/XF86config的Section files段里面的Fontpath属性里说明的详细后面会讲。好了,X现在知道字体在哪里了。
那gtk1的程序还不能直接使用它们,因为我们还没有给它们注册,这就需要在前面设定的Fontpath里生成两个文件fonts.dir fonts.scale这两个文件里有Fontpath下所有字体的列表信息,就是一个索引。
有了这个索引,gtk1的程序就可以找到相应的字体了。生成这两个文件的工具有mkfontdir,mkfontscale,ttmkfdir等等。好了,上面两步如果正确完成了,你的gtk1程序现在就可以正常显示汉字了。 常见的gtk1程序有xmms,gimp.....
2.GTK2和QT程序可以使用Fontconfig。Fontconfig是一个把字体选择出来,并且决定怎么显示这些字体的东东。类似于前面提到的 XF86config里的Fontpath属性以及fonts.dir和fonts.scale的功能,就是让程序找到这些字体。
所以,对于GTK2和 QT程序XF86config和fonts.dir就没有用了。所以对于这类程序来说,主要的Linux配置文件是/etc/fonts/fonts.conf。 Fontconfig的高级功能有很多,详细的说明可以参考这里: /nuke/modules.php?name=Forumsfile=viewtopict=48331 GTK2和QT的程序就很多了,KDE,GNOME,Firebird............
上面的两段提到的只是让程序找到字体,并不负责具体的显示工作。它们只能保证你的程序能找到字体不会出现乱码现象,也就是所谓的汉化 至于freetype/Xft或者xtt是什么?
我的理解它们是负责具体把字体显示到屏幕上的东西,决定了你看到的字体是个什么效果。著名的firefly美化包就做了很多改善中文显示效果的工作。也就是所谓的美化 到此你应该对汉化,美化有了一个大概的概念。
接下来就是具体的操作 具体在Slackware 9.1上实现freetype/fontconfig/xft汉化美化工作 我用的是Slackware 9.1,但是对其它发行版,美化汉化的原理都是大同小异的。看了文章再通过实践加以理解,应该能够灵活应用其它发行版上的。 以下命令以#开头表示是以root身份操作,$开头则是以普通用户身份操作。
Step1. 准备TrueType字体,常用的如simsun.ttf tahoma.ttf verdana.ttf等等。然后决定你要把字体放在哪个目录里。这个目录随你喜欢,我把它们放在/usr/X11R6/lib/X11/fonts/TTF/里。 比如你下载来的的ttf字体都在/home/username/myfonts/下面,就做如下操作 #cp /home/username/myfonts/*.ttf /usr/X11R6/lib/X11/fonts/TTF/
Step2. 让GTK1程序找到你刚才放进去的字体。上面说的方法你还没有忘吧?让我们先修改XF86config #vi /etc/X11/XF86config 找到 Section Files 这一段,在里面加上一个Fontpath属性 FontPath /usr/X11R6/lib/X11/fonts/TTF/
当然,如果里面已经有了你放字体的路径就不用加了,如果你的路径和我不一样,那就写你的路径,你也可以随时添加自己的字体路径,道理都一样。 如果你在XF86config里发现了 Load xtt这行,把它注释掉。
我是不用xtt的接下来当然是准备fonts.dir 和fonts.scale了。生成这两个的文件工具前面说了。Slackware自带的是mkfontdir和mkfontscale,我个人强烈不推荐这两个工具,它们生成的fonts.dir很不爽,simsun.ttf里找不出gbk的encoding。
你可以去下载一个叫ttmkfdir的工具: 8/linux/rawhide/1.0/i386/Fedora/RPMS/ttmkfdir-3.0.9-7.i386.rpm 假设你已经装上了这个工具,就做如下操作 #ttmkfdir /usr/X11R6/lib/X11/fonts/TTF/ -o /usr/X11R6/lib/X11/fonts/TTF/fonts.scale 现在检查一下这个文件 #vi /usr/X11R6/lib/X11/fonts/TTF/fonts.scale
如果里面有 :1:simsun.t
您可能关注的文档
最近下载
- 贝纳利BJ250维修手册.pdf VIP
- PasswortD A1 听力原文-德语学习资料.pdf VIP
- 一体化污水处理设备施工工艺.docx VIP
- 自动可调螺杆机组触摸屏说明书_SCC60-TP-V2.05.doc VIP
- 学堂在线 雨课堂 学堂云 如何写好科研论文 章节测试答案.docx VIP
- 人教版八年级数学下册基础知识专项讲练 专题17.20 勾股定理(中考真题专练)(巩固篇)(专项练习).docx VIP
- 教育实习鉴定实习内容.docx VIP
- 《GBT11616-2013-同步带传动节距型号MXL、XXL、XL、L、H、XH和XXH同步带尺寸》.pdf
- 离婚协议书(无子女版).docx VIP
- pluronic系列产品指标.pptx VIP
原创力文档

文档评论(0)