package Desc_Properties is new Generic_Internal_Boxed_Property (Pango_Font_Description, Get_Type, To_Address);
type Pango_Font_Record is new Glib.Object.GObject_Record with null record;
type Pango_Font_Description is new Glib.C_Proxy;
type Pango_Language is new Glib.C_Proxy;
type Pango_Font_Metrics is new Glib.C_Proxy;
type Pango_Font is access all Pango_Font_Record'Class;
type Property_Font_Description is new Desc_Properties.Property;
function Get_Type return Glib.GType;
function Copy
( | Desc | : Pango_Font_Description) return Pango_Font_Description; |
function Equal
( | Desc1 | : Pango_Font_Description; |
Desc2 | : Pango_Font_Description) return Boolean; |
function From_String
( | Str | : String) return Pango_Font_Description; |
function To_Font_Description
( | Family_Name | : String := ""; |
Style | : Pango.Enums.Style := Pango.Enums.Pango_Style_Normal; | |
Variant | : Pango.Enums.Variant := Pango.Enums.Pango_Variant_Normal; | |
Weight | : Pango.Enums.Weight := Pango.Enums.Pango_Weight_Normal; | |
Stretch | : Pango.Enums.Stretch := Pango.Enums.Pango_Stretch_Normal; | |
Size | : Gint := 0) return Pango_Font_Description; |
function To_String
( | Desc | : Pango_Font_Description) return String; |
function To_Filename
( | Desc | : Pango_Font_Description) return String; |
function Get_Family
( | Desc | : Pango_Font_Description) return String; |
procedure Set_Family
( | Desc | : Pango_Font_Description; |
Name | : String); |
function Get_Style
( | Desc | : Pango_Font_Description) return Pango.Enums.Style; |
procedure Set_Style
( | Desc | : Pango_Font_Description; |
Style | : Pango.Enums.Style); |
function Get_Variant
( | Desc | : Pango_Font_Description) return Pango.Enums.Variant; |
procedure Set_Variant
( | Desc | : Pango_Font_Description; |
Variant | : Pango.Enums.Variant); |
function Get_Weight
( | Desc | : Pango_Font_Description) return Pango.Enums.Weight; |
procedure Set_Weight
( | Desc | : Pango_Font_Description; |
Weight | : Pango.Enums.Weight); |
function Get_Stretch
( | Desc | : Pango_Font_Description) return Pango.Enums.Stretch; |
procedure Set_Stretch
( | Desc | : Pango_Font_Description; |
Stretch | : Pango.Enums.Stretch); |
function Get_Size
( | Desc | : Pango_Font_Description) return Gint; |
procedure Set_Size
( | Desc | : Pango_Font_Description; |
Size | : Gint); |
function Pango_Language_Get_Type return Glib.GType;
function From_String
( | Language | : String) return Pango_Language; |
function Get_Metrics
( | Font | : access Pango_Font_Record'Class; |
Language | : Pango_Language := null) return Pango_Font_Metrics; |
procedure Ref
( | Metrics | : Pango_Font_Metrics); |
procedure Unref
( | Metrics | : Pango_Font_Metrics); |
function Get_Ascent
( | Metrics | : Pango_Font_Metrics) return Gint; |
function Get_Descent
( | Metrics | : Pango_Font_Metrics) return Gint; |
function Get_Approximate_Char_Width
( | Metrics | : Pango_Font_Metrics) return Gint; |
function Get_Approximate_Digit_Width
( | Metrics | : Pango_Font_Metrics) return Gint; |
function Font_Metrics_Get_Type return Glib.GType;
function To_Address
( | F | : Pango_Font_Description; |
Add | : System.Address) return System.Address; |
This package provides high-level, system-independent handling of fonts. It supercedes the old Gdk.Font package, which should no longer be used.
Fonts are defined through several attributes, like their family, weight, size, style, ...
The Pango_Font_Description objects created by this package can either be used directly to draw text through Pango.Layout.Pango_Layout objects (and the associated Gdk.Drawable.Draw_Layout procedure), or by converting them to a Gdk_Font. The first method is the preferred one, and provides high-level handling of multi-line texts or tabs, when you have to handle this yourself in the second case.