gtkc.pangotypes

Undocumented in source.

Public Imports

gtkc.cairotypes
public import gtkc.cairotypes;
Undocumented in source.
gtkc.glibtypes
public import gtkc.glibtypes;
Undocumented in source.
gtkc.gobjecttypes
public import gtkc.gobjecttypes;
Undocumented in source.

Members

Aliases

FT_Face
alias FT_Face = void
Undocumented in source.
FcCharSet
alias FcCharSet = void
Undocumented in source.
FcPattern
alias FcPattern = void

* The pango Basic Types */

PangoAttrDataCopyFunc
alias PangoAttrDataCopyFunc = void* function(void* userData)
Undocumented in source.
PangoAttrFilterFunc
alias PangoAttrFilterFunc = int function(PangoAttribute* attribute, void* userData)
Undocumented in source.
PangoCairoShapeRendererFunc
alias PangoCairoShapeRendererFunc = void function(cairo_t* cr, PangoAttrShape* attr, int doPath, void* data)
Undocumented in source.
PangoFontsetForeachFunc
alias PangoFontsetForeachFunc = int function(PangoFontset* fontset, PangoFont* font, void* userData)
Undocumented in source.
PangoGlyph
alias PangoGlyph = uint

typedef guint32 PangoGlyph; A PangoGlyph represents a single glyph in the output form of a string.

PangoGlyphUnit
alias PangoGlyphUnit = int

typedef gint32 PangoGlyphUnit; The PangoGlyphUnit 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 may change in the future (unlikely though), 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.

PangoLayoutRun
alias PangoLayoutRun = PangoGlyphItem

typedef PangoGlyphItem PangoLayoutRun; The PangoLayoutRun structure represents a single run within a PangoLayoutLine; it is simply an alternate name for PangoGlyphItem. See the PangoGlyphItem docs for details on the fields.

Enums

PangoAlignment
enum PangoAlignment

A PangoAlignment describes how to align the lines of a PangoLayout within the available space. If the PangoLayout is set to justify using pango_layout_set_justify(), this only has effect for partial lines. PANGO_ALIGN_LEFT Put all available space on the right PANGO_ALIGN_CENTER Center the line within the available space PANGO_ALIGN_RIGHT Put all available space on the left

PangoAttrType
enum PangoAttrType

The PangoAttrType distinguishes between different types of attributes. Along with the predefined values, it is possible to allocate additional values for custom attributes using pango_attr_type_register(). The predefined values are given below. The type of structure used to store the attribute is listed in parentheses after the description. PANGO_ATTR_INVALID does not happen PANGO_ATTR_LANGUAGE language (PangoAttrLanguage) PANGO_ATTR_FAMILY font family name list (PangoAttrString) PANGO_ATTR_STYLE font slant style (PangoAttrInt) PANGO_ATTR_WEIGHT font weight (PangoAttrInt) PANGO_ATTR_VARIANT font variant (normal or small caps) (PangoAttrInt) PANGO_ATTR_STRETCH font stretch (PangoAttrInt) PANGO_ATTR_SIZE font size in points scaled by PANGO_SCALE (PangoAttrInt) PANGO_ATTR_FONT_DESC font description (PangoAttrFontDesc) PANGO_ATTR_FOREGROUND foreground color (PangoAttrColor) PANGO_ATTR_BACKGROUND background color (PangoAttrColor) PANGO_ATTR_UNDERLINE whether the text has an underline (PangoAttrInt) PANGO_ATTR_STRIKETHROUGH whether the text is struck-through (PangoAttrInt) PANGO_ATTR_RISE baseline displacement (PangoAttrInt) PANGO_ATTR_SHAPE shape (PangoAttrShape) PANGO_ATTR_SCALE font size scale factor (PangoAttrFloat) PANGO_ATTR_FALLBACK whether fallback is enabled (PangoAttrInt) PANGO_ATTR_LETTER_SPACING letter spacing (PangoAttrInt) PANGO_ATTR_UNDERLINE_COLOR underline color (PangoAttrColor) PANGO_ATTR_STRIKETHROUGH_COLOR strikethrough color (PangoAttrColor) PANGO_ATTR_ABSOLUTE_SIZE font size in pixels scaled by PANGO_SCALE (PangoAttrInt) PANGO_ATTR_GRAVITY base text gravity (PangoAttrInt) PANGO_ATTR_GRAVITY_HINT gravity hint (PangoAttrInt)

PangoBidiType
enum PangoBidiType

The PangoBidiType type represents the bidirectional character type of a Unicode character as specified by the Unicode bidirectional algorithm. PANGO_BIDI_TYPE_L Left-to-Right PANGO_BIDI_TYPE_LRE Left-to-Right Embedding PANGO_BIDI_TYPE_LRO Left-to-Right Override PANGO_BIDI_TYPE_R Right-to-Left PANGO_BIDI_TYPE_AL Right-to-Left Arabic PANGO_BIDI_TYPE_RLE Right-to-Left Embedding PANGO_BIDI_TYPE_RLO Right-to-Left Override PANGO_BIDI_TYPE_PDF Pop Directional Format PANGO_BIDI_TYPE_EN European Number PANGO_BIDI_TYPE_ES European Number Separator PANGO_BIDI_TYPE_ET European Number Terminator PANGO_BIDI_TYPE_AN Arabic Number PANGO_BIDI_TYPE_CS Common Number Separator PANGO_BIDI_TYPE_NSM Nonspacing Mark PANGO_BIDI_TYPE_BN Boundary Neutral PANGO_BIDI_TYPE_B Paragraph Separator PANGO_BIDI_TYPE_S Segment Separator PANGO_BIDI_TYPE_WS Whitespace PANGO_BIDI_TYPE_ON Other Neutrals Since 1.22

