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.devel Subject: Re: Ligatures Date: Tue, 19 May 2020 17:52:14 +0300 Message-ID: <834ksc7za9.fsf@gnu.org> References: <20200517124125.000013a4@web.de> <97C7EAB7-10AB-4702-ABC8-EB6C1C50ABDB@gnu.org> <20200517165953.000044d2@web.de> <83lflqblp0.fsf@gnu.org> <83ftbybio3.fsf@gnu.org> <83zha69xs2.fsf@gnu.org> <83367x9qeq.fsf@gnu.org> <875zcs32fv.fsf@Otto.invalid> <83eerg80u6.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="67721"; mail-complaints-to="usenet@ciao.gmane.io" Cc: pipcet@gmail.com, emacs-devel@gnu.org To: Stromeko@nexgo.de Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue May 19 16:52:51 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 1jb3bu-000HVA-00 for ged-emacs-devel@m.gmane-mx.org; Tue, 19 May 2020 16:52:50 +0200 Original-Received: from localhost ([::1]:35462 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jb3bt-00056n-0t for ged-emacs-devel@m.gmane-mx.org; Tue, 19 May 2020 10:52:49 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44422) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jb3bQ-0004YH-0f for emacs-devel@gnu.org; Tue, 19 May 2020 10:52:20 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:52690) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jb3bN-0002vz-MY; Tue, 19 May 2020 10:52:17 -0400 Original-Received: from [176.228.60.248] (port=2471 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jb3bM-0002uk-RL; Tue, 19 May 2020 10:52:17 -0400 In-Reply-To: <83eerg80u6.fsf@gnu.org> (message from Eli Zaretskii on Tue, 19 May 2020 17:18:41 +0300) 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:250940 Archived-At: > Date: Tue, 19 May 2020 17:18:41 +0300 > From: Eli Zaretskii > Cc: pipcet@gmail.com, emacs-devel@gnu.org > > > From: ASSI > > Cc: pipcet@gmail.com, emacs-devel@gnu.org > > Date: Tue, 19 May 2020 07:43:00 +0200 > > > > The only program I ever used that I remember doing this (a WYSIWYG TeX > > editor for DOS, natch) temporarily broke the ligature while you were > > moving the cursor inside. It looked a bit strange and was slightly > > distracting if you were just moving the cursor without trying to edit > > it, but otherwise did the job well. > > That's what I had in mind (although I never used such an editor). Btw, there's one subtle issue that will need to be resolved if we are to have this feature of "sub-glyph" cursor movement inside composed characters. The way we currently display the default block cursor is by simply redrawing the glyph at point in reverse video. So we don't have a way of displaying a cursor that "covers" only part of a glyph. To make this happen, we'd probably need to draw the cursor as part of drawing the glyph foreground and/or background, which is against the current flow of the display code: we generally first completely draw the background and foreground of the entire text that needs to be redrawn, and only then draw the cursor where it should be placed. Something to figure out by that "Someone" who'd volunteer for the job.