Namespace

Pango – 1.0

Internationalized text layout and rendering

Version1.54.0
AuthorsOwen Taylor, Behdad Esfahbod
LicenseLGPL-2.1-or-later
Websitehttps://www.pango.org
Sourcehttps://gitlab.gnome.org/GNOME/pango/

Build

C headerspango/pango.h
pkg-config filespango

Dependencies

GObject—2.0 The base type system library
Browse documentation
HarfBuzz—0.0 A text shaping library
Browse documentation
PangoCairo Cairo support for Pango
Browse documentation
PangoFc Fontconfig support for Pango
Browse documentation
PangoFT2 FreeType support for Pango
Browse documentation
PangoOT OpenType support for Pango
Browse documentation
PangoXft Xft support for Pango
Browse documentation

Classes

Context

A PangoContext stores global information used to control the itemization process.

Coverage

A PangoCoverage structure is a map from Unicode characters to PangoCoverageLevel values.

Font

A PangoFont is used to represent a font in a rendering-system-independent manner.

FontFace

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

FontFamily

A PangoFontFamily is used to represent a family of related font faces.

FontMap

A PangoFontMap represents the set of fonts available for a particular rendering system.

Fontset

A PangoFontset represents a set of PangoFont to use when rendering text.

FontsetSimple

PangoFontsetSimple is a implementation of the abstract PangoFontset base class as an array of fonts.

Layout

A PangoLayout structure represents an entire paragraph of text.

Renderer

PangoRenderer is a base class for objects that can render text provided as PangoGlyphString or PangoLayout.

since: 1.8

Structs

Analysis

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

AttrClass

The PangoAttrClass structure stores the type and operations for a particular type of attribute.

AttrColor

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

AttrFloat

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

AttrFontDesc

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

AttrFontFeatures

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

since: 1.38

Attribute

The PangoAttribute structure represents the common portions of all attributes.

AttrInt

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

AttrIterator

A PangoAttrIterator is used to iterate through a PangoAttrList.

AttrLanguage

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

AttrList

A PangoAttrList represents a list of attributes that apply to a section of text.

AttrShape

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

AttrSize

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

AttrString

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

Color

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

FontDescription

A PangoFontDescription describes a font in an implementation-independent manner.

FontMetrics

A PangoFontMetrics structure holds the overall metric information for a font.

GlyphGeometry

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

GlyphInfo

A PangoGlyphInfo structure represents a single glyph with positioning information and visual attributes.

GlyphItem

A PangoGlyphItem is a pair of a PangoItem and the glyphs resulting from shaping the items text.

GlyphItemIter

A PangoGlyphItemIter is an iterator over the clusters in a PangoGlyphItem.

since: 1.22

GlyphString

A PangoGlyphString is used to store strings of glyphs with geometry and visual attribute information.

GlyphVisAttr

A PangoGlyphVisAttr structure communicates information between the shaping and rendering phases.

Item

The PangoItem structure stores information about a segment of text.

Language

The PangoLanguage structure is used to represent a language.

LayoutIter

A PangoLayoutIter can be used to iterate over the visual extents of a PangoLayout.

LayoutLine

A PangoLayoutLine represents one of the lines resulting from laying out a paragraph via PangoLayout.

LogAttr

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

Matrix

A PangoMatrix specifies a transformation between user-space and device coordinates.

since: 1.6

Rectangle

The PangoRectangle structure represents a rectangle.

ScriptIter

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

TabArray

A PangoTabArray contains an array of tab stops.

Aliases

Glyph

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

GlyphUnit

The PangoGlyphUnit type is used to store dimensions within Pango.

LayoutRun

A PangoLayoutRun represents a single run within a PangoLayoutLine.

Enumerations

Alignment

PangoAlignment describes how to align the lines of a PangoLayout within the available space.

AttrType

The PangoAttrType distinguishes between different types of attributes.

BaselineShift

An enumeration that affects baseline shifts between runs.

since: 1.50

BidiType

PangoBidiType represents the bidirectional character type of a Unicode character.

deprecated: 1.44 since: 1.22

CoverageLevel

PangoCoverageLevel is used to indicate how well a font can represent a particular Unicode character for a particular script.

Direction

PangoDirection represents a direction in the Unicode bidirectional algorithm.

EllipsizeMode

PangoEllipsizeMode describes what sort of ellipsization should be applied to text.

FontScale

An enumeration that affects font sizes for superscript and subscript positioning and for (emulated) Small Caps.

since: 1.50

Gravity

PangoGravity represents the orientation of glyphs in a segment of text.

since: 1.16

