pangomm 2.56.2

Classes | Typedefs | Enumerations | Functions
pangomm Enums and Flags

## Classes
class | Pango::BaselineShift_Wrapper
| Wrapper for enum BaselineShift. More...
class | Pango::Weight_Wrapper
| Wrapper for enum Weight. More...

## Typedefs
using | Pango::BaselineShift = BaselineShift_Wrapper::BaselineShift
| BaselineShift enumerators are scoped by the wrapper class and can be implicitly converted to int.
using | Pango::Weight = Weight_Wrapper::Weight
| Weight enumerators are scoped by the wrapper class and can be implicitly converted to int.

## Enumerations
enum class | Pango::AttrType { Pango::AttrType::INVALID , Pango::AttrType::LANGUAGE , Pango::AttrType::FAMILY , Pango::AttrType::STYLE , Pango::AttrType::WEIGHT , Pango::AttrType::VARIANT , Pango::AttrType::STRETCH , Pango::AttrType::SIZE , Pango::AttrType::FONT_DESC , Pango::AttrType::FOREGROUND , Pango::AttrType::BACKGROUND , Pango::AttrType::UNDERLINE , Pango::AttrType::STRIKETHROUGH , Pango::AttrType::RISE , Pango::AttrType::SHAPE , Pango::AttrType::SCALE_FACTOR , Pango::AttrType::FALLBACK , Pango::AttrType::LETTER_SPACING , Pango::AttrType::UNDERLINE_COLOR , Pango::AttrType::STRIKETHROUGH_COLOR , Pango::AttrType::ABSOLUTE_SIZE , Pango::AttrType::GRAVITY , Pango::AttrType::GRAVITY_HINT , Pango::AttrType::FONT_FEATURES , Pango::AttrType::FOREGROUND_ALPHA , Pango::AttrType::BACKGROUND_ALPHA , Pango::AttrType::ALLOW_BREAKS , Pango::AttrType::SHOW , Pango::AttrType::INSERT_HYPHENS , Pango::AttrType::OVERLINE , Pango::AttrType::OVERLINE_COLOR , Pango::AttrType::LINE_HEIGHT , Pango::AttrType::ABSOLUTE_LINE_HEIGHT , Pango::AttrType::TEXT_TRANSFORM , Pango::AttrType::WORD , Pango::AttrType::SENTENCE , Pango::AttrType::BASELINE_SHIFT , Pango::AttrType::FONT_SCALE }
| The Pango::AttrType distinguishes between different types of attributes. More...
enum class | Pango::Underline { Pango::Underline::NONE , Pango::Underline::SINGLE , Pango::Underline::DOUBLE , Pango::Underline::LOW , Pango::Underline::ERROR , Pango::Underline::SINGLE_LINE , Pango::Underline::DOUBLE_LINE , Pango::Underline::ERROR_LINE }
| The Pango::Underline enumeration is used to specify whether text should be underlined, and if so, the type of underlining. More...
enum class | Pango::Overline { Pango::Overline::NONE , Pango::Overline::SINGLE }
| The Pango::Overline enumeration is used to specify whether text should be overlined, and if so, the type of line. More...
enum class | Pango::ShowFlags { Pango::ShowFlags::NONE = 0x0 , Pango::ShowFlags::SPACES = 1 << 0 , Pango::ShowFlags::LINE_BREAKS = 1 << 1 , Pango::ShowFlags::IGNORABLES = 1 << 2 }
| These flags affect how Pango treats characters that are normally not visible in the output. More...
enum class | Pango::TextTransform { Pango::TextTransform::NONE , Pango::TextTransform::LOWERCASE , Pango::TextTransform::UPPERCASE , Pango::TextTransform::CAPITALIZE }
| An enumeration that affects how Pango treats characters during shaping. More...
enum | Pango::BaselineShift_Wrapper::BaselineShift { Pango::BaselineShift_Wrapper::NONE , Pango::BaselineShift_Wrapper::SUPERSCRIPT , Pango::BaselineShift_Wrapper::SUBSCRIPT }
| An enumeration that affects baseline shifts between runs. More...
enum class | Pango::FontScale { Pango::FontScale::NONE , Pango::FontScale::SUPERSCRIPT , Pango::FontScale::SUBSCRIPT , Pango::FontScale::SMALL_CAPS }
| An enumeration that affects font sizes for superscript and subscript positioning and for (emulated) Small Caps. More...
enum class | Pango::Direction { Pango::Direction::LTR , Pango::Direction::RTL , Pango::Direction::TTB_LTR , Pango::Direction::TTB_RTL , Pango::Direction::WEAK_LTR , Pango::Direction::WEAK_RTL , Pango::Direction::NEUTRAL }
| Pango::Direction represents a direction in the Unicode bidirectional algorithm. More...
enum class | Pango::GravityHint { Pango::GravityHint::NATURAL , Pango::GravityHint::STRONG , Pango::GravityHint::LINE }
| Pango::GravityHint defines how horizontal scripts should behave in a vertical context. More...
enum class | Pango::Coverage::Level { Pango::Coverage::Level::NONE , Pango::Coverage::Level::FALLBACK , Pango::Coverage::Level::APPROXIMATE , Pango::Coverage::Level::EXACT }
| Pango::CoverageLevel is used to indicate how well a font can represent a particular Unicode character for a particular script. More...
enum class | Pango::Style { Pango::Style::NORMAL , Pango::Style::OBLIQUE , Pango::Style::ITALIC }
| An enumeration specifying the various slant styles possible for a font. More...
enum class | Pango::Variant { Pango::Variant::NORMAL , Pango::Variant::SMALL_CAPS , Pango::Variant::ALL_SMALL_CAPS , Pango::Variant::PETITE_CAPS , Pango::Variant::ALL_PETITE_CAPS , Pango::Variant::UNICASE , Pango::Variant::TITLE_CAPS }
| An enumeration specifying capitalization variant of the font. More...
enum class | Pango::Stretch { Pango::Stretch::ULTRA_CONDENSED , Pango::Stretch::EXTRA_CONDENSED , Pango::Stretch::CONDENSED , Pango::Stretch::SEMI_CONDENSED , Pango::Stretch::NORMAL , Pango::Stretch::SEMI_EXPANDED , Pango::Stretch::EXPANDED , Pango::Stretch::EXTRA_EXPANDED , Pango::Stretch::ULTRA_EXPANDED }
| An enumeration specifying the width of the font relative to other designs within a family. More...
enum | Pango::Weight_Wrapper::Weight { Pango::Weight_Wrapper::THIN = 100 , Pango::Weight_Wrapper::ULTRALIGHT = 200 , Pango::Weight_Wrapper::LIGHT = 300 , Pango::Weight_Wrapper::SEMILIGHT = 350 , Pango::Weight_Wrapper::BOOK = 380 , Pango::Weight_Wrapper::NORMAL = 400 , Pango::Weight_Wrapper::MEDIUM = 500 , Pango::Weight_Wrapper::SEMIBOLD = 600 , Pango::Weight_Wrapper::BOLD = 700 , Pango::Weight_Wrapper::ULTRABOLD = 800 , Pango::Weight_Wrapper::HEAVY = 900 , Pango::Weight_Wrapper::ULTRAHEAVY = 1000 }
| An enumeration specifying the weight (boldness) of a font. More...
enum class | Pango::FontMask { Pango::FontMask::FAMILY = 1 << 0 , Pango::FontMask::STYLE = 1 << 1 , Pango::FontMask::VARIANT = 1 << 2 , Pango::FontMask::WEIGHT = 1 << 3 , Pango::FontMask::STRETCH = 1 << 4 , Pango::FontMask::SIZE = 1 << 5 , Pango::FontMask::GRAVITY = 1 << 6 , Pango::FontMask::VARIATIONS = 1 << 7 , Pango::FontMask::FEATURES = 1 << 8 }
| The bits in a Pango::FontMask correspond to the set fields in a Pango::FontDescription. More...
enum class | Pango::Gravity { Pango::Gravity::SOUTH , Pango::Gravity::EAST , Pango::Gravity::NORTH , Pango::Gravity::WEST , Pango::Gravity::AUTO }
| Pango::Gravity represents the orientation of glyphs in a segment of text. More...
enum class | Pango::ShapeFlags { Pango::ShapeFlags::NONE = 0x0 , Pango::ShapeFlags::ROUND_POSITIONS = 1 << 0 }
| Flags influencing the shaping process. More...
enum class | Pango::Script { Pango::Script::INVALID_CODE = -1 , Pango::Script::COMMON , Pango::Script::INHERITED , Pango::Script::ARABIC , Pango::Script::ARMENIAN , Pango::Script::BENGALI , Pango::Script::BOPOMOFO , Pango::Script::CHEROKEE , Pango::Script::COPTIC , Pango::Script::CYRILLIC , Pango::Script::DESERET , Pango::Script::DEVANAGARI , Pango::Script::ETHIOPIC , Pango::Script::GEORGIAN , Pango::Script::GOTHIC , Pango::Script::GREEK , Pango::Script::GUJARATI , Pango::Script::GURMUKHI , Pango::Script::HAN , Pango::Script::HANGUL , Pango::Script::HEBREW , Pango::Script::HIRAGANA , Pango::Script::KANNADA , Pango::Script::KATAKANA , Pango::Script::KHMER , Pango::Script::LAO , Pango::Script::LATIN , Pango::Script::MALAYALAM , Pango::Script::MONGOLIAN , Pango::Script::MYANMAR , Pango::Script::OGHAM , Pango::Script::OLD_ITALIC , Pango::Script::ORIYA , Pango::Script::RUNIC , Pango::Script::SINHALA , Pango::Script::SYRIAC , Pango::Script::TAMIL , Pango::Script::TELUGU , Pango::Script::THAANA , Pango::Script::THAI , Pango::Script::TIBETAN , Pango::Script::CANADIAN_ABORIGINAL , Pango::Script::YI , Pango::Script::TAGALOG , Pango::Script::HANUNOO , Pango::Script::BUHID , Pango::Script::TAGBANWA , Pango::Script::BRAILLE , Pango::Script::CYPRIOT , Pango::Script::LIMBU , Pango::Script::OSMANYA , Pango::Script::SHAVIAN , Pango::Script::LINEAR_B , Pango::Script::TAI_LE , Pango::Script::UGARITIC , Pango::Script::NEW_TAI_LUE , Pango::Script::BUGINESE , Pango::Script::GLAGOLITIC , Pango::Script::TIFINAGH , Pango::Script::SYLOTI_NAGRI , Pango::Script::OLD_PERSIAN , Pango::Script::KHAROSHTHI , Pango::Script::UNKNOWN , Pango::Script::BALINESE , Pango::Script::CUNEIFORM , Pango::Script::PHOENICIAN , Pango::Script::PHAGS_PA , Pango::Script::NKO , Pango::Script::KAYAH_LI , Pango::Script::LEPCHA , Pango::Script::REJANG , Pango::Script::SUNDANESE , Pango::Script::SAURASHTRA , Pango::Script::CHAM , Pango::Script::OL_CHIKI , Pango::Script::VAI , Pango::Script::CARIAN , Pango::Script::LYCIAN , Pango::Script::LYDIAN , Pango::Script::BATAK , Pango::Script::BRAHMI , Pango::Script::MANDAIC , Pango::Script::CHAKMA , Pango::Script::MEROITIC_CURSIVE , Pango::Script::MEROITIC_HIEROGLYPHS , Pango::Script::MIAO , Pango::Script::SHARADA , Pango::Script::SORA_SOMPENG , Pango::Script::TAKRI , Pango::Script::BASSA_VAH , Pango::Script::CAUCASIAN_ALBANIAN , Pango::Script::DUPLOYAN , Pango::Script::ELBASAN , Pango::Script::GRANTHA , Pango::Script::KHOJKI , Pango::Script::KHUDAWADI , Pango::Script::LINEAR_A , Pango::Script::MAHAJANI , Pango::Script::MANICHAEAN , Pango::Script::MENDE_KIKAKUI , Pango::Script::MODI , Pango::Script::MRO , Pango::Script::NABATAEAN , Pango::Script::OLD_NORTH_ARABIAN , Pango::Script::OLD_PERMIC , Pango::Script::PAHAWH_HMONG , Pango::Script::PALMYRENE , Pango::Script::PAU_CIN_HAU , Pango::Script::PSALTER_PAHLAVI , Pango::Script::SIDDHAM , Pango::Script::TIRHUTA , Pango::Script::WARANG_CITI , Pango::Script::AHOM , Pango::Script::ANATOLIAN_HIEROGLYPHS , Pango::Script::HATRAN , Pango::Script::MULTANI , Pango::Script::OLD_HUNGARIAN , Pango::Script::SIGNWRITING }
| The Pango::Script enumeration identifies different writing systems. More...
enum class | Pango::Alignment { Pango::Alignment::LEFT , Pango::Alignment::CENTER , Pango::Alignment::RIGHT }
| Pango::Alignment describes how to align the lines of a Pango::Layout within the available space. More...
enum class | Pango::WrapMode { Pango::WrapMode::WORD , Pango::WrapMode::CHAR , Pango::WrapMode::WORD_CHAR , Pango::WrapMode::NONE }
| Pango::WrapMode describes how to wrap the lines of a Pango::Layout to the desired width. More...
enum class | Pango::EllipsizeMode { Pango::EllipsizeMode::NONE , Pango::EllipsizeMode::START , Pango::EllipsizeMode::MIDDLE , Pango::EllipsizeMode::END }
| Pango::EllipsizeMode describes what sort of ellipsization should be applied to text. More...
enum class | Pango::Renderer::Part { Pango::Renderer::Part::FOREGROUND , Pango::Renderer::Part::BACKGROUND , Pango::Renderer::Part::UNDERLINE , Pango::Renderer::Part::STRIKETHROUGH , Pango::Renderer::Part::OVERLINE }
| Pango::RenderPart defines different items to render for such purposes as setting colors. More...
enum class | Pango::TabAlign { Pango::TabAlign::LEFT , Pango::TabAlign::RIGHT , Pango::TabAlign::CENTER , Pango::TabAlign::DECIMAL }
| Pango::TabAlign specifies where the text appears relative to the tab stop position. More...

