Main Page   Modules   Data Structures   Globals   Appendix  

文字
[コア API]

文字オブジェクトとそれに関する API. [詳細]

変数: 文字プロパティのキー

スクリプトを表わすキー.

これらのシンボルは文字プロパティのキーとして使われる。

シンボル Mscript"script" という名前を持ち、文字プロパティのキーとして使われる。 このプロパティの値は、この文字の属するスクリプトを表わすシンボルである。

スクリプトを表わすシンボルの名前は、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)
 文字プロパティの値を設定する.
MCharTablemchar_get_prop_table (MSymbol key, MSymbol *type)
 文字プロパティの文字テーブルを得る.

説明

m17n ライブラリは 文字 を文字コード(整数)で表現する。 最小の文字コードは 0 であり、最大の文字コードはマクロ MCHAR_MAX によって定義されている。MCHAR_MAX0x3FFFFF(22ビット) 以上であることが保証されている。

0 から 0x10FFFF までの文字は、それと同じ値を持つ Unicode の文字に割り当てられている。

各文字は 文字プロパティ と呼ぶプロパティを 0 個以上持つことができる。 文字プロパティは キー からなる。 キーはシンボルであり、値は (void *) 型にキャストできるものなら何でもよい。 「文字 C の文字プロパティのうちキーが K であるもの」を簡単に「文字 C の K プロパティ」と呼ぶことがある。


マクロ定義

#define MCHAR_MAX

マクロ MCHAR_MAX は文字コードの最大値を表す。


関数

MSymbol mchar_define_property ( const char *  name,
MSymbol  type 
)

関数 mchar_define_property() は、 <Mchar_table, type, sym > というタグを持ったデータベースを m17n 言語情報ベースから探す。 ここで symname という名前のシンボルである。typeMstring, Mtext, Msymbol, Minteger, Mplist のいずれかでなければならない。

戻り値:
処理に成功すれば mchar_define_property()sym を返す。 失敗した場合は Mnil を返す。
エラー:
MERROR_DB
参照:
mchar_get_prop(), mchar_put_prop()

void* mchar_get_prop ( int  c,
MSymbol  key 
)

関数 mchar_get_prop() は、文字 c の文字プロパティのうちキーが key であるものを探す。

戻り値:
処理が成功すれば mchar_get_prop() は見つかったプロパティの値を返す。 失敗した場合は NULL を返す。

エラー:
MERROR_SYMBOL, MERROR_DB
参照:
mchar_define_property(), mchar_put_prop()

int mchar_put_prop ( int  c,
MSymbol  key,
void *  val 
)

関数 mchar_put_prop() は、文字 c の文字プロパティのうちキーが key であるものを探し、その値として val を設定する。

戻り値:
処理が成功すれば mchar_put_prop() は0を返す。失敗した場合は-1を返す。
エラー:
MERROR_SYMBOL, MERROR_DB
参照:
mchar_define_property(), mchar_get_prop()

MCharTable* mchar_get_prop_table ( MSymbol  key,
MSymbol type 
)

関数 mchar_get_prop_table() は、キーが key である文字プロパティ を含む文字テーブルを返す。もし type が NULL でなければ、 type で 指される場所にその文字のプロパティを格納する。文字プロパティの種類 に関しては mchar_define_property() を見よ。

戻り値:
もし key が正当な文字プロパティのキーであれば、文字テーブルが返さ れる。そうでない場合は NULL が返される。


変数

MSymbol Mscript

MSymbol Mname

シンボル Mname"name" という名前を持ち、文字プロパティのキーとして使われる。 このプロパティの値はその文字の名前を表わす C の文字列である。

MSymbol Mcategory

シンボル Mcategory"category" という名前を持ち、文字プロパティのキーとして使われる。 このプロパティの値は、対応する 一般カテゴリ を表わすシンボルである。

一般カテゴリを表わすシンボルの名前は、General Category の省略形として Unicode に定義されているものである。

MSymbol Mcombining_class

シンボル Mcombining_class"combining-class" という名前を持ち、文字プロパティのキーとして使われる。 このプロパティの値は、対応する 標準結合クラス を表わす整数である。

標準結合クラスを表わす整数の意味は、Unicode に定義されているものと同じである。

MSymbol Mbidi_category

シンボル Mbidi_category"bidi-category" という名前を持ち、文字プロパティのキーとして使われる。 このプロパティの値は、対応する 双方向カテゴリ を表わすシンボルである。

双方向カテゴリを表わすシンボルの名前は、Bidirectional Category の型として Unicode に定義されているものである。

MSymbol Msimple_case_folding

シンボル Msimple_case_folding"simple-case-folding" という名前を持ち、文字プロパティのキーとして使われる。 このプロパティの値は、対応する小文字一文字であり、大文字/小文字の区別を無視した文字列比較の際に使われる。

複雑な比較方法を必要とする文字であった場合 (別の一文字と対応付けることによって比較できない場合)、このプロパティの値は 0xFFFF になる。この場合その文字は、Mcomplicated_case_folding というキーの文字プロパティを持つ。

MSymbol Mcomplicated_case_folding

シンボル Mcomplicated_case_folding"complicated-case-folding" という名前を持ち、文字プロパティのキーとして使われる。 このプロパティの値は、対応する小文字列からなる M-text であり、大文字/小文字の区別を無視した文字列比較の際に使 われる。


このページの先頭

Main Page   Modules   Data Structures   Globals   Appendix  

mulemark