日本語点訳における数字と記号の問題
github issue を作成 https://github.com/nvdajp/nvdajpmiscdep/issues/22
\1,500.01 のように半角円マーク(バックスラッシュ)、数字、カンマ、ピリオドが混在する場合について、 特に NABCC でないモードにおいて、現状を確認してみます。
現状の実装では、半角円マーク(文字コードとしては半角バックスラッシュと同じ)を 含む文字列は「情報処理点字」として処理されます。 コマンドプロンプトでファイル名などを扱う場合に都合が良いからです。 ただし NABCC モードではすべて NABCC になります。
具体的には
\1,500.01 半角バックスラッシュ 1 カンマ 500 ピリオド 01は以下のように変換されています。
情報処理点字開始 円マーク 数符 数字 1 情報処理記号のカンマ 数字 500 情報処理記号のピリオド 数符 数字 01 情報処理記号の終了
つまり
6 236 1246 3456 1 5 15 245 245 256 3456 245 1 6 356という感じです。
この "1,500.01" という数字に半角円マークがくっついていない場合は、 通常の記号の体系になり、カンマは3,ピリオドは2になり、 ピリオドの直後の数符も省略されます。
これについては、こういう仕様だとご理解いただきたいのですが、 なにか間違っていたらご指摘いただければありがたいです。
全角または半角のコロンに続く数字をマスあけしないように変更。 https://github.com/nvdajp/nvdajpmiscdep/issues/22
議論ができていませんが、対策済みとさせてください。
シングルクオートを含むアルファベット文字列で、 シングルクオート記号が消えてしまう問題への対応を検討中。
既存のテストケースを変更したくないので、 シングルクオートや疑問符を含む場合だけ外国語引用符を使う、という規則を試している。
外国語引用符の中の疑問符が正しくないという問題も把握しているが、未解決。
{ 'text': "Hello! It's Patty. Is Kate there", 'input': "⠦Hello! It's Patty. Is Kate there⠴", }, { 'text': "Is Kate there?", 'input': "⠦Is Kate there?⠴", }, { 'text': "what's new", 'input': "⠦what's new⠴", 'inpos2': [0,0,1,2,3,4,5,6,7,8,9,10,11,11], 'inpos1': [0,1,2,3,4,5,6,7,8,9,10,11], 'inpos': [0,0,1,2,3,4,5,6,7,8,9,10], }, { 'text': "how are you", 'input': "how are you", },
記号の処理について点訳エンジンの見直しをしているのですが、 いままで保守してきた規則のデバッグが難しくなってきました。
この機会に「日本における英語点字の表記」(2015年9月)の内容を部分的に検討させてください。
具体的には下記の部分です。
(引用ここから)
数符の効力に関しては UEB の規則を準用する。 すなわち、数符の効力は数字及びコンマ・ピリオドが連続する間継続し、 それ以外の記号やマスあけで終わるものとする。 UEB の規則の方が明確で、曖昧さをなくせるからである。 小数点は、 UEB の書き方に従い、ピリオド(256)を用いる。
(引用ここまで)
他の規則を見直すかどうかはまだ決めていませんが、 2016.2jp リリースまであまり時間もないので、 今回は数符の規則だけにしようかと思っています。
ご意見があればお聞かせください。
jpbeta160520 で確認しているエラー:
ERROR - core.Notify (23:14:26): errors in this core pump cycle Traceback (most recent call last): File "core.pyo", line 355, in Notify File "braille.pyo", line 1838, in pumpAll File "braille.pyo", line 1710, in handlePendingCaretUpdate File "braille.pyo", line 1716, in _doCursorMove File "braille.pyo", line 1055, in update File "braille.pyo", line 527, in update File "synthDrivers\jtalk\translator2.pyo", line 1356, in translate File "synthDrivers\jtalk\translator2.pyo", line 1304, in translateWithInPos2 File "synthDrivers\jtalk\translator2.pyo", line 1255, in japanese_braille_separate File "synthDrivers\jtalk\translator2.pyo", line 497, in should_separate IndexError: string index out of range
jpbeta160521 で確認している問題:
2016.1jp の点字出力について下記のご指摘をいただきました: