Top |
enum | PangoAttrType |
#define | PANGO_TYPE_ATTR_TYPE |
struct | PangoAttrClass |
struct | PangoAttribute |
#define | PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING |
#define | PANGO_ATTR_INDEX_TO_TEXT_END |
struct | PangoAttrString |
struct | PangoAttrLanguage |
struct | PangoAttrColor |
struct | PangoAttrInt |
struct | PangoAttrFloat |
struct | PangoAttrFontDesc |
struct | PangoAttrShape |
struct | PangoAttrSize |
struct | PangoAttrFontFeatures |
enum | PangoUnderline |
#define | PANGO_TYPE_UNDERLINE |
#define | PANGO_SCALE_XX_SMALL |
#define | PANGO_SCALE_X_SMALL |
#define | PANGO_SCALE_SMALL |
#define | PANGO_SCALE_MEDIUM |
#define | PANGO_SCALE_LARGE |
#define | PANGO_SCALE_X_LARGE |
#define | PANGO_SCALE_XX_LARGE |
struct | PangoColor |
#define | PANGO_TYPE_COLOR |
PangoAttrList | |
#define | PANGO_TYPE_ATTR_LIST |
PangoAttrIterator |
Attributed text is used in a number of places in Pango. It is used as the input to the itemization process and also when creating a PangoLayout. The data types and functions in this section are used to represent and manipulate sets of attributes applied to a portion of text.
gboolean pango_parse_markup (const char *markup_text
,int length
,gunichar accel_marker
,PangoAttrList **attr_list
,char **text
,gunichar *accel_char
,GError **error
);
Parses marked-up text (see
markup format) to createa plain-text string and an attribute list.
If accel_marker
is nonzero, the given character will mark the
character following it as an accelerator. For example, accel_marker
might be an ampersand or underscore. All characters marked
as an accelerator will receive a PANGO_UNDERLINE_LOW
attribute,
and the first character so marked will be returned in accel_char
.
Two accel_marker
characters following each other produce a single
literal accel_marker
character.
To parse a stream of pango markup incrementally, use pango_markup_parser_new()
.
If any error happens, none of the output arguments are touched except
for error
.
markup_text |
markup to parse (see markup format) |
|
length |
length of |
|
accel_marker |
character that precedes an accelerator, or 0 for none |
|
attr_list |
address of return location for a PangoAttrList, or |
[out][allow-none] |
text |
address of return location for text with tags stripped, or |
[out][allow-none] |
accel_char |
address of return location for accelerator char, or |
[out][allow-none] |
error |
address of return location for errors, or |
GMarkupParseContext *
pango_markup_parser_new (gunichar accel_marker
);
Parses marked-up text (see
markup format) to createa plain-text string and an attribute list.
If accel_marker
is nonzero, the given character will mark the
character following it as an accelerator. For example, accel_marker
might be an ampersand or underscore. All characters marked
as an accelerator will receive a PANGO_UNDERLINE_LOW
attribute,
and the first character so marked will be returned in accel_char
,
when calling finish()
. Two accel_marker
characters following each
other produce a single literal accel_marker
character.
To feed markup to the parser, use g_markup_parse_context_parse()
on the returned GMarkupParseContext. When done with feeding markup
to the parser, use pango_markup_parser_finish()
to get the data out
of it, and then use g_markup_parse_context_free()
to free it.
This function is designed for applications that read pango markup
from streams. To simply parse a string containing pango markup,
the simpler pango_parse_markup()
API is recommended instead.
a GMarkupParseContext that should be
destroyed with g_markup_parse_context_free()
.
[transfer none]
Since: 1.31.0
gboolean pango_markup_parser_finish (GMarkupParseContext *context
,PangoAttrList **attr_list
,char **text
,gunichar *accel_char
,GError **error
);
After feeding a pango markup parser some data with g_markup_parse_context_parse()
,
use this function to get the list of pango attributes and text out of the
markup. This function will not free context
, use g_markup_parse_context_free()
to do so.
context |
A valid parse context that was returned from |
|
attr_list |
address of return location for a PangoAttrList, or |
[out][allow-none] |
text |
address of return location for text with tags stripped, or |
[out][allow-none] |
accel_char |
address of return location for accelerator char, or |
[out][allow-none] |
error |
address of return location for errors, or |
Since: 1.31.0
PangoAttrType
pango_attr_type_register (const gchar *name
);
Allocate a new attribute type ID. The attribute type name can be accessed
later by using pango_attr_type_get_name()
.
const char *
pango_attr_type_get_name (PangoAttrType type
);
Fetches the attribute type name passed in when registering the type using
pango_attr_type_register()
.
The returned value is an interned string (see g_intern_string()
for what
that means) that should not be modified or freed.
the type ID name (which may be NULL
), or
NULL
if type
is a built-in Pango attribute type or invalid.
[nullable]
Since: 1.22
void pango_attribute_init (PangoAttribute *attr
,const PangoAttrClass *klass
);
Initializes attr
's klass to klass
,
it's start_index to PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING
and end_index to PANGO_ATTR_INDEX_TO_TEXT_END
such that the attribute applies
to the entire text by default.
Since: 1.20
PangoAttribute *
pango_attribute_copy (const PangoAttribute *attr
);
Make a copy of an attribute.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
gboolean pango_attribute_equal (const PangoAttribute *attr1
,const PangoAttribute *attr2
);
Compare two attributes for equality. This compares only the actual value of the two attributes and not the ranges that the attributes apply to.
void
pango_attribute_destroy (PangoAttribute *attr
);
Destroy a PangoAttribute and free all associated memory.
PangoAttribute *
pango_attr_language_new (PangoLanguage *language
);
Create a new language tag attribute.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute *
pango_attr_family_new (const char *family
);
Create a new font family attribute.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute *
pango_attr_style_new (PangoStyle style
);
Create a new font slant style attribute.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute *
pango_attr_variant_new (PangoVariant variant
);
Create a new font variant attribute (normal or small caps)
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute *
pango_attr_stretch_new (PangoStretch stretch
);
Create a new font stretch attribute
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute *
pango_attr_weight_new (PangoWeight weight
);
Create a new font weight attribute.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute *
pango_attr_size_new (int size
);
Create a new font-size attribute in fractional points.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute *
pango_attr_size_new_absolute (int size
);
Create a new font-size attribute in device units.
Since: 1.8
PangoAttribute *
pango_attr_font_desc_new (const PangoFontDescription *desc
);
Create a new font description attribute. This attribute allows setting family, style, weight, variant, stretch, and size simultaneously.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute * pango_attr_foreground_new (guint16 red
,guint16 green
,guint16 blue
);
Create a new foreground color attribute.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute * pango_attr_background_new (guint16 red
,guint16 green
,guint16 blue
);
Create a new background color attribute.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute *
pango_attr_strikethrough_new (gboolean strikethrough
);
Create a new strike-through attribute.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute * pango_attr_strikethrough_color_new (guint16 red
,guint16 green
,guint16 blue
);
Create a new strikethrough color attribute. This attribute modifies the color of strikethrough lines. If not set, strikethrough lines will use the foreground color.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
Since: 1.8
PangoAttribute *
pango_attr_underline_new (PangoUnderline underline
);
Create a new underline-style attribute.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute * pango_attr_underline_color_new (guint16 red
,guint16 green
,guint16 blue
);
Create a new underline color attribute. This attribute modifies the color of underlines. If not set, underlines will use the foreground color.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
Since: 1.8
PangoAttribute * pango_attr_shape_new (const PangoRectangle *ink_rect
,const PangoRectangle *logical_rect
);
Create a new shape attribute. A shape is used to impose a particular ink and logical rectangle on the result of shaping a particular glyph. This might be used, for instance, for embedding a picture or a widget inside a PangoLayout.
ink_rect |
ink rectangle to assign to each character |
|
logical_rect |
logical rectangle to assign to each character |
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute * pango_attr_shape_new_with_data (const PangoRectangle *ink_rect
,const PangoRectangle *logical_rect
,gpointer data
,PangoAttrDataCopyFunc copy_func
,GDestroyNotify destroy_func
);
Like pango_attr_shape_new()
, but a user data pointer is also
provided; this pointer can be accessed when later
rendering the glyph.
ink_rect |
ink rectangle to assign to each character |
|
logical_rect |
logical rectangle to assign to each character |
|
data |
user data pointer |
|
copy_func |
function to copy |
[allow-none] |
destroy_func |
function to free |
[allow-none] |
Since: 1.8
gpointer
(*PangoAttrDataCopyFunc) (gconstpointer user_data
);
Type of a function that can duplicate user data for an attribute.
PangoAttribute *
pango_attr_scale_new (double scale_factor
);
Create a new font size scale attribute. The base font for the
affected text will have its size multiplied by scale_factor
.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute *
pango_attr_rise_new (int rise
);
Create a new baseline displacement attribute.
rise |
the amount that the text should be displaced vertically, in Pango units. Positive values displace the text upwards. |
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
PangoAttribute *
pango_attr_letter_spacing_new (int letter_spacing
);
Create a new letter-spacing attribute.
letter_spacing |
amount of extra space to add between graphemes of the text, in Pango units. |
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
Since: 1.6
PangoAttribute *
pango_attr_fallback_new (gboolean enable_fallback
);
Create a new font fallback attribute.
If fallback is disabled, characters will only be used from the closest matching font on the system. No fallback will be done to other fonts on the system that might contain the characters in the text.
enable_fallback |
|
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
Since: 1.4
PangoAttribute *
pango_attr_gravity_new (PangoGravity gravity
);
Create a new gravity attribute.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
Since: 1.16
PangoAttribute *
pango_attr_gravity_hint_new (PangoGravityHint hint
);
Create a new gravity hint attribute.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
Since: 1.16
PangoAttribute *
pango_attr_font_features_new (const gchar *features
);
Create a new font features tag attribute.
the newly allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
Since: 1.38
PangoAttribute *
pango_attr_foreground_alpha_new (guint16 alpha
);
Create a new foreground alpha attribute.
the new allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
Since: 1.38
PangoAttribute *
pango_attr_background_alpha_new (guint16 alpha
);
Create a new background alpha attribute.
the new allocated PangoAttribute,
which should be freed with pango_attribute_destroy()
.
[transfer full]
Since: 1.38
gboolean pango_color_parse (PangoColor *color
,const char *spec
);
Fill in the fields of a color from a string specification. The string can either one of a large set of standard names. (Taken from the CSS specification), or it can be a hexadecimal value in the form '#rgb' '#rrggbb' '#rrrgggbbb' or '#rrrrggggbbbb' where 'r', 'g' and 'b' are hex digits of the red, green, and blue components of the color, respectively. (White in the four forms is '#fff' '#ffffff' '#fffffffff' and '#ffffffffffff')
color |
a PangoColor structure in which to store the
result, or |
[nullable] |
spec |
a string specifying the new color |
PangoColor *
pango_color_copy (const PangoColor *src
);
Creates a copy of src
, which should be freed with
pango_color_free()
. Primarily used by language bindings,
not that useful otherwise (since colors can just be copied
by assignment in C).
the newly allocated PangoColor, which
should be freed with pango_color_free()
, or NULL
if
src
was NULL
.
[nullable]
void
pango_color_free (PangoColor *color
);
Frees a color allocated by pango_color_copy()
.
gchar *
pango_color_to_string (const PangoColor *color
);
Returns a textual specification of color
in the hexadecimal form
#rrrrggggbbbb
, where r
,
g
and b
are hex digits representing
the red, green, and blue components respectively.
Since: 1.16
PangoAttrList *
pango_attr_list_new (void
);
Create a new empty attribute list with a reference count of one.
the newly allocated PangoAttrList,
which should be freed with pango_attr_list_unref()
.
[transfer full]
PangoAttrList *
pango_attr_list_ref (PangoAttrList *list
);
Increase the reference count of the given attribute list by one.
Since: 1.10
void
pango_attr_list_unref (PangoAttrList *list
);
Decrease the reference count of the given attribute list by one. If the result is zero, free the attribute list and the attributes it contains.
PangoAttrList *
pango_attr_list_copy (PangoAttrList *list
);
Copy list
and return an identical new list.
the newly allocated PangoAttrList, with a
reference count of one, which should
be freed with pango_attr_list_unref()
.
Returns NULL
if list
was NULL
.
[nullable]
void pango_attr_list_insert (PangoAttrList *list
,PangoAttribute *attr
);
Insert the given attribute into the PangoAttrList. It will
be inserted after all other attributes with a matching
start_index
.
void pango_attr_list_insert_before (PangoAttrList *list
,PangoAttribute *attr
);
Insert the given attribute into the PangoAttrList. It will
be inserted before all other attributes with a matching
start_index
.
void pango_attr_list_change (PangoAttrList *list
,PangoAttribute *attr
);
Insert the given attribute into the PangoAttrList. It will replace any attributes of the same type on that segment and be merged with any adjoining attributes that are identical.
This function is slower than pango_attr_list_insert()
for
creating a attribute list in order (potentially much slower
for large lists). However, pango_attr_list_insert()
is not
suitable for continually changing a set of attributes
since it never removes or combines existing attributes.
void pango_attr_list_splice (PangoAttrList *list
,PangoAttrList *other
,gint pos
,gint len
);
This function opens up a hole in list
, fills it in with attributes from
the left, and then merges other
on top of the hole.
This operation is equivalent to stretching every attribute
that applies at position pos
in list
by an amount len
,
and then calling pango_attr_list_change()
with a copy
of each attribute in other
in sequence (offset in position by pos
).
This operation proves useful for, for instance, inserting a pre-edit string in the middle of an edit buffer.
list |
||
other |
another PangoAttrList |
|
pos |
the position in |
|
len |
the length of the spliced segment. (Note that this
must be specified since the attributes in |
PangoAttrList * pango_attr_list_filter (PangoAttrList *list
,PangoAttrFilterFunc func
,gpointer data
);
Given a PangoAttrList and callback function, removes any elements
of list
for which func
returns TRUE
and inserts them into
a new list.
list |
||
func |
callback function; returns |
[scope call][closure data] |
data |
Data to be passed to |
[closure] |
the new PangoAttrList or
NULL
if no attributes of the given types were found.
[transfer full][nullable]
Since: 1.2
gboolean (*PangoAttrFilterFunc) (PangoAttribute *attribute
,gpointer user_data
);
Type of a function filtering a list of attributes.
PangoAttrIterator *
pango_attr_list_get_iterator (PangoAttrList *list
);
Create a iterator initialized to the beginning of the list.
list
must not be modified until this iterator is freed.
the newly allocated PangoAttrIterator, which should
be freed with pango_attr_iterator_destroy()
.
[transfer full]
PangoAttrIterator *
pango_attr_iterator_copy (PangoAttrIterator *iterator
);
Copy a PangoAttrIterator
the newly allocated
PangoAttrIterator, which should be freed with
pango_attr_iterator_destroy()
.
[transfer full]
gboolean
pango_attr_iterator_next (PangoAttrIterator *iterator
);
Advance the iterator until the next change of style.
void pango_attr_iterator_range (PangoAttrIterator *iterator
,gint *start
,gint *end
);
Get the range of the current segment. Note that the
stored return values are signed, not unsigned like
the values in PangoAttribute. To deal with this API
oversight, stored return values that wouldn't fit into
a signed integer are clamped to G_MAXINT
.
PangoAttribute * pango_attr_iterator_get (PangoAttrIterator *iterator
,PangoAttrType type
);
Find the current attribute of a particular type at the iterator location. When multiple attributes of the same type overlap, the attribute whose range starts closest to the current location is used.
the current attribute of the given type,
or NULL
if no attribute of that type applies to the
current location.
[nullable]
void pango_attr_iterator_get_font (PangoAttrIterator *iterator
,PangoFontDescription *desc
,PangoLanguage **language
,GSList **extra_attrs
);
Get the font and other attributes at the current iterator position.
iterator |
||
desc |
a PangoFontDescription to fill in with the current values.
The family name in this structure will be set using
|
|
language |
if non- |
[allow-none] |
extra_attrs |
if non- |
[allow-none][element-type Pango.Attribute][transfer full] |
GSList *
pango_attr_iterator_get_attrs (PangoAttrIterator *iterator
);
Gets a list of all attributes at the current position of the iterator.
a list of
all attributes for the current range.
To free this value, call pango_attribute_destroy()
on
each value and g_slist_free()
on the list.
[element-type Pango.Attribute][transfer full]
Since: 1.2
void
pango_attr_iterator_destroy (PangoAttrIterator *iterator
);
Destroy a PangoAttrIterator and free all associated memory.
The PangoAttrType
distinguishes between different types of attributes. Along with the
predefined values, it is possible to allocate additional values
for custom attributes using pango_attr_type_register()
. The predefined
values are given below. The type of structure used to store the
attribute is listed in parentheses after the description.
does not happen |
||
language (PangoAttrLanguage) |
||
font family name list (PangoAttrString) |
||
font slant style (PangoAttrInt) |
||
font weight (PangoAttrInt) |
||
font variant (normal or small caps) (PangoAttrInt) |
||
font stretch (PangoAttrInt) |
||
font size in points scaled by |
||
font description (PangoAttrFontDesc) |
||
foreground color (PangoAttrColor) |
||
background color (PangoAttrColor) |
||
whether the text has an underline (PangoAttrInt) |
||
whether the text is struck-through (PangoAttrInt) |
||
baseline displacement (PangoAttrInt) |
||
shape (PangoAttrShape) |
||
font size scale factor (PangoAttrFloat) |
||
whether fallback is enabled (PangoAttrInt) |
||
letter spacing (PangoAttrInt) |
||
underline color (PangoAttrColor) |
||
strikethrough color (PangoAttrColor) |
||
font size in pixels scaled by |
||
base text gravity (PangoAttrInt) |
||
gravity hint (PangoAttrInt) |
||
OpenType font features (PangoAttrString). Since 1.38 |
||
foreground alpha (PangoAttrInt). Since 1.38 |
||
background alpha (PangoAttrInt). Since 1.38 |
struct PangoAttrClass { PangoAttrType type; PangoAttribute * (*copy) (const PangoAttribute *attr); void (*destroy) (PangoAttribute *attr); gboolean (*equal) (const PangoAttribute *attr1, const PangoAttribute *attr2); };
The PangoAttrClass structure stores the type and operations for a particular type of attribute. The functions in this structure should not be called directly. Instead, one should use the wrapper functions provided for PangoAttribute.
PangoAttrType |
the type ID for this attribute |
|
function to duplicate an attribute of this type (see |
||
function to free an attribute of this type (see |
||
function to check two attributes of this type for equality (see |
struct PangoAttribute { const PangoAttrClass *klass; guint start_index; /* in bytes */ guint end_index; /* in bytes. The character at this index is not included */ };
The PangoAttribute structure represents the common portions of all
attributes. Particular types of attributes include this structure
as their initial portion. The common portion of the attribute holds
the range to which the value in the type-specific part of the attribute
applies and should be initialized using pango_attribute_init()
.
By default an attribute will have an all-inclusive range of [0,G_MAXUINT
].
const PangoAttrClass * |
the class structure holding information about the type of the attribute |
|
guint |
the start index of the range (in bytes). |
|
guint |
end index of the range (in bytes). The character at this index is not included in the range. |
#define PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING 0
This value can be used to set the start_index member of a PangoAttribute such that the attribute covers from the beginning of the text.
Since: 1.24
#define PANGO_ATTR_INDEX_TO_TEXT_END G_MAXUINT
This value can be used to set the end_index member of a PangoAttribute such that the attribute covers to the end of the text.
Since: 1.24
struct PangoAttrString { PangoAttribute attr; char *value; };
The PangoAttrString structure is used to represent attributes with a string value.
PangoAttribute |
the common portion of the attribute |
|
the string which is the value of the attribute |
struct PangoAttrLanguage { PangoAttribute attr; PangoLanguage *value; };
The PangoAttrLanguage structure is used to represent attributes that are languages.
PangoAttribute |
the common portion of the attribute |
|
PangoLanguage * |
the PangoLanguage which is the value of the attribute |
struct PangoAttrColor { PangoAttribute attr; PangoColor color; };
The PangoAttrColor structure is used to represent attributes that are colors.
PangoAttribute |
the common portion of the attribute |
|
PangoColor |
the PangoColor which is the value of the attribute |
struct PangoAttrInt { PangoAttribute attr; int value; };
The PangoAttrInt structure is used to represent attributes with an integer or enumeration value.
struct PangoAttrFloat { PangoAttribute attr; double value; };
The PangoAttrFloat structure is used to represent attributes with a float or double value.
struct PangoAttrFontDesc { PangoAttribute attr; PangoFontDescription *desc; };
The PangoAttrFontDesc structure is used to store an attribute that sets all aspects of the font description at once.
PangoAttribute |
the common portion of the attribute |
|
PangoFontDescription * |
the font description which is the value of this attribute |
struct PangoAttrShape { PangoAttribute attr; PangoRectangle ink_rect; PangoRectangle logical_rect; gpointer data; PangoAttrDataCopyFunc copy_func; GDestroyNotify destroy_func; };
The PangoAttrShape structure is used to represent attributes which impose shape restrictions.
PangoAttribute |
the common portion of the attribute |
|
PangoRectangle |
the ink rectangle to restrict to |
|
PangoRectangle |
the logical rectangle to restrict to |
|
gpointer |
user data set (see |
|
PangoAttrDataCopyFunc |
copy function for the user data |
|
GDestroyNotify |
destroy function for the user data |
struct PangoAttrSize { PangoAttribute attr; int size; guint absolute : 1; };
The PangoAttrSize structure is used to represent attributes which set font size.
PangoAttribute |
the common portion of the attribute |
|
size of font, in units of 1/ |
||
guint |
whether the font size is in device units or points.
This field is only present for compatibility with Pango-1.8.0
( |
struct PangoAttrFontFeatures { PangoAttribute attr; gchar *features; };
The PangoAttrFontFeatures structure is used to represent OpenType font features as an attribute.
PangoAttribute |
the common portion of the attribute |
|
gchar * |
the featues, as a string in CSS syntax |
Since: 1.38
The PangoUnderline enumeration is used to specify whether text should be underlined, and if so, the type of underlining.
no underline should be drawn |
||
a single underline should be drawn |
||
a double underline should be drawn |
||
a single underline should be drawn at a position
beneath the ink extents of the text being
underlined. This should be used only for underlining
single characters, such as for keyboard
accelerators. |
||
a wavy underline should be drawn below. This underline is typically used to indicate an error such as a possilble mispelling; in some cases a contrasting color may automatically be used. This type of underlining is available since Pango 1.4. |
#define PANGO_SCALE_XX_SMALL ((double)0.5787037037037)
The scale factor for three shrinking steps (1 / (1.2 * 1.2 * 1.2)).
#define PANGO_SCALE_X_SMALL ((double)0.6444444444444)
The scale factor for two shrinking steps (1 / (1.2 * 1.2)).
#define PANGO_SCALE_SMALL ((double)0.8333333333333)
The scale factor for one shrinking step (1 / 1.2).
#define PANGO_SCALE_LARGE ((double)1.2)
The scale factor for one magnification step (1.2).
#define PANGO_SCALE_X_LARGE ((double)1.4399999999999)
The scale factor for two magnification steps (1.2 * 1.2).
#define PANGO_SCALE_XX_LARGE ((double)1.728)
The scale factor for three magnification steps (1.2 * 1.2 * 1.2).
struct PangoColor { guint16 red; guint16 green; guint16 blue; };
The PangoColor structure is used to represent a color in an uncalibrated RGB color-space.
typedef struct _PangoAttrList PangoAttrList;
The PangoAttrList structure represents a list of attributes
that apply to a section of text. The attributes are, in general,
allowed to overlap in an arbitrary fashion, however, if the
attributes are manipulated only through pango_attr_list_change()
,
the overlap between properties will meet stricter criteria.
Since the PangoAttrList structure is stored as a linear list, it is not suitable for storing attributes for large amounts of text. In general, you should not use a single PangoAttrList for more than one paragraph of text.
#define PANGO_TYPE_ATTR_LIST pango_attr_list_get_type ()
The GObject type for PangoAttrList.
typedef struct _PangoAttrIterator PangoAttrIterator;
The PangoAttrIterator structure is used to represent an
iterator through a PangoAttrList. A new iterator is created
with pango_attr_list_get_iterator()
. Once the iterator
is created, it can be advanced through the style changes
in the text using pango_attr_iterator_next()
. At each
style change, the range of the current style segment and the
attributes currently in effect can be queried.