## Functions
ShowFlags | Pango::operator| (ShowFlags lhs, ShowFlags rhs)
ShowFlags | Pango::operator& (ShowFlags lhs, ShowFlags rhs)
ShowFlags | Pango::operator^ (ShowFlags lhs, ShowFlags rhs)
ShowFlags | Pango::operator~ (ShowFlags flags)
ShowFlags & | Pango::operator|= (ShowFlags & lhs, ShowFlags rhs)
ShowFlags & | Pango::operator&= (ShowFlags & lhs, ShowFlags rhs)
ShowFlags & | Pango::operator^= (ShowFlags & lhs, ShowFlags rhs)
FontMask | Pango::operator| (FontMask lhs, FontMask rhs)
FontMask | Pango::operator& (FontMask lhs, FontMask rhs)
FontMask | Pango::operator^ (FontMask lhs, FontMask rhs)
FontMask | Pango::operator~ (FontMask flags)
FontMask & | Pango::operator|= (FontMask & lhs, FontMask rhs)
FontMask & | Pango::operator&= (FontMask & lhs, FontMask rhs)
FontMask & | Pango::operator^= (FontMask & lhs, FontMask rhs)
ShapeFlags | Pango::operator| (ShapeFlags lhs, ShapeFlags rhs)
ShapeFlags | Pango::operator& (ShapeFlags lhs, ShapeFlags rhs)
ShapeFlags | Pango::operator^ (ShapeFlags lhs, ShapeFlags rhs)
ShapeFlags | Pango::operator~ (ShapeFlags flags)
ShapeFlags & | Pango::operator|= (ShapeFlags & lhs, ShapeFlags rhs)
ShapeFlags & | Pango::operator&= (ShapeFlags & lhs, ShapeFlags rhs)
ShapeFlags & | Pango::operator^= (ShapeFlags & lhs, ShapeFlags rhs)

