nlib
nn::nlib::unicode::UnicodeNormalizer クラスfinal

ユニコード文字列の正規化を行うためのクラスです。 [詳解]

#include "nn/nlib/unicode/UnicodeNormalizer.h"

公開型

enum  NormalizationForm {
  NFC,
  NFD,
  NFKC,
  NFKD
}
 ユニコードの正規化形式を指定します。 [詳解]
 

静的公開メンバ関数

static errno_t Normalize (InputStream *istr, OutputStream *ostr, NormalizationForm form)
 ユニコード文字列(UTF-8)を正規化します。 [詳解]
 

詳解

ユニコード文字列の正規化を行うためのクラスです。

説明
ユニコード文字列の正規化についての詳細は、Unicode Standard Annex 15(http://www.unicode.org/reports/tr15/)、略して UAX #15を御覧ください。

UnicodeNormalizer.h16 行目に定義があります。

列挙型メンバ詳解

ユニコードの正規化形式を指定します。

説明
UnicodeNormalizer::Normalize()関数
列挙値
NFC 

NFCで変換します。
ユニコード文字列を正規分解で分解し、正規順序で整列し、正規合成します。 多くの場合で結果は元の文字列と同じ文字列になります。

NFD 

NFDで変換します。
ユニコード文字列を正規分解で分解し、正規順序で整列します。 濁音や半濁音、アキュート等が分解されます。

NFKC 

NFKCで変換します。
ユニコード文字列を互換分解で分解し、正規順序で整列し、正規合成します。 全角英数が半角英数に、丸付き文字が分解されたりする等の変換が行われます。

NFKD 

NFKDで変換します。
ユニコード文字列を互換分解で分解し、正規順序で整列します。 濁音や半濁音、アキュート等が分解される他、全角英数が半角英数に、丸付き文字が分解されたりする等の変換が行われます。

UnicodeNormalizer.h18 行目に定義があります。

関数詳解

nn::nlib::unicode::UnicodeNormalizer::Normalize ( InputStream istr,
OutputStream ostr,
NormalizationForm  form 
)
static

ユニコード文字列(UTF-8)を正規化します。

引数
[in]istr正規化されるUTF-8の文字列を読み込む入力ストリームです。
[in]ostr正規化されたUTF-8の文字列が書き込まれる出力ストリームです。
[in]form正規化方式を指定します。
戻り値
0エラーは発生していません。
EINVAListr 又はostrNULLだった場合
EILSEQウムラウト等が長すぎる場合(参考: UAX #15のSection 13)
その他ストリームでエラーが発生しています。

このクラス詳解は次のファイルから抽出されました: