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: Sat, 06 Nov 2021 15:34:10 +0200 Message-ID: <834k8pbe7h.fsf@gnu.org> References: <87cznths5j.fsf@gnus.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> <83r1bud3or.fsf@gnu.org> <87r1buipf5.fsf@gnus.org> <83o86yd0ig.fsf@gnu.org> <87a6iiimay.fsf@gnus.org> <87r1btwh54.fsf@turtle-trading.net> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35400"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Benjamin Riefenstahl Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Nov 06 14:35:12 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 1mjLqi-000920-4E for ged-emacs-devel@m.gmane-mx.org; Sat, 06 Nov 2021 14:35:12 +0100 Original-Received: from localhost ([::1]:50164 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mjLqg-0003KW-LY for ged-emacs-devel@m.gmane-mx.org; Sat, 06 Nov 2021 09:35:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53650) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mjLpy-0002fS-Nr for emacs-devel@gnu.org; Sat, 06 Nov 2021 09:34:27 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:43530) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mjLpy-0002Eu-Dk; Sat, 06 Nov 2021 09:34:26 -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=w+V0U+Xb07c90jIRQAh1TEbBzeXwC4mwb+/xX8ASnnI=; b=juSn8xNpzxt/ e52tzpaqaT+MuodgSq2bHSxpabZ0bmXNUP1AAPBob+HccE4oj3BkHKxLy0UshKXTeXhoABVG0ow3F +fxEDb6k/OEPnE3MC4g55mkGOGWoKfoee8OGySm9DTtzY9BZn51Hi5pug7H7RZlfxi1euAkbipatx VTqbcZPIBA9Alh5z4q2dnacvrPejLha6/L7M+V8adgki/KCR7xyg/5cuPQcvi+WDzTUqMACl0d6au YOnKhV1OVx6glU4JmbRy3mk8SV3g3ZAUfXj0Sa/9oaMsNHnxTdlx0CjTbUrJGD8f6DxIUSvNLrxfX iMZjy59PdtYHPgv2QuRf2Q==; Original-Received: from [87.69.77.57] (port=3409 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 1mjLpx-0006Wh-7C; Sat, 06 Nov 2021 09:34:26 -0400 In-Reply-To: <87r1btwh54.fsf@turtle-trading.net> (message from Benjamin Riefenstahl on Sat, 06 Nov 2021 14:25:11 +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:278869 Archived-At: > From: Benjamin Riefenstahl > Date: Sat, 06 Nov 2021 14:25:11 +0100 > > > Possibly, but probably not. But I don't think people will choose to use > > fonts for programming that have fonts like that. (Are there even any > > monospace fonts that have such ligatures?) But when rendering document > > using a variable-pitch font, then yes. > > That is what font "features" are for, as I understand the concept. I > think Emacs supports those already. Features enable or disable stuff > like certain ligatures. The user can activate or deactivate features in > the font specification to choose which ligatures to use. We have no such mechanism in Emacs. We pass a sequence of characters to the shaping engine, and expect it to DTRT vis-a-vis the font and return to use the font glyphs to display that sequence. The only control Lisp programs and users have here is via composition-function-table, which determines when we use the shaping engine for displaying one or more characters.