w3c / jlreq-d

Requirements for Japanese Digital Text Layout
17 stars 3 forks source link

メモ1 日本語組版のモデル #2

Open KobayashiToshi opened 2 years ago

KobayashiToshi commented 2 years ago

2.1 日本語組版のモデル JDLReqメモ1_2.txt  2.1.1 字詰め方向と行送り方向  2.1.2 字詰め方向の文字配置のモデル  2.1.3 字詰め方向の文字配置―“アキ”モデル  2.1.4 字詰め方向の文字配置―“送り”モデル  2.1.5 行送り方向の文字配置のモデルの種類  2.1.6 行送り方向の文字配置―“アキ”モデル  2.1.7 行送り方向の文字配置―“送り”モデル  2.1.8 行送り方向の文字配置―行高モデル

kidayasuo commented 2 months ago

Expanded the contents of JDLReqメモ1_2.txt.

●●2.日本語組版の基本 メモその1  ―日本語組版のモデル

行頭の●などは見出しのレベルを示す 行頭の“*”の記号のあるものは注である.

■2.1 日本語組版のモデル

文字を配置する際の基本的な考え方,その説明のモデルには何をもってきたらよいか.ここでは,具体的な説明の前に,そのモデルを示しておく.(実際の組版エンジンがどう処理しているかは考えないといけないが,あくまで説明のためのモデルということで,この点は無視する.)

●2.1.1 字詰め方向と行送り方向

日本語組版では,文字を行に並べる,あるいは行をある領域に並べていく方向(組方向)として縦組と横組がある.そこで,このドキュメントでは,文字または行を並べる方向を示す用語に,縦組・横組に共通する以下の用語を使用する(図〓参照). 字詰め方向:文字を行に並べていく方向.縦組では,上から下への方向,横組では左から右への方向. 行送り方向:行ををある領域に並べていく方向.縦組では,右から左への方向,横組では上から下への方向.

●2.1.2 字詰め方向の文字配置のモデル

文字を行に配置する説明のモデルとして以下がある.  A “アキ”モデル:文字のボディ(文字の外枠)を基本として,文字間のアキで説明  B “送り”モデル:文字の基準位置から次の文字の基準位置への移動量(送り)で説明  C その他:例えば,配置面にグリッドを設定し,そのグリッドにそって文字を配置 説明の方法としてはCは複雑になるので,ここでは除外する.

●2.1.3 字詰め方向の文字配置―“アキ”モデル

“アキ”モデルは,現在のJIS X 4051やJLReqで採用しているモデルである.この場合,和文は正方形のボディが基本であるが,必ずしも全角ではなくてもよく,ラテン文字などは,字幅が文字により異なる.なお,文字のボディを,JIS X 4051では,“仮想ボディ”という用語ではなく,“文字の外枠”という用語を使用しているので,以下でもこの用語を用いることにする. この方式では,基本として文字を正立した場合の文字の外枠の天地のサイズ(以下では“文字の高さ”)と左右のサイズ(以下では“文字の幅”)の情報が各文字に必要になる(図〓参照).横組では,文字の高さが文字サイズ,文字の幅が字幅(文字を配置していく場合に,字詰め方向に占める領域のサイズ)となる(図〓参照).縦組では,文字の幅が文字サイズとなり,文字の高さが字幅となる(図〓参照).

*文字の外枠が全角の場合,文字の高さも文字の幅も同じであるので,文字サイズは文字の高さとしても,文字の幅としてもよい.文字の幅がプロポーショナルの場合,どちらが文字サイズを示すかが問題となる.従来,文字の高さが文字サイズを示すとされてきたが,日本語の文字をプロポーショナルにする場合を考慮すれば,縦組にあっては,文字の幅が文字サイズと考えた方がよいであろう.ただし,ラテン文字については,文字を正立した場合の文字の高さが文字がサイズとなるので,文字を横転した場合は,そのままでよいが,正立させた場合は,文字の高さが文字サイズとなる.

*和文のプロポーショナルな組版では,横組では文字の高さを一定にし,文字の幅が異なり,縦組では文字の幅を一定にし,文字の高さが異なるようにして文字を配置する.

