2008年9月29日星期一

perl tk笔记: fonts

首先:不能改变mainwindow中title字体,其他都可以
使用字体最简单方法:
perl myTkApp.pl -font "Times 12"
在linux中可使用xlsfonts来查看安装的字体,使用X Logical Font Descriptions (XFLD)来描述一个font如:
*-helvetica-bold-r-*-*-*-240-*-*-*-*-*-*
每个字段的意思为

-foundry-family-weight-slant-sWdth-adstyl-pixelsize-pointsize-resx-resy-spacing-avgWidth-registry-encoding.

font基本属性
family:font的名字
size: 以point为单位的大小,point=1/72inch
weight:粗体
slant:斜体
underline:下划线
Overstrike:中划线

Font的使用:

$code_font = $mw->fontCreate('code', -family => 'courier',
-size => 12);
$mw->Button(-text => "Show Code", -font => 'code');
以上创建名为code的font,在button中使用。 -font选项可以是font名字也可是$code_font变量,还可以是一个匿名数组的引用如:
-font => ['courier', '14', 'bold']
。当不想使用名字在fontCreate里面忽略。
$mw->fontConfigure($code_font, -family => 'Verdana');
改变font属性使用fontConfigure

Font操作:
一旦创建了一个font,就能够使用fontActual查看它的属性
%big = $mw->fontActual('bigfont');
$size = $mw->fontActual('bigfont', -size);

使用fontDelete来删除font定义,此时已经使用此font的widget不受影响。

列出系统字体
@families = $mw->fontFamilies;
列出程序定义过的字体
@definedfonts = $mw->fontNames;


没有评论: