1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
<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>
|