pangomm: Pango::FontMap Class Reference

pangomm 2.52.0

Public Member Functions | Static Public Member Functions | Related Functions | List of all members
Pango::FontMap Class Reference

A Pango::FontMap represents the set of fonts available for a particular rendering system. More...

`#include <pangomm/fontmap.h>`

Inheritance diagram for Pango::FontMap:
[legend]

## Public Member Functions
| FontMap (FontMap && src) noexcept
FontMap & | operator= (FontMap && src) noexcept
| ~FontMap () noexcept override
PangoFontMap * | gobj ()
| Provides access to the underlying C GObject. More...
const PangoFontMap * | gobj () const
| Provides access to the underlying C GObject. More...
PangoFontMap * | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
Glib::RefPtr< Font > | load_font (const Glib::RefPtr< Context > & context, const FontDescription & desc) const
| Load the font in the fontmap that is the closest match for desc. More...
Glib::RefPtr< Fontset > | load_fontset (const Glib::RefPtr< Context > & context, const FontDescription & desc, const Language & language) const
| Load a set of fonts in the fontmap that can be used to render a font matching desc. More...
Glib::RefPtr< Context > | create_context ()
| Creates a `Pango::Context` connected to fontmap. More...
std::vector< Glib::RefPtr< FontFamily > > | list_families () const
| List all families for the fontmap. More...
guint | get_serial () const
| Returns the current serial number of fontmap. More...
Glib::RefPtr< FontFamily > | get_family (const Glib::ustring & name)
| Gets a font family by name. More...
Glib::RefPtr< const FontFamily > | get_family (const Glib::ustring & name) const
| Gets a font family by name. More...
Glib::RefPtr< Font > | reload_font (const Glib::RefPtr< Font > & font, double scale, const Glib::RefPtr< Context > & context={}, const Glib::ustring & variations={}) const
| Returns a new font that is like font, except that its size is multiplied by scale, its backend-dependent configuration (e.g. cairo font options) is replaced by the one in context, and its variations are replaced by variations. More...
Glib::PropertyProxy_ReadOnly< GType > | property_item_type () const
| The type of items contained in this list. More...
Glib::PropertyProxy_ReadOnly< unsigned int > | property_n_items () const
| The number of items contained in this list. More...
Public Member Functions inherited from Glib::Object
| Object (const Object &)=delete
Object & | operator= (const Object &)=delete
| Object (Object &&src) noexcept
Object & | operator= (Object &&src) noexcept
void * | get_data (const QueryQuark &key)
void | set_data (const Quark &key, void *data)
void | set_data_with_c_callback (const Quark &key, void *data, GDestroyNotify notify)
void | set_data (const Quark &key, void *data, DestroyNotify notify)
void | remove_data (const QueryQuark &quark)
void * | steal_data (const QueryQuark &quark)
Glib::RefPtr< Glib::Object > | wrap (GObject *object, bool take_copy=false)
Public Member Functions inherited from Glib::ObjectBase
| ObjectBase (const ObjectBase &)=delete
ObjectBase & | operator= (const ObjectBase &)=delete
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
void | set_property (const Glib::ustring &property_name, const PropertyType &value)
void | get_property (const Glib::ustring &property_name, PropertyType &value) const
PropertyType | get_property (const Glib::ustring &property_name) const
sigc::connection | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot)
sigc::connection | connect_property_changed (const Glib::ustring &property_name, sigc::slot< void()> &&slot)
void | freeze_notify ()
void | thaw_notify ()
virtual void | reference () const
virtual void | unreference () const
GObject * | gobj ()
const GObject * | gobj () const
GObject * | gobj_copy () const
Public Member Functions inherited from sigc::trackable
| trackable () noexcept
| trackable (const trackable &src) noexcept
| trackable (trackable &&src) noexcept
| ~trackable ()
void | add_destroy_notify_callback (notifiable *data, func_destroy_notify func) const
void | notify_callbacks ()
trackable & | operator= (const trackable &src)
trackable & | operator= (trackable &&src) noexcept
void | remove_destroy_notify_callback (notifiable *data) const
Public Member Functions inherited from Gio::ListModel
| ListModel (ListModel &&src) noexcept
ListModel & | operator= (ListModel &&src) noexcept
| ~ListModel () noexcept override
GListModel * | gobj ()
const GListModel * | gobj () const
GType | get_item_type () const
guint | get_n_items () const
Glib::RefPtr< Glib::ObjectBase > | get_object (guint position)
Glib::RefPtr< const Glib::ObjectBase > | get_object (guint position) const
Glib::RefPtr< T_item > | get_typed_object (guint position)
Glib::RefPtr< const T_item > | get_typed_object (guint position) const
Glib::SignalProxy< void(guint, guint, guint)> | signal_items_changed ()
Glib::RefPtr< Gio::ListModel > | wrap (GListModel *object, bool take_copy=false)
Public Member Functions inherited from Glib::Interface
| Interface ()
| Interface (Interface &&src) noexcept
Interface & | operator= (Interface &&src) noexcept
| Interface (const Glib::Interface_Class &interface_class)
| Interface (GObject *castitem)
| ~Interface () noexcept override
| Interface (const Interface &)=delete
Interface & | operator= (const Interface &)=delete
GObject * | gobj ()
const GObject * | gobj () const