PangoCoverageLevel
enum PangoCoverageLevel

Used to indicate how well a font can represent a particular Unicode character point for a particular script. PANGO_COVERAGE_NONE The character is not representable with the font. PANGO_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. PANGO_COVERAGE_APPROXIMATE The character is represented as basically the correct graphical form, but with a stylistic variant inappropriate for the current script. PANGO_COVERAGE_EXACT The character is represented as the correct graphical form.

PangoDirection
enum PangoDirection

The PangoDirection type represents a direction in the Unicode bidirectional algorithm; not every value in this enumeration makes sense for every usage of PangoDirection; for example, the return value of pango_unichar_direction() and pango_find_base_dir() cannot be PANGO_DIRECTION_WEAK_LTR or PANGO_DIRECTION_WEAK_RTL, since every character is either neutral or has a strong direction; on the other hand PANGO_DIRECTION_NEUTRAL doesn't make sense to pass to pango_itemize_with_base_dir(). The PANGO_DIRECTION_TTB_LTR, PANGO_DIRECTION_TTB_RTL values come from an earlier interpretation of this enumeration as the writing direction of a block of text and are no longer used; See PangoGravity for how vertical text is handled in Pango. PANGO_DIRECTION_LTR A strong left-to-right direction PANGO_DIRECTION_RTL A strong right-to-left direction PANGO_DIRECTION_TTB_LTR Deprecated value; treated the same as PANGO_DIRECTION_RTL. PANGO_DIRECTION_TTB_RTL Deprecated value; treated the same as PANGO_DIRECTION_LTR PANGO_DIRECTION_WEAK_LTR A weak left-to-right direction PANGO_DIRECTION_WEAK_RTL A weak right-to-left direction PANGO_DIRECTION_NEUTRAL No direction specified

PangoEllipsizeMode
enum PangoEllipsizeMode

The PangoEllipsizeMode type describes what sort of (if any) ellipsization should be applied to a line of text. In the ellipsization process characters are removed from the text in order to make it fit to a given width and replaced with an ellipsis. PANGO_ELLIPSIZE_NONE No ellipsization PANGO_ELLIPSIZE_START Omit characters at the start of the text PANGO_ELLIPSIZE_MIDDLE Omit characters in the middle of the text PANGO_ELLIPSIZE_END Omit characters at the end of the text

PangoFontMask
enum PangoFontMask

The bits in a PangoFontMask correspond to fields in a PangoFontDescription that have been set. PANGO_FONT_MASK_FAMILY the font family is specified. PANGO_FONT_MASK_STYLE the font style is specified. PANGO_FONT_MASK_VARIANT the font variant is specified. PANGO_FONT_MASK_WEIGHT the font weight is specified. PANGO_FONT_MASK_STRETCH the font stretch is specified. PANGO_FONT_MASK_SIZE the font size is specified. PANGO_FONT_MASK_GRAVITY the font gravity is specified (Since: 1.16.)

PangoGravity
enum PangoGravity

The PangoGravity type represents the orientation of glyphs in a segment of text. This is useful when rendering vertical text layouts. In those situations, the layout is rotated using a non-identity PangoMatrix, and then glyph orientation is controlled using PangoGravity. Not every value in this enumeration makes sense for every usage of PangoGravity; 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: PangoGravityHint PANGO_GRAVITY_SOUTH Glyphs stand upright (default) PANGO_GRAVITY_EAST Glyphs are rotated 90 degrees clockwise PANGO_GRAVITY_NORTH Glyphs are upside-down PANGO_GRAVITY_WEST Glyphs are rotated 90 degrees counter-clockwise PANGO_GRAVITY_AUTO Gravity is resolved from the context matrix Since 1.16

PangoGravityHint
enum PangoGravityHint

The PangoGravityHint defines how horizontal scripts should behave in a vertical context. That is, English excerpt in a vertical paragraph for example. See PangoGravity. PANGO_GRAVITY_HINT_NATURAL scripts will take their natural gravity based on the base gravity and the script. This is the default. PANGO_GRAVITY_HINT_STRONG always use the base gravity set, regardless of the script. PANGO_GRAVITY_HINT_LINE for scripts not in their natural direction (eg. Latin in East gravity), choose per-script gravity such that every script respects the line progression. This means, Latin and Arabic will take opposite gravities and both flow top-to-bottom for example. Since 1.16

PangoRenderPart
enum PangoRenderPart

PangoRenderPart defines different items to render for such purposes as setting colors. PANGO_RENDER_PART_FOREGROUND the text itself PANGO_RENDER_PART_BACKGROUND the area behind the text PANGO_RENDER_PART_UNDERLINE underlines PANGO_RENDER_PART_STRIKETHROUGH strikethrough lines Since 1.8

PangoScript
enum PangoScript

