unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
@ 2024-10-20 12:46 Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-10-20 13:13 ` Eli Zaretskii
  2024-10-20 18:07 ` Visuwesh
  0 siblings, 2 replies; 19+ messages in thread
From: Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-10-20 12:46 UTC (permalink / raw)
  To: 73909


[-- Attachment #1.1: Type: text/plain, Size: 651 bytes --]

Tags: patch


Attaching a patch that adds a new Greek Input method with support for
Greek polytonic & archaic letters, greek-polytonic.


In GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41,
cairo version 1.18.0)
System Description: Guix System

Configured using:
 'configure
 CONFIG_SHELL=/gnu/store/3jhfhxdf6v5ms10x5zmnl166dh3yhbr1-bash-minimal-5.1.16/bin/bash
 SHELL=/gnu/store/3jhfhxdf6v5ms10x5zmnl166dh3yhbr1-bash-minimal-5.1.16/bin/bash
 --prefix=/gnu/store/ipikjv0dghwysvl1xj37wgp2x8f4jmxz-emacs-pgtk-29.4
 --enable-fast-install --with-pgtk --with-cairo --with-modules
 --with-native-compilation=aot --disable-build-details'


[-- Attachment #1.2: 0002-quail-greek.el-Add-greek-polytonic.patch --]
[-- Type: text/patch, Size: 18477 bytes --]

From 7a0049e33458d7c6116c0e6c05d3832dba922aea Mon Sep 17 00:00:00 2001
From: Thanos Apollo <public@thanosapollo.org>
Date: Sun, 20 Oct 2024 15:36:04 +0300
Subject: [PATCH 2/2] quail/greek.el: Add greek-polytonic.

* Greek input method with support for the polytonic system & archaic letters.
---
 lisp/leim/quail/greek.el | 722 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 722 insertions(+)

diff --git a/lisp/leim/quail/greek.el b/lisp/leim/quail/greek.el
index 138abd2cb62..d84d3026923 100644
--- a/lisp/leim/quail/greek.el
+++ b/lisp/leim/quail/greek.el
@@ -1431,4 +1431,726 @@ "greek-ibycus4"
  (">>" ?»))
 
 
