X-Face
(Added a recent discovery that the e-mail client Datula got plugins for X-Face that took the X-Face-el extensions even further, unifying them into beyond-48x48px 24bpp animated RGB , allowing for what is basically opaque APNG in MIME headers.) |
m (Fix indent) |
||
Line 31: | Line 31: | ||
* [https://web.archive.org/web/20040405125946*/http://www.onsystems.co.jp Datula] - A Japanese e-mail client which supported plugins in versions such as [https://web.archive.org/web/20040405125946*/http://www.onsystems.co.jp:80/download/datula1.52.01.01.exe 1.52.01.01], two of which involved extended X-Face. | * [https://web.archive.org/web/20040405125946*/http://www.onsystems.co.jp Datula] - A Japanese e-mail client which supported plugins in versions such as [https://web.archive.org/web/20040405125946*/http://www.onsystems.co.jp:80/download/datula1.52.01.01.exe 1.52.01.01], two of which involved extended X-Face. | ||
** [https://web.archive.org/web/20001025151154/http://www.find.co.jp:80/~saku/download/dfaceex1001.zip Datula DFaceEX X-Face Plugin] - An X-Face viewer plugin for Datula capable of viewing extended X-Faces. | ** [https://web.archive.org/web/20001025151154/http://www.find.co.jp:80/~saku/download/dfaceex1001.zip Datula DFaceEX X-Face Plugin] - An X-Face viewer plugin for Datula capable of viewing extended X-Faces. | ||
− | * [https://web.archive.org/web/20080828060424/http://cgisv.chldren.net:80/~saku/xfaceplugin.html XFacePlugin with FaceMake] - Another viewer plugin by the same author (saku) which includes a program called '''FaceMake''' which combines the X-Face-el extensions into a unified format of 24-bit RGB with animation (needs to be done frame-by-frame, but the decoder will happily decode it) and beyond-48x48px. | + | ** [https://web.archive.org/web/20080828060424/http://cgisv.chldren.net:80/~saku/xfaceplugin.html XFacePlugin with FaceMake] - Another viewer plugin by the same author (saku) which includes a program called '''FaceMake''' which combines the X-Face-el extensions into a unified format of 24-bit RGB with animation (needs to be done frame-by-frame, but the decoder will happily decode it) and beyond-48x48px. |
== Samples == | == Samples == |
Revision as of 21:35, 22 August 2025
X-Face is a compressed image format that can be placed in an email or Usenet newsgroup message header. It is expected to contain the sender's picture or avatar. It is a 48×48 bi-level image. The format appears to be fairly complex, and probably uses arithmetic coding.
Contents |
Discussion
Although X-Face data is often expected to be stored in a file, there isn't really a standard X-Face file format. The main thing to be aware of is that sometimes the "X-Face:" header name is stored in the file, and sometimes it is not. Different software has different requirements.
File extensions .face and .xface have both been suggested. Sometimes, X-Face data will be in a file named ".face" in the user's home directory.
Most or all X-Face code is based on James Ashton's Compface software, and Compface's code is fairly opaque. A specification has been written by reverse-engineering Compface.
Compface intermediate format
The Compface software by default converts X-Face to and from the Ikon format. It only supports 48×48 images with a bit depth of 1. Most implementations use 16-bit words but one implementation[1] uses 8-bit words.
Software
- Compface
- compface-1.4.tar.gz (
uncompface -X
to convert to XBM format) - compface-1.5.2.tar.gz
- compface-25Jan90.tar.gz
- X-Faces for Windows 95/NT
- compface-1.4.tar.gz (
- FFmpeg
- Deark
- Online X-Face Converter
- x-face-el — extends the format, in a manner unsupported by other software, adding colour/greyscale pixels, animation, and larger image sizes
- Datula - A Japanese e-mail client which supported plugins in versions such as 1.52.01.01, two of which involved extended X-Face.
- Datula DFaceEX X-Face Plugin - An X-Face viewer plugin for Datula capable of viewing extended X-Faces.
- XFacePlugin with FaceMake - Another viewer plugin by the same author (saku) which includes a program called FaceMake which combines the X-Face-el extensions into a unified format of 24-bit RGB with animation (needs to be done frame-by-frame, but the decoder will happily decode it) and beyond-48x48px.
Samples
- https://dev.mutt.org/trac/wiki/MuttGuide/XFace - Search for "compface tao.xbm".
- WinFace1_3-src.zip → WinFace/default_face.txt
- faces man page, "XFACE SUPPORT" section, has an example.
- https://stgiga.github.io/X-FacePlusFaceAll48pxHeaders.txt - Sample of regular X-Face, Face (Base64+PNG), & the 48x48 x-face-el extended X-Face types (8-bit grayscale & animated 3bpp RGB).
- https://stgiga.github.io/QuadFace.gif - A GIFski GIF rendering of the above, assembled into a 96x96 square cell (useful if everything is 48x48) that modern UIs would prefer.
- https://stgiga.github.io/X-FacePlusFaceAllHeaders.txt - Sample of regular X-Face, Face (Base64+PNG), & the x-face-el extended X-Face types (8-bit grayscale & animated 3bpp RGB, including going beyond 48x48px).
- https://stgiga.github.io/TallFace.gif - A GIFski GIF rendering of the above, assembled into a 96x144 cell that modern UIs would prefer over stringing them side-by-side like x-face-el does.
Links
- Faces Archive - Lists some X-Face resources
- faces man page
- Wikipedia: X-Face