Main Page   Modules   Data Structures   Globals   Appendix  

はじめに

m17n ライブラリ イントロダクション. [詳細]

マクロ定義

#define M17NLIB_MAJOR_VERSION
#define M17NLIB_MINOR_VERSION
#define M17NLIB_PATCH_LEVEL
#define M17NLIB_VERSION_NAME
#define M17N_INIT()
 m17n ライブラリを初期化する.
#define M17N_FINI()
 m17n ライブラリを終了する.

列挙型

enum  M17NStatus {
  M17N_NOT_INITIALIZED,
  M17N_CORE_INITIALIZED,
  M17N_SHELL_INITIALIZED,
  M17N_GUI_INITIALIZED
}
 m17n ライブラリの状態を示す列挙型. [詳細]

関数

enum M17NStatus m17n_status (void)
 m17n ライブラリのどの部分が初期化されたか報告する.

説明

APIのレベル

m17n ライブラリの API は以下の4種に分類されている。

  1. コア API

    M-text を扱うための基本的なモジュールを提供する。この分類の API は m17n データベースを必要としない。利用するためには、アプリケーションプログラムは <m17n-core.h> を include し、 -lm17n-core でリンクされなくてはならない。

  2. シェル API

    m17n データベースを利用するモジュール(コード変換、文字プロパティ等) を提供する。モジュールはデータベースから必要に応じて多様なデータをロードする。 利用するためには、アプリケーションプログラムは <m17n.h> を include し、 -lm17n-core -lm17n でリンクされなくてはならない。

    この API を使用する際にはコア API も使用できる。

  3. GUI API

    M-text をグラフィックデバイス上で表示したり入力したりするといった、グラフィックユーザインタフェースモジュールを提供する。 API 自体はグラフィックデバイスとは独立であるが、多くの関数は特定のグラフィックデバイス上に作成された MFrame を引数に取る。現時点では、ヌルデバイス、X ウィンドウシステム、 GD ライブラリのイメージ(gdImagePtr)、がグラフィックデバイスとしてサポートされている。

    ヌルデバイス上では表示も入力もできない(ただしたとえば mdraw_glyph_list() などの関数は使用可能)。

    X ウィンドウシステム上ではすべての GUI API が使用できる。

    GD ライブラリのイメージ上では、描画用の API はすべて使用できるが入力はできない。

    このデバイスを使用するためには、アプリケーションプログラムは <m17n-gui.h> を include し、-lm17n-core -lm17n -lm17n-gui でリンクされなくてはならない。

    この API を使用する際には、コア API とシェル API も使用できる。

  4. その他の API

    エラー処理、デバッグ用のその他の関数を提供する。この API はそれだけでは使用できず、上記の他のものと共に使う。利用するためには、上記のいずれかの include ファイルに加えて、 <m17n-misc.h> を include しなくてはならない。

m17n-config(1) 節も参照。

環境変数

m17n ライブラリは次の環境変数を考慮する。

API の命名規則 コマンド

ライブラリは、関数、変数、マクロ、型を export する。それらは'm' または 'M' のあとにオブジェクト名("symbol" や "plist" など。ただし "mtext" オブジェクトははじめの 'm' の重複を避けるため "text" を用いる。) またはモジュール名(draw, input など) を続けたものである。


マクロ定義

#define M17NLIB_MAJOR_VERSION

マクロ M17NLIB_MAJOR_VERSION は m17n ライブラリのメジャーバージョン番号を与える。

#define M17NLIB_MINOR_VERSION

マクロ M17NLIB_MINOR_VERSION は m17n ライブラリのマイナーバージョン番号を与える。

#define M17NLIB_PATCH_LEVEL

マクロ M17NLIB_PATCH_LEVEL は m17n ライブラリのパッチレベル番号を与える。

#define M17NLIB_VERSION_NAME

マクロ M17NLIB_VERSION_NAME は m17n ライブラリのバージョン名を文字列として与える。

 
#define M17N_INIT (  ) 

マクロ M17N_INIT() は m17n ライブラリを初期化する。m17n の関数を利用する前に、このマクロをまず呼ばなくてはならない。

このマクロを複数回呼んでも安全であるが、その場合メモリを解放するためにマクロ M17N_FINI() を同じ回数呼ぶ必要がある。

外部変数 merror_code は、初期化が成功すれば 0 に、そうでなければ -1 に設定される。

参照:
M17N_FINI(), m17n_status()

 
#define M17N_FINI (  ) 

マクロ M17N_FINI() は m17n ライブラリを終了する。m17n ライブラリが使った全てのメモリ領域は解放される。一度このマクロが呼ばれたら、マクロ M17N_INIT() が再度呼ばれるまで m17n 関数は使うべきでない。

マクロ M17N_INIT() が N 回呼ばれていた場合には、このマクロが N 回呼ばれて初めてメモリが解放される。

参照:
M17N_INIT(), m17n_status()


列挙型

enum M17NStatus

列挙型 M17NStatus は関数 m17n_status() の戻り値として用いられる。

列挙型の値:
M17N_NOT_INITIALIZED 
M17N_CORE_INITIALIZED 
M17N_SHELL_INITIALIZED 
M17N_GUI_INITIALIZED 


関数

enum M17NStatus m17n_status ( void   ) 

関数 m17n_status() は m17n ライブラリのどの部分が初期化されたかに応じて、以下の値のいずれかを返す。

M17N_NOT_INITIALIZED, M17N_CORE_INITIALIZED, M17N_SHELL_INITIALIZED, M17N_GUI_INITIALIZED


このページの先頭

Main Page   Modules   Data Structures   Globals   Appendix  

mulemark