- From: Nat McCully <nmccully@adobe.com>
- Date: Thu, 9 Apr 2026 03:51:52 +0000
- To: Kobayashi Toshi <binn@k.email.ne.jp>, W3C JLReq TF <public-i18n-japanese@w3.org>, Yasuo Kida <kida@mac.com>, 山本太郎 <enshuritsu31415926@gmail.com>
- Message-ID: <DS1PR02MB10444AB071C4DCC61B95CAB91D7582@DS1PR02MB10444.namprd02.prod.outlook.co>
ナットです。 敏先生のご提案の方向性に賛同いたします。行間を基本とした説明は直感的であり、特に異なるサイズが混在する場合に明快です。 レイアウトエンジンの実装の観点から、いくつか補足させてください。 1. フォント原点とボディ端の関係 デジタルフォントでは、字形の配置はフォント原点(欧文ベースラインに相当)を基準に行われます。日本語フォントでは、この原点はボディ(全角枠)の下端から約12%内側に位置しています。つまり、レイアウトエンジンが特別な処理を行わない場合、行の位置や行間距離はすべてこの12%の位置を基準に計算されることになります。同一サイズであれば問題ありませんが、異なるサイズが混在すると、ボディ間の実際の間隔が意図した値からずれます。仕様においては、測定の基準点がボディ端であることを明示する必要があると考えます。 2. 行間から行位置への変換 行送り(原点間距離)であれば、行位置は単純に前行の原点+行送りで求められます。一方、行間(ボディ間距離)から行位置を求めるには、前行のボディ下端までの距離(原点から約12%)と、次行のボディ上端から原点までの距離(約88%)を加算する必要があります。サイズが異なる場合、これらの値は行ごとに異なるため、次の行のサイズが判明するまで行位置を確定できません。 3. UIにおける挙動の違い 現在、多くのアプリケーションでは行送りをUIに表示しています。行送りの場合、文字サイズを変更しても行位置は変わらず、ボディ間の隙間が変化するだけです。もし行間をUIで使用した場合、文字サイズの変更によって行間の値は変わらないにもかかわらず、後続の行位置がすべて移動することになります。ユーザーにとっては予期しない挙動となる可能性があります。 以上は仕様の方向性に対する異論ではなく、説明の中で実装との関係に触れる際に考慮いただければという点です。 以上です。 Nat McCully | Principal Scientist | Adobe | T 206 675 7351 | C 206 409 0624 | nmccully@adobe.com ________________________________ From: Kobayashi Toshi <binn@k.email.ne.jp> Sent: Wednesday, April 8, 2026 16:36 To: W3C JLReq TF <public-i18n-japanese@w3.org>; Yasuo Kida <kida@mac.com>; 山本太郎 <enshuritsu31415926@gmail.com> Subject: 行の配置の説明 EXTERNAL: Use caution when clicking on links or opening attachments. みなさま 小林 敏 です. 行の配置の説明については,次のように考えたらどうかと,現時点では考えています.ご意見をお寄せください. A 説明は,隣接する行に配置する文字のボディの間隔である行間で行う. 理由1 “段落内の行の配置については,行送りを同一にする”という説明は問題がある.というのは,行送り方向の文字位置を示す“文字そろえ”と“行送りの際の基準点”が同じ場合は,上記の説明でよい.しかし,この2つが異なっている場合,例えば,文字そろえはセンター,基準点が文字の先端(横組でいえば上端)の場合,例えば,10ポ,行間8ポの中に8ポを挿入した場合,10ポの部分の行送りは18ポであるが,8ポの部分は19ポにしないといけない. そもそも,実際には,こうした処理はたぶんしていない.8ポの部分も10ポとまず考え配置し,そのうえで必要な文字そろえの位置に移動させればよい. 理由2 行送りよりは行間の方が直感的で説明しやすい. たとえば,異なった文字サイズの段落が挿入される場合があります.注や引用文などです.この場合,注や引用文の前の段落との行間が問題となります.伝統的な方法は,この行間は本文の行間と同じにするというものです. この説明を行う場合,例えば,本文が10ポ,行間8ポとします.この場合,注や引用文末尾行のボディの末端と注や引用文の先頭行の先端との間を8ポにするということです.これを行送りで説明する場合,文字の基準点が問題となり,文字の中心の場合は,17ポとなり,文字の先端の場合は18ポとなります. 図解して示す場合も行間の方が直感的でわかりやすいでしょう. B 行間,行送り,行高の説明は行わない. C ここでは,あくまで配置された結果だけを示し,具体的な処理方法は問題外とする.その説明も簡単に行っておく必要があるでしょう. D 説明の順序を次のようにする. 1 領域の先頭にどう配置し,次に2行目をどう配置するかという説明は,最初には行わない.面倒な説明は後回しにし,まず1つの段落において,すべてその段落内の同じ文字サイズである場合は,行間を同じにするということを説明する.同じ文字サイズの段落が連続する場合(段落間を空けて,段落を示す場合は除き)も,段落の間の行間も同じにする,という説明を行う(段落間を空けて段落を示す方法は後述する).これは,行間が乱れると,読んでいく際のリズムが壊れ,読みやすさを損なう恐れがあるからである,ということの説明をまず行う. 2 読んでいく際のリズムが壊れないように保つための例外的な処理ともいえる行にルビがつく場合,小さな文字,大きな文字が挿入される場合を説明する.なお,大きな文字の場合,隣接する行に文字などが重なるときは除外すること,この処理は後述する旨も断っておく. 3 その後で,領域の先頭にルビがつく場合,小さな文字,大きな文字が挿入される行がある場合の方法を説明する.これには以下の2つがある.どちらかはアプリケーションの機能や選択による旨を書いておく.また伝統的な方法がなぜ選ばれていたのかの理由も書いておく.それは,版面サイズの行送り方向のサイズを一定に保ち,また,可能であるかぎり行位置をできるだけ指定された位置に配置し,整った印象を与えるためであるといった説明を書いておく.その必要がなければ伝統的な方法でなくてもよくなる,ということも. 1)伝統的な方法 2)その行の先頭(ルビがつけば,その先端,大きな文字は挿入される場合はその先端など)を先端とする. E Dの2の説明などでは,一般的な説明は直感的にわかるように書くことが難しいので,その方法はとらない.具体例を図解し,その図に従って説明を行う. 例えば,ルビの場合,図に示したうえで,ルビのまったくついていない行間(aとする),ルビがついた行のルビのついていない部分の行間(bとする),ルビのついている箇所の行間(cとする)とした場合,aとbを同じとし,cは狭くなるという説明を行う. 以上のように考えています.この方向で何か書いてみることにいたします.
Received on Thursday, 9 April 2026 03:52:05 UTC