pangomm Enums and Flags

## Enumerations

enum

Pango::AttrType {
Pango::ATTR_INVALID ,
Pango::ATTR_LANGUAGE ,
Pango::ATTR_FAMILY ,
Pango::ATTR_STYLE ,
Pango::ATTR_WEIGHT ,
Pango::ATTR_VARIANT ,
Pango::ATTR_STRETCH ,
Pango::ATTR_SIZE ,
Pango::ATTR_FONT_DESC ,
Pango::ATTR_FOREGROUND ,
Pango::ATTR_BACKGROUND ,
Pango::ATTR_UNDERLINE ,
Pango::ATTR_STRIKETHROUGH ,
Pango::ATTR_RISE ,
Pango::ATTR_SHAPE ,
Pango::ATTR_SCALE ,
Pango::ATTR_FALLBACK ,
Pango::ATTR_LETTER_SPACING ,
Pango::ATTR_UNDERLINE_COLOR ,
Pango::ATTR_STRIKETHROUGH_COLOR ,
Pango::ATTR_ABSOLUTE_SIZE ,
Pango::ATTR_GRAVITY ,
Pango::ATTR_GRAVITY_HINT ,
Pango::ATTR_FONT_FEATURES ,
Pango::ATTR_FOREGROUND_ALPHA ,
Pango::ATTR_BACKGROUND_ALPHA ,
Pango::ATTR_ALLOW_BREAKS ,
Pango::ATTR_SHOW ,
Pango::ATTR_INSERT_HYPHENS ,
Pango::ATTR_OVERLINE ,
Pango::ATTR_OVERLINE_COLOR
}

| The Pango::AttrType distinguishes between different types of attributes. More...
enum | 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 | 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 | Pango::ShowFlags { Pango::SHOW_NONE = 0x0 , Pango::SHOW_SPACES = 1 << 0 , Pango::SHOW_LINE_BREAKS = 1 << 1 , Pango::SHOW_IGNORABLES = 1 << 2 }
| These flags affect how Pango treats characters that are normally not visible in the output. More...
enum | 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 }

The Pango::Direction type 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 pango_unichar_direction() and pango_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 pango_itemize_with_base_dir(). More...

enum | Pango::GravityHint { Pango::GRAVITY_HINT_NATURAL , Pango::GRAVITY_HINT_STRONG , Pango::GRAVITY_HINT_LINE }
| The Pango::GravityHint defines how horizontal scripts should behave in a vertical context. More...
enum | Pango::CoverageLevel { Pango::COVERAGE_NONE , Pango::COVERAGE_FALLBACK , Pango::COVERAGE_APPROXIMATE , Pango::COVERAGE_EXACT }
| Used to indicate how well a font can represent a particular Unicode character point for a particular script. More...
enum | Pango::Style { Pango::STYLE_NORMAL , Pango::STYLE_OBLIQUE , Pango::STYLE_ITALIC }
| An enumeration specifying the various slant styles possible for a font. More...
enum | Pango::Variant { Pango::VARIANT_NORMAL , Pango::VARIANT_SMALL_CAPS }
| An enumeration specifying capitalization variant of the font. More...
enum | 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 { Pango::WEIGHT_THIN = 100 , Pango::WEIGHT_ULTRALIGHT = 200 , Pango::WEIGHT_LIGHT = 300 , Pango::WEIGHT_SEMILIGHT = 350 , Pango::WEIGHT_BOOK = 380 , Pango::WEIGHT_NORMAL = 400 , Pango::WEIGHT_MEDIUM = 500 , Pango::WEIGHT_SEMIBOLD = 600 , Pango::WEIGHT_BOLD = 700 , Pango::WEIGHT_ULTRABOLD = 800 , Pango::WEIGHT_HEAVY = 900 , Pango::WEIGHT_ULTRAHEAVY = 1000 }
| An enumeration specifying the weight (boldness) of a font. More...
enum | Pango::FontMask { Pango::FONT_MASK_FAMILY = 1 << 0 , Pango::FONT_MASK_STYLE = 1 << 1 , Pango::FONT_MASK_VARIANT = 1 << 2 , Pango::FONT_MASK_WEIGHT = 1 << 3 , Pango::FONT_MASK_STRETCH = 1 << 4 , Pango::FONT_MASK_SIZE = 1 << 5 , Pango::FONT_MASK_GRAVITY = 1 << 6 , Pango::FONT_MASK_VARIATIONS = 1 << 7 }
| The bits in a Pango::FontMask correspond to fields in a Pango::FontDescription that have been set. More...
enum | Pango::Gravity { Pango::GRAVITY_SOUTH , Pango::GRAVITY_EAST , Pango::GRAVITY_NORTH , Pango::GRAVITY_WEST , Pango::GRAVITY_AUTO }
| The Pango::Gravity type represents the orientation of glyphs in a segment of text. More...
enum | Pango::ShapeFlags { Pango::SHAPE_NONE = 0x0 , Pango::SHAPE_ROUND_POSITIONS = 1 << 0 }
| Flags influencing the shaping process. More...

