Crate pango

Source
Expand description

§Rust Pango bindings

Rust bindings and wrappers for Pango, part of gtk-rs-core.

Pango 1.40 is the lowest supported version for the underlying library.

§Minimum supported Rust version

Currently, the minimum supported Rust version is 1.70.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:

# This will not compile
[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§

pub use glib;
pub use pango_sys as ffi;

Modules§

prelude
Traits and essential types intended for blanket imports.

Structs§

Analysis
The Analysis structure stores information about the properties of a segment of text.
AttrClass
The AttrClass structure stores the type and operations for a particular type of attribute.
AttrColor
GLib type: Boxed type with copy-on-clone semantics.
AttrFloat
GLib type: Boxed type with copy-on-clone semantics.
AttrFontDesc
GLib type: Boxed type with copy-on-clone semantics.
AttrFontFeatures
GLib type: Boxed type with copy-on-clone semantics.
AttrInt
GLib type: Boxed type with copy-on-clone semantics.
AttrIntoIter
AttrIterator
A AttrIterator is used to iterate through a AttrList.
AttrLanguage
GLib type: Boxed type with copy-on-clone semantics.
AttrList
A AttrList represents a list of attributes that apply to a section of text.
AttrShape
GLib type: Boxed type with copy-on-clone semantics.
AttrSize
GLib type: Boxed type with copy-on-clone semantics.
AttrString
GLib type: Boxed type with copy-on-clone semantics.
Attribute
The Attribute structure represents the common portions of all attributes.
Color
The Color structure is used to represent a color in an uncalibrated RGB color-space.
Context
A Context stores global information used to control the itemization process.
Coverage
A Coverage structure is a map from Unicode characters to CoverageLevel values.
Font
A Font is used to represent a font in a rendering-system-independent manner.
FontDescription
A FontDescription describes a font in an implementation-independent manner.
FontFace
A FontFace is used to represent a group of fonts with the same family, slant, weight, and width, but varying sizes.
FontFamily
A FontFamily is used to represent a family of related font faces.
FontMap
A FontMap represents the set of fonts available for a particular rendering system.
FontMask
The bits in a FontMask correspond to the set fields in a FontDescription.
FontMetrics
A FontMetrics structure holds the overall metric information for a font.
Fontset
A Fontset represents a set of Font to use when rendering text.
FontsetSimple
FontsetSimple is a implementation of the abstract Fontset base class as an array of fonts.
GlyphGeometry
The GlyphGeometry structure contains width and positioning information for a single glyph.
GlyphInfo
A GlyphInfo structure represents a single glyph with positioning information and visual attributes.
GlyphItem
A GlyphItem is a pair of a Item and the glyphs resulting from shaping the items text.
GlyphItemIntoIter
GlyphItemIter
A GlyphItemIter is an iterator over the clusters in a GlyphItem.
GlyphString
A GlyphString is used to store strings of glyphs with geometry and visual attribute information.
HitPosition
The result of LayoutLine::x_to_index.
Item
The Item structure stores information about a segment of text.
Language
The Language structure is used to represent a language.
Layout
A Layout structure represents an entire paragraph of text.
LayoutDeserializeFlagsv1_50
Flags that influence the behavior of Pango::Layout::deserialize().
LayoutIter
A LayoutIter can be used to iterate over the visual extents of a Layout.
LayoutLine
A LayoutLine represents one of the lines resulting from laying out a paragraph via Layout.
LayoutSerializeFlagsv1_50
Flags that influence the behavior of Layout::serialize().
Matrix
A Matrix specifies a transformation between user-space and device coordinates.
Rectangle
The Rectangle structure represents a rectangle.
Renderer
Renderer is a base class for objects that can render text provided as GlyphString or Layout.
ScriptIntoIter
ScriptIter
A ScriptIter is used to iterate through a string and identify ranges in different scripts.
ShapeFlagsv1_44
Flags influencing the shaping process.
ShowFlagsv1_44
These flags affect how Pango treats characters that are normally not visible in the output.
TabArray
A TabArray contains an array of tab stops.

Enums§

Alignment
Alignment describes how to align the lines of a Layout within the available space.
AttrType
The AttrType distinguishes between different types of attributes.
BaselineShiftv1_50
An enumeration that affects baseline shifts between runs.
BidiTypeDeprecated
BidiType represents the bidirectional character type of a Unicode character.
CoverageLevel
CoverageLevel is used to indicate how well a font can represent a particular Unicode character for a particular script.
Direction
Direction represents a direction in the Unicode bidirectional algorithm.
EllipsizeMode
EllipsizeMode describes what sort of ellipsization should be applied to text.
FontScalev1_50
An enumeration that affects font sizes for superscript and subscript positioning and for (emulated) Small Caps.
Gravity
Gravity represents the orientation of glyphs in a segment of text.
GravityHint
GravityHint defines how horizontal scripts should behave in a vertical context.
Overlinev1_46
The Overline enumeration is used to specify whether text should be overlined, and if so, the type of line.
RenderPart
RenderPart defines different items to render for such purposes as setting colors.
Script
The Script 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
TabAlign specifies where the text appears relative to the tab stop position.
TextTransformv1_50
An enumeration that affects how Pango treats characters during shaping.
Underline
The Underline 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
WrapMode describes how to wrap the lines of a Layout to the desired width.

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 Attribute that indicates the beginning of the text.
ATTR_INDEX_TO_TEXT_END
Value for @end_index in Attribute 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.
SCALE_LARGE
The scale factor for one magnification step (1.2).
SCALE_MEDIUM
The scale factor for normal size (1.0).
SCALE_SMALL
The scale factor for one shrinking step (1 / 1.2).
SCALE_XX_LARGE
The scale factor for three magnification steps (1.2 * 1.2 * 1.2).
SCALE_XX_SMALL
The scale factor for three shrinking steps (1 / (1.2 * 1.2 * 1.2)).
SCALE_X_LARGE
The scale factor for two magnification steps (1.2 * 1.2).
SCALE_X_SMALL
The scale factor for two shrinking steps (1 / (1.2 * 1.2)).

Traits§

IsAttribute

Functions§

extents_to_pixels
Converts extents from Pango units to device units.
find_base_dir
Searches a string the first character that has a strong direction, according to the Unicode bidirectional algorithm.
find_paragraph_boundary
Locates a paragraph boundary in @text.
is_zero_width
Checks if a character that should not be normally rendered.
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.
markup_parser_finish
Finishes parsing markup.
markup_parser_new
Incrementally parses marked-up text to create a plain-text string and an attribute list.
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.
reorder_items
Reorder items from logical order to visual order.
shape
Convert the characters in @text into glyphs.
shape_full
Convert the characters in @text into glyphs.
shape_with_flagsv1_44
Convert the characters in @text into glyphs.
unichar_direction
Determines the inherent direction of a character.
units_from_double
Converts a floating-point number to Pango units.
units_to_double
Converts a number in Pango units to floating-point.
version
Returns the encoded version of Pango available at run-time.
version_check
Checks that the Pango library in use is compatible with the given version.
version_string
Returns the version of Pango available at run-time.

Type Aliases§

Glyph
GlyphUnit
LayoutRun