[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bep] Braille Environment on Emacs Re: JAWS



n高橋です。

Koichi INOUE writes:

>> ここら辺はどうにかなりそうです。Emacs Lisp で NABCC major mode を書け
>> ば大丈夫でしょう。そんなに難しくなさそうです。

> 1文字挿入するごとにそこから後ろ、後の行に影響が出なくなるまで追い出し
> を繰り返すのでしょうか。

多少の効率化は必要かもしれませんが、基本的にはそうですね。かなり遅くな
りそうだと思われるかもしれませんが、日本語入力時の禁則処理はそれと大し
て変わらないことをやっているのですからあまり心配することはないでしょう。

> ページ行を回りと独立に扱うこととか、私にはまだやり方の想像がつきません。

まずちょっと用語の確認ですが、ページ行っていうのはページ番号とかタイト
ルの書いてある一番上の行のことですよね? 以下そう仮定します。

たとえばページ行を本文とは別のバッファに格納しておき、両者を連動させる
という手はどうでしょうか。たとえば1ページがページ行を除いて10行だとし
ます。このときページ行バッファの中には

1行目に1ページ目のタイトル
2行目に2ページ目のタイトル
3行目に3ページ目のタイトル
…

が書かれるようにします。一方、本文バッファの方は、

1〜10行目が1ページ目の内容
11〜20行目が2ページ目の内容
21〜30行目が3ページ目の内容
…

となります。で、point がページ行バッファのn行目にあるときに C-v する
と、

ページ行バッファの point は n+1 行目に移動
本文バッファの point は n*10+1 行目に移動

するようにするわけです。もちろん本文バッファでカーソルを動かしたときも
ページ行バッファの point が連動するようにしておきます。

>> 6点点字の場合、左側の上から下へ順に1の点、2の点、3の点と呼び、
>> 右側の上から下へ順に4の点、5の点、6の点と呼ぶわけですね?

> 点字の読む側、つまり点が浮き出している側から見てそう数えます。

わかりました。御説明ありがとうございます。

-- 
TAKAHASHI Naoto
ntakahas@...
http://www.m17n.org/ntakahas/