The PangoScript enumeration identifies different writing systems. The values correspond to the names as defined in the Unicode standard. Note that new types may be added in the future. Applications should be ready to handle unknown values. This enumeration is interchangeable with GUnicodeScript. See Unicode Standard Annex #24: Script names. PANGO_SCRIPT_INVALID_CODE a value never returned from pango_script_for_unichar() PANGO_SCRIPT_COMMON a character used by multiple different scripts PANGO_SCRIPT_INHERITED a mark glyph that takes its script from the base glyph to which it is attached PANGO_SCRIPT_ARABIC Arabic PANGO_SCRIPT_ARMENIAN Armenian PANGO_SCRIPT_BENGALI Bengali PANGO_SCRIPT_BOPOMOFO Bopomofo PANGO_SCRIPT_CHEROKEE Cherokee PANGO_SCRIPT_COPTIC Coptic PANGO_SCRIPT_CYRILLIC Cyrillic PANGO_SCRIPT_DESERET Deseret PANGO_SCRIPT_DEVANAGARI Devanagari PANGO_SCRIPT_ETHIOPIC Ethiopic PANGO_SCRIPT_GEORGIAN Georgian PANGO_SCRIPT_GOTHIC Gothic PANGO_SCRIPT_GREEK Greek PANGO_SCRIPT_GUJARATI Gujarati PANGO_SCRIPT_GURMUKHI Gurmukhi PANGO_SCRIPT_HAN Han PANGO_SCRIPT_HANGUL Hangul PANGO_SCRIPT_HEBREW Hebrew PANGO_SCRIPT_HIRAGANA Hiragana PANGO_SCRIPT_KANNADA Kannada PANGO_SCRIPT_KATAKANA Katakana PANGO_SCRIPT_KHMER Khmer PANGO_SCRIPT_LAO Lao PANGO_SCRIPT_LATIN Latin PANGO_SCRIPT_MALAYALAM Malayalam PANGO_SCRIPT_MONGOLIAN Mongolian PANGO_SCRIPT_MYANMAR Myanmar PANGO_SCRIPT_OGHAM Ogham PANGO_SCRIPT_OLD_ITALIC Old Italic PANGO_SCRIPT_ORIYA Oriya PANGO_SCRIPT_RUNIC Runic PANGO_SCRIPT_SINHALA Sinhala PANGO_SCRIPT_SYRIAC Syriac PANGO_SCRIPT_TAMIL Tamil PANGO_SCRIPT_TELUGU Telugu PANGO_SCRIPT_THAANA Thaana PANGO_SCRIPT_THAI Thai PANGO_SCRIPT_TIBETAN Tibetan PANGO_SCRIPT_CANADIAN_ABORIGINAL Canadian Aboriginal PANGO_SCRIPT_YI Yi PANGO_SCRIPT_TAGALOG Tagalog PANGO_SCRIPT_HANUNOO Hanunoo PANGO_SCRIPT_BUHID Buhid PANGO_SCRIPT_TAGBANWA Tagbanwa PANGO_SCRIPT_BRAILLE Braille PANGO_SCRIPT_CYPRIOT Cypriot PANGO_SCRIPT_LIMBU Limbu PANGO_SCRIPT_OSMANYA Osmanya PANGO_SCRIPT_SHAVIAN Shavian PANGO_SCRIPT_LINEAR_B Linear B PANGO_SCRIPT_TAI_LE Tai Le PANGO_SCRIPT_UGARITIC Ugaritic PANGO_SCRIPT_NEW_TAI_LUE New Tai Lue. Since 1.10 PANGO_SCRIPT_BUGINESE Buginese. Since 1.10 PANGO_SCRIPT_GLAGOLITIC Glagolitic. Since 1.10 PANGO_SCRIPT_TIFINAGH Tifinagh. Since 1.10 PANGO_SCRIPT_SYLOTI_NAGRI Syloti Nagri. Since 1.10 PANGO_SCRIPT_OLD_PERSIAN Old Persian. Since 1.10 PANGO_SCRIPT_KHAROSHTHI Kharoshthi. Since 1.10 PANGO_SCRIPT_UNKNOWN an unassigned code point. Since 1.14 PANGO_SCRIPT_BALINESE Balinese. Since 1.14 PANGO_SCRIPT_CUNEIFORM Cuneiform. Since 1.14 PANGO_SCRIPT_PHOENICIAN Phoenician. Since 1.14 PANGO_SCRIPT_PHAGS_PA Phags-pa. Since 1.14 PANGO_SCRIPT_NKO N'Ko. Since 1.14 PANGO_SCRIPT_KAYAH_LI Kayah Li. Since 1.20.1 PANGO_SCRIPT_LEPCHA Lepcha. Since 1.20.1 PANGO_SCRIPT_REJANG Rejang. Since 1.20.1 PANGO_SCRIPT_SUNDANESE Sundanese. Since 1.20.1 PANGO_SCRIPT_SAURASHTRA Saurashtra. Since 1.20.1 PANGO_SCRIPT_CHAM Cham. Since 1.20.1 PANGO_SCRIPT_OL_CHIKI Ol Chiki. Since 1.20.1 PANGO_SCRIPT_VAI Vai. Since 1.20.1 PANGO_SCRIPT_CARIAN Carian. Since 1.20.1 PANGO_SCRIPT_LYCIAN Lycian. Since 1.20.1 PANGO_SCRIPT_LYDIAN Lydian. Since 1.20.1 PANGO_SCRIPT_BATAK Batak. Since 1.32 PANGO_SCRIPT_BRAHMI Brahmi. Since 1.32 PANGO_SCRIPT_MANDAIC Mandaic. Since 1.32 PANGO_SCRIPT_CHAKMA Chakma. Since: 1.32 PANGO_SCRIPT_MEROITIC_CURSIVE Meroitic Cursive. Since: 1.32 PANGO_SCRIPT_MEROITIC_HIEROGLYPHS Meroitic Hieroglyphs. Since: 1.32 PANGO_SCRIPT_MIAO Miao. Since: 1.32 PANGO_SCRIPT_SHARADA Sharada. Since: 1.32 PANGO_SCRIPT_SORA_SOMPENG Sora Sompeng. Since: 1.32 PANGO_SCRIPT_TAKRI Takri. Since: 1.32

