face - face files
The directory /lib/face contains a hierarchy of images of people. In that directory are
subdirectories named by the sizes of the corresponding image files: 48x48x1 (48 by 48 pix-
els, one bit per pixel); 48x48x2 (48 by 48 pixels, two bits per pixel); 512x512x8 (512 by
512 pixels, eight bits per pixel); 512x512x24 (512 by 512 pixels, twenty-four bits per
pixel (3 times 8 bits per color)). The large files serve no special purpose; they are
stored either as bitmaps (see bitmap(6)) or as picture files (see picfile(9.6). The small
files are the `icons' displayed by seemail (see mail(1)); their format is special.
Icons are stored as text, one line of the file to one scan line of display. Each line is
divided into 8-bit, 16-bit, or 32-bit big-endian words, stored as a list of comma-sepa-
rated hexadecimal C constants, such as:
0x9200, 0x1bb0, 0x003e,
This odd format is historical and the programs that read it are somewhat forgiving about
blanks and the need for commas.
The files /lib/face/*/.dict hold a correspondence between users at machines and face
files. The format is
The machine is the domain name of the machine sending the message, and user the name of
the user sending it, as recorded in /sys/log/mail. The directory is a further subdirec-
tory of (say) /lib/face/48x48x1, named by a single letter corresponding to the first char-
acter of the user names. The file is the name of the file, typically but not always the
user name, and ver is a number to distinguish different images, for example to distinguish
the image for Bill Gates from the image for Bill Joy, both of which might otherwise be
called b/bill. For example, Bill Gates might be represented by the line
If multiple entries exist for a user in the various .dict files, seemail chooses the high-
est pixel size less than or equal to that of the display on which it is running.
Finally, or rather firstly, the file /lib/face/.machinelist contains a list of
machine/domain pairs, one per line, to map any of a set of machines to a single domain
name to be looked up in the .dict files. The machine name may be a regular expression, so
for example the entry
maps any of the machines in AT&T Research into the shorthand name astro, which then
appears as a domain name in the .dict files.
mail(1), tweak(1), bitmap(6)