diff options
Diffstat (limited to 'src/ellinika/xlat.scm')
-rw-r--r-- | src/ellinika/xlat.scm | 113 |
1 files changed, 4 insertions, 109 deletions
diff --git a/src/ellinika/xlat.scm b/src/ellinika/xlat.scm index c51edaa..63af468 100644 --- a/src/ellinika/xlat.scm +++ b/src/ellinika/xlat.scm @@ -16,6 +16,8 @@ ;;;; (define-module (ellinika xlat)) +(use-modules (ellinika elmorph)) + (define greek-postfix-map (list (cons #\: (list (cons "ι" "ϊ") (cons "υ" "ϋ") @@ -107,7 +109,7 @@ ;;; +-----------------------------+ ;;; ;;; -;;; The followin escape sequences are recognized: +;;; The following escape sequences are recognized: ;;; ;;; '\ks' -> 'ξ' ;;; '\ps' -> 'ψ' @@ -195,115 +197,8 @@ -(define transcription-list - (list - (cons "μπ" "b" ) - (cons "γγ" "g" ) - (cons "γκ" "g" ) - (cons "γχ" "g" ) - (cons "ντ" "d" ) - (cons "αι" "e" ) - (cons "αί" "e" ) - (cons "αυ" "au") - (cons "αύ" "au") - (cons "ου" "ou") - (cons "ού" "ou") - (cons "ευ" "eu") - (cons "εύ" "eu") - (cons "οι" "i" ) - (cons "ει" "i" ) - (cons "εί" "i" ) - (cons "υι" "i" ) - - (cons "α" "a" ) - (cons "Α" "a" ) - (cons "Ά" "a" ) - (cons "ά" "a" ) - (cons "β" "b" ) - (cons "Β" "b" ) - (cons "γ" "g" ) - (cons "Γ" "g" ) - (cons "δ" "d" ) - (cons "Δ" "d" ) - (cons "ε" "e" ) - (cons "Ε" "e" ) - (cons "Έ" "e" ) - (cons "έ" "e" ) - (cons "ζ" "z" ) - (cons "Ζ" "z" ) - (cons "η" "i" ) - (cons "Η" "i" ) - (cons "Ή" "i" ) - (cons "ή" "i" ) - (cons "θ" "t" ) - (cons "Θ" "t" ) - (cons "ι" "i" ) - (cons "Ι" "i" ) - (cons "Ί" "i" ) - (cons "ί" "i" ) - (cons "κ" "k" ) - (cons "Κ" "k" ) - (cons "λ" "l" ) - (cons "Λ" "l" ) - (cons "μ" "m" ) - (cons "Μ" "m" ) - (cons "ν" "n" ) - (cons "Ν" "n" ) - (cons "ξ" "x" ) - (cons "Ξ" "x" ) - (cons "ο" "o" ) - (cons "Ο" "o" ) - (cons "Ό" "o" ) - (cons "ό" "o" ) - (cons "π" "p" ) - (cons "Π" "p" ) - (cons "ρ" "r" ) - (cons "Ρ" "r" ) - (cons "σ" "s" ) - (cons "Σ" "s" ) - (cons "ς" "s" ) - (cons "τ" "t" ) - (cons "Τ" "t" ) - (cons "υ" "i" ) - (cons "Υ" "i" ) - (cons "Ύ" "i" ) - (cons "ύ" "i" ) - (cons "φ" "f" ) - (cons "Φ" "f" ) - (cons "χ" "h" ) - (cons "Χ" "h" ) - (cons "ψ" "P" ) - (cons "Ψ" "P" ) - (cons "ω" "o" ) - (cons "Ω" "o" ) - (cons "Ώ" "o" ) - (cons "ώ" "o" ) - (cons "Ϊ" "i" ) - (cons "ΐ" "i" ) - (cons "Ϋ" "i" ) - (cons "ΰ" "i" ))) - (define-public (ellinika:sounds-like str) - (let ((len (string-length str))) - (do ((i 0) - (sl '())) - ((= i len) (apply string-append (reverse sl))) - (set! sl (cons - (cond - ((and (<= (+ i 4) len) - (assoc (substring str i (+ i 4)) transcription-list)) => - (lambda (x) - (set! i (+ i 4)) - (cdr x))) - ((and (<= (+ i 2) len) - (assoc (substring str i (+ i 2)) transcription-list)) => - (lambda (x) - (set! i (+ i 2)) - (cdr x))) - (else - (set! i (1+ i)) - (substring str (- i 1) i))) - sl))))) + (elstr->soundslike str)) ;;;; End of ellinika.scm |