Warning: Unknown: Unable to allocate memory for pool. in Unknown on line 0

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/index.php on line 54

Warning: Cannot modify header information - headers already sent in /usr/local/www/mediawiki/includes/WebStart.php on line 63

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 94

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 97

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 100

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 103

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/Defines.php on line 187

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 115

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/LocalSettings.php on line 144

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/LocalSettings.php on line 145

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/LocalSettings.php on line 153

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 150

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 157

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/Setup.php on line 381

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/Setup.php on line 382

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/Setup.php on line 383

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/languages/Language.php on line 20

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: include_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/Skin.php on line 153

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/skins/Vector.deps.php on line 11

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/Skin.php on line 155

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: Cannot modify header information - headers already sent in /usr/local/www/mediawiki/includes/WebResponse.php on line 38

Warning: Cannot modify header information - headers already sent in /usr/local/www/mediawiki/includes/WebResponse.php on line 38

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/json/FormatJson.php on line 12

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007
X-Face - Just Solve the File Format Problem

X-Face

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
m
Line 5: Line 5:
 
|released=~1990
 
|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.
+
'''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 12:
 
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.
+
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.
  
== 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 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:
  
 
  0x0000,0x0000,0x0000,
 
  0x0000,0x0000,0x0000,
Line 25: Line 25:
 
  ...
 
  ...
  
Figuring out the byte-order and bit-order is left as an exercise for the reader.
+
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 ==
* [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]]
 +
* [http://www.dairiki.org/xface/ Online X-Face Converter]
  
 
== 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 51:
 
* [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]]

Revision as of 16:41, 27 May 2017

File Format
Name X-Face
Ontology
Extension(s) .face, .xface
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

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.

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.

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:

0x0000,0x0000,0x0000,
0x0000,0x4400,0x0000,
0x0000,0x7600,0x0000,
0x0002,0x6B80,0x0100,
0x0006,0x0440,0x0600,
0x0008,0x0040,0x0E00,
...

However, at least one implementation[1] 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

Samples

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox

Warning: Cannot modify header information - headers already sent in /usr/local/www/mediawiki/includes/WebResponse.php on line 38

Warning: Cannot modify header information - headers already sent in /usr/local/www/mediawiki/includes/WebResponse.php on line 38

Warning: Cannot modify header information - headers already sent in /usr/local/www/mediawiki/includes/WebResponse.php on line 38