Xfce Foundation Classes
Main Page | Index | Namespace List | Alphabetical List | Class List | File List

# Xfc::Pango Namespace Reference

The C++ framework for the Pango text handling library. More...

## Classes

- class Xfc::Pango::Color
    A PangoColor C++ wrapper class. More...
- class Xfc::Pango::Attribute
    A PangoAttriubte C++ wrapper class. More...
- class Xfc::Pango::AttrString
    A PangoAttrString C++ wrapper class. More...
- class Xfc::Pango::AttrLanguage
    A PangoAttrLanguage C++ wrapper class. More...
- class Xfc::Pango::AttrFamily
    Pango font family name C++ wrapper class. More...
- class Xfc::Pango::AttrColor
    A PangoAttrColor C++ wrapper class. More...
- class Xfc::Pango::AttrForeground
    Pango foreground color C++ wrapper class. More...
- class Xfc::Pango::AttrBackground
    A Pango background color C++ wrapper class. More...
- class Xfc::Pango::AttrInt
    A PangoAttrInt C++ wrapper class. More...
- class Xfc::Pango::AttrSize
    Pango size C++ wrapper class. More...
- class Xfc::Pango::AttrStyle
    Pango style C++ wrapper class. More...
- class Xfc::Pango::AttrWeight
    Pango weight C++ wrapper class. More...
- class Xfc::Pango::AttrVariant
    Pango variant C++ wrapper class. More...
- class Xfc::Pango::AttrStretch
    Pango stretch C++ wrapper class. More...
- class Xfc::Pango::AttrUnderline
    Pango underline C++ wrapper class. More...
- class Xfc::Pango::AttrStrikethrough
    Pango strikethrough C++ wrapper class. More...
- class Xfc::Pango::AttrRise
    Pango rise C++ wrapper class. More...
- class Xfc::Pango::AttrFontDesc
    A PangoAttrFontDesc C++ wrapper class. More...
- class Xfc::Pango::AttrShape
    A PangoAttrShape C++ wrapper class. More...
- class Xfc::Pango::AttrFloat
    A PangoAttrFloat C++ wrapper class. More...
- class Xfc::Pango::AttrScale
    Pango scale C++ wrapper class. More...
- class Xfc::Pango::AttrFallback
    Pango fallback C++ wrapper class. More...
- class Xfc::Pango::AttrLetterSpacing
    Pango letter spacing C++ wrapper class. More...
- class Xfc::Pango::AttrUnderlineColor
    Pango underline color C++ wrapper class. More...
- class Xfc::Pango::AttrStrikethroughColor
    Pango strikethrough color C++ wrapper class. More...
- class Xfc::Pango::AttrStipple
    A GdkPangoAttrStipple C++ wrapper class. More...
- class Xfc::Pango::AttrEmbossed
    A GdkPangoAttrEmbossed C++ wrapper class. More...
- class Xfc::Pango::AttrIterator
    A PangoAttrIterator C++ wrapper class. More...
- class Xfc::Pango::AttrList
    A PangoAttrList C++ wrapper class. More...
- class Xfc::Pango::LogAttr
    A PangoLogAttr C++ wrapper class. More...
- class Xfc::Pango::Context
    A PangoLogAttr C++ wrapper class. More...
- class Xfc::Pango::Coverage
    A PangoCoverage C++ wrapper class. More...
- class Xfc::Pango::FontDescription
    A PangoFontDescription C++ wrapper class. More...
- class Xfc::Pango::FontMetrics
    A PangoFontMetrics C++ wrapper class. More...
- class Xfc::Pango::FontFace
    A PangoFontFace C++ wrapper class. More...
- class Xfc::Pango::FontFamily
    A PangoFontFamily C++ wrapper class. More...
- class Xfc::Pango::Font
    A PangoFont C++ wrapper class. More...
- class Xfc::Pango::FontMap
    A PangoFontMap C++ wrapper class. More...
- class Xfc::Pango::Fontset
    A PangoFontset C++ wrapper class. More...
- class Xfc::Pango::GlyphGeometry
    A PangoGlyphGeometry C++ wrapper class. More...
- class Xfc::Pango::GlyphVisAttr
    A PangoGlyphVisAttr C++ wrapper class. More...
