277 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			277 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <HTML><HEAD><TITLE>Tk Built-In Commands - font manual page</TITLE></HEAD><BODY>
 | |
| <DL>
 | |
| <DD><A HREF="font.htm#M2" NAME="L482">NAME</A>
 | |
| <DL><DD>font - Create and inspect fonts.</DL>
 | |
| <DD><A HREF="font.htm#M3" NAME="L483">SYNOPSIS</A>
 | |
| <DL>
 | |
| <DD><B>font</B><I> option </I>?<I>arg arg ...</I>?
 | |
| </DL>
 | |
| <DD><A HREF="font.htm#M4" NAME="L484">DESCRIPTION</A>
 | |
| <DL>
 | |
| <DD><A HREF="font.htm#M5" NAME="L485"><B>font actual </B><I>font</I> ?<B>-displayof </B><I>window</I>? ?<I>option</I>?</A>
 | |
| <DD><A HREF="font.htm#M6" NAME="L486"><B>font configure </B><I>fontname</I> ?<I>option</I>? ?<I>value option value ...</I>?</A>
 | |
| <DD><A HREF="font.htm#M7" NAME="L487"><B>font create</B> ?<I>fontname</I>? ?<I>option value ...</I>?</A>
 | |
| <DD><A HREF="font.htm#M8" NAME="L488"><B>font delete</B> <I>fontname</I> ?<I>fontname ...</I>?</A>
 | |
| <DD><A HREF="font.htm#M9" NAME="L489"><B>font families</B> ?<B>-displayof </B><I>window</I>?</A>
 | |
| <DD><A HREF="font.htm#M10" NAME="L490"><B>font measure </B><I>font</I> ?<B>-displayof </B><I>window</I>? <I>text</I></A>
 | |
| <DD><A HREF="font.htm#M11" NAME="L491"><B>font metrics </B><I>font</I> ?<B>-displayof </B><I>window</I>? ?<I>option</I>?</A>
 | |
| <DD><A HREF="font.htm#M12" NAME="L492"><B>font names</B></A>
 | |
| </DL>
 | |
| <DD><A HREF="font.htm#M13" NAME="L493">FONT DESCRIPTION</A>
 | |
| <DL>
 | |
| <DD><A HREF="font.htm#M14" NAME="L494">[1] <I>fontname</I></A>
 | |
| <DD><A HREF="font.htm#M15" NAME="L495">[2] <I>systemfont</I></A>
 | |
| <DD><A HREF="font.htm#M16" NAME="L496">[3] <I>family </I>?<I>size</I>? ?<I>style</I>? ?<I>style ...</I>?</A>
 | |
| <DD><A HREF="font.htm#M17" NAME="L497">[4] X-font names (XLFD)</A>
 | |
| <DD><A HREF="font.htm#M18" NAME="L498">[5] <I>option value </I>?<I>option value ...</I>?</A>
 | |
| </DL>
 | |
| <DD><A HREF="font.htm#M19" NAME="L499">FONT METRICS</A>
 | |
| <DL>
 | |
| <DD><A HREF="font.htm#M20" NAME="L500"><B>-ascent         </B></A>
 | |
| <DD><A HREF="font.htm#M21" NAME="L501"><B>-descent        </B></A>
 | |
| <DD><A HREF="font.htm#M22" NAME="L502"><B>-linespace</B></A>
 | |
| <DD><A HREF="font.htm#M23" NAME="L503"><B>-fixed           </B></A>
 | |
| </DL>
 | |
| <DD><A HREF="font.htm#M24" NAME="L504">FONT OPTIONS</A>
 | |
| <DL>
 | |
| <DD><A HREF="font.htm#M25" NAME="L505"><B>-family </B><I>name</I></A>
 | |
| <DD><A HREF="font.htm#M26" NAME="L506"><B>-size </B><I>size</I></A>
 | |
| <DD><A HREF="font.htm#M27" NAME="L507"><B>-weight </B><I>weight</I></A>
 | |
| <DD><A HREF="font.htm#M28" NAME="L508"><B>-slant </B><I>slant</I></A>
 | |
| <DD><A HREF="font.htm#M29" NAME="L509"><B>-underline </B><I>boolean</I></A>
 | |
