首页 > 代码库 > VB API 之 第五课 字体之其他函数介绍
VB API 之 第五课 字体之其他函数介绍
GetFontLanguageInfo()
GetFontLanguageInfo()函数返回指定设备中字体的信息。
它的声明形式如下所示:
Private Declare Function GetFontLanguageInfo Lib "gdi32" Alias "GetFontLanguageInfo" (ByVal hdc As Long) As Long
GetFontLanguageInfo()函数返回Long型值,如果返回值为0,表示是简单字体;返回GCP_ERROR,表示出错;否则,返回下列一个或多个标志:
GCP_DBCS:字符集是DBCS。GCP_DIACRITIC:字体/语言包含读音符号。
FLI_GLYPHS:字体包含一些特殊符号,通常不能使用代码页。用GetCharacterPlacement来访问这些符号,此值仅作为信息,不是用来传给GetCharacterPlacement。
GCP_GLYPHSHAPE:字体/语言在每个代码点或每个代码点的组合处(支持整形和/或捆绑)都有多个字形,并且字体含有高级的字形表,给特殊的形状提供特殊的字形。如果给定了此值,数组lpGlyphs将和GetCharacterPlacement一起使用,并且当字符串被绘制时,ETO_GLYPHINDEX被传递给ExtTextOut。
GCP_KASHIDA:字体/语言允许Kashidas。
GCP_LIGATE:字体/语言包含可被特殊字符组合取代的捆绑字形。
GCP_USEKERNING:字体含有字距调整表,可用来在字符和字形之间提供更好的间隔。
GCP_REORDER:语言要求为显示重新排序。如Hebrew或Arabic。
GetFontLanguageInfo()函数只有一个参数--hdc,Long型,表示设备的句柄
从这个函数返回值可用于设置GetCharacterPlacement()函数的标志。
GetCharABCWidthsFloat()
函数功能:该函数取得当前字体里在一个指定范围里的连续字符的逻辑单位宽度。
函数原型:BOOL GetCharABCWidthsFloat(HDC hdc, UINT iFirstChar, UINT iLastChar, LPABCFLOAT lpABCF);
参数:
hdc:设备环境句柄。
iFirstChar:指定要寻求其ABC宽度的连续字符组的第一个字符的代码点。
iLastChar:指定要寻求其ABC宽度的连续字符组的最后一个字符的代码点,这个范围是包含在内的。如果指定的最后一个字符先于指定的第一个字符,则将返回错误信息。
lpABCF:指向含有ABCFLOAT结构数组的、应用程序定义的缓冲区的指针,该结构用于函数返回时接收字符宽度。
返回值:如果函数调用成功,返回值非零;如果函数调用失败,返回值是0。
private Type ABCFLOAT abcfA As Double abcfB As Double abcfC As Double End Type
Members
- abcfA
- 指定字符的“A”间距,“A”间距是指从当前位置到开始绘制字符的起始点之间的距离
- abcfB
- 指定字符的“B”间距,“B”间距是指字符绘制区域的宽度;
- abcfC
- 指定字符的“C”间距,“C”间距是指从当前位置起添加的距离,用于提供字符右边的空白空间。
- GetTextCharset()
- GetTextCharset 函数接收当前选入指定设备场景的字体的字符集标识符语法int GetTextCharset(
__in HDC hdc
);参数hdc设备上下文的句柄。该函数获取选入该设备场景的字体的字符集标识符返回值如果成功,返回选入指定设备场景的字体的字符集标识符。下列是定义的字符集标识符:BALTIC_CHARSET
CHINESEBIG5_CHARSET
DEFAULT_CHARSET
EASTEUROPE_CHARSET
GB2312_CHARSET
GREEK_CHARSET
HANGUL_CHARSET
MAC_CHARSET
OEM_CHARSET
RUSSIAN_CHARSET
SHIFTJIS_CHARSET
SYMBOL_CHARSET
TURKISH_CHARSET
VIETNAMESE_CHARSET
JOHAB_CHARSET
ARABIC_CHARSET
HEBREW_CHARSET
THAI_CHARSET如果该函数失败,则返回 DEFAULT_CHARSET。
VB API 之 第五课 字体之其他函数介绍
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。