m17n.h


データ構造

struct  MConverter
 コード変換に用いられる構造体. [詳細]
struct  MCodingInfoISO2022
 MCODING_TYPE_ISO_2022 タイプのコード系で必要な付加情報用構造体. [詳細]
struct  MCodingInfoUTF
 MCODING_TYPE_UTF タイプのコード系で必要な付加情報用の構造体. [詳細]
struct  MInputDriver
 入力ドライバ用構造体. [詳細]
struct  MInputMethod
 入力メソッドの構造体. [詳細]
struct  MInputContext
 入力コンテクスト用構造体. [詳細]

型定義

typedef struct MLocale MLocale
 MLocale 構造体.
typedef struct MInputMethod MInputMethod
 See struct MInputMethod
typedef struct MInputContext MInputContext
 See struct MInputContext
typedef void(* MInputCallbackFunc )(MInputContext *ic, MSymbol command)
 入力メソッドコールバック関数の型宣言.

列挙型

enum  MConversionResult {
  MCONVERSION_RESULT_SUCCESS,
  MCONVERSION_RESULT_INVALID_BYTE,
  MCONVERSION_RESULT_INVALID_CHAR,
  MCONVERSION_RESULT_INSUFFICIENT_SRC,
  MCONVERSION_RESULT_INSUFFICIENT_DST,
  MCONVERSION_RESULT_IO_ERROR
}
 コード変換の結果を示すコード. [詳細]
enum  MCodingType {
  MCODING_TYPE_CHARSET,
  MCODING_TYPE_UTF,
  MCODING_TYPE_ISO_2022,
  MCODING_TYPE_MISC
}
 コード系のタイプ. [詳細]
enum  MCodingFlagISO2022 {
  MCODING_ISO_RESET_AT_EOL = 0x1,
  MCODING_ISO_RESET_AT_CNTL = 0x2,
  MCODING_ISO_EIGHT_BIT = 0x4,
  MCODING_ISO_LONG_FORM = 0x8,
  MCODING_ISO_DESIGNATION_G0 = 0x10,
  MCODING_ISO_DESIGNATION_G1 = 0x20,
  MCODING_ISO_DESIGNATION_CTEXT = 0x40,
  MCODING_ISO_DESIGNATION_CTEXT_EXT = 0x80,
  MCODING_ISO_LOCKING_SHIFT = 0x100,
  MCODING_ISO_SINGLE_SHIFT = 0x200,
  MCODING_ISO_SINGLE_SHIFT_7 = 0x400,
  MCODING_ISO_EUC_TW_SHIFT = 0x800,
  MCODING_ISO_ISO6429 = 0x1000,
  MCODING_ISO_REVISION_NUMBER = 0x2000,
  MCODING_ISO_FULL_SUPPORT = 0x3000,
  MCODING_ISO_FLAG_MAX
}
 MCODING_TYPE_ISO_2022 タイプのコード系の詳細を表わすビットマスク. [詳細]
enum  MInputCandidatesChanged {
  MINPUT_CANDIDATES_LIST_CHANGED = 1,
  MINPUT_CANDIDATES_INDEX_CHANGED = 2,
  MINPUT_CANDIDATES_SHOW_CHANGED = 4,
  MINPUT_CANDIDATES_CHANGED_MAX
}
 入力メソッドの入力候補がどう変更されたかを示すビットマスク. [詳細]

関数

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 mconv_define_coding (const char *name, MPlist *plist, int(*resetter)(MConverter *), int(*decoder)(const unsigned char *, int, MText *, MConverter *), int(*encoder)(MText *, int, int, unsigned char *, int, MConverter *), void *extra_info)
 コード系を定義する.
MSymbol mconv_resolve_coding (MSymbol symbol)
 コード系の名前を解決する.
int mconv_list_codings (MSymbol **symbols)
 コード系を表わすシンボルを列挙する.
MConvertermconv_buffer_converter (MSymbol coding, const unsigned char *buf, int n)
 バッファに結び付けられたコードコンバータを作る.
MConvertermconv_stream_converter (MSymbol coding, FILE *fp)
 ストリームに結び付けられたコードコンバータを作る.
int mconv_reset_converter (MConverter *converter)
 コードコンバータをリセットする.
