wxPython官方文档中文翻译 - 字体概述

85 阅读3分钟

官方文档:docs.wxpython.org/font_overvi…

介绍

字体是一种对象,它决定了文本的外观,主要是在将文本绘制到窗口或设备上下文时。一种字体由以下参数决定(当然,并非所有参数都必须指定):

磅值这是表示文本大小的标准方式。
字体系列支持的字体系列有:wx.DEFAULT、wx.DECORATIVE、wx.ROMAN、wx.SCRIPT、wx.SWISS、wx.MODERN。wx.MODERN是一种等宽字体;其他的可以是等宽字体,也可以是可变宽度字体。
样式其值可以是wx.NORMAL、wx.SLANT或wx.ITALIC。
字重其值可以是wx.NORMAL、wx.LIGHT或wx.BOLD。
下划线该值可以是True或False。
字体系列名称一个可选的字符串,用于指定要使用的实际字体类型。如果为None,将根据字体系列选择默认的字体类型。
编码字体编码(有关更多详细信息,请参阅 wx.FONTENCODING_XXX常量以及“字体编码”部分)

指定一个字体系列,而不是特定的字体名称,可确保在不同平台间具有一定程度的可移植性,因为系统会为给定的字体系列选择合适的字体。然而,这并不能精确地选择某一种字体,因为一般来说,上述参数并不足以识别所有可用的字体。而在这种情况下,使用原生字体描述可能会有所帮助,具体内容见下文。

在Windows系统下,字体系列名称可以是用户系统上已安装的字体之一。由于不同系统所安装的字体各不相同,因此要么选择标准的Windows字体,要么在允许用户指定字体系列名称的情况下,将该字体系列名称与任何可能传输到不同Windows计算机或其他平台的文件一同保存。

注意:目前,如果映射模式不是MM_TEXT模式,那么在这两个平台上字体的外观会存在差异。在X系统下,字体大小始终以磅为单位进行指定。在微软Windows系统下,文本的单位也是磅,但文本会根据当前的映射模式进行缩放。不过,在这两种环境下,对设备上下文进行用户缩放操作时也会使字体缩放。

原生字体信息

选择字体的另一种方式是使用原生字体描述。如果允许用户通过wx.FontDialog选择字体,那么这是唯一可行的解决方案,因为仅用字体系列名称无法描述所选字体。所以,如果只是永久性地保存字体系列名称,用户之后在程序中几乎肯定会看到不同的字体。

相反,你应该存储由wx.Font.GetNativeFontInfoDesc返回的值,然后将其传递给wx.Font.SetNativeFontInfo,以便精确地重新创建出完全相同的字体。

注意:请注意,此字符串的内容取决于平台,且不应将其用于任何其他目的(尤其是,它并非用于展示给用户)。另外还请注意,尽管目前原生字体信息仅在Windows和Unix(GTK+和Motif)端口中实现,但所有这些方法对所有端口均可用,并且在以后这些方法实现时,应该使用它们来确保你的程序能正确运行。