Unicode相容字符

當講解和談論統一碼和UCS時 ， 經常提到 「 相容字符 」 這個字眼 。 相容字符是指統一碼聯盟主張不要使用的圖像式字元 ， 正如統一碼聯盟 所說 ： 若不是爲了與其他標準間相容和能夠雙向對應轉換 ， 就不會在統一碼中編碼的字符 。 然而 ， 其定義實在遠比這話語有更深層和複雜的意味 。 每個字符都有一個標準分解 （ canonical decomposition ） 的屬性 ， 可是大部分字符這個屬性的值是這個字符自身 ， 但超過五千個字符的標準分解屬性的值不是該字符自身 。 這個標準分解屬性值能將相容字符對映到一個或多個的其他的非相容字符 ， 並藉此定義這五千多個字符爲統一碼中的相容字符 。 指定某字符爲相容字符的理由各異 ， 下面有更詳細的說明 。 「 分解 」 這個用語有時會令人感到困惑 ， 因爲有些字符 「 分解 」 後還是單個字符的形態 ， 這時該字符的分解值就是另一個相等或近似相等的字符 。 相容字符與其非空值的標準分解 （ 語義上 ） 是確切等價的 。 如果一個相容字符可以用多個分解序列表示 ， 那麼採用了標準順序 （ canonical order ） 的序列是該字符的標準分解 。 例如 ， ộ ， 有兩種分解序列 ： （ U +006 F LATIN SMALL LETTER O ） （ U +0302 COMBINING CIRCUMFLEX ACCENT ） （ U +0323 COMBINING DOT BELOW ） 或者 （ U +006 F LATIN SMALL LETTER O ） （ U +0323 COMBINING DOT BELOW ） （ U +0302 COMBINING CIRCUMFLEX ACCENT ） ， 兩個附加符號出現在分解序列中的位置是可交換的 。 Unicode的另一個概念相容性分解 （ compatibility decomposition ） ， 是把一個相容字符映射爲一個或多個的其他的非相容字符 。 但相容字符與相容性分解可能會有語義 （ 如排版格式上 ） 的損失 。 例如上角標數字字符 ⁴ 與普通的數字字符4 。 Unicode的所有預組合字符 （ precomposed character ） 都是相容字符 。 即所有預組合字符都能夠用其他字符或字符序列來表示 。 因此預組合字符的標準分解總是存在 。 具有不同於自身且不爲空值的標準分解屬性值的字符 ， 稱爲標準組合字符 （ canonical composite ） 。