@end iftex
@c @anchor{X-Face}
-@code{X-Face} \e$B%X%C%@!<$NI|9f$K$O!"\e(BEmacs \e$B$,\e(B @samp{compface} \e$B$r%5%]!<\e(B
+\e$B:#$d\e(B Gnus \e$B$O\e(B @code{X-Face} \e$B%X%C%@!<$r%G%3!<%I$9$k$?$a$K!"DL>o\e(B Emacs \e$B$G\e(B
+\e$B$O\e(B ELisp \e$B$G=q$+$l$?FbIt\e(B @code{uncompface} \e$B%W%m%0%i%`$r;H$$$^$9!#$=$l$O$I\e(B
+\e$B$s$J30It%W%m%0%i%`$bI,MW$H$7$J$$0lJ}!"CY$$%^%7%s$r;H$C$F$$$k>l9g$O$=$l$r\e(B
+\e$BCY$/46$8$k$+$b$7$l$^$;$s!#$=$s$J>l9g$O!"0J2<$NJQ?t$rJQ99$9$k$3$H$,$G$-$^\e(B
+\e$B$9\e(B:
+
+@table @code
+@item uncompface-use-external
+@vindex uncompface-use-external
+\e$BFbIt%G%3!<%@$H30It%G%3!<%@$N$I$A$i$,;H$o$l$k$Y$-$+$r;XDj$7$^$9!#\e(B
+@code{nil} \e$B$O\e(B ELisp \e$B$G=q$+$l$?FbIt\e(B @code{uncompface} \e$B%W%m%0%i%`$r;H$&$3\e(B
+\e$B$H$r0UL#$7!"\e(B@code{t} \e$B$O30It%G%3!<%@$r;H$&$3$H$r0UL#$7$^$9!#%G%#%U%)%k%H\e(B
+\e$BCM$O%[%9%H%^%7%s$,CY$$$+$I$&$+$r8!::$7$F$=$l$r7h$a$k$3$H$r0UL#$9\e(B
+\e$B$k\e(B @code{undecided} \e$B$G!"\e(B@code{uncompface-use-external-threshold} (\e$B$=$l$r\e(B
+\e$B;2>H\e(B) \e$B$K$h$C$F@)8f$5$l$^$9!#\e(B
+
+@item uncompface-use-external-threshold
+@vindex uncompface-use-external-threshold
+\e$B%[%9%H%^%7%s$,CY$$$+$I$&$+$r8!::$9$k$?$a$NIC?t$G$9!#\e(BELisp \e$B$G=q$+$l$?Fb\e(B
+\e$BIt\e(B @code{uncompface} \e$B%W%m%0%i%`$r;H$C$F\e(B @code{X-Face} \e$B$r%G%3!<%I$9$k$N$K\e(B
+\e$B$+$+$k;~4V$,$3$NCM$h$jBg$-$$>l9g$O!"30It%G%3!<%@$N;HMQ$KJQ99$5$l$^$9!#\e(B
+@end table
+
+\e$BFbIt%G%3!<%@$,L58z$K$5$l$k>l9g!"$"$k$$$O\e(B XEmacs \e$B$r;H$C$F$$$k>l9g$O!"\e(B
+@code{X-Face} \e$B%X%C%@!<$N%G%3!<%I$K$O!"\e(BEmacs \e$B$,\e(B @samp{compface} \e$B$r%5%]!<\e(B
\e$B%H\e(B (XEmacs \e$B$N$[$H$s$I$,%5%]!<%H\e(B) \e$B$7$F$$$k$+!"$"$J$?$N%7%9%F%`\e(B
\e$B$K\e(B @samp{compface} \e$B$,%$%s%9%H!<%k$5$l$F$$$kI,MW$,$"$j$^$9!#$b$7$I$A$i$+\e(B
\e$B$,??$J$i$P!"\e(Bgnus \e$B$O%G%#%U%)%k%H$G\e(B @code{X-Face} \e$B%X%C%@!<$rI=<($7$^$9!#\e(B
\e$B$K\e(B @code{gnus-show-threads} \e$B$H\e(B @code{gnus-use-cross-reference}\e$B!"$=$l\e(B
\e$B$K\e(B @code{gnus-nov-is-evil} \e$B$r\e(B @code{nil} \e$B$K@_Dj$7$F2<$5$$!#\e(B
+Gnus \e$B$O\e(B @code{X-Face} \e$B%X%C%@!<$r%G%3!<%I$9$k$?$a$K!"DL>o\e(B Emacs \e$B$G\e(B
+\e$B$O\e(B ELisp \e$B$G=q$+$l$?FbIt\e(B @code{uncompface} \e$B%W%m%0%i%`$r;H$$$^$9!#$=$l$,CY\e(B
+\e$B$/46$8$k>l9g$O!"\e(B@code{uncompface-use-external} \e$B$r\e(B @code{t} \e$B$K@_Dj$7$F2<\e(B
+\e$B$5$$!#\e(B@xref{X-Face}.
+
@page
@node Troubleshooting
@section \e$BLdBj2r7h\e(B
@end iftex
@c @anchor{X-Face}
-Decoding an @code{X-Face} header either requires an Emacs that has
+Gnus now uses the internal ELisp-based @code{uncompface} program for
+decoding an @code{X-Face} header normally in Emacs. While it doesn't
+require any other external program, you may feel it is slow if you are
+using a slow machine. In such a case, you can modify the following
+variables:
+
+@table @code
+@item uncompface-use-external
+@vindex uncompface-use-external
+Specify which of the internal or the external decoder should be used.
+@code{nil} means to use the internal ELisp-based @code{uncompface}
+program. @code{t} means to use the external decoder. The default value
+is normally @code{undecided} which means to determine it by checking
+whether the host machine is slow, being controlled by
+@code{uncompface-use-external-threshold} (which see).
+
+@item uncompface-use-external-threshold
+@vindex uncompface-use-external-threshold
+@vindex uncompface-use-external-threshold
+A number of seconds to check whether the host machine is slow. If the
+host takes time larger than this value for decoding an @code{X-Face}
+using the internal ELisp-based @code{uncompface} program, it will be
+changed to using the external decoder.
+@end table
+
+If the internal decoder is invalidated or if you are using XEmacs,
+decoding an @code{X-Face} header either requires an Emacs that has
@samp{compface} support (which most XEmacs versions has), or that you
have @samp{compface} installed on your system. If either is true,
Gnus will default to displaying @code{X-Face} headers.
@code{gnus-nov-is-evil} to @code{nil} to make entering and exiting the
summary buffer faster.
+Gnus uses the internal ELisp-based @code{uncompface} program for
+decoding an @code{X-Face} header normally in Emacs. If you feel it is
+slow, set @code{uncompface-use-external} to @code{t}. @xref{X-Face}.
+
@page
@node Troubleshooting