Subject: 23.1.91; Incorrect font sizes and weights
From: Jed Brown <[email-masked]>
To: [email-masked]
Date: Mon, 18 Jan 2010 19:53:26 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

I want Emacs to use the font that I get with

  $ urxvt -fn 'xft:DejaVu Sans Mono-10'

(or when this font name is given to any other program).  So the obvious
thing to try would be

  $ emacs -Q -fn 'DejaVu Sans Mono-10'

but this resolves to

  xft:-unknown-DejaVu Sans Mono-normal-normal-normal-*-17-*-*-*-m-0-iso10646-1

which is way bigger than I want.  Next, I try manually specifying the
font that 'DejaVu Sans Mono-10.2' resolved to in my last emacs build

  GNU Emacs 23.1.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.16.5) of 2009-10-08 on home.sergej.pp.ru

(I have no idea why this goofyness was required, but 'DejaVu Sans Mono-10' looked bad there.)

  $ emacs -Q -fn '-unknown-DejaVu Sans Mono-normal-normal-normal-*-14-*-*-*-m-0-iso10646-1'

And this font seems to be the correct size, but the weight is too light.
Compare the bottom two frames in the screenshot

  http://imgur.com/TcGj6.png

The bottom-left frame is the rendering I want (using the 23.1.50.1 build
quoted above with 'DejaVu Sans Mono-10.2').  The bottom-right frame is
the latest build with what claims to be the desired font, and the top
frame is the latest build with 'DejaVu Sans Mono-10'.

Why is it so hard to choose my desired font?

Jed

In GNU Emacs 23.1.91.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.18.5)
 of 2010-01-18 on kunyang
Windowing system distributor `The X.Org Foundation', version 11.0.10703902
configured using `configure  '--prefix=/usr' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=/usr/lib' '--mandir=/usr/share/man' '--with-x-toolkit=gtk' '--without-gconf' 'CFLAGS=-march=native -O1 -pipe' 'LDFLAGS=-Wl,--hash-style=gnu -Wl,--as-needed''

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.utf8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Help

Minor modes in effect:
  global-auto-complete-mode: t
  show-paren-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t
  view-mode: t

Recent input:
C-p C-p C-u C-x = C-x 1 C-u C-x = <C-tab> <C-tab> <help-echo> 
<help-echo> C-S-x 0 <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
M-x r e p o r t <tab> <return>

