summaryrefslogtreecommitdiff
path: root/src/GF/Text/Thai.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-02-11 21:34:10 +0000
committeraarne <aarne@cs.chalmers.se>2007-02-11 21:34:10 +0000
commit058bf604d013c5a2a15f52d4f31a733eaeb31dcd (patch)
tree6a3b308bdc0ffcb08a8ef6087e83a8d237d91574 /src/GF/Text/Thai.hs
parenta24166ac25568fe4dab0cc045a37fef945d2aa84 (diff)
thai diphthong table
Diffstat (limited to 'src/GF/Text/Thai.hs')
-rw-r--r--src/GF/Text/Thai.hs26
1 files changed, 21 insertions, 5 deletions
diff --git a/src/GF/Text/Thai.hs b/src/GF/Text/Thai.hs
index 8fc25213a..177e76dd2 100644
--- a/src/GF/Text/Thai.hs
+++ b/src/GF/Text/Thai.hs
@@ -121,11 +121,25 @@ pronSyllable s =
where
vowel = case (initv s, midv s, finalv s, finalc s, shorten s, tone s) of
- ([0x0e40],[0x0e35],[0x0e2d],[0x0e22],_,_) -> "ia" -- ei:-ya.
- ([0x0e40],[0x0e35],_,[0x0e22],_,_) -> "ia" -- ei:-y
- ([0x0e40],[0x0e30,0x0e2d],_,_,_,_) -> "ö" -- eOa.
- ([0x0e40],[0x0e30,0x0e32],_,_,_,_) -> "o" -- ea:a.
+ ([0x0e40],[0x0e35],_,[0x0e22],_,_) -> "ia" -- e-i:y
+ ([0x0e40],[0x0e2d,0x0e35],_,_,_,_) -> "va" -- e-i:O
+ ([0x0e40],[0x0e30,0x0e35],_,[0x0e22],_,_) -> "ia" -- e-i:ya.
+ ([0x0e40],[0x0e30,0x0e2d],_,_,_,_) -> "ö" -- e-Oa.
+ ([0x0e40],[0x0e30,0x0e32],_,_,_,_) -> "O" -- e-a:a. -- open o
+ ([0x0e40],[0x0e2d],_,_,_,_) -> "öö" -- e-O
+ ([0x0e40],[0x0e34],_,_,_,_) -> "öö" -- e-i
+ ([0x0e40],[0x0e30],_,_,_,_) -> "e" -- e-a.
+ ([0x0e40],[0x0e32],_,_,_,_) -> "aw" -- e-a:
+ ([0x0e40],[],[],[0x0e22],_,_) -> "ööy" -- e-y
+ ([0x0e40],[],[],_,True,_) -> "e"
+
+ ([0x0e41],[0x0e30],_,_,_,_) -> "ä" -- ä-a.
+ ([0x0e41],[],[],_,True,_) -> "ä"
+
+ ([0x0e42],[0x0e30],_,_,_,_) -> "o" -- o:-a.
+
([],[],[],_,_,_) -> "o"
+
(i,m,f,_,_,_) -> concatMap pronThaiChar (reverse $ f ++ m ++ i) ----
initCons = concatMap pronThaiChar $ case (reverse $ initc s) of
@@ -138,6 +152,7 @@ pronSyllable s =
in
case c of
[] -> []
+ [0x0e22] -> [] --- y
[k] -> concatMap pronThaiChar (reverse cs) ++ finalThai k
iclass = case take 1 (reverse $ initc s) of
@@ -268,9 +283,10 @@ pronThai s = case s of
| p==':' -> c:[c]
| elem p "%&" -> c:"y"
| p=='+' -> c:"m"
- | s == "e'" -> "ä"
+ | s == "e'" -> "ää"
| otherwise -> [c]
"O" -> "O"
+ "e" -> "ee"
[c] | isUpper c -> ""
_ -> s