## Detailed Description

## Typedef Documentation

## ◆ BaselineShift

using Pango::BaselineShift = BaselineShift_Wrapper::BaselineShift

BaselineShift enumerators are scoped by the wrapper class and can be implicitly converted to int.

## ◆ Weight

using Pango::Weight = Weight_Wrapper::Weight

Weight enumerators are scoped by the wrapper class and can be implicitly converted to int.

## Enumeration Type Documentation

## ◆ Alignment

enum class Pango::Alignment
| strong

Pango::Alignment describes how to align the lines of a Pango::Layout within the available space.

If the Pango::Layout is set to justify using Pango::Layout::set_justify(), this only affects partial lines.

See Pango::Layout::set_auto_dir() for how text direction affects the interpretation of Pango::Alignment values.

Enumerator
LEFT | Put all available space on the right.
CENTER | Center the line within the available space.
RIGHT | Put all available space on the left.

## ◆ AttrType

enum class Pango::AttrType
| strong

The Pango::AttrType distinguishes between different types of attributes.

Along with the predefined values, it is possible to allocate additional values for custom attributes using attr_type_register(). The predefined values are given below. The type of structure used to store the attribute is listed in parentheses after the description.

Enumerator
INVALID | Pango::AttrType distinguishes between different types of attributes. Along with the predefined values, it is possible to allocate additional values for custom attributes using Pango::Attribute::register_type(). The predefined values are given below. The type of structure used to store the attribute is listed in parentheses after the description. Does not happen.
LANGUAGE | Language (Pango::AttrLanguage).
FAMILY | Font family name list (Pango::AttrString).
STYLE | Font slant style (Pango::AttrInt).
WEIGHT | Font weight (Pango::AttrInt).
VARIANT | Font variant (normal or small caps) (Pango::AttrInt).
STRETCH | Font stretch (Pango::AttrInt).
SIZE | Font size in points scaled by Pango::SCALE (Pango::AttrInt).
FONT_DESC | Font description (Pango::AttrFontDesc).
FOREGROUND | Foreground color (Pango::AttrColor).
BACKGROUND | Background color (Pango::AttrColor).
UNDERLINE | Whether the text has an underline (Pango::AttrInt).
STRIKETHROUGH | Whether the text is struck-through (Pango::AttrInt).
RISE | Baseline displacement (Pango::AttrInt).
SHAPE | Shape (Pango::AttrShape).
SCALE_FACTOR | Font size scale factor (Pango::AttrFloat).
FALLBACK | Whether fallback is enabled (Pango::AttrInt).
LETTER_SPACING | Letter spacing (Pango::PangoAttrInt).
UNDERLINE_COLOR | Underline color (Pango::AttrColor).
STRIKETHROUGH_COLOR | Strikethrough color (Pango::AttrColor).
ABSOLUTE_SIZE | Font size in pixels scaled by Pango::SCALE (Pango::AttrInt).
GRAVITY | Base text gravity (Pango::AttrInt).
GRAVITY_HINT | Gravity hint (Pango::AttrInt).
FONT_FEATURES | OpenType font features (Pango::AttrFontFeatures). Since pangomm 1.38
FOREGROUND_ALPHA | Foreground alpha (Pango::AttrInt). Since pangomm 1.38
BACKGROUND_ALPHA | Background alpha (Pango::AttrInt). Since pangomm 1.38
ALLOW_BREAKS | Whether breaks are allowed (Pango::AttrInt). Since pangomm 1.44
SHOW | How to render invisible characters (Pango::AttrInt). Since pangomm 1.44
INSERT_HYPHENS | Whether to insert hyphens at intra-word line breaks (Pango::AttrInt). Since pangomm 1.44
OVERLINE | Whether the text has an overline (Pango::AttrInt). Since pangomm 1.46
OVERLINE_COLOR | Overline color (Pango::AttrColor). Since pangomm 1.46
LINE_HEIGHT | Line height factor (Pango::AttrFloat). Since pangomm 1.50
ABSOLUTE_LINE_HEIGHT | Line height (Pango::AttrInt). Since pangomm 1.50
TEXT_TRANSFORM |
WORD | Override segmentation to classify the range of the attribute as a single word (Pango::AttrInt). Since pangomm 1.50
SENTENCE | Override segmentation to classify the range of the attribute as a single sentence (Pango::AttrInt). Since pangomm 1.50
BASELINE_SHIFT | Baseline displacement (Pango::AttrInt). Since pangomm 1.50
FONT_SCALE | Font-relative size change (Pango::AttrInt). Since pangomm 1.50

