Repository navigation
Version 0.16.0
What's Changed
Added
ReadiumSpeechNavigator'sloadContent()andloadGndContent()take the content's language as a whole, as{ language }(ReadiumSpeechContentOptions). Utterances without alanguageof their own get it, andlanguageOverridesapplies to it on content loaded vialoadGndContent().contentLanguageextraction option: the language of content withoutlang/xml:lang, and of all content withlanguage: "none". Sentences are segmented in it, andlanguageOverridesapplies to it.loadGndContent()'s{ language }is passed as this option.
Fixed
- With
language: "none", utterances keep the content's language whenloadGndContent()is given one, instead of having none, so avoicerecord (e.g.{ en: "…" }) still applies instead of the engine's own voice. - With
segmentation: "sentence", a sentence of content withoutlang/xml:langis in the content's language whenloadGndContent()is given one, instead of English, and withlanguage: "none", sentences are segmented in it, with its abbreviations. - With
segmentation: "sentence", a malformed language tag (e.g.en_US) no longer makes extraction throw: it is segmented as its hyphenated form, else in English. - With
segmentation: "sentence", a closing guillemet spaced after the sentence's last mark, as in French (« Il n’y a rien ! »), stays with its sentence instead of being an utterance of its own or starting the next one. - In Safari, changing the rate, pitch, volume or voice while speaking no longer emits
"end"for the restarted utterance without speaking it: Safari ends an utterance spoken right aftercancel()at once, soWebSpeechEnginespeaks it on the next task there, and once more if Safari still ends it without starting it. WebSpeechEngineno longer takes Chrome, Edge or Opera for Safari, whose name their user agents contain: with a Google voice, they get the workaround for long utterances being cut off, and none of Safari's. It only runs for voices that fire no pause events, as it pauses and resumes speech every 5 seconds.- In Safari, moving to another utterance while speaking no longer emits
"stop"for the one it replaces, which leftReadiumSpeechNavigatoridle until the next one started: Safari reports the cancelled utterance's error withincancel(). ReadiumSpeechNavigator's word boundaries in substituted text (e.g.100degspoken as100°) locate the source text again when avoiceor the content's language applies to the utterance.
Full Changelog: v0.15.0...v0.16.0