m17n ライブラリ 1.8.4
|
フェースとは、M-text の見栄えを制御するオブジェクトである. [詳解]
データ構造 | |
struct | MFaceHLineProp |
フェースの水平線指定用型宣言. [詳解] | |
struct | MFaceBoxProp |
フェースの囲み枠指定用型宣言. [詳解] | |
型定義 | |
typedef void(* | MFaceHookFunc) (MFace *face, void *arg, void *info) |
フェースのフック関数の型宣言. | |
関数 | |
MFace * | mface () |
新しいフェースをつくる. | |
MFace * | mface_copy (MFace *face) |
フェースのコピーを作る. | |
int | mface_equal (MFace *face1, MFace *face2) |
MFace * | mface_merge (MFace *dst, MFace *src) |
フェースを統合する. | |
MFace * | mface_from_font (MFont *font) |
フォントからフェースを作る. | |
void * | mface_get_prop (MFace *face, MSymbol key) |
フェースのプロパティの値を得る. | |
MFaceHookFunc | mface_get_hook (MFace *face) |
フェースのフック関数を得る. | |
int | mface_put_prop (MFace *face, MSymbol key, void *val) |
フェースプロパティの値を設定する. | |
int | mface_put_hook (MFace *face, MFaceHookFunc func) |
フェースのフック関数を設定する. | |
void | mface_update (MFrame *frame, MFace *face) |
フェースを更新する. | |
変数: フェースプロパティのキー | |
MSymbol | Mforeground |
前景色を指定するフェースプロパティーのキー. | |
MSymbol | Mbackground |
背景色を指定するためのフェースプロパティーのキー. | |
MSymbol | Mvideomode |
ビデオモードを指定するためのフェースプロパティーのキー. | |
MSymbol | Mratio |
フォントのサイズの比率を指定するためのフェースプロパティーのキー. | |
MSymbol | Mhline |
水平線を指定するためのフェースプロパティーのキー. | |
MSymbol | Mbox |
囲み枠を指定するためのフェースプロパティーのキー. | |
MSymbol | Mfontset |
フォントセットを指定するためのフェースプロパティーのキー. | |
MSymbol | Mhook_func |
フックを指定するためのフェースプロパティーのキー. | |
MSymbol | Mhook_arg |
フックの引数を指定するためのフェースプロパティーのキー. | |
変数: フェースの #Mvideomode プロパティの可能な値 | |
変数 Mvideomode の説明を参照のこと。 | |
MSymbol | Mnormal |
MSymbol | Mreverse |
変数: 定義済みフェース | |
MFace * | mface_normal_video |
標準ビデオフェース. | |
MFace * | mface_reverse_video |
リバースビデオフェース. | |
MFace * | mface_underline |
MFace * | mface_medium |
ミディアムフェース. | |
MFace * | mface_bold |
ボールドフェース. | |
MFace * | mface_italic |
イタリックフェース. | |
MFace * | mface_bold_italic |
ボールドイタリックフェース. | |
MFace * | mface_xx_small |
最小のフェース. | |
MFace * | mface_x_small |
より小さいフェース. | |
MFace * | mface_small |
小さいフェース. | |
MFace * | mface_normalsize |
標準の大きさのフェース. | |
MFace * | mface_large |
大きいフェース. | |
MFace * | mface_x_large |
もっと大きいフェース. | |
MFace * | mface_xx_large |
最大のフェース. | |
MFace * | mface_black |
黒フェース. | |
MFace * | mface_white |
白フェース. | |
MFace * | mface_red |
赤フェース. | |
MFace * | mface_green |
緑フェース. | |
MFace * | mface_blue |
青フェース. | |
MFace * | mface_cyan |
シアンフェース. | |
MFace * | mface_yellow |
黄フェース. | |
MFace * | mface_magenta |
マゼンタフェース. | |
変数: フェースを取り扱うためのその他のシンボル | |
MSymbol | Mface |
フェースを指定するテキストプロパティのキー. | |
フェースとは、M-text の見栄えを制御するオブジェクトである.
フェース は MFace 型のオブジェクトであり、M-text の表示方法を制御する。フェースは固定個の フェースプロパティ を持つ。 他のプロパティ同様フェースプロパティはキーと値からなり、キーは以下のシンボルのいずれかである。
Mforeground, Mbackground, Mvideomode, Mhline, Mbox, Mfoundry, Mfamily, Mweight, Mstyle, Mstretch, Madstyle, Msize, Mfontset, Mratio, Mhook_func, Mhook_arg
「フェース F のフェースプロパティのうちキーが Mxxx
であるもの」のことを簡単に「F の xxx プロパティ」と呼ぶことがある。
M-text の表示関数は、まず最初にその M-text からキーがシンボル Mface であるようなテキストプロパティを探し、次にその値に従って M-text を表示する。この値はフェースオブジェクトへのポインタでなければならない。
M-text が、::Mface をキーとするテキストプロパティを複数持っており、かつそれらの値が衝突しないならば、フェース情報は組み合わされて用いられる。
あるテキスト属性がどのフェースによっても指定されていない場合は、デフォルトフェースの値が用いられる。
typedef void(* MFaceHookFunc) (MFace *face, void *arg, void *info) |
フェースのフック関数の型宣言.
MFaceHookFunc はフェースのフック関数の型である。
フェースのコピーを作る.
関数 mface_copy() はフェース face のコピーを作り、そのコピーへのポインタを返す。
フォントからフェースを作る.
関数 mface_from_font() はフォント font のプロパティをプロパティとして持つ新しいフェースを作り、それを返す。
void * mface_get_prop | ( | MFace * | face, |
MSymbol | key | ||
) |
フェースのプロパティの値を得る.
関数 mface_get_prop() は、フェース face が持つフェースプロパティの内、キーが key であるものの値を返す。 key は下記のいずれかでなければならない。
#Mforeground, #Mbackground, #Mvideomode, #Mhline, #Mbox, #Mfoundry, #Mfamily, #Mweight, #Mstyle, #Mstretch, #Madstyle, #Msize, #Mfontset, #Mratio, #Mhook_arg
NULL
を返し、外部変数 merror_code にエラーコードを設定する。MERROR_FACE
MFaceHookFunc mface_get_hook | ( | MFace * | face | ) |
フェースのフック関数を得る.
関数 mface_get_hook() はフェース face のフック関数を返す。
int mface_put_prop | ( | MFace * | face, |
MSymbol | key, | ||
void * | val | ||
) |
フェースプロパティの値を設定する.
関数 mface_put_prop() は、フェース face 内でキーが key であるプロパティの値を val に設定する。key は以下のいずれかでなくてはならない。
#Mforeground, #Mbackground, #Mvideomode, #Mhline, #Mbox, #Mfoundry, #Mfamily, #Mweight, #Mstyle, #Mstretch, #Madstyle, #Msize, #Mfontset, #Mratio, #Mhook_func, #Mhook_arg.
これらのうちの、フォント関連のプロパティ (Mfamily から Msize まで) は、フェースのフォントセット中のフォントに関するデフォルト値となり、個々のフォントが値を指定しなかった場合に用いられる。
戻り値の型は key に依存する。上記のキーの説明を参照すること。
MERROR_FACE
int mface_put_hook | ( | MFace * | face, |
MFaceHookFunc | func | ||
) |
フェースのフック関数を設定する.
関数 mface_set_hook() は、フェース face のフック関数をfunc に設 定する。
フェースを更新する.
関数 mface_update() はフレーム frame のフェース face を face のフック関数を(あれば)呼んで更新する。
MSymbol Mforeground |
前景色を指定するフェースプロパティーのキー.
変数 Mforeground はフェースプロパティのキーとして用いられる。 プロパティの値は、色名を名前として持つシンボルか Mnil である。
Mnil の場合、前景色は指定されない。そうでなければ M-text の前景は指定された色で表示される。
MSymbol Mbackground |
背景色を指定するためのフェースプロパティーのキー.
変数 Mbackground はフェースプロパティのキーとして用いられる。 プロパティの値は、色名を名前として持つシンボルか Mnil である。
Mnil の場合、背景色は指定されない。そうでなければ M-text の背景は指定された色で表示される。
MSymbol Mvideomode |
ビデオモードを指定するためのフェースプロパティーのキー.
変数 Mvideomode はフェースプロパティのキーとして用いられる。プロパティの値は、 Mnormal, Mreverse, Mnil のいずれかでなくてはならない。
Mnormal の場合は、M-text を標準のビデオモード(前景を前景色で、背景を背景色で)で表示する。
Mreverse の場合はリバースビデオモードで(前景を背景色で、背景を前景色で)表示する。
Mnil の場合はビデオモードは指定されない。
MSymbol Mratio |
フォントのサイズの比率を指定するためのフェースプロパティーのキー.
変数 Mratio はフェースプロパティのキーとして用いられる。値 RATIO は整数値でなくてはならない。
値が0ならば、フォントサイズは指定されない。そうでなければ、M-text は(FONTSIZE * RATIO / 100) というサイズのフォントで表示される。 FONTSIZE はフェースプロパティー::Msize で指定されたサイズである。
MSymbol Mhline |
水平線を指定するためのフェースプロパティーのキー.
変数 Mhline はフェースプロパティのキーとして用いられる。値は MFaceHLineProp 型オブジェクトへのポインタか NULL
でなくてはならない。
値が NULL
ならば、このプロパティは指定されない。 そうでなければ値が指すオブジェクトに指定されたように水平線を付加して M-text を表示する。
MSymbol Mbox |
囲み枠を指定するためのフェースプロパティーのキー.
変数 Mbox はフェースプロパティのキーとして用いられる。値は MFaceBoxProp 型オブジェクトへのポインタか NULL
でなくてはならない。
値が NULL
ならば、このフェースは囲み枠を指定していない。 そうでなければ値が指すオブジェクトに指定されたように囲み枠を付加して M-text を表示する。
MSymbol Mfontset |
MSymbol Mhook_func |
フックを指定するためのフェースプロパティーのキー.
変数 Mhook_func はフェースプロパティのキーとして用いられる。値は MFaceHookFunc 型の関数か NULL
でなくてはならない。
値が NULL
ならば、フックは指定されていない。 そうでなければフェースを実現する前に指定された関数が呼ばれる。
MSymbol Mhook_arg |
フックの引数を指定するためのフェースプロパティーのキー.
変数 Mhook_arg はフェースプロパティのキーとして用いられる。 値は何でもよく、フェースプロパティ Mhook_func で指定される関数に渡される。
MSymbol Mnormal |
MSymbol Mreverse |
MFace* mface_normal_video |
標準ビデオフェース.
変数 mface_normal_video は Mvideomode プロパティの値が Mnormal であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースで表示されるM-text は標準の色 (すなわち前景は前景色、背景は背景色)で描かれる。
MFace* mface_reverse_video |
リバースビデオフェース.
変数 mface_reverse_video は Mvideomode プロパティの値が Mreverse であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースで表示されるM-text は前景色と背景色が入れ替わって (すなわち前景は背景色、背景は前景色)描かれる。
MFace* mface_underline |
@brief 下線フェース. 変数 #mface_underline は #Mhline プロパテイの値が #MFaceHLineProp 型オブジェクトへのポインタであるフェースを指すポインタである。オブジェクトのメンバは以下の通り。
メンバ 値 ----- ----- type MFACE_HLINE_UNDER width 1 color Mnil
他のプロパティは指定されない。このフェースを持つ M-text は下線付きで表示される。
MFace* mface_medium |
ミディアムフェース.
変数 mface_medium は Mweight プロパテイの値が "medium" という名前をもつシンボルであるようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は、ミディアムウェイトのフォントで表示される。
MFace* mface_bold |
ボールドフェース.
変数 mface_bold は Mweight プロパテイの値が "bold" という名前をもつシンボルであるようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は、ボールドフォントで表示される。
MFace* mface_italic |
イタリックフェース.
変数 mface_italic は Mstyle プロパテイの値が "italic" という名前をもつシンボルであるようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は、イタリック体で表示される。
MFace* mface_bold_italic |
ボールドイタリックフェース.
変数 mface_bold_italic は、::Mweight プロパテイの値が "bold" という名前をもつシンボルであり、かつ Mstyle プロパテイの値が "italic" という名前をもつシンボルであるようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は、ボールドイタリック体で表示される。
MFace* mface_xx_small |
最小のフェース.
変数 mface_xx_small は、::Mratio プロパティの値が 50 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 50% の大きさのフォントを用いて表示される。
MFace* mface_x_small |
より小さいフェース.
変数 mface_x_small は、::Mratio プロパティの値が 66 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 66% の大きさのフォントを用いて表示される。
MFace* mface_small |
小さいフェース.
変数 mface_small は、::Mratio プロパティの値が 75 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 75% の大きさのフォントを用いて表示される。
MFace* mface_normalsize |
標準の大きさのフェース.
変数 mface_normalsize は、::Mratio プロパティの値が 100 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントと同じ大きさのフォントを用いて表示される。
MFace* mface_large |
大きいフェース.
変数 mface_large は、::Mratio プロパティの値が 120 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 120% の大きさのフォントを用いて表示される。
MFace* mface_x_large |
もっと大きいフェース.
変数 mface_x_large は、::Mratio プロパティの値が 150 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 150% の大きさのフォントを用いて表示される。
MFace* mface_xx_large |
最大のフェース.
変数 mface_xx_large は、::Mratio プロパティの値が 200 であるフェースを指すポインタである。他のプロパティは指定されない。 このフェースを持つ M-text は標準フォントの 200% の大きさのフォントを用いて表示される。
MFace* mface_black |
黒フェース.
変数 mface_black は、::Mforeground プロパティの値として "black" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として黒を用いて表示される。
MFace* mface_white |
白フェース.
変数 mface_white は、::Mforeground プロパティの値として "white" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として白を用いて表示される。
MFace* mface_red |
赤フェース.
変数 mface_red は、::Mforeground プロパティの値として "red" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として赤を用いて表示される。
MFace* mface_green |
緑フェース.
変数 mface_green は、::Mforeground プロパティの値として "green" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として緑を用いて表示される。
MFace* mface_blue |
青フェース.
変数 mface_blue は、::Mforeground プロパティの値として "blue" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として青を用いて表示される。
MFace* mface_cyan |
シアンフェース.
変数 mface_cyan は、::Mforeground プロパティの値として "cyan" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色としてシアンを用いて表示される。
MFace* mface_yellow |
黄フェース.
変数 mface_yellow は、::Mforeground プロパティの値として "yellow" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色として黄色を用いて表示される。
MFace* mface_magenta |
マゼンタフェース.
変数 mface_magenta は、::Mforeground プロパティの値として "magenta" という名前のシンボルを持つようなフェースを指すポインタである。 他のプロパティは指定されない。このフェースを持つ M-text は前景色としてマゼンタを用いて表示される。