Subject: bug#2824: 23.0.91; font-selection weirdness with `set-frame-attribute' of default face

From: Kenichi Handa <[email-masked]>
Date: Tue, 31 Mar 2009 09:58:53 +0900

In article <[email-masked]>, Miles Bader <[email-masked]> writes:

> Emacs seems to use different fonts to display ascii vs. non-ascii
> characters when one uses `set-frame-attribute' to set the default font.

I can't reproduce the problem with the latest code.  It may
be because of the fix I installed last night.  Does your
Emacs have this change?

2009-03-30  Kenichi Handa  <[email-masked]>

	* fontset.c (fontset_from_font): Specify only registry in a
	font-spec for all characters supported by that registry.

If not yet, could you please try again with the latest code?

---
Kenichi Handa
[email-masked]

> To reproduce (using X):

>  (1) In a shell, evaluate the following commands:

>        xrdb -remove
>        echo '*Font: Dejavu Sans Mono-11' > /tmp/.Xdefaults
>        echo '(set-face-attribute '\''default nil :family "Liberation Mono")' > /tmp/.emacs
>        HOME=/tmp emacs -no-splash -eval '(insert "café")'&

>  (2) Position the cursor over the "c" in "café", and use C-u C-x =

>      Notice it says that the font used is "Liberation Mono", which is
>      the correct default font.

>  (3) Position the cursor over the "é" in "café", and use C-u C-x =

>      Notice that it says the font used is "Dejavu Sans Mono", which is
>      _not_ the correct default font, but rather was the startup font.

> This problem only seems to occur if one uses `set-face-attribute' to set
> the default font.  If one uses `set-frame-font' (etc), it seems to work
> correctly; e.g., try using the shell command:

>    echo '(set-frame-font "Liberation Mono")' > /tmp/.emacs

> and then start emacs as in the original recipe; the "é" should
> correctly be displayed using the current default font.

> Thanks,

> -Miles

> In GNU Emacs 23.0.91.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.16.0)
>  of 2009-03-30 on catnip
> Windowing system distributor `The X.Org Foundation', version 11.0.10599902
> Important settings:
>   value of $LC_ALL: nil
>   value of $LC_COLLATE: nil
>   value of $LC_CTYPE: nil
>   value of $LC_MESSAGES: nil
>   value of $LC_MONETARY: nil
>   value of $LC_NUMERIC: nil
>   value of $LC_TIME: nil
>   value of $LANG: en_US.UTF-8
>   value of $XMODIFIERS: nil
>   locale-coding-system: utf-8-unix
>   default-enable-multibyte-characters: t

> Major mode: Text

> Minor modes in effect:
>   rcirc-track-minor-mode: t
>   tooltip-mode: t
>   mouse-wheel-mode: t
>   file-name-shadow-mode: t
>   global-font-lock-mode: t
>   font-lock-mode: t
>   blink-cursor-mode: t
>   global-auto-composition-mode: t
>   auto-composition-mode: t
>   auto-encryption-mode: t
>   auto-compression-mode: t
>   line-number-mode: t
>   transient-mark-mode: t

> Recent input:
> <help-echo> C-x g C-x C-v . e m a c s <return> <escape> 
> > C-x C-v . e m a SPC ? . SPC C-g C-x b a s d f <return> 
> c a f e <backspace> C-x 8 ' e C-b C-u C-x = C-b C-u 
> C-x = = <backspace> C-f C-n <return> <C-down-mouse-3> 
> <options> <menu-set-font> C-p C-x = C-u C-x = <escape> 
> x r e p o r SPC <return>

> Recent messages:
> Checking new news...done
> Mark set
> Making completion list... [2 times]
> xding
> Quit
> Type C-x 1 to delete the help window.
> Char: é (233, #o351, #xe9, file ...) point=4 of 4 (75%) column=3
> Char: f (102, #o146, #x66) point=3 of 4 (50%) column=2
> xding
> Char: c (99, #o143, #x63) point=1 of 5 (0%) column=0 [2 times]

> -- 
> Brain, n. An apparatus with which we think we think.