Type of a function that can duplicate user data for an attribute.
Type of a function filtering a list of attributes.
Function type for rendering attributes of type %PANGO_ATTR_SHAPE with Pango's Cairo renderer.
A callback function used by pango_fontset_foreach() when enumerating the fonts in a fontset.
A #PangoGlyph represents a single glyph in the output form of a string.
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.
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.
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.
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.
The #PangoBidiType type represents the bidirectional character type of a Unicode character as specified by the <ulink url="http://www.unicode.org/reports/tr9/">Unicode bidirectional algorithm</ulink>.
Used to indicate how well a font can represent a particular Unicode character point for a particular script.
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 #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.
The bits in a #PangoFontMask correspond to fields in a #PangoFontDescription that have been set.
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().
The #PangoGravityHint defines how horizontal scripts should behave in a vertical context. That is, English excerpt in a vertical paragraph for example.
#PangoRenderPart defines different items to render for such purposes as setting colors.
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 <ulink url="http://www.unicode.org/reports/tr24/">Unicode Standard Annex #24: Script names</ulink>.
An enumeration specifying the width of the font relative to other designs within a family.
An enumeration specifying the various slant styles possible for a font.
A #PangoTabAlign specifies where a tab stop appears relative to the text.
The #PangoUnderline enumeration is used to specify whether text should be underlined, and if so, the type of underlining.
An enumeration specifying capitalization variant of the font.
An enumeration specifying the weight (boldness) of a font. This is a numerical value ranging from 100 to 1000, but there are some predefined values:
A #PangoWrapMode describes how to wrap the lines of a #PangoLayout to the desired width.
Whether the segment should be shifted to center around the baseline. Used in vertical writing directions mostly.
This flag is used to mark runs that hold ellipsized text, in an ellipsized layout.
This value can be used to set the start_index member of a #PangoAttribute such that the attribute covers from the beginning of the text.
A string constant defining the engine type for language engines. These engines derive from #PangoEngineLang.
A string constant defining the engine type for shaping engines. These engines derive from #PangoEngineShape.
The %PANGO_GLYPH_EMPTY macro represents a #PangoGlyph value that has a special meaning, which is a zero-width empty glyph. This is useful for example in shaper modules, to use as the glyph for various zero-width Unicode characters (those passing pango_is_zero_width()).
The %PANGO_GLYPH_INVALID_INPUT macro represents a #PangoGlyph value that has a special meaning of invalid input. #PangoLayout produces one such glyph per invalid input UTF-8 byte and such a glyph is rendered as a crossed box.
The %PANGO_GLYPH_UNKNOWN_FLAG macro is a flag value that can be added to a #gunichar value of a valid Unicode character, to produce a #PangoGlyph value, representing an unknown-character glyph for the respective #gunichar.
The scale factor for one magnification step (1.2)
The scale factor for normal size (1.0).
The scale factor for one shrinking step (1 / 1.2).
The scale factor for three magnification steps (1.2 * 1.2 * 1.2).
The scale factor for three shrinking steps (1 / (1.2 * 1.2 * 1.2)).
The scale factor for two magnification steps (1.2 * 1.2).
The scale factor for two shrinking steps (1 / (1.2 * 1.2)).
A string constant defining the render type for engines that are not rendering-system specific.
The %PANGO_SCALE macro represents the scale between dimensions used for Pango distances and device units. (The definition of device units is dependent on the output device; it will typically be pixels for a screen, and points for a printer.) %PANGO_SCALE is currently 1024, but this may be changed in the future.
A macro that should be defined by the user prior to including the pango.h header. The definition should be one of the predefined Pango version
The #PangoAnalysis structure stores information about the properties of a segment of text.
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.
The #PangoAttrColor structure is used to represent attributes that are colors.
The #PangoAttrFloat structure is used to represent attributes with a float or double value.
The #PangoAttrFontDesc structure is used to store an attribute that sets all aspects of the font description at once.
The #PangoAttrFontFeatures structure is used to represent OpenType font features as an attribute.
The #PangoAttrInt structure is used to represent attributes with an integer or enumeration value.
The #PangoAttrLanguage structure is used to represent attributes that are languages.
The #PangoAttrShape structure is used to represent attributes which impose shape restrictions.
The #PangoAttrSize structure is used to represent attributes which set font size.
The #PangoAttrString structure is used to represent attributes with a string value.
Class structure for #PangoEngine
The #PangoEngineInfo structure contains information about a particular engine. It contains the following fields:
Class structure for #PangoEngineLang
The #PangoEngineScriptInfo structure contains information about how the shaper covers a particular script.
Class structure for #PangoEngineShape
The #PangoFontMapClass structure holds the virtual functions for a particular #PangoFontMap implementation.
The #PangoFontsetClass structure holds the virtual functions for a particular #PangoFontset implementation.
The #PangoGlyphGeometry structure contains width and positioning information for a single glyph.
The #PangoGlyphInfo structure represents a single glyph together with positioning information and visual attributes. It contains the following fields.
The PangoGlyphVisAttr is used to communicate information between the shaping phase and the rendering phase. More attributes may be added in the future.
The #PangoIncludedModule structure for a statically linked module contains the functions that would otherwise be loaded from a dynamically loaded module.
The #PangoLogAttr structure stores information about the attributes of a single character.
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())
Class structure for #PangoRenderer.