Main Page   Modules   Data Structures   Globals   Appendix  

フォント
[GUI API]

フォントオブジェクト. [詳細]

変数: フォントプロパティを指定する定義済みシンボル

MSymbol Mfoundry
 開発元を指定するフォントプロパティのキー.
MSymbol Mfamily
 ファミリを指定するフォントプロパティのキー.
MSymbol Mweight
 太さを指定するフォントプロパティのキー.
MSymbol Mstyle
 スタイルを指定するフォントプロパティのキー.
MSymbol Mstretch
 幅を指定するフォントプロパティのキー.
MSymbol Madstyle
 adstyle を指定するフォントプロパティのキー.
MSymbol Mregistry
 レジストリを指定するフォントプロパティのキー.
MSymbol Msize
 サイズを指定するフォントプロパティのキー.
MSymbol Mresolution
 解像度を指定するフォントプロパティのキー.
MSymbol Mfontconfig
 開発元を指定するフォントプロパティのキー.
MSymbol Mx
 開発元を指定するフォントプロパティのキー.
MSymbol Mfreetype
 開発元を指定するフォントプロパティのキー.
MSymbol Mxft
 開発元を指定するフォントプロパティのキー.

型定義

typedef MFont MFont
 フォントの型宣言.

関数

MFontmfont ()
 新しいフォントを作る.
MFontmfont_parse_name (char *name, MSymbol format)
 フォント名からフォントを作る.
char * mfont_unparse_name (MFont *font, MSymbol format)
 フォント名からフォントを作る.
MFontmfont_copy (MFont *font)
 フォントのコピーを作る.
void * mfont_get_prop (MFont *font, MSymbol key)
 フォントのプロパティの値を得る.
int mfont_put_prop (MFont *font, MSymbol key, void *val)
 フォントのプロパティに値を設定する.
MSymbolmfont_selection_priority ()
 フォント選択優先度を返す.
int mfont_set_selection_priority (MSymbol *keys)
 フォント選択優先度を設定する.
MFontmfont_find (MFrame *frame, MFont *spec, int *score, int limited_size)
 フォントを探す.
int mfont_set_encoding (MFont *font, MSymbol encoding_name, MSymbol repertory_name)
 フォントのエンコーディングを設定する.
char * mfont_name (MFont *font)
 フォント名からフォントを作る.
MFontmfont_from_name (char *name)
 フォント名からフォントを作る.
int mfont_resize_ratio (MFont *font)
 フォントのリサイズ情報を得る
MPlistmfont_list (MFrame *frame, MFont *font, MSymbol language, int maxnum)
 フォントのリストを得る

変数

MPlistmfont_freetype_path
 フォントファイルとフォントファイルを含むディレクトリのリスト.

説明

m17n GUI API はフォントを MFont 型のオブジェクトとして表現する。 フォントは フォントプロパティ を持つことができる。他のタイプの プロパティ同様フォントプロパティはキーと値からなる。キーは以下のシ ンボルのいずれかである。

Mfoundry, Mfamily, Mweight, Mstyle, Mstretch, Madstyle, Mregistry, Msize, Mresolution

フォントプロパティのキーが Msize あるいは Mresolution の場合、 値は整数値であり、キーがそれ以外の場合、値はシンボルである。「フォ ント F のフォントプロパティのうちキーが Mxxx であるもの」のこと を簡単に「F の xxx プロパティ」と呼ぶことがある。

foundry プロパティの値は、adobe, misc 等のフォントの開発元情報を示 すシンボルである。

family プロパティの値は、times, helvetica 等のフォントファミリーを 示すシンボルである。

weight プロパティの値は、normal, bold 等の太さに関する情報を示すシ ンボルである。

style プロパティの値は、normal, italic 等のスタイルに関する情報を 示すシンボルである。

stretch プロパティの値は、normal, semicondensed 等の文字幅に関する 情報を示すシンボルである。

adstyle プロパティの値は、serif, sans-serif 等の抽象的なフォントファ ミリーに関する情報を示すシンボルである。

