Ticket #34542

既定の言語が日本語でない場合に JTalk が日本語を読み上げない

Open Date: 2014-10-26 23:32 Last Update: 2014-11-24 16:05

Reporter:
Owner:
Type:
Status:
Closed
Component:
MileStone:
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None

Details

既定の言語が日本語でなく Automatic language switching disabled のときに JTalk が eSpeak の音声だけになってしまい、 日本語が Japanese characters, Chinese characters などの読み上げになってしまいます。

海外のユーザーからの報告がありました。

以下、私が確認した環境:

  • Windows 7 Ultimate (64bit) with English as user interface language
  • NVDA 2014.3jp (Language = User Default, Jtalk, Automatic Language Switching = disabled)
  • Internet Explorer 11
  • open Gmail web site, set English as user interface language, open received mail containing Japanese characters

英語環境で Automatic Language Switching を無効にしたときに音声エンジンのデフォルト言語が en になってしまうため、ではないかと思われます。

Ticket History (3/8 Histories)

2014-10-26 23:32 Updated by: nishimoto
  • New Ticket "既定の言語が日本語でなく Automatic language switching disabled のときに JTalk が日本語を読み上げない" created
2014-10-26 23:33 Updated by: nishimoto
  • Details Updated
2014-10-27 14:28 Updated by: nishimoto
Comment

上記の現象についてさらに確認したので書き直し:

setup:

  • Windows 7 Ultimate (64bit) with English as user interface language
  • NVDA 2014.3jp (Language = User Default, Jtalk)
  • Internet Explorer 11
  • GMail: set English as user interface language

issue 1:

  • NVDA Automatic Language Switching = disabled
  • open Gmail web site (standard version)
  • open received mail containing Japanese characters

issue 2:

  • NVDA Automatic Language Switching = enabled
  • open Gmail web site (Basic HTML version)
  • open received mail containing Japanese characters

いずれのケースも、日本語文字列が言語 en で JTalk のコアにわたっているために、日本語が読めていない。

2014-10-27 14:29 Updated by: nishimoto
  • Summary Updated
2014-10-27 16:31 Updated by: nishimoto
  • Milestone Update from (None) to 2014.4jp (closed)
  • Owner Update from (None) to nishimoto
  • Resolution Update from None to Fixed
  • Component Update from (None) to 音声合成
Comment

日本語スナップショット jpbeta141027

https://dl.dropboxusercontent.com/u/62564469/nvda_jpbeta141027.exe

JTalk は「日本語ではない言語情報のついた文字列」が届いたとき (「既定の言語」が日本語でない場合や「言語の自動切り替え」でアプリから言語を通知された場合) にも、読み上げる文字列に「日本語の文字コードの文字」が含まれている場合には JTalk を使うようにしました。

2014-11-20 23:05 Updated by: nishimoto
  • Ticket Close date is changed to 2014-11-20 23:05
  • Status Update from Open to Closed
2014-11-24 12:13 Updated by: nishimoto
  • Status Update from Closed to Open
Comment

Windows 10 Technical Preview で 2014.4jp-beta-141121 を試して以下を確認した:

  • Windows 10 の User interface language は English のまま Japanese Keyboard / Microsoft Japanese IME が使える状態にする
  • NVDA の言語を default language にして、 Synthesizer を JTalk にする
  • notepad を開いて、半角全角キーで ime opened の状態にする
  • キーボードで k を入力するとプリエディット文字に全角 k が入り、espeak の声で "letter f f 4 b" と読み上げてしまう

Unicode 互換文字(全角アルファベット)を espeak が受け取ってしまっているようだ。

本件に関連する実装のメモ:

https://bitbucket.org/nvdajp/nvdajpmiscdep/commits/05c64734ba2a9e2f0de3bfdc4fc99773bbab1253

2014-11-24 16:05 Updated by: nishimoto
  • Ticket Close date is changed to 2014-11-24 16:05
  • Status Update from Open to Closed
Comment

JTalk と espeak の振り分けを文字コードで行う処理の修正:

https://bitbucket.org/nvdajp/nvdajpmiscdep/commits/2180065aa9ac37941ded6ee0e63fffbd1e588709

nvdajp の jp2014.4 ブランチに反映させたので、クローズします。

(公開ベータ版の差し替えはしません)

Attachment File List

No attachments

Edit

Please login to add comment to this ticket » Login