Depending on your platform, there may be up to three ways to specify type style.
As a tuple whose first element is the font family,
followed by a size in points, optionally followed by
a string containing one or more of the style
modifiers bold, italic,
underline, and overstrike.
Examples: ("Helvetica", "16") for a
16-point Helvetica regular; ("Times", "24",
"bold italic") for a 24-point Times bold
italic.
You can create a “font object” by
importing the tkFont module
and using its Font class
constructor:
import tkFont
font = tkFont.Font ( option, ... )
where the options include:
family | The font family name as a string. |
size |
The font height as an integer in points. To
get a font pixels
high, use -.
|
weight | "bold" for
boldface, "normal" for
regular weight. |
slant |
"italic" for italic, "roman" for unslanted.
|
underline |
1 for underlined text, 0 for normal.
|
overstrike |
1 for overstruck text, 0 for normal.
|
For example, to get a 36-point bold Helvetica italic face:
helv36 = tkFont.Font ( family="Helvetica",
size=36, weight="bold" )
If you are running under the X Window System, you can
use any of the X font names. For example, the font
named "-*-lucidatypewriter-medium-r-*-*-*-140-*-*-*-*-*-*" is the author's favorite fixed-width font for
onscreen use. Use the
xfontsel program to help
you select pleasing fonts.
To get a list of all the families of fonts available on your platform, call this function:
tkFont.families()
The return value is a list of strings. Note: You must create your root window before calling this function.
These methods are defined on all Font
objects:
.actual (
option=None )
If you pass no arguments, you get back a dictionary of the font's actual attributes, which may differ from the ones you requested. To get back the value of an attribute, pass its name as an argument.
.cget ( option
)
Returns the value of the given .
option
.configure (
option, ... )
Use this method to change one or more options on a
font. For example, if you have a Font object called titleFont, if you
call titleFont.configure ( family="times",
size=18 ), that font will change to 18pt
Times and any widgets that use that font will
change too.
.copy()
Returns a copy of a Font object.
.measure ( text
)
Pass this method a string, and it will return the number of pixels of width that string will take in the font. Warning: some slanted characters may extend outside this area.
.metrics ( option
)
If you call this method with no arguments, it returns a dictionary of all the font metrics. You can retrieve the value of just one metric by passing its name as an argument. Metrics include:
ascent | Number of pixels of height between the baseline and the top of the highest ascender. |
descent | Number of pixels of height between the baseline and the bottom of the lowest ascender. |
fixed |
This value is 0 for a
variable-width font and 1
for a monospaced font.
|
linespace | Number of pixels of height total. This is the leading of type set solid in the given font. |