LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 876|回复: 3

debian下字体上飘的解决办法!

[复制链接]
发表于 2006-2-25 20:14:13 | 显示全部楼层 |阅读模式
因为最近这个问题比较集中,我把自己的方法贴出来,如以前有了,那大家做个参考好了!

此文的方法就是自己做一个打了补丁的deb包!

参考链接:
http://www.linuxsir.cn/bbs/showthread.php?t=222366

上帖中第15楼xufan106提到要给freetype-2.1.10打三个补丁,后来我下载了debian的libfreetype6源代码,发现里面自带的patches已经有bold.patch这个补丁了(即030-bytecode-interpreter.diff),所以只要再给debian的libfreetype6打上其余两个补丁就可以了,具体方法如下:

1. 下载debian的libfreetype6源码包,apt-get source libfreetype6,最好先建立一个目录来存放。

2. 下载完后应该能看到freetype-2.1.10目录,里面有一个debian目录个三个bz2压缩包,然后将我上传到附件里的两个patch文件拷贝到目录deiban/patches/下面,里面已经有很多patch,也包括030-bytecode-interpreter.diff。

3. 然后修改debian/rules文件,目的是在制作包时自动打上刚才的两个patch文件,具体添加位置(部分截取,已用红色标明):

  1. # don't segfault on zero width BDF glyphs (#302269)
  2. patch -p1 -d $(freetype_u) -i $(patchdir)/300-bdflib-zero-width-glyphs.diff

  3. # don't segfault on BDF glyphs with encodings above 65536 (#305413)
  4. patch -p1 -d $(freetype_u) -i $(patchdir)/300-bdflib-large-encodings.diff

  5. # link graph with -lm
  6. #patch -p1 -d $(ft2demos_u) -i $(patchdir)/310-ft2demos-2.1.9-graph-link.diff

  7. [b][color=red]
  8. # custom patches of linuxsir
  9. patch -p1 -d $(freetype_u) -i $(patchdir)/freetype-2.1.10-cvsfixes.patch
  10. #patch -p1 -d $(freetype_u) -i $(patchdir)/freetype-2.1.10-xorgfix.patch
  11. [/color][/b]

  12. cd $(freetype_u) && ./configure --prefix=/usr CFLAGS="$(CFLAGS)"
  13. #cd $(freetype_u) && ./configure --prefix=/usr
  14. $(MAKE) -C $(freetype_u)
复制代码


4. 接下来回到源码包的根目录,即freetype-2.1.10目录,运行dpkg-buildpackage -d制作deb安装包,注意如果有unmet的包要手动安装上,至于那个xlibs-dev已经没有了,所以这里要加一个-d选项忽略掉。

5. 编译完成之后,做好的包在上一级目录下存放,安装*.deb即可。

6. 为了防止下一次升级时覆盖自己的libfreetype6包,可以将其hold住,直到以后bug修复。方法如下:
(1) 用dpkg --get-selections > sid_deb.status命令导出包的安装状态
(2) 编辑sid_deb.status文件将dpkg --get-selections|grep freetype显示的包状态install都改成hold
(3) 用dpkg --set-selections < sid_deb.status命令让debian读入新的包状态

注意我在第三步里实际上之让一个补丁freetype-2.1.10-cvsfixes.patch起作用 ,而freetype-2.1.10-xorgfix.patch我给注释了,因为解决字体上飘只需要cvsfixes这个patch,那个xorgfix我并不太清楚它的作用(知道的兄弟请说明一下),在不确定情况下我觉的较少的改动还是较为安全的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2006-2-25 20:20:12 | 显示全部楼层
ubuntu就没有这个问题,所以我倒希望Debian能对libfreetype6重新打包。
回复 支持 反对

使用道具 举报

发表于 2006-2-25 20:22:07 | 显示全部楼层
就是freetype-2.1.10的问题,打个补丁然后重新编译freetype-2.1.10就可以了.
bbs.linuxsir.cn/viewthread.php?tid=221269
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-25 20:26:57 | 显示全部楼层

贴个效果图

这两个图是打了patch前后的对比!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表