X-Face

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Added notes about FaceMake support.)
(Added mention of extensions, and their potential effect on certain clients.)
Line 6: Line 6:
 
| spec = https://purl.org/x-face-spec
 
| spec = https://purl.org/x-face-spec
 
}}
 
}}
'''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]].
+
'''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 (apart from its extensions to support color, bigger images, and animation) image. The format appears to be fairly complex, and probably uses [[arithmetic coding]].
  
 
== Discussion ==
 
== 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.
+
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 (a behavior that can potentially break the format's improvement extensions). 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.
 
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.
Line 16: Line 16:
  
 
== Compface intermediate format ==
 
== 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[http://kinzler.com/ftp/faces/compface-win/] uses 8-bit words.
+
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 [http://kinzler.com/ftp/faces/compface-win/] uses 8-bit words.
  
 
== Software ==
 
== Software ==

Revision as of 21:40, 25 September 2025

File Format
Name X-Face
Ontology
Extension(s) .face, .xface
Spec https://purl.org/x-face-spec
Released ~1990

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 (apart from its extensions to support color, bigger images, and animation) 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 (a behavior that can potentially break the format's improvement extensions). 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

  • 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/Saku works) which includes a program called FaceMake which, on the latest version (Datula's is, but the version of FaceMake shipped in X-FaceTool004, a version for e-mail clients like EdMax and Eudora, among others, isn't) 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, at least where Datula is concerned) and beyond-48x48px. The 24-bit support in FaceMake doesn't exist in the build bundled with X-FaceTool004, unlike the FaceMake for Datula's X-Face plugin that it is bundled with. FaceMake is also picky.

Samples

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox