## Tcl9.0.3/Tk9.0.3 Documentation > Tk C API > GetFont

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

  NAME
    Tk_AllocFontFromObj, Tk_GetFont, Tk_GetFontFromObj, Tk_NameOfFont, Tk_FontGetDescription, Tk_FreeFontFromObj, Tk_FreeFont — 文字形状の基礎データの維持 maintain database of fonts
  SYNOPSIS
    #include <tk.h>
    Tk_Font
    Tk_AllocFontFromObj(interp, tkwin, objPtr)
    Tk_Font
    Tk_GetFont(interp, tkwin, string)
    Tk_Font
    Tk_GetFontFromObj(tkwin, objPtr)
    Tcl_Obj *
    Tk_FontGetDescription(tkfont)
    const char *
    Tk_NameOfFont(tkfont)
    Tk_Font
    Tk_FreeFontFromObj(tkwin, objPtr)
    Tk_FreeFont(tkfont)
  引数 ARGUMENTS
    Tcl_Interp *interp (入力in)
    Tk_Window tkwin (入力in)
    Tcl_Obj *objPtr (入出力in/out)
    const char *string (入力in)
    Tk_Font tkfont (入力in)
  説明 DESCRIPTION
  SEE ALSO
  KEYWORDS

### NAME

Tk_AllocFontFromObj, Tk_GetFont, Tk_GetFontFromObj, Tk_NameOfFont, Tk_FontGetDescription, Tk_FreeFontFromObj, Tk_FreeFont — 文字形状の基礎データの維持 maintain database of fonts

### SYNOPSIS

#include <tk.h>
Tk_Font
Tk_AllocFontFromObj(interp, tkwin, objPtr)
Tk_Font
Tk_GetFont(interp, tkwin, string)
Tk_Font
Tk_GetFontFromObj(tkwin, objPtr)
Tcl_Obj *
Tk_FontGetDescription(tkfont)
const char *
Tk_NameOfFont(tkfont)
Tk_Font
Tk_FreeFontFromObj(tkwin, objPtr)
Tk_FreeFont(tkfont)

### 引数 ARGUMENTS

Tcl_Interp *interp (入力in)
  不都合の報告に使う為の解釈実行機能; もしNULLの場合､不都合後に不都合伝言文が残らない｡ Interpreter to use for error reporting. If NULL, then no error messages are left after errors.

Tk_Window tkwin (入力in)
  フォントが使用されることになる窓の字句｡　 Token for window in which font will be used.

Tcl_Obj *objPtr (入出力in/out)
  フォントの名前又は記述を与える; 利用可能な書式の詳細はフォント命令に関する説明を参照されたい｡ 内部代表は対応する Tk_Font への高速記憶域への指示子を修正する｡　 Gives name or description of font. See documentation for the font command for details on acceptable formats. Internal rep will be modified to cache corresponding Tk_Font.

const char *string (入力in)
  objPtr と同一､但しフォントの記述は文字列として手渡され､結果のTk_Font は高速記憶域に記憶されない｡　 Same as objPtr except description of font is passed as a string and resulting Tk_Font is not cached.

Tk_Font tkfont (入力in)
  フォントの不透明な字句｡ Opaque font token.

### 説明 DESCRIPTION

Tk_AllocFontFromObj はobjPtr によって指定された文字形状を見つけ､文字形状を表現する字句を返す｡返り値はそれに引続く Tk_GetFontMetrics や Tk_MeasureChars や Tk_FreeFont の様な手続函数の呼出しに使うことができる｡ Tk_Font 字句は Tk_FreeFontFromObj か Tk_FreeFont かがそれを解除する為に呼出される迄適正を保つ｡ objPtr は記号の名前か文字形状記述を含む; 適正な形式の記述に就いては取扱説明書の font 命令を参照されたい｡もし Tk_AllocFontFromObj が不成功の場合(譬えば､ objPtr が適正な文字形状規格を含んでいない為)､ NULL を返し､もし interp が NULL でなければ不都合伝言文が interp の結果に残される｡Tk_AllocFontFromObj は objPtr 内の返り値に関する情報を高速域に記憶する､それは Tk_AllocFontFromObj や Tk_GetFontFromObj の様な手続函数の将来の呼出しを加速する｡ Tk_AllocFontFromObj finds the font indicated by objPtr and returns a token that represents the font. The return value can be used in subsequent calls to procedures such as Tk_GetFontMetrics, Tk_MeasureChars, and Tk_FreeFont. The Tk_Font token will remain valid until Tk_FreeFontFromObj or Tk_FreeFont is called to release it. ObjPtr can contain either a symbolic name or a font description; see the documentation for the font command for a description of the valid formats. If Tk_AllocFontFromObj is unsuccessful (because, for example, objPtr did not contain a valid font specification) then it returns NULL and leaves an error message in interp's result if interp is not NULL. Tk_AllocFontFromObj caches information about the return value in objPtr, which speeds up future calls to procedures such as Tk_AllocFontFromObj and Tk_GetFontFromObj.

