nvdajp_braille

ドライバ関連

since 2010-12-30

nvdajp を点字ディスプレイに対応させる作業。

@hoozukiyama さんの報告に基づくメモ。

KGS の DirectBM.dll を使用している。

成果
1.点字変換辞書の作成(カナ、数符、アルファベット大文字、アルファベット小文字)
2.数符、外字符、外字符内大文字と小文字の状態遷移の処理実装
3.ピンディスプレイキー入力コールバック処理への機能追加(ファンクションキー、タッチカーソル、矢印、6点字などの入力)
4.ピンディスプレイへの文字列パターン出力処理の実装(全角文字列→出力パターン)
5.上記4点の機能を実験レベルでNVDA実装

課題
1.半角文字の処理。
2.漢字、平仮名を含む文字列を分かちされたカタカナ文字列に変換。(mecabの使用を検討)
3.Windows側のUI通知のピンディスプレイ出力処理。
3.ピンディスプレイ側の入力通知をWindows側の処理に反映(sendkeyの発行)
4.初期化、終了処理の実装
5.ユーザーインターフェイスの作成

2011.1.1j での試験的実装

since 2011-06-13

Wakach.py の Mecab_split

  • 品詞名を見ている。記号、空白は rr, ss へ
  • ss「空白」→ s2 に " " を追加
  • ss「数」 → 表記を正規化して変化の有無をチェックする。
    • 変化あり → 表記(フィールド0)を使う
    • 変化なし → フィールド9 を使う、空白を追加
  • naist-jdic には「記号」「数」として全角「、」や「・」が含まれているので注意が必要

要検討事項

  • jdic 単語をさらに分割すべき場合がある
  • jdic 単語を複数連結するべき場合がある
  • 英数・記号などの切り替えが必要で、品詞から判定できない場合がある

mecab 処理のリソース重複を避けてメモリを節約する必要も?

ダミードライバ

since 2011-07-08

下記のような nvdajp_dummy.py を作ってみた。

import braille          
import ui		
import queueHandler	
from logHandler import log
from ctypes import *
from ctypes.wintypes import *
 
class BrailleDisplayDriver(braille.BrailleDisplayDriver):
	""" nvdajp dummy braille in NVDA.
	"""
	name = "nvdajp_dummy"
	description = _(u"nvdajp dummy braille")
 
	@classmethod
	def check(cls):
		return True		
 
	def __init__(self):
		log.info("initializing nvdajp_dummy_braille")
		super(BrailleDisplayDriver, self).__init__()
 
	def terminate(self):
		log.info("terminating nvdajp_dummy_braille")
		super(BrailleDisplayDriver, self).terminate()
 
	def _get_numCells(self):
		log.info("_get_numCells")
		return 40
 
	def display(self, cells):
		log.info("display %d" % len(cells))
		s = " ".join("%d" % cell for cell in cells)
		log.info(s)

下記のようなログが得られることを確認した。

INFO - brailleDisplayDrivers.nvdajp_dummy.BrailleDisplayDriver.display (11:24:34):
display 40
INFO - brailleDisplayDrivers.nvdajp_dummy.BrailleDisplayDriver.display (11:24:34):
93 103 89 65 4 115 45 18 52 17 25 4 4 115 45 18 52 3 52 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

ドキュメントの点訳

since 2011-01-06

http://togetter.com/li/82042 その1

http://togetter.com/li/86145 その2

関連情報

brltty と BrlAPI : http://brl.thefreecat.org/

nvda ページにて本家の実装の調査。

チケット1863で点字ディスプレイのドライバが本家にマージされる過程がよくわかる

nvdajp_braille.txt · 最終更新: 2012/04/29 19:24 by Takuya Nishimoto
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0