<head>
<title>face(7) - Plan 9 from User Space</title>
<meta content="text/html; charset=utf-8" http-equiv=Content-Type>
</head>
<body bgcolor=#ffffff>
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr height=10><td>
<tr><td width=20><td>
<tr><td width=20><td><b>FACE(7)</b><td align=right><b>FACE(7)</b>
<tr><td width=20><td colspan=2>
    <br>
<p><font size=+1><b>NAME     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    face &ndash; face files<br>
    
</table>
<p><font size=+1><b>DESCRIPTION     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    The directories <tt><font size=+1>/usr/$user/lib/face</font></tt> and <tt><font size=+1>/lib/face</font></tt> contain a hierarchy
    of images of people. In those directories are subdirectories named
    by the sizes of the corresponding image files: <tt><font size=+1>48x48x1</font></tt> (48 by
    48 pixels, one bit per pixel); <tt><font size=+1>48x48x2</font></tt> (48 by 48 pixels, two (grey)
    bits per pixel); <tt><font size=+1>48x48x4</font></tt> (48 by 48
    pixels, four (grey) bits per pixel); <tt><font size=+1>48x48x8</font></tt> (48 by 48 pixels,
    eight (color-mapped) bits per pixel); <tt><font size=+1>512x512x8</font></tt> (512 by 512 pixels,
    eight (color-mapped) bits per pixel); <tt><font size=+1>512x512x24</font></tt> (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 <a href="../man7/image.html"><i>image</i>(7)</a>). The small files are the &#8216;icons&#8217; displayed
    by <tt><font size=+1>faces</font></tt> and <tt><font size=+1>seemail</font></tt> (see Plan 9&#8217;s <i>faces</i>(1)); for depths less
    than 4, their format is special. 
    <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
    
    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:<br>
    
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        <tt><font size=+1>0x9200, 0x1bb0, 0x003e,<br>
        
        <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
        </font></tt>
        
    </table>
    This odd format is historical and the programs that read it are
    somewhat forgiving about blanks and the need for commas. 
    <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
    
    The files <tt><font size=+1>lib/face/*/.dict</font></tt> hold a correspondence between users
    at machines and face files. The format is<br>
    
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        <i>machine</i>/<i>user directory</i>/<i>file</i>.<i>ver <br>
        
        <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
        </i>
        
    </table>
    The <i>machine</i> is the domain name of the machine sending the message,
    and <i>user</i> the name of the user sending it. The <i>directory</i> is a further
    subdirectory of (say) <tt><font size=+1>/lib/face/48x48x1</font></tt>, named by a single letter
    corresponding to the first character of the user names. The <i>file</i>
    is the name of the file, typically but not
    always the user name, and <i>ver</i> 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
    <tt><font size=+1>b/bill</font></tt>. For example, Bill Gates might be represented by the line<br>
    
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        <tt><font size=+1>microsoft.com/bill b/bill.1<br>
        
        <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
        </font></tt>
        
    </table>
    If multiple entries exist for a user in the various <tt><font size=+1>.dict</font></tt> files,
    <i>faces</i> chooses the highest pixel size less than or equal to that
    of the display on which it is running. 
    <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
    
    Finally, or rather firstly, the file <tt><font size=+1>/lib/face/.machinelist</font></tt> 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
    <tt><font size=+1>.dict</font></tt> files. The machine name may be a regular expression, so
    for example the entry<br>
    
    <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

        <tt><font size=+1>.*research\.bell&#8722;labs\.com &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;astro<br>
        
        <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
        </font></tt>
        
    </table>
    maps any of the machines in Bell Labs Research into the shorthand
    name <tt><font size=+1>astro</font></tt>, which then appears as a domain name in the <tt><font size=+1>.dict</font></tt> files.<br>
    
</table>
<p><font size=+1><b>SEE ALSO     </b></font><br>

<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>

    <a href="../man1/mail.html"><i>mail</i>(1)</a>, <a href="../man1/tweak.html"><i>tweak</i>(1)</a>, <a href="../man7/image.html"><i>image</i>(7)</a><br>
    
</table>

<td width=20>
<tr height=20><td>
</table>
<!-- TRAILER -->
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr height=15><td width=10><td><td width=10>
<tr><td><td>
<center>
<a href="../../"><img src="../../dist/spaceglenda100.png" alt="Space Glenda" border=1></a>
</center>
</table>
<!-- TRAILER -->
</body></html>
