You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# fixme: These are only the variant names for enu. Does ECI have a way to obtain names for other languages?
70
92
variants= {
@@ -101,10 +123,17 @@ def unicode(s): return s
101
123
"pt_PT":b"`l7.1",
102
124
"ja":b"`l8",
103
125
"ja_JP":b"`l8.0",
126
+
"fi":b"`l9",
127
+
"fi_FI":b"`l9.0",
104
128
"ko":b"`l10",
105
129
"ko_KR":b"`l10.0",
106
-
"fi":b"`l9",
107
-
"fi_FI":b"`l9.0"
130
+
"yue":b"`l11.1",
131
+
"nb":b"`l13",
132
+
"nb_NO":b"`l13.0",
133
+
"sv":b"`l14",
134
+
"sv_SE":b"`l14.0",
135
+
"da":b"`l15",
136
+
"da_DK":b"`l15.0"
108
137
}
109
138
110
139
classSynthDriver(synthDriverHandler.SynthDriver):
@@ -234,17 +263,22 @@ def processText(self,text):
234
263
#this converts to ansi for anticrash. If this breaks with foreign langs, we can remove it.
235
264
text=text.encode(self.currentEncoding, 'replace') # special unicode symbols may encode to backquote. For this reason, backquote processing is after this.
236
265
text=text.rstrip()
237
-
if_ibmeci.params[9] in (65536, 65537, 393216, 655360): text=resub(english_fixes, text) #Applies to Chinese and Korean as they can read English text and thus inherit the English bugs.
238
-
if_ibmeci.params[9] in (131072, 131073): text=resub(spanish_fixes, text)
266
+
if_ibmeci.params[9] in (65536, 65537, 393216, 655360, 720897): text=resub(english_fixes, text) #Applies to all languages with dual language support.
267
+
if_ibmeci.params[9] in (65536, 65537, 393216, 655360, 720897) and_ibmeci.isIBM: text=resub(english_ibm_fixes, text)
268
+
if_ibmeci.params[9] in (131072, 131073) andnot_ibmeci.isIBM: text=resub(spanish_fixes, text)
269
+
if_ibmeci.params[9] in ('esp', 131072) and_ibmeci.isIBM: text=resub(spanish_ibm_fixes, text)
239
270
if_ibmeci.params[9] in (196609, 196608):
240
271
text=text.replace(br'quil', br'qil') #Sometimes this string make everything buggy with IBMTTS in French
241
272
if_ibmeci.params[9] in ('deu', 262144):
242
273
text=resub(german_fixes, text)
274
+
if_ibmeci.params[9] in ('ptb', 458752) and_ibmeci.isIBM:
275
+
text=resub(portuguese_ibm_fixes, text)
243
276
ifnotself._backquoteVoiceTags:
244
277
text=text.replace(b'`', b' ') # no embedded commands
245
278
ifself._shortpause:
246
279
text=pause_re.sub(br'\1 `p1\2\3\4', text) # this enforces short, JAWS-like pauses.
247
-
text=time_re.sub(br'\1:\2 \3', text) # apparently if this isn't done strings like 2:30:15 will only announce 2:30
280
+
ifnot_ibmeci.isIBM:
281
+
text=time_re.sub(br'\1:\2 \3', text) # apparently if this isn't done strings like 2:30:15 will only announce 2:30
248
282
embeds=b''
249
283
ifself._ABRDICT:
250
284
embeds+=b"`da1 "
@@ -389,6 +423,7 @@ def updateEncoding(self, lang): # lang must be a number asociated with IBMTTS la
0 commit comments