GravityHint

PangoGravityHint defines how horizontal scripts should behave in a vertical context.

since: 1.16

Overline

The PangoOverline enumeration is used to specify whether text should be overlined, and if so, the type of line.

since: 1.46

RenderPart

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

since: 1.8

Script

The PangoScript enumeration identifies different writing systems.

Stretch

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

Style

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

TabAlign

PangoTabAlign specifies where the text appears relative to the tab stop position.

TextTransform

An enumeration that affects how Pango treats characters during shaping.

since: 1.50

Underline

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

Variant

An enumeration specifying capitalization variant of the font.

Weight

An enumeration specifying the weight (boldness) of a font.

WrapMode

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

Bitfields

FontMask

The bits in a PangoFontMask correspond to the set fields in a PangoFontDescription.

LayoutDeserializeFlags

Flags that influence the behavior of pango_layout_deserialize().

since: 1.50

LayoutSerializeFlags

Flags that influence the behavior of pango_layout_serialize().

since: 1.50

ShapeFlags

Flags influencing the shaping process.

since: 1.44

ShowFlags

These flags affect how Pango treats characters that are normally not visible in the output.

since: 1.44

Error Domains

LayoutDeserializeError

Errors that can be returned by pango_layout_deserialize().

since: 1.50

Callbacks

AttrDataCopyFunc

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

AttrFilterFunc

Type of a function filtering a list of attributes.

FontsetForeachFunc

Callback used when enumerating fonts in a fontset.

since: 1.4

Functions

attr_allow_breaks_new

Create a new allow-breaks attribute.

since: 1.44

attr_background_alpha_new

Create a new background alpha attribute.

since: 1.38

attr_background_new

Create a new background color attribute.

attr_baseline_shift_new

Create a new baseline displacement attribute.

since: 1.50

attr_break

Apply customization from attributes to the breaks in attrs.

since: 1.50

attr_fallback_new

Create a new font fallback attribute.

since: 1.4

attr_family_new

Create a new font family attribute.

attr_font_scale_new

Create a new font scale attribute.

since: 1.50

attr_foreground_alpha_new

Create a new foreground alpha attribute.

since: 1.38

attr_foreground_new

Create a new foreground color attribute.

attr_gravity_hint_new

Create a new gravity hint attribute.

since: 1.16

attr_gravity_new

Create a new gravity attribute.

since: 1.16

attr_insert_hyphens_new

Create a new insert-hyphens attribute.

since: 1.44

attr_letter_spacing_new

Create a new letter-spacing attribute.

since: 1.6

attr_line_height_new

Modify the height of logical line extents by a factor.

since: 1.50

attr_line_height_new_absolute

Override the height of logical line extents to be height.

since: 1.50

attr_overline_color_new

Create a new overline color attribute.

since: 1.46

attr_overline_new

Create a new overline-style attribute.

since: 1.46

attr_rise_new

Create a new baseline displacement attribute.

attr_scale_new

Create a new font size scale attribute.

attr_sentence_new

Marks the range of the attribute as a single sentence.

since: 1.50

attr_show_new

Create a new attribute that influences how invisible characters are rendered.

since: 1.44

attr_stretch_new

Create a new font stretch attribute.

attr_strikethrough_color_new

Create a new strikethrough color attribute.

since: 1.8

attr_strikethrough_new

Create a new strike-through attribute.

attr_style_new

Create a new font slant style attribute.

attr_text_transform_new

Create a new attribute that influences how characters are transformed during shaping.

since: 1.50

attr_underline_color_new

Create a new underline color attribute.

since: 1.8

attr_underline_new

Create a new underline-style attribute.

attr_variant_new

Create a new font variant attribute (normal or small caps).

attr_weight_new

Create a new font weight attribute.

attr_word_new

Marks the range of the attribute as a single word.

since: 1.50

break

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

deprecated: 1.44 

default_break

This is the default break algorithm.

extents_to_pixels

Converts extents from Pango units to device units.

since: 1.16

find_base_dir

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

since: 1.4

find_paragraph_boundary

Locates a paragraph boundary in text.

get_log_attrs

Computes a PangoLogAttr for each character in text.

get_mirror_char

Returns the mirrored character of a Unicode character.

deprecated: 1.30 

is_zero_width

Checks if a character that should not be normally rendered.

since: 1.10

itemize

Breaks a piece of text into segments with consistent directional level and font.

itemize_with_base_dir

Like pango_itemize(), but with an explicitly specified base direction.

since: 1.4

log2vis_get_embedding_levels

Return the bidirectional embedding levels of the input paragraph.

