m17n ライブラリ 1.8.4
読み取り中…
検索中…
一致する文字列を見つけられません
マクロ定義 | 関数 | 変数
文字セット

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

マクロ定義

#define MCHAR_INVALID_CODE
 無効なコードポイント.
 

関数

MSymbol mchar_define_charset (const char *name, MPlist *plist)
 
MSymbol mchar_resolve_charset (MSymbol symbol)
 文字セット名を解決する.
 
int mchar_list_charset (MSymbol **symbols)
 文字セットを表わすシンボルを列挙する.
 
int mchar_decode (MSymbol charset_name, unsigned code)
 コードポイントをデコードする.
 
unsigned mchar_encode (MSymbol charset_name, int c)
 文字コードをエンコードする.
 
int mchar_map_charset (MSymbol charset_name, void(*func)(int from, int to, void *arg), void *func_arg)
 指定した文字セットのすべての文字に対して関数を呼ぶ.
 

変数

MSymbol Mcharset
 

変数: 文字セットを表現する定義済みシンボル.

以下の各シンボルは、定義済み文字セットを表現する。

MSymbol Mcharset_ascii
 ASCII 文字セットを表現するシンボル.
 
MSymbol Mcharset_iso_8859_1
 ISO/IEC 8859-1:1998 文字セットを表現するシンボル.
 
MSymbol Mcharset_unicode
 Unicode 文字セットを表現するシンボル.
 
MSymbol Mcharset_m17n
 全文字を含む文字セットを表現するシンボル.
 
MSymbol Mcharset_binary
 正しくデコードできない文字の文字セットを表現するシンボル.
 

変数: mchar_define_charset 用のパラメータ・キー

これらは、関数 mchar_define_charset() 用のパラメータ・キーとして使われるシンボルである。 詳しくはこの関数の解説を参照のこと。

MSymbol Mmethod
 
MSymbol Mdimension
 
MSymbol Mmin_range
 
MSymbol Mmax_range
 
MSymbol Mmin_code
 
MSymbol Mmax_code
 
MSymbol Mascii_compatible
 
MSymbol Mfinal_byte
 
MSymbol Mrevision
 
MSymbol Mmin_char
 
MSymbol Mmapfile
 
MSymbol Mparents
 
MSymbol Msubset_offset
 
MSymbol Mdefine_coding
 
MSymbol Maliases
 

変数: 文字セットのメソッド指定に使われるシンボル

これらは、文字セットの メソッド を指定するための定義済みシンボルであり、文字セットの Mmethod パラメータの値となることができる。 この値は関数 mchar_define_charset() の引数として使われる。

メソッドとは、コードポイントと文字コードを相互変換する際の方式のことである。 詳しくは関数 mchar_define_charset() の解説を参照のこと。

MSymbol Moffset
 
MSymbol Mmap
 マップ型のメソッドを示すシンボル.
 
MSymbol Munify
 ユニファイ型のメソッドを示すシンボル.
 
MSymbol Msubset
 サブセット型のメソッドを示すシンボル.
 
MSymbol Msuperset
 スーパーセット型のメソッドを示すシンボル.
 

詳解

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

シンボル Mcharset.

m17n ライブラリは、符号化文字集合 (CCS) を 文字セット と呼ぶオブジェクトで表現する。 m17n ライブラリは多くの符号化文字集合をあらかじめサポートしているし、アプリケーションプログラムが独自に文字セットを追加することも可能である。 一つの文字は複数の文字セットに属してもよい。

m17n ライブラリは、以下の概念を区別している:

各文字セットオブジェクトは、その文字セットに属する文字のコードポイントと文字コードとの間の変換を規定する。 コードポイントから文字コードへの変換を デコード と呼び、文字コードからコードポイントへの変換を エンコード と呼ぶ。

デコードされた M-text は、キーが Mcharset であるようなテキストプロパティを持つ。 シンボル Mcharset"charset" という名前を持つ。

マクロ定義詳解

◆ MCHAR_INVALID_CODE

