From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Richard Wordingham via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#20140: 24.4; M17n shaper output rejected Date: Mon, 14 Feb 2022 22:14:27 +0000 Message-ID: <20220214221427.35231794@JRWUBU2> References: <20150318222040.4066e6e9@JRWUBU2> <87r18jk5nr.fsf@gnus.org> <83v8xv2icg.fsf@gnu.org> <20220205225251.08a0faab@JRWUBU2> <831r06rbwk.fsf@gnu.org> <20220213205310.0b8a715c@JRWUBU2> <83mtitpouv.fsf@gnu.org> Reply-To: Richard Wordingham Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40280"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 20140@debbugs.gnu.org, larsi@gnus.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Feb 14 23:15:14 2022 Return-path: Envelope-to: geb-bug-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 1nJjco-000AHE-Im for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 14 Feb 2022 23:15:14 +0100 Original-Received: from localhost ([::1]:60008 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nJjcn-0002s0-7t for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 14 Feb 2022 17:15:13 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:37300) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nJjcd-0002rO-MU for bug-gnu-emacs@gnu.org; Mon, 14 Feb 2022 17:15:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:48969) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nJjcc-0005nd-Vv for bug-gnu-emacs@gnu.org; Mon, 14 Feb 2022 17:15:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nJjcc-0008As-Rw for bug-gnu-emacs@gnu.org; Mon, 14 Feb 2022 17:15:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Richard Wordingham Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 14 Feb 2022 22:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20140 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 20140-submit@debbugs.gnu.org id=B20140.164487687731372 (code B ref 20140); Mon, 14 Feb 2022 22:15:02 +0000 Original-Received: (at 20140) by debbugs.gnu.org; 14 Feb 2022 22:14:37 +0000 Original-Received: from localhost ([127.0.0.1]:42865 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nJjcD-00089w-5y for submit@debbugs.gnu.org; Mon, 14 Feb 2022 17:14:37 -0500 Original-Received: from smtpq1.tb.ukmail.iss.as9143.net ([212.54.57.96]:39594) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nJjcB-00089i-7H for 20140@debbugs.gnu.org; Mon, 14 Feb 2022 17:14:36 -0500 Original-Received: from [212.54.57.107] (helo=csmtp3.tb.ukmail.iss.as9143.net) by smtpq1.tb.ukmail.iss.as9143.net with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nJjc4-0005L9-SC for 20140@debbugs.gnu.org; Mon, 14 Feb 2022 23:14:28 +0100 Original-Received: from JRWUBU2 ([82.27.122.109]) by cmsmtp with ESMTP id Jjc4nztX59Za5Jjc4nUjaY; Mon, 14 Feb 2022 23:14:28 +0100 X-SourceIP: 82.27.122.109 X-Spam: 0 X-Authority: v=2.4 cv=NtrCzuRJ c=1 sm=1 tr=0 ts=620ad444 cx=a_exe a=lZfnwhydZ+7bl6OdZ0zTBw==:117 a=lZfnwhydZ+7bl6OdZ0zTBw==:17 a=kj9zAlcOel0A:10 a=oGFeUVbbRNcA:10 a=mDV3o1hIAAAA:8 a=NLZqzBF-AAAA:8 a=OocQHUDgAAAA:8 a=ln1XYXOOYlff9YqzoKcA:9 a=CjuIK1q_8ugA:10 a=_FVE-zBwftR9WsbkzFJk:22 a=wW_WBVUImv98JQXhvVPZ:22 a=xUZTl98r3Qw_uB5NK3jt:22 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ntlworld.com; s=meg.feb2017; t=1644876868; bh=+xoCUak5YvNq5E7e7bXChPvZTHxvGTwFCtXDdnaM56E=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=1mDZB1IX2IfNoXFxmFr+GEC5bSwZ5eE1JgKw2e2k+AKbov1/N0T+70hhSbzcBS6Y3 QfX+wFCfSGjRpH1KpRylwpD9uo73MhFbjqJ4XHsWDSeWBL1YDtDsP2ms+ryyUyRfhE bQC+mQuuIX6AxSykYt+avXPqeadTm1yTx1kyUSn/OX8ZN/E10wS1/DXUj0joD/VVuZ 57jXW/QTmGDKj7usq/C+SssrxPHVY3CxuCq5R0hmnxBFA8djCDENdPjyH2ENUPvtxi zFAYaROuD8wr6uL2iYs632lh16rHajDCoo1trmoM+ZFvcAr8l04Gpymz8ugIWkRalv NIcTwN3ECSP5Q== In-Reply-To: <83mtitpouv.fsf@gnu.org> X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu) X-CMAE-Envelope: MS4xfLP0evIqEZ4Z0+lhgs8AMxBH0BVR7rBeBZ3aQ9xfO4rflDjVNm+YDlJlMA+Tzvl/X0Laggswsg59zBox64L+aO9SsSZaUFtu3MUsTe84RGiBJMG/rLKh 1RZTpZXojBX5QbtIQ5qqupkEpM0UYSkafWZ79a0ddsD1/jm4nvCXEiRSYpinfJbZKEar0sruqDM6m6oOZ5UlEtaZaWn78uFSWz4bXAhjefD0TdRFp2Y4Pk1+ lZPwdkqQts+pglY3L2XgPg== X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:226928 Archived-At: On Mon, 14 Feb 2022 15:19:36 +0200 Eli Zaretskii wrote: > > Date: Sun, 13 Feb 2022 20:53:10 +0000 > > From: Richard Wordingham > > Cc: larsi@gnus.org, 20140@debbugs.gnu.org > > > > On Sun, 13 Feb 2022 18:04:11 +0200 > > Eli Zaretskii wrote: > > > > > But that didn't seem to work well enough: e.g., some marks in your > > > "sample text" didn't combine with letters, as I think they > > > should. > > > > Which ones? > > Sorry, that was my faulty testing: I tested a half-baked change. Your > rules do work correctly, AFAICT. > > But I have 2 questions: > > 1) Why do we need this part of the composition rules: > > (vector "." 0 'font-shape-gstring) > > This matches just one character, so what do we want to accomplish > by this rule? A single character cannot "self-compose", can it? No, but in general it may need shaping, e.g. to take advantage of the locl feature. If that's not needed for shaping to happen, then dispense with it - unless it was need for general consistency. > 2) Since tai-tham-composable-pattern always starts with what you > denote as "C", how about setting up only entries of > composition-function-table that correspond to those characters, > i.e.: > > (let ((elt (list (vector tai-tham-composable-pattern 0 > 'font-shape-gstring) ))) > (set-char-table-range composition-function-table '(#x1A20 . > #x1A54) elt) (set-char-table-range composition-function-table > '(#x1A80 . #x1A89) elt) (set-char-table-range > composition-function-table '(#x1A90 . #x1A99) elt) > (set-char-table-range composition-function-table '(#x1AA0 . #x1AAD) > elt)) > > Do you see any problems with that? It may affect the rendering of isolated marks, particularly the preposed ones like U+1A55 TAI THAM CONSONANT SIGN MEDIAL RA and U+1A6E TAI THAM VOWEL SIGN E. I'll have to investigate HarfBuzz-using Emacs. I can't think of any other possible problems. My first thought is that it is unnecessarily complicated, and sets up work for when (if?) TAI THAM LAO LOW HA gets added. > > You should also add CGJ and ZWNJ, and some people may appreciate > > ZWJ - the Khottabun font has ligatures involving ZWJ, though it may > > just be an experimental feature - and ultimately WJ, for when > > someone writes a Tai Tham word breaker. > > How should I add CGJ and ZWNJ? What are the rules? > > > Oh, and Thai and Lao mai t(r)i and mai chat(t)awa and U+0324 > > COMBINING DIAERESIS BELOW turn up occasionally - U+0324 is supported > > in Thep's Khottabun font, and my Da Lekh series supports Thai mai > > tri and mai chattawa. These characters seem to work with HarfBuzz. > > Not sure I understand: what patterns/rules should be added for these? Add them all to "M" in the definition of tai-tham-composable-pattern. Strictly, U+0324 should also be added to "S", but I'd be surprised to see it in a genuine spelling. Richard.