From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.help Subject: Re: Emacs 28: Specific TTF font gets loaded with font-backend x instead of ftcrhb Date: Thu, 06 Feb 2020 20:15:18 +0200 Message-ID: <83pnerfuq1.fsf@gnu.org> References: <87pneu1u9e.fsf@gnu.org> <83mu9ygyi7.fsf@gnu.org> <87imkmi46d.fsf@gnu.org> <83eevagoh8.fsf@gnu.org> <878slh0yr8.fsf@gnu.org> <83y2thezjq.fsf@gnu.org> <87v9okyyt5.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="87112"; mail-complaints-to="usenet@ciao.gmane.io" To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Thu Feb 06 19:15:54 2020 Return-path: Envelope-to: geh-help-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 1izlgw-000MYX-Lr for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 06 Feb 2020 19:15:54 +0100 Original-Received: from localhost ([::1]:44184 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1izlgv-000505-MH for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 06 Feb 2020 13:15:53 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57419) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1izlgX-0004zw-Tt for help-gnu-emacs@gnu.org; Thu, 06 Feb 2020 13:15:30 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:53538) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1izlgX-0000dF-Q6 for help-gnu-emacs@gnu.org; Thu, 06 Feb 2020 13:15:29 -0500 Original-Received: from [176.228.60.248] (port=2569 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1izlgS-00062j-U2 for help-gnu-emacs@gnu.org; Thu, 06 Feb 2020 13:15:28 -0500 In-reply-to: <87v9okyyt5.fsf@gnu.org> (message from Tassilo Horn on Thu, 06 Feb 2020 08:12:06 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:122359 Archived-At: > From: Tassilo Horn > Cc: help-gnu-emacs@gnu.org > Date: Thu, 06 Feb 2020 08:12:06 +0100 > > After evaling that, -> becomes an arrow and ~> becomes an arrow with > curvy stroke. So either there's some issue with PragmataPro or my > computer at home. Well, it would be interesting to hear what happens with that other machine and/or the font. Be sure to try that in an Emacs built with the HarfBuzz library, as it should have the most advanced ligature support there is. > Do I understand it correctly that "overshooting" with the above rules > has no bad effect, i.e., if there is a composition rule for -> but the > font has no ligature glyph for that, then it just stays the way it is? Not exactly. In Emacs built with HarfBuzz, you will see the original ASCII characters displayed, but handled as a single grapheme cluster, i.e. the cursor will be "widened" to include all of them, and a single C-f will move across all of them. However, I believe this is what users should expect when the font doesn't include some of the ligatures, no? > So there could be some ligature-minor-mode which just adds all possible > composition rules? (Just speaking naively, I guess there are several > distinct categories of ligatures which you would want to enable/disable > on a per-mode basis.) The part in parentheses is exactly the non-trivial part: we should figure out which ligatures should be in effect in what major modes, and probably also as function of some user preferences (such as the language used in the buffer). IOW, we need to design the UI for specifying what classes of ligatures to activate. Burt if you only care about ligatures in programming languages, the job becomes much simpler, I think. Although I'd still expect the ligatures in effect to depend on the programming language of the current buffer. Which means composition-function-table needs to be buffer-local, and we should make sure making it buffer-local does TRT.