- class Xfc::Pango::GlyphInfo
    A PangoGlyphInfo C++ wrapper class. More...
- class Xfc::Pango::GlyphString
    A PangoGlyphString C++ wrapper class. More...
- class Xfc::Pango::Analysis
    A PangoAnalysis C++ wrapper class. More...
- class Xfc::Pango::Item
    A PangoItem C++ wrapper class. More...
- class Xfc::Pango::LayoutRun
    A PangoLayoutRun C++ wrapper class. More...
- class Xfc::Pango::LayoutLine
    A PangoLayoutLine C++ wrapper class. More...
- class Xfc::Pango::LayoutIter
    A PangoLayoutIter C++ wrapper class. More...
- class Xfc::Pango::Layout
    A PangoLayout C++ wrapper class. More...
- class Xfc::Pango::Renderer
    A PangoRenderer C++ wrapper class. More...
- class Xfc::Pango::ScriptIter
    A PangoScriptIter C++ wrapper class. More...
- class Xfc::Pango::TabArray
    A PangoTabArray C++ wrapper class. More...
- class Xfc::Pango::Rectangle
    A PangoRectangle C++ wrapper class. More...
- class Xfc::Pango::Matrix
    A PangoMatrix C++ wrapper class. More...

## Rendering Methods

- void break_text (const String &text, const Analysis &analysis, std::vector< LogAttr > &attrs)
    Determines possible line, word, and character breaks for a string of Unicode text.
- void find_paragraph_boundary (const String &text, int *paragraph_delimiter_index, int *next_paragraph_start)
    Locates a paragraph boundary in text.
- void get_log_attrs (const String &text, PangoLanguage *language, std::vector< LogAttr > &attrs, int level=-1)
    Computes a LogAttr for each character in text.

## Item methods

- std::vector< Pointer< Item > > reorder_items (const std::vector< Pointer< Item > > &logical_items)
    From a list of items in logical order and the associated directional levels, produce a list in visual order (the original list is unmodified).

## Script Methods

- Script script_for_unichar (G::Unichar ch)
    Looks up the Pango::Script for a particular character (as defined by Unicode Technical report 24).
- PangoLanguage * script_get_sample_language (Script script)
    Given a script, finds a language tag that is reasonably representative of that script.
- bool language_includes_script (PangoLanguage *language, Script script)
    Determines if script is one of the scripts used to write language.

## Direction Methods

- Direction unichar_direction (G::Unichar ch)
    Determines the direction of a character; either Pango::DIRECTION_LTR, Pango::DIRECTION_LTR, or Pango::DIRECTION_NEUTRAL.
- Direction find_base_dir (const char *text, int length=-1)
    Searches a string for the first character that has a strong direction, according to the Unicode bidirectional algorithm.

## Typedefs

- typedef unsigned int FontMaskField
    FontMaskField holds one or more values from the Pango::FontMask enumeration OR'd together.
- typedef PangoGlyphUnit GlyphUnit
    GlyphUnit is a convenient typedef for PangoGlyphUnit.
- typedef PangoGlyph Glyph
    Glyph is a convenient typedef for PangoGlyph.

## Enumerations

- enum Underline {
  UNDERLINE_NONE = PANGO_UNDERLINE_NONE,
  UNDERLINE_SINGLE = PANGO_UNDERLINE_SINGLE,
  UNDERLINE_DOUBLE = PANGO_UNDERLINE_DOUBLE,
  UNDERLINE_LOW = PANGO_UNDERLINE_LOW,
  UNDERLINE_ERROR = PANGO_UNDERLINE_ERROR
  }
    Underline is used to specify whether text should be underlined, and if so, the type of underlining. More...
