class X11::FontStruct
- X11::FontStruct
- Reference
- Object
Defined in:
x11/font_struct.crConstructors
Instance Method Summary
- #display : Display
- #finalize
- #font_struct : X::PFontStruct
-
#name : String
Returns the font's name.
-
#property(atom : Atom | X11::C::Atom) : Atom | X11::C::Atom | Bool
Returns the value of the specified font property.
- #property_name(atom : Atom | X11::C::Atom)
-
#text_extents(string : String) : NamedTuple(direction: Int32, font_ascent: Int32, font_descent: Int32, overall: CharStruct, res: Int32)
Performs the size computation locally.
-
#text_extents_16(string : Array(X11::C::X::Char2b)) : NamedTuple(direction: Int32, font_ascent: Int32, font_descent: Int32, overall: CharStruct, res: Int32)
Performs the size computation locally.
-
#text_width(string : String) : Int32
Determines the width of an 8-bit character string.
-
#text_width_16(string : Array(X11::C::X::Char2b)) : Int32
Determines the width of an 16-bit character string.
- #to_unsafe : X11::C::X::PFontStruct
- #to_x : X11::C::X::FontStruct
Constructor Detail
Instance Method Detail
Returns the value of the specified font property.
###Arguments
- atom Specifies the atom for the property name you want returned.
###Description Given the atom for that property, the property() function returns the value of the specified font property. property() also returns false if the property was not defined or true if it was defined. A set of predefined atoms exists for font properties, which can be found in x11/atom.cr . This set contains the standard properties associated with a font. Although it is not guaranteed, it is likely that the predefined font properties will be present.
###See also
Display::create_gc
, #finalize
, Display::fonts
, Display::load_font
,
Display::load_query_font
, Display::query_font
,
Display::set_font_path
, Display::unload_font
.
Performs the size computation locally.
###Arguments
- string Specifies the character string.
###Returns
- direction Returns the value of the direction hint (FontLeftToRight or FontRightToLeft).
- font_ascent Returns the font ascent.
- font_descent Returns the font descent.
- overall Returns the overall size in the specified
CharStruct
structure.
###Description
The #text_extents
function performs the size computation locally and,
thereby, avoid the round-trip overhead of query_text_extents
and
query_text_extents_16
. The function returns an CharStruct
structure,
whose members are set to the values as follows.
The ascent member is set to the maximum of the ascent metrics of all characters in the string. The descent member is set to the maximum of the descent metrics. The width member is set to the sum of the character-width metrics of all characters in the string. For each character in the string, let W be the sum of the character-width metrics of all characters preceding it in the string. Let L be the left-side-bearing metric of the character plus W. Let R be the right-side-bearing metric of the character plus W. The lbearing member is set to the minimum L of all characters in the string. The rbearing member is set to the maximum R.
For fonts defined with linear indexing rather than 2-byte matrix indexing,
each X11::C::X::Char2b
structure is interpreted as a 16-bit number with
byte1 as the most-significant byte. If the font has no defined default
character, undefined characters in the string are taken to have all zero metrics.
###See also
Display::query_text_extents
, Display::query_text_extents_16
, #text_extents_16
.
Performs the size computation locally.
###Arguments
- string Specifies the character string.
###Returns
- direction Returns the value of the direction hint (FontLeftToRight or FontRightToLeft).
- font_ascent Returns the font ascent.
- font_descent Returns the font descent.
- overall Returns the overall size in the specified
CharStruct
structure.
###Description
The #text_extents_16
function performs the size computation locally and,
thereby, avoid the round-trip overhead of query_text_extents
and
query_text_extents_16
. The function returns an CharStruct
structure,
whose members are set to the values as follows.
The ascent member is set to the maximum of the ascent metrics of all characters in the string. The descent member is set to the maximum of the descent metrics. The width member is set to the sum of the character-width metrics of all characters in the string. For each character in the string, let W be the sum of the character-width metrics of all characters preceding it in the string. Let L be the left-side-bearing metric of the character plus W. Let R be the right-side-bearing metric of the character plus W. The lbearing member is set to the minimum L of all characters in the string. The rbearing member is set to the maximum R.
For fonts defined with linear indexing rather than 2-byte matrix indexing,
each X1::C::X::Char2b
structure is interpreted as a 16-bit number with
byte1 as the most-significant byte. If the font has no defined default
character, undefined characters in the string are taken to have all zero metrics.
###See also
Display::query_text_extents
, Display::query_text_extents_16
, #text_extents
.
Determines the width of an 8-bit character string.
###Arguments
- string Specifies the character string.
###See also
#text_width_16
, Display::load_font
, #text_extents
.
Determines the width of an 16-bit character string.
###Arguments
- string Specifies the character string.
###See also
#text_width
, Display::load_font
, #text_extents
.