m17n ライブラリ  1.8.3
データ構造 | マクロ定義 | 型定義 | 列挙型 | 関数 | 変数
m17n-core.h ファイル
被依存関係図:

データ構造

struct  M17NObjectHead
 管理下オブジェクトの最初のメンバ. [詳解]
 

マクロ定義

#define M17N_BEGIN_HEADER
 
#define M17N_END_HEADER
 
#define M17N_FUNC(func)   ((M17NFunc) (func))
 汎関数型へのラッパ. [詳解]
 

型定義

typedef void(* M17NFunc) (void)
 汎関数型. [詳解]
 
typedef struct MCharTable MCharTable
 文字テーブルの型宣言. [詳解]
 
typedef MPlist *(* MTextPropSerializeFunc) (void *val)
 シリアライザ関数の型宣言. [詳解]
 
typedef void *(* MTextPropDeserializeFunc) (MPlist *plist)
 デシリアライザ関数の型宣言. [詳解]
 
typedef struct MDatabase MDatabase
 データベースの型宣言. [詳解]
 

列挙型

enum  M17NStatus {
  M17N_NOT_INITIALIZED ,
  M17N_CORE_INITIALIZED ,
  M17N_SHELL_INITIALIZED ,
  M17N_GUI_INITIALIZED
}
 m17n ライブラリの状態を示す列挙型. [詳解]
 
enum  MTextFormat {
  MTEXT_FORMAT_US_ASCII ,
  MTEXT_FORMAT_UTF_8 ,
  MTEXT_FORMAT_UTF_16LE ,
  MTEXT_FORMAT_UTF_16BE ,
  MTEXT_FORMAT_UTF_32LE ,
  MTEXT_FORMAT_UTF_32BE ,
  MTEXT_FORMAT_MAX
}
 M-text のフォーマットを指定する列挙型. [詳解]
 
enum  MTextLineBreakOption {
  MTEXT_LBO_SP_CM = 1 ,
  MTEXT_LBO_KOREAN_SP = 2 ,
  MTEXT_LBO_AI_AS_ID = 4 ,
  MTEXT_LBO_MAX
}
 
enum  MTextPropertyControl {
  MTEXTPROP_FRONT_STICKY = 0x01 ,
  MTEXTPROP_REAR_STICKY = 0x02 ,
  MTEXTPROP_VOLATILE_WEAK = 0x04 ,
  MTEXTPROP_VOLATILE_STRONG = 0x08 ,
  MTEXTPROP_NO_MERGE = 0x10 ,
  MTEXTPROP_CONTROL_MAX = 0x1F
}
 テキストプロパティを制御するフラグビット. [詳解]
 

関数

enum M17NStatus m17n_status (void)
 m17n ライブラリのどの部分が初期化されたか報告する. [詳解]
 
void * m17n_object (int size, void(*freer)(void *))
 
int m17n_object_ref (void *object)
 管理下オブジェクトの参照数を 1 増やす. [詳解]
 
int m17n_object_unref (void *object)
 管理下オブジェクトの参照数を 1 減らす. [詳解]
 
MSymbol msymbol (const char *name)
 シンボルを得る. [詳解]
 
MSymbol msymbol_as_managing_key (const char *name)
 管理キーを作る. [詳解]
 
int msymbol_is_managing_key (MSymbol symbol)
 
MSymbol msymbol_exist (const char *name)
 指定された名前を持つシンボルを探す. [詳解]
 
char * msymbol_name (MSymbol symbol)
 シンボルの名前を得る. [詳解]
 
int msymbol_put (MSymbol symbol, MSymbol key, void *val)
 シンボルプロパティに値を設定する. [詳解]
 
void * msymbol_get (MSymbol symbol, MSymbol key)
 シンボルプロパティの値を得る. [詳解]
 
int msymbol_put_func (MSymbol symbol, MSymbol key, M17NFunc func)
 シンボルプロパティの値(関数ポインタ)を設定する. [詳解]
 
M17NFunc msymbol_get_func (MSymbol symbol, MSymbol key)
 シンボルプロパティの値 (関数ポインタ) を得る. [詳解]
 
MPlistmplist ()
 プロパティリストオブジェクトを作る. [詳解]
 
MPlistmplist_copy (MPlist *plist)
 プロパティリストをコピーする. [詳解]
 
MPlistmplist_add (MPlist *plist, MSymbol key, void *val)
 プロパティリスト末尾にプロパティを追加する. [詳解]
 
