Expand description
Rust Pango bindings
Rust bindings and wrappers for Pango, part of gtk-rs-core.
Pango 1.38 is the lowest supported version for the underlying library.
Minimum supported Rust version
Currently, the minimum supported Rust version is 1.56.0
.
Documentation
Using
We recommend using crates from crates.io, as demonstrated here.
If you want to track the bleeding edge, use the git dependency instead:
[dependencies]
pango = { git = "https://github.com/gtk-rs/gtk-rs-core.git", package = "pango" }
Avoid mixing versioned and git crates like this:
[dependencies]
pango = "0.13"
pango = { git = "https://github.com/gtk-rs/gtk-rs-core.git", package = "pango" }
See Also
License
pango is available under the MIT License, please refer to it.
Re-exports
Modules
Structs
A AttrIterator
is used to iterate through a AttrList
.
A Coverage
structure is a map from Unicode characters
to CoverageLevel
values.
A FontDescription
describes a font in an implementation-independent
manner.
A FontFace
is used to represent a group of fonts with
the same family, slant, weight, and width, but varying sizes.
A FontFamily
is used to represent a family of related
font faces.
The bits in a FontMask
correspond to the set fields in a
FontDescription
.
A FontMetrics
structure holds the overall metric information
for a font.
FontsetSimple
is a implementation of the abstract
Fontset
base class as an array of fonts.
The GlyphGeometry
structure contains width and positioning
information for a single glyph.
A GlyphInfo
structure represents a single glyph with
positioning information and visual attributes.
A GlyphItemIter
is an iterator over the clusters in a
GlyphItem
.
A GlyphString
is used to store strings of glyphs with geometry
and visual attribute information.
The result of LayoutLine::x_to_index
.
Flags that influence the behavior of Pango::Layout::deserialize()
.
A LayoutIter
can be used to iterate over the visual
extents of a Layout
.
A LayoutLine
represents one of the lines resulting from laying
out a paragraph via Layout
.
v1_50
Flags that influence the behavior of Layout::serialize()
.
Renderer
is a base class for objects that can render text
provided as GlyphString
or Layout
.
v1_44
Flags influencing the shaping process.
v1_44
These flags affect how Pango treats characters that are normally not visible in the output.
Enums
v1_50
An enumeration that affects baseline shifts between runs.
CoverageLevel
is used to indicate how well a font can
represent a particular Unicode character for a particular script.
EllipsizeMode
describes what sort of ellipsization
should be applied to text.
v1_50
An enumeration that affects font sizes for superscript and subscript positioning and for (emulated) Small Caps.
GravityHint
defines how horizontal scripts should behave in a
vertical context.
v1_46
The Overline
enumeration is used to specify whether text
should be overlined, and if so, the type of line.
RenderPart
defines different items to render for such
purposes as setting colors.
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.
v1_50
An enumeration that affects how Pango treats characters during shaping.
The Underline
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.
Constants
Whether the segment should be shifted to center around the baseline.
Whether this run holds ellipsized text.
Whether to add a hyphen at the end of the run during shaping.
Value for @start_index in Attribute
that indicates
the beginning of the text.
Value for @end_index in Attribute
that indicates
the end of the text.
A PangoGlyph
value that indicates a zero-width empty glpyh.
A PangoGlyph
value for invalid input.
Flag used in PangoGlyph
to turn a gunichar
value of a valid Unicode
character into an unknown-character glyph for that gunichar
.
The scale between dimensions used for Pango distances and device units.
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)).
Traits
Functions
Converts extents from Pango units to device units.
Searches a string the first character that has a strong direction, according to the Unicode bidirectional algorithm.
Locates a paragraph boundary in @text.
Checks if a character that should not be normally rendered.
Breaks a piece of text into segments with consistent directional level and font.
Like pango_itemize()
, but with an explicitly specified base direction.
Parses marked-up text to create a plain-text string and an attribute list.
Parses a font stretch.
Parses a font style.
Parses a font variant.
Parses a font weight.
Quantizes the thickness and position of a line to whole device pixels.
Convert the characters in @text into glyphs.
v1_44
Determines the inherent direction of a character.
Converts a floating-point number to Pango units.
Converts a number in Pango units to floating-point.
Returns the encoded version of Pango available at run-time.
Checks that the Pango library in use is compatible with the given version.
Returns the version of Pango available at run-time.