|
The directories /usr/$user/lib/face and /lib/face contain a hierarchy
of images of people. In those directories are subdirectories named
by the sizes of the corresponding image files: 48x48x1 (48 by
48 pixels, one bit per pixel); 48x48x2 (48 by 48 pixels, two (grey)
bits per pixel); 48x48x4 (48 by 48
pixels, four (grey) bits per pixel); 48x48x8 (48 by 48 pixels,
eight (color–mapped) bits per pixel); 512x512x8 (512 by 512 pixels,
eight (color–mapped) 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 as
images (see image(6)). The small files are the `icons' displayed
by faces and seemail (see faces(1)); for depths less than 4, their
format is special.
One– and two–bit deep 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–separated
hexadecimal C constants, such as:
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
| |
machine/user directory/file.ver
|
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 subdirectory of (say) /lib/face/48x48x1,
named by a single letter corresponding to the first character
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
| |
microsoft.com/bill b/bill.1
|
If multiple entries exist for a user in the various .dict files,
faces chooses the highest 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
| |
.*research\.bell–labs\.com astro
|
maps any of the machines in Bell Labs Research into the shorthand
name astro, which then appears as a domain name in the .dict files.
|