- enum AttrType {
  ATTR_INVALID = PANGO_ATTR_INVALID,
  ATTR_LANGUAGE = PANGO_ATTR_LANGUAGE,
  ATTR_FAMILY = PANGO_ATTR_FAMILY,
  ATTR_STYLE = PANGO_ATTR_STYLE,
  ATTR_WEIGHT = PANGO_ATTR_WEIGHT,
  ATTR_VARIANT = PANGO_ATTR_VARIANT,
  ATTR_STRETCH = PANGO_ATTR_STRETCH,
  ATTR_SIZE = PANGO_ATTR_SIZE,
  ATTR_FONT_DESC = PANGO_ATTR_FONT_DESC,
  ATTR_FOREGROUND = PANGO_ATTR_FOREGROUND,
  ATTR_BACKGROUND = PANGO_ATTR_BACKGROUND,
  ATTR_UNDERLINE = PANGO_ATTR_UNDERLINE,
  ATTR_STRIKETHROUGH = PANGO_ATTR_STRIKETHROUGH,
  ATTR_RISE = PANGO_ATTR_RISE,
  ATTR_SHAPE = PANGO_ATTR_SHAPE,
  ATTR_SCALE = PANGO_ATTR_SCALE,
  ATTR_FALLBACK = PANGO_ATTR_FALLBACK,
  ATTR_LETTER_SPACING = PANGO_ATTR_LETTER_SPACING,
  ATTR_UNDERLINE_COLOR = PANGO_ATTR_UNDERLINE_COLOR,
  ATTR_STRIKETHROUGH_COLOR = PANGO_ATTR_STRIKETHROUGH_COLOR
  }
    Distinguishes between different types of attributes. More...
- enum CoverageLevel {
  COVERAGE_NONE = PANGO_COVERAGE_NONE,
  COVERAGE_FALLBACK = PANGO_COVERAGE_FALLBACK,
  COVERAGE_APPROXIMATE = PANGO_COVERAGE_APPROXIMATE,
  COVERAGE_EXACT = PANGO_COVERAGE_EXACT
  }
    Used to indicate how well a font can represent a particular ISO 10646 character point for a particular script. More...
- enum Style {
  STYLE_NORMAL = PANGO_STYLE_NORMAL,
  STYLE_OBLIQUE = PANGO_STYLE_OBLIQUE,
  STYLE_ITALIC = PANGO_STYLE_ITALIC
  }
    Specifies the various slant styles possible for a font. More...
- enum Variant {
  VARIANT_NORMAL = PANGO_VARIANT_NORMAL,
  VARIANT_SMALL_CAPS = PANGO_VARIANT_SMALL_CAPS
  }
    Specifies the capitalization variant of the font. More...
- enum Weight {
  WEIGHT_ULTALIGHT = PANGO_WEIGHT_ULTRALIGHT,
  WEIGHT_LIGHT = PANGO_WEIGHT_LIGHT,
  WEIGHT_NORMAL = PANGO_WEIGHT_NORMAL,
  WEIGHT_SEMIBOLD = PANGO_WEIGHT_SEMIBOLD,
  WEIGHT_BOLD = PANGO_WEIGHT_BOLD,
  WEIGHT_ULTRABOLD = PANGO_WEIGHT_ULTRABOLD,
  WEIGHT_HEAVY = PANGO_WEIGHT_HEAVY
  }
    Specifies the weight (boldness) of a font. More...
- enum Stretch {
  STRETCH_UTLRA_CONDENSED = PANGO_STRETCH_ULTRA_CONDENSED,
  STRETCH_EXTRA_CONDENSED = PANGO_STRETCH_EXTRA_CONDENSED,
  STRETCH_CONDENSED = PANGO_STRETCH_CONDENSED,
  STRETCH_SEMI_CONDENSED = PANGO_STRETCH_SEMI_CONDENSED,
  STRETCH_NORMAL = PANGO_STRETCH_NORMAL,
  STRETCH_SEMI_EXPANDED = PANGO_STRETCH_SEMI_EXPANDED,
  STRETCH_EXPANDED = PANGO_STRETCH_EXPANDED,
  STRETCH_EXTRA_EXPANDED = PANGO_STRETCH_EXTRA_EXPANDED,
  STRETCH_ULTRA_EXPANDED = PANGO_STRETCH_ULTRA_EXPANDED
  }
    Specifies the width of the font relative to other designs within a family. More...
- enum FontMask {
  FONT_MASK_FAMILY = PANGO_FONT_MASK_FAMILY,
  FONT_MASK_STYLE = PANGO_FONT_MASK_STYLE,
  FONT_MASK_VARIANT = PANGO_FONT_MASK_VARIANT,
  FONT_MASK_WEIGHT = PANGO_FONT_MASK_WEIGHT,
  FONT_MASK_STRETCH = PANGO_FONT_MASK_STRETCH,
  FONT_MASK_SIZE = PANGO_FONT_MASK_SIZE
  }
    The bit flags in a FontMask correspond to fields in a FontDescription that have been set. More...