registry プロパティの値は、iso10646, iso8895-1 等のレジストリ情報を 示すシンボルである。

size プロパティの値は、フォントのデザインサイズを表わす整数値であ り、単位は 1/10 ポイントである。

resolution プロパティの値は、想定されているデバイスの解像度を表わ す整数値であり、単位は dots per inch (dpi) である。

m17n ライブラリはフォントオブジェクトを2つの目的で用いている。ア プリケーションプログラムからフォントの指定を受け取る目的と、アプリ ケーションプログラムに利用可能なフォントを提示する目的である。アプ リケーションプログラムに対して提示を行う際には、フォントプロパティ はすべて具体的な値を持つ。

m17n ライブラリは Window システムフォント、FreeTypeフォント、 OpenTypeフォントの3種類をサポートしている。


型定義

typedef struct MFont MFont
 

MFont 型はフォント指定用の構造体であり、フォントのプロパティであ る foundry, family, weight, style, stretch, adstyle, registry, size, resolution に関する情報を含む。

この構造体はフォントセット内のフォントを指定する際と、使用可能なシ ステムフォントの情報を格納する際の両方に用いられる。

内部構造はアプリケーションプログラムからは見えない。

参照:
mfont(), mfont_from_name(), mfont_find().


関数

MFont* mfont  ) 
 

関数 mfont() はプロパティを一切持たない新しいフォントをオブジェク トを作る。

戻り値:
この関数は作ったフォントオブジェクトへのポインタを返す。

MFont* mfont_parse_name char *  name,
MSymbol  format
 

関数 mfont_parse_name() は、フォント名 name から取り出されたプロパ ティを持つ、新しいフォントオブジェクトを作る。

formatname のフォーマットを指定する。formatMx であれば、 name は XLFD (X Logical Font Description) に従って解析される。 formatMfontconfig であれば name は Fontfonfig のフォントテキ スト表現に従って解析される。formatMnil であれば、まず XLFD に 従って解析され、それに失敗したら Fontconfig に従って解析される。

戻り値:
処理が成功すれば mfont_parse_name() は新しく作られたフォントへの ポインタを返す。そうでなければ NULL を返す。

char* mfont_unparse_name MFont font,
MSymbol  format
 

関数 mfont_unparse_name()format にしたがったフォント名の文字 列をフォントfont を元に作る。

formatMx または Mfontconfig でなければならない。Mx ならばフォ ント名は XLFD (X Logical Font Description) に従う。Mfontconfig な らばフォント名は Fontconfig のフォントテキスト表現に従う。

戻り値:
この関数は新たにアロケートしたフォント名の文字列を返す。文字列は、 ユーザが free() によって明示的に解放しない限り解放されない。

MFont* mfont_copy MFont font  ) 
 

関数 Mfont_copy() はフォント font のコピーを作り、それを返す。

void* mfont_get_prop MFont font,
MSymbol  key
 

関数 mfont_get_prop() はフォント font のプロパティのうち、キーが key であるものの値を返す。key は以下のシンボルのいずれかでなけれ ばならない。

Mfamily, Mweight, Mstyle, Mstretch, Madstyle, Mregistry, Msize, Mresolution.

戻り値:
keyMfamily, Mweight, Mstyle, Mstretch, Madstyle, Mregistry のいずれかであれば、相当する値をシンボルと して返す。フォントがそのプロパティを持たない場合には Mnil を返す。 keyMsize あるいは Mresolution の場合には、相当する値を は整数値として返す。フォントがそのプロパティを持たない場合には 0 を 返す。 key がそれ以外のものであれば、NULL を返し、外部変数 merror_code にエラーコードを設定する。

int mfont_put_prop MFont font,
MSymbol  key,
void *  val
 

関数 mfont_put_prop() は、フォント font のキーがkey であるプロ パティの値を val に設定する。key は以下のシンボルのいずれかであ る。

