ssml: handle invalid break strength (#1587)

Workaround for NVDA's broken SSML.


https://github.com/nvaccess/nvda/blob/7c08cf52fe1fa8357eac31bf7fb32644dad97978/source/synthDrivers/espeak.py#L336-L339
This commit is contained in:
Alexander Epaneshnikov
2022-12-10 22:01:06 +03:00
committed by GitHub
+1
View File
@@ -870,6 +870,7 @@ int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int *outix, int n_outbuf, con
if ((attr1 = GetSsmlAttribute(px, "strength")) != NULL) {
static const int break_value[6] = { 0, 7, 14, 21, 40, 80 }; // *10mS
value = attrlookup(attr1, mnem_break);
if (value < 0) value = 2;
if (value < 3) {
// adjust prepause on the following word
sprintf(&outbuf[*outix], "%c%dB", CTRL_EMBEDDED, value);