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§
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. - Attr
Class - The
AttrClass
structure stores the type and operations for a particular type of attribute. - Attr
Color - GLib type: Boxed type with copy-on-clone semantics.
- Attr
Float - GLib type: Boxed type with copy-on-clone semantics.
- Attr
Font Desc - GLib type: Boxed type with copy-on-clone semantics.
- Attr
Font Features - GLib type: Boxed type with copy-on-clone semantics.
- AttrInt
- GLib type: Boxed type with copy-on-clone semantics.
- Attr
Into Iter - Attr
Iterator - A
AttrIterator
is used to iterate through aAttrList
. - Attr
Language - GLib type: Boxed type with copy-on-clone semantics.
- Attr
List - A
AttrList
represents a list of attributes that apply to a section of text. - Attr
Shape - GLib type: Boxed type with copy-on-clone semantics.
- Attr
Size - GLib type: Boxed type with copy-on-clone semantics.
- Attr
String - 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 toCoverageLevel
values. - Font
- A
Font
is used to represent a font in a rendering-system-independent manner. - Font
Description - A
FontDescription
describes a font in an implementation-independent manner. - Font
Face - A
FontFace
is used to represent a group of fonts with the same family, slant, weight, and width, but varying sizes. - Font
Family - 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. - Font
Mask - The bits in a
FontMask
correspond to the set fields in aFontDescription
. - Font
Metrics - A
FontMetrics
structure holds the overall metric information for a font. - Fontset
- A
Fontset
represents a set ofFont
to use when rendering text. - Fontset
Simple FontsetSimple
is a implementation of the abstractFontset
base class as an array of fonts.- Glyph
Geometry - The
GlyphGeometry
structure contains width and positioning information for a single glyph. - Glyph
Info - A
GlyphInfo
structure represents a single glyph with positioning information and visual attributes. - Glyph
Item - A
GlyphItem
is a pair of aItem
and the glyphs resulting from shaping the items text. - Glyph
Item Into Iter - Glyph
Item Iter - A
GlyphItemIter
is an iterator over the clusters in aGlyphItem
. - Glyph
String - 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. - Layout
Deserialize Flags v1_50
- Flags that influence the behavior of
Pango::Layout::deserialize()
. - Layout
Iter - A
LayoutIter
can be used to iterate over the visual extents of aLayout
. - Layout
Line - A
LayoutLine
represents one of the lines resulting from laying out a paragraph viaLayout
. - Layout
Serialize Flags v1_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 asGlyphString
orLayout
.- Script
Into Iter - Script
Iter - A
ScriptIter
is used to iterate through a string and identify ranges in different scripts. - Shape
Flags v1_44
- Flags influencing the shaping process.
- Show
Flags v1_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 aLayout
within the available space.- Attr
Type - The
AttrType
distinguishes between different types of attributes. - Baseline
Shift v1_50
- An enumeration that affects baseline shifts between runs.
- Bidi
Type Deprecated BidiType
represents the bidirectional character type of a Unicode character.- Coverage
Level 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.- Ellipsize
Mode EllipsizeMode
describes what sort of ellipsization should be applied to text.- Font
Scale v1_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.- Gravity
Hint GravityHint
defines how horizontal scripts should behave in a vertical context.- Overline
v1_46
- The
Overline
enumeration is used to specify whether text should be overlined, and if so, the type of line. - Render
Part 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.- Text
Transform v1_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.
- Wrap
Mode WrapMode
describes how to wrap the lines of aLayout
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 agunichar
value of a valid Unicode character into an unknown-character glyph for thatgunichar
. - 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§
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_ flags v1_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.