合成済み文字

Unicodeにおける合成済み文字とは



Unicodeにおける合成済み文字とは、単一の符号位置を持ちながら、基底文字と結合文字の組み合わせに分解できる文字のことです。これは分解可能な文字とも呼ばれます。例えば、é(アキュート・アクセント付きの小文字のラテン文字のe)は、合成済み文字の一例です。

合成済み文字と分解された文字



合成済み文字は、Unicodeでは基底文字と結合文字の組み合わせと同等とみなされます。例として、スウェーデン語の姓「Åström」を見てみましょう。

合成済み文字: Åström (U+00C5 U+0073 U+0074 U+0072 U+00F6 U+006D)
分解された文字列: Åström (U+0041 U+030A U+0073 U+0074 U+0072 U+006F U+0308 U+006D)

これらの2つの表現は、見た目上は同じであり、等価とされます。しかし、実際には、すべての環境で分解された文字が正しく表示されるとは限りません。

表示上の問題



一部のUnicode実装では、分解された文字が正しく表示されないことがあります。ダイアクリティカルマークが無視されたり、文字化けしたりするケースも存在します。これは、使用しているフォントにすべての文字が含まれていないことが原因です。そのため、一部のアプリケーションでは、分解された文字を等価の合成済み文字に置き換えることで問題を解決しようとします。

しかし、合成済み文字にも問題がないわけではありません。例えば、インド・ヨーロッパ祖語の「犬」を意味する単語「ḱṷṓn」は、以下のように表現できます。

合成済み文字: ḱṷṓn (U+1E31 U+1E77 U+1E53 U+006E)
分解された文字列: ḱṷṓn (U+006B U+0301 U+0075 U+032D U+006F U+0304 U+0301 U+006E)

合成済み文字では、ダイアクリティカルマーク付きの文字文字化けし、別のフォントのように表示されることがあります。一方、分解された文字列では、ダイアクリティカルマークが認識されなくても、少なくとも基底文字は正しく表示されます。

用語について



合成列(Composite Sequence): UCS(ISO/IEC 10646)における用語で、Unicodeの結合文字列と同義です。これは基底文字と結合文字の組み合わせを指します。
結合文字列(Combining Character Sequence): Unicodeにおける用語で、基底文字と結合文字の組み合わせを指します。

Unicodeでは、合成済み文字への変換を「合成」と呼びますが、UCSではその逆の分解を指します。

まとめ



合成済み文字は、文字の表現を簡略化するための便利な手段ですが、表示上の問題や、使用するフォントによっては文字化けを引き起こす可能性があります。そのため、Unicodeの知識を十分に理解し、適切な文字表現を選択することが重要です。

参考資料



The Unicode Standard, Version 5.2: Conformance
Aaron Weiss: Composite and Precomposed Characters
MSDN: Defining a Character Set

関連項目



デッドキー
コンポーズキー
結合文字
Unicodeの等価性
複雑なテキスト配置
Unicodeの互換文字
Unicode正規化

外部リンク



* Free Idg Serif at the Wayback Machine

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。