查看源码 wxFont (wx v2.4.3)
字体是一个决定文本外观的对象。
字体用于在设备上下文上绘制文本,以及设置窗口文本的外观,请参阅 wxDC:setFont/2
和 wxWindow: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。
默认构造函数。
复制构造函数,使用引用计数。
使用指定的属性和像素大小创建字体对象。
设置默认字体编码。
设置字体的字体名称。
设置字体系列。
将字体大小(以磅为单位)设置为整数值。
设置字体样式。
设置字体粗细。
类型
-type wxFont() :: wx:wx_object().
函数
-spec destroy(This :: wxFont()) -> ok.
销毁对象
-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
-spec getNativeFontInfoDesc(This) -> unicode:charlist() when This :: wxFont().
返回完全描述此字体的平台相关字符串。
返回的字符串始终为非空,除非字体无效(在这种情况下会触发断言)。
请注意,返回的字符串并不意味着要由用户显示或编辑:此函数的典型用途是将 wxFont
对象序列化为字符串形式。
-spec getNativeFontInfoUserDesc(This) -> unicode:charlist() when This :: wxFont().
返回此字体对象的易于用户理解的字符串。
返回的字符串始终为非空,除非字体无效(在这种情况下会触发断言)。
该字符串并不编码所有平台下的所有 wxFont
信息;例如,在 wxMSW 下,返回的字符串中不存在字体系列。
返回的字符串格式的一些示例(与平台相关)在 SetNativeFontInfoUserDesc()
(在 wx 中未实现)中。
将点大小获取为整数。
保留此函数是为了兼容性原因。新代码应使用 GetFractionalPointSize()
(在 wx 中未实现)并支持小数磅值大小。
请参阅:setPointSize/2
-spec getStyle(This) -> wx:wx_enum() when This :: wxFont().
获取字体样式。
请参阅 ?wxFontStyle 获取有效样式的列表。
请参阅:setStyle/2
如果字体有下划线,则返回 true;否则返回 false。
请参阅:setUnderlined/2
-spec getWeight(This) -> wx:wx_enum() when This :: wxFont().
获取字体粗细。
请参阅 ?wxFontWeight 获取有效粗细标识符的列表。
请参阅:setWeight/2
如果字体是固定宽度(或等宽)字体,则返回 true;如果是比例字体或字体无效,则返回 false。
请注意,此函数在某些平台下与仅仅测试字体系列是否等于 wxFONTFAMILY_TELETYPE
不同,因为本地平台特定的函数用于检查(从而产生更准确的返回值)。
如果此对象是有效的字体,则返回 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 字体。
等效于:isOk/1
-spec setDefaultEncoding(Encoding) -> ok when Encoding :: wx:wx_enum().
设置默认字体编码。
请参阅
-spec setFaceName(This, FaceName) -> boolean() when This :: wxFont(), FaceName :: unicode:chardata().
设置字体的字体名称。
备注:为了避免可移植性问题,请不要依赖特定的字体名称,而是指定字体系列(请参阅 ?wxFontFamily 和 setFamily/2
)。
返回:如果给定字体名称存在,则返回 true;如果用户的系统中不存在字体名称,则字体无效(因此 isOk/1
将返回 false),并返回 false。
请参阅
-spec setFamily(This, Family) -> ok when This :: wxFont(), Family :: wx:wx_enum().
设置字体系列。
如 ?wxFontFamily 文档中所述,给定的 family
值充当字体主要属性(外观、间距)的基本指示。
请注意,更改字体系列会导致更改字体名称。
请参阅
将字体大小(以磅为单位)设置为整数值。
这是仅支持整数磅值的函数的旧版本。它仍然可以使用,但为了避免不必要地将字体大小(以磅为单位)限制为整数值,请考虑使用新的(在 wxWidgets 3.1.2 中添加的)SetFractionalPointSize()
(在 wx 中未实现)函数。
-spec setStyle(This, Style) -> ok when This :: wxFont(), Style :: wx:wx_enum().
设置字体样式。
请参阅:getStyle/1
设置下划线。
请参阅:getUnderlined/1
-spec setWeight(This, Weight) -> ok when This :: wxFont(), Weight :: wx:wx_enum().
设置字体粗细。
请参阅:getWeight/1