f82d62a85c
X-SVN-Rev: 39273
164 lines
4.2 KiB
Plaintext
164 lines
4.2 KiB
Plaintext
# © 2016 and later: Unicode, Inc. and others.
|
||
# License & terms of use: http://www.unicode.org/copyright.html#License
|
||
#
|
||
# File: si_si_FONIPA.txt
|
||
# Generated from CLDR
|
||
#
|
||
|
||
# Sinhala pronunciation rules
|
||
#
|
||
# Output
|
||
# k ɡ ŋ ᵑɡ c ɟ ɲ ʈ ɖ ⁿɖ t d n ⁿd p b m ᵐb j r l w ʃ s h f
|
||
# ə əː a aː æ æː i iː u uː e eː o oː
|
||
#
|
||
# References
|
||
# [1] Asanka Wasala, Ruvan Weerasinghe, and Kumudu Gamage:
|
||
# Sinhala Grapheme-to-Phoneme Conversion and Rules for Schwa Epenthesis.
|
||
# Proceedings of the COLING/ACL 2006 Main Conference Poster Sessions,
|
||
# pages 890–897. http://www.aclweb.org/anthology/P06-2114
|
||
# Simplify ya + yansaya to plain ya after a consonant.
|
||
[\u0D9A-\u0DC6] \u0DCA (\u200D)? { ය\u0DCAය → ය;
|
||
# Delete ZWNJ and ZWJ to simplify further processing.
|
||
\u200C → ;
|
||
\u200D → ;
|
||
# Insert a schwa after every consonant that is not followed by a dependent vowel
|
||
# or virama.
|
||
::Null;
|
||
([\u0D9A-\u0DC6]) } [^\u0DCA-\u0DDF \u0DF2\u0DF3] → $1 ə;
|
||
# Pronunciation rules proper.
|
||
::Null;
|
||
# fප is an alternative spelling of ෆ.
|
||
# This occurs e.g. in ඩේව\u0DD2ඩ\u0DCA කොපර\u0DCAfප\u0DD3ල\u0DCAඩ\u0DCA (David Copperfield)
|
||
# [see http://bradshawofthefuture.blogspot.com/2013/02/f.html].
|
||
[Ff]ප → f;
|
||
# zස is seemingly the only way to unambiguously indicate a voiced /z/ sound.
|
||
# This occurs in e.g. ඇල\u0DCAzසය\u0DD2ම' රෝගය (Alzheimer's disease)
|
||
# [see https://si.wikipedia.org/wiki/ඇල\u0DCAzසය\u0DD2ම%27_රෝගය]
|
||
# or in zස\u0DD3බ\u0DCAරා (zebra) [see https://si.wikipedia.org/wiki/zස\u0DD3බ\u0DCAරා].
|
||
[Zz]ස → z;
|
||
ං → ŋ;
|
||
o → ŋ; # common substitution for anusvaraya
|
||
ඃ ([\u0D9A-\u0DC6]) → | $1 \u0DCA $1; # TODO: check which consonants geminate
|
||
ඃ → h;
|
||
අ → a;
|
||
ආ → aː;
|
||
ඇ → æ;
|
||
ඈ → æː;
|
||
ඉ → i;
|
||
ඊ → iː;
|
||
උ → u;
|
||
ඌ → uː;
|
||
ඍ → ri;
|
||
ඎ → ruː;
|
||
ඏ → ilu;
|
||
ඐ → iluː;
|
||
එ → e;
|
||
ඒ → eː;
|
||
ඓ → aj;
|
||
ඔ → o;
|
||
ඕ → oː;
|
||
ඖ → aw; # TODO: check if this is correct
|
||
ක → k;
|
||
ඛ → k;
|
||
ග → ɡ;
|
||
ඝ → ɡ;
|
||
ඞ → ŋ;
|
||
ඟ → ᵑɡ;
|
||
ච → c;
|
||
ඡ → c;
|
||
ජ → ɟ;
|
||
ඣ → ɟ;
|
||
ඤ → ɲ;
|
||
ඥ → kɲ; # TODO: double-check
|
||
ඦ → ɟ;
|
||
ට → ʈ;
|
||
ඨ → ʈ;
|
||
ඩ → ɖ;
|
||
ඪ → ɖ;
|
||
ණ → n;
|
||
ඬ → ⁿɖ;
|
||
ත → t;
|
||
ථ → t;
|
||
ද → d;
|
||
ධ → d;
|
||
න → n;
|
||
ඳ → ⁿd;
|
||
ප → p;
|
||
ඵ → p;
|
||
බ → b;
|
||
භ → b;
|
||
ම → m;
|
||
ඹ → ᵐb;
|
||
ය → j;
|
||
ර → r;
|
||
ල → l;
|
||
ව → w;
|
||
ශ → ʃ;
|
||
ෂ → ʃ;
|
||
ස → s;
|
||
හ → h;
|
||
ළ → l;
|
||
ෆ → f;
|
||
\u0DCA → ; # delete virama
|
||
ා → aː;
|
||
ැ → æ;
|
||
ෑ → æː;
|
||
\u0DD2 → i;
|
||
\u0DD3 → iː;
|
||
\u0DD4 → u;
|
||
\u0DD6 → uː;
|
||
ෘ → ru;
|
||
ෙ → e;
|
||
ේ → eː;
|
||
ෛ → aj;
|
||
ො → o;
|
||
ෝ → oː;
|
||
ෞ → aw; # TODO: check if this is correct
|
||
ෟ → lu;
|
||
ෲ → ruː;
|
||
ෳ → luː;
|
||
# Heuristics for turning /ə/ into /a/. Based on [1].
|
||
$c=[k ɡ ŋ {ᵑɡ} c ɟ ɲ ʈ ɖ {ⁿɖ} t d n {ⁿd} p b m {ᵐb} j r l w ʃ s z h f];
|
||
$s=[:^L:];
|
||
# Rule #1
|
||
::Null;
|
||
$s sv { ə → ə; # exception (a)
|
||
$s k { ə } r → ə; # exception (b)
|
||
$s $c { ə } $s → ə; # exception (c)
|
||
$s $c $c { ə → a;
|
||
$s $c { ə → a;
|
||
# Rule #2
|
||
::Null;
|
||
$c r { ə } $c → a; # clause (a) and (b)
|
||
$c r { a } h → a; # clause (d), exception
|
||
$c r { a } $c → ə; # clause (c)
|
||
# Rule #3
|
||
# The paper is unclear about what this rule means. The interpretation here
|
||
# assumes that "preceded" in the paper is a typo and should be read "followed".
|
||
::Null;
|
||
[a e æ o ə] h { ə → a;
|
||
# Rules #4 through #7
|
||
::Null;
|
||
ə } $c $c → a; # Rule #4
|
||
ə } [rbɖʈ] $s → ə; # Rule #5 exception
|
||
ə } $c $s → a; # Rule #5
|
||
ə } ji $s → a; # Rule #6
|
||
k { ə } [rl] u → a; # Rule #7
|
||
# Rule #8
|
||
# Note that the paper doesn't say explicitly that this rule should be
|
||
# anchored at the beginning of a word, but the remarks before the rules
|
||
# seem to imply this.
|
||
::Null;
|
||
$s k { a } l[aeo]ːj → ə; # Typo in paper: /j/ was /y/.
|
||
$s k { a } le[mh][ui] → ə;
|
||
$s k { alə } h[ui] → əle;
|
||
$s k { a } lə → ə;
|
||
# Diphthongs
|
||
::Null;
|
||
www+ → ww; # යෞව\u0DCAවන
|
||
[i {iː} e {eː} æ {æː} o {oː} a {aː}] { wu → w;
|
||
əji → aj;
|
||
iji → iː; # perhaps: ij
|
||
[u {uː} e {eː} æ {æː} o {oː} a {aː}] { ji → j;
|
||
|