From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings via "Emacs development discussions." Newsgroups: gmane.emacs.devel Subject: Re: Suggest installing more fonts? Date: Sat, 17 Oct 2020 16:09:09 +0000 Message-ID: References: <87wnzqa1be.fsf@gnus.org> <83zh4lthv4.fsf@gnu.org> <83a6wlt5ie.fsf@gnu.org> <837drpt1tb.fsf@gnu.org> Reply-To: Gregory Heytings Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4095"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Alpine 2.22 (NEB 394 2020-01-19) Cc: larsi@gnus.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Oct 17 18:09:57 2020 Return-path: Envelope-to: ged-emacs-devel@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 1kTomI-0000ua-Of for ged-emacs-devel@m.gmane-mx.org; Sat, 17 Oct 2020 18:09:54 +0200 Original-Received: from localhost ([::1]:35780 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kTomH-0005fl-Ku for ged-emacs-devel@m.gmane-mx.org; Sat, 17 Oct 2020 12:09:53 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54844) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kToll-0005En-Ky for emacs-devel@gnu.org; Sat, 17 Oct 2020 12:09:21 -0400 Original-Received: from mx.sdf.org ([205.166.94.24]:65437) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kToli-0000Xn-Bu; Sat, 17 Oct 2020 12:09:21 -0400 Original-Received: from sdf.org (IDENT:ghe@faeroes.freeshell.org [205.166.94.9]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 09HG9DQ4018135 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Sat, 17 Oct 2020 16:09:13 GMT Original-Received: (from ghe@localhost) by sdf.org (8.15.2/8.12.8/Submit) id 09HG9b5F025927; Sat, 17 Oct 2020 16:09:37 GMT In-Reply-To: <837drpt1tb.fsf@gnu.org> Received-SPF: pass client-ip=205.166.94.24; envelope-from=ghe@sdf.org; helo=mx.sdf.org X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/17 12:09:16 X-ACL-Warn: Detected OS = ??? X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:257949 Archived-At: >> About the use cases you are talking about, I haven't seen cases where >> "Emacs displays tofu where other applications display characters from >> installed fonts". My experience is that Emacs behaves better than many >> other applications in this respect (except for the particular case of >> Emojis). > > I invite you to read the various font- and fontset-related bug reports > we have, and also relevant posts on Reddit and elsewhere out there. Alas, I could not find anything with your indications. >> The meaning of my proposal was only to include it _in_ Emacs, in short, >> to use, when it exists, the Unifont glyph in produce_glyphless_glyph() >> instead of creating a tofu with a hexcode. > > As I wrote, this is not easily done, as font installation is a > system-wide action, as the font needs to be known by the system-wide > utilities and libraries we use for font searching. > Apparently it's not clear, so I'll say one last time that the feature I propose does _not_ require to install Unifont system-wide. It is to include Unifont in Emacs (say in etc/unifont), and to offer it as an additional option for glyphless-char-display, along with hex-code, empty-box, thin-space, and zero-width. The bitmap data would be used to draw the glyph in produce_glyphless_glyph() . FYI, that feature is not "already in Emacs", as you said: when Unifont is installed, it takes precedence over some (but not all, I'm not sure why) of the better-looking available fonts. One example: DejaVu Sans has hebrew characters, but with Unifont installed hebrew characters are displayed with Unifont. By the way, while doing various experiments around that question, I found a bug in ftcrfont.c. If a buffer is displayed with a certain font, and that font is removed, Emacs segfaults when it redisplays that buffer. The bug is in ftcrfont_open, on line 237: ft_face = cairo_ft_scaled_font_lock_face (scaled_font); This line should be followed by a: if (!ft_face) { unblock_input (); /* further cleanup? */ return Qnil; }