| <DD><A HREF="font.htm#M30" NAME="L510"><B>-overstrike </B><I>boolean</I></A>
 | |
| </DL>
 | |
| <DD><A HREF="font.htm#M31" NAME="L511">PLATFORM-SPECIFIC ISSUES</A>
 | |
| <DL>
 | |
| <DD><A HREF="font.htm#M32" NAME="L512">X Windows:</A>
 | |
| <DD><A HREF="font.htm#M33" NAME="L513">MS Windows:</A>
 | |
| <DD><A HREF="font.htm#M34" NAME="L514">Macintosh:</A>
 | |
| </DL>
 | |
| <DD><A HREF="font.htm#M35" NAME="L515">SEE ALSO</A>
 | |
| <DD><A HREF="font.htm#M36" NAME="L516">KEYWORDS</A>
 | |
| </DL><HR>
 | |
| <H3><A NAME="M2">NAME</A></H3>
 | |
| font - Create and inspect fonts.
 | |
| <H3><A NAME="M3">SYNOPSIS</A></H3>
 | |
| <B>font</B><I> option </I>?<I>arg arg ...</I>?<BR>
 | |
| <H3><A NAME="M4">DESCRIPTION</A></H3>
 | |
| The <B>font</B> command provides several facilities for dealing with
 | |
| fonts, such as defining named fonts and inspecting the actual attributes of
 | |
| a font.  The command has several different forms, determined by the
 | |
| first argument.  The following forms are currently supported:
 | |
| <P>
 | |
| <DL>
 | |
| <P><DT><A NAME="M5"><B>font actual </B><I>font</I> ?<B>-displayof </B><I>window</I>? ?<I>option</I>?</A><DD>
 | |
| Returns information about the the actual attributes that are obtained when
 | |
| <I>font</I> is used on <I>window</I>'s display; the actual attributes obtained
 | |
| may differ from the attributes requested due to platform-dependant
 | |
| limitations, such as the availability of font families and pointsizes.
 | |
| <I>font</I> is a font description; see FONT DESCRIPTIONS below.  If the
 | |
| <I>window</I> argument is omitted, it defaults to the main window.  If
 | |
| <I>option</I> is specified, returns the value of that attribute; if it is
 | |
| omitted, the return value is a list of all the attributes and their values.
 | |
| See FONT OPTIONS below for a list of the possible attributes.
 | |
| <P><DT><A NAME="M6"><B>font configure </B><I>fontname</I> ?<I>option</I>? ?<I>value option value ...</I>?</A><DD>
 | |
| Query or modify the desired attributes for the named font called
 | |
| <I>fontname</I>.  If no <I>option</I> is specified, returns a list describing
 | |
| all the options and their values for <I>fontname</I>.  If a single <I>option</I> 
 | |
| is specified with no <I>value</I>, then returns the current value of that
 | |
| attribute.  If one or more <I>option</I>-<I>value</I> pairs are specified,
 | |
| then the command modifies the given named font to have the given values; in
 | |
| this case, all widgets using that font will redisplay themselves using the
 | |
| new attributes for the font.  See FONT OPTIONS below for a list of the
 | |
| possible attributes.
 | |
| <P><DT><A NAME="M7"><B>font create</B> ?<I>fontname</I>? ?<I>option value ...</I>?</A><DD>
 | |
| Creates a new named font and returns its name.  <I>fontname</I> specifies the
 | |
| name for the font; if it is omitted, then Tk generates a new name of the
 | |
| form <B>font</B><I>x</I>, where <I>x</I> is an integer.  There may be any number
 | |
| of <I>option</I>-<I>value</I> pairs, which provide the desired attributes for
 | |
| the new named font.  See FONT OPTIONS below for a list of the possible
 | |
| attributes.
 | |
| <P><DT><A NAME="M8"><B>font delete</B> <I>fontname</I> ?<I>fontname ...</I>?</A><DD>
 | |
| Delete the specified named fonts.  If there are widgets using the named font,
 | |
| the named font won't actually be deleted until all the instances are
 | |
| released.  Those widgets will continue to display using the last known values
 | |
| for the named font.  If a deleted named font is subsequently recreated with
 | |
| another call to <B>font create</B>, the widgets will use the new named font
 | |
