| <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 – 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 ‘icons’ displayed |
| by <tt><font size=+1>faces</font></tt> and <tt><font size=+1>seemail</font></tt> (see Plan 9’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−labs\.com 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> |