查看源码 wxFont (wx v2.4.3)

字体是一个决定文本外观的对象。

字体用于在设备上下文上绘制文本,以及设置窗口文本的外观,请参阅 wxDC:setFont/2wxWindow:setFont/2

创建自定义字体最简单的方法是使用 wxFontInfo(在 wx 中未实现)对象来指定字体属性,然后使用 new/5 构造函数。或者,你可以从预定义的字体之一开始,或者使用 wxWindow:getFont/1 并修改字体,例如使用 MakeLarger()(在 wx 中未实现)来增大其大小,或使用 MakeBold()(在 wx 中未实现)来更改其粗细。

此类在内部使用引用计数和写时复制,因此此类两个实例之间的赋值非常廉价。因此,你可以使用实际对象而不是指针,而不会产生效率问题。如果更改了此类的实例,它将在内部创建自己的数据,以便先前使用引用计数共享数据的其他实例不受影响。

你可以使用 wxSystemSettings 检索当前系统字体设置。

预定义对象(包括 wx.hrl):?wxNullFont、?wxNORMAL_FONT、?wxSMALL_FONT、?wxITALIC_FONT、?wxSWISS_FONT

请参阅

wxWidgets 文档:wxFont

摘要

函数

销毁对象

返回当前应用程序的默认编码。

返回与字体关联的字体名称,如果没有字体信息,则返回空字符串。

如果可能,获取字体系列。

返回完全描述此字体的平台相关字符串。

返回此字体对象的易于用户理解的字符串。

将点大小获取为整数。

获取字体样式。

如果字体有下划线,则返回 true;否则返回 false。

获取字体粗细。

如果字体是固定宽度(或等宽)字体,则返回 true;如果是比例字体或字体无效,则返回 false。

如果此对象是有效的字体,则返回 true;否则返回 false。

默认构造函数。

复制构造函数,使用引用计数。

等效于:new/5

使用指定的属性和像素大小创建字体对象。

等效于:isOk/1

设置默认字体编码。

设置字体的字体名称。

设置字体系列。

将字体大小(以磅为单位)设置为整数值。

设置字体样式。

设置下划线。

设置字体粗细。

类型

-type wxFont() :: wx:wx_object().

函数

-spec destroy(This :: wxFont()) -> ok.

销毁对象

链接到此函数

getDefaultEncoding()

查看源码
-spec getDefaultEncoding() -> wx:wx_enum().

返回当前应用程序的默认编码。

请参阅

-spec getFaceName(This) -> unicode:charlist() when This :: wxFont().

返回与字体关联的字体名称,如果没有字体信息,则返回空字符串。

请参阅:setFaceName/2

-spec getFamily(This) -> wx:wx_enum() when This :: wxFont().

如果可能,获取字体系列。

如 ?wxFontFamily 文档中所述,返回值充当字体主要属性(外观、间距)的基本分类。

如果 wxFont 或底层系统无法识别当前的字体名称,则返回 wxFONTFAMILY_DEFAULT

请注意,目前此函数不是很精确,因此不是特别有用。字体系列主要对字体创建有意义,请参阅 setFamily/2

请参阅:setFamily/2

链接到此函数

getNativeFontInfoDesc(This)

查看源码
-spec getNativeFontInfoDesc(This) -> unicode:charlist() when This :: wxFont().

返回完全描述此字体的平台相关字符串。

返回的字符串始终为非空,除非字体无效(在这种情况下会触发断言)。

请注意,返回的字符串并不意味着要由用户显示或编辑:此函数的典型用途是将 wxFont 对象序列化为字符串形式。

请参阅:getNativeFontInfoUserDesc/1

链接到此函数

getNativeFontInfoUserDesc(This)

查看源码
-spec getNativeFontInfoUserDesc(This) -> unicode:charlist() when This :: wxFont().

返回此字体对象的易于用户理解的字符串。

返回的字符串始终为非空,除非字体无效(在这种情况下会触发断言)。

该字符串并不编码所有平台下的所有 wxFont 信息;例如,在 wxMSW 下,返回的字符串中不存在字体系列。

返回的字符串格式的一些示例(与平台相关)在 SetNativeFontInfoUserDesc()(在 wx 中未实现)中。

请参阅:getNativeFontInfoDesc/1

-spec getPointSize(This) -> integer() when This :: wxFont().

将点大小获取为整数。

保留此函数是为了兼容性原因。新代码应使用 GetFractionalPointSize()(在 wx 中未实现)并支持小数磅值大小。

请参阅:setPointSize/2

-spec getStyle(This) -> wx:wx_enum() when This :: wxFont().

获取字体样式。

请参阅 ?wxFontStyle 获取有效样式的列表。

请参阅:setStyle/2

-spec getUnderlined(This) -> boolean() when This :: wxFont().

如果字体有下划线,则返回 true;否则返回 false。

请参阅:setUnderlined/2

-spec getWeight(This) -> wx:wx_enum() when This :: wxFont().

