This document was written in Japanese by the Japanese Writing Technology Working Group of the Advanced Publishing Laboratory of Keio University.
ラテン文字を主にした組版では,原稿段階で,アキを確保する位置には,ワードスペース(欧文間隔,UCS: 0020))などが挿入され,また,ワードスペースの挿入された位置で分割される(行末のワードスペースはアキを確保しない).“行頭行末そろえ(justification)”が採用され,行の調整処理が必要になった場合にも,このワードスペースの空き量を変更して調整する.
つまり,ラテン文字を主にした組版では,文字間にアキを確保する,あるいは分割,行の調整処理の自動処理が必要になるが,その箇所は原稿に明示的に示されているといえよう.
日本語の行組版処理においては,配置する文字の多くの字間はベタ組であるが,幾つかの文字の組合せ,あるいは行頭に配置する場合において一定のアキを確保する,あるいはアキを調整する処理が必要になる.
例えば,以下のような例がある.
これらの処理箇所は,原稿の文字列(つまりテキスト)において,特に明示的に示されているわけではなく,組版処理の段階で自動的な処理が期待され,実際にも多くの DTP などでは,組版段階で自動処理が行われている.
また,文字を行に配置していく場合,指定された行長に達したときは適当な文字間で 2 行に分割しないといけない(以下,単に分割という).この分割してよい箇所(字間),あるいは分割してはいけない箇所(字間)も,原稿の文字列(テキスト)に明示的に示されているわけではない.こうしたことも DTP などでは,組版段階で自動処理が行われている.
さらに,日本語組版の段落の配置方法として,多くは“行頭行末そろえ(justification)”が採用されている.この場合,行長に過不足が発生した行では,“行の調整処理”が必要になる(“行の調整処理”が必要となる原因と基本的な考え方は JLReq の“3.8 行の調整処理”参照).
この行の調整処理も自動処理が必要になるが,自動処理の方法や箇所は原稿に明示的に示されているわけではなく,あらかじめルールとして処理系で準備しておき,そのルールに従って自動処理が行われることになる.
こうした日本語の行組版処理の内容は,JLReq の以下の節で解説されている.
そして,その詳細は,“3.9 文字クラスについて”で説明されている文字クラスを用いて,次の附属書に示されている.
これと比較すると,例えば,前述したように,英語の組版では,行の分割箇所には,欧文間隔(UCS: 0020)が挿入されており,行の調整処理も,主に欧文間隔の調整で行えばよいので,日本語組版に比べると,それほど複雑ではない.
活字組版では,上記のルールの基本的事項は,出版社と印刷所の慣行として確立していた.必要があれば原稿の冒頭や,原稿指定票で総括的に示される,あるいは原稿の個々の箇所に指示を入れていた.
いってみれば,こうした慣行としてのルールや原稿への指示を前提に,組版担当者の判断により,それぞれの箇所で臨機応変の処理をしていた(校正段階でも,組版処理の内容は点検され,ルール違反があれば赤字で修正が加えられていた).したがって,例外的な文字の組合せにも対応できた.ある意味で,ルールの適用は組版担当者の能力に頼っていたともいえよう.
これに対し,コンピュータでの組版処理では,機械的な処理(自動処理)が必要である.
JLReq で述べた方法は,DTP などでは.ほぼ実現しているが,特別にアキを確保する箇所に組版段階でスペースを挿入する,あるいはアキ量を特別に指示するなど,個別箇所での特別な処理も必要になる.
Web,特にリフローを許す環境では完全な自動処理を考える必要があり,こうした環境では個別処理は避けなければならない.そこで,読みやすさの面での品質を保ちながら,ある程度の組版処理ルールの単純化をはかるが必要も出てくる.
以下は,基本的な要素に限った,そのひとつの処理案である.
なお,ここで解説する組版方法については,このように簡便化された処理法も可能であることを示したものであり,この処理法に限定することを主張するものではない.各処理系での追加機能の工夫,例えば,行の調整処理で詰める調整ができるようにする,あるいはぶら下げ組をオプションで採用できるようにする,といったことを否定するものではない.
字幅が全角の仮名と漢字を用い,これらの字間をベタ組とした場合における句読点と括弧類の原則的な配置方法を[[[#positioning-of-punctuation-and-parentheses-principle]]]に示す.なお,日本語組版においては,通常は行長を文字サイズの整数倍として設定する.[[[#positioning-of-punctuation-and-parentheses-principle]]]の右側に示す正方形の枠は,行に全角の文字が整数個並ぶ場合の文字の外枠を示す(以下,同様).
[[[#positioning-of-punctuation-and-parentheses-principle]]]に示すように,句読点と括弧類が単独で漢字や仮名の間に配置される場合,重なって配置される場合,行頭や行末に配置される場合で,句読点と括弧類の占める字詰め方向の領域が異なっている.
JLReq では,句読点,括弧類や中点類の字幅を半角(二分)として説明している.これは JIS X 4051 にならったものである.この考え方は,実際のフォントデータの字幅がどのようになっているかとは無関係であり,あくまで説明の前提としての考え方である.
[[[#positioning-of-punctuation-and-parentheses-principle]]]に示した配置例について,字幅を半角とする考え方による説明例を前ページの[[[#fig-half-width]]]に示す.なお,[[[#fig-half-width]]]における約物をくくった長方形(正方形でない)は,半角と考える句読点,括弧類及び中点類の文字の外枠,グレーで示した枠はアキ量を示す.
実際のフォントデータの字幅としては,句読点,括弧類及び中点類の字幅を全角としている例がある.句読点,括弧類及び中点類の字幅を全角とすれば,[[[#positioning-of-punctuation-and-parentheses-principle]]]の説明は,[[[#fig-full-width]]]のようになる.
字幅を半角とする,あるいは全角とする場合であっても,どちらも結果として[[[#positioning-of-punctuation-and-parentheses-principle]]]になるのが,日本語組版としては望ましい形である.そこで,以下の説明では,括弧類や句読点の字幅として,実際のフォントデータでは全角としていることなどから,括弧類,句読点及び中点類の字幅を全角とし,それを前提に解説する.
JIS X 4051 や JLReq では,文字の配置方法の違いに注目し,文字や記号を文字クラスに分け,その配置方法を規定している.JLReq では,“始め括弧類”の cl-1 から“縦中横中の文字”の cl-30 まで,30の文字クラスに分けている.
組版処理の複雑さを少なくするためには,この文字クラスの数を少なくすることも必要になる.
ここでは,次のように文字クラスを整理する.新しい文字クラスはcl-i から cl-xii までの 12 個とする.なお,ここでの新しい文字クラスの番号は,JLReq と区別するたにローマ数字の小文字で示す.
なお,連数字中の文字(cl-24)は,削除した.また,等号類(cl-17)と演算記号(cl-18),合印中の文字(cl-20)及び割注始め括弧類(cl-28)と割注終わり括弧類(cl-29)も削除した.ここでは基本的事項に限定すること,あるいは,それらは各要素で配置処理は解説されていることによる.
それぞれの文字クラスの文字間の空き量を表1に示す.
表1においては,縦列の先頭列に,前に配置する文字クラス名を示し,横行の先頭行に,後ろに配置する文字クラス名(文字クラス名は略して表示)を示す.それぞれの交点のセル(こま)において,空き量を以下の記号で示す.
空白:前に配置する文字クラスの文字と,後ろに配置する文字クラスの文字の字間をベタ組とする,又は行頭若しくは行末との間をベタ組にする.
1/4:前に配置する文字クラスの文字と,後ろに配置する文字クラスの文字の字間を四分アキとする.ただし,配置される前後に親文字群中の文字(ルビ付き)(cl-ix)でルビのはみ出しがない場合,又は四分以下のはみ出しがある場合であり,はみ出しが四分以上の場合は,ルビを掛けないように空ける.
-1/2 後:後ろに配置する文字クラスの文字の前を二分詰める([[[#zu4b]]]参照).
-1/2 前:前に配置する文字クラスの文字の後ろを二分詰める([[[#zu5b]]]参照).
-1/2 先:行頭(又は段落先頭行の行頭)に配置する文字を[[[#zu6b]]]のように配置する.ただし,段落先頭行の場合,段落先頭行の字下ガリは全角下ガリとする.
-1 先:段落先頭行の行頭に配置する文字を[[[#zu7b]]]のように配置する.ただし,段落先頭行の場合,段落先頭行の字下ガリは全角下ガリとする.
-1/2 末:行末に配置する文字を[[[#zu8b]]]のように配置する.
-1/2 連:連続する文字クラスの文字の内,小さなサイズの文字の後ろ又は前を二分詰める([[[#zu9b]]]参照),又は前に配置する文字クラスの文字の後ろを四分詰め,後ろに配置する文字クラスの文字の前を四分詰める([[[#zu9b]]]参照).
1/2 掛:親文字からルビのはみ出しがあった場合,ルビ文字を空白に二分まで掛けてよい.
1/4 掛:親文字からルビのはみ出しがあった場合,ルビ文字を空白に四分まで掛けてよい.
×:このような配置は分割禁止により禁止される.
無:このような配置は,通常は発生しないが,配置する場合は,ベタ組になる.
なお,表1において,前に配置する文字クラスの最後に“行頭”及び“段落先頭行頭”とあるのは,行頭に配置した文字クラスの配置処理法を示し,“空白”のセル(ベタ組)の場合,行頭に配置する文字の先頭を行頭(又は段落先頭行の行頭)の位置にそろえ,“-1/2 先”とあった場合は[[[#zu6b]]],“-1 先”とあった場合は,段落先頭行の行頭を[[[#zu7b]]]のように配置する(注で説明している③の方式である).なお,段落先頭行の字下ガリは,全角とする.
また,後ろに配置する文字クラスの最後に“行末”とあるのは,行末に配置する文字クラスの配置処理法を示し,“空白”のセル(ベタ組)の場合,行末に配置する文字の末尾を行末の位置にそろえ,“-1/2 末”とあった場合は,[[[#zu8b]]]のように配置する.
それぞれの文字クラスの文字間での分割の可否については表2に示す.
表2においては,縦列の先頭列に,前に配置する文字クラス名を示し,横行の先頭行に,後ろに配置する文字クラス名(文字クラス名は略して表示)を示す.それぞれの交点のセル(こま)において,分割の可否を以下の記号で示す.
無印:分割が可能,ただし,複数の欧文文字が連続する場合は,その文字間では,原則として分割はできない.
否:分割はできない.
可 or 否:分割できるか,できないかは指示による.
行の調整処理で空ける処理が可能な箇所と,その優先順位を表3に示す.
表3においては,縦列の先頭列に,前に配置する文字クラス名を示し,横行の先頭行に,後ろに配置する文字クラス名(文字クラス名は略して表示)を示す.それぞれの交点のセル(こま)において,空ける処理方法について以下の記号で示す.なお,この表では,欧文の語間の処理は考慮していない.この処理を行う場合は,“1/2 まで”をまず行い,次に欧文の語間の処理を行い,最後に,この表で示された箇所を空ける
可:行の調整処理で,行末に配置する文字クラスの調整で処理できない場合に,空ける処理が可能な箇所を示す.
1/2まで:行末に配置する文字クラスの後ろを二分まで空けることができ,この処理を優先する.
×:このような配置は分割禁止により禁止される.
前述したように多くの日本語の文章では,文字の多くはベタ組で配置していく.ラテン文字を主にした文章のように単語の区切りを示すアキ又は記号は挿入されない.多くの人が,こうした文章で読みなれているのが現状である.
しかし,単語の区切りを示していない文章を読むのに困難を感じている人たちもおり,こうした人たちは,語句の区切りが示されていない印刷物の文章に,あらかじ語句ごとに斜線で区切りを入れて読んでいる例もある.
アクセシビリティを高めるためには,語句の区切りを示した組版処理も必要といえる.
語句の区切りを示す方法として,子ども向けの本で“分かち書き”が採用されている.例えば,小学校の国語と道徳(1年生及び2年生)の教科書,子ども向けの平仮名を主にした本の一部,DAISY 教科書の一部で分かち書きが採用されている.この方法は,文について文節を単位にして区切って表示する方法であり.文節の区切りを示す方法としては,一般に全角の和字間隔(cl-14,この文書の文字クラスでは cl-vii)を用いている(後ろに掲げる[[[#zu11b]]]及び[[[#zu12b]]]参照).
文節という用語は,橋本進吉が最初に使用した用語であり,橋本進吉著“国語法研究”(岩波書店,1947年,参照したものは1976年の第22刷)では,“文を実際の言語として出来るだけ多く区切つた最短い一区切”を文節と名づけ,次のような例を掲げている(文節の区切りを縦線で示す).
私は|昨日|友人と|二人で|丸善へ|本を|買ひに|行きました.
そして,同書では,その形の上からみれば,次のような特徴があると述べている.
一 一定の音節(これは無論一つ又は二つ以上の単音から出来たものである)が一定の順序に並んで,それだけはいつも続けて発音せられる(その中間に音の断止が無い).
二 文節を構成する各音節の音の高低の関係(即ちアクセント)が定まつてゐる.例へば,東京語では,“今日も”は“キョオモ”のキョの部分を高く,オとモの部分を低くいつも発音し,“いい(好)”は初のイを高く,次のイを低く発音するなど.
三 実際の言語に於ては,その前と後とに音の切目をおく事が出来る.
四 最初に来る音とその他の音,又は最後に来る音とその他の音との間には,それに用ゐる音にそれぞれ違つた制限がある事がある.(例は省略)
さらに,文節は,一つ又は二つ以上の語(単語)から成り立っており,語について,それだけで単独で一文節をなす独立できる語と,それだけで文節を作ることができず,独立できる語と共に文節を作る語(独立できない語)とに分けている.
分かち書き文書では,次のような要件が必要である.
―分かち書きの区切りとしては,従来から行われている文節による分かち書きが,慣れていることから望ましいといえよう.
―文節区切りは,教科書などとそろえる必要があり,義務教育段階では正確な分かち書きが求められるている.
―分かち書きの区切りとしては,全角の和字間隔(cl-vii)を用いる.
―句読点や括弧類の配置方法は,一般の場合と同じである.
―分かち書きの段落処理としては,行頭そろえ又は行頭行末そろえ(justification)が多く採用されている.
―行頭そろえの場合,2行にわたる分割については,文節の途中では分割しない.分割は,分かち書きの区切り又は句読点や括弧類の後ろとする.なお,分かち書きの区切りの和字間隔(cl-vii)が行末に配置される場合は,全角アキを確保し,行頭に配置される場合は,全角アキを確保しないで,文節の語句の先頭を行頭に配置する.宮沢賢治作“注文の多い料理店”の冒頭の文を使用した例を[[[#zu11b]]]に掲げる.
―行頭行末そろえ(justification)の場合は,一般の行処理と同じで,文節の途中で2行にわたる分割は可能である.なお,分かち書きの区切りの和字間隔(cl-vii)は,行頭そろえの場合と同じである.[[[#zu11b]]]と同文の例を[[[#zu12b]]]に掲げる.([[[#zu12b]]]の右から2行目の行頭に和字間隔(cl-vii)が配置されることになるが,全角アキにしていない.逆に左から2行目の行末では全角アキとしている.)
―読むことにある程度慣れてくると,分かち書きしない文章で十分読める,あるいは,そうした文章に慣れていくためにも,分かち書き無しの表示も必要である.つまり,同一コンテンツを分かち書き/分かち書き無しと表示し分ける必要がある.
語を認識することに困難を抱える児童にとって,文節又は語の途中での2行にわたる分割は理解の妨げとなる.こうしたことから,分かち書きをしない組版であっても,文節又は語を単位とした分割処理も必要になる.
また,一般の読者にとっても,文節又は語の途中での分割に慣れているが,実際に文字を読んでいく場合,1字単位ではなく,ある程度のまとまり(単語あるいは文節単位)で読んでいく.となれば,段落内で行を折り返す場合,文字単位で折り返す位置を決めるのではなく,単語あるいは文節単位で折り返す方が読みやすいと考えられるし,小林潤平などの実証研究でも,そのことが示されている.
こうしたことから,分かち書きをしない一般の文章でもあっても,文節又は語を単位とした分割処理が選択できるようになることが望ましい.この場合の分割位置は,教科書で採用されている分かち書きほどの厳密さは要求されないので,形態素解析などの前処理で分割位置を決めるといった方法が採用できる.
なお,文節又は語を単位として分割する場合の段落処理は,行頭行末そろえ(justification)にすると,行の調整処理での字間の処理量が大きくなる行も出てくるので,行頭そろえなどにするのが望ましいといえよう.
“表1 文字間の空き量”(PDF版)を参照.
“表2 文字間での分割の可否”(PDF版)を参照.
“表3 行の調整処理で空ける処理が可能な箇所”(PDF版)を参照.