X-Face

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Software)
(Software: Added x-face-el)
 
(3 intermediate revisions by one user not shown)
Line 4: Line 4:
 
|extensions={{ext|face}}, {{ext|xface}}
 
|extensions={{ext|face}}, {{ext|xface}}
 
|released=~1990
 
|released=~1990
 +
| 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 image. The format appears to be fairly complex, and probably uses [[arithmetic coding]].
Line 12: Line 13:
 
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.
  
Although a fair number of open source programs support the format, we have not been able to locate any specifications. Most or all X-Face code is based on James Ashton's ''Compface'' software, and Compface's code is fairly opaque.
+
Most or all X-Face code is based on James Ashton's ''Compface'' software, and Compface's code is fairly opaque. [https://purl.org/x-face-spec A specification] has been written by reverse-engineering Compface.
  
 
== Compface intermediate format ==
 
== Compface intermediate format ==
The Compface software by default converts X-Face to and from a custom format, which it describes as "48 lines each of 3 sixteen bit hexadecimal integers, comma terminated in C initialiser style." It looks something like this:
+
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.
 
+
0x0000,0x0000,0x0000,
+
0x0000,0x4400,0x0000,
+
0x0000,0x7600,0x0000,
+
0x0002,0x6B80,0x0100,
+
0x0006,0x0440,0x0600,
+
0x0008,0x0040,0x0E00,
+
...
+
 
+
However, at least one implementation[http://kinzler.com/ftp/faces/compface-win/] uses a format that looks like this:
+
0x00,0x00,0x00,0x00,0x00,0x00,
+
0x00,0x00,0x44,0x00,0x00,0x00,
+
0x00,0x00,0x76,0x00,0x00,0x00,
+
0x00,0x02,0x6B,0x80,0x01,0x00,
+
0x00,0x06,0x04,0x40,0x06,0x00,
+
0x00,0x08,0x00,0x40,0x0E,0x00,
+
...
+
  
 
== Software ==
 
== Software ==
Line 43: Line 27:
 
* {{Deark}}
 
* {{Deark}}
 
* [http://www.dairiki.org/xface/ Online X-Face Converter]
 
* [http://www.dairiki.org/xface/ Online X-Face Converter]
 +
* [https://packages.debian.org/sid/x-face-el x-face-el] — extends the format, in a manner unsupported by other software, adding colour/greyscale pixels, animation, and larger image sizes
  
 
== Samples ==
 
== Samples ==

Latest revision as of 22:27, 28 August 2024

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 image. The format appears to be fairly complex, and probably uses arithmetic coding.

Contents

[edit] 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.

[edit] 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.

[edit] Software

[edit] Samples

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox