LinuxSir.cn,穿越时空的Linuxsir!

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

[补丁] 修正 kde-3.4 中 fonts:/ 协议中中文名称为乱码的 bug:)

[复制链接]
发表于 2005-4-10 12:04:24 | 显示全部楼层 |阅读模式
经过查找发现问题出在, kcontrol-3.4.0/kcontrol/kfontinst/lib/FcEngine.cpp, getFcString 函数当中,作者就舍不得多写几个字 :comp  :comp  :comp  :comp
改起来很简单:)

  1. sunmoon1997@sunmoon1997 ~/patches $ cat kcontrol-3.4.0-fontname-encoding.patch
  2. --- kcontrol-3.4.0/kcontrol/kfontinst/lib/FcEngine.cpp.orig     2005-04-10 11:19:25.000000000 +0800
  3. +++ kcontrol-3.4.0/kcontrol/kfontinst/lib/FcEngine.cpp  2005-04-10 11:20:48.000000000 +0800
  4. @@ -657,7 +657,7 @@
  5.      FcChar8 *fcStr;

  6.      if(FcResultMatch==FcPatternGetString(pat, val, faceNo, &fcStr))
  7. -        rv=(char *)fcStr;
  8. +        rv=QString::fromUtf8((char *)fcStr);

  9.      return rv;
  10. }
复制代码

这样修改一下就可以搞定了:)
发表于 2005-4-10 12:33:48 | 显示全部楼层
Good!
You're a very productive guy
回复 支持 反对

使用道具 举报

发表于 2005-4-10 15:27:58 | 显示全部楼层
提交到官方去吧

对了 , UTF-8 的 locale 下应该默认没有问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-11 08:38:33 | 显示全部楼层
Post by jhuangjiahua
提交到官方去吧

对了 , UTF-8 的 locale 下应该默认没有问题

看看 QT 的说明:

  1. QString::QString ( const char * str )
  2. Constructs a string that is a deep copy of str, interpreted as a classic C string. The encoding is assumed to be Latin-1, unless you change it using QTextCodec::setCodecForCStrings().
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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