From 21b5a4c3303e7a2ec486aee389ed94588540b60a Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Wed, 9 Oct 2024 07:39:42 +0300 Subject: Init project --- greek-polytonic.el | 338 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 338 insertions(+) create mode 100644 greek-polytonic.el diff --git a/greek-polytonic.el b/greek-polytonic.el new file mode 100644 index 0000000..fc5c79b --- /dev/null +++ b/greek-polytonic.el @@ -0,0 +1,338 @@ +(quail-define-package + "greek-polytonic" "Greek" "ῶ" t + "A Greek input method with support for polytonic." + 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 + (";" ?΄) ;; oxia + ("q" ?`) ;; varia + ("w" ?῀) ;; perispomeni + ("W" ?ι) ;; ypogegrammeni + ;; pneumata + (":" ?᾿) ;; psili + ("Q" ?῾) ;; dasia + ;; diacritika + ("\"" ?¨) + ;; Combinations + ("\";" ?΅) ;; U+1FEE + (";\"" ?΅) ;; U+1FEE + ("\"q" ?῭) ;; U+1FED + ("q\"" ?῭) ;; U+1FED + (":;" ?῎) ;; U+1FCE + (";:" ?῎) ;; U+1FCE + ("qQ" ?῝) ;; U+1FDD + ("Qq" ?῝) ;; U+1FDD + ("q:" ?῍) ;; U+1FCD + (":q" ?῍) ;; U+1FCD + ("Q;" ?῞) ;; U+1FDE + (";Q" ?῞) ;; U+1FDE + ("w:" ?῏) ;; U+1FCF + (":w" ?῏) ;; U+1FCF + ("wQ" ?῟) ;; U+1FDF + ("Qw" ?῟) ;; U+1FDF + ("w\"" ?῁) ;; U+1FC1 + ("\"w" ?῁) ;; U+1FC1 + ;; TODO: adjust for ypogegrammeni + ("Ww" ["῀ι"]) + ("wW" ["῀ι"]) + ("W;" ["΄ι"]) + (";W" ["ι΄"]) + ;; Misc characters + ("'" ["’"]) ;; apostrophe + ("~" ?:) + ("``" "~") + ;; + ("\\" ?\\) + ("," ?,) + ("." ?.) + ("/" ?/) + ("!" ?!) + ("@" ?@) + ("#" ?#) + ("$" ?$) + ("%" ?%) + ("^" ?^) + ("&" ?&) + ("*" ?*) + ("(" ?\() + (")" ?\)) + ("_" ?_) + ("+" ?+) + ("{" ?{) + ("}" ?}) + (":" ?¨) + ("''" ?\") + ("|" ?|) + ("<" ?<) + (">" ?>) + ("?" [";"]) + ;; Alpha + ("Α" ?Α) ;; U+0391 + (";A" ?Ά) ;; U+0386 + (":A" ?Ἀ) ;; U+1F08 + ("QA" ?Ἁ) ;; U+1F09 + (":qA" ?Ἂ) ;; U+1F0A + ("q:A" ?Ἂ) ;; U+1F0A + ("QqA" ?Ἃ) ;; U+1F0B + ("qQA" ?Ἃ) ;; U+1F0B + (":;A" ?Ἄ) ;; U+1F0C + (";:A" ?Ἄ) ;; U+1F0C + ("Q;A" ?Ἅ) ;; U+1F0D + (";QA" ?Ἅ) ;; U+1F0D + ("w:A" ?Ἆ) ;; U+1F0E + (":wA" ?Ἆ) ;; U+1F0E + ("QwA" ?Ἇ) ;; U+1F0F + ("wQA" ?Ἇ) ;; U+1F0F + ("WA" ?ᾼ) ;; U+1FBC + ("W:A" ?ᾈ) ;; U+1F88 + (":WA" ?ᾈ) ;; U+1F88 + ("WQA" ?ᾉ) ;; U+1F89 + ("QWA" ?ᾉ) ;; U+1F89 + ("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 + (":wa" ?ἆ) ;; U+1F06 + ("w:a" ?ἆ) ;; U+1F06 + ("Qwa" ?ἇ) ;; U+1F07 + ("wQa" ?ἇ) ;; U+1F07 + (";a" ?ά) ;; U+03AC + ("qa" ?ὰ) ;; U+1F70 + ("wa" ?ᾶ) ;; U+1FB6 + ("Wa" ?ᾳ) ;; U+1FB3 + ;; Beta + ("B" ?Β) + ("b" ?β) + ;; Gamma + ("G" ?Γ) + ("g" ?γ) + ;; Delta + ("D" ?Δ) + ("d" ?δ) + ;; 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 + ("Q;E" ?Ἕ) ;; U+1F1D + (";QE" ?Ἕ) ;; U+1F1D + (";E" ?Έ) ;; U+0388 + ("e" ?ε) ;; U+03B5 + (":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 + (";e" ?έ) ;; U+03AD + ("qe" ?ὲ) ;; U+1F72 + ;; Zeta + ("Z" ?Ζ) + ("z" ?ζ) + ;; Eta + ("H" ?Η) ;; U+0397 + (":H" ?Ἠ) ;; U+1F28 + ("QH" ?Ἡ) ;; U+1F29 + (";H" ?Ή) ;; U+1FCB + ("QH" ?Ὴ) ;; U+1FCA + ("WH" ?ῌ) ;; U+1FCC + (":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 + (":wH" ?Ἦ) ;; U+1F2E + ("w:H" ?Ἦ) ;; U+1F2E + ("wQH" ?Ἧ) ;; U+1F2F + ("h" ?η) ;; U+03B7 + ("qh" ?ὴ) ;; U+1F74 + (";h" ?ή) ;; U+1F75 + (":Wh" ?ᾐ) ;; U+1F90 + ("W:h" ?ᾐ) ;; U+1F90 + ("QWh" ?ᾑ) ;; U+1F91 + ("WQh" ?ᾑ) ;; U+1F91 + ;; TODO: The rest, diregard the following etas + (":h" ?ἠ) + ("qh" ?ὴ) + ("Qh" ?ἡ) + (":;h" ?ἤ) + (";:h" ?ἤ) + ("wh" ?ῆ) + ("Wh" ?ῃ) + ("Wwh" ?ῇ) + ("wWh" ?ῇ) + ("w:h" ?ἦ) + (":wh" ?ἦ) + ;; Theta + ("U" ?Θ) + ("u" ?θ) + ;; Iota + ("I" ?Ι) + (";I" ?Ί) + (":I" ?Ἰ) + ("QI" ?Ἱ) + ("i" ?ι) + (";i" ?ί) ;; U+1F77 + ("qi" ?ὶ) ;; U+1F76 + (":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 + (":wi" ?ἶ) ;; U+1F36 + ("w:i" ?ἶ) ;; U+1F36 + ("Qwi" ?ἷ) ;; U+1F37 + ("wQi" ?ἷ) ;; U+1F37 + ("wi" ?ῖ) ;; U+1FD6 + ("\"i" ?ϊ) + ("\"wi" ?ῗ) ;; U+1FD7 + ("w\"i" ?ῗ) ;; U+1FD7 + ("\";i" ?ΐ) + (";\"i" ?ΐ) + ;; Kappa + ("K" ?Κ) + ("k" ?κ) + ;; Lambda + ("L" ?Λ) + ("l" ?λ) + ;; Mu + ("M" ?Μ) + ("m" ?μ) + ;; Nu + ("N" ?Ν) + ("n" ?ν) + ;; Xi + ("J" ?Ξ) + ("j" ?ξ) + ;; omicron + ("O" ?Ο) + (";O" ?Ό) + ("o" ?ο) + (";o" ?ό) + (":o" ?ὀ) + ("qo" ?ὸ) + ("Qo" ?ὁ) + ("Q;o" ?ὅ) + (";Qo" ?ὅ) + ("Qqo" ?ὃ) + ("qQo" ?ὃ) + (";:o" ?ὄ) + (":;o" ?ὄ) + ;; Pi + ("P" ?Π) + ("p" ?π) + ;; Rho + ("R" ?Ρ) + ("r" ?ρ) + ("Qr" ?ῥ) ;; U+1FE5 + (":r" ?ῤ) ;; U+1FE4 + ;; Sigma + ("S" ?Σ) + ("s" ?σ) + ;; To not convert to "ς" users can press C-g after typing σ + ("s " ["ς "]) + ("s." ["ς."]) + ("s," ["ς,"]) + ("s`" ["ς·"]) + ("s?" ["ς;"]) + ;; Tau + ("T" ?Τ) + ("t" ?τ) + ;; Upsilon + ("Y" ?Υ) + (";Y" ?Ύ) + ("y" ?υ) + (";y" ?ύ) + (":y" ?ὐ) + ("Qy" ?ὑ) + ("qy" ?ὺ) + ("Q;y" ?ὕ) + (";Qy" ?ὕ) + ("wy" ?ῦ) + ("wQy" ?ὗ) + ("Qwy" ?ὗ) + ("\"y" ?ϋ) + ("\";y" ?ΰ) + (";\"y" ?ΰ) + ("q\"y" ?ῢ) + ("q\"y" ?ῢ) + ;; phi + ("F" ?Φ) + ("f" ?φ) + ;; chi + ("X" ?Χ) + ("x" ?χ) + ;; psi + ("C" ?Ψ) + ("c" ?ψ) + ;; Omega + ("V" ?Ω) + (";V" ?Ώ) + ("qV" ?Ὼ) + ("v" ?ω) + (";v" ?ώ) + ("qv" ?ὼ) + ("W;v" ?ῴ) + (";Wv" ?ῴ) + (":Wv" ?ᾠ) ;; U+1FA0 + ("W:v" ?ᾠ) ;; U+1FA0 + ("QWv" ?ᾡ) ;; U+1FA1 + ("WQv" ?ᾡ) ;; U+1FA1 + ("Wq:v" ?ᾢ) ;; U+1FA2 + ("q:Wv" ?ᾢ) ;; U+1FA2 + (":qWv" ?ᾢ) ;; U+1FA2 + ("wv" ?ῶ) + ("Wv" ?ῳ) + ("Wwv" ?ῷ) + ("wWv" ?ῷ) + ("wQv" ?ὧ) + ("Qwv" ?ὧ) + ;; + ;; (";:y" ?ΰ) + ;; (":;y" ?ΰ) + ("<<" ?«) + (">>" ?»)) + +(provide 'greek-polytonic) +;;; greek-polytonic.el ends here. -- cgit v1.2.3