From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Thanos Apollo Newsgroups: gmane.emacs.devel Subject: Re: Writting Greek in Emacs Date: Sat, 21 Sep 2024 01:00:35 +0300 Message-ID: <8734lukmt8.fsf@thanosapollo.org> References: <87frpvk8l9.fsf@thanosapollo.org> <86ikur8vku.fsf@gnu.org> <878qvnk3j4.fsf@thanosapollo.org> <86ed5f8ugc.fsf@gnu.org> <875xqrk20g.fsf@thanosapollo.org> <86a5g38qkk.fsf@gnu.org> <87bk0jbh6t.fsf@thanosapollo.org> <867cb698ec.fsf@gnu.org> <8734lubs3z.fsf@thanosapollo.org> <86frpu7gmf.fsf@gnu.org> <87setua4ya.fsf@thanosapollo.org> <868qvm78jc.fsf@gnu.org> <87a5g2l9al.fsf@thanosapollo.org> <87ed5e1iuc.fsf@dataswamp.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33506"; mail-complaints-to="usenet@ciao.gmane.io" To: Emanuel Berg , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Sep 21 00:01:31 2024 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 1srlgx-0008XE-0i for ged-emacs-devel@m.gmane-mx.org; Sat, 21 Sep 2024 00:01:31 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1srlgF-0004lt-Pj; Fri, 20 Sep 2024 18:00:47 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1srlg9-0004lK-OU for emacs-devel@gnu.org; Fri, 20 Sep 2024 18:00:41 -0400 Original-Received: from smtp.forwardemail.net ([207.246.76.47]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1srlg8-0007RI-0L for emacs-devel@gnu.org; Fri, 20 Sep 2024 18:00:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thanosapollo.org; h=Content-Type: MIME-Version: Message-ID: Date: References: In-Reply-To: Subject: To: From; q=dns/txt; s=fe-4dbabb00f3; t=1726869635; bh=7UX7p6E09ge/z7LoJgU7qAJmtRBe3V30jpfcaiyZKwU=; b=wlz8zm5Ro6Bjpa3gwQt4At5xKnemIosCclm5BZTehXkJVNY0k8R+JA7JN5BvEcw9AK9LDfag4 InfmT1aQcfLhvitGSXghdEXw3SjZW3F9EtjCrSkQAfDM+cFRlsX8iAUuXJDd6buP61dLtUYWHGY 1c6ytjKw61WnqlVgyafQor4= In-Reply-To: <87ed5e1iuc.fsf@dataswamp.org> X-Report-Abuse-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net Original-X-Complaints-To: abuse@forwardemail.net X-ForwardEmail-Version: 0.4.40 X-ForwardEmail-Sender: rfc822; public@thanosapollo.org, smtp.forwardemail.net, 207.246.76.47 X-ForwardEmail-ID: 66edf06870f300eb0c99b420 Received-SPF: pass client-ip=207.246.76.47; envelope-from=SRS0=7d7c=QT=thanosapollo.org=public@fe-bounces.thanosapollo.org; helo=smtp.forwardemail.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:323870 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Emanuel Berg writes: [...] > The compose key does this. I have it for Swedish chars in the > Linux VT. H=C3=A4=C3=A4j! Those I insert with compose " a. Compose o and > a is =C3=A5. Very clever! Whoever came up with it (the compose > key). > This is exactly what I was looking for, thank you Emanuel! > But the Swedish abc cannot be compared to the Greek as that is > a whole alphabet of its own. Depending on how often you have > to do this, the compose key is not a bad solution. > Actually the Latin alphabet has 26 characters, the greek alphabet has only 24, leaving 2 extra keys for accents/punctuation. Apologies for not inputting my thoughts on the issue properly before. I will try to reiterate. When creating a new Greek input method for Emacs, several issues and goals need to be considered: =2D--------------------------- =2D Only include letters of the Greek alphabet. - greek-ibycus4 for example includes the character J, which is due to not including the letter "J" in quail-define-rules. I believe this is a bug as well. - greek-babel includes many archaic greek letters that are not part of the Greek alphabet since the 5th century BC. =2D Follow the Greek QWERTY layout for keybindings. =2D If modifier/compose keys are not used in creating a new Greek polytonic input method, one could replace the characters "|", "{", "}", and "~" with hard-coded accent combinations, as these characters are not commonly used in Greek. =2D Another tricky part is handling the letter Sigma ("=CE=A3", "=CF=83", "= =CF=82"). "=CE=A3" is the capital version of sigma ("=CF=83") while "=CF=82" is used at the = end of a word. In iOS, this is done automatically with one key. Similarly, greek-ibycus4 attempts to implement this feature: ("j" ?=CF=82) ("s " ["=CF=82 "]) ("s," ["=CF=82,"]) ("s." ["=CF=82."]) ("s?= " ["=CF=82=CD=BE"]) ("s;" ["=CF=82=CE=87"]) #line842 in greek.el Using "j" and "s" as a keybinding as well does not make much sense. The commonly key usually used for sigma is "s". Currently the "greek" input method, which is used for monotonic greek, has duplicate keys including ("W" ?=CE=A3) #line1208 and ("S" ?=CE=A3)#line1220 in greek.el. It'd be id= eal to have all 3 versions of sigma under the keybinding "s" in a new greek-polytonic input method. I propose a restructure/refactor of =3Dgreek.el=3D as follows: =2D--------------------------------------------------------- =2D Retain the "greek" input method as is. - It provides proper support for monotonic Greek and is familiar to most = users. =2D Retain "greek-postfix" as is. - Supports monotonic Greek with familiar postfix keybindings. =2D Retain "greek-babel" as is. - Supports archaic Greek letters & polytonic accents. For other input methods: =2D "greek-mizuochi" and "greek-ibycus4" lack proper Greek support, including non-mapped keys. Since "greek-babel" includes archaic Greek letters, they seem redundant. They should be either rewritten or considered deprecated. =2D "greek-jis" seems unique, with JIS likely standing for Japanese Industrial Standard. However, it lacks support for Greek all accents and many Greek letters. While this could be an interesting niche package, it may not belong in =3Dgreek.el=3D if it's not really Greek. Introduce: =2D Add "greek-polytonic". - This should support only the 24 letters of the Greek alphabet and polytonic accents, using keybindings for the standard QWERTY Greek keyboard as closely as possible. =2D Add "greek-polytonic-postfix" _after_ establishing proper polytonic support. =20=20 =2D-=20 Thanos Apollo https://thanosapollo.org --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJMBAEBCAA2FiEEYrdY0PZxmTi8Cc7KM59zbDpyCSgFAmbt8IMYHHB1YmxpY0B0 aGFub3NhcG9sbG8ub3JnAAoJEDOfc2w6cgkoPN4P/RNqsnxHRDSmlC5YrMy0RzPO qiiqu++DcuEant44jp5hGVTuHudWygNIPhTQkASbvCyYJKxZyvxiZZ35kqcqtPP/ JIAaoa5YKkuRkpCkjzIHCWWoWH/9EEMUuWOL/Okhf4+qGaDRImbNh/yhX8Bqb8Iz LsZEvpnyJrToLFM7NtmPNx9eRveX+e5qLj8/Tv/R8oH+oyFwa1En0lts5HIXZDmN JInES0LhfsdpfFiYQk01LlJC+vhB14u9jSYrtWIU19xHnjIN7WwVwjJxNtwpyIth OmRtGqjx+JxLUbYdhZeIM5LBNceMGEX3EBaAGBCT/5t7lBkjWWyvGk7nZGj4h43t kb7VYKV+q9DRnoMJKoV53MB4wA8mT00jKQ4nITyP2HlDArnAwMPohC40HAyMdN3w X7r1artUHVCpqY5kBRe8PtbURvu793q69PRUMEtYoTL4C1BTl98p1E/DvvNKwUot 9lPeAMljBIXOPyJReU3JwTM5GSDl1fkuRmJOp2ep4ob6l5f+qEF/W1RK/RBwcdIz WplAiUzlJEs1aT3xr6XIf6V+yt4Uic1e/mQugkKXsH6q+i/sSbwaiDcT6iEFUiv+ v8547zv1mCpLNK9b/dZugps0hr3TE7pmC6pc8DRPomHrJJTM4AQnb7j3YyWRXX81 RExg2KibockHnAgWsEND =WVbT -----END PGP SIGNATURE----- --=-=-=--