変数: 文字プロパティのキー | |
スクリプトを表わすキー. これらのシンボルは文字プロパティのキーとして使われる。
シンボル Mscript は
スクリプトを表わすシンボルの名前は、Unicode Technical Report #24 にリストされているもののいずれかである。 | |
MSymbol | Mscript |
MSymbol | Mname |
名前を表わすキー. | |
MSymbol | Mcategory |
一般カテゴリを表わすキー. | |
MSymbol | Mcombining_class |
標準結合クラスを表わすキー. | |
MSymbol | Mbidi_category |
双方向カテゴリを表わすキー. | |
MSymbol | Msimple_case_folding |
対応する小文字一文字を表わすキー. | |
MSymbol | Mcomplicated_case_folding |
対応する小文字の列を表わすキー. | |
マクロ定義 | |
#define | MCHAR_MAX |
文字コードの最大値. | |
関数 | |
MSymbol | mchar_define_property (const char *name, MSymbol type) |
文字プロパティを定義する. | |
void * | mchar_get_prop (int c, MSymbol key) |
文字プロパティの値を得る. | |
int | mchar_put_prop (int c, MSymbol key, void *val) |
文字プロパティの値を設定する. | |
MCharTable * | mchar_get_prop_table (MSymbol key, MSymbol *type) |
文字プロパティの文字テーブルを得る. |
0
であり、最大の文字コードはマクロ MCHAR_MAX によって定義されている。MCHAR_MAX は 0x3FFFFF(22ビット)
以上であることが保証されている。
0
から 0x10FFFF
までの文字は、それと同じ値を持つ Unicode の文字に割り当てられている。
各文字は 文字プロパティ と呼ぶプロパティを 0 個以上持つことができる。 文字プロパティは キー と 値 からなる。 キーはシンボルであり、値は (void *)
型にキャストできるものなら何でもよい。 「文字 C の文字プロパティのうちキーが K であるもの」を簡単に「文字 C の K プロパティ」と呼ぶことがある。
#define MCHAR_MAX |
マクロ MCHAR_MAX は文字コードの最大値を表す。
関数 mchar_define_property() は、 <Mchar_table, type, sym > というタグを持ったデータベースを m17n 言語情報ベースから探す。 ここで sym は name という名前のシンボルである。type はMstring, Mtext, Msymbol, Minteger, Mplist のいずれかでなければならない。
MERROR_DB
void* mchar_get_prop | ( | int | c, | |
MSymbol | key | |||
) |
関数 mchar_get_prop() は、文字 c の文字プロパティのうちキーが key であるものを探す。
NULL
を返す。
MERROR_SYMBOL
, MERROR_DB
int mchar_put_prop | ( | int | c, | |
MSymbol | key, | |||
void * | val | |||
) |
関数 mchar_put_prop() は、文字 c の文字プロパティのうちキーが key であるものを探し、その値として val を設定する。
MERROR_SYMBOL
, MERROR_DB
MCharTable* mchar_get_prop_table | ( | MSymbol | key, | |
MSymbol * | type | |||
) |
関数 mchar_get_prop_table() は、キーが key である文字プロパティ を含む文字テーブルを返す。もし type が NULL でなければ、 type で 指される場所にその文字のプロパティを格納する。文字プロパティの種類 に関しては mchar_define_property() を見よ。
シンボル Mcategory は "category"
という名前を持ち、文字プロパティのキーとして使われる。 このプロパティの値は、対応する 一般カテゴリ を表わすシンボルである。
一般カテゴリを表わすシンボルの名前は、General Category の省略形として Unicode に定義されているものである。
シンボル Mcombining_class は "combining-class"
という名前を持ち、文字プロパティのキーとして使われる。 このプロパティの値は、対応する 標準結合クラス を表わす整数である。
標準結合クラスを表わす整数の意味は、Unicode に定義されているものと同じである。
シンボル Mbidi_category は "bidi-category"
という名前を持ち、文字プロパティのキーとして使われる。 このプロパティの値は、対応する 双方向カテゴリ を表わすシンボルである。
双方向カテゴリを表わすシンボルの名前は、Bidirectional Category の型として Unicode に定義されているものである。
シンボル Msimple_case_folding は "simple-case-folding"
という名前を持ち、文字プロパティのキーとして使われる。 このプロパティの値は、対応する小文字一文字であり、大文字/小文字の区別を無視した文字列比較の際に使われる。
複雑な比較方法を必要とする文字であった場合 (別の一文字と対応付けることによって比較できない場合)、このプロパティの値は 0xFFFF
になる。この場合その文字は、Mcomplicated_case_folding というキーの文字プロパティを持つ。
シンボル Mcomplicated_case_folding は "complicated-case-folding"
という名前を持ち、文字プロパティのキーとして使われる。 このプロパティの値は、対応する小文字列からなる M-text であり、大文字/小文字の区別を無視した文字列比較の際に使 われる。