## ◆ BaselineShift

enum Pango::BaselineShift_Wrapper::BaselineShift

An enumeration that affects baseline shifts between runs.

Since pangomm 2.50

Enumerator
NONE | Leave the baseline unchanged.
SUPERSCRIPT | Shift the baseline to the superscript position, relative to the previous run.
SUBSCRIPT | Shift the baseline to the subscript position, relative to the previous run.

## ◆ Direction

enum class Pango::Direction
| strong

Pango::Direction represents a direction in the Unicode bidirectional algorithm.

Not every value in this enumeration makes sense for every usage of Pango::Direction; for example, the return value of unichar_direction() and find_base_dir() cannot be Pango::Direction::WEAK_LTR or Pango::Direction::WEAK_RTL, since every character is either neutral or has a strong direction; on the other hand Pango::Direction::NEUTRAL doesn't make sense to pass to itemize_with_base_dir().

The Pango::Direction::TTB_LTR, Pango::Direction::TTB_RTL values come from an earlier interpretation of this enumeration as the writing direction of a block of text and are no longer used. See Pango::Gravity for how vertical text is handled in Pango.

If you are interested in text direction, you should really use fribidi directly. Pango::Direction is only retained because it is used in some public apis.

Enumerator
LTR | A strong left-to-right direction.
RTL | A strong right-to-left direction.
TTB_LTR | Deprecated value; treated the same as Pango::Direction::RTL.
TTB_RTL | Deprecated value; treated the same as Pango::Direction::LTR.
WEAK_LTR | A weak left-to-right direction.
WEAK_RTL | A weak right-to-left direction.
NEUTRAL | No direction specified.

