From 36308f6b38a651aac8dbbda53635b1d871ef1ea0 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Fri, 27 Jan 2017 21:03:03 +0000 Subject: [PATCH] phoneme: recognise the est, hlg and lng length phonemes. --- src/libespeak-ng/compiledata.c | 2 +- src/libespeak-ng/phoneme.c | 8 ++++++++ src/libespeak-ng/phoneme.h | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/libespeak-ng/compiledata.c b/src/libespeak-ng/compiledata.c index fb666aa7..2cbc0d6f 100644 --- a/src/libespeak-ng/compiledata.c +++ b/src/libespeak-ng/compiledata.c @@ -290,7 +290,7 @@ static keywtab_t keywords[] = { { "nolink", tPHONEME_FLAG, phNOLINK }, { "trill", tPHONEME_FLAG, phTRILL }, // TODO (deprecated): use 'trl' instead { "palatal", tPHONEME_FLAG, phPALATAL }, // TODO (deprecated): use 'pzd' instead - { "long", tPHONEME_FLAG, phLONG }, + { "long", tPHONEME_FLAG, phLONG }, // TODO (deprecated): use 'lng' instead { "dontlist", tPHONEME_FLAG, phDONTLIST }, { "brkafter", tPHONEME_FLAG, phBRKAFTER }, { "rhotic", tPHONEME_FLAG, phRHOTIC }, // TODO (deprecated): use 'rzd' instead diff --git a/src/libespeak-ng/phoneme.c b/src/libespeak-ng/phoneme.c index 2adaba70..3dce0f4c 100644 --- a/src/libespeak-ng/phoneme.c +++ b/src/libespeak-ng/phoneme.c @@ -216,6 +216,14 @@ phoneme_add_feature(PHONEME_TAB *phoneme, case lns: // Not supported by eSpeak. break; + // length + case est: + case hlg: + // Not supported by eSpeak. + break; + case lng: + phoneme->phflags |= phLONG; + break; // invalid phoneme feature default: return ENS_UNKNOWN_PHONEME_FEATURE; diff --git a/src/libespeak-ng/phoneme.h b/src/libespeak-ng/phoneme.h index 7e263e4a..d3a0de6d 100644 --- a/src/libespeak-ng/phoneme.h +++ b/src/libespeak-ng/phoneme.h @@ -113,6 +113,10 @@ typedef enum { // fortis and lenis fts = FEATURE_T('f', 't', 's'), lns = FEATURE_T('l', 'n', 's'), + // length + est = FEATURE_T('e', 's', 't'), + hlg = FEATURE_T('h', 'l', 'g'), + lng = FEATURE_T('l', 'n', 'g'), # undef FEATURE_T } phoneme_feature_t;