FACE(7) FACE(7)
NAME
face - face files
DESCRIPTION
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(7)). The small
files are the `icons' displayed by faces and seemail (see
Plan 9's 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:
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
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. 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.
Page 1 Plan 9 (printed 12/1/25)
FACE(7) FACE(7)
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.
SEE ALSO
mail(1), tweak(1), image(7)
Page 2 Plan 9 (printed 12/1/25)