[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: font selection confusion

From: Kenichi Handa
Subject: Re: font selection confusion
Date: Thu, 05 Mar 2009 21:53:43 +0900

In article <address@hidden>, Miles Bader <address@hidden> writes:

>   (1) Start "HOME=/tmp emacs -Q"

>   (2) Insert this string in *scratch*:  ❦⋮
>       (those two characters are \u2766, "FLORAL HEART", and \u22ee,

>   (3) On my system, which is debian unstable, the default font used is
>       "Dejuavu Sans Mono"; using that font, the "FLORAL HEART" can be
>       displayed using the default font, and "VERTICAL ELLIPSIS" is
>       displayed using a different font,
>       "-mutt-clearlyu-medium-r-normal--17-120-100-100-p-123-iso10646-1"

>   (4) Now, I use the "Options > Set Default Font" menu to change the
>       default font to "Liberation Mono" (this is a commonly installed
>       free font, but any font with poor coverage of funny characters
>       will seems to give the same result...).

>   (5) Liberation Mono does not have either of those characters, but what
>       happens is:  the "FLORAL HEART" character is now displayed as an
>       empty box, but the "VERTICAL ELLIPSIS" character continues to be
>       displayed using the "mutt-clearlyu" font.

This is because Emacs avoid greedy search of a font for each
entry of a fontset.  As those characters are both `symbol'
script, Emacs tries to find a font that has one of #x201C,
#x2200, or #x2500.  If a font is found, that font is used
for all symbol characters.  But some of found font may not
have a specific symbol character (e.g U+2766).  In such a
case, that character is shown by an empty box.

This is to avoid extreme slowness on displaying a buffer
that contains many characters for which you don't have any

But, I've just installed a code that does a little bit more
greedy search.  It should works for such a font backend that
supports `has_char' method for a font-entity, e.g. xft.

Kenichi Handa

reply via email to

[Prev in Thread] Current Thread [Next in Thread]