首页 > 代码库 > 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 之 第五课 字体之其他函数介绍