合成済み文字
Unicodeにおいて合成済み文字(ごうせいずみもじ、英語: precomposed character)とは、単一の符号位置で、なおかつ「基底文字+結合文字」に分解できる文字のことである。分解可能な文字(ぶんかいかのうなもじ、decomposable character)とも言う。
代表的なものは、 é(アキュート・アクセント付きの小文字のラテン文字の e)のようなダイアクリティカルマーク付きの文字である。é(U+00E9)は、基底文字である e(U+0065)と結合文字であるアキュート・アクセント(U+0301)に分解可能であり、Unicodeではこの両者(合成済み文字と分解された文字列)を等価と見なす。
合成済み文字と分解された文字列の比較
[編集]スウェーデン語で一般的な姓である Åström を例にして説明する。この単語を2通りの方法で表現する。1つ目は単一の符号位置である合成済みの Å(U+00C5)と ö(U+00F6)を使用し、2つ目はこれらをそれぞれ A(U+0041)とリング符号(U+030A)、 o(U+006F)とトレマ(U+0308)に分解した文字列で表す。
- Å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 (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)
緑色で表示した、合成済み文字によるダイアクリティカルマークつきのk, u, oが文字化けし、ダイアクリティカルマークつきでないnと別のフォントのように表示される場合がある。2行目では、組み合わせのダイアクリティカルマークが認識できなかったとしても、少くとも基底文字は正しく表示される。
用語について
[編集]UCS(ISO/IEC 10646)の用語である合成列(Composite Sequence)は、Unicodeの結合文字列(Combining Character Sequence)と同義である。つまり同じ「合成」でも、Unicodeは単一の符号位置への変換、UCSはその逆の基底文字+結合文字への分解を指し、UCSには単一の符号位置への変換を指す用語が存在しないという状態になっている。
参考文献
[編集]- The Unicode Standard, Version 5.2: Conformance (see Section 3.7 for Decomposition). The Unicode Consortium, December 2009.
- Aaron Weiss: Composite and Precomposed Characters. Web Developer's Virtual Library. February 20, 2001.
- MSDN: Defining a Character Set. April 8, 2010.
関連項目
[編集]- デッドキー
- コンポーズキー
- 結合文字
- Unicodeの等価性
- 複雑なテキスト配置
- Unicodeの互換文字
- Unicode正規化
外部リンク
[編集]- Free Idg Serif at the Wayback Machine (archived 2014-08-15), a derivative of the FreeSerif font with added declarations of precomposed characters.
Text is available under the CC BY-SA 4.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.