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