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: Supporting stylistic sets Date: Mon, 26 Sep 2022 22:20:24 +0300 Message-ID: <83y1u6j62v.fsf@gnu.org> References: <83wn9up0es.fsf@gnu.org> <83h70yotd4.fsf@gnu.org> <83a66pq2b1.fsf@gnu.org> <835yhakqsi.fsf@gnu.org> <831qrykn1d.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16156"; mail-complaints-to="usenet@ciao.gmane.io" Cc: nicolaso@google.com, lumarzeli30@gmail.com, emacs-devel@gnu.org To: Yuri Khan Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Sep 26 21:22:39 2022 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 1octgb-00041D-Vi for ged-emacs-devel@m.gmane-mx.org; Mon, 26 Sep 2022 21:22:38 +0200 Original-Received: from localhost ([::1]:56608 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1octga-0007Mz-SQ for ged-emacs-devel@m.gmane-mx.org; Mon, 26 Sep 2022 15:22:36 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38388) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1octec-0006RA-Na for emacs-devel@gnu.org; Mon, 26 Sep 2022 15:20:47 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:36658) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1octec-0001Q7-EE; Mon, 26 Sep 2022 15:20:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=fquAg+IjpiOQQlFELgcyGdApk64OKrp8DwYJ/69vY8Y=; b=bHFtFMLjan7qG7sff+sA 9TmesqXl9p5eLyE60nt9tVNtxCROA4RNk1WwqvwA2PbLLb2GW6p2qOl/dAYsEj7KydevNC+svUT6V d+kuoIpTwKkhnVG4WL39B6VWvaHKhlaFZK0tI2qY3wyrqiCyTrs9wkqRwwX/Q46f3nG8p0O/0XNpV xY/2CKMpzD+Cj0EzKcZHmI/jqeSOfl/EsswPhCF7orZ5y1W6bIfezMj4wL30HJrhKE3CAXF96RK57 4PUrGJG3FcPmOgB4FidvYuufy/rw5OVT89ibNMkpAbfY+0jqpLs4SeVITl6V5mfbi+hsL/4f2u0AY LQG4lCIs8g8rfg==; Original-Received: from [87.69.77.57] (port=4776 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 1octeb-0004ds-Jy; Mon, 26 Sep 2022 15:20:34 -0400 In-Reply-To: (message from Yuri Khan on Tue, 27 Sep 2022 02:06:35 +0700) 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:296303 Archived-At: > From: Yuri Khan > Date: Tue, 27 Sep 2022 02:06:35 +0700 > Cc: Nicolas Ouellet-payeur , lumarzeli30@gmail.com, emacs-devel@gnu.org > > On Tue, 27 Sept 2022 at 01:55, Eli Zaretskii wrote: > > > And second, it is not good enough to have the property on the "-:---" > > part, because that's where the input-method mnemonics are displayed, > > and those frequently do need ligations, if they use characters from > > scripts which require that. > > Maybe just put a zwnj between every two directly adjacent fields to > prevent ligation? It's possible. But then (1) we'd need to always have the ZWNJ there; (2) some mode-line constructs are produced by formatting text with tricky format specs, and some could come from the user or some Lisp program that are utterly unaware of these subtleties; and (3) Emacs by default displays ZWNJ as a thin space. So this is not the best solution, IMO. I tend to think this is just one aspect of a more general problem, which is: how do users/Lisp programs control which characters will or will not ligate in what situations? For example, take ffi: you might not want the characters f f i to ligate in a variable name, or in some major modes as opposed to others, etc. When we figure out how to specify when to ligate, we need that specification support the mode line and other places (like maybe be tab bar/tab line).