nHeight | 以逻辑单位方式指定字体的高度,字体高度可为以下值之一:· | 大于0,此时高度被转化为设备单位,与可用字体的网格高度相比较。 | · | 等于0,此时使用合理的缺省大小。 | · | 小于0,此时高度被转化为设备单位,而绝对值与可用字体的字符高度相比较。 | nHeight绝对值在转化后不可超过16,384设备单位。在所有的高度对比中,如果字体超过所要求的值,则字体映像器中大字体不会超过所需大小,小字体也不会超过。 |
nWidth | 指定字体中字符平均宽度(用逻辑单位)。如果为0,设备方向比率与可用字体的数字方向比率相比较,找一个最近的匹配,它由值的差的绝对值决定。 |
nEscapement | 指定偏离垂线与x轴在显示面上的夹角(用0.1度单位)。偏离垂线时从一行中开始一个字符到最后一个字符的线,此角从x轴逆时针方向度量。 |
nOrientation | 指定字符基线和x轴之间的夹角(用0.1度单位)。此度数在座标轴中由x轴逆时针方向度量时坐标系中y轴向下,顺时针方向从x轴旋转时,y轴向上。 |
nWeight | 指定字体磅数(用每1000点中墨点像素数计)。尽管nWeight可为0到1000中的任意整数值,常用值和常数如下:常数 | 值FW_DONTCARE | 0 | FW_THIN | 100 | FW_EXTRALIGHT | 200 | FW_ULTRALIGHT | 200 | FW_LIGHT | 300 | FW_NORMAL | 400 | FW_REGULAR | 400 | FW_MEDIUM | 500 | FW_SEMIBOLD | 600 | FW_DEMIBOLD | 600 | FW_BOLD | 700 | FW_EXTRABOLD | 800 | FW_ULTRABOLD | 800 | FW_BLACK | 900 | FW_HEAVY | 900 | | 以上各值是大约数,实际外观依赖字体大小,有的字体仅有FW_NORMAL,FW_REGULAR,FW_BOLD磅数。如果FW_DONTCARE被指定,则使用缺省磅数。 |
bItalic | 指定字体是否为斜体。 |
bUnderline | 指定字体是否带下划线。 |
bStrikeOut | 指定是否是字体字符突出。如果设置为非零,则突出。 |
nCharSet | 指定字体的字符集,以下是预定义的常数和值:常数 | 值 | ANSI_CHARSET | 0 | DEFAULT_CHARSET | 1 | SYMBOL_CHARSET | 2 | SHIFTJIS_CHARSET | 128 | OEM_CHARSET | 255 | OEM字符集依赖于系统。 具有其它字符集的字体可能存在于系统之中。一个使用未知字符集字体的应用不能翻译或解释一个以此字符集着色的字符串,相反,应将字符串直接输入到设备驱动。 字体映射器不使用DEFAULT_CHARSET值,一个应用可以使用此值让字体名和大小完全描述逻辑字体。如果指定的名字不存在,为避免不可预料的结果,应用应谨慎地使用 DEFAULT_CHARSET。 |
nOutPrecision | 指定所需的输出精度。输出精度定义输出与需要的字体高度、宽度,字符方向、走格、间距之间的接近程度,可以为以下值之一:OUT_CHARACTER_PRECIS | OUT_STRING_PRECIS | OUT_DEFAULT_PRECIS | OUT_STROKE_PRECIS | OUT_DEVICE_PRECIS | OUT_TT_PRECIS | OUT_RASTER_PRECIS | | 应用在系统包含多个给定名字的字体时,可用OUT_DEVICE_PRECIS,OUT_RASTER_PRECIS和OUT_TT_PRECIS值控制一个字体映射器如何选择一种字体。例如,如果一个系统包含一个名叫Symbol的字体,以光栅和TrueType形式存在,指定OUT_TT_PRECIS使字体映射器选择TrueType类型(指定OUT_TT_PRECIS强制字体映射器选择TrueType字体(当指定字体名与一个设备或光栅字体相匹配),即使没有同名的TrueType字体。 |
nClipPrecision | 指定所需的剪贴精度。剪贴精度定义了如何剪贴部分超过剪贴范围的字符,可为以下值之一:CLIP_CHARACTER_PRECIS | CLIP_MASK | CLIP_DEFAULT_PRECIS | CLIP_STROKE_PRECIS | CLIP_ENCAPSULATE | CLIP_TT_ALWAYS | CLIP_LH_ANGLES | | 要使用插入的只读字体,应用必须指定CLIP_ENCAPSULATE。要建立设备旋转、TrueType和矢量字库,应用可以用OR操作符将CLIP_LH_ANGLES值与其它nClipPrecision值组合。如果CLIP_LH_ANGLES位被设置,所有字体的旋转都依赖于坐标系的定位是左手方向还是右手方向(要了解有关坐标轴定位的更多信息,请参阅nOrientation参数的描述)。如果CLIP_LH_ANGLES未被设置,设置字体常逆时针方向旋转,但其它字体的旋转依赖于坐标系的旋转定位。 |
nQuality | 指示字体的输出质量,定义了GDI必须使逻辑字体特性和物理字体特性相匹配的程度。可为以下值之一:DEFAULT_QUALITY | 字体的外观无关紧要。 | DRAFT_QUALITY | 当PROOF_QUALITY使用时,字体的外观不太重要。对GDI光栅字体来说,允许缩放。黑体、斜体、下划线、突出字体和综合处理在需要时可用。 | PROOF_QUALITY | 字体的字符质量比精确的逻辑字体特性的匹配更重要。对GDI光栅字体,缩放无效,大小最接近的字体被选用。黑体、斜体、下划线、突出和综合处理在需要时可用。 |
|
nPitchAndFamily | 指定字体的间距和家族。两个低位指定字体的间距,可为以下值之一: DEFAULT_PITCH、VARIABLE_PITCH、FIXED_PITCH 应用可以将T\\MPF_TRUETYPE加到nPitchAndFamily参数中来选择一个TrueType字体。高四位指定字体家族,可为以下值之一:· | FF_DECORATIVE | 新奇字体,如以前英格兰的字体。 | · | FF_DONTCARE | 不在意或不知道。 | · | FF_MODERN | 笔型宽度不变的字体,有或无衬线。固定斜度的字体常是现代风格的,如Pica,Elite和Courier New。 | · | FF_ROMAN | 笔划宽度可变(接比例调整空间)及有衬线字体。如Times New Roman和Century Schoolbook。 | · | FF_SCRIPT | 与手写体相似的字体,如Script和Cursive。 | · | FF_SWISS | 笔划宽度可变(接比例调整空间)及不带有衬线字体,如MS Sans Serif。 | 一个应用可用布尔操作OR指定一个nPithAndFamily值以组合一个斜体和一个家族常数。 字体家族用普通方式描述了字体的外观,它们在所需铅字体无效时用于定义指定的字体。 |
lpszFacenameCString | 或指向一个以空终止字符串的指针,字符串指定字体字样的名字。此字符串的长度不能长于30个字符,WindowsEnumFontFamilies函数可用于枚举所有当前可用字体。如果为NULL,则GDI使用一个不依赖设备的字体。 |