## ◆ EllipsizeMode

enum class Pango::EllipsizeMode
| strong

Pango::EllipsizeMode describes what sort of ellipsization should be applied to text.

In the ellipsization process characters are removed from the text in order to make it fit to a given width and replaced with an ellipsis.

Enumerator
NONE | No ellipsization.
START | Omit characters at the start of the text.
MIDDLE | Omit characters in the middle of the text.
END | Omit characters at the end of the text.

## ◆ FontMask

enum class Pango::FontMask
| strong

The bits in a Pango::FontMask correspond to the set fields in a Pango::FontDescription.

Bitwise operators:
  FontMask operator|(FontMask, FontMask)
  FontMask operator&(FontMask, FontMask)
  FontMask operator^(FontMask, FontMask)
  FontMask operator~(FontMask)
  FontMask& operator|=(FontMask&, FontMask)
  FontMask& operator&=(FontMask&, FontMask)
  FontMask& operator^=(FontMask&, FontMask)

Enumerator
FAMILY | The font family is specified.
STYLE | The font style is specified.
VARIANT | The font variant is specified.
WEIGHT | The font weight is specified.
STRETCH | The font stretch is specified.
SIZE | The font size is specified.
GRAVITY | The font gravity is specified. Since pangomm 1.16
VARIATIONS | OpenType font variations are specified. Since pangomm 1.42
FEATURES | OpenType font features are specified. Since pangomm 1.56

## ◆ FontScale

enum class Pango::FontScale
| strong

An enumeration that affects font sizes for superscript and subscript positioning and for (emulated) Small Caps.

Since pangomm 2.50

Enumerator
NONE | Leave the font size unchanged.
SUPERSCRIPT | Change the font to a size suitable for superscripts.
SUBSCRIPT | Change the font to a size suitable for subscripts.
SMALL_CAPS | Change the font to a size suitable for Small Caps.

## ◆ Gravity

enum class Pango::Gravity
| strong

Pango::Gravity represents the orientation of glyphs in a segment of text.

This is useful when rendering vertical text layouts. In those situations, the layout is rotated using a non-identity Pango::Matrix, and then glyph orientation is controlled using Pango::Gravity.

Not every value in this enumeration makes sense for every usage of Pango::Gravity; for example, Pango::Gravity::AUTO only can be passed to Pango::Context::set_base_gravity() and can only be returned by Pango::Context::get_base_gravity().

See also: Pango::GravityHint

Since pangomm 1.16

Enumerator
SOUTH | Glyphs stand upright (default). .
EAST | Glyphs are rotated 90 degrees counter-clockwise. .
NORTH | Glyphs are upside-down. .
WEST | Glyphs are rotated 90 degrees clockwise. .
AUTO | Gravity is resolved from the context matrix.

## ◆ GravityHint

enum class Pango::GravityHint
| strong

Pango::GravityHint defines how horizontal scripts should behave in a vertical context.

That is, English excerpts in a vertical paragraph for example.

See also Pango::Gravity

Since pangomm 1.16

Enumerator
NATURAL | Scripts will take their natural gravity based on the base gravity and the script. This is the default.
STRONG | Always use the base gravity set, regardless of the script.
LINE | For scripts not in their natural direction (eg. Latin in East gravity), choose per-script gravity such that every script respects the line progression. This means, Latin and Arabic will take opposite gravities and both flow top-to-bottom for example.

## ◆ Level

enum class Pango::Coverage::Level
| strong

Pango::CoverageLevel is used to indicate how well a font can represent a particular Unicode character for a particular script.

Since 1.44, only Pango::Coverage::Level::NONE and Pango::Coverage::Level::EXACT will be returned.

Enumerator
NONE | The character is not representable with the font.
FALLBACK | The character is represented in a way that may be comprehensible but is not the correct graphical form. For instance, a Hangul character represented as a a sequence of Jamos, or a Latin transliteration of a Cyrillic word.
APPROXIMATE | The character is represented as basically the correct graphical form, but with a stylistic variant inappropriate for the current script.
EXACT | The character is represented as the correct graphical form.

## ◆ Overline

enum class Pango::Overline
| strong

The Pango::Overline enumeration is used to specify whether text should be overlined, and if so, the type of line.

Since pangomm 1.46

Enumerator
NONE | No overline should be drawn.
SINGLE | Draw a single line above the ink extents of the text being underlined.

## ◆ Part

enum class Pango::Renderer::Part
| strong

Pango::RenderPart defines different items to render for such purposes as setting colors.

Since pangomm 1.8

Enumerator
FOREGROUND | The text itself.
BACKGROUND | The area behind the text.
UNDERLINE | Underlines.
STRIKETHROUGH | Strikethrough lines.
OVERLINE | Overlines.

## ◆ Script

enum class Pango::Script
| strong

The Pango::Script enumeration identifies different writing systems.

The values correspond to the names as defined in the Unicode standard. See Unicode Standard Annex 24: Script names

Note that this enumeration is deprecated and will not be updated to include values in newer versions of the Unicode standard. Applications should use the Glib::UnicodeScript enumeration instead, whose values are interchangeable with Pango::Script.

