チケット #35037

英語環境で使う場合の文字説明の処理

登録: 2015-04-01 17:12 最終更新: 2015-11-13 15:06

報告者:
担当者:
(未割り当て)
チケットの種類:
状況:
完了
コンポーネント:
(未割り当て)
マイルストーン:
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

英語環境で日本語版を使うと文字説明の処理でエラーが出ているので記録。

2015.1jp では下記の状況だが 2015.2jp で文字説明のコードをいじっているのでもう一度確認が必要。

ERROR - scriptHandler.executeScript (17:09:53):
error executing script: <bound method Dynamic_IAccessibleEditWindowNVDAObject.script_caret_moveByCharacter of <NVDAObjects.Dynamic_IAccessibleEditWindowNVDAObject object at 0x042D2A50>> with gesture u'left arrow'
Traceback (most recent call last):
  File "scriptHandler.pyo", line 176, in executeScript
  File "editableText.pyo", line 141, in script_caret_moveByCharacter
  File "editableText.pyo", line 103, in _caretMovementScriptHelper
  File "editableText.pyo", line 89, in _caretScriptPostMovedHelper
  File "speech.pyo", line 802, in speakTextInfo
  File "speech.pyo", line 182, in speakSpelling
  File "speech.pyo", line 230, in _speakSpellingGen
  File "characterProcessing.pyo", line 185, in getCharacterDescription
LookupError: en

チケットの履歴 (10 件中 3 件表示)

2015-04-01 17:12 更新者: nishimoto
  • 新しいチケット "英語環境で日本語版を使うと文字説明の処理でエラーが出る" が作成されました
2015-06-03 21:50 更新者: nishimoto
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2015-06-03 21:50 に更新されました
2015-06-03 21:51 更新者: nishimoto
コメント

間違えて batch modify したので、再オープンして 2015.3jp にマイルストーン再設定。

2015-08-06 17:30 更新者: nishimoto
コメント

本件は次のバージョンに持ち越し。

2015-09-02 18:12 更新者: nishimoto
  • 概要が更新されました
  • チケットの種類バグ から パッチ に更新されました
コメント

チケットの検討範囲がすこし変わるが、 日本語を母国語としないユーザーが NVDA 日本語版を使う状況にフォーカスして改善を検討。 (エラー発生などが再現できたらあわせて対応を検討する)

Windows 8.1 で Windows を英語環境にして、 DualVoice アドオンを使うと、SAPI5 音声エンジンでいちおう環境は作れる。 このときに NVDA の言語は英語になるが、文字説明は「ハンカク エー」のようになる。 この場合の文字説明は「half shaped a」が適切と思われる。

2015-09-02 18:33 更新者: nishimoto
コメント
2015-09-03 14:36 更新者: nishimoto
  • 解決法なし から 修正済み に更新されました
  • マイルストーン(未割り当て) から 2015.4jp (完了済み) に更新されました
コメント

だいたい作業が終わったので、2015.4jp をマイルストーンに。

主な変更点:

  • 音声エンジンの言語ではなく、システムの言語で動作を切り替える修正(そのほうが DualVoice アドオンなど文字コードで音声エンジンを切り替えるツールと相性がよい)
  • システムの言語が日本語でない場合は、かな漢字変換の「半角」「全角」などの文字属性の説明を「half shaped」「full shaped」のように英語で通知する。
  • NVDA+ピリオド3回(ラップトップ)の文字説明の処理を、システムの言語が日本語でない場合はオリジナルのNVDAのような動作に。
  • メモ帳で NVDA+Tab 2回押しのような場合に、"katakana" "hiragana" などの文字属性の説明を不必要に1文字ずつ区切らないような修正

Windows 7 で SAPI 5 の英語と日本語のエンジンが利用できて、DualVoice が入っている場合は、下記の設定で動作を確認している。

  • Windows 7 日本語環境
  • NVDA General Settings > Language : English (en)
  • Synthesizer : Dual Voice 3.0
  • Voice : Microsoft Anna English United States
  • Variant : Hanako (ドキュメントトーカー)
  • Use first voice for non-Latin : unchecked
  • Read numbers and punctuations based on context : checked
  • Give priority to Latin : checked
  • Automatic language switching : checked
  • Trust voice's language : checked
  • Use spelling functionarity : checked

この構成だとメインの音声が英語音声なので、NVDA は 「英語として読むことができる情報はなるべく英語で読む」 「英語として読めない文字や情報だけを日本語音声で読み上げる」 という動作になる。

カナ漢字変換中に全角のカギカッコをうまく読まない、といった細かい不具合は 残っているが、いままでよりも破綻が少なくなったと考えられる。 また、日本語環境での動作はいままでと変化ないはずである。

2015-09-05 20:59 更新者: nishimoto
コメント

カナ漢字変換中に全角の記号を読まない問題は、DualVoice でしか起こらない問題。 現状だと文字コードで声を切り替える音声エンジンの実装は DualVoice と Vocalizer くらいなので、 あまり NVDA 側で work around をしすぎるのはどうかと思われる。

プライマリ音声を Anna にして、句読点記号辞書の編集をすると「英語」の記号辞書が開くので、 そこで全角句点、全角読点、全角カギカッコなどに、それらしい英語の replacement をつければ、 まあまあ期待した状況を作ることはできる。

2015-09-10 22:06 更新者: nishimoto
コメント

英語言語用の記号読み上げ辞書に全角の句読点や括弧などを追加するのは、 NVDA 日本語版の独自拡張として、やってもよさそうな気がしてきた。

ちなみに Unicode 規格では全角のテンやマルは 'IDEOGRAPHIC COMMA' 'IDEOGRAPHIC FULL STOP' という名前らしい:

http://www.fileformat.info/info/unicode/char/3001/index.htm

http://www.fileformat.info/info/unicode/char/3002/index.htm

2015-11-13 15:06 更新者: nishimoto
  • チケット完了時刻2015-11-13 15:06 に更新されました
  • 状況オープン から 完了 に更新されました

添付ファイルリスト

添付ファイルはありません

編集

このチケットにコメントを追加するには、ログインが必要です » ログインする