| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 | 
phoneme : //  lengthen previous vowel by "length"
  virtual
  length 40   // only a small increase for "long stress" because we probably put the stress on the wrong syllable
endphoneme
phoneme @    //  Schwa, can be stressed
  vowel   starttype #@  endtype #@
  length 160
  FMT(vowel/@)
endphoneme
phoneme i
  vowel starttype #i endtype #i
  length 160
  IfNextVowelAppend(;)
  IF thisPh(isStressed) AND NOT nextPhW(isRhotic) THEN
    FMT(vowel/ii_6)
  ENDIF
  FMT(vowel/ii_3)
endphoneme
phoneme u
  vowel starttype #u endtype #u
  length 160
  FMT(vowel/u_2)
endphoneme
phoneme a
  vowel starttype #a endtype #a
  length 170
  IF thisPh(isUnstressed) THEN
    FMT(vowel/a_8)
  ENDIF
  FMT(vowel/a)
endphoneme
phoneme e
  vowel starttype #e endtype #e
  length 170
  ChangeIfUnstressed(E)
  FMT(vowel/e_2)
endphoneme
phoneme e+   // doesn't reduce to [e]
  vowel starttype #e endtype #e
  ChangePhoneme(e)
  endphoneme
phoneme E
  vowel starttype #e endtype #e
  length 160
  FMT(vowel/e_mid)
endphoneme
phoneme E#
  vowel starttype #e endtype #e
  length 160
  IF thisPh(isNotStressed) THEN
    ChangePhoneme(@)
  ENDIF
  FMT(vowel/e_mid)
endphoneme
phoneme o
  vowel starttype #o endtype #o
  length 170
  ChangeIfUnstressed(O)
  FMT(vowel/o_8)
endphoneme
phoneme o+   // doesn't reduce to [O]
  vowel starttype #o endtype #o
  ChangePhoneme(o)
  endphoneme
phoneme O
  vowel starttype #o endtype #o
  length 170
  FMT(vowel/0_2)
endphoneme
phoneme v
  import_phoneme base/v#
endphoneme
// for foreign letters
phoneme y
  vowel starttype #i endtype #i
  length 170
  FMT(vowel/y)
endphoneme
phoneme R^       // Czech r-caron
  import_phoneme sk/R^
endphoneme
 |