X-Face

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
m
(Software: Added x-face-el)
 
(5 intermediate revisions by 2 users 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.
+
'''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]].
  
 
== Discussion ==
 
== Discussion ==
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 whatsoever. 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 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,
+
...
+
 
+
Figuring out the byte-order and bit-order is left as an exercise for the reader.
+
  
 
== Software ==
 
== Software ==
* [http://ibiblio.org/pub/linux/apps/graphics/convert/compface-1.4.tar.gz compface-1.4.tar.gz] (<code>uncompface -X</code> to convert to [[XBM]] format)
+
* Compface
 +
** [http://ibiblio.org/pub/linux/apps/graphics/convert/compface-1.4.tar.gz compface-1.4.tar.gz] (<code>uncompface -X</code> to convert to [[XBM]] format)
 +
** [http://ftp.xemacs.org/xemacs/aux/compface-1.5.2.tar.gz compface-1.5.2.tar.gz]
 +
** [https://ftp.ussg.iu.edu/solaris/freeware/SOURCES/compface-25Jan90.tar.gz compface-25Jan90.tar.gz]
 +
** [http://kinzler.com/ftp/faces/compface-win/ X-Faces for Windows 95/NT]
 
* [[FFmpeg]]
 
* [[FFmpeg]]
 +
* {{Deark}}
 +
* [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 ==
 +
* https://dev.mutt.org/trac/wiki/MuttGuide/XFace - Search for "compface tao.xbm".
 +
* [http://kinzler.com/ftp/faces/winface/WinFace1_3-src.zip WinFace1_3-src.zip] → WinFace/default_face.txt
 
* [http://faces.sourceforge.net/Documents/faces.txt faces man page], "XFACE SUPPORT" section, has an example.
 
* [http://faces.sourceforge.net/Documents/faces.txt faces man page], "XFACE SUPPORT" section, has an example.
  
Line 37: Line 37:
 
* [http://www.cs.indiana.edu/ftp/faces/ Faces Archive] - Lists some X-Face resources
 
* [http://www.cs.indiana.edu/ftp/faces/ Faces Archive] - Lists some X-Face resources
 
* [http://faces.sourceforge.net/Documents/faces.txt faces man page]
 
* [http://faces.sourceforge.net/Documents/faces.txt faces man page]
* [http://www.dairiki.org/xface/ Online X-Face Converter]
 
 
* [[Wikipedia: X-Face]]
 
* [[Wikipedia: X-Face]]
  
 
[[Category:E-Mail, newsgroups, and forums]]
 
[[Category:E-Mail, newsgroups, and forums]]

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