PangoStretch
enum PangoStretch

An enumeration specifying the width of the font relative to other designs within a family. PANGO_STRETCH_ULTRA_CONDENSED ultra condensed width PANGO_STRETCH_EXTRA_CONDENSED extra condensed width PANGO_STRETCH_CONDENSED condensed width PANGO_STRETCH_SEMI_CONDENSED semi condensed width PANGO_STRETCH_NORMAL the normal width PANGO_STRETCH_SEMI_EXPANDED semi expanded width PANGO_STRETCH_EXPANDED expanded width PANGO_STRETCH_EXTRA_EXPANDED extra expanded width PANGO_STRETCH_ULTRA_EXPANDED ultra expanded width

PangoStyle
enum PangoStyle

An enumeration specifying the various slant styles possible for a font. PANGO_STYLE_NORMAL the font is upright. PANGO_STYLE_OBLIQUE the font is slanted, but in a roman style. PANGO_STYLE_ITALIC the font is slanted in an italic style.

PangoTabAlign
enum PangoTabAlign

A PangoTabAlign specifies where a tab stop appears relative to the text. PANGO_TAB_LEFT the tab stop appears to the left of the text.

PangoUnderline
enum PangoUnderline

the PangoUnderline enumeration is used to specify whether text should be underlined, and if so, the type of underlining. PANGO_UNDERLINE_NONE no underline should be drawn PANGO_UNDERLINE_SINGLE a single underline should be drawn PANGO_UNDERLINE_DOUBLE a double underline should be drawn PANGO_UNDERLINE_LOW a single underline should be drawn at a position beneath the ink extents of the text being underlined. This should be used only for underlining single characters, such as for keyboard accelerators. PANGO_UNDERLINE_SINGLE should be used for extended portions of text. PANGO_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 a contrasting color may automatically be used. This type of underlining is available since Pango 1.4.

PangoVariant
enum PangoVariant

An enumeration specifying capitalization variant of the font. PANGO_VARIANT_NORMAL A normal font. PANGO_VARIANT_SMALL_CAPS A font with the lower case characters replaced by smaller variants of the capital characters.

PangoWeight
enum PangoWeight

An enumeration specifying the weight (boldness) of a font. This is a numerical value ranging from 100 to 900, but there are some predefined values: PANGO_WEIGHT_THIN the thin weight (= 100; Since: 1.24) PANGO_WEIGHT_ULTRALIGHT the ultralight weight (= 200) PANGO_WEIGHT_LIGHT the light weight (= 300) PANGO_WEIGHT_BOOK the book weight (= 380; Since: 1.24) PANGO_WEIGHT_NORMAL the default weight (= 400) PANGO_WEIGHT_MEDIUM the normal weight (= 500; Since: 1.24) PANGO_WEIGHT_SEMIBOLD the semibold weight (= 600) PANGO_WEIGHT_BOLD the bold weight (= 700) PANGO_WEIGHT_ULTRABOLD the ultrabold weight (= 800) PANGO_WEIGHT_HEAVY the heavy weight (= 900) PANGO_WEIGHT_ULTRAHEAVY the ultraheavy weight (= 1000; Since: 1.24)

PangoWrapMode
enum PangoWrapMode

A PangoWrapMode describes how to wrap the lines of a PangoLayout to the desired width. PANGO_WRAP_WORD wrap lines at word boundaries. PANGO_WRAP_CHAR wrap lines at character boundaries. PANGO_WRAP_WORD_CHAR wrap lines at word boundaries, but fall back to character boundaries if there is not enough space for a full word.

Structs

PangoAnalysis
struct PangoAnalysis

The PangoAnalysis structure stores information about the properties of a segment of text. It has the following fields: PangoEngineShape *shape_engine; the engine for doing rendering-system-dependent processing. PangoEngineLang *lang_engine; the engine for doing rendering-system-independent processing. PangoFont *font; the font for this segment. guint8 level; the bidirectional level for this segment. guint8 gravity; the glyph orientation for this segment (A PangoGravity). guint8 flags; boolean flags for this segment (currently only one) (Since: 1.16). guint8 script; the detected script for this segment (A PangoScript) (Since: 1.18). PangoLanguage *language; the detected language for this segment. GSList *extra_attrs; extra attributes for this segment.

PangoAttrClass
struct PangoAttrClass

