import languageHandler\r
from jtalk import jtalkDriver\r
from jtalk.jtalkDriver import VoiceProperty\r
+from jtalk._nvdajp_espeak import isJapaneseLang\r
\r
class SynthDriver(SynthDriver):\r
"""A Japanese synth driver for NVDAjp.\r
p.pitch = self._pitch\r
p.inflection = self._inflection\r
p.characterMode = spellState\r
- jtalkDriver.speak(unicode(item), currentLang, index=finalIndex, voiceProperty_=p)\r
+ msg = unicode(item)\r
+ isMsgJp = isJapaneseLang(msg)\r
+ lang = currentLang\r
+ if isMsgJp:\r
+ lang = 'ja'\r
+ elif defaultLanguage != 'ja' and not isMsgJp:\r
+ lang = defaultLanguage\r
+ log.debug("lang:%s idx:%s pit:%d inf:%d chr:%d (%s)" % (lang, str(finalIndex), p.pitch, p.inflection, p.characterMode, msg))\r
+ jtalkDriver.speak(msg, lang, index=finalIndex, voiceProperty_=p)\r
elif isinstance(item,speech.IndexCommand):\r
finalIndex = item.index\r
elif isinstance(item,speech.CharacterModeCommand):\r