Microsoft Wordの改ページと改行が日本語で通知されない
もう少し調べてみました。
本家ベータ版 2013.1 beta1 (本家 main 5935) ではこの現象は起きませんが、その後の本家スナップショット main 5974 や 2013.1-5975 は「言語の自動切り替え」の影響を受けるようです。
main 5939 で本家チケット 2047 の作業がマージされたことが影響しているようです。
半角セミコロンなどの記号も「言語の自動切り替え」の影響を受けて、英語の表記で読み上げています。
また JTalk2 を使うと、セミコロンやラインフィードの部分を英語の eSpeak の声で通知しています。
本家チケットにいただいたコメントでは「文書のセクションが英語という属性で記述されていれば、改行や改ページなどの特殊記号も英語で読み上げる」という仕様だそうです。
この仕様の妥当性には疑問があるのですが、本家のチケット2047の要望を満たすために行われた改良であるため、もし変更を希望するなら、どのような変更を希望するか、意見を集約する必要があります。
改行コードがコンテンツの言語に依存するかどうかは、議論の余地があると思います。
しかし、セミコロンなど半角文字を英語音声で読むことに関しては、違和感を感じるのは日本語ユーザーだけかも知れません。
Microsoft Word の機能について私が確認した範囲では、Word 文書ファイルの言語属性には、文字コードで自動的に決まってしまい、ユーザーに変更できないものがあるようです。
改行文字やセミコロンなどは、言語ツールバーで「英語(米国)」と表示されており、ユーザーが「日本語」と指定し直しても反映されません。
HTML形式で保存すると半角セミコロンには <span lang=en-us> が付与されています。改行文字の言語属性は文書ファイルからは確認できていません。
以上は Windows 8 + Word 2013, Windows 7 sp1 + Word 2010, Windows XP sp3 + Word 2003 の3つの組み合わせで確認しています。
ただし、もしかすると Windows の言語設定、Word の設定に依存するかも知れません。また、Word 日本語版だけ特殊な処理がされている可能性もあります。
開発スナップショット jpdev130326 https://dl.dropbox.com/u/62564469/nvda_snapshot_jpdev130326.exe
本家チケット 2047 http://www.nvda-project.org/ticket/2047#comment:22 で報告されたとおり、私の報告を考慮した修正が行われました。
具体的には Python の文字列メソッド isspace() で真になるものについては、コンテンツではなく、ユーザーインタフェースの言語で読み上げる、という実装です。
Word 2013 で確認したところ、タブ、改行、改ページは、言語の自動切り替えが有効のときにも日本語で読まれています。
この仕様が適切かどうか報告してほしい、と依頼されているので、(本家スナップショットでも確認すべきですが)、上記の日本語版スナップショットを作りました。
お気づきの点があればお知らせください。
NVDA 日本語ベータ版 2013.1jp-beta1 で Microsoft Word の文書ファイルに含まれる改ページと改行が日本語ではなく "page break", "line feed" と通知されています。
これは音声設定の「サポートされている場合に言語の自動切り替え」が無効のときには起きていないようです。
本家ベータ版 2013.1 beta1 と Haruka Desktop ではちゃんと「改ページ」「改行」と通知されているので、日本語化に起因する不具合の可能性が高いです。
これらは「記号読み上げ辞書」の en および ja ロケールに以下のように定義されている記号です。