2 <function name="pango_layout_get_justify">
4 Gets whether each complete line should be stretched to fill the entire
10 <parameter name="layout">
11 <parameter_description> a #PangoLayout
12 </parameter_description>
19 <function name="pango_renderer_draw_error_underline">
21 Draw a squiggly line that approximately covers the given rectangle
22 in the style of an underline used to indicate a spelling error.
23 (The width of the underline is rounded to an integer number
24 of up/down segments and the resulting rectangle is centered
25 in the original rectangle)
27 This should be called while @renderer is already active. Use
28 pango_renderer_activate() to activate a renderer.
34 <parameter name="renderer">
35 <parameter_description> a #PangoRenderer
36 </parameter_description>
39 <parameter_description> X coordinate of underline, in Pango units in user coordinate system
40 </parameter_description>
43 <parameter_description> Y coordinate of underline, in Pango units in user coordinate system
44 </parameter_description>
46 <parameter name="width">
47 <parameter_description> width of underline, in Pango units in user coordinate system
48 </parameter_description>
50 <parameter name="height">
51 <parameter_description> height of underline, in Pango units in user coordinate system
52 </parameter_description>
58 <function name="pango_layout_get_alignment">
60 Gets the alignment for the layout: how partial lines are
61 positioned within the horizontal space available.
66 <parameter name="layout">
67 <parameter_description> a #PangoLayout
68 </parameter_description>
71 <return> the alignment.
75 <function name="pango_layout_get_pixel_size">
77 Determines the logical width and height of a #PangoLayout
78 in device units. (pango_layout_get_size() returns the width
79 and height scaled by %PANGO_SCALE.) This
80 is simply a convenience function around
81 pango_layout_get_pixel_extents().
85 <parameter name="layout">
86 <parameter_description> a #PangoLayout
87 </parameter_description>
89 <parameter name="width">
90 <parameter_description> location to store the logical width, or %NULL
91 </parameter_description>
93 <parameter name="height">
94 <parameter_description> location to store the logical height, or %NULL
95 </parameter_description>
101 <function name="pango_ot_tag_from_language">
103 Finds the OpenType language-system tag best describing @language.
108 <parameter name="language">
109 <parameter_description> A #PangoLanguage, or %NULL
110 </parameter_description>
113 <return> #PangoOTTag best matching @language or
114 %PANGO_OT_TAG_DEFAULT_LANGUAGE if none found or if @language
121 <function name="pango_ft2_render_layout_line">
123 Render a #PangoLayoutLine onto a FreeType2 bitmap
127 <parameter name="bitmap">
128 <parameter_description> a &lt;type&gt;FT_Bitmap&lt;/type&gt; to render the line onto
129 </parameter_description>
131 <parameter name="line">
132 <parameter_description> a #PangoLayoutLine
133 </parameter_description>
136 <parameter_description> the x position of start of string (in pixels)
137 </parameter_description>
140 <parameter_description> the y position of baseline (in pixels)
141 </parameter_description>
147 <function name="pango_ot_info_find_feature">
149 Finds the index of a feature. If the feature is not found, sets
150 @feature_index to PANGO_OT_NO_FEATURE, which is safe to pass to
151 pango_ot_ruleset_add_feature() and similar functions.
153 In the future, this may set @feature_index to an special value that if used
154 in pango_ot_ruleset_add_feature() will ask Pango to synthesize the
155 requested feature based on Unicode properties and data. However, this
156 function will still return %FALSE in those cases. So, users may want to
157 ignore the return value of this function in certain cases.
162 <parameter name="info">
163 <parameter_description> a #PangoOTInfo.
164 </parameter_description>
166 <parameter name="table_type">
167 <parameter_description> the table type to obtain information about.
168 </parameter_description>
170 <parameter name="feature_tag">
171 <parameter_description> the tag of the feature to find.
172 </parameter_description>
174 <parameter name="script_index">
175 <parameter_description> the index of the script.
176 </parameter_description>
178 <parameter name="language_index">
179 <parameter_description> the index of the language whose features are searched,
180 or %PANGO_OT_DEFAULT_LANGUAGE to use the default language of the script.
181 </parameter_description>
183 <parameter name="feature_index">
184 <parameter_description> location to store the index of the feature, or %NULL.
185 </parameter_description>
188 <return> %TRUE if the feature was found.
192 <function name="pango_layout_get_auto_dir">
194 Gets whether to calculate the bidirectional base direction
195 for the layout according to the contents of the layout.
196 See pango_layout_set_auto_dir().
201 <parameter name="layout">
202 <parameter_description> a #PangoLayout
203 </parameter_description>
206 <return> %TRUE if the bidirectional base direction
207 is computed from the layout's contents, %FALSE otherwise.
213 <function name="pango_ot_buffer_set_rtl">
215 Sets whether glyphs will be rendered right-to-left. This setting
216 is needed for proper horizontal positioning of right-to-left scripts.
222 <parameter name="buffer">
223 <parameter_description> a #PangoOTBuffer
224 </parameter_description>
226 <parameter name="rtl">
227 <parameter_description> %TRUE for right-to-left text
228 </parameter_description>
234 <function name="_pango_glyph_item_iter_prev_cluster">
236 Moves the iterator to the preceding cluster in the glyph item.
241 <parameter name="iter">
242 <parameter_description> a #PangoGlyphItemIter
243 </parameter_description>
246 <return> %TRUE if the iterator was moved, %FALSE if we were already on the
251 <function name="pango_fc_decoder_get_charset">
253 Generates an #FcCharSet of supported characters for the fcfont
254 given. The returned #FcCharSet will be a reference to an
255 internal value stored by the #PangoFcDecoder and must not
256 be modified or freed.
261 <parameter name="decoder">
262 <parameter_description> a #PangoFcDecoder
263 </parameter_description>
265 <parameter name="fcfont">
266 <parameter_description> the #PangoFcFont to query.
267 </parameter_description>
270 <return> the #FcCharset for @fcfont; must not be modified
277 <function name="pango_script_iter_new">
279 Create a new #PangoScriptIter, used to break a string of
280 Unicode into runs by text. No copy is made of @text, so
281 the caller needs to make sure it remains valid until
282 the iterator is freed with pango_script_iter_free ().x
287 <parameter name="text">
288 <parameter_description> a UTF-8 string
289 </parameter_description>
291 <parameter name="length">
292 <parameter_description> length of @text, or -1 if @text is nul-terminated.
293 </parameter_description>
296 <return> the new script iterator, initialized
297 to point at the first range in the text, which should be
298 freed with pango_script_iter_free(). If the string is
299 empty, it will point at an empty range.
305 <function name="pango_layout_get_tabs">
307 Gets the current #PangoTabArray used by this layout. If no
308 #PangoTabArray has been set, then the default tabs are in use
309 and %NULL is returned. Default tabs are every 8 spaces.
310 The return value should be freed with pango_tab_array_free().
315 <parameter name="layout">
316 <parameter_description> a #PangoLayout
317 </parameter_description>
320 <return> a copy of the tabs for this layout, or %NULL.
324 <function name="pango_layout_iter_get_baseline">
326 Gets the Y position of the current line's baseline, in layout
327 coordinates (origin at top left of the entire layout).
332 <parameter name="iter">
333 <parameter_description> a #PangoLayoutIter
334 </parameter_description>
337 <return> baseline of current line.
341 <function name="pango_cairo_layout_path">
343 Adds the text in a #PangoLayout to the current path in the
344 specified cairo context. The top-left corner of the #PangoLayout
345 will be at the current point of the cairo context.
351 <parameter name="cr">
352 <parameter_description> a Cairo context
353 </parameter_description>
355 <parameter name="layout">
356 <parameter_description> a Pango layout
357 </parameter_description>
363 <function name="pango_layout_get_pixel_extents">
365 Computes the logical and ink extents of @layout in device units.
366 This function just calls pango_layout_get_extents() followed by
367 pango_extents_to_pixels().
369 See pango_extents_to_pixels() for details of how ink and logical rectangles
370 are rounded to pixels. In certain situations you may want to use
371 pango_layout_get_extents() directly and pass the resulting logical
372 rectangle to pango_extents_to_pixels() as an ink rectangle().
376 <parameter name="layout">
377 <parameter_description> a #PangoLayout
378 </parameter_description>
380 <parameter name="ink_rect">
381 <parameter_description> rectangle used to store the extents of the layout as drawn
382 or %NULL to indicate that the result is not needed.
383 </parameter_description>
385 <parameter name="logical_rect">
386 <parameter_description> rectangle used to store the logical extents of the
387 layout or %NULL to indicate that the result is not needed.
388 </parameter_description>
394 <function name="pango_font_description_get_style">
396 Gets the style field of a #PangoFontDescription. See
397 pango_font_description_set_style().
402 <parameter name="desc">
403 <parameter_description> a #PangoFontDescription
404 </parameter_description>
407 <return> the style field for the font description.
408 Use pango_font_description_get_set_fields() to find out if
409 the field was explicitly set or not.
413 <function name="pango_font_description_get_set_fields">
415 Determines which fields in a font description have been set.
420 <parameter name="desc">
421 <parameter_description> a #PangoFontDescription
422 </parameter_description>
425 <return> a bitmask with bits set corresponding to the
426 fields in @desc that have been set.
430 <function name="pango_font_face_describe">
432 Return value: a newly-created #PangoFontDescription structure
436 <parameter name="face">
437 <parameter_description> a #PangoFontFace
438 </parameter_description>
441 <return> a newly-created #PangoFontDescription structure
442 holding the description of the face. Use pango_font_description_free()
447 <function name="pango_module_register">
449 Registers a statically linked module with Pango. The
450 #PangoIncludedModule structure that is passed in contains the
451 functions that would otherwise be loaded from a dynamically loaded
456 <parameter name="module">
457 <parameter_description> a #PangoIncludedModule
458 </parameter_description>
464 <function name="pango_matrix_transform_point">
466 Transforms the point (@x, @y) by @matrix.
472 <parameter name="matrix">
473 <parameter_description> a #PangoMatrix, or %NULL
474 </parameter_description>
477 <parameter_description> in/out X position
478 </parameter_description>
481 <parameter_description> in/out Y position
482 </parameter_description>
488 <function name="pango_font_description_better_match">
490 Determines if the style attributes of @new_match are a closer match
491 for @desc than @old_match, or if @old_match is %NULL, determines if
492 @new_match is a match at all. Approximate matching is done for
493 weight and style; other attributes must match exactly.
498 <parameter name="desc">
499 <parameter_description> a #PangoFontDescription
500 </parameter_description>
502 <parameter name="old_match">
503 <parameter_description> a #PangoFontDescription, or %NULL
504 </parameter_description>
506 <parameter name="new_match">
507 <parameter_description> a #PangoFontDescription
508 </parameter_description>
511 <return> %TRUE if @new_match is a better match
515 <function name="pango_fc_font_has_char">
517 Determines whether @font has a glyph for the codepoint @wc.
522 <parameter name="font">
523 <parameter_description> a #PangoFcFont
524 </parameter_description>
526 <parameter name="wc">
527 <parameter_description> Unicode codepoint to look up
528 </parameter_description>
531 <return> %TRUE if @font has the requested codepoint.
537 <function name="pango_cairo_context_set_resolution">
539 Sets the resolution for the context. This is a scale factor between
540 points specified in a #PangoFontDescription and Cairo units. The
541 default value is 96, meaning that a 10 point font will be 13
542 units high. (10 * 96. / 72. = 13.3).
548 <parameter name="context">
549 <parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
550 </parameter_description>
552 <parameter name="dpi">
553 <parameter_description> the resolution in "dots per inch". (Physical inches aren't actually
554 involved; the terminology is conventional.) A 0 or negative value
555 means to use the resolution from the font map.
556 </parameter_description>
562 <function name="pango_attr_type_register">
564 Allocate a new attribute type ID.
569 <parameter name="name">
570 <parameter_description> an identifier for the type (currently unused.)
571 </parameter_description>
574 <return> the new type ID.
578 <function name="pango_font_description_get_gravity">
580 Gets the gravity field of a font description. See
581 pango_font_description_set_gravity().
586 <parameter name="desc">
587 <parameter_description> a #PangoFontDescription
588 </parameter_description>
591 <return> the gravity field for the font description. Use
592 pango_font_description_get_set_fields() to find out if
593 the field was explicitly set or not.
599 <function name="pango_layout_iter_get_run">
601 Gets the current run. When iterating by run, at the end of each
602 line, there's a position with a %NULL run, so this function can return
603 %NULL. The %NULL run at the end of each line ensures that all lines have
604 at least one run, even lines consisting of only a newline.
606 Use the faster pango_layout_iter_get_run_readonly() if you do not plan
607 to modify the contents of the run (glyphs, glyph widths, etc.).
612 <parameter name="iter">
613 <parameter_description> a #PangoLayoutIter
614 </parameter_description>
617 <return> the current run.
621 <function name="pango_tab_array_resize">
623 Resizes a tab array. You must subsequently initialize any tabs that
624 were added as a result of growing the array.
629 <parameter name="tab_array">
630 <parameter_description> a #PangoTabArray
631 </parameter_description>
633 <parameter name="new_size">
634 <parameter_description> new size of the array
635 </parameter_description>
641 <function name="pango_atsui_font_get_atsu_font_id">
643 Return value: the ATSUFontID associated to @font.
647 <parameter name="font">
648 <parameter_description> A #PangoATSUIFont
649 </parameter_description>
652 <return> the ATSUFontID associated to @font.
658 <function name="pango_x_find_first_subfont">
660 Looks for subfonts with the @charset charset,
661 in @font, and puts the first one in *@rfont.
666 <parameter name="font">
667 <parameter_description> A #PangoFont.
668 </parameter_description>
670 <parameter name="rfont">
671 <parameter_description> A pointer to a #PangoXSubfont.
672 </parameter_description>
674 <parameter name="charsets">
675 <parameter_description> An array of charsets.
676 </parameter_description>
678 <parameter name="n_charsets">
679 <parameter_description> The number of charsets in @charsets.
680 </parameter_description>
683 <return> %TRUE if *@rfont now contains a font.
687 <function name="pango_context_get_metrics">
689 Get overall metric information for a particular font
690 description. Since the metrics may be substantially different for
691 different scripts, a language tag can be provided to indicate that
692 the metrics should be retrieved that correspond to the script(s)
693 used by that language.
695 The #PangoFontDescription is interpreted in the same way as
696 by pango_itemize(), and the family name may be a comma separated
697 list of figures. If characters from multiple of these families
698 would be used to render the string, then the returned fonts would
699 be a composite of the metrics for the fonts loaded for the
705 <parameter name="context">
706 <parameter_description> a #PangoContext
707 </parameter_description>
709 <parameter name="desc">
710 <parameter_description> a #PangoFontDescription structure
711 </parameter_description>
713 <parameter name="language">
714 <parameter_description> language tag used to determine which script to get the metrics
715 for. %NULL means that the language tag from the context will
716 be used. If no language tag is set on the context, metrics
717 large enough to cover a range of languages will be returned.
718 The process of determining such metrics is slow, so it is best
719 to always make sure some real language tag will be used.
720 </parameter_description>
723 <return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
724 when finished using the object.
728 <function name="pango_attr_strikethrough_color_new">
730 Create a new strikethrough color attribute. This attribute
731 modifies the color of strikethrough lines. If not set, strikethrough
732 lines will use the foreground color.
737 <parameter name="red">
738 <parameter_description> the red value (ranging from 0 to 65535)
739 </parameter_description>
741 <parameter name="green">
742 <parameter_description> the green value
743 </parameter_description>
745 <parameter name="blue">
746 <parameter_description> the blue value
747 </parameter_description>
750 <return> the newly allocated #PangoAttribute, which should be
751 freed with pango_attribute_destroy().
757 <function name="pango_layout_is_ellipsized">
759 Queries whether the layout had to ellipsize any paragraphs.
761 This returns %TRUE if the ellipsization mode for @layout
762 is not %PANGO_ELLIPSIZE_NONE, a positive width is set on @layout,
763 and there are paragraphs exceeding that width that have to be
769 <parameter name="layout">
770 <parameter_description> a #PangoLayout
771 </parameter_description>
774 <return> %TRUE if any paragraphs had to be ellipsized, %FALSE
781 <function name="pango_ot_ruleset_new_from_description">
783 Creates a new #PangoOTRuleset for the given OpenType infor and
784 matching the given ruleset description.
786 This is a convenience function that calls pango_ot_ruleset_new_for() and
787 adds the static GSUB/GPOS features to the resulting ruleset, followed by
788 adding other features to both GSUB and GPOS.
790 The static feature map members of @desc should be alive as
796 <parameter name="info">
797 <parameter_description> a #PangoOTInfo.
798 </parameter_description>
800 <parameter name="desc">
801 <parameter_description> a #PangoOTRulesetDescription.
802 </parameter_description>
805 <return> the newly allocated #PangoOTRuleset, which
806 should be freed with g_object_unref().
812 <function name="pango_matrix_translate">
814 Changes the transformation represented by @matrix to be the
815 transformation given by first translating by (@tx, @ty)
816 then applying the original transformation.
822 <parameter name="matrix">
823 <parameter_description> a #PangoMatrix
824 </parameter_description>
826 <parameter name="tx">
827 <parameter_description> amount to translate in the X direction
828 </parameter_description>
830 <parameter name="ty">
831 <parameter_description> amount to translate in the Y direction
832 </parameter_description>
838 <function name="pango_layout_get_spacing">
840 Gets the amount of spacing in #PangoGlyphUnit between the lines of the
846 <parameter name="layout">
847 <parameter_description> a #PangoLayout
848 </parameter_description>
851 <return> the spacing.
855 <function name="pango_tab_array_free">
857 Frees a tab array and associated resources.
862 <parameter name="tab_array">
863 <parameter_description> a #PangoTabArray
864 </parameter_description>
870 <function name="pango_layout_line_ref">
872 Increase the reference count of a #PangoLayoutLine by one.
877 <parameter name="line">
878 <parameter_description> a #PangoLayoutLine
879 </parameter_description>
882 <return> the line passed in.
888 <function name="pango_renderer_draw_trapezoid">
890 Draws a trapezoid with the parallel sides aligned with the X axis
891 using the given #PangoRenderer; coordinates are in device space.
897 <parameter name="renderer">
898 <parameter_description> a #PangoRenderer
899 </parameter_description>
901 <parameter name="part">
902 <parameter_description> type of object this trapezoid is part of
903 </parameter_description>
905 <parameter name="y1_">
906 <parameter_description> Y coordinate of top of trapezoid
907 </parameter_description>
909 <parameter name="x11">
910 <parameter_description> X coordinate of left end of top of trapezoid
911 </parameter_description>
913 <parameter name="x21">
914 <parameter_description> X coordinate of right end of top of trapezoid
915 </parameter_description>
917 <parameter name="y2">
918 <parameter_description> Y coordinate of bottom of trapezoid
919 </parameter_description>
921 <parameter name="x12">
922 <parameter_description> X coordinate of left end of bottom of trapezoid
923 </parameter_description>
925 <parameter name="x22">
926 <parameter_description> X coordinate of right end of bottom of trapezoid
927 </parameter_description>
933 <function name="pango_context_load_font">
935 Loads the font in one of the fontmaps in the context
936 that is the closest match for @desc.
941 <parameter name="context">
942 <parameter_description> a #PangoContext
943 </parameter_description>
945 <parameter name="desc">
946 <parameter_description> a #PangoFontDescription describing the font to load
947 </parameter_description>
950 <return>the font loaded, or %NULL if no font matched.
954 <function name="pango_language_get_sample_string">
956 Get a string that is representative of the characters needed to
957 render a particular language. This function is a bad hack for
958 internal use by renderers and Pango.
963 <parameter name="language">
964 <parameter_description> a #PangoLanguage
965 </parameter_description>
968 <return> the sample string. This value is owned by Pango
969 and must not be freed.
973 <function name="_pango_glyph_item_iter_init_start">
975 Initializes a #PangoGlyphItemIter structure to point to the
976 first cluster in a glyph item.
981 <parameter name="iter">
982 <parameter_description> pointer to a #PangoGlyphItemIter structure
983 </parameter_description>
985 <parameter name="glyph_item">
986 <parameter_description> the glyph item that @iter points into
987 </parameter_description>
989 <parameter name="text">
990 <parameter_description> text corresponding to the glyph item
991 </parameter_description>
994 <return> %FALSE if there are no clusters in the glyph item;
995 in this case, the state of @iter is undefined.
999 <function name="pango_units_to_double">
1001 Converts a number in Pango units to floating-point: divides
1007 <parameter name="i">
1008 <parameter_description> value in Pango units
1009 </parameter_description>
1012 <return> the double value.
1018 <function name="pango_layout_new">
1020 Create a new #PangoLayout object with attributes initialized to
1021 default values for a particular #PangoContext.
1026 <parameter name="context">
1027 <parameter_description> a #PangoContext
1028 </parameter_description>
1031 <return> the newly allocated #PangoLayout, with a reference
1032 count of one, which should be freed with
1037 <function name="pango_config_key_get">
1039 Looks up a key in the Pango config database
1040 (pseudo-win.ini style, read from $sysconfdir/pango/pangorc,
1041 ~/.pangorc, and getenv (PANGO_RC_FILE).)
1046 <parameter name="key">
1047 <parameter_description> Key to look up, in the form "SECTION/KEY".
1048 </parameter_description>
1051 <return> the value, if found, otherwise %NULL. The value is a
1052 newly-allocated string and must be freed with g_free().
1056 <function name="pango_matrix_free">
1058 Free a #PangoMatrix created with pango_matrix_copy().
1059 Does nothing if @matrix is %NULL.
1065 <parameter name="matrix">
1066 <parameter_description> a #PangoMatrix, or %NULL
1067 </parameter_description>
1073 <function name="pango_get_lib_subdirectory">
1075 On Unix, returns the name of the "pango" subdirectory of LIBDIR
1076 (which is set at compile time). On Win32, returns the Pango
1077 installation directory (which is deduced at run time from the DLL's
1078 location, or stored in the Registry). The returned string should
1085 <return> the Pango lib directory. The returned string should
1090 <function name="pango_font_description_set_family_static">
1092 Like pango_font_description_set_family(), except that no
1093 copy of @family is made. The caller must make sure that the
1094 string passed in stays around until @desc has been freed
1095 or the name is set again. This function can be used if
1096 @family is a static string such as a C string literal, or
1097 if @desc is only needed temporarily.
1101 <parameter name="desc">
1102 <parameter_description> a #PangoFontDescription
1103 </parameter_description>
1105 <parameter name="family">
1106 <parameter_description> a string representing the family name.
1107 </parameter_description>
1113 <function name="pango_ft2_render_layout">
1115 Render a #PangoLayout onto a FreeType2 bitmap
1119 <parameter name="bitmap">
1120 <parameter_description> a &lt;type&gt;FT_Bitmap&lt;/type&gt; to render the layout onto
1121 </parameter_description>
1123 <parameter name="layout">
1124 <parameter_description> a #PangoLayout
1125 </parameter_description>
1127 <parameter name="x">
1128 <parameter_description> the X position of the left of the layout (in pixels)
1129 </parameter_description>
1131 <parameter name="y">
1132 <parameter_description> the Y position of the top of the layout (in pixels)
1133 </parameter_description>
1139 <function name="_pango_cairo_font_install">
1141 Makes @font the current font for rendering in the specified
1147 <parameter name="font">
1148 <parameter_description> a #PangoCairoFont
1149 </parameter_description>
1151 <parameter name="cr">
1152 <parameter_description> a #cairo_t
1153 </parameter_description>
1156 <return> %TRUE if font was installed successfully, %FALSE otherwise.
1160 <function name="pango_layout_xy_to_index">
1162 Converts from X and Y position within a layout to the byte
1163 index to the character at that logical position. If the
1164 Y position is not inside the layout, the closest position is chosen
1165 (the position will be clamped inside the layout). If the
1166 X position is not within the layout, then the start or the
1167 end of the line is chosen as described for pango_layout_x_to_index().
1168 If either the X or Y positions were not inside the layout, then the
1169 function returns %FALSE; on an exact hit, it returns %TRUE.
1174 <parameter name="layout">
1175 <parameter_description> a #PangoLayout
1176 </parameter_description>
1178 <parameter name="x">
1179 <parameter_description> the X offset (in #PangoGlyphUnit)
1180 from the left edge of the layout.
1181 </parameter_description>
1183 <parameter name="y">
1184 <parameter_description> the Y offset (in #PangoGlyphUnit)
1185 from the top edge of the layout
1186 </parameter_description>
1188 <parameter name="index_">
1189 <parameter_description> location to store calculated byte index
1190 </parameter_description>
1192 <parameter name="trailing">
1193 <parameter_description> location to store a integer indicating where
1194 in the grapheme the user clicked. It will either
1195 be zero, or the number of characters in the
1196 grapheme. 0 represents the trailing edge of the grapheme.
1197 </parameter_description>
1200 <return> %TRUE if the coordinates were inside text, %FALSE otherwise.
1204 <function name="pango_layout_get_text">
1206 Gets the text in the layout. The returned text should not
1207 be freed or modified.
1212 <parameter name="layout">
1213 <parameter_description> a #PangoLayout
1214 </parameter_description>
1217 <return> the text in the @layout.
1221 <function name="pango_layout_get_extents">
1223 Computes the logical and ink extents of @layout. Logical extents
1224 are usually what you want for positioning things. Note that both extents
1225 may have non-zero x and y. You may want to use those to offset where you
1226 render the layout. Not doing that is a very typical bug that shows up as
1227 right-to-left layouts not being correctly positioned in a layout with
1230 The extents are given in layout coordinates and in Pango units; layout
1231 coordinates begin at the top left corner of the layout.
1235 <parameter name="layout">
1236 <parameter_description> a #PangoLayout
1237 </parameter_description>
1239 <parameter name="ink_rect">
1240 <parameter_description> rectangle used to store the extents of the layout as drawn
1241 or %NULL to indicate that the result is not needed.
1242 </parameter_description>
1244 <parameter name="logical_rect">
1245 <parameter_description> rectangle used to store the logical extents of the layout
1246 or %NULL to indicate that the result is not needed.
1247 </parameter_description>
1253 <function name="pango_tab_array_new">
1255 Creates an array of @initial_size tab stops. Tab stops are specified in
1256 pixel units if @positions_in_pixels is %TRUE, otherwise in Pango
1257 units. All stops are initially at position 0.
1262 <parameter name="initial_size">
1263 <parameter_description> Initial number of tab stops to allocate, can be 0
1264 </parameter_description>
1266 <parameter name="positions_in_pixels">
1267 <parameter_description> whether positions are in pixel units
1268 </parameter_description>
1271 <return> the newly allocated #PangoTabArray, which should
1272 be freed with pango_tab_array_free().
1276 <function name="pango_parse_variant">
1278 Parses a font variant. The allowed values are "normal"
1279 and "smallcaps" or "small_caps", case variations being
1285 <parameter name="str">
1286 <parameter_description> a string to parse.
1287 </parameter_description>
1289 <parameter name="variant">
1290 <parameter_description> a #PangoVariant to store the result in.
1291 </parameter_description>
1293 <parameter name="warn">
1294 <parameter_description> if %TRUE, issue a g_warning() on bad input.
1295 </parameter_description>
1298 <return> %TRUE if @str was successfully parsed.
1302 <function name="pango_xft_font_unlock_face">
1304 Releases a font previously obtained with
1305 pango_xft_font_lock_face().
1307 Use pango_fc_font_unlock_face() instead.
1313 <parameter name="font">
1314 <parameter_description> a #PangoFont.
1315 </parameter_description>
1321 <function name="pango_cairo_font_map_create_context">
1323 Create a #PangoContext for the given fontmap.
1328 <parameter name="fontmap">
1329 <parameter_description> a #PangoCairoFontMap
1330 </parameter_description>
1333 <return> the newly created context; free with g_object_unref().
1339 <function name="pango_shape">
1341 Given a segment of text and the corresponding
1342 #PangoAnalysis structure returned from pango_itemize(),
1343 convert the characters into glyphs. You may also pass
1344 in only a substring of the item from pango_itemize().
1348 <parameter name="text">
1349 <parameter_description> the text to process
1350 </parameter_description>
1352 <parameter name="length">
1353 <parameter_description> the length (in bytes) of @text
1354 </parameter_description>
1356 <parameter name="analysis">
1357 <parameter_description> #PangoAnalysis structure from pango_itemize()
1358 </parameter_description>
1360 <parameter name="glyphs">
1361 <parameter_description> glyph string in which to store results
1362 </parameter_description>
1368 <function name="pango_scan_word">
1370 Scans a word into a #GString buffer. A word consists
1371 of [A-Za-z_] followed by zero or more [A-Za-z_0-9]
1372 Leading white space is skipped.
1377 <parameter name="pos">
1378 <parameter_description> in/out string position
1379 </parameter_description>
1381 <parameter name="out">
1382 <parameter_description> a #GString into which to write the result
1383 </parameter_description>
1386 <return> %FALSE if a parse error occurred.
1390 <function name="pango_font_get_glyph_extents">
1392 Gets the logical and ink extents of a glyph within a font. The
1393 coordinate system for each rectangle has its origin at the
1394 base line and horizontal origin of the character with increasing
1395 coordinates extending to the right and down. The macros PANGO_ASCENT(),
1396 PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING() can be used to convert
1397 from the extents rectangle to more traditional font metrics. The units
1398 of the rectangles are in 1/PANGO_SCALE of a device unit.
1402 <parameter name="font">
1403 <parameter_description> a #PangoFont
1404 </parameter_description>
1406 <parameter name="glyph">
1407 <parameter_description> the glyph index
1408 </parameter_description>
1410 <parameter name="ink_rect">
1411 <parameter_description> rectangle used to store the extents of the glyph as drawn
1412 or %NULL to indicate that the result is not needed.
1413 </parameter_description>
1415 <parameter name="logical_rect">
1416 <parameter_description> rectangle used to store the logical extents of the glyph
1417 or %NULL to indicate that the result is not needed.
1418 </parameter_description>
1424 <function name="pango_ft2_font_map_create_context">
1426 Create a #PangoContext for the given fontmap.
1431 <parameter name="fontmap">
1432 <parameter_description> a #PangoFT2Fontmap
1433 </parameter_description>
1436 <return> the newly created context; free with g_object_unref().
1442 <function name="pango_layout_set_auto_dir">
1444 Sets whether to calculate the bidirectional base direction
1445 for the layout according to the contents of the layout;
1446 when this flag is on (the default), then paragraphs in
1447 @layout that begin with strong right-to-left characters
1448 (Arabic and Hebrew principally), will have right-to-left
1449 layout, paragraphs with letters from other scripts will
1450 have left-to-right layout. Paragraphs with only neutral
1451 characters get their direction from the surrounding paragraphs.
1453 When %FALSE, the choice between left-to-right and
1454 right-to-left layout is done according to the base direction
1455 of the layout's #PangoContext. (See pango_context_set_base_dir()).
1457 When the auto-computed direction of a paragraph differs from the
1458 base direction of the context, the interpretation of
1459 %PANGO_ALIGN_LEFT and %PANGO_ALIGN_RIGHT are swapped.
1465 <parameter name="layout">
1466 <parameter_description> a #PangoLayout
1467 </parameter_description>
1469 <parameter name="auto_dir">
1470 <parameter_description> if %TRUE, compute the bidirectional base direction
1471 from the layout's contents.
1472 </parameter_description>
1478 <function name="pango_gravity_get_for_script">
1480 Based on the script, base gravity, and hint, returns actual gravity
1481 to use in laying out a single #PangoItem.
1483 If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
1484 preferred gravity of @script. To get the preferred gravity of a script,
1485 pass %PANGO_GRAVITY_AUTO and %PANGO_GRAVITY_HINT_STRONG in.
1490 <parameter name="script">
1491 <parameter_description> #PangoScript to query
1492 </parameter_description>
1494 <parameter name="base_gravity">
1495 <parameter_description> base gravity of the paragraph
1496 </parameter_description>
1498 <parameter name="hint">
1499 <parameter_description> orientation hint
1500 </parameter_description>
1503 <return> resolved gravity suitable to use for a run of text
1509 <function name="pango_attr_weight_new">
1511 Create a new font weight attribute.
1516 <parameter name="weight">
1517 <parameter_description> the weight
1518 </parameter_description>
1521 <return> the newly allocated #PangoAttribute, which should be
1522 freed with pango_attribute_destroy().
1526 <function name="pango_win32_font_map_for_display">
1528 Return value: a #PangoFontMap.
1533 <return> a #PangoFontMap.
1537 <function name="pango_win32_render">
1539 Render a #PangoGlyphString onto a Windows DC
1543 <parameter name="hdc">
1544 <parameter_description> the device context
1545 </parameter_description>
1547 <parameter name="font">
1548 <parameter_description> the font in which to draw the string
1549 </parameter_description>
1551 <parameter name="glyphs">
1552 <parameter_description> the glyph string to draw
1553 </parameter_description>
1555 <parameter name="x">
1556 <parameter_description> the x position of start of string (in pixels)
1557 </parameter_description>
1559 <parameter name="y">
1560 <parameter_description> the y position of baseline (in pixels)
1561 </parameter_description>
1567 <function name="pango_ft2_font_get_face">
1569 Return value: a pointer to a &lt;type&gt;FT_Face&lt;/type&gt; structure, with the size set correctly
1573 <parameter name="font">
1574 <parameter_description> a #PangoFont
1575 </parameter_description>
1578 <return> a pointer to a &lt;type&gt;FT_Face&lt;/type&gt; structure, with the size set correctly
1582 <function name="pango_attr_background_new">
1584 Create a new background color attribute.
1589 <parameter name="red">
1590 <parameter_description> the red value (ranging from 0 to 65535)
1591 </parameter_description>
1593 <parameter name="green">
1594 <parameter_description> the green value
1595 </parameter_description>
1597 <parameter name="blue">
1598 <parameter_description> the blue value
1599 </parameter_description>
1602 <return> the newly allocated #PangoAttribute, which should be
1603 freed with pango_attribute_destroy().
1607 <function name="pango_coverage_unref">
1609 Increase the reference count on the #PangoCoverage by one.
1610 if the result is zero, free the coverage and all associated memory.
1614 <parameter name="coverage">
1615 <parameter_description> a #PangoCoverage
1616 </parameter_description>
1622 <function name="pango_font_get_coverage">
1624 Computes the coverage map for a given font and language tag.
1629 <parameter name="font">
1630 <parameter_description> a #PangoFont
1631 </parameter_description>
1633 <parameter name="language">
1634 <parameter_description> the language tag
1635 </parameter_description>
1638 <return> a newly-allocated #PangoCoverage object.
1642 <function name="pango_get_mirror_char">
1644 If @ch has the Unicode mirrored property and there is another Unicode
1645 character that typically has a glyph that is the mirror image of @ch's
1646 glyph, puts that character in the address pointed to by @mirrored_ch.
1648 Use g_unichar_get_mirror_char() instead; the docs for that function
1649 provide full details.
1654 <parameter name="ch">
1655 <parameter_description> a Unicode character
1656 </parameter_description>
1658 <parameter name="mirrored_ch">
1659 <parameter_description> location to store the mirrored character
1660 </parameter_description>
1663 <return> %TRUE if @ch has a mirrored character and @mirrored_ch is
1664 filled in, %FALSE otherwise
1668 <function name="pango_scan_string">
1670 Scans a string into a #GString buffer. The string may either
1671 be a sequence of non-white-space characters, or a quoted
1672 string with '"'. Instead a quoted string, '\"' represents
1673 a literal quote. Leading white space outside of quotes is skipped.
1678 <parameter name="pos">
1679 <parameter_description> in/out string position
1680 </parameter_description>
1682 <parameter name="out">
1683 <parameter_description> a #GString into which to write the result
1684 </parameter_description>
1687 <return> %FALSE if a parse error occurred.
1691 <function name="pango_context_set_language">
1693 Sets the global language tag for the context. The default language
1694 for the locale of the running process can be found using
1695 pango_language_get_default().
1699 <parameter name="context">
1700 <parameter_description> a #PangoContext
1701 </parameter_description>
1703 <parameter name="language">
1704 <parameter_description> the new language tag.
1705 </parameter_description>
1711 <function name="pango_layout_set_text">
1713 Sets the text of the layout.
1717 <parameter name="layout">
1718 <parameter_description> a #PangoLayout
1719 </parameter_description>
1721 <parameter name="text">
1722 <parameter_description> a valid UTF-8 string
1723 </parameter_description>
1725 <parameter name="length">
1726 <parameter_description> maximum length of @text, in bytes. -1 indicates that
1727 the string is nul-terminated and the length should be
1728 calculated. The text will also be truncated on
1729 encountering a nul-termination even when @length is
1731 </parameter_description>
1737 <function name="pango_attribute_equal">
1739 Compare two attributes for equality. This compares only the
1740 actual value of the two attributes and not the ranges that the
1741 attributes apply to.
1746 <parameter name="attr1">
1747 <parameter_description> a #PangoAttribute
1748 </parameter_description>
1750 <parameter name="attr2">
1751 <parameter_description> another #PangoAttribute
1752 </parameter_description>
1755 <return> %TRUE if the two attributes have the same value.
1759 <function name="pango_coverage_max">
1761 Set the coverage for each index in @coverage to be the max (better)
1762 value of the current coverage for the index and the coverage for
1763 the corresponding index in @other.
1767 <parameter name="coverage">
1768 <parameter_description> a #PangoCoverage
1769 </parameter_description>
1771 <parameter name="other">
1772 <parameter_description> another #PangoCoverage
1773 </parameter_description>
1779 <function name="pango_win32_render_layout_line">
1781 Render a #PangoLayoutLine onto a device context. For underlining to
1782 work property the text alignment of the DC should have TA_BASELINE
1787 <parameter name="hdc">
1788 <parameter_description> DC to use for uncolored drawing
1789 </parameter_description>
1791 <parameter name="line">
1792 <parameter_description> a #PangoLayoutLine
1793 </parameter_description>
1795 <parameter name="x">
1796 <parameter_description> the x position of start of string (in pixels)
1797 </parameter_description>
1799 <parameter name="y">
1800 <parameter_description> the y position of baseline (in pixels)
1801 </parameter_description>
1807 <function name="pango_ft2_render">
1809 Renders a #PangoGlyphString onto a FreeType2 bitmap.
1813 <parameter name="bitmap">
1814 <parameter_description> the FreeType2 bitmap onto which to draw the string
1815 </parameter_description>
1817 <parameter name="font">
1818 <parameter_description> the font in which to draw the string
1819 </parameter_description>
1821 <parameter name="glyphs">
1822 <parameter_description> the glyph string to draw
1823 </parameter_description>
1825 <parameter name="x">
1826 <parameter_description> the x position of the start of the string (in pixels)
1827 </parameter_description>
1829 <parameter name="y">
1830 <parameter_description> the y position of the baseline (in pixels)
1831 </parameter_description>
1837 <function name="pango_layout_move_cursor_visually">
1839 Computes a new cursor position from an old position and
1840 a count of positions to move visually. If @direction is positive,
1841 then the new strong cursor position will be one position
1842 to the right of the old cursor position. If @direction is negative,
1843 then the new strong cursor position will be one position
1844 to the left of the old cursor position.
1846 In the presence of bidirectional text, the correspondence
1847 between logical and visual order will depend on the direction
1848 of the current run, and there may be jumps when the cursor
1849 is moved off of the end of a run.
1851 Motion here is in cursor positions, not in characters, so a
1852 single call to pango_layout_move_cursor_visually() may move the
1853 cursor over multiple characters when multiple characters combine
1854 to form a single grapheme.
1858 <parameter name="layout">
1859 <parameter_description> a #PangoLayout.
1860 </parameter_description>
1862 <parameter name="strong">
1863 <parameter_description> whether the moving cursor is the strong cursor or the
1864 weak cursor. The strong cursor is the cursor corresponding
1865 to text insertion in the base direction for the layout.
1866 </parameter_description>
1868 <parameter name="old_index">
1869 <parameter_description> the byte index of the grapheme for the old index
1870 </parameter_description>
1872 <parameter name="old_trailing">
1873 <parameter_description> if 0, the cursor was at the trailing edge of the
1874 grapheme indicated by @old_index, if &gt; 0, the cursor
1875 was at the leading edge.
1876 </parameter_description>
1878 <parameter name="direction">
1879 <parameter_description> direction to move cursor. A negative
1880 value indicates motion to the left.
1881 </parameter_description>
1883 <parameter name="new_index">
1884 <parameter_description> location to store the new cursor byte index. A value of -1
1885 indicates that the cursor has been moved off the beginning
1886 of the layout. A value of %G_MAXINT indicates that
1887 the cursor has been moved off the end of the layout.
1888 </parameter_description>
1890 <parameter name="new_trailing">
1891 <parameter_description> number of characters to move forward from the location returned
1892 for @new_index to get the position where the cursor should
1893 be displayed. This allows distinguishing the position at
1894 the beginning of one line from the position at the end
1895 of the preceding line. @new_index is always on the line
1896 where the cursor should be displayed.
1897 </parameter_description>
1903 <function name="pango_attr_gravity_new">
1905 Create a new gravity attribute.
1910 <parameter name="gravity">
1911 <parameter_description> the gravity value; should not be %PANGO_GRAVITY_AUTO.
1912 </parameter_description>
1915 <return> the newly allocated #PangoAttribute, which should be
1916 freed with pango_attribute_destroy().
1922 <function name="pango_cairo_context_set_shape_renderer">
1924 Sets callback function for context to use for rendering attributes
1925 of type %PANGO_ATTR_SHAPE. See #PangoCairoShapeRendererFunc for
1932 <parameter name="context">
1933 <parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
1934 </parameter_description>
1936 <parameter name="func">
1937 <parameter_description> Callback function for rendering attributes of type
1938 %PANGO_ATTR_SHAPE, or %NULL to disable shape rendering.
1939 </parameter_description>
1941 <parameter name="data">
1942 <parameter_description> User data that will be passed to @func.
1943 </parameter_description>
1945 <parameter name="dnotify">
1946 <parameter_description> Callback that will be called when the
1947 context is freed to release @data, or %NULL.
1948 </parameter_description>
1954 <function name="pango_x_font_map_get_font_cache">
1956 Obtains the font cache associated with the given font map.
1961 <parameter name="font_map">
1962 <parameter_description> a #PangoXFontMap.
1963 </parameter_description>
1966 <return> the #PangoXFontCache of @font_map.
1970 <function name="pango_win32_get_context">
1972 Retrieves a #PangoContext appropriate for rendering with Windows fonts.
1978 <return> the new #PangoContext
1982 <function name="pango_font_description_set_stretch">
1984 Sets the stretch field of a font description. The stretch field
1985 specifies how narrow or wide the font should be.
1989 <parameter name="desc">
1990 <parameter_description> a #PangoFontDescription
1991 </parameter_description>
1993 <parameter name="stretch">
1994 <parameter_description> the stretch for the font description
1995 </parameter_description>
2001 <function name="pango_win32_font_done_font">
2003 Releases any resources allocated by pango_win32_font_done_font()
2007 <parameter name="font">
2008 <parameter_description> a #PangoFont from the win32 backend
2009 </parameter_description>
2015 <function name="pango_parse_enum">
2017 Parses an enum type and stored the result in @value.
2019 If @str does not match the nick name of any of the possible values for the
2020 enum, %FALSE is returned, a warning is issued if @warn is %TRUE, and a
2021 string representing the list of possible values is stored in
2022 @possible_values. The list is slash-separated, eg.
2023 "none/start/middle/end". If failed and @possible_values is not %NULL,
2024 returned string should be freed using g_free().
2029 <parameter name="type">
2030 <parameter_description> enum type to parse, eg. %PANGO_TYPE_ELLIPSIZE_MODE.
2031 </parameter_description>
2033 <parameter name="str">
2034 <parameter_description> string to parse. May be %NULL.
2035 </parameter_description>
2037 <parameter name="value">
2038 <parameter_description> integer to store the result in, or %NULL.
2039 </parameter_description>
2041 <parameter name="warn">
2042 <parameter_description> if %TRUE, issue a g_warning() on bad input.
2043 </parameter_description>
2045 <parameter name="possible_values">
2046 <parameter_description> place to store list of possible values on failure, or %NULL.
2047 </parameter_description>
2050 <return> %TRUE if @str was successfully parsed.
2056 <function name="pango_attribute_destroy">
2058 Destroy a #PangoAttribute and free all associated memory.
2062 <parameter name="attr">
2063 <parameter_description> a #PangoAttribute.
2064 </parameter_description>
2070 <function name="pango_font_description_set_size">
2072 Sets the size field of a font description in fractional points. This is mutually
2073 exclusive with pango_font_description_set_absolute_size().
2077 <parameter name="desc">
2078 <parameter_description> a #PangoFontDescription
2079 </parameter_description>
2081 <parameter name="size">
2082 <parameter_description> the size of the font in points, scaled by PANGO_SCALE. (That is,
2083 a @size value of 10 * PANGO_SCALE is a 10 point font. The conversion
2084 factor between points and device units depends on system configuration
2085 and the output device. For screen display, a logical DPI of 96 is
2086 common, in which case a 10 point font corresponds to a 10 * (96 / 72) = 13.3
2087 pixel font. Use pango_font_description_set_absolute_size() if you need
2088 a particular size in device units.
2089 </parameter_description>
2095 <function name="pango_cairo_show_layout_line">
2097 Draws a #PangoLayoutLine in the specified cairo context.
2098 The origin of the glyphs (the left edge of the line) will
2099 be drawn at the current point of the cairo context.
2105 <parameter name="cr">
2106 <parameter_description> a Cairo context
2107 </parameter_description>
2109 <parameter name="line">
2110 <parameter_description> a #PangoLayoutLine
2111 </parameter_description>
2117 <function name="pango_layout_iter_get_line">
2119 Gets the current line.
2121 Use the faster pango_layout_iter_get_line_readonly() if you do not plan
2122 to modify the contents of the line (glyphs, glyph widths, etc.).
2127 <parameter name="iter">
2128 <parameter_description> a #PangoLayoutIter
2129 </parameter_description>
2132 <return> the current line.
2136 <function name="pango_win32_font_get_glyph_index">
2138 Obtains the index of the glyph for @wc in @font, or 0, if not
2144 <parameter name="font">
2145 <parameter_description> a #PangoFont.
2146 </parameter_description>
2148 <parameter name="wc">
2149 <parameter_description> a Unicode character.
2150 </parameter_description>
2153 <return> the glyph index for @wc.
2157 <function name="pango_ft2_font_map_substitute_changed">
2159 Call this function any time the results of the
2160 default substitution function set with
2161 pango_ft2_font_map_set_default_substitute() change.
2162 That is, if your substitution function will return different
2163 results for the same input pattern, you must call this function.
2169 <parameter name="fontmap">
2170 <parameter_description> a #PangoFT2Fontmap
2171 </parameter_description>
2177 <function name="pango_font_description_merge_static">
2179 Like pango_font_description_merge(), but only a shallow copy is made
2180 of the family name and other allocated fields. @desc can only be
2181 used until @desc_to_merge is modified or freed. This is meant
2182 to be used when the merged font description is only needed temporarily.
2186 <parameter name="desc">
2187 <parameter_description> a #PangoFontDescription
2188 </parameter_description>
2190 <parameter name="desc_to_merge">
2191 <parameter_description> the #PangoFontDescription to merge from
2192 </parameter_description>
2194 <parameter name="replace_existing">
2195 <parameter_description> if %TRUE, replace fields in @desc with the
2196 corresponding values from @desc_to_merge, even if they
2198 </parameter_description>
2204 <function name="pango_attr_font_desc_new">
2206 Create a new font description attribute. This attribute
2207 allows setting family, style, weight, variant, stretch,
2208 and size simultaneously.
2213 <parameter name="desc">
2214 <parameter_description> the font description
2215 </parameter_description>
2218 <return> the newly allocated #PangoAttribute, which should be
2219 freed with pango_attribute_destroy().
2223 <function name="pango_glyph_item_apply_attrs">
2225 Splits a shaped item (PangoGlyphItem) into multiple items based
2226 on an attribute list. The idea is that if you have attributes
2227 that don't affect shaping, such as color or underline, to avoid
2228 affecting shaping, you filter them out (pango_attr_list_filter()),
2229 apply the shaping process and then reapply them to the result using
2232 All attributes that start or end inside a cluster are applied
2233 to that cluster; for instance, if half of a cluster is underlined
2234 and the other-half strikethrough, then the cluster will end
2235 up with both underline and strikethrough attributes. In these
2236 cases, it may happen that item-&gt;extra_attrs for some of the
2237 result items can have multiple attributes of the same type.
2239 This function takes ownership of @glyph_item; it will be reused
2240 as one of the elements in the list.
2245 <parameter name="glyph_item">
2246 <parameter_description> a shaped item
2247 </parameter_description>
2249 <parameter name="text">
2250 <parameter_description> text that @list applies to
2251 </parameter_description>
2253 <parameter name="list">
2254 <parameter_description> a #PangoAttrList
2255 </parameter_description>
2258 <return> a list of glyph items resulting from splitting
2259 @glyph_item. Free the elements using pango_glyph_item_free(),
2260 the list using g_slist_free().
2266 <function name="pango_attr_foreground_new">
2268 Create a new foreground color attribute.
2273 <parameter name="red">
2274 <parameter_description> the red value (ranging from 0 to 65535)
2275 </parameter_description>
2277 <parameter name="green">
2278 <parameter_description> the green value
2279 </parameter_description>
2281 <parameter name="blue">
2282 <parameter_description> the blue value
2283 </parameter_description>
2286 <return> the newly allocated #PangoAttribute, which should be
2287 freed with pango_attribute_destroy().
2291 <function name="pango_cairo_update_layout">
2293 Updates the private #PangoContext of a #PangoLayout created with
2294 pango_cairo_create_layout() to match the current transformation
2295 and target surface of a Cairo context.
2301 <parameter name="cr">
2302 <parameter_description> a Cairo context
2303 </parameter_description>
2305 <parameter name="layout">
2306 <parameter_description> a #PangoLayout, from pango_cairo_create_layout()
2307 </parameter_description>
2313 <function name="pango_x_font_cache_free">
2315 Frees a #PangoXFontCache and all associated memory. All fonts loaded
2316 through this font cache will be freed along with the cache.
2320 <parameter name="cache">
2321 <parameter_description> a #PangoXFontCache
2322 </parameter_description>
2328 <function name="pango_layout_set_width">
2330 Sets the width to which the lines of the #PangoLayout should wrap.
2334 <parameter name="layout">
2335 <parameter_description> a #PangoLayout.
2336 </parameter_description>
2338 <parameter name="width">
2339 <parameter_description> the desired width in Pango units, or -1 to indicate that no
2340 wrapping should be performed.
2341 </parameter_description>
2347 <function name="pango_attr_language_new">
2349 Create a new language tag attribute.
2354 <parameter name="language">
2355 <parameter_description> language tag
2356 </parameter_description>
2359 <return> the newly allocated #PangoAttribute, which should be
2360 freed with pango_attribute_destroy().
2364 <function name="pango_context_set_gravity_hint">
2366 Sets the gravity hint for the context.
2368 The gravity hint is used in laying vertical text out, and is only relevant
2369 if gravity of the context as returned by pango_context_get_gravity()
2370 is set %PANGO_GRAVITY_EAST or %PANGO_GRAVITY_WEST.
2376 <parameter name="context">
2377 <parameter_description> a #PangoContext
2378 </parameter_description>
2380 <parameter name="hint">
2381 <parameter_description> the new gravity hint
2382 </parameter_description>
2388 <function name="pango_layout_set_indent">
2390 Sets the width in Pango units to indent each paragraph. A negative value
2391 of @indent will produce a hanging indentation. That is, the first line will
2392 have the full width, and subsequent lines will be indented by the
2393 absolute value of @indent.
2397 <parameter name="layout">
2398 <parameter_description> a #PangoLayout.
2399 </parameter_description>
2401 <parameter name="indent">
2402 <parameter_description> the amount by which to indent.
2403 </parameter_description>
2409 <function name="pango_parse_weight">
2411 Parses a font weight. The allowed values are "heavy",
2412 "ultrabold", "bold", "normal", "light", "ultraleight"
2413 and integers. Case variations are ignored.
2418 <parameter name="str">
2419 <parameter_description> a string to parse.
2420 </parameter_description>
2422 <parameter name="weight">
2423 <parameter_description> a #PangoWeight to store the result in.
2424 </parameter_description>
2426 <parameter name="warn">
2427 <parameter_description> if %TRUE, issue a g_warning() on bad input.
2428 </parameter_description>
2431 <return> %TRUE if @str was successfully parsed.
2435 <function name="pango_x_render">
2437 Renders a #PangoGlyphString onto an X drawable.
2441 <parameter name="display">
2442 <parameter_description> the X display.
2443 </parameter_description>
2445 <parameter name="d">
2446 <parameter_description> the drawable on which to draw string.
2447 </parameter_description>
2449 <parameter name="gc">
2450 <parameter_description> the graphics context.
2451 </parameter_description>
2453 <parameter name="font">
2454 <parameter_description> the font in which to draw the string.
2455 </parameter_description>
2457 <parameter name="glyphs">
2458 <parameter_description> the glyph string to draw.
2459 </parameter_description>
2461 <parameter name="x">
2462 <parameter_description> the x position of start of string (in pixels).
2463 </parameter_description>
2465 <parameter name="y">
2466 <parameter_description> the y position of baseline (in pixels).
2467 </parameter_description>
2473 <function name="pango_xft_get_font_map">
2475 Return value: a #PangoFontMap object, owned by Pango.
2479 <parameter name="display">
2480 <parameter_description> an X display
2481 </parameter_description>
2483 <parameter name="screen">
2484 <parameter_description> the screen number of a screen within @display
2485 </parameter_description>
2488 <return> a #PangoFontMap object, owned by Pango.
2494 <function name="pango_x_fallback_shape">
2496 This is a simple fallback shaper, that can be used
2497 if no subfont that supports a given script is found.
2498 For every character in @text, it puts the unknown glyph.
2502 <parameter name="font">
2503 <parameter_description> A #PangoFont.
2504 </parameter_description>
2506 <parameter name="glyphs">
2507 <parameter_description> A pointer to a #PangoGlyphString.
2508 </parameter_description>
2510 <parameter name="text">
2511 <parameter_description> UTF-8 string.
2512 </parameter_description>
2514 <parameter name="n_chars">
2515 <parameter_description> Number of UTF-8 seqs in @text.
2516 </parameter_description>
2522 <function name="pango_cairo_glyph_string_path">
2524 Adds the glyphs in @glyphs to the current path in the specified
2525 cairo context. The origin of the glyphs (the left edge of the baseline)
2526 will be at the current point of the cairo context.
2532 <parameter name="cr">
2533 <parameter_description> a Cairo context
2534 </parameter_description>
2536 <parameter name="font">
2537 <parameter_description> a #PangoFont from a #PangoCairoFontMap
2538 </parameter_description>
2540 <parameter name="glyphs">
2541 <parameter_description> a #PangoGlyphString
2542 </parameter_description>
2548 <function name="pango_glyph_item_free">
2550 Frees a #PangoGlyphItem and memory to which it points.
2556 <parameter name="glyph_item">
2557 <parameter_description> a #PangoGlyphItem
2558 </parameter_description>
2564 <function name="pango_renderer_set_matrix">
2566 Sets the transformation matrix that will be applied when rendering.
2572 <parameter name="renderer">
2573 <parameter_description> a #PangoRenderer
2574 </parameter_description>
2576 <parameter name="matrix">
2577 <parameter_description> a #PangoMatrix, or %NULL to unset any existing matrix.
2578 (No matrix set is the same as setting the identity matrix.)
2579 </parameter_description>
2585 <function name="pango_attr_underline_new">
2587 Create a new underline-style attribute.
2592 <parameter name="underline">
2593 <parameter_description> the underline style.
2594 </parameter_description>
2597 <return> the newly allocated #PangoAttribute, which should be
2598 freed with pango_attribute_destroy().
2602 <function name="pango_layout_is_wrapped">
2604 Queries whether the layout had to wrap any paragraphs.
2606 This returns %TRUE if a positive width is set on @layout,
2607 ellipsization mode of @layout is set to %PANGO_ELLIPSIZE_NONE,
2608 and there are paragraphs exceeding the layout width that have
2614 <parameter name="layout">
2615 <parameter_description> a #PangoLayout
2616 </parameter_description>
2619 <return> %TRUE if any paragraphs had to be wrapped, %FALSE
2626 <function name="pango_layout_get_iter">
2628 Return value: the new #PangoLayoutIter that should be freed using
2632 <parameter name="layout">
2633 <parameter_description> a #PangoLayout
2634 </parameter_description>
2637 <return> the new #PangoLayoutIter that should be freed using
2638 pango_layout_iter_free().
2642 <function name="pango_default_break">
2644 This is the default break algorithm, used if no language
2645 engine overrides it. Normally you should use pango_break()
2646 instead. Unlike pango_break(),
2647 @analysis can be %NULL, but only do that if you know what
2648 you're doing. If you need an analysis to pass to pango_break(),
2649 you need to pango_itemize(). In most cases however you should
2650 simply use pango_get_log_attrs().
2654 <parameter name="text">
2655 <parameter_description> text to break
2656 </parameter_description>
2658 <parameter name="length">
2659 <parameter_description> length of text in bytes (may be -1 if @text is nul-terminated)
2660 </parameter_description>
2662 <parameter name="analysis">
2663 <parameter_description> a #PangoAnalysis for the @text
2664 </parameter_description>
2666 <parameter name="attrs">
2667 <parameter_description> logical attributes to fill in
2668 </parameter_description>
2670 <parameter name="attrs_len">
2671 <parameter_description> size of the array passed as @attrs
2672 </parameter_description>
2678 <function name="pango_layout_set_spacing">
2680 Sets the amount of spacing in #PangoGlyphUnit between the lines of the
2686 <parameter name="layout">
2687 <parameter_description> a #PangoLayout.
2688 </parameter_description>
2690 <parameter name="spacing">
2691 <parameter_description> the amount of spacing
2692 </parameter_description>
2698 <function name="pango_attr_scale_new">
2700 Create a new font size scale attribute. The base font for the
2701 affected text will have its size multiplied by @scale_factor.
2706 <parameter name="scale_factor">
2707 <parameter_description> factor to scale the font
2708 </parameter_description>
2711 <return> the newly allocated #PangoAttribute, which should be
2712 freed with pango_attribute_destroy().
2716 <function name="pango_attr_list_get_iterator">
2718 Create a iterator initialized to the beginning of the list.
2719 @list must not be modified until this iterator is freed.
2724 <parameter name="list">
2725 <parameter_description> a #PangoAttrList
2726 </parameter_description>
2729 <return> the newly allocated #PangoAttrIterator, which should
2730 be freed with pango_attr_iterator_destroy().
2734 <function name="pango_layout_iter_get_run_extents">
2736 Gets the extents of the current run in layout coordinates
2737 (origin is the top left of the entire layout).
2742 <parameter name="iter">
2743 <parameter_description> a #PangoLayoutIter
2744 </parameter_description>
2746 <parameter name="ink_rect">
2747 <parameter_description> rectangle to fill with ink extents, or %NULL
2748 </parameter_description>
2750 <parameter name="logical_rect">
2751 <parameter_description> rectangle to fill with logical extents, or %NULL
2752 </parameter_description>
2758 <function name="pango_layout_get_lines_readonly">
2760 Return value: a #GSList containing the lines in the layout. This
2764 <parameter name="layout">
2765 <parameter_description> a #PangoLayout
2766 </parameter_description>
2769 <return> a #GSList containing the lines in the layout. This
2770 points to internal data of the #PangoLayout and must be used with
2771 care. It will become invalid on any change to the layout's
2772 text or properties. No changes should be made to the lines.
2778 <function name="pango_font_description_set_weight">
2780 Sets the weight field of a font description. The weight field
2781 specifies how bold or light the font should be. In addition
2782 to the values of the #PangoWeight enumeration, other intermediate
2783 numeric values are possible.
2787 <parameter name="desc">
2788 <parameter_description> a #PangoFontDescription
2789 </parameter_description>
2791 <parameter name="weight">
2792 <parameter_description> the weight for the font description.
2793 </parameter_description>
2799 <function name="pango_xft_render_layout">
2801 Render a #PangoLayout onto a #XftDraw
2807 <parameter name="draw">
2808 <parameter_description> an #XftDraw
2809 </parameter_description>
2811 <parameter name="color">
2812 <parameter_description> the foreground color in which to draw the layout
2813 (may be overridden by color attributes)
2814 </parameter_description>
2816 <parameter name="layout">
2817 <parameter_description> a #PangoLayout
2818 </parameter_description>
2820 <parameter name="x">
2821 <parameter_description> the X position of the left of the layout (in Pango units)
2822 </parameter_description>
2824 <parameter name="y">
2825 <parameter_description> the Y position of the top of the layout (in Pango units)
2826 </parameter_description>
2832 <function name="pango_win32_font_cache_new">
2834 Creates a font cache.
2840 <return> The new font cache. This must be freed with
2841 pango_win32_font_cache_free().
2845 <function name="pango_font_metrics_new">
2847 Creates a new #PangoFontMetrics structure. This is only for
2848 internal use by Pango backends and there is no public way
2849 to set the fields of the structure.
2855 <return> a newly-created #PangoFontMetrics structure
2856 with a reference count of 1.
2860 <function name="pango_font_description_get_weight">
2862 Gets the weight field of a font description. See
2863 pango_font_description_set_weight().
2868 <parameter name="desc">
2869 <parameter_description> a #PangoFontDescription
2870 </parameter_description>
2873 <return> the weight field for the font description. Use
2874 pango_font_description_get_set_fields() to find out if
2875 the field was explicitly set or not.
2879 <function name="pango_matrix_scale">
2881 Changes the transformation represented by @matrix to be the
2882 transformation given by first scaling by @sx in the X direction
2883 and @sy in the Y direction then applying the original
2890 <parameter name="matrix">
2891 <parameter_description> a #PangoMatrix
2892 </parameter_description>
2894 <parameter name="scale_x">
2895 <parameter_description> amount to scale by in X direction
2896 </parameter_description>
2898 <parameter name="scale_y">
2899 <parameter_description> amount to scale by in Y direction
2900 </parameter_description>
2906 <function name="pango_renderer_set_color">
2908 Sets the color for part of the rendering.
2914 <parameter name="renderer">
2915 <parameter_description> a #PangoRenderer
2916 </parameter_description>
2918 <parameter name="part">
2919 <parameter_description> the part to change the color of
2920 </parameter_description>
2922 <parameter name="color">
2923 <parameter_description> the new color or %NULL to unset the current color
2924 </parameter_description>
2930 <function name="pango_cairo_context_get_shape_renderer">
2932 Sets callback function for context to use for rendering attributes
2933 of type %PANGO_ATTR_SHAPE. See #PangoCairoShapeRendererFunc for
2936 Retrieves callback function and associated user data for rendering
2937 attributes of type %PANGO_ATTR_SHAPE as set by
2938 pango_cairo_context_set_shape_renderer(), if any.
2943 <parameter name="context">
2944 <parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
2945 </parameter_description>
2947 <parameter name="data">
2948 <parameter_description> Pointer to #gpointer to return user data
2949 </parameter_description>
2952 <return> the shape rendering callback previously set on the context, or %NULL
2953 if no shape rendering callback have been set.
2959 <function name="pango_font_description_hash">
2961 Computes a hash of a #PangoFontDescription structure suitable
2962 to be used, for example, as an argument to g_hash_table_new().
2963 The hash value is independent of @desc-&gt;mask.
2968 <parameter name="desc">
2969 <parameter_description> a #PangoFontDescription
2970 </parameter_description>
2973 <return> the hash value.
2977 <function name="pango_font_face_is_synthesized">
2979 Return value: whether @face is synthesized.
2983 <parameter name="face">
2984 <parameter_description> a #PangoFontFace
2985 </parameter_description>
2988 <return> whether @face is synthesized.
2994 <function name="pango_cairo_font_map_set_resolution">
2996 Sets the resolution for the fontmap. This is a scale factor between
2997 points specified in a #PangoFontDescription and Cairo units. The
2998 default value is 96, meaning that a 10 point font will be 13
2999 units high. (10 * 96. / 72. = 13.3).
3005 <parameter name="fontmap">
3006 <parameter_description> a #PangoCairoFontMap
3007 </parameter_description>
3009 <parameter name="dpi">
3010 <parameter_description> the resolution in "dots per inch". (Physical inches aren't actually
3011 involved; the terminology is conventional.)
3012 </parameter_description>
3018 <function name="pango_layout_iter_get_layout_extents">
3020 Obtains the extents of the #PangoLayout being iterated
3021 over. @ink_rect or @logical_rect can be %NULL if you
3022 aren't interested in them.
3027 <parameter name="iter">
3028 <parameter_description> a #PangoLayoutIter
3029 </parameter_description>
3031 <parameter name="ink_rect">
3032 <parameter_description> rectangle to fill with ink extents, or %NULL
3033 </parameter_description>
3035 <parameter name="logical_rect">
3036 <parameter_description> rectangle to fill with logical extents, or %NULL
3037 </parameter_description>
3043 <function name="pango_layout_get_cursor_pos">
3045 Given an index within a layout, determines the positions that of the
3046 strong and weak cursors if the insertion point is at that
3047 index. The position of each cursor is stored as a zero-width
3048 rectangle. The strong cursor location is the location where
3049 characters of the directionality equal to the base direction of the
3050 layout are inserted. The weak cursor location is the location
3051 where characters of the directionality opposite to the base
3052 direction of the layout are inserted.
3056 <parameter name="layout">
3057 <parameter_description> a #PangoLayout
3058 </parameter_description>
3060 <parameter name="index_">
3061 <parameter_description> the byte index of the cursor
3062 </parameter_description>
3064 <parameter name="strong_pos">
3065 <parameter_description> location to store the strong cursor position (may be %NULL)
3066 </parameter_description>
3068 <parameter name="weak_pos">
3069 <parameter_description> location to store the weak cursor position (may be %NULL)
3070 </parameter_description>
3076 <function name="pango_renderer_draw_glyph">
3078 Draws a single glyph with coordinates in device space.
3084 <parameter name="renderer">
3085 <parameter_description> a #PangoRenderer
3086 </parameter_description>
3088 <parameter name="font">
3089 <parameter_description> a #PangoFont
3090 </parameter_description>
3092 <parameter name="glyph">
3093 <parameter_description> the glyph index of a single glyph
3094 </parameter_description>
3096 <parameter name="x">
3097 <parameter_description> X coordinate of left edge of baseline of glyph
3098 </parameter_description>
3100 <parameter name="y">
3101 <parameter_description> Y coordinate of left edge of baseline of glyph
3102 </parameter_description>
3108 <function name="pango_attr_underline_color_new">
3110 Create a new underline color attribute. This attribute
3111 modifies the color of underlines. If not set, underlines
3112 will use the foreground color.
3117 <parameter name="red">
3118 <parameter_description> the red value (ranging from 0 to 65535)
3119 </parameter_description>
3121 <parameter name="green">
3122 <parameter_description> the green value
3123 </parameter_description>
3125 <parameter name="blue">
3126 <parameter_description> the blue value
3127 </parameter_description>
3130 <return> the newly allocated #PangoAttribute, which should be
3131 freed with pango_attribute_destroy().
3137 <function name="pango_font_description_set_absolute_size">
3139 Sets the size field of a font description, in device units. This is mutually
3140 exclusive with pango_font_description_set_size() which sets the font size
3147 <parameter name="desc">
3148 <parameter_description> a #PangoFontDescription
3149 </parameter_description>
3151 <parameter name="size">
3152 <parameter_description> the new size, in Pango units. There are %PANGO_SCALE Pango units in one
3153 device unit. For an output backend where a device unit is a pixel, a @size
3154 value of 10 * PANGO_SCALE gives a 10 pixel font.
3155 </parameter_description>
3161 <function name="pango_color_free">
3163 Frees a color allocated by pango_color_copy().
3167 <parameter name="color">
3168 <parameter_description> an allocated #PangoColor
3169 </parameter_description>
3175 <function name="pango_renderer_get_color">
3177 Gets the current rendering color for the specified part.
3182 <parameter name="renderer">
3183 <parameter_description> a #PangoRenderer
3184 </parameter_description>
3186 <parameter name="part">
3187 <parameter_description> the part to get the color for
3188 </parameter_description>
3191 <return> the color for the specified part, or %NULL
3192 if it hasn't been set and should be inherited from the
3199 <function name="pango_cairo_context_set_font_options">
3201 Sets the font options used when rendering text with this context.
3202 These options override any options that pango_cairo_update_context()
3203 derives from the target surface.
3207 <parameter name="context">
3208 <parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
3209 </parameter_description>
3211 <parameter name="options">
3212 <parameter_description> a #cairo_font_options_t, or %NULL to unset any previously set
3213 options. A copy is made.
3214 </parameter_description>
3220 <function name="pango_find_paragraph_boundary">
3222 Locates a paragraph boundary in @text. A boundary is caused by
3223 delimiter characters, such as a newline, carriage return, carriage
3224 return-newline pair, or Unicode paragraph separator character. The
3225 index of the run of delimiters is returned in
3226 @paragraph_delimiter_index. The index of the start of the paragraph
3227 (index after all delimiters) is stored in @next_paragraph_start.
3229 If no delimiters are found, both @paragraph_delimiter_index and
3230 @next_paragraph_start are filled with the length of @text (an index one
3235 <parameter name="text">
3236 <parameter_description> UTF-8 text
3237 </parameter_description>
3239 <parameter name="length">
3240 <parameter_description> length of @text in bytes, or -1 if nul-terminated
3241 </parameter_description>
3243 <parameter name="paragraph_delimiter_index">
3244 <parameter_description> return location for index of delimiter
3245 </parameter_description>
3247 <parameter name="next_paragraph_start">
3248 <parameter_description> return location for start of next paragraph
3249 </parameter_description>
3255 <function name="pango_font_map_get_shape_engine_type">
3257 Return value: the ID string for shape engines for
3261 <parameter name="fontmap">
3262 <parameter_description> a #PangoFontMap
3263 </parameter_description>
3266 <return> the ID string for shape engines for
3267 this fontmap. Owned by Pango, should not be modified
3274 <function name="pango_attr_shape_new_with_data">
3276 Like pango_attr_shape_new(), but a user data pointer is also
3277 provided; this pointer can be accessed when later
3278 rendering the glyph.
3283 <parameter name="ink_rect">
3284 <parameter_description> ink rectangle to assign to each character
3285 </parameter_description>
3287 <parameter name="logical_rect">
3288 <parameter_description> logical rectangle to assign to each character
3289 </parameter_description>
3291 <parameter name="data">
3292 <parameter_description> user data pointer
3293 </parameter_description>
3295 <parameter name="copy_func">
3296 <parameter_description> function to copy @data when the attribute
3297 is copied. If %NULL, @data is simply copied
3299 </parameter_description>
3301 <parameter name="destroy_func">
3302 <parameter_description> function to free @data when the attribute
3304 </parameter_description>
3307 <return> the newly allocated #PangoAttribute, which should be
3308 freed with pango_attribute_destroy().
3314 <function name="pango_attr_list_change">
3316 Insert the given attribute into the #PangoAttrList. It will
3317 replace any attributes of the same type on that segment
3318 and be merged with any adjoining attributes that are identical.
3320 This function is slower than pango_attr_list_insert() for
3321 creating a attribute list in order (potentially much slower
3322 for large lists). However, pango_attr_list_insert() is not
3323 suitable for continually changing a set of attributes
3324 since it never removes or combines existing attributes.
3328 <parameter name="list">
3329 <parameter_description> a #PangoAttrList
3330 </parameter_description>
3332 <parameter name="attr">
3333 <parameter_description> the attribute to insert. Ownership of this value is
3334 assumed by the list.
3335 </parameter_description>
3341 <function name="pango_renderer_prepare_run">
3343 Set up the state of the #PangoRenderer for rendering @run.
3349 <parameter name="renderer">
3350 <parameter_description> a #PangoRenderer
3351 </parameter_description>
3353 <parameter name="run">
3354 <parameter_description> a #PangoLayoutRun
3355 </parameter_description>
3361 <function name="pango_attr_size_new">
3363 Create a new font-size attribute in fractional points.
3368 <parameter name="size">
3369 <parameter_description> the font size, in %PANGO_SCALE&lt;!-- --&gt;ths of a point.
3370 </parameter_description>
3373 <return> the newly allocated #PangoAttribute, which should be
3374 freed with pango_attribute_destroy().
3378 <function name="pango_item_copy">
3380 Copy an existing #PangoItem structure.
3385 <parameter name="item">
3386 <parameter_description> a #PangoItem
3387 </parameter_description>
3390 <return> the newly allocated #PangoItem, which should
3391 be freed with pango_item_free().
3395 <function name="pango_matrix_transform_pixel_rectangle">
3397 First transforms the @rect using @matrix, then calculates the bounding box
3398 of the transformed rectangle. The rectangle should be in device units
3401 This function is useful for example when you want to draw a rotated
3402 @PangoLayout to an image buffer, and want to know how large the image
3403 should be and how much you should shift the layout when rendering.
3405 For better accuracy, you should use pango_matrix_transform_rectangle() on
3406 original rectangle in Pango units and convert to pixels afterward
3407 using pango_extents_to_pixels() as @ink_rect.
3413 <parameter name="matrix">
3414 <parameter_description> a #PangoMatrix, or %NULL
3415 </parameter_description>
3417 <parameter name="rect">
3418 <parameter_description> in/out bounding box in device units, or %NULL
3419 </parameter_description>
3425 <function name="pango_attr_letter_spacing_new">
3427 Create a new letter-spacing attribute.
3432 <parameter name="letter_spacing">
3433 <parameter_description> amount of extra space to add between graphemes
3434 of the text, in Pango units.
3435 </parameter_description>
3438 <return> the newly allocated #PangoAttribute, which should be
3439 freed with pango_attribute_destroy().
3445 <function name="pango_ot_ruleset_description_free">
3447 Frees a ruleset description allocated by
3448 pango_ot_ruleset_description_copy().
3454 <parameter name="desc">
3455 <parameter_description> an allocated #PangoOTRulesetDescription
3456 </parameter_description>
3462 <function name="pango_layout_get_wrap">
3464 Gets the wrap mode for the layout.
3466 Use pango_layout_is_wrapped() to query whether any paragraphs
3467 were actually wrapped.
3472 <parameter name="layout">
3473 <parameter_description> a #PangoLayout
3474 </parameter_description>
3477 <return> active wrap mode.
3481 <function name="pango_layout_set_font_description">
3483 Sets the default font description for the layout. If no font
3484 description is set on the layout, the font description from
3485 the layout's context is used.
3489 <parameter name="layout">
3490 <parameter_description> a #PangoLayout
3491 </parameter_description>
3493 <parameter name="desc">
3494 <parameter_description> the new #PangoFontDescription, or %NULL to unset the
3495 current font description
3496 </parameter_description>
3502 <function name="pango_ot_ruleset_maybe_add_features">
3504 This is a convenience function that
3505 for each feature in the feature map array @features
3506 converts the feature name to a #PangoOTTag feature tag using FT_MAKE_TAG()
3507 and calls pango_ot_ruleset_maybe_add_feature() on it.
3512 <parameter name="ruleset">
3513 <parameter_description> a #PangoOTRuleset.
3514 </parameter_description>
3516 <parameter name="table_type">
3517 <parameter_description> the table type to add features to.
3518 </parameter_description>
3520 <parameter name="features">
3521 <parameter_description> array of feature name and property bits to add.
3522 </parameter_description>
3524 <parameter name="n_features">
3525 <parameter_description> number of feature records in @features array.
3526 </parameter_description>
3529 <return> The number of features in @features that were found
3530 and added to @ruleset.
3536 <function name="pango_xft_font_get_unknown_glyph">
3538 Return value: a glyph index into @font.
3542 <parameter name="font">
3543 <parameter_description> a #PangoFont.
3544 </parameter_description>
3546 <parameter name="wc">
3547 <parameter_description> the Unicode character for which a glyph is needed.
3548 </parameter_description>
3551 <return> a glyph index into @font.
3555 <function name="pango_fontset_get_metrics">
3557 Get overall metric information for the fonts in the fontset.
3562 <parameter name="fontset">
3563 <parameter_description> a #PangoFontset
3564 </parameter_description>
3567 <return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
3568 when finished using the object.
3572 <function name="pango_ot_buffer_output">
3574 Exports the glyphs in a #PangoOTBuffer into a #PangoGlyphString. This is
3575 typically used after the OpenType layout processing is over, to convert the
3576 resulting glyphs into a generic Pango glyph string.
3582 <parameter name="buffer">
3583 <parameter_description> a #PangoOTBuffer
3584 </parameter_description>
3586 <parameter name="glyphs">
3587 <parameter_description> a #PangoGlyphString
3588 </parameter_description>
3594 <function name="pango_ft2_get_unknown_glyph">
3596 Return the index of a glyph suitable for drawing unknown characters with
3597 @font, or %PANGO_GLYPH_EMPTY if no suitable glyph found.
3599 If you want to draw an unknown-box for a character that is not covered
3601 use PANGO_GET_UNKNOWN_GLYPH() instead.
3606 <parameter name="font">
3607 <parameter_description> a #PangoFont
3608 </parameter_description>
3611 <return> a glyph index into @font, or %PANGO_GLYPH_EMPTY
3615 <function name="pango_win32_get_unknown_glyph">
3617 Return value: a glyph index into @font
3621 <parameter name="font">
3622 <parameter_description> a #PangoFont
3623 </parameter_description>
3625 <parameter name="wc">
3626 <parameter_description> the Unicode character for which a glyph is needed.
3627 </parameter_description>
3630 <return> a glyph index into @font
3634 <function name="pango_context_get_language">
3636 Retrieves the global language tag for the context.
3641 <parameter name="context">
3642 <parameter_description> a #PangoContext
3643 </parameter_description>
3646 <return> the global language tag.
3650 <function name="pango_font_metrics_get_approximate_digit_width">
3652 Gets the approximate digit width for a font metrics structure.
3653 This is merely a representative value useful, for example, for
3654 determining the initial size for a window. Actual digits in
3655 text can be wider or narrower than this, though this value
3656 is generally somewhat more accurate than the result of
3657 pango_font_metrics_get_approximate_char_width() for digits.
3662 <parameter name="metrics">
3663 <parameter_description> a #PangoFontMetrics structure
3664 </parameter_description>
3667 <return> the digit width, in Pango units. (1 point == %PANGO_SCALE Pango units.)
3671 <function name="pango_ot_info_list_languages">
3673 Obtains the list of available languages for a given script.
3678 <parameter name="info">
3679 <parameter_description> a #PangoOTInfo.
3680 </parameter_description>
3682 <parameter name="table_type">
3683 <parameter_description> the table type to obtain information about.
3684 </parameter_description>
3686 <parameter name="script_index">
3687 <parameter_description> the index of the script to list languages for.
3688 </parameter_description>
3690 <parameter name="language_tag">
3691 <parameter_description> unused parameter.
3692 </parameter_description>
3695 <return> a newly-allocated zero-terminated array containing the tags of the
3696 available languages. Should be freed using g_free().
3700 <function name="pango_x_font_map_for_display">
3702 Return value: a #PangoXFontMap for @display.
3706 <parameter name="display">
3707 <parameter_description> an X #Display.
3708 </parameter_description>
3711 <return> a #PangoXFontMap for @display.
3715 <function name="pango_fontset_simple_append">
3717 Adds a font to the fontset.
3721 <parameter name="fontset">
3722 <parameter_description> a #PangoFontsetSimple.
3723 </parameter_description>
3725 <parameter name="font">
3726 <parameter_description> a #PangoFont.
3727 </parameter_description>
3733 <function name="pango_font_describe">
3735 Return value: a newly-allocated #PangoFontDescription object.
3739 <parameter name="font">
3740 <parameter_description> a #PangoFont
3741 </parameter_description>
3744 <return> a newly-allocated #PangoFontDescription object.
3748 <function name="pango_font_description_get_size">
3750 Gets the size field of a font description.
3751 See pango_font_description_set_size().
3756 <parameter name="desc">
3757 <parameter_description> a #PangoFontDescription
3758 </parameter_description>
3761 <return> the size field for the font description in points or device units.
3762 You must call pango_font_description_get_size_is_absolute()
3763 to find out which is the case. Returns 0 if the size field has not
3764 previously been set or it has been set to 0 explicitly.
3765 Use pango_font_description_get_set_fields() to
3766 find out if the field was explicitly set or not.
3770 <function name="pango_xft_renderer_set_draw">
3772 Sets the #XftDraw object that the renderer is drawing to.
3773 The renderer must not be currently active.
3779 <parameter name="xftrenderer">
3780 <parameter_description> a #PangoXftRenderer
3781 </parameter_description>
3783 <parameter name="draw">
3784 <parameter_description> a #XftDraw
3785 </parameter_description>
3791 <function name="pango_fc_font_get_raw_extents">
3793 Gets the extents of a single glyph from a font. The extents are in
3794 user space; that is, they are not transformed by any matrix in effect
3797 Long term, this functionality probably belongs in the default
3798 implementation of the get_glyph_extents() virtual function.
3799 The other possibility would be to to make it public in something
3800 like it's current form, and also expose glyph information
3801 caching functionality similar to pango_ft2_font_set_glyph_info().
3807 <parameter name="fcfont">
3808 <parameter_description> a #PangoFcFont
3809 </parameter_description>
3811 <parameter name="load_flags">
3812 <parameter_description> flags to pass to FT_Load_Glyph()
3813 </parameter_description>
3815 <parameter name="glyph">
3816 <parameter_description> the glyph index to load
3817 </parameter_description>
3819 <parameter name="ink_rect">
3820 <parameter_description> location to store ink extents of the glyph, or %NULL
3821 </parameter_description>
3823 <parameter name="logical_rect">
3824 <parameter_description> location to store logical extents of the glyph or %NULL
3825 </parameter_description>
3831 <function name="pango_ot_info_find_script">
3833 Finds the index of a script. If not found, tries to find the 'DFLT'
3834 and then 'dflt' scripts and return the index of that in @script_index.
3835 If none of those is found either, %PANGO_OT_NO_SCRIPT is placed in
3838 All other functions taking an input script_index parameter know
3839 how to handle %PANGO_OT_NO_SCRIPT, so one can ignore the return
3840 value of this function completely and proceed, to enjoy the automatic
3841 fallback to the 'DFLT'/'dflt' script.
3846 <parameter name="info">
3847 <parameter_description> a #PangoOTInfo.
3848 </parameter_description>
3850 <parameter name="table_type">
3851 <parameter_description> the table type to obtain information about.
3852 </parameter_description>
3854 <parameter name="script_tag">
3855 <parameter_description> the tag of the script to find.
3856 </parameter_description>
3858 <parameter name="script_index">
3859 <parameter_description> location to store the index of the script, or %NULL.
3860 </parameter_description>
3863 <return> %TRUE if the script was found.
3867 <function name="pango_ot_ruleset_description_hash">
3869 Computes a hash of a #PangoOTRulesetDescription structure suitable
3870 to be used, for example, as an argument to g_hash_table_new().
3875 <parameter name="desc">
3876 <parameter_description> a ruleset description
3877 </parameter_description>
3880 <return> the hash value.
3886 <function name="pango_layout_get_unknown_glyphs_count">
3888 Counts the number unknown glyphs in @layout. That is, zero if
3889 glyphs for all characters in the layout text were found, or more
3890 than zero otherwise.
3895 <parameter name="layout">
3896 <parameter_description> a #PangoLayout
3897 </parameter_description>
3900 <return> The number of unknown glyphs in @layout.
3906 <function name="pango_font_metrics_get_underline_thickness">
3908 Gets the suggested thickness to draw for the underline.
3913 <parameter name="metrics">
3914 <parameter_description> a #PangoFontMetrics structure
3915 </parameter_description>
3918 <return> the suggested underline thickness, in Pango units.
3924 <function name="pango_layout_set_markup_with_accel">
3926 Sets the layout text and attribute list from marked-up text (see
3927 &lt;link linkend="PangoMarkupFormat"&gt;markup format&lt;/link&gt;). Replaces
3928 the current text and attribute list.
3930 If @accel_marker is nonzero, the given character will mark the
3931 character following it as an accelerator. For example, @accel_marker
3932 might be an ampersand or underscore. All characters marked
3933 as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
3934 and the first character so marked will be returned in @accel_char.
3935 Two @accel_marker characters following each other produce a single
3936 literal @accel_marker character.
3940 <parameter name="layout">
3941 <parameter_description> a #PangoLayout
3942 </parameter_description>
3944 <parameter name="markup">
3945 <parameter_description> marked-up text
3946 (see &lt;link linkend="PangoMarkupFormat"&gt;markup format&lt;/link&gt;)
3947 </parameter_description>
3949 <parameter name="length">
3950 <parameter_description> length of marked-up text in bytes, or -1 if @markup is
3952 </parameter_description>
3954 <parameter name="accel_marker">
3955 <parameter_description> marker for accelerators in the text
3956 </parameter_description>
3958 <parameter name="accel_char">
3959 <parameter_description> return location for first located accelerator, or %NULL
3960 </parameter_description>
3966 <function name="pango_font_metrics_get_strikethrough_position">
3968 Gets the suggested position to draw the strikethrough.
3969 The value returned is the distance &lt;emphasis&gt;above&lt;/emphasis&gt; the
3970 baseline of the top of the strikethrough.
3975 <parameter name="metrics">
3976 <parameter_description> a #PangoFontMetrics structure
3977 </parameter_description>
3980 <return> the suggested strikethrough position, in Pango units.
3986 <function name="_pango_fc_font_get_decoder">
3988 This will return any custom decoder set on this font.
3993 <parameter name="font">
3994 <parameter_description> a #PangoFcFont
3995 </parameter_description>
3998 <return> The custom decoder
4004 <function name="pango_cairo_font_map_new">
4006 Creates a new #PangoCairoFontMap object; a fontmap is used
4007 to cache information about available fonts, and holds
4008 certain global parameters such as the resolution.
4009 In most cases, you can use pango_cairo_font_map_get_default()
4012 Note that the type of the returned object will depend
4013 on the particular font backend Cairo was compiled to use;
4014 You generally should only use the #PangoFontMap and
4015 #PangoCairoFontMap interfaces on the returned object.
4021 <return> the newly allocated #PangoFontMap, which should
4022 be freed with g_object_unref().
4028 <function name="pango_xft_font_get_display">
4030 Return value: the X display of the XftFont associated to @font.
4034 <parameter name="font">
4035 <parameter_description> a #PangoFont.
4036 </parameter_description>
4039 <return> the X display of the XftFont associated to @font.
4043 <function name="pango_layout_iter_get_run_readonly">
4045 Gets the current run. When iterating by run, at the end of each
4046 line, there's a position with a %NULL run, so this function can return
4047 %NULL. The %NULL run at the end of each line ensures that all lines have
4048 at least one run, even lines consisting of only a newline.
4050 This is a faster alternative to pango_layout_iter_get_run(),
4051 but the user is not expected
4052 to modify the contents of the run (glyphs, glyph widths, etc.).
4057 <parameter name="iter">
4058 <parameter_description> a #PangoLayoutIter
4059 </parameter_description>
4062 <return> the current run, that should not be modified.
4068 <function name="pango_ft2_font_get_kerning">
4070 Retrieves kerning information for a combination of two glyphs.
4072 Use pango_fc_font_kern_glyphs() instead.
4077 <parameter name="font">
4078 <parameter_description> a #PangoFont
4079 </parameter_description>
4081 <parameter name="left">
4082 <parameter_description> the left #PangoGlyph
4083 </parameter_description>
4085 <parameter name="right">
4086 <parameter_description> the right #PangoGlyph
4087 </parameter_description>
4090 <return> The amount of kerning (in Pango units) to apply for
4091 the given combination of glyphs.
4095 <function name="pango_font_description_new">
4097 Creates a new font description structure with all fields unset.
4103 <return> the newly allocated #PangoFontDescription, which
4104 should be freed using pango_font_description_free().
4108 <function name="pango_ft2_render_layout_line_subpixel">
4110 Render a #PangoLayoutLine onto a FreeType2 bitmap, with he
4111 location specified in fixed-point Pango units rather than
4112 pixels. (Using this will avoid extra inaccuracies from
4113 rounding to integer pixels multiple times, even if the
4114 final glyph positions are integers.)
4120 <parameter name="bitmap">
4121 <parameter_description> a &lt;type&gt;FT_Bitmap&lt;/type&gt; to render the line onto
4122 </parameter_description>
4124 <parameter name="line">
4125 <parameter_description> a #PangoLayoutLine
4126 </parameter_description>
4128 <parameter name="x">
4129 <parameter_description> the x position of start of string (in Pango units)
4130 </parameter_description>
4132 <parameter name="y">
4133 <parameter_description> the y position of baseline (in Pango units)
4134 </parameter_description>
4140 <function name="pango_find_map">
4142 Locate a #PangoMap for a particular engine type and render
4143 type. The resulting map can be used to determine the engine
4149 <parameter name="language">
4150 <parameter_description> the language tag for which to find the map
4151 </parameter_description>
4153 <parameter name="engine_type_id">
4154 <parameter_description> the engine type for the map to find
4155 </parameter_description>
4157 <parameter name="render_type_id">
4158 <parameter_description> the render type for the map to find
4159 </parameter_description>
4162 <return> the suitable #PangoMap.
4166 <function name="pango_context_get_font_description">
4168 Retrieve the default font description for the context.
4173 <parameter name="context">
4174 <parameter_description> a #PangoContext
4175 </parameter_description>
4178 <return> a pointer to the context's default font description.
4179 This value must not be modified or freed.
4183 <function name="pango_find_base_dir">
4185 Searches a string the first character that has a strong
4186 direction, according to the Unicode bidirectional algorithm.
4191 <parameter name="text">
4192 <parameter_description> the text to process
4193 </parameter_description>
4195 <parameter name="length">
4196 <parameter_description> length of @text in bytes (may be -1 if @text is nul-terminated)
4197 </parameter_description>
4200 <return> The direction corresponding to the first strong character.
4201 If no such character is found, then %PANGO_DIRECTION_NEUTRAL is returned.
4207 <function name="pango_attr_iterator_copy">
4209 Copy a #PangoAttrIterator
4214 <parameter name="iterator">
4215 <parameter_description> a #PangoAttrIterator.
4216 </parameter_description>
4219 <return> the newly allocated #PangoAttrIterator, which should
4220 be freed with pango_attr_iterator_destroy().
4224 <function name="pango_context_get_matrix">
4226 Gets the transformation matrix that will be applied when
4227 rendering with this context. See pango_context_set_matrix().
4232 <parameter name="context">
4233 <parameter_description> a #PangoContext
4234 </parameter_description>
4237 <return> the matrix, or %NULL if no matrix has been set
4238 (which is the same as the identity matrix). The returned
4239 matrix is owned by Pango and must not be modified or
4246 <function name="pango_x_render_layout">
4248 Renders a #PangoLayout onto an X drawable.
4252 <parameter name="display">
4253 <parameter_description> the X display.
4254 </parameter_description>
4256 <parameter name="drawable">
4257 <parameter_description> the drawable on which to draw.
4258 </parameter_description>
4260 <parameter name="gc">
4261 <parameter_description> GC to use for uncolored drawing.
4262 </parameter_description>
4264 <parameter name="layout">
4265 <parameter_description> a #PangoLayout.
4266 </parameter_description>
4268 <parameter name="x">
4269 <parameter_description> the x position of the left of the layout (in pixels).
4270 </parameter_description>
4272 <parameter name="y">
4273 <parameter_description> the y position of the top of the layout (in pixels).
4274 </parameter_description>
4280 <function name="pango_font_family_list_faces">
4282 Lists the different font faces that make up @family. The faces
4283 in a family share a common design, but differ in slant, weight,
4284 width and other aspects.
4288 <parameter name="family">
4289 <parameter_description> a #PangoFontFamily
4290 </parameter_description>
4292 <parameter name="faces">
4293 <parameter_description> location to store an array of pointers to #PangoFontFace
4294 objects, or %NULL. This array should be freed with g_free()
4295 when it is no longer needed.
4296 </parameter_description>
4298 <parameter name="n_faces">
4299 <parameter_description> location to store number of elements in @faces.
4300 </parameter_description>
4306 <function name="pango_font_describe_with_absolute_size">
4308 Return value: a newly-allocated #PangoFontDescription object.
4312 <parameter name="font">
4313 <parameter_description> a #PangoFont
4314 </parameter_description>
4317 <return> a newly-allocated #PangoFontDescription object.
4323 <function name="pango_context_set_base_gravity">
4325 Sets the base gravity for the context.
4327 The base gravity is used in laying vertical text out.
4333 <parameter name="context">
4334 <parameter_description> a #PangoContext
4335 </parameter_description>
4337 <parameter name="gravity">
4338 <parameter_description> the new base gravity
4339 </parameter_description>
4345 <function name="pango_matrix_get_font_scale_factor">
4347 Return value: the scale factor of @matrix on the height of the font,
4351 <parameter name="matrix">
4352 <parameter_description> a #PangoMatrix, may be %NULL
4353 </parameter_description>
4356 <return> the scale factor of @matrix on the height of the font,
4357 or 1.0 if @matrix is %NULL.
4363 <function name="pango_font_family_is_monospace">
4365 A monospace font is a font designed for text display where the the
4366 characters form a regular grid. For Western languages this would
4367 mean that the advance width of all characters are the same, but
4368 this categorization also includes Asian fonts which include
4369 double-width characters: characters that occupy two grid cells.
4370 g_unichar_iswide() returns a result that indicates whether a
4371 character is typically double-width in a monospace font.
4373 The best way to find out the grid-cell size is to call
4374 pango_font_metrics_get_approximate_digit_width(), since the results
4375 of pango_font_metrics_get_approximate_char_width() may be affected
4376 by double-width characters.
4381 <parameter name="family">
4382 <parameter_description> a #PangoFontFamily
4383 </parameter_description>
4386 <return> %TRUE if the family is monospace.
4392 <function name="pango_attr_list_unref">
4394 Decrease the reference count of the given attribute list by one.
4395 If the result is zero, free the attribute list and the attributes
4400 <parameter name="list">
4401 <parameter_description> a #PangoAttrList
4402 </parameter_description>
4408 <function name="pango_font_metrics_get_strikethrough_thickness">
4410 Gets the suggested thickness to draw for the strikethrough.
4415 <parameter name="metrics">
4416 <parameter_description> a #PangoFontMetrics structure
4417 </parameter_description>
4420 <return> the suggested strikethrough thickness, in Pango units.
4426 <function name="pango_x_context_set_funcs">
4428 Sets the functions that will be used to get GC's in various colors when
4429 rendering layouts with this context.
4433 <parameter name="context">
4434 <parameter_description> a #PangoContext.
4435 </parameter_description>
4437 <parameter name="get_gc_func">
4438 <parameter_description> function called to create a new GC for a given color.
4439 </parameter_description>
4441 <parameter name="free_gc_func">
4442 <parameter_description> function called to free a GC created with @get_gc_func.
4443 </parameter_description>
4449 <function name="pango_layout_line_index_to_x">
4451 Converts an index within a line to a X position.
4456 <parameter name="line">
4457 <parameter_description> a #PangoLayoutLine
4458 </parameter_description>
4460 <parameter name="index_">
4461 <parameter_description> byte offset of a grapheme within the layout
4462 </parameter_description>
4464 <parameter name="trailing">
4465 <parameter_description> an integer indicating the edge of the grapheme to retrieve
4466 the position of. If 0, the trailing edge of the grapheme,
4467 if &gt; 0, the leading of the grapheme.
4468 </parameter_description>
4470 <parameter name="x_pos">
4471 <parameter_description> location to store the x_offset (in #PangoGlyphUnit)
4472 </parameter_description>
4478 <function name="pango_renderer_draw_layout_line">
4480 Draws @line with the specified #PangoRenderer.
4486 <parameter name="renderer">
4487 <parameter_description> a #PangoRenderer
4488 </parameter_description>
4490 <parameter name="line">
4491 <parameter_description> a #PangoLayoutLine
4492 </parameter_description>
4494 <parameter name="x">
4495 <parameter_description> X position of left edge of baseline, in user space coordinates
4497 </parameter_description>
4499 <parameter name="y">
4500 <parameter_description> Y position of left edge of baseline, in user space coordinates
4502 </parameter_description>
4508 <function name="pango_fc_font_map_cache_clear">
4510 Clear all cached information and fontsets for this font map;
4511 this should be called whenever there is a change in the
4512 output of the default_substitute() virtual function.
4514 This function is intended to be used only by backend implementations
4515 deriving from #PangoFcFontmap.
4521 <parameter name="fcfontmap">
4522 <parameter_description> a #PangoFcFontmap
4523 </parameter_description>
4529 <function name="pango_skip_space">
4531 Skips 0 or more characters of white space.
4536 <parameter name="pos">
4537 <parameter_description> in/out string position
4538 </parameter_description>
4541 <return> %FALSE if skipping the white space leaves
4542 the position at a '\0' character.
4546 <function name="pango_font_description_merge">
4548 Merges the fields that are set in @desc_to_merge into the fields in
4549 @desc. If @replace_existing is %FALSE, only fields in @desc that
4550 are not already set are affected. If %TRUE, then fields that are
4551 already set will be replaced as well.
4555 <parameter name="desc">
4556 <parameter_description> a #PangoFontDescription
4557 </parameter_description>
4559 <parameter name="desc_to_merge">
4560 <parameter_description> the #PangoFontDescription to merge from
4561 </parameter_description>
4563 <parameter name="replace_existing">
4564 <parameter_description> if %TRUE, replace fields in @desc with the
4565 corresponding values from @desc_to_merge, even if they
4567 </parameter_description>
4573 <function name="pango_language_includes_script">
4575 Determines if @script is one of the scripts used to
4576 write @language. The returned value is conservative;
4577 if nothing is known about the language tag @language,
4578 %TRUE will be returned, since, as far as Pango knows,
4579 @script might be used to write @language.
4581 This routine is used in Pango's itemization process when
4582 determining if a supplied language tag is relevant to
4583 a particular section of text. It probably is not useful for
4584 applications in most circumstances.
4589 <parameter name="language">
4590 <parameter_description> a #PangoLanguage, or %NULL
4591 </parameter_description>
4593 <parameter name="script">
4594 <parameter_description> a #PangoScript
4595 </parameter_description>
4598 <return> %TRUE if @script is one of the scripts used
4599 to write @language or if nothing is known about @language
4600 (including the case that @language is %NULL),
4607 <function name="pango_glyph_string_get_width">
4609 Computes the logical width of the glyph string as can also be computed
4610 using pango_glyph_string_extents(). However, since this only computes the
4611 width, it's much faster. This is in fact only a convenience function that
4612 computes the sum of geometry.width for each glyph in the @glyphs.
4617 <parameter name="glyphs">
4618 <parameter_description> a #PangoGlyphString
4619 </parameter_description>
4622 <return> the logical width of the glyph string.
4628 <function name="pango_font_family_get_name">
4630 Gets the name of the family. The name is unique among all
4631 fonts for the font backend and can be used in a #PangoFontDescription
4632 to specify that a face from this family is desired.
4637 <parameter name="family">
4638 <parameter_description> a #PangoFontFamily
4639 </parameter_description>
4642 <return> the name of the family. This string is owned
4643 by the family object and must not be modified or freed.
4647 <function name="pango_language_matches">
4649 Checks if a language tag matches one of the elements in a list of
4650 language ranges. A language tag is considered to match a range
4651 in the list if the range is '*', the range is exactly the tag,
4652 or the range is a prefix of the tag, and the character after it
4653 in the tag is '-'.
4658 <parameter name="language">
4659 <parameter_description> a language tag (see pango_language_from_string()),
4660 %NULL is allowed and matches nothing but '*'
4661 </parameter_description>
4663 <parameter name="range_list">
4664 <parameter_description> a list of language ranges, separated by ';', ':',
4665 ',', or space characters.
4666 Each element must either be '*', or a RFC 3066 language range
4667 canonicalized as by pango_language_from_string()
4668 </parameter_description>
4671 <return> %TRUE if a match was found.
4675 <function name="_pango_xft_font_map_get_renderer">
4677 Gets the singleton #PangoXFTRenderer for this fontmap.
4682 <parameter name="fontmap">
4683 <parameter_description> a #PangoXftFontmap
4684 </parameter_description>
4691 <function name="pango_font_map_load_font">
4693 Load the font in the fontmap that is the closest match for @desc.
4698 <parameter name="fontmap">
4699 <parameter_description> a #PangoFontMap
4700 </parameter_description>
4702 <parameter name="context">
4703 <parameter_description> the #PangoContext the font will be used with
4704 </parameter_description>
4706 <parameter name="desc">
4707 <parameter_description> a #PangoFontDescription describing the font to load
4708 </parameter_description>
4711 <return>the font loaded, or %NULL if no font matched.
4715 <function name="pango_font_description_to_filename">
4717 Creates a filename representation of a font description. The
4718 filename is identical to the result from calling
4719 pango_font_description_to_string(), but with underscores instead of
4720 characters that are untypical in filenames, and in lower case only.
4725 <parameter name="desc">
4726 <parameter_description> a #PangoFontDescription
4727 </parameter_description>
4730 <return> a new string that must be freed with g_free().
4734 <function name="pango_attr_list_filter">
4736 Given a #PangoAttrList and callback function, removes any elements
4737 of @list for which @func returns %TRUE and inserts them into
4743 <parameter name="list">
4744 <parameter_description> a #PangoAttrList
4745 </parameter_description>
4747 <parameter name="func">
4748 <parameter_description> callback function; returns %TRUE if an attribute
4749 should be filtered out.
4750 </parameter_description>
4752 <parameter name="data">
4753 <parameter_description> Data to be passed to @func
4754 </parameter_description>
4757 <return> the new #PangoAttrList or %NULL if
4758 no attributes of the given types were found.
4764 <function name="pango_layout_get_ellipsize">
4766 Gets the type of ellipsization being performed for @layout.
4767 See pango_layout_set_ellipsize()
4772 <parameter name="layout">
4773 <parameter_description> a #PangoLayout
4774 </parameter_description>
4777 <return> the current ellipsization mode for @layout.
4779 Use pango_layout_is_ellipsized() to query whether any paragraphs
4780 were actually ellipsized.
4786 <function name="pango_font_description_get_variant">
4788 Gets the variant field of a #PangoFontDescription. See
4789 pango_font_description_set_variant().
4794 <parameter name="desc">
4795 <parameter_description> a #PangoFontDescription.
4796 </parameter_description>
4799 <return> the variant field for the font description. Use
4800 pango_font_description_get_set_fields() to find out if
4801 the field was explicitly set or not.
4805 <function name="pango_fc_font_get_unknown_glyph">
4807 Return value: a glyph index into @font.
4811 <parameter name="font">
4812 <parameter_description> a #PangoFcFont
4813 </parameter_description>
4815 <parameter name="wc">
4816 <parameter_description> the Unicode character for which a glyph is needed.
4817 </parameter_description>
4820 <return> a glyph index into @font.
4826 <function name="pango_item_free">
4828 Free a #PangoItem and all associated memory.
4832 <parameter name="item">
4833 <parameter_description> a #PangoItem
4834 </parameter_description>
4840 <function name="pango_font_description_to_string">
4842 Creates a string representation of a font description. See
4843 pango_font_description_from_string() for a description of the
4844 format of the string representation. The family list in the
4845 string description will only have a terminating comma if the
4846 last word of the list is a valid style option.
4851 <parameter name="desc">
4852 <parameter_description> a #PangoFontDescription
4853 </parameter_description>
4856 <return> a new string that must be freed with g_free().
4860 <function name="pango_layout_get_attributes">
4862 Gets the attribute list for the layout, if any.
4867 <parameter name="layout">
4868 <parameter_description> a #PangoLayout
4869 </parameter_description>
4872 <return> a #PangoAttrList.
4876 <function name="pango_layout_iter_at_last_line">
4878 Determines whether @iter is on the last line of the layout.
4883 <parameter name="iter">
4884 <parameter_description> a #PangoLayoutIter
4885 </parameter_description>
4888 <return> %TRUE if @iter is on the last line.
4892 <function name="pango_coverage_from_bytes">
4894 Convert data generated from pango_converage_to_bytes() back
4900 <parameter name="bytes">
4901 <parameter_description> binary data representing a #PangoCoverage
4902 </parameter_description>
4904 <parameter name="n_bytes">
4905 <parameter_description> the size of @bytes in bytes
4906 </parameter_description>
4909 <return> a newly allocated #PangoCoverage, or %NULL if
4910 the data was invalid.
4914 <function name="pango_get_log_attrs">
4916 Computes a #PangoLogAttr for each character in @text. The @log_attrs
4917 array must have one #PangoLogAttr for each position in @text; if
4918 @text contains N characters, it has N+1 positions, including the
4919 last position at the end of the text. @text should be an entire
4920 paragraph; logical attributes can't be computed without context
4921 (for example you need to see spaces on either side of a word to know
4922 the word is a word).
4926 <parameter name="text">
4927 <parameter_description> text to process
4928 </parameter_description>
4930 <parameter name="length">
4931 <parameter_description> length in bytes of @text
4932 </parameter_description>
4934 <parameter name="level">
4935 <parameter_description> embedding level, or -1 if unknown
4936 </parameter_description>
4938 <parameter name="language">
4939 <parameter_description> language tag
4940 </parameter_description>
4942 <parameter name="log_attrs">
4943 <parameter_description> array with one #PangoLogAttr per character in @text, plus one extra, to be filled in
4944 </parameter_description>
4946 <parameter name="attrs_len">
4947 <parameter_description> length of @log_attrs array
4948 </parameter_description>
4954 <function name="pango_renderer_draw_rectangle">
4956 Draws an axis-aligned rectangle in user space coordinates with the
4957 specified #PangoRenderer.
4959 This should be called while @renderer is already active. Use
4960 pango_renderer_activate() to activate a renderer.
4966 <parameter name="renderer">
4967 <parameter_description> a #PangoRenderer
4968 </parameter_description>
4970 <parameter name="part">
4971 <parameter_description> type of object this rectangle is part of
4972 </parameter_description>
4974 <parameter name="x">
4975 <parameter_description> X position at which to draw rectangle, in user space coordinates in Pango units
4976 </parameter_description>
4978 <parameter name="y">
4979 <parameter_description> Y position at which to draw rectangle, in user space coordinates in Pango units
4980 </parameter_description>
4982 <parameter name="width">
4983 <parameter_description> width of rectangle in Pango units in user space coordinates
4984 </parameter_description>
4986 <parameter name="height">
4987 <parameter_description> height of rectangle in Pango units in user space coordinates
4988 </parameter_description>
4994 <function name="pango_ft2_font_map_for_display">
4996 Return value: a #PangoFT2FontMap.
5001 <return> a #PangoFT2FontMap.
5005 <function name="pango_ft2_font_map_new">
5007 Create a new #PangoFT2FontMap object; a fontmap is used
5008 to cache information about available fonts, and holds
5009 certain global parameters such as the resolution and
5010 the default substitute function (see
5011 pango_ft2_font_map_set_default_substitute()).
5017 <return> the newly created fontmap object. Unref
5018 with g_object_unref() when you are finished with it.
5024 <function name="pango_font_metrics_get_descent">
5026 Gets the descent from a font metrics structure. The descent is
5027 the distance from the baseline to the logical bottom of a line
5028 of text. (The logical bottom may be above or below the bottom of the
5029 actual drawn ink. It is necessary to lay out the text to figure
5030 where the ink will be.)
5035 <parameter name="metrics">
5036 <parameter_description> a #PangoFontMetrics structure
5037 </parameter_description>
5040 <return> the descent, in Pango units. (1 point == %PANGO_SCALE Pango units.)
5044 <function name="pango_ot_ruleset_description_copy">
5046 Creates a copy of @desc, which should be freed with
5047 pango_ot_ruleset_description_free(). Primarily used internally
5048 by pango_ot_ruleset_get_for_description() to cache rulesets for
5049 ruleset descriptions.
5054 <parameter name="desc">
5055 <parameter_description> ruleset description to copy
5056 </parameter_description>
5059 <return> the newly allocated #PangoOTRulesetDescription, which
5060 should be freed with pango_ot_ruleset_description_free().
5066 <function name="pango_layout_get_lines">
5068 Return value: a #GSList containing the lines in the layout. This
5072 <parameter name="layout">
5073 <parameter_description> a #PangoLayout
5074 </parameter_description>
5077 <return> a #GSList containing the lines in the layout. This
5078 points to internal data of the #PangoLayout and must be used with
5079 care. It will become invalid on any change to the layout's
5084 <function name="pango_cairo_show_layout">
5086 Draws a #PangoLayoutLine in the specified cairo context.
5087 The top-left corner of the #PangoLayout will be drawn
5088 at the current point of the cairo context.
5094 <parameter name="cr">
5095 <parameter_description> a Cairo context
5096 </parameter_description>
5098 <parameter name="layout">
5099 <parameter_description> a Pango layout
5100 </parameter_description>
5106 <function name="pango_layout_set_ellipsize">
5108 Sets the type of ellipsization being performed for @layout.
5109 Depending on the ellipsization mode @ellipsize text is
5110 removed from the start, middle, or end of lines so they
5111 fit within the width of layout set with pango_layout_set_width ().
5113 If the layout contains characters such as newlines that
5114 force it to be layed out in multiple lines, then each line
5115 is ellipsized separately.
5121 <parameter name="layout">
5122 <parameter_description> a #PangoLayout
5123 </parameter_description>
5125 <parameter name="ellipsize">
5126 <parameter_description> the new ellipsization mode for @layout
5127 </parameter_description>
5133 <function name="pango_xft_shutdown_display">
5135 Release any resources that have been cached for the
5136 combination of @display and @screen. Note that when the
5137 X display is closed, resources are released automatically,
5138 without needing to call this function.
5144 <parameter name="display">
5145 <parameter_description> an X display
5146 </parameter_description>
5148 <parameter name="screen">
5149 <parameter_description> the screen number of a screen within @display
5150 </parameter_description>
5156 <function name="pango_layout_set_markup">
5158 Same as pango_layout_set_markup_with_accel(), but
5159 the markup text isn't scanned for accelerators.
5164 <parameter name="layout">
5165 <parameter_description> a #PangoLayout
5166 </parameter_description>
5168 <parameter name="markup">
5169 <parameter_description> marked-up text
5170 </parameter_description>
5172 <parameter name="length">
5173 <parameter_description> length of marked-up text in bytes, or -1 if @markup is
5175 </parameter_description>
5181 <function name="pango_glyph_string_get_logical_widths">
5183 Given a #PangoGlyphString resulting from pango_shape() and the corresponding
5184 text, determine the screen width corresponding to each character. When
5185 multiple characters compose a single cluster, the width of the entire
5186 cluster is divided equally among the characters.
5190 <parameter name="glyphs">
5191 <parameter_description> a #PangoGlyphString
5192 </parameter_description>
5194 <parameter name="text">
5195 <parameter_description> the text corresponding to the glyphs
5196 </parameter_description>
5198 <parameter name="length">
5199 <parameter_description> the length of @text, in bytes
5200 </parameter_description>
5202 <parameter name="embedding_level">
5203 <parameter_description> the embedding level of the string
5204 </parameter_description>
5206 <parameter name="logical_widths">
5207 <parameter_description> an array whose length is g_utf8_strlen (text, length)
5208 to be filled in with the resulting character widths.
5209 </parameter_description>
5215 <function name="pango_x_shutdown_display">
5217 Free cached resources for the given X display structure.
5221 <parameter name="display">
5222 <parameter_description> an X #Display
5223 </parameter_description>
5229 <function name="pango_layout_iter_get_index">
5231 Gets the current byte index. Note that iterating forward by char
5232 moves in visual order, not logical order, so indexes may not be
5233 sequential. Also, the index may be equal to the length of the text
5234 in the layout, if on the %NULL run (see pango_layout_iter_get_run()).
5239 <parameter name="iter">
5240 <parameter_description> a #PangoLayoutIter
5241 </parameter_description>
5244 <return> current byte index.
5248 <function name="pango_ot_info_list_scripts">
5250 Obtains the list of available scripts.
5255 <parameter name="info">
5256 <parameter_description> a #PangoOTInfo.
5257 </parameter_description>
5259 <parameter name="table_type">
5260 <parameter_description> the table type to obtain information about.
5261 </parameter_description>
5264 <return> a newly-allocated zero-terminated array containing the tags of the
5265 available scripts. Should be freed using g_free().
5269 <function name="pango_script_iter_free">
5271 Frees a #PangoScriptIter created with pango_script_iter_new().
5277 <parameter name="iter">
5278 <parameter_description> a #PangoScriptIter
5279 </parameter_description>
5285 <function name="pango_layout_line_get_pixel_extents">
5287 Computes the logical and ink extents of @layout_line in device units.
5288 This function just calls pango_layout_line_get_extents() followed by
5289 pango_extents_to_pixels().
5293 <parameter name="layout_line">
5294 <parameter_description> a #PangoLayoutLine
5295 </parameter_description>
5297 <parameter name="ink_rect">
5298 <parameter_description> rectangle used to store the extents of the glyph string
5300 </parameter_description>
5302 <parameter name="logical_rect">
5303 <parameter_description> rectangle used to store the logical extents of the glyph
5305 </parameter_description>
5311 <function name="pango_color_parse">
5313 Fill in the fields of a color from a string specification. The
5314 string can either one of a large set of standard names. (Taken
5315 from the X11 &lt;filename&gt;rgb.txt&lt;/filename&gt; file), or it can be a hex value in the
5316 form '&num;rgb' '&num;rrggbb' '&num;rrrgggbbb' or '&num;rrrrggggbbbb' where
5317 'r', 'g' and 'b' are hex digits of the red, green, and blue
5318 components of the color, respectively. (White in the four
5319 forms is '&num;fff' '&num;ffffff' '&num;fffffffff' and '&num;ffffffffffff')
5324 <parameter name="color">
5325 <parameter_description> a #PangoColor structure in which to store the result
5326 </parameter_description>
5328 <parameter name="spec">
5329 <parameter_description> a string specifying the new color
5330 </parameter_description>
5333 <return> %TRUE if parsing of the specifier succeeded,
5338 <function name="pango_attr_iterator_get_attrs">
5340 Gets a list of all attributes at the current position of the
5346 <parameter name="iterator">
5347 <parameter_description> a #PangoAttrIterator
5348 </parameter_description>
5351 <return> a list of all attributes for the current range.
5352 To free this value, call pango_attribute_destroy() on
5353 each value and g_slist_free() on the list.
5359 <function name="pango_cairo_layout_line_path">
5361 Adds the text in #PangoLayoutLine to the current path in the
5362 specified cairo context. The origin of the glyphs (the left edge
5363 of the line) will be at the current point of the cairo context.
5369 <parameter name="cr">
5370 <parameter_description> a Cairo context
5371 </parameter_description>
5373 <parameter name="line">
5374 <parameter_description> a #PangoLayoutLine
5375 </parameter_description>
5381 <function name="pango_x_font_cache_load">
5383 Loads a #XFontStruct from a X Logical Font Description. The
5384 result may be newly loaded, or it may have been previously
5390 <parameter name="cache">
5391 <parameter_description> a #PangoXFontCache
5392 </parameter_description>
5394 <parameter name="xlfd">
5395 <parameter_description> the X Logical Font Description to load.
5396 </parameter_description>
5399 <return> The font structure, or %NULL if the font could
5400 not be loaded. In order to free this structure, you must call
5401 pango_x_font_cache_unload().
5405 <function name="pango_font_description_set_gravity">
5407 Sets the gravity field of a font description. The gravity field
5408 specifies how the glyphs should be rotated. If @gravity is
5409 %PANGO_GRAVITY_AUTO, this actually unsets the gravity mask on
5410 the font description.
5412 This function is seldom useful to the user. Gravity should normally
5413 be set on a #PangoContext.
5419 <parameter name="desc">
5420 <parameter_description> a #PangoFontDescription
5421 </parameter_description>
5423 <parameter name="gravity">
5424 <parameter_description> the gravity for the font description.
5425 </parameter_description>
5431 <function name="pango_scan_int">
5434 Leading white space is skipped.
5439 <parameter name="pos">
5440 <parameter_description> in/out string position
5441 </parameter_description>
5443 <parameter name="out">
5444 <parameter_description> an int into which to write the result
5445 </parameter_description>
5448 <return> %FALSE if a parse error occurred.
5452 <function name="pango_x_get_unknown_glyph">
5454 Return value: a glyph index into @font.
5458 <parameter name="font">
5459 <parameter_description> a #PangoFont.
5460 </parameter_description>
5463 <return> a glyph index into @font.
5467 <function name="pango_ot_ruleset_description_equal">
5469 Compares two ruleset descriptions for equality.
5470 Two ruleset descriptions are considered equal if the rulesets
5471 they describe are provably identical. This means that their
5472 script, language, and all feature sets should be equal. For static feature
5473 sets, the array addresses are compared directly, while for other
5474 features, the list of features is compared one by one.
5475 (Two ruleset descriptions may result in identical rulesets
5476 being created, but still compare %FALSE.)
5481 <parameter name="desc1">
5482 <parameter_description> a ruleset description
5483 </parameter_description>
5485 <parameter name="desc2">
5486 <parameter_description> a ruleset description
5487 </parameter_description>
5490 <return> %TRUE if two ruleset descriptions are identical,
5497 <function name="pango_ot_info_get">
5499 Return value: the #PangoOTInfo for @face. This object will have
5503 <parameter name="face">
5504 <parameter_description> a &lt;type&gt;FT_Face&lt;/type&gt;.
5505 </parameter_description>
5508 <return> the #PangoOTInfo for @face. This object will have
5509 the same lifetime as @face.
5515 <function name="pango_version_check">
5517 Checks that the Pango library in use is compatible with the
5518 given version. Generally you would pass in the constants
5519 %PANGO_VERSION_MAJOR, %PANGO_VERSION_MINOR, %PANGO_VERSION_MICRO
5520 as the three arguments to this function; that produces
5521 a check that the library in use at run-time is compatible with
5522 the version of Pango the application or module was compiled against.
5524 Compatibility is defined by two things: first the version
5525 of the running library is newer than the version
5526 @required_major.required_minor.@required_micro. Second
5527 the running library must be binary compatible with the
5528 version @required_major.required_minor.@required_micro
5529 (same major version.)
5531 For compile-time version checking use PANGO_VERSION_CHECK().
5536 <parameter name="required_major">
5537 <parameter_description> the required major version.
5538 </parameter_description>
5540 <parameter name="required_minor">
5541 <parameter_description> the required minor version.
5542 </parameter_description>
5544 <parameter name="required_micro">
5545 <parameter_description> the required major version.
5546 </parameter_description>
5549 <return> %NULL if the Pango library is compatible with the
5550 given version, or a string describing the version mismatch.
5551 The returned string is owned by Pango and should not be modified
5558 <function name="pango_font_metrics_get_ascent">
5560 Gets the ascent from a font metrics structure. The ascent is
5561 the distance from the baseline to the logical top of a line
5562 of text. (The logical top may be above or below the top of the
5563 actual drawn ink. It is necessary to lay out the text to figure
5564 where the ink will be.)
5569 <parameter name="metrics">
5570 <parameter_description> a #PangoFontMetrics structure
5571 </parameter_description>
5574 <return> the ascent, in Pango units. (1 point == %PANGO_SCALE Pango units.)
5578 <function name="pango_coverage_to_bytes">
5580 Convert a #PangoCoverage structure into a flat binary format
5584 <parameter name="coverage">
5585 <parameter_description> a #PangoCoverage
5586 </parameter_description>
5588 <parameter name="bytes">
5589 <parameter_description> location to store result (must be freed with g_free())
5590 </parameter_description>
5592 <parameter name="n_bytes">
5593 <parameter_description> location to store size of result
5594 </parameter_description>
5600 <function name="pango_gravity_to_rotation">
5602 Converts a #PangoGravity value to its natural rotation in radians.
5603 @gravity should not be %PANGO_GRAVITY_AUTO.
5605 Note that pango_matrix_rotate() takes angle in degrees, not radians.
5606 So, to call pango_matrix_rotate() with the output of this function
5607 you should multiply it by (180. / G_PI).
5612 <parameter name="gravity">
5613 <parameter_description> gravity to query
5614 </parameter_description>
5617 <return> the rotation value corresponding to @gravity.
5623 <function name="pango_extents_to_pixels">
5625 Converts extents from Pango units to device units, dividing by the
5626 %PANGO_SCALE factor and performing rounding.
5628 The ink rectangle is converted by flooring the x/y coordinates and extending
5629 width/height, such that the final rectangle completely includes the original
5632 The logical rectangle is converted by rounding the coordinates
5633 of the rectangle to the nearest device unit.
5635 Note that in certain situations you may want pass a logical extents
5636 rectangle to this function as @ink_rect. The rule is: if you want the
5637 resulting device-space rectangle to completely contain the original
5638 rectangle, pass it in as @ink_rect.
5644 <parameter name="ink_rect">
5645 <parameter_description> ink rectangle to convert, or %NULL.
5646 </parameter_description>
5648 <parameter name="logical_rect">
5649 <parameter_description> logical rectangle to convert, or %NULL.
5650 </parameter_description>
5656 <function name="pango_ot_tag_to_language">
5658 Finds a #PangoLanguage corresponding to @language_tag.
5663 <parameter name="language_tag">
5664 <parameter_description> A #PangoOTTag OpenType language-system tag
5665 </parameter_description>
5668 <return> #PangoLanguage best matching @language_tag or
5669 #PangoLanguage corresponding to the string "xx" if none found.
5675 <function name="pango_x_get_context">
5677 Retrieves a #PangoContext appropriate for rendering with X fonts on the
5683 <parameter name="display">
5684 <parameter_description> an X display (As returned by XOpenDisplay().)
5685 </parameter_description>
5688 <return> the new #PangoContext.
5692 <function name="pango_item_split">
5694 Modifies @orig to cover only the text after @split_index, and
5695 Return value: new item representing text before @split_index, which
5699 <parameter name="orig">
5700 <parameter_description> a #PangoItem
5701 </parameter_description>
5703 <parameter name="split_index">
5704 <parameter_description> byte index of position to split item, relative to the start of the item
5705 </parameter_description>
5707 <parameter name="split_offset">
5708 <parameter_description> number of chars between start of @orig and @split_index
5709 </parameter_description>
5712 <return> new item representing text before @split_index, which
5713 should be freed with pango_item_free().
5717 <function name="pango_font_description_get_size_is_absolute">
5719 Determines whether the size of the font is in points (not absolute) or device units (absolute).
5720 See pango_font_description_set_size() and pango_font_description_set_absolute_size().
5725 <parameter name="desc">
5726 <parameter_description> a #PangoFontDescription
5727 </parameter_description>
5730 <return> whether the size for the font description is in
5731 points or device units. Use pango_font_description_get_set_fields() to
5732 find out if the size field of the font description was explicitly set or not.
5738 <function name="pango_break">
5740 Determines possible line, word, and character breaks
5741 for a string of Unicode text with a single analysis. For most
5742 purposes you may want to use pango_get_log_attrs().
5746 <parameter name="text">
5747 <parameter_description> the text to process
5748 </parameter_description>
5750 <parameter name="length">
5751 <parameter_description> length of @text in bytes (may be -1 if @text is nul-terminated)
5752 </parameter_description>
5754 <parameter name="analysis">
5755 <parameter_description> #PangoAnalysis structure from pango_itemize()
5756 </parameter_description>
5758 <parameter name="attrs">
5759 <parameter_description> an array to store character information in
5760 </parameter_description>
5762 <parameter name="attrs_len">
5763 <parameter_description> size of the array passed as @attrs
5764 </parameter_description>
5770 <function name="pango_win32_render_transformed">
5772 Renders a #PangoGlyphString onto a windows DC, possibly
5773 transforming the layed-out coordinates through a transformation
5774 matrix. Note that the transformation matrix for @font is not
5775 changed, so to produce correct rendering results, the @font
5776 must have been loaded using a #PangoContext with an identical
5777 transformation matrix to that passed in to this function.
5781 <parameter name="hdc">
5782 <parameter_description> a windows device context
5783 </parameter_description>
5785 <parameter name="matrix">
5786 <parameter_description> a #PangoMatrix, or %NULL to use an identity transformation
5787 </parameter_description>
5789 <parameter name="font">
5790 <parameter_description> the font in which to draw the string
5791 </parameter_description>
5793 <parameter name="glyphs">
5794 <parameter_description> the glyph string to draw
5795 </parameter_description>
5797 <parameter name="x">
5798 <parameter_description> the x position of the start of the string (in Pango
5799 units in user space coordinates)
5800 </parameter_description>
5802 <parameter name="y">
5803 <parameter_description> the y position of the baseline (in Pango units
5804 in user space coordinates)
5805 </parameter_description>
5811 <function name="pango_ft2_shutdown_display">
5813 Free the global fontmap. (See pango_ft2_font_map_for_display())
5814 Use of the global PangoFT2 fontmap is deprecated.
5822 <function name="pango_x_render_layout_line">
5824 Renders a #PangoLayoutLine onto an X drawable.
5828 <parameter name="display">
5829 <parameter_description> the X display.
5830 </parameter_description>
5832 <parameter name="drawable">
5833 <parameter_description> the drawable on which to draw.
5834 </parameter_description>
5836 <parameter name="gc">
5837 <parameter_description> GC to use for uncolored drawing.
5838 </parameter_description>
5840 <parameter name="line">
5841 <parameter_description> a #PangoLayoutLine.
5842 </parameter_description>
5844 <parameter name="x">
5845 <parameter_description> the x position of start of string (in pixels).
5846 </parameter_description>
5848 <parameter name="y">
5849 <parameter_description> the y position of baseline (in pixels).
5850 </parameter_description>
5856 <function name="pango_coverage_set">
5858 Modify a particular index within @coverage
5862 <parameter name="coverage">
5863 <parameter_description> a #PangoCoverage
5864 </parameter_description>
5866 <parameter name="index_">
5867 <parameter_description> the index to modify
5868 </parameter_description>
5870 <parameter name="level">
5871 <parameter_description> the new level for @index_
5872 </parameter_description>
5878 <function name="pango_fc_font_lock_face">
5880 Gets the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with a font,
5881 This face will be kept around until you call
5882 pango_fc_font_unlock_face().
5887 <parameter name="font">
5888 <parameter_description> a #PangoFcFont.
5889 </parameter_description>
5892 <return> the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with @font.
5898 <function name="pango_attr_iterator_range">
5900 Get the range of the current segment. Note that the
5901 stored return values are signed, not unsigned like
5902 the values in #PangoAttribute. To deal with this API
5903 oversight, stored return values that wouldn't fit into
5904 a signed integer are clamped to %G_MAXINT.
5908 <parameter name="iterator">
5909 <parameter_description> a #PangoAttrIterator
5910 </parameter_description>
5912 <parameter name="start">
5913 <parameter_description> location to store the start of the range
5914 </parameter_description>
5916 <parameter name="end">
5917 <parameter_description> location to store the end of the range
5918 </parameter_description>
5924 <function name="pango_layout_set_attributes">
5926 Sets the text attributes for a layout object.
5927 References @attrs, so the caller can unref its reference.
5931 <parameter name="layout">
5932 <parameter_description> a #PangoLayout
5933 </parameter_description>
5935 <parameter name="attrs">
5936 <parameter_description> a #PangoAttrList
5937 </parameter_description>
5943 <function name="pango_ft2_render_layout_subpixel">
5945 Render a #PangoLayout onto a FreeType2 bitmap, with he
5946 location specified in fixed-point Pango units rather than
5947 pixels. (Using this will avoid extra inaccuracies from
5948 rounding to integer pixels multiple times, even if the
5949 final glyph positions are integers.)
5955 <parameter name="bitmap">
5956 <parameter_description> a &lt;type&gt;FT_Bitmap&lt;/type&gt; to render the layout onto
5957 </parameter_description>
5959 <parameter name="layout">
5960 <parameter_description> a #PangoLayout
5961 </parameter_description>
5963 <parameter name="x">
5964 <parameter_description> the X position of the left of the layout (in Pango units)
5965 </parameter_description>
5967 <parameter name="y">
5968 <parameter_description> the Y position of the top of the layout (in Pango units)
5969 </parameter_description>
5975 <function name="pango_xft_get_context">
5977 Retrieves a #PangoContext appropriate for rendering with
5978 Xft fonts on the given screen of the given display.
5983 <parameter name="display">
5984 <parameter_description> an X display.
5985 </parameter_description>
5987 <parameter name="screen">
5988 <parameter_description> an X screen.
5989 </parameter_description>
5992 <return> the new #PangoContext.
5996 <function name="pango_script_iter_next">
5998 Advances a #PangoScriptIter to the next range. If @iter
5999 is already at the end, it is left unchanged and %FALSE
6005 <parameter name="iter">
6006 <parameter_description> a #PangoScriptIter
6007 </parameter_description>
6010 <return> %TRUE if @iter was successfully advanced.
6016 <function name="pango_glyph_item_letter_space">
6018 Adds spacing between the graphemes of @glyph_item to
6019 give the effect of typographic letter spacing.
6025 <parameter name="glyph_item">
6026 <parameter_description> a #PangoGlyphItem
6027 </parameter_description>
6029 <parameter name="text">
6030 <parameter_description> text that @glyph_item corresponds to
6031 (glyph_item-&gt;item-&gt;offset is an offset from the
6033 </parameter_description>
6035 <parameter name="log_attrs">
6036 <parameter_description> logical attributes for the item (the
6037 first logical attribute refers to the position
6038 before the first character in the item)
6039 </parameter_description>
6041 <parameter name="letter_spacing">
6042 <parameter_description> amount of letter spacing to add
6043 in Pango units. May be negative, though too large
6044 negative values will give ugly results.
6045 </parameter_description>
6051 <function name="pango_glyph_string_set_size">
6053 Resize a glyph string to the given length.
6057 <parameter name="string">
6058 <parameter_description> a #PangoGlyphString.
6059 </parameter_description>
6061 <parameter name="new_len">
6062 <parameter_description> the new length of the string.
6063 </parameter_description>
6069 <function name="pango_ot_ruleset_get_feature_count">
6071 Gets the number of GSUB and GPOS features in the ruleset.
6076 <parameter name="ruleset">
6077 <parameter_description> a #PangoOTRuleset.
6078 </parameter_description>
6080 <parameter name="n_gsub_features">
6081 <parameter_description> location to store number of GSUB features, or %NULL.
6082 </parameter_description>
6084 <parameter name="n_gpos_features">
6085 <parameter_description> location to store number of GPOS features, or %NULL.
6086 </parameter_description>
6089 <return> Total number of features in the @ruleset.
6095 <function name="pango_win32_shutdown_display">
6097 Free cached resources.
6105 <function name="pango_parse_markup">
6107 Parses marked-up text (see
6108 &lt;link linkend="PangoMarkupFormat"&gt;markup format&lt;/link&gt;) to create
6109 a plain-text string and an attribute list.
6111 If @accel_marker is nonzero, the given character will mark the
6112 character following it as an accelerator. For example, @accel_marker
6113 might be an ampersand or underscore. All characters marked
6114 as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
6115 and the first character so marked will be returned in @accel_char.
6116 Two @accel_marker characters following each other produce a single
6117 literal @accel_marker character.
6119 If any error happens, none of the output arguments are touched except
6125 <parameter name="markup_text">
6126 <parameter_description> markup to parse (see &lt;link linkend="PangoMarkupFormat"&gt;markup format&lt;/link&gt;)
6127 </parameter_description>
6129 <parameter name="length">
6130 <parameter_description> length of @markup_text, or -1 if nul-terminated
6131 </parameter_description>
6133 <parameter name="accel_marker">
6134 <parameter_description> character that precedes an accelerator, or 0 for none
6135 </parameter_description>
6137 <parameter name="attr_list">
6138 <parameter_description> address of return location for a #PangoAttrList, or %NULL
6139 </parameter_description>
6141 <parameter name="text">
6142 <parameter_description> address of return location for text with tags stripped, or %NULL
6143 </parameter_description>
6145 <parameter name="accel_char">
6146 <parameter_description> address of return location for accelerator char, or %NULL
6147 </parameter_description>
6149 <parameter name="error">
6150 <parameter_description> address of return location for errors, or %NULL
6151 </parameter_description>
6154 <return> %FALSE if @error is set, otherwise %TRUE
6158 <function name="pango_renderer_part_changed">
6160 Informs Pango that the way that the rendering is done
6161 for @part has changed in a way that would prevent multiple
6162 pieces being joined together into one drawing call. For
6163 instance, if a subclass of #PangoRenderer was to add a stipple
6164 option for drawing underlines, it needs to call
6166 &lt;informalexample&gt;&lt;programlisting&gt;
6167 pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE);
6168 &lt;/programlisting&gt;&lt;/informalexample&gt;
6170 When the stipple changes or underlines with different stipples
6171 might be joined together. Pango automatically calls this for
6172 changes to colors. (See pango_renderer_set_color())
6178 <parameter name="renderer">
6179 <parameter_description> a #PangoRenderer
6180 </parameter_description>
6182 <parameter name="part">
6183 <parameter_description> the part for which rendering has changed.
6184 </parameter_description>
6190 <function name="pango_context_set_font_description">
6192 Set the default font description for the context
6196 <parameter name="context">
6197 <parameter_description> a #PangoContext
6198 </parameter_description>
6200 <parameter name="desc">
6201 <parameter_description> the new pango font description
6202 </parameter_description>
6208 <function name="pango_attr_stretch_new">
6210 Create a new font stretch attribute
6215 <parameter name="stretch">
6216 <parameter_description> the stretch
6217 </parameter_description>
6220 <return> the newly allocated #PangoAttribute, which should be
6221 freed with pango_attribute_destroy().
6225 <function name="pango_layout_iter_next_cluster">
6227 Moves @iter forward to the next cluster in visual order. If @iter
6228 was already at the end of the layout, returns %FALSE.
6233 <parameter name="iter">
6234 <parameter_description> a #PangoLayoutIter
6235 </parameter_description>
6238 <return> whether motion was possible.
6242 <function name="pango_get_sysconf_subdirectory">
6244 On Unix, returns the name of the "pango" subdirectory of SYSCONFDIR
6245 (which is set at compile time). On Win32, returns a subdirectory of
6246 the Pango installation directory (which is deduced at run time from
6247 the DLL's location, or stored in the Registry).
6253 <return> the Pango sysconf directory. The returned string should
6258 <function name="pango_quantize_line_geometry">
6260 Quantizes the thickness and position of a line, typically an
6261 underline or strikethrough, to whole device pixels, that is integer
6262 multiples of %PANGO_SCALE. The purpose of this function is to avoid
6263 such lines looking blurry.
6269 <parameter name="thickness">
6270 <parameter_description> pointer to the thickness of a line, in Pango scaled units
6271 </parameter_description>
6273 <parameter name="position">
6274 <parameter_description> corresponding position
6275 </parameter_description>
6281 <function name="pango_font_face_get_face_name">
6283 Gets a name representing the style of this face among the
6284 different faces in the #PangoFontFamily for the face. This
6285 name is unique among all faces in the family and is suitable
6286 for displaying to users.
6291 <parameter name="face">
6292 <parameter_description> a #PangoFontFace.
6293 </parameter_description>
6296 <return> the face name for the face. This string is
6297 owned by the face object and must not be modified or freed.
6301 <function name="pango_x_font_cache_new">
6303 Creates a font cache for the specified display.
6308 <parameter name="display">
6309 <parameter_description> an X display.
6310 </parameter_description>
6313 <return> The newly allocated #PangoXFontCache, which should be
6314 freed with pango_x_font_cache_free().
6318 <function name="pango_script_for_unichar">
6320 Looks up the #PangoScript for a particular character (as defined by
6321 Unicode Standard Annex #24). No check is made for @ch being a
6322 valid Unicode character; if you pass in invalid character, the
6323 result is undefined.
6328 <parameter name="ch">
6329 <parameter_description> a Unicode character
6330 </parameter_description>
6333 <return> the #PangoScript for the character.
6339 <function name="pango_glyph_string_x_to_index">
6341 Convert from x offset to character position. Character positions
6342 are computed by dividing up each cluster into equal portions.
6343 In scripts where positioning within a cluster is not allowed
6344 (such as Thai), the returned value may not be a valid cursor
6345 position; the caller must combine the result with the logical
6346 attributes for the text to compute the valid cursor position.
6350 <parameter name="glyphs">
6351 <parameter_description> the glyphs return from pango_shape()
6352 </parameter_description>
6354 <parameter name="text">
6355 <parameter_description> the text for the run
6356 </parameter_description>
6358 <parameter name="length">
6359 <parameter_description> the number of bytes (not characters) in text.
6360 </parameter_description>
6362 <parameter name="analysis">
6363 <parameter_description> the analysis information return from pango_itemize()
6364 </parameter_description>
6366 <parameter name="x_pos">
6367 <parameter_description> the x offset (in #PangoGlyphUnit)
6368 </parameter_description>
6370 <parameter name="index_">
6371 <parameter_description> location to store calculated byte index within @text
6372 </parameter_description>
6374 <parameter name="trailing">
6375 <parameter_description> location to store a integer indicating where
6376 whether the user clicked on the leading or trailing
6377 edge of the character.
6378 </parameter_description>
6384 <function name="pango_win32_render_layout">
6386 Render a #PangoLayoutLine onto an X drawable
6390 <parameter name="hdc">
6391 <parameter_description> HDC to use for uncolored drawing
6392 </parameter_description>
6394 <parameter name="layout">
6395 <parameter_description> a #PangoLayout
6396 </parameter_description>
6398 <parameter name="x">
6399 <parameter_description> the X position of the left of the layout (in pixels)
6400 </parameter_description>
6402 <parameter name="y">
6403 <parameter_description> the Y position of the top of the layout (in pixels)
6404 </parameter_description>
6410 <function name="pango_font_description_unset_fields">
6412 Unsets some of the fields in a #PangoFontDescription. The unset
6413 fields will get back to their default values.
6417 <parameter name="desc">
6418 <parameter_description> a #PangoFontDescription
6419 </parameter_description>
6421 <parameter name="to_unset">
6422 <parameter_description> bitmask of fields in the @desc to unset.
6423 </parameter_description>
6429 <function name="pango_layout_set_wrap">
6431 Sets the wrap mode; the wrap mode only has effect if a width
6432 is set on the layout with pango_layout_set_width(). To turn off wrapping,
6433 set the width to -1.
6437 <parameter name="layout">
6438 <parameter_description> a #PangoLayout
6439 </parameter_description>
6441 <parameter name="wrap">
6442 <parameter_description> the wrap mode
6443 </parameter_description>
6449 <function name="pango_ft2_font_map_set_resolution">
6451 Sets the horizontal and vertical resolutions for the fontmap.
6457 <parameter name="fontmap">
6458 <parameter_description> a #PangoFT2Fontmap
6459 </parameter_description>
6461 <parameter name="dpi_x">
6462 <parameter_description> dots per inch in the X direction
6463 </parameter_description>
6465 <parameter name="dpi_y">
6466 <parameter_description> dots per inch in the Y direction
6467 </parameter_description>
6473 <function name="_pango_fc_font_map_fc_to_coverage">
6475 Convert the given #FcCharSet into a new #PangoCoverage object. The
6476 caller is responsible for freeing the newly created object.
6482 <parameter name="charset">
6483 <parameter_description> #FcCharSet to convert to a #PangoCoverage object.
6484 </parameter_description>
6490 <function name="pango_context_get_font_map">
6492 Gets the #PangoFontmap used to look up fonts for this context.
6497 <parameter name="context">
6498 <parameter_description> a #PangoContext
6499 </parameter_description>
6502 <return> the font map for the #PangoContext. This value
6503 is owned by Pango and should not be unreferenced.
6509 <function name="pango_fc_font_get_glyph">
6511 Gets the glyph index for a given Unicode character
6512 for @font. If you only want to determine
6513 whether the font has the glyph, use pango_fc_font_has_char().
6518 <parameter name="font">
6519 <parameter_description> a #PangoFcFont
6520 </parameter_description>
6522 <parameter name="wc">
6523 <parameter_description> Unicode character to look up
6524 </parameter_description>
6527 <return> the glyph index, or 0, if the Unicode
6528 character doesn't exist in the font.
6534 <function name="pango_ft2_font_map_set_default_substitute">
6536 Sets a function that will be called to do final configuration
6537 substitution on a #FcPattern before it is used to load
6538 the font. This function can be used to do things like set
6539 hinting and antialiasing options.
6545 <parameter name="fontmap">
6546 <parameter_description> a #PangoFT2FontMap
6547 </parameter_description>
6549 <parameter name="func">
6550 <parameter_description> function to call to to do final config tweaking
6551 on #FcPattern objects.
6552 </parameter_description>
6554 <parameter name="data">
6555 <parameter_description> data to pass to @func
6556 </parameter_description>
6558 <parameter name="notify">
6559 <parameter_description> function to call when @data is no longer used.
6560 </parameter_description>
6566 <function name="pango_cairo_context_get_font_options">
6568 Retrieves any font rendering options previously set with
6569 pango_cairo_font_map_set_font_options(). This functions not report options
6570 that are derived from the target surface by pango_cairo_update_context()
6575 <parameter name="context">
6576 <parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
6577 </parameter_description>
6580 <return> the font options previously set on the context, or %NULL
6581 if no options have been set. This value is owned by the context
6582 and must not be modified or freed.
6586 <function name="pango_fontset_simple_size">
6588 Return value: the size of @fontset.
6592 <parameter name="fontset">
6593 <parameter_description> a #PangoFontsetSimple.
6594 </parameter_description>
6597 <return> the size of @fontset.
6601 <function name="pango_split_file_list">
6603 Splits a %G_SEARCHPATH_SEPARATOR-separated list of files, stripping
6604 white space and substituting ~/ with $HOME/.
6609 <parameter name="str">
6610 <parameter_description> a %G_SEARCHPATH_SEPARATOR separated list of filenames
6611 </parameter_description>
6614 <return> a list of strings to be freed with g_strfreev()
6618 <function name="pango_context_get_base_dir">
6620 Retrieves the base direction for the context. See
6621 pango_context_set_base_dir().
6626 <parameter name="context">
6627 <parameter_description> a #PangoContext
6628 </parameter_description>
6631 <return> the base direction for the context.
6635 <function name="pango_xft_font_has_char">
6637 Determines whether @font has a glyph for the codepoint @wc.
6639 Use pango_fc_font_has_char() instead.
6644 <parameter name="font">
6645 <parameter_description> a #PangoFont for the Xft backend
6646 </parameter_description>
6648 <parameter name="wc">
6649 <parameter_description> Unicode codepoint to look up
6650 </parameter_description>
6653 <return> %TRUE if @font has the requested codepoint.
6659 <function name="pango_coverage_get">
6661 Determine whether a particular index is covered by @coverage
6666 <parameter name="coverage">
6667 <parameter_description> a #PangoCoverage
6668 </parameter_description>
6670 <parameter name="index_">
6671 <parameter_description> the index to check
6672 </parameter_description>
6675 <return> the coverage level of @coverage for character @index_.
6679 <function name="pango_script_iter_get_range">
6681 Gets information about the range to which @iter currently points.
6682 The range is the set of locations p where *start &lt;= p &lt; *end.
6683 (That is, it doesn't include the character stored at *end)
6689 <parameter name="iter">
6690 <parameter_description> a #PangoScriptIter
6691 </parameter_description>
6693 <parameter name="start">
6694 <parameter_description> location to store start position of the range, or %NULL
6695 </parameter_description>
6697 <parameter name="end">
6698 <parameter_description> location to store end position of the range, or %NULL
6699 </parameter_description>
6701 <parameter name="script">
6702 <parameter_description> location to store script for range, or %NULL
6703 </parameter_description>
6709 <function name="pango_ot_info_find_language">
6711 Finds the index of a language and its required feature index.
6712 If the language is not found, sets @language_index to
6713 PANGO_OT_DEFAULT_LANGUAGE and the required feature of the default language
6714 system is returned in required_feature_index. For best compatibility with
6715 some fonts, also searches the language system tag 'dflt' before falling
6716 back to the default language system, but that is transparent to the user.
6717 The user can simply ignore the return value of this function to
6718 automatically fall back to the default language system.
6723 <parameter name="info">
6724 <parameter_description> a #PangoOTInfo.
6725 </parameter_description>
6727 <parameter name="table_type">
6728 <parameter_description> the table type to obtain information about.
6729 </parameter_description>
6731 <parameter name="script_index">
6732 <parameter_description> the index of the script whose languages are searched.
6733 </parameter_description>
6735 <parameter name="language_tag">
6736 <parameter_description> the tag of the language to find.
6737 </parameter_description>
6739 <parameter name="language_index">
6740 <parameter_description> location to store the index of the language, or %NULL.
6741 </parameter_description>
6743 <parameter name="required_feature_index">
6744 <parameter_description> location to store the required feature index of
6745 the language, or %NULL.
6746 </parameter_description>
6749 <return> %TRUE if the language was found.
6753 <function name="pango_cairo_show_glyph_string">
6755 Draws the glyphs in @glyphs in the specified cairo context.
6756 The origin of the glyphs (the left edge of the baseline) will
6757 be drawn at the current point of the cairo context.
6763 <parameter name="cr">
6764 <parameter_description> a Cairo context
6765 </parameter_description>
6767 <parameter name="font">
6768 <parameter_description> a #PangoFont from a #PangoCairoFontMap
6769 </parameter_description>
6771 <parameter name="glyphs">
6772 <parameter_description> a #PangoGlyphString
6773 </parameter_description>
6779 <function name="pango_ft2_font_get_coverage">
6781 Gets the #PangoCoverage for a #PangoFT2Font. Use pango_font_get_coverage() instead.
6785 <parameter name="font">
6786 <parameter_description> a #PangoFT2Font.
6787 </parameter_description>
6789 <parameter name="language">
6790 <parameter_description> a language tag.
6791 </parameter_description>
6794 <return> a #PangoCoverage.
6798 <function name="pango_win32_font_cache_unload">
6800 Frees a font structure previously loaded with pango_win32_font_cache_load().
6804 <parameter name="cache">
6805 <parameter_description> a #PangoWin32FontCache
6806 </parameter_description>
6808 <parameter name="hfont">
6809 <parameter_description> the HFONT to unload
6810 </parameter_description>
6816 <function name="pango_ot_buffer_new">
6818 Creates a new #PangoOTBuffer for the given OpenType font.
6823 <parameter name="font">
6824 <parameter_description> a #PangoFcFont
6825 </parameter_description>
6828 <return> the newly allocated #PangoOTBuffer, which should
6829 be freed with pango_ot_buffer_destroy().
6835 <function name="pango_layout_copy">
6837 Does a deep copy-by-value of the @src layout. The attribute list,
6838 tab array, and text from the original layout are all copied by
6844 <parameter name="src">
6845 <parameter_description> a #PangoLayout
6846 </parameter_description>
6849 <return> the newly allocated #PangoLayout, with a reference
6850 count of one, which should be freed with
6855 <function name="_pango_ft2_font_map_get_renderer">
6857 Gets the singleton PangoFT2Renderer for this fontmap.
6862 <parameter name="fontmap">
6863 <parameter_description> a #PangoFT2Fontmap
6864 </parameter_description>
6871 <function name="pango_context_set_base_dir">
6873 Sets the base direction for the context.
6875 The base direction is used in applying the Unicode bidirectional
6876 algorithm; if the @direction is %PANGO_DIRECTION_LTR or
6877 %PANGO_DIRECTION_RTL, then the value will be used as the paragraph
6878 direction in the Unicode bidirectional algorithm. A value of
6879 %PANGO_DIRECTION_WEAK_LTR or %PANGO_DIRECTION_WEAK_RTL is used only
6880 for paragraphs that do not contain any strong characters themselves.
6884 <parameter name="context">
6885 <parameter_description> a #PangoContext
6886 </parameter_description>
6888 <parameter name="direction">
6889 <parameter_description> the new base direction
6890 </parameter_description>
6896 <function name="pango_tab_array_new_with_positions">
6898 This is a convenience function that creates a #PangoTabArray
6899 and allows you to specify the alignment and position of each
6900 tab stop. You &lt;emphasis&gt;must&lt;/emphasis&gt; provide an alignment
6901 and position for @size tab stops.
6906 <parameter name="size">
6907 <parameter_description> number of tab stops in the array
6908 </parameter_description>
6910 <parameter name="positions_in_pixels">
6911 <parameter_description> whether positions are in pixel units
6912 </parameter_description>
6914 <parameter name="first_alignment">
6915 <parameter_description> alignment of first tab stop
6916 </parameter_description>
6918 <parameter name="first_position">
6919 <parameter_description> position of first tab stop
6920 </parameter_description>
6922 <parameter name="varargs">
6923 <parameter_description> additional alignment/position pairs
6924 </parameter_description>
6927 <return> the newly allocated #PangoTabArray, which should
6928 be freed with pango_tab_array_free().
6932 <function name="pango_ft2_render_transformed">
6934 Renders a #PangoGlyphString onto a FreeType2 bitmap, possibly
6935 transforming the layed-out coordinates through a transformation
6936 matrix. Note that the transformation matrix for @font is not
6937 changed, so to produce correct rendering results, the @font
6938 must have been loaded using a #PangoContext with an identical
6939 transformation matrix to that passed in to this function.
6945 <parameter name="bitmap">
6946 <parameter_description> the FreeType2 bitmap onto which to draw the string
6947 </parameter_description>
6949 <parameter name="font">
6950 <parameter_description> the font in which to draw the string
6951 </parameter_description>
6953 <parameter name="matrix">
6954 <parameter_description> a #PangoMatrix, or %NULL to use an identity transformation
6955 </parameter_description>
6957 <parameter name="glyphs">
6958 <parameter_description> the glyph string to draw
6959 </parameter_description>
6961 <parameter name="x">
6962 <parameter_description> the x position of the start of the string (in Pango
6963 units in user space coordinates)
6964 </parameter_description>
6966 <parameter name="y">
6967 <parameter_description> the y position of the baseline (in Pango units
6968 in user space coordinates)
6969 </parameter_description>
6975 <function name="pango_script_get_sample_language">
6977 Given a script, finds a language tag that is reasonably
6978 representative of that script. This will usually be the
6979 most widely spoken or used language written in that script:
6980 for instance, the sample language for %PANGO_SCRIPT_CYRILLIC
6981 is &lt;literal&gt;ru&lt;/literal&gt; (Russian), the sample language
6982 for %PANGO_SCRIPT_ARABIC is &lt;literal&gt;ar&lt;/literal&gt;.
6985 scripts, no sample language will be returned because there
6986 is no language that is sufficiently representative. The best
6987 example of this is %PANGO_SCRIPT_HAN, where various different
6988 variants of written Chinese, Japanese, and Korean all use
6989 significantly different sets of Han characters and forms
6990 of shared characters. No sample language can be provided
6991 for many historical scripts as well.
6993 As of 1.18, this function checks the environment variables
6994 PANGO_LANGUAGE and LANGUAGE (checked in that order) first.
6995 If one of them is set, it is parsed as a list of language tags
6996 separated by colons or other separators. This function
6997 will return the first language in the parsed list that Pango
6998 believes may use @script for writing. This last predicate
6999 is tested using pango_language_includes_script(). This can
7000 be used to control Pango's font selection for non-primary
7001 languages. For example, a PANGO_LANGUAGE enviroment variable
7002 set to "en:fa" makes Pango choose fonts suitable for Persian (fa)
7003 instead of Arabic (ar) when a segment of Arabic text is found
7004 in an otherwise non-Arabic text. The same trick can be used to
7005 choose a default language for %PANGO_SCRIPT_HAN when setting
7006 context language is not feasible.
7011 <parameter name="script">
7012 <parameter_description> a #PangoScript
7013 </parameter_description>
7016 <return> a #PangoLanguage that is representative
7017 of the script, or %NULL if no such language exists.
7023 <function name="pango_win32_font_cache_loadw">
7025 Creates a HFONT from a LOGFONTW. The
7026 result may be newly loaded, or it may have been previously
7032 <parameter name="cache">
7033 <parameter_description> a #PangoWin32FontCache
7034 </parameter_description>
7036 <parameter name="logfont">
7037 <parameter_description> a pointer to a LOGFONTW structure describing the font to load.
7038 </parameter_description>
7041 <return> The font structure, or %NULL if the font could
7042 not be loaded. In order to free this structure, you must call
7043 pango_win32_font_cache_unload().
7049 <function name="pango_cairo_font_map_get_font_type">
7051 Gets the type of Cairo font backend that @fontmap uses.
7056 <parameter name="fontmap">
7057 <parameter_description> a #PangoCairoFontMap
7058 </parameter_description>
7061 <return> the #cairo_font_type_t cairo font backend type
7067 <function name="pango_fc_font_map_create_context">
7069 Creates a new context for this fontmap. This function is intended
7070 only for backend implementations deriving from #PangoFcFontmap;
7071 it is possible that a backend will store additional information
7072 needed for correct operation on the #PangoContext after calling
7078 <parameter name="fcfontmap">
7079 <parameter_description> a #PangoFcFontMap
7080 </parameter_description>
7083 <return> a new #PangoContext
7089 <function name="pango_xft_renderer_new">
7091 Create a new #PangoXftRenderer to allow rendering Pango objects
7092 with the Xft library. You must call pango_xft_renderer_set_draw() before
7098 <parameter name="display">
7099 <parameter_description> an X display
7100 </parameter_description>
7102 <parameter name="screen">
7103 <parameter_description> the index of the screen for @display to which rendering will be done
7104 </parameter_description>
7107 <return> the newly created #PangoXftRenderer, which should
7108 be freed with g_object_unref().
7114 <function name="pango_tab_array_get_tabs">
7116 If non-%NULL, @alignments and @locations are filled with allocated
7117 arrays of length pango_tab_array_get_size(). You must free the
7123 <parameter name="tab_array">
7124 <parameter_description> a #PangoTabArray
7125 </parameter_description>
7127 <parameter name="alignments">
7128 <parameter_description> location to store an array of tab stop alignments, or %NULL
7129 </parameter_description>
7131 <parameter name="locations">
7132 <parameter_description> location to store an array of tab positions, or %NULL
7133 </parameter_description>
7139 <function name="pango_glyph_string_extents_range">
7141 Computes the extents of a sub-portion of a glyph string. The extents are
7142 relative to the start of the glyph string range (the origin of their
7143 coordinate system is at the start of the range, not at the start of the entire
7148 <parameter name="glyphs">
7149 <parameter_description> a #PangoGlyphString
7150 </parameter_description>
7152 <parameter name="start">
7153 <parameter_description> start index
7154 </parameter_description>
7156 <parameter name="end">
7157 <parameter_description> end index (the range is the set of bytes with
7158 indices such that start &lt;= index &lt; end)
7159 </parameter_description>
7161 <parameter name="font">
7162 <parameter_description> a #PangoFont
7163 </parameter_description>
7165 <parameter name="ink_rect">
7166 <parameter_description> rectangle used to store the extents of the glyph string range as drawn
7167 or %NULL to indicate that the result is not needed.
7168 </parameter_description>
7170 <parameter name="logical_rect">
7171 <parameter_description> rectangle used to store the logical extents of the glyph string range
7172 or %NULL to indicate that the result is not needed.
7173 </parameter_description>
7179 <function name="pango_layout_iter_free">
7181 Frees an iterator that's no longer in use.
7185 <parameter name="iter">
7186 <parameter_description> a #PangoLayoutIter
7187 </parameter_description>
7193 <function name="pango_glyph_item_split">
7195 Modifies @orig to cover only the text after @split_index, and
7196 Return value: the newly allocated item representing text before
7200 <parameter name="orig">
7201 <parameter_description> a #PangoItem
7202 </parameter_description>
7204 <parameter name="text">
7205 <parameter_description> text to which positions in @orig apply
7206 </parameter_description>
7208 <parameter name="split_index">
7209 <parameter_description> byte index of position to split item, relative to the start of the item
7210 </parameter_description>
7213 <return> the newly allocated item representing text before
7214 @split_index, which should be freed
7215 with pango_glyph_item_free().
7221 <function name="pango_ot_ruleset_position">
7223 Performs the OpenType GPOS positioning on @buffer using the features
7230 <parameter name="ruleset">
7231 <parameter_description> a #PangoOTRuleset.
7232 </parameter_description>
7234 <parameter name="buffer">
7235 <parameter_description> a #PangoOTBuffer.
7236 </parameter_description>
7242 <function name="pango_ot_tag_to_script">
7244 Finds the #PangoScript corresponding to @script_tag.
7246 The 'DFLT' script tag is mapped to %PANGO_SCRIPT_COMMON.
7248 Note that an OpenType script tag may correspond to multiple
7249 #PangoScript values. In such cases, the #PangoScript value
7250 with the smallest value is returned.
7251 In particular, %PANGO_SCRIPT_HIRAGANA
7252 and %PANGO_SCRIPT_KATAKANA both map to the OT tag 'kana'.
7253 This function will return %PANGO_SCRIPT_HIRAGANA for
7259 <parameter name="script_tag">
7260 <parameter_description> A #PangoOTTag OpenType script tag
7261 </parameter_description>
7264 <return> #PangoScript corresponding to @script_tag or
7265 %PANGO_SCRIPT_UNKNOWN if none found.
7271 <function name="pango_layout_iter_get_line_readonly">
7273 Gets the current line for read-only access.
7275 This is a faster alternative to pango_layout_iter_get_line(),
7276 but the user is not expected
7277 to modify the contents of the line (glyphs, glyph widths, etc.).
7282 <parameter name="iter">
7283 <parameter_description> a #PangoLayoutIter
7284 </parameter_description>
7287 <return> the current line, that should not be modified.
7293 <function name="pango_font_get_metrics">
7295 Gets overall metric information for a font. Since the metrics may be
7296 substantially different for different scripts, a language tag can
7297 be provided to indicate that the metrics should be retrieved that
7298 correspond to the script(s) used by that language.
7303 <parameter name="font">
7304 <parameter_description> a #PangoFont
7305 </parameter_description>
7307 <parameter name="language">
7308 <parameter_description> language tag used to determine which script to get the metrics
7309 for, or %NULL to indicate to get the metrics for the entire
7311 </parameter_description>
7314 <return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
7315 when finished using the object.
7319 <function name="pango_layout_get_line_readonly">
7321 Retrieves a particular line from a #PangoLayout.
7323 This is a faster alternative to pango_layout_get_line(),
7324 but the user is not expected
7325 to modify the contents of the line (glyphs, glyph widths, etc.).
7330 <parameter name="layout">
7331 <parameter_description> a #PangoLayout
7332 </parameter_description>
7334 <parameter name="line">
7335 <parameter_description> the index of a line, which must be between 0 and
7336 &lt;literal&gt;pango_layout_get_line_count(layout) - 1&lt;/literal&gt;, inclusive.
7337 </parameter_description>
7340 <return> the requested #PangoLayoutLine, or %NULL if the
7341 index is out of range. This layout line can
7342 be ref'ed and retained, but will become invalid
7343 if changes are made to the #PangoLayout.
7344 No changes should be made to the line.
7350 <function name="pango_tab_array_set_tab">
7352 Sets the alignment and location of a tab stop.
7353 @alignment must always be #PANGO_TAB_LEFT in the current
7359 <parameter name="tab_array">
7360 <parameter_description> a #PangoTabArray
7361 </parameter_description>
7363 <parameter name="tab_index">
7364 <parameter_description> the index of a tab stop
7365 </parameter_description>
7367 <parameter name="alignment">
7368 <parameter_description> tab alignment
7369 </parameter_description>
7371 <parameter name="location">
7372 <parameter_description> tab location in Pango units
7373 </parameter_description>
7379 <function name="pango_font_find_shaper">
7381 Finds the best matching shaper for a font for a particular
7382 language tag and character point.
7387 <parameter name="font">
7388 <parameter_description> a #PangoFont
7389 </parameter_description>
7391 <parameter name="language">
7392 <parameter_description> the language tag
7393 </parameter_description>
7395 <parameter name="ch">
7396 <parameter_description> a Unicode character.
7397 </parameter_description>
7400 <return> the best matching shaper.
7404 <function name="pango_fontset_foreach">
7406 Iterates through all the fonts in a fontset, calling @func for
7407 each one. If @func returns %TRUE, that stops the iteration.
7413 <parameter name="fontset">
7414 <parameter_description> a #PangoFontset
7415 </parameter_description>
7417 <parameter name="func">
7418 <parameter_description> Callback function
7419 </parameter_description>
7421 <parameter name="data">
7422 <parameter_description> data to pass to the callback function
7423 </parameter_description>
7429 <function name="pango_matrix_transform_distance">
7431 Transforms the distance vector (@dx,@dy) by @matrix. This is
7432 similar to pango_matrix_transform_point() except that the translation
7433 components of the transformation are ignored. The calculation of
7434 the returned vector is as follows:
7436 &lt;programlisting&gt;
7437 dx2 = dx1 * xx + dy1 * xy;
7438 dy2 = dx1 * yx + dy1 * yy;
7439 &lt;/programlisting&gt;
7441 Affine transformations are position invariant, so the same vector
7442 always transforms to the same vector. If (@x1,@y1) transforms
7443 to (@x2,@y2) then (@x1+@dx1,@y1+@dy1) will transform to
7444 (@x1+@dx2,@y1+@dy2) for all values of @x1 and @x2.
7450 <parameter name="matrix">
7451 <parameter_description> a #PangoMatrix, or %NULL
7452 </parameter_description>
7454 <parameter name="dx">
7455 <parameter_description> in/out X component of a distance vector
7456 </parameter_description>
7458 <parameter name="dy">
7459 <parameter_description> yn/out Y component of a distance vector
7460 </parameter_description>
7466 <function name="pango_layout_iter_get_char_extents">
7468 Gets the extents of the current character, in layout coordinates
7469 (origin is the top left of the entire layout). Only logical extents
7470 can sensibly be obtained for characters; ink extents make sense only
7471 down to the level of clusters.
7476 <parameter name="iter">
7477 <parameter_description> a #PangoLayoutIter
7478 </parameter_description>
7480 <parameter name="logical_rect">
7481 <parameter_description> rectangle to fill with logical extents
7482 </parameter_description>
7488 <function name="pango_layout_index_to_line_x">
7490 Converts from byte @index_ within the @layout to line and X position.
7491 (X position is measured from the left edge of the line)
7495 <parameter name="layout">
7496 <parameter_description> a #PangoLayout
7497 </parameter_description>
7499 <parameter name="index_">
7500 <parameter_description> the byte index of a grapheme within the layout.
7501 </parameter_description>
7503 <parameter name="trailing">
7504 <parameter_description> an integer indicating the edge of the grapheme to retrieve the
7505 position of. If 0, the trailing edge of the grapheme, if &gt; 0,
7506 the leading of the grapheme.
7507 </parameter_description>
7509 <parameter name="line">
7510 <parameter_description> location to store resulting line index. (which will
7511 between 0 and pango_layout_get_line_count(layout) - 1)
7512 </parameter_description>
7514 <parameter name="x_pos">
7515 <parameter_description> location to store resulting position within line
7516 (%PANGO_SCALE units per device unit)
7517 </parameter_description>
7523 <function name="pango_layout_iter_get_cluster_extents">
7525 Gets the extents of the current cluster, in layout coordinates
7526 (origin is the top left of the entire layout).
7531 <parameter name="iter">
7532 <parameter_description> a #PangoLayoutIter
7533 </parameter_description>
7535 <parameter name="ink_rect">
7536 <parameter_description> rectangle to fill with ink extents, or %NULL
7537 </parameter_description>
7539 <parameter name="logical_rect">
7540 <parameter_description> rectangle to fill with logical extents, or %NULL
7541 </parameter_description>
7547 <function name="pango_attr_size_new_absolute">
7549 Create a new font-size attribute in device units.
7554 <parameter name="size">
7555 <parameter_description> the font size, in %PANGO_SCALE&lt;!-- --&gt;ths of a device unit.
7556 </parameter_description>
7559 <return> the newly allocated #PangoAttribute, which should be
7560 freed with pango_attribute_destroy().
7566 <function name="pango_win32_font_cache_free">
7568 Frees a #PangoWin32FontCache and all associated memory. All fonts loaded
7569 through this font cache will be freed along with the cache.
7573 <parameter name="cache">
7574 <parameter_description> a #PangoWin32FontCache
7575 </parameter_description>
7581 <function name="pango_font_description_copy">
7583 Make a copy of a #PangoFontDescription.
7588 <parameter name="desc">
7589 <parameter_description> a #PangoFontDescription
7590 </parameter_description>
7593 <return> the newly allocated #PangoFontDescription, which should
7594 be freed with pango_font_description_free().
7598 <function name="pango_ot_buffer_clear">
7600 Empties a #PangoOTBuffer, make it ready to add glyphs to.
7606 <parameter name="buffer">
7607 <parameter_description> a #PangoOTBuffer
7608 </parameter_description>
7614 <function name="pango_cairo_show_error_underline">
7616 Draw a squiggly line in the specified cairo context that approximately
7617 covers the given rectangle in the style of an underline used to indicate a
7618 spelling error. (The width of the underline is rounded to an integer
7619 number of up/down segments and the resulting rectangle is centered in the
7626 <parameter name="cr">
7627 <parameter_description> a Cairo context
7628 </parameter_description>
7630 <parameter name="x">
7631 <parameter_description> The X coordinate of one corner of the rectangle
7632 </parameter_description>
7634 <parameter name="y">
7635 <parameter_description> The Y coordinate of one corner of the rectangle
7636 </parameter_description>
7638 <parameter name="width">
7639 <parameter_description> Non-negative width of the rectangle
7640 </parameter_description>
7642 <parameter name="height">
7643 <parameter_description> Non-negative height of the rectangle
7644 </parameter_description>
7650 <function name="pango_layout_get_indent">
7652 Gets the paragraph indent width in Pango units. A negative value
7653 indicates a hanging indentation.
7658 <parameter name="layout">
7659 <parameter_description> a #PangoLayout
7660 </parameter_description>
7663 <return> the indent.
7667 <function name="pango_fc_decoder_get_glyph">
7669 Generates a #PangoGlyph for the given Unicode point using the
7670 custom decoder. For complex scripts where there can be multiple
7671 glyphs for a single character, the decoder will return whatever
7672 glyph is most convenient for it. (Usually whatever glyph is directly
7673 in the fonts character map table.)
7678 <parameter name="decoder">
7679 <parameter_description> a #PangoFcDecoder
7680 </parameter_description>
7682 <parameter name="fcfont">
7683 <parameter_description> a #PangoFcFont to query.
7684 </parameter_description>
7686 <parameter name="wc">
7687 <parameter_description> the Unicode code point to convert to a single #PangoGlyph.
7688 </parameter_description>
7691 <return> the glyph index, or 0 if the glyph isn't
7692 covered by the font.
7698 <function name="pango_read_line">
7700 Reads an entire line from a file into a buffer. Lines may
7701 be delimited with '\n', '\r', '\n\r', or '\r\n'. The delimiter
7702 is not written into the buffer. Text after a '#' character is treated as
7703 a comment and skipped. '\' can be used to escape a # character.
7704 '\' proceeding a line delimiter combines adjacent lines. A '\' proceeding
7705 any other character is ignored and written into the output buffer
7711 <parameter name="stream">
7712 <parameter_description> a stdio stream
7713 </parameter_description>
7715 <parameter name="str">
7716 <parameter_description> #GString buffer into which to write the result
7717 </parameter_description>
7720 <return> 0 if the stream was already at an %EOF character, otherwise
7721 the number of lines read (this is useful for maintaining
7722 a line number counter which doesn't combine lines with '\')
7726 <function name="pango_font_description_from_string">
7728 Creates a new font description from a string representation in the
7729 form "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]", where FAMILY-LIST is a
7730 comma separated list of families optionally terminated by a comma,
7731 STYLE_OPTIONS is a whitespace separated list of words where each WORD
7732 describes one of style, variant, weight, stretch, or gravity, and SIZE
7733 is a decimal number (size in points) or optionally followed by the
7734 unit modifier "px" for absolute size. Any one of the options may
7735 be absent. If FAMILY-LIST is absent, then the family_name field of
7736 the resulting font description will be initialized to %NULL. If
7737 STYLE-OPTIONS is missing, then all style options will be set to the
7738 default values. If SIZE is missing, the size in the resulting font
7739 description will be set to 0.
7744 <parameter name="str">
7745 <parameter_description> string representation of a font description.
7746 </parameter_description>
7749 <return> a new #PangoFontDescription.
7753 <function name="pango_cairo_font_get_scaled_font">
7755 Gets the #cairo_scaled_font_t used by @font.
7756 The scaled font can be referenced and kept using
7757 cairo_scaled_font_reference().
7762 <parameter name="font">
7763 <parameter_description> a #PangoFont from a #PangoCairoFontMap
7764 </parameter_description>
7767 <return> the #cairo_scaled_font_t used by @font
7773 <function name="pango_renderer_draw_layout">
7775 Draws @layout with the specified #PangoRenderer.
7781 <parameter name="renderer">
7782 <parameter_description> a #PangoRenderer
7783 </parameter_description>
7785 <parameter name="layout">
7786 <parameter_description> a #PangoLayout
7787 </parameter_description>
7789 <parameter name="x">
7790 <parameter_description> X position of left edge of baseline, in user space coordinates
7792 </parameter_description>
7794 <parameter name="y">
7795 <parameter_description> Y position of left edge of baseline, in user space coordinates
7797 </parameter_description>
7803 <function name="pango_renderer_activate">
7805 Does initial setup before rendering operations on @renderer.
7806 pango_renderer_deactivate() should be called when done drawing.
7807 Calls such as pango_renderer_draw_layout() automatically
7808 activate the layout before drawing on it. Calls to
7809 pango_renderer_activate() and pango_renderer_deactivate() can
7810 be nested and the renderer will only be initialized and
7817 <parameter name="renderer">
7818 <parameter_description> a #PangoRenderer
7819 </parameter_description>
7825 <function name="pango_layout_index_to_pos">
7827 Converts from an index within a #PangoLayout to the onscreen position
7828 corresponding to the grapheme at that index, which is represented
7829 as rectangle. Note that &lt;literal&gt;pos-&gt;x&lt;/literal&gt; is always the leading
7830 edge of the grapheme and &lt;literal&gt;pos-&gt;x + pos-&gt;width&lt;/literal&gt; the trailing
7831 edge of the grapheme. If the directionality of the grapheme is right-to-left,
7832 then &lt;literal&gt;pos-&gt;width&lt;/literal&gt; will be negative.
7836 <parameter name="layout">
7837 <parameter_description> a #PangoLayout
7838 </parameter_description>
7840 <parameter name="index_">
7841 <parameter_description> byte index within @layout
7842 </parameter_description>
7844 <parameter name="pos">
7845 <parameter_description> rectangle in which to store the position of the grapheme
7846 </parameter_description>
7852 <function name="pango_win32_font_map_get_font_cache">
7854 Obtains the font cache associated with the given font map.
7859 <parameter name="font_map">
7860 <parameter_description> a #PangoWin32FontMap.
7861 </parameter_description>
7864 <return> the #PangoWin32FontCache of @font_map.
7868 <function name="pango_version">
7870 This is similar to the macro %PANGO_VERSION except that
7871 it returns the encoded version of Pango available at run-time,
7872 as opposed to the version available at compile-time.
7874 A version number can be encoded into an integer using
7875 PANGO_VERSION_ENCODE().
7881 <return>value: The encoded version of Pango library
7882 available at run time.
7888 <function name="pango_font_map_load_fontset">
7890 Load a set of fonts in the fontmap that can be used to render
7891 a font matching @desc.
7896 <parameter name="fontmap">
7897 <parameter_description> a #PangoFontMap
7898 </parameter_description>
7900 <parameter name="context">
7901 <parameter_description> the #PangoContext the font will be used with
7902 </parameter_description>
7904 <parameter name="desc">
7905 <parameter_description> a #PangoFontDescription describing the font to load
7906 </parameter_description>
7908 <parameter name="language">
7909 <parameter_description> a #PangoLanguage the fonts will be used for
7910 </parameter_description>
7913 <return>the fontset, or %NULL if no font matched.
7917 <function name="pango_tab_array_get_size">
7919 Gets the number of tab stops in @tab_array.
7924 <parameter name="tab_array">
7925 <parameter_description> a #PangoTabArray
7926 </parameter_description>
7929 <return> the number of tab stops in the array.
7933 <function name="pango_tab_array_get_positions_in_pixels">
7935 Return value: whether positions are in pixels.
7939 <parameter name="tab_array">
7940 <parameter_description> a #PangoTabArray
7941 </parameter_description>
7944 <return> whether positions are in pixels.
7948 <function name="pango_cairo_create_layout">
7950 Creates a layout object set up to match the current transformation
7951 and target surface of the Cairo context. This layout can then be
7952 used for text measurement with functions like
7953 pango_layout_get_size() or drawing with functions like
7954 pango_cairo_show_layout(). If you change the transformation
7955 or target surface for @cr, you need to call pango_cairo_update_layout()
7957 This function is the most convenient way to use Cairo with Pango,
7958 however it is slightly inefficient since it creates a separate
7959 #PangoContext object for each layout. This might matter in an
7960 application that was laying out large amounts of text.
7965 <parameter name="cr">
7966 <parameter_description> a Cairo context
7967 </parameter_description>
7970 <return> the newly created #PangoLayout. Free with
7977 <function name="pango_cairo_font_map_get_resolution">
7979 Gets the resolution for the fontmap. See pango_cairo_font_map_set_resolution()
7984 <parameter name="fontmap">
7985 <parameter_description> a #PangoCairoFontMap
7986 </parameter_description>
7989 <return> the resolution in "dots per inch"
7995 <function name="pango_xft_render">
7997 Renders a #PangoGlyphString onto an &lt;type&gt;XftDraw&lt;/type&gt; object wrapping an X drawable.
8001 <parameter name="draw">
8002 <parameter_description> the &lt;type&gt;XftDraw&lt;/type&gt; object.
8003 </parameter_description>
8005 <parameter name="color">
8006 <parameter_description> the color in which to draw the string
8007 </parameter_description>
8009 <parameter name="font">
8010 <parameter_description> the font in which to draw the string
8011 </parameter_description>
8013 <parameter name="glyphs">
8014 <parameter_description> the glyph string to draw
8015 </parameter_description>
8017 <parameter name="x">
8018 <parameter_description> the x position of start of string (in pixels)
8019 </parameter_description>
8021 <parameter name="y">
8022 <parameter_description> the y position of baseline (in pixels)
8023 </parameter_description>
8029 <function name="pango_coverage_ref">
8031 Increase the reference count on the #PangoCoverage by one
8036 <parameter name="coverage">
8037 <parameter_description> a #PangoCoverage
8038 </parameter_description>
8045 <function name="pango_xft_font_get_glyph">
8047 Gets the glyph index for a given Unicode character
8048 for @font. If you only want to determine
8049 whether the font has the glyph, use pango_xft_font_has_char().
8051 Use pango_fc_font_get_glyph() instead.
8056 <parameter name="font">
8057 <parameter_description> a #PangoFont for the Xft backend
8058 </parameter_description>
8060 <parameter name="wc">
8061 <parameter_description> Unicode codepoint to look up
8062 </parameter_description>
8065 <return> the glyph index, or 0, if the Unicode
8066 character does not exist in the font.
8072 <function name="pango_attr_gravity_hint_new">
8074 Create a new gravity hint attribute.
8079 <parameter name="hint">
8080 <parameter_description> the gravity hint value.
8081 </parameter_description>
8084 <return> the newly allocated #PangoAttribute, which should be
8085 freed with pango_attribute_destroy().
8091 <function name="pango_attr_iterator_next">
8093 Advance the iterator until the next change of style.
8098 <parameter name="iterator">
8099 <parameter_description> a #PangoAttrIterator
8100 </parameter_description>
8103 <return> %FALSE if the iterator is at the end of the list, otherwise %TRUE
8107 <function name="pango_color_copy">
8109 Creates a copy of @src, which should be freed with
8110 pango_color_free(). Primarily used by language bindings,
8111 not that useful otherwise (since colors can just be copied
8112 by assignment in C).
8117 <parameter name="src">
8118 <parameter_description> color to copy
8119 </parameter_description>
8122 <return> the newly allocated #PangoColor, which should
8123 be freed with pango_color_free().
8127 <function name="pango_attribute_copy">
8129 Make a copy of an attribute.
8134 <parameter name="attr">
8135 <parameter_description> a #PangoAttribute
8136 </parameter_description>
8139 <return> the newly allocated #PangoAttribute, which should be
8140 freed with pango_attribute_destroy().
8144 <function name="pango_win32_font_select_font">
8146 Selects the font into the specified DC and changes the mapping mode
8147 and world transformation of the DC appropriately for the font.
8148 You may want to surround the use of this function with calls
8149 to SaveDC() and RestoreDC(). Call pango_win32_font_done_font() when
8150 you are done using the DC to release allocated resources.
8152 See pango_win32_font_get_metrics_factor() for information about
8153 converting from the coordinate space used by this function
8159 <parameter name="font">
8160 <parameter_description> a #PangoFont from the Win32 backend
8161 </parameter_description>
8163 <parameter name="hdc">
8164 <parameter_description> a windows device context
8165 </parameter_description>
8168 <return> %TRUE if the operation succeeded.
8172 <function name="pango_fontset_get_font">
8174 Return value: a #PangoFont. The caller must call g_object_unref when finished
8178 <parameter name="fontset">
8179 <parameter_description> a #PangoFontset
8180 </parameter_description>
8182 <parameter name="wc">
8183 <parameter_description> a Unicode character
8184 </parameter_description>
8187 <return> a #PangoFont. The caller must call g_object_unref when finished
8192 <function name="pango_context_get_gravity_hint">
8194 Retrieves the gravity hint for the context. See
8195 pango_context_set_gravity_hint() for details.
8200 <parameter name="context">
8201 <parameter_description> a #PangoContext
8202 </parameter_description>
8205 <return> the gravity hint for the context.
8211 <function name="pango_ot_ruleset_new_for">
8213 Creates a new #PangoOTRuleset for the given OpenType info, script, and
8216 This function is part of a convenience scheme that highly simplifies
8217 using a #PangoOTRuleset to represent features for a specific pair of script
8218 and language. So one can use this function passing in the script and
8219 language of interest, and later try to add features to the ruleset by just
8220 specifying the feature name or tag, without having to deal with finding
8221 script, language, or feature indices manually.
8223 In excess to what pango_ot_ruleset_new() does, this function will:
8224 &lt;itemizedlist&gt;
8225 &lt;listitem&gt;
8226 Find the #PangoOTTag script and language tags associated with
8227 @script and @language using pango_ot_tag_from_script() and
8228 pango_ot_tag_from_language(),
8229 &lt;/listitem&gt;
8230 &lt;listitem&gt;
8231 For each of table types %PANGO_OT_TABLE_GSUB and %PANGO_OT_TABLE_GPOS,
8232 find the script index of the script tag found and the language
8233 system index of the language tag found in that script system, using
8234 pango_ot_info_find_script() and pango_ot_info_find_language(),
8235 &lt;/listitem&gt;
8236 &lt;listitem&gt;
8237 For found language-systems, if they have required feature
8238 index, add that feature to the ruleset using
8239 pango_ot_ruleset_add_feature(),
8240 &lt;/listitem&gt;
8241 &lt;listitem&gt;
8242 Remember found script and language indices for both table types,
8243 and use them in future pango_ot_ruleset_maybe_add_feature() and
8244 pango_ot_ruleset_maybe_add_features().
8245 &lt;/listitem&gt;
8246 &lt;/itemizedlist&gt;
8248 Because of the way return values of pango_ot_info_find_script() and
8249 pango_ot_info_find_language() are ignored, this function automatically
8250 finds and uses the 'DFLT' script and the default language-system.
8255 <parameter name="info">
8256 <parameter_description> a #PangoOTInfo.
8257 </parameter_description>
8259 <parameter name="script">
8260 <parameter_description> a #PangoScript.
8261 </parameter_description>
8263 <parameter name="language">
8264 <parameter_description> a #PangoLanguage.
8265 </parameter_description>
8268 <return> the newly allocated #PangoOTRuleset, which
8269 should be freed with g_object_unref().
8275 <function name="pango_fc_font_map_add_decoder_find_func">
8277 This function saves a callback method in the #PangoFcFontMap that
8278 will be called whenever new fonts are created. If the
8279 function returns a #PangoFcDecoder, that decoder will be used to
8280 determine both coverage via a #FcCharSet and a one-to-one mapping of
8281 characters to glyphs. This will allow applications to have
8282 application-specific encodings for various fonts.
8288 <parameter name="fcfontmap">
8289 <parameter_description> The #PangoFcFontMap to add this method to.
8290 </parameter_description>
8292 <parameter name="findfunc">
8293 <parameter_description> The #PangoFcDecoderFindFunc callback function
8294 </parameter_description>
8296 <parameter name="user_data">
8297 <parameter_description> User data.
8298 </parameter_description>
8300 <parameter name="dnotify">
8301 <parameter_description> A #GDestroyNotify callback that will be called when the
8302 fontmap is finalized and the decoder is released.
8303 </parameter_description>
8309 <function name="pango_font_description_equal">
8311 Compares two font descriptions for equality. Two font descriptions
8312 are considered equal if the fonts they describe are provably identical.
8313 This means that their masks do not have to match, as long as other fields
8314 are all the same. (Two font descriptions may result in identical fonts
8315 being loaded, but still compare %FALSE.)
8320 <parameter name="desc1">
8321 <parameter_description> a #PangoFontDescription
8322 </parameter_description>
8324 <parameter name="desc2">
8325 <parameter_description> another #PangoFontDescription
8326 </parameter_description>
8329 <return> %TRUE if the two font descriptions are identical,
8334 <function name="pango_attr_family_new">
8336 Create a new font family attribute.
8341 <parameter name="family">
8342 <parameter_description> the family or comma separated list of families
8343 </parameter_description>
8346 <return> the newly allocated #PangoAttribute, which should be
8347 freed with pango_attribute_destroy().
8351 <function name="pango_cairo_font_map_new_for_font_type">
8353 Creates a new #PangoCairoFontMap object of the type suitable
8354 to be used with cairo font backend of type @fonttype.
8356 In most cases one should simply use @pango_cairo_font_map_new(),
8357 or in fact in most of those cases, just use
8358 @pango_cairo_font_map_get_default().
8363 <parameter name="fonttype">
8364 <parameter_description> desired #cairo_font_type_t
8365 </parameter_description>
8368 <return> the newly allocated #PangoFontMap of suitable type
8369 which should be freed with g_object_unref(),
8370 or %NULL if the requested cairo font backend is
8377 <function name="pango_ot_ruleset_add_feature">
8379 Adds a feature to the ruleset.
8383 <parameter name="ruleset">
8384 <parameter_description> a #PangoOTRuleset.
8385 </parameter_description>
8387 <parameter name="table_type">
8388 <parameter_description> the table type to add a feature to.
8389 </parameter_description>
8391 <parameter name="feature_index">
8392 <parameter_description> the index of the feature to add.
8393 </parameter_description>
8395 <parameter name="property_bit">
8396 <parameter_description> the property bit to use for this feature. Used to identify
8397 the glyphs that this feature should be applied to, or
8398 %PANGO_OT_ALL_GLYPHS if it should be applied to all glyphs.
8399 </parameter_description>
8405 <function name="pango_context_set_matrix">
8407 Sets the transformation matrix that will be applied when rendering
8408 with this context. Note that reported metrics are in the user space
8409 coordinates before the application of the matrix, not device-space
8410 coordinates after the application of the matrix. So, they don't scale
8411 with the matrix, though they may change slightly for different
8412 matrices, depending on how the text is fit to the pixel grid.
8418 <parameter name="context">
8419 <parameter_description> a #PangoContext
8420 </parameter_description>
8422 <parameter name="matrix">
8423 <parameter_description> a #PangoMatrix, or %NULL to unset any existing matrix.
8424 (No matrix set is the same as setting the identity matrix.)
8425 </parameter_description>
8431 <function name="pango_x_apply_ligatures">
8433 Previously did subfont-specific ligation. Now a no-op.
8438 <parameter name="font">
8439 <parameter_description> unused
8440 </parameter_description>
8442 <parameter name="subfont">
8443 <parameter_description> unused
8444 </parameter_description>
8446 <parameter name="glyphs">
8447 <parameter_description> unused
8448 </parameter_description>
8450 <parameter name="n_glyphs">
8451 <parameter_description> unused
8452 </parameter_description>
8454 <parameter name="clusters">
8455 <parameter_description> unused
8456 </parameter_description>
8459 <return> %FALSE, always.
8463 <function name="pango_coverage_new">
8465 Create a new #PangoCoverage
8471 <return> the newly allocated #PangoCoverage,
8472 initialized to %PANGO_COVERAGE_NONE
8473 with a reference count of one, which
8474 should be freed with pango_coverage_unref().
8478 <function name="pango_attr_iterator_get_font">
8480 Get the font and other attributes at the current iterator position.
8484 <parameter name="iterator">
8485 <parameter_description> a #PangoAttrIterator
8486 </parameter_description>
8488 <parameter name="desc">
8489 <parameter_description> a #PangoFontDescription to fill in with the current values.
8490 The family name in this structure will be set using
8491 pango_font_description_set_family_static() using values from
8492 an attribute in the #PangoAttrList associated with the iterator,
8493 so if you plan to keep it around, you must call:
8494 &lt;literal&gt;pango_font_description_set_family (desc, pango_font_description_get_family (desc))&lt;/literal&gt;.
8495 </parameter_description>
8497 <parameter name="language">
8498 <parameter_description> if non-%NULL, location to store language tag for item, or %NULL
8500 </parameter_description>
8502 <parameter name="extra_attrs">
8503 <parameter_description> if non-%NULL, location in which to store a list of non-font
8504 attributes at the the current position; only the highest priority
8505 value of each attribute will be added to this list. In order
8506 to free this value, you must call pango_attribute_destroy() on
8508 </parameter_description>
8514 <function name="pango_color_to_string">
8516 Return value: a newly-allocated text string that must be freed with g_free().
8520 <parameter name="color">
8521 <parameter_description> a #PangoColor
8522 </parameter_description>
8525 <return> a newly-allocated text string that must be freed with g_free().
8531 <function name="pango_attr_list_new">
8533 Create a new empty attribute list with a reference count of one.
8539 <return> the newly allocated #PangoAttrList, which should
8540 be freed with pango_attr_list_unref().
8544 <function name="pango_unichar_direction">
8546 Determines the direction of a character; either
8547 %PANGO_DIRECTION_LTR, %PANGO_DIRECTION_RTL, or
8548 %PANGO_DIRECTION_NEUTRAL.
8553 <parameter name="ch">
8554 <parameter_description> a Unicode character
8555 </parameter_description>
8558 <return> the direction of the character, as used in the
8559 Unicode bidirectional algorithm.
8563 <function name="pango_cairo_font_map_get_default">
8565 Gets a default font map to use with Cairo.
8571 <return> the default Cairo fontmap for #Pango. This
8572 object is owned by Pango and must not be freed.
8578 <function name="pango_attr_list_insert_before">
8580 Insert the given attribute into the #PangoAttrList. It will
8581 be inserted before all other attributes with a matching
8586 <parameter name="list">
8587 <parameter_description> a #PangoAttrList
8588 </parameter_description>
8590 <parameter name="attr">
8591 <parameter_description> the attribute to insert. Ownership of this value is
8592 assumed by the list.
8593 </parameter_description>
8599 <function name="pango_renderer_deactivate">
8601 Cleans up after rendering operations on @renderer. See
8602 docs for pango_renderer_activate().
8608 <parameter name="renderer">
8609 <parameter_description> a #PangoRenderer
8610 </parameter_description>
8616 <function name="pango_parse_stretch">
8618 Parses a font stretch. The allowed values are
8619 "ultra_condensed", "extra_condensed", "condensed",
8620 "semi_condensed", "normal", "semi_expanded", "expanded",
8621 "extra_expanded" and "ultra_expanded". Case variations are
8622 ignored and the '_' characters may be omitted.
8627 <parameter name="str">
8628 <parameter_description> a string to parse.
8629 </parameter_description>
8631 <parameter name="stretch">
8632 <parameter_description> a #PangoStretch to store the result in.
8633 </parameter_description>
8635 <parameter name="warn">
8636 <parameter_description> if %TRUE, issue a g_warning() on bad input.
8637 </parameter_description>
8640 <return> %TRUE if @str was successfully parsed.
8644 <function name="pango_layout_get_width">
8646 Gets the width to which the lines of the #PangoLayout should wrap.
8651 <parameter name="layout">
8652 <parameter_description> a #PangoLayout
8653 </parameter_description>
8656 <return> the width, or -1 if no width set.
8660 <function name="pango_language_from_string">
8662 Take a RFC-3066 format language tag as a string and convert it to a
8663 #PangoLanguage pointer that can be efficiently copied (copy the
8664 pointer) and compared with other language tags (compare the
8667 This function first canonicalizes the string by converting it to
8668 lowercase, mapping '_' to '-', and stripping all characters other
8669 than letters and '-'.
8671 Use pango_language_get_default() if you want to get the #PangoLanguage for
8672 the current locale of the process.
8677 <parameter name="language">
8678 <parameter_description> a string representing a language tag
8679 </parameter_description>
8682 <return> an opaque pointer to a #PangoLanguage structure.
8683 this will be valid forever after.
8687 <function name="pango_map_get_engines">
8689 Finds engines in the map that handle the given script. The returned
8690 lists should be freed with g_slist_free, but the engines in the
8691 lists are owned by GLib and will be kept around permanently, so
8692 they should not be unref'ed.
8698 <parameter name="map">
8699 <parameter_description> a #PangoMap
8700 </parameter_description>
8702 <parameter name="script">
8703 <parameter_description> a #PangoScript
8704 </parameter_description>
8706 <parameter name="exact_engines">
8707 <parameter_description> location to store list of engines that exactly
8709 </parameter_description>
8711 <parameter name="fallback_engines">
8712 <parameter_description> location to store list of engines that approximately
8714 </parameter_description>
8720 <function name="pango_font_metrics_get_approximate_char_width">
8722 Gets the approximate character width for a font metrics structure.
8723 This is merely a representative value useful, for example, for
8724 determining the initial size for a window. Actual characters in
8725 text will be wider and narrower than this.
8730 <parameter name="metrics">
8731 <parameter_description> a #PangoFontMetrics structure
8732 </parameter_description>
8735 <return> the character width, in Pango units. (1 point == %PANGO_SCALE Pango units.)
8739 <function name="pango_font_description_set_family">
8741 Sets the family name field of a font description. The family
8742 name represents a family of related font styles, and will
8743 resolve to a particular #PangoFontFamily. In some uses of
8744 #PangoFontDescription, it is also possible to use a comma
8745 separated list of family names for this field.
8749 <parameter name="desc">
8750 <parameter_description> a #PangoFontDescription.
8751 </parameter_description>
8753 <parameter name="family">
8754 <parameter_description> a string representing the family name.
8755 </parameter_description>
8761 <function name="pango_fc_font_description_from_pattern">
8763 Creates a #PangoFontDescription that matches the specified
8764 Fontconfig pattern as closely as possible. Many possible Fontconfig
8765 pattern values, such as %FC_RASTERIZER or %FC_DPI, don't make sense in
8766 the context of #PangoFontDescription, so will be ignored.
8771 <parameter name="pattern">
8772 <parameter_description> a #FcPattern
8773 </parameter_description>
8775 <parameter name="include_size">
8776 <parameter_description> if %TRUE, the pattern will include the size from
8777 the @pattern; otherwise the resulting pattern will be unsized.
8778 (only %FC_SIZE is examined, not %FC_PIXEL_SIZE)
8779 </parameter_description>
8782 <return> a new #PangoFontDescription. Free with
8783 pango_font_description_free().
8789 <function name="_pango_get_lc_ctype">
8791 Return the Unix-style locale string for the language currently in
8792 effect. On Unix systems, this is the return value from
8793 &lt;literal&gt;setlocale(LC_CTYPE, NULL)&lt;/literal&gt;, and the user can
8794 affect this through the environment variables LC_ALL, LC_CTYPE or
8795 LANG (checked in that order). The locale strings typically is in
8796 the form lang_COUNTRY, where lang is an ISO-639 language code, and
8797 COUNTRY is an ISO-3166 country code. For instance, sv_FI for
8798 Swedish as written in Finland or pt_BR for Portuguese as written in
8801 On Windows, the C library doesn't use any such environment
8802 variables, and setting them won't affect the behavior of functions
8803 like ctime(). The user sets the locale through the Regional Options
8804 in the Control Panel. The C library (in the setlocale() function)
8805 does not use country and language codes, but country and language
8806 names spelled out in English.
8807 However, this function does check the above environment
8808 variables, and does return a Unix-style locale string based on
8809 either said environment variables or the thread's current locale.
8815 <return> a dynamically allocated string, free with g_free().
8819 <function name="pango_xft_substitute_changed">
8821 Call this function any time the results of the
8822 default substitution function set with
8823 pango_xft_set_default_substitute() change.
8824 That is, if your substitution function will return different
8825 results for the same input pattern, you must call this function.
8831 <parameter name="display">
8832 <parameter_description> an X Display
8833 </parameter_description>
8835 <parameter name="screen">
8836 <parameter_description> the screen number of a screen within @display
8837 </parameter_description>
8843 <function name="pango_lookup_aliases">
8845 Look up all user defined aliases for the alias @fontname.
8846 The resulting font family names will be stored in @families,
8847 and the number of families in @n_families.
8851 <parameter name="fontname">
8852 <parameter_description> an ascii string
8853 </parameter_description>
8855 <parameter name="families">
8856 <parameter_description> will be set to an array of font family names.
8857 this array is owned by pango and should not be freed.
8858 </parameter_description>
8860 <parameter name="n_families">
8861 <parameter_description> will be set to the length of the @families array.
8862 </parameter_description>
8868 <function name="pango_font_descriptions_free">
8870 Frees a list of font descriptions from pango_font_map_list_fonts()
8874 <parameter name="descs">
8875 <parameter_description> a pointer to an array of #PangoFontDescription, or %NULL
8876 </parameter_description>
8878 <parameter name="n_descs">
8879 <parameter_description> number of font descriptions in @descs
8880 </parameter_description>
8886 <function name="pango_reorder_items">
8888 From a list of items in logical order and the associated
8889 directional levels, produce a list in visual order.
8890 The original list is unmodified.
8895 <parameter name="logical_items">
8896 <parameter_description> a #GList of #PangoItem in logical order.
8897 </parameter_description>
8900 <return>a #GList of #PangoItem structures in visual order.
8902 (Please open a bug if you use this function.
8903 It is not a particularly convenient interface, and the code
8904 is duplicated elsewhere in Pango for that reason.)
8908 <function name="pango_win32_get_debug_flag">
8910 Return value: %TRUE if debugging is turned on.
8915 <return> %TRUE if debugging is turned on.
8921 <function name="pango_ot_ruleset_get_for_description">
8923 Return value: the #PangoOTRuleset for @desc. This object will have
8927 <parameter name="info">
8928 <parameter_description> a #PangoOTInfo.
8929 </parameter_description>
8931 <parameter name="desc">
8932 <parameter_description> a #PangoOTRulesetDescription.
8933 </parameter_description>
8936 <return> the #PangoOTRuleset for @desc. This object will have
8937 the same lifetime as @info.
8943 <function name="pango_glyph_string_index_to_x">
8945 Converts from character position to x position. (X position
8946 is measured from the left edge of the run). Character positions
8947 are computed by dividing up each cluster into equal portions.
8951 <parameter name="glyphs">
8952 <parameter_description> the glyphs return from pango_shape()
8953 </parameter_description>
8955 <parameter name="text">
8956 <parameter_description> the text for the run
8957 </parameter_description>
8959 <parameter name="length">
8960 <parameter_description> the number of bytes (not characters) in @text.
8961 </parameter_description>
8963 <parameter name="analysis">
8964 <parameter_description> the analysis information return from pango_itemize()
8965 </parameter_description>
8967 <parameter name="index_">
8968 <parameter_description> the byte index within @text
8969 </parameter_description>
8971 <parameter name="trailing">
8972 <parameter_description> whether we should compute the result for the beginning
8973 or end of the character.
8974 </parameter_description>
8976 <parameter name="x_pos">
8977 <parameter_description> location to store result
8978 </parameter_description>
8984 <function name="pango_matrix_transform_rectangle">
8986 First transforms @rect using @matrix, then calculates the bounding box
8987 of the transformed rectangle. The rectangle should be in Pango units.
8989 This function is useful for example when you want to draw a rotated
8990 @PangoLayout to an image buffer, and want to know how large the image
8991 should be and how much you should shift the layout when rendering.
8993 If you have a rectangle in device units (pixels), use
8994 pango_matrix_transform_pixel_rectangle().
8996 If you have the rectangle in Pango units and want to convert to
8997 transformed pixel bounding box, it is more accurate to transform it first
8998 (using this function) and pass the result to pango_extents_to_pixels(),
8999 as @ink_rect. However, there is a reason that you may want to convert
9000 to pixels first and then transform, and that is when the transformed
9001 coordinates may overflow in Pango units (large matrix translation for
9008 <parameter name="matrix">
9009 <parameter_description> a #PangoMatrix, or %NULL
9010 </parameter_description>
9012 <parameter name="rect">
9013 <parameter_description> in/out bounding box in Pango units, or %NULL
9014 </parameter_description>
9020 <function name="pango_attr_list_ref">
9022 Increase the reference count of the given attribute list by one.
9027 <parameter name="list">
9028 <parameter_description> a #PangoAttrList
9029 </parameter_description>
9032 <return> The attribute list passed in
9038 <function name="pango_attr_list_insert">
9040 Insert the given attribute into the #PangoAttrList. It will
9041 be inserted after all other attributes with a matching
9046 <parameter name="list">
9047 <parameter_description> a #PangoAttrList
9048 </parameter_description>
9050 <parameter name="attr">
9051 <parameter_description> the attribute to insert. Ownership of this value is
9052 assumed by the list.
9053 </parameter_description>
9059 <function name="pango_win32_font_description_from_logfont">
9061 Creates a #PangoFontDescription that matches the specified LOGFONTA.
9063 The face name, italicness and weight fields in the LOGFONTA are used
9064 to set up the resulting #PangoFontDescription. If the face name in
9065 the LOGFONTA contains non-ASCII characters the font is temporarily
9066 loaded (using CreateFontIndirect()) and an ASCII (usually English)
9067 name for it is looked up from the font name tables in the font
9068 data. If that doesn't work, the face name is converted from the
9069 system codepage to UTF-8 and that is used.
9074 <parameter name="lfp">
9075 <parameter_description> a LOGFONTA
9076 </parameter_description>
9079 <return> the newly allocated #PangoFontDescription, which
9080 should be freed using pango_font_description_free()
9086 <function name="pango_ft2_get_context">
9088 Retrieves a #PangoContext for the default PangoFT2 fontmap
9089 (see pango_ft2_fontmap_get_for_display()) and sets the resolution
9090 for the default fontmap to @dpi_x by @dpi_y.
9092 Use of this function is deprecated; see pango_ft2_fontmap_create_context()
9098 <parameter name="dpi_x">
9099 <parameter_description> the horizontal DPI of the target device
9100 </parameter_description>
9102 <parameter name="dpi_y">
9103 <parameter_description> the vertical DPI of the target device
9104 </parameter_description>
9107 <return> the new #PangoContext
9111 <function name="pango_win32_font_get_metrics_factor">
9113 Return value: factor to multiply logical units by to get Pango
9117 <parameter name="font">
9118 <parameter_description> a #PangoFont from the win32 backend
9119 </parameter_description>
9122 <return> factor to multiply logical units by to get Pango
9127 <function name="pango_xft_font_lock_face">
9129 Gets the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with a font,
9130 This face will be kept around until you call
9131 pango_xft_font_unlock_face().
9133 Use pango_fc_font_lock_face() instead.
9138 <parameter name="font">
9139 <parameter_description> a #PangoFont.
9140 </parameter_description>
9143 <return> the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with @font.
9149 <function name="pango_x_load_font">
9151 Loads up a logical font based on a "fontset" style text
9152 specification. This is not remotely useful (Pango API's generally
9153 work in terms of #PangoFontDescription) and the result may not
9154 work correctly in all circumstances. Use of this function should
9160 <parameter name="display">
9161 <parameter_description> the X display.
9162 </parameter_description>
9164 <parameter name="spec">
9165 <parameter_description> a comma-separated list of XLFD's.
9166 </parameter_description>
9169 <return>a new #PangoFont.
9173 <function name="pango_coverage_copy">
9175 Copy an existing #PangoCoverage. (This function may now be unnecessary
9176 since we refcount the structure. File a bug if you use it.)
9181 <parameter name="coverage">
9182 <parameter_description> a #PangoCoverage
9183 </parameter_description>
9186 <return> the newly allocated #PangoCoverage,
9187 with a reference count of one, which
9188 should be freed with pango_coverage_unref().
9192 <function name="_pango_fc_font_set_decoder">
9194 This sets a custom decoder for this font. Any previous decoder
9195 will be released before this one is set.
9201 <parameter name="font">
9202 <parameter_description> a #PangoFcFont
9203 </parameter_description>
9205 <parameter name="decoder">
9206 <parameter_description> a #PangoFcDecoder to set for this font
9207 </parameter_description>
9213 <function name="pango_ot_ruleset_substitute">
9215 Performs the OpenType GSUB substitution on @buffer using the features
9222 <parameter name="ruleset">
9223 <parameter_description> a #PangoOTRuleset.
9224 </parameter_description>
9226 <parameter name="buffer">
9227 <parameter_description> a #PangoOTBuffer.
9228 </parameter_description>
9234 <function name="pango_x_list_subfonts">
9236 Lists the subfonts of a given font. The result is ordered first by charset,
9237 and then within each charset, by the order of fonts in the font specification.
9242 <parameter name="font">
9243 <parameter_description> a #PangoFont.
9244 </parameter_description>
9246 <parameter name="charsets">
9247 <parameter_description> the charsets to list subfonts for.
9248 </parameter_description>
9250 <parameter name="n_charsets">
9251 <parameter_description> the number of charsets in @charsets.
9252 </parameter_description>
9254 <parameter name="subfont_ids">
9255 <parameter_description> location to store a pointer to an array of subfont IDs for each found subfont;
9256 the result must be freed using g_free().
9257 </parameter_description>
9259 <parameter name="subfont_charsets">
9260 <parameter_description> location to store a pointer to an array of subfont IDs for each found subfont;
9261 the result must be freed using g_free().
9262 </parameter_description>
9265 <return> length of the arrays stored in @subfont_ids and
9270 <function name="pango_attr_list_copy">
9272 Copy @list and return an identical new list.
9277 <parameter name="list">
9278 <parameter_description> a #PangoAttrList
9279 </parameter_description>
9282 <return> the newly allocated #PangoAttrList, with a
9283 reference count of one, which should
9284 be freed with pango_attr_list_unref().
9288 <function name="pango_context_list_families">
9290 List all families for a context.
9294 <parameter name="context">
9295 <parameter_description> a #PangoContext
9296 </parameter_description>
9298 <parameter name="families">
9299 <parameter_description> location to store a pointer to an array of #PangoFontFamily *.
9300 This array should be freed with g_free().
9301 </parameter_description>
9303 <parameter name="n_families">
9304 <parameter_description> location to store the number of elements in @descs
9305 </parameter_description>
9311 <function name="pango_ot_buffer_destroy">
9313 Destroys a #PangoOTBuffer and free all associated memory.
9319 <parameter name="buffer">
9320 <parameter_description> a #PangoOTBuffer
9321 </parameter_description>
9327 <function name="pango_matrix_concat">
9329 Changes the transformation represented by @matrix to be the
9330 transformation given by first applying transformation
9331 given by @new_matrix then applying the original transformation.
9337 <parameter name="matrix">
9338 <parameter_description> a #PangoMatrix
9339 </parameter_description>
9341 <parameter name="new_matrix">
9342 <parameter_description> a #PangoMatrix
9343 </parameter_description>
9349 <function name="pango_fc_font_kern_glyphs">
9351 Adjust each adjacent pair of glyphs in @glyphs according to
9352 kerning information in @font.
9358 <parameter name="font">
9359 <parameter_description> a #PangoFcFont
9360 </parameter_description>
9362 <parameter name="glyphs">
9363 <parameter_description> a #PangoGlyphString
9364 </parameter_description>
9370 <function name="pango_layout_line_get_extents">
9372 Computes the logical and ink extents of a layout line. See
9373 pango_font_get_glyph_extents() for details about the interpretation
9378 <parameter name="line">
9379 <parameter_description> a #PangoLayoutLine
9380 </parameter_description>
9382 <parameter name="ink_rect">
9383 <parameter_description> rectangle used to store the extents of the glyph string
9385 </parameter_description>
9387 <parameter name="logical_rect">
9388 <parameter_description> rectangle used to store the logical extents of the glyph
9390 </parameter_description>
9396 <function name="pango_x_font_get_unknown_glyph">
9398 Return value: a glyph index into @font.
9402 <parameter name="font">
9403 <parameter_description> a #PangoFont.
9404 </parameter_description>
9406 <parameter name="wc">
9407 <parameter_description> the Unicode character for which a glyph is needed.
9408 </parameter_description>
9411 <return> a glyph index into @font.
9415 <function name="pango_ot_buffer_add_glyph">
9417 Appends a glyph to a #PangoOTBuffer, with @properties identifying which
9418 features should be applied on this glyph. See pango_ruleset_add_feature().
9424 <parameter name="buffer">
9425 <parameter_description> a #PangoOTBuffer
9426 </parameter_description>
9428 <parameter name="glyph">
9429 <parameter_description> the glyph index to add, like a #PangoGlyph
9430 </parameter_description>
9432 <parameter name="properties">
9433 <parameter_description> the glyph properties
9434 </parameter_description>
9436 <parameter name="cluster">
9437 <parameter_description> the cluster that this glyph belongs to
9438 </parameter_description>
9444 <function name="pango_fc_font_unlock_face">
9446 Releases a font previously obtained with
9447 pango_fc_font_lock_face().
9453 <parameter name="font">
9454 <parameter_description> a #PangoFcFont.
9455 </parameter_description>
9461 <function name="pango_tab_array_get_tab">
9463 Gets the alignment and position of a tab stop.
9468 <parameter name="tab_array">
9469 <parameter_description> a #PangoTabArray
9470 </parameter_description>
9472 <parameter name="tab_index">
9473 <parameter_description> tab stop index
9474 </parameter_description>
9476 <parameter name="alignment">
9477 <parameter_description> location to store alignment, or %NULL
9478 </parameter_description>
9480 <parameter name="location">
9481 <parameter_description> location to store tab position, or %NULL
9482 </parameter_description>
9488 <function name="pango_matrix_rotate">
9490 Changes the transformation represented by @matrix to be the
9491 transformation given by first rotating by @degrees degrees
9492 counter-clockwise then applying the original transformation.
9498 <parameter name="matrix">
9499 <parameter_description> a #PangoMatrix
9500 </parameter_description>
9502 <parameter name="degrees">
9503 <parameter_description> degrees to rotate counter-clockwise
9504 </parameter_description>
9510 <function name="pango_trim_string">
9512 Trims leading and trailing whitespace from a string.
9517 <parameter name="str">
9518 <parameter_description> a string
9519 </parameter_description>
9522 <return> A newly-allocated string that must be freed with g_free()
9526 <function name="pango_layout_set_alignment">
9528 Sets the alignment for the layout: how partial lines are
9529 positioned within the horizontal space available.
9533 <parameter name="layout">
9534 <parameter_description> a #PangoLayout
9535 </parameter_description>
9537 <parameter name="alignment">
9538 <parameter_description> the alignment
9539 </parameter_description>
9545 <function name="pango_font_description_get_family">
9547 Gets the family name field of a font description. See
9548 pango_font_description_set_family().
9553 <parameter name="desc">
9554 <parameter_description> a #PangoFontDescription.
9555 </parameter_description>
9558 <return> the family name field for the font description, or
9559 %NULL if not previously set. This has the same life-time
9560 as the font description itself and should not be freed.
9564 <function name="pango_font_description_free">
9566 Frees a font description.
9570 <parameter name="desc">
9571 <parameter_description> a #PangoFontDescription, or %NULL
9572 </parameter_description>
9578 <function name="pango_fc_font_map_shutdown">
9580 Clears all cached information for the fontmap and marks
9581 all fonts open for the fontmap as dead. (See the shutdown()
9582 virtual function of #PangoFcFont.) This function might be used
9583 by a backend when the underlying windowing system for the font
9584 map exits. This function is only intended to be called from
9585 only for backend implementations deriving from #PangoFcFontmap.
9591 <parameter name="fcfontmap">
9592 <parameter_description> a #PangoFcFontmap
9593 </parameter_description>
9599 <function name="pango_itemize">
9601 Breaks a piece of text into segments with consistent
9602 directional level and shaping engine. Each byte of @text will
9603 be contained in exactly one of the items in the returned list;
9604 the generated list of items will be in logical order (the start
9605 offsets of the items are ascending).
9607 @cached_iter should be an iterator over @attrs currently positioned at a
9608 range before or containing @start_index; @cached_iter will be advanced to
9609 the range covering the position just after @start_index + @length.
9610 (i.e. if itemizing in a loop, just keep passing in the same @cached_iter).
9615 <parameter name="context">
9616 <parameter_description> a structure holding information that affects
9617 the itemization process.
9618 </parameter_description>
9620 <parameter name="text">
9621 <parameter_description> the text to itemize.
9622 </parameter_description>
9624 <parameter name="start_index">
9625 <parameter_description> first byte in @text to process
9626 </parameter_description>
9628 <parameter name="length">
9629 <parameter_description> the number of bytes (not characters) to process
9631 This must be &gt;= 0.
9632 </parameter_description>
9634 <parameter name="attrs">
9635 <parameter_description> the set of attributes that apply to @text.
9636 </parameter_description>
9638 <parameter name="cached_iter">
9639 <parameter_description> Cached attribute iterator, or %NULL
9640 </parameter_description>
9643 <return> a #GList of #PangoItem structures.
9647 <function name="pango_x_font_subfont_xlfd">
9649 Determines the X Logical Font Description for the specified
9655 <parameter name="font">
9656 <parameter_description> a #PangoFont which must be from the X backend.
9657 </parameter_description>
9659 <parameter name="subfont_id">
9660 <parameter_description> the id of a subfont within the font.
9661 </parameter_description>
9664 <return> A newly-allocated string containing the XLFD for the
9665 subfont. This string must be freed with g_free().
9669 <function name="pango_ot_ruleset_maybe_add_feature">
9671 This is a convenience function that first tries to find the feature
9672 using pango_ot_info_find_feature() and the ruleset script and language
9673 passed to pango_ot_ruleset_new_for(),
9674 and if the feature is found, adds it to the ruleset.
9676 If @ruleset was not created using pango_ot_ruleset_new_for(), this function
9682 <parameter name="ruleset">
9683 <parameter_description> a #PangoOTRuleset.
9684 </parameter_description>
9686 <parameter name="table_type">
9687 <parameter_description> the table type to add a feature to.
9688 </parameter_description>
9690 <parameter name="feature_tag">
9691 <parameter_description> the tag of the feature to add.
9692 </parameter_description>
9694 <parameter name="property_bit">
9695 <parameter_description> the property bit to use for this feature. Used to identify
9696 the glyphs that this feature should be applied to, or
9697 %PANGO_OT_ALL_GLYPHS if it should be applied to all glyphs.
9698 </parameter_description>
9701 <return> %TRUE if the feature was found and added to ruleset,
9708 <function name="pango_attr_list_splice">
9710 This function opens up a hole in @list, fills it in with attributes from
9711 the left, and then merges @other on top of the hole.
9713 This operation is equivalent to stretching every attribute
9714 that applies at position @pos in @list by an amount @len,
9715 and then calling pango_attr_list_change() with a copy
9716 of each attribute in @other in sequence (offset in position by @pos).
9718 This operation proves useful for, for instance, inserting
9719 a pre-edit string in the middle of an edit buffer.
9723 <parameter name="list">
9724 <parameter_description> a #PangoAttrList
9725 </parameter_description>
9727 <parameter name="other">
9728 <parameter_description> another #PangoAttrList
9729 </parameter_description>
9731 <parameter name="pos">
9732 <parameter_description> the position in @list at which to insert @other
9733 </parameter_description>
9735 <parameter name="len">
9736 <parameter_description> the length of the spliced segment. (Note that this
9737 must be specified since the attributes in @other
9738 may only be present at some subsection of this range)
9739 </parameter_description>
9745 <function name="pango_fontset_simple_new">
9747 Creates a new #PangoFontsetSimple for the given language.
9752 <parameter name="language">
9753 <parameter_description> a #PangoLanguage tag
9754 </parameter_description>
9757 <return> the newly allocated #PangoFontsetSimple, which should
9758 be freed with g_object_unref().
9762 <function name="pango_layout_iter_next_line">
9764 Moves @iter forward to the start of the next line. If @iter is
9765 already on the last line, returns %FALSE.
9770 <parameter name="iter">
9771 <parameter_description> a #PangoLayoutIter
9772 </parameter_description>
9775 <return> whether motion was possible.
9779 <function name="pango_win32_font_logfont">
9781 Determine the LOGFONTA struct for the specified font. Note that
9782 Pango internally uses LOGFONTW structs, so if converting the UTF-16
9783 face name in the LOGFONTW struct to system codepage fails, the
9784 returned LOGFONTA will have an emppty face name. To get the
9785 LOGFONTW of a PangoFont, use pango_win32_font_logfontw(). It
9786 is recommended to do that always even if you don't expect
9787 to come across fonts with odd names.
9792 <parameter name="font">
9793 <parameter_description> a #PangoFont which must be from the Win32 backend
9794 </parameter_description>
9797 <return> A newly allocated LOGFONTA struct. It must be
9798 freed with g_free().
9802 <function name="pango_context_get_base_gravity">
9804 Retrieves the base gravity for the context. See
9805 pango_context_set_base_gravity().
9810 <parameter name="context">
9811 <parameter_description> a #PangoContext
9812 </parameter_description>
9815 <return> the base gravity for the context.
9821 <function name="pango_win32_font_logfontw">
9823 Determine the LOGFONTW struct for the specified font.
9828 <parameter name="font">
9829 <parameter_description> a #PangoFont which must be from the Win32 backend
9830 </parameter_description>
9833 <return> A newly allocated LOGFONTW struct. It must be
9834 freed with g_free().
9840 <function name="pango_map_get_engine">
9842 Return value: the best engine, if one is listed for the script,
9846 <parameter name="map">
9847 <parameter_description> a #PangoMap
9848 </parameter_description>
9850 <parameter name="script">
9851 <parameter_description> a #PangoScript
9852 </parameter_description>
9855 <return> the best engine, if one is listed for the script,
9856 or %NULL. The lookup may cause the engine to be loaded;
9857 once an engine is loaded, it won't be unloaded. If multiple
9858 engines are exact for the script, the choice of which is
9859 returned is arbitrary.
9863 <function name="pango_renderer_get_matrix">
9865 Gets the transformation matrix that will be applied when
9866 rendering. See pango_renderer_set_matrix().
9871 <parameter name="renderer">
9872 <parameter_description> a #PangoRenderer
9873 </parameter_description>
9876 <return> the matrix, or %NULL if no matrix has been set
9877 (which is the same as the identity matrix). The returned
9878 matrix is owned by Pango and must not be modified or
9885 <function name="pango_xft_renderer_set_default_color">
9887 Sets the default foreground color for a #XftRenderer.
9893 <parameter name="xftrenderer">
9894 <parameter_description> a #XftRenderer
9895 </parameter_description>
9897 <parameter name="default_color">
9898 <parameter_description> the default foreground color
9899 </parameter_description>
9905 <function name="pango_font_face_list_sizes">
9907 List the available sizes for a font. This is only applicable to bitmap
9908 fonts. For scalable fonts, stores %NULL at the location pointed to by
9909 @sizes and 0 at the location pointed to by @n_sizes. The sizes returned
9910 are in Pango units and are sorted in ascending order.
9916 <parameter name="face">
9917 <parameter_description> a #PangoFontFace.
9918 </parameter_description>
9920 <parameter name="sizes">
9921 <parameter_description> location to store a pointer to an array of int. This array
9922 should be freed with g_free().
9923 </parameter_description>
9925 <parameter name="n_sizes">
9926 <parameter_description> location to store the number of elements in @sizes
9927 </parameter_description>
9933 <function name="pango_x_has_glyph">
9935 Checks if the given glyph is present in a X font.
9940 <parameter name="font">
9941 <parameter_description> a #PangoFont which must be from the X backend.
9942 </parameter_description>
9944 <parameter name="glyph">
9945 <parameter_description> the index of a glyph in the font. (Formed
9946 using the #PANGO_X_MAKE_GLYPH macro)
9947 </parameter_description>
9950 <return> %TRUE if the glyph is present.
9954 <function name="pango_font_description_set_variant">
9956 Sets the variant field of a font description. The #PangoVariant
9957 can either be %PANGO_VARIANT_NORMAL or %PANGO_VARIANT_SMALL_CAPS.
9961 <parameter name="desc">
9962 <parameter_description> a #PangoFontDescription
9963 </parameter_description>
9965 <parameter name="variant">
9966 <parameter_description> the variant type for the font description.
9967 </parameter_description>
9973 <function name="pango_context_set_font_map">
9975 Sets the font map to be searched when fonts are looked-up in this context.
9976 This is only for internal use by Pango backends, a #PangoContext obtained
9977 via one of the recommended methods should already have a suitable font map.
9981 <parameter name="context">
9982 <parameter_description> a #PangoContext
9983 </parameter_description>
9985 <parameter name="font_map">
9986 <parameter_description> the #PangoFontMap to set.
9987 </parameter_description>
9993 <function name="pango_win32_font_cache_load">
9995 Creates a HFONT from a LOGFONTA. The
9996 result may be newly loaded, or it may have been previously
10002 <parameter name="cache">
10003 <parameter_description> a #PangoWin32FontCache
10004 </parameter_description>
10006 <parameter name="logfont">
10007 <parameter_description> a pointer to a LOGFONTA structure describing the font to load.
10008 </parameter_description>
10011 <return> The font structure, or %NULL if the font could
10012 not be loaded. In order to free this structure, you must call
10013 pango_win32_font_cache_unload().
10017 <function name="pango_ot_buffer_set_zero_width_marks">
10019 Sets whether characters with a mark class should be forced to zero width.
10020 This setting is needed for proper positioning of Arabic accents,
10021 but will produce incorrect results with standard OpenType Indic
10028 <parameter name="buffer">
10029 <parameter_description> a #PangoOTBuffer
10030 </parameter_description>
10032 <parameter name="zero_width_marks">
10033 <parameter_description> %TRUE if characters with a mark class should
10034 be forced to zero width.
10035 </parameter_description>
10041 <function name="pango_language_get_default">
10043 Return value: the default language as a #PangoLanguage, must not be
10048 <return> the default language as a #PangoLanguage, must not be
10055 <function name="pango_layout_set_justify">
10057 Sets whether each complete line should be stretched to
10058 fill the entire width of the layout. This stretching is typically
10059 done by adding whitespace, but for some scripts (such as Arabic),
10060 the justification may be done in more complex ways, like extending
10063 Note that this setting is not implemented and so is ignored in Pango
10068 <parameter name="layout">
10069 <parameter_description> a #PangoLayout
10070 </parameter_description>
10072 <parameter name="justify">
10073 <parameter_description> whether the lines in the layout should be justified.
10074 </parameter_description>
10080 <function name="pango_attr_iterator_get">
10082 Find the current attribute of a particular type at the iterator
10083 location. When multiple attributes of the same type overlap,
10084 the attribute whose range starts closest to the current location
10090 <parameter name="iterator">
10091 <parameter_description> a #PangoAttrIterator
10092 </parameter_description>
10094 <parameter name="type">
10095 <parameter_description> the type of attribute to find.
10096 </parameter_description>
10099 <return> the current attribute of the given type, or %NULL
10100 if no attribute of that type applies to the current
10105 <function name="pango_font_map_list_families">
10107 List all families for a fontmap.
10111 <parameter name="fontmap">
10112 <parameter_description> a #PangoFontMap
10113 </parameter_description>
10115 <parameter name="families">
10116 <parameter_description> location to store a pointer to an array of #PangoFontFamily *.
10117 This array should be freed with g_free().
10118 </parameter_description>
10120 <parameter name="n_families">
10121 <parameter_description> location to store the number of elements in @families
10122 </parameter_description>
10128 <function name="_pango_glyph_item_iter_next_cluster">
10130 Advances the iterator to the next cluster in the glyph item.
10135 <parameter name="iter">
10136 <parameter_description> a #PangoGlyphItemIter
10137 </parameter_description>
10140 <return> %TRUE if the iterator was advanced, %FALSE if we were already on the
10145 <function name="pango_font_description_get_stretch">
10147 Gets the stretch field of a font description.
10148 See pango_font_description_set_stretch().
10153 <parameter name="desc">
10154 <parameter_description> a #PangoFontDescription.
10155 </parameter_description>
10158 <return> the stretch field for the font description. Use
10159 pango_font_description_get_set_fields() to find out if
10160 the field was explicitly set or not.
10164 <function name="pango_xft_font_get_font">
10166 Return value: the XftFont associated to @font.
10170 <parameter name="font">
10171 <parameter_description> a #PangoFont.
10172 </parameter_description>
10175 <return> the XftFont associated to @font.
10179 <function name="pango_item_new">
10181 Creates a new #PangoItem structure initialized to default values.
10187 <return> the newly allocated #PangoItem, which should
10188 be freed with pango_item_free().
10192 <function name="pango_ot_ruleset_new">
10194 Creates a new #PangoOTRuleset for the given OpenType info.
10199 <parameter name="info">
10200 <parameter_description> a #PangoOTInfo.
10201 </parameter_description>
10204 <return> the newly allocated #PangoOTRuleset, which
10205 should be freed with g_object_unref().
10209 <function name="pango_layout_get_font_description">
10211 Gets the font description for the layout, if any.
10216 <parameter name="layout">
10217 <parameter_description> a #PangoLayout
10218 </parameter_description>
10221 <return> a pointer to the layout's font description,
10222 or %NULL if the font description from the layout's
10223 context is inherited. This value is owned by the layout
10224 and must not be modified or freed.
10230 <function name="pango_attr_variant_new">
10232 Create a new font variant attribute (normal or small caps)
10237 <parameter name="variant">
10238 <parameter_description> the variant
10239 </parameter_description>
10242 <return> the newly allocated #PangoAttribute, which should be
10243 freed with pango_attribute_destroy().
10247 <function name="pango_layout_line_x_to_index">
10249 Converts from x offset to the byte index of the corresponding
10250 character within the text of the layout. If @x_pos is outside the line,
10251 @index_ and @trailing will point to the very first or very last position
10252 in the line. This determination is based on the resolved direction
10253 of the paragraph; for example, if the resolved direction is
10254 right-to-left, then an X position to the right of the line (after it)
10255 results in 0 being stored in @index_ and @trailing. An X position to the
10256 left of the line results in @index_ pointing to the (logical) last
10257 grapheme in the line and @trailing being set to the number of characters
10258 in that grapheme. The reverse is true for a left-to-right line.
10263 <parameter name="line">
10264 <parameter_description> a #PangoLayoutLine
10265 </parameter_description>
10267 <parameter name="x_pos">
10268 <parameter_description> the X offset (in #PangoGlyphUnit)
10269 from the left edge of the line.
10270 </parameter_description>
10272 <parameter name="index_">
10273 <parameter_description> location to store calculated byte index for
10274 the grapheme in which the user clicked.
10275 </parameter_description>
10277 <parameter name="trailing">
10278 <parameter_description> location to store a integer indicating where
10279 in the grapheme the user clicked. It will either
10280 be zero, or the number of characters in the
10281 grapheme. 0 represents the trailing edge of the grapheme.
10282 </parameter_description>
10285 <return> %FALSE if @x_pos was outside the line, %TRUE if inside
10289 <function name="pango_matrix_copy">
10291 Copies a #PangoMatrix.
10296 <parameter name="matrix">
10297 <parameter_description> a #PangoMatrix, can be %NULL
10298 </parameter_description>
10301 <return> the newly allocated #PangoMatrix, which should
10302 be freed with pango_matrix_free(), or %NULL if
10309 <function name="pango_layout_line_unref">
10311 Decrease the reference count of a #PangoLayoutLine by one.
10312 If the result is zero, the line and all associated memory
10317 <parameter name="line">
10318 <parameter_description> a #PangoLayoutLine
10319 </parameter_description>
10325 <function name="_pango_glyph_item_iter_init_end">
10327 Initializes a #PangoGlyphItemIter structure to point to the
10328 last cluster in a glyph item.
10333 <parameter name="iter">
10334 <parameter_description> pointer to a #PangoGlyphItemIter structure
10335 </parameter_description>
10337 <parameter name="glyph_item">
10338 <parameter_description> the glyph item that @iter points into
10339 </parameter_description>
10341 <parameter name="text">
10342 <parameter_description> text corresponding to the glyph item
10343 </parameter_description>
10346 <return> %FALSE if there are no clusters in the glyph item;
10347 in this case, the state of @iter is undefined.
10351 <function name="pango_x_font_cache_unload">
10353 Frees a font structure previously loaded with pango_x_font_cache_load().
10357 <parameter name="cache">
10358 <parameter_description> a #PangoXFontCache
10359 </parameter_description>
10361 <parameter name="fs">
10362 <parameter_description> the font structure to unload
10363 </parameter_description>
10369 <function name="pango_renderer_draw_glyphs">
10371 Draws the glyphs in @glyphs with the specified #PangoRenderer.
10377 <parameter name="renderer">
10378 <parameter_description> a #PangoRenderer
10379 </parameter_description>
10381 <parameter name="font">
10382 <parameter_description> a #PangoFont
10383 </parameter_description>
10385 <parameter name="glyphs">
10386 <parameter_description> a #PangoGlyphString
10387 </parameter_description>
10389 <parameter name="x">
10390 <parameter_description> X position of left edge of baseline, in user space coordinates
10392 </parameter_description>
10394 <parameter name="y">
10395 <parameter_description> Y position of left edge of baseline, in user space coordinates
10397 </parameter_description>
10403 <function name="pango_version_string">
10405 This is similar to the macro %PANGO_VERSION_STRING except that
10406 it returns the version of Pango available at run-time, as opposed to
10407 the version available at compile-time.
10413 <return>value: A string containing the version of Pango library
10414 available at run time.
10415 The returned string is owned by Pango and should not be modified
10422 <function name="pango_glyph_string_new">
10424 Create a new #PangoGlyphString.
10430 <return> the newly allocated #PangoGlyphString, which
10431 should be freed with pango_glyph_string_free().
10435 <function name="_pango_xft_font_get_mini_font">
10437 Gets the font used for drawing the digits in the
10438 missing-character hex squares
10443 <parameter name="xfont">
10444 <parameter_description> a #PangoXftFont
10445 </parameter_description>
10448 <return> the #PangoFont used for the digits; this
10449 value is associated with the main font and will be freed
10450 along with the main font.
10454 <function name="pango_layout_get_log_attrs">
10456 Retrieves an array of logical attributes for each character in
10461 <parameter name="layout">
10462 <parameter_description> a #PangoLayout
10463 </parameter_description>
10465 <parameter name="attrs">
10466 <parameter_description> location to store a pointer to an array of logical attributes
10467 This value must be freed with g_free().
10468 </parameter_description>
10470 <parameter name="n_attrs">
10471 <parameter_description> location to store the number of the attributes in the
10472 array. (The stored value will be one more than the total number
10473 of characters in the layout, since there need to be attributes
10474 corresponding to both the position before the first character
10475 and the position after the last character.)
10476 </parameter_description>
10482 <function name="pango_glyph_string_free">
10484 Free a glyph string and associated storage.
10488 <parameter name="string">
10489 <parameter_description> a #PangoGlyphString.
10490 </parameter_description>
10496 <function name="_pango_layout_line_ellipsize">
10498 Given a #PangoLayoutLine with the runs still in logical order, ellipsize
10499 it according the layout's policy to fit within the set width of the layout.
10504 <parameter name="line">
10505 <parameter_description> a #PangoLayoutLine
10506 </parameter_description>
10508 <parameter name="attrs">
10509 <parameter_description> Attributes being used for itemization/shaping
10510 </parameter_description>
10513 <return> whether the line had to be ellipsized
10517 <function name="pango_gravity_get_for_matrix">
10519 Finds the gravity that best matches the rotation component
10525 <parameter name="matrix">
10526 <parameter_description> a #PangoMatrix
10527 </parameter_description>
10530 <return> the gravity of @matrix, which will never be
10531 %PANGO_GRAVITY_AUTO, or %PANGO_GRAVITY_SOUTH if @matrix is %NULL
10537 <function name="pango_cairo_error_underline_path">
10539 Add a squiggly line to the current path in the specified cairo context that
10540 approximately covers the given rectangle in the style of an underline used
10541 to indicate a spelling error. (The width of the underline is rounded to an
10542 integer number of up/down segments and the resulting rectangle is centered
10543 in the original rectangle)
10549 <parameter name="cr">
10550 <parameter_description> a Cairo context
10551 </parameter_description>
10553 <parameter name="x">
10554 <parameter_description> The X coordinate of one corner of the rectangle
10555 </parameter_description>
10557 <parameter name="y">
10558 <parameter_description> The Y coordinate of one corner of the rectangle
10559 </parameter_description>
10561 <parameter name="width">
10562 <parameter_description> Non-negative width of the rectangle
10563 </parameter_description>
10565 <parameter name="height">
10566 <parameter_description> Non-negative height of the rectangle
10567 </parameter_description>
10573 <function name="pango_layout_get_single_paragraph_mode">
10575 Obtains the value set by pango_layout_set_single_paragraph_mode().
10580 <parameter name="layout">
10581 <parameter_description> a #PangoLayout
10582 </parameter_description>
10585 <return> %TRUE if the layout does not break paragraphs at
10586 paragraph separator characters, %FALSE otherwise.
10590 <function name="pango_cairo_context_get_resolution">
10592 Gets the resolution for the context. See pango_cairo_context_set_resolution()
10597 <parameter name="context">
10598 <parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
10599 </parameter_description>
10602 <return> the resolution in "dots per inch". A negative value will
10603 be returned if no resolution has previously been set.
10609 <function name="pango_font_metrics_ref">
10611 Increase the reference count of a font metrics structure by one.
10616 <parameter name="metrics">
10617 <parameter_description> a #PangoFontMetrics structure
10618 </parameter_description>
10625 <function name="pango_attr_rise_new">
10627 Create a new baseline displacement attribute.
10632 <parameter name="rise">
10633 <parameter_description> the amount that the text should be displaced vertically,
10634 in Pango units. Positive values displace the text upwards.
10635 </parameter_description>
10638 <return> the newly allocated #PangoAttribute, which should be
10639 freed with pango_attribute_destroy().
10643 <function name="pango_layout_get_size">
10645 Determines the logical width and height of a #PangoLayout
10646 in Pango units (device units scaled by %PANGO_SCALE). This
10647 is simply a convenience function around pango_layout_get_extents().
10651 <parameter name="layout">
10652 <parameter_description> a #PangoLayout
10653 </parameter_description>
10655 <parameter name="width">
10656 <parameter_description> location to store the logical width, or %NULL
10657 </parameter_description>
10659 <parameter name="height">
10660 <parameter_description> location to store the logical height, or %NULL
10661 </parameter_description>
10667 <function name="pango_context_new">
10669 Creates a new #PangoContext initialized to default value.
10671 This function is only useful when implementing a new backend
10672 for Pango, something applications won't do. You should use
10673 the context creation function for the backend you are using,
10674 for example, pango_cairo_font_map_create_context(), pango_xft_get_context(),
10675 pango_win32_get_context() or, pango_ft2_font_map_create_context().
10677 If you are using Pango as part of a higher-level system,
10678 that system may have it's own ways of create a #PangoContext.
10679 For instance, the GTK+ toolkit has, among others,
10680 gdk_pango_context_get_for_screen(), and
10681 gtk_widget_get_pango_context().
10687 <return> the newly allocated #PangoContext, which should
10688 be freed with g_object_unref().
10692 <function name="pango_itemize_with_base_dir">
10694 Like pango_itemize(), but the base direction to use when
10695 computing bidirectional levels (see pango_context_set_base_dir ()),
10696 is specified explicitly rather than gotten from the #PangoContext.
10701 <parameter name="context">
10702 <parameter_description> a structure holding information that affects
10703 the itemization process.
10704 </parameter_description>
10706 <parameter name="text">
10707 <parameter_description> the text to itemize.
10708 </parameter_description>
10710 <parameter name="start_index">
10711 <parameter_description> first byte in @text to process
10712 </parameter_description>
10714 <parameter name="length">
10715 <parameter_description> the number of bytes (not characters) to process
10716 after @start_index.
10717 This must be &gt;= 0.
10718 </parameter_description>
10720 <parameter name="base_dir">
10721 <parameter_description> base direction to use for bidirectional processing
10722 </parameter_description>
10724 <parameter name="attrs">
10725 <parameter_description> the set of attributes that apply to @text.
10726 </parameter_description>
10728 <parameter name="cached_iter">
10729 <parameter_description> Cached attribute iterator, or %NULL
10730 </parameter_description>
10733 <return> a #GList of #PangoItem structures. The items should be
10734 freed using pango_item_free() probably in combination with g_list_foreach(),
10735 and the list itself using g_list_free().
10741 <function name="pango_xft_picture_render">
10743 Renders a #PangoGlyphString onto an Xrender &lt;type&gt;Picture&lt;/type&gt; object.
10747 <parameter name="display">
10748 <parameter_description> an X display
10749 </parameter_description>
10751 <parameter name="src_picture">
10752 <parameter_description> the source picture to draw the string with
10753 </parameter_description>
10755 <parameter name="dest_picture">
10756 <parameter_description> the destination picture to draw the string onto
10757 </parameter_description>
10759 <parameter name="font">
10760 <parameter_description> the font in which to draw the string
10761 </parameter_description>
10763 <parameter name="glyphs">
10764 <parameter_description> the glyph string to draw
10765 </parameter_description>
10767 <parameter name="x">
10768 <parameter_description> the x position of start of string (in pixels)
10769 </parameter_description>
10771 <parameter name="y">
10772 <parameter_description> the y position of baseline (in pixels)
10773 </parameter_description>
10779 <function name="pango_layout_line_get_x_ranges">
10781 Gets a list of visual ranges corresponding to a given logical range.
10782 This list is not necessarily minimal - there may be consecutive
10783 ranges which are adjacent. The ranges will be sorted from left to
10784 right. The ranges are with respect to the left edge of the entire
10785 layout, not with respect to the line.
10789 <parameter name="line">
10790 <parameter_description> a #PangoLayoutLine
10791 </parameter_description>
10793 <parameter name="start_index">
10794 <parameter_description> Start byte index of the logical range. If this value
10795 is less than the start index for the line, then
10796 the first range will extend all the way to the leading
10797 edge of the layout. Otherwise it will start at the
10798 leading edge of the first character.
10799 </parameter_description>
10801 <parameter name="end_index">
10802 <parameter_description> Ending byte index of the logical range. If this value
10803 is greater than the end index for the line, then
10804 the last range will extend all the way to the trailing
10805 edge of the layout. Otherwise, it will end at the
10806 trailing edge of the last character.
10807 </parameter_description>
10809 <parameter name="ranges">
10810 <parameter_description> location to store a pointer to an array of ranges.
10811 The array will be of length &lt;literal&gt;2*n_ranges&lt;/literal&gt;,
10812 with each range starting at &lt;literal&gt;(*ranges)[2*n]&lt;/literal&gt;
10813 and of width &lt;literal&gt;(*ranges)[2*n + 1] - (*ranges)[2*n]&lt;/literal&gt;.
10814 This array must be freed with g_free(). The coordinates are relative
10815 to the layout and are in #PangoGlyphUnit.
10816 </parameter_description>
10818 <parameter name="n_ranges">
10819 <parameter_description> The number of ranges stored in @ranges.
10820 </parameter_description>
10826 <function name="pango_attr_iterator_destroy">
10828 Destroy a #PangoAttrIterator and free all associated memory.
10832 <parameter name="iterator">
10833 <parameter_description> a #PangoAttrIterator.
10834 </parameter_description>
10840 <function name="pango_ot_info_list_features">
10842 Obtains the list of features for the given language of the given script.
10847 <parameter name="info">
10848 <parameter_description> a #PangoOTInfo.
10849 </parameter_description>
10851 <parameter name="table_type">
10852 <parameter_description> the table type to obtain information about.
10853 </parameter_description>
10855 <parameter name="tag">
10856 <parameter_description> unused parameter.
10857 </parameter_description>
10859 <parameter name="script_index">
10860 <parameter_description> the index of the script to obtain information about.
10861 </parameter_description>
10863 <parameter name="language_index">
10864 <parameter_description> the index of the language to list features for, or
10865 %PANGO_OT_DEFAULT_LANGUAGE, to list features for the default
10866 language of the script.
10867 </parameter_description>
10870 <return> a newly-allocated zero-terminated array containing the tags of the
10871 available features. Should be freed using g_free().
10875 <function name="pango_font_metrics_unref">
10877 Decrease the reference count of a font metrics structure by one. If
10878 the result is zero, frees the structure and any associated
10883 <parameter name="metrics">
10884 <parameter_description> a #PangoFontMetrics structure
10885 </parameter_description>
10891 <function name="pango_xft_render_layout_line">
10893 Render a #PangoLayoutLine onto a #XftDraw
10899 <parameter name="draw">
10900 <parameter_description> an #XftDraw
10901 </parameter_description>
10903 <parameter name="color">
10904 <parameter_description> the foreground color in which to draw the layout line
10905 (may be overridden by color attributes)
10906 </parameter_description>
10908 <parameter name="line">
10909 <parameter_description> a #PangoLayoutLine
10910 </parameter_description>
10912 <parameter name="x">
10913 <parameter_description> the x position of start of string (in Pango units)
10914 </parameter_description>
10916 <parameter name="y">
10917 <parameter_description> the y position of baseline (in Pango units)
10918 </parameter_description>
10924 <function name="pango_win32_font_description_from_logfontw">
10926 Creates a #PangoFontDescription that matches the specified LOGFONTW.
10928 The face name, italicness and weight fields in the LOGFONTW are used
10929 to set up the resulting #PangoFontDescription. If the face name in
10930 the LOGFONTW contains non-ASCII characters the font is temporarily
10931 loaded (using CreateFontIndirect()) and an ASCII (usually English)
10932 name for it is looked up from the font name tables in the font
10933 data. If that doesn't work, the face name is converted from UTF-16
10934 to UTF-8 and that is used.
10939 <parameter name="lfp">
10940 <parameter_description> a LOGFONTW
10941 </parameter_description>
10944 <return> the newly allocated #PangoFontDescription, which
10945 should be freed using pango_font_description_free()
10951 <function name="pango_context_get_gravity">
10953 Retrieves the gravity for the context. This is similar to
10954 pango_context_get_base_gravity(), except for when the base gravity
10955 is %PANGO_GRAVITY_AUTO for which pango_gravity_get_for_matrix() is used
10956 to return the gravity from the current context matrix.
10961 <parameter name="context">
10962 <parameter_description> a #PangoContext
10963 </parameter_description>
10966 <return> the resolved gravity for the context.
10972 <function name="pango_font_description_copy_static">
10974 Like pango_font_description_copy(), but only a shallow copy is made
10975 of the family name and other allocated fields. The result can only
10976 be used until @desc is modified or freed. This is meant to be used
10977 when the copy is only needed temporarily.
10982 <parameter name="desc">
10983 <parameter_description> a #PangoFontDescription
10984 </parameter_description>
10987 <return> the newly allocated #PangoFontDescription, which should
10988 be freed with pango_font_description_free().
10992 <function name="pango_is_zero_width">
10994 Checks @ch to see if it is a character that should not be
10995 normally rendered on the screen. This includes all Unicode characters
10996 with "ZERO WIDTH" in their name, as well as &lt;firstterm&gt;bidi&lt;/firstterm&gt; formatting characters, and
10997 a few other ones. This is totally different from g_unichar_iszerowidth()
10998 and is at best misnamed.
11003 <parameter name="ch">
11004 <parameter_description> a Unicode character
11005 </parameter_description>
11008 <return> %TRUE if @ch is a zero-width character, %FALSE otherwise
11014 <function name="pango_attr_style_new">
11016 Create a new font slant style attribute.
11021 <parameter name="style">
11022 <parameter_description> the slant style
11023 </parameter_description>
11026 <return> the newly allocated #PangoAttribute, which should be
11027 freed with pango_attribute_destroy().
11031 <function name="pango_font_get_font_map">
11033 Gets the font map for which the font was created.
11038 <parameter name="font">
11039 <parameter_description> a #PangoFont
11040 </parameter_description>
11043 <return> the #PangoFontMap for the font
11049 <function name="pango_layout_iter_next_run">
11051 Moves @iter forward to the next run in visual order. If @iter was
11052 already at the end of the layout, returns %FALSE.
11057 <parameter name="iter">
11058 <parameter_description> a #PangoLayoutIter
11059 </parameter_description>
11062 <return> whether motion was possible.
11066 <function name="pango_cairo_update_context">
11068 Updates a #PangoContext previously created for use with Cairo to
11069 match the current transformation and target surface of a Cairo
11070 context. If any layouts have been created for the context,
11071 it's necessary to call pango_layout_context_changed() on those
11078 <parameter name="cr">
11079 <parameter_description> a Cairo context
11080 </parameter_description>
11082 <parameter name="context">
11083 <parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
11084 </parameter_description>
11090 <function name="pango_layout_get_context">
11092 Retrieves the #PangoContext used for this layout.
11097 <parameter name="layout">
11098 <parameter_description> a #PangoLayout
11099 </parameter_description>
11102 <return> the #PangoContext for the layout. This does not
11103 have an additional refcount added, so if you want to keep
11104 a copy of this around, you must reference it yourself.
11108 <function name="pango_parse_style">
11110 Parses a font style. The allowed values are "normal",
11111 "italic" and "oblique", case variations being
11117 <parameter name="str">
11118 <parameter_description> a string to parse.
11119 </parameter_description>
11121 <parameter name="style">
11122 <parameter_description> a #PangoStyle to store the result in.
11123 </parameter_description>
11125 <parameter name="warn">
11126 <parameter_description> if %TRUE, issue a g_warning() on bad input.
11127 </parameter_description>
11130 <return> %TRUE if @str was successfully parsed.
11134 <function name="pango_attr_strikethrough_new">
11136 Create a new strike-through attribute.
11141 <parameter name="strikethrough">
11142 <parameter_description> %TRUE if the text should be struck-through.
11143 </parameter_description>
11146 <return> the newly allocated #PangoAttribute, which should be
11147 freed with pango_attribute_destroy().
11151 <function name="pango_glyph_string_copy">
11153 Copy a glyph string and associated storage.
11158 <parameter name="string">
11159 <parameter_description> a #PangoGlyphString.
11160 </parameter_description>
11163 <return> the newly allocated #PangoGlyphString, which
11164 should be freed with pango_glyph_string_free().
11168 <function name="pango_layout_get_line_count">
11170 Retrieves the count of lines for the @layout.
11175 <parameter name="layout">
11176 <parameter_description> #PangoLayout
11177 </parameter_description>
11180 <return> the line count.
11184 <function name="pango_layout_iter_get_line_yrange">
11186 Divides the vertical space in the #PangoLayout being iterated over
11187 between the lines in the layout, and returns the space belonging to
11188 the current line. A line's range includes the line's logical
11189 extents, plus half of the spacing above and below the line, if
11190 pango_layout_set_spacing() has been called to set layout spacing.
11191 The Y positions are in layout coordinates (origin at top left of the
11197 <parameter name="iter">
11198 <parameter_description> a #PangoLayoutIter
11199 </parameter_description>
11201 <parameter name="y0_">
11202 <parameter_description> start of line
11203 </parameter_description>
11205 <parameter name="y1_">
11206 <parameter_description> end of line
11207 </parameter_description>
11213 <function name="pango_log2vis_get_embedding_levels">
11215 This will return the bidirectional embedding levels of the input paragraph
11216 as defined by the Unicode Bidirectional Algorithm available at:
11218 http://www.unicode.org/reports/tr9/
11220 If the input base direction is a weak direction, the direction of the
11221 characters in the text will determine the final resolved direction.
11226 <parameter name="text">
11227 <parameter_description> the text to itemize.
11228 </parameter_description>
11230 <parameter name="length">
11231 <parameter_description> the number of bytes (not characters) to process, or -1
11232 if @text is nul-terminated and the length should be calculated.
11233 </parameter_description>
11235 <parameter name="pbase_dir">
11236 <parameter_description> input base direction, and output resolved direction.
11237 </parameter_description>
11240 <return> a newly allocated array of embedding levels, one item per
11241 character (not byte), that should be freed using g_free.
11247 <function name="pango_glyph_string_extents">
11249 Compute the logical and ink extents of a glyph string. See the documentation
11250 for pango_font_get_glyph_extents() for details about the interpretation
11255 <parameter name="glyphs">
11256 <parameter_description> a #PangoGlyphString
11257 </parameter_description>
11259 <parameter name="font">
11260 <parameter_description> a #PangoFont
11261 </parameter_description>
11263 <parameter name="ink_rect">
11264 <parameter_description> rectangle used to store the extents of the glyph string as drawn
11265 or %NULL to indicate that the result is not needed.
11266 </parameter_description>
11268 <parameter name="logical_rect">
11269 <parameter_description> rectangle used to store the logical extents of the glyph string
11270 or %NULL to indicate that the result is not needed.
11271 </parameter_description>
11277 <function name="pango_xft_render_transformed">
11279 Renders a #PangoGlyphString onto a #XftDraw, possibly
11280 transforming the layed-out coordinates through a transformation
11281 matrix. Note that the transformation matrix for @font is not
11282 changed, so to produce correct rendering results, the @font
11283 must have been loaded using a #PangoContext with an identical
11284 transformation matrix to that passed in to this function.
11290 <parameter name="draw">
11291 <parameter_description> an #XftDraw
11292 </parameter_description>
11294 <parameter name="color">
11295 <parameter_description> the color in which to draw the glyphs
11296 </parameter_description>
11298 <parameter name="font">
11299 <parameter_description> the font in which to draw the string
11300 </parameter_description>
11302 <parameter name="matrix">
11303 <parameter_description> a #PangoMatrix, or %NULL to use an identity transformation
11304 </parameter_description>
11306 <parameter name="glyphs">
11307 <parameter_description> the glyph string to draw
11308 </parameter_description>
11310 <parameter name="x">
11311 <parameter_description> the x position of the start of the string (in Pango
11312 units in user space coordinates)
11313 </parameter_description>
11315 <parameter name="y">
11316 <parameter_description> the y position of the baseline (in Pango units
11317 in user space coordinates)
11318 </parameter_description>
11324 <function name="pango_layout_set_single_paragraph_mode">
11326 If @setting is %TRUE, do not treat newlines and similar characters
11327 as paragraph separators; instead, keep all text in a single paragraph,
11328 and display a glyph for paragraph separator characters. Used when
11329 you want to allow editing of newlines on a single text line.
11334 <parameter name="layout">
11335 <parameter_description> a #PangoLayout
11336 </parameter_description>
11338 <parameter name="setting">
11339 <parameter_description> new setting
11340 </parameter_description>
11346 <function name="pango_win32_get_dc">
11348 Obtains a handle to the Windows device context that is used by Pango.
11354 <return> A handle to the Windows device context that is used by Pango.
11358 <function name="pango_layout_iter_get_line_extents">
11360 Obtains the extents of the current line. @ink_rect or @logical_rect
11361 can be %NULL if you aren't interested in them. Extents are in layout
11362 coordinates (origin is the top-left corner of the entire
11363 #PangoLayout). Thus the extents returned by this function will be
11364 the same width/height but not at the same x/y as the extents
11365 returned from pango_layout_line_get_extents().
11370 <parameter name="iter">
11371 <parameter_description> a #PangoLayoutIter
11372 </parameter_description>
11374 <parameter name="ink_rect">
11375 <parameter_description> rectangle to fill with ink extents, or %NULL
11376 </parameter_description>
11378 <parameter name="logical_rect">
11379 <parameter_description> rectangle to fill with logical extents, or %NULL
11380 </parameter_description>
11386 <function name="pango_layout_iter_next_char">
11388 Moves @iter forward to the next character in visual order. If @iter was already at
11389 the end of the layout, returns %FALSE.
11394 <parameter name="iter">
11395 <parameter_description> a #PangoLayoutIter
11396 </parameter_description>
11399 <return> whether motion was possible.
11403 <function name="_pango_cairo_context_merge_font_options">
11405 Merge together options from the target surface and explicitly set
11411 <parameter name="context">
11412 <parameter_description> a #PangoContext
11413 </parameter_description>
11415 <parameter name="options">
11416 <parameter_description> a #cairo_font_options_t
11417 </parameter_description>
11420 <return> the combined set of font options. This value is owned
11421 by the context and must not be modified or freed.
11425 <function name="pango_font_description_set_style">
11427 Sets the style field of a #PangoFontDescription. The
11428 #PangoStyle enumeration describes whether the font is slanted and
11429 the manner in which it is slanted; it can be either
11430 #PANGO_STYLE_NORMAL, #PANGO_STYLE_ITALIC, or #PANGO_STYLE_OBLIQUE.
11431 Most fonts will either have a italic style or an oblique
11432 style, but not both, and font matching in Pango will
11433 match italic specifications with oblique fonts and vice-versa
11434 if an exact match is not found.
11438 <parameter name="desc">
11439 <parameter_description> a #PangoFontDescription
11440 </parameter_description>
11442 <parameter name="style">
11443 <parameter_description> the style for the font description
11444 </parameter_description>
11450 <function name="pango_attr_shape_new">
11452 Create a new shape attribute. A shape is used to impose a
11453 particular ink and logical rectangle on the result of shaping a
11454 particular glyph. This might be used, for instance, for
11455 embedding a picture or a widget inside a #PangoLayout.
11460 <parameter name="ink_rect">
11461 <parameter_description> ink rectangle to assign to each character
11462 </parameter_description>
11464 <parameter name="logical_rect">
11465 <parameter_description> logical rectangle to assign to each character
11466 </parameter_description>
11469 <return> the newly allocated #PangoAttribute, which should be
11470 freed with pango_attribute_destroy().
11474 <function name="pango_ot_tag_from_script">
11476 Finds the OpenType script tag corresponding to @script.
11478 The %PANGO_SCRIPT_COMMON, %PANGO_SCRIPT_INHERITED, and
11479 %PANGO_SCRIPT_UNKNOWN scripts are mapped to the OpenType
11480 'DFLT' script tag that is also defined as
11481 %PANGO_OT_TAG_DEFAULT_SCRIPT.
11483 Note that multiple #PangoScript values may map to the same
11484 OpenType script tag. In particular, %PANGO_SCRIPT_HIRAGANA
11485 and %PANGO_SCRIPT_KATAKANA both map to the OT tag 'kana'.
11490 <parameter name="script">
11491 <parameter_description> A #PangoScript
11492 </parameter_description>
11495 <return> #PangoOTTag corresponding to @script or
11496 %PANGO_OT_TAG_DEFAULT_SCRIPT if none found.
11502 <function name="pango_ot_buffer_get_glyphs">
11504 Gets the glyph array contained in a #PangoOTBuffer. The glyphs are
11505 owned by the buffer and should not be freed, and are only valid as long
11506 as buffer is not modified.
11512 <parameter name="buffer">
11513 <parameter_description> a #PangoOTBuffer
11514 </parameter_description>
11516 <parameter name="glyphs">
11517 <parameter_description> location to store the array of glyphs, or %NULL
11518 </parameter_description>
11520 <parameter name="n_glyphs">
11521 <parameter_description> location to store the number of glyphs, or %NULL
11522 </parameter_description>
11528 <function name="pango_layout_context_changed">
11530 Forces recomputation of any state in the #PangoLayout that
11531 might depend on the layout's context. This function should
11532 be called if you make changes to the context subsequent
11533 to creating the layout.
11537 <parameter name="layout">
11538 <parameter_description> a #PangoLayout
11539 </parameter_description>
11545 <function name="pango_layout_set_tabs">
11547 Sets the tabs to use for @layout, overriding the default tabs
11548 (by default, tabs are every 8 spaces). If @tabs is %NULL, the default
11549 tabs are reinstated. @tabs is copied into the layout; you must
11550 free your copy of @tabs yourself.
11554 <parameter name="layout">
11555 <parameter_description> a #PangoLayout
11556 </parameter_description>
11558 <parameter name="tabs">
11559 <parameter_description> a #PangoTabArray
11560 </parameter_description>
11566 <function name="pango_tab_array_copy">
11568 Copies a #PangoTabArray
11573 <parameter name="src">
11574 <parameter_description> #PangoTabArray to copy
11575 </parameter_description>
11578 <return> the newly allocated #PangoTabArray, which should
11579 be freed with pango_tab_array_free().
11583 <function name="pango_font_metrics_get_underline_position">
11585 Gets the suggested position to draw the underline.
11586 The value returned is the distance &lt;emphasis&gt;above&lt;/emphasis&gt; the
11587 baseline of the top of the underline. Since most fonts have
11588 underline positions beneath the baseline, this value is typically
11594 <parameter name="metrics">
11595 <parameter_description> a #PangoFontMetrics structure
11596 </parameter_description>
11599 <return> the suggested underline position, in Pango units.
11605 <function name="pango_attr_fallback_new">
11607 Create a new font fallback attribute.
11609 If fallback is disabled, characters will only be used from the
11610 closest matching font on the system. No fallback will be done to
11611 other fonts on the system that might contain the characters in the
11617 <parameter name="enable_fallback">
11618 <parameter_description> %TRUE if we should fall back on other fonts
11619 for characters the active font is missing.
11620 </parameter_description>
11623 <return> the newly allocated #PangoAttribute, which should be
11624 freed with pango_attribute_destroy().
11630 <function name="pango_layout_get_line">
11632 Retrieves a particular line from a #PangoLayout.
11634 Use the faster pango_layout_get_line_readonly() if you do not plan
11635 to modify the contents of the line (glyphs, glyph widths, etc.).
11640 <parameter name="layout">
11641 <parameter_description> a #PangoLayout
11642 </parameter_description>
11644 <parameter name="line">
11645 <parameter_description> the index of a line, which must be between 0 and
11646 &lt;literal&gt;pango_layout_get_line_count(layout) - 1&lt;/literal&gt;, inclusive.
11647 </parameter_description>
11650 <return> the requested #PangoLayoutLine, or %NULL if the
11651 index is out of range. This layout line can
11652 be ref'ed and retained, but will become invalid
11653 if changes are made to the #PangoLayout.
11657 <function name="pango_context_load_fontset">
11659 Load a set of fonts in the context that can be used to render
11660 a font matching @desc.
11665 <parameter name="context">
11666 <parameter_description> a #PangoContext
11667 </parameter_description>
11669 <parameter name="desc">
11670 <parameter_description> a #PangoFontDescription describing the fonts to load
11671 </parameter_description>
11673 <parameter name="language">
11674 <parameter_description> a #PangoLanguage the fonts will be used for
11675 </parameter_description>
11678 <return>the fontset, or %NULL if no font matched.
11682 <function name="pango_units_from_double">
11684 Converts a floating-point number to Pango units: multiplies
11685 it by %PANGO_SCALE and rounds to nearest integer.
11690 <parameter name="d">
11691 <parameter_description> double floating-point value
11692 </parameter_description>
11695 <return> the value in Pango units.
11701 <function name="pango_xft_set_default_substitute">
11703 Sets a function that will be called to do final configuration
11704 substitution on a #FcPattern before it is used to load
11705 the font. This function can be used to do things like set
11706 hinting and antialiasing options.
11712 <parameter name="display">
11713 <parameter_description> an X Display
11714 </parameter_description>
11716 <parameter name="screen">
11717 <parameter_description> the screen number of a screen within @display
11718 </parameter_description>
11720 <parameter name="func">
11721 <parameter_description> function to call to to do final config tweaking
11722 on #FcPattern objects.
11723 </parameter_description>
11725 <parameter name="data">
11726 <parameter_description> data to pass to @func
11727 </parameter_description>
11729 <parameter name="notify">
11730 <parameter_description> function to call when @data is no longer used.
11731 </parameter_description>