
// Phonemes for Sinhala
// This inherits from ph_hindi

// (these are only guesses)

phoneme @
  vwl  starttype #a  endtype #a
  length 150
  FMT(vowel/@_low)
endphoneme


phoneme a
  vwl lng starttype #a endtype #a
  ipa ɐ
  length 150
  ChangeIfNotStressed(@)
  FMT(vowel/a#_2)
endphoneme


phoneme a:
  vwl  starttype #a  endtype #a
  length 300
  FMT(vowel/a_3)
endphoneme


phoneme &
  vwl  starttype #e  endtype #e
  length 150
  FMT(vowel/ee_6)
endphoneme


phoneme &:
  vwl  starttype #e  endtype #e
  length 300
  FMT(vowel/ee_6)
endphoneme


phoneme e
  vwl  starttype #e  endtype #e
  length 150
  FMT(vowel/e_mid)
endphoneme


phoneme e:
  vwl  starttype #e  endtype #e
  length 300
  FMT(vowel/e_mid2)
endphoneme


phoneme i
  vwl  starttype #i  endtype #i
  length 150
  FMT(vowel/i_6)
endphoneme


phoneme i:
  vwl  starttype #i  endtype #i
  length 300
  FMT(vowel/i)
endphoneme



phoneme o
  vwl  starttype #o  endtype #o
  length 150
  FMT(vowel/oo_1)
endphoneme


phoneme o:
  vwl  starttype #o  endtype #o
  length 300
  FMT(vowel/oo_1)
endphoneme


phoneme u
  vwl  starttype #u  endtype #u
  length 130
  FMT(vowel/u_6)
endphoneme

phoneme u:
  vwl  starttype #u  endtype #u
  length 300
  FMT(vowel/u_6)
endphoneme



phoneme aI
  vwl lng starttype #a endtype #i
  length 300
  FMT(vdiph/ai_8)
endphoneme

phoneme aU
  vwl lng starttype #a endtype #u
  length 300
  FMT(vdiph/aau_3)
endphoneme



// ?? This is standard [v].  Should be it [v] without the fricative noise?
phoneme v
  import_phoneme base1/v
endphoneme


phoneme r
  import_phoneme base1/r
endphoneme

phoneme t
  import_phoneme base2/t    // dental
endphoneme


// temporary, map [n#] etc. to [n] etc.

phoneme m#
  ipa U+1D50
  CALL base1/m
endphoneme

phoneme n#
  ipa U+207F
  CALL base1/n
endphoneme

phoneme n.#
  ipa U+1DAF
  CALL base1/n.
endphoneme

phoneme n^#
  ipa U+1DAE
  CALL base1/n^
endphoneme

phoneme N#
  ipa U+1D51
  CALL base1/N
endphoneme
