Re: JLreq TF meeting notes 2022-9-20

木田 様
みなさま

 小林 敏 です.

  kida@mac.com さんwrote

>敏先生、
>
>> これを読んで,ルビの処理は行間注敵の処理を含めて一般化した処理方法を記述で
>> きるのでは,と思いつきました.
>
>一般化した処理、良いですね!
>
>このようにすると、分割しても長さが変わらなくできますか?

分割するかどうかという問題以前に,ルビと親文字の位置関係や前後の文字との関係で,ルビと親文字の全体の行中の行送り方向のサイズ(以下,ルビ群の長さという)は,以下のような事項に影響され,ルビ群の差長さは変わってきます.

前後に配置する文字:これによりルビと親文字の位置関係も,前後の文字にどこまで掛けてよいかも変化し,特に親文字の字間を空ける場合にはルビ群の長さは変わる
 
*InDesignでは,まず,親文字もルビもベタにしたところで,前後の文字にルビがどれだけ掛けるを決め,それで解決できない場合は,親文字列の字間を空ける処理を決めているようだ.私の立場でいうと,これでOKの場合もあれば,OKでない場合もある.ルビと親文字の位置関係を理想的な配置を決め,そのうえで,前後の文字へのルビが掛かってよいかを決める.はみ出しが掛かってよい範囲内であれば,そのまま.掛かってよい限界を超えている場合は,限界までルビを掛け,そのうえでルビと親文字の位置関係の修正を行い,親文字の字間及び親文字列と前後の文字との字間を決める.

行頭または行末の配置:この場合では,一方は前後に配置する文字の問題がでる.

こうしてみるとかなり複雑です.ですので,“Rules for Simple Placement of Japanese Ruby”では,こうした問題をほぼ無くして,ルビ群の長さは,そのルビと親文字の組合せがでてきた段階で決定され,前後の文字種や行頭・行末の位置ということでルビ群の長さは変わりません.

そう考えると,かりに分割しない場合でも,分割する場合でも,ルビ群の長さは,上記の複雑さに比べれば,処理数(複雑になるのは,親文字とルビ文字の組合せが増えるという問題)は植えるが,複雑さは,そんなに出てこないように,私は思うのですが,どうでしょうか.

なお,熟語ルビでは親文字は多くて5文字です.グループルビの親文字で10字超える例はありますが,ある程度の範囲で収まると思われる(それを超えるルビは,行間注と考えるのがよいでしょう).私の考える行間注は,親文字の字間を空けることは考えていません.そして,親文字もルビも,約物等の例外はありますが,どこでも分割できるというものです.

>1, 2, 3, 4, 6 に選択の余地とデフォルトがありますが、このうち特に重要なもの、
>もしくはあまり重要でないものはあるでしょうか? 1, 3 はアクセシビリティに重要そうですね。

そうです.1と3はアクセシビリティに重要で,その要望があります.実現してほしい事項です.

2は,それほど重要ではありませんが,ルビを色文字にしたいというアクセシビリティ面からの要望もあるので,無視できないでしょう.

この2を補足すると,活字組版時代は,ルビ文字にゴシック体がなかったことがある.したがって,本文がゴシック体の文字に明朝のルビが付いた例がある.今日では同じフォントにしています.なお,ルビ文字については,同一のフォントでも,ルビ専用の文字を持っているフォントもあるので,こうした例では,フォントの設定も必要になるかもしれない.また,ルビ文字は小さくなるので,ルビ文字のウエイト(線の太さ)を変えたい,という要求も出てくるかもしれない.

6は,いわゆるルビと行間注を含めた規定にするかどうかふが問題で,行間注を規定するかどうかによります.それを含めないのであれば,6は問題にならない.含めれば必須です.

*いわゆるルビと行間注の区別を付けるのに“平均アキ”という用語を使用していますが,“そろえ”の指定がなければデフォルトで,いわゆるルビということでもよい.

なお,以下では行間注を含めて規定を考えていますが,いくつか問題点が残っており.もうすこし考えないといけないと思っています.でも,こうすれば行間注を含めた規定もできるよ,という見本を示した段階とお考えいただければと思っています.

>> 2022/10/28 13:10、Kobayashi Toshi <binn@k.email.ne.jp>のメール:
>> 
>> 木田 様
>> みなさま
>> 
>>  小林 敏 です.
>> 
>>  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 Saturday, 29 October 2022 04:36:54 UTC