2010年11月16日火曜日

◆文字間隔の憂鬱

Word様の文字間隔の扱いは難しい。
まぁ特に知る必要もないだろうとタカをくくっていたのだが、基本的な部分は知っておかないとちょっとしたことでつまずく。
 
20101116224744

この1行目と2行目の文字間隔の違いが判るだろうか。2行目のほうが微妙に詰まっている。
気にしなければ良いのだが、気になりだすと妙に気になる。2行目の数字が半角なのかと思い、一生懸命全角で上書きしても直らない。
実はこれ、1行目の数字が半角なのである。
Word様は我々が文章を読みやすいように半角英数字と全角文字の間は間隔を広げるという素晴らしい機能を持っている。普段何の気なしに使っているとなかなかその素晴らしさに気が付かない。
上記の例もIMEの気まぐれでたまたま異なった文字種で変換されて発覚した。

これを機に文字間隔の仕組みを理解しようと調査したのだが、なかなか難しい。半ば「やっぱりどうでも良いや」と思いかけたが、何とか自分なりに纏めてみた。

まずは基本的な決まりから。

  1. 文字数を指定しなければ文字間隔はゼロ


    文字数の指定は「ページ設定」にて「文字数と行数を指定する」を選んだ時に指定できる。(原稿用紙の設定にするでも文字数は指定できるようになるがとりあえず割愛)
    なので、デフォルトの「行数だけを指定する」の場合は文字間隔はゼロ。
    1文字のサイズ(デフォルトでは10.5pt)×文字数がページ幅と一致しないときは、その余りが各文字に均等に割り振られる。
  2. 文字数を指定した場合、ページ幅÷文字数


    指定した文字数で均等幅となる。字送りは下記の例でいくと11.5pt。
    image
  3. 字送りを指定した場合は指定したサイズ


    字送りのサイズでページ幅が割り切れなかったときは右端が空いたまま。(余白が広くなるわけではなさそうだ)
    image

    ただし、段落設定で「1行の文字数指定時に右のインデント幅を自動調整する」をオフにした場合は、余りは各文字に均等に割り振られる。
    なので、このオプション、正確に言うと「文字数と行数を指定するオプションを指定し、字送りを指定した時に右のインデント幅を自動調整する」ではなかろうか。
    image
  4. 標準の字送りを使用した場合は文字間隔はゼロ


    ページ設定で「標準の字送りを使用する」をチェックした時は標準の字送り(即ち、通常は10.5pt)が使われる。1と違い、余りがあった場合は右余白が広くなる。
    image

    上記の指定で行くと、文字数の指定可能範囲が(4-48)となっているので10.5ptでは48文字入ることが判る。そこへ26文字の指定をしているので約12文字分右余白が広くなる。

    20101117223747

    ちなみに、この「標準の字送りを使用する」オプション、一度設定して開きなおすとチェックが外れている。
    このような動作をする箇所がWord様、実に多い。本来そのような動きをするときに使うコントロールはチェックボックスではなくボタンである。
    「字送りに標準スタイルのフォントサイズをコピーする」というボタンにすれば明快であろう。
    Word様が悪いのではない、きっと「この画面作っといて」っと丸投げされた新人君が設計したのだろう・・・。

さて、ここまでが基本的な文字間隔の話。お気づきと思うが上記はすべて単一のフォントサイズを使用した場合の話である。途中でフォントサイズを変えるとそこでまた話がややこしくなるのだ。
以下はフォントサイズを変えた場合に1~4がどうなるかという話。

  1. もともと成り行きの設定なので文字間隔ゼロで字送りは各フォントサイズ。
    バラバラな文字サイズを足していって右端まで行き、余りがでたら各文字に均等に割り振る。(たぶん文字サイズに比例せず均等に割り振るのではなかろうか)
  2. 字送りが10.65となっているので文字間隔は11.5 – 10.5 = 1.0
    この文字間隔はすべてのサイズの文字に使われるので、
    ページ幅 = 各文字のフォントサイズの合計 + (文字数 × 1.0 )
    余りが出た場合は以下の結果をみると1行目と2行目の文字間隔がずれているので、各文字に均等に割り振られているようだ。
     20101117234635
  3. 指定した字送りで文字間隔が決まる。右端の余りはやはり、「1行の文字数指定時に右のインデント幅を自動調整する」の指定で決まる。
  4. 文字のサイズが変わって余りが出た場合、余白のサイズはこれ以上変わらず、各文字に割り振られるようだ。

これで文字サイズを変えた場合の話は終わるのだが、文字間隔の話はまだまだ終わらない。

次は、段落の最終行の扱い。Word様の段落最終行の扱いは摩訶不思議。
まずはページ設定で「行数のみを指定する」の上記パターン1の時。
20101118224055

最終行のみ文字間隔がずれている。
調べてみたところ、この最終行の文字間隔は「オプション」「詳細設定」「表示」の以下のオプションに影響を受けるらしい。
image

これをオフにすると、
20101118224737 

ほんの少しだがずれが縮まったのがお分かりだろうか。
もう「だからなんだ!!」という世界なのだが・・・。もしかするとこれはWord様が意図していない可能性すら感じさせる。

次にパターン2でオプションをオフ。
20101118225337

パターン2でオプションをオン。
20101118225502 


パターン3でオプションをオフ。
20101118225723 

パターン3でオプションをオン。
20101118225835 

もうどうでも良くなってきているがここまで来ると意地なのでパターン4のオフ。
20101118230107 

パターン4のオン。
20101118230220 

結局のところ影響があることは分かったがその法則性は見いだせなかった。
このオプションをオンにすると最終行も文字間隔が揃うような情報も見かけたが私が試した限りにおいては完全に揃うことはなかった。

Word様お得意の気まぐれで他のパソコンでやるとまた違うのかもしれない。
どちらにしてもあまり有用なオプションではなさそうだ。

ここまで色々とみてきたが、これまでの文字間隔をぶち壊してしまう機能がWord様には存在する。
それが禁則処理。行頭に「。、」が来ないようにしたり英単語の途中で改行しないようにする処理である。
20101118231318 

このように1行目の文字間隔をスカスカにしてしまう。
この禁則処理をするかどうかは段落設定にある。
image

オプションボタンを押すと禁則処理の詳細が設定できる。
image

段落設定を見てみると、ここでようやく私がつまずいた「日本語と数字の間隔を自動調整する」というオプションがある。
これによって、全角よりも半角のほうが間が空くという現象が生まれたわけだ。

他にも文字間隔に影響しそうなものとしてフォントの種類がある。
固定幅フォントとプロポーショナルフォント。
プロポーショナルフォントも漢字などは固定幅になっているようだが句読点がない文章はないだろうから必ずずれてくる。

あと、欧文フォントはカーニングされるので、ここでも微妙な文字間隔のずれが発生する。

ふぅー・・・・。

まだまだきっと他にもありそうだが主だったところは、こんなところではないでしょうか。
なんか結局のところ、最初の認識通り文字間隔なんてこだわらないのが最善って結論ではないでしょうか。

そもそもこんなにいろんなオプションが必要なのだろうか。
どうせあっても誰にも使いこなせないと思うのだが・・・。

Word様ってすごーい!!

0 件のコメント:

コメントを投稿