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.help Subject: Re: Composed Sequences (was: Manually parsing char-tables) Date: Sat, 26 Feb 2022 08:33:35 +0200 Message-ID: <83r17qp268.fsf@gnu.org> References: <20220220110926.25c675be@JRWUBU2> <835yp9ya4x.fsf@gnu.org> <20220226002837.699ae2b1@JRWUBU2> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12667"; mail-complaints-to="usenet@ciao.gmane.io" To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sat Feb 26 07:36:51 2022 Return-path: Envelope-to: geh-help-gnu-emacs@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 1nNqhG-00039Y-LF for geh-help-gnu-emacs@m.gmane-mx.org; Sat, 26 Feb 2022 07:36:50 +0100 Original-Received: from localhost ([::1]:35716 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nNqhF-0001B1-EM for geh-help-gnu-emacs@m.gmane-mx.org; Sat, 26 Feb 2022 01:36:49 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:33854) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nNqeQ-0006nY-0t for help-gnu-emacs@gnu.org; Sat, 26 Feb 2022 01:33:54 -0500 Original-Received: from [2001:470:142:3::e] (port=44464 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nNqeP-0000jj-Oj for help-gnu-emacs@gnu.org; Sat, 26 Feb 2022 01:33:53 -0500 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=0mjbVhONtcIp2hp1L6DawB1y/5AQw+TZD6hLG1Zmh3A=; b=G/inbgj01YiE ea0A9NQD12NJSTkIAX72G+UxSQojYp0LxVyY+hSzx3mzPRzTWGMjMk/HVRondgZXy6Ph28Bj9/euz Ok7kHOWoTWBm8ANO7NHWj9vEdVTYG/mGGePOdCC0wfLn5MmWWG2P7eeb/Ht6IXv+f88DbnYXASkdw bw03555SHxzIzx4+BTcnMINBgPrcKBzX+vz06qnyUFOUwSH1zuiOFUcDqycN51OVj4khM5smZX4Zm u5cik1ZV5TxQ4h/Arlz4JllklB6LVpALKaAp9HQApZL+Si4UlOO+ayWEYKyiTh6sYDqrWOe7Wo/W7 4wxMVmcrR/EAlv7QdCNUfQ==; Original-Received: from [87.69.77.57] (port=4160 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 1nNqeO-00082v-5F for help-gnu-emacs@gnu.org; Sat, 26 Feb 2022 01:33:52 -0500 In-Reply-To: <20220226002837.699ae2b1@JRWUBU2> (message from Richard Wordingham on Sat, 26 Feb 2022 00:28:37 +0000) X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:136195 Archived-At: > Date: Sat, 26 Feb 2022 00:28:37 +0000 > From: Richard Wordingham > > I still haven't found the code where the difference occurs, but I now > have a better idea of what is going on. It seems that runs with the > same value of the composition property ('composed sequences') are > sequences of clusters for the font that match a regular expression > given in composition-function-table. (Please don't use "composition property" in this context, because it's confusing: the 'composition' text property does exist in Emacs (it's an old and now deprecated way of composing characters), but it is not relevant to this discussion, which instead focuses on what is known in Emacs as "automatic composition".) > Different renderers give different clusters, and thus, by default, > different cursor motion! Not "different renderers", but "different fonts". And yes, the grapheme clusters produced by the text shaping engine (HarfBuzz etc.) and displayed by the Emacs display code indeed crucially depend on the font. > The reason Arabic seemed different is that when lam+hah appears to > ligate, what is happening (at least with Amiri) is that substitutions > are made which give the effect of a ligature, while remaining two > distinct glyphs. Yes, I see that as well. "C-u C-x =" should tell you whether ligation happened or not. What you see is normal, I think: Emacs obeys the decisions of the font designers.