Enumerator
INVALID_CODE | A value never returned from pango_script_for_unichar().
COMMON | A character used by multiple different scripts.
INHERITED | A mark glyph that takes its script from the base glyph to which it is attached.
ARABIC | Arabic.
ARMENIAN | Armenian.
BENGALI | Bengali.
BOPOMOFO | Bopomofo.
CHEROKEE | Cherokee.
COPTIC | Coptic.
CYRILLIC | Cyrillic.
DESERET | Deseret.
DEVANAGARI | Devanagari.
ETHIOPIC | Ethiopic.
GEORGIAN | Georgian.
GOTHIC | Gothic.
GREEK | Greek.
GUJARATI | Gujarati.
GURMUKHI | Gurmukhi.
HAN | Han.
HANGUL | Hangul.
HEBREW | Hebrew.
HIRAGANA | Hiragana.
KANNADA | Kannada.
KATAKANA | Katakana.
KHMER | Khmer.
LAO | Lao.
LATIN | Latin.
MALAYALAM | Malayalam.
MONGOLIAN | Mongolian.
MYANMAR | Myanmar.
OGHAM | Ogham.
OLD_ITALIC | Old Italic.
ORIYA | Oriya.
RUNIC | Runic.
SINHALA | Sinhala.
SYRIAC | Syriac.
TAMIL | Tamil.
TELUGU | Telugu.
THAANA | Thaana.
THAI | Thai.
TIBETAN | Tibetan.
CANADIAN_ABORIGINAL | Canadian Aboriginal.
YI | Yi.
TAGALOG | Tagalog.
HANUNOO | Hanunoo.
BUHID | Buhid.
TAGBANWA | Tagbanwa.
BRAILLE | Braille.
CYPRIOT | Cypriot.
LIMBU | Limbu.
OSMANYA | Osmanya.
SHAVIAN | Shavian.
LINEAR_B | Linear B.
TAI_LE | Tai Le.
UGARITIC | Ugaritic.
NEW_TAI_LUE | New Tai Lue. Since pangomm 1.10
BUGINESE | Buginese. Since pangomm 1.10
GLAGOLITIC | Glagolitic. Since pangomm 1.10
TIFINAGH | Tifinagh. Since pangomm 1.10
SYLOTI_NAGRI | Syloti Nagri. Since pangomm 1.10
OLD_PERSIAN | Old Persian. Since pangomm 1.10
KHAROSHTHI | Kharoshthi. Since pangomm 1.10
UNKNOWN | An unassigned code point. Since pangomm 1.14
BALINESE | Balinese. Since pangomm 1.14
CUNEIFORM | Cuneiform. Since pangomm 1.14
PHOENICIAN | Phoenician. Since pangomm 1.14
PHAGS_PA | Phags-pa. Since pangomm 1.14
NKO | N'Ko. Since pangomm 1.14
KAYAH_LI | Kayah Li. Since pangomm 1.20.1
LEPCHA | Lepcha. Since pangomm 1.20.1
REJANG | Rejang. Since pangomm 1.20.1
SUNDANESE | Sundanese. Since pangomm 1.20.1
SAURASHTRA | Saurashtra. Since pangomm 1.20.1
CHAM | Cham. Since pangomm 1.20.1
OL_CHIKI | Ol Chiki. Since pangomm 1.20.1
VAI | Vai. Since pangomm 1.20.1
CARIAN | Carian. Since pangomm 1.20.1
LYCIAN | Lycian. Since pangomm 1.20.1
LYDIAN | Lydian. Since pangomm 1.20.1
BATAK | Batak. Since pangomm 1.32
BRAHMI | Brahmi. Since pangomm 1.32
MANDAIC | Mandaic. Since pangomm 1.32
CHAKMA | Chakma. Since pangomm 1.32
MEROITIC_CURSIVE | Meroitic Cursive. Since pangomm 1.32
MEROITIC_HIEROGLYPHS | Meroitic Hieroglyphs. Since pangomm 1.32
MIAO | Miao. Since pangomm 1.32
SHARADA | Sharada. Since pangomm 1.32
SORA_SOMPENG | Sora Sompeng. Since pangomm 1.32
TAKRI | Takri. Since pangomm 1.32
BASSA_VAH | Bassa. Since pangomm 1.40
CAUCASIAN_ALBANIAN | Caucasian Albanian. Since pangomm 1.40
DUPLOYAN | Duployan. Since pangomm 1.40
ELBASAN | Elbasan. Since pangomm 1.40
GRANTHA | Grantha. Since pangomm 1.40
KHOJKI | Kjohki. Since pangomm 1.40
KHUDAWADI | Khudawadi, Sindhi. Since pangomm 1.40
LINEAR_A | Linear A. Since pangomm 1.40
MAHAJANI | Mahajani. Since pangomm 1.40
MANICHAEAN | Manichaean. Since pangomm 1.40
MENDE_KIKAKUI | Mende Kikakui. Since pangomm 1.40
MODI | Modi. Since pangomm 1.40
MRO | Mro. Since pangomm 1.40
NABATAEAN | Nabataean. Since pangomm 1.40
OLD_NORTH_ARABIAN | Old North Arabian. Since pangomm 1.40
OLD_PERMIC | Old Permic. Since pangomm 1.40
PAHAWH_HMONG | Pahawh Hmong. Since pangomm 1.40
PALMYRENE | Palmyrene. Since pangomm 1.40
PAU_CIN_HAU | Pau Cin Hau. Since pangomm 1.40
PSALTER_PAHLAVI | Psalter Pahlavi. Since pangomm 1.40
SIDDHAM | Siddham. Since pangomm 1.40
TIRHUTA | Tirhuta. Since pangomm 1.40
WARANG_CITI | Warang Citi. Since pangomm 1.40
AHOM | Ahom. Since pangomm 1.40
ANATOLIAN_HIEROGLYPHS | Anatolian Hieroglyphs. Since pangomm 1.40
HATRAN | Hatran. Since pangomm 1.40
MULTANI | Multani. Since pangomm 1.40
OLD_HUNGARIAN | Old Hungarian. Since pangomm 1.40
SIGNWRITING | Signwriting. Since pangomm 1.40