+(quail-define-package
+ "greek-polytonic" "Greek" "ῶ" t
+ "Greek input method, with support for polytonic & archaic Greek letters.
+
++----------------------------------------------------------------------+
+  | :· | 1! | 2@ | 3# | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | -_ | =+ |
+ +-----------------------------------------------------------------+
+   | `῾ | ς¨ | εΕ | ρΡ | τΤ | υΥ | | ιΙ | οΟ | πΠ | [{ | ]} | |\ |
+   +------------------------------------------------------------+
+      | αA| σΣ | δΔ |φΦ | γΓ | ηΗ  | ξΞ | κΚ | λΛ | ΄᾿ | ῀ι |
+     +-------------------------------------------------------+
+         | ζΖ | χΧ | ψΨ | ωΩ | βΒ | νΝ | μΜ | ,< |.> | /; |
+        +--------------------------------------------------+
+"
+ nil t nil nil nil nil nil nil nil nil t)
+(quail-define-rules
+ ("1" ?1)
+ ("2" ?2)
+ ("3" ?3)
+ ("4" ?4)
+ ("5" ?5)
+ ("6" ?6)
+ ("7" ?7)
+ ("8" ?8)
+ ("9" ?9)
+ ("0" ?0)
+ ("-" ?-)
+ ("=" ?=)
+ ("[" ?\[)
+ ("]" ?\])
+ ;; Changed punction from greek.el
+ ("`" ?·)
+ ("~" ?:)
+ ;; tonoi
+ (";" ?΄) ;; U+1FFD (oxia)
+ ("q" ?`) ;; U+1FEF (varia)
+ ("'" ?῀) ;; U+1FC0 (perispomeni)
+ ("\"" ?ι) ;; U+1FBE (ypogegrammeni)
+ ;; pneumata
+ (":" ?᾿) ;; U+1FBF (psili)
+ ("Q" ?῾) ;; U+1FFE (dasia)
+ ("W" ?¨) ;; U+00A8 (dialytika)
+ ;; apostrophe combinations
+ ("; " ["’ "]) ;; U+2019 (apostrophe)
+ (";g" ["’γ"])
+ (";d" ["’δ"])
+ (";z" ["’ζ"])
+ (";u" ["’θ"])
+ (";k" ["’κ"])
+ (";l" ["’λ"])
+ (";m" ["’μ"])
+ (";n" ["’ν"])
+ (";j" ["’ξ"])
+ (";p" ["’π"])
+ (";ρ" ["’r"])
+ (";s" ["’σ"])
+ (";t" ["’τ"])
+ (";f" ["’φ"])
+ (";x" ["’χ"])
+ (";c" ["’ψ"])
+ ;;
+ (";G" ["’Γ"])
+ (";D" ["’Δ"])
+ (";Z" ["’Ζ"])
+ (";U" ["’Θ"])
+ (";K" ["’Κ"])
+ (";L" ["’Λ"])
+ (";M" ["’Μ"])
+ (";N" ["’Ν"])
+ (";J" ["’Ξ"])
+ (";P" ["’Π"])
+ (";Ρ" ["’R"])
+ (";S" ["’Σ"])
+ (";T" ["’Τ"])
+ (";F" ["’Φ"])
+ (";X" ["’Χ"])
+ (";C" ["’Ψ"])
+ ;; Combinations
+ ("W;" ?΅) ;; U+1FEE
+ (";W" ?΅) ;; U+1FEE
+ ("Wq" ?῭) ;; U+1FED
+ ("qW" ?῭) ;; U+1FED
+ (":;" ?῎) ;; U+1FCE
+ (";:" ?῎) ;; U+1FCE
+ ("qQ" ?῝) ;; U+1FDD
+ ("Qq" ?῝) ;; U+1FDD
+ ("q:" ?῍) ;; U+1FCD
+ (":q" ?῍) ;; U+1FCD
+ ("Q;" ?῞) ;; U+1FDE
+ (";Q" ?῞) ;; U+1FDE
+ ("':" ?῏) ;; U+1FCF
+ (":'" ?῏) ;; U+1FCF
+ ("'Q" ?῟) ;; U+1FDF
+ ("Q'" ?῟) ;; U+1FDF
+ ("'W" ?῁) ;; U+1FC1
+ ("W'" ?῁) ;; U+1FC1
+ ;; perispomeni combinations, used for vrachy and macron
+ ("''" ["῀῀"])
+ ("'''" ["῀῀῀"])
+ ;; ypogegrammeni combinations
+ ("\"'" ["῀ι"])
+ ("'\"" ["῀ι"])
+ ("\";" ["΄ι"])
+ (";\"" ["ι΄"])
+ ("\":" ["ι᾿"])
+ (":\"" ["ι᾿"])
+ ("\"q" ["ι`"])
+ ("q\"" ["ι`"])
+ ("\"Q" ["ι῾"])
+ ("Q\"" ["ι῾"])
+ ("Q\"'" ["ι῟"])
+ ("\"Q'" ["ι῟"])
+
+ ("Q'\"" ["ι῟"])
+ ("'Q\"" ["ι῟"])
+ (":q\"" ["῍ι"])
+ ("q:\"" ["῍ι"])
+ ("\"q:" ["῍ι"])
+ ("\":q" ["῍ι"])
+
+ (":;\"" ["῎ι"])
+ (";:\"" ["῎ι"])
+ ("\";:" ["῎ι"])
+ ("\":;" ["῎ι"])
+ ("Qq\"" ["῝ι"])
+ ("qQ\"" ["῝ι"])
+ ("\"Qq" ["῝ι"])
+ ("\"qQ" ["῝ι"])
+
+ ("Q;\"" ["῞ι"])
+ (";Q\"" ["῞ι"])
+ ("\";Q" ["῞ι"])
+ ("\"Q;" ["῞ι"])
+
+ (":'\"" ["῏ι"])
+ ("':\"" ["῏ι"])
+ ("\"':" ["῏ι"])
+ ("\":'" ["῏ι"])
+ ;; Misc characters
+ ("~" ?:)
+ ("``" "~")
+ ("QQ" ["“ ”"])
+ ;;
+ ("W" ?¨)
+ ("," ?,)
+ ("." ?.)
+ ("/" ?/)
+ ("!" ?!)
+ ("@" ?@)
+ ("#" ?#)
+ ("$" ?$)
+ ("%" ?%)
+ ("^" ?^)
+ ("&" ?&)
+ ("*" ?*)
+ ("(" ?\()
+ (")" ?\))
+ ("_" ?_)
+ ("+" ?+)
+ ("{" ?{)
+ ("}" ?})
+ (";;" "\"")
+ ("<" ?<)
+ (">" ?>)
+ ("?" ?;) ;; U+037E (Greek Question Mark)
+ (">>" ?») ;; U+00BB
+ ("<<" ?«) ;; U+00AB
+ ;; Alpha
+ ("A" ?Α)  ;; U+0391
+ (":A" ?Ἀ) ;; U+1F08
+ ("QA" ?Ἁ) ;; U+1F09
+ (":qA" ?Ἂ) ;; U+1F0A
+ ("q:A" ?Ἂ) ;; U+1F0A
+ ("qQA" ?Ἃ) ;; U+1F0B
+ ("QqA" ?Ἃ) ;; U+1F0B
+ (":;A" ?Ἄ) ;; U+1F0C
+ ("Q;A" ?Ἅ) ;; U+1F0D
+ (";QA" ?Ἅ) ;; U+1F0D
+ (":'A" ?Ἆ) ;; U+1F0E
+ ("':A" ?Ἆ) ;; U+1F0E
+ ("Q'A" ?Ἇ) ;; U+1F0F
+ ("'QA" ?Ἇ) ;; U+1F0F
+ (":\"A" ?ᾈ) ;; U+1F88
+ ("Q\"A" ?ᾉ) ;; U+1F89
+ (":q\"A" ?ᾊ) ;; U+1F8A
+ ("q:\"A" ?ᾊ) ;; U+1F8A
+ ("q\":A" ?ᾊ) ;; U+1F8A
+ ("\"q:A" ?ᾊ) ;; U+1F8A
+ ("Qq\"A" ?ᾋ) ;; U+1F8B
+ ("qQ\"A" ?ᾋ) ;; U+1F8B
+ ("q\"QA" ?ᾋ) ;; U+1F8B
+ ("\"qQA" ?ᾋ) ;; U+1F8B
+ (":;\"A" ?ᾌ) ;; U+1F8C
+ (";:\"A" ?ᾌ) ;; U+1F8C
+ (";\":A" ?ᾌ) ;; U+1F8C
+ ("\";:A" ?ᾌ) ;; U+1F8C
+ ("Q;\"A" ?ᾍ) ;; U+1F8D
+ ("Q\";A" ?ᾍ) ;; U+1F8D
+ ("\"Q;A" ?ᾍ) ;; U+1F8D
+ ("\";QA" ?ᾍ) ;; U+1F8D
+ (":'\"A" ?ᾎ) ;; U+1F8E
+ (":\"'A" ?ᾎ) ;; U+1F8E
+ ("\":'A" ?ᾎ) ;; U+1F8E
+ ("\"':A" ?ᾎ) ;; U+1F8E
+ ("Q'\"A" ?ᾏ) ;; U+1F8F
+ ("'Q\"A" ?ᾏ) ;; U+1F8F
+ ("'\"QA" ?ᾏ) ;; U+1F8F
+ ("\"'QA" ?ᾏ) ;; U+1F8F
+ ("''A" ?Ᾰ) ;; U+1FB8
+ ("'''A" ?Ᾱ) ;; U+1FB9
+ ("qA" ?Ὰ) ;; U+1FBA
+ (";A" ?Ά) ;; U+1FBB
+ ("\"A" ?ᾼ) ;; U+1FBC
+ ("a" ?α) ;; U+03B1
+ (":a" ?ἀ) ;; U+1F00
+ ("Qa" ?ἁ) ;; U+1F01
+ (":qa" ?ἂ) ;; U+1F02
+ ("q:a" ?ἂ) ;; U+1F02
+ ("Qqa" ?ἃ) ;; U+1F03
+ ("qQa" ?ἃ) ;; U+1F03
+ (":;a" ?ἄ) ;; U+1F04
+ (";:a" ?ἄ) ;; U+1F04
+ ("Q;a" ?ἅ) ;; U+1F05
+ (";Qa" ?ἅ) ;; U+1F05
+ (":'a" ?ἆ) ;; U+1F06
+ ("':a" ?ἆ) ;; U+1F06
+ ("Q'a" ?ἇ) ;; U+1F07
+ ("'Qa" ?ἇ) ;; U+1F07
+ ("qa" ?ὰ) ;; U+1F70
+ (";a" ?ά) ;; U+1F71
+ (":\"a" ?ᾀ) ;; U+1F80
+ ("\":a" ?ᾀ) ;; U+1F80
+ ("Q\"a" ?ᾁ) ;; U+1F81
+ (":q\"a" ?ᾂ) ;; U+1F82
+ (":\"qa" ?ᾂ) ;; U+1F82
+ ("\":qa" ?ᾂ) ;; U+1F82
+ ("\"q:a" ?ᾂ) ;; U+1F82
+ ("Qq\"a" ?ᾃ) ;; U+1F83
+ ("Q\"qa" ?ᾃ) ;; U+1F83
+ ("\"qQa" ?ᾃ) ;; U+1F83
+ ("\"Qqa" ?ᾃ) ;; U+1F83
+ (":;\"a" ?ᾄ) ;; U+1F84
+ (";\":a" ?ᾄ) ;; U+1F84
+ ("\";:a" ?ᾄ) ;; U+1F84
+ (";:\"a" ?ᾄ) ;; U+1F84
+ (":;\"a" ?ᾄ) ;; U+1F84
+ ("Q;\"a" ?ᾅ) ;; U+1F85
+ ("Q\";a" ?ᾅ) ;; U+1F85
+ ("\"Q;a" ?ᾅ) ;; U+1F85
+ ("\";Qa" ?ᾅ) ;; U+1F85
+ (";\"Qa" ?ᾅ) ;; U+1F85
+ (":'\"a" ?ᾆ) ;; U+1F86
+ ("':\"a" ?ᾆ) ;; U+1F86
+ ("'\":a" ?ᾆ) ;; U+1F86
+ ("\"':a" ?ᾆ) ;; U+1F86
+ ("\":'a" ?ᾆ) ;; U+1F86
+ ("Q'\"a" ?ᾇ) ;; U+1F87
+ ("'Q\"a" ?ᾇ) ;; U+1F87
+ ("'\"Qa" ?ᾇ) ;; U+1F87
+ ("\"'Qa" ?ᾇ) ;; U+1F87
+ ("\"Q'a" ?ᾇ) ;; U+1F87
+ ("''a" ?ᾰ) ;; U+1FB0
+ ("'''a" ?ᾱ) ;; U+1FB1
+ ("q\"a" ?ᾲ) ;;U+1FB2
+ ("\"qa" ?ᾲ) ;;U+1FB2
+ ("\"a" ?ᾳ) ;; U+1FB3
+ (";\"a" ?ᾴ) ;; U+1FB4
+ ("'a" ?ᾶ) ;; U+1FB6
+ ("'\"a" ?ᾷ) ;; U+1FB7
+ ("\"'a" ?ᾷ) ;; U+1FB7
+ ;; Beta
+ ("B" ?Β) ;; U+0392
+ ("b" ?β) ;; U+03B2
+ ;; Gamma
+ ("G" ?Γ) ;; U+0393
+ ("g" ?γ) ;; U+03B3
+ ;; Delta
+ ("D" ?Δ) ;; U+0394
+ ("d" ?δ) ;; U+03B4
+ ;; Epsilon
+ ("E" ?Ε) ;; U+0395
+ (":E" ?Ἐ) ;; U+1F18
+ ("QE" ?Ἑ) ;; U+1F19
+ (":qE" ?Ἒ) ;; U+1F1A
+ ("q:E" ?Ἒ) ;; U+1F1A
+ ("QqE" ?Ἓ) ;; U+1F1B
+ ("qQE" ?Ἓ) ;; U+1F1B
+ (":;E" ?Ἔ) ;; U+1F1C
+ (";:E" ?Ἔ) ;; U+1F1C
+ ("Q;E" ?Ἕ) ;; U+1F1D
+ (";QE" ?Ἕ) ;; U+1F1D
+ ("qE" ?Ὲ) ;; U+1FC8
+ (";E" ?Έ) ;; U+1FC9
+ ("e" ?ε) ;; U+03B5
+ ("qe" ?ὲ) ;; U+1F72
+ (";e" ?έ) ;; U+1F73
+ (":e" ?ἐ) ;; U+1F10
+ ("Qe" ?ἑ) ;; U+1F11
+ (":qe" ?ἒ) ;; U+1F12
+ ("q:e" ?ἒ) ;; U+1F12
+ ("Qqe" ?ἓ) ;; U+1F13
+ ("qQe" ?ἓ) ;; U+1F13
+ (":;e" ?ἔ) ;; U+1F14
+ (";:e" ?ἔ) ;; U+1F14
+ ("Q;e" ?ἕ) ;; U+1F15
+ (";Qe" ?ἕ) ;; U+1F15
+ ;; Zeta
+ ("Z" ?Ζ) ;; U+0396
+ ("z" ?ζ) ;; U+03B6
+ ;; Eta
+ ("H" ?Η) ;; U+0397
+ (":H" ?Ἠ) ;; U+1F28
+ ("QH" ?Ἡ) ;; U+1F29
+ (":qH" ?Ἢ) ;; U+1F2A
+ ("q:H" ?Ἢ) ;; U+1F2A
+ ("QqH" ?Ἣ) ;; U+1F2B
+ ("qQH" ?Ἣ) ;; U+1F2B
+ (":;H" ?Ἤ) ;; U+1F2C
+ (";:H" ?Ἤ) ;; U+1F2C
+ ("Q;H" ?Ἥ) ;; U+1F2D
+ (";QH" ?Ἥ) ;; U+1F2D
+ (":'H" ?Ἦ) ;; U+1F2E
+ ("':H" ?Ἦ) ;; U+1F2E
+ ("Q'H" ?Ἧ) ;; U+1F2F
+ ("'QH" ?Ἧ) ;; U+1F2F
+ (":\"H" ?ᾘ) ;; U+1F98
+ ("\":H" ?ᾘ) ;; U+1F98
+ ("Q\"H" ?ᾙ) ;; U+1F99
+ ("\"QH" ?ᾙ) ;; U+1F99
+ (":q\"H" ?ᾚ) ;; U+1F9A
+ (":\"qH" ?ᾚ) ;; U+1F9A
+ ("\":qH" ?ᾚ) ;; U+1F9A
+ ("\"q:H" ?ᾚ) ;; U+1F9A
+ ("q\":H" ?ᾚ) ;; U+1F9A
+ ("Qq\"H" ?ᾛ) ;; U+1F9B
+ ("Q\"qH" ?ᾛ) ;; U+1F9B
+ ("\"QqH" ?ᾛ) ;; U+1F9B
+ ("\"qQH" ?ᾛ) ;; U+1F9B
+ ("q\"QH" ?ᾛ) ;; U+1F9B
+ (":;\"H" ?ᾜ) ;; U+1F9C
+ (":\";H" ?ᾜ) ;; U+1F9C
+ ("\":;H" ?ᾜ) ;; U+1F9C
+ ("\";:H" ?ᾜ) ;; U+1F9C
+ (";\":H" ?ᾜ) ;; U+1F9C
+ ("Q;\"H" ?ᾝ) ;; U+1F9D
+ ("Q\";H" ?ᾝ) ;; U+1F9D
+ ("\"Q;H" ?ᾝ) ;; U+1F9D
+ ("\";QH" ?ᾝ) ;; U+1F9D
+ (";\"QH" ?ᾝ) ;; U+1F9D
+ (":'\"H" ?ᾞ) ;; U+1F9E
+ (":\"'H" ?ᾞ) ;; U+1F9E
+ ("\":'H" ?ᾞ) ;; U+1F9E
+ ("\"':H" ?ᾞ) ;; U+1F9E
+ ("'\":H" ?ᾞ) ;; U+1F9E
+ ("Q'\"H" ?ᾟ) ;; U+1F9F
+ ("Q\"'H" ?ᾟ) ;; U+1F9F
+ ("\"Q'H" ?ᾟ) ;; U+1F9F
+ ("\"'QH" ?ᾟ) ;; U+1F9F
+ ("'\"QH" ?ᾟ) ;; U+1F9F
+ ("qH" ?Ὴ) ;; U+1FCA
+ (";H" ?Ή) ;; U+1FCB
+ ("\"H" ?ῌ) ;; U+1FCC
+ ;;
+ ("h" ?η) ;; U+03B7
+ ("qh" ?ὴ) ;; U+1F74
+ (";h" ?ή) ;; U+1F75
+ (":h" ?ἠ) ;; U+1F20
+ ("Qh" ?ἡ) ;; U+1F21
+ (":qh" ?ἢ) ;; U+1F22
+ ("q:h" ?ἢ) ;; U+1F22
+ ("Qqh" ?ἣ) ;; U+1F23
+ ("qQh" ?ἣ) ;; U+1F23
+ (":;h" ?ἤ) ;; U+1F24
+ (";:h" ?ἤ) ;; U+1F24
+ ("Q;h" ?ἥ) ;; U+1F25
+ (";Qh" ?ἥ) ;; U+1F25
+ (":'h" ?ἦ) ;; U+1F26
+ ("':h" ?ἦ) ;; U+1F26
+ ("Q'h" ?ἧ) ;; U+1F27
+ ("'Qh" ?ἧ) ;; U+1F27
+ (":\"h" ?ᾐ) ;; U+1F90
+ ("\":h" ?ᾐ) ;; U+1F90
+ ("Q\"h" ?ᾑ) ;; U+1F91
+ ("\"Qh" ?ᾑ) ;; U+1F91
+ (":q\"h" ?ᾒ) ;; U+1F92
+ (":\"qh" ?ᾒ) ;; U+1F92
+ ("\":qh" ?ᾒ) ;; U+1F92
+ ("\"q:h" ?ᾒ) ;; U+1F92
+ ("q\":h" ?ᾒ) ;; U+1F92
+ ("Qq\"h" ?ᾓ) ;; U+1F93
+ ("Q\"qh" ?ᾓ) ;; U+1F93
+ ("\"Qqh" ?ᾓ) ;; U+1F93
+ ("\"qQh" ?ᾓ) ;; U+1F93
+ ("q\"Qh" ?ᾓ) ;; U+1F93
+ (":;\"h" ?ᾔ) ;; U+1F94
+ (":\";h" ?ᾔ) ;; U+1F94
+ ("\":;h" ?ᾔ) ;; U+1F94
+ ("\";:h" ?ᾔ) ;; U+1F94
+ (";\":h" ?ᾔ) ;; U+1F94
+ ("Q;\"h" ?ᾕ) ;; U+1F95
+ ("Q\";h" ?ᾕ) ;; U+1F95
+ ("\"Q;h" ?ᾕ) ;; U+1F95
+ ("\";Qh" ?ᾕ) ;; U+1F95
+ (";\"Qh" ?ᾕ) ;; U+1F95
+ (":'\"h" ?ᾖ) ;; U+1F96
+ (":\"'h" ?ᾖ) ;; U+1F96
+ ("\":'h" ?ᾖ) ;; U+1F96
+ ("\"':h" ?ᾖ) ;; U+1F96
+ ("'\":h" ?ᾖ) ;; U+1F96
+ ("Q'\"h" ?ᾗ) ;; U+1F97
+ ("Q\"'h" ?ᾗ) ;; U+1F97
+ ("\"Q'h" ?ᾗ) ;; U+1F97
+ ("\"'Qh" ?ᾗ) ;; U+1F97
+ ("'\"Qh" ?ᾗ) ;; U+1F97
+ ("q\"h" ?ῂ) ;; U+1FC2
+ ("\"qh" ?ῂ) ;; U+1FC2
+ ("\"h" ?ῃ) ;; U+1FC3
+ (";\"h" ?ῄ) ;; U+1FC4
+ ("\";h" ?ῄ) ;; U+1FC4
+ ("'h" ?ῆ) ;; U+1FC6
+ ("\"'h" ?ῇ) ;; U+1FC7
+ ("'\"h" ?ῇ) ;; U+1FC7
+ ;; Theta
+ ("U" ?Θ) ;; U+0398
+ ("u" ?θ) ;; U+03B8
+ ;; Iota
+ ("I" ?Ι) ;; U+0399
+ ("WI" ?Ϊ) ;; U+03AA
+ (":I" ?Ἰ) ;; U+1F38
+ ("QI" ?Ἱ) ;; U+1F39
+ (":qI" ?Ἲ) ;; U+1F3A
+ ("q:I" ?Ἲ) ;; U+1F3A
+ ("QqI" ?Ἳ) ;; U+1F3B
+ ("qQI" ?Ἳ) ;; U+1F3B
+ (":;I" ?Ἴ) ;; U+1F3C
+ (";:I" ?Ἴ) ;; U+1F3C
+ ("Q;I" ?Ἵ) ;; U+1F3D
+ (";QI" ?Ἵ) ;; U+1F3D
+ (":'I" ?Ἶ) ;; U+1F3E
+ ("':I" ?Ἶ) ;; U+1F3E
+ ("Q'I" ?Ἷ) ;; U+1F3F
+ ("''I" ?Ῐ) ;; U+1FD8
+ ("'''I" ?Ῑ) ;; U+1FD9
+ ("qI" ?Ὶ) ;; U+1FDA
+ (";I" ?Ί) ;; U+1FDB
+ ("i" ?ι) ;; U+03B9
+ ("Wi" ?ϊ) ;; U+03CA
+ ("qi" ?ὶ) ;; U+1F76
+ (";i" ?ί) ;; U+1F77
+ (":i" ?ἰ) ;; U+1F30
+ ("Qi" ?ἱ) ;; U+1F31
+ (":qi" ?ἲ) ;; U+1F32
+ ("q:i" ?ἲ) ;; U+1F32
+ ("Qqi" ?ἳ) ;; U+1F33
+ ("qQi" ?ἳ) ;; U+1F33
+ (":;i" ?ἴ) ;; U+1F34
+ (";:i" ?ἴ) ;; U+1F34
+ ("Q;i" ?ἵ) ;; U+1F35
+ (";Qi" ?ἵ) ;; U+1F35
+ (":'i" ?ἶ) ;; U+1F36
+ ("':i" ?ἶ) ;; U+1F36
+ ("Q'i" ?ἷ) ;; U+1F37
+ ("'Qi" ?ἷ) ;; U+1F37
+ ("''i" ?ῐ) ;; U+1FD0
+ ("'''i" ?ῑ) ;; U+1FD1
+ ("Wqi" ?ῒ) ;; U+1FD2
+ ("qWi" ?ῒ) ;; U+1FD2
+ (";Wi" ?ΐ) ;; U+1FD3
+ ("W;i" ?ΐ) ;; U+1FD3
+ ("'i" ?ῖ) ;; U+1FD6
+ ("W'i" ?ῗ) ;; U+1FD7
+ ("'Wi" ?ῗ) ;; U+1FD7
+ ;; Kappa
+ ("K" ?Κ) ;; U+039A
+ ("k" ?κ) ;; U+03BA
+ ;; Lambda
+ ("L" ?Λ) ;; U+039B
+ ("l" ?λ) ;; U+03BB
+ ;; Mu
+ ("M" ?Μ) ;; U+039C
+ ("m" ?μ) ;; U+03BC
+ ;; Nu
+ ("N" ?Ν) ;; U+039D
+ ("n" ?ν) ;; U+03BD
+ ;; Xi
+ ("J" ?Ξ) ;; U+039E
+ ("j" ?ξ) ;; U+03BE
+ ;; Omicron
+ ("O" ?Ο) ;; U+039F
+ (":O" ?Ὀ) ;; U+1F48
+ ("QO" ?Ὁ) ;; U+1F49
+ (":qO" ?Ὂ) ;; U+1F4A
+ ("q:O" ?Ὂ) ;; U+1F4A
+ ("QqO" ?Ὃ) ;; U+1F4B
+ (":;O" ?Ὄ) ;; U+1F4C
+ ("Q;O" ?Ὅ) ;; U+1F4D
+ ("qO" ?Ὸ) ;; U+1FF8
+ (";O" ?Ό) ;; U+1FF9
+ ("o" ?ο) ;; U+03BF
+ ("qo" ?ὸ) ;; U+1F78
+ (";o" ?ό) ;; U+1F79
+ (":o" ?ὀ) ;; U+1F40
+ ("Qo" ?ὁ) ;; U+1F41
+ (":qo" ?ὂ) ;; U+1F42
+ ("q:o" ?ὂ) ;; U+1F42
+ ("Qqo" ?ὃ) ;; U+1F43
+ ("qQo" ?ὃ) ;; U+1F43
+ (":;o" ?ὄ) ;; U+1F44
+ (";:o" ?ὄ) ;; U+1F44
+ ("Q;o" ?ὅ) ;; U+1F45
+ ;; Pi
+ ("P" ?Π) ;; U+03A0
+ ("p" ?π) ;; U+03C0
+ ;; Rho
+ ("R" ?Ρ) ;; U+03A1
+ ("QR" ?Ῥ) ;; U+1FEC
+ ("r" ?ρ) ;; U+03C1
+ (":r" ?ῤ) ;; U+1FE4
+ ("Qr" ?ῥ) ;; U+1FE5
+ ;; Sigma
+ ("S" ?Σ) ;; U+03A3
+ ("s" ?σ) ;; U+03C3
+ ("w" ?ς) ;; U+03C2
+ ;; Tau
+ ("T" ?Τ) ;; U+03A4
+ ("t" ?τ) ;; U+03C4
+ ;; Upsilon
+ ("Y" ?Υ) ;; U+03A5
+ ("WY" ?Ϋ) ;; U+03AB
+ ("QY" ?Ὑ) ;; U+1F59
+ ("QqY" ?Ὓ) ;; U+1F5B
+ ("qQY" ?Ὓ) ;; U+1F5B
+ ("Q;Y" ?Ὕ) ;; U+1F5D
+ (";QY" ?Ὕ) ;; U+1F5D
+ ("Q'Y" ?Ὗ) ;; U+1F5F
+ ("'QY" ?Ὗ) ;; U+1F5F
+ ("y" ?υ) ;; U+03C5
+ ("Wy" ?ϋ) ;; U+03CB
+ ("qy" ?ὺ) ;; U+1F7A
+ (";y" ?ύ) ;; U+1F7B
+ (":y" ?ὐ) ;; U+1F50
+ ("Qy" ?ὑ) ;; U+1F51
+ (":qy" ?ὒ) ;; U+1F52
+ ("q:y" ?ὒ) ;; U+1F52
+ ("Qqy" ?ὓ) ;; U+1F53
+ ("qQy" ?ὓ) ;; U+1F53
+ (":;y" ?ὔ) ;; U+1F54
+ (";:y" ?ὔ) ;; U+1F54
+ ("Q;y" ?ὕ) ;; U+1F55
+ (";Qy" ?ὕ) ;; U+1F55
+ (":'y" ?ὖ) ;; U+1F56
+ ("':y" ?ὖ) ;; U+1F56
+ ("Q'y" ?ὗ) ;; U+1F57
+ ("'Qy" ?ὗ) ;; U+1F57
+ ("''y" ?ῠ) ;; U+1FE0
+ ("'''y" ?ῡ) ;; U+1FE1
+ ("Wqy" ?ῢ) ;; U+1FE2
+ ("qWy" ?ῢ) ;; U+1FE2
+ ("W;y" ?ΰ) ;; U+1FE3
+ (";Wy" ?ΰ) ;; U+1FE3
+ ("'y" ?ῦ) ;; U+1FE6
+ ("W'y" ?ῧ) ;; U+1FE7
+ ("'Wy" ?ῧ) ;; U+1FE7
+ ("''Y" ?Ῠ) ;; U+1FE8
+ ("'''Y" ?Ῡ) ;; U+1FE8
+ ("qY" ?Ὺ) ;; U+1FEA
+ (";Y" ?Ύ) ;; U+1FEB
+ ;; Phi
+ ("F" ?Φ) ;; U+03A6
+ ("f" ?φ) ;; U+03C6
+ ;; Chi
+ ("X" ?Χ) ;; U+03A7
+ ("x" ?χ) ;; U+03C7
+ ;; Chi
+ ("C" ?Ψ) ;; U+03A8
+ ("c" ?ψ) ;; U+03C8
+ ;; Omega
+ ("V" ?Ω) ;; U+03A9
+ (":V" ?Ὠ) ;; U+1F68
+ ("QV" ?Ὡ) ;; U+1F69
+ (":qV" ?Ὢ) ;; U+1F6A
+ ("q:V" ?Ὢ) ;; U+1F6A
+ ("QqV" ?Ὣ) ;; U+1F6B
+ ("qQV" ?Ὣ) ;; U+1F6B
+ (":;V" ?Ὤ) ;; U+1F6C
+ (";:V" ?Ὤ) ;; U+1F6C
+ ("Q;V" ?Ὥ) ;; U+1F6D
+ (";QV" ?Ὥ) ;; U+1F6D
+ (":'V" ?Ὦ) ;; U+1F6E
+ ("':V" ?Ὦ) ;; U+1F6E
+ ("Q'V" ?Ὧ) ;; U+1F6F
+ (":\"V" ?ᾨ) ;; U+1FA8
+ ("\":V" ?ᾨ) ;; U+1FA8
+ ("Q\"V" ?ᾩ) ;; U+1FA9
+ ("\"QV" ?ᾩ) ;; U+1FA9
+
+ (":q\"V" ?ᾪ) ;; U+1FAA
+ (":\"qV" ?ᾪ) ;; U+1FAA
+ ("\":qV" ?ᾪ) ;; U+1FAA
+ ("\"q:V" ?ᾪ) ;; U+1FAA
+ ("q\":V" ?ᾪ) ;; U+1FAA
+ ("q:\"V" ?ᾪ) ;; U+1FAA
+
+ ("Qq\"V" ?ᾫ) ;; U+1FAB
+ ("qQ\"V" ?ᾫ) ;; U+1FAB
+ ("q\"QV" ?ᾫ) ;; U+1FAB
+ ("\"qQV" ?ᾫ) ;; U+1FAB
+ ("\"QqV" ?ᾫ) ;; U+1FAB
+
+ (":\"qV" ?ᾫ) ;; U+1FAB
+ (":;\"V" ?ᾬ) ;; U+1FAC
+ (":\";V" ?ᾬ) ;; U+1FAC
+ ("\":;V" ?ᾬ) ;; U+1FAC
+ ("\";:V" ?ᾬ) ;; U+1FAC
+ (";\":V" ?ᾬ) ;; U+1FAC
+ ("Q;\"V" ?ᾭ) ;; U+1FAD
+ ("Q\";V" ?ᾭ) ;; U+1FAD
+ ("\"Q;V" ?ᾭ) ;; U+1FAD
+ ("\";QV" ?ᾭ) ;; U+1FAD
+ (";\"QV" ?ᾭ) ;; U+1FAD
+ (":'\"V" ?ᾮ) ;; U+1FAE
+ (":\"'V" ?ᾮ) ;; U+1FAE
+ ("\":'V" ?ᾮ) ;; U+1FAE
+ ("\"':V" ?ᾮ) ;; U+1FAE
+ ("'\":V" ?ᾮ) ;; U+1FAE
+
+ ("Q'\"V" ?ᾯ) ;; U+1FAF
+ ("'Q\"V" ?ᾯ) ;; U+1FAF
+ ("Q\"'V" ?ᾯ) ;; U+1FAF
+ ("\"Q'V" ?ᾯ) ;; U+1FAF
+ ("\"'QV" ?ᾯ) ;; U+1FAF
+ ("'\"QV" ?ᾯ) ;; U+1FAF
+
+ ("qV" ?Ὼ) ;; U+1FFA
+ (";V" ?Ώ) ;; U+1FFB
+ ("\"V" ?ῼ) ;; U+1FFC
+ ("v" ?ω) ;; U+03C9
+ ("qv" ?ὼ) ;; U+1F7C
+ (";v" ?ώ) ;; U+1F7D
+ (":v" ?ὠ) ;; U+1F60
+ ("Qv" ?ὡ) ;; U+1F61
+ (":qv" ?ὢ) ;; U+1F62
+ ("q:v" ?ὢ) ;; U+1F62
+ ("Qqv" ?ὣ) ;; U+1F63
+ ("qQv" ?ὣ) ;; U+1F63
+ (":;v" ?ὤ) ;; U+1F64
+ (";:v" ?ὤ) ;; U+1F64
+ ("Q;v" ?ὥ) ;; U+1F65
+ (";Qv" ?ὥ) ;; U+1F65
+ (":'v" ?ὦ) ;; U+1F66
+ ("':v" ?ὦ) ;; U+1F66
+ ("Q'v" ?ὧ) ;; U+1F67
+ ("'Qv" ?ὧ) ;; U+1F67
+ (":\"v" ?ᾠ) ;; U+1FA0
+ ("\":v" ?ᾠ) ;; U+1FA0
+ ("Q\"v" ?ᾡ) ;; U+1FA1
+ ("\"Qv" ?ᾡ) ;; U+1FA1
+ (":q\"v" ?ᾢ) ;; U+1FA2
+ (":\"qv" ?ᾢ) ;; U+1FA2
+ ("\":qv" ?ᾢ) ;; U+1FA2
+ ("\"q:v" ?ᾢ) ;; U+1FA2
+ ("q\":v" ?ᾢ) ;; U+1FA2
+
+ ("Qq\"v" ?ᾣ) ;; U+1FA3
+ ("q\"Qv" ?ᾣ) ;; U+1FA3
+ ("\"qQv" ?ᾣ) ;; U+1FA3
+ ("\"Qqv" ?ᾣ) ;; U+1FA3
+ ("Q\"qv" ?ᾣ) ;; U+1FA3
+
+ (":;\"v" ?ᾤ) ;; U+1FA4
+ (":\";v" ?ᾤ) ;; U+1FA4
+ ("\":;v" ?ᾤ) ;; U+1FA4
+ ("\";:v" ?ᾤ) ;; U+1FA4
+ (";\":v" ?ᾤ) ;; U+1FA4
+ (";:\"v" ?ᾤ) ;; U+1FA4
+
+ ("Q;\"v" ?ᾥ) ;; U+1FA5
+ ("Q\";v" ?ᾥ) ;; U+1FA5
+ ("\"Q;v" ?ᾥ) ;; U+1FA5
+ ("\";Qv" ?ᾥ) ;; U+1FA5
+ (";\"Qv" ?ᾥ) ;; U+1FA5
+ (";Q\"v" ?ᾥ) ;; U+1FA5
+
+ (":'\"v" ?ᾦ) ;; U+1FA6
+ (":\"'v" ?ᾦ) ;; U+1FA6
+ ("\":'v" ?ᾦ) ;; U+1FA6
+ ("\"':v" ?ᾦ) ;; U+1FA6
+ ("'\":v" ?ᾦ) ;; U+1FA6
+ ("':\"v" ?ᾦ) ;; U+1FA6
+
+ ("Q'\"v" ?ᾧ) ;; U+1FA7
+ ("Q\"'v" ?ᾧ) ;; U+1FA7
+ ("\"Q'v" ?ᾧ) ;; U+1FA7
+ ("\"'Qv" ?ᾧ) ;; U+1FA7
+ ("'\"Qv" ?ᾧ) ;; U+1FA7
+ ("'Q\"v" ?ᾧ) ;; U+1FA7
+
+ ("q\"v" ?ῲ) ;; U+1FF2
+ ("\"qv" ?ῲ) ;; U+1FF2
+ ("\"v" ?ῳ) ;; U+1FF3
+ (";\"v" ?ῴ) ;; U+1FF4
+ ("'v" ?ῶ) ;; U+1FF6
+ ("'\"v" ?ῷ) ;; U+1FF7
+ ("\"'v" ?ῷ) ;; U+1FF7
+ ;;; Archaic Letters ;;;
+ ;; Stigma
+ ("ww" ?ϛ) ;; U+03DB Note that capital stigma (U+03DA) is an invalid letter.
+ ;; Digamma
+ ("wF" ?Ϝ) ;; U+03DC
+ ("wf" ?ϝ) ;; U+03DD
+ ;; Koppa
+ ("wK" ?Ϟ) ;; U+03DE
+ ("wk" ?ϟ) ;; U+03DF
+ ;; Sampi
+ ("wP" ?Ϡ) ;; U+03E0
+ ("wp" ?ϡ) ;; U+03E1
+ ;; Koppa
+ ("wO" ?Ϙ) ;; U+03D8
+ ("wo" ?ϙ) ;; U+03D9
+ )
+
+
 ;;; greek.el ends here
-- 
2.46.0


[-- Attachment #1.3: Type: text/plain, Size: 48 bytes --]


-- 
Thanos Apollo
https://thanosapollo.org

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

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-20 12:46 bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-10-20 13:13 ` Eli Zaretskii
  2024-10-20 13:21   ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-10-20 18:07 ` Visuwesh
  1 sibling, 1 reply; 19+ messages in thread
From: Eli Zaretskii @ 2024-10-20 13:13 UTC (permalink / raw)
  To: Thanos Apollo; +Cc: 73909

> Date: Sun, 20 Oct 2024 15:46:55 +0300
> From:  Thanos Apollo via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> 
> Attaching a patch that adds a new Greek Input method with support for
> Greek polytonic & archaic letters, greek-polytonic.

Thanks!

Did you start already your legal paperwork of assigning to the FSF the
copyright for your changes?  If not, would you like to start that now?





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-20 13:13 ` Eli Zaretskii
@ 2024-10-20 13:21   ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-10-20 13:54     ` Eli Zaretskii
  0 siblings, 1 reply; 19+ messages in thread
From: Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-10-20 13:21 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 73909

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

Eli Zaretskii <eliz@gnu.org> writes:


[...]
>
> Did you start already your legal paperwork of assigning to the FSF the
> copyright for your changes?  If not, would you like to start that now?

I have completed the legal paperwork, received the PDF which I have
signed and sent back.  If there is anything further required, please let
me know & I will be happy to provide it.


Thank you Eli,

-- 
Thanos Apollo
https://thanosapollo.org

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

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-20 13:21   ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-10-20 13:54     ` Eli Zaretskii
  0 siblings, 0 replies; 19+ messages in thread
From: Eli Zaretskii @ 2024-10-20 13:54 UTC (permalink / raw)
  To: Thanos Apollo; +Cc: 73909

> From: Thanos Apollo <public@thanosapollo.org>
> Cc: 73909@debbugs.gnu.org
> Date: Sun, 20 Oct 2024 16:21:36 +0300
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> 
> [...]
> >
> > Did you start already your legal paperwork of assigning to the FSF the
> > copyright for your changes?  If not, would you like to start that now?
> 
> I have completed the legal paperwork, received the PDF which I have
> signed and sent back.  If there is anything further required, please let
> me know & I will be happy to provide it.

OK, then we should wait for the paperwork to be completed, which is
when you get the counter-signed assignment from the FSF.  Then we can
install your changes.






^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-20 12:46 bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-10-20 13:13 ` Eli Zaretskii
@ 2024-10-20 18:07 ` Visuwesh
  2024-10-20 18:10   ` Visuwesh
  2024-10-20 19:35   ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 2 replies; 19+ messages in thread
From: Visuwesh @ 2024-10-20 18:07 UTC (permalink / raw)
  To: Thanos Apollo; +Cc: 73909

[ஞாயிறு அக்டோபர் 20, 2024] Thanos Apollo via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote:


> Tags: patch
>
>
> Attaching a patch that adds a new Greek Input method with support for
> Greek polytonic & archaic letters, greek-polytonic.
>
> [...]
>  
> +(quail-define-package
> + "greek-polytonic" "Greek" "ῶ" t
> + "Greek input method, with support for polytonic & archaic Greek letters.
> +
> ++----------------------------------------------------------------------+
> +  | :· | 1! | 2@ | 3# | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | -_ | =+ |
> + +-----------------------------------------------------------------+
> +   | `῾ | ς¨ | εΕ | ρΡ | τΤ | υΥ | | ιΙ | οΟ | πΠ | [{ | ]} | |\ |
> +   +------------------------------------------------------------+
> +      | αA| σΣ | δΔ |φΦ | γΓ | ηΗ  | ξΞ | κΚ | λΛ | ΄᾿ | ῀ι |
> +     +-------------------------------------------------------+
> +         | ζΖ | χΧ | ψΨ | ωΩ | βΒ | νΝ | μΜ | ,< |.> | /; |
> +        +--------------------------------------------------+
> +"
> + nil t nil nil nil nil nil nil nil nil t)

I cannot read Greek nor do I know the layout but I have two questions
that you want to address:

1. If this is a keyboard layout like QWERTY, Dvorak and friends, you
   want KBD-TRANSLATE non-nil otherwise Dvorak users cannot type σ by
   typing 'o' in their keyboard.

2. What about setting SHOW-LAYOUT non-nil instead of writing the ASCII
   table yourself?





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-20 18:07 ` Visuwesh
@ 2024-10-20 18:10   ` Visuwesh
  2024-10-20 19:35   ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 19+ messages in thread
From: Visuwesh @ 2024-10-20 18:10 UTC (permalink / raw)
  To: Thanos Apollo; +Cc: 73909

[ஞாயிறு அக்டோபர் 20, 2024] Visuwesh wrote:

> [ஞாயிறு அக்டோபர் 20, 2024] Thanos Apollo via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote:
>
>
>> Tags: patch
>>
>>
>> Attaching a patch that adds a new Greek Input method with support for
>> Greek polytonic & archaic letters, greek-polytonic.
>>
>> [...]
>>  
>> +(quail-define-package
>> + "greek-polytonic" "Greek" "ῶ" t
>> + "Greek input method, with support for polytonic & archaic Greek letters.
>> +
>> ++----------------------------------------------------------------------+
>> +  | :· | 1! | 2@ | 3# | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | -_ | =+ |
>> + +-----------------------------------------------------------------+
>> +   | `῾ | ς¨ | εΕ | ρΡ | τΤ | υΥ | | ιΙ | οΟ | πΠ | [{ | ]} | |\ |
>> +   +------------------------------------------------------------+
>> +      | αA| σΣ | δΔ |φΦ | γΓ | ηΗ  | ξΞ | κΚ | λΛ | ΄᾿ | ῀ι |
>> +     +-------------------------------------------------------+
>> +         | ζΖ | χΧ | ψΨ | ωΩ | βΒ | νΝ | μΜ | ,< |.> | /; |
>> +        +--------------------------------------------------+
>> +"
>> + nil t nil nil nil nil nil nil nil nil t)
>
> I cannot read Greek nor do I know the layout but I have two questions
> that you want to address:
       ^^^^^^^^
I meant: you may want to.  It is getting late here...


> 1. If this is a keyboard layout like QWERTY, Dvorak and friends, you
>    want KBD-TRANSLATE non-nil otherwise Dvorak users cannot type σ by
>    typing 'o' in their keyboard.
>
> 2. What about setting SHOW-LAYOUT non-nil instead of writing the ASCII
>    table yourself?





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-20 18:07 ` Visuwesh
  2024-10-20 18:10   ` Visuwesh
@ 2024-10-20 19:35   ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-10-21 10:45     ` Robert Pluim
  1 sibling, 1 reply; 19+ messages in thread
From: Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-10-20 19:35 UTC (permalink / raw)
  To: Visuwesh; +Cc: 73909


[-- Attachment #1.1: Type: text/plain, Size: 624 bytes --]

Visuwesh <visuweshm@gmail.com> writes:


[...]
> 1. If this is a keyboard layout like QWERTY, Dvorak and friends, you
>    want KBD-TRANSLATE non-nil otherwise Dvorak users cannot type σ by
>    typing 'o' in their keyboard.
>

Nice catch, thanks!

> 2. What about setting SHOW-LAYOUT non-nil instead of writing the ASCII
>    table yourself?

True

Attaching a new patch version for adding greek-polytonic.

- Enabled translation-keys, deterministic, kbd-translate & show-layout.
- Removed ASCII table

Git patches is not my area of expertise, if I've done anything wrong
feel free to correct me.


[-- Attachment #1.2: 0001-quail-greek.el-Add-greek-polytonic.patch --]
[-- Type: text/x-patch, Size: 17799 bytes --]

From a02f6d8d40038ce8b69a14934d9c5000aa841642 Mon Sep 17 00:00:00 2001
From: Thanos Apollo <public@thanosapollo.org>
Date: Sun, 20 Oct 2024 15:36:04 +0300
Subject: [PATCH] quail/greek.el: Add greek-polytonic.

* Greek input method with support for the polytonic system & archaic letters.
---
 lisp/leim/quail/greek.el | 712 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 712 insertions(+)

diff --git a/lisp/leim/quail/greek.el b/lisp/leim/quail/greek.el
index 138abd2cb62..ddefbc5a867 100644
--- a/lisp/leim/quail/greek.el
+++ b/lisp/leim/quail/greek.el
@@ -1431,4 +1431,716 @@ "greek-ibycus4"
  (">>" ?»))
 
 
+(quail-define-package
+ "greek-polytonic" "Greek" "ῶ" t
+ "Greek input method, with support for polytonic & archaic Greek letters."
+ nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("1" ?1)
+ ("2" ?2)
+ ("3" ?3)
+ ("4" ?4)
+ ("5" ?5)
+ ("6" ?6)
+ ("7" ?7)
+ ("8" ?8)
+ ("9" ?9)
+ ("0" ?0)
+ ("-" ?-)
+ ("=" ?=)
+ ("[" ?\[)
+ ("]" ?\])
+ ;; Changed punction from greek.el
+ ("`" ?·)
+ ("~" ?:)
+ ;; tonoi
+ (";" ?΄) ;; U+1FFD (oxia)
+ ("q" ?`) ;; U+1FEF (varia)
+ ("'" ?῀) ;; U+1FC0 (perispomeni)
+ ("\"" ?ι) ;; U+1FBE (ypogegrammeni)
+ ;; pneumata
+ (":" ?᾿) ;; U+1FBF (psili)
+ ("Q" ?῾) ;; U+1FFE (dasia)
+ ("W" ?¨) ;; U+00A8 (dialytika)
+ ;; apostrophe combinations
+ ("; " ["’ "]) ;; U+2019 (apostrophe)
+ (";g" ["’γ"])
+ (";d" ["’δ"])
+ (";z" ["’ζ"])
+ (";u" ["’θ"])
+ (";k" ["’κ"])
+ (";l" ["’λ"])
+ (";m" ["’μ"])
+ (";n" ["’ν"])
+ (";j" ["’ξ"])
+ (";p" ["’π"])
+ (";ρ" ["’r"])
+ (";s" ["’σ"])
+ (";t" ["’τ"])
+ (";f" ["’φ"])
+ (";x" ["’χ"])
+ (";c" ["’ψ"])
+ ;;
+ (";G" ["’Γ"])
+ (";D" ["’Δ"])
+ (";Z" ["’Ζ"])
+ (";U" ["’Θ"])
+ (";K" ["’Κ"])
+ (";L" ["’Λ"])
+ (";M" ["’Μ"])
+ (";N" ["’Ν"])
+ (";J" ["’Ξ"])
+ (";P" ["’Π"])
+ (";Ρ" ["’R"])
+ (";S" ["’Σ"])
+ (";T" ["’Τ"])
+ (";F" ["’Φ"])
+ (";X" ["’Χ"])
+ (";C" ["’Ψ"])
+ ;; Combinations
+ ("W;" ?΅) ;; U+1FEE
+ (";W" ?΅) ;; U+1FEE
+ ("Wq" ?῭) ;; U+1FED
+ ("qW" ?῭) ;; U+1FED
+ (":;" ?῎) ;; U+1FCE
+ (";:" ?῎) ;; U+1FCE
+ ("qQ" ?῝) ;; U+1FDD
+ ("Qq" ?῝) ;; U+1FDD
+ ("q:" ?῍) ;; U+1FCD
+ (":q" ?῍) ;; U+1FCD
+ ("Q;" ?῞) ;; U+1FDE
+ (";Q" ?῞) ;; U+1FDE
+ ("':" ?῏) ;; U+1FCF
+ (":'" ?῏) ;; U+1FCF
+ ("'Q" ?῟) ;; U+1FDF
+ ("Q'" ?῟) ;; U+1FDF
+ ("'W" ?῁) ;; U+1FC1
+ ("W'" ?῁) ;; U+1FC1
+ ;; perispomeni combinations, used for vrachy and macron
+ ("''" ["῀῀"])
+ ("'''" ["῀῀῀"])
+ ;; ypogegrammeni combinations
+ ("\"'" ["῀ι"])
+ ("'\"" ["῀ι"])
+ ("\";" ["΄ι"])
+ (";\"" ["ι΄"])
+ ("\":" ["ι᾿"])
+ (":\"" ["ι᾿"])
+ ("\"q" ["ι`"])
+ ("q\"" ["ι`"])
+ ("\"Q" ["ι῾"])
+ ("Q\"" ["ι῾"])
+ ("Q\"'" ["ι῟"])
+ ("\"Q'" ["ι῟"])
+
+ ("Q'\"" ["ι῟"])
+ ("'Q\"" ["ι῟"])
+ (":q\"" ["῍ι"])
+ ("q:\"" ["῍ι"])
+ ("\"q:" ["῍ι"])
+ ("\":q" ["῍ι"])
+
+ (":;\"" ["῎ι"])
+ (";:\"" ["῎ι"])
+ ("\";:" ["῎ι"])
+ ("\":;" ["῎ι"])
+ ("Qq\"" ["῝ι"])
+ ("qQ\"" ["῝ι"])
+ ("\"Qq" ["῝ι"])
+ ("\"qQ" ["῝ι"])
+
+ ("Q;\"" ["῞ι"])
+ (";Q\"" ["῞ι"])
+ ("\";Q" ["῞ι"])
+ ("\"Q;" ["῞ι"])
+
+ (":'\"" ["῏ι"])
+ ("':\"" ["῏ι"])
+ ("\"':" ["῏ι"])
+ ("\":'" ["῏ι"])
+ ;; Misc characters
+ ("~" ?:)
+ ("``" "~")
+ ("QQ" ["“ ”"])
+ ;;
+ ("W" ?¨)
+ ("," ?,)
+ ("." ?.)
+ ("/" ?/)
+ ("!" ?!)
+ ("@" ?@)
+ ("#" ?#)
+ ("$" ?$)
+ ("%" ?%)
+ ("^" ?^)
+ ("&" ?&)
+ ("*" ?*)
+ ("(" ?\()
+ (")" ?\))
+ ("_" ?_)
+ ("+" ?+)
+ ("{" ?{)
+ ("}" ?})
+ (";;" "\"")
+ ("<" ?<)
+ (">" ?>)
+ ("?" ?;) ;; U+037E (Greek Question Mark)
+ (">>" ?») ;; U+00BB
+ ("<<" ?«) ;; U+00AB
+ ;; Alpha
+ ("A" ?Α)  ;; U+0391
+ (":A" ?Ἀ) ;; U+1F08
+ ("QA" ?Ἁ) ;; U+1F09
+ (":qA" ?Ἂ) ;; U+1F0A
+ ("q:A" ?Ἂ) ;; U+1F0A
+ ("qQA" ?Ἃ) ;; U+1F0B
+ ("QqA" ?Ἃ) ;; U+1F0B
+ (":;A" ?Ἄ) ;; U+1F0C
+ ("Q;A" ?Ἅ) ;; U+1F0D
+ (";QA" ?Ἅ) ;; U+1F0D
+ (":'A" ?Ἆ) ;; U+1F0E
+ ("':A" ?Ἆ) ;; U+1F0E
+ ("Q'A" ?Ἇ) ;; U+1F0F
+ ("'QA" ?Ἇ) ;; U+1F0F
+ (":\"A" ?ᾈ) ;; U+1F88
+ ("Q\"A" ?ᾉ) ;; U+1F89
+ (":q\"A" ?ᾊ) ;; U+1F8A
+ ("q:\"A" ?ᾊ) ;; U+1F8A
+ ("q\":A" ?ᾊ) ;; U+1F8A
+ ("\"q:A" ?ᾊ) ;; U+1F8A
+ ("Qq\"A" ?ᾋ) ;; U+1F8B
+ ("qQ\"A" ?ᾋ) ;; U+1F8B
+ ("q\"QA" ?ᾋ) ;; U+1F8B
+ ("\"qQA" ?ᾋ) ;; U+1F8B
+ (":;\"A" ?ᾌ) ;; U+1F8C
+ (";:\"A" ?ᾌ) ;; U+1F8C
+ (";\":A" ?ᾌ) ;; U+1F8C
+ ("\";:A" ?ᾌ) ;; U+1F8C
+ ("Q;\"A" ?ᾍ) ;; U+1F8D
+ ("Q\";A" ?ᾍ) ;; U+1F8D
+ ("\"Q;A" ?ᾍ) ;; U+1F8D
+ ("\";QA" ?ᾍ) ;; U+1F8D
+ (":'\"A" ?ᾎ) ;; U+1F8E
+ (":\"'A" ?ᾎ) ;; U+1F8E
+ ("\":'A" ?ᾎ) ;; U+1F8E
+ ("\"':A" ?ᾎ) ;; U+1F8E
+ ("Q'\"A" ?ᾏ) ;; U+1F8F
+ ("'Q\"A" ?ᾏ) ;; U+1F8F
+ ("'\"QA" ?ᾏ) ;; U+1F8F
+ ("\"'QA" ?ᾏ) ;; U+1F8F
+ ("''A" ?Ᾰ) ;; U+1FB8
+ ("'''A" ?Ᾱ) ;; U+1FB9
+ ("qA" ?Ὰ) ;; U+1FBA
+ (";A" ?Ά) ;; U+1FBB
+ ("\"A" ?ᾼ) ;; U+1FBC
+ ("a" ?α) ;; U+03B1
+ (":a" ?ἀ) ;; U+1F00
+ ("Qa" ?ἁ) ;; U+1F01
+ (":qa" ?ἂ) ;; U+1F02
+ ("q:a" ?ἂ) ;; U+1F02
+ ("Qqa" ?ἃ) ;; U+1F03
+ ("qQa" ?ἃ) ;; U+1F03
+ (":;a" ?ἄ) ;; U+1F04
+ (";:a" ?ἄ) ;; U+1F04
+ ("Q;a" ?ἅ) ;; U+1F05
+ (";Qa" ?ἅ) ;; U+1F05
+ (":'a" ?ἆ) ;; U+1F06
+ ("':a" ?ἆ) ;; U+1F06
+ ("Q'a" ?ἇ) ;; U+1F07
+ ("'Qa" ?ἇ) ;; U+1F07
+ ("qa" ?ὰ) ;; U+1F70
+ (";a" ?ά) ;; U+1F71
+ (":\"a" ?ᾀ) ;; U+1F80
+ ("\":a" ?ᾀ) ;; U+1F80
+ ("Q\"a" ?ᾁ) ;; U+1F81
+ (":q\"a" ?ᾂ) ;; U+1F82
+ (":\"qa" ?ᾂ) ;; U+1F82
+ ("\":qa" ?ᾂ) ;; U+1F82
+ ("\"q:a" ?ᾂ) ;; U+1F82
+ ("Qq\"a" ?ᾃ) ;; U+1F83
+ ("Q\"qa" ?ᾃ) ;; U+1F83
+ ("\"qQa" ?ᾃ) ;; U+1F83
+ ("\"Qqa" ?ᾃ) ;; U+1F83
+ (":;\"a" ?ᾄ) ;; U+1F84
+ (";\":a" ?ᾄ) ;; U+1F84
+ ("\";:a" ?ᾄ) ;; U+1F84
+ (";:\"a" ?ᾄ) ;; U+1F84
+ (":;\"a" ?ᾄ) ;; U+1F84
+ ("Q;\"a" ?ᾅ) ;; U+1F85
+ ("Q\";a" ?ᾅ) ;; U+1F85
+ ("\"Q;a" ?ᾅ) ;; U+1F85
+ ("\";Qa" ?ᾅ) ;; U+1F85
+ (";\"Qa" ?ᾅ) ;; U+1F85
+ (":'\"a" ?ᾆ) ;; U+1F86
+ ("':\"a" ?ᾆ) ;; U+1F86
+ ("'\":a" ?ᾆ) ;; U+1F86
+ ("\"':a" ?ᾆ) ;; U+1F86
+ ("\":'a" ?ᾆ) ;; U+1F86
+ ("Q'\"a" ?ᾇ) ;; U+1F87
+ ("'Q\"a" ?ᾇ) ;; U+1F87
+ ("'\"Qa" ?ᾇ) ;; U+1F87
+ ("\"'Qa" ?ᾇ) ;; U+1F87
+ ("\"Q'a" ?ᾇ) ;; U+1F87
+ ("''a" ?ᾰ) ;; U+1FB0
+ ("'''a" ?ᾱ) ;; U+1FB1
+ ("q\"a" ?ᾲ) ;;U+1FB2
+ ("\"qa" ?ᾲ) ;;U+1FB2
+ ("\"a" ?ᾳ) ;; U+1FB3
+ (";\"a" ?ᾴ) ;; U+1FB4
+ ("'a" ?ᾶ) ;; U+1FB6
+ ("'\"a" ?ᾷ) ;; U+1FB7
+ ("\"'a" ?ᾷ) ;; U+1FB7
+ ;; Beta
+ ("B" ?Β) ;; U+0392
+ ("b" ?β) ;; U+03B2
+ ;; Gamma
+ ("G" ?Γ) ;; U+0393
+ ("g" ?γ) ;; U+03B3
+ ;; Delta
+ ("D" ?Δ) ;; U+0394
+ ("d" ?δ) ;; U+03B4
+ ;; Epsilon
+ ("E" ?Ε) ;; U+0395
+ (":E" ?Ἐ) ;; U+1F18
+ ("QE" ?Ἑ) ;; U+1F19
+ (":qE" ?Ἒ) ;; U+1F1A
+ ("q:E" ?Ἒ) ;; U+1F1A
+ ("QqE" ?Ἓ) ;; U+1F1B
+ ("qQE" ?Ἓ) ;; U+1F1B
+ (":;E" ?Ἔ) ;; U+1F1C
+ (";:E" ?Ἔ) ;; U+1F1C
+ ("Q;E" ?Ἕ) ;; U+1F1D
+ (";QE" ?Ἕ) ;; U+1F1D
+ ("qE" ?Ὲ) ;; U+1FC8
+ (";E" ?Έ) ;; U+1FC9
+ ("e" ?ε) ;; U+03B5
+ ("qe" ?ὲ) ;; U+1F72
+ (";e" ?έ) ;; U+1F73
+ (":e" ?ἐ) ;; U+1F10
+ ("Qe" ?ἑ) ;; U+1F11
+ (":qe" ?ἒ) ;; U+1F12
+ ("q:e" ?ἒ) ;; U+1F12
+ ("Qqe" ?ἓ) ;; U+1F13
+ ("qQe" ?ἓ) ;; U+1F13
+ (":;e" ?ἔ) ;; U+1F14
+ (";:e" ?ἔ) ;; U+1F14
+ ("Q;e" ?ἕ) ;; U+1F15
+ (";Qe" ?ἕ) ;; U+1F15
+ ;; Zeta
+ ("Z" ?Ζ) ;; U+0396
+ ("z" ?ζ) ;; U+03B6
+ ;; Eta
+ ("H" ?Η) ;; U+0397
+ (":H" ?Ἠ) ;; U+1F28
+ ("QH" ?Ἡ) ;; U+1F29
+ (":qH" ?Ἢ) ;; U+1F2A
+ ("q:H" ?Ἢ) ;; U+1F2A
+ ("QqH" ?Ἣ) ;; U+1F2B
+ ("qQH" ?Ἣ) ;; U+1F2B
+ (":;H" ?Ἤ) ;; U+1F2C
+ (";:H" ?Ἤ) ;; U+1F2C
+ ("Q;H" ?Ἥ) ;; U+1F2D
+ (";QH" ?Ἥ) ;; U+1F2D
+ (":'H" ?Ἦ) ;; U+1F2E
+ ("':H" ?Ἦ) ;; U+1F2E
+ ("Q'H" ?Ἧ) ;; U+1F2F
+ ("'QH" ?Ἧ) ;; U+1F2F
+ (":\"H" ?ᾘ) ;; U+1F98
+ ("\":H" ?ᾘ) ;; U+1F98
+ ("Q\"H" ?ᾙ) ;; U+1F99
+ ("\"QH" ?ᾙ) ;; U+1F99
+ (":q\"H" ?ᾚ) ;; U+1F9A
+ (":\"qH" ?ᾚ) ;; U+1F9A
+ ("\":qH" ?ᾚ) ;; U+1F9A
+ ("\"q:H" ?ᾚ) ;; U+1F9A
+ ("q\":H" ?ᾚ) ;; U+1F9A
+ ("Qq\"H" ?ᾛ) ;; U+1F9B
+ ("Q\"qH" ?ᾛ) ;; U+1F9B
+ ("\"QqH" ?ᾛ) ;; U+1F9B
+ ("\"qQH" ?ᾛ) ;; U+1F9B
+ ("q\"QH" ?ᾛ) ;; U+1F9B
+ (":;\"H" ?ᾜ) ;; U+1F9C
+ (":\";H" ?ᾜ) ;; U+1F9C
+ ("\":;H" ?ᾜ) ;; U+1F9C
+ ("\";:H" ?ᾜ) ;; U+1F9C
+ (";\":H" ?ᾜ) ;; U+1F9C
+ ("Q;\"H" ?ᾝ) ;; U+1F9D
+ ("Q\";H" ?ᾝ) ;; U+1F9D
+ ("\"Q;H" ?ᾝ) ;; U+1F9D
+ ("\";QH" ?ᾝ) ;; U+1F9D
+ (";\"QH" ?ᾝ) ;; U+1F9D
+ (":'\"H" ?ᾞ) ;; U+1F9E
+ (":\"'H" ?ᾞ) ;; U+1F9E
+ ("\":'H" ?ᾞ) ;; U+1F9E
+ ("\"':H" ?ᾞ) ;; U+1F9E
+ ("'\":H" ?ᾞ) ;; U+1F9E
+ ("Q'\"H" ?ᾟ) ;; U+1F9F
+ ("Q\"'H" ?ᾟ) ;; U+1F9F
+ ("\"Q'H" ?ᾟ) ;; U+1F9F
+ ("\"'QH" ?ᾟ) ;; U+1F9F
+ ("'\"QH" ?ᾟ) ;; U+1F9F
+ ("qH" ?Ὴ) ;; U+1FCA
+ (";H" ?Ή) ;; U+1FCB
+ ("\"H" ?ῌ) ;; U+1FCC
+ ;;
+ ("h" ?η) ;; U+03B7
+ ("qh" ?ὴ) ;; U+1F74
+ (";h" ?ή) ;; U+1F75
+ (":h" ?ἠ) ;; U+1F20
+ ("Qh" ?ἡ) ;; U+1F21
+ (":qh" ?ἢ) ;; U+1F22
+ ("q:h" ?ἢ) ;; U+1F22
+ ("Qqh" ?ἣ) ;; U+1F23
+ ("qQh" ?ἣ) ;; U+1F23
+ (":;h" ?ἤ) ;; U+1F24
+ (";:h" ?ἤ) ;; U+1F24
+ ("Q;h" ?ἥ) ;; U+1F25
+ (";Qh" ?ἥ) ;; U+1F25
+ (":'h" ?ἦ) ;; U+1F26
+ ("':h" ?ἦ) ;; U+1F26
+ ("Q'h" ?ἧ) ;; U+1F27
+ ("'Qh" ?ἧ) ;; U+1F27
+ (":\"h" ?ᾐ) ;; U+1F90
+ ("\":h" ?ᾐ) ;; U+1F90
+ ("Q\"h" ?ᾑ) ;; U+1F91
+ ("\"Qh" ?ᾑ) ;; U+1F91
+ (":q\"h" ?ᾒ) ;; U+1F92
+ (":\"qh" ?ᾒ) ;; U+1F92
+ ("\":qh" ?ᾒ) ;; U+1F92
+ ("\"q:h" ?ᾒ) ;; U+1F92
+ ("q\":h" ?ᾒ) ;; U+1F92
+ ("Qq\"h" ?ᾓ) ;; U+1F93
+ ("Q\"qh" ?ᾓ) ;; U+1F93
+ ("\"Qqh" ?ᾓ) ;; U+1F93
+ ("\"qQh" ?ᾓ) ;; U+1F93
+ ("q\"Qh" ?ᾓ) ;; U+1F93
+ (":;\"h" ?ᾔ) ;; U+1F94
+ (":\";h" ?ᾔ) ;; U+1F94
+ ("\":;h" ?ᾔ) ;; U+1F94
+ ("\";:h" ?ᾔ) ;; U+1F94
+ (";\":h" ?ᾔ) ;; U+1F94
+ ("Q;\"h" ?ᾕ) ;; U+1F95
+ ("Q\";h" ?ᾕ) ;; U+1F95
+ ("\"Q;h" ?ᾕ) ;; U+1F95
+ ("\";Qh" ?ᾕ) ;; U+1F95
+ (";\"Qh" ?ᾕ) ;; U+1F95
+ (":'\"h" ?ᾖ) ;; U+1F96
+ (":\"'h" ?ᾖ) ;; U+1F96
+ ("\":'h" ?ᾖ) ;; U+1F96
+ ("\"':h" ?ᾖ) ;; U+1F96
+ ("'\":h" ?ᾖ) ;; U+1F96
+ ("Q'\"h" ?ᾗ) ;; U+1F97
+ ("Q\"'h" ?ᾗ) ;; U+1F97
+ ("\"Q'h" ?ᾗ) ;; U+1F97
+ ("\"'Qh" ?ᾗ) ;; U+1F97
+ ("'\"Qh" ?ᾗ) ;; U+1F97
+ ("q\"h" ?ῂ) ;; U+1FC2
+ ("\"qh" ?ῂ) ;; U+1FC2
+ ("\"h" ?ῃ) ;; U+1FC3
+ (";\"h" ?ῄ) ;; U+1FC4
+ ("\";h" ?ῄ) ;; U+1FC4
+ ("'h" ?ῆ) ;; U+1FC6
+ ("\"'h" ?ῇ) ;; U+1FC7
+ ("'\"h" ?ῇ) ;; U+1FC7
+ ;; Theta
+ ("U" ?Θ) ;; U+0398
+ ("u" ?θ) ;; U+03B8
+ ;; Iota
+ ("I" ?Ι) ;; U+0399
+ ("WI" ?Ϊ) ;; U+03AA
+ (":I" ?Ἰ) ;; U+1F38
+ ("QI" ?Ἱ) ;; U+1F39
+ (":qI" ?Ἲ) ;; U+1F3A
+ ("q:I" ?Ἲ) ;; U+1F3A
+ ("QqI" ?Ἳ) ;; U+1F3B
+ ("qQI" ?Ἳ) ;; U+1F3B
+ (":;I" ?Ἴ) ;; U+1F3C
+ (";:I" ?Ἴ) ;; U+1F3C
+ ("Q;I" ?Ἵ) ;; U+1F3D
+ (";QI" ?Ἵ) ;; U+1F3D
+ (":'I" ?Ἶ) ;; U+1F3E
+ ("':I" ?Ἶ) ;; U+1F3E
+ ("Q'I" ?Ἷ) ;; U+1F3F
+ ("''I" ?Ῐ) ;; U+1FD8
+ ("'''I" ?Ῑ) ;; U+1FD9
+ ("qI" ?Ὶ) ;; U+1FDA
+ (";I" ?Ί) ;; U+1FDB
+ ("i" ?ι) ;; U+03B9
+ ("Wi" ?ϊ) ;; U+03CA
+ ("qi" ?ὶ) ;; U+1F76
+ (";i" ?ί) ;; U+1F77
+ (":i" ?ἰ) ;; U+1F30
+ ("Qi" ?ἱ) ;; U+1F31
+ (":qi" ?ἲ) ;; U+1F32
+ ("q:i" ?ἲ) ;; U+1F32
+ ("Qqi" ?ἳ) ;; U+1F33
+ ("qQi" ?ἳ) ;; U+1F33
+ (":;i" ?ἴ) ;; U+1F34
+ (";:i" ?ἴ) ;; U+1F34
+ ("Q;i" ?ἵ) ;; U+1F35
+ (";Qi" ?ἵ) ;; U+1F35
+ (":'i" ?ἶ) ;; U+1F36
+ ("':i" ?ἶ) ;; U+1F36
+ ("Q'i" ?ἷ) ;; U+1F37
+ ("'Qi" ?ἷ) ;; U+1F37
+ ("''i" ?ῐ) ;; U+1FD0
+ ("'''i" ?ῑ) ;; U+1FD1
+ ("Wqi" ?ῒ) ;; U+1FD2
+ ("qWi" ?ῒ) ;; U+1FD2
+ (";Wi" ?ΐ) ;; U+1FD3
+ ("W;i" ?ΐ) ;; U+1FD3
+ ("'i" ?ῖ) ;; U+1FD6
+ ("W'i" ?ῗ) ;; U+1FD7
+ ("'Wi" ?ῗ) ;; U+1FD7
+ ;; Kappa
+ ("K" ?Κ) ;; U+039A
+ ("k" ?κ) ;; U+03BA
+ ;; Lambda
+ ("L" ?Λ) ;; U+039B
+ ("l" ?λ) ;; U+03BB
+ ;; Mu
+ ("M" ?Μ) ;; U+039C
+ ("m" ?μ) ;; U+03BC
+ ;; Nu
+ ("N" ?Ν) ;; U+039D
+ ("n" ?ν) ;; U+03BD
+ ;; Xi
+ ("J" ?Ξ) ;; U+039E
+ ("j" ?ξ) ;; U+03BE
+ ;; Omicron
+ ("O" ?Ο) ;; U+039F
+ (":O" ?Ὀ) ;; U+1F48
+ ("QO" ?Ὁ) ;; U+1F49
+ (":qO" ?Ὂ) ;; U+1F4A
+ ("q:O" ?Ὂ) ;; U+1F4A
+ ("QqO" ?Ὃ) ;; U+1F4B
+ (":;O" ?Ὄ) ;; U+1F4C
+ ("Q;O" ?Ὅ) ;; U+1F4D
+ ("qO" ?Ὸ) ;; U+1FF8
+ (";O" ?Ό) ;; U+1FF9
+ ("o" ?ο) ;; U+03BF
+ ("qo" ?ὸ) ;; U+1F78
+ (";o" ?ό) ;; U+1F79
+ (":o" ?ὀ) ;; U+1F40
+ ("Qo" ?ὁ) ;; U+1F41
+ (":qo" ?ὂ) ;; U+1F42
+ ("q:o" ?ὂ) ;; U+1F42
+ ("Qqo" ?ὃ) ;; U+1F43
+ ("qQo" ?ὃ) ;; U+1F43
+ (":;o" ?ὄ) ;; U+1F44
+ (";:o" ?ὄ) ;; U+1F44
+ ("Q;o" ?ὅ) ;; U+1F45
+ ;; Pi
+ ("P" ?Π) ;; U+03A0
+ ("p" ?π) ;; U+03C0
+ ;; Rho
+ ("R" ?Ρ) ;; U+03A1
+ ("QR" ?Ῥ) ;; U+1FEC
+ ("r" ?ρ) ;; U+03C1
+ (":r" ?ῤ) ;; U+1FE4
+ ("Qr" ?ῥ) ;; U+1FE5
+ ;; Sigma
+ ("S" ?Σ) ;; U+03A3
+ ("s" ?σ) ;; U+03C3
+ ("w" ?ς) ;; U+03C2
+ ;; Tau
+ ("T" ?Τ) ;; U+03A4
+ ("t" ?τ) ;; U+03C4
+ ;; Upsilon
+ ("Y" ?Υ) ;; U+03A5
+ ("WY" ?Ϋ) ;; U+03AB
+ ("QY" ?Ὑ) ;; U+1F59
+ ("QqY" ?Ὓ) ;; U+1F5B
+ ("qQY" ?Ὓ) ;; U+1F5B
+ ("Q;Y" ?Ὕ) ;; U+1F5D
+ (";QY" ?Ὕ) ;; U+1F5D
+ ("Q'Y" ?Ὗ) ;; U+1F5F
+ ("'QY" ?Ὗ) ;; U+1F5F
+ ("y" ?υ) ;; U+03C5
+ ("Wy" ?ϋ) ;; U+03CB
+ ("qy" ?ὺ) ;; U+1F7A
+ (";y" ?ύ) ;; U+1F7B
+ (":y" ?ὐ) ;; U+1F50
+ ("Qy" ?ὑ) ;; U+1F51
+ (":qy" ?ὒ) ;; U+1F52
+ ("q:y" ?ὒ) ;; U+1F52
+ ("Qqy" ?ὓ) ;; U+1F53
+ ("qQy" ?ὓ) ;; U+1F53
+ (":;y" ?ὔ) ;; U+1F54
+ (";:y" ?ὔ) ;; U+1F54
+ ("Q;y" ?ὕ) ;; U+1F55
+ (";Qy" ?ὕ) ;; U+1F55
+ (":'y" ?ὖ) ;; U+1F56
+ ("':y" ?ὖ) ;; U+1F56
+ ("Q'y" ?ὗ) ;; U+1F57
+ ("'Qy" ?ὗ) ;; U+1F57
+ ("''y" ?ῠ) ;; U+1FE0
+ ("'''y" ?ῡ) ;; U+1FE1
+ ("Wqy" ?ῢ) ;; U+1FE2
+ ("qWy" ?ῢ) ;; U+1FE2
+ ("W;y" ?ΰ) ;; U+1FE3
+ (";Wy" ?ΰ) ;; U+1FE3
+ ("'y" ?ῦ) ;; U+1FE6
+ ("W'y" ?ῧ) ;; U+1FE7
+ ("'Wy" ?ῧ) ;; U+1FE7
+ ("''Y" ?Ῠ) ;; U+1FE8
+ ("'''Y" ?Ῡ) ;; U+1FE8
+ ("qY" ?Ὺ) ;; U+1FEA
+ (";Y" ?Ύ) ;; U+1FEB
+ ;; Phi
+ ("F" ?Φ) ;; U+03A6
+ ("f" ?φ) ;; U+03C6
+ ;; Chi
+ ("X" ?Χ) ;; U+03A7
+ ("x" ?χ) ;; U+03C7
+ ;; Chi
+ ("C" ?Ψ) ;; U+03A8
+ ("c" ?ψ) ;; U+03C8
+ ;; Omega
+ ("V" ?Ω) ;; U+03A9
+ (":V" ?Ὠ) ;; U+1F68
+ ("QV" ?Ὡ) ;; U+1F69
+ (":qV" ?Ὢ) ;; U+1F6A
+ ("q:V" ?Ὢ) ;; U+1F6A
+ ("QqV" ?Ὣ) ;; U+1F6B
+ ("qQV" ?Ὣ) ;; U+1F6B
+ (":;V" ?Ὤ) ;; U+1F6C
+ (";:V" ?Ὤ) ;; U+1F6C
+ ("Q;V" ?Ὥ) ;; U+1F6D
+ (";QV" ?Ὥ) ;; U+1F6D
+ (":'V" ?Ὦ) ;; U+1F6E
+ ("':V" ?Ὦ) ;; U+1F6E
+ ("Q'V" ?Ὧ) ;; U+1F6F
+ (":\"V" ?ᾨ) ;; U+1FA8
+ ("\":V" ?ᾨ) ;; U+1FA8
+ ("Q\"V" ?ᾩ) ;; U+1FA9
+ ("\"QV" ?ᾩ) ;; U+1FA9
+
+ (":q\"V" ?ᾪ) ;; U+1FAA
+ (":\"qV" ?ᾪ) ;; U+1FAA
+ ("\":qV" ?ᾪ) ;; U+1FAA
+ ("\"q:V" ?ᾪ) ;; U+1FAA
+ ("q\":V" ?ᾪ) ;; U+1FAA
+ ("q:\"V" ?ᾪ) ;; U+1FAA
+
+ ("Qq\"V" ?ᾫ) ;; U+1FAB
+ ("qQ\"V" ?ᾫ) ;; U+1FAB
+ ("q\"QV" ?ᾫ) ;; U+1FAB
+ ("\"qQV" ?ᾫ) ;; U+1FAB
+ ("\"QqV" ?ᾫ) ;; U+1FAB
+
+ (":\"qV" ?ᾫ) ;; U+1FAB
+ (":;\"V" ?ᾬ) ;; U+1FAC
+ (":\";V" ?ᾬ) ;; U+1FAC
+ ("\":;V" ?ᾬ) ;; U+1FAC
+ ("\";:V" ?ᾬ) ;; U+1FAC
+ (";\":V" ?ᾬ) ;; U+1FAC
+ ("Q;\"V" ?ᾭ) ;; U+1FAD
+ ("Q\";V" ?ᾭ) ;; U+1FAD
+ ("\"Q;V" ?ᾭ) ;; U+1FAD
+ ("\";QV" ?ᾭ) ;; U+1FAD
+ (";\"QV" ?ᾭ) ;; U+1FAD
+ (":'\"V" ?ᾮ) ;; U+1FAE
+ (":\"'V" ?ᾮ) ;; U+1FAE
+ ("\":'V" ?ᾮ) ;; U+1FAE
+ ("\"':V" ?ᾮ) ;; U+1FAE
+ ("'\":V" ?ᾮ) ;; U+1FAE
+
+ ("Q'\"V" ?ᾯ) ;; U+1FAF
+ ("'Q\"V" ?ᾯ) ;; U+1FAF
+ ("Q\"'V" ?ᾯ) ;; U+1FAF
+ ("\"Q'V" ?ᾯ) ;; U+1FAF
+ ("\"'QV" ?ᾯ) ;; U+1FAF
+ ("'\"QV" ?ᾯ) ;; U+1FAF
+
+ ("qV" ?Ὼ) ;; U+1FFA
+ (";V" ?Ώ) ;; U+1FFB
+ ("\"V" ?ῼ) ;; U+1FFC
+ ("v" ?ω) ;; U+03C9
+ ("qv" ?ὼ) ;; U+1F7C
+ (";v" ?ώ) ;; U+1F7D
+ (":v" ?ὠ) ;; U+1F60
+ ("Qv" ?ὡ) ;; U+1F61
+ (":qv" ?ὢ) ;; U+1F62
+ ("q:v" ?ὢ) ;; U+1F62
+ ("Qqv" ?ὣ) ;; U+1F63
+ ("qQv" ?ὣ) ;; U+1F63
+ (":;v" ?ὤ) ;; U+1F64
+ (";:v" ?ὤ) ;; U+1F64
+ ("Q;v" ?ὥ) ;; U+1F65
+ (";Qv" ?ὥ) ;; U+1F65
+ (":'v" ?ὦ) ;; U+1F66
+ ("':v" ?ὦ) ;; U+1F66
+ ("Q'v" ?ὧ) ;; U+1F67
+ ("'Qv" ?ὧ) ;; U+1F67
+ (":\"v" ?ᾠ) ;; U+1FA0
+ ("\":v" ?ᾠ) ;; U+1FA0
+ ("Q\"v" ?ᾡ) ;; U+1FA1
+ ("\"Qv" ?ᾡ) ;; U+1FA1
+ (":q\"v" ?ᾢ) ;; U+1FA2
+ (":\"qv" ?ᾢ) ;; U+1FA2
+ ("\":qv" ?ᾢ) ;; U+1FA2
+ ("\"q:v" ?ᾢ) ;; U+1FA2
+ ("q\":v" ?ᾢ) ;; U+1FA2
+
+ ("Qq\"v" ?ᾣ) ;; U+1FA3
+ ("q\"Qv" ?ᾣ) ;; U+1FA3
+ ("\"qQv" ?ᾣ) ;; U+1FA3
+ ("\"Qqv" ?ᾣ) ;; U+1FA3
+ ("Q\"qv" ?ᾣ) ;; U+1FA3
+
+ (":;\"v" ?ᾤ) ;; U+1FA4
+ (":\";v" ?ᾤ) ;; U+1FA4
+ ("\":;v" ?ᾤ) ;; U+1FA4
+ ("\";:v" ?ᾤ) ;; U+1FA4
+ (";\":v" ?ᾤ) ;; U+1FA4
+ (";:\"v" ?ᾤ) ;; U+1FA4
+
+ ("Q;\"v" ?ᾥ) ;; U+1FA5
+ ("Q\";v" ?ᾥ) ;; U+1FA5
+ ("\"Q;v" ?ᾥ) ;; U+1FA5
+ ("\";Qv" ?ᾥ) ;; U+1FA5
+ (";\"Qv" ?ᾥ) ;; U+1FA5
+ (";Q\"v" ?ᾥ) ;; U+1FA5
+
+ (":'\"v" ?ᾦ) ;; U+1FA6
+ (":\"'v" ?ᾦ) ;; U+1FA6
+ ("\":'v" ?ᾦ) ;; U+1FA6
+ ("\"':v" ?ᾦ) ;; U+1FA6
+ ("'\":v" ?ᾦ) ;; U+1FA6
+ ("':\"v" ?ᾦ) ;; U+1FA6
+
+ ("Q'\"v" ?ᾧ) ;; U+1FA7
+ ("Q\"'v" ?ᾧ) ;; U+1FA7
+ ("\"Q'v" ?ᾧ) ;; U+1FA7
+ ("\"'Qv" ?ᾧ) ;; U+1FA7
+ ("'\"Qv" ?ᾧ) ;; U+1FA7
+ ("'Q\"v" ?ᾧ) ;; U+1FA7
+
+ ("q\"v" ?ῲ) ;; U+1FF2
+ ("\"qv" ?ῲ) ;; U+1FF2
+ ("\"v" ?ῳ) ;; U+1FF3
+ (";\"v" ?ῴ) ;; U+1FF4
+ ("'v" ?ῶ) ;; U+1FF6
+ ("'\"v" ?ῷ) ;; U+1FF7
+ ("\"'v" ?ῷ) ;; U+1FF7
+ ;;; Archaic Letters ;;;
+ ;; Stigma
+ ("ww" ?ϛ) ;; U+03DB Note that capital stigma (U+03DA) is an invalid letter.
+ ;; Digamma
+ ("wF" ?Ϝ) ;; U+03DC
+ ("wf" ?ϝ) ;; U+03DD
+ ;; Koppa
+ ("wK" ?Ϟ) ;; U+03DE
+ ("wk" ?ϟ) ;; U+03DF
+ ;; Sampi
+ ("wP" ?Ϡ) ;; U+03E0
+ ("wp" ?ϡ) ;; U+03E1
+ ;; Koppa
+ ("wO" ?Ϙ) ;; U+03D8
+ ("wo" ?ϙ) ;; U+03D9
+ )
+
+
 ;;; greek.el ends here
-- 
2.46.0


[-- Attachment #1.3: Type: text/plain, Size: 50 bytes --]



-- 
Thanos Apollo
https://thanosapollo.org

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

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-20 19:35   ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-10-21 10:45     ` Robert Pluim
  2024-10-21 11:05       ` Visuwesh
  2024-10-21 12:57       ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 19+ messages in thread
From: Robert Pluim @ 2024-10-21 10:45 UTC (permalink / raw)
  To: Thanos Apollo; +Cc: 73909, Visuwesh

>>>>> On Sun, 20 Oct 2024 22:35:36 +0300, Thanos Apollo via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> said:

Thanks for this. A few minor comments below.

    Thanos> Git patches is not my area of expertise, if I've done anything wrong
    Thanos> feel free to correct me.

The commit message needs to be in ChangeLog format. See 'Generating
ChangeLog entries' in CONTRIBUTE in the Emacs sources for how to have
Emacs help you with that, and 'Commit messages' for other
recommendations. Since this is a new input method, thereʼs no need to
describe every single detail.

    Thanos> +(quail-define-package
    Thanos> + "greek-polytonic" "Greek" "ῶ" t
    Thanos> + "Greek input method, with support for polytonic & archaic Greek letters."
    Thanos> + nil t t t t nil nil nil nil nil t)
    Thanos> +
    Thanos> +(quail-define-rules
    Thanos> + ("1" ?1)
    Thanos> + ("2" ?2)
    Thanos> + ("3" ?3)
    Thanos> + ("4" ?4)
    Thanos> + ("5" ?5)
    Thanos> + ("6" ?6)
    Thanos> + ("7" ?7)
    Thanos> + ("8" ?8)
    Thanos> + ("9" ?9)
    Thanos> + ("0" ?0)
    Thanos> + ("-" ?-)
    Thanos> + ("=" ?=)
    Thanos> + ("[" ?\[)
    Thanos> + ("]" ?\])

Thereʼs no need for entries that map to themselves.

    Thanos> + ;; Changed punction from greek.el
    Thanos> + ("`" ?·)
    Thanos> + ("~" ?:)
    Thanos> + ;; tonoi
    Thanos> + (";" ?΄) ;; U+1FFD (oxia)
    Thanos> + ("q" ?`) ;; U+1FEF (varia)
    Thanos> + ("'" ?῀) ;; U+1FC0 (perispomeni)
    Thanos> + ("\"" ?ι) ;; U+1FBE (ypogegrammeni)
    Thanos> + ;; pneumata
    Thanos> + (":" ?᾿) ;; U+1FBF (psili)
    Thanos> + ("Q" ?῾) ;; U+1FFE (dasia)
    Thanos> + ("W" ?¨) ;; U+00A8 (dialytika)
    Thanos> + ;; apostrophe combinations
    Thanos> + ("; " ["’ "]) ;; U+2019 (apostrophe)

Strictly speaking, thatʼs a RIGHT SINGLE QUOTATION MARK. Apostrophe is
?ʼ U+2BC

    Thanos> + (";g" ["’γ"])
    Thanos> + (";d" ["’δ"])
    Thanos> + (";z" ["’ζ"])
    Thanos> + (";u" ["’θ"])
    Thanos> + (";k" ["’κ"])
    Thanos> + (";l" ["’λ"])
    Thanos> + (";m" ["’μ"])
    Thanos> + (";n" ["’ν"])
    Thanos> + (";j" ["’ξ"])
    Thanos> + (";p" ["’π"])
    Thanos> + (";ρ" ["’r"])
    Thanos> + (";s" ["’σ"])
    Thanos> + (";t" ["’τ"])
    Thanos> + (";f" ["’φ"])
    Thanos> + (";x" ["’χ"])
    Thanos> + (";c" ["’ψ"])
    Thanos> + ;;
    Thanos> + (";G" ["’Γ"])
    Thanos> + (";D" ["’Δ"])
    Thanos> + (";Z" ["’Ζ"])
    Thanos> + (";U" ["’Θ"])
    Thanos> + (";K" ["’Κ"])
    Thanos> + (";L" ["’Λ"])
    Thanos> + (";M" ["’Μ"])
    Thanos> + (";N" ["’Ν"])
    Thanos> + (";J" ["’Ξ"])
    Thanos> + (";P" ["’Π"])
    Thanos> + (";Ρ" ["’R"])
    Thanos> + (";S" ["’Σ"])
    Thanos> + (";T" ["’Τ"])
    Thanos> + (";F" ["’Φ"])
    Thanos> + (";X" ["’Χ"])
    Thanos> + (";C" ["’Ψ"])

This seems like a lot of work just to prepend ’ to the basic
letters. Perhaps just

(";;" ?’)

instead would be more general (and easier to type).

    Thanos> + ("QQ" ["“ ”"])

Iʼd investigate `electric-quote-mode'.

    Thanos> + ("," ?,)
    Thanos> + ("." ?.)
    Thanos> + ("/" ?/)
    Thanos> + ("!" ?!)
    Thanos> + ("@" ?@)
    Thanos> + ("#" ?#)
    Thanos> + ("$" ?$)
    Thanos> + ("%" ?%)
    Thanos> + ("^" ?^)
    Thanos> + ("&" ?&)
    Thanos> + ("*" ?*)
    Thanos> + ("(" ?\()
    Thanos> + (")" ?\))
    Thanos> + ("_" ?_)
    Thanos> + ("+" ?+)
    Thanos> + ("{" ?{)
    Thanos> + ("}" ?})
    Thanos> + (";;" "\"")
    Thanos> + ("<" ?<)
    Thanos> + (">" ?>)

These are all identity mappings again, so unnecessary (except for ";;")

Robert
-- 





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-21 10:45     ` Robert Pluim
@ 2024-10-21 11:05       ` Visuwesh
  2024-10-21 13:36         ` Robert Pluim
  2024-10-21 12:57       ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 19+ messages in thread
From: Visuwesh @ 2024-10-21 11:05 UTC (permalink / raw)
  To: Robert Pluim; +Cc: Thanos Apollo, 73909

[திங்கள் அக்டோபர் 21, 2024] Robert Pluim wrote:

>>>>>> On Sun, 20 Oct 2024 22:35:36 +0300, Thanos Apollo via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> said:
>
> Thanks for this. A few minor comments below.
>
>     Thanos> Git patches is not my area of expertise, if I've done anything wrong
>     Thanos> feel free to correct me.
>
> The commit message needs to be in ChangeLog format. See 'Generating
> ChangeLog entries' in CONTRIBUTE in the Emacs sources for how to have
> Emacs help you with that, and 'Commit messages' for other
> recommendations. Since this is a new input method, thereʼs no need to
> describe every single detail.
>
>     Thanos> +(quail-define-package
>     Thanos> + "greek-polytonic" "Greek" "ῶ" t
>     Thanos> + "Greek input method, with support for polytonic & archaic Greek letters."
>     Thanos> + nil t t t t nil nil nil nil nil t)
>     Thanos> +
>     Thanos> +(quail-define-rules
>     Thanos> + ("1" ?1)
>     Thanos> + ("2" ?2)
>     Thanos> + ("3" ?3)
>     Thanos> + ("4" ?4)
>     Thanos> + ("5" ?5)
>     Thanos> + ("6" ?6)
>     Thanos> + ("7" ?7)
>     Thanos> + ("8" ?8)
>     Thanos> + ("9" ?9)
>     Thanos> + ("0" ?0)
>     Thanos> + ("-" ?-)
>     Thanos> + ("=" ?=)
>     Thanos> + ("[" ?\[)
>     Thanos> + ("]" ?\])
>
> Thereʼs no need for entries that map to themselves.

I was thinking the same thing but I remembered that it is probably best
to have it: If the user uses a keyboard layout that has, say, { in the
place that 1 is in the QWERTY layout, she would want { to insert 1 when
using the greek-polytonic layout.





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-21 10:45     ` Robert Pluim
  2024-10-21 11:05       ` Visuwesh
@ 2024-10-21 12:57       ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-10-21 13:30         ` Robert Pluim
  1 sibling, 1 reply; 19+ messages in thread
From: Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-10-21 12:57 UTC (permalink / raw)
  To: Robert Pluim; +Cc: 73909, Visuwesh

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

Robert Pluim <rpluim@gmail.com> writes:

>>>>>> On Sun, 20 Oct 2024 22:35:36 +0300, Thanos Apollo via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> said:

[...]

>    Thanos> Git patches is not my area of expertise, if I've done anything wrong
>    Thanos> feel free to correct me.

> The commit message needs to be in ChangeLog format. See 'Generating
> ChangeLog entries' in CONTRIBUTE in the Emacs sources for how to have
> Emacs help you with that, and 'Commit messages' for other
> recommendations. Since this is a new input method, thereʼs no need to
> describe every single detail.

Ok, will redo the patches and try out magit-generate-change-log & vc

>
> Thereʼs no need for entries that map to themselves.
>

Thanks for clarifying that, I had copied it from the "greek" input
method.

[...]
>     Thanos> + ("; " ["’ "]) ;; U+2019 (apostrophe)
>
> Strictly speaking, thatʼs a RIGHT SINGLE QUOTATION MARK. Apostrophe is
> ?ʼ U+2BC
>

Indeed, but for some reason books in Greek & wikipedia[1] use U+2019.
I will be changing this to U+2BC, as it appears to be a better option.


[...]
>     Thanos> + (";C" ["’Ψ"])
>
> This seems like a lot of work just to prepend ’ to the basic
> letters. Perhaps just
>
> (";;" ?’)
>

";;" is already binded, since we are already using ";" as modifier for
vowels I thought to add it as apostrophe for consonants.  Maybe we can
add "|" for apostrophe but I'm not sure that it will feel natural.

These are all the combinations that you will see apostrophe in Greek.  I
will see if I can figure a way to free ";;" for apostrophe (U+2BC).

> instead would be more general (and easier to type).
>
>     Thanos> + ("QQ" ["“ ”"])
>
> Iʼd investigate `electric-quote-mode'.
>

If I only bind “ (U+201C) then ” (U+201D) is left unbound.  This was
the best compromise that I could come up with to have both with 1
keybinding, without using electric-pair etc.

They are not used in Greek, we use guillemets instead (« »).  I only
added them because "greek-ibycus4" has them, I guess for stylistic
purposes.  This binding is unnecessary and can be removed.



[1] https://en.wikipedia.org/wiki/Apostrophe

-- 
Thanos Apollo
https://thanosapollo.org

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

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-21 12:57       ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-10-21 13:30         ` Robert Pluim
  2024-10-21 13:39           ` Robert Pluim
  0 siblings, 1 reply; 19+ messages in thread
From: Robert Pluim @ 2024-10-21 13:30 UTC (permalink / raw)
  To: Thanos Apollo; +Cc: 73909, Visuwesh

>>>>> On Mon, 21 Oct 2024 15:57:24 +0300, Thanos Apollo <public@thanosapollo.org> said:

    Thanos> [...]
    Thanos> + ("; " ["’ "]) ;; U+2019 (apostrophe)
    >> 
    >> Strictly speaking, thatʼs a RIGHT SINGLE QUOTATION MARK. Apostrophe is
    >> ?ʼ U+2BC
    >> 

    Thanos> Indeed, but for some reason books in Greek & wikipedia[1] use U+2019.
    Thanos> I will be changing this to U+2BC, as it appears to be a better option.

I was commenting on the comment, not the choice of codepoint. If the
standards say to use U+2019, then use U+2019, especially if existing
documents already do so.

    Thanos> [...]
    Thanos> + (";C" ["’Ψ"])
    >> 
    >> This seems like a lot of work just to prepend ’ to the basic
    >> letters. Perhaps just
    >> 
    >> (";;" ?’)
    >> 

    Thanos> ";;" is already binded, since we are already using ";" as modifier for
    Thanos> vowels I thought to add it as apostrophe for consonants.  Maybe we can
    Thanos> add "|" for apostrophe but I'm not sure that it will feel natural.

    Thanos> These are all the combinations that you will see apostrophe in Greek.  I
    Thanos> will see if I can figure a way to free ";;" for apostrophe (U+2BC).

Is "ʼʼ" or similar available? If not, itʼs not a big deal to do it the
way you have it.

    >> instead would be more general (and easier to type).
    >> 
    Thanos> + ("QQ" ["“ ”"])
    >> 
    >> Iʼd investigate `electric-quote-mode'.
    >> 

    Thanos> If I only bind “ (U+201C) then ” (U+201D) is left unbound.  This was
    Thanos> the best compromise that I could come up with to have both with 1
    Thanos> keybinding, without using electric-pair etc.

It would be an unusual choice for an entry, given that theyʼre not the
standard quoting characters for Greek, and that `electric-quote-mode'
exists.

    Thanos> They are not used in Greek, we use guillemets instead (« »).  I only
    Thanos> added them because "greek-ibycus4" has them, I guess for stylistic
    Thanos> purposes.  This binding is unnecessary and can be removed.

OK

Robert
-- 





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-21 11:05       ` Visuwesh
@ 2024-10-21 13:36         ` Robert Pluim
  2024-10-21 13:53           ` Visuwesh
  0 siblings, 1 reply; 19+ messages in thread
From: Robert Pluim @ 2024-10-21 13:36 UTC (permalink / raw)
  To: Visuwesh; +Cc: Thanos Apollo, 73909

>>>>> On Mon, 21 Oct 2024 16:35:37 +0530, Visuwesh <visuweshm@gmail.com> said:

    Visuwesh> I was thinking the same thing but I remembered that it is probably best
    Visuwesh> to have it: If the user uses a keyboard layout that has, say, { in the
    Visuwesh> place that 1 is in the QWERTY layout, she would want { to insert 1 when
    Visuwesh> using the greek-polytonic layout.

Why? Presumably that layout has a key somewhere else to produce ?1, so
it would be strange for us to produce ?1 when they enter ?{

Robert
-- 





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-21 13:30         ` Robert Pluim
@ 2024-10-21 13:39           ` Robert Pluim
  2024-10-21 15:43             ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 19+ messages in thread
From: Robert Pluim @ 2024-10-21 13:39 UTC (permalink / raw)
  To: Thanos Apollo; +Cc: 73909, Visuwesh

>>>>> On Mon, 21 Oct 2024 15:30:58 +0200, Robert Pluim <rpluim@gmail.com> said:

>>>>> On Mon, 21 Oct 2024 15:57:24 +0300, Thanos Apollo <public@thanosapollo.org> said:
    Thanos> [...]
    Thanos> + ("; " ["’ "]) ;; U+2019 (apostrophe)
    >>> 
    >>> Strictly speaking, thatʼs a RIGHT SINGLE QUOTATION MARK. Apostrophe is
    >>> ?ʼ U+2BC
    >>> 

    Thanos> Indeed, but for some reason books in Greek & wikipedia[1] use U+2019.
    Thanos> I will be changing this to U+2BC, as it appears to be a better option.

    Robert> I was commenting on the comment, not the choice of codepoint. If the
    Robert> standards say to use U+2019, then use U+2019, especially if existing
    Robert> documents already do so.

Actually, second-guessing myself: is this using apostrophe as a
diacritic? Then definitely do whatever the standards say for polytonic
Greek :-)

Robert
-- 





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-21 13:36         ` Robert Pluim
@ 2024-10-21 13:53           ` Visuwesh
  2024-10-21 14:18             ` Robert Pluim
  0 siblings, 1 reply; 19+ messages in thread
From: Visuwesh @ 2024-10-21 13:53 UTC (permalink / raw)
  To: Robert Pluim; +Cc: Thanos Apollo, 73909

[திங்கள் அக்டோபர் 21, 2024] Robert Pluim wrote:

>>>>>> On Mon, 21 Oct 2024 16:35:37 +0530, Visuwesh <visuweshm@gmail.com> said:
>
>     Visuwesh> I was thinking the same thing but I remembered that it is probably best
>     Visuwesh> to have it: If the user uses a keyboard layout that has, say, { in the
>     Visuwesh> place that 1 is in the QWERTY layout, she would want { to insert 1 when
>     Visuwesh> using the greek-polytonic layout.
>
> Why? Presumably that layout has a key somewhere else to produce ?1, so
> it would be strange for us to produce ?1 when they enter ?{

Because greek-polytonic is a keyboard layout like QWERTY itself so the
physical position of the keys would matter.  It would be strange to not
produce 1 when she enters { in her keyboard.





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-21 13:53           ` Visuwesh
@ 2024-10-21 14:18             ` Robert Pluim
  2024-10-21 14:31               ` Visuwesh
  0 siblings, 1 reply; 19+ messages in thread
From: Robert Pluim @ 2024-10-21 14:18 UTC (permalink / raw)
  To: Visuwesh; +Cc: Thanos Apollo, 73909

>>>>> On Mon, 21 Oct 2024 19:23:46 +0530, Visuwesh <visuweshm@gmail.com> said:

    Visuwesh> [திங்கள் அக்டோபர் 21, 2024] Robert Pluim wrote:
    >>>>>>> On Mon, 21 Oct 2024 16:35:37 +0530, Visuwesh <visuweshm@gmail.com> said:
    >> 
    Visuwesh> I was thinking the same thing but I remembered that it is probably best
    Visuwesh> to have it: If the user uses a keyboard layout that has, say, { in the
    Visuwesh> place that 1 is in the QWERTY layout, she would want { to insert 1 when
    Visuwesh> using the greek-polytonic layout.
    >> 
    >> Why? Presumably that layout has a key somewhere else to produce ?1, so
    >> it would be strange for us to produce ?1 when they enter ?{

    Visuwesh> Because greek-polytonic is a keyboard layout like QWERTY itself so the
    Visuwesh> physical position of the keys would matter.  It would be strange to not
    Visuwesh> produce 1 when she enters { in her keyboard.

greek-polytonic is an input-method, not a keyboard layout. If I use
e.g. AZERTY, and enable greek-polytonic, then the key marked '&'
produces '&', and it produces '1' when shifted. Youʼre suggesting we
should swap those? If so, I donʼt know how weʼd achieve that, because
adding this:

 ("1" ?1)

to greek-polytonic makes no difference.

Robert
-- 





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-21 14:18             ` Robert Pluim
@ 2024-10-21 14:31               ` Visuwesh
  2024-10-21 14:45                 ` Robert Pluim
  0 siblings, 1 reply; 19+ messages in thread
From: Visuwesh @ 2024-10-21 14:31 UTC (permalink / raw)
  To: Robert Pluim; +Cc: Thanos Apollo, 73909

[திங்கள் அக்டோபர் 21, 2024] Robert Pluim wrote:

>>>>>> On Mon, 21 Oct 2024 19:23:46 +0530, Visuwesh <visuweshm@gmail.com> said:
>
>     Visuwesh> [திங்கள் அக்டோபர் 21, 2024] Robert Pluim wrote:
>     >>>>>>> On Mon, 21 Oct 2024 16:35:37 +0530, Visuwesh <visuweshm@gmail.com> said:
>     >> 
>     Visuwesh> I was thinking the same thing but I remembered that it is probably best
>     Visuwesh> to have it: If the user uses a keyboard layout that has, say, { in the
>     Visuwesh> place that 1 is in the QWERTY layout, she would want { to insert 1 when
>     Visuwesh> using the greek-polytonic layout.
>     >> 
>     >> Why? Presumably that layout has a key somewhere else to produce ?1, so
>     >> it would be strange for us to produce ?1 when they enter ?{
>
>     Visuwesh> Because greek-polytonic is a keyboard layout like QWERTY itself so the
>     Visuwesh> physical position of the keys would matter.  It would be strange to not
>     Visuwesh> produce 1 when she enters { in her keyboard.
>
> greek-polytonic is an input-method, not a keyboard layout. If I use
> e.g. AZERTY, and enable greek-polytonic, then the key marked '&'
> produces '&', and it produces '1' when shifted. Youʼre suggesting we
> should swap those? If so, I donʼt know how weʼd achieve that, because
> adding this:
>
>  ("1" ?1)
>
> to greek-polytonic makes no difference.

You have to set quail-keyboard-layout to a suitable value using the
command quail-set-keyboard-layout.  But we don't have any entry for
AZERTY in quail-keyboard-layout-alist so you'd need to add a suitable
one yourself.

When this is done, KBD-TRANSLATE=t with that entry should make a
difference.

It has been a long time since I last tested this so my memory is in
shambles.  I can test it later on if you want.





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-21 14:31               ` Visuwesh
@ 2024-10-21 14:45                 ` Robert Pluim
  2024-10-21 15:06                   ` Visuwesh
  0 siblings, 1 reply; 19+ messages in thread
From: Robert Pluim @ 2024-10-21 14:45 UTC (permalink / raw)
  To: Visuwesh; +Cc: Thanos Apollo, 73909

>>>>> On Mon, 21 Oct 2024 20:01:20 +0530, Visuwesh <visuweshm@gmail.com> said:
    Visuwesh> You have to set quail-keyboard-layout to a suitable value using the
    Visuwesh> command quail-set-keyboard-layout.  But we don't have any entry for
    Visuwesh> AZERTY in quail-keyboard-layout-alist so you'd need to add a suitable
    Visuwesh> one yourself.

Ah, I used the OS-level tools to change the keyboard layout, which is
not the same thing.

    Visuwesh> When this is done, KBD-TRANSLATE=t with that entry should make a
    Visuwesh> difference.

Looking through that list, thereʼs only 1 type that I *might* have a
physical example of, in storage somewhere for the last 20 years 😀

    Visuwesh> It has been a long time since I last tested this so my memory is in
    Visuwesh> shambles.  I can test it later on if you want.

Sure. If it enables people to use greek-polytonic as an actual layout,
we can retain the identity mappings. But I still think itʼs going to
be a *really* obscure use case.

Robert
-- 





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-21 14:45                 ` Robert Pluim
@ 2024-10-21 15:06                   ` Visuwesh
  0 siblings, 0 replies; 19+ messages in thread
From: Visuwesh @ 2024-10-21 15:06 UTC (permalink / raw)
  To: Robert Pluim; +Cc: Thanos Apollo, 73909

[திங்கள் அக்டோபர் 21, 2024] Robert Pluim wrote:

>>>>>> On Mon, 21 Oct 2024 20:01:20 +0530, Visuwesh <visuweshm@gmail.com> said:
>     Visuwesh> You have to set quail-keyboard-layout to a suitable
>     Visuwesh> value using the
>     Visuwesh> command quail-set-keyboard-layout.  But we don't have
>     Visuwesh> any entry for
>     Visuwesh> AZERTY in quail-keyboard-layout-alist so you'd need to
>     Visuwesh> add a suitable
>     Visuwesh> one yourself.
>
> Ah, I used the OS-level tools to change the keyboard layout, which is
> not the same thing.

It is a bit convoluted.  When you change the keyboard layout at the
OS-level, Quail does not have a clue that you're using a non-"standard"
keyboard layout.  So you need an entry in quail-keyboard-layout-alist
that instructs Quail about your OS-level layout.  Without this entry,
Quail input methods like greek-polytonic, english-dvorak, etc. are no
longer functional since they rely on non-nil KBD-TRANSLATE [1].
I hope this clears up the confusion.

>     Visuwesh> When this is done, KBD-TRANSLATE=t with that entry should make a
>     Visuwesh> difference.
>
> Looking through that list, thereʼs only 1 type that I *might* have a
> physical example of, in storage somewhere for the last 20 years 😀

I understand.  It is too outdated.  We should add contemporary layouts
to it like AZERTY, Dvorak, etc.  It shouldn't be too hard.  It is about
time I sent a patch for this...

>     Visuwesh> It has been a long time since I last tested this so my
>     Visuwesh> memory is in
>     Visuwesh> shambles.  I can test it later on if you want.
>
> Sure. If it enables people to use greek-polytonic as an actual layout,
> we can retain the identity mappings. But I still think itʼs going to
> be a *really* obscure use case.

Please evaluate (this does not accurately model the AZERTY layout
properly since the number of keys in the qsd row is different from the
US standard keyboard layout which is what I have)

    (setf (alist-get "azerty" quail-keyboard-layout-alist nil nil #'equal)
          (concat
           ;; Above 1-0.  30 because 15 keys -> shifted and unshifted.
           (make-string 30 ?\s)
           "  &1é2\"3'4(5-6è7-8ç9à0)°=+₂   "
           "  aAzZeErRtTyYuUiIoOpP̂̈$€    "
           "  qQsSdDfFgGhHjJkKlLmMù%*μ\\|  "
           "  <>wWxXcCvVbBnN,?;.:/!§      "
           (make-string 30 ?\s)))

then do:

    1. M-x quail-set-keyboard-layout RET azerty RET
    2. Change OS-level keyboard layout to azerty
    3. Evaluate the relevant forms to add greek-polytonic Quail IM
       ensuring that KBD-TRANSLATE is non-nil
    4. C-u C-\ greek-polytonic RET
    5. Type "&" as per AZERTY layout, this will insert 1 as you would
       expect from a greek-polytonic keyboard

When you remove ("1" . ?1) from the translation rules and repeat step 5,
you would insert "&" instead.  I doubt inserting "&" is what the users
of greek-polytonic would want.

This is the same wrt english-dvorak too: if, as an AZERTY owner, I press
the physical key named "&" in my keyboard, I would want Emacs to insert
"1" when english-dvorak IM is active.



1. In this scenario, when you press "&" with
   quail-keyboard-layout="azerty", Quail converts this to "1" since
   that's the key that "&" corresponds to the "standard" layout.  This
   converted string is then passed to the Quail IM which, in our case,
   is greek-polytonic (T&C applies).





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic.
  2024-10-21 13:39           ` Robert Pluim
@ 2024-10-21 15:43             ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 19+ messages in thread
From: Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-10-21 15:43 UTC (permalink / raw)
  To: Robert Pluim; +Cc: 73909, Visuwesh

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

Robert Pluim <rpluim@gmail.com> writes:


[...]
>
> Actually, second-guessing myself: is this using apostrophe as a
> diacritic? Then definitely do whatever the standards say for polytonic
> Greek :-)
>

It indicates that at the end of a word a vowel is ommited, similar to
"it's (it is)".  Usually you'd use meta & ctrl key a lot for polytonic
Greek, but I find this implemntation to be MUCH easier to type.

I will see if I can change anything up to free a binding just
for apostrophe & if it's worth doing so.

-- 
Thanos Apollo
https://thanosapollo.org

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

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2024-10-21 15:43 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-20 12:46 bug#73909: [PATCH 2/2] quail/greek.el: Add greek-polytonic Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-20 13:13 ` Eli Zaretskii
2024-10-20 13:21   ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-20 13:54     ` Eli Zaretskii
2024-10-20 18:07 ` Visuwesh
2024-10-20 18:10   ` Visuwesh
2024-10-20 19:35   ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-21 10:45     ` Robert Pluim
2024-10-21 11:05       ` Visuwesh
2024-10-21 13:36         ` Robert Pluim
2024-10-21 13:53           ` Visuwesh
2024-10-21 14:18             ` Robert Pluim
2024-10-21 14:31               ` Visuwesh
2024-10-21 14:45                 ` Robert Pluim
2024-10-21 15:06                   ` Visuwesh
2024-10-21 12:57       ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-21 13:30         ` Robert Pluim
2024-10-21 13:39           ` Robert Pluim
2024-10-21 15:43             ` Thanos Apollo via Bug reports for GNU Emacs, the Swiss army knife of text editors

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).