Subject: bug#20370: 24.3; "display: no font available" after resize

From: Martin Pohlack <[email-masked]>
Date: Fri, 24 Apr 2015 23:28:41 +0200

I repeated the experiment with a freshly compiled emacs-24.5 from the
upstream tarball on Ubuntu 12.04 with the same result.

On 19.04.2015 14:15, Martin Pohlack wrote:
> This bug report will be sent to the Bug-GNU-Emacs mailing list
> and the GNU bug tracker at debbugs.gnu.org.  Please check that
> the From: line contains a valid email address.  After a delay of up
> to one day, you should receive an acknowledgment at that address.
> 
> Please write in English if possible, as the Emacs maintainers
> usually do not have translators for other languages.
> 
> Please describe exactly what actions triggered the bug, and
> the precise symptoms of the bug.  If you can, give a recipe
> starting from `emacs -Q':
> 
> ----------------------------------------------------------------------
> After starting emacs with -Q:
> 
> * I set a custom font as default face (eval-region):
> 
>   (set-face-attribute 'default nil :family "Motix_Round")
> 
>   Everything looks as expected.
> 
>   (The font is available here https://github.com/martinp26/motix )
> 
> * I resize the default font via C-x C-+:
> 
>   No ASCII character is displayed correctly, all are represented by a
>   small box.  Unicode characters (e.g., ö (o umlaut)) display correctly.
> 
> * If I invoke describe-char on a character of each class I get this:
> 
>> ----------------------------------------------------------------------
>>              position: 221 of 224 (98%), column: 29
>>             character: ö (displayed as ö) (codepoint 246, #o366, #xf6)
>>     preferred charset: unicode (Unicode (ISO10646))
>> code point in charset: 0xF6
>>                syntax: w 	which means: word
>>              category: .:Base, L:Left-to-right (strong), j:Japanese, l:Latin
>>              to input: type "C-x 8 RET HEX-CODEPOINT" or "C-x 8 RET NAME"
>>           buffer code: #xC3 #xB6
>>             file code: #xC3 #xB6 (encoded by coding system utf-8-unix)
>>               display: by this font (glyph code)
>>     xft:-unknown-Motix_Round-normal-normal-normal-*-31-*-*-*-m-0-iso10646-1 (#xB8)
>>
>> Character code properties: customize what to show
>>   name: LATIN SMALL LETTER O WITH DIAERESIS
>>   old-name: LATIN SMALL LETTER O DIAERESIS
>>   general-category: Ll (Letter, Lowercase)
>>   decomposition: (111 776) ('o' ' ')
>>
>> There are text properties here:
>>   fontified            t
> ----------------------------------------------------------------------
> 
> ----------------------------------------------------------------------
>>              position: 220 of 224 (98%), column: 28
>>             character: e (displayed as e) (codepoint 101, #o145, #x65)
>>     preferred charset: ascii (ASCII (ISO646 IRV))
>> code point in charset: 0x65
>>                syntax: w 	which means: word
>>              category: .:Base, L:Left-to-right (strong), a:ASCII, l:Latin, r:Roman
>>              to input: type "C-x 8 RET HEX-CODEPOINT" or "C-x 8 RET NAME"
>>           buffer code: #x65
>>             file code: #x65 (encoded by coding system utf-8-unix)
>>               display: no font available
>>
>> Character code properties: customize what to show
>>   name: LATIN SMALL LETTER E
>>   general-category: Ll (Letter, Lowercase)
>>   decomposition: (101) ('e')
>>
>> There are text properties here:
>>   fontified            t
> ----------------------------------------------------------------------
> 
> 
> * When I reset the size via C-x C-- or C-x C-0 back to normal:
> 
>   Everything is find again, all characters display correctly.
> 
> 
> Workaround:
> 
> * If I re-evaluate the face definition after switching to a different
>   font size:
> 
>   (set-face-attribute 'default nil :family "Motix_Round")
> 
>   everything is fine afterwards.  The font is used for all sizes from
>   that point on and displays fine.  I assume there is some assumption
>   about fonts built into emacs that is not fullfilled here but the
>   font itself seems ultimately fine.
> 
> ----------------------------------------------------------------------
> 
> In GNU Emacs 24.3.1 (i686-pc-linux-gnu, GTK+ Version 3.10.7)
>  of 2014-03-07 on toyol, modified by Debian
> Windowing system distributor `The X.Org Foundation', version 11.0.11501000
> System Description:	Ubuntu 14.04.2 LTS
> 
> Configured using:
>  `configure '--build' 'i686-linux-gnu' '--build' 'i686-linux-gnu'
>  '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
>  '--localstatedir=/var/lib' '--infodir=/usr/share/info'
>  '--mandir=/usr/share/man' '--with-pop=yes'
>  '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp'
>  '--with-crt-dir=/usr/lib/i386-linux-gnu' '--with-x=yes'
>  '--with-x-toolkit=gtk3' '--with-toolkit-scroll-bars'
>  'build_alias=i686-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
>  --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall'
>  'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'
>  'CPPFLAGS=-D_FORTIFY_SOURCE=2''
> 
> Important settings:
>   value of $LC_COLLATE: POSIX
>   value of $LC_MESSAGES: en_US.UTF-8
>   value of $LC_MONETARY: de_DE.UTF-8
>   value of $LC_TIME: de_DE.UTF-8
>   value of $LANG: en_US.UTF-8
>   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:
> <help-echo> <help-echo> <down-mouse-1> <mouse-1> C-y 
> <up> C-SPC <down> M-x e v a l - r e g <tab> <return> 
> C-x C-+ C-x C-- C-x C-+ M-x <up> <return> C-x C-- C-x 
> C-- C-x C-- C-x C-+ C-x C-+ M-x b u g <tab> <tab> <C-backspace> 
> <C-backspace> - b u g <tab> <C-backspace> <backspace> 
> r e p o <tab> r <tab> <return>
> 
> Recent messages:
> For information about GNU Emacs and the GNU system, type C-h C-a.
> Mark set
> Mark activated
> Use +,-,0 for further adjustment [8 times]
> Making completion list... [3 times]
> 
> Load-path shadows:
> None found.
> 
> Features:
> (shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
> 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 help-mode easymenu face-remap time-date 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 system-font-setting font-render-setting move-toolbar gtk
> x-toolkit x multi-tty emacs)
>