pangomm 2.50.0

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. More...
using | Pango::Weight = Weight_Wrapper::Weight
| Weight enumerators are scoped by the wrapper class and can be implicitly converted to int. More...

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

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

## ◆ Weight

using Pango::Weight = typedef Weight_Wrapper::Weight

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

## Enumeration Type Documentation

## ◆ Alignment

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

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

Enumerator
LEFT | Put all available space on the right. The text appears to the right of the tab stop position.
CENTER | Center the line within the available space. The text is centered at the tab stop position until the available space is filled.
RIGHT | Put all available space on the left. The text appears to the left of the tab stop position until the available space is filled.

## ◆ AttrType

enum 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). The font family is specified.
STYLE | Font slant style (Pango::AttrInt). The font style is specified.
WEIGHT | Font weight (Pango::AttrInt). The font weight is specified.
VARIANT | Font variant (normal or small caps) (Pango::AttrInt). The font variant is specified.
STRETCH | Font stretch (Pango::AttrInt). The font stretch is specified.
SIZE | Font size in points scaled by Pango::SCALE (Pango::AttrInt). The font size is specified.
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). The font gravity is specified (Since: 1.16.).
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). Wrap lines at word boundaries. 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 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 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 |
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 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 |
STYLE |
VARIANT |
WEIGHT |
STRETCH |
SIZE |
GRAVITY |
VARIATIONS | OpenType font variations are specified (Since: 1.42).

## ◆ FontScale

enum 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 |
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. A font with the lower case characters replaced by smaller variants of the capital characters. Since pangomm 1.50:

## ◆ Gravity

enum 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 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 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 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 |
SINGLE |

## ◆ Part

enum 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 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 `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 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 |
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
| 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 |
SPACES | Render spaces, tabs and newlines visibly.
LINE_BREAKS | Render line breaks visibly.
IGNORABLES | Render default-ignorable Unicode characters visibly.

## ◆ Stretch

enum 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 |
SEMI_EXPANDED | Semi expanded width.
EXPANDED | Expanded width.
EXTRA_EXPANDED | Extra expanded width.
ULTRA_EXPANDED | Ultra expanded width.

## ◆ Style

enum Pango::Style
| strong

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

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

## ◆ TabAlign

enum Pango::TabAlign
| strong

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

Support for tab alignments other than Pango::TabAlign::LEFT was added in Pango 1.50.

Enumerator
LEFT |
RIGHT |
CENTER |
DECIMAL | Text before the first '. ' appears to the left of the tab stop position (until the available space is filled), the rest to the right.

## ◆ TextTransform

enum Pango::TextTransform
| strong

An enumeration that affects how Pango treats characters during shaping.

Since pangomm 2.50:

Enumerator
NONE |
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 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. No ellipsization. Default value. Leave the font size unchanged. Leave text unchanged. No special treatment for invisible characters. No overline should be drawn.
SINGLE | A single underline should be drawn. Draw a single line above the ink extents of the text being underlined.
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 Pango::Variant
| strong

An enumeration specifying capitalization variant of the font.

Enumerator
NORMAL |
SMALL_CAPS |
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.

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

Enumerator
THIN | The thin weight (= 100; Since: 1.24).
ULTRALIGHT | The ultralight weight (= 200).
LIGHT | The light weight (= 300).
SEMILIGHT | The semilight weight (= 350; Since: 1.36.7).
BOOK | The book weight (= 380; Since: 1.24).
NORMAL | The default weight (= 400).
MEDIUM | The normal weight (= 500; Since: 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: 1.24).

## ◆ WrapMode

enum 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 |
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.

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