Issue503

classification
Title [Bug: 21.5-b28] Xft: characters picked from different fonts
Type defect Module core code 21.5
Severity inelegant Platform N/A
Keywords Nosy List marcus.harnisch, stephen
explanation
process
These controls should only be changed by committers and tracker administrators.
Status assigned   Reason
Superseder   Submitted 2009-03-11.21:21:28
Priority normal   Assigned To

Created on 2009-03-13.08:20:04 by marcus.harnisch, last changed 2009-03-19.10:20:12 by stephen.

Messages
msg1095 [hidden] ([hidden]) Date: 2009-03-13.08:20:04
  Message-ID: <87wsavwyav.fsf@harnisch.dyndns.org>
================================================================
Dear Bug Team!

Not sure how to describe this issue, since I am not really familiar
with the proper nomenclature. Individual characters seem to come from
different fonts even though the default font should provide them as
e.g. Firefox seems to be perfectly able to display them
(cf. http://www.alanwood.net/unicode/)

[I am not even sure how this message comes across. We'll see...]

Example:

My XEmacs fonts are set up as follows

	  XEmacs*Tabs.xftFont: sans-10
       XEmacs*menubar*xftFont: sans-10
XEmacs.modeline.attributeFont: sans-10:style=condensed
 XEmacs.default.attributeFont: monospace-12

Where `monospace' is really an alias to:

$ fc-match monospace
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"

In Gnus, I configure the summary window to use tree-style threading
like this:

; Add date to summary line
(setq gnus-summary-line-format "%U%R%z %d %(%-23,23f%) %4k %B%s\n")
(setq gnus-sum-thread-tree-indent " "
      gnus-sum-thread-tree-root "??? "
      gnus-sum-thread-tree-false-root "??? "
      gnus-sum-thread-tree-single-indent "??? "
      gnus-sum-thread-tree-leaf-with-other "?????? " ;???
      gnus-sum-thread-tree-vertical "???"
      gnus-sum-thread-tree-single-leaf "?????? ") ;???

My XEmacs uses a different font (not the configured "monospace") to
display the character "WHITE DOWN-POINTING TRIANGLE" (as I am looking
at this glyph it appears slightly larger than it should and it is not
antialiased). Same for the "BLACK DIAMOND" in the next line. Also, the
commented characters following `gnus-sum-thread-tree-leaf-with-other'
and `gnus-sum-thread-tree-single-leaf' should be "BLACK RIGHT-POINTING
TRIANGLE". I see place holder appearing as tilde "~". When I
copy/paste the character from XEmacs into a Gnome Terminal, I get the
proper glyph (in the terminal, not XEmacs).

What can I do to provide better information?

Regards
Marcus

================================================================

System Info to help track down your bug:
---------------------------------------

uname -a: Linux dipsy 2.6.24-19-generic #1 SMP Fri Jul 11 21:01:46 UTC 2008 x86_64 GNU/Linux

./configure  '--with-pop' '--with-sound=alsa' '--enable-menubars=lucid' '--enable-scrollbars=athena' '--enable-dialogs=athena' '--enable-widgets=athena' '--with-athena=3d' '--without-gpm' '--without-ldap' '--without-postgresql' '--with-mule' '--without-xim' '--without-canna' '--with-xft=emacs,tabs,gauges,menubars' '--with-zlib' '--without-bignum' '--with-kkcc' '--with-newgc' '--without-error-checking' '--with-modules' '--with-database=berkdb' '--with-ncurses'

XEmacs 21.5-b28 "fuki" 4cb7c59b5201 configured for `x86_64-unknown-linux'.

Compilation Environment and Installation Defaults:
  Source code location:              /home/marcus/projekte/xemacs-beta
  Installation prefix:               /usr/local
  Operating system description file: `s/linux.h'
  Not using any machine description file
  Compiler version:                  gcc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
    - GCC specs file:                specs.
    - Compiler command:              gcc   -Wall -Wno-switch -Wundef -Wsign-compare -Wno-char-subscripts -Wpacked -Wunused-parameter -g  
  libc version:                      GNU libc 2.7-10ubuntu3 (Debian)
  Relocating allocator for buffers:  no
  GNU version of malloc:             yes
    - Using Doug Lea's new malloc from the GNU C Library.

Window System:
  Compiling in support for the X window system:
    - X Windows headers location:                 
    - X Windows libraries location:               
    - Handling WM_COMMAND properly.
    - Using fontconfig to manage fonts.
    - Compiling in support for Xft antialiased fonts (EXPERIMENTAL).
  Compiling in support for the Athena widget set:
    - Athena headers location:                    X11/Xaw3d
    - Athena library to link:                     Xaw3d
  Using Lucid menubars.
    - Using Xft to render antialiased fonts in menubars.
      WARNING: This feature will be replaced with a face.
  Using Athena scrollbars.
  Using Athena dialog boxes.
  Using Athena native widgets.
    - Using Xft to render antialiased fonts in tab controls.
      WARNING: This feature will be replaced with a face.
    - Using Xft to render antialiased fonts in progress bars.
      WARNING: This feature will be replaced with a face.
      WARNING: This feature not yet implemented; setting ignored.

TTY:
  Compiling in support for ncurses.

Images:
  Compiling in support for GIF  images (builtin).
  Compiling in support for XPM  images.
  Compiling in support for PNG  images.
  Compiling in support for JPEG images.
  Compiling in support for TIFF images.
  Compiling in support for X-Face message headers.

Sound:
  Compiling in support for sound (native).
  Compiling in support for ALSA (Advanced Linux Sound Architecture).

Databases:
  Compiling in support for Berkeley database.
  Compiling in support for GNU DBM.

Internationalization:
  Compiling in support for Mule (multi-lingual Emacs).

Mail:
  Compiling in support for POP mail retrieval.
  Compiling in support for "file" mail spool file locking method.

Other Features:
  Inhibiting IPv6 canonicalization at startup.
  Compiling in support for dynamic shared object modules.
  Using the new GC mark algorithms (KKCC).
  WARNING: ---------------------------------------------------------
  WARNING: The new algorithms are experimental. They are enabled by
  WARNING: default for this release. Use `--disable-kkcc' to
  WARNING: turn it off.
  WARNING: ---------------------------------------------------------
  Using the new incremental garbage collector and the new allocator.
  Using POSIX sigaction() to install fault handler.
  Using the new portable dumper.
  Compiling in support for extra debugging code.

Load-Path Lisp Shadows:
----------------------
(/home/marcus/.xemacs/site-packages/lisp/misc/mmm-c
/usr/local/share/xemacs/xemacs-packages/lisp/misc/mmm-c
/home/marcus/projekte/packages/xemacs-packages/mmm-mode/mmm-sample
/usr/local/share/xemacs/xemacs-packages/lisp/mmm-mode/mmm-sample
/home/marcus/projekte/packages/xemacs-packages/mmm-mode/mmm-noweb
/usr/local/share/xemacs/xemacs-packages/lisp/mmm-mode/mmm-noweb
/home/marcus/projekte/packages/xemacs-packages/mmm-mode/mmm-mason
/usr/local/share/xemacs/xemacs-packages/lisp/mmm-mode/mmm-mason
/home/marcus/projekte/packages/xemacs-packages/mmm-mode/mmm-univ
/usr/local/share/xemacs/xemacs-packages/lisp/mmm-mode/mmm-univ
/home/marcus/projekte/packages/xemacs-packages/mmm-mode/mmm-compat
/usr/local/share/xemacs/xemacs-packages/lisp/mmm-mode/mmm-compat
/home/marcus/projekte/packages/xemacs-packages/mmm-mode/mmm-class
/usr/local/share/xemacs/xemacs-packages/lisp/mmm-mode/mmm-class
/home/marcus/projekte/packages/xemacs-packages/mmm-mode/mmm-rpm
/usr/local/share/xemacs/xemacs-packages/lisp/mmm-mode/mmm-rpm
/home/marcus/projekte/packages/xemacs-packages/mmm-mode/mmm-cmds
/usr/local/share/xemacs/xemacs-packages/lisp/mmm-mode/mmm-cmds
/home/marcus/projekte/packages/xemacs-packages/mmm-mode/mmm-mode
/usr/local/share/xemacs/xemacs-packages/lisp/mmm-mode/mmm-mode
/home/marcus/projekte/packages/xemacs-packages/mmm-mode/mmm-auto
/usr/local/share/xemacs/xemacs-packages/lisp/mmm-mode/mmm-auto
/home/marcus/projekte/packages/xemacs-packages/mmm-mode/mmm-cweb
/usr/local/share/xemacs/xemacs-packages/lisp/mmm-mode/mmm-cweb
/home/marcus/projekte/packages/xemacs-packages/mmm-mode/mmm-vars
/usr/local/share/xemacs/xemacs-packages/lisp/mmm-mode/mmm-vars
/home/marcus/projekte/packages/xemacs-packages/mmm-mode/mmm-utils
/usr/local/share/xemacs/xemacs-packages/lisp/mmm-mode/mmm-utils
/home/marcus/projekte/packages/xemacs-packages/mmm-mode/mmm-region
/usr/local/share/xemacs/xemacs-packages/lisp/mmm-mode/mmm-region
/home/marcus/.xemacs/site-packages/lisp/wisent-specman/wisent-specman-wy
/usr/local/share/xemacs/xemacs-packages/lisp/wisent-specman/wisent-specman-wy
/home/marcus/.xemacs/site-packages/lisp/wisent-specman/numbers
/usr/local/share/xemacs/xemacs-packages/lisp/wisent-specman/numbers
/home/marcus/.xemacs/site-packages/lisp/wisent-specman/wisent-specman
/usr/local/share/xemacs/xemacs-packages/lisp/wisent-specman/wisent-specman
/home/marcus/.xemacs/site-packages/lisp/wisent-specman/wisent-specman-support
/usr/local/share/xemacs/xemacs-packages/lisp/wisent-specman/wisent-specman-support
/usr/local/share/xemacs/mule-packages/lisp/mule-base/japan-util
/usr/local/share/xemacs-21.5-b28/lisp/mule/japan-util
/usr/local/share/xemacs/mule-packages/lisp/mule-base/china-util
/usr/local/share/xemacs-21.5-b28/lisp/mule/china-util
/usr/local/share/xemacs/mule-packages/lisp/mule-base/ethio-util
/usr/local/share/xemacs-21.5-b28/lisp/mule/ethio-util
/usr/local/share/xemacs/mule-packages/lisp/mule-base/korea-util
/usr/local/share/xemacs-21.5-b28/lisp/mule/korea-util
/usr/local/share/xemacs/mule-packages/lisp/mule-base/cyril-util
/usr/local/share/xemacs-21.5-b28/lisp/mule/cyril-util
/usr/local/share/xemacs/mule-packages/lisp/mule-base/viet-util
/usr/local/share/xemacs-21.5-b28/lisp/mule/viet-util
/usr/local/share/xemacs/xemacs-packages/lisp/xemacs-base/regexp-opt
/usr/local/share/xemacs-21.5-b28/lisp/regexp-opt
/usr/local/share/xemacs/xemacs-packages/lisp/xemacs-base/easy-mmode
/usr/local/share/xemacs-21.5-b28/lisp/easy-mmode)

Internationalization Settings:
-------------------------

Environment:

  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

Lisp locale settings:

  current-language-environment      => "English (UTF-8)"
  default-buffer-file-coding-system => utf-8
  default-process-coding-system     => (undecided . utf-8)
  (current-locale)                  => "en_US.UTF-8"
  keyboard-coding-system            => utf-8
  terminal-coding-system            => utf-8
  (coding-priority-list)            =>
    (utf-8 iso-8-1 utf-16-little-endian-bom utf-16-bom utf-8-bom iso-7
    no-conversion iso-8-2 iso-8-designate iso-lock-shift shift-jis
    big5 utf-16-little-endian utf-16 ucs-4)

Coding system aliases:

  'native                              is aliased to utf-8
  'file-name                           is aliased to binary
  'mswindows-multibyte-system-default  is not a coding system alias

Installed XEmacs Packages:
-------------------------
(xwem ver: 1.22 upstream: lg at xwem.org--2005/xwem--main--2.1--versionfix-1)
(xslt-process ver: 1.12 upstream: 1.2.1)
(xslide ver: 1.09 upstream: 0.2.2)
(xlib ver: 1.14 upstream: lg at xwem.org--2005/xlib--main--2.1--version-0)
(xemacs-devel ver: 1.78 upstream: No-Upstream-Ver)
(xemacs-base ver: 2.18 upstream: No-Upstream-Ver)
(w3 ver: 1.35 upstream: 4.0pre47)
(vhdl ver: 1.22 upstream: 3.33.12)
(vc ver: 1.45 upstream: No-Upstream-Ver)
(tramp ver: 1.4 upstream: 2.0.56)
(time ver: 1.14 upstream: 1.17)
(text-modes ver: 1.95 upstream: No-Upstream-Ver)
(texinfo ver: 1.3 upstream: No-Upstream-Ver)
(supercite ver: 1.21 upstream: 3.55x3)
(strokes ver: 1.1 upstream: No-Upstream-Ver)
(sounds-wav ver: 1.12 upstream: No-Upstream-Ver)
(sounds-au ver: 1.12 upstream: No-Upstream-Ver)
(slider ver: 1.15 upstream: 0.3x1)
(sh-script ver: 1.24 upstream: 2.0f)
(sasl ver: 1.16 upstream: 1.14.4)
(reftex ver: 1.34 upstream: 4.21)
(re-builder ver: 1.05 upstream: 1.20)
(python-modes ver: 1.1 upstream: 426)
(psgml ver: 1.45 upstream: 1.3.2)
(ps-print ver: 1.12 upstream: 6.5.6)
(pgg ver: 1.06 upstream: 0.1)
(perl-modes ver: 1.14 upstream: No-Upstream-Ver)
(pcomplete ver: 1.05 upstream: 1.1.6)
(pcl-cvs ver: 1.68 upstream: R-2_9_9)
(pc ver: 1.28 upstream: No-Upstream-Ver)
(net-utils ver: 1.56 upstream: N/A)
(misc-games ver: 1.2 upstream: No-Upstream-Ver)
(mine ver: 1.16 upstream: 1.9)
(mailcrypt ver: 2.14 upstream: 3.5.8)
(mail-lib ver: 1.8 upstream: No-Upstream-Ver)
(ilisp ver: 1.34 upstream: 5.12.0)
(igrep ver: 1.16 upstream: 2.111)
(idlwave ver: 1.32 upstream: 5.1)
(ibuffer ver: 1.09 upstream: No-Upstream-Ver)
(hm--html-menus ver: 1.24 upstream: 5.9)
(gnus ver: 1.93 upstream: 5.10.8)
(gnats ver: 1.17 upstream: 3.101)
(general-docs ver: 1.05 upstream: No-Upstream-Ver)
(games ver: 1.18 upstream: 1.04)
(fsf-compat ver: 1.17 upstream: No-Upstream-Ver)
(footnote ver: 1.16 upstream: 0.18x)
(eudc ver: 1.4 upstream: 1.32)
(eterm ver: 1.17 upstream: No-Upstream-Ver)
(eshell ver: 1.16 upstream: 0fc80a3f6bb3bb59f42e9ff83cc8b89bf90fe658)
(elib ver: 1.13 upstream: 1.0)
(efs ver: 1.34 upstream: 1.24)
(edit-utils ver: 2.4 upstream: No-Upstream-Ver)
(ediff ver: 1.75 upstream: 2.75)
(edebug ver: 1.22 upstream: No-Upstream-Ver)
(ecrypto ver: 0.21 upstream: 2.0)
(ecb ver: 1.22 upstream: 2.31)
(docbookide ver: 0.08 upstream: 0.1)
(dired ver: 1.19 upstream: 7.16)
(debug ver: 1.18 upstream: No-Upstream-Ver)
(cookie ver: 1.15 upstream: No-Upstream-Ver)
(cc-mode ver: 1.45 upstream: 5.30.10)
(calendar ver: 1.38 upstream: No-Upstream-Ver)
(calc ver: 1.26 upstream: 2.02fX3)
(c-support ver: 1.22 upstream: No-Upstream-Ver)
(bbdb ver: 1.32 upstream: 2.35)
(auctex ver: 1.5 upstream: 11.84)
(apel ver: 1.33 upstream: 10.6)
(mule-base ver: 1.53 upstream: No-Upstream-Ver)
(leim ver: 1.27 upstream: No-Upstream-Ver)
(latin-euro-standards ver: 1.08 upstream: 1.08)

Installed Modules:
-----------------

Features:
--------

(w3m-form w3m w3m-hist w3m-xmas path-util w3m-ccl pccl pccl-20 ccl
w3m-favicon w3m-image w3m-proc w3m-util poem poem-xm pces pces-xfc
pces-20 broken pces-xm poe-xemacs poe pym static apel-ver product
gnus-dup smtpmail bbdb-gui tex-info texinfo context tex-jp tex-fold
preview prv-xemacs tex-bar tex-buf toolbar-x outline font-latex font
latex edmacro tex-style tex sb-info info browse-url cus-edit cus-load
view-less view ehelp electric xemacsbug shadow hyper-apropos
semantic-el semantic-bovine bovine-debug semantic-debug gnus-kill
annotations flow-fill pp gnus-cite gnus-async gnus-bcklg sort gnus-ml
disp-table gnus-topic parse-time nnfolder utf7 nnimap imap nndraft
nnmh bbdb-gnus bbdb-snarf mail-extr bbdb-com encrypt gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu
mml2015 pgg password pgg-parse pgg-def mm-view gnus-sum gnus-group
gnus-undo nntp nnoo nnmail mail-source format-spec gnus-cache
gnus-start gnus-spec gnus-int gnus-range message mml mml-sec mml-smime
smime dig mm-decode mm-bodies mm-encode mailcap lpr mail-parse rfc2045
rfc2231 rfc2047 qp ietf-drums mail-abbrevs sendmail mailheader canlock
sha1 executable hex-util gnus-win gnus gnus-ems gnus-xmas messagexmas
nnheader nnheaderxm gnus-util netrc time-date mail-utils mm-util
mail-prsvr cal-china lunar solar cal-dst cal-persia cal-islam
cal-julian cal-hebrew holidays ede-simple cedet-files ede-linux
ede-emacs diary-lib timer-funcs lazy-lock mmm-mode mmm-univ mmm-class
mmm-region mmm-utils font-lock blink-paren pending-del ede-cpp-root
senator semantic-imenu semantic-sb imenu semantic-mru-bookmark
semanticdb-mode semantic-idle semantic-decorate-include
semanticdb-find semanticdb-ref semantic-decorate-mode
semantic-decorate pulse cedet cedet-contrib-load contrib-autoloads
cogre-load cogre-autoloads speedbar-load speedbar-autoloads ede-load
ede-autoloads ede-speedbar ede-files ede efs-cu eieio-speedbar
semantic-ia-sb semantic-analyze semantic-scope semantic-analyze-fcn
semantic-sort semanticdb-el semanticdb-search semantic-find 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 wid-edit ede-source eieio-base
srecode-load srecode srecode-autoloads semantic-load semantic-fw
semantic-autoloads mode-local find-func eieio-load eieio-autoloads
cedet-load cedet-compat common-autoloads eieio byte-optimize bytecomp
byte-compile inversion appt calendar cal-xemacs cal-compat paren
mic-paren timer mmm-auto mmm-vars mmm-compat overlay align mailcrypt
rfc822 comint ring bbdb regexp-opt timezone strokes cus-face
atomic-extents advice advice-preload uniquify mwheel gnuserv
xwem-autoloads xslt-process-autoloads xslide-autoloads xlib-autoloads
xemacs-devel-autoloads xemacs-base-autoloads w3-autoloads
vhdl-autoloads vc-autoloads tramp-autoloads time-autoloads
text-modes-autoloads texinfo-autoloads supercite-autoloads
strokes-autoloads sounds-wav-autoloads sounds-au-autoloads
slider-autoloads sh-script-autoloads sasl-autoloads reftex-autoloads
re-builder-autoloads python-modes-autoloads psgml-autoloads
ps-print-autoloads prog-modes-autoloads pgg-autoloads
perl-modes-autoloads pcomplete-autoloads pcl-cvs-autoloads
pc-autoloads net-utils-autoloads misc-games-autoloads mine-autoloads
mailcrypt-autoloads mail-lib-autoloads ilisp-autoloads igrep-autoloads
idlwave-autoloads ibuffer-autoloads hm--html-menus-autoloads
gnus-autoloads gnats-autoloads general-docs-autoloads games-autoloads
fsf-compat-autoloads footnote-autoloads eudc-autoloads eterm-autoloads
eshell-autoloads elib-autoloads efs-autoloads edit-utils-autoloads
ediff-autoloads edebug-autoloads ecrypto-autoloads ecb-autoloads
docbookide-autoloads dired-autoloads debug-autoloads cookie-autoloads
cc-mode-autoloads calendar-autoloads calc-autoloads
c-support-autoloads bbdb-autoloads tex-site auctex-autoloads
apel-autoloads mule-base-autoloads leim-autoloads
latin-euro-standards-autoloads w3m-autoloads w3m-load
modules-autoloads mule-autoloads auto-autoloads auto-show fontl-hooks
canna-leim tibetan slovenian czech romanian lao devanagari indian
cyrillic code-cmds gutter-items menubar-items x-menubar mode-motion
mouse behavior itimer auto-save lisp-mode easymenu easy-mmode
iso8859-1 page buff-menu lib-complete loadhist cus-file derived
newcomment rsz-minibuf env text-props fontconfig frame obsolete
cus-start custom widget cl-extra cl cl-19 packages backquote unicode
font-mgr athena-scrollbars cut-buffer xft-fonts lucid-menubars
athena-dialogs x c-balloon-help tty-frames tty toolbar native-sound
alsa-sound scrollbar unix-processes multicast network-streams
subprocesses modules menu-accelerator-support menubar berkeley-db dbm
md5 xemacs mule gutter tiff png gif jpeg xface xpm xbm lisp-float-type
file-coding linux dialog devices window-system base64)

Recent keystrokes:
-----------------

down down down down down down down down down down down 
down down down down down down down C-h a s c r o l 
l b a r RET down down down down down down down down 
down RET misc-user misc-user misc-user misc-user misc-user 
misc-user misc-user misc-user misc-user button1 button1up 
button1 button1up button1 button1up button1 button1up 
C-x k RET C-x k C-g C-x o C-x k RET up up up down RET 
5 0 RET / N button1 button1up B DEL y e s RET q up 
up M-x r e p o TAB r TAB x TAB RET

Recent messages (most recent first):
-----------------------------------

Fontifying *mail to XEmacs Beta*... done.
Fontifying *mail to XEmacs Beta*...
Making completion list...
nnimap: Setting marks in Inbox...done
nnimap: Setting marks in Inbox...
nnimap: Setting marks in Inbox...done
nnimap: Setting marks in Inbox...
Generating summary...done
Generating summary...
Scoring...done
Scoring...
Fetching headers for nnimap+imap.1und1.de:Inbox...done
Fetching headers for nnimap+imap.1und1.de:Inbox...
nnimap: Updating info for nnimap+imap.1und1.de:Inbox...done
nnimap: Updating info for nnimap+imap.1und1.de:Inbox...
Generating summary...done
Generating summary...
Scoring...done
Scoring...
Fetching headers for nnimap+imap.1und1.de:Inbox...done
History
Date User Action Args
2009-03-19 10:20:12stephensetstatus: assigned
assignedto: stephen
severity: inelegant
platform: + N/A
nosy: + stephen
type: defect
module: + core code 21.5
priority: normal
2009-03-13 08:20:04marcus.harnischcreate