Namespace

Pango – 1.0

Internationalized text layout and rendering

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

Classes

Context

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

since: 1.0

Coverage

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

since: 1.0

Font

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

since: 1.0

FontFace

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

since: 1.0

FontFamily

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

since: 1.0

FontMap

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

since: 1.0

Fontset

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

since: 1.0

FontsetSimple

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

since: 1.0

Layout

A PangoLayout structure represents an entire paragraph of text.

since: 1.0

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.

since: 1.0

AttrClass

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

since: 1.0

AttrColor

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

since: 1.0

AttrFloat

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

since: 1.0

AttrFontDesc

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

since: 1.0

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.

since: 1.0

AttrInt

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

since: 1.0

AttrIterator

A PangoAttrIterator is used to iterate through a PangoAttrList.

since: 1.0

AttrLanguage

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

since: 1.0

AttrList

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

since: 1.0

AttrShape

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

since: 1.0

AttrSize

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

since: 1.0

AttrString

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

since: 1.0

Color

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

since: 1.0

FontDescription

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

since: 1.0

FontMetrics

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

since: 1.0

GlyphGeometry

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

since: 1.0

GlyphInfo

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

since: 1.0

GlyphItem

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

since: 1.0

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.

since: 1.0

GlyphVisAttr

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

since: 1.0

Item

The PangoItem structure stores information about a segment of text.

since: 1.0

Language

The PangoLanguage structure is used to represent a language.

since: 1.0

LayoutIter

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

since: 1.0

LayoutLine

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

since: 1.0

LogAttr

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

since: 1.0

Matrix

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

since: 1.6

Rectangle

The PangoRectangle structure represents a rectangle.

since: 1.0

ScriptIter

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

since: 1.0

TabArray

A PangoTabArray contains an array of tab stops.

since: 1.0

Aliases

Glyph

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

since: 1.0

GlyphUnit

The PangoGlyphUnit type is used to store dimensions within Pango.

since: 1.0

LayoutRun

A PangoLayoutRun represents a single run within a PangoLayoutLine.

since: 1.0

Enumerations

Alignment

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

since: 1.0

AttrType

The PangoAttrType distinguishes between different types of attributes.

since: 1.0

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.

since: 1.0

Direction

PangoDirection represents a direction in the Unicode bidirectional algorithm.

since: 1.0

EllipsizeMode

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

since: 1.0

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.

since: 1.0

Stretch

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

since: 1.0

Style

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

since: 1.0

TabAlign

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

since: 1.0

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.

since: 1.0

Variant

An enumeration specifying capitalization variant of the font.

since: 1.0

Weight

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

since: 1.0

WrapMode

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

since: 1.0

Bitfields

FontMask

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

since: 1.0

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.

since: 1.0

AttrFilterFunc

Type of a function filtering a list of attributes.

since: 1.0

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.

since: 1.0

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.

since: 1.0

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.

since: 1.0

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.

since: 1.0

attr_scale_new

Create a new font size scale attribute.

since: 1.0

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.

since: 1.0

attr_strikethrough_color_new

Create a new strikethrough color attribute.

since: 1.8

attr_strikethrough_new

Create a new strike-through attribute.

since: 1.0

attr_style_new

Create a new font slant style attribute.

since: 1.0

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.

since: 1.0

attr_variant_new

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

since: 1.0

attr_weight_new

Create a new font weight attribute.

since: 1.0

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 since: 1.0

default_break

This is the default break algorithm.

since: 1.0

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.

since: 1.0

get_log_attrs

Computes a PangoLogAttr for each character in text.

since: 1.0

get_mirror_char

Returns the mirrored character of a Unicode character.

deprecated: 1.30 since: 1.0

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.

since: 1.0

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.

since: 1.0

parse_stretch

Parses a font stretch.

since: 1.0

parse_style

Parses a font style.

since: 1.0

parse_variant

Parses a font variant.

since: 1.0

parse_weight

Parses a font weight.

since: 1.0

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 since: 1.0

reorder_items

Reorder items from logical order to visual order.

since: 1.0

scan_int

Scans an integer.

deprecated: 1.38 since: 1.0

scan_string

Scans a string into a GString buffer.

deprecated: 1.38 since: 1.0

scan_word

Scans a word into a GString buffer.

deprecated: 1.38 since: 1.0

shape

Convert the characters in text into glyphs.

since: 1.0

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 since: 1.0

split_file_list

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

deprecated: 1.38 since: 1.0

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 since: 1.0

unichar_direction

Determines the inherent direction of a character.

since: 1.0

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.

since: 1.0

DESCENT

Extracts the descent from a PangoRectangle representing glyph extents.

since: 1.0

LBEARING

Extracts the left bearing from a PangoRectangle representing glyph extents.

since: 1.0

PIXELS

Converts a dimension to device units by rounding.

since: 1.0

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.

since: 1.0

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.

since: 1.0

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.

since: 1.0

Constants

ANALYSIS_FLAG_CENTERED_BASELINE

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

since: 1.0

ANALYSIS_FLAG_IS_ELLIPSIS

Whether this run holds ellipsized text.

since: 1.0

ANALYSIS_FLAG_NEED_HYPHEN

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

since: 1.0

ATTR_INDEX_FROM_TEXT_BEGINNING

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

since: 1.0

ATTR_INDEX_TO_TEXT_END

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

since: 1.0

GLYPH_EMPTY

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

since: 1.0

GLYPH_INVALID_INPUT

A PangoGlyph value for invalid input.

since: 1.0

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.

since: 1.0

SCALE

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

since: 1.0

VERSION_MAJOR

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

since: 1.0

VERSION_MICRO

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

since: 1.0

VERSION_MINOR

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

since: 1.0

VERSION_STRING

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

since: 1.0