enum

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 | Pango::Alignment { Pango::ALIGN_LEFT , Pango::ALIGN_CENTER , Pango::ALIGN_RIGHT }
| A Pango::Alignment describes how to align the lines of a Pango::Layout within the available space. More...
enum | Pango::WrapMode { Pango::WRAP_WORD , Pango::WRAP_CHAR , Pango::WRAP_WORD_CHAR }
| A Pango::WrapMode describes how to wrap the lines of a Pango::Layout to the desired width. More...
enum | Pango::EllipsizeMode { Pango::ELLIPSIZE_NONE , Pango::ELLIPSIZE_START , Pango::ELLIPSIZE_MIDDLE , Pango::ELLIPSIZE_END }
| The Pango::EllipsizeMode type describes what sort of (if any) ellipsization should be applied to a line of text. More...
enum | Pango::RenderPart { Pango::RENDER_PART_FOREGROUND , Pango::RENDER_PART_BACKGROUND , Pango::RENDER_PART_UNDERLINE , Pango::RENDER_PART_STRIKETHROUGH , Pango::RENDER_PART_OVERLINE }
| Pango::RenderPart defines different items to render for such purposes as setting colors. More...
enum | Pango::TabAlign { Pango::TAB_LEFT }
| A Pango::TabAlign specifies where a tab stop appears relative to the text. 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

## Enumeration Type Documentation

## Alignment

enum Pango::Alignment

A 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 has effect for partial lines.

Enumerator
ALIGN_LEFT | Put all available space on the right.
ALIGN_CENTER | Center the line within the available space.
ALIGN_RIGHT | Put all available space on the left.

## AttrType

enum Pango::AttrType

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 pango_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
ATTR_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.
ATTR_LANGUAGE | Language (Pango::AttrLanguage).
ATTR_FAMILY | Font family name list (Pango::AttrString).
ATTR_STYLE | Font slant style (Pango::AttrInt).
ATTR_WEIGHT | Font weight (Pango::AttrInt).
ATTR_VARIANT | Font variant (normal or small caps) (Pango::AttrInt).
ATTR_STRETCH | Font stretch (Pango::AttrInt).
ATTR_SIZE | Font size in points scaled by Pango::SCALE (Pango::AttrInt).
ATTR_FONT_DESC | Font description (Pango::AttrFontDesc).
ATTR_FOREGROUND | Foreground color (Pango::AttrColor).
ATTR_BACKGROUND | Background color (Pango::AttrColor).
ATTR_UNDERLINE | Whether the text has an underline (Pango::AttrInt).
ATTR_STRIKETHROUGH | Whether the text is struck-through (Pango::AttrInt).
ATTR_RISE | Baseline displacement (Pango::AttrInt).
ATTR_SHAPE | Shape (Pango::AttrShape).
ATTR_SCALE | Font size scale factor (Pango::AttrFloat).
ATTR_FALLBACK | Whether fallback is enabled (Pango::AttrInt).
ATTR_LETTER_SPACING | Letter spacing (Pango::AttrInt).
ATTR_UNDERLINE_COLOR | Underline color (Pango::AttrColor).
ATTR_STRIKETHROUGH_COLOR | Strikethrough color (Pango::AttrColor).
ATTR_ABSOLUTE_SIZE | Font size in pixels scaled by Pango::SCALE (Pango::AttrInt).
ATTR_GRAVITY | Base text gravity (Pango::AttrInt).
ATTR_GRAVITY_HINT | Gravity hint (Pango::AttrInt).

ATTR_FONT_FEATURES