Tk_GetFont は Tk_AllocFontFromObj と同じであり､違いは文字形状の記述が対象ではなく文字列である｡これは Tk_GetFont を返り値を高速記憶から妨げており､その為 Tk_GetFont は Tk_AllocFontFromObj よりも効率が見劣りする｡ Tk_GetFont is identical to Tk_AllocFontFromObj except that the description of the font is specified with a string instead of an object. This prevents Tk_GetFont from caching the matching Tk_Font, so Tk_GetFont is less efficient than Tk_AllocFontFromObj.

Tk_GetFontFromObj は､窓と文字形状の作成に使われた記述を与えられ､既存の文字形状の字句を返す｡ Tk_GetFontFromObj は実際の文字形状は作成しない; 文字形状は既に以前の Tk_AllocFontFromObj か Tk_GetFont への呼出しで作成されていなければならない｡返り値は objPtr 内に高速記憶され､同じ objPtr と tkwin を伴う Tk_GetFontFromObj への将来の呼出しを加速する｡ Tk_GetFontFromObj returns the token for an existing font, given the window and description used to create the font. Tk_GetFontFromObj does not actually create the font; the font must already have been created with a previous call to Tk_AllocFontFromObj or Tk_GetFont. The return value is cached in objPtr, which speeds up future calls to Tk_GetFontFromObj with the same objPtr and tkwin.

Tk_AllocFontFromObj と Tk_GetFont は割付けた全ての文字形状の基礎データを維持している｡もし同じ文字形状が多数回要求されると(譬えば､異なる窓により､又は異なる目的で)､一つの Tk_Font が全ての使用で共有されることになる｡基礎の原資は､誰もそれ以上使用しなくなると､自動的に解放される｡ Tk_AllocFontFromObj and Tk_GetFont maintain a database of all fonts they have allocated. If the same font is requested multiple times (e.g. by different windows or for different purposes), then a single Tk_Font will be shared for all uses. The underlying resources will be freed automatically when no-one is using the font anymore.

Tk_FontGetDescriptionは､字母記述に関する情報をTclリストとして返す｡ 一つの可能性のある結果は､ “{{DejaVu Sans} -16 bold underline}”. である｡ The procedure Tk_FontGetDescription returns information about the font description as a Tcl list. One possible result is “{{DejaVu Sans} -16 bold underline}”.

手続函数 Tk_NameOfFont は大略 Tk_GetFont.の逆である｡ Tk_GetFont (又は Tk_AllocFontFromObj)によって作成された tkfont が与えられ､文字形状を作成する為に Tk_GetFont に渡された string 引数が返り値である｡ Tk_NameOfFont によって返された文字列は tkfont が削除される迄のみ存続するすることが保証される｡ The procedure Tk_NameOfFont is roughly the inverse of Tk_GetFont. Given a tkfont that was created by Tk_GetFont (or Tk_AllocFontFromObj), the return value is the string argument that was passed to Tk_GetFont to create the font. The string returned by Tk_NameOfFont is only guaranteed to persist until the tkfont is deleted. The caller must not modify this string.

文字形状が最早必要でなくなる時､ Tk_FreeFontFromObj か Tk_FreeFont はそれの解除の為に呼ばれる｡ Tk_FreeFontFromObj に対して､文字形状の解除する為にはそれを作成した時に使われたものと同じ情報を指定する; Tk_FreeFont に対して､文字形状の解除する為には Tk_Font を指定する｡ Tk_AllocFontFromObj か Tk_GetFont の呼出しに対し厳密に１回の Tk_FreeFontFromObj か Tk_FreeFont 呼出があるはずである｡ When a font is no longer needed, Tk_FreeFontFromObj or Tk_FreeFont should be called to release it. For Tk_FreeFontFromObj the font to release is specified with the same information used to create it; for Tk_FreeFont the font to release is specified with its Tk_Font token. There should be exactly one call to Tk_FreeFontFromObj or Tk_FreeFont for each call to Tk_AllocFontFromObj or Tk_GetFont.

### SEE ALSO

Tk_FontId

### KEYWORDS

font
Copyright © 1990-1992 The Regents of the University of California.
Copyright © 1994-1998 Sun Microsystems, Inc.