void mconv_free_converter (MConverter *converter)
 コードコンバータを解放する.
MConvertermconv_rebind_buffer (MConverter *converter, const unsigned char *buf, int n)
 コードコンバータにバッファ領域を結び付ける.
MConvertermconv_rebind_stream (MConverter *converter, FILE *fp)
 コードコンバータにストリームを結び付ける.
MTextmconv_decode (MConverter *converter, MText *mt)
 バイト列を M-text にデコードする.
MTextmconv_decode_buffer (MSymbol name, const unsigned char *buf, int n)
 コード系に基づいてバッファ領域をデコードする.
MTextmconv_decode_stream (MSymbol name, FILE *fp)
 コード系に基づいてストリーム入力をデコードする.
int mconv_encode (MConverter *converter, MText *mt)
 M-text をバイト列にエンコードする.
int mconv_encode_range (MConverter *converter, MText *mt, int from, int to)
 M-text の一部をバイト列にエンコードする.
int mconv_encode_buffer (MSymbol name, MText *mt, unsigned char *buf, int n)
 M-text をエンコードしてバッファ領域に書き込む.
int mconv_encode_stream (MSymbol name, MText *mt, FILE *fp)
 M-text をエンコードしてストリームに書き込む.
int mconv_getc (MConverter *converter)
 コードコンバータ経由で一文字を読みこむ.
int mconv_ungetc (MConverter *converter, int c)
 コードコンバータに一文字戻す.
int mconv_putc (MConverter *converter, int c)
 コードコンバータを経由して一文字書き出す.
MTextmconv_gets (MConverter *converter, MText *mt)
 コードコンバータを使って一行読み込む.
MPlistmlanguage_list (void)
 3文字言語コードをリストする.
MSymbol mlanguage_code (MSymbol language, int len)
 言語コードを得る.
MPlistmlanguage_name_list (MSymbol language, MSymbol target, MSymbol script, MSymbol territory)
MTextmlanguage_text (MSymbol language)
 与えられた言語自身で書かれた言語名を返す.
MPlistmscript_list (void)
 スクリプト名をリストする.
MPlistmscript_language_list (MSymbol script)
 与えられたスクリプトを用いる言語をリストする.
MSymbol mlanguage_name (MSymbol language)
MLocalemlocale_set (int category, const char *locale)
 現在のロケールを設定する.
MSymbol mlocale_get_prop (MLocale *locale, MSymbol key)
 ロケールプロパティの値を得る.
int mtext_ftime (MText *mt, const char *format, const struct tm *tm, MLocale *locale)
 日付と時間をフォーマットする.
MTextmtext_getenv (const char *name)
 環境変数を得る.
int mtext_putenv (MText *mt)
 環境変数を変更/追加する.
int mtext_coll (MText *mt1, MText *mt2)
 現在のロケールを用いて2つの M-text を比較する.
MInputMethodminput_open_im (MSymbol language, MSymbol name, void *arg)
 入力メソッドをオープンする.
void minput_close_im (MInputMethod *im)
 入力メソッドをクローズする.
MInputContextminput_create_ic (MInputMethod *im, void *arg)
 入力コンテクストを生成する.
void minput_destroy_ic (MInputContext *ic)
 入力コンテクストを破壊する.
int minput_filter (MInputContext *ic, MSymbol key, void *arg)
 入力キーをフィルタする.
int minput_lookup (MInputContext *ic, MSymbol key, void *arg, MText *mt)
 入力コンテクスト中のテキストを探す.
void minput_set_spot (MInputContext *ic, int x, int y, int ascent, int descent, int fontsize, MText *mt, int pos)
 入力コンテクストのスポットを設定する.
void minput_toggle (MInputContext *ic)
 入力メソッドを切替える.
void minput_reset_ic (MInputContext *ic)
 入力コンテクストをリセットする.
MTextminput_get_description (MSymbol language, MSymbol name)
 入力メソッドの説明テキストを得る.
MPlistminput_get_title_icon (MSymbol language, MSymbol name)
 入力メソッドのタイトルとアイコン用ファイル名を得る.
MPlistminput_get_command (MSymbol language, MSymbol name, MSymbol command)
 入力メソッドのコマンドに関する情報を得る.
