Subject: Re: bug#17792: 24.3; hintstyle specified via fontconfig is ignored by Emacs

From: Fangwen Yu <[email-masked]>
Date: Wed, 18 Jun 2014 12:44:04 +0800

Clearly the fontconfig version on my system understands hint setting. As I
have said, if I have hintnone in fonts.conf and hintslight in X
resources, Emacs will use hintslight and all other gtk applications like
gedit, gnome-terminal will use hintnone.

Since Emacs is also a gtk application, why doesn't it respect fontconfig
settings?

On Tue, Jun 17, 2014 at 11:28 PM, Jan Djärv <[email-masked]> wrote:

> Hello.
>
> 17 jun 2014 kl. 05:08 skrev [email-masked]:
>
> > I've noticed font rendering differences between Emacs and other gtk
> > applications like gedit. In short, Emacs ignores hintstyle setting in
> > fontconfig. I have hintstyle set to hintslight in
> > ~/.config/fontconfig/fonts.conf, but I have to add 'Xft.hintstyle:
> > hintslight' in Xresources to get the desired effect.
> >
> > The strange thing is that while ignoring hintstyle setting, Emacs still
> > respect part of fontconfig settings, for example, anti-aliasing setting
> > in fonts.conf will affect Emacs's font rendering.
> >
>
> Hint setting is newer than the rest so it is possible your Emacs was
> compiled against a fontconfig that don't have it.
> Another possibility is that you have GSettings or GConf settings that are
> different than fonts.conf or from the X resources.
>
> Emacs by itself does not read fonts.conf or apply X resources, it is all
> done by fontconfig/Xft-libraries.  Emacs do apply GSettings and/or GConf
> settings.
>
>         Jan D.
>
>
> > To be more precise, if I disable anti-aliasing in fonts.conf and enable
> > it in Xresources, Emacs will not have anti-aliasing; if I have
> > hintslight in fonts.conf and hintnone in Xresources, Emacs will use
> > hintnone.
> >
> > I have tested with DejaVu Sans Mono 12 and Ubuntu Mono 13, but clearly
> > it is not the fonts' problem.
> >
> >
> > In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.8)
> > of 2014-06-11 on gentoo
> > Windowing system distributor `The X.Org Foundation', version
> 11.0.11500000
> > System Description:   NAME=Gentoo
> >
> > Configured using:
> > `configure '--prefix=/usr' '--build=x86_64-pc-linux-gnu'
> > '--host=x86_64-pc-linux-gnu' '--mandir=/usr/share/man'
> > '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc'
> > '--localstatedir=/var/lib' '--libdir=/usr/lib64'
> > '--disable-silent-rules' '--disable-dependency-tracking'
> > '--program-suffix=-emacs-24' '--infodir=/usr/share/info/emacs-24'
> > '--localstatedir=/var'
> > '--enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp'
> > '--with-crt-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../lib64'
> > '--with-gameuser=games' '--without-compress-info' '--without-hesiod'
> > '--without-kerberos' '--without-kerberos5' '--with-gpm' '--with-dbus'
> > '--without-gnutls' '--without-xml2' '--without-selinux'
> > '--without-wide-int' '--with-sound' '--with-x' '--without-ns'
> > '--without-gconf' '--without-gsettings' '--without-toolkit-scroll-bars'
> > '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff'
> > '--with-xpm' '--without-imagemagick' '--with-xft' '--without-libotf'
> > '--without-m17n-flt' '--with-x-toolkit=gtk3'
> > 'GENTOO_PACKAGE=app-editors/emacs-24.3-r6'
> > 'build_alias=x86_64-pc-linux-gnu' 'host_alias=x86_64-pc-linux-gnu'
> > 'CFLAGS=-march=native -O2 -pipe' 'LDFLAGS=-Wl,-O1 -Wl,--as-needed'
> > 'CPPFLAGS=''
> >
> > Important settings:
> >  value of $LC_COLLATE: C
> >  value of $LC_CTYPE: zh_CN.UTF-8
> >  value of $LANG: en_US.UTF-8
> >  value of $XMODIFIERS: @im=fcitx
> >  locale-coding-system: utf-8-unix
> >  default enable-multibyte-characters: t
> >
> > Major mode: Lisp Interaction
> >
> > Minor modes in effect:
> >  tooltip-mode: t
> >  mouse-wheel-mode: t
> >  tool-bar-mode: t
> >  menu-bar-mode: t
> >  file-name-shadow-mode: t
> >  global-font-lock-mode: t
> >  font-lock-mode: t
> >  blink-cursor-mode: t
> >  auto-composition-mode: t
> >  auto-encryption-mode: t
> >  auto-compression-mode: t
> >  line-number-mode: t
> >  transient-mark-mode: t
> >
> > Recent input:
> > M-x r e p o r <tab> <return> C-y <backspace> <backspace>
> > M-x M-p <return>
> >
> > Recent messages:
> > For information about GNU Emacs and the GNU system, type C-h C-a.
> > current-kill: Kill ring is empty
> > delete-backward-char: Text is read-only [2 times]
> > Quit
> >
> > Load-path shadows:
> > None found.
> >
> > Features:
> > (shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
> > easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
> > mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
> > mm-util mail-prsvr mail-utils time-date china-util tooltip ediff-hook
> > vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
> > regexp-opt fringe tabulated-list newcomment lisp-mode register page
> > menu-bar rfn-eshadow timer select scroll-bar 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 minibuffer loaddefs
> > button faces cus-face macroexp files text-properties overlay sha1 md5
> > base64 format env code-pages mule custom widget hashtable-print-readable
> > backquote make-network-process dbusbind dynamic-setting
> > font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)
> >
> >
>
>