| and redisplay themselves using the new attributes of that font.
 | |
| <P><DT><A NAME="M9"><B>font families</B> ?<B>-displayof </B><I>window</I>?</A><DD>
 | |
| The return value is a list of the case-insensitive names of all font families 
 | |
| that exist on <I>window</I>'s display.  If the <I>window</I> argument is
 | |
| omitted, it defaults to the main window.
 | |
| <P><DT><A NAME="M10"><B>font measure </B><I>font</I> ?<B>-displayof </B><I>window</I>? <I>text</I></A><DD>
 | |
| Measures the amount of space the string <I>text</I> would use in the given
 | |
| <I>font</I> when displayed in <I>window</I>.  <I>font</I> is a font description;
 | |
| see FONT DESCRIPTIONS below.  If the <I>window</I> argument is omitted, it
 | |
| defaults to the main window.  The return value is the total width in pixels
 | |
| of <I>text</I>, not including the extra pixels used by highly exagerrated
 | |
| characters such as cursive ``f''.  If the string contains newlines or tabs,
 | |
| those characters are not expanded or treated specially when measuring the
 | |
| string.
 | |
| <P><DT><A NAME="M11"><B>font metrics </B><I>font</I> ?<B>-displayof </B><I>window</I>? ?<I>option</I>?</A><DD>
 | |
| Returns information about the metrics (the font-specific data), for
 | |
| <I>font</I> when it is used on <I>window</I>'s display.  <I>font</I> is a font
 | |
| description; see FONT DESCRIPTIONS below.  If the <I>window</I> argument is
 | |
| omitted, it defaults to the main window.  If <I>option</I> is specified,
 | |
| returns the value of that metric; if it is omitted, the return value is a 
 | |
| list of all the metrics and their values.  See FONT METRICS below for a list
 | |
| of the possible metrics.
 | |
| <P><DT><A NAME="M12"><B>font names</B></A><DD>
 | |
| The return value is a list of all the named fonts that are currently defined.
 | |
| <P></DL>
 | |
| <H3><A NAME="M13">FONT DESCRIPTION</A></H3>
 | |
| The following formats are accepted as a font description anywhere
 | |
| <I>font</I> is specified as an argument above; these same forms are also
 | |
| permitted when specifying the <B>-font</B> option for widgets.
 | |
| <P>
 | |
| <DL>
 | |
| <P><DT><A NAME="M14">[1] <I>fontname</I></A><DD>
 | |
| The name of a named font, created using the <B>font create</B> command.  When
 | |
| a widget uses a named font, it is guaranteed that this will never cause an
 | |
| error, as long as the named font exists, no matter what potentially invalid
 | |
| or meaningless set of attributes the named font has.  If the named font
 | |
| cannot be displayed with exactly the specified attributes, some other close
 | |
| font will be substituted automatically.
 | |
| <P><DT><A NAME="M15">[2] <I>systemfont</I></A><DD>
 | |
| The platform-specific name of a font, interpreted by the graphics server.
 | |
| This also includes, under X, an XLFD (see [4]) for which a single ``<B>*</B>''
 | |
| character was used to elide more than one field in the middle of the
 | |
| name.  See PLATFORM-SPECIFIC issues for a list of the system fonts.
 | |
| <P><DT><A NAME="M16">[3] <I>family </I>?<I>size</I>? ?<I>style</I>? ?<I>style ...</I>?</A><DD>
 | |
| A properly formed list whose first element is the desired font
 | |
| <I>family</I> and whose optional second element is the desired <I>size</I>.
 | |
| The interpretation of the <I>size</I> attribute follows the same rules
 | |
| described for <B>-size</B> in FONT OPTIONS below.  Any additional optional
 | |
| arguments following the <I>size</I> are font <I>style</I>s.  Possible values
 | |
| for the <I>style</I> arguments are as follows:
 | |
| <PRE><B>normal	bold	roman	italic	
 | |
| underline	overstrike</B></PRE>
 | |
| <P><DT><A NAME="M17">[4] X-font names (XLFD)</A><DD>
 | |
| A Unix-centric font name of the form
 | |
| <I>-foundry-family-weight-slant-setwidth-addstyle-pixel-point-resx-resy-spacing-width-charset-encoding</I>.
 | |
