# Copyright (c) 1990-1992 The Regents of the University of California. # Copyright (c) 1994 Sun Microsystems, Inc. # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # @(#) GetFontStr.3 1.8 95/05/06 15:29:34 # =head1 NAME Tk_GetFontStruct, Tk_NameOfFontStruct, Tk_FreeFontStruct - maintain database of fonts =for category C Programming =head1 SYNOPSIS B<#include Etk.hE> XFontStruct * BIB<)> char * BIB<)> BIB<)> =head1 ARGUMENTS =over 4 =item Tcl_Interp *interp (in) Interpreter to use for error reporting. =item Tk_Window tkwin (in) Token for window in which font will be used. =item Tk_Uid nameId (in) Name of desired font. =item XFontStruct *fontStructPtr (in) Font structure to return name for or delete. =back =head1 DESCRIPTION B loads the font indicated by I and returns a pointer to information about the font. The pointer returned by B will remain valid until B is called to release it. I can be either a font name or pattern; any value that could be passed to B may be passed to B. If B is unsuccessful (because, for example, there is no font corresponding to I) then it returns B and stores an error message in Iresult>. B maintains a database of all fonts it has allocated. If the same I is requested multiple times (e.g. by different windows or for different purposes), then additional calls for the same I will be handled very quickly, without involving the X server. For this reason, it is generally better to use B in place of X library procedures like B. The procedure B is roughly the inverse of B. If its I argument was created by B, then the return value is the I argument that was passed to B to create the font. If I was not created by a call to B, then the return value is a hexadecimal string giving the X identifier for the associated font. Note: the string returned by B is only guaranteed to persist until the next call to B. When a font returned by B is no longer needed, B should be called to release it. There should be exactly one call to B for each call to B. When a font is no longer in use anywhere (i.e. it has been freed as many times as it has been gotten) B will release it to the X server and delete it from the database. =head1 KEYWORDS font