OpenType font features (Pango::AttrString).

Since pangomm 1.38

ATTR_FOREGROUND_ALPHA

Foreground alpha (Pango::AttrInt).

Since pangomm 1.38

ATTR_BACKGROUND_ALPHA

Background alpha (Pango::AttrInt).

Since pangomm 1.38

ATTR_ALLOW_BREAKS

Whether breaks are allowed (Pango::AttrInt).

Since pangomm 1.44

ATTR_SHOW

How to render invisible characters (Pango::AttrInt).

Since pangomm 1.44

ATTR_INSERT_HYPHENS

Whether to insert hyphens at intra-word line breaks (Pango::AttrInt).

Since pangomm 1.44

ATTR_OVERLINE

Whether the text has an overline (Pango::AttrInt).

Since pangomm 1.46

ATTR_OVERLINE_COLOR

Overline color (Pango::AttrColor).

Since pangomm 1.46

## CoverageLevel

enum Pango::CoverageLevel

Used to indicate how well a font can represent a particular Unicode character point for a particular script.

Since 1.44, only Pango::COVERAGE_NONE and Pango::COVERAGE_EXACT will be returned.

Enumerator
COVERAGE_NONE | The character is not representable with the font.
COVERAGE_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.
COVERAGE_APPROXIMATE | The character is represented as basically the correct graphical form, but with a stylistic variant inappropriate for the current script.
COVERAGE_EXACT | The character is represented as the correct graphical form.

## Direction

enum Pango::Direction

The Pango::Direction type 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 pango_unichar_direction() and pango_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 pango_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. PangoDirection is only retained because it is used in some public apis.

Enumerator
DIRECTION_LTR | A strong left-to-right direction.
DIRECTION_RTL | A strong right-to-left direction.
DIRECTION_TTB_LTR | Deprecated value; treated the same as Pango::DIRECTION_RTL.
DIRECTION_TTB_RTL | Deprecated value; treated the same as Pango::DIRECTION_LTR.
DIRECTION_WEAK_LTR | A weak left-to-right direction.
DIRECTION_WEAK_RTL | A weak right-to-left direction.
DIRECTION_NEUTRAL | No direction specified.

## EllipsizeMode

enum Pango::EllipsizeMode

The Pango::EllipsizeMode type describes what sort of (if any) ellipsization should be applied to a line of 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
ELLIPSIZE_NONE | No ellipsization.
ELLIPSIZE_START | Omit characters at the start of the text.
ELLIPSIZE_MIDDLE | Omit characters in the middle of the text.
ELLIPSIZE_END | Omit characters at the end of the text.

## FontMask

enum Pango::FontMask

The bits in a Pango::FontMask correspond to fields in a Pango::FontDescription that have been set.

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
FONT_MASK_FAMILY | The font family is specified.
FONT_MASK_STYLE | The font style is specified.
FONT_MASK_VARIANT | The font variant is specified.
FONT_MASK_WEIGHT | The font weight is specified.
FONT_MASK_STRETCH | The font stretch is specified.
FONT_MASK_SIZE | The font size is specified.
FONT_MASK_GRAVITY | The font gravity is specified (Since: 1.16.).
FONT_MASK_VARIATIONS | OpenType font variations are specified (Since: 1.42).

## Gravity

enum Pango::Gravity

The Pango::Gravity type 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 PangoMatrix, 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
GRAVITY_SOUTH | Glyphs stand upright (default).
GRAVITY_EAST | Glyphs are rotated 90 degrees clockwise.
GRAVITY_NORTH | Glyphs are upside-down.
GRAVITY_WEST | Glyphs are rotated 90 degrees counter-clockwise.
GRAVITY_AUTO | Gravity is resolved from the context matrix.

## GravityHint

enum Pango::GravityHint

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

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

See Pango::Gravity.

Since pangomm 1.16

Enumerator
GRAVITY_HINT_NATURAL | Scripts will take their natural gravity based on the base gravity and the script. This is the default.
GRAVITY_HINT_STRONG | Always use the base gravity set, regardless of the script.
GRAVITY_HINT_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.

## Overline

enum Pango::Overline

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
OVERLINE_NONE | No overline should be drawn.
OVERLINE_SINGLE | Draw a single line above the ink extents of the text being underlined.

## RenderPart

enum Pango::RenderPart

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

Since pangomm 1.8

Enumerator
RENDER_PART_FOREGROUND | The text itself.
RENDER_PART_BACKGROUND | The area behind the text.
RENDER_PART_UNDERLINE | Underlines.
RENDER_PART_STRIKETHROUGH | Strikethrough lines.
RENDER_PART_OVERLINE | Overlines.

## Script

enum Pango::Script

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 GUnicodeScript enumeration instead, whose values are interchangeable with PangoScript.

Enumerator
SCRIPT_INVALID_CODE | A value never returned from pango_script_for_unichar().
SCRIPT_COMMON | A character used by multiple different scripts.
SCRIPT_INHERITED | A mark glyph that takes its script from the base glyph to which it is attached.
SCRIPT_ARABIC | Arabic.
SCRIPT_ARMENIAN | Armenian.
SCRIPT_BENGALI | Bengali.
SCRIPT_BOPOMOFO | Bopomofo.
SCRIPT_CHEROKEE | Cherokee.
SCRIPT_COPTIC | Coptic.
SCRIPT_CYRILLIC | Cyrillic.
SCRIPT_DESERET | Deseret.
SCRIPT_DEVANAGARI | Devanagari.
SCRIPT_ETHIOPIC | Ethiopic.
SCRIPT_GEORGIAN | Georgian.
SCRIPT_GOTHIC | Gothic.
SCRIPT_GREEK | Greek.
SCRIPT_GUJARATI | Gujarati.
SCRIPT_GURMUKHI | Gurmukhi.
SCRIPT_HAN | Han.
SCRIPT_HANGUL | Hangul.
SCRIPT_HEBREW | Hebrew.
SCRIPT_HIRAGANA | Hiragana.
SCRIPT_KANNADA | Kannada.
SCRIPT_KATAKANA | Katakana.
SCRIPT_KHMER | Khmer.
SCRIPT_LAO | Lao.
SCRIPT_LATIN | Latin.
SCRIPT_MALAYALAM | Malayalam.
SCRIPT_MONGOLIAN | Mongolian.
SCRIPT_MYANMAR | Myanmar.
SCRIPT_OGHAM | Ogham.
SCRIPT_OLD_ITALIC | Old Italic.
SCRIPT_ORIYA | Oriya.
SCRIPT_RUNIC | Runic.
SCRIPT_SINHALA | Sinhala.
SCRIPT_SYRIAC | Syriac.
SCRIPT_TAMIL | Tamil.
SCRIPT_TELUGU | Telugu.
SCRIPT_THAANA | Thaana.
SCRIPT_THAI | Thai.
SCRIPT_TIBETAN | Tibetan.
SCRIPT_CANADIAN_ABORIGINAL | Canadian Aboriginal.
SCRIPT_YI | Yi.
SCRIPT_TAGALOG | Tagalog.
SCRIPT_HANUNOO | Hanunoo.
SCRIPT_BUHID | Buhid.
SCRIPT_TAGBANWA | Tagbanwa.
SCRIPT_BRAILLE | Braille.
SCRIPT_CYPRIOT | Cypriot.
SCRIPT_LIMBU | Limbu.
SCRIPT_OSMANYA | Osmanya.
SCRIPT_SHAVIAN | Shavian.
SCRIPT_LINEAR_B | Linear B.
SCRIPT_TAI_LE | Tai Le.
SCRIPT_UGARITIC | Ugaritic.

SCRIPT_NEW_TAI_LUE

New Tai Lue.

Since pangomm 1.10

SCRIPT_BUGINESE

Buginese.

Since pangomm 1.10

SCRIPT_GLAGOLITIC

Glagolitic.

Since pangomm 1.10

SCRIPT_TIFINAGH

Tifinagh.

Since pangomm 1.10

SCRIPT_SYLOTI_NAGRI

Syloti Nagri.

Since pangomm 1.10

SCRIPT_OLD_PERSIAN

Old Persian.

Since pangomm 1.10

SCRIPT_KHAROSHTHI

Kharoshthi.

Since pangomm 1.10

SCRIPT_UNKNOWN

An unassigned code point.

Since pangomm 1.14

SCRIPT_BALINESE

Balinese.

Since pangomm 1.14

SCRIPT_CUNEIFORM

Cuneiform.

Since pangomm 1.14

SCRIPT_PHOENICIAN

