Re: JLreq TF meeting notes 2022-9-20

木田 様
みなさま

 小林 敏 です.

  kida@mac.com さんwrote

>Chrome では親文字列、ルビ文字列をそこでそのまま折り返す方法を使うようです。これが許容できるかどうかも。
>[img:スクリーンショット 2022-10-27 18.19.50.png]

行間注的な処理であれば,ルビ文字列の折り返しは,考えていいのではないかな.ただし,全部その方法で処理するのは,いやだという人はでるでしょう.

これを読んで,ルビの処理は行間注敵の処理を含めて一般化した処理方法を記述できるのでは,と思いつきました.もちろん,モノルビ,グループルビ,熟語ルビの種類(用語)は採用しない(ただし,以下の説明では,処理方法を引用するための,これらの用語を使用する).行間注という用語も使用しない.また,具体的な処理はできるだけ簡略にする.ただし,親文字とルビの対応については,場合分けを行うので,その点では複雑になる.

要旨を示すと,以下のような内容になります.

1 ルビ文字の文字サイズは指定による.ただし,デフォルトは親文字サイズの1/2とする.
2 ルビ文字のフォント,その他の装飾は指定による.ただし,デフォルトは親文字と同じにする.
3 ルビ文字と親文字の行送り方向の間隔(行間)は,指定による.ただし,デフォルトは行間をゼロとする.
4 ルビ文字を同一行内で折り返して2行以上にする場合の行間は指定による.ただし,デフォルトは行間をゼロとする.
5 ルビ文字に使用する文字種は,特に制限しない.漢字や約物も使用できるものとする.

6 親文字とルビの関係は,大きくは以下の2つとする.
6.1 親文字の配置位置関係を平均アキとする場合(これをデフォルトとする,いわゆる従来のルビ処理)
6.2 親文字の配置位置関係を以下とする場合(いわゆる行間注的な処理である,いわゆる従来のルビ処理でも使用できるが,親文字・ルビ文字でどこでも分割されてしまうという問題がある)
 a 行頭そろえ
 b 行末そろえ
 c 中央そろえ
 d 均等割り
 *均等割りは,親文字列とルビ文字列の短い方の字間を均等に空け,短い方の先頭及び末尾を長い方の先頭及び末尾にそろえる.なお,文字列中に全角でない文字を含んでいても,また,約物を含んでいても,アキは均等とする(あまり,こまかいことは問題としないが,処理系で細かく間上げる処理方法を採用することは否定しない.以下の字間を均等に空ける場合も同様とする.
 **この4つの処理は,CSSでは,具体的に採用されているそうですので,あらたに説明する必要はないのではないかな.)

7 平均アキとする場合は,以下とする.
7.1 親文字が1字の場合 
 “Rules for Simple Placement of Japanese Ruby”(以下,“Simple  Ruby”という)のモノルビの処理による.
7.2 親文字が2字以上の場合
7.2.1 ルビ文字が1字の場合
 親文字列とルビ文字列の中心をそろえて配置する
7.3 ルビ文字が2字以上の場合
7.3.1 ルビ文字を区切っていないない場合
 “Simple  Ruby”のグループルビの処理による.
7.3.2 ルビ文字を各親文字に対応し,区切っている場合
7.3.2,1 親文字列とルビ文字列の全体を対応させ,ルビ文字列の中に区切りが示されている場合
 “Simple  Ruby”の熟語ルビの処理による.
7.3.2,2 親文字列の各文字とルビ文字列の各ルビを対応させ,全体を1つのまとまりとして示した場合,
 親文字列の各文字とルビ文字列の各ルビについて,“Simple  Ruby”のモノルビの処理による.(熟語であるが,各親文字ごとのモノルビとする方法です.)

8 平均アキ以外及び親文字の文字列の長さがゼロ(親文字がempty)の場合は,以下とする.
 *親文字の文字列の長さがゼロ(親文字がempty)とは,いわば位置だけが指示されている場合です.注記を考えると,このケースも考えられます.
  Github jlreq-dの“行間注の処理 #10”による.
ただし,1行内で折り返す処理方法も追加する.
また,ルビ文字列の基本的な字間処理は,親文字(本文)と同じにする.
なあ,折り返す場合,以下を考慮する.
 —行頭・行末そろえ(ジャスティファイは考えない.)
 —行末そろえ,中央そろえは,ルビ文字列が行末に達したら,逆方向への延長を行い,それを超えた場合は,2行に折り返す.
 —折り返した複数行の行そろえは,行頭そろえ,行末そろえ又は中央そろえとする.
 —均等割りの場合は,親文字のルビ文字列のいずれかが,行頭又は行末よりはみ出した場合は,中央そろえと同じ処理とする.

Received on Friday, 28 October 2022 04:38:07 UTC