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

銷毀物件

-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 中未實作)函式。

-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