改定による影響についての考察

TAD仕様はデータ互換性の根幹をなすもので、仕様改定については過去との互換性について事実上問題ないことを確認する必要がある。

1. 改定に伴い動作が異なる文例

TRONプロジェクトで把握している「改行」の実装例がいままでなかったため、「改行」と関連する「行頭移動指定付箋」の動作を伴うTADデータは、基本的には存在していないと考えることができる。

しかしながらTAD仕様書 Ver 1.40の改定にともなって、動作が従来と異なる例がないかを検証しておく必要がある。その例として、行の途中に「行揃え」の指定や「行間隔」の指定を入れている場合がある。これはTAD仕様書の行書式指定付箋の項のはじめの部分および、各指定付箋のところに書いてある下記による効果による。

行書式指定付箋は、行書式に関連する付箋であり、必ず行または段落の区切りに存在する。行または段落の区切りでない場合は、この付箋の直前に行または段落の区切りがあるものと見なされる。

行揃え指定付箋 : 基本レベル
行揃えの方法を指定する。行の区切りとなる。

行間隔指定付箋 : 基本レベル
行の間隔を指定する。行の区切りとなる。


字下げの効果を果たす「行頭移動指定付箋」は「行書式指定付箋」の一つである。行の途中に「行揃え」の指定や「行間隔」の指定を入れると、上記の第二パラグラフおよび「行揃え指定付箋」、「行間隔指定付箋」の説明にあるように「改行」が直前にあると解釈するよう規定している。


例2

仕様改定前は、「行間隔指定付箋」の直前に「改行」があると解釈し、この暗黙の「改行」により「行頭移動指定付箋」の効果は終了し、[d]のようになる。

改定後では、暗黙の「改行」においても「行頭移動指定付箋」の効果は終了しないので、[e]のようになる。

2. 改定に伴い動作が異なる文例の蓄積があるか

このような例文においては、仕様の改定により動作が異なる現象を生じる。しかしながら、これらの例文をつくるには、暗黙の「改行」の効果のある付箋をわざわざそこに入れる必要があり、しかもこのような例文はTADの本来のデータ形式として望ましい形ではない。
(イ) 基本文章エディタの清書モードでは、「行揃え」の指定や「行間隔」の指定が行の途中に入るこ
  とはない。原稿モードや詳細モードで付箋を移動や複製しないとこのような形にはならない。
  つまり、作ることはできるが、通常の使い方ではない。従って、このような形のデータが大量
  に蓄積されている可能性は低い。

(ロ) この使い方は副作用を積極的に利用したもので、TADデータとして蓄積するのに適切でない。そ
  の理由は以下のとおり。
再度仕様書の行書式指定付箋の項のはじめの部分の記載

行書式指定付箋は、行書式に関連する付箋であり、必ず行または段落の区切りに存在する。行または段落の区切りでない場合は、この付箋の直前に行または段落の区切りがあるものと見なされる。

行書式指定付箋は「必ず行または段落の区切りに存在する」必要があるというのが、仕様書の主旨であり。つまり、TADとして蓄積するなら、行書式指定付箋は「必ず行または段落の区切りにあるようにすべきである。(できてしまうことと、すべきことは別) [d][e]の例の様なTADデータでは蓄積すべきではない。

なぜなら、[f]の様に[行間隔]をもうひとつ追加した場合、もし二つの[行間隔]の指定値が同じだった場合、後ろの[行間隔]は[g]のように消えてしまう。


例3
つまり、[行間隔]の副作用を「改行」代わりに使っていた場合、このような現象が生じてしまい「改行」を入れていたはずの情報が消えてしまいう。これが、TADデータとして蓄積するのに適切でない理由である。

なお、このような形式の文書を大量に蓄積し、仕様改定により問題が生じている方はwebmaster@tron.orgまでご連絡をください。


戻る