| The ``<B>*</B>'' character may be used to skip individual fields that the
 | |
| user does not care about.  There must be exactly one ``<B>*</B>'' for each
 | |
| field skipped, except that a ``<B>*</B>'' at the end of the XLFD skips any
 | |
| remaining fields; the shortest valid XLFD is simply ``<B>*</B>'', signifying
 | |
| all fields as defaults.  Any fields that were skipped are given default
 | |
| values.  For compatibility, an XLFD always chooses a font of the specified
 | |
| pixel size (not point size); although this interpretation is not strictly
 | |
| correct, all existing applications using XLFDs assumed that one ``point''
 | |
| was in fact one pixel and would display incorrectly (generally larger) if
 | |
| the correct size font were actually used.
 | |
| <P><DT><A NAME="M18">[5] <I>option value </I>?<I>option value ...</I>?</A><DD>
 | |
| A properly formed list of <I>option</I>-<I>value</I> pairs that specify
 | |
| the desired attributes of the font, in the same format used when defining
 | |
| a named font; see FONT OPTIONS below.
 | |
| <P></DL>
 | |
| <P>
 | |
| When font description <I>font</I> is used, the system attempts to parse the
 | |
| description according to each of the above five rules, in the order specified.
 | |
| Cases [1] and [2] must match the name of an existing named font or of a
 | |
| system font.  Cases [3], [4], and [5] are accepted on all
 | |
| platforms and the closest available font will be used.  In some situations
 | |
| it may not be possible to find any close font (e.g., the font family was
 | |
| a garbage value); in that case, some system-dependant default font is
 | |
| chosen.  If the font description does not match any of the above patterns,
 | |
| an error is generated.  
 | |
| <H3><A NAME="M19">FONT METRICS</A></H3>
 | |
| The following options are used by the <B>font metrics</B> command to query
 | |
| font-specific data determined when the font was created.  These properties are
 | |
| for the whole font itself and not for individual characters drawn in that
 | |
| font.  In the following definitions, the ``baseline'' of a font is the 
 | |
| horizontal line where the bottom of most letters line up; certain letters, 
 | |
| such as lower-case ``g'' stick below the baseline.
 | |
| <P>
 | |
| <DL>
 | |
| <P><DT><A NAME="M20"><B>-ascent         </B></A><DD>
 | |
| The amount in pixels that the tallest letter sticks up above the baseline of
 | |
| the font, plus any extra blank space added by the designer of the font.
 | |
| <P><DT><A NAME="M21"><B>-descent        </B></A><DD>
 | |
| The largest amount in pixels that any letter sticks down below the baseline
 | |
| of the font, plus any extra blank space added by the designer of the font.
 | |
| <P><DT><A NAME="M22"><B>-linespace</B></A><DD>
 | |
| Returns how far apart vertically in pixels two lines of text using the same
 | |
| font should be placed so that none of the characters in one line overlap any
 | |
| of the characters in the other line.  This is generally the sum of the ascent
 | |
| above the baseline line plus the descent below the baseline.
 | |
| <P><DT><A NAME="M23"><B>-fixed           </B></A><DD>
 | |
| Returns a boolean flag that is ``<B>1</B>'' if this is a fixed-width font,
 | |
| where each normal character is the the same width as all the other
 | |
| characters, or is ``<B>0</B>'' if this is a proportionally-spaced font, where 
 | |
| individual characters have different widths.  The widths of control 
 | |
| characters, tab characters, and other non-printing characters are not 
 | |
| included when calculating this value.
 | |
| <P></DL>
 | |
| <H3><A NAME="M24">FONT OPTIONS</A></H3>
 | |
| The following options are supported on all platforms, and are used when
 | |
| constructing a named font or when specifying a font using style [5] as
 | |
| above:
 | |
| <P>
 | |
| <DL>
 | |
| <P><DT><A NAME="M25"><B>-family </B><I>name</I></A><DD>
 | |
| The case-insensitive font family name.  Tk guarantees to support the font
 | |
| families named <B>Courier</B> (a monospaced ``typewriter'' font), <B>Times</B>
 | |
| (a serifed ``newspaper'' font), and <B>Helvetica</B> (a sans-serif
 | |
| ``European'' font).  The most closely matching native font family will
 | |