- enum Alignment {
  ALIGN_LEFT = PANGO_ALIGN_LEFT,
  ALIGN_CENTER = PANGO_ALIGN_CENTER,
  ALIGN_RIGHT = PANGO_ALIGN_RIGHT
  }
    Describes how to align the lines of a Layout within the available space. More...
- enum WrapMode {
  WRAP_WORD = PANGO_WRAP_WORD,
  WRAP_CHAR = PANGO_WRAP_CHAR,
  WRAP_WORD_CHAR = PANGO_WRAP_WORD_CHAR
  }
- enum EllipsizeMode {
  ELLIPSIZE_NONE = PANGO_ELLIPSIZE_NONE,
  ELLIPSIZE_START = PANGO_ELLIPSIZE_START,
  ELLIPSIZE_MIDDLE = PANGO_ELLIPSIZE_MIDDLE,
  ELLIPSIZE_END = PANGO_ELLIPSIZE_END
  }
    Describes what sort of (if any) ellipsization should be applied to a line of text. More...
- enum RenderPart {
  RENDER_PART_FOREGROUND = PANGO_RENDER_PART_FOREGROUND,
  RENDER_PART_BACKGROUND = PANGO_RENDER_PART_BACKGROUND,
  RENDER_PART_UNDERLINE = PANGO_RENDER_PART_UNDERLINE,
  RENDER_PART_STRIKETHROUGH = PANGO_RENDER_PART_STRIKETHROUGH
  }
    Defines different items to render for such purposes as setting colors. More...
- enum Script {
  SCRIPT_INVALID_CODE = PANGO_SCRIPT_INVALID_CODE,
  SCRIPT_COMMON = PANGO_SCRIPT_COMMON,
  SCRIPT_INHERITED = PANGO_SCRIPT_INHERITED,
  SCRIPT_ARABIC = PANGO_SCRIPT_ARABIC,
  SCRIPT_ARMENIAN = PANGO_SCRIPT_ARMENIAN,
  SCRIPT_BENGALI = PANGO_SCRIPT_BENGALI,
  SCRIPT_BOPOMOFO = PANGO_SCRIPT_BOPOMOFO,
  SCRIPT_CHEROKEE = PANGO_SCRIPT_CHEROKEE,
  SCRIPT_COPTIC = PANGO_SCRIPT_COPTIC,
  SCRIPT_CYRILLIC = PANGO_SCRIPT_CYRILLIC,
  SCRIPT_DESERET = PANGO_SCRIPT_DESERET,
  SCRIPT_DEVANAGARI = PANGO_SCRIPT_DEVANAGARI,
  SCRIPT_ETHIOPIC = PANGO_SCRIPT_ETHIOPIC,
  SCRIPT_GEORGIAN = PANGO_SCRIPT_GEORGIAN,
  SCRIPT_GOTHIC = PANGO_SCRIPT_GOTHIC,
  SCRIPT_GREEK = PANGO_SCRIPT_GREEK,
  SCRIPT_GUJARATI = PANGO_SCRIPT_GUJARATI,
  SCRIPT_GURMUKHI = PANGO_SCRIPT_GURMUKHI,
  SCRIPT_HAN = PANGO_SCRIPT_HAN,
  SCRIPT_HANGUL = PANGO_SCRIPT_HANGUL,
  SCRIPT_HEBREW = PANGO_SCRIPT_HEBREW,
  SCRIPT_HIRAGANAPANGO_SCRIPT_HIRAGANA,
  SCRIPT_KANNADA = PANGO_SCRIPT_KANNADA,
  SCRIPT_KATAKANA = PANGO_SCRIPT_KATAKANA,
  SCRIPT_KHMER = PANGO_SCRIPT_KHMER,
  SCRIPT_LAO = PANGO_SCRIPT_LAO,
  SCRIPT_LATIN = PANGO_SCRIPT_LATIN,
  SCRIPT_MALAYALAM = PANGO_SCRIPT_MALAYALAM,
  SCRIPT_MONGOLIAN = PANGO_SCRIPT_MONGOLIAN,
  SCRIPT_MYANMAR = PANGO_SCRIPT_MYANMAR,
  SCRIPT_OGHAM = PANGO_SCRIPT_OGHAM,
  SCRIPT_OLD_ITALIC = PANGO_SCRIPT_OLD_ITALIC,
  SCRIPT_ORIYA = PANGO_SCRIPT_ORIYA,
  SCRIPT_RUNIC = PANGO_SCRIPT_RUNIC,
  SCRIPT_SINHALA = PANGO_SCRIPT_SINHALA,
  SCRIPT_SYRIAC = PANGO_SCRIPT_SYRIAC,
  SCRIPT_TAMIL = PANGO_SCRIPT_TAMIL,
  SCRIPT_TELUGU = PANGO_SCRIPT_TELUGU,
  SCRIPT_THAANA = PANGO_SCRIPT_THAANA,
  SCRIPT_THAI = PANGO_SCRIPT_THAI,
  SCRIPT_TIBETAN = PANGO_SCRIPT_TIBETAN,
  SCRIPT_CANADIAN_ABORIGINAL = PANGO_SCRIPT_CANADIAN_ABORIGINAL,
  SCRIPT_YI = PANGO_SCRIPT_YI,
  SCRIPT_TAGALOG = PANGO_SCRIPT_TAGALOG,
  SCRIPT_HANUNOO = PANGO_SCRIPT_HANUNOO,
  SCRIPT_BUHID = PANGO_SCRIPT_BUHID,
  SCRIPT_TAGBANWA = PANGO_SCRIPT_TAGBANWA,
  SCRIPT_BRAILLE = PANGO_SCRIPT_BRAILLE,
  SCRIPT_CYPRIOTPANGO_SCRIPT_CYPRIOT,
  SCRIPT_LIMBUPANGO_SCRIPT_LIMBU,
  SCRIPT_OSMANYA = PANGO_SCRIPT_OSMANYA,
  SCRIPT_SHAVIAN = PANGO_SCRIPT_SHAVIAN,
  SCRIPT_LINEAR_B = PANGO_SCRIPT_LINEAR_B,
  SCRIPT_TAI_LE = PANGO_SCRIPT_TAI_LE,
  SCRIPT_UGARITIC = PANGO_SCRIPT_UGARITIC
  }
    Identifies different writing systems. More...