MPlistmplist_push (MPlist *plist, MSymbol key, void *val)
 プロパティリストの先頭にプロパティを挿入する. [詳解]
 
void * mplist_pop (MPlist *plist)
 プロパティリストの先頭からプロパティを削除する. [詳解]
 
MPlistmplist_put (MPlist *plist, MSymbol key, void *val)
 プロパティリスト中のプロパティの値を設定する. [詳解]
 
void * mplist_get (MPlist *plist, MSymbol key)
 プロパティリスト中のプロパティの値を得る. [詳解]
 
MPlistmplist_put_func (MPlist *plist, MSymbol key, M17NFunc func)
 プロパティリスト中のプロパティに関数ポインタである値を設定する. [詳解]
 
M17NFunc mplist_get_func (MPlist *plist, MSymbol key)
 プロパティリストからプロパティの関数ポインタである値を得る. [詳解]
 
MPlistmplist_find_by_key (MPlist *plist, MSymbol key)
 プロパティリスト中から指定のキーを持つプロパティを探す. [詳解]
 
MPlistmplist_find_by_value (MPlist *plist, void *val)
 プロパティリスト中から指定の値を持つプロパティを探す. [詳解]
 
MPlistmplist_next (MPlist *plist)
 プロパティリストの次の部分リストを返す. [詳解]
 
MPlistmplist_set (MPlist *plist, MSymbol key, void *val)
 プロパティリストの最初のプロパティを設定する. [詳解]
 
int mplist_length (MPlist *plist)
 プロパティリストの長さを返す. [詳解]
 
MSymbol mplist_key (MPlist *plist)
 プロパティリスト中の最初のプロパティのキーを返す. [詳解]
 
void * mplist_value (MPlist *plist)
 プロパティリスト中の最初のプロパティの値を返す. [詳解]
 
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)
 文字プロパティの値を設定する. [詳解]
 
MCharTablemchartable (MSymbol key, void *default_value)
 新しい文字テーブルを作る. [詳解]
 
int mchartable_min_char (MCharTable *table)
 
int mchartable_max_char (MCharTable *table)
 
void * mchartable_lookup (MCharTable *table, int c)
 文字テーブル中で文字に割り当てられた値を返す. [詳解]
 
int mchartable_set (MCharTable *table, int c, void *val)
 文字テーブル中での文字の値を設定する. [詳解]
 
int mchartable_set_range (MCharTable *table, int from, int to, void *val)
 指定範囲の文字に値を設定する. [詳解]
 
int mchartable_map (MCharTable *table, void *ignore, void(*func)(int, int, void *, void *), void *func_arg)
 文字テーブル中の文字に対して指定の関数を呼ぶ. [詳解]
 
void mchartable_range (MCharTable *table, int *from, int *to)
 値がデフォルトと異なる文字を探す. [詳解]
 
MCharTablemchar_get_prop_table (MSymbol key, MSymbol *type)
 文字プロパティの文字テーブルを得る. [詳解]
 
MTextmtext ()
 新しいM-textを割り当てる. [詳解]
 
void * mtext_data (MText *mt, enum MTextFormat *fmt, int *nunits, int *pos_idx, int *unit_idx)
 
int mtext_len (MText *mt)
 M-text 中の文字の数. [詳解]
 
int mtext_ref_char (MText *mt, int pos)
 M-text 中の指定された位置の文字を返す. [詳解]
 
int mtext_set_char (MText *mt, int pos, int c)
 M-text に一文字を設定する. [詳解]
 
MTextmtext_copy (MText *mt1, int pos, MText *mt2, int from, int to)
 M-text に指定範囲の文字をコピーする. [詳解]
 
int mtext_compare (MText *mt1, int from1, int to1, MText *mt2, int from2, int to2)
 二つの M-text の指定した領域同士を比較する. [詳解]
 
int mtext_case_compare (MText *mt1, int from1, int to1, MText *mt2, int from2, int to2)
 二つの M-text の指定した領域を、大文字/小文字の区別を無視して比較する. [詳解]
 
int mtext_character (MText *mt, int from, int to, int c)
 M-text 中で文字を探す. [詳解]
 
int mtext_del (MText *mt, int from, int to)
 指定範囲の文字を破壊的に取り除く. [詳解]
 
int mtext_ins (MText *mt1, int pos, MText *mt2)
 M-text を別の M-text に挿入する. [詳解]
 
