pangomm 2.52.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::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
}
 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 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)
 
ShowFlagsPango::operator|= (ShowFlags & lhs, ShowFlags rhs)
 
ShowFlagsPango::operator&= (ShowFlags & lhs, ShowFlags rhs)
 
ShowFlagsPango::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)
 
FontMaskPango::operator|= (FontMask & lhs, FontMask rhs)
 
FontMaskPango::operator&= (FontMask & lhs, FontMask rhs)
 
FontMaskPango::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)
 
ShapeFlagsPango::operator|= (ShapeFlags & lhs, ShapeFlags rhs)
 
ShapeFlagsPango::operator&= (ShapeFlags & lhs, ShapeFlags rhs)
 
ShapeFlagsPango::operator^= (ShapeFlags & lhs, ShapeFlags rhs)
 

Detailed Description

Typedef Documentation

◆ BaselineShift

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

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

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.

Since pangomm 1.50:
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.

Since pangomm 1.50:

◆ 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).

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

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 
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 
STYLE 
VARIANT 
WEIGHT 
STRETCH 
SIZE 
GRAVITY 
VARIATIONS 

OpenType font variations are specified (Since: 1.42).

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

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

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

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 class Pango::TabAlign
strong

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

Enumerator
LEFT 
RIGHT 
CENTER 
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 
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.

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

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