スペースの使い分け
さまざまなスペース
表音文字であるアルファベットを使う英語などの言語は、単語と単語の間に空白スペースが入ることによって単語を区分けします。一方、漢字と仮名で綴られる日本語は、句読点とともに漢字をうまく使うことで、空白なしに単語の区切りを読み手に伝えることが可能です。ただし、日本語で空白スペースが使われないというわけではありません。
幼児・児童向けの本でみられる分かち書きを除けば、通常の文章中に空白が使われることはあまりありませんが、一覧リストなどで項目を分けるためにスペースが利用されることは少なくありません。また、特別な処理で空白スペースが必要になることもあります。たとえば、数学の組版では記号や数字の間に微妙なアキを入れる処理をしますし、普通の文章中でも特殊な記号などがあるとその前後にアキが入るということは珍しくないのです。
日本語で空白スペースを入力する場合、一般には、日本語1文字分の幅を持つ2バイトの“全角スペース”(和字間隔)と、欧文など1バイトのスペースである“半角スペース”(欧文間隔)の2種類くらいしか使いません(ちなみにいわゆる“半角スペース”は厳密な意味で半角幅のスペースではないが、1バイト文字を半角文字と呼ぶのと同じく昔のなごりでこう呼ばれている)。しかし、実際の組版では、もっと微妙なアキが必要になる場合もあります。
組版上でスペースを表現する場合、空白の文字を入れる方法と、ソフトの組版機能で文字間隔を空ける方法があります。たとえば、InDesignではカーニングや文字前後のアキ量を指定することでどんな微妙なスペースでも自在に再現することができます。ただし、これだと、スペースそのものがソフトに依存することになり、Webやテキストエディタなどでデータを流用するといった場合にはスペースがなくなってしまいます。
では空白の文字を入れる方法はどうでしょうか。前述の2種類のスペースだけでは微妙なアキを表現することはできませんが、実は、ユニコードにはスペースとして全角・半角だけでなくほかにも多くの種類が定義されているのです。
もっとも一般的といえる半角(欧文)スペースは、ASCIIコードで20、ユニコードではU+0020というコードポイントが与えられています。全角スペースはU+3000(シフトJISでは0x8140)です。
この2つの基本的なスペースのほかに、ユニコードでは、enスペース(U+2002)、emスペース(U+2003)、emの3分の1(U+2004)、emの4分の1(U+2005)、emの6分の1(U+2006)、フィギュアスペース(U+2007)、約物幅のスペース(U+2008)、emの5分の1(U+2009)、極細スペース(U+200A)、幅がゼロのスペース(U+200B)といったスペースが定義されています。
emというのは欧文フォントの基準サイズで、12級のフォントなら12歯の幅を意味します(昔はMの文字がサイズの基準だったことに由来する)。また、enはemの2分の1の幅。やはりNの文字幅に由来する基準です。ちなみに現代のフォントでは、これらのスペースが実際のMやNの文字幅とは限りません。
フィギュアスペースというのは、等幅1バイトフォントの文字幅のスペースであり、数字が等幅の書体であれば数字と同じ幅のスペースになります。約物幅のスペース(punctuation space)は、半角ピリオドやコンマなどの幅のスペースのことです。
さらに、行末でも改行されない(前後の文字が分離されない)という特殊な機能を持つスペースとしてU+00A0、U+202Fなどもあり、微妙なスペースをかなり自由にコントロールできるようになっています。
もっとも、これはユニコードでは文字コードとして定義されているというだけのことであり、実際に使うにはソフトの対応が不可欠です。なお、これらのスペースは、「空白」だけに、フォント側でも文字データを用意しているわけではありません。
現実問題として、これらのスペースをユニコードのコードポイントで入力したとしても、エディタなどで開くとただの欧文スペースとして表示される場合がほとんどです。
各種スペースを再現できるソフトとしては、InDesign(インデザイン)が代表的でしょう。ここではInDesignでの各種スペースの使い方について見てみます。
InDesignのスペースの挿入
InDesignでスペースを入力するには、通常の入力システムを使うか、InDesignの書式メニューから「空白文字を挿入」で適切なものを選びます。InDesign 2023の場合、「空白文字を挿入」では、「全角スペース」「EMスペース」「ENスペース」「分散禁止スペース」「分散禁止スペース(固定幅)」「極細スペース」「1/6スペース」「細いスペース」「1/4スペース」「1/3スペース」「句読点等のスペース」「数字のスペース」「フラッシュスペース」の各種スペースが選べます。
この「空白文字を挿入」によって入力されたスペースは、EMスペースがU+2003、ENスペースがU+2002、分散禁止スペースが00A0、といったようにユニコードのスペースに対応しており、たとえばテキストをInDesignタグ付きテキストで書き出してみると、ユニコード番号で記述されます。
ところで、文字間隔を調整する機能も豊富に揃っているInDesign上で、文字間隔を調整するのではなく、あえてこれらのスペースを使うのにはどのようなメリットがあるのでしょうか。
最大のメリットは、スペースを使うことで、アキを文字として扱えることができ、作業がラクになるという点でしょう。たとえば、表やリストで各列の桁数がそれぞれ異なる数値を桁揃えにし、さらにその中のもっとも大きな数値を基準にセルの左右センタリング揃えにするという作業を考えてみます。
各列の数値を桁揃えにするのは簡単です。また、セルの中央に数値を揃えるのも簡単ですが、この2つが組み合わさるとそんなに簡単ではありません。同時に2通りの揃え方を適用することができないからです。
そこで各種スペースを使った作業を考えてみます。この場合、半角等幅数字と同じ幅を持つフィギュアスペース(InDesign上では「数字のスペース」)を桁の少ない数字の前に挿入して列ごとの桁数を合わせ、中央揃えを適用するという方法があります。
なお、InDesignでは、スペースを数値の後に挿入した場合、直後に現実の文字がないと、スペースはセンタリング揃えの基準となる文字列の長さには含まれないので注意が必要です。小数点以下の桁がある数値とない数値が混在しているような場合は、フィギュアスペースと約物幅のスペースを挿入しても、それだけでは揃わないのです。
各種スペースは、アキを文字コードとして保持します。対応するソフトが少ないため、他のソフトでInDesignと同じように使うことは難しいのが現状ですが、テキスト処理の段階でアキをコントロールできるというのは、使い方によって作業の省力化につながるはずです。
(田村 2008.10.6初出)
(田村 2023.10.16更新)