int mtext_insert (MText *mt1, int pos, MText *mt2, int from, int to)
 M-text の一部を別の M-text に挿入する. [詳解]
 
int mtext_ins_char (MText *mt, int pos, int c, int n)
 M-text に文字を挿入する. [詳解]
 
int mtext_replace (MText *mt1, int from1, int to1, MText *mt2, int from2, int to2)
 M-text の一部を別の M-text の一部で置換する. [詳解]
 
MTextmtext_cat_char (MText *mt, int c)
 M-text に一文字追加する. [詳解]
 
MTextmtext_duplicate (MText *mt, int from, int to)
 既存の M-text の一部から新しい M-text をつくる. [詳解]
 
MTextmtext_dup (MText *mt)
 M-text のコピーを作る. [詳解]
 
MTextmtext_cat (MText *mt1, MText *mt2)
 2個の M-textを連結する. [詳解]
 
MTextmtext_ncat (MText *mt1, MText *mt2, int n)
 M-text の一部を別の M-text に付加する. [詳解]
 
MTextmtext_cpy (MText *mt1, MText *mt2)
 M-text を別の M-text にコピーする. [詳解]
 
MTextmtext_ncpy (MText *mt1, MText *mt2, int n)
 M-text に含まれる最初の何文字かをコピーする. [詳解]
 
int mtext_chr (MText *mt, int c)
 M-text 中で指定された文字が最初に現れる位置を返す. [詳解]
 
int mtext_rchr (MText *mt, int c)
 M-text 中で指定された文字が最後に現れる位置を返す. [詳解]
 
int mtext_cmp (MText *mt1, MText *mt2)
 二つの M-text を文字単位で比較する. [詳解]
 
int mtext_ncmp (MText *mt1, MText *mt2, int n)
 二つの M-text の先頭部分を文字単位で比較する. [詳解]
 
int mtext_spn (MText *mt1, MText *mt2)
 ある集合の文字を M-text の中で探す. [詳解]
 
int mtext_cspn (MText *mt1, MText *mt2)
 ある集合に属さない文字を M-text の中で探す. [詳解]
 
int mtext_pbrk (MText *mt1, MText *mt2)
 ある集合に属す文字を M-text の中から探す. [詳解]
 
int mtext_text (MText *mt1, int pos, MText *mt2)
 M-text 中で別の M-text を探す. [詳解]
 
int mtext_search (MText *mt1, int from, int to, MText *mt2)
 M-text 中の特定の領域で別の M-text を探す. [詳解]
 
MTextmtext_tok (MText *mt, MText *delim, int *pos)
 M-text 中のトークンを探す. [詳解]
 
int mtext_casecmp (MText *mt1, MText *mt2)
 二つの M-text を大文字/小文字の区別を無視して比較する. [詳解]
 
int mtext_ncasecmp (MText *mt1, MText *mt2, int n)
 二つの M-text の先頭部分を大文字/小文字の区別を無視して比較する. [詳解]
 
int mtext_lowercase (MText *mt)
 M-text を小文字にする. [詳解]
 
int mtext_titlecase (MText *mt)
 M-text をタイトルケースにする. [詳解]
 
int mtext_uppercase (MText *mt)
 M-text を大文字にする. [詳解]
 
int mtext_line_break (MText *mt, int pos, int option, int *after)
 
MPlistmplist_deserialize (MText *mt)
 M-text をデシリアライズしてプロパティリストを作る. [詳解]
 
void * mtext_get_prop (MText *mt, int pos, MSymbol key)
 テキストプロパティの一番上の値を得る. [詳解]
 
int mtext_get_prop_values (MText *mt, int pos, MSymbol key, void **values, int num)
 テキストプロパティの値を複数個得る. [詳解]
 
int mtext_get_prop_keys (MText *mt, int pos, MSymbol **keys)
 M-text の指定した位置のテキストプロパティのキーのリストを得る. [詳解]
 
int mtext_put_prop (MText *mt, int from, int to, MSymbol key, void *val)
 
int mtext_put_prop_values (MText *mt, int from, int to, MSymbol key, void **values, int num)
 同じキーのテキストプロパティを複数設定する. [詳解]
 
int mtext_push_prop (MText *mt, int from, int to, MSymbol key, void *val)
 
int mtext_pop_prop (MText *mt, int from, int to, MSymbol key)
 
int mtext_prop_range (MText *mt, MSymbol key, int pos, int *from, int *to, int deeper)
 テキストプロパティが同じ値をとる範囲を調べる. [詳解]
 
