FACE(6) FACE(6)
NAME
face - face files
DESCRIPTION
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
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 pix-
els, 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:
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, as
recorded in /sys/log/mail. The directory is a further sub-
directory of (say) /lib/face/48x48x1, named by a single let-
ter 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 repre-
sented 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 11/2/25)
FACE(6) FACE(6)
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(6)
Page 2 Plan 9 (printed 11/2/25)