#define MCHAR_INVALID_CODE

無効なコードポイント.

マクロ MCHAR_INVALID_CODE は無効なコードポイントを示す。

関数詳解

◆ mchar_define_charset()

MSymbol mchar_define_charset ( const char *  name,
MPlist plist 
)

◆ mchar_resolve_charset()

MSymbol mchar_resolve_charset ( MSymbol  symbol)

文字セット名を解決する.

関数 mchar_resolve_charset()symbol が文字セットを示していればそれを返す。

そうでなければ、symbol を文字セット名として正規化し、それが文字セットを示していていれば正規化したものを返す。 そうでなければ、::Mnil を返す。

◆ mchar_list_charset()

int mchar_list_charset ( MSymbol **  symbols)

文字セットを表わすシンボルを列挙する.

関数 mchar_list_charsets() は、文字セットを示すシンボルを並べた配列を作り、symbols でポイントされた場所にこの配列へのポインタを置き、配列の長さを返す。

◆ mchar_decode()

int mchar_decode ( MSymbol  charset_name,
unsigned  code 
)

コードポイントをデコードする.

関数 mchar_decode() は、シンボル charset_name で示される文字セット内の code というコードポイントをデコードして文字コードを得る。

戻り値:
デコードが成功すれば、mchar_decode() はデコードされた文字コードを返す。 そうでなければ -1 を返す。
参照:
mchar_encode()

◆ mchar_encode()

unsigned mchar_encode ( MSymbol  charset_name,
int  c 
)

文字コードをエンコードする.

関数 mchar_encode() は、文字コード c をエンコードしてシンボル charset_name で示される文字セット内におけるコードポイントを得る。

戻り値:
エンコードが成功すれば、mchar_encode() はエンードされたコードポイントを返す。 そうでなければ MCHAR_INVALID_CODE を返す。
参照:
mchar_decode()

◆ mchar_map_charset()

int mchar_map_charset ( MSymbol  charset_name,
void(*)(int from, int to, void *arg)  func,
void *  func_arg 
)

指定した文字セットのすべての文字に対して関数を呼ぶ.

関数 mcharset_map_chars() は charset_name という名前を持つ文字セット中のすべての文字に対して func を呼ぶ。 呼び出しは一文字毎ではなく、連続した文字のまとまり単位で行なわれる。

関数 func にはfrom, to, arg の3引数が渡される。fromtocharset 中の文字コードの範囲を指定する。argfunc_arg と同じである。

戻り値:
処理に成功すれば mcharset_map_chars() は 0 を返す。 そうでなければ -1 を返し、外部変数 merror_code にエラーコードを設定する。
エラー:
MERROR_CHARSET

変数詳解

◆ Mcharset_ascii

MSymbol Mcharset_ascii

ASCII 文字セットを表現するシンボル.

シンボル Mcharset_ascii"ascii" という名前を持ち、 ISO 646, USA Version X3.4-1968 (ISO-IR-6) 文字セットを表現する。

◆ Mcharset_iso_8859_1

MSymbol Mcharset_iso_8859_1

ISO/IEC 8859-1:1998 文字セットを表現するシンボル.

シンボル Mcharset_iso_8859_1"iso-8859-1" という名前を持ち、ISO/IEC 8859-1:1998 文字セットを表現する。

◆ Mcharset_unicode

MSymbol Mcharset_unicode

Unicode 文字セットを表現するシンボル.

シンボル Mcharset_unicode"unicode" という名前を持ち、Unicode 文字セットを表現する。

◆ Mcharset_m17n

MSymbol Mcharset_m17n

全文字を含む文字セットを表現するシンボル.

シンボル Mcharset_m17n"m17n" という名前を持ち、 m17n ライブラリが扱う全ての文字を含む文字セットを表現する。

◆ Mcharset_binary

MSymbol Mcharset_binary

正しくデコードできない文字の文字セットを表現するシンボル.

