タグ

utf-8と正規化に関するpugleeのブックマーク (2)

  • ものかの >> archive >> Unicode正規化 その1

    Unicode正規化 その1 (2010.3.21 改訂) Unicodeのテキストをあつかう上で、「結合文字列」と「Unicode正規化」はどうしても避けることのできない問題です。ここではあまり深く掘り下げずに、ユーザの眼を通してこれを見ていこうと思います。 まずはじめに、Unicodeには「特殊な文字」があることを知っておきましょう。 Unicodeの特殊な文字 ここに2つの「ポ」があります。OS X のエディタ「テキストエディット」に表示された文字です。 まったく同じに見えますが、この2文字、実は文字データとして全く違うものです。左は普通の1文字ですが、右は「ホ+半濁音」の2文字のデータで構成されています。両方とも見た目が1文字なので違いがまったく分かりません。 そこで、違いを実感できるように「簡単なソフト」を作ってみました。 >> download(Mac OS X 用) 左に「ポ

  • Unicode正規化

    正しい並び替えでは、表示は(A)のままですが、間違った並び替えでは、正規結合クラスが互いに等しいMACRONとACUTEを並び替えたため、表示は(B)のように、eの上のアクセント記号の位置が入れ替わってしまいます。 正規分解・互換分解 ある文字列の正規分解 (Canonical Decomposition) を得るには、まず、それぞれの文字を正規マッピングによって再帰的に、可能な限り、分解します。すなわち、1回分解した後に現れた文字がなおも分解可能であればさらに分解します。分解マッピングがその文字自身である場合は、分解不可能なので、そのままです。 しかし、分解しただけでは必ずしも正しい結果が得られません。つまり、結合文字の順序の一意性を保証するため、分解後の文字列に対して正規順序アルゴリズムを適用しなければなりません。このように、正規マッピングによる再帰的分解と、正規順序アルゴリズムによ

  • 1