檢視原始碼 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