Subject: Re: bug#28236: 'configure --with-cairo' causes 'emacs -font' to fail

From: Robert Pluim <[email-masked]>
Date: Thu, 13 Dec 2018 12:34:54 +0100

Eli Zaretskii <[email-masked]> writes:

>> From: Robert Pluim <[email-masked]>
>> Cc: Ari Roponen <[email-masked]>,  [email-masked],  [email-masked],  [email-masked]
>> Date: Wed, 12 Dec 2018 16:41:52 +0100
>> 
>> Eli Zaretskii <[email-masked]> writes:
>> 
>> > So you are saying that the problem here is that Cairo can only work
>> > with fonts known fontconfig, and cannot switch to font backend(s) that
>> > bypass fontconfig?  If so, perhaps just an entry in PROBLEMS with the
>> > above recipe would suffice as a workaround?
>> 
>> I find that surprising. The non-Cairo GTK build can use Xft and X font
>> backends, what's different about Cairo?
>> 
>> (I just tried to set font-backend to '(ftcr x) on my Cairo build, and
>> failed, so perhaps it really isnʼt supported).
>
> I'm guessing that the other font backends use X calls that cannot be
> supported with Cairo drawing, or maybe such support simply wasn't
> coded yet.  But I'm not an expert on this stuff, so maybe I'm wrong.

So xfns.c only initializes the xfont driver when not using Cairo. I
made the obvious changes there, and 'emacs -Q -fn 7x14' starts up, and
'C-u C-x =' tells me:

 x:-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1 (#x68)

Unfortunately *scratch* does not (re-)display properly [1], so unless
weʼre feeling really adventurous, we probably shouldn't enable both
Cairo and the X font back on master, etc/PROBLEMS (or NEWS?) might be
better.

Robert

Footnotes:
[1]  Admittedly this is over an ssh forwarded connection. Running it
     locally might look better.