| automatically be substituted when one of the above font families is used.
 | |
| The <I>name</I> may also be the name of a native, platform-specific font
 | |
| family; in that case it will work as desired on one platform but may not
 | |
| display correctly on other platforms.  If the family is unspecified or 
 | |
| unrecognized, a platform-specific default font will be chosen.
 | |
| <P><DT><A NAME="M26"><B>-size </B><I>size</I></A><DD>
 | |
| The desired size of the font.  If the <I>size</I> argument is a positive
 | |
| number, it is interpreted as a size in points.  If <I>size</I> is a negative
 | |
| number, its absolute value is interpreted as a size in pixels.  If a
 | |
| font cannot be displayed at the specified size, a nearby size will be
 | |
| chosen.  If <I>size</I> is unspecified or zero, a platform-dependent default
 | |
| size will be chosen.  
 | |
| <P>
 | |
| Sizes should normally be specified in points so the application will remain
 | |
| the same ruler size on the screen, even when changing screen resolutions or
 | |
| moving scripts across platforms.  However, specifying pixels is useful in
 | |
| certain circumstances such as when a piece of text must line up with respect
 | |
| to a fixed-size bitmap.  The mapping between points and pixels is set when
 | |
| the application starts, based on properties of the installed monitor, but it
 | |
| can be overridden by calling the <B><A HREF="../TclCmd/tk.htm">tk scaling</A></B> command.
 | |
| <P><DT><A NAME="M27"><B>-weight </B><I>weight</I></A><DD>
 | |
| The nominal thickness of the characters in the font.  The value
 | |
| <B>normal</B> specifies a normal weight font, while <B>bold</B> specifies a
 | |
| bold font.  The closest available weight to the one specified will
 | |
| be chosen.  The default weight is <B>normal</B>.
 | |
| <P><DT><A NAME="M28"><B>-slant </B><I>slant</I></A><DD>
 | |
| The amount the characters in the font are slanted away from the
 | |
| vertical.  Valid values for slant are <B>roman</B> and <B>italic</B>.
 | |
| A roman font is the normal, upright appearance of a font, while 
 | |
| an italic font is one that is tilted some number of degrees from upright.
 | |
| The closest available slant to the one specified will be chosen.
 | |
| The default slant is <B>roman</B>.
 | |
| <P><DT><A NAME="M29"><B>-underline </B><I>boolean</I></A><DD>
 | |
| The value is a boolean flag that specifies whether characters in this
 | |
| font should be underlined.  The default value for underline is <B>false</B>.
 | |
| <P><DT><A NAME="M30"><B>-overstrike </B><I>boolean</I></A><DD>
 | |
| The value is a boolean flag that specifies whether a horizontal line should
 | |
| be drawn through the middle of characters in this font.  The default value
 | |
| for overstrike is <B>false</B>.
 | |
| 
 | |
| <P></DL>
 | |
| <H3><A NAME="M31">PLATFORM-SPECIFIC ISSUES</A></H3>
 | |
| The following named system fonts are supported:
 | |
| <P>
 | |
| <DL>
 | |
| <P><DT><A NAME="M32">X Windows:</A><DD>
 | |
| All valid X font names, including those listed by xlsfonts(1), are available.
 | |
| <P><DT><A NAME="M33">MS Windows:</A><DD>
 | |
| <PRE><B>system	ansi	device
 | |
| systemfixed	ansifixed	oemfixed</B></PRE>
 | |
| <P><DT><A NAME="M34">Macintosh:</A><DD>
 | |
| <PRE><B>system	application</B></PRE>
 | |
| <P></DL>
 | |
| <H3><A NAME="M35">SEE ALSO</A></H3>
 | |
| <B><A HREF="../TclCmd/options.htm">options</A></B>
 | |
| <H3><A NAME="M36">KEYWORDS</A></H3>
 | |
| <A href="../Keywords/F.htm#font">font</A>
 | |
| <HR><PRE>
 | |
| <A HREF="../copyright.htm">Copyright</A> © 1996 Sun Microsystems, Inc.
 | |
| <A HREF="../copyright.htm">Copyright</A> © 1995-1997 Roger E. Critchlow Jr.</PRE>
 | |
| </BODY></HTML>
 | 
