Tk_GetFont (3)
maintain database of fonts
SYNOPSIS
#include <tk.h>
Tk_Font
Tk_GetFont(interp, tkwin, string)
char *
Tk_NameOfFont(tkfont)
void
Tk_FreeFont(tkfont)
ARGUMENTS
"const char" *tkfont
"Tcl_Interp" *interp in
Interpreter to use for error reporting.
Tk_Window tkwin in
Token for window on the display in which font will be used.
"const char" *string in
Name or description of desired font. See documentation for the font
command for details on acceptable formats.
Tk_Font tkfont in
Opaque font token.
DESCRIPTION
Tk_GetFont finds the font indicated by string and returns a
token that represents the font. The return value can be used in subsequent
calls to procedures such as Tk_FontMetrics, Tk_MeasureChars, and
Tk_FreeFont. The token returned by Tk_GetFont will remain
valid until Tk_FreeFont is called to release it. String can
be either a symbolic name or a font description; see the documentation for
the font command for a description of the valid formats. If
Tk_GetFont is unsuccessful (because, for example, string was
not a valid font specification) then it returns NULL and stores an
error message in interp->result.
Tk_GetFont maintains a database of all fonts it has allocated. If
the same string is requested multiple times (e.g. by different
windows or for different purposes), then additional calls for the same
string will be handled without involving the platform-specific
graphics server.
The procedure Tk_NameOfFont is roughly the inverse of
Tk_GetFont. Given a tkfont that was created by
Tk_GetFont, 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.
When a font returned by Tk_GetFont is no longer needed,
Tk_FreeFont should be called to release it. There should be
exactly one call to Tk_FreeFont for each call to Tk_GetFont.
When a font is no longer in use anywhere (i.e. it has been freed as many
times as it has been gotten) Tk_FreeFont will release any
platform-specific storage and delete it from the database.
KEYWORDS
font
'\"
'\" Copyright (c) 1990-1992 The Regents of the University of California.
'\" Copyright (c) 1994-1996 Sun Microsystems, Inc.
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
'\" SCCS: @(#) GetFontStr.3 1.10 96/03/26 18:10:03
'\"
'\" The definitions below are for supplemental macros used in Tcl/Tk
'\" manual entries.
'\"
'\" .AP type name in/out ?indent?
'\" Start paragraph describing an argument to a library procedure.
'\" type is type of argument (int, etc.), in/out is either "in", "out",
'\" or "in/out" to describe whether procedure reads or modifies arg,
'\" and indent is equivalent to second arg of .IP (shouldn't ever be
'\" needed; use .AS below instead)
'\"
'\" .AS ?type? ?name?
'\" Give maximum sizes of arguments for setting tab stops. Type and
'\" name are examples of largest possible arguments that will be passed
'\" to .AP later. If args are omitted, default tab stops are used.
'\"
'\" .BS
'\" Start box enclosure. From here until next .BE, everything will be
'\" enclosed in one large box.
'\"
'\" .BE
'\" End of box enclosure.
'\"
'\" .CS
'\" Begin code excerpt.
'\"
'\" .CE
'\" End code excerpt.
'\"
'\" .VS ?br?
'\" Begin vertical sidebar, for use in marking newly-changed parts
'\" of man pages. If an argument is present, then a line break is
'\" forced before starting the sidebar.
'\"
'\" .VE
'\" End of vertical sidebar.
'\"
'\" .DS
'\" Begin an indented unfilled display.
'\"
'\" .DE
'\" End of indented unfilled display.
'\"
'\" .SO
'\" Start of list of standard options for a Tk widget. The
'\" options follow on successive lines, in four columns separated
'\" by tabs.
'\"
'\" .SE
'\" End of list of standard options for a Tk widget.
'\"
'\" .OP cmdName dbName dbClass
'\" Start of description of a specific option. cmdName gives the
'\" option's name as specified in the class command, dbName gives
'\" the option's name in the option database, and dbClass gives
'\" the option's class in the option database.
'\"
'\" .UL arg1 arg2
'\" Print arg1 underlined, then print arg2 normally.
'\"
'\" SCCS: @(#) man.macros 1.8 96/02/15 20:02:24
'\"
'\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
t .wh -1.3i ^B
^l \n(.l
b
'\" # Start an argument description
AP
!"\\$4"" .TP \\$4
\{\
!"\\$2"" .TP \\n()Cu
.TP 15
|