The PangoAttrClass structure stores the type and operations for a particular type of attribute. The functions in this structure should not be called directly. Instead, one should use the wrapper functions provided for PangoAttribute. PangoAttrType type; the type ID for this attribute copy () function to duplicate an attribute of this type (see pango_attribute_copy()) destroy () function to free an attribute of this type (see pango_attribute_destroy()) equal () function to check two attributes of this type for equality (see pango_attribute_equal())

PangoAttrColor
struct PangoAttrColor

The PangoAttrColor structure is used to represent attributes that are colors. PangoAttribute attr; the common portion of the attribute PangoColor color; the PangoColor which is the value of the attribute

PangoAttrFloat
struct PangoAttrFloat

The PangoAttrFloat structure is used to represent attributes with a float or double value. PangoAttribute attr; the common portion of the attribute double value; the value of the attribute

PangoAttrFontDesc
struct PangoAttrFontDesc

The PangoAttrFontDesc structure is used to store an attribute that sets all aspects of the font description at once. PangoAttribute attr; the common portion of the attribute PangoFontDescription *desc; the font description which is the value of this attribute

PangoAttrInt
struct PangoAttrInt

The PangoAttrInt structure is used to represent attributes with an integer or enumeration value. PangoAttribute attr; the common portion of the attribute int value; the value of the attribute

PangoAttrIterator
struct PangoAttrIterator

The PangoAttrIterator structure is used to represent an iterator through a PangoAttrList. A new iterator is created with pango_attr_list_get_iterator(). Once the iterator is created, it can be advanced through the style changes in the text using pango_attr_iterator_next(). At each style change, the range of the current style segment and the attributes currently in effect can be queried.

PangoAttrLanguage
struct PangoAttrLanguage

The PangoAttrLanguage structure is used to represent attributes that are languages. PangoAttribute attr; the common portion of the attribute PangoLanguage *value; the PangoLanguage which is the value of the attribute

PangoAttrList
struct PangoAttrList

The PangoAttrList structure represents a list of attributes that apply to a section of text. The attributes are, in general, allowed to overlap in an arbitrary fashion, however, if the attributes are manipulated only through pango_attr_list_change(), the overlap between properties will meet stricter criteria. Since the PangoAttrList structure is stored as a linear list, it is not suitable for storing attributes for large amounts of text. In general, you should not use a single PangoAttrList for more than one paragraph of text.

PangoAttrShape
struct PangoAttrShape

The PangoAttrShape structure is used to represent attributes which impose shape restrictions. PangoAttribute attr; the common portion of the attribute PangoRectangle ink_rect; the ink rectangle to restrict to PangoRectangle logical_rect; the logical rectangle to restrict to gpointer data; user data set (see pango_attr_shape_new_with_data()) PangoAttrDataCopyFunc copy_func; copy function for the user data GDestroyNotify destroy_func; destroy function for the user data

PangoAttrSize
struct PangoAttrSize

The PangoAttrShape structure is used to represent attributes which set font size. PangoAttribute attr; the common portion of the attribute int size; size of font, in units of 1/PANGO_SCALE of a point (for PANGO_ATTR_SIZE) or of a device uni (for PANGO_ATTR_ABSOLUTE_SIZE) guint absolute : 1; whether the font size is in device units or points. This field is only present for compatibility with Pango-1.8.0 (PANGO_ATTR_ABSOLUTE_SIZE was added in 1.8.1); and always will be FALSE for PANGO_ATTR_SIZE and TRUE for PANGO_ATTR_ABSOLUTE_SIZE.

PangoAttrString
struct PangoAttrString

The PangoAttrString structure is used to represent attributes with a string value. PangoAttribute attr; the common portion of the attribute char *value; the string which is the value of the attribute

PangoAttribute
struct PangoAttribute

Main Gtk struct. The PangoAttribute structure represents the common portions of all attributes. Particular types of attributes include this structure as their initial portion. The common portion of the attribute holds the range to which the value in the type-specific part of the attribute applies and should be initialized using pango_attribute_init(). By default an attribute will have an all-inclusive range of [0,G_MAXUINT]. const PangoAttrClass *klass; the class structure holding information about the type of the attribute guint start_index; the start index of the range (in bytes). guint end_index; end index of the range (in bytes). The character at this index is not included in the range.

PangoCairoFont
struct PangoCairoFont

PangoCairoFont is an interface exported by fonts for use with Cairo. The actual type of the font will depend on the particular font technology Cairo was compiled to use. Since 1.18

PangoCairoFontMap
struct PangoCairoFontMap

PangoCairoFontMap is an interface exported by font maps for use with Cairo. The actual type of the font map will depend on the particular font technology Cairo was compiled to use. Since 1.10

PangoColor
struct PangoColor

The PangoColor structure is used to represent a color in an uncalibrated RGB color-space.

PangoContext
struct PangoContext

Main Gtk struct. The PangoContext structure stores global information used to control the itemization process.

PangoCoverage
struct PangoCoverage

Main Gtk struct. The PangoCoverage structure represents a map from Unicode characters to PangoCoverageLevel. It is an opaque structure with no public fields.

PangoEngine
struct PangoEngine

Main Gtk struct. PangoEngine is the base class for all types of language and script specific engines. It has no functionality by itself.

PangoEngineClass
struct PangoEngineClass

Class structure for PangoEngine

PangoEngineInfo
struct PangoEngineInfo