int minput_config_command (MSymbol language, MSymbol name, MSymbol command, MPlist *keyseq)
 入力メソッドのコマンドのキーシークエンスを設定する.
MPlistminput_get_variable (MSymbol language, MSymbol name, MSymbol variable)
 入力メソッドの変数に関する情報を得る.
int minput_config_variable (MSymbol language, MSymbol name, MSymbol variable, MPlist *value)
 入力メソッドの変数の値を設定する.
char * minput_config_file (void)
 ユーザ毎のカスタマイズファイルの名前を得る.
int minput_save_config (void)
 設定をユーザ毎のカスタマイズファイルに保存する.
int minput_callback (MInputContext *ic, MSymbol command)
MPlistminput_get_commands (MSymbol language, MSymbol name)
 入力メソッドのコマンドに関する情報を得る.
int minput_assign_command_keys (MSymbol language, MSymbol name, MSymbol command, MPlist *keys)
 入力メソッドコマンドにキーシークエンスを割り当てる.
MPlistminput_get_variables (MSymbol language, MSymbol name)
 入力メソッドの変数リストを得る.
int minput_set_variable (MSymbol language, MSymbol name, MSymbol variable, void *value)
 入力メソッド変数の初期値を設定する.
MInputMethodmdebug_dump_im (MInputMethod *im, int indent)
 入力メソッドをダンプする.

変数

MSymbol Mcharset_ascii
 ASCII 文字セットを表現するシンボル.
MSymbol Mcharset_iso_8859_1
 ISO/IEC 8859-1:1998 文字セットを表現するシンボル.
MSymbol Mcharset_unicode
 Unicode 文字セットを表現するシンボル.
MSymbol Mcharset_m17n
 全文字を含む文字セットを表現するシンボル.
MSymbol Mcharset_binary
 正しくデコードできない文字の文字セットを表現するシンボル.
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
MSymbol Moffset
 オフセット型のメソッドを示すシンボル.
MSymbol Mmap
 マップ型のメソッドを示すシンボル.
MSymbol Munify
 ユニファイ型のメソッドを示すシンボル.
MSymbol Msubset
 サブセット型のメソッドを示すシンボル.
MSymbol Msuperset
 スーパーセット型のメソッドを示すシンボル.
MSymbol Mcoding_us_ascii
 US-ASCII コード系のシンボル.
MSymbol Mcoding_iso_8859_1
 ISO-8859-1 コード系のシンボル.
MSymbol Mcoding_utf_8
 UTF-8 コード系のシンボル.
MSymbol Mcoding_utf_8_full
 UTF-8-FULL コード系のシンボル.
MSymbol Mcoding_utf_16
 UTF-16 コード系のシンボル.
MSymbol Mcoding_utf_16be
 UTF-16BE コード系のシンボル.
MSymbol Mcoding_utf_16le
 UTF-16LE コード系のシンボル.
MSymbol Mcoding_utf_32
 UTF-32 コード系のシンボル.
MSymbol Mcoding_utf_32be
 UTF-32BE コード系のシンボル.
MSymbol Mcoding_utf_32le
 UTF-32LE コード系のシンボル.
MSymbol Mcoding_sjis
 SJIS コード系のシンボル.
MSymbol Mtype
MSymbol Mcharsets
MSymbol Mflags
MSymbol Mdesignation
MSymbol Minvocation
MSymbol Mcode_unit
MSymbol Mbom
MSymbol Mlittle_endian
MSymbol Mutf
MSymbol Miso_2022
MSymbol Mreset_at_eol
MSymbol Mreset_at_cntl
MSymbol Meight_bit
MSymbol Mlong_form
MSymbol Mdesignation_g0
MSymbol Mdesignation_g1
MSymbol Mdesignation_ctext
MSymbol Mdesignation_ctext_ext
MSymbol Mlocking_shift
MSymbol Msingle_shift
MSymbol Msingle_shift_7
MSymbol Meuc_tw_shift
MSymbol Miso_6429
MSymbol Mrevision_number
MSymbol Mfull_support
MSymbol Mcoding
 シンボル Mcoding.
MSymbol Mmaybe
 "maybe"という名前を持つシンボル.
