PangoAttribute
PangoAttrClass
PangoAttrString
PangoAttrInt
PangoAttrColor
PangoAttrFontDesc
PangoAttrList
PangoAttrIterator
PangoAttrType
typedef enum {
PANGO_ATTR_LANG, /* PangoAttrString */
PANGO_ATTR_FAMILY, /* PangoAttrString */
PANGO_ATTR_STYLE, /* PangoAttrInt */
PANGO_ATTR_WEIGHT, /* PangoAttrInt */
PANGO_ATTR_VARIANT, /* PangoAttrInt */
PANGO_ATTR_STRETCH, /* PangoAttrInt */
PANGO_ATTR_SIZE, /* PangoAttrSize */
PANGO_ATTR_FONT_DESC, /* PangoAttrFontDesc */
PANGO_ATTR_FOREGROUND, /* PangoAttrColor */
PANGO_ATTR_BACKGROUND, /* PangoAttrColor */
PANGO_ATTR_UNDERLINE, /* PangoAttrInt */
PANGO_ATTR_STRIKETHROUGH, /* PangoAttrInt */
PANGO_ATTR_RISE /* PangoAttrInt */
} PangoAttrType;
PangoUnderline
typedef enum {
PANGO_UNDERLINE_NONE,
PANGO_UNDERLINE_SINGLE,
PANGO_UNDERLINE_DOUBLE,
PANGO_UNDERLINE_LOW
} PangoUnderline;
PangoAttribute
struct PangoAttribute
{
const PangoAttrClass *klass;
guint start_index;
guint end_index;
};
PangoAttrClass
struct PangoAttrClass
{
PangoAttrType type;
PangoAttribute * (*copy) (const PangoAttribute *attr);
void (*destroy) (PangoAttribute *attr);
gboolean (*compare) (const PangoAttribute *attr1, const PangoAttribute *attr2);
};
PangoAttrString
struct PangoAttrString
{
PangoAttribute attr;
char *value;
};
PangoAttrInt
struct PangoAttrInt
{
PangoAttribute attr;
int value;
};
PangoAttrColor
struct PangoAttrColor
{
PangoAttribute attr;
guint16 red;
guint16 green;
guint16 blue;
};
PangoAttrFontDesc
struct PangoAttrFontDesc
{
PangoAttribute attr;
PangoFontDescription desc;
};
pango_attr_type_register
PangoAttrType
const gchar *name
pango_attribute_copy
PangoAttribute *
const PangoAttribute *attr
pango_attribute_destroy
void
PangoAttribute *attr
pango_attribute_compare
gboolean
const PangoAttribute *attr1,const PangoAttribute *attr2
pango_attr_lang_new
PangoAttribute *
const char *lang
pango_attr_family_new
PangoAttribute *
const char *family
pango_attr_foreground_new
PangoAttribute *
guint16 red,guint16 green,guint16 blue
pango_attr_background_new
PangoAttribute *
guint16 red,guint16 green,guint16 blue
pango_attr_size_new
PangoAttribute *
int size
pango_attr_style_new
PangoAttribute *
PangoStyle style
pango_attr_weight_new
PangoAttribute *
PangoWeight weight
pango_attr_variant_new
PangoAttribute *
PangoVariant variant
pango_attr_stretch_new
PangoAttribute *
PangoStretch stretch
pango_attr_font_desc_new
PangoAttribute *
const PangoFontDescription *desc
pango_attr_underline_new
PangoAttribute *
PangoUnderline underline
pango_attr_strikethrough_new
PangoAttribute *
gboolean strikethrough
pango_attr_rise_new
PangoAttribute *
int rise
pango_attr_list_new
PangoAttrList *
void
pango_attr_list_ref
void
PangoAttrList *list
pango_attr_list_unref
void
PangoAttrList *list
pango_attr_list_insert
void
PangoAttrList *list,PangoAttribute *attr
pango_attr_list_change
void
PangoAttrList *list,PangoAttribute *attr
pango_attr_list_get_iterator
PangoAttrIterator *
PangoAttrList *list
pango_attr_iterator_range
void
PangoAttrIterator *iterator,gint *start,gint *end
pango_attr_iterator_next
gboolean
PangoAttrIterator *iterator
pango_attr_iterator_destroy
void
PangoAttrIterator *iterator
pango_attr_iterator_get
PangoAttribute *
PangoAttrIterator *iterator,PangoAttrType type
pango_attr_iterator_get_font
void
PangoAttrIterator *iterator,PangoFontDescription *base,PangoFontDescription *current,GSList **extra_attrs
PangoContext
pango_context_new
PangoContext *
void
pango_context_ref
void
PangoContext *context
pango_context_unref
void
PangoContext *context
pango_context_add_font_map
void
PangoContext *context,PangoFontMap *font_map
pango_context_list_fonts
void
PangoContext *context,const char *family,PangoFontDescription ***descs,int *n_descs
pango_context_list_families
void
PangoContext *context,gchar ***families,int *n_families
pango_context_load_font
PangoFont *
PangoContext *context,const PangoFontDescription *desc
pango_context_set_font_description
void
PangoContext *context,const PangoFontDescription *desc
pango_context_get_font_description
PangoFontDescription *
PangoContext *context
pango_context_get_lang
char *
PangoContext *context
pango_context_set_lang
void
PangoContext *context,const char *lang
pango_context_set_base_dir
void
PangoContext *context,PangoDirection direction
pango_context_get_base_dir
PangoDirection
PangoContext *context
pango_context_set_data
void
PangoContext *context,const char *key,gpointer data,GDestroyNotify destroy_func
pango_context_get_data
gpointer
PangoContext *context,const char *key
pango_itemize
GList *
PangoContext *context,const char *text,gint length,PangoAttrList *attrs
PangoCoverage
PangoCoverageLevel
typedef enum {
PANGO_COVERAGE_NONE,
PANGO_COVERAGE_FALLBACK,
PANGO_COVERAGE_APPROXIMATE,
PANGO_COVERAGE_EXACT
} PangoCoverageLevel;
pango_coverage_new
PangoCoverage *
void
pango_coverage_ref
void
PangoCoverage *coverage
pango_coverage_unref
void
PangoCoverage *coverage
pango_coverage_copy
PangoCoverage *
PangoCoverage *coverage
pango_coverage_get
PangoCoverageLevel
PangoCoverage *coverage,int index
pango_coverage_set
void
PangoCoverage *coverage,int index,PangoCoverageLevel level
pango_coverage_max
void
PangoCoverage *coverage,PangoCoverage *other
PANGO_ENGINE_TYPE_LANG
#define PANGO_ENGINE_TYPE_LANG "PangoEngineLang"
PANGO_ENGINE_TYPE_SHAPE
#define PANGO_ENGINE_TYPE_SHAPE "PangoEngineShape"
PANGO_RENDER_TYPE_NONE
#define PANGO_RENDER_TYPE_NONE "PangoRenderNone"
PangoEngineInfo
PangoEngineRange
PangoEngine
PangoEngineRange
struct PangoEngineRange
{
guint32 start;
guint32 end;
gchar *langs;
};
PangoEngineInfo
struct PangoEngineInfo
{
gchar *id;
gchar *engine_type;
gchar *render_type;
PangoEngineRange *ranges;
gint n_ranges;
};
PangoEngine
struct PangoEngine
{
gchar *id;
gchar *type;
gint length;
};
PangoEngineLang
struct PangoEngineLang
{
PangoEngine engine;
void (*script_break) (const char *text,
int len,
PangoAnalysis *analysis,
PangoLogAttr *attrs);
};
PangoEngineShape
struct PangoEngineShape
{
PangoEngine engine;
void (*script_shape) (PangoFont *font,
const char *text,
int length,
PangoAnalysis *analysis,
PangoGlyphString *glyphs);
PangoCoverage *(*get_coverage) (PangoFont *font,
const char *lang);
};
script_engine_list
void
PangoEngineInfo **engines,int *n_engines
script_engine_load
PangoEngine *
const char *id
script_engine_unload
void
PangoEngine *engine
PangoFontDescription
PangoFontClass
PangoFontMap
PangoFontMapClass
PangoFontMetrics
PangoStyle
typedef enum {
PANGO_STYLE_NORMAL,
PANGO_STYLE_OBLIQUE,
PANGO_STYLE_ITALIC
} PangoStyle;
PangoVariant
typedef enum {
PANGO_VARIANT_NORMAL,
PANGO_VARIANT_SMALL_CAPS
} PangoVariant;
PangoWeight
typedef enum {
PANGO_WEIGHT_NORMAL = 400,
PANGO_WEIGHT_BOLD = 700
} PangoWeight;
PangoStretch
typedef enum {
PANGO_STRETCH_ULTRA_CONDENSED,
PANGO_STRETCH_EXTRA_CONDENSED,
PANGO_STRETCH_CONDENSED,
PANGO_STRETCH_SEMI_CONDENSED,
PANGO_STRETCH_NORMAL,
PANGO_STRETCH_SEMI_EXPANDED,
PANGO_STRETCH_EXPANDED,
PANGO_STRETCH_EXTRA_EXPANDED,
PANGO_STRETCH_ULTRA_EXPANDED
} PangoStretch;
PangoFontDescription
struct PangoFontDescription
{
char *family_name;
PangoStyle style;
PangoVariant variant;
PangoWeight weight;
PangoStretch stretch;
int size;
};
PangoFontMetrics
struct PangoFontMetrics
{
int ascent;
int descent;
};
pango_font_description_copy
PangoFontDescription *
const PangoFontDescription *desc
pango_font_description_compare
gboolean
const PangoFontDescription *desc1,const PangoFontDescription *desc2
pango_font_description_free
void
PangoFontDescription *desc
pango_font_descriptions_free
void
PangoFontDescription **descs,int n_descs
pango_font_description_from_string
PangoFontDescription *
const char *str
pango_font_description_to_string
char *
const PangoFontDescription *desc
PangoFont
struct PangoFont
{
PangoFontClass *klass;
/*< private >*/
gint ref_count;
GData *data;
};
PangoFontClass
struct PangoFontClass
{
void (*destroy) (PangoFont *font);
PangoFontDescription *(*describe) (PangoFont *font);
PangoCoverage * (*get_coverage) (PangoFont *font,
const char *lang);
PangoEngineShape * (*find_shaper) (PangoFont *font,
const char *lang,
guint32 ch);
void (*get_glyph_extents) (PangoFont *font,
PangoGlyph glyph,
PangoRectangle *ink_rect,
PangoRectangle *logical_rect);
void (*get_metrics) (PangoFont *font,
const gchar *lang,
PangoFontMetrics *metrics);
};
pango_font_init
void
PangoFont *font
pango_font_ref
void
PangoFont *font
pango_font_unref
void
PangoFont *font
pango_font_get_data
gpointer
PangoFont *font,const gchar *key
pango_font_set_data
void
PangoFont *font,const gchar *key,gpointer data,GDestroyNotify destroy_func
pango_font_describe
PangoFontDescription *
PangoFont *font
pango_font_get_coverage
PangoCoverage *
PangoFont *font,const char *lang
pango_font_find_shaper
PangoEngineShape *
PangoFont *font,const char *lang,guint32 ch
pango_font_get_metrics
void
PangoFont *font,const gchar *lang,PangoFontMetrics *metrics
pango_font_get_glyph_extents
void
PangoFont *font,PangoGlyph glyph,PangoRectangle *ink_rect,PangoRectangle *logical_rect
PangoFontMap
struct PangoFontMap
{
PangoFontMapClass *klass;
/*< private >*/
gint ref_count;
};
PangoFontMapClass
struct PangoFontMapClass
{
void (*destroy) (PangoFontMap *fontmap);
PangoFont *(*load_font) (PangoFontMap *fontmap,
const PangoFontDescription *desc);
void (*list_fonts) (PangoFontMap *fontmap,
const gchar *family,
PangoFontDescription ***descs,
int *n_descs);
void (*list_families) (PangoFontMap *fontmap,
gchar ***families,
int *n_families);
};
pango_font_map_init
void
PangoFontMap *fontmap
pango_font_map_ref
void
PangoFontMap *fontmap
pango_font_map_unref
void
PangoFontMap *fontmap
pango_font_map_load_font
PangoFont *
PangoFontMap *fontmap,const PangoFontDescription *desc
pango_font_map_list_fonts
void
PangoFontMap *fontmap,const gchar *family,PangoFontDescription ***descs,int *n_descs
pango_font_map_list_families
void
PangoFontMap *fontmap,gchar ***families,int *n_families
pango_font_map_free_families
void
gchar **families,int n_families
PangoGlyphGeometry
PangoGlyphVisAttr
PangoGlyphInfo
PangoGlyphString
PangoGlyphUnit
typedef gint32 PangoGlyphUnit;
PangoGlyphGeometry
struct PangoGlyphGeometry
{
PangoGlyphUnit width;
PangoGlyphUnit x_offset;
PangoGlyphUnit y_offset;
};
PangoGlyphVisAttr
struct PangoGlyphVisAttr
{
guint is_cluster_start : 1;
};
PangoGlyphInfo
struct PangoGlyphInfo
{
PangoGlyph glyph;
PangoGlyphGeometry geometry;
PangoGlyphVisAttr attr;
};
PangoGlyphString
struct PangoGlyphString {
gint num_glyphs;
PangoGlyphInfo *glyphs;
/* This is a memory inefficient way of representing the
* information here - each value gives the character index
* of the start of the cluster to which the glyph belongs.
*/
gint *log_clusters;
/*< private >*/
gint space;
};
pango_glyph_string_new
PangoGlyphString *
void
pango_glyph_string_set_size
void
PangoGlyphString *string,gint new_len
pango_glyph_string_free
void
PangoGlyphString *string
pango_glyph_string_extents
void
PangoGlyphString *glyphs,PangoFont *font,PangoRectangle *ink_rect,PangoRectangle *logical_rect
pango_glyph_string_get_logical_widths
void
PangoGlyphString *glyphs,const char *text,int length,int embedding_level,int *logical_widths
pango_glyph_string_index_to_x
void
PangoGlyphString *glyphs,char *text,int length,PangoAnalysis *analysis,int index,gboolean trailing,int *x_pos
pango_glyph_string_x_to_index
void
PangoGlyphString *glyphs,char *text,int length,PangoAnalysis *analysis,int x_pos,int *index,int *trailing
pango_justify
void
PangoGlyphString *glyphs,gint new_line_width,gint min_kashida_width
PangoAnalysis
PangoItem
PangoAnalysis
struct PangoAnalysis
{
PangoEngineShape *shape_engine;
PangoEngineLang *lang_engine;
PangoFont *font;
guint8 level;
};
PangoItem
struct PangoItem
{
gint offset;
gint length;
gint num_chars;
GSList *extra_attrs;
PangoAnalysis analysis;
};
pango_item_new
PangoItem *
void
pango_item_copy
PangoItem *
PangoItem *item
pango_item_free
void
PangoItem *item
PangoLayout
PangoLayoutLine
PangoLayoutRun
PangoAlignment
typedef enum {
PANGO_ALIGN_LEFT,
PANGO_ALIGN_CENTER,
PANGO_ALIGN_RIGHT
} PangoAlignment;
PangoLayoutLine
struct PangoLayoutLine
{
PangoLayout *layout;
gint length; /* length of line in bytes*/
GSList *runs;
};
PangoLayoutRun
struct PangoLayoutRun
{
PangoItem *item;
PangoGlyphString *glyphs;
};
pango_layout_new
PangoLayout *
PangoContext *context
pango_layout_ref
void
PangoLayout *layout
pango_layout_unref
void
PangoLayout *layout
pango_layout_get_context
PangoContext *
PangoLayout *layout
pango_layout_set_attributes
void
PangoLayout *layout,PangoAttrList *attrs
pango_layout_set_text
void
PangoLayout *layout,char *text,int length
pango_layout_set_width
void
PangoLayout *layout,int width
pango_layout_get_width
int
PangoLayout *layout
pango_layout_set_indent
void
PangoLayout *layout,int indent
pango_layout_get_indent
int
PangoLayout *layout
pango_layout_set_spacing
void
PangoLayout *layout,int spacing
pango_layout_get_spacing
int
PangoLayout *layout
pango_layout_set_justify
void
PangoLayout *layout,gboolean justify
pango_layout_get_justify
gboolean
PangoLayout *layout
pango_layout_set_alignment
void
PangoLayout *layout,PangoAlignment alignment
pango_layout_get_alignment
PangoAlignment
PangoLayout *layout
pango_layout_context_changed
void
PangoLayout *layout
pango_layout_get_log_attrs
void
PangoLayout *layout,PangoLogAttr **attrs,gint *n_attrs
pango_layout_index_to_pos
void
PangoLayout *layout,int index,PangoRectangle *pos
pango_layout_get_cursor_pos
void
PangoLayout *layout,int index,PangoRectangle *strong_pos,PangoRectangle *weak_pos
pango_layout_move_cursor_visually
void
PangoLayout *layout,int old_index,int old_trailing,int direction,int *new_index,int *new_trailing
pango_layout_xy_to_index
gboolean
PangoLayout *layout,int x,int y,int *index,gboolean *trailing
pango_layout_get_extents
void
PangoLayout *layout,PangoRectangle *ink_rect,PangoRectangle *logical_rect
pango_layout_get_line_count
int
PangoLayout *layout
pango_layout_get_line
PangoLayoutLine *
PangoLayout *layout,int line
pango_layout_get_lines
GSList *
PangoLayout *layout
pango_layout_line_ref
void
PangoLayoutLine *line
pango_layout_line_unref
void
PangoLayoutLine *line
pango_layout_line_x_to_index
void
PangoLayoutLine *line,int x_pos,int *index,int *trailing
pango_layout_line_index_to_x
void
PangoLayoutLine *line,int index,gboolean trailing,int *x_pos
pango_layout_line_get_x_ranges
void
PangoLayoutLine *line,int start_index,int end_index,int **ranges,int *n_ranges
pango_layout_line_get_extents
void
PangoLayoutLine *line,PangoRectangle *ink_rect,PangoRectangle *logical_rect
G_N_ELEMENTS
#define G_N_ELEMENTS(arr) (sizeof(arr) / sizeof((arr)[0]))
PangoLangRange
PangoLogAttr
PangoEngineLang
PangoEngineShape
PangoFont
PangoRectangle
PangoGlyph
typedef guint32 PangoGlyph;
PangoRectangle
struct PangoRectangle
{
int x;
int y;
int width;
int height;
};
PANGO_SCALE
#define PANGO_SCALE 1000
PANGO_ASCENT
#define PANGO_ASCENT(rect) (-(rect).y)
PANGO_DESCENT
#define PANGO_DESCENT(rect) ((rect).y + (rect).height)
PANGO_LBEARING
#define PANGO_LBEARING(rect) ((rect).x)
PANGO_RBEARING
#define PANGO_RBEARING(rect) ((rect).x + (rect).width)
PangoDirection
typedef enum {
PANGO_DIRECTION_LTR,
PANGO_DIRECTION_RTL,
PANGO_DIRECTION_TTB_LTR,
PANGO_DIRECTION_TTB_RTL
} PangoDirection;
PangoLangRange
struct PangoLangRange
{
gint start;
gint length;
gchar *lang;
};
PangoLogAttr
struct PangoLogAttr
{
guint is_break : 1; /* Break in front of character */
guint is_white : 1;
guint is_char_stop : 1;
guint is_word_stop : 1;
};
pango_break
void
const gchar *text,gint length,PangoAnalysis *analysis,PangoLogAttr *attrs
pango_shape
void
const gchar *text,gint length,PangoAnalysis *analysis,PangoGlyphString *glyphs
pango_reorder_items
GList *
GList *logical_items
PANGO_RENDER_TYPE_X
#define PANGO_RENDER_TYPE_X "PangoRenderX"
PangoGetGCFunc
GC
PangoContext *context, PangoAttrColor *color, GC base_gc
PangoFreeGCFunc
void
PangoContext *context, GC gc
pango_x_get_context
PangoContext *
Display *display
pango_x_context_set_funcs
void
PangoContext *context,PangoGetGCFunc get_gc_func,PangoFreeGCFunc free_gc_func
pango_x_load_font
PangoFont *
Display *display,gchar *spec
pango_x_render
void
Display *display,Drawable d,GC gc,PangoFont *font,PangoGlyphString *glyphs,gint x,gint y
pango_x_render_layout_line
void
Display *display,Drawable drawable,GC gc,PangoLayoutLine *line,int x,int y
pango_x_render_layout
void
Display *display,Drawable drawable,GC gc,PangoLayout *layout,int x,int y
PangoXSubfont
typedef guint16 PangoXSubfont;
PANGO_X_MAKE_GLYPH
#define PANGO_X_MAKE_GLYPH(subfont,index) (subfont<<16 | index)
PANGO_X_GLYPH_SUBFONT
#define PANGO_X_GLYPH_SUBFONT(glyph) (glyph>>16)
PANGO_X_GLYPH_INDEX
#define PANGO_X_GLYPH_INDEX(glyph) (glyph & 0xffff)
pango_x_list_subfonts
int
PangoFont *font,char **charsets,int n_charsets,PangoXSubfont **subfont_ids,int **subfont_charsets
pango_x_has_glyph
gboolean
PangoFont *font,PangoGlyph glyph
pango_x_get_unknown_glyph
PangoGlyph
PangoFont *font