The PangoEngineInfo structure contains information about a particular engine. It contains the following fields: const gchar *id; a unique string ID for the engine. const gchar *engine_type; a string identifying the engine type. const gchar *render_type; a string identifying the render type. PangoEngineScriptInfo *scripts; array of scripts this engine supports. gint n_scripts; number of items in scripts.

PangoEngineLang
struct PangoEngineLang

Main Gtk struct. The PangoEngineLang class is implemented by engines that customize the rendering-system independent part of the Pango pipeline for a particular script or language. For instance, a custom PangoEngineLang could be provided for Thai to implement the dictionary-based word boundary lookups needed for that language.

PangoEngineLangClass
struct PangoEngineLangClass

Class structure for PangoEngineLang script_break () Provides a custom implementation of pango_break(). If NULL, pango_default_break() is used instead. If not NULL, for Pango versions before 1.16 (module interface version before 1.6.0), this was called instead of pango_default_break(), but in newer versions, pango_default_break() is always called and this is called after that to allow tailoring the breaking results.

PangoEngineScriptInfo
struct PangoEngineScriptInfo

The PangoEngineScriptInfo structure contains information about how the shaper covers a particular script. PangoScript script; a PangoScript. The value PANGO_SCRIPT_COMMON has the special meaning here of "all scripts" const gchar *langs; a semicolon separated list of languages that this engine handles for this script. This may be empty, in which case the engine is saying that it is a fallback choice for all languages for this range, but should not be used if another engine indicates that it is specific for the language for a given code point. An entry in this list of "*" indicates that this engine is specific to all languages for this range.

PangoEngineShape
struct PangoEngineShape

Main Gtk struct. The PangoEngineShape class is implemented by engines that customize the rendering-system dependent part of the Pango pipeline for a particular script or language. A PangoEngineShape implementation is then specific to both a particular rendering system or group of rendering systems and to a particular script. For instance, there is one PangoEngineShape implementation to handle shaping Arabic for Fontconfig-based backends.

PangoEngineShapeClass
struct PangoEngineShapeClass

Class structure for PangoEngineShape script_shape () Given a font, a piece of text, and a PangoAnalysis structure, converts characters to glyphs and positions the resulting glyphs. The results are stored in the PangoGlyphString that is passed in. (The implementation should resize it appropriately using pango_glyph_string_set_size()). All fields of the log_clusters and glyphs array must be filled in, with the exception that Pango will automatically generate glyphs->glyphsi.attr.is_cluster_start using the log_clusters array. Each input character must occur in one of the output logical clusters; if no rendering is desired for a character, this may involve inserting glyphs with the PangoGlyph ID PANGO_GLYPH_EMPTY, which is guaranteed never to render. If the shaping fails for any reason, the shaper should return with an empty (zero-size) glyph string. If the shaper has not set the size on the glyph string yet, simply returning signals the failure too. covers () Returns the characters that this engine can cover with a given font for a given language. If not overridden, the default implementation simply returns the coverage information for the font itself unmodified.

PangoFont
struct PangoFont

Main Gtk struct. The PangoFont structure is used to represent a font in a rendering-system-independent matter. To create an implementation of a PangoFont, the rendering-system specific code should allocate a larger structure that contains a nested PangoFont, fill in the klass member of the nested PangoFont with a pointer to a appropriate PangoFontClass, then call pango_font_init() on the structure. The PangoFont structure contains one member which the implementation fills in.

PangoFontDescription
struct PangoFontDescription

The PangoFontDescription structure represents the description of an ideal font. These structures are used both to list what fonts are available on the system and also for specifying the characteristics of a font to load.

PangoFontFace
struct PangoFontFace

The PangoFontFace structure is used to represent a group of fonts with the same family, slant, weight, width, but varying sizes.

PangoFontFamily
struct PangoFontFamily

The PangoFontFamily structure is used to represent a family of related font faces. The faces in a family share a common design, but differ in slant, weight, width and other aspects.

PangoFontMap
struct PangoFontMap

The PangoFontMap represents the set of fonts available for a particular rendering system. This is a virtual object with implementations being specific to particular rendering systems. To create an implementation of a PangoFontMap, the rendering-system specific code should allocate a larger structure that contains a nested PangoFontMap, fill in the klass member of the nested PangoFontMap with a pointer to a appropriate PangoFontMapClass, then call pango_font_map_init() on the structure. The PangoFontMap structure contains one member which the implementation fills in.

PangoFontMapClass
struct PangoFontMapClass

The PangoFontMapClass structure holds the virtual functions for a particular PangoFontMap implementation. GObjectClass parent_class; parent GObjectClass. load_font () a function to load a font with a given description. See pango_font_map_load_font(). list_families () A function to list available font families. See pango_font_map_list_families(). load_fontset () a function to load a fontset with a given description suitable for a particular language. See pango_font_map_load_fontset(). const char *shape_engine_type; the type of rendering-system-dependent engines that can handle fonts of this fonts loaded with this fontmap. get_serial () a function to get the serial number of the fontmap. See pango_font_map_get_serial(). changed ()

PangoFontMetrics
struct PangoFontMetrics

A PangoFontMetrics structure holds the overall metric information for a font (possibly restricted to a script). The fields of this structure are private to implementations of a font backend. See the documentation of the corresponding getters for documentation of their meaning.

PangoFontset
struct PangoFontset

