From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [ELPA] New Package: greek-polytonic.el Date: Mon, 16 Jul 2018 18:57:01 +0300 Message-ID: <83pnzn8982.fsf@gnu.org> References: <83fu0mawzb.fsf@gnu.org> <86wotxzqsa.fsf@macmini.i-did-not-set--mail-host-address--so-tickle-me> <83o9f9acsf.fsf@gnu.org> <86sh4le0to.fsf@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1531756546 23145 195.159.176.226 (16 Jul 2018 15:55:46 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 16 Jul 2018 15:55:46 +0000 (UTC) Cc: jhanschoo@gmail.com, emacs-devel@gnu.org To: Cesar Crusius Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jul 16 17:55:41 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ff5qa-0005ps-BE for ged-emacs-devel@m.gmane.org; Mon, 16 Jul 2018 17:55:36 +0200 Original-Received: from localhost ([::1]:52555 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ff5sh-0003wV-EG for ged-emacs-devel@m.gmane.org; Mon, 16 Jul 2018 11:57:47 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40324) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ff5ru-0003wQ-8U for emacs-devel@gnu.org; Mon, 16 Jul 2018 11:56:59 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ff5rp-0003ci-DC for emacs-devel@gnu.org; Mon, 16 Jul 2018 11:56:58 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:48584) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ff5rp-0003cW-8G; Mon, 16 Jul 2018 11:56:53 -0400 Original-Received: from [176.228.60.248] (port=1487 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ff5ro-00082I-NE; Mon, 16 Jul 2018 11:56:53 -0400 In-reply-to: <86sh4le0to.fsf@gmail.com> (message from Cesar Crusius on Sat, 14 Jul 2018 18:37:23 -0700) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:227461 Archived-At: > From: Cesar Crusius > Cc: Cesar Crusius , jhanschoo@gmail.com, emacs-devel@gnu.org > Date: Sat, 14 Jul 2018 18:37:23 -0700 > > >> I'm not sure what you mean by "want the decomposed characters > >> to appear in the text," but when I am writing polytonic Greek > >> and type the sequence above, all I want is to see an > >> alpha+macron+acute in front of me. > > > > On display or in the buffer? If on display, then Emacs should > > already do that, provided that the font you are using supports > > the composed characters. That's because by default we have the > > auto-composition-mode turned on. > > > > I was talking about what's in the buffer. I think that if the > > user types a sequence of characters, Emacs should generally put > > those characters unaltered in the buffer. If the user wants a > > precomposed character, she could always type that character's > > codepoint using "C-x 8 RET", no? > > > > But maybe I don't know enough about the expectations of users > > who would use greek-polytonic input method, maybe in some use > > cases such automatic composition in the buffer is expected? > > Maybe we're talking about different things... > > Input methods do automatic composition all the time. That's what > they are expected to do. I do it every day when writing Portuguese > text. Consider "á": I just wrote it by switching input methods and > typing "-". What ends up in the buffer and on the > display is one single character. True, and I was not talking about that. > This means that the input method's semantics is to translate a > sequence of keys into the most natural underlying > representation. For "a acute," it is "á", not "a+combining acute", > and nobody blinks an eye. More accurately, input methods normally read ASCII characters and produce non-ASCII characters, whether accented or not. By contrast, your original text: > For example, the sequence ++ acute accent> is not represented by any precomposed character, but > appears frequently in critical editions of > classics. greek-polytonic.el allows for the input of combining > characters themselves, and substitutes such sequences with their > Unicode-canonical precomposed equivalents if they exist; led me to believe that your input method takes three non-ASCII characters, alpha combining macron and combining acute accent, and produce from them a single composed character which is their NFC precomposed character. This is not what an input method should do, IMO. However, I see now that no such NFC composition is being done for non-ASCII input (right?), so I guess I misunderstood; sorry about that. > For polytonic Greek, however, the problem is that Unicode does not > have pre-composed characters to represent all the > possibilities. Combining characters will be needed, but the input > method can -- and I argue /should/ -- combine what they > can. Example: > > * Typing "a + macron" should give U+1FB1, "Greek small letter > alpha with > macron," /one/ character, just as "á" above. Similarly, I would > consider "+" a bug. > * Typing "a + macron + acute" should give the above plus a U+0301 > "combining > acute", because it is the best it can do -- and it is what fonts > like Skolar expect. Emacs combines these automatically, but only on display; in the buffer we still have several separate codepoints. And I think this is correct. > By the way, I'm all for greek.el supporting polytonic Greek > natively and naturally. I don't remember what the problems were, > but I gave up on it quickly when trying polytonic because it > didn't work. I was talking about adding your input method to greek.el.