ソフトハイフン

hy­phen
hy­phen
hyphen
hyphen

ソフトハイフン (soft hyphen) は、テキストデータで任意に使われる、単語内のハイフネーション(ハイフンを挿入して改行すること)の位置を指示するための書式文字である。

SHY[1][2](Soft HYphen) と略す。 discretionary hyphen[2](任意のハイフン)とも呼ばれる。

ハイフネーション

英語など、アルファベット分かち書きする言語では、ほとんどの場合、改行は語間(単語と単語の間)で行われる。ぎりぎりで行に入りきらなかった単語は次行に「ワードラップ」され、その分は語間のスペース幅を調整して行の長さを同じにする。

しかし、次行に送られる単語が長かった場合、その行だけ不自然に語間が広くなる。それを避けるため、単語を適切な音節境界でハイフネーションする。つまり、一部分だけ次行に送り、残った部分の最後にはハイフンを挿入し、語が次行に続くことを明示する。

単語の中でハイフネーションが許される音節境界の場所は、法則性はあるが、言語や意味に依存する。そのため、満足なハイフネーションを自動で行うには、大きな辞書や複雑な処理が必要になる。

ハイフネーションの位置を手動で任意に明示するために、ソフトハイフンが使われる。ハイフネーションが必要ない場合は、ソフトハイフンは表示結果に影響しない。

ソフトハイフンの挙動

基本的な挙動

右上の囲みは、「hy­phen(hy<SHY>phen)」という同じテキストデータを、異なる表示幅で表示した結果である。通常ではソフトハイフンは表示されないが、行幅が足りないと、ソフトハイフンの位置でハイフネーションされる。すなわち、ハイフンが表示され、その直後で改行される。

ソフトハイフンは、(ノンブレークハイフンのような)ハイフンの一種の図形文字ではない。ハイフネーションの位置を示すための、不可視の書式文字であり[3]、表示されるハイフン、あるいは改行は、ソフトハイフンが表示されているのではない(ソフトハイフンなしで自動ハイフネーションされた場合にも、同じ結果となる)。また、音節境界を図示する図形文字 U+2027 hyphenation point「‧」とも異なる。

その下の囲みは、ソフトハイフンがない場合である。もしレンダラに高度な自動ハイフネーターがあれば、ソフトハイフンがある場合と同様にハイフネーションされるが、(通常のウェブブラウザのように)そうでなければハイフネーションはされない。自動ハイフネーションの結果と、ソフトハイフンによるハイフネーションの結果は、同じである[3]

ソフトハイフンがあっても、ハイフネーションは義務ではない。また、その場所以外でのハイフネーションを禁止もしない。

綴りの変化

いくつかの言語では、ハイフネーションすると綴りが変化する語がある。たとえばスウェーデン語では、tuggummitugg-<CR>gummi(gが1つ多い)とハイフネーションされる。

これにソフトハイフンを挿入するには、ハイフネーションされない語形に tugg<SHY>ummi と挿入する[3]。これがハイフネーションされたときは綴りを変化させなければならないが、実装するレンダラは少ない。

符号位置

記号 Unicode JIS X 0213 文字参照 名称
­ U+00AD - &shy;
&#xAD;
&#173;
ソフトハイフン

出典

  1. ^ 『Unicode Standard 6.2』16.2 Layout Controls: Hyphenation, p.547
  2. ^ a b 『Unicode Standard』Code Chart: 00AD SOFT HYPHEN
  3. ^ a b c Unicode Standard Annex #14「Unicode Line Breaking Algorithm 5.4 Use of Soft Hyphen」

外部リンク