A PangoFontset represents a set of PangoFont to use when rendering text. It is the result of resolving a PangoFontDescription against a particular PangoContext. It has operations for finding the component font for a particular Unicode character, and for finding a composite set of metrics for the entire fontset.

PangoFontsetClass
struct PangoFontsetClass

The PangoFontsetClass structure holds the virtual functions for a particular PangoFontset implementation. GObjectClass parent_class; parent GObjectClass. get_font () a function to get the font in the fontset that contains the best glyph for the given Unicode character; see pango_fontset_get_font(). get_metrics () a function to get overall metric information for the fonts in the fontset; see pango_fontset_get_metrics(). get_language () a function to get the language of the fontset. foreach () a function to loop over the fonts in the fontset. See pango_fontset_foreach().

PangoFontsetSimple
struct PangoFontsetSimple

PangoFontsetSimple is a implementation of the abstract PangoFontset base class in terms of an array of fonts, which the creator provides when constructing the PangoFontsetSimple.

PangoGlyphGeometry
struct PangoGlyphGeometry

The PangoGlyphGeometry structure contains width and positioning information for a single glyph. PangoGlyphUnit width; the logical width to use for the the character. PangoGlyphUnit x_offset; horizontal offset from nominal character position. PangoGlyphUnit y_offset; vertical offset from nominal character position.

PangoGlyphInfo
struct PangoGlyphInfo

The PangoGlyphInfo structure represents a single glyph together with positioning information and visual attributes. It contains the following fields. PangoGlyph glyph; the glyph itself. PangoGlyphGeometry geometry; the positional information about the glyph. PangoGlyphVisAttr attr; the visual attributes of the glyph.

PangoGlyphItem
struct PangoGlyphItem

A PangoGlyphItem is a pair of a PangoItem and the glyphs resulting from shaping the text corresponding to an item. As an example of the usage of PangoGlyphItem, the results of shaping text with PangoLayout is a list of PangoLayoutLine, each of which contains a list of PangoGlyphItem.

PangoGlyphItemIter
struct PangoGlyphItemIter