Recent messages:
Setting up CEDET packages...done
Loading /usr/share/emacs/site-lisp/cedet/common/cedet.el (source)...done
ECB 2.40 uses CEDET 1.0pre7 (contains semantic 2.0pre7, eieio 1.2, speedbar 1.0.3).
Loading /home/jed/.emacs-ede...done
Loading /home/jed/.ecb-user-layouts.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Type C-x 1 to delete the help window.
Char: ; (59, #o73, #x3b) point=141 of 191 (73%) column=0
Type C-x 1 to delete the help window.
Char: ; (59, #o73, #x3b) point=141 of 191 (73%) column=0

Load-path shadows:
/usr/share/emacs/site-lisp/ecb/ecb2/test hides /usr/share/emacs/site-lisp/cedet/semantic/tests/test
/usr/share/emacs/site-lisp/cedet/common/ezimage hides /usr/share/emacs/23.1.91/lisp/ezimage
/usr/share/emacs/site-lisp/cedet/speedbar/speedbar hides /usr/share/emacs/23.1.91/lisp/speedbar
/usr/share/emacs/site-lisp/cedet/speedbar/dframe hides /usr/share/emacs/23.1.91/lisp/dframe
/usr/share/emacs/site-lisp/cedet/speedbar/sb-image hides /usr/share/emacs/23.1.91/lisp/sb-image
/usr/share/emacs/site-lisp/cedet/eieio/eieio-custom hides /usr/share/emacs/23.1.91/lisp/emacs-lisp/eieio-custom
/usr/share/emacs/site-lisp/cedet/eieio/eieio-opt hides /usr/share/emacs/23.1.91/lisp/emacs-lisp/eieio-opt
/usr/share/emacs/site-lisp/cedet/eieio/eieio-base hides /usr/share/emacs/23.1.91/lisp/emacs-lisp/eieio-base
/usr/share/emacs/site-lisp/cedet/eieio/eieio-comp hides /usr/share/emacs/23.1.91/lisp/emacs-lisp/eieio-comp
/usr/share/emacs/site-lisp/cedet/eieio/eieio-datadebug hides /usr/share/emacs/23.1.91/lisp/emacs-lisp/eieio-datadebug
/usr/share/emacs/site-lisp/cedet/eieio/chart hides /usr/share/emacs/23.1.91/lisp/emacs-lisp/chart
/usr/share/emacs/site-lisp/cedet/eieio/eieio-speedbar hides /usr/share/emacs/23.1.91/lisp/emacs-lisp/eieio-speedbar
/usr/share/emacs/site-lisp/cedet/eieio/eieio hides /usr/share/emacs/23.1.91/lisp/emacs-lisp/eieio
/usr/share/emacs/site-lisp/cedet/common/data-debug hides /usr/share/emacs/23.1.91/lisp/cedet/data-debug
/usr/share/emacs/site-lisp/cedet/common/pulse hides /usr/share/emacs/23.1.91/lisp/cedet/pulse
/usr/share/emacs/site-lisp/cedet/common/cedet-global hides /usr/share/emacs/23.1.91/lisp/cedet/cedet-global
/usr/share/emacs/site-lisp/cedet/ede/ede hides /usr/share/emacs/23.1.91/lisp/cedet/ede
/usr/share/emacs/site-lisp/cedet/semantic/semantic hides /usr/share/emacs/23.1.91/lisp/cedet/semantic
/usr/share/emacs/site-lisp/cedet/srecode/srecode hides /usr/share/emacs/23.1.91/lisp/cedet/srecode
/usr/share/emacs/site-lisp/cedet/common/cedet-cscope hides /usr/share/emacs/23.1.91/lisp/cedet/cedet-cscope
/usr/share/emacs/site-lisp/cedet/common/cedet-idutils hides /usr/share/emacs/23.1.91/lisp/cedet/cedet-idutils
/usr/share/emacs/site-lisp/cedet/common/cedet hides /usr/share/emacs/23.1.91/lisp/cedet/cedet
/usr/share/emacs/site-lisp/cedet/common/inversion hides /usr/share/emacs/23.1.91/lisp/cedet/inversion
/usr/share/emacs/site-lisp/cedet/common/mode-local hides /usr/share/emacs/23.1.91/lisp/cedet/mode-local
/usr/share/emacs/site-lisp/cedet/common/cedet-files hides /usr/share/emacs/23.1.91/lisp/cedet/cedet-files

Features:
(shadow sort mail-extr emacsbug eieio-opt pp descr-text help-mode view
semantic-el semantic-bovine bovine-debug semantic-debug ecb-layout-defs
uniquify printing ps-print ps-def lpr preview-latex tex-site auto-loads
caml-font cmake-mode cc-styles cc-align cc-engine cc-vars cc-defs tempo
url url-proxy url-privacy url-expand url-methods url-history url-cookie
url-util url-parse timezone url-vars xml-parse doxymacs auto-complete
easy-mmode expander pulldown ede-cpp-root semantic-mru-bookmark
semantic-idle semantic-decorate-include semantic-decorate-mode
semantic-decorate semantic-gcc semantic-dep semantic-ia pulse senator
which-func semantic-imenu semantic-sb imenu ecb ecb-symboldef silentcomp
ecb-analyse ecb-compatibility ecb-winman-support ecb-autogen autoload
ecb-tod ecb-cycle ecb-eshell ecb-help ecb-jde ecb-method-browser
hideshow ecb-semantic ecb-file-browser ecb-speedbar ecb-layout compile
comint ecb-create-layout ecb-compilation ecb-common-browser ecb-navigate
ecb-cedet-wrapper semanticdb-mode semanticdb-find semanticdb-ref
ecb-mode-line ecb-face tree-buffer ecb-upgrade ecb-util ring thingatpt
cedet cedet-contrib-load contrib-loaddefs cogre-load cogre-loaddefs
cogre-srecode semantic-edit srecode-template-mode srecode-template
srecode-template-wy semantic-wisent wisent srecode-map
srecode-dictionary speedbar-load speedbar-loaddefs ede-load ede-loaddefs
ede-speedbar ede-files ede eieio-speedbar semantic-ia-sb
semantic-analyze semantic-scope semantic-analyze-fcn semantic-sort
semanticdb-el semanticdb semantic-ctxt semantic-format
semantic-util-modes semantic-util semantic semantic-lex semantic-tag
working fame speedbar sb-image ezimage dframe assoc eieio-custom
ede-source eieio-base srecode-load srecode srecode-loaddefs
semantic-load semantic-fw semantic-loaddefs mode-local find-func
eieio-load eieio-loaddefs cedet-load cedet-compat cedet-loaddefs eieio
byte-opt bytecomp byte-compile inversion browse-kill-ring advice
help-fns advice-preload derived ido paren jabber-autoloads starttls
smtpmail notmuch edmacro kmacro message idna sendmail regexp-opt
ecomplete rfc822 mml easymenu mml-sec mailabbrev nnheader gmm-utils
wid-edit mailheader canlock sha1 hex-util hashcash mail-utils mm-view
smime password-cache dig mm-decode gnus-util netrc mm-bodies mm-encode
mailcap mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mm-util
time-date mail-prsvr cl cl-19 tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd fontset
image fringe lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core
frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help
simple abbrev loaddefs button minibuffer faces cus-face files
text-properties overlay md5 base64 format env code-pages mule custom
widget hashtable-print-readable backquote make-network-process dbusbind
font-render-setting gtk x-toolkit x multi-tty emacs)