Re: [jlreq] 落語ネタ:ルビという小さな虫 (#323)

ルビに似た組版処理に行間に配置する注がある.行間注などと呼ばれている.歴史の教科書など用語や人名に簡単な説明を付ける場合に利用されている例を見かける.また,小説などで,複数の説明を同時に行うために利用される例もある.注の形式にはいろいろあるが,縦組の頭注・脚注,横組のサイドノートなどに比べると,行間注は少ないと思われますが,ある意味で便利な注の形式ですので,根強い要望はあるでしょう.

注というものは,できるだけ近くにあると,すぐに参照できて,たしかに便利である.割注の要望が根強いのも,そうした理由からであろう.しかし,確実に参照が予定され,しかも,分量が短い場合は,それでもよい.しかし,注は必ずしも参照されるわけではなく,あると,読んでいく際の妨げになる場合もあり,注を邪魔に感じる場合もある..その意味で,近くにあるのが望ましいが,本文の読んでいく際の妨げにならないようにしてほしいという矛盾した要求がある.この要求を比較的に満たしているのが横組の脚注であり,縦組の傍注である.横組の注として最も多いのは脚注形式であるのは,そんな理由があるからだろう.縦組の傍注は,かつては組版処理が面倒であることから,あまり見かけなかったが,最近はやや増えているように感じている.

注として,比較的に多いのが巻末にまとめた後注である.これは参照するのに少し手間がかかるという欠点がある.でも,あまり参照されない注では利用価値がある.私が読む書籍では,この後注が多い.そこでどうしているかといえば,本文を読む前に,あらかじめ後注をざっと眺めておき,参照の必要性を前もって判断しておく.必要ないと思えば,いっさい参照しない,本文の内容により部分的に参照する,常に参照するという方法を使い分けている.参照される必要性が少ない場合は,利用価値があると思っている.

このように注というものは一筋縄にいかないもので,注の形式の選択は,著者なり編集者の判断が大切である.

話がすこしずれたが,本題の行間注の必要性であるが,私はあまり高いとは思っていない.

もしこの行間注を実現するとした場合は,以下の3つが考えられる.
 1 ルビの機能を拡張して,行間注が利用できるようにする.
 2 ルビの機能を拡張するが,モノルビ,グループルビ,熟語ルビに追加して新たに行間注(名前を注ルビとでも変えてよい)を追加する.
 3 ルビの機能とは別に,あらたに行間注の機能を追加する.
2の方法では,親文字として位置だけが指定されたものとすれば,他のルビ形式から区別できる.ただし,親文字列を選択できないという欠点がある.なにか親文字列の指定で区別できれば,この欠点はなくなる.

私は,もし行間注の機能を実現したいのであれば3が望ましいと思っている.それは,ルビの機能から考えて,かなり無理を行わないといけないからである.つまり,ルビとは,その組版処理の内容について,相当に異なっている,といえるからである.

以下,その違いを考えてみる.

まず,親文字について

ルビの場合の親文字は,文字1字か,複合語を含めた単語である.ですから親文字の長さはある程度の長さにとどまる.また,グループルビでは親文字列の分割は許されていない.
これに対し,行間注の場合,多くの対象が考えられ,1字の文字,単語だけでなく,文,さらには段落全体も対象になる.当然に親文字列の2行にわたる分割も可能にしておく必要がある.親文字列を指示する方法は,親文字列を具体的に指示するだけでなく,位置だけが指示されていてもよい.

次にルビまたは行間注のテキスト

ルビの場合,文字種はある程度は限られている,また,モノルビやグループルビではルビ文字列の2行にわたる分割は禁止されている.熟語ルビでも,各親文字ごとに対応したルビのまとまりについては分割できない.

これに対し,注記に使用する文字種も様々である.となると文字間のアキなど,行処理にともなう種々の禁則処理を決めないといけないし,2行にわたる分割できる位置も問題となる(原則として本文と同じでよい).

また,ルビでは,親文字との対応は強く,親文字列からはみ出したルビ文字列が親文字列の前後の文字に掛からないのが望ましい(ある条件で,限られた範囲では認める場合がある).これに対し,行間注では,そのような条件を付けると組版処理が不可能になる場合もでてくる.

行間注(以下,注ルビという)の配置処理についても,ルビとは大きく異なる.以下に行間注の配置処理の方法について簡単にまとめておく.

1 注ルビの行送り方向の配置位置は,先頭側をデフォルトとして,指定により末尾側にも配置できるものとする.(縦組では右側,横組では下側の例があるので)

2 注ルビ文字列と指定された親文字の前後の文字に対し,行送り方向のそれぞれの文字の外枠を接して配置する.ただし,指定により空けることを可能にしてもよい.

3 注ルビ文字列の字間処理は,本文と同じとする.ただし,先頭又は末尾に配置する括弧類,句読点の前又は後ろの二分アキは確保しないものとする.また,2行に分割する場合の処理は,本文の処理と同じとし(つまり,2行への分割な可能な位置では分割できる),行末にアキがでた場合には,そのアキを確保し,行の調整処理は行わない.

4 注ルビの親文字に対する字詰め方向の配置位置は,次とする.デフォルトは4.1とする.
4.1 親文字の位置に対し,注ルビ文字列の字詰め方向の中心をそえる.
4.2 親文字の位置に対し,注ルビ文字列の字詰め方向の先頭をそろえる.
4.3 親文字の位置に対し,注ルビ文字列の字詰め方向の末尾をそろえる.
 *末尾を選べば,行間に配置する注番号も,これで処理できます.

5 注ルビ文字列が親文字のある行の先頭又は末尾よりはみ出した場合は,次の順序ではみ出した注ルビ文字列を配置する.
5.1 注ルビ文字列の字詰め方向の中心をそえる場合は,親文字の位置から両側に延ばし,行の先頭又は末尾を超えるときは,親文字の逆方向の前又は後ろに延ばし,それでも配置できないときは,段落の先頭行の先頭及び末尾行の両方向に延ばす.段落の先頭行の先頭又は末尾行の末尾に達した場合は,逆方向に延ばす.
5.2 注ルビ文字列の字詰め方向の先頭をそえる場合は,親文字の位置から末尾側に延ばし,行の末尾を超えるときは,その行の前方向に延ばし,それでも配置できないときは,段落の末尾側の行に伸ばし,段落の最終行の末尾に達したときは,先頭側に延ばす.
5.3 注ルビ文字列の字詰め方向の末尾をそえる場合は,親文字の位置から先頭側に延ばし,行の先頭を超えるときは,その行の後ろ方向に延ばし,それでも配置できないときは,段落の先頭側の行に伸ばし,段落の先頭行の先頭に達したときは,末尾側に延ばす.
なお,注ルビ文字列が,段落の先頭及び末尾よりはみ出した場合は,上記と同様にして,前後の段落に延ばす.


-- 
GitHub Notification of comment by KobayashiToshi
Please view or discuss this issue at https://github.com/w3c/jlreq/issues/323#issuecomment-1013614717 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Saturday, 15 January 2022 05:16:40 UTC