face(7) - Plan 9 from User Space

| 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.
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)