## ◆ ShapeFlags

enum class Pango::ShapeFlags
| strong

Flags influencing the shaping process.

Pango::ShapeFlags can be passed to pango_shape_with_flags().

Since pangomm 2.44

Bitwise operators:
  ShapeFlags operator|(ShapeFlags, ShapeFlags)
  ShapeFlags operator&(ShapeFlags, ShapeFlags)
  ShapeFlags operator^(ShapeFlags, ShapeFlags)
  ShapeFlags operator~(ShapeFlags)
  ShapeFlags& operator|=(ShapeFlags&, ShapeFlags)
  ShapeFlags& operator&=(ShapeFlags&, ShapeFlags)
  ShapeFlags& operator^=(ShapeFlags&, ShapeFlags)

Enumerator
NONE | Default value.
ROUND_POSITIONS | Round glyph positions and widths to whole device units This option should be set if the target renderer can't do subpixel positioning of glyphs.

## ◆ ShowFlags

enum class Pango::ShowFlags
| strong

These flags affect how Pango treats characters that are normally not visible in the output.

Since pangomm 1.44

Bitwise operators:
  ShowFlags operator|(ShowFlags, ShowFlags)
  ShowFlags operator&(ShowFlags, ShowFlags)
  ShowFlags operator^(ShowFlags, ShowFlags)
  ShowFlags operator~(ShowFlags)
  ShowFlags& operator|=(ShowFlags&, ShowFlags)
  ShowFlags& operator&=(ShowFlags&, ShowFlags)
  ShowFlags& operator^=(ShowFlags&, ShowFlags)

Enumerator
NONE | No special treatment for invisible characters.
SPACES | Render spaces, tabs and newlines visibly.
LINE_BREAKS | Render line breaks visibly.
IGNORABLES | Render default-ignorable Unicode characters visibly.

## ◆ Stretch

enum class Pango::Stretch
| strong

An enumeration specifying the width of the font relative to other designs within a family.

Enumerator
ULTRA_CONDENSED | Ultra condensed width.
EXTRA_CONDENSED | Extra condensed width.
CONDENSED | Condensed width.
SEMI_CONDENSED | Semi condensed width.
NORMAL | The normal width.
SEMI_EXPANDED | Semi expanded width.
EXPANDED | Expanded width.
EXTRA_EXPANDED | Extra expanded width.
ULTRA_EXPANDED | Ultra expanded width.

## ◆ Style

enum class Pango::Style
| strong

An enumeration specifying the various slant styles possible for a font.

Enumerator
NORMAL | The font is upright.
OBLIQUE | The font is slanted, but in a roman style.
ITALIC | The font is slanted in an italic style.

## ◆ TabAlign

enum class Pango::TabAlign
| strong

Pango::TabAlign specifies where the text appears relative to the tab stop position.

Enumerator
LEFT | The text appears to the right of the tab stop position.
RIGHT | The text appears to the left of the tab stop position until the available space is filled. Since pangomm 1.50
CENTER | The text is centered at the tab stop position until the available space is filled. Since pangomm 1.50
DECIMAL | Text before the first occurrence of the decimal point character appears to the left of the tab stop position (until the available space is filled), the rest to the right. Since pangomm 1.50

## ◆ TextTransform

enum class Pango::TextTransform
| strong

An enumeration that affects how Pango treats characters during shaping.

Since pangomm 2.50

Enumerator
NONE | Leave text unchanged.
LOWERCASE | Display letters and numbers as lowercase.
UPPERCASE | Display letters and numbers as uppercase.
CAPITALIZE | Display the first character of a word in titlecase.

## ◆ Underline

enum class Pango::Underline
| strong

The Pango::Underline enumeration is used to specify whether text should be underlined, and if so, the type of underlining.

Enumerator
NONE | No underline should be drawn.
SINGLE | A single underline should be drawn.
DOUBLE | A double underline should be drawn.
LOW | A single underline should be drawn at a position beneath the ink extents of the text being underlined. This should be used only for underlining single characters, such as for keyboard accelerators. Pango::Underline::SINGLE should be used for extended portions of text.
ERROR | An underline indicating an error should be drawn below. The exact style of rendering is up to the Pango::Renderer in use, but typical styles include wavy or dotted lines. This underline is typically used to indicate an error such as a possible mispelling; in some cases a contrasting color may automatically be used. This type of underlining is available since Pango 1.4.
SINGLE_LINE | Like PANGO_UNDERLINE_SINGLE, but drawn continuously across multiple runs. This type of underlining is available since Pango 1.46.
DOUBLE_LINE | Like PANGO_UNDERLINE_DOUBLE, but drawn continuously across multiple runs. This type of underlining is available since Pango 1.46.
ERROR_LINE | Like PANGO_UNDERLINE_ERROR, but drawn continuously across multiple runs. This type of underlining is available since Pango 1.46.

## ◆ Variant

enum class Pango::Variant
| strong

An enumeration specifying capitalization variant of the font.