Phoenician.

Since pangomm 1.14

SCRIPT_PHAGS_PA

Phags-pa.

Since pangomm 1.14

SCRIPT_NKO

N'Ko.

Since pangomm 1.14

SCRIPT_KAYAH_LI

Kayah Li.

Since pangomm 1.20.1

SCRIPT_LEPCHA

Lepcha.

Since pangomm 1.20.1

SCRIPT_REJANG

Rejang.

Since pangomm 1.20.1

SCRIPT_SUNDANESE

Sundanese.

Since pangomm 1.20.1

SCRIPT_SAURASHTRA

Saurashtra.

Since pangomm 1.20.1

SCRIPT_CHAM

Cham.

Since pangomm 1.20.1

SCRIPT_OL_CHIKI

Ol Chiki.

Since pangomm 1.20.1

SCRIPT_VAI

Vai.

Since pangomm 1.20.1

SCRIPT_CARIAN

Carian.

Since pangomm 1.20.1

SCRIPT_LYCIAN

Lycian.

Since pangomm 1.20.1

SCRIPT_LYDIAN

Lydian.

Since pangomm 1.20.1

SCRIPT_BATAK

Batak.

Since pangomm 1.32

SCRIPT_BRAHMI

Brahmi.

Since pangomm 1.32

SCRIPT_MANDAIC

Mandaic.

Since pangomm 1.32

SCRIPT_CHAKMA

Chakma.

Since pangomm 1.32

SCRIPT_MEROITIC_CURSIVE

Meroitic Cursive.

Since pangomm 1.32

SCRIPT_MEROITIC_HIEROGLYPHS

Meroitic Hieroglyphs.

Since pangomm 1.32

SCRIPT_MIAO

Miao.

Since pangomm 1.32

SCRIPT_SHARADA

Sharada.

Since pangomm 1.32

SCRIPT_SORA_SOMPENG

Sora Sompeng.

Since pangomm 1.32

SCRIPT_TAKRI

Takri.

Since pangomm 1.32

SCRIPT_BASSA_VAH

Bassa.

Since pangomm 1.40

SCRIPT_CAUCASIAN_ALBANIAN

Caucasian Albanian.

Since pangomm 1.40

SCRIPT_DUPLOYAN

Duployan.

Since pangomm 1.40

SCRIPT_ELBASAN

Elbasan.

Since pangomm 1.40

SCRIPT_GRANTHA

Grantha.

Since pangomm 1.40

SCRIPT_KHOJKI

Kjohki.

Since pangomm 1.40

SCRIPT_KHUDAWADI

Khudawadi, Sindhi.

Since pangomm 1.40

SCRIPT_LINEAR_A

Linear A.

Since pangomm 1.40

SCRIPT_MAHAJANI

Mahajani.

Since pangomm 1.40

SCRIPT_MANICHAEAN

Manichaean.

Since pangomm 1.40

SCRIPT_MENDE_KIKAKUI

Mende Kikakui.

Since pangomm 1.40

SCRIPT_MODI

Modi.

Since pangomm 1.40

SCRIPT_MRO

Mro.

Since pangomm 1.40

SCRIPT_NABATAEAN

Nabataean.

Since pangomm 1.40

SCRIPT_OLD_NORTH_ARABIAN

Old North Arabian.

Since pangomm 1.40

SCRIPT_OLD_PERMIC

Old Permic.

Since pangomm 1.40

SCRIPT_PAHAWH_HMONG

Pahawh Hmong.

Since pangomm 1.40

SCRIPT_PALMYRENE

Palmyrene.

Since pangomm 1.40

SCRIPT_PAU_CIN_HAU

Pau Cin Hau.

Since pangomm 1.40

SCRIPT_PSALTER_PAHLAVI

Psalter Pahlavi.

Since pangomm 1.40

SCRIPT_SIDDHAM

Siddham.

Since pangomm 1.40

SCRIPT_TIRHUTA

Tirhuta.

Since pangomm 1.40

SCRIPT_WARANG_CITI

Warang Citi.

Since pangomm 1.40

SCRIPT_AHOM

Ahom.

Since pangomm 1.40

SCRIPT_ANATOLIAN_HIEROGLYPHS

Anatolian Hieroglyphs.

Since pangomm 1.40

SCRIPT_HATRAN