A PangoGlyphItemIter is an iterator over the clusters in a PangoGlyphItem. The forward direction of the iterator is the logical direction of text. That is, with increasing start_index and start_char values. If glyph_item is right-to-left (that is, if glyph_item->item->analysis.level is odd), then start_glyph decreases as the iterator moves forward. Moreover, in right-to-left cases, start_glyph is greater than end_glyph. An iterator should be initialized using either of pango_glyph_item_iter_init_start() and pango_glyph_item_iter_init_end(), for forward and backward iteration respectively, and walked over using any desired mixture of pango_glyph_item_iter_next_cluster() and pango_glyph_item_iter_prev_cluster(). A common idiom for doing a forward iteration over the clusters is: PangoGlyphItemIter cluster_iter; gboolean have_cluster; for (have_cluster = pango_glyph_item_iter_init_start (cluster_iter,

PangoGlyphString
struct PangoGlyphString

The PangoGlyphString structure is used to store strings of glyphs with geometry and visual attribute information. The storage for the glyph information is owned by the structure which simplifies memory management.

PangoGlyphVisAttr
struct PangoGlyphVisAttr

The PangoGlyphVisAttr is used to communicate information between the shaping phase and the rendering phase. More attributes may be added in the future. guint is_cluster_start : 1; set for the first logical glyph in each cluster. (Clusters are stored in visual order, within the cluster, glyphs are always ordered in logical order, since visual order is meaningless; that is, in Arabic text, accent glyphs follow the glyphs for the base character.)

PangoItem
struct PangoItem

The PangoItem structure stores information about a segment of text. It contains the following fields:

PangoLanguage
struct PangoLanguage

The PangoLanguage structure is used to represent a language. PangoLanguage pointers can be efficiently copied and compared with each other.

PangoLayout
struct PangoLayout

Main Gtk struct. The PangoLayout structure represents an entire paragraph of text. It is initialized with a PangoContext, UTF-8 string and set of attributes for that string. Once that is done, the set of formatted lines can be extracted from the object, the layout can be rendered, and conversion between logical character positions within the layout's text, and the physical position of the resulting glyphs can be made. There are also a number of parameters to adjust the formatting of a PangoLayout, which are illustrated in Figure 1, “Adjustable parameters for a PangoLayout”. It is possible, as well, to ignore the 2-D setup, and simply treat the results of a PangoLayout as a list of lines. Figure 1. Adjustable parameters for a PangoLayout The PangoLayout structure is opaque, and has no user-visible fields.

PangoLayoutIter
struct PangoLayoutIter

A PangoLayoutIter structure can be used to iterate over the visual extents of a PangoLayout. The PangoLayoutIter structure is opaque, and has no user-visible fields.

PangoLayoutLine
struct PangoLayoutLine

The PangoLayoutLine structure represents one of the lines resulting from laying out a paragraph via PangoLayout. PangoLayoutLine structures are obtained by calling pango_layout_get_line() and are only valid until the text, attributes, or settings of the parent PangoLayout are modified. Routines for rendering PangoLayout objects are provided in code specific to each rendering system.

PangoLogAttr
struct PangoLogAttr

The PangoLogAttr structure stores information about the attributes of a single character. guint is_line_break : 1; if set, can break line in front of character guint is_mandatory_break : 1; if set, must break line in front of character guint is_char_break : 1; if set, can break here when doing character wrapping guint is_white : 1; is whitespace character guint is_cursor_position : 1; if set, cursor can appear in front of character. i.e. this is a grapheme boundary, or the first character in the text. This flag implements Unicode's Grapheme Cluster Boundaries semantics. guint is_word_start : 1; is first character in a word guint is_word_end : 1; is first non-word char after a word Note that in degenerate cases, you could have both is_word_start and is_word_end set for some character. guint is_sentence_boundary : 1; is a sentence boundary. There are two ways to divide sentences. The first assigns all inter-sentence whitespace/control/format chars to some sentence, so all chars are in some sentence; is_sentence_boundary denotes the boundaries there. The second way doesn't assign between-sentence spaces, etc. to any sentence, so is_sentence_start/is_sentence_end mark the boundaries of those sentences. guint is_sentence_start : 1; is first character in a sentence guint is_sentence_end : 1; is first char after a sentence. Note that in degenerate cases, you could have both is_sentence_start and is_sentence_end set for some character. (e.g. no space after a period, so the next sentence starts right away) guint backspace_deletes_character : 1; if set, backspace deletes one character rather than the entire grapheme cluster. This field is only meaningful on grapheme boundaries (where is_cursor_position is set). In some languages, the full grapheme (e.g. letter + diacritics) is considered a unit, while in others, each decomposed character in the grapheme is a unit. In the default implementation of pango_break(), this bit is set on all grapheme boundaries except those following Latin, Cyrillic or Greek base characters. guint is_expandable_space : 1; is a whitespace character that can possibly be expanded for justification purposes. (Since: 1.18) guint is_word_boundary : 1; is a word boundary. More specifically, means that this is not a position in the middle of a word. For example, both sides of a punctuation mark are considered word boundaries. This flag is particularly useful when selecting text word-by-word. This flag implements Unicode's Word Boundaries semantics. (Since: 1.22)

PangoMatrix
struct PangoMatrix

Main Gtk struct. A structure specifying a transformation between user-space coordinates and device coordinates. The transformation is given by x_device = x_user * matrix->xx + y_user * matrix->xy + matrix->x0; y_device = x_user * matrix->yx + y_user * matrix->yy + matrix->y0; double xx; 1st component of the transformation matrix double xy; 2nd component of the transformation matrix double yx; 3rd component of the transformation matrix double yy; 4th component of the transformation matrix double x0; x translation double y0; y translation Since 1.6

PangoRectangle
struct PangoRectangle

The PangoRectangle structure represents a rectangle. It is frequently used to represent the logical or ink extents of a single glyph or section of text. (See, for instance, pango_font_get_glyph_extents()) int x; X coordinate of the left side of the rectangle. int y; Y coordinate of the the top side of the rectangle. int width; width of the rectangle. int height; height of the rectangle.

PangoRenderer
struct PangoRenderer

Main Gtk struct. PangoRenderer is a base class for objects that are used to render Pango objects such as PangoGlyphString and PangoLayout. PangoMatrix *matrix; the current transformation matrix for the Renderer; may be NULL, which should be treated the same as the identity matrix. Since 1.8

PangoRendererClass
struct PangoRendererClass

Class structure for PangoRenderer. draw_glyphs () draws a PangoGlyphString draw_rectangle () draws a rectangle draw_error_underline () draws a squiggly line that approximately covers the given rectangle in the style of an underline used to indicate a spelling error. draw_shape () draw content for a glyph shaped with PangoAttrShape. x, y are the coordinates of the left edge of the baseline, in user coordinates. draw_trapezoid () draws a trapezoidal filled area draw_glyph () draws a single glyph part_changed () do renderer specific processing when rendering attributes change begin () Do renderer-specific initialization before drawing end () Do renderer-specific cleanup after drawing prepare_run () updates the renderer for a new run draw_glyph_item () draws a PangoGlyphItem Since 1.8

PangoScriptIter
struct PangoScriptIter

A PangoScriptIter is used to iterate through a string and identify ranges in different scripts.

PangoTabArray
struct PangoTabArray

Main Gtk struct. A PangoTabArray struct contains an array of tab stops. Each tab stop has an alignment and a position.

Variables

PANGO_SCALE
int PANGO_SCALE;
Undocumented in source.
PANGO_SCALE_LARGE
double PANGO_SCALE_LARGE;

The scale factor for one magnification step (1.2)

PANGO_SCALE_MEDIUM
double PANGO_SCALE_MEDIUM;

The scale factor for normal size (1.0).

PANGO_SCALE_SMALL
double PANGO_SCALE_SMALL;

The scale factor for one shrinking step (1 / 1.2).

PANGO_SCALE_XX_LARGE
double PANGO_SCALE_XX_LARGE;

The scale factor for three magnification steps (1.2 * 1.2 * 1.2).

PANGO_SCALE_XX_SMALL
double PANGO_SCALE_XX_SMALL;

The scale factor for three shrinking steps (1 / (1.2 * 1.2 * 1.2)).

PANGO_SCALE_X_LARGE
double PANGO_SCALE_X_LARGE;

The scale factor for two magnification steps (1.2 * 1.2).

PANGO_SCALE_X_SMALL
double PANGO_SCALE_X_SMALL;

The scale factor for two shrinking steps (1 / (1.2 * 1.2)).

Meta