- enum TabAlign { TAB_LEFT = PANGO_TAB_LEFT }
    Specifies where a tab stop appears relative to the text. More...
- enum Direction {
  DIRECTION_LTR = PANGO_DIRECTION_LTR,
  DIRECTION_RTL = PANGO_DIRECTION_RTL,
  DIRECTION_TTB_LTR = PANGO_DIRECTION_TTB_LTR,
  DIRECTION_TTB_RTL = PANGO_DIRECTION_TTB_RTL,
  DIRECTION_WEAK_LTR = PANGO_DIRECTION_WEAK_LTR,
  DIRECTION_WEAK_RTL = PANGO_DIRECTION_WEAK_RTL,
  DIRECTION_NEUTRAL = PANGO_DIRECTION_NEUTRAL
  }
    The Direction type represents the direction of writing for unicode bidirectional text. More...

## Detailed Description

The C++ framework for the Pango text handling library.

Pango is a library for internationalized text handling. It centers around the Pango::Layout object, representing a paragraph of text. Pango provides the engine for Gtk::TextView, Gtk::Label, Gtk::Entry and other widgets that display text.

## Typedef Documentation

typedef PangoGlyph Xfc::Pango::Glyph

| Glyph is a convenient typedef for PangoGlyph. Glyph structure represents a single glyph in the output form of a glyph string.

typedef PangoGlyphUnit Xfc::Pango::GlyphUnit

GlyphUnit is a convenient typedef for PangoGlyphUnit.

The GlyphUnit type is used to store dimensions within Pango. Dimensions are stored in 1/PANGO_SCALE of a device unit. (A device unit might be a pixel for screen display, or a point on a printer.) PANGO_SCALE is currently 1024, and is unlikely to change, but you should not depend on its exact value. The PANGO_PIXELS() macro can be used to convert from glyph units into device units with correct rounding.

## Enumeration Type Documentation

enum Alignment

Describes how to align the lines of a Layout within the available space.

If the PangoLayout is set to justify using Pango::Layout::set_justify(), then this only has an effect for partial lines.

