### Class

# PangoOT Ruleset

#### Description [src]

    final class PangoOT.Ruleset : GObject.Object
    {
      /* No available fields */
    }

The `PangoOTRuleset` structure holds a set of features selected from the tables in an OpenType font.

A feature is an operation such as adjusting glyph positioning that should be applied to a text feature such as a certain type of accent.

A `PangoOTRuleset` is created with `pango_ot_ruleset_new()`, features are added to it with `pango_ot_ruleset_add_feature()`, then it is applied to a `PangoGlyphString` with `pango_ot_ruleset_position()`.

#### Ancestors

- GObject

#### Constructors

###### pango_ot_ruleset_new

Creates a new `PangoOTRuleset` for the given OpenType info.

###### pango_ot_ruleset_new_for

Creates a new `PangoOTRuleset` for the given OpenType info, script, and language.

since: 1.18

###### pango_ot_ruleset_new_from_description

Creates a new `PangoOTRuleset` for the given OpenType info and matching the given ruleset description.

since: 1.18

#### Functions

###### pango_ot_ruleset_get_for_description

Returns a ruleset for the given OpenType info and ruleset description.

since: 1.18

#### Instance methods

###### pango_ot_ruleset_add_feature

Adds a feature to the ruleset.

###### pango_ot_ruleset_get_feature_count

Gets the number of GSUB and GPOS features in the ruleset.

since: 1.18

###### pango_ot_ruleset_maybe_add_feature

This is a convenience function that first tries to find the feature using `pango_ot_info_find_feature()` and the ruleset script and language passed to `pango_ot_ruleset_new_for()` and if the feature is found, adds it to the ruleset.

since: 1.18

###### pango_ot_ruleset_maybe_add_features

This is a convenience function that for each feature in the feature map array `features` converts the feature name to a `PangoOTTag` feature tag using PANGO_OT_TAG_MAKE() and calls `pango_ot_ruleset_maybe_add_feature()` on it.

since: 1.18

###### pango_ot_ruleset_position

Performs the OpenType GPOS positioning on `buffer` using the features in `ruleset`.

since: 1.4

###### pango_ot_ruleset_substitute

Performs the OpenType GSUB substitution on `buffer` using the features in `ruleset`.

since: 1.4

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.