シンボル Mcharset_binary"binary" という名前を持ち、偽の (fake) 文字セットを表現する。 デコード関数は、M-text のテキストプロパティとして、無効なバイト(シークエンス)に遭遇した位置を付加する。

詳細は コード変換 参照のこと。

◆ Mmethod

MSymbol Mmethod

◆ Mdimension

MSymbol Mdimension

◆ Mmin_range

MSymbol Mmin_range

◆ Mmax_range

MSymbol Mmax_range

◆ Mmin_code

MSymbol Mmin_code

◆ Mmax_code

MSymbol Mmax_code

◆ Mascii_compatible

MSymbol Mascii_compatible

◆ Mfinal_byte

MSymbol Mfinal_byte

◆ Mrevision

MSymbol Mrevision

◆ Mmin_char

MSymbol Mmin_char

◆ Mmapfile

MSymbol Mmapfile

◆ Mparents

MSymbol Mparents

◆ Msubset_offset

MSymbol Msubset_offset

◆ Mdefine_coding

MSymbol Mdefine_coding

◆ Maliases

MSymbol Maliases

◆ Moffset

MSymbol Moffset
@brief オフセット型のメソッドを示すシンボル.

シンボル #Moffset は <tt>"offset"</tt> という名前を持ち、文字セットの
@b Mmethod パラメータの値として用いられた場合には、コードポイントと文字セットの文字コードの間の変換が以下の式に従って行われることを意味する。
文字コード = コードポイント - MIN-CODE + MIN-CHAR
ここで、MIN-CODE は文字セットの @b Mmin_code パラメータの値であり、MIN-CHAR は
@b Mmin_char パラメータの値である。

◆ Mmap

MSymbol Mmap

マップ型のメソッドを示すシンボル.

シンボル Mmap"map" という名前を持ち、文字セットの Mmethod パラメータの値として用いられた場合には、コードポイントと文字セットの文字コードの間の変換がマップを参照することによって行われることを意味する。 マップは Mmapfile パラメータとして与えなければならない。

◆ Munify

MSymbol Munify

ユニファイ型のメソッドを示すシンボル.

シンボル Munify"unify" という名前を持ち、文字セットの Mmethod パラメータの値として用いられた場合には、コードポイントと文字セットの文字コードの間の変換が、マップの参照とオフセットの組み合わせによって行われることを意味する。 マップは Mmapfile パラメータとして与えなければならない。 この種の各文字セットには、全文字に対して連続するコードスペースがそれぞれ割り当てられる。

コードポイントがマップに含まれていれば、変換はマップ参照によって行われる。 そうでなければ、以下の式に従う。

CHARACTER-CODE = CODE-POINT - MIN-CODE + LOWEST-CHAR-CODE
ここで、MIN-CODE は文字セットの @b Mmin_code パラメータの値であり、
LOWEST-CHAR-CODE は割り当てられたコードスペースの最も小さい文字コードである。

◆ Msubset

MSymbol Msubset

サブセット型のメソッドを示すシンボル.

シンボル Msubset"subset" という名前を持ち、文字セットの Mmethod パラメータの値として用いられた場合には、この文字セットが別の文字セット(親文字セット)の部分集合であることを意味する。 親文字セットは Mparents パラメータによって与えられなくてはならない。 コードポイントと文字セットの文字コードの間の変換は、概念的には以下の式に従う。

CHARACTER-CODE = PARENT-CODE (CODE-POINT) + SUBSET-OFFSET
ここで PARENT-CODE は CODE-POINT 
の親文字セット中での文字コードを返す擬関数であり、SUBSET-OFFSET は 
@b Msubset_offset パラメータで与えられる値である。

◆ Msuperset

MSymbol Msuperset

スーパーセット型のメソッドを示すシンボル.

シンボル Msuperset"superset" という名前を持ち、文字セットの Mmethod パラメータの値として用いられた場合には、この文字セットが別の文字セット(親文字セット)の上位集合であることを意味する。 親文字セットは Mparents パラメータによって与えられなくてはならない。

◆ Mcharset

MSymbol Mcharset

m17n-lib Home