Mfamily, Mweight, Mstyle, Mstretch, Madstyle, Mregistry, Msize, Mresolution.

keyMsizeMresolution であれば val は整数値でなくて はらない。それ以外の場合、val はシンボルでなくてはならない。

MSymbol* mfont_selection_priority  ) 
 

関数 mfont_selection_priority() は6つのシンボルからなる配列を作っ て返す。配列の要素は、以下のフォントプロパティのキーを優先度順に並 べたものである。

Mfamily, Mweight, Mstyle, Mstretch, Madstyle, Msize.

m17n ライブラリはこの配列に従って、最も合致するフォントを選択する。 優先度の低いプロパティの値が違うフォントと優先度の高いプロパティの 値が違うフォントがある場合、前者が選択される。

int mfont_set_selection_priority MSymbol keys  ) 
 

関数 mfont_set_selection_priority() は、6つのシンボルの配列 keys にしたがってフォント選択優先度を設定する。各要素は以下のうちのどれ かであり、全て異なっていなくてはならない。

Mfamily, Mweight, Mstyle, Mstretch, Madstyle, Msize.

詳細は関数 mfont_selection_priority() の説明を参照のこと。

MFont* mfont_find MFrame frame,
MFont spec,
int *  score,
int  limited_size
 

関数 mfont_find() は、フレーム frame 上でフォント定義 spec にもっ とも合致する利用可能なフォントへのポインタを返す。

score は NULL であるか、見つかったフォントが spec にどれほど合っ ているかを示すスコアを保存する場所へのポインタである。スコアが小さ いほど良く合っていることを意味する。

int mfont_set_encoding MFont font,
MSymbol  encoding_name,
MSymbol  repertory_name
 

関数 mfont_set_encoding() はフォント font のエンコーディング情報 を設定する。

encoding_name はフォントと同じエンコーディングを持つ文字セットを 示すシンボルである。

repertory_nameMnil であるか、フォントと同じエンコーディン グを持つ文字セットを示すシンボルである。Mnil であれば、個々の文 字がそのフォントでサポートされているかどうかは、フォントドライバに 問い合わせる。

戻り値:
処理が成功すればこの関数は 0 を返す。そうでなければ -1 を返し、外 部変数 merror_code にエラーコードを設定する。

char* mfont_name MFont font  ) 
 

この関数は廃止予定である。 mfont_unparse_name() を使用のこと。

MFont* mfont_from_name char *  name  ) 
 

これは関数は廃止予定である。 mfont_parse_name() を使用のこと。

int mfont_resize_ratio MFont font  ) 
 

関数 mfont_resize_ratio は m17n データベース <font, reisize> を検 索し、フォント FONT のリサイズの比率(パーセンテージ)を返す。たとえ ば返値が 150 であれば、m17n ライブラリは指定されたサイズの 1.5 倍の フォントを使用することを意味する。

MPlist* mfont_list MFrame frame,
MFont font,
MSymbol  language,
int  maxnum
 

関数 mfont_list() はフレーム frame で利用可能なフォントのリスト を返す。 fontMnil でなければ、font と合致する利用可能なフォ ントのリストを返す。languageMnil でなければ、language を サポートする利用可能なフォントのリストを返す。 maxnum は、0 より大 い場合には、返すフォントの数の上限である。

戻り値:
この関数はキーがフォントファミリ名であり値が MFont オブジェ クトへのポインタであるような plist を返す。plist は m17n_object_unref() で解放する必要がある。フォントが見つからなければ NULL を返す。


変数

MSymbol Mfoundry
 

変数 Mfoundry"fonudry" という名前を持つシンボルであ り、フォントプロパティとフェースプロパティのキーとして用いられる。 値は、フォントの開発元名を名前として持つシンボルでなくてはならない。

MSymbol Mfamily
 

変数 Mfamily"family" という名前を持つシンボルであり、 フォントプロパティとフェースプロパティのキーとして用いられる。値は、 フォントのファミリ名を名前として持つシンボルでなくてはならない。