Enumerator
NORMAL | A normal font.
SMALL_CAPS | A font with the lower case characters replaced by smaller variants of the capital characters.
ALL_SMALL_CAPS | A font with all characters replaced by smaller variants of the capital characters. Since pangomm 1.50
PETITE_CAPS | A font with the lower case characters replaced by smaller variants of the capital characters. Petite Caps can be even smaller than Small Caps. Since pangomm 1.50
ALL_PETITE_CAPS | A font with all characters replaced by smaller variants of the capital characters. Petite Caps can be even smaller than Small Caps. Since pangomm 1.50
UNICASE | A font with the upper case characters replaced by smaller variants of the capital letters. Since pangomm 1.50
TITLE_CAPS | A font with capital letters that are more suitable for all-uppercase titles. Since pangomm 1.50

## ◆ Weight

enum Pango::Weight_Wrapper::Weight

An enumeration specifying the weight (boldness) of a font.

Weight is specified as a numeric value ranging from 100 to 1000. This enumeration simply provides some common, predefined values.

Enumerator
THIN | The thin weight (= 100). Since pangomm 1.24
ULTRALIGHT | The ultralight weight (= 200).
LIGHT | The light weight (= 300).
SEMILIGHT | The semilight weight (= 350). Since pangomm 1.36.7
BOOK | The book weight (= 380) Since: 1.24).
NORMAL | The default weight (= 400).
MEDIUM | The medium weight (= 500). Since pangomm 1.24
SEMIBOLD | The semibold weight (= 600).
BOLD | The bold weight (= 700).
ULTRABOLD | The ultrabold weight (= 800).
HEAVY | The heavy weight (= 900).
ULTRAHEAVY | The ultraheavy weight (= 1000). Since pangomm 1.24

## ◆ WrapMode

enum class Pango::WrapMode
| strong

Pango::WrapMode describes how to wrap the lines of a Pango::Layout to the desired width.

For PANGO_WRAP_WORD, Pango uses break opportunities that are determined by the Unicode line breaking algorithm. For PANGO_WRAP_CHAR, Pango allows breaking at grapheme boundaries that are determined by the Unicode text segmentation algorithm.

Enumerator
WORD | Wrap lines at word boundaries.
CHAR | Wrap lines at character boundaries.
WORD_CHAR | Wrap lines at word boundaries, but fall back to character boundaries if there is not enough space for a full word.
NONE | Do not wrap. Since pangomm 1.56

## Function Documentation

## ◆ operator&() [1/3]

FontMask Pango::operator& | ( | FontMask | lhs,
|  | FontMask | rhs )
| inline

## ◆ operator&() [2/3]

ShapeFlags Pango::operator& | ( | ShapeFlags | lhs,
|  | ShapeFlags | rhs )
| inline

## ◆ operator&() [3/3]

ShowFlags Pango::operator& | ( | ShowFlags | lhs,
|  | ShowFlags | rhs )
| inline

## ◆ operator&=() [1/3]

FontMask & Pango::operator&= | ( | FontMask & | lhs,
|  | FontMask | rhs )
| inline

## ◆ operator&=() [2/3]

ShapeFlags & Pango::operator&= | ( | ShapeFlags & | lhs,
|  | ShapeFlags | rhs )
| inline

## ◆ operator&=() [3/3]

ShowFlags & Pango::operator&= | ( | ShowFlags & | lhs,
|  | ShowFlags | rhs )
| inline

## ◆ operator^() [1/3]

FontMask Pango::operator^ | ( | FontMask | lhs,
|  | FontMask | rhs )
| inline

## ◆ operator^() [2/3]

ShapeFlags Pango::operator^ | ( | ShapeFlags | lhs,
|  | ShapeFlags | rhs )
| inline

## ◆ operator^() [3/3]

ShowFlags Pango::operator^ | ( | ShowFlags | lhs,
|  | ShowFlags | rhs )
| inline

## ◆ operator^=() [1/3]

FontMask & Pango::operator^= | ( | FontMask & | lhs,
|  | FontMask | rhs )
| inline

## ◆ operator^=() [2/3]

ShapeFlags & Pango::operator^= | ( | ShapeFlags & | lhs,
|  | ShapeFlags | rhs )
| inline

## ◆ operator^=() [3/3]

ShowFlags & Pango::operator^= | ( | ShowFlags & | lhs,
|  | ShowFlags | rhs )
| inline

## ◆ operator|() [1/3]

FontMask Pango::operator| | ( | FontMask | lhs,
|  | FontMask | rhs )
| inline

## ◆ operator|() [2/3]

ShapeFlags Pango::operator| | ( | ShapeFlags | lhs,
|  | ShapeFlags | rhs )
| inline

## ◆ operator|() [3/3]

ShowFlags Pango::operator| | ( | ShowFlags | lhs,
|  | ShowFlags | rhs )
| inline

## ◆ operator|=() [1/3]

FontMask & Pango::operator|= | ( | FontMask & | lhs,
|  | FontMask | rhs )
| inline

## ◆ operator|=() [2/3]

ShapeFlags & Pango::operator|= | ( | ShapeFlags & | lhs,
|  | ShapeFlags | rhs )
| inline

## ◆ operator|=() [3/3]

ShowFlags & Pango::operator|= | ( | ShowFlags & | lhs,
|  | ShowFlags | rhs )
| inline

## ◆ operator~() [1/3]

FontMask Pango::operator~ | ( | FontMask | flags | ) |
| inline

## ◆ operator~() [2/3]

ShapeFlags Pango::operator~ | ( | ShapeFlags | flags | ) |
| inline

## ◆ operator~() [3/3]

ShowFlags Pango::operator~ | ( | ShowFlags | flags | ) |
| inline