15字符属性
我们也可以通过缩放字符的整体尺寸(高度和宽度)或者仅缩放字符高度或宽度来调整文本大小。字符大小(高度)则由打印机和排字机以 磅(point) 为单位进行指定,其中1磅是 0.035146厘米 (或0.013837英寸、大约1/72英寸)。例如,本书的文本是10磅字体。磅值计量指定了字符体的大小(参见图4.35),但具有相同磅数的不同字体,按其字体设计的不同而具有不同的字符大小。在指定大小的一种字体中,所有字符的 底线(bottomline) 和 顶线(topline) 间的距离是相同的,但字符体的宽度可能不同。在成比例 间距字体(proportionally spaced font) 中,窄字i、j、l和f的字符体宽度比宽字符W或M要小。 字符高度(character height) 则定义为 字符基线(baseline ) 和 帽线(capline) 之间的距离。像图4.35中f和j这样的有核字符通常超出字符体的限制。下行字符(s、j、 p、q、y)要扩展到基线以下。每个字符由设计师定位在字符体以内,并允许沿打印行或在打印行之间以字符体相接方式显示时,可以有适当的间距。
使用OpenGL软件包显示字符有两种方法。使用核心库中的位图函数来设计字体集,或引用OpenGL字符生成函数。GLUT库中包含显示预定义点阵和笔划字符集的函数。因此,可以设定的字符属性是那些能应用于位图或线段的属性。
对点阵或轮廓字体,显示颜色由当前颜色状态来确定。一般而言,字符的间隔和大小由字符描述确定,如 GLUT_BITMAP_9_BY_15 和 GLUT_STROKE_MONO_ROMAN 。但也可以为轮廓字体设定线宽和线型。我们用glLineWidth函数指定宽度,用glLineStipple函数选择线型。然后GLUT笔划字体用指定的当前线宽和线型属性值来显示。
我们也可以通过缩放字符的整体尺寸(高度和宽度)或者仅缩放字符高度或宽度来调整文本大小。字符大小(高度)则由打印机和排字机以 磅(point) 为单位进行指定,其中1磅是 0.035146厘米 (或0.013837英寸、大约1/72英寸)。例如,本书的文本是10磅字体。磅值计量指定了字符体的大小(参见图4.35),但具有相同磅数的不同字体,按其字体设计的不同而具有不同的字符大小。在指定大小的一种字体中,所有字符的 底线(bottomline) 和 顶线(topline) 间的距离是相同的,但字符体的宽度可能不同。在成比例 间距字体(proportionally spaced font) 中,窄字i、j、l和f的字符体宽度比宽字符W或M要小。 字符高度(character height) 则定义为 字符基线(baseline ) 和 帽线(capline) 之间的距离。像图4.35中f和j这样的有核字符通常超出字符体的限制。下行字符(s、j、 p、q、y)要扩展到基线以下。每个字符由设计师定位在字符体以内,并允许沿打印行或在打印行之间以字符体相接方式显示时,可以有适当的间距。
使用OpenGL软件包显示字符有两种方法。使用核心库中的位图函数来设计字体集,或引用OpenGL字符生成函数。GLUT库中包含显示预定义点阵和笔划字符集的函数。因此,可以设定的字符属性是那些能应用于位图或线段的属性。
对点阵或轮廓字体,显示颜色由当前颜色状态来确定。一般而言,字符的间隔和大小由字符描述确定,如 GLUT_BITMAP_9_BY_15 和 GLUT_STROKE_MONO_ROMAN 。但也可以为轮廓字体设定线宽和线型。我们用glLineWidth函数指定宽度,用glLineStipple函数选择线型。然后GLUT笔划字体用指定的当前线宽和线型属性值来显示。