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: Fri, 16 Oct 2020 16:09:35 +0000 Message-ID: References: <87wnzqa1be.fsf@gnus.org> <83y2k6v378.fsf@gnu.org> <83tuuuuygf.fsf@gnu.org> <83pn5iuxds.fsf@gnu.org> <83ft6euq7a.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="32828"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Alpine 2.22 (NEB 394 2020-01-19) Cc: larsi@gnus.org, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Oct 16 18:11:33 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 1kTSKL-0008PV-7E for ged-emacs-devel@m.gmane-mx.org; Fri, 16 Oct 2020 18:11:33 +0200 Original-Received: from localhost ([::1]:56418 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kTSKK-0002ru-6e for ged-emacs-devel@m.gmane-mx.org; Fri, 16 Oct 2020 12:11:32 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46072) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTSIe-0001Fh-75 for emacs-devel@gnu.org; Fri, 16 Oct 2020 12:09:49 -0400 Original-Received: from mx.sdf.org ([205.166.94.24]:57229) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTSIa-0006vD-IE; Fri, 16 Oct 2020 12:09:47 -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 09GG9c0D008369 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Fri, 16 Oct 2020 16:09:38 GMT Original-Received: (from ghe@localhost) by sdf.org (8.15.2/8.12.8/Submit) id 09GGA1H5004294; Fri, 16 Oct 2020 16:10:01 GMT In-Reply-To: <83ft6euq7a.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/16 07:30:46 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:257829 Archived-At: >> Another thought on this: to avoid "looking unprofessional", a help-echo >> property could be added on these characters, saying something like >> "Warning: no font installed for this character". So the user would see >> an ugly (but often recognizable) character, and at the same time would >> be warned that they need to do something to see it better. > > Yes, Lars suggested that as well. But we have to be careful: too many > such properties or overlays will slow down redisplay. Also, we'd need > to see how to do this technically, since characters that have no fonts > are discovered during redisplay. Perhaps some jit-lock registered > function could detect them after redisplay, and put the properties on > some of them (which ones?). > I think I see what you mean: characters that have no fonts are discovered during redisplay, and at that moment it's too late to add text properties, which are not supposed to change anymore. It might be possible to add a special help-echo like property that would be added at the moment these characters are discovered, for example in produce_glyphless_glyph(). I don't think there would be "too many" such properties, it seems safe to assume that in general such characters follow each other and form a "block", and a single text property would be enough for one such block.