summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--greek-polytonic.el338
1 files changed, 338 insertions, 0 deletions
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.