The 'fortis' feature is not used, so it has been removed.master
@@ -296,7 +296,6 @@ static keywtab_t keywords[] = { | |||
// flags | |||
{ "wavef", tPHONEME_FLAG, phWAVE }, | |||
{ "unstressed", tPHONEME_FLAG, phUNSTRESSED }, | |||
{ "fortis", tPHONEME_FLAG, phFORTIS }, | |||
{ "sibilant", tPHONEME_FLAG, phSIBILANT }, // TODO (deprecated): use 'sib' instead | |||
{ "nolink", tPHONEME_FLAG, phNOLINK }, | |||
{ "trill", tPHONEME_FLAG, phTRILL }, // TODO (deprecated): use 'trl' instead | |||
@@ -315,10 +314,6 @@ static keywtab_t keywords[] = { | |||
{ "flag2", tPHONEME_FLAG, phFLAG2 }, | |||
{ "flag3", tPHONEME_FLAG, phFLAG3 }, | |||
// voiced / unvoiced | |||
{ "vcd", tPHONEME_FLAG, phVOICED }, | |||
{ "vls", tPHONEME_FLAG, phFORTIS }, | |||
// vowel transition attributes | |||
{ "len=", tTRANSITION, 1 }, | |||
{ "rms=", tTRANSITION, 2 }, |
@@ -62,6 +62,9 @@ enum feature_t { | |||
uvl = FEATURE('u', 'v', 'l'), | |||
phr = FEATURE('p', 'h', 'r'), | |||
glt = FEATURE('g', 'l', 't'), | |||
// voice | |||
vcd = FEATURE('v', 'c', 'd'), | |||
vls = FEATURE('v', 'l', 's'), | |||
}; | |||
uint32_t lookup_feature(const char *feature) { | |||
@@ -164,6 +167,13 @@ phoneme_add_feature(PHONEME_TAB *phoneme, | |||
case alp: | |||
// FIXME: Not supported by eSpeak. Used in Chinese/Japanese ɕ and ʑ. | |||
break; | |||
// voice | |||
case vcd: | |||
phoneme->phflags |= phVOICED; | |||
break; | |||
case vls: // FIXME: This should be a phVOICELESS (!phVOICED) flag. Fortis/lenis are a different thing. | |||
phoneme->phflags |= phFORTIS; | |||
break; | |||
// invalid phoneme feature | |||
default: | |||
return create_name_error_context(context, ENS_UNKNOWN_PHONEME_FEATURE, feature); |