マクロ定義 | |
#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 ライブラリのどの部分が初期化されたか報告する. |
m17n ライブラリの API は以下の4種に分類されている。
M-text を扱うための基本的なモジュールを提供する。この分類の API は m17n データベースを必要としない。利用するためには、アプリケーションプログラムは <m17n-core.h> を include し、 -lm17n-core でリンクされなくてはならない。
m17n データベースを利用するモジュール(コード変換、文字プロパティ等) を提供する。モジュールはデータベースから必要に応じて多様なデータをロードする。 利用するためには、アプリケーションプログラムは <m17n.h> を include し、 -lm17n-core -lm17n でリンクされなくてはならない。
この API を使用する際にはコア 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 も使用できる。
エラー処理、デバッグ用のその他の関数を提供する。この API はそれだけでは使用できず、上記の他のものと共に使う。利用するためには、上記のいずれかの include ファイルに加えて、 <m17n-misc.h> を include しなくてはならない。
m17n-config(1) 節も参照。
環境変数
m17n ライブラリは次の環境変数を考慮する。
M17NDIR
m17n データベースのデータを含むディレクトリの名前。詳細は データベース 参照。
MDEBUG_XXXX
"MDEBUG_" で始まる名前を持つ環境変数はデバッグ情報を制御する。詳細は デバッグサポート 参照。
API の命名規則 コマンド
ライブラリは、関数、変数、マクロ、型を export する。それらは'm' または 'M' のあとにオブジェクト名("symbol" や "plist" など。ただし "mtext" オブジェクトははじめの 'm' の重複を避けるため "text" を用いる。) またはモジュール名(draw, input など) を続けたものである。
'm' のあとに小文字でオブジェクト名が続く。たとえば、msymbol(), mtext_ref_char(), mdraw_text() など。
関数と同じ命名規則に従う。(たとえば mface_large)
MSymbol 型変数は、'M' の後に名前が続く。たとえば Mlanguage (名前は "language"), Miso_2022 (名前は"iso-2022")など。
'M' の後に大文字でオブジェクト名が続く。
'M' の後に大文字で始めてオブジェクト名をが続く。 (たとえば MConverter, MInputDriver)
#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 に設定される。
#define M17N_FINI | ( | ) |
マクロ M17N_FINI() は m17n ライブラリを終了する。m17n ライブラリが使った全てのメモリ領域は解放される。一度このマクロが呼ばれたら、マクロ M17N_INIT() が再度呼ばれるまで m17n 関数は使うべきでない。
マクロ M17N_INIT() が N 回呼ばれていた場合には、このマクロが N 回呼ばれて初めてメモリが解放される。
enum M17NStatus |
列挙型 M17NStatus は関数 m17n_status() の戻り値として用いられる。
enum M17NStatus m17n_status | ( | void | ) |
関数 m17n_status() は m17n ライブラリのどの部分が初期化されたかに応じて、以下の値のいずれかを返す。
M17N_NOT_INITIALIZED, M17N_CORE_INITIALIZED, M17N_SHELL_INITIALIZED, M17N_GUI_INITIALIZED