MTextPropertymtext_property (MSymbol key, void *val, int control_bits)
 テキストプロパティを生成する. [詳解]
 
MTextmtext_property_mtext (MTextProperty *prop)
 あるテキストプロパティを持つ M-text を返す. [詳解]
 
MSymbol mtext_property_key (MTextProperty *prop)
 テキストプロパティのキーを返す. [詳解]
 
void * mtext_property_value (MTextProperty *prop)
 テキストプロパティの値を返す. [詳解]
 
int mtext_property_start (MTextProperty *prop)
 テキストプロパティの開始位置を返す. [詳解]
 
int mtext_property_end (MTextProperty *prop)
 テキストプロパティの終了位置を返す. [詳解]
 
MTextPropertymtext_get_property (MText *mt, int pos, MSymbol key)
 一番上のテキストプロパティを得る. [詳解]
 
int mtext_get_properties (MText *mt, int pos, MSymbol key, MTextProperty **props, int num)
 複数のテキストプロパティを得る. [詳解]
 
int mtext_attach_property (MText *mt, int from, int to, MTextProperty *prop)
 M-textにテキストプロパティを付加する. [詳解]
 
int mtext_detach_property (MTextProperty *prop)
 M-text からテキストプロパティを分離する. [詳解]
 
int mtext_push_property (MText *mt, int from, int to, MTextProperty *prop)
 M-text にテキストプロパティをプッシュする. [詳解]
 
MTextmtext_serialize (MText *mt, int from, int to, MPlist *property_list)
 
MTextmtext_deserialize (MText *mt)
 
MDatabasemdatabase_find (MSymbol tag1, MSymbol tag2, MSymbol tag3, MSymbol tag4)
 データベース中のデータを探す. [詳解]
 
MPlistmdatabase_list (MSymbol tag0, MSymbol tag1, MSymbol tag2, MSymbol tag3)
 m17n データベースのデータリストを返す. [詳解]
 
void * mdatabase_load (MDatabase *mdb)
 データベースからデータをロードする. [詳解]
 
MSymbolmdatabase_tag (MDatabase *mdb)
 データのタグを得る. [詳解]
 
MDatabasemdatabase_define (MSymbol tag1, MSymbol tag2, MSymbol tag3, MSymbol tag4, void *(*loader)(MSymbol *, void *), void *extra_info)
 m17n データベースのデータを定義する. [詳解]
 

変数

MSymbol Mnil
 "nil" を名前として持つシンボル. [詳解]
 
MSymbol Mt
 "t" を名前として持つシンボル. [詳解]
 
MSymbol Mstring
 "string" を名前として持つシンボル. [詳解]
 
MSymbol Msymbol
 "symbol" を名前として持つシンボル. [詳解]
 
MSymbol Mtext
 "mtext" を名前として持つシンボル. [詳解]
 
MSymbol Mcharset
 
MSymbol Mplist
 "plist" を名前として持つシンボル. [詳解]
 
MSymbol Minteger
 
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
 
MSymbol Mcase_mapping
 
MSymbol Mblock
 スクリプトブロック名を表すキー. [詳解]
 
MSymbol Mchar_table
 
MSymbol Mlanguage
 
MSymbol Mtext_prop_serializer
 シリアライザ関数を指定するシンボル. [詳解]
 
MSymbol Mtext_prop_deserializer
 デシリアライザ関数を指定するシンボル. [詳解]
 
char * mdatabase_dir
 

変数: UTF-16 と UTF-32 のデフォルトのエンディアン

enum MTextFormat MTEXT_FORMAT_UTF_16
 値が MTEXT_FORMAT_UTF_16LE か MTEXT_FORMAT_UTF_16BE である変数 [詳解]
 
const int MTEXT_FORMAT_UTF_32
 値が MTEXT_FORMAT_UTF_32LE か MTEXT_FORMAT_UTF_32BE である変数 [詳解]
 
MTextmtext_from_data (const void *data, int nitems, enum MTextFormat format)
 指定のデータを元に新しい M-text を割り当てる. [詳解]
 

マクロ定義詳解

◆ M17N_BEGIN_HEADER

#define M17N_BEGIN_HEADER

◆ M17N_END_HEADER

#define M17N_END_HEADER

変数詳解

◆ Minteger

MSymbol Minteger

◆ Msoft_dotted

MSymbol Msoft_dotted

◆ Mcase_mapping

MSymbol Mcase_mapping

m17n-lib Home