随笔 - 2146  文章 - 97 评论 - 11765 trackbacks - 253

//获取字体信息
var
  fontFamily: TGPFontFamily;
  font: TGPFont;
begin
  fontFamily := TGPFontFamily.Create('宋体');
  font := TGPFont.Create(fontFamily, 9, FontStyleRegular, UnitPixel);

  ShowMessage(FloatToStr(font.GetSize));                             {字号大小}
  ShowMessage(IntToStr(fontFamily.GetEmHeight(FontStyleRegular)));   {字体高度, 采用设计时单位}
  ShowMessage(IntToStr(fontFamily.GetLineSpacing(FontStyleRegular)));{行间距, 采用设计时单位}
  ShowMessage(IntToStr(fontFamily.GetCellAscent(FontStyleRegular))); {上升距, 采用设计时单位}
  ShowMessage(IntToStr(fontFamily.GetCellDescent(FontStyleRegular)));{下降距, 采用设计时单位}

  font.Free;
  fontFamily.Free;
end;

//获取已安装字体的列表 var fonts: TGPFontCollection; fArr: array of TGPFontFamily; count,ti: Integer; s: string; i: Integer; begin fonts := TGPInstalledFontCollection.Create; count := fonts.GetFamilyCount; SetLength(fArr, count); for i := 0 to count - 1 do begin fArr[i] := TGPFontFamily.Create; end; fonts.GetFamilies(count, fArr, ti); Memo1.Clear; for i := 0 to count - 1 do begin fArr[i].GetFamilyName(s); Memo1.Lines.Add(s); fArr[i].Free; end; fonts.Free; end;
posted on 2007-12-27 22:33 万一 阅读(...) 评论(...) 编辑 收藏