Pango::Font Class Reference

A Pango::Font is used to represent a font in a rendering-system-independent matter. More...

Inheritance diagram for Pango::Font:
[legend]
Collaboration diagram for Pango::Font:
[legend]

List of all members.

## Public Member Functions

virtual | ~Font ()
PangoFont* | gobj ()
| Provides access to the underlying C GObject.
const PangoFont* | gobj () const
| Provides access to the underlying C GObject.
PangoFont* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
FontDescription | describe () const
| Returns a description of the font, with font size set in points.
FontDescription | describe_with_absolute_size () const
| Returns a description of the font, with absolute font size set (in device units).
Glib::RefPtr< Coverage > | get_coverage (const Language& language) const
| Computes the coverage map for a given font and language tag.
FontMetrics | get_metrics () const
| Gets overall metric information for a font.
FontMetrics | get_metrics (const Language& language) const
| Gets overall metric information for a font.
void | get_glyph_extents (Glyph glyph, Rectangle& ink_rect, Rectangle& logical_rect) const
| Gets the logical and ink extents of a glyph within a font.
Glib::RefPtr< FontMap > | get_font_map ()
| Gets the font map for which the font was created.
Glib::RefPtr< const FontMap > | get_font_map () const
| Gets the font map for which the font was created.
Rectangle | get_glyph_ink_extents (Glyph glyph) const
| Get the ink extents of a glyph within the font.
Rectangle | get_glyph_logical_extents (Glyph glyph) const
| Gets the logical extents of a glyph within the font.

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Pango::Font > | wrap (PangoFont* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

A Pango::Font is used to represent a font in a rendering-system-independent matter.

## Constructor & Destructor Documentation

virtual Pango::Font::~Font | ( |  | ) | `[virtual]`

## Member Function Documentation

FontDescription Pango::Font::describe | ( |  | ) | const

Returns a description of the font, with font size set in points.

Use describe_with_absolute_size() if you want the font size in device units.

Returns:
  A newly-allocated Pango::FontDescription object.

FontDescription Pango::Font::describe_with_absolute_size | ( |  | ) | const

Returns a description of the font, with absolute font size set (in device units).

Use describe() if you want the font size in points.

Since pangomm 1.14:

Returns:
  A newly-allocated Pango::FontDescription object.

Glib::RefPtr<Coverage> Pango::Font::get_coverage | ( | const Language& | language | ) | const

Computes the coverage map for a given font and language tag.

Parameters:

  language | The language tag.

Returns:
  A newly-allocated Pango::Coverage object.

Glib::RefPtr<FontMap> Pango::Font::get_font_map | ( |  | ) |

Gets the font map for which the font was created.

Note that the font maintains a <firstterm>weak</firstterm> reference to the font map, so if all references to font map are dropped, the font map will be finalized even if there are fonts created with the font map that are still alive. In that case this function will return `0`. It is the responsibility of the user to ensure that the font map is kept alive. In most uses this is not an issue as a Pango::Context holds a reference to the font map.

Since pangomm 1.10:

Returns:
  The Pango::FontMap for the font, or `0` if font is `0`.

Glib::RefPtr<const FontMap> Pango::Font::get_font_map | ( |  | ) | const

Gets the font map for which the font was created.

Note that the font maintains a <firstterm>weak</firstterm> reference to the font map, so if all references to font map are dropped, the font map will be finalized even if there are fonts created with the font map that are still alive. In that case this function will return `0`. It is the responsibility of the user to ensure that the font map is kept alive. In most uses this is not an issue as a Pango::Context holds a reference to the font map.

Since pangomm 1.10:

Returns:
  The Pango::FontMap for the font, or `0` if font is `0`.

void Pango::Font::get_glyph_extents | ( | Glyph | glyph,
|  | Rectangle& | ink_rect,
|  | Rectangle& | logical_rect
| ) |  | const

Gets the logical and ink extents of a glyph within a font.

The coordinate system for each rectangle has its origin at the base line and horizontal origin of the character with increasing coordinates extending to the right and down. The macros PANGO_ASCENT(), PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING can be used to convert from the extents rectangle to more traditional font metrics. The units of the rectangles are in 1/PANGO_SCALE of a device unit.

Parameters:

  glyph | The glyph index.
  ink_rect | Rectangle used to store the extents of the glyph as drawn.
  logical_rect | Rectangle used to store the logical extents of the glyph.

Rectangle Pango::Font::get_glyph_ink_extents | ( | Glyph | glyph | ) | const

Get the ink extents of a glyph within the font.

Parameters:

  glyph | The glyph index.

Returns:
  The extents of the glyph as drawn.

Rectangle Pango::Font::get_glyph_logical_extents | ( | Glyph | glyph | ) | const

Gets the logical extents of a glyph within the font.

Parameters:

  glyph | The glyph index.

Returns:
  The logical extents of the glyph.

FontMetrics Pango::Font::get_metrics | ( | const Language& | language | ) | const

Gets overall metric information for a font.

Since the metrics may be substantially different for different scripts, a language tag can be provided to indicate that the metrics should be retrieved that correspond to the script(s) used by that language.

Parameters:

  language | Language tag used to determine which script to get the metrics for.

Returns:
  A Pango::Metrics object.

FontMetrics Pango::Font::get_metrics | ( |  | ) | const

Gets overall metric information for a font.

The metrics may be substantially different for different scripts. However, this function overload returns the metrics for the entire font.

const PangoFont* Pango::Font::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

PangoFont* Pango::Font::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

PangoFont* Pango::Font::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

## Friends And Related Function Documentation

Glib::RefPtr< Pango::Font > wrap | ( | PangoFont * | object,
|  | bool | take_copy = `false`
| ) |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- pangomm/font.h