Using Fonts
Now that we know what comprises a font, let’s look at a few ways we can specify them in code.
We simplify things in our Perl/Tk applications by being able to create a single name that refers to a combination of family, size, weight, slant, underline, and overstrike:
$code_font = $mw->fontCreate('code', -family => 'courier', -size => 12);
Once we have created our new font, you can refer to the font by the
variable $code_font
or by the name,
'code'
:
$mw->Button(-text => "Show Code", -font => 'code'); $mw->Button(-text => "Show Code2", -font => $code_font);
It is much simpler to specify all the desired font options once and refer to them using the name or variable later in the program. If you don’t want to use a name for the font, don’t specify it; the system will generate a name for you automatically.
$code_font = $mw->fontCreate(-family => 'courier', -size => 12);
Once
the font is created, you can change any of its settings using the
fontConfigure
method, using the font name or
reference as the first argument:
$mw->fontConfigure($code_font, -family => 'Verdana');
The changes will take effect immediately on any widgets using that font, making it very useful for on-the-fly changes.
The -font
option will
also accept an anonymous array containing the right parts, with or
without the identifiers:
-font => ['courier', '14', 'bold'] # The same thing, but more verbose: -font => [-family => 'courier', -size => '14', -weight => 'bold']
The second way is much more verbose, and easier ...
Get Mastering Perl/Tk now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.