## Static Public Member Functions
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
Static Public Member Functions inherited from Gio::ListModel
static void | add_interface (GType gtype_implementer)
static GType | get_type ()

## Related Functions
(Note that these are not member functions.)
Glib::RefPtr< Pango::FontMap > | wrap (PangoFontMap * object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Additional Inherited Members
Public Types inherited from Glib::Object
typedef void(*)(gpointer data | DestroyNotify)
Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify | func_destroy_notify
Public Types inherited from sigc::notifiable
typedef internal::func_destroy_notify | func_destroy_notify
Protected Member Functions inherited from Glib::Object
| Object ()
| Object (const Glib::ConstructParams &construct_params)
| Object (GObject *castitem)
| ~Object () noexcept override
Protected Member Functions inherited from Glib::ObjectBase
| ObjectBase ()
| ObjectBase (const char *custom_type_name)
| ObjectBase (const std::type_info &custom_type_info)
| ObjectBase (ObjectBase &&src) noexcept
ObjectBase & | operator= (ObjectBase &&src) noexcept
virtual | ~ObjectBase () noexcept=0
void | initialize (GObject *castitem)
void | initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
Protected Member Functions inherited from Gio::ListModel
| ListModel ()
void | items_changed (guint position, guint removed, guint added)
virtual GType | get_item_type_vfunc ()
virtual guint | get_n_items_vfunc ()
virtual gpointer | get_item_vfunc (guint position)

## Detailed Description

A Pango::FontMap represents the set of fonts available for a particular rendering system.

This is an abstract base class with implementations being specific to particular rendering systems.

See also
  Pango::CairoFontMap::get_default()

## Constructor & Destructor Documentation

## ◆ FontMap()

Pango::FontMap::FontMap | ( | FontMap && | src | ) |
| noexcept

## ◆ ~FontMap()

Pango::FontMap::~FontMap | ( |  | ) |
| overridenoexcept

## Member Function Documentation

## ◆ create_context()

Glib::RefPtr< Context > Pango::FontMap::create_context | ( |  | ) |

Creates a `Pango::Context` connected to fontmap.

This is equivalent to Pango::Context::new() followed by Pango::Context::set_font_map().

If you are using Pango as part of a higher-level system, that system may have it's own way of create a `Pango::Context`. For instance, the GTK toolkit has, among others, gtk_widget_get_pango_context(). Use those instead.

Since pangomm 1.22:

Returns
  The newly allocated `Pango::Context`, which should be freed with Glib::object_unref().

## ◆ get_family() [1/2]

Glib::RefPtr< FontFamily > Pango::FontMap::get_family | ( | const Glib::ustring & | name | ) |

Gets a font family by name.

Since pangomm 2.50:

Parameters

  name | A family name.

Returns
  The `Pango::FontFamily`.

## ◆ get_family() [2/2]

Glib::RefPtr< const FontFamily > Pango::FontMap::get_family | ( | const Glib::ustring & | name | ) | const

Gets a font family by name.

Since pangomm 2.50:

Parameters

  name | A family name.

Returns
  The `Pango::FontFamily`.

## ◆ get_serial()

guint Pango::FontMap::get_serial | ( |  | ) | const

Returns the current serial number of fontmap.

The serial number is initialized to an small number larger than zero when a new fontmap is created and is increased whenever the fontmap is changed. It may wrap, but will never have the value 0. Since it can wrap, never compare it with "less than", always use "not equals".

The fontmap can only be changed using backend-specific API, like changing fontmap resolution.

This can be used to automatically detect changes to a `Pango::FontMap`, like in `Pango::Context`.

Since pangomm 1.32.4:

Returns
  The current serial number of fontmap.

## ◆ get_type()

static GType Pango::FontMap::get_type | ( |  | ) |
| static

Get the GType for this class, for use with the underlying GObject type system.

## ◆ gobj() [1/2]

PangoFontMap * Pango::FontMap::gobj | ( |  | ) |
| inline

Provides access to the underlying C GObject.

## ◆ gobj() [2/2]

const PangoFontMap * Pango::FontMap::gobj | ( |  | ) | const
| inline

Provides access to the underlying C GObject.

## ◆ gobj_copy()

PangoFontMap * Pango::FontMap::gobj_copy | ( |  | ) |

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

## ◆ list_families()

std::vector< Glib::RefPtr< FontFamily > > Pango::FontMap::list_families | ( |  | ) | const

List all families for the fontmap.

Returns
  an array of pointers to Pango::FontFamily objects.

## ◆ load_font()

Glib::RefPtr< Font > Pango::FontMap::load_font | ( | const Glib::RefPtr< Context > & | context,
|  | const FontDescription & | desc
| ) |  | const

Load the font in the fontmap that is the closest match for desc.

Parameters

  context | The `Pango::Context` the font will be used with.
  desc | A `Pango::FontDescription` describing the font to load.

Returns
  The newly allocated `Pango::Font` loaded, or `nullptr` if no font matched.

## ◆ load_fontset()

Glib::RefPtr< Fontset > Pango::FontMap::load_fontset | ( | const Glib::RefPtr< Context > & | context,
|  | const FontDescription & | desc,
|  | const Language & | language
| ) |  | const

Load a set of fonts in the fontmap that can be used to render a font matching desc.

Parameters

  context | The `Pango::Context` the font will be used with.
  desc | A `Pango::FontDescription` describing the font to load.
  language | A `Pango::Language` the fonts will be used for.

Returns
  The newly allocated `Pango::Fontset` loaded, or `nullptr` if no font matched.

## ◆ operator=()

FontMap & Pango::FontMap::operator= | ( | FontMap && | src | ) |
| noexcept

## ◆ property_item_type()

Glib::PropertyProxy_ReadOnly< GType > Pango::FontMap::property_item_type | ( |  | ) | const

The type of items contained in this list.

Since pangomm 2.52:

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## ◆ property_n_items()

Glib::PropertyProxy_ReadOnly< unsigned int > Pango::FontMap::property_n_items | ( |  | ) | const

The number of items contained in this list.

Since pangomm 2.52:

Default value: 0

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## ◆ reload_font()

Glib::RefPtr< Font > Pango::FontMap::reload_font | ( | const Glib::RefPtr< Font > & | font,
|  | double | scale,
|  | const Glib::RefPtr< Context > & | context = `{}`,
|  | const Glib::ustring & | variations = `{}`
| ) |  | const

Returns a new font that is like font, except that its size is multiplied by scale, its backend-dependent configuration (e.g. cairo font options) is replaced by the one in context, and its variations are replaced by variations.

Since pangomm 1.52:

Parameters

  font | A font in fontmap.
  scale | The scale factor to apply.
  context | A `Pango::Context`.
  variations | Font variations to use.

Returns
  The modified font.

## Friends And Related Function Documentation

## ◆ wrap()

Glib::RefPtr< Pango::FontMap > wrap | ( | PangoFontMap * | 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.