文字
[コア API]

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

マクロ定義

#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)
 文字プロパティの文字テーブルを得る.

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

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



MSymbol Mscript
 スクリプトを表わすキー.
MSymbol Mname
 名前を表わすキー.
MSymbol Mcategory
 一般カテゴリを表わすキー.
MSymbol Mcombining_class
 標準結合クラスを表わすキー.
MSymbol Mbidi_category
 双方向カテゴリを表わすキー.
MSymbol Msimple_case_folding
 対応する小文字一文字を表わすキー.
MSymbol Mcomplicated_case_folding
 対応する小文字の列を表わすキー.
MSymbol Mcased
 Case 処理に用いられる値のキー.
MSymbol Msoft_dotted
 Case 処理に用いられる値のキー.
MSymbol Mcase_mapping
 Case 処理に用いられる値のキー.
MSymbol Mblock
 スクリプトブロック名を表すキー.

説明

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

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 が返される。

変数

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

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

スクリプトを表わすシンボルの名前は、Unicode Technical Report #24 にリストされているもののいずれかである。

名前を表わすキー.

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

一般カテゴリを表わすキー.

シンボル 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 であり、大文字/小文字の区別を無視した文字列比較の際に使 われる。

Case 処理に用いられる値のキー.

シンボル Mcased は、"cased" という名前を持ち、文字プロパ ティのキーとして使われる。このプロパティの値は整数値 1, 2, 3 のいず れかであり、それぞれ "cased", "case-ignorable", その両方を意味する。 詳細については、the Unicode Standard 5.0 (Section 3.13 Default Case Algorithm) 参照。

Case 処理に用いられる値のキー.

シンボル Msoft_dotted は、"soft-dotted" という名前を持ち、 文字プロパティのキーとして使われる。このプロパティの値は、文字が "Soft_Dotted"プロパティを持つ場合には Mt, そうでなければ Mnil で ある。 詳細については、the Unicode Standard 5.0 (Section 3.13 Default Case Algorithm) 参照。

Case 処理に用いられる値のキー.

シンボル Mcase_mapping は、"case-mapping" という名前をも ち、文字プロパティのキーとして使われる。このプロパティの値は、3つ の M-text、すなわちその文字の lower, title, と upperからなる plist である。 詳細については、the Unicode Standard 5.0 (Section 3.13 Default Case Algorithm) 参照。

スクリプトブロック名を表すキー.

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

 全て データ構造 ファイル 関数 変数 型定義 列挙型 列挙型の値 マクロ定義

m17n-lib Home