Enumeration values:

  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.

enum 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_register_type(). The predefined values are given below. The type of class used to store the attribute is listed in parentheses after the description.

Enumeration values:

  ATTR_INVALID | Invalid.
  ATTR_LANGUAGE | Language (AttrLanguage).
  ATTR_FAMILY | Font family name list (AttrString).
  ATTR_STYLE | Font slant style (AttrInt).
  ATTR_WEIGHT | Font weight (AttrInt).
  ATTR_VARIANT | Font variant (normal or small caps) (AttrInt).
  ATTR_STRETCH | Font stretch (AttrInt).
  ATTR_SIZE | Font size in points divided by PANGO_SCALE (AttrInt).
  ATTR_FONT_DESC | Font description (AttrFontDesc).
  ATTR_FOREGROUND | Foreground color (AttrColor).
  ATTR_BACKGROUND | Background color (AttrColor).
  ATTR_UNDERLINE | Whether the text has an underline (AttrInt).
  ATTR_STRIKETHROUGH | Whether the text is struck-through (AttrInt).
  ATTR_RISE | Baseline displacement (AttrInt).
  ATTR_SHAPE | Shape (AttrShape).
  ATTR_SCALE | Font size scale factor (AttrScale).
  ATTR_FALLBACK | Whether fallback is enabled (AttrInt).
  ATTR_LETTER_SPACING | The amount of extra space to add between graphemes.
  ATTR_UNDERLINE_COLOR | The color of underlines.
  ATTR_STRIKETHROUGH_COLOR | The color of strikethrough lines.

enum CoverageLevel

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

Enumeration values:

  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.

enum Direction

The Direction type represents the direction of writing for unicode bidirectional text.

Note: Not every value in this enumeration makes sense for every usage of Pango::Direction.

Enumeration values:

  DIRECTION_LTR | The text is written left-to-right.
  DIRECTION_RTL | The text is written right-to-left.
  DIRECTION_TTB_LTR | The text is written vertically top-to-bottom, with the rows ordered from left to right.
  DIRECTION_TTB_RTL | The text is written vertically top-to-bottom, with the rows ordered from right to left.
  DIRECTION_WEAK_LTR | A weak left-to-right direction.
  DIRECTION_WEAK_RTL | A weak right-to-left direction .
  DIRECTION_NEUTRAL | No direction specified.

enum EllipsizeMode

Describes what sort of (if any) ellipsization should be applied to a line of text.

Enumeration values:

  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.

enum FontMask

The bit flags in a FontMask correspond to fields in a FontDescription that have been set.

Enumeration values:

  FONT_MASK_FAMILY | The font family is specified.
  FONT_MASK_STYLE | The font style is specified.
  FONT_MASK_VARIANT | T 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.

enum RenderPart

Defines different items to render for such purposes as setting colors.

Enumeration values:

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

enum Script

Identifies different writing systems.

The values correspond to the names defined in the Unicode standard (see Unicode Standard Annex 24: Script names).

