From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: tastytea via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#43148: 27.1; Widget text seems to disappear when building with Cairo and Xaw Date: Fri, 4 Dec 2020 10:28:24 +0100 Message-ID: <20201204102824.47d79f28@ventiloplattform.tastytea.de> References: <87bliqnsnv.fsf@PouarArch.i-did-not-set--mail-host-address--so-tickle-me> <83ft81wpv5.fsf@gnu.org> <87pn42np74.fsf@tcd.ie> <20201201141032.79c4fa5f@ventiloplattform.tastytea.de> <20201203091815.32af30af@ventiloplattform.tastytea.de> Reply-To: tastytea Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/BUgYShC49bEX_h3ZEFdQ4Rf" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38162"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "Basil L. Contovounesios" , Robert Pluim , Pouar Dragon , 43148@debbugs.gnu.org To: YAMAMOTO Mitsuharu Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Dec 04 10:29:13 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kl7Or-0009my-9A for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 04 Dec 2020 10:29:13 +0100 Original-Received: from localhost ([::1]:44382 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kl7Oq-0000zQ-BX for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 04 Dec 2020 04:29:12 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41560) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kl7Og-0000zE-QW for bug-gnu-emacs@gnu.org; Fri, 04 Dec 2020 04:29:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:59289) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kl7Og-0008IG-JC for bug-gnu-emacs@gnu.org; Fri, 04 Dec 2020 04:29:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kl7Og-0001Ku-FO for bug-gnu-emacs@gnu.org; Fri, 04 Dec 2020 04:29:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: tastytea Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 04 Dec 2020 09:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43148 X-GNU-PR-Package: emacs Original-Received: via spool by 43148-submit@debbugs.gnu.org id=B43148.16070741145098 (code B ref 43148); Fri, 04 Dec 2020 09:29:02 +0000 Original-Received: (at 43148) by debbugs.gnu.org; 4 Dec 2020 09:28:34 +0000 Original-Received: from localhost ([127.0.0.1]:42602 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kl7OA-0001K6-Sm for submit@debbugs.gnu.org; Fri, 04 Dec 2020 04:28:34 -0500 Original-Received: from mail.tzend.de ([185.244.193.180]:44829) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kl7O7-0001Jw-U5 for 43148@debbugs.gnu.org; Fri, 04 Dec 2020 04:28:30 -0500 Original-Received: by mail.tzend.de (Postfix, from userid 112) id 3F00A9A04EB; Fri, 4 Dec 2020 10:28:26 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tzend.de; s=mail; t=1607074106; bh=1NWHqUwXr1MDZXad0bxXwFKpZ8J+tIWr7e7JCBZfuvM=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=ifdUlzwbf2MaiYIfEs8gb19T9gvk/g0H3HECiBKKvL35r/v9vCg/V3nMVJmffKEKX 1lYxT/qUjzb4p8x4mOUl26d1p5kPiiOk5bhGpYaGvfFVxOYExLJnWBRDkyGjtYfNqq 62gj0bP6v7umbgR3gT2VfcF9VeYoFNES93gYmpKw= Original-Received: from ventiloplattform.tastytea.de (p200300c08712ce00e51d8f94f109f7a0.dip0.t-ipconnect.de [IPv6:2003:c0:8712:ce00:e51d:8f94:f109:f7a0]) by mail.tzend.de (Postfix) with ESMTPSA id 87A019A04B6; Fri, 4 Dec 2020 10:28:25 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tzend.de; s=mail; t=1607074105; bh=1NWHqUwXr1MDZXad0bxXwFKpZ8J+tIWr7e7JCBZfuvM=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=aO+4xFilwfVIQMn3Wfsl3/F61yje7f1G+G0RJq9kf+1dTce7qo/E78YHgsvnH41mU /CPUxrh07tgaaEI3oT3X9lD1jUTktKE5BaEB0uXbf1UQXnaLfLTzfowVZvmEJz08tx ZI2PhEOsfhBJxhBIxKhI7WsSZ/zLmeXmOxBDGA9k= In-Reply-To: Jabber-ID: tastytea@tastytea.de X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:194945 Archived-At: --MP_/BUgYShC49bEX_h3ZEFdQ4Rf Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On 2020-12-04 17:41+0900 YAMAMOTO Mitsuharu wrote: > On Thu, 03 Dec 2020 17:18:15 +0900, > tastytea wrote: > >=20 > > On 2020-12-03 11:13+0900 YAMAMOTO Mitsuharu > > wrote: > > =20 > > > On Tue, 01 Dec 2020 22:10:32 +0900, > > > tastytea wrote: =20 > > > >=20 > > > > On 2020-11-28 17:22+0900 YAMAMOTO Mitsuharu > > > > wrote: > > > > =20 > > > > > On Wed, 25 Nov 2020 11:30:07 +0900, > > > > > Basil L. Contovounesios wrote: =20 > > > > > >=20 > > > > > > Robert Pluim writes: > > > > > > =20 > > > > > > >>>>>> On Tue, 01 Sep 2020 17:09:18 +0300, Eli Zaretskii > > > > > > >>>>>> said: =20 > > > > > > > =20 > > > > > > > >> From: Pouar Dragon > > > > > > > >> Date: Mon, 31 Aug 2020 21:34:46 -0500 > > > > > > > >>=20 > > > > > > > >> widgets when building with Xaw and Cairo seem to > > > > > > > >> have missing text, looking like this > > > > > > > >>=20 > > > > > > > >> problem seems to go away when > > > > > > > >> 5f4e8e2e088de9fb76cb631077c6eddd3219f594 is > > > > > > > >> reverted=20 > > > > > > > =20 > > > > > > > Eli> Thanks. I hope Yamamoto-san will be able to > > > > > > > Eli> take a look at this. =20 > > > > > > > > > > > > > > Putting on my 'let's simplify' hat, is this really a > > > > > > > combination we want to spend time on? Lucid + Xaw + Cairo > > > > > > > is decidedly non-mainstream (I=CA=BCm surprised it even > > > > > > > builds). =20 > > > > > >=20 > > > > > > FWIW, I've been happily using Lucid + Xaw3D for several > > > > > > years, and Cairo ever since it became stable in Emacs 27 > > > > > > and the default configuration in Emacs 28. > > > > > >=20 > > > > > > I usually have menu-bar-mode off, but like other reports in > > > > > > this thread, the menus look fine when I do open them, e.g. > > > > > > after 'emacs -Q'. > > > > > >=20 > > > > > > Could the issue depend on e.g. the version of Cairo? (I > > > > > > seem to have an older version than the OP.) =20 > > > > >=20 > > > > > Possibly. The OP seems to use cairo 1.17.3, which is not a > > > > > release version (the latest is 1.16.0) and even not the > > > > > snapshot one (the latest is 1.17.2 according to > > > > > https://cairographics.org). =20 > > > >=20 > > > > I experience the same issue as the OP with lucid and cairo > > > > 1.16.0, with and without xaw3d, on Gentoo Linux. The problem > > > > goes away if I disable cairo. > > > > The same happens with 28.0.50, commit > > > > 1a3aa6043a51e5bb4007889dd7dcabb55dc44132. =20 > > >=20 > > > So, only digits are shown with "$ emacs -Q" ? =20 > >=20 > > Yes, exactly like the screenshot in the first message. > > =20 > > > Could you show us the output of "$ fc-match -s sans" ? > > >=20 > > > I tried the latest snapshot cairo 1.17.4 on XQuartz/macOS, and I > > > don't see any problems. On my side, "$ fc-match -s sans" reports > > > Arial Unicode.ttf at the first line. =20 > >=20 > > The list is huge, are the first 10 lines enough? > >=20 > > SourceSansPro-Regular.otf: "Source Sans Pro" "Regular" > > NotoColorEmoji.ttf: "Noto Color Emoji" "Regular" > > LiberationSans-Regular.ttf: "Liberation Sans" "Regular" > > DejaVuSans.ttf: "DejaVu Sans" "Book" > > DejaVuSans-Bold.ttf: "DejaVu Sans" "Bold" > > DejaVuSans-Oblique.ttf: "DejaVu Sans" "Oblique" > > DejaVuSans-BoldOblique.ttf: "DejaVu Sans" "Bold Oblique" > > luxisr.ttf: "Luxi Sans" "Regular" > > l048013t.pfa: "Luxi Sans" "Regular" > > n019003l.pfb: "Nimbus Sans L" "Regular" =20 >=20 > Thanks. I conjectured Noto Color Emoji, which contains digit glyphs > but not for letter ones, would come first. But that is not the case. > I don't know why Source Sans Pro is not used then (libotf is for > handling OTF features and not necessary just for displaying). >=20 > Anyway, could you try if the following patch works? With the patch I get rectangles instead of letters. I removed Noto Color Emoji from my font configuration in ~/.config/fontconfig/fonts.conf and that did the trick. The menus are showing text now with and without the patch. But I have no idea why, all other programs work fine with that configuration: serif Noto Color Emoji sans-serif Noto Color Emoji monospace Noto Color Emoji monospace Source Code Pro serif Source Serif Pro sans-serif Source Sans Pro --MP_/BUgYShC49bEX_h3ZEFdQ4Rf Content-Type: image/png Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=emacs_screenshot_lucid_rectangles.png iVBORw0KGgoAAAANSUhEUgAAAj0AAAIcCAMAAAFduN82AAAC/VBMVEUAAQAHAw0VAQQWABceAB0e BAIPCBkgAyADDC4ADD8gBSELDgoODB8ODiQiCSMLECouCQkzCA5CAENHAkgnDygUFxkWGBUHGkE3 EQ4rFB49EQIZGxg+EQ0XHCIEHlRNCE0pGRAvFi8jIiozHTUlJSJMHAQFK181IDMyH1EzJBgjKTsV Lkk0I1pbGVtCKBI9Jzo/Kz5eKAcwNDYyNDEOOnJEM0UuPFFtMgRmLGdsMiASRn5OPUo2RU86R0x1 OSFXQzR1PgxRRFBmQiAgVYxzPnRTSJRYTlk2V3daU0hYUaBWWFVfUJddVl9jTrdUVaJ3SbWIURxf WGNYVLt/SbBnU5RaVbFjWmB/T34uZph3UKqRTpaFWzdZX7ZqYWeQUqRoX56HVqBDbpXGTTtpZmqO Va5maGZiZbKIXYmYV5iTYip7YZtkZcdtam48dbuDZZrJV0U+eqdbbsxyb3OgXpd6b2p9a6NydHF/ cWd2c3dmd4iWckaeZ7GnZqKDcal7eHykcTl7cs6taZp6fHlLiKqXdJ1ngM1egtpUjKm2c5iBhZFi jaZajNKJhoqGiIWRhoZnkaSJi4iTiIhVl76Tin7TeGijhKKAjMmji1yNjZedi3epi1Nfm73FgJdv leGdkIugkIbCg6V7naqXl5W7i6WMnaitk62tmmV2p66nm46pnm3Mj56gop+ron2FqqyNo+Keo6Wc o62moaCXpat4q+2ro5OrpImppZ7el4uNrMyfqqurqZqmqq2tq5yrrKOorK+qrKm7pruLsubbn6LA rHCFtO27rnfaoa3PpLqxtLCwtbeXvb65tLPAsb/ItbfasbrmrrWkweW4vsCOx/zAvq/qsq3JusjO t9q9v7ygxPObz/zNxdD1vLHrv7bqx8XN0MzYzdSm2/3hzOKo3+73zLzE2fi73vuw5P2w6f/x2+Hh 4OX84cni6dHl5+T54tnc6fzB8//W8fzH9vzG+v/979X98NDx8/Dp9vzg+v/89e3++eT/+t7+/Oz2 /v/+/vX9//xuML+MAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB+QM BAkLLaJpN1MAACAASURBVHja7V0JnBTVnS7kuSVNbI3dopsNdgYwY45J40ZWktlNHAOTGPCKyYyJ 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 QmCC --MP_/BUgYShC49bEX_h3ZEFdQ4Rf--