unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Thanos Apollo <public@thanosapollo.org>
To: Emanuel Berg <incal@dataswamp.org>, emacs-devel@gnu.org
Subject: Re: Writting Greek in Emacs
Date: Sat, 21 Sep 2024 01:00:35 +0300	[thread overview]
Message-ID: <8734lukmt8.fsf@thanosapollo.org> (raw)
In-Reply-To: <87ed5e1iuc.fsf@dataswamp.org>

[-- Attachment #1: Type: text/plain, Size: 3628 bytes --]

Emanuel Berg <incal@dataswamp.org> writes:


[...]
> The compose key does this. I have it for Swedish chars in the
> Linux VT. Hääj! Those I insert with compose " a. Compose o and
> a is å. 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:
----------------------------

- 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.
- Follow the Greek QWERTY layout for keybindings.
- 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.
- Another tricky part is handling the letter Sigma ("Σ", "σ", "ς"). "Σ"
  is the capital version of sigma ("σ") while "ς" 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" ?ς) ("s " ["ς "]) ("s," ["ς,"]) ("s." ["ς."]) ("s?" ["ς;"]) ("s;"
["ς·"]) #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" ?Σ) #line1208 and ("S" ?Σ)#line1220 in greek.el.  It'd be ideal to
have all 3 versions of sigma under the keybinding "s" in a new
greek-polytonic input method.

I propose a restructure/refactor of =greek.el= as follows:
----------------------------------------------------------

- Retain the "greek" input method as is.
  - It provides proper support for monotonic Greek and is familiar to most users.
- Retain "greek-postfix" as is.
  - Supports monotonic Greek with familiar postfix keybindings.
- Retain "greek-babel" as is.
  - Supports archaic Greek letters & polytonic accents.

For other input methods:

- "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.
- "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 =greek.el= if it's not really Greek.

Introduce:
- 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.
- Add "greek-polytonic-postfix" _after_ establishing proper polytonic
  support.
  
-- 
Thanos Apollo
https://thanosapollo.org

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 865 bytes --]

  reply	other threads:[~2024-09-20 22:00 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-19 14:43 Writting Greek in Emacs Thanos Apollo
2024-09-19 14:57 ` Greg Farough
2024-09-19 16:12   ` Thanos Apollo
2024-09-19 16:49     ` Greg Farough
2024-09-19 16:19 ` Eli Zaretskii
2024-09-19 16:32   ` Thanos Apollo
2024-09-19 16:42     ` Robert Pluim
2024-09-19 16:44     ` Eli Zaretskii
2024-09-19 17:05       ` Thanos Apollo
2024-09-19 17:44         ` Eli Zaretskii
2024-09-19 18:06           ` Thanos Apollo
2024-09-19 18:27             ` Eli Zaretskii
2024-09-19 19:04               ` Thanos Apollo
2024-09-20  5:56                 ` Eli Zaretskii
2024-09-19 18:03         ` Visuwesh
2024-09-19 18:13           ` Visuwesh
2024-09-19 19:03           ` Thanos Apollo
2024-09-19 18:07         ` Eli Zaretskii
2024-09-19 19:02           ` Thanos Apollo
2024-09-20  5:55             ` Eli Zaretskii
2024-09-20  9:18               ` Thanos Apollo
2024-09-20  9:47                 ` Emanuel Berg
2024-09-20 10:40                 ` Eli Zaretskii
2024-09-20 11:16                   ` Thanos Apollo
2024-09-20 12:24                   ` Thanos Apollo
2024-09-20 12:39                     ` Robert Pluim
2024-09-20 12:55                       ` Thanos Apollo
2024-09-20 13:41                         ` Robert Pluim
2024-09-20 13:35                     ` Eli Zaretskii
2024-09-20 13:54                       ` Thanos Apollo
2024-09-20 14:48                         ` Emanuel Berg
2024-09-20 22:00                           ` Thanos Apollo [this message]
2024-09-21  8:19                             ` Eli Zaretskii
2024-09-21 15:31                             ` Emanuel Berg
2024-09-20 14:23 ` Max Nikulin
2024-09-20 23:53   ` Thanos Apollo
2024-09-21  5:40     ` Keybindings and changing keyboard layout [was: Writting Greek in Emacs] tomas
2024-09-21 17:55       ` Juri Linkov
2024-09-22  6:47         ` tomas
2024-09-22 11:29           ` Max Nikulin
2024-09-23  5:54             ` tomas
2024-09-24  4:22               ` Max Nikulin
2024-09-24 14:10                 ` tomas
2024-09-21  8:23     ` Writting Greek in Emacs Eli Zaretskii
2024-09-23  3:28     ` Max Nikulin
2024-09-23 14:02       ` Thanos Apollo
2024-09-24  3:53         ` Max Nikulin
2024-09-24 14:37           ` Thanos Apollo
2024-09-24 13:54         ` tomas
  -- strict thread matches above, loose matches on Subject: below --
2024-10-05 19:39 Juan Manuel Macías
2024-10-09  3:29 ` Richard Stallman
2024-10-09  5:41   ` Thanos Apollo
2024-10-09  9:03     ` Robert Pluim
2024-10-09 10:10       ` Thanos Apollo
2024-10-09 16:44     ` Juan Manuel Macías
2024-10-09 19:08       ` Thanos Apollo
2024-10-09 19:18         ` Eli Zaretskii
2024-10-09 20:03           ` Thanos Apollo
2024-10-10  4:41             ` Eli Zaretskii
2024-10-10  6:49               ` Thanos Apollo
2024-10-09 20:41         ` Juan Manuel Macías
2024-10-09 22:05           ` Thanos Apollo
2024-10-10  0:12             ` Juan Manuel Macías
2024-10-10  2:48               ` Thanos Apollo
2024-10-10  6:14                 ` Eli Zaretskii
2024-10-10 12:55                   ` Robert Pluim
2024-10-10 13:04                     ` tomas
2024-10-09 12:36   ` Eli Zaretskii
2024-10-09 16:51   ` Juan Manuel Macías

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8734lukmt8.fsf@thanosapollo.org \
    --to=public@thanosapollo.org \
    --cc=emacs-devel@gnu.org \
    --cc=incal@dataswamp.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).