since: 1.4

markup_parser_finish

Finishes parsing markup.

since: 1.31.0

markup_parser_new

Incrementally parses marked-up text to create a plain-text string and an attribute list.

since: 1.31.0

parse_enum

Parses an enum type and stores the result in value.

deprecated: 1.38 since: 1.16

parse_markup

Parses marked-up text to create a plain-text string and an attribute list.

parse_stretch

Parses a font stretch.

parse_style

Parses a font style.

parse_variant

Parses a font variant.

parse_weight

Parses a font weight.

quantize_line_geometry

Quantizes the thickness and position of a line to whole device pixels.

since: 1.12

read_line

Reads an entire line from a file into a buffer.

deprecated: 1.38 

reorder_items

Reorder items from logical order to visual order.

scan_int

Scans an integer.

deprecated: 1.38 

scan_string

Scans a string into a GString buffer.

deprecated: 1.38 

scan_word

Scans a word into a GString buffer.

deprecated: 1.38 

shape

Convert the characters in text into glyphs.

shape_full

Convert the characters in text into glyphs.

since: 1.32

shape_item

Convert the characters in item into glyphs.

since: 1.50

shape_with_flags

Convert the characters in text into glyphs.

since: 1.44

skip_space

Skips 0 or more characters of white space.

deprecated: 1.38 

split_file_list

Splits a G_SEARCHPATH_SEPARATOR-separated list of files, stripping white space and substituting ~/ with $HOME/.

deprecated: 1.38 

tailor_break

Apply language-specific tailoring to the breaks in attrs.

since: 1.44

trim_string

Trims leading and trailing whitespace from a string.

deprecated: 1.38 

unichar_direction

Determines the inherent direction of a character.

units_from_double

Converts a floating-point number to Pango units.

since: 1.16

units_to_double

Converts a number in Pango units to floating-point.

since: 1.16

version

Returns the encoded version of Pango available at run-time.

since: 1.16

version_check

Checks that the Pango library in use is compatible with the given version.

since: 1.16

version_string

Returns the version of Pango available at run-time.

since: 1.16

Function Macros

ASCENT

Extracts the ascent from a PangoRectangle representing glyph extents.

DESCENT

Extracts the descent from a PangoRectangle representing glyph extents.

LBEARING

Extracts the left bearing from a PangoRectangle representing glyph extents.

PIXELS

Converts a dimension to device units by rounding.

PIXELS_CEIL

Converts a dimension to device units by ceiling.

since: 1.14

PIXELS_FLOOR

Converts a dimension to device units by flooring.

since: 1.14

RBEARING

Extracts the right bearing from a PangoRectangle representing glyph extents.

UNITS_CEIL

Rounds a dimension up to whole device units, but does not convert it to device units.

since: 1.50

UNITS_FLOOR

Rounds a dimension down to whole device units, but does not convert it to device units.

since: 1.50

UNITS_ROUND

Rounds a dimension to whole device units, but does not convert it to device units.

since: 1.18

VERSION_CHECK

Checks that the version of Pango available at compile-time is not older than the provided version number.

VERSION_ENCODE

This macro encodes the given Pango version into an integer. The numbers returned by PANGO_VERSION and pango_version() are encoded using this macro. Two encoded version numbers can be compared as integers.

Constants

ANALYSIS_FLAG_CENTERED_BASELINE

Whether the segment should be shifted to center around the baseline.

ANALYSIS_FLAG_IS_ELLIPSIS

Whether this run holds ellipsized text.

ANALYSIS_FLAG_NEED_HYPHEN

Whether to add a hyphen at the end of the run during shaping.

ATTR_INDEX_FROM_TEXT_BEGINNING

Value for start_index in PangoAttribute that indicates the beginning of the text.

ATTR_INDEX_TO_TEXT_END

Value for end_index in PangoAttribute that indicates the end of the text.

GLYPH_EMPTY

A PangoGlyph value that indicates a zero-width empty glpyh.

GLYPH_INVALID_INPUT

A PangoGlyph value for invalid input.

GLYPH_UNKNOWN_FLAG

Flag used in PangoGlyph to turn a gunichar value of a valid Unicode character into an unknown-character glyph for that gunichar.

SCALE

The scale between dimensions used for Pango distances and device units.

VERSION_MAJOR

The major component of the version of Pango available at compile-time.

VERSION_MICRO

The micro component of the version of Pango available at compile-time.

VERSION_MINOR

The minor component of the version of Pango available at compile-time.

VERSION_STRING

A string literal containing the version of Pango available at compile-time.