From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Ligature support Date: Fri, 05 Nov 2021 17:26:12 +0200 Message-ID: <83r1bud3or.fsf@gnu.org> References: <87cznths5j.fsf@gnus.org> <8ff3b131c56b7b2d1d6f@heytings.org> <83bl39tqnl.fsf@gnu.org> <8ff3b131c531f5254799@heytings.org> <83a6ittp5r.fsf@gnu.org> <8ff3b131c53b9df49236@heytings.org> <834k91th5c.fsf@gnu.org> <8ff3b131c5fe09753ca0@heytings.org> <83mtmtru6l.fsf@gnu.org> <8ff3b131c57f741d04e5@heytings.org> <83lf2drqx6.fsf@gnu.org> <87lf2c3k0z.fsf@gnus.org> <83wnlwqocq.fsf@gnu.org> <87wnlwyox9.fsf@gnus.org> <83lf2cq7n5.fsf@gnu.org> <87wnlnkxbo.fsf@gnus.org> <83cznfdohr.fsf@gnu.org> <87zgqik9bk.fsf@gnus.org> <83v916d64z.fsf@gnu.org> <878ry2k6qz.fsf@gnus.org> <83tugqd488.fsf@gnu.org> <87zgqiiq8c.fsf@gnus.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34095"; mail-complaints-to="usenet@ciao.gmane.io" Cc: mattiase@acm.org, raman@google.com, gregory@heytings.org, schwab@linux-m68k.org, stefankangas@gmail.com, emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Nov 05 16:27:19 2021 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 1mj17e-0008g4-S4 for ged-emacs-devel@m.gmane-mx.org; Fri, 05 Nov 2021 16:27:18 +0100 Original-Received: from localhost ([::1]:41992 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mj17d-0003fZ-OI for ged-emacs-devel@m.gmane-mx.org; Fri, 05 Nov 2021 11:27:17 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37804) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mj16t-0002XM-UP for emacs-devel@gnu.org; Fri, 05 Nov 2021 11:26:31 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:55370) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mj16s-000425-BV; Fri, 05 Nov 2021 11:26:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=jyJk1W3FHDTsutQQKiHhEbI1SIJNa9wi9YAV2eYXieU=; b=I+VMY0HOVSAv 7kRyCANptmW5GWpvHctFKX5fRpfCbVLaqF8Uaj79livAhOb37PubtjoAr0Vpc/FAzyByJnt3/jy5b BnGPCx55pEKewN2U/MDP02PbrSmhc3cxDObff+KdWr/Bn5CmcierDeqzPMniykTzw9njcucUjgn5j hyRjVCveqPicRhoLppD2iZp8dMjaUO9ku4+6aRTuzpgH9ZYDreLuBM33MaVDCiOc/7tZ9FJGk8al1 FJltMCayTaJBYTwRvEtj09cIgatkC1jOzezp85NQzN67OFbfLAw6ofPLK1nBKN452/+hLysRt09H7 ovZjI9mnGKgBWAXOuWFJNg==; Original-Received: from [87.69.77.57] (port=1116 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mj16r-0003rJ-TF; Fri, 05 Nov 2021 11:26:30 -0400 In-Reply-To: <87zgqiiq8c.fsf@gnus.org> (message from Lars Ingebrigtsen on Fri, 05 Nov 2021 16:20:19 +0100) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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:278777 Archived-At: > From: Lars Ingebrigtsen > Cc: gregory@heytings.org, mattiase@acm.org, emacs-devel@gnu.org, > schwab@linux-m68k.org, stefankangas@gmail.com, raman@google.com > Date: Fri, 05 Nov 2021 16:20:19 +0100 > > Eli Zaretskii writes: > > > Why do we need to depend on the font? As I said, if the font doesn't > > have a ligature, font-shape-gstring will return nil, and we will then > > display the characters as individual glyphs. Isn't that what is > > expected? > > Different fonts have different ligatures (or "ligatures"). Since we > don't want to send all strings through font-shape-gstring (because > that'll be slow), we'll have to be selective as usual, I think? How many ligatures are there in the best of all fonts? If the number of the ligatures is not too large, then passing them to the shaper may not be such a terrible idea. So I think we should first consider which ligatures we'd like to support, and whether the answer differs depending on the major mode. For example, ligatures like ==> etc. are relevant to prog-mode modes, but probably not to text modes. By contrast, "ff" and "fi" are relevant only to text mode, I think.