MSymbol Mweight
 

変数 Mweight"weight" という名前を持つシンボルであり、 フォントプロパティとフェースプロパティのキーとして用いられる。値は、 フォントの太さ名 ( "medium", "bold" 等) を名前として持つシンボルで なくてはならない。

MSymbol Mstyle
 

変数 Mstyle"style" という名前を持つシンボルであり、 フォントプロパティとフェースプロパティのキーとして用いられる。値は、 フォントのスタイル名 ("r", "i", "o" 等)を名前として持つシンボルで なくてはならない。

MSymbol Mstretch
 

変数 Mstretch"stretch" という名前を持つシンボルであ り、フォントプロパティとフェースプロパティのキーとして用いられる。 値は、フォントの文字幅名 ( "normal", "condensed" 等)を名前として持 つシンボルでなくてはならない。

MSymbol Madstyle
 

変数 Madstyle"adstyle" という名前を持つシンボルであ り、フォントプロパティとフェースプロパティのキーとして用いられる。 値は、フォントの adstyle 名("serif", "", "sans" 等)を名前として持 つシンボルでなくてはならない。

MSymbol Mregistry
 

変数 Mregistry"registry" という名前を持つシンボルであり、フォン トプロパティとフェースプロパティのキーとして用いられる。値は、フォ ントのレジストリ名 ( "iso8859-1", "jisx0208.1983-0" 等) を名前とし て持つシンボルでなくてはならない。

MSymbol Msize
 

変数 Msize"size" という名前を持つシンボルであり、フォ ントプロパティとフェースプロパティのキーとして用いられる。値は、 100 dpi のディスプレイ上でのフォントのデザインサイズを 1/10 ポイン ト単位で示す整数値でなくてはならない。

MSymbol Mresolution
 

変数 Mresolution"resolution" という名前を持つシンボ ルであり、フォントプロパティとフェースプロパティのキーとして用いら れる。値は、フォントの解像度を dots per inch (dpi) 単位で示す整数 値でなくてはならない。

MSymbol Mfontconfig
 

変数 Mfoundry"fonudry" という名前を持つシンボルであ り、フォントプロパティとフェースプロパティのキーとして用いられる。 値は、フォントの開発元名を名前として持つシンボルでなくてはならない。

MSymbol Mx
 

変数 Mfoundry"fonudry" という名前を持つシンボルであ り、フォントプロパティとフェースプロパティのキーとして用いられる。 値は、フォントの開発元名を名前として持つシンボルでなくてはならない。

MSymbol Mfreetype
 

変数 Mfoundry"fonudry" という名前を持つシンボルであ り、フォントプロパティとフェースプロパティのキーとして用いられる。 値は、フォントの開発元名を名前として持つシンボルでなくてはならない。

MSymbol Mxft
 

変数 Mfoundry"fonudry" という名前を持つシンボルであ り、フォントプロパティとフェースプロパティのキーとして用いられる。 値は、フォントの開発元名を名前として持つシンボルでなくてはならない。

MPlist* mfont_freetype_path
 

変数 mfont_freetype_path は、フォントファイルとフォントファイル を含むディレクトリの plist である。各要素のキーは Mstring であ り、値はフォントファイルかディレクトリを示す文字列である。

マクロ M17N_INIT() によって、この変数は m17n データベースと環境変 数 "M17NDIR" 双方のサブディレクトリ "fonts" を含むように設定される。 mframe() の最初の呼び出しの際に、この変数から実際に使用できるフォ ントの内部リストが作られる。そこでアプリケーションプログラムは、 mframe() を呼ぶ前に(必要ならば)この変数を変更しなくてはならな い。新しい要素を追加する場合には、その値は安全に開放できる文字列 でなくてはならない。

m17n ライブラリが FreeType ライブラリを使うように設定されてない場 合には、この変数は用いられない。


このページの先頭

Main Page   Modules   Data Structures   Globals   Appendix  

mulemark mule-aist@m17n.org