制作 Pidgin QQ 表情包

  Linux 下,Pidgin QQ 是不错的 QQ 解决方案,轻量、可定制是其优势。当然,还有很多不完善之处,比如不支持文件、图片、音视频传输。

  默认的 Pidgin 不支持 QQ 表情,不过,前人很好的已经解决了,只是不甚完美。毕竟那是早在 09 年,现在 QQ 表情的字符串表示已经变了。而且,前人并没有把制作过程记录下来,所以我打算自己制作一个 Pidgin QQ 表情包,并记录下制作过程。

 

  1、获取默认 QQ 表情图片文件

  用于 Pidgin 表情包的图片必须是常用图片格式(gif、jpg、png等),然而网上却没有提供下载。什么?那个 Google Project 不是有现成的了么?是的,不过那是别人的成果,而且我关心的是,前人是如何得到那些文件的。一种方法是,从原装的 QQ 中提取,应用工具或技术牛X未尝不可,但对我来说不适合。我用的是另一种方法,用脚本从 Web QQ批量获取。

  登入 Web QQ,打开一个聊天对话框的表情。观察表情图片的地址,可以发现一些规律,比如第一个表情图片的地址是 http://0.web.qstatic.com/webqqpic/style/face/0.gif,而第 10 个表情图片的地址是 http://0.web.qstatic.com/webqqpic/style/face/9.gif,显然,第 n 个表情图片的地址应该是 http://0.web.qstatic.com/webqqpic/style/face/n - 1.gif。既然有规律,就可以用简单的脚本批量下载所有的 QQ 表情。

 

1 #!/bin/bash
2 
3 for ((c = 0; c < 105; c++)); do
4     wget http://0.web.qstatic.com/webqqpic/style/face/$c.gif
5 done 

 

 

  2、编写 theme 文件

  编写 theme 文件并不需要什么技术,只要不嫌麻烦。很不巧,我是一个很怕麻烦的人。

  (1) 把所有的表情发送一遍

  

 

  (2) 保存接收到的信息为 theme

  

 

  (3) 用 vim 编辑 theme

  首先让每个表情独占一行,:%s/\$/\$\r/g。

  然后在每行行首添加文件路径,:let i=0 | g/^/s//\=i.".gif\t"/ | let i=i+1。

  最后完善 theme 文件信息即可。

 

  3、测试

  

 

  测试结果基本正常,除了最后一个乌龙……足球变酱油?!最终确认,那是 QQ 处理第 73 个表情不一致造成的,在发送时,使用的是 /bj$,但接收却是用 /zq$。

 

  最后附下载地址 https://files.cnblogs.com/7c00/QQ.7z

posted @ 2012-08-08 14:15  7c00  阅读(678)  评论(3编辑  收藏  举报