Ar an seachtú lá is fiche de mí Meitheamh, scríobh Mike Kupfer:
I, too, am seeing a very small infinity symbol when I view the table
in
TeX-escape-region.el. I have
Emacs.default.AttributeFont: -*-fixed-medium-r-*-*-*-120-100-*-*-*-iso8859-
in my .Xresources, so I thought maybe it's because XEmacs has to use a
different font for the infinity symbol. But if I change .Xresources to
use
Emacs.default.AttributeFont: -*-fixed-medium-r-normal-*-*-120-100-*-*-*-iso10646-*
and restart XEmacs, I still get a small infinity symbol. But xfontsel
shows a perfectly usable (larger) infinity symbol for that fontspect.
Using the ffi2 and ffi3 functions (thanks, Robert!), I see that XEmacs
is still using a different font for the infinity:
#<font-instance
"-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1" on
#<x-device on ":0.0" 0x2> font id: 0x3a0020d, 0x72>
and it's using an iso8859 font for normal characters like "i":
#<font-instance
"-misc-fixed-medium-r-normal--15-120-100-100-c-90-iso8859-1" on #<x-device on
":0.0" 0x2> font id: 0x3a0007a, 0x64>
Is this to be expected? Why isn't XEmacs using
-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
for the infinity? It has a perfectly fine infinity symbol (according to
xfontsel).
XEmacs uses a character’s Mule charset to assign a font to it, and it never
inspects fonts for coverage under X11 (at the time the code was initially
written, X11 fonts in general covered everything they advertised, and I
didn’t change that back when I was involved in this code in the middle of
the last decade, mainly because there wasn’t a sanctioned way to look at a
server-side font’s coverage.) For the just-in-time Unicode character sets,
there’s a list of Markus Kuhn’s misc-fixed fonts, which have good coverage,
built in to XEmacs:
(let ((specifier-fallback (specifier-fallback (face-font 'default))))
(set-difference specifier-fallback
(remove* 'x-coverage-instantiator specifier-fallback
:key 'car :test 'memq)))
=> (((x two-dimensional final x-coverage-instantiator) .
"-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1") ((x one-dimensional
final x-coverage-instantiator) .
"-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1") ((x
encode-as-utf-8 initial x-coverage-instantiator) .
"-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1"))
XEmacs uses the fonts it knows about for those characters, it doesn’t use
the default font even if it’s available in -iso10646-1 (because most of the
fonts available in -iso10646-1 have *very* limited coverage.)
There is no user-friendly way to change these fallbacks. The
non-userfriendly way is as follows, something I sent to Uwe a few days ago:
(let ((basic "-*-courier-bold-r-*-*-18-180-*-*-*-*-*-*")
(fallback "-Misc-Fixed-Bold-R-Normal--18-120-100-100-C-90-ISO10646-1"))
(set-specifier
(face-font 'default)
`(((tty) . "normal") ((x) . ,basic)
((x encode-as-utf-8 initial x-coverage-instantiator) . ,fallback)
((x two-dimensional initial) . ,fallback)
((x two-dimensional initial) . ,fallback)
((x two-dimensional initial) . ,fallback)
((x one-dimensional final x-coverage-instantiator) . ,fallback)
((x two-dimensional final x-coverage-instantiator) . ,fallback)
((x) . "*"))
nil nil 'remove-tag-set-prepend))
Fontconfig is *far worse* in this issue, moving to it will not improve
things. GTK2 with Pango has the potential to be much better without an
inordinate amount of work on XEmacs’ part, and I have a few patches on my
hard disk in that direction, but I’m waiting on a reaction to another email
from Jeff before I go committing things to his repository.
--
‘Iodine deficiency was endemic in parts of the UK until, through what has been
described as “an unplanned and accidental public health triumph”, iodine was
added to cattle feed to improve milk production in the 1930s.’
(EN Pearce, Lancet, June 2011)
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta