From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Ligatures Date: Mon, 18 May 2020 13:05:53 -0400 Message-ID: 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> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="56107"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: pipcet@gmail.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon May 18 19:08:15 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 1jajFP-000EV9-6B for ged-emacs-devel@m.gmane-mx.org; Mon, 18 May 2020 19:08:15 +0200 Original-Received: from localhost ([::1]:54230 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jajFO-00089M-76 for ged-emacs-devel@m.gmane-mx.org; Mon, 18 May 2020 13:08:14 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35752) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jajDC-0004Sh-RP for emacs-devel@gnu.org; Mon, 18 May 2020 13:05:58 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:30580) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jajDB-0004nn-BT; Mon, 18 May 2020 13:05:57 -0400 Original-Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id B34074404E5; Mon, 18 May 2020 13:05:55 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 242414404DE; Mon, 18 May 2020 13:05:54 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1589821554; bh=g0XsTcbnM4aShlPKKH82DZSxcagF98DixfZjaB8yqvs=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=pavZtxfVyuZ67oHgDUrhLOI+JseHFsCaJC1gwiAzX7yFzaptMs33yb0VpvOnpgYcm OAnV9AcfWXoDb2PN4W1GHq/qHpjwiFvOTqgHjfdp7ocDYsXAe+iZOldJGBDfXv9JMp dLzyMuDaybAJvA5JZqWckvgPhuxYALLWx1+28VmOurQBrm41C0oJ5aEU5fww6PGcdf Zo2r9VyK9DMKyR4Raj1uf07YDKqRR4ZaPOSXmRX4ZFVw5jrCwFJU1n8q5EDx8SDF+3 Blx/3q8VrxM7c0Uw8ctAsJkiOlQCdGzpzr7yP2JYswO8gGrDD1s04Z5sKyb7Lo6T+q 6o4nanbvlFItA== Original-Received: from alfajor (unknown [216.154.27.250]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id DF3841205E8; Mon, 18 May 2020 13:05:53 -0400 (EDT) In-Reply-To: <83367x9qeq.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 18 May 2020 19:08:45 +0300") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/18 12:41:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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:250784 Archived-At: [ I know nothing about the underlying APIs and such, so speaking here only as a random user. ] > On second thought, I think I misunderstood you. If the font that is > used shows "ffi" as a _single_ glyph =EF=AC=83, and LibreOffice indeed > highlights parts of this glyph, then I'd like to know how it does > that, and how far does this capability extend. I mean, what does it > do with ligatures like ae, displayed as =C3=A6 -- does it highlight the > common vertical stroke for both parts? And what about "st", displayed > as =EF=AC=86 -- this has a curved "hand" connecting s and t -- to which o= f the > 2 does it belong for the purposes of highlighting? As a mere user I wouldn't care very much about this detail: I'd just want the cursor to have 2 different positions depending on whether I'm on the "s" or on the "t", and hopefully those two positions are sufficiently self-evident that I don't have to read a manual to understand which is which. So, maybe we don't need very much info: all we need is a boolean which tells us whether the glyph should be treated atomically or not. When not treating it atomically, we would (somewhat arbitrarily) divide the glyph horizontally into N equal sized "subglyphs" and draw the cursor on the corresponding subglyph. If Harfbuzz could tell us more precisely how to divide the glyph into subglyphs, we could do a better job, of course. Stefan