ソフトハイフン (soft hyphen) は、テキストデータで任意に使われる、単語内のハイフネーション(ハイフンを挿入して改行すること)の位置を指示するための書式文字である。
SHY[1][2](Soft HYphen) と略す。 discretionary hyphen[2](任意のハイフン)とも呼ばれる。
ハイフネーション
英語など、アルファベットを分かち書きする言語では、ほとんどの場合、改行は語間(単語と単語の間)で行われる。ぎりぎりで行に入りきらなかった単語は次行に「ワードラップ」され、その分は語間のスペース幅を調整して行の長さを同じにする。
しかし、次行に送られる単語が長かった場合、その行だけ不自然に語間が広くなる。それを避けるため、単語を適切な音節境界でハイフネーションする。つまり、一部分だけ次行に送り、残った部分の最後にはハイフンを挿入し、語が次行に続くことを明示する。
単語の中でハイフネーションが許される音節境界の場所は、法則性はあるが、言語や意味に依存する。そのため、満足なハイフネーションを自動で行うには、大きな辞書や複雑な処理が必要になる。
ハイフネーションの位置を手動で任意に明示するために、ソフトハイフンが使われる。ハイフネーションが必要ない場合は、ソフトハイフンは表示結果に影響しない。
ソフトハイフンの挙動
基本的な挙動
右上の囲みは、「hyphen(hy<SHY>phen)」という同じテキストデータを、異なる表示幅で表示した結果である。通常ではソフトハイフンは表示されないが、行幅が足りないと、ソフトハイフンの位置でハイフネーションされる。すなわち、ハイフンが表示され、その直後で改行される。
ソフトハイフンは、(ノンブレークハイフンのような)ハイフンの一種の図形文字ではない。ハイフネーションの位置を示すための、不可視の書式文字であり[3]、表示されるハイフン、あるいは改行は、ソフトハイフンが表示されているのではない(ソフトハイフンなしで自動ハイフネーションされた場合にも、同じ結果となる)。また、音節境界を図示する図形文字 U+2027 hyphenation point「‧」とも異なる。
その下の囲みは、ソフトハイフンがない場合である。もしレンダラに高度な自動ハイフネーターがあれば、ソフトハイフンがある場合と同様にハイフネーションされるが、(通常のウェブブラウザのように)そうでなければハイフネーションはされない。自動ハイフネーションの結果と、ソフトハイフンによるハイフネーションの結果は、同じである[3]。
ソフトハイフンがあっても、ハイフネーションは義務ではない。また、その場所以外でのハイフネーションを禁止もしない。
綴りの変化
いくつかの言語では、ハイフネーションすると綴りが変化する語がある。たとえばスウェーデン語では、tuggummi は tugg-<CR>gummi(gが1つ多い)とハイフネーションされる。
これにソフトハイフンを挿入するには、ハイフネーションされない語形に tugg<SHY>ummi と挿入する[3]。これがハイフネーションされたときは綴りを変化させなければならないが、実装するレンダラは少ない。
符号位置
出典
- ^ 『Unicode Standard 6.2』16.2
Layout Controls: Hyphenation, p.547
- ^ a b 『Unicode Standard』Code Chart: 00AD SOFT HYPHEN
- ^ a b c Unicode Standard Annex #14「Unicode Line Breaking Algorithm 5.4 Use of Soft Hyphen」
外部リンク