Hatran.

Since pangomm 1.40

SCRIPT_MULTANI

Multani.

Since pangomm 1.40

SCRIPT_OLD_HUNGARIAN

Old Hungarian.

Since pangomm 1.40

SCRIPT_SIGNWRITING

Signwriting.

Since pangomm 1.40

## ShapeFlags

enum Pango::ShapeFlags

Flags influencing the shaping process.

These can be passed to pango_shape_with_flags().

Since pangomm 2.46

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
SHAPE_NONE | Default value.
SHAPE_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 Pango::ShowFlags

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

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
SHOW_NONE | No special treatment for invisible characters.
SHOW_SPACES | Render spaces, tabs and newlines visibly.
SHOW_LINE_BREAKS | Render line breaks visibly.
SHOW_IGNORABLES | Render default-ignorable Unicode characters visibly.

## Stretch

enum Pango::Stretch

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

Enumerator
STRETCH_ULTRA_CONDENSED | Ultra condensed width.
STRETCH_EXTRA_CONDENSED | Extra condensed width.
STRETCH_CONDENSED | Condensed width.
STRETCH_SEMI_CONDENSED | Semi condensed width.
STRETCH_NORMAL | The normal width.
STRETCH_SEMI_EXPANDED | Semi expanded width.
STRETCH_EXPANDED | Expanded width.
STRETCH_EXTRA_EXPANDED | Extra expanded width.
STRETCH_ULTRA_EXPANDED | Ultra expanded width.

## Style

enum Pango::Style

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

Enumerator
STYLE_NORMAL | The font is upright.
STYLE_OBLIQUE | The font is slanted, but in a roman style.
STYLE_ITALIC | The font is slanted in an italic style.

## TabAlign

enum Pango::TabAlign

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

Enumerator
TAB_LEFT | The tab stop appears to the left of the text.

## Underline

enum Pango::Underline

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

Enumerator
UNDERLINE_NONE | No underline should be drawn.
UNDERLINE_SINGLE | A single underline should be drawn.
UNDERLINE_DOUBLE | A double underline should be drawn.
UNDERLINE_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.
UNDERLINE_ERROR | A wavy underline should be drawn below. 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.
UNDERLINE_SINGLE_LINE | Like PANGO_UNDERLINE_SINGLE, but drawn continuously across multiple runs. This type of underlining is available since Pango 1.46.
UNDERLINE_DOUBLE_LINE | Like PANGO_UNDERLINE_DOUBLE, but drawn continuously across multiple runs. This type of underlining is available since Pango 1.46.
UNDERLINE_ERROR_LINE | Like PANGO_UNDERLINE_ERROR, but drawn continuously across multiple runs. This type of underlining is available since Pango 1.46.

## Variant

enum Pango::Variant

An enumeration specifying capitalization variant of the font.

Enumerator
VARIANT_NORMAL | A normal font.
VARIANT_SMALL_CAPS | A font with the lower case characters replaced by smaller variants of the capital characters.

## Weight

enum Pango::Weight

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

This is a numerical value ranging from 100 to 1000, but there are some predefined values:

Enumerator
WEIGHT_THIN | The thin weight (= 100; Since: 1.24).
WEIGHT_ULTRALIGHT | The ultralight weight (= 200).
WEIGHT_LIGHT | The light weight (= 300).
WEIGHT_SEMILIGHT | The semilight weight (= 350; Since: 1.36.7).
WEIGHT_BOOK | The book weight (= 380; Since: 1.24).
WEIGHT_NORMAL | The default weight (= 400).
WEIGHT_MEDIUM | The normal weight (= 500; Since: 1.24).
WEIGHT_SEMIBOLD | The semibold weight (= 600).
WEIGHT_BOLD | The bold weight (= 700).
WEIGHT_ULTRABOLD | The ultrabold weight (= 800).
WEIGHT_HEAVY | The heavy weight (= 900).
WEIGHT_ULTRAHEAVY | The ultraheavy weight (= 1000; Since: 1.24).

## WrapMode

enum Pango::WrapMode

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

Enumerator
WRAP_WORD | Wrap lines at word boundaries.
WRAP_CHAR | Wrap lines at character boundaries.
WRAP_WORD_CHAR | Wrap lines at word boundaries, but fall back to character boundaries if there is not enough space for a full word.

## 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