MSymbol Miso639_1
MSymbol Miso639_2
MSymbol Mterritory
MSymbol Mmodifier
MSymbol Mcodeset
MInputDriver minput_default_driver
 内部入力メソッド用デフォルトドライバ.
MSymbol Minput_method
 "input-method" を名前として持つシンボル.
MSymbol Minput_driver
MInputDriverminput_driver
 内部入力メソッド用ドライバ.
MSymbol Minput_preedit_start
MSymbol Minput_preedit_draw
MSymbol Minput_preedit_done
MSymbol Minput_status_start
MSymbol Minput_status_draw
MSymbol Minput_status_done
MSymbol Minput_candidates_start
MSymbol Minput_candidates_draw
MSymbol Minput_candidates_done
MSymbol Minput_set_spot
MSymbol Minput_toggle
MSymbol Minput_reset
MSymbol Minput_get_surrounding_text
MSymbol Minput_delete_surrounding_text
MSymbol Minput_focus_move
MSymbol Minput_focus_in
MSymbol Minput_focus_out
MSymbol Minherited
MSymbol Mcustomized
MSymbol Mconfigured

関数

MPlist* mlanguage_list ( void   ) 

3文字言語コードをリストする.

関数 mlanguage_list() は、整形式 (well-formed) plist を返す。各キー は Msymbol であり、個々の値は ISO639-2 に定められた3文字言語コー ドを名前とするシンボルである。

戻り値:
この関数が返す plist は、呼び出し側が m17n_object_unref() を使っ て解放する必要がある。
参照:
mscript_list().

MSymbol mlanguage_code ( MSymbol  language,
int  len 
)

言語コードを得る.

関数 mlanguage_code() は、language に対応した ISO-639 言語コード が名前であるようなシンボルを返す。language はシンボルであり、その 名前は、ISO639-2 3文字言語コード、ISO639-1 2文字言語コード、英語名、 のいずれかである。

len は返される言語コードの種類を決定する。len が3の場合は ISO639-2 3文字言語コードが返される。2の場合は、もし定義されていれ ば ISO639-1 2文字言語コードが、そうでなければ Mnil が返される。0 の場合は、もし定義されていれば2文字コードが、そうでなければ3文字コー ドが返される。

戻り値:
もし情報が得られれば、この関数は Mnil 以外のシンボルを返す。そう でなければ Mnil を返す。
参照:
mlanguage_name(), mlanguage_text().

MPlist* mlanguage_name_list ( MSymbol  language,
MSymbol  target,
MSymbol  script,
MSymbol  territory 
)

MText* mlanguage_text ( MSymbol  language  ) 

与えられた言語自身で書かれた言語名を返す.

関数 mlanguage_text() は、言語 language で書かれた language の 名前を M-text の形式で返す。その言語の代表的な文字がわかっている場 合は、返される M-text の各文字に、キーが Mtext で値がその代表的な 文字を含む M-text であるようなテキストプロパティが付加される。

戻り値:
求める情報が得られた場合、この関数が返す M-text を変更したり解放し たりしてはいけない。情報が得られなかった場合は NULL が返される。
参照:
mlanguage_code(), mlanguage_name().

MPlist* mscript_list ( void   ) 

スクリプト名をリストする.

関数 mscript_list() は、整形式 (well-formed) plist を返す。各キー は Msymbol であり、個々の値はスクリプト名を名前とするシンボルであ る。

戻り値:
この関数が返す plist は、呼び出し側が m17n_object_unref() を使っ て解放する必要がある。
参照:
mscript_language_list(), mlanguage_list().

MPlist* mscript_language_list ( MSymbol  script  ) 

与えられたスクリプトを用いる言語をリストする.

関数 mscript_language_list() は、script を用いる言語をリストする。 script はシンボルで、その名前は Unicode Character Database に示さ れているスクリプト名をすべて小文字にしたものである。

戻り値:
この関数は、整形式 (well-formed) plist を返す。各キーは Msymbol であり、個々の値は ISO639-1 に定められた2文字言語コード (定義されていない場合は ISO639-2 に定められた3文字言語コード) を名 前とするシンボルである。返される plist は変更したり解放したりして はならない。script が未知の場合は NULL が返される。
参照:
mscript_list(), mlanguage_list().

MSymbol mlanguage_name ( MSymbol  language  ) 


変数


m17n-lib Home