Enumeration values:

  SCRIPT_INVALID_CODE | A value never used for any unicode character.
  SCRIPT_COMMON | Zyyy; a character used by multiple different scripts.
  SCRIPT_INHERITED | Qaai; a mark glyph that takes its script from the base glyph to which it is attached.
  SCRIPT_ARABIC | Arab.
  SCRIPT_ARMENIAN | Armn.
  SCRIPT_BENGALI | Beng.
  SCRIPT_BOPOMOFO | Bopo.
  SCRIPT_CHEROKEE | Cher.
  SCRIPT_COPTIC | Qaac.
  SCRIPT_CYRILLIC | Cyrl (Cyrs).
  SCRIPT_DESERET | Dsrt.
  SCRIPT_DEVANAGARI | Deva.
  SCRIPT_ETHIOPIC | Ethi.
  SCRIPT_GEORGIAN | Geor (Geon, Geoa).
  SCRIPT_GOTHIC | Goth.
  SCRIPT_GREEK | Grek.
  SCRIPT_GUJARATI | Gujr.
  SCRIPT_GURMUKHI | Guru.
  SCRIPT_HAN | Hani.
  SCRIPT_HANGUL | Hang.
  SCRIPT_HEBREW | Hebr.
  SCRIPT_HIRAGANAPANGO_SCRIPT_HIRAGANA | Hira.
  SCRIPT_KANNADA | Knda.
  SCRIPT_KATAKANA | Kana.
  SCRIPT_KHMER | Khmr.
  SCRIPT_LAO | Laoo.
  SCRIPT_LATIN | Latn (Latf, Latg).
  SCRIPT_MALAYALAM | Mlym.
  SCRIPT_MONGOLIAN | Mong.
  SCRIPT_MYANMAR | Mymr.
  SCRIPT_OGHAM | Ogam.
  SCRIPT_OLD_ITALIC | Ital.
  SCRIPT_ORIYA | Orya.
  SCRIPT_RUNIC | Runr.
  SCRIPT_SINHALA | Sinh.
  SCRIPT_SYRIAC | Syrc (Syrj, Syrn, Syre).
  SCRIPT_TAMIL | Taml.
  SCRIPT_TELUGU | Telu.
  SCRIPT_THAANA | Thaa.
  SCRIPT_THAI | Thai.
  SCRIPT_TIBETAN | Tibt.
  SCRIPT_CANADIAN_ABORIGINAL | Cans.
  SCRIPT_YI | Yiii.
  SCRIPT_TAGALOG | Tglg.
  SCRIPT_HANUNOO | Hano.
  SCRIPT_BUHID | Buhd.
  SCRIPT_TAGBANWA | Tagb.
  SCRIPT_BRAILLE | Brai.
  SCRIPT_CYPRIOTPANGO_SCRIPT_CYPRIOT | Cprt.
  SCRIPT_LIMBUPANGO_SCRIPT_LIMBU | Limb.
  SCRIPT_OSMANYA | Osma.
  SCRIPT_SHAVIAN | Shaw.
  SCRIPT_LINEAR_B | Linb.
  SCRIPT_TAI_LE | Tale.
  SCRIPT_UGARITIC | Ugar.

enum Stretch

Specifies the width of the font relative to other designs within a family.

Enumeration values:

  STRETCH_UTLRA_CONDENSED | Ultra condensed width.
  STRETCH_EXTRA_CONDENSED | Extra condensed width.
  STRETCH_CONDENSED | Condensed width.
  STRETCH_SEMI_CONDENSED | Semi condensed width.
  STRETCH_NORMAL | Normal width.
  STRETCH_SEMI_EXPANDED | Semi expanded width.
  STRETCH_EXPANDED | Expanded width.
  STRETCH_EXTRA_EXPANDED | Extra expanded width.
  STRETCH_ULTRA_EXPANDED | Ultra expanded width.

enum Style

Specifies the various slant styles possible for a font.

Enumeration values:

  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.

enum TabAlign

Specifies where a tab stop appears relative to the text.

Currently there is only TAB_LEFT, but TAB_RIGHT, TAB_CENTER and TAB_NUMERIC may be supported in the future.

Enumeration values:

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

enum Underline

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

Enumeration values:

  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; 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 possilble mispelling; in some cases an contrasting color may automatically be used.

enum Variant

Specifies the capitalization variant of the font.

Enumeration values:

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

enum Weight

Specifies the weight (boldness) of a font.

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

Enumeration values:

  WEIGHT_ULTALIGHT | The ultralight weight (= 200).
  WEIGHT_LIGHT | The light weight (=300).
  WEIGHT_NORMAL | The default weight (= 400).
  WEIGHT_SEMIBOLD | The semi bold weight (= 600).
  WEIGHT_BOLD | The bold weight (= 700).
  WEIGHT_ULTRABOLD | The ultrabold weight (= 800).
  WEIGHT_HEAVY | The heavy weight (= 900).

enum WrapMode

Enumeration values:

  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 enought space for a full word.

## Function Documentation

void break_text | ( | const String & | text,
|  | const Analysis & | analysis,
|  | std::vector< LogAttr > & | attrs
| ) |

Determines possible line, word, and character breaks for a string of Unicode text.

Parameters:

  | text | The text to process.
  | analysis | An Analysis structure from Pango::Context::itemize().
  | attrs | A vector of LogAttr to store the character information in.

Direction find_base_dir | ( | const char * | text,
|  | int | length = `-1`
| ) |

Searches a string for the first character that has a strong direction, according to the Unicode bidirectional algorithm.

