pango.c.types

Public Imports

cairo.c.types
public import cairo.c.types;
glib.c.types
public import glib.c.types;
gobject.c.types
public import gobject.c.types;

Members

Aliases

PangoAttrDataCopyFunc
alias PangoAttrDataCopyFunc = void* function(void* userData)

Type of a function that can duplicate user data for an attribute.

PangoAttrFilterFunc
alias PangoAttrFilterFunc = int function(PangoAttribute* attribute, void* userData)

Type of a function filtering a list of attributes.

PangoCairoShapeRendererFunc
alias PangoCairoShapeRendererFunc = void function(cairo_t* cr, PangoAttrShape* attr, int doPath, void* data)

Function type for rendering attributes of type PANGO_ATTR_SHAPE with Pango's Cairo renderer.

PangoFontsetForeachFunc
alias PangoFontsetForeachFunc = int function(PangoFontset* fontset, PangoFont* font, void* userData)

A callback function used by pango_fontset_foreach() when enumerating the fonts in a fontset.

PangoGlyph
alias PangoGlyph = uint

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

PangoGlyphUnit
alias PangoGlyphUnit = int

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

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.

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.

PangoBidiType
enum PangoBidiType

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

PangoCoverageLevel
enum PangoCoverageLevel

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

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

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.

PangoFontMask
enum PangoFontMask

The bits in a PangoFontMask correspond to fields in a PangoFontDescription that have been set.

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

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.

PangoRenderPart
enum PangoRenderPart

PangoRenderPart defines different items to render for such purposes as setting colors.

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 <ulink url="http://www.unicode.org/reports/tr24/">Unicode Standard Annex [24.get|24.get] Script names</ulink>.

PangoStretch
enum PangoStretch

An enumeration specifying the width of the font relative to other designs within a family.

PangoStyle
enum PangoStyle

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

PangoTabAlign
enum PangoTabAlign

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

PangoUnderline
enum PangoUnderline

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

PangoVariant
enum PangoVariant

An enumeration specifying capitalization variant of the font.

PangoWeight
enum PangoWeight

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:

PangoWrapMode
enum PangoWrapMode

A PangoWrapMode describes how to wrap the lines of a PangoLayout to the desired width.

Manifest constants

ANALYSIS_FLAG_CENTERED_BASELINE
enum ANALYSIS_FLAG_CENTERED_BASELINE;

Whether the segment should be shifted to center around the baseline. Used in vertical writing directions mostly.

ANALYSIS_FLAG_IS_ELLIPSIS
enum ANALYSIS_FLAG_IS_ELLIPSIS;

This flag is used to mark runs that hold ellipsized text, in an ellipsized layout.

ATTR_INDEX_FROM_TEXT_BEGINNING
enum ATTR_INDEX_FROM_TEXT_BEGINNING;

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.

ENGINE_TYPE_LANG
enum ENGINE_TYPE_LANG;

A string constant defining the engine type for language engines. These engines derive from PangoEngineLang

ENGINE_TYPE_SHAPE
enum ENGINE_TYPE_SHAPE;

A string constant defining the engine type for shaping engines. These engines derive from PangoEngineShape

GLYPH_EMPTY
enum GLYPH_EMPTY;

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

GLYPH_INVALID_INPUT
enum GLYPH_INVALID_INPUT;

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.

GLYPH_UNKNOWN_FLAG
enum GLYPH_UNKNOWN_FLAG;

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

RENDER_TYPE_NONE
enum RENDER_TYPE_NONE;

A string constant defining the render type for engines that are not rendering-system specific.

SCALE
enum SCALE;

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.

VERSION_MIN_REQUIRED
enum VERSION_MIN_REQUIRED;

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

Structs

PangoAnalysis
struct PangoAnalysis

The PangoAnalysis structure stores information about the properties of a segment of text.

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

PangoAttrColor
struct PangoAttrColor

The PangoAttrColor structure is used to represent attributes that are colors.

PangoAttrFloat
struct PangoAttrFloat

The PangoAttrFloat structure is used to represent attributes with a float or double value.

PangoAttrFontDesc
struct PangoAttrFontDesc

The PangoAttrFontDesc structure is used to store an attribute that sets all aspects of the font description at once.

PangoAttrFontFeatures
struct PangoAttrFontFeatures

The PangoAttrFontFeatures structure is used to represent OpenType font features as an attribute.

PangoAttrInt
struct PangoAttrInt

The PangoAttrInt structure is used to represent attributes with an integer or enumeration value.

PangoAttrLanguage
struct PangoAttrLanguage

The PangoAttrLanguage structure is used to represent attributes that are languages.

PangoAttrShape
struct PangoAttrShape

The PangoAttrShape structure is used to represent attributes which impose shape restrictions.

PangoAttrSize
struct PangoAttrSize

The PangoAttrSize structure is used to represent attributes which set font size.

PangoAttrString
struct PangoAttrString

The PangoAttrString structure is used to represent attributes with a string value.

PangoAttribute
struct PangoAttribute
PangoColor
struct PangoColor
PangoEngineClass
struct PangoEngineClass

Class structure for PangoEngine

PangoEngineInfo
struct PangoEngineInfo

The PangoEngineInfo structure contains information about a particular engine. It contains the following fields:

PangoEngineLangClass
struct PangoEngineLangClass

Class structure for PangoEngineLang

PangoEngineScriptInfo
struct PangoEngineScriptInfo

The PangoEngineScriptInfo structure contains information about how the shaper covers a particular script.

PangoEngineShapeClass
struct PangoEngineShapeClass

Class structure for PangoEngineShape

PangoFontClass
struct PangoFontClass
PangoFontFaceClass
struct PangoFontFaceClass
PangoFontFamilyClass
struct PangoFontFamilyClass
PangoFontMapClass
struct PangoFontMapClass

The PangoFontMapClass structure holds the virtual functions for a particular PangoFontMap implementation.

PangoFontsetClass
struct PangoFontsetClass

The PangoFontsetClass structure holds the virtual functions for a particular PangoFontset implementation.

PangoGlyphGeometry
struct PangoGlyphGeometry

The PangoGlyphGeometry structure contains width and positioning information for a single glyph.

PangoGlyphInfo
struct PangoGlyphInfo

The PangoGlyphInfo structure represents a single glyph together with positioning information and visual attributes. It contains the following fields.

PangoGlyphItem
struct PangoGlyphItem
PangoGlyphString
struct PangoGlyphString
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.

PangoIncludedModule
struct PangoIncludedModule

The PangoIncludedModule structure for a statically linked module contains the functions that would otherwise be loaded from a dynamically loaded module.

PangoItem
struct PangoItem
PangoLayoutLine
struct PangoLayoutLine
PangoLogAttr
struct PangoLogAttr

The PangoLogAttr structure stores information about the attributes of a single character.

PangoMatrix
struct PangoMatrix
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())

PangoRenderer
struct PangoRenderer
PangoRendererClass
struct PangoRendererClass

Class structure for PangoRenderer