不寻常的字体转换

时间:2010-02-07 22:51:46

标签: c# winforms string fonts

我在文件中有以下字符串,需要将其转换回Font对象。但我不确定如何做到这一点:

字符串:

[Font: Name=Segoe UI, Size=14, Units=3, GdiCharSet=1, GdiVerticalFont=False]

我感谢任何帮助,谢谢

巴尔

2 个答案:

答案 0 :(得分:2)

查看CC.Utilities库中的FontBuilder课程。它完全符合您的要求,并提供了一种扩展方法ToStringEx(),以涵盖FontStyle缺少的Font.ToString()属性。

我最初编写它所以我可以在注册表中存储Font

编辑:以下是您对整件事不感兴趣的具体文件:

FontBuilder: http://ccutilities.codeplex.com/SourceControl/changeset/view/40596#648008 FontExtensions: http://ccutilities.codeplex.com/SourceControl/changeset/view/40596#664902

答案 1 :(得分:1)

有各种Font constructorsthis one似乎适合该法案:

  

字体构造函数(String,Single,FontStyle,GraphicsUnit,Byte,Boolean)

     

使用指定的大小,样式,单位和字符集初始化新字体。

     

<强>参数

     

familyName
  类型:System.String
  新Font的FontFamily的字符串表示形式。

     

emSize
  类型:System.Single
  单位参数指定的单位中新字体的em-size。

     


  键入:System.Drawing.FontStyle
  新字体的FontStyle。

     

单元
  键入:System.Drawing.GraphicsUnit
  新字体的GraphicsUnit。

     

gdiCharSet
  键入:System.Byte
  一个字节,指定用于此字体的GDI字符集。

     

gdiVerticalFont
  类型:System.Boolean
  一个布尔值,指示新Font是否是从GDI垂直字体派生的。

除非我误读了你的字符串。

您需要解析字符串以将适当的值传递给构造函数。