设为首页 加入收藏

TOP

输出文字(十二)
2010-12-30 21:10:02 来源: 作者: 【 】 浏览:24189
Tags:输出 文字
RIC结构提供了关於目前装置内容中选用的字体的丰富资讯。但是,字体的纵向大小只由5个值确定,其中4个值如图4-3所示。


 

图4-3 定义字体中纵向字元大小的4个值

最重要的值是tmHeight,它是tmAscent和tmDescent的和。这两个值表示了基准线上下字元的最大纵向高度。「间距」(leading)指印表机在两行文字间插入的空间。在TEXTMETRIC结构中,内部的间距包括在tmAscent中(因此也在tmHeight中),并且它经常是重音符号出现的地方。tmInternalLeading栏位可被设成0,在这种情况下,加重音的字母会稍稍缩短以便容纳重音符号。

TEXTMETRIC结构还包括一个不包含在tmHeight值中的栏位tmExternalLeading。它是字体设计者建议加在横向字元之间的空间大小。在安排文字行之间的空隙时,您可以接受设计者建议的值,也可以拒绝它。在系统字体中tmExternalLeading可以为0,因此我没有在图4-3中显示它。(尽管我不想告诉你们,图4-3确实就是Windows在640×480的显示解析度中使用的系统字体。)

TEXTMETRICS结构包含有描述字元宽度的两个栏位,即tmAveCharWidth(小写字母加权平均宽度)和tmMaxCharWidth(字体中最宽字元的宽度)。对於定宽字体,这两个值是相等的(图4-3中这些值分别为7和14)。

本章的范例程式还需要另一种字元宽度,即大写字母的平均宽度,这可以用tmAveCharWidth乘以150%大致计算出来。

必须认识到,系统字体的大小取决於Windows所执行的视讯显示器的解析度,在某些情况下,取决於使用者选取的系统字体的大小。Windows提供了一个与装置无关的图形介面,但程式写作者还是有事情要处理的。不要想当然耳地猜测字体大小来写作Windows程式,也不要把值定死,您可以使用GetTextMetrics函式取得这一资讯。

格式化文字
 

Windows启动後,系统字体的大小就不会发生改变,所以在程式执行过程中,程式写作者只需要呼叫一次GetTexM

首页 上一页 9 10 11 12 13 14 15 下一页 尾页 12/44/44
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇图形基础 下一篇视窗和讯息

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: