Main Page   Modules   Data Structures   Globals   Appendix  

フォントセット
[GUI API]

フォントセットは文字からフォントへの対応付けを行うオブジェクトである. [詳細]

関数

MFontsetmfontset (char *name)
 フォントセットを返す.
MSymbol mfontset_name (MFontset *fontset)
 フォントセットの名前を返す.
MFontsetmfontset_copy (MFontset *fontset, char *name)
 フォントセットのコピーを作る.
int mfontset_modify_entry (MFontset *fontset, MSymbol script, MSymbol language, MSymbol charset, MFont *spec, MSymbol layouter_name, int how)
 フォントセットの内容を変更する.
MPlistmfontset_lookup (MFontset *fontset, MSymbol script, MSymbol language, MSymbol charset)
 フォントセットを検索する.

説明

フォントセットMFontset 型のオブジェクトである。M-text の表示の際、フォントセットは以下の情報を用いて M-text 中の個々の文字にどのフォントを用いるか決める規則を与える。

これらの情報がどのように用いられるかは mdraw_text() の説明を参照のこと。

関数

MFontset * mfontset ( char *  name  ) 

関数 mfontset() は名前 name を持つフォントセットオブジェクトへのポインタを返す。 nameNULL ならば、デフォルトフォントセットへのポインタを返す。

name という名前を持つフォントセットがなければ、新しいものが作られる。その際、 m17n データベースに <fontset, name> というデータがあれば、フォントセットはそのデータに沿って初期化される。 なければ、空のままにされる。

マクロ M17N_INIT() はデフォルトのフォントセットを作る。アプリケーションプログラムは mframe() を初めて呼ぶまでの間はデフォルトフォントセットを変更することができる。

戻り値:
この関数は見つかった、あるいは作ったフォントセットへのポインタを返す。

MSymbol mfontset_name ( MFontset fontset  ) 

関数 mfontset_name() はフォントセット fontset の名前を返す。

MFontset * mfontset_copy ( MFontset fontset,
char *  name 
)

関数 mfontset_copy() はフォントセット fontset のコピーを作って、名前 name を与え、そのコピーへのポインタを返す。name は既存のフォントセットの名前であってはならない。そのような場合にはコピーを作らずに NULL を返す。

int mfontset_modify_entry ( MFontset fontset,
MSymbol  script,
MSymbol  language,
MSymbol  charset,
MFont spec,
MSymbol  layouter_name,
int  how 
)

関数 mfontset_modify_entry() は、languagescript の組み合わせ、または charset に対して font のコピーを使うように、フォントセット fontset を設定する。

フォントセット中の各フォントは、特定のスクリプトと言語のペア、特定の文字セット、シンボル Mnil のいずれかと関連付けられている。同じものと関連付けられたフォントはグループを構成する。

scriptMnil であるか、スクリプトを特定するシンボルである。 シンボルである場合には、language は言語を特定するシンボルか Mnil であり、font はthe script / language ペアに関連付けられる。

charsetMnil であるか、文字セットオブジェクトを表すシンボルである。 シンボルである場合には font はその文字セットと関連付けられる。

scriptcharset の双方が Mnil でない場合には font のコピーが2つ作られ、それぞれ script / language ペアと文字セットに関連付けられる。

scriptcharset の双方が Mnil ならば、 fontMnil と関連付けられる。この種のフォントは fallback font と呼ばれる。

引数 howfont の優先度を指定する。how が正ならば、font は同じものと関連付けられたグループ中で最高の優先度を持つ。how が負ならば、最低の優先度を持つ。how が 0 ならば、font は関連付けられたものに対する唯一の利用可能なフォントとなり、他のフォントはグループから取り除かれる。

layouter_nameMnil であるか、flt (フォントレイアウトテーブル)を示すシンボルである。シンボルであれば、font を用いて M-text を表示する際には、そのフォントレイアウトテーブルを使って文字列からグリフコード列を生成する。

戻り値:
処理が成功したとき、mfontset_modify_entry() は 0 を返す。 失敗したときは -1 を返し、外部変数 merror_code にエラーコードを設定する。
エラー:
MERROR_SYMBOL

MPlist * mfontset_lookup ( MFontset fontset,
MSymbol  script,
MSymbol  language,
MSymbol  charset 
)

関数 mfontset_lookup()fontset を検索し、fontset の内容のうち指定したスクリプト、言語、文字セットに対応する部分を表す plist を返す。

scriptMt ならば、返す plist のキーはフォントが指定されているスクリプト名のシンボルであり、値は NULL である。

script がスクリプト名のシンボルであれば、返す plist は languageによって定まる。

scriptMnil ならば、返す plist は以下のように定まる。

戻り値:
この関数はフォントセットの内容を表す plist を返す。 plist は m17n_object_unref() で解放されるべきである。


このページの先頭

Main Page   Modules   Data Structures   Globals   Appendix  

mulemark