Parameters:

  | text | The text to process.
  | length | The length of text in bytes, or -1 if text is null-terminated.

Returns:
  The direction corresponding to the first strong character.

If no such character is found, then Pango::DIRECTION_NEUTRAL is returned.

void find_paragraph_boundary | ( | const String & | text,
|  | int * | paragraph_delimiter_index,
|  | int * | next_paragraph_start
| ) |

Locates a paragraph boundary in text.

Parameters:

  | text | The UTF-8 text.
  | paragraph_delimiter_index | The return location for index of delimiter.
  | next_paragraph_start | The return location for start of next paragraph.

A boundary is caused by delimiter characters, such as a newline, carriage return, carriage return-newline pair, or Unicode paragraph separator character. The index of the run of delimiters is returned in paragraph_delimiter_index. The index of the start of the paragraph (index after all delimiters) is stored in next_paragraph_start. If no delimiters are found, both paragraph_delimiter_index and next_paragraph_start are filled with the length of text (an index one off the end).

void get_log_attrs | ( | const String & | text,
|  | PangoLanguage * | language,
|  | std::vector< LogAttr > & | attrs,
|  | int | level = `-1`
| ) |

Computes a LogAttr for each character in text.

Parameters:

  | text | The text to process.
  | language | The language tag.
  | attrs | A vector of LogAttr with one LogAttr per character in text, plus one extra, to be filled in.
  | level | The embedding level, or -1 if unknown.

The log_attrs vector must have one LogAttr for each position in text; if text contains N characters, it has N+1 positions, including the last position at the end of the text. text should be an entire paragraph; logical attributes can't be computed without context (for example you need to see spaces on either side of a word to know the word is a word).

bool language_includes_script | ( | PangoLanguage * | language,
|  | Script | script
| ) |

Determines if script is one of the scripts used to write language.

Parameters:

  | language | A PangoLanguage.
  | script | A Pango::Script

Returns:
  true if script is one of the scripts used to write language, or if nothing is known about language.

The returned value is conservative; if nothing is known about the language tag language, true will be returned, since, as far as Pango knows, script might be used to write language.

This routine is used in Pango's itemization process when determining if a supplied language tag is relevant to a particular section of text. It probably is not useful for applications in most circumstances.

std::vector<Pointer<Item> > reorder_items | ( | const std::vector< Pointer< Item > > & | logical_items | ) |

From a list of items in logical order and the associated directional levels, produce a list in visual order (the original list is unmodified).

Parameters:

  | logical_items | A vector of Pointer<Item> in logical order.

Returns:
  A vector of Pointer<Item> in visual order.

Please mail otaylor@redhat.com if you use this method. It is not a particularly convenient interface, and the code is duplicated elsewhere in Pango for that reason.

Script script_for_unichar | ( | G::Unichar | ch | ) |

Looks up the Pango::Script for a particular character (as defined by Unicode Technical report 24).

Parameters:

  | ch | A unicode character

Returns:
  The PangoScript for the character.

No check is made for ch being valid unicode character; if you pass in an invalid character, the result is undefined.

PangoLanguage* script_get_sample_language | ( | Script | script | ) |

Given a script, finds a language tag that is reasonably representative of that script.

Parameters:

  | script | A Pango::Script

Returns:
  A PangoLanguage that is representative of the script, or null if no such language exists.

This will usually be the most widely spoken or used language written in that script: for instance, the sample language for Pango::SCRIPT_CYRILLIC is ru (Russian), the sample lanugage for Pango::SCRIPT_ARABIC is ar. For some scripts, no sample language will be returned because there is no language that is sufficiently representative. The best example of this is Pango::SCRIPT_HAN, where various different variants of written Chinese, Japanese, and Korean all use significantly different sets of Han characters and forms of shared characters. No sample language can be provided for many historical scripts as well.

Direction unichar_direction | ( | G::Unichar | ch | ) |

Determines the direction of a character; either Pango::DIRECTION_LTR, Pango::DIRECTION_LTR, or Pango::DIRECTION_NEUTRAL.

Parameters:

  | ch | The character to examine.

Returns:
  The direction of a the character, as used in the Unicode bidirectional algorithm.

Xfce Foundation Classes

Copyright © 2004-2005 The XFC Development Team | XFC 4.3