没有什么用的技巧 - 在邮件中显示你的头像

有时候在 Article buffer 顶部有个小小的图片,是什么?我发的帖子如何加上?

那些图片称为 X-Face,是一些 4848 的黑白图片,被编码为一行邮件头 (header line),如果你也想加一个,需要把图片转换X-Face。用一个图片处 理程序(比如 gimp),打开你想要的图片,剪切相应部分,将颜色降低为 1bit,改变大小到 4848,另存为位图(bitmap)。从this site (ftp://ftp.cs.indiana.edu:/pub/faces/) 取来 compface 包,通过如下命 令,创建一个 X-face:

cat file.xbm | xbm2ikon |compface > file.face cat ./file.face | sed ‘s/\/\\/g’ | sed ‘s/"/\"/g’ > ./file.face.quoted

如果不能使用 compface,还有另一个 X-face 转换器: Online X-Face Converter. 如果在MS Windows 上,也可以用 WinFace 程序:http://www.xs4all.nl/~walterln/winface/. 然后只需要 在 ~/.gnus 中告诉Gnus 在你的帖子里面加入 X-face:

(setq message-default-headers (with-temp-buffer (insert "X-Face: ") (insert-file-contents “~/.xemacs/xface”) (buffer-string)))

翻到 DarkSun转的一篇老文章,提到了 X-face 这个邮件/新闻组时代很流行的东西。就和现在的 Gravatar 差不多。甚至以前的 IRC 也能显示 X-face 头像。

原理就是在邮件的 Header 部分嵌入一段专门的代码,在读入的时候转换成一个 48x48 的黑白图片,比如我的头像的代码就是:

0@1]t/p1\-TYA>y*B},]Iv$z1v-o$C/G)\m9=?bWtc9/yca-)cV,[jIwgM(=|h85EAfU7'+b_|+m$TU.6bsD5SGd/RTu.h+}8b>OCDNCDr_#zv"H:o23#+m@g5USw)-74icq8Q(6Dy?Lkc+3P&v%2yerI[)FWEljAhOcZKz3bH6b&QEYd{Vm'g]\7.5bCsb?jqKKk0e%SlU[sL'Jok%WNH_ql4c;/HD`OR,3NBbzKgT9$Mbz;"y~;&Gi-3aa

效果就是这样: avatar

(亏得我头像本来就是黑白的)我用上面提到的 Online X-Face Converter 来转换。

WanderLust 中,设置 X-face 很简单,只要把生成的代码作为纯文本文件保存在 ~/.xface 就会自动读取。

但是显示出来只是代码,不是图片?

这个嘛,我看了看 WanderLust 的手册,里面提到要用 Mule 来处理。Mule 是 Emacs 21 之前不支持 UTF-8 的时候用来处理字体和编码的包,现在 Emacs 21 以后可以用 x-face-e21.el 来处理,不需要 Mule。

可以在这里下载: http://www.jpl.org/ftp/pub/elisp/

然后

(autoload 'x-face-decode-message-header "x-face-e21")
(setq wl-highlight-x-face-function 'x-face-decode-message-header)

然后你还要从包管理器装 compface 来转换出图片,

效果:

GNUS 在新版本中用 X-Face,和上面的文章不同,只要在启动时检测到安装了 netpbm compface 这两个可执行文件就会自动显示。通过 gnus-posting-styles 可以指定自己的头像文件。

8 个赞

重头戏来了,在 WanderLust 中用你的 Gravatar 头像作为 X-face。

EmacsWiki 也提到如何用 imagemagick 制作 X-face 头像。 https://www.emacswiki.org/emacs/GnusXFace

跑个题:印象中 Magit 中可以显示 Gravatar 头像,用的是 Emacs 自带的 gravatar.el

这个也需要 gravatar.el

为什么会有 X-face

它其实是被一种叫做 PBM 的黑白格式定义的。那时候电子邮件还不能发二进制文件,任何非 ASCII 码会造成邮件数据转换。

PBM 就是在这种情况下产生,用来把图片转换成纯文本以通过邮件传送。

php

OwO 超棒!!感谢!!

唯一的问题是怎么让thunderbird显示它OTZ,要不我还是用gnus吧……或者wander lust?


WanderLust 用 ~/.folders 来配置收信方式。非常令人无语的是,这个文件是 unix-rc 格式的。但是不要被吓退,其实这是很容易弄懂的。

(然后是一堆梵语)

明白了吗?(不明白啊喂)

开玩笑的,不过第一眼看的时候真的笑出来

1 个赞

http://forums.mozillazine.org/viewtopic.php?f=30&t=154507

然而如題所示,设置 x-face 的確是无用的技巧,別人都看不到,即使用 Gnus 或 Wanderlust 默认也不会展示。

自己能看见啊OwO 而且这个超级酷

那个addon不知道为啥装不了,我提了issue

又制作了一个。幾現 imagemagick 是不需要的,只要用 netpbm 就可以完成很多编辑了。

我直接用krita糊的。。另外直接做40x40的话做头像(当然xface就没那么多讲究了)效果不太好,要矢量发大一点,不然边缘发虚。

上图的 f3 就是用 netpbm 的 pgmedge 在 f2 上做的 edge detection。上面所有灰度图都是在 48x48 的尺寸上做编辑的。主题里提到的在线 X-Face 转换器(实际用的就是 netpbm)网页上有记载处理的步骤,比较值得参考。