細かい事項を除き,文字の外枠のサイズと字詰め方向の各文字間の情報により,文字を行に配置できる.字詰め方向ではアキ(字間,前の文字における字詰め方向の文字の外枠の末尾と次の文字の外枠の先端の間隔,図〓参照)をゼロにする例は多く,この配置方法をベタ組といい,特に指示がない場合は,この方法で文字は配置される. このモデルでは文字の高さと文字の幅(いってみれば文字の外枠)を想定しないといけないという欠点はあるが,見た目のアキ量で考えればよいので,文字の配置位置が直感的に理解できるという利点がある.

●2.1.4 字詰め方向の文字配置―“送り”モデル

“送り”モデルは,文字の外枠は考えなくても説明は可能になる.文字サイズは,元となる大きさのサイズにある字面を決め(手動写真植字では16級または17級であった),あとは比例計算でサイズを決めればよい(ただし,これだと分かりにくいので,説明として文字の外枠を介しての説明も行われていた).さらに,文字の持っている情報としては,各文字の基本サイズの字面の字詰め方向の大きさ(それは文字の外枠に一杯ではなく,わずかな余白(ラテン文字ではサイドベアリングという),あるいは句読点等では後ろまたは前後の余白を含めた大きさ),または字詰め方向に文字を配置する場合の送り量,および以下で説明する文字の基準位置だけがあればよい. 文字の基準位置は,決まっていれば(一定であれば),どこでもよいが,各文字を配置する際の先端位置(以下ではトップという),または字詰め方向の大きさ(サイズ)の中心(以下ではセンターという)が考えられる(図〓参照).

*各文字の基本サイズの字詰め方向の大きさとは,“アキ”モデルでいう文字の外枠の大きさである.

*活字組版の場合,文字サイズが異なれば,元の字形(原図という)のサイズを変更していたが,文字サイズに応じて単純に比例させないで,各サイズごとに微妙に調整できた.しかし,手動写真植字やデジタルの組版の場合,通常,元の字面を単純に比例させて拡大・縮小する.こうしたフォントの設計では,通常に使用が予想される程度の文字サイズでベタ組にした場合に,望ましい結果になるように設計している.したがって,予想より大きな文字サイズに拡大した場合,字間がアキ過ぎに見える場合もある.こうしたことから,大きな文字サイズの見出しなどでは,字間をベタ組より詰める調整が必要になる場合もある.

“アキ”モデルでいうベタ組にする場合,各文字の保持している送り量が同一であれば,この同じ送り量にすればベタ組となる.例えば,10ポイントの全角の文字をベタ組にする場合は,各文字の送り量を10ポイントにすればよい.しかし前後に配置する文字の保持している送り量が異なれば,トップ方式とセンター方式では異なる.トップ方式では,各文字の保持している送り量で文字を配置していけばよい.例えば,全角である10ポイントの文字,20ポイントの全角の文字,その後ろに14ポイントの全角の文字を配置する場合は,最初の文字を配置し,10ポイントの送り量で次の文字を配置し,さらに20ポイントの送り量で最後の文字を配置すればよい(図〓参照).これに対し,センター方式では,前の文字送り量の1/2の送り+次の文字の送り量の1/2の送り,となる.前述の例でいえば,最初の文字を配置し,15ポイント((10+20)/2)の送り量で次の文字を配置し,さらに17ポイント((20+14)/2)の送り量で最後の文字を配置すればよい(図〓参照). “送り”モデルでは,文字のボディ(文字の外枠)を考えなくてもよいという利点があるが,異なった字幅の文字を配置する場合に,説明が複雑になる.また,文字の基準位置によっては,ある領域の先頭,末尾に配置する際に,ややめんどうな説明が必要になる.

●2.1.5 行送り方向の文字配置のモデルの種類

行をある領域に配置する説明のモデルとして以下がある.  a “アキ”モデル:文字の外枠を基本として,行間のアキで説明  b “送り”モデル:文字の基準位置から次の文字の基準位置への移動量(送り)で説明  c 行高:一定の指定した行の領域(行高)で行の配置領域を設定し,その領域の指定した位置(一般に中央)に配置  d その他:例えば,配置面にグリッドを設定し,そのグリッドにそって文字を配置 説明の方法としてはdは複雑になるので,ここでは除外する.

●2.1.6 行送り方向の文字配置―“アキ”モデル

“アキ”モデルは,現在のJIS X 4051やJLReqで採用しているモデルである. この方式では,基本として文字を正立した場合の文字の外枠の天地のサイズ(文字の高さ,横組の場合),左右のサイズ(文字の幅,縦組の場合)の情報が各文字に必要になる.これらのサイズは,文字サイズに該当する. この方式では,文字の外枠の天地のサイズ(横組),文字の外枠の左右のサイズ(縦組),つまり文字サイズで配置した行と,次の行との間に指定されたアキ(行間)を確保し,ある領域内に行を配置していく(図〓参照).

*行中に異なる文字サイズがある場合,“アキ”モデルでは,どの文字サイズを基準に行を配置してよいかが問題となる.日本語組版では,その段落で指定されている文字サイズを基準に配置していくのが原則である.“送り”モデルでは,指定された送り量で行を配置していけばよいので,“アキ”モデルのような問題は発生しない(ただし,文字の基準位置により調整が必要になる場合もある).

注や見出しのサブタイトルなど,本文とは異なった行間でも,前の行の文字の外枠と次の行の文字の外枠間を指定されたアキ量にすればよい. このモデルでは文字の高さ,または文字の幅.つまり文字の外枠のサイズを想定しないといけないという欠点があるが,見た目のアキ量で考えればよいので,行の配置位置が直感的に理解できるという利点がある.ただし,見出しなどを行の配置位置を基準に設定する“行ドリ”を行う場合,やや複雑な説明が必要になる.

●2.1.7 行送り方向の文字配置―“送り”モデル

“送り”モデルは,文字の外枠は考えなくても説明は可能になる.字詰め方向と同様に,各文字の基準位置だけがあればよい(文字サイズないし各文字の行送り方向の送り量は必須としない).基準位置は,決まっていれば(一定であれば),字詰め方向と同様にトップ方式とセンター方式が考えられる(図〓参照). その他,ラテン文字にならい,ベースライン位置を基準点にする方式も考えられる.ただし,この場合,ベースラインを文字の上下のどこかに設定するかだけではなく,縦組にするためには,文字の左右位置にも設定しないといけない. この方式では,指定された文字サイズが一定で,行間も一定であれば,どこに基準位置があっても,行の送り量を文字サイズ+行間で処理すればよい.しかし,異なった文字サイズ,異なった行間のテキストが挿入される場合,それなりに複雑な送り量の計算が必要になる.字詰め方向と同様に,ある領域の先頭に行を配置する場合も計算が必要になる. なお,字詰め方向と異なり,日本語組版では行間をゼロとするケース(表組のヘッダー等)は少なく,なんらかの行間が必要になる.したがって,行を配置する場合,行の配置の送り量が必須の条件と考えれば,各文字の保持している行送り方向の送り量の情報はなくても行は配置できる.

●2.1.8 行送り方向の文字配置―行高モデル

行高モデルでは,行の前後のアキを含めた密着した領域を行高として確保し,その領域内に文字を配置していく方法である(図〓参照).その領域内の中央に行を配置するのが一般的であるが,領域内の配置位置を変更することも考えられる. この方式では,文字サイズが一定で行間も一定であれば,行高として文字サイズ+行間で設定し,処理すればよい(文字サイズの指示は必須でない). この方式では,“行ドリ”を行う場合,複数の行高で設定した領域を合併すればよく,説明も簡単になる. しかし,後注のように,異なった文字サイズと行間のテキストが段落の間に挿入される場合,それなりに複雑な送り量の計算が必要になる.字詰め方向と同様に,ある領域の先頭に行を配置する場合も計算が必要になる.

●2.1.9 このドキュメントでのモデル

実際の処理では,各モデル,あるいはそれ以外であっても,文字間の位置の変換は可能である.また,このドキュメントの目的は,組版の処理方法を説明するものではなく,組版の処理結果を示すのが主目的である.つまり表現された結果を問題としている. そこで,このドキュメントでは,説明も理解も簡単である,“アキ”モデル(字詰め方向も行送り方向も)とする.ただし,必要に応じて他のモデルによる解説も行う.