获取字体粗细。

请参阅 ?wxFontWeight 获取有效粗细标识符的列表。

请参阅:setWeight/2

-spec isFixedWidth(This) -> boolean() when This :: wxFont().

如果字体是固定宽度(或等宽)字体,则返回 true;如果是比例字体或字体无效,则返回 false。

请注意,此函数在某些平台下与仅仅测试字体系列是否等于 wxFONTFAMILY_TELETYPE 不同,因为本地平台特定的函数用于检查(从而产生更准确的返回值)。

-spec isOk(This) -> boolean() when This :: wxFont().

如果此对象是有效的字体,则返回 true;否则返回 false。

-spec new() -> wxFont().

默认构造函数。

-spec new(NativeInfoString) -> wxFont() when NativeInfoString :: unicode:chardata();
         (Font) -> wxFont() when Font :: wxFont().

复制构造函数,使用引用计数。

-spec new(PointSize, Family, Style, Weight) -> wxFont()
             when
                 PointSize :: integer(),
                 Family :: wx:wx_enum(),
                 Style :: wx:wx_enum(),
                 Weight :: wx:wx_enum();
         (PixelSize, Family, Style, Weight) -> wxFont()
             when
                 PixelSize :: {W :: integer(), H :: integer()},
                 Family :: wx:wx_enum(),
                 Style :: wx:wx_enum(),
                 Weight :: wx:wx_enum().

等效于:new/5

-spec new(PointSize, Family, Style, Weight, [Option]) -> wxFont()
             when
                 PointSize :: integer(),
                 Family :: wx:wx_enum(),
                 Style :: wx:wx_enum(),
                 Weight :: wx:wx_enum(),
                 Option ::
                     {underlined, boolean()} | {face, unicode:chardata()} | {encoding, wx:wx_enum()};
         (PixelSize, Family, Style, Weight, [Option]) -> wxFont()
             when
                 PixelSize :: {W :: integer(), H :: integer()},
                 Family :: wx:wx_enum(),
                 Style :: wx:wx_enum(),
                 Weight :: wx:wx_enum(),
                 Option ::
                     {underline, boolean()} | {faceName, unicode:chardata()} | {encoding, wx:wx_enum()}.

使用指定的属性和像素大小创建字体对象。

请注意,与使用 wxFontInfo(在 wx 中未实现)的构造函数相比,使用此构造函数通常更冗长且可读性较差,请考虑改用该构造函数。

备注:如果所需的字体不存在,将选择最接近的匹配项。在 Windows 下,仅使用可缩放的 TrueType 字体。

-spec ok(This) -> boolean() when This :: wxFont().

等效于:isOk/1

链接到此函数

setDefaultEncoding(Encoding)

查看源码
-spec setDefaultEncoding(Encoding) -> ok when Encoding :: wx:wx_enum().

设置默认字体编码。

请参阅

链接到此函数

setFaceName(This, FaceName)

查看源码
-spec setFaceName(This, FaceName) -> boolean() when This :: wxFont(), FaceName :: unicode:chardata().

设置字体的字体名称。

备注:为了避免可移植性问题,请不要依赖特定的字体名称,而是指定字体系列(请参阅 ?wxFontFamily 和 setFamily/2)。

返回:如果给定字体名称存在,则返回 true;如果用户的系统中不存在字体名称,则字体无效(因此 isOk/1 将返回 false),并返回 false。

请参阅

链接到此函数

setFamily(This, Family)

查看源码
-spec setFamily(This, Family) -> ok when This :: wxFont(), Family :: wx:wx_enum().

设置字体系列。

如 ?wxFontFamily 文档中所述,给定的 family 值充当字体主要属性(外观、间距)的基本指示。

请注意,更改字体系列会导致更改字体名称。

请参阅

链接到此函数

setPointSize(This, PointSize)

查看源码
-spec setPointSize(This, PointSize) -> ok when This :: wxFont(), PointSize :: integer().

将字体大小(以磅为单位)设置为整数值。

这是仅支持整数磅值的函数的旧版本。它仍然可以使用,但为了避免不必要地将字体大小(以磅为单位)限制为整数值,请考虑使用新的(在 wxWidgets 3.1.2 中添加的)SetFractionalPointSize()(在 wx 中未实现)函数。

链接到此函数

setStyle(This, Style)

查看源码
-spec setStyle(This, Style) -> ok when This :: wxFont(), Style :: wx:wx_enum().

设置字体样式。

请参阅:getStyle/1

链接到此函数

setUnderlined(This, Underlined)

查看源码
-spec setUnderlined(This, Underlined) -> ok when This :: wxFont(), Underlined :: boolean().

设置下划线。

请参阅:getUnderlined/1

链接到此函数

setWeight(This, Weight)

查看源码
-spec setWeight(This, Weight) -> ok when This :: wxFont(), Weight :: wx:wx_enum().

设置字体粗细。

请参阅:getWeight/1