Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
pango-font.h
Go to the documentation of this file.
1/* Pango
2 * pango-font.h: Font handling
3 *
4 * Copyright (C) 2000 Red Hat Software
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Library General Public License for more details.
15 *
16 * You should have received a copy of the GNU Library General Public
17 * License along with this library; if not, write to the
18 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 * Boston, MA 02111-1307, USA.
20 */
21
22#ifndef __PANGO_FONT_H__
23#define __PANGO_FONT_H__
24
26#include <pango/pango-types.h>
27
28#include <glib-object.h>
29#include <hb.h>
30
32
33/**
34 * PangoFontDescription:
35 *
36 * A `PangoFontDescription` describes a font in an implementation-independent
37 * manner.
38 *
39 * `PangoFontDescription` structures are used both to list what fonts are
40 * available on the system and also for specifying the characteristics of
41 * a font to load.
42 */
43typedef struct _PangoFontDescription PangoFontDescription;
44
45/**
46 * PangoFontMetrics:
47 *
48 * A `PangoFontMetrics` structure holds the overall metric information
49 * for a font.
50 *
51 * The information in a `PangoFontMetrics` structure may be restricted
52 * to a script. The fields of this structure are private to implementations
53 * of a font backend. See the documentation of the corresponding getters
54 * for documentation of their meaning.
55 *
56 * For an overview of the most important metrics, see:
57 *
58 * <picture>
59 * <source srcset="fontmetrics-dark.png" media="(prefers-color-scheme: dark)">
60 * <img alt="Font metrics" src="fontmetrics-light.png">
61 * </picture>
62
63 */
65
66/**
67 * PangoStyle:
68 * @PANGO_STYLE_NORMAL: the font is upright.
69 * @PANGO_STYLE_OBLIQUE: the font is slanted, but in a roman style.
70 * @PANGO_STYLE_ITALIC: the font is slanted in an italic style.
71 *
72 * An enumeration specifying the various slant styles possible for a font.
73 **/
79
80/**
81 * PangoVariant:
82 * @PANGO_VARIANT_NORMAL: A normal font.
83 * @PANGO_VARIANT_SMALL_CAPS: A font with the lower case characters
84 * replaced by smaller variants of the capital characters.
85 * @PANGO_VARIANT_ALL_SMALL_CAPS: A font with all characters
86 * replaced by smaller variants of the capital characters. Since: 1.50
87 * @PANGO_VARIANT_PETITE_CAPS: A font with the lower case characters
88 * replaced by smaller variants of the capital characters.
89 * Petite Caps can be even smaller than Small Caps. Since: 1.50
90 * @PANGO_VARIANT_ALL_PETITE_CAPS: A font with all characters
91 * replaced by smaller variants of the capital characters.
92 * Petite Caps can be even smaller than Small Caps. Since: 1.50
93 * @PANGO_VARIANT_UNICASE: A font with the upper case characters
94 * replaced by smaller variants of the capital letters. Since: 1.50
95 * @PANGO_VARIANT_TITLE_CAPS: A font with capital letters that
96 * are more suitable for all-uppercase titles. Since: 1.50
97 *
98 * An enumeration specifying capitalization variant of the font.
99 */
109
110/**
111 * PangoWeight:
112 * @PANGO_WEIGHT_THIN: the thin weight (= 100) Since: 1.24
113 * @PANGO_WEIGHT_ULTRALIGHT: the ultralight weight (= 200)
114 * @PANGO_WEIGHT_LIGHT: the light weight (= 300)
115 * @PANGO_WEIGHT_SEMILIGHT: the semilight weight (= 350) Since: 1.36.7
116 * @PANGO_WEIGHT_BOOK: the book weight (= 380) Since: 1.24)
117 * @PANGO_WEIGHT_NORMAL: the default weight (= 400)
118 * @PANGO_WEIGHT_MEDIUM: the medium weight (= 500) Since: 1.24
119 * @PANGO_WEIGHT_SEMIBOLD: the semibold weight (= 600)
120 * @PANGO_WEIGHT_BOLD: the bold weight (= 700)
121 * @PANGO_WEIGHT_ULTRABOLD: the ultrabold weight (= 800)
122 * @PANGO_WEIGHT_HEAVY: the heavy weight (= 900)
123 * @PANGO_WEIGHT_ULTRAHEAVY: the ultraheavy weight (= 1000) Since: 1.24
124 *
125 * An enumeration specifying the weight (boldness) of a font.
126 *
127 * Weight is specified as a numeric value ranging from 100 to 1000.
128 * This enumeration simply provides some common, predefined values.
129 */
144
145/**
146 * PangoStretch:
147 * @PANGO_STRETCH_ULTRA_CONDENSED: ultra condensed width
148 * @PANGO_STRETCH_EXTRA_CONDENSED: extra condensed width
149 * @PANGO_STRETCH_CONDENSED: condensed width
150 * @PANGO_STRETCH_SEMI_CONDENSED: semi condensed width
151 * @PANGO_STRETCH_NORMAL: the normal width
152 * @PANGO_STRETCH_SEMI_EXPANDED: semi expanded width
153 * @PANGO_STRETCH_EXPANDED: expanded width
154 * @PANGO_STRETCH_EXTRA_EXPANDED: extra expanded width
155 * @PANGO_STRETCH_ULTRA_EXPANDED: ultra expanded width
156 *
157 * An enumeration specifying the width of the font relative to other designs
158 * within a family.
159 */
171
172/**
173 * PangoFontMask:
174 * @PANGO_FONT_MASK_FAMILY: the font family is specified.
175 * @PANGO_FONT_MASK_STYLE: the font style is specified.
176 * @PANGO_FONT_MASK_VARIANT: the font variant is specified.
177 * @PANGO_FONT_MASK_WEIGHT: the font weight is specified.
178 * @PANGO_FONT_MASK_STRETCH: the font stretch is specified.
179 * @PANGO_FONT_MASK_SIZE: the font size is specified.
180 * @PANGO_FONT_MASK_GRAVITY: the font gravity is specified (Since: 1.16.)
181 * @PANGO_FONT_MASK_VARIATIONS: OpenType font variations are specified (Since: 1.42)
182 *
183 * The bits in a `PangoFontMask` correspond to the set fields in a
184 * `PangoFontDescription`.
185 */
196
197/* CSS scale factors (1.2 factor between each size) */
198/**
199 * PANGO_SCALE_XX_SMALL:
200 *
201 * The scale factor for three shrinking steps (1 / (1.2 * 1.2 * 1.2)).
202 */
203/**
204 * PANGO_SCALE_X_SMALL:
205 *
206 * The scale factor for two shrinking steps (1 / (1.2 * 1.2)).
207 */
208/**
209 * PANGO_SCALE_SMALL:
210 *
211 * The scale factor for one shrinking step (1 / 1.2).
212 */
213/**
214 * PANGO_SCALE_MEDIUM:
215 *
216 * The scale factor for normal size (1.0).
217 */
218/**
219 * PANGO_SCALE_LARGE:
220 *
221 * The scale factor for one magnification step (1.2).
222 */
223/**
224 * PANGO_SCALE_X_LARGE:
225 *
226 * The scale factor for two magnification steps (1.2 * 1.2).
227 */
228/**
229 * PANGO_SCALE_XX_LARGE:
230 *
231 * The scale factor for three magnification steps (1.2 * 1.2 * 1.2).
232 */
233#define PANGO_SCALE_XX_SMALL ((double)0.5787037037037)
234#define PANGO_SCALE_X_SMALL ((double)0.6944444444444)
235#define PANGO_SCALE_SMALL ((double)0.8333333333333)
236#define PANGO_SCALE_MEDIUM ((double)1.0)
237#define PANGO_SCALE_LARGE ((double)1.2)
238#define PANGO_SCALE_X_LARGE ((double)1.44)
239#define PANGO_SCALE_XX_LARGE ((double)1.728)
240
241/*
242 * PangoFontDescription
243 */
244
245#define PANGO_TYPE_FONT_DESCRIPTION (pango_font_description_get_type ())
246
259 const PangoFontDescription *desc2) G_GNUC_PURE;
264 int n_descs);
265
268 const char *family);
271 const char *family);
276 PangoStyle style);
281 PangoVariant variant);
286 PangoWeight weight);
291 PangoStretch stretch);
296 gint size);
301 double size);
306 PangoGravity gravity);
309
312 const char *variations);
315 const char *variations);
318
323 PangoFontMask to_unset);
324
327 const PangoFontDescription *desc_to_merge,
328 gboolean replace_existing);
331 const PangoFontDescription *desc_to_merge,
332 gboolean replace_existing);
333
336 const PangoFontDescription *old_match,
337 const PangoFontDescription *new_match) G_GNUC_PURE;
338
345
346/*
347 * PangoFontMetrics
348 */
349
350#define PANGO_TYPE_FONT_METRICS (pango_font_metrics_get_type ())
351
367
392
393
394/*
395 * PangoFontFamily
396 */
397
398#define PANGO_TYPE_FONT_FAMILY (pango_font_family_get_type ())
399#define PANGO_FONT_FAMILY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FAMILY, PangoFontFamily))
400#define PANGO_IS_FONT_FAMILY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FAMILY))
401#define PANGO_FONT_FAMILY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONT_FAMILY, PangoFontFamilyClass))
402#define PANGO_IS_FONT_FAMILY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FONT_FAMILY))
403#define PANGO_FONT_FAMILY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FONT_FAMILY, PangoFontFamilyClass))
404
408
409#ifndef PANGO_DISABLE_DEPRECATED
410
411/**
412 * PangoFontFamily:
413 *
414 * A `PangoFontFamily` is used to represent a family of related
415 * font faces.
416 *
417 * The font faces in a family share a common design, but differ in
418 * slant, weight, width or other aspects.
419 */
424
426{
428
429 /*< public >*/
430
431 void (*list_faces) (PangoFontFamily *family,
432 PangoFontFace ***faces,
433 int *n_faces);
434 const char * (*get_name) (PangoFontFamily *family);
437
438 PangoFontFace * (*get_face) (PangoFontFamily *family,
439 const char *name);
440
441
442 /*< private >*/
443
444 /* Padding for future expansion */
445 void (*_pango_reserved2) (void);
446};
447
448#endif /* PANGO_DISABLE_DEPRECATED */
449
452
455 PangoFontFace ***faces,
456 int *n_faces);
463
466 const char *name);
467
468
469/*
470 * PangoFontFace
471 */
472
473#define PANGO_TYPE_FONT_FACE (pango_font_face_get_type ())
474#define PANGO_FONT_FACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FACE, PangoFontFace))
475#define PANGO_IS_FONT_FACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FACE))
476#define PANGO_FONT_FACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONT_FACE, PangoFontFaceClass))
477#define PANGO_IS_FONT_FACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FONT_FACE))
478#define PANGO_FONT_FACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FONT_FACE, PangoFontFaceClass))
479
481
482#ifndef PANGO_DISABLE_DEPRECATED
483
484/**
485 * PangoFontFace:
486 *
487 * A `PangoFontFace` is used to represent a group of fonts with
488 * the same family, slant, weight, and width, but varying sizes.
489 */
494
496{
498
499 /*< public >*/
500
501 const char * (*get_face_name) (PangoFontFace *face);
502 PangoFontDescription * (*describe) (PangoFontFace *face);
503 void (*list_sizes) (PangoFontFace *face,
504 int **sizes,
505 int *n_sizes);
507 PangoFontFamily * (*get_family) (PangoFontFace *face);
508
509 /*< private >*/
510
511 /* Padding for future expansion */
512 void (*_pango_reserved3) (void);
513 void (*_pango_reserved4) (void);
514};
515
516#endif /* PANGO_DISABLE_DEPRECATED */
517
520
527 int **sizes,
528 int *n_sizes);
531
534
535
536/*
537 * PangoFont
538 */
539
540#define PANGO_TYPE_FONT (pango_font_get_type ())
541#define PANGO_FONT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT, PangoFont))
542#define PANGO_IS_FONT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT))
543#define PANGO_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONT, PangoFontClass))
544#define PANGO_IS_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FONT))
545#define PANGO_FONT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FONT, PangoFontClass))
546
547
548#ifndef PANGO_DISABLE_DEPRECATED
549
550/**
551 * PangoFont:
552 *
553 * A `PangoFont` is used to represent a font in a
554 * rendering-system-independent manner.
555 */
560
563{
565
566 /*< public >*/
567
568 PangoFontDescription *(*describe) (PangoFont *font);
569 PangoCoverage * (*get_coverage) (PangoFont *font,
570 PangoLanguage *language);
572 PangoGlyph glyph,
573 PangoRectangle *ink_rect,
574 PangoRectangle *logical_rect);
575 PangoFontMetrics * (*get_metrics) (PangoFont *font,
576 PangoLanguage *language);
577 PangoFontMap * (*get_font_map) (PangoFont *font);
578 PangoFontDescription *(*describe_absolute) (PangoFont *font);
579 void (*get_features) (PangoFont *font,
580 hb_feature_t *features,
581 guint len,
582 guint *num_features);
583 hb_font_t * (*create_hb_font) (PangoFont *font);
584};
585
586#endif /* PANGO_DISABLE_DEPRECATED */
587
590
597 PangoLanguage *language);
598#ifndef __GI_SCANNER__
601 PangoLanguage *language,
602 guint32 ch);
603#endif
606 PangoLanguage *language);
609 PangoGlyph glyph,
610 PangoRectangle *ink_rect,
611 PangoRectangle *logical_rect);
614
617
620 gunichar wc);
623 hb_feature_t *features,
624 guint len,
625 guint *num_features);
628
631
634
637 GBytes *bytes,
638 GError **error);
639
640/**
641 * PANGO_GLYPH_EMPTY:
642 *
643 * A `PangoGlyph` value that indicates a zero-width empty glpyh.
644 *
645 * This is useful for example in shaper modules, to use as the glyph for
646 * various zero-width Unicode characters (those passing [func@is_zero_width]).
647 */
648
649/**
650 * PANGO_GLYPH_INVALID_INPUT:
651 *
652 * A `PangoGlyph` value for invalid input.
653 *
654 * `PangoLayout` produces one such glyph per invalid input UTF-8 byte and such
655 * a glyph is rendered as a crossed box.
656 *
657 * Note that this value is defined such that it has the %PANGO_GLYPH_UNKNOWN_FLAG
658 * set.
659 *
660 * Since: 1.20
661 */
662/**
663 * PANGO_GLYPH_UNKNOWN_FLAG:
664 *
665 * Flag used in `PangoGlyph` to turn a `gunichar` value of a valid Unicode
666 * character into an unknown-character glyph for that `gunichar`.
667 *
668 * Such unknown-character glyphs may be rendered as a 'hex box'.
669 */
670/**
671 * PANGO_GET_UNKNOWN_GLYPH:
672 * @wc: a Unicode character
673 *
674 * The way this unknown glyphs are rendered is backend specific. For example,
675 * a box with the hexadecimal Unicode code-point of the character written in it
676 * is what is done in the most common backends.
677 *
678 * Returns: a `PangoGlyph` value that means no glyph was found for @wc.
679 */
680#define PANGO_GLYPH_EMPTY ((PangoGlyph)0x0FFFFFFF)
681#define PANGO_GLYPH_INVALID_INPUT ((PangoGlyph)0xFFFFFFFF)
682#define PANGO_GLYPH_UNKNOWN_FLAG ((PangoGlyph)0x10000000)
683#define PANGO_GET_UNKNOWN_GLYPH(wc) ((PangoGlyph)(wc)|PANGO_GLYPH_UNKNOWN_FLAG)
684
685#ifndef __GI_SCANNER__
686#ifndef PANGO_DISABLE_DEPRECATED
687#define PANGO_UNKNOWN_GLYPH_WIDTH 10
688#define PANGO_UNKNOWN_GLYPH_HEIGHT 14
689#endif
690#endif
691
696
698
699#endif /* __PANGO_FONT_H__ */
typedefG_BEGIN_DECLS struct _GBytes GBytes
Definition garray.h:38
unsigned int guint32
Definition glibconfig.h:57
#define G_GNUC_PURE
Definition gmacros.h:287
#define G_END_DECLS
Definition gmacros.h:910
#define G_BEGIN_DECLS
Definition gmacros.h:909
#define G_GNUC_CONST
Definition gmacros.h:637
#define G_DEFINE_AUTOPTR_CLEANUP_FUNC(TypeName, func)
Definition gmacros.h:1400
GOBJECT_AVAILABLE_IN_ALL void g_object_unref(gpointer object)
gsize GType
Definition gtype.h:427
gint gboolean
Definition gtypes.h:56
int gint
Definition gtypes.h:55
unsigned int guint
Definition gtypes.h:61
G_BEGIN_DECLS typedef guint32 gunichar
Definition gunicode.h:61
struct hb_font_t hb_font_t
Definition hb-common.h:949
const char * name
Definition lsqlite3.c:2154
static void error(LoadState *S, const char *why)
typedefG_BEGIN_DECLS struct _PangoCoverage PangoCoverage
PANGO_AVAILABLE_IN_ALL void pango_font_description_set_size(PangoFontDescription *desc, gint size)
PANGO_AVAILABLE_IN_ALL void pango_font_description_merge(PangoFontDescription *desc, const PangoFontDescription *desc_to_merge, gboolean replace_existing)
PANGO_AVAILABLE_IN_ALL PangoFontDescription * pango_font_description_from_string(const char *str)
PANGO_AVAILABLE_IN_1_46 PangoFontFace * pango_font_family_get_face(PangoFontFamily *family, const char *name)
PANGO_AVAILABLE_IN_ALL GType pango_font_description_get_type(void) G_GNUC_CONST
PANGO_AVAILABLE_IN_ALL PangoVariant pango_font_description_get_variant(const PangoFontDescription *desc) G_GNUC_PURE
PANGO_AVAILABLE_IN_ALL int pango_font_metrics_get_approximate_digit_width(PangoFontMetrics *metrics) G_GNUC_PURE
PANGO_AVAILABLE_IN_1_46 PangoFontFamily * pango_font_face_get_family(PangoFontFace *face)
PANGO_AVAILABLE_IN_ALL GType pango_font_get_type(void) G_GNUC_CONST
PANGO_AVAILABLE_IN_1_8 void pango_font_description_set_absolute_size(PangoFontDescription *desc, double size)
PangoVariant
Definition pango-font.h:100
@ PANGO_VARIANT_NORMAL
Definition pango-font.h:101
@ PANGO_VARIANT_ALL_SMALL_CAPS
Definition pango-font.h:103
@ PANGO_VARIANT_SMALL_CAPS
Definition pango-font.h:102
@ PANGO_VARIANT_PETITE_CAPS
Definition pango-font.h:104
@ PANGO_VARIANT_TITLE_CAPS
Definition pango-font.h:107
@ PANGO_VARIANT_ALL_PETITE_CAPS
Definition pango-font.h:105
@ PANGO_VARIANT_UNICASE
Definition pango-font.h:106
PANGO_AVAILABLE_IN_1_44 int pango_font_metrics_get_height(PangoFontMetrics *metrics) G_GNUC_PURE
PANGO_AVAILABLE_IN_ALL void pango_font_description_merge_static(PangoFontDescription *desc, const PangoFontDescription *desc_to_merge, gboolean replace_existing)
PANGO_AVAILABLE_IN_1_44 void pango_font_get_features(PangoFont *font, hb_feature_t *features, guint len, guint *num_features)
PangoStretch
Definition pango-font.h:160
@ PANGO_STRETCH_CONDENSED
Definition pango-font.h:163
@ PANGO_STRETCH_SEMI_EXPANDED
Definition pango-font.h:166
@ PANGO_STRETCH_SEMI_CONDENSED
Definition pango-font.h:164
@ PANGO_STRETCH_EXTRA_CONDENSED
Definition pango-font.h:162
@ PANGO_STRETCH_NORMAL
Definition pango-font.h:165
@ PANGO_STRETCH_ULTRA_CONDENSED
Definition pango-font.h:161
@ PANGO_STRETCH_ULTRA_EXPANDED
Definition pango-font.h:169
@ PANGO_STRETCH_EXTRA_EXPANDED
Definition pango-font.h:168
@ PANGO_STRETCH_EXPANDED
Definition pango-font.h:167
PANGO_AVAILABLE_IN_1_6 int pango_font_metrics_get_strikethrough_position(PangoFontMetrics *metrics) G_GNUC_PURE
PANGO_AVAILABLE_IN_1_44 gboolean pango_font_has_char(PangoFont *font, gunichar wc)
PANGO_AVAILABLE_IN_ALL void pango_font_description_free(PangoFontDescription *desc)
PANGO_AVAILABLE_IN_ALL char * pango_font_description_to_filename(const PangoFontDescription *desc)
PANGO_AVAILABLE_IN_ALL void pango_font_description_set_weight(PangoFontDescription *desc, PangoWeight weight)
PANGO_AVAILABLE_IN_1_50 GBytes * pango_font_serialize(PangoFont *font)
PANGO_AVAILABLE_IN_ALL void pango_font_family_list_faces(PangoFontFamily *family, PangoFontFace ***faces, int *n_faces)
PANGO_AVAILABLE_IN_ALL PangoFontDescription * pango_font_description_new(void)
PANGO_AVAILABLE_IN_ALL PangoCoverage * pango_font_get_coverage(PangoFont *font, PangoLanguage *language)
PANGO_AVAILABLE_IN_ALL void pango_font_description_set_style(PangoFontDescription *desc, PangoStyle style)
PANGO_AVAILABLE_IN_ALL int pango_font_metrics_get_ascent(PangoFontMetrics *metrics) G_GNUC_PURE
PANGO_AVAILABLE_IN_ALL guint pango_font_description_hash(const PangoFontDescription *desc) G_GNUC_PURE
PANGO_AVAILABLE_IN_1_44 hb_font_t * pango_font_get_hb_font(PangoFont *font)
PANGO_AVAILABLE_IN_1_14 PangoFontDescription * pango_font_describe_with_absolute_size(PangoFont *font)
PANGO_DEPRECATED_IN_1_44 PangoEngineShape * pango_font_find_shaper(PangoFont *font, PangoLanguage *language, guint32 ch)
PANGO_AVAILABLE_IN_ALL PangoStretch pango_font_description_get_stretch(const PangoFontDescription *desc) G_GNUC_PURE
PANGO_AVAILABLE_IN_ALL void pango_font_description_set_stretch(PangoFontDescription *desc, PangoStretch stretch)
PANGO_AVAILABLE_IN_ALL PangoFontDescription * pango_font_description_copy(const PangoFontDescription *desc)
PANGO_AVAILABLE_IN_ALL PangoFontMetrics * pango_font_metrics_ref(PangoFontMetrics *metrics)
PANGO_AVAILABLE_IN_ALL const char * pango_font_face_get_face_name(PangoFontFace *face) G_GNUC_PURE
PANGO_AVAILABLE_IN_ALL PangoWeight pango_font_description_get_weight(const PangoFontDescription *desc) G_GNUC_PURE
PANGO_AVAILABLE_IN_1_10 PangoFontMap * pango_font_get_font_map(PangoFont *font)
PANGO_AVAILABLE_IN_1_6 int pango_font_metrics_get_strikethrough_thickness(PangoFontMetrics *metrics) G_GNUC_PURE
PANGO_AVAILABLE_IN_1_44 gboolean pango_font_family_is_variable(PangoFontFamily *family) G_GNUC_PURE
PANGO_AVAILABLE_IN_ALL int pango_font_metrics_get_approximate_char_width(PangoFontMetrics *metrics) G_GNUC_PURE
PANGO_AVAILABLE_IN_ALL PangoFontDescription * pango_font_face_describe(PangoFontFace *face)
PangoWeight
Definition pango-font.h:130
@ PANGO_WEIGHT_LIGHT
Definition pango-font.h:133
@ PANGO_WEIGHT_NORMAL
Definition pango-font.h:136
@ PANGO_WEIGHT_MEDIUM
Definition pango-font.h:137
@ PANGO_WEIGHT_THIN
Definition pango-font.h:131
@ PANGO_WEIGHT_HEAVY
Definition pango-font.h:141
@ PANGO_WEIGHT_SEMIBOLD
Definition pango-font.h:138
@ PANGO_WEIGHT_BOOK
Definition pango-font.h:135
@ PANGO_WEIGHT_SEMILIGHT
Definition pango-font.h:134
@ PANGO_WEIGHT_ULTRALIGHT
Definition pango-font.h:132
@ PANGO_WEIGHT_ULTRAHEAVY
Definition pango-font.h:142
@ PANGO_WEIGHT_ULTRABOLD
Definition pango-font.h:140
@ PANGO_WEIGHT_BOLD
Definition pango-font.h:139
typedefG_BEGIN_DECLS struct _PangoFontDescription PangoFontDescription
Definition pango-font.h:43
PANGO_AVAILABLE_IN_ALL PangoFontMetrics * pango_font_get_metrics(PangoFont *font, PangoLanguage *language)
PANGO_AVAILABLE_IN_1_46 PangoFontFace * pango_font_get_face(PangoFont *font)
PANGO_AVAILABLE_IN_ALL GType pango_font_face_get_type(void) G_GNUC_CONST
PANGO_AVAILABLE_IN_ALL void pango_font_description_set_family_static(PangoFontDescription *desc, const char *family)
PANGO_AVAILABLE_IN_ALL const char * pango_font_family_get_name(PangoFontFamily *family) G_GNUC_PURE
PANGO_AVAILABLE_IN_1_50 PangoLanguage ** pango_font_get_languages(PangoFont *font)
PANGO_AVAILABLE_IN_1_42 void pango_font_description_set_variations(PangoFontDescription *desc, const char *variations)
PANGO_AVAILABLE_IN_ALL int pango_font_metrics_get_descent(PangoFontMetrics *metrics) G_GNUC_PURE
PANGO_AVAILABLE_IN_1_18 gboolean pango_font_face_is_synthesized(PangoFontFace *face) G_GNUC_PURE
PANGO_AVAILABLE_IN_ALL gboolean pango_font_description_equal(const PangoFontDescription *desc1, const PangoFontDescription *desc2) G_GNUC_PURE
PANGO_AVAILABLE_IN_ALL PangoStyle pango_font_description_get_style(const PangoFontDescription *desc) G_GNUC_PURE
PANGO_AVAILABLE_IN_ALL char * pango_font_description_to_string(const PangoFontDescription *desc)
PANGO_AVAILABLE_IN_ALL void pango_font_description_set_family(PangoFontDescription *desc, const char *family)
PANGO_AVAILABLE_IN_ALL void pango_font_get_glyph_extents(PangoFont *font, PangoGlyph glyph, PangoRectangle *ink_rect, PangoRectangle *logical_rect)
PANGO_AVAILABLE_IN_1_16 PangoGravity pango_font_description_get_gravity(const PangoFontDescription *desc) G_GNUC_PURE
PANGO_AVAILABLE_IN_1_8 gboolean pango_font_description_get_size_is_absolute(const PangoFontDescription *desc) G_GNUC_PURE
PANGO_AVAILABLE_IN_ALL const char * pango_font_description_get_family(const PangoFontDescription *desc) G_GNUC_PURE
PANGO_AVAILABLE_IN_1_4 gboolean pango_font_family_is_monospace(PangoFontFamily *family) G_GNUC_PURE
PANGO_AVAILABLE_IN_1_4 void pango_font_face_list_sizes(PangoFontFace *face, int **sizes, int *n_sizes)
PANGO_AVAILABLE_IN_ALL void pango_font_description_set_variant(PangoFontDescription *desc, PangoVariant variant)
PANGO_AVAILABLE_IN_ALL PangoFontDescription * pango_font_describe(PangoFont *font)
PANGO_AVAILABLE_IN_1_16 void pango_font_description_set_gravity(PangoFontDescription *desc, PangoGravity gravity)
PANGO_AVAILABLE_IN_ALL PangoFontDescription * pango_font_description_copy_static(const PangoFontDescription *desc)
PANGO_AVAILABLE_IN_1_42 void pango_font_description_set_variations_static(PangoFontDescription *desc, const char *variations)
PANGO_AVAILABLE_IN_1_6 int pango_font_metrics_get_underline_thickness(PangoFontMetrics *metrics) G_GNUC_PURE
PANGO_AVAILABLE_IN_ALL GType pango_font_metrics_get_type(void) G_GNUC_CONST
PANGO_AVAILABLE_IN_ALL GType pango_font_family_get_type(void) G_GNUC_CONST
PANGO_AVAILABLE_IN_ALL gint pango_font_description_get_size(const PangoFontDescription *desc) G_GNUC_PURE
PANGO_AVAILABLE_IN_1_50 PangoFont * pango_font_deserialize(PangoContext *context, GBytes *bytes, GError **error)
PANGO_AVAILABLE_IN_ALL PangoFontMask pango_font_description_get_set_fields(const PangoFontDescription *desc) G_GNUC_PURE
PANGO_AVAILABLE_IN_ALL void pango_font_description_unset_fields(PangoFontDescription *desc, PangoFontMask to_unset)
PANGO_AVAILABLE_IN_ALL void pango_font_metrics_unref(PangoFontMetrics *metrics)
PANGO_AVAILABLE_IN_ALL void pango_font_descriptions_free(PangoFontDescription **descs, int n_descs)
PangoFontMask
Definition pango-font.h:186
@ PANGO_FONT_MASK_SIZE
Definition pango-font.h:192
@ PANGO_FONT_MASK_GRAVITY
Definition pango-font.h:193
@ PANGO_FONT_MASK_VARIANT
Definition pango-font.h:189
@ PANGO_FONT_MASK_VARIATIONS
Definition pango-font.h:194
@ PANGO_FONT_MASK_FAMILY
Definition pango-font.h:187
@ PANGO_FONT_MASK_STYLE
Definition pango-font.h:188
@ PANGO_FONT_MASK_WEIGHT
Definition pango-font.h:190
@ PANGO_FONT_MASK_STRETCH
Definition pango-font.h:191
PANGO_AVAILABLE_IN_1_42 const char * pango_font_description_get_variations(const PangoFontDescription *desc) G_GNUC_PURE
PANGO_AVAILABLE_IN_1_6 int pango_font_metrics_get_underline_position(PangoFontMetrics *metrics) G_GNUC_PURE
PangoStyle
Definition pango-font.h:74
@ PANGO_STYLE_ITALIC
Definition pango-font.h:77
@ PANGO_STYLE_NORMAL
Definition pango-font.h:75
@ PANGO_STYLE_OBLIQUE
Definition pango-font.h:76
PANGO_AVAILABLE_IN_ALL gboolean pango_font_description_better_match(const PangoFontDescription *desc, const PangoFontDescription *old_match, const PangoFontDescription *new_match) G_GNUC_PURE
PangoGravity
struct _PangoLanguage PangoLanguage
Definition pango-types.h:46
struct _PangoContext PangoContext
Definition pango-types.h:44
guint32 PangoGlyph
Definition pango-types.h:54
#define PANGO_AVAILABLE_IN_1_10
#define PANGO_AVAILABLE_IN_1_44
#define PANGO_AVAILABLE_IN_1_16
#define PANGO_DEPRECATED_IN_1_44
#define PANGO_AVAILABLE_IN_1_46
#define PANGO_AVAILABLE_IN_1_50
#define PANGO_AVAILABLE_IN_1_42
#define PANGO_AVAILABLE_IN_1_6
#define PANGO_AVAILABLE_IN_1_4
#define PANGO_AVAILABLE_IN_1_14
#define PANGO_AVAILABLE_IN_1_8
#define PANGO_AVAILABLE_IN_1_18
#define PANGO_AVAILABLE_IN_ALL
void(* get_features)(PangoFont *font, hb_feature_t *features, guint len, guint *num_features)
Definition pango-font.h:579
void(* get_glyph_extents)(PangoFont *font, PangoGlyph glyph, PangoRectangle *ink_rect, PangoRectangle *logical_rect)
Definition pango-font.h:571
GObjectClass parent_class
Definition pango-font.h:564
void(* list_sizes)(PangoFontFace *face, int **sizes, int *n_sizes)
Definition pango-font.h:503
void(* _pango_reserved4)(void)
Definition pango-font.h:513
void(* _pango_reserved3)(void)
Definition pango-font.h:512
gboolean(* is_synthesized)(PangoFontFace *face)
Definition pango-font.h:506
GObjectClass parent_class
Definition pango-font.h:497
GObject parent_instance
Definition pango-font.h:492
void(* list_faces)(PangoFontFamily *family, PangoFontFace ***faces, int *n_faces)
Definition pango-font.h:431
gboolean(* is_variable)(PangoFontFamily *family)
Definition pango-font.h:436
void(* _pango_reserved2)(void)
Definition pango-font.h:445
gboolean(* is_monospace)(PangoFontFamily *family)
Definition pango-font.h:435
GObjectClass parent_class
Definition pango-font.h:427
GObject parent_instance
Definition pango-font.h:422
GObject parent_instance
Definition pango-font.h:558