1<root>
2<enum name="PangoAlignment">
3<description>
4A #PangoAlignment describes how to align the lines of a #PangoLayout within the
5available space. If the #PangoLayout is set to justify
6using pango_layout_set_justify(), this only has effect for partial lines.
7
8</description>
9<parameters>
10<parameter name="PANGO_ALIGN_LEFT">
11<parameter_description> Put all available space on the right
12</parameter_description>
13</parameter>
14<parameter name="PANGO_ALIGN_CENTER">
15<parameter_description> Center the line within the available space
16</parameter_description>
17</parameter>
18<parameter name="PANGO_ALIGN_RIGHT">
19<parameter_description> Put all available space on the left
20</parameter_description>
21</parameter>
22</parameters>
23</enum>
24
25<enum name="PangoAttrType">
26<description>
27The #PangoAttrType
28distinguishes between different types of attributes. Along with the
29predefined values, it is possible to allocate additional values
30for custom attributes using pango_attr_type_register(). The predefined
31values are given below. The type of structure used to store the
32attribute is listed in parentheses after the description.
33
34</description>
35<parameters>
36<parameter name="PANGO_ATTR_INVALID">
37<parameter_description> does not happen
38</parameter_description>
39</parameter>
40<parameter name="PANGO_ATTR_LANGUAGE">
41<parameter_description> language (#PangoAttrLanguage)
42</parameter_description>
43</parameter>
44<parameter name="PANGO_ATTR_FAMILY">
45<parameter_description> font family name list (#PangoAttrString)
46</parameter_description>
47</parameter>
48<parameter name="PANGO_ATTR_STYLE">
49<parameter_description> font slant style (#PangoAttrInt)
50</parameter_description>
51</parameter>
52<parameter name="PANGO_ATTR_WEIGHT">
53<parameter_description> font weight (#PangoAttrInt)
54</parameter_description>
55</parameter>
56<parameter name="PANGO_ATTR_VARIANT">
57<parameter_description> font variant (normal or small caps) (#PangoAttrInt)
58</parameter_description>
59</parameter>
60<parameter name="PANGO_ATTR_STRETCH">
61<parameter_description> font stretch (#PangoAttrInt)
62</parameter_description>
63</parameter>
64<parameter name="PANGO_ATTR_SIZE">
65<parameter_description> font size in points scaled by %PANGO_SCALE (#PangoAttrInt)
66</parameter_description>
67</parameter>
68<parameter name="PANGO_ATTR_FONT_DESC">
69<parameter_description> font description (#PangoAttrFontDesc)
70</parameter_description>
71</parameter>
72<parameter name="PANGO_ATTR_FOREGROUND">
73<parameter_description> foreground color (#PangoAttrColor)
74</parameter_description>
75</parameter>
76<parameter name="PANGO_ATTR_BACKGROUND">
77<parameter_description> background color (#PangoAttrColor)
78</parameter_description>
79</parameter>
80<parameter name="PANGO_ATTR_UNDERLINE">
81<parameter_description> whether the text has an underline (#PangoAttrInt)
82</parameter_description>
83</parameter>
84<parameter name="PANGO_ATTR_STRIKETHROUGH">
85<parameter_description> whether the text is struck-through (#PangoAttrInt)
86</parameter_description>
87</parameter>
88<parameter name="PANGO_ATTR_RISE">
89<parameter_description> baseline displacement (#PangoAttrInt)
90</parameter_description>
91</parameter>
92<parameter name="PANGO_ATTR_SHAPE">
93<parameter_description> shape (#PangoAttrShape)
94</parameter_description>
95</parameter>
96<parameter name="PANGO_ATTR_SCALE">
97<parameter_description> font size scale factor (#PangoAttrFloat)
98</parameter_description>
99</parameter>
100<parameter name="PANGO_ATTR_FALLBACK">
101<parameter_description> whether fallback is enabled (#PangoAttrInt)
102</parameter_description>
103</parameter>
104<parameter name="PANGO_ATTR_LETTER_SPACING">
105<parameter_description> letter spacing (#PangoAttrInt)
106</parameter_description>
107</parameter>
108<parameter name="PANGO_ATTR_UNDERLINE_COLOR">
109<parameter_description> underline color (#PangoAttrColor)
110</parameter_description>
111</parameter>
112<parameter name="PANGO_ATTR_STRIKETHROUGH_COLOR">
113<parameter_description> strikethrough color (#PangoAttrColor)
114</parameter_description>
115</parameter>
116<parameter name="PANGO_ATTR_ABSOLUTE_SIZE">
117<parameter_description> font size in pixels scaled by %PANGO_SCALE (#PangoAttrInt)
118</parameter_description>
119</parameter>
120<parameter name="PANGO_ATTR_GRAVITY">
121<parameter_description> base text gravity (#PangoAttrInt)
122</parameter_description>
123</parameter>
124<parameter name="PANGO_ATTR_GRAVITY_HINT">
125<parameter_description> gravity hint (#PangoAttrInt)
126</parameter_description>
127</parameter>
128<parameter name="PANGO_ATTR_FONT_FEATURES">
129<parameter_description> OpenType font features (#PangoAttrString). Since 1.38
130</parameter_description>
131</parameter>
132<parameter name="PANGO_ATTR_FOREGROUND_ALPHA">
133<parameter_description> foreground alpha (#PangoAttrInt). Since 1.38
134</parameter_description>
135</parameter>
136<parameter name="PANGO_ATTR_BACKGROUND_ALPHA">
137<parameter_description> background alpha (#PangoAttrInt). Since 1.38
138</parameter_description>
139</parameter>
140</parameters>
141</enum>
142
143<enum name="PangoBidiType">
144<description>
145The #PangoBidiType type represents the bidirectional character
146type of a Unicode character as specified by the
147&lt;ulink url=&quot;http://www.unicode.org/reports/tr9/&quot;&gt;Unicode bidirectional algorithm&lt;/ulink&gt;.
148
149Since: 1.22
150
151</description>
152<parameters>
153<parameter name="PANGO_BIDI_TYPE_L">
154<parameter_description> Left-to-Right
155</parameter_description>
156</parameter>
157<parameter name="PANGO_BIDI_TYPE_LRE">
158<parameter_description> Left-to-Right Embedding
159</parameter_description>
160</parameter>
161<parameter name="PANGO_BIDI_TYPE_LRO">
162<parameter_description> Left-to-Right Override
163</parameter_description>
164</parameter>
165<parameter name="PANGO_BIDI_TYPE_R">
166<parameter_description> Right-to-Left
167</parameter_description>
168</parameter>
169<parameter name="PANGO_BIDI_TYPE_AL">
170<parameter_description> Right-to-Left Arabic
171</parameter_description>
172</parameter>
173<parameter name="PANGO_BIDI_TYPE_RLE">
174<parameter_description> Right-to-Left Embedding
175</parameter_description>
176</parameter>
177<parameter name="PANGO_BIDI_TYPE_RLO">
178<parameter_description> Right-to-Left Override
179</parameter_description>
180</parameter>
181<parameter name="PANGO_BIDI_TYPE_PDF">
182<parameter_description> Pop Directional Format
183</parameter_description>
184</parameter>
185<parameter name="PANGO_BIDI_TYPE_EN">
186<parameter_description> European Number
187</parameter_description>
188</parameter>
189<parameter name="PANGO_BIDI_TYPE_ES">
190<parameter_description> European Number Separator
191</parameter_description>
192</parameter>
193<parameter name="PANGO_BIDI_TYPE_ET">
194<parameter_description> European Number Terminator
195</parameter_description>
196</parameter>
197<parameter name="PANGO_BIDI_TYPE_AN">
198<parameter_description> Arabic Number
199</parameter_description>
200</parameter>
201<parameter name="PANGO_BIDI_TYPE_CS">
202<parameter_description> Common Number Separator
203</parameter_description>
204</parameter>
205<parameter name="PANGO_BIDI_TYPE_NSM">
206<parameter_description> Nonspacing Mark
207</parameter_description>
208</parameter>
209<parameter name="PANGO_BIDI_TYPE_BN">
210<parameter_description> Boundary Neutral
211</parameter_description>
212</parameter>
213<parameter name="PANGO_BIDI_TYPE_B">
214<parameter_description> Paragraph Separator
215</parameter_description>
216</parameter>
217<parameter name="PANGO_BIDI_TYPE_S">
218<parameter_description> Segment Separator
219</parameter_description>
220</parameter>
221<parameter name="PANGO_BIDI_TYPE_WS">
222<parameter_description> Whitespace
223</parameter_description>
224</parameter>
225<parameter name="PANGO_BIDI_TYPE_ON">
226<parameter_description> Other Neutrals
227</parameter_description>
228</parameter>
229</parameters>
230</enum>
231
232<enum name="PangoCoverageLevel">
233<description>
234Used to indicate how well a font can represent a particular Unicode
235character point for a particular script.
236
237</description>
238<parameters>
239<parameter name="PANGO_COVERAGE_NONE">
240<parameter_description> The character is not representable with the font.
241</parameter_description>
242</parameter>
243<parameter name="PANGO_COVERAGE_FALLBACK">
244<parameter_description> The character is represented in a way that may be
245comprehensible but is not the correct graphical form.
246For instance, a Hangul character represented as a
247a sequence of Jamos, or a Latin transliteration of a Cyrillic word.
248</parameter_description>
249</parameter>
250<parameter name="PANGO_COVERAGE_APPROXIMATE">
251<parameter_description> The character is represented as basically the correct
252graphical form, but with a stylistic variant inappropriate for
253the current script.
254</parameter_description>
255</parameter>
256<parameter name="PANGO_COVERAGE_EXACT">
257<parameter_description> The character is represented as the correct graphical form.
258</parameter_description>
259</parameter>
260</parameters>
261</enum>
262
263<enum name="PangoDirection">
264<description>
265The #PangoDirection type represents a direction in the
266Unicode bidirectional algorithm; not every value in this
267enumeration makes sense for every usage of #PangoDirection;
268for example, the return value of pango_unichar_direction()
269and pango_find_base_dir() cannot be %PANGO_DIRECTION_WEAK_LTR
270or %PANGO_DIRECTION_WEAK_RTL, since every character is either
271neutral or has a strong direction; on the other hand
272%PANGO_DIRECTION_NEUTRAL doesn't make sense to pass
273to pango_itemize_with_base_dir().
274
275The %PANGO_DIRECTION_TTB_LTR, %PANGO_DIRECTION_TTB_RTL
276values come from an earlier interpretation of this
277enumeration as the writing direction of a block of
278text and are no longer used; See #PangoGravity for how
279vertical text is handled in Pango.
280
281</description>
282<parameters>
283<parameter name="PANGO_DIRECTION_LTR">
284<parameter_description> A strong left-to-right direction
285</parameter_description>
286</parameter>
287<parameter name="PANGO_DIRECTION_RTL">
288<parameter_description> A strong right-to-left direction
289</parameter_description>
290</parameter>
291<parameter name="PANGO_DIRECTION_TTB_LTR">
292<parameter_description> Deprecated value; treated the
293same as %PANGO_DIRECTION_RTL.
294</parameter_description>
295</parameter>
296<parameter name="PANGO_DIRECTION_TTB_RTL">
297<parameter_description> Deprecated value; treated the
298same as %PANGO_DIRECTION_LTR
299</parameter_description>
300</parameter>
301<parameter name="PANGO_DIRECTION_WEAK_LTR">
302<parameter_description> A weak left-to-right direction
303</parameter_description>
304</parameter>
305<parameter name="PANGO_DIRECTION_WEAK_RTL">
306<parameter_description> A weak right-to-left direction
307</parameter_description>
308</parameter>
309<parameter name="PANGO_DIRECTION_NEUTRAL">
310<parameter_description> No direction specified
311</parameter_description>
312</parameter>
313</parameters>
314</enum>
315
316<enum name="PangoEllipsizeMode">
317<description>
318The #PangoEllipsizeMode type describes what sort of (if any)
319ellipsization should be applied to a line of text. In
320the ellipsization process characters are removed from the
321text in order to make it fit to a given width and replaced
322with an ellipsis.
323
324</description>
325<parameters>
326<parameter name="PANGO_ELLIPSIZE_NONE">
327<parameter_description> No ellipsization
328</parameter_description>
329</parameter>
330<parameter name="PANGO_ELLIPSIZE_START">
331<parameter_description> Omit characters at the start of the text
332</parameter_description>
333</parameter>
334<parameter name="PANGO_ELLIPSIZE_MIDDLE">
335<parameter_description> Omit characters in the middle of the text
336</parameter_description>
337</parameter>
338<parameter name="PANGO_ELLIPSIZE_END">
339<parameter_description> Omit characters at the end of the text
340</parameter_description>
341</parameter>
342</parameters>
343</enum>
344
345<enum name="PangoFontMask">
346<description>
347The bits in a #PangoFontMask correspond to fields in a
348#PangoFontDescription that have been set.
349
350</description>
351<parameters>
352<parameter name="PANGO_FONT_MASK_FAMILY">
353<parameter_description> the font family is specified.
354</parameter_description>
355</parameter>
356<parameter name="PANGO_FONT_MASK_STYLE">
357<parameter_description> the font style is specified.
358</parameter_description>
359</parameter>
360<parameter name="PANGO_FONT_MASK_VARIANT">
361<parameter_description> the font variant is specified.
362</parameter_description>
363</parameter>
364<parameter name="PANGO_FONT_MASK_WEIGHT">
365<parameter_description> the font weight is specified.
366</parameter_description>
367</parameter>
368<parameter name="PANGO_FONT_MASK_STRETCH">
369<parameter_description> the font stretch is specified.
370</parameter_description>
371</parameter>
372<parameter name="PANGO_FONT_MASK_SIZE">
373<parameter_description> the font size is specified.
374</parameter_description>
375</parameter>
376<parameter name="PANGO_FONT_MASK_GRAVITY">
377<parameter_description> the font gravity is specified (Since: 1.16.)
378</parameter_description>
379</parameter>
380</parameters>
381</enum>
382
383<enum name="PangoGravity">
384<description>
385The #PangoGravity type represents the orientation of glyphs in a segment
386of text.  This is useful when rendering vertical text layouts.  In
387those situations, the layout is rotated using a non-identity PangoMatrix,
388and then glyph orientation is controlled using #PangoGravity.
389Not every value in this enumeration makes sense for every usage of
390#PangoGravity; for example, %PANGO_GRAVITY_AUTO only can be passed to
391pango_context_set_base_gravity() and can only be returned by
392pango_context_get_base_gravity().
393
394See also: #PangoGravityHint
395
396Since: 1.16
397
398</description>
399<parameters>
400<parameter name="PANGO_GRAVITY_SOUTH">
401<parameter_description> Glyphs stand upright (default)
402</parameter_description>
403</parameter>
404<parameter name="PANGO_GRAVITY_EAST">
405<parameter_description> Glyphs are rotated 90 degrees clockwise
406</parameter_description>
407</parameter>
408<parameter name="PANGO_GRAVITY_NORTH">
409<parameter_description> Glyphs are upside-down
410</parameter_description>
411</parameter>
412<parameter name="PANGO_GRAVITY_WEST">
413<parameter_description> Glyphs are rotated 90 degrees counter-clockwise
414</parameter_description>
415</parameter>
416<parameter name="PANGO_GRAVITY_AUTO">
417<parameter_description> Gravity is resolved from the context matrix
418</parameter_description>
419</parameter>
420</parameters>
421</enum>
422
423<enum name="PangoGravityHint">
424<description>
425The #PangoGravityHint defines how horizontal scripts should behave in a
426vertical context.  That is, English excerpt in a vertical paragraph for
427example.
428
429See #PangoGravity.
430
431Since: 1.16
432
433</description>
434<parameters>
435<parameter name="PANGO_GRAVITY_HINT_NATURAL">
436<parameter_description> scripts will take their natural gravity based
437on the base gravity and the script.  This is the default.
438</parameter_description>
439</parameter>
440<parameter name="PANGO_GRAVITY_HINT_STRONG">
441<parameter_description> always use the base gravity set, regardless of
442the script.
443</parameter_description>
444</parameter>
445<parameter name="PANGO_GRAVITY_HINT_LINE">
446<parameter_description> for scripts not in their natural direction (eg.
447Latin in East gravity), choose per-script gravity such that every script
448respects the line progression.  This means, Latin and Arabic will take
449opposite gravities and both flow top-to-bottom for example.
450</parameter_description>
451</parameter>
452</parameters>
453</enum>
454
455<enum name="PangoOTTableType">
456<description>
457The &lt;type&gt;PangoOTTableType&lt;/type&gt; enumeration values are used to
458identify the various OpenType tables in the
459&lt;function&gt;pango_ot_info_*&lt;/function&gt; functions.
460
461</description>
462<parameters>
463<parameter name="PANGO_OT_TABLE_GSUB">
464<parameter_description> The GSUB table.
465</parameter_description>
466</parameter>
467<parameter name="PANGO_OT_TABLE_GPOS">
468<parameter_description> The GPOS table.
469</parameter_description>
470</parameter>
471</parameters>
472</enum>
473
474<enum name="PangoRenderPart">
475<description>
476#PangoRenderPart defines different items to render for such
477purposes as setting colors.
478
479Since: 1.8
480
481</description>
482<parameters>
483<parameter name="PANGO_RENDER_PART_FOREGROUND">
484<parameter_description> the text itself
485</parameter_description>
486</parameter>
487<parameter name="PANGO_RENDER_PART_BACKGROUND">
488<parameter_description> the area behind the text
489</parameter_description>
490</parameter>
491<parameter name="PANGO_RENDER_PART_UNDERLINE">
492<parameter_description> underlines
493</parameter_description>
494</parameter>
495<parameter name="PANGO_RENDER_PART_STRIKETHROUGH">
496<parameter_description> strikethrough lines
497</parameter_description>
498</parameter>
499</parameters>
500</enum>
501
502<enum name="PangoScript">
503<description>
504The #PangoScript enumeration identifies different writing
505systems. The values correspond to the names as defined in the
506Unicode standard.
507Note that new types may be added in the future. Applications should be ready
508to handle unknown values.  This enumeration is interchangeable with
509#GUnicodeScript.  See &lt;ulink
510url=&quot;http://www.unicode.org/reports/tr24/&quot;&gt;Unicode Standard Annex
511#24: Script names&lt;/ulink&gt;.
512
513</description>
514<parameters>
515<parameter name="PANGO_SCRIPT_INVALID_CODE">
516<parameter_description> a value never returned from pango_script_for_unichar()
517</parameter_description>
518</parameter>
519<parameter name="PANGO_SCRIPT_COMMON">
520<parameter_description> a character used by multiple different scripts
521</parameter_description>
522</parameter>
523<parameter name="PANGO_SCRIPT_INHERITED">
524<parameter_description> a mark glyph that takes its script from the
525base glyph to which it is attached
526</parameter_description>
527</parameter>
528<parameter name="PANGO_SCRIPT_ARABIC">
529<parameter_description> 	Arabic
530</parameter_description>
531</parameter>
532<parameter name="PANGO_SCRIPT_ARMENIAN">
533<parameter_description> Armenian
534</parameter_description>
535</parameter>
536<parameter name="PANGO_SCRIPT_BENGALI">
537<parameter_description> 	Bengali
538</parameter_description>
539</parameter>
540<parameter name="PANGO_SCRIPT_BOPOMOFO">
541<parameter_description> Bopomofo
542</parameter_description>
543</parameter>
544<parameter name="PANGO_SCRIPT_CHEROKEE">
545<parameter_description> 	Cherokee
546</parameter_description>
547</parameter>
548<parameter name="PANGO_SCRIPT_COPTIC">
549<parameter_description> 	Coptic
550</parameter_description>
551</parameter>
552<parameter name="PANGO_SCRIPT_CYRILLIC">
553<parameter_description> 	Cyrillic
554</parameter_description>
555</parameter>
556<parameter name="PANGO_SCRIPT_DESERET">
557<parameter_description> 	Deseret
558</parameter_description>
559</parameter>
560<parameter name="PANGO_SCRIPT_DEVANAGARI">
561<parameter_description> 	Devanagari
562</parameter_description>
563</parameter>
564<parameter name="PANGO_SCRIPT_ETHIOPIC">
565<parameter_description> 	Ethiopic
566</parameter_description>
567</parameter>
568<parameter name="PANGO_SCRIPT_GEORGIAN">
569<parameter_description> 	Georgian
570</parameter_description>
571</parameter>
572<parameter name="PANGO_SCRIPT_GOTHIC">
573<parameter_description> 	Gothic
574</parameter_description>
575</parameter>
576<parameter name="PANGO_SCRIPT_GREEK">
577<parameter_description> 	Greek
578</parameter_description>
579</parameter>
580<parameter name="PANGO_SCRIPT_GUJARATI">
581<parameter_description> 	Gujarati
582</parameter_description>
583</parameter>
584<parameter name="PANGO_SCRIPT_GURMUKHI">
585<parameter_description> 	Gurmukhi
586</parameter_description>
587</parameter>
588<parameter name="PANGO_SCRIPT_HAN">
589<parameter_description> 	Han
590</parameter_description>
591</parameter>
592<parameter name="PANGO_SCRIPT_HANGUL">
593<parameter_description> 	Hangul
594</parameter_description>
595</parameter>
596<parameter name="PANGO_SCRIPT_HEBREW">
597<parameter_description> 	Hebrew
598</parameter_description>
599</parameter>
600<parameter name="PANGO_SCRIPT_HIRAGANA">
601<parameter_description> 	Hiragana
602</parameter_description>
603</parameter>
604<parameter name="PANGO_SCRIPT_KANNADA">
605<parameter_description> 	Kannada
606</parameter_description>
607</parameter>
608<parameter name="PANGO_SCRIPT_KATAKANA">
609<parameter_description> 	Katakana
610</parameter_description>
611</parameter>
612<parameter name="PANGO_SCRIPT_KHMER">
613<parameter_description> 	Khmer
614</parameter_description>
615</parameter>
616<parameter name="PANGO_SCRIPT_LAO">
617<parameter_description> 	Lao
618</parameter_description>
619</parameter>
620<parameter name="PANGO_SCRIPT_LATIN">
621<parameter_description> 	Latin
622</parameter_description>
623</parameter>
624<parameter name="PANGO_SCRIPT_MALAYALAM">
625<parameter_description> 	Malayalam
626</parameter_description>
627</parameter>
628<parameter name="PANGO_SCRIPT_MONGOLIAN">
629<parameter_description> 	Mongolian
630</parameter_description>
631</parameter>
632<parameter name="PANGO_SCRIPT_MYANMAR">
633<parameter_description> 	Myanmar
634</parameter_description>
635</parameter>
636<parameter name="PANGO_SCRIPT_OGHAM">
637<parameter_description> 	Ogham
638</parameter_description>
639</parameter>
640<parameter name="PANGO_SCRIPT_OLD_ITALIC">
641<parameter_description> 	Old Italic
642</parameter_description>
643</parameter>
644<parameter name="PANGO_SCRIPT_ORIYA">
645<parameter_description> 	Oriya
646</parameter_description>
647</parameter>
648<parameter name="PANGO_SCRIPT_RUNIC">
649<parameter_description> 	Runic
650</parameter_description>
651</parameter>
652<parameter name="PANGO_SCRIPT_SINHALA">
653<parameter_description> 	Sinhala
654</parameter_description>
655</parameter>
656<parameter name="PANGO_SCRIPT_SYRIAC">
657<parameter_description> 	Syriac
658</parameter_description>
659</parameter>
660<parameter name="PANGO_SCRIPT_TAMIL">
661<parameter_description> 	Tamil
662</parameter_description>
663</parameter>
664<parameter name="PANGO_SCRIPT_TELUGU">
665<parameter_description> 	Telugu
666</parameter_description>
667</parameter>
668<parameter name="PANGO_SCRIPT_THAANA">
669<parameter_description> 	Thaana
670</parameter_description>
671</parameter>
672<parameter name="PANGO_SCRIPT_THAI">
673<parameter_description> 	Thai
674</parameter_description>
675</parameter>
676<parameter name="PANGO_SCRIPT_TIBETAN">
677<parameter_description> 	Tibetan
678</parameter_description>
679</parameter>
680<parameter name="PANGO_SCRIPT_CANADIAN_ABORIGINAL">
681<parameter_description> 	Canadian Aboriginal
682</parameter_description>
683</parameter>
684<parameter name="PANGO_SCRIPT_YI">
685<parameter_description> 	Yi
686</parameter_description>
687</parameter>
688<parameter name="PANGO_SCRIPT_TAGALOG">
689<parameter_description> 	Tagalog
690</parameter_description>
691</parameter>
692<parameter name="PANGO_SCRIPT_HANUNOO">
693<parameter_description> 	Hanunoo
694</parameter_description>
695</parameter>
696<parameter name="PANGO_SCRIPT_BUHID">
697<parameter_description> 	Buhid
698</parameter_description>
699</parameter>
700<parameter name="PANGO_SCRIPT_TAGBANWA">
701<parameter_description> 	Tagbanwa
702</parameter_description>
703</parameter>
704<parameter name="PANGO_SCRIPT_BRAILLE">
705<parameter_description> 	Braille
706</parameter_description>
707</parameter>
708<parameter name="PANGO_SCRIPT_CYPRIOT">
709<parameter_description> 	Cypriot
710</parameter_description>
711</parameter>
712<parameter name="PANGO_SCRIPT_LIMBU">
713<parameter_description> 	Limbu
714</parameter_description>
715</parameter>
716<parameter name="PANGO_SCRIPT_OSMANYA">
717<parameter_description> 	Osmanya
718</parameter_description>
719</parameter>
720<parameter name="PANGO_SCRIPT_SHAVIAN">
721<parameter_description> 	Shavian
722</parameter_description>
723</parameter>
724<parameter name="PANGO_SCRIPT_LINEAR_B">
725<parameter_description> 	Linear B
726</parameter_description>
727</parameter>
728<parameter name="PANGO_SCRIPT_TAI_LE">
729<parameter_description> 	Tai Le
730</parameter_description>
731</parameter>
732<parameter name="PANGO_SCRIPT_UGARITIC">
733<parameter_description> 	Ugaritic
734</parameter_description>
735</parameter>
736<parameter name="PANGO_SCRIPT_NEW_TAI_LUE">
737<parameter_description> 	New Tai Lue. Since 1.10
738</parameter_description>
739</parameter>
740<parameter name="PANGO_SCRIPT_BUGINESE">
741<parameter_description> 	Buginese. Since 1.10
742</parameter_description>
743</parameter>
744<parameter name="PANGO_SCRIPT_GLAGOLITIC">
745<parameter_description> 	Glagolitic. Since 1.10
746</parameter_description>
747</parameter>
748<parameter name="PANGO_SCRIPT_TIFINAGH">
749<parameter_description> 	Tifinagh. Since 1.10
750</parameter_description>
751</parameter>
752<parameter name="PANGO_SCRIPT_SYLOTI_NAGRI">
753<parameter_description> 	Syloti Nagri. Since 1.10
754</parameter_description>
755</parameter>
756<parameter name="PANGO_SCRIPT_OLD_PERSIAN">
757<parameter_description> 	Old Persian. Since 1.10
758</parameter_description>
759</parameter>
760<parameter name="PANGO_SCRIPT_KHAROSHTHI">
761<parameter_description> 	Kharoshthi. Since 1.10
762</parameter_description>
763</parameter>
764<parameter name="PANGO_SCRIPT_UNKNOWN">
765<parameter_description> 		an unassigned code point. Since 1.14
766</parameter_description>
767</parameter>
768<parameter name="PANGO_SCRIPT_BALINESE">
769<parameter_description> 		Balinese. Since 1.14
770</parameter_description>
771</parameter>
772<parameter name="PANGO_SCRIPT_CUNEIFORM">
773<parameter_description> 	Cuneiform. Since 1.14
774</parameter_description>
775</parameter>
776<parameter name="PANGO_SCRIPT_PHOENICIAN">
777<parameter_description> 	Phoenician. Since 1.14
778</parameter_description>
779</parameter>
780<parameter name="PANGO_SCRIPT_PHAGS_PA">
781<parameter_description> 		Phags-pa. Since 1.14
782</parameter_description>
783</parameter>
784<parameter name="PANGO_SCRIPT_NKO">
785<parameter_description> 		N'Ko. Since 1.14
786</parameter_description>
787</parameter>
788<parameter name="PANGO_SCRIPT_KAYAH_LI">
789<parameter_description>   Kayah Li. Since 1.20.1
790</parameter_description>
791</parameter>
792<parameter name="PANGO_SCRIPT_LEPCHA">
793<parameter_description>     Lepcha. Since 1.20.1
794</parameter_description>
795</parameter>
796<parameter name="PANGO_SCRIPT_REJANG">
797<parameter_description>     Rejang. Since 1.20.1
798</parameter_description>
799</parameter>
800<parameter name="PANGO_SCRIPT_SUNDANESE">
801<parameter_description>  Sundanese. Since 1.20.1
802</parameter_description>
803</parameter>
804<parameter name="PANGO_SCRIPT_SAURASHTRA">
805<parameter_description> Saurashtra. Since 1.20.1
806</parameter_description>
807</parameter>
808<parameter name="PANGO_SCRIPT_CHAM">
809<parameter_description>       Cham. Since 1.20.1
810</parameter_description>
811</parameter>
812<parameter name="PANGO_SCRIPT_OL_CHIKI">
813<parameter_description>   Ol Chiki. Since 1.20.1
814</parameter_description>
815</parameter>
816<parameter name="PANGO_SCRIPT_VAI">
817<parameter_description>        Vai. Since 1.20.1
818</parameter_description>
819</parameter>
820<parameter name="PANGO_SCRIPT_CARIAN">
821<parameter_description>     Carian. Since 1.20.1
822</parameter_description>
823</parameter>
824<parameter name="PANGO_SCRIPT_LYCIAN">
825<parameter_description>     Lycian. Since 1.20.1
826</parameter_description>
827</parameter>
828<parameter name="PANGO_SCRIPT_LYDIAN">
829<parameter_description>     Lydian. Since 1.20.1
830</parameter_description>
831</parameter>
832<parameter name="PANGO_SCRIPT_BATAK">
833<parameter_description>      Batak. Since 1.32
834</parameter_description>
835</parameter>
836<parameter name="PANGO_SCRIPT_BRAHMI">
837<parameter_description>     Brahmi. Since 1.32
838</parameter_description>
839</parameter>
840<parameter name="PANGO_SCRIPT_MANDAIC">
841<parameter_description>    Mandaic. Since 1.32
842</parameter_description>
843</parameter>
844<parameter name="PANGO_SCRIPT_CHAKMA">
845<parameter_description>               Chakma. Since: 1.32
846</parameter_description>
847</parameter>
848<parameter name="PANGO_SCRIPT_MEROITIC_CURSIVE">
849<parameter_description>     Meroitic Cursive. Since: 1.32
850</parameter_description>
851</parameter>
852<parameter name="PANGO_SCRIPT_MEROITIC_HIEROGLYPHS">
853<parameter_description> Meroitic Hieroglyphs. Since: 1.32
854</parameter_description>
855</parameter>
856<parameter name="PANGO_SCRIPT_MIAO">
857<parameter_description>                 Miao. Since: 1.32
858</parameter_description>
859</parameter>
860<parameter name="PANGO_SCRIPT_SHARADA">
861<parameter_description>              Sharada. Since: 1.32
862</parameter_description>
863</parameter>
864<parameter name="PANGO_SCRIPT_SORA_SOMPENG">
865<parameter_description>         Sora Sompeng. Since: 1.32
866</parameter_description>
867</parameter>
868<parameter name="PANGO_SCRIPT_TAKRI">
869<parameter_description>                Takri. Since: 1.32
870</parameter_description>
871</parameter>
872<parameter name="PANGO_SCRIPT_BASSA_VAH">
873<parameter_description>            Bassa. Since: 1.40
874</parameter_description>
875</parameter>
876<parameter name="PANGO_SCRIPT_CAUCASIAN_ALBANIAN">
877<parameter_description>   Caucasian Albanian. Since: 1.40
878</parameter_description>
879</parameter>
880<parameter name="PANGO_SCRIPT_DUPLOYAN">
881<parameter_description>             Duployan. Since: 1.40
882</parameter_description>
883</parameter>
884<parameter name="PANGO_SCRIPT_ELBASAN">
885<parameter_description>              Elbasan. Since: 1.40
886</parameter_description>
887</parameter>
888<parameter name="PANGO_SCRIPT_GRANTHA">
889<parameter_description>              Grantha. Since: 1.40
890</parameter_description>
891</parameter>
892<parameter name="PANGO_SCRIPT_KHOJKI">
893<parameter_description>               Kjohki. Since: 1.40
894</parameter_description>
895</parameter>
896<parameter name="PANGO_SCRIPT_KHUDAWADI">
897<parameter_description>            Khudawadi, Sindhi. Since: 1.40
898</parameter_description>
899</parameter>
900<parameter name="PANGO_SCRIPT_LINEAR_A">
901<parameter_description>             Linear A. Since: 1.40
902</parameter_description>
903</parameter>
904<parameter name="PANGO_SCRIPT_MAHAJANI">
905<parameter_description>             Mahajani. Since: 1.40
906</parameter_description>
907</parameter>
908<parameter name="PANGO_SCRIPT_MANICHAEAN">
909<parameter_description>           Manichaean. Since: 1.40
910</parameter_description>
911</parameter>
912<parameter name="PANGO_SCRIPT_MENDE_KIKAKUI">
913<parameter_description>        Mende Kikakui. Since: 1.40
914</parameter_description>
915</parameter>
916<parameter name="PANGO_SCRIPT_MODI">
917<parameter_description>                 Modi. Since: 1.40
918</parameter_description>
919</parameter>
920<parameter name="PANGO_SCRIPT_MRO">
921<parameter_description>                  Mro. Since: 1.40
922</parameter_description>
923</parameter>
924<parameter name="PANGO_SCRIPT_NABATAEAN">
925<parameter_description>            Nabataean. Since: 1.40
926</parameter_description>
927</parameter>
928<parameter name="PANGO_SCRIPT_OLD_NORTH_ARABIAN">
929<parameter_description>    Old North Arabian. Since: 1.40
930</parameter_description>
931</parameter>
932<parameter name="PANGO_SCRIPT_OLD_PERMIC">
933<parameter_description>           Old Permic. Since: 1.40
934</parameter_description>
935</parameter>
936<parameter name="PANGO_SCRIPT_PAHAWH_HMONG">
937<parameter_description>         Pahawh Hmong. Since: 1.40
938</parameter_description>
939</parameter>
940<parameter name="PANGO_SCRIPT_PALMYRENE">
941<parameter_description>            Palmyrene. Since: 1.40
942</parameter_description>
943</parameter>
944<parameter name="PANGO_SCRIPT_PAU_CIN_HAU">
945<parameter_description>          Pau Cin Hau. Since: 1.40
946</parameter_description>
947</parameter>
948<parameter name="PANGO_SCRIPT_PSALTER_PAHLAVI">
949<parameter_description>      Psalter Pahlavi. Since: 1.40
950</parameter_description>
951</parameter>
952<parameter name="PANGO_SCRIPT_SIDDHAM">
953<parameter_description>              Siddham. Since: 1.40
954</parameter_description>
955</parameter>
956<parameter name="PANGO_SCRIPT_TIRHUTA">
957<parameter_description>              Tirhuta. Since: 1.40
958</parameter_description>
959</parameter>
960<parameter name="PANGO_SCRIPT_WARANG_CITI">
961<parameter_description>          Warang Citi. Since: 1.40
962</parameter_description>
963</parameter>
964<parameter name="PANGO_SCRIPT_AHOM">
965<parameter_description>                 Ahom. Since: 1.40
966</parameter_description>
967</parameter>
968<parameter name="PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS">
969<parameter_description> Anatolian Hieroglyphs. Since: 1.40
970</parameter_description>
971</parameter>
972<parameter name="PANGO_SCRIPT_HATRAN">
973<parameter_description>               Hatran. Since: 1.40
974</parameter_description>
975</parameter>
976<parameter name="PANGO_SCRIPT_MULTANI">
977<parameter_description>              Multani. Since: 1.40
978</parameter_description>
979</parameter>
980<parameter name="PANGO_SCRIPT_OLD_HUNGARIAN">
981<parameter_description>        Old Hungarian. Since: 1.40
982</parameter_description>
983</parameter>
984<parameter name="PANGO_SCRIPT_SIGNWRITING">
985<parameter_description>          Signwriting. Since: 1.40
986</parameter_description>
987</parameter>
988</parameters>
989</enum>
990
991<enum name="PangoStretch">
992<description>
993An enumeration specifying the width of the font relative to other designs
994within a family.
995
996</description>
997<parameters>
998<parameter name="PANGO_STRETCH_ULTRA_CONDENSED">
999<parameter_description> ultra condensed width
1000</parameter_description>
1001</parameter>
1002<parameter name="PANGO_STRETCH_EXTRA_CONDENSED">
1003<parameter_description> extra condensed width
1004</parameter_description>
1005</parameter>
1006<parameter name="PANGO_STRETCH_CONDENSED">
1007<parameter_description> condensed width
1008</parameter_description>
1009</parameter>
1010<parameter name="PANGO_STRETCH_SEMI_CONDENSED">
1011<parameter_description> semi condensed width
1012</parameter_description>
1013</parameter>
1014<parameter name="PANGO_STRETCH_NORMAL">
1015<parameter_description> the normal width
1016</parameter_description>
1017</parameter>
1018<parameter name="PANGO_STRETCH_SEMI_EXPANDED">
1019<parameter_description> semi expanded width
1020</parameter_description>
1021</parameter>
1022<parameter name="PANGO_STRETCH_EXPANDED">
1023<parameter_description> expanded width
1024</parameter_description>
1025</parameter>
1026<parameter name="PANGO_STRETCH_EXTRA_EXPANDED">
1027<parameter_description> extra expanded width
1028</parameter_description>
1029</parameter>
1030<parameter name="PANGO_STRETCH_ULTRA_EXPANDED">
1031<parameter_description> ultra expanded width
1032</parameter_description>
1033</parameter>
1034</parameters>
1035</enum>
1036
1037<enum name="PangoStyle">
1038<description>
1039An enumeration specifying the various slant styles possible for a font.
1040
1041</description>
1042<parameters>
1043<parameter name="PANGO_STYLE_NORMAL">
1044<parameter_description> the font is upright.
1045</parameter_description>
1046</parameter>
1047<parameter name="PANGO_STYLE_OBLIQUE">
1048<parameter_description> the font is slanted, but in a roman style.
1049</parameter_description>
1050</parameter>
1051<parameter name="PANGO_STYLE_ITALIC">
1052<parameter_description> the font is slanted in an italic style.
1053</parameter_description>
1054</parameter>
1055</parameters>
1056</enum>
1057
1058<enum name="PangoTabAlign">
1059<description>
1060A #PangoTabAlign specifies where a tab stop appears relative to the text.
1061
1062</description>
1063<parameters>
1064<parameter name="PANGO_TAB_LEFT">
1065<parameter_description> the tab stop appears to the left of the text.
1066</parameter_description>
1067</parameter>
1068</parameters>
1069</enum>
1070
1071<enum name="PangoUnderline">
1072<description>
1073The #PangoUnderline enumeration is used to specify
1074whether text should be underlined, and if so, the type
1075of underlining.
1076
1077</description>
1078<parameters>
1079<parameter name="PANGO_UNDERLINE_NONE">
1080<parameter_description> no underline should be drawn
1081</parameter_description>
1082</parameter>
1083<parameter name="PANGO_UNDERLINE_SINGLE">
1084<parameter_description> a single underline should be drawn
1085</parameter_description>
1086</parameter>
1087<parameter name="PANGO_UNDERLINE_DOUBLE">
1088<parameter_description> a double underline should be drawn
1089</parameter_description>
1090</parameter>
1091<parameter name="PANGO_UNDERLINE_LOW">
1092<parameter_description> a single underline should be drawn at a position
1093beneath the ink extents of the text being
1094underlined. This should be used only for underlining
1095single characters, such as for keyboard
1096accelerators. %PANGO_UNDERLINE_SINGLE should
1097be used for extended portions of text.
1098</parameter_description>
1099</parameter>
1100<parameter name="PANGO_UNDERLINE_ERROR">
1101<parameter_description> a wavy underline should be drawn below.
1102This underline is typically used to indicate
1103an error such as a possilble mispelling; in some
1104cases a contrasting color may automatically
1105be used. This type of underlining is available since Pango 1.4.
1106</parameter_description>
1107</parameter>
1108</parameters>
1109</enum>
1110
1111<enum name="PangoVariant">
1112<description>
1113An enumeration specifying capitalization variant of the font.
1114
1115</description>
1116<parameters>
1117<parameter name="PANGO_VARIANT_NORMAL">
1118<parameter_description> A normal font.
1119</parameter_description>
1120</parameter>
1121<parameter name="PANGO_VARIANT_SMALL_CAPS">
1122<parameter_description> A font with the lower case characters
1123replaced by smaller variants of the capital characters.
1124</parameter_description>
1125</parameter>
1126</parameters>
1127</enum>
1128
1129<enum name="PangoWeight">
1130<description>
1131An enumeration specifying the weight (boldness) of a font. This is a numerical
1132value ranging from 100 to 1000, but there are some predefined values:
1133
1134</description>
1135<parameters>
1136<parameter name="PANGO_WEIGHT_THIN">
1137<parameter_description> the thin weight (= 100; Since: 1.24)
1138</parameter_description>
1139</parameter>
1140<parameter name="PANGO_WEIGHT_ULTRALIGHT">
1141<parameter_description> the ultralight weight (= 200)
1142</parameter_description>
1143</parameter>
1144<parameter name="PANGO_WEIGHT_LIGHT">
1145<parameter_description> the light weight (= 300)
1146</parameter_description>
1147</parameter>
1148<parameter name="PANGO_WEIGHT_SEMILIGHT">
1149<parameter_description> the semilight weight (= 350; Since: 1.36.7)
1150</parameter_description>
1151</parameter>
1152<parameter name="PANGO_WEIGHT_BOOK">
1153<parameter_description> the book weight (= 380; Since: 1.24)
1154</parameter_description>
1155</parameter>
1156<parameter name="PANGO_WEIGHT_NORMAL">
1157<parameter_description> the default weight (= 400)
1158</parameter_description>
1159</parameter>
1160<parameter name="PANGO_WEIGHT_MEDIUM">
1161<parameter_description> the normal weight (= 500; Since: 1.24)
1162</parameter_description>
1163</parameter>
1164<parameter name="PANGO_WEIGHT_SEMIBOLD">
1165<parameter_description> the semibold weight (= 600)
1166</parameter_description>
1167</parameter>
1168<parameter name="PANGO_WEIGHT_BOLD">
1169<parameter_description> the bold weight (= 700)
1170</parameter_description>
1171</parameter>
1172<parameter name="PANGO_WEIGHT_ULTRABOLD">
1173<parameter_description> the ultrabold weight (= 800)
1174</parameter_description>
1175</parameter>
1176<parameter name="PANGO_WEIGHT_HEAVY">
1177<parameter_description> the heavy weight (= 900)
1178</parameter_description>
1179</parameter>
1180<parameter name="PANGO_WEIGHT_ULTRAHEAVY">
1181<parameter_description> the ultraheavy weight (= 1000; Since: 1.24)
1182</parameter_description>
1183</parameter>
1184</parameters>
1185</enum>
1186
1187<enum name="PangoWrapMode">
1188<description>
1189A #PangoWrapMode describes how to wrap the lines of a #PangoLayout to the desired width.
1190
1191</description>
1192<parameters>
1193<parameter name="PANGO_WRAP_WORD">
1194<parameter_description> wrap lines at word boundaries.
1195</parameter_description>
1196</parameter>
1197<parameter name="PANGO_WRAP_CHAR">
1198<parameter_description> wrap lines at character boundaries.
1199</parameter_description>
1200</parameter>
1201<parameter name="PANGO_WRAP_WORD_CHAR">
1202<parameter_description> wrap lines at word boundaries, but fall back to character boundaries if there is not
1203enough space for a full word.
1204</parameter_description>
1205</parameter>
1206</parameters>
1207</enum>
1208
1209<function name="pango_attr_background_alpha_new">
1210<description>
1211Create a new background alpha attribute.
1212
1213Since: 1.38
1214
1215</description>
1216<parameters>
1217<parameter name="alpha">
1218<parameter_description> the alpha value, between 1 and 65536
1219</parameter_description>
1220</parameter>
1221</parameters>
1222<return> the new allocated #PangoAttribute,
1223which should be freed with pango_attribute_destroy().
1224
1225</return>
1226</function>
1227
1228<function name="pango_attr_background_new">
1229<description>
1230Create a new background color attribute.
1231
1232
1233</description>
1234<parameters>
1235<parameter name="red">
1236<parameter_description> the red value (ranging from 0 to 65535)
1237</parameter_description>
1238</parameter>
1239<parameter name="green">
1240<parameter_description> the green value
1241</parameter_description>
1242</parameter>
1243<parameter name="blue">
1244<parameter_description> the blue value
1245</parameter_description>
1246</parameter>
1247</parameters>
1248<return> the newly allocated #PangoAttribute,
1249which should be freed with pango_attribute_destroy().
1250</return>
1251</function>
1252
1253<function name="pango_attr_fallback_new">
1254<description>
1255Create a new font fallback attribute.
1256
1257If fallback is disabled, characters will only be used from the
1258closest matching font on the system. No fallback will be done to
1259other fonts on the system that might contain the characters in the
1260text.
1261
1262Since: 1.4
1263
1264</description>
1265<parameters>
1266<parameter name="enable_fallback">
1267<parameter_description> %TRUE if we should fall back on other fonts
1268for characters the active font is missing.
1269</parameter_description>
1270</parameter>
1271</parameters>
1272<return> the newly allocated #PangoAttribute,
1273which should be freed with pango_attribute_destroy().
1274
1275</return>
1276</function>
1277
1278<function name="pango_attr_family_new">
1279<description>
1280Create a new font family attribute.
1281
1282
1283</description>
1284<parameters>
1285<parameter name="family">
1286<parameter_description> the family or comma separated list of families
1287</parameter_description>
1288</parameter>
1289</parameters>
1290<return> the newly allocated #PangoAttribute,
1291which should be freed with pango_attribute_destroy().
1292</return>
1293</function>
1294
1295<function name="pango_attr_font_desc_new">
1296<description>
1297Create a new font description attribute. This attribute
1298allows setting family, style, weight, variant, stretch,
1299and size simultaneously.
1300
1301
1302</description>
1303<parameters>
1304<parameter name="desc">
1305<parameter_description> the font description
1306</parameter_description>
1307</parameter>
1308</parameters>
1309<return> the newly allocated #PangoAttribute,
1310which should be freed with pango_attribute_destroy().
1311</return>
1312</function>
1313
1314<function name="pango_attr_font_features_new">
1315<description>
1316Create a new font features tag attribute.
1317
1318Since: 1.38
1319
1320</description>
1321<parameters>
1322<parameter name="features">
1323<parameter_description> a string with OpenType font features, in CSS syntax
1324</parameter_description>
1325</parameter>
1326</parameters>
1327<return> the newly allocated #PangoAttribute,
1328which should be freed with pango_attribute_destroy().
1329
1330</return>
1331</function>
1332
1333<function name="pango_attr_foreground_alpha_new">
1334<description>
1335Create a new foreground alpha attribute.
1336
1337Since: 1.38
1338
1339</description>
1340<parameters>
1341<parameter name="alpha">
1342<parameter_description> the alpha value, between 1 and 65536
1343</parameter_description>
1344</parameter>
1345</parameters>
1346<return> the new allocated #PangoAttribute,
1347which should be freed with pango_attribute_destroy().
1348
1349</return>
1350</function>
1351
1352<function name="pango_attr_foreground_new">
1353<description>
1354Create a new foreground color attribute.
1355
1356
1357</description>
1358<parameters>
1359<parameter name="red">
1360<parameter_description> the red value (ranging from 0 to 65535)
1361</parameter_description>
1362</parameter>
1363<parameter name="green">
1364<parameter_description> the green value
1365</parameter_description>
1366</parameter>
1367<parameter name="blue">
1368<parameter_description> the blue value
1369</parameter_description>
1370</parameter>
1371</parameters>
1372<return> the newly allocated #PangoAttribute,
1373which should be freed with pango_attribute_destroy().
1374</return>
1375</function>
1376
1377<function name="pango_attr_gravity_hint_new">
1378<description>
1379Create a new gravity hint attribute.
1380
1381Since: 1.16
1382
1383</description>
1384<parameters>
1385<parameter name="hint">
1386<parameter_description> the gravity hint value.
1387</parameter_description>
1388</parameter>
1389</parameters>
1390<return> the newly allocated #PangoAttribute,
1391which should be freed with pango_attribute_destroy().
1392
1393</return>
1394</function>
1395
1396<function name="pango_attr_gravity_new">
1397<description>
1398Create a new gravity attribute.
1399
1400Since: 1.16
1401
1402</description>
1403<parameters>
1404<parameter name="gravity">
1405<parameter_description> the gravity value; should not be %PANGO_GRAVITY_AUTO.
1406</parameter_description>
1407</parameter>
1408</parameters>
1409<return> the newly allocated #PangoAttribute,
1410which should be freed with pango_attribute_destroy().
1411
1412</return>
1413</function>
1414
1415<function name="pango_attr_iterator_copy">
1416<description>
1417Copy a #PangoAttrIterator
1418
1419
1420</description>
1421<parameters>
1422<parameter name="iterator">
1423<parameter_description> a #PangoAttrIterator.
1424</parameter_description>
1425</parameter>
1426</parameters>
1427<return> the newly allocated
1428#PangoAttrIterator, which should be freed with
1429pango_attr_iterator_destroy().
1430</return>
1431</function>
1432
1433<function name="pango_attr_iterator_destroy">
1434<description>
1435Destroy a #PangoAttrIterator and free all associated memory.
1436
1437</description>
1438<parameters>
1439<parameter name="iterator">
1440<parameter_description> a #PangoAttrIterator.
1441</parameter_description>
1442</parameter>
1443</parameters>
1444<return></return>
1445</function>
1446
1447<function name="pango_attr_iterator_get">
1448<description>
1449Find the current attribute of a particular type at the iterator
1450location. When multiple attributes of the same type overlap,
1451the attribute whose range starts closest to the current location
1452is used.
1453
1454
1455</description>
1456<parameters>
1457<parameter name="iterator">
1458<parameter_description> a #PangoAttrIterator
1459</parameter_description>
1460</parameter>
1461<parameter name="type">
1462<parameter_description> the type of attribute to find.
1463</parameter_description>
1464</parameter>
1465</parameters>
1466<return> the current attribute of the given type,
1467or %NULL if no attribute of that type applies to the
1468current location.
1469</return>
1470</function>
1471
1472<function name="pango_attr_iterator_get_attrs">
1473<description>
1474Gets a list of all attributes at the current position of the
1475iterator.
1476
1477Since: 1.2
1478
1479</description>
1480<parameters>
1481<parameter name="iterator">
1482<parameter_description> a #PangoAttrIterator
1483</parameter_description>
1484</parameter>
1485</parameters>
1486<return> a list of
1487all attributes for the current range.
1488To free this value, call pango_attribute_destroy() on
1489each value and g_slist_free() on the list.
1490
1491</return>
1492</function>
1493
1494<function name="pango_attr_iterator_get_font">
1495<description>
1496Get the font and other attributes at the current iterator position.
1497
1498</description>
1499<parameters>
1500<parameter name="iterator">
1501<parameter_description> a #PangoAttrIterator
1502</parameter_description>
1503</parameter>
1504<parameter name="desc">
1505<parameter_description> a #PangoFontDescription to fill in with the current values.
1506The family name in this structure will be set using
1507pango_font_description_set_family_static() using values from
1508an attribute in the #PangoAttrList associated with the iterator,
1509so if you plan to keep it around, you must call:
1510&lt;literal&gt;pango_font_description_set_family (desc, pango_font_description_get_family (desc))&lt;/literal&gt;.
1511</parameter_description>
1512</parameter>
1513<parameter name="language">
1514<parameter_description> if non-%NULL, location to store language tag for item, or %NULL
1515if none is found.
1516</parameter_description>
1517</parameter>
1518<parameter name="extra_attrs">
1519<parameter_description> if non-%NULL,
1520location in which to store a list of non-font
1521attributes at the the current position; only the highest priority
1522value of each attribute will be added to this list. In order
1523to free this value, you must call pango_attribute_destroy() on
1524each member.
1525</parameter_description>
1526</parameter>
1527</parameters>
1528<return></return>
1529</function>
1530
1531<function name="pango_attr_iterator_next">
1532<description>
1533Advance the iterator until the next change of style.
1534
1535
1536</description>
1537<parameters>
1538<parameter name="iterator">
1539<parameter_description> a #PangoAttrIterator
1540</parameter_description>
1541</parameter>
1542</parameters>
1543<return> %FALSE if the iterator is at the end of the list, otherwise %TRUE
1544</return>
1545</function>
1546
1547<function name="pango_attr_iterator_range">
1548<description>
1549Get the range of the current segment. Note that the
1550stored return values are signed, not unsigned like
1551the values in #PangoAttribute. To deal with this API
1552oversight, stored return values that wouldn't fit into
1553a signed integer are clamped to %G_MAXINT.
1554
1555</description>
1556<parameters>
1557<parameter name="iterator">
1558<parameter_description> a #PangoAttrIterator
1559</parameter_description>
1560</parameter>
1561<parameter name="start">
1562<parameter_description> location to store the start of the range
1563</parameter_description>
1564</parameter>
1565<parameter name="end">
1566<parameter_description> location to store the end of the range
1567</parameter_description>
1568</parameter>
1569</parameters>
1570<return></return>
1571</function>
1572
1573<function name="pango_attr_language_new">
1574<description>
1575Create a new language tag attribute.
1576
1577
1578</description>
1579<parameters>
1580<parameter name="language">
1581<parameter_description> language tag
1582</parameter_description>
1583</parameter>
1584</parameters>
1585<return> the newly allocated #PangoAttribute,
1586which should be freed with pango_attribute_destroy().
1587</return>
1588</function>
1589
1590<function name="pango_attr_letter_spacing_new">
1591<description>
1592Create a new letter-spacing attribute.
1593
1594Since: 1.6
1595
1596</description>
1597<parameters>
1598<parameter name="letter_spacing">
1599<parameter_description> amount of extra space to add between graphemes
1600of the text, in Pango units.
1601</parameter_description>
1602</parameter>
1603</parameters>
1604<return> the newly allocated #PangoAttribute,
1605which should be freed with pango_attribute_destroy().
1606
1607</return>
1608</function>
1609
1610<function name="pango_attr_list_change">
1611<description>
1612Insert the given attribute into the #PangoAttrList. It will
1613replace any attributes of the same type on that segment
1614and be merged with any adjoining attributes that are identical.
1615
1616This function is slower than pango_attr_list_insert() for
1617creating a attribute list in order (potentially much slower
1618for large lists). However, pango_attr_list_insert() is not
1619suitable for continually changing a set of attributes
1620since it never removes or combines existing attributes.
1621
1622</description>
1623<parameters>
1624<parameter name="list">
1625<parameter_description> a #PangoAttrList
1626</parameter_description>
1627</parameter>
1628<parameter name="attr">
1629<parameter_description> the attribute to insert. Ownership of this
1630value is assumed by the list.
1631</parameter_description>
1632</parameter>
1633</parameters>
1634<return></return>
1635</function>
1636
1637<function name="pango_attr_list_copy">
1638<description>
1639Copy @list and return an identical new list.
1640
1641
1642</description>
1643<parameters>
1644<parameter name="list">
1645<parameter_description> a #PangoAttrList, may be %NULL
1646</parameter_description>
1647</parameter>
1648</parameters>
1649<return> the newly allocated #PangoAttrList, with a
1650reference count of one, which should
1651be freed with pango_attr_list_unref().
1652Returns %NULL if @list was %NULL.
1653</return>
1654</function>
1655
1656<function name="pango_attr_list_filter">
1657<description>
1658Given a #PangoAttrList and callback function, removes any elements
1659of @list for which @func returns %TRUE and inserts them into
1660a new list.
1661
1662Since: 1.2
1663
1664</description>
1665<parameters>
1666<parameter name="list">
1667<parameter_description> a #PangoAttrList
1668</parameter_description>
1669</parameter>
1670<parameter name="func">
1671<parameter_description> callback function; returns %TRUE
1672if an attribute should be filtered out.
1673</parameter_description>
1674</parameter>
1675<parameter name="data">
1676<parameter_description> Data to be passed to @func
1677</parameter_description>
1678</parameter>
1679</parameters>
1680<return> the new #PangoAttrList or
1681%NULL if no attributes of the given types were found.
1682
1683</return>
1684</function>
1685
1686<function name="pango_attr_list_get_iterator">
1687<description>
1688Create a iterator initialized to the beginning of the list.
1689@list must not be modified until this iterator is freed.
1690
1691
1692</description>
1693<parameters>
1694<parameter name="list">
1695<parameter_description> a #PangoAttrList
1696</parameter_description>
1697</parameter>
1698</parameters>
1699<return> the newly allocated #PangoAttrIterator, which should
1700be freed with pango_attr_iterator_destroy().
1701</return>
1702</function>
1703
1704<function name="pango_attr_list_insert">
1705<description>
1706Insert the given attribute into the #PangoAttrList. It will
1707be inserted after all other attributes with a matching
1708@start_index.
1709
1710</description>
1711<parameters>
1712<parameter name="list">
1713<parameter_description> a #PangoAttrList
1714</parameter_description>
1715</parameter>
1716<parameter name="attr">
1717<parameter_description> the attribute to insert. Ownership of this
1718value is assumed by the list.
1719</parameter_description>
1720</parameter>
1721</parameters>
1722<return></return>
1723</function>
1724
1725<function name="pango_attr_list_insert_before">
1726<description>
1727Insert the given attribute into the #PangoAttrList. It will
1728be inserted before all other attributes with a matching
1729@start_index.
1730
1731</description>
1732<parameters>
1733<parameter name="list">
1734<parameter_description> a #PangoAttrList
1735</parameter_description>
1736</parameter>
1737<parameter name="attr">
1738<parameter_description> the attribute to insert. Ownership of this
1739value is assumed by the list.
1740</parameter_description>
1741</parameter>
1742</parameters>
1743<return></return>
1744</function>
1745
1746<function name="pango_attr_list_new">
1747<description>
1748Create a new empty attribute list with a reference count of one.
1749
1750
1751</description>
1752<parameters>
1753</parameters>
1754<return> the newly allocated #PangoAttrList,
1755which should be freed with pango_attr_list_unref().
1756</return>
1757</function>
1758
1759<function name="pango_attr_list_ref">
1760<description>
1761Increase the reference count of the given attribute list by one.
1762
1763Since: 1.10
1764
1765</description>
1766<parameters>
1767<parameter name="list">
1768<parameter_description> a #PangoAttrList, may be %NULL
1769</parameter_description>
1770</parameter>
1771</parameters>
1772<return> The attribute list passed in
1773
1774</return>
1775</function>
1776
1777<function name="pango_attr_list_splice">
1778<description>
1779This function opens up a hole in @list, fills it in with attributes from
1780the left, and then merges @other on top of the hole.
1781
1782This operation is equivalent to stretching every attribute
1783that applies at position @pos in @list by an amount @len,
1784and then calling pango_attr_list_change() with a copy
1785of each attribute in @other in sequence (offset in position by @pos).
1786
1787This operation proves useful for, for instance, inserting
1788a pre-edit string in the middle of an edit buffer.
1789
1790</description>
1791<parameters>
1792<parameter name="list">
1793<parameter_description> a #PangoAttrList
1794</parameter_description>
1795</parameter>
1796<parameter name="other">
1797<parameter_description> another #PangoAttrList
1798</parameter_description>
1799</parameter>
1800<parameter name="pos">
1801<parameter_description> the position in @list at which to insert @other
1802</parameter_description>
1803</parameter>
1804<parameter name="len">
1805<parameter_description> the length of the spliced segment. (Note that this
1806must be specified since the attributes in @other
1807may only be present at some subsection of this range)
1808</parameter_description>
1809</parameter>
1810</parameters>
1811<return></return>
1812</function>
1813
1814<function name="pango_attr_list_unref">
1815<description>
1816Decrease the reference count of the given attribute list by one.
1817If the result is zero, free the attribute list and the attributes
1818it contains.
1819
1820</description>
1821<parameters>
1822<parameter name="list">
1823<parameter_description> a #PangoAttrList, may be %NULL
1824</parameter_description>
1825</parameter>
1826</parameters>
1827<return></return>
1828</function>
1829
1830<function name="pango_attr_rise_new">
1831<description>
1832Create a new baseline displacement attribute.
1833
1834
1835</description>
1836<parameters>
1837<parameter name="rise">
1838<parameter_description> the amount that the text should be displaced vertically,
1839in Pango units. Positive values displace the text upwards.
1840</parameter_description>
1841</parameter>
1842</parameters>
1843<return> the newly allocated #PangoAttribute,
1844which should be freed with pango_attribute_destroy().
1845</return>
1846</function>
1847
1848<function name="pango_attr_scale_new">
1849<description>
1850Create a new font size scale attribute. The base font for the
1851affected text will have its size multiplied by @scale_factor.
1852
1853
1854</description>
1855<parameters>
1856<parameter name="scale_factor">
1857<parameter_description> factor to scale the font
1858</parameter_description>
1859</parameter>
1860</parameters>
1861<return> the newly allocated #PangoAttribute,
1862which should be freed with pango_attribute_destroy().
1863</return>
1864</function>
1865
1866<function name="pango_attr_shape_new">
1867<description>
1868Create a new shape attribute. A shape is used to impose a
1869particular ink and logical rectangle on the result of shaping a
1870particular glyph. This might be used, for instance, for
1871embedding a picture or a widget inside a #PangoLayout.
1872
1873
1874</description>
1875<parameters>
1876<parameter name="ink_rect">
1877<parameter_description>     ink rectangle to assign to each character
1878</parameter_description>
1879</parameter>
1880<parameter name="logical_rect">
1881<parameter_description> logical rectangle to assign to each character
1882</parameter_description>
1883</parameter>
1884</parameters>
1885<return> the newly allocated #PangoAttribute,
1886which should be freed with pango_attribute_destroy().
1887</return>
1888</function>
1889
1890<function name="pango_attr_shape_new_with_data">
1891<description>
1892Like pango_attr_shape_new(), but a user data pointer is also
1893provided; this pointer can be accessed when later
1894rendering the glyph.
1895
1896Since: 1.8
1897
1898</description>
1899<parameters>
1900<parameter name="ink_rect">
1901<parameter_description>     ink rectangle to assign to each character
1902</parameter_description>
1903</parameter>
1904<parameter name="logical_rect">
1905<parameter_description> logical rectangle to assign to each character
1906</parameter_description>
1907</parameter>
1908<parameter name="data">
1909<parameter_description>         user data pointer
1910</parameter_description>
1911</parameter>
1912<parameter name="copy_func">
1913<parameter_description> function to copy @data when the
1914attribute is copied. If %NULL, @data is simply
1915copied as a pointer.
1916</parameter_description>
1917</parameter>
1918<parameter name="destroy_func">
1919<parameter_description> function to free @data when the
1920attribute is freed, or %NULL
1921</parameter_description>
1922</parameter>
1923</parameters>
1924<return> the newly allocated #PangoAttribute, which should be
1925freed with pango_attribute_destroy().
1926
1927</return>
1928</function>
1929
1930<function name="pango_attr_size_new">
1931<description>
1932Create a new font-size attribute in fractional points.
1933
1934
1935</description>
1936<parameters>
1937<parameter name="size">
1938<parameter_description> the font size, in %PANGO_SCALE&lt;!-- --&gt;ths of a point.
1939</parameter_description>
1940</parameter>
1941</parameters>
1942<return> the newly allocated #PangoAttribute,
1943which should be freed with pango_attribute_destroy().
1944</return>
1945</function>
1946
1947<function name="pango_attr_size_new_absolute">
1948<description>
1949Create a new font-size attribute in device units.
1950
1951Since: 1.8
1952
1953</description>
1954<parameters>
1955<parameter name="size">
1956<parameter_description> the font size, in %PANGO_SCALE&lt;!-- --&gt;ths of a device unit.
1957</parameter_description>
1958</parameter>
1959</parameters>
1960<return> the newly allocated #PangoAttribute, which should be
1961freed with pango_attribute_destroy().
1962
1963</return>
1964</function>
1965
1966<function name="pango_attr_stretch_new">
1967<description>
1968Create a new font stretch attribute
1969
1970
1971</description>
1972<parameters>
1973<parameter name="stretch">
1974<parameter_description> the stretch
1975</parameter_description>
1976</parameter>
1977</parameters>
1978<return> the newly allocated #PangoAttribute,
1979which should be freed with pango_attribute_destroy().
1980</return>
1981</function>
1982
1983<function name="pango_attr_strikethrough_color_new">
1984<description>
1985Create a new strikethrough color attribute. This attribute
1986modifies the color of strikethrough lines. If not set, strikethrough
1987lines will use the foreground color.
1988
1989Since: 1.8
1990
1991</description>
1992<parameters>
1993<parameter name="red">
1994<parameter_description> the red value (ranging from 0 to 65535)
1995</parameter_description>
1996</parameter>
1997<parameter name="green">
1998<parameter_description> the green value
1999</parameter_description>
2000</parameter>
2001<parameter name="blue">
2002<parameter_description> the blue value
2003</parameter_description>
2004</parameter>
2005</parameters>
2006<return> the newly allocated #PangoAttribute,
2007which should be freed with pango_attribute_destroy().
2008
2009</return>
2010</function>
2011
2012<function name="pango_attr_strikethrough_new">
2013<description>
2014Create a new strike-through attribute.
2015
2016
2017</description>
2018<parameters>
2019<parameter name="strikethrough">
2020<parameter_description> %TRUE if the text should be struck-through.
2021</parameter_description>
2022</parameter>
2023</parameters>
2024<return> the newly allocated #PangoAttribute,
2025which should be freed with pango_attribute_destroy().
2026</return>
2027</function>
2028
2029<function name="pango_attr_style_new">
2030<description>
2031Create a new font slant style attribute.
2032
2033
2034</description>
2035<parameters>
2036<parameter name="style">
2037<parameter_description> the slant style
2038</parameter_description>
2039</parameter>
2040</parameters>
2041<return> the newly allocated #PangoAttribute,
2042which should be freed with pango_attribute_destroy().
2043</return>
2044</function>
2045
2046<function name="pango_attr_type_get_name">
2047<description>
2048Fetches the attribute type name passed in when registering the type using
2049pango_attr_type_register().
2050
2051The returned value is an interned string (see g_intern_string() for what
2052that means) that should not be modified or freed.
2053
2054Since: 1.22
2055
2056</description>
2057<parameters>
2058<parameter name="type">
2059<parameter_description> an attribute type ID to fetch the name for
2060</parameter_description>
2061</parameter>
2062</parameters>
2063<return> the type ID name (which may be %NULL), or
2064%NULL if @type is a built-in Pango attribute type or invalid.
2065
2066</return>
2067</function>
2068
2069<function name="pango_attr_type_register">
2070<description>
2071Allocate a new attribute type ID.  The attribute type name can be accessed
2072later by using pango_attr_type_get_name().
2073
2074
2075</description>
2076<parameters>
2077<parameter name="name">
2078<parameter_description> an identifier for the type
2079</parameter_description>
2080</parameter>
2081</parameters>
2082<return> the new type ID.
2083</return>
2084</function>
2085
2086<function name="pango_attr_underline_color_new">
2087<description>
2088Create a new underline color attribute. This attribute
2089modifies the color of underlines. If not set, underlines
2090will use the foreground color.
2091
2092Since: 1.8
2093
2094</description>
2095<parameters>
2096<parameter name="red">
2097<parameter_description> the red value (ranging from 0 to 65535)
2098</parameter_description>
2099</parameter>
2100<parameter name="green">
2101<parameter_description> the green value
2102</parameter_description>
2103</parameter>
2104<parameter name="blue">
2105<parameter_description> the blue value
2106</parameter_description>
2107</parameter>
2108</parameters>
2109<return> the newly allocated #PangoAttribute,
2110which should be freed with pango_attribute_destroy().
2111
2112</return>
2113</function>
2114
2115<function name="pango_attr_underline_new">
2116<description>
2117Create a new underline-style attribute.
2118
2119
2120</description>
2121<parameters>
2122<parameter name="underline">
2123<parameter_description> the underline style.
2124</parameter_description>
2125</parameter>
2126</parameters>
2127<return> the newly allocated #PangoAttribute,
2128which should be freed with pango_attribute_destroy().
2129</return>
2130</function>
2131
2132<function name="pango_attr_variant_new">
2133<description>
2134Create a new font variant attribute (normal or small caps)
2135
2136
2137</description>
2138<parameters>
2139<parameter name="variant">
2140<parameter_description> the variant
2141</parameter_description>
2142</parameter>
2143</parameters>
2144<return> the newly allocated #PangoAttribute,
2145which should be freed with pango_attribute_destroy().
2146</return>
2147</function>
2148
2149<function name="pango_attr_weight_new">
2150<description>
2151Create a new font weight attribute.
2152
2153
2154</description>
2155<parameters>
2156<parameter name="weight">
2157<parameter_description> the weight
2158</parameter_description>
2159</parameter>
2160</parameters>
2161<return> the newly allocated #PangoAttribute,
2162which should be freed with pango_attribute_destroy().
2163</return>
2164</function>
2165
2166<function name="pango_attribute_copy">
2167<description>
2168Make a copy of an attribute.
2169
2170
2171</description>
2172<parameters>
2173<parameter name="attr">
2174<parameter_description> a #PangoAttribute
2175</parameter_description>
2176</parameter>
2177</parameters>
2178<return> the newly allocated #PangoAttribute,
2179which should be freed with pango_attribute_destroy().
2180</return>
2181</function>
2182
2183<function name="pango_attribute_destroy">
2184<description>
2185Destroy a #PangoAttribute and free all associated memory.
2186
2187</description>
2188<parameters>
2189<parameter name="attr">
2190<parameter_description> a #PangoAttribute.
2191</parameter_description>
2192</parameter>
2193</parameters>
2194<return></return>
2195</function>
2196
2197<function name="pango_attribute_equal">
2198<description>
2199Compare two attributes for equality. This compares only the
2200actual value of the two attributes and not the ranges that the
2201attributes apply to.
2202
2203
2204</description>
2205<parameters>
2206<parameter name="attr1">
2207<parameter_description> a #PangoAttribute
2208</parameter_description>
2209</parameter>
2210<parameter name="attr2">
2211<parameter_description> another #PangoAttribute
2212</parameter_description>
2213</parameter>
2214</parameters>
2215<return> %TRUE if the two attributes have the same value.
2216</return>
2217</function>
2218
2219<function name="pango_attribute_init">
2220<description>
2221Initializes @attr's klass to @klass,
2222it's start_index to %PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING
2223and end_index to %PANGO_ATTR_INDEX_TO_TEXT_END
2224such that the attribute applies
2225to the entire text by default.
2226
2227Since: 1.20
2228
2229</description>
2230<parameters>
2231<parameter name="attr">
2232<parameter_description> a #PangoAttribute
2233</parameter_description>
2234</parameter>
2235<parameter name="klass">
2236<parameter_description> a #PangoAttrClass
2237</parameter_description>
2238</parameter>
2239</parameters>
2240<return></return>
2241</function>
2242
2243<function name="pango_bidi_type_for_unichar">
2244<description>
2245Determines the normative bidirectional character type of a
2246character, as specified in the Unicode Character Database.
2247
2248A simplified version of this function is available as
2249pango_unichar_direction().
2250
2251Since: 1.22
2252
2253</description>
2254<parameters>
2255<parameter name="ch">
2256<parameter_description> a Unicode character
2257</parameter_description>
2258</parameter>
2259</parameters>
2260<return> the bidirectional character type, as used in the
2261Unicode bidirectional algorithm.
2262
2263</return>
2264</function>
2265
2266<function name="pango_break">
2267<description>
2268Determines possible line, word, and character breaks
2269for a string of Unicode text with a single analysis.  For most
2270purposes you may want to use pango_get_log_attrs().
2271
2272</description>
2273<parameters>
2274<parameter name="text">
2275<parameter_description>      the text to process
2276</parameter_description>
2277</parameter>
2278<parameter name="length">
2279<parameter_description>    length of @text in bytes (may be -1 if @text is nul-terminated)
2280</parameter_description>
2281</parameter>
2282<parameter name="analysis">
2283<parameter_description>  #PangoAnalysis structure from pango_itemize()
2284</parameter_description>
2285</parameter>
2286<parameter name="attrs">
2287<parameter_description> an array to store character
2288information in
2289</parameter_description>
2290</parameter>
2291<parameter name="attrs_len">
2292<parameter_description> size of the array passed as @attrs
2293</parameter_description>
2294</parameter>
2295</parameters>
2296<return></return>
2297</function>
2298
2299<function name="pango_cairo_context_get_font_options">
2300<description>
2301Retrieves any font rendering options previously set with
2302pango_cairo_context_set_font_options(). This function does not report options
2303that are derived from the target surface by pango_cairo_update_context()
2304
2305Since: 1.10
2306
2307</description>
2308<parameters>
2309<parameter name="context">
2310<parameter_description> a #PangoContext, from a pangocairo font map
2311</parameter_description>
2312</parameter>
2313</parameters>
2314<return> the font options previously set on the
2315context, or %NULL if no options have been set. This value is
2316owned by the context and must not be modified or freed.
2317
2318</return>
2319</function>
2320
2321<function name="pango_cairo_context_get_resolution">
2322<description>
2323Gets the resolution for the context. See pango_cairo_context_set_resolution()
2324
2325Since: 1.10
2326
2327</description>
2328<parameters>
2329<parameter name="context">
2330<parameter_description> a #PangoContext, from a pangocairo font map
2331</parameter_description>
2332</parameter>
2333</parameters>
2334<return> the resolution in &quot;dots per inch&quot;. A negative value will
2335be returned if no resolution has previously been set.
2336
2337</return>
2338</function>
2339
2340<function name="pango_cairo_context_get_shape_renderer">
2341<description>
2342Sets callback function for context to use for rendering attributes
2343of type %PANGO_ATTR_SHAPE.  See #PangoCairoShapeRendererFunc for
2344details.
2345
2346Retrieves callback function and associated user data for rendering
2347attributes of type %PANGO_ATTR_SHAPE as set by
2348pango_cairo_context_set_shape_renderer(), if any.
2349
2350Since: 1.18
2351
2352</description>
2353<parameters>
2354<parameter name="context">
2355<parameter_description> a #PangoContext, from a pangocairo font map
2356</parameter_description>
2357</parameter>
2358<parameter name="data">
2359<parameter_description> Pointer to #gpointer to return user data
2360</parameter_description>
2361</parameter>
2362</parameters>
2363<return> the shape rendering callback previously
2364set on the context, or %NULL if no shape rendering callback have
2365been set.
2366
2367</return>
2368</function>
2369
2370<function name="pango_cairo_context_set_font_options">
2371<description>
2372Sets the font options used when rendering text with this context.
2373These options override any options that pango_cairo_update_context()
2374derives from the target surface.
2375
2376Since: 1.10
2377
2378</description>
2379<parameters>
2380<parameter name="context">
2381<parameter_description> a #PangoContext, from a pangocairo font map
2382</parameter_description>
2383</parameter>
2384<parameter name="options">
2385<parameter_description> a #cairo_font_options_t, or %NULL to unset
2386any previously set options. A copy is made.
2387</parameter_description>
2388</parameter>
2389</parameters>
2390<return></return>
2391</function>
2392
2393<function name="pango_cairo_context_set_resolution">
2394<description>
2395Sets the resolution for the context. This is a scale factor between
2396points specified in a #PangoFontDescription and Cairo units. The
2397default value is 96, meaning that a 10 point font will be 13
2398units high. (10 * 96. / 72. = 13.3).
2399
2400Since: 1.10
2401
2402</description>
2403<parameters>
2404<parameter name="context">
2405<parameter_description> a #PangoContext, from a pangocairo font map
2406</parameter_description>
2407</parameter>
2408<parameter name="dpi">
2409<parameter_description> the resolution in &quot;dots per inch&quot;. (Physical inches aren't actually
2410involved; the terminology is conventional.) A 0 or negative value
2411means to use the resolution from the font map.
2412</parameter_description>
2413</parameter>
2414</parameters>
2415<return></return>
2416</function>
2417
2418<function name="pango_cairo_context_set_shape_renderer">
2419<description>
2420Sets callback function for context to use for rendering attributes
2421of type %PANGO_ATTR_SHAPE.  See #PangoCairoShapeRendererFunc for
2422details.
2423
2424Since: 1.18
2425
2426</description>
2427<parameters>
2428<parameter name="context">
2429<parameter_description> a #PangoContext, from a pangocairo font map
2430</parameter_description>
2431</parameter>
2432<parameter name="func">
2433<parameter_description> Callback function for rendering attributes of
2434type %PANGO_ATTR_SHAPE, or %NULL to disable shape rendering.
2435</parameter_description>
2436</parameter>
2437<parameter name="data">
2438<parameter_description> User data that will be passed to @func.
2439</parameter_description>
2440</parameter>
2441<parameter name="dnotify">
2442<parameter_description> Callback that will be called when the
2443context is freed to release @data, or %NULL.
2444</parameter_description>
2445</parameter>
2446</parameters>
2447<return></return>
2448</function>
2449
2450<function name="pango_cairo_create_context">
2451<description>
2452Creates a context object set up to match the current transformation
2453and target surface of the Cairo context.  This context can then be
2454used to create a layout using pango_layout_new().
2455
2456This function is a convenience function that creates a context using
2457the default font map, then updates it to @cr.  If you just need to
2458create a layout for use with @cr and do not need to access #PangoContext
2459directly, you can use pango_cairo_create_layout() instead.
2460
2461Since: 1.22
2462
2463</description>
2464<parameters>
2465<parameter name="cr">
2466<parameter_description> a Cairo context
2467</parameter_description>
2468</parameter>
2469</parameters>
2470<return> the newly created #PangoContext. Free with
2471g_object_unref().
2472
2473</return>
2474</function>
2475
2476<function name="pango_cairo_create_layout">
2477<description>
2478Creates a layout object set up to match the current transformation
2479and target surface of the Cairo context.  This layout can then be
2480used for text measurement with functions like
2481pango_layout_get_size() or drawing with functions like
2482pango_cairo_show_layout(). If you change the transformation
2483or target surface for @cr, you need to call pango_cairo_update_layout()
2484
2485This function is the most convenient way to use Cairo with Pango,
2486however it is slightly inefficient since it creates a separate
2487#PangoContext object for each layout. This might matter in an
2488application that was laying out large amounts of text.
2489
2490Since: 1.10
2491
2492</description>
2493<parameters>
2494<parameter name="cr">
2495<parameter_description> a Cairo context
2496</parameter_description>
2497</parameter>
2498</parameters>
2499<return> the newly created #PangoLayout. Free with
2500g_object_unref().
2501
2502</return>
2503</function>
2504
2505<function name="pango_cairo_error_underline_path">
2506<description>
2507Add a squiggly line to the current path in the specified cairo context that
2508approximately covers the given rectangle in the style of an underline used
2509to indicate a spelling error.  (The width of the underline is rounded to an
2510integer number of up/down segments and the resulting rectangle is centered
2511in the original rectangle)
2512
2513Since: 1.14
2514
2515</description>
2516<parameters>
2517<parameter name="cr">
2518<parameter_description> a Cairo context
2519</parameter_description>
2520</parameter>
2521<parameter name="x">
2522<parameter_description> The X coordinate of one corner of the rectangle
2523</parameter_description>
2524</parameter>
2525<parameter name="y">
2526<parameter_description> The Y coordinate of one corner of the rectangle
2527</parameter_description>
2528</parameter>
2529<parameter name="width">
2530<parameter_description> Non-negative width of the rectangle
2531</parameter_description>
2532</parameter>
2533<parameter name="height">
2534<parameter_description> Non-negative height of the rectangle
2535</parameter_description>
2536</parameter>
2537</parameters>
2538<return></return>
2539</function>
2540
2541<function name="pango_cairo_font_get_scaled_font">
2542<description>
2543Gets the #cairo_scaled_font_t used by @font.
2544The scaled font can be referenced and kept using
2545cairo_scaled_font_reference().
2546
2547Since: 1.18
2548
2549</description>
2550<parameters>
2551<parameter name="font">
2552<parameter_description> a #PangoFont from a #PangoCairoFontMap
2553</parameter_description>
2554</parameter>
2555</parameters>
2556<return> the #cairo_scaled_font_t used by @font,
2557or %NULL if @font is %NULL.
2558
2559</return>
2560</function>
2561
2562<function name="pango_cairo_font_map_create_context">
2563<description>
2564Create a #PangoContext for the given fontmap.
2565
2566Since: 1.10
2567
2568Deprecated: 1.22: Use pango_font_map_create_context() instead.
2569
2570</description>
2571<parameters>
2572<parameter name="fontmap">
2573<parameter_description> a #PangoCairoFontMap
2574</parameter_description>
2575</parameter>
2576</parameters>
2577<return> the newly created context; free with g_object_unref().
2578
2579</return>
2580</function>
2581
2582<function name="pango_cairo_font_map_get_default">
2583<description>
2584Gets a default #PangoCairoFontMap to use with Cairo.
2585
2586Note that the type of the returned object will depend
2587on the particular font backend Cairo was compiled to use;
2588You generally should only use the #PangoFontMap and
2589#PangoCairoFontMap interfaces on the returned object.
2590
2591The default Cairo fontmap can be changed by using
2592pango_cairo_font_map_set_default().  This can be used to
2593change the Cairo font backend that the default fontmap
2594uses for example.
2595
2596Note that since Pango 1.32.6, the default fontmap is per-thread.
2597Each thread gets its own default fontmap.  In this way,
2598PangoCairo can be used safely from multiple threads.
2599
2600Since: 1.10
2601
2602</description>
2603<parameters>
2604</parameters>
2605<return> the default PangoCairo fontmap
2606for the current thread. This object is owned by Pango and must not be freed.
2607
2608</return>
2609</function>
2610
2611<function name="pango_cairo_font_map_get_font_type">
2612<description>
2613Gets the type of Cairo font backend that @fontmap uses.
2614
2615Since: 1.18
2616
2617</description>
2618<parameters>
2619<parameter name="fontmap">
2620<parameter_description> a #PangoCairoFontMap
2621</parameter_description>
2622</parameter>
2623</parameters>
2624<return> the #cairo_font_type_t cairo font backend type
2625
2626</return>
2627</function>
2628
2629<function name="pango_cairo_font_map_get_resolution">
2630<description>
2631Gets the resolution for the fontmap. See pango_cairo_font_map_set_resolution()
2632
2633Since: 1.10
2634
2635</description>
2636<parameters>
2637<parameter name="fontmap">
2638<parameter_description> a #PangoCairoFontMap
2639</parameter_description>
2640</parameter>
2641</parameters>
2642<return> the resolution in &quot;dots per inch&quot;
2643
2644</return>
2645</function>
2646
2647<function name="pango_cairo_font_map_new">
2648<description>
2649Creates a new #PangoCairoFontMap object; a fontmap is used
2650to cache information about available fonts, and holds
2651certain global parameters such as the resolution.
2652In most cases, you can use pango_cairo_font_map_get_default()
2653instead.
2654
2655Note that the type of the returned object will depend
2656on the particular font backend Cairo was compiled to use;
2657You generally should only use the #PangoFontMap and
2658#PangoCairoFontMap interfaces on the returned object.
2659
2660You can override the type of backend returned by using an
2661environment variable %PANGOCAIRO_BACKEND.  Supported types,
2662based on your build, are fc (fontconfig), win32, and coretext.
2663If requested type is not available, NULL is returned. Ie.
2664this is only useful for testing, when at least two backends
2665are compiled in.
2666
2667Since: 1.10
2668
2669</description>
2670<parameters>
2671</parameters>
2672<return> the newly allocated #PangoFontMap,
2673which should be freed with g_object_unref().
2674
2675</return>
2676</function>
2677
2678<function name="pango_cairo_font_map_new_for_font_type">
2679<description>
2680Creates a new #PangoCairoFontMap object of the type suitable
2681to be used with cairo font backend of type @fonttype.
2682
2683In most cases one should simply use @pango_cairo_font_map_new(),
2684or in fact in most of those cases, just use
2685@pango_cairo_font_map_get_default().
2686
2687Since: 1.18
2688
2689</description>
2690<parameters>
2691<parameter name="fonttype">
2692<parameter_description> desired #cairo_font_type_t
2693</parameter_description>
2694</parameter>
2695</parameters>
2696<return> the newly allocated
2697#PangoFontMap of suitable type which should be freed
2698with g_object_unref(), or %NULL if the requested
2699cairo font backend is not supported / compiled in.
2700
2701</return>
2702</function>
2703
2704<function name="pango_cairo_font_map_set_default">
2705<description>
2706Sets a default #PangoCairoFontMap to use with Cairo.
2707
2708This can be used to change the Cairo font backend that the
2709default fontmap uses for example.  The old default font map
2710is unreffed and the new font map referenced.
2711
2712Note that since Pango 1.32.6, the default fontmap is per-thread.
2713This function only changes the default fontmap for
2714the current thread.   Default fontmaps of exisiting threads
2715are not changed.  Default fontmaps of any new threads will
2716still be created using pango_cairo_font_map_new().
2717
2718A value of %NULL for @fontmap will cause the current default
2719font map to be released and a new default font
2720map to be created on demand, using pango_cairo_font_map_new().
2721
2722Since: 1.22
2723
2724</description>
2725<parameters>
2726<parameter name="fontmap">
2727<parameter_description> The new default font map, or %NULL
2728</parameter_description>
2729</parameter>
2730</parameters>
2731<return></return>
2732</function>
2733
2734<function name="pango_cairo_font_map_set_resolution">
2735<description>
2736Sets the resolution for the fontmap. This is a scale factor between
2737points specified in a #PangoFontDescription and Cairo units. The
2738default value is 96, meaning that a 10 point font will be 13
2739units high. (10 * 96. / 72. = 13.3).
2740
2741Since: 1.10
2742
2743</description>
2744<parameters>
2745<parameter name="fontmap">
2746<parameter_description> a #PangoCairoFontMap
2747</parameter_description>
2748</parameter>
2749<parameter name="dpi">
2750<parameter_description> the resolution in &quot;dots per inch&quot;. (Physical inches aren't actually
2751involved; the terminology is conventional.)
2752</parameter_description>
2753</parameter>
2754</parameters>
2755<return></return>
2756</function>
2757
2758<function name="pango_cairo_glyph_string_path">
2759<description>
2760Adds the glyphs in @glyphs to the current path in the specified
2761cairo context. The origin of the glyphs (the left edge of the baseline)
2762will be at the current point of the cairo context.
2763
2764Since: 1.10
2765
2766</description>
2767<parameters>
2768<parameter name="cr">
2769<parameter_description> a Cairo context
2770</parameter_description>
2771</parameter>
2772<parameter name="font">
2773<parameter_description> a #PangoFont from a #PangoCairoFontMap
2774</parameter_description>
2775</parameter>
2776<parameter name="glyphs">
2777<parameter_description> a #PangoGlyphString
2778</parameter_description>
2779</parameter>
2780</parameters>
2781<return></return>
2782</function>
2783
2784<function name="pango_cairo_layout_line_path">
2785<description>
2786Adds the text in #PangoLayoutLine to the current path in the
2787specified cairo context.  The origin of the glyphs (the left edge
2788of the line) will be at the current point of the cairo context.
2789
2790Since: 1.10
2791
2792</description>
2793<parameters>
2794<parameter name="cr">
2795<parameter_description> a Cairo context
2796</parameter_description>
2797</parameter>
2798<parameter name="line">
2799<parameter_description> a #PangoLayoutLine
2800</parameter_description>
2801</parameter>
2802</parameters>
2803<return></return>
2804</function>
2805
2806<function name="pango_cairo_layout_path">
2807<description>
2808Adds the text in a #PangoLayout to the current path in the
2809specified cairo context.  The top-left corner of the #PangoLayout
2810will be at the current point of the cairo context.
2811
2812Since: 1.10
2813
2814</description>
2815<parameters>
2816<parameter name="cr">
2817<parameter_description> a Cairo context
2818</parameter_description>
2819</parameter>
2820<parameter name="layout">
2821<parameter_description> a Pango layout
2822</parameter_description>
2823</parameter>
2824</parameters>
2825<return></return>
2826</function>
2827
2828<function name="pango_cairo_show_error_underline">
2829<description>
2830Draw a squiggly line in the specified cairo context that approximately
2831covers the given rectangle in the style of an underline used to indicate a
2832spelling error.  (The width of the underline is rounded to an integer
2833number of up/down segments and the resulting rectangle is centered in the
2834original rectangle)
2835
2836Since: 1.14
2837
2838</description>
2839<parameters>
2840<parameter name="cr">
2841<parameter_description> a Cairo context
2842</parameter_description>
2843</parameter>
2844<parameter name="x">
2845<parameter_description> The X coordinate of one corner of the rectangle
2846</parameter_description>
2847</parameter>
2848<parameter name="y">
2849<parameter_description> The Y coordinate of one corner of the rectangle
2850</parameter_description>
2851</parameter>
2852<parameter name="width">
2853<parameter_description> Non-negative width of the rectangle
2854</parameter_description>
2855</parameter>
2856<parameter name="height">
2857<parameter_description> Non-negative height of the rectangle
2858</parameter_description>
2859</parameter>
2860</parameters>
2861<return></return>
2862</function>
2863
2864<function name="pango_cairo_show_glyph_item">
2865<description>
2866Draws the glyphs in @glyph_item in the specified cairo context,
2867embedding the text associated with the glyphs in the output if the
2868output format supports it (PDF for example), otherwise it acts
2869similar to pango_cairo_show_glyph_string().
2870
2871The origin of the glyphs (the left edge of the baseline) will
2872be drawn at the current point of the cairo context.
2873
2874Note that @text is the start of the text for layout, which is then
2875indexed by &lt;literal&gt;@glyph_item-&gt;item-&gt;offset&lt;/literal&gt;.
2876
2877Since: 1.22
2878
2879</description>
2880<parameters>
2881<parameter name="cr">
2882<parameter_description> a Cairo context
2883</parameter_description>
2884</parameter>
2885<parameter name="text">
2886<parameter_description> the UTF-8 text that @glyph_item refers to
2887</parameter_description>
2888</parameter>
2889<parameter name="glyph_item">
2890<parameter_description> a #PangoGlyphItem
2891</parameter_description>
2892</parameter>
2893</parameters>
2894<return></return>
2895</function>
2896
2897<function name="pango_cairo_show_glyph_string">
2898<description>
2899Draws the glyphs in @glyphs in the specified cairo context.
2900The origin of the glyphs (the left edge of the baseline) will
2901be drawn at the current point of the cairo context.
2902
2903Since: 1.10
2904
2905</description>
2906<parameters>
2907<parameter name="cr">
2908<parameter_description> a Cairo context
2909</parameter_description>
2910</parameter>
2911<parameter name="font">
2912<parameter_description> a #PangoFont from a #PangoCairoFontMap
2913</parameter_description>
2914</parameter>
2915<parameter name="glyphs">
2916<parameter_description> a #PangoGlyphString
2917</parameter_description>
2918</parameter>
2919</parameters>
2920<return></return>
2921</function>
2922
2923<function name="pango_cairo_show_layout">
2924<description>
2925Draws a #PangoLayout in the specified cairo context.
2926The top-left corner of the #PangoLayout will be drawn
2927at the current point of the cairo context.
2928
2929Since: 1.10
2930
2931</description>
2932<parameters>
2933<parameter name="cr">
2934<parameter_description> a Cairo context
2935</parameter_description>
2936</parameter>
2937<parameter name="layout">
2938<parameter_description> a Pango layout
2939</parameter_description>
2940</parameter>
2941</parameters>
2942<return></return>
2943</function>
2944
2945<function name="pango_cairo_show_layout_line">
2946<description>
2947Draws a #PangoLayoutLine in the specified cairo context.
2948The origin of the glyphs (the left edge of the line) will
2949be drawn at the current point of the cairo context.
2950
2951Since: 1.10
2952
2953</description>
2954<parameters>
2955<parameter name="cr">
2956<parameter_description> a Cairo context
2957</parameter_description>
2958</parameter>
2959<parameter name="line">
2960<parameter_description> a #PangoLayoutLine
2961</parameter_description>
2962</parameter>
2963</parameters>
2964<return></return>
2965</function>
2966
2967<function name="pango_cairo_update_context">
2968<description>
2969Updates a #PangoContext previously created for use with Cairo to
2970match the current transformation and target surface of a Cairo
2971context. If any layouts have been created for the context,
2972it's necessary to call pango_layout_context_changed() on those
2973layouts.
2974
2975Since: 1.10
2976
2977</description>
2978<parameters>
2979<parameter name="cr">
2980<parameter_description> a Cairo context
2981</parameter_description>
2982</parameter>
2983<parameter name="context">
2984<parameter_description> a #PangoContext, from a pangocairo font map
2985</parameter_description>
2986</parameter>
2987</parameters>
2988<return></return>
2989</function>
2990
2991<function name="pango_cairo_update_layout">
2992<description>
2993Updates the private #PangoContext of a #PangoLayout created with
2994pango_cairo_create_layout() to match the current transformation
2995and target surface of a Cairo context.
2996
2997Since: 1.10
2998
2999</description>
3000<parameters>
3001<parameter name="cr">
3002<parameter_description> a Cairo context
3003</parameter_description>
3004</parameter>
3005<parameter name="layout">
3006<parameter_description> a #PangoLayout, from pango_cairo_create_layout()
3007</parameter_description>
3008</parameter>
3009</parameters>
3010<return></return>
3011</function>
3012
3013<function name="pango_color_copy">
3014<description>
3015Creates a copy of @src, which should be freed with
3016pango_color_free(). Primarily used by language bindings,
3017not that useful otherwise (since colors can just be copied
3018by assignment in C).
3019
3020
3021</description>
3022<parameters>
3023<parameter name="src">
3024<parameter_description> color to copy, may be %NULL
3025</parameter_description>
3026</parameter>
3027</parameters>
3028<return> the newly allocated #PangoColor, which
3029should be freed with pango_color_free(), or %NULL if
3030@src was %NULL.
3031</return>
3032</function>
3033
3034<function name="pango_color_free">
3035<description>
3036Frees a color allocated by pango_color_copy().
3037
3038</description>
3039<parameters>
3040<parameter name="color">
3041<parameter_description> an allocated #PangoColor, may be %NULL
3042</parameter_description>
3043</parameter>
3044</parameters>
3045<return></return>
3046</function>
3047
3048<function name="pango_color_parse">
3049<description>
3050Fill in the fields of a color from a string specification. The
3051string can either one of a large set of standard names. (Taken
3052from the CSS &lt;ulink url=&quot;http://dev.w3.org/csswg/css-color/#named-colors&quot;&gt;specification&lt;/ulink&gt;), or it can be a hexadecimal
3053value in the
3054form '&#35;rgb' '&#35;rrggbb' '&#35;rrrgggbbb' or '&#35;rrrrggggbbbb' where
3055'r', 'g' and 'b' are hex digits of the red, green, and blue
3056components of the color, respectively. (White in the four
3057forms is '&#35;fff' '&#35;ffffff' '&#35;fffffffff' and '&#35;ffffffffffff')
3058
3059
3060</description>
3061<parameters>
3062<parameter name="color">
3063<parameter_description> a #PangoColor structure in which to store the
3064result, or %NULL
3065</parameter_description>
3066</parameter>
3067<parameter name="spec">
3068<parameter_description> a string specifying the new color
3069</parameter_description>
3070</parameter>
3071</parameters>
3072<return> %TRUE if parsing of the specifier succeeded,
3073otherwise false.
3074</return>
3075</function>
3076
3077<function name="pango_color_to_string">
3078<description>
3079Returns a textual specification of @color in the hexadecimal form
3080&lt;literal&gt;&#35;rrrrggggbbbb&lt;/literal&gt;, where &lt;literal&gt;r&lt;/literal&gt;,
3081&lt;literal&gt;g&lt;/literal&gt; and &lt;literal&gt;b&lt;/literal&gt; are hex digits representing
3082the red, green, and blue components respectively.
3083
3084Since: 1.16
3085
3086</description>
3087<parameters>
3088<parameter name="color">
3089<parameter_description> a #PangoColor
3090</parameter_description>
3091</parameter>
3092</parameters>
3093<return> a newly-allocated text string that must be freed with g_free().
3094
3095</return>
3096</function>
3097
3098<function name="pango_config_key_get">
3099<description>
3100Do not use.  Does not do anything.
3101
3102Deprecated: 1.38
3103
3104</description>
3105<parameters>
3106<parameter name="key">
3107<parameter_description> Key to look up, in the form &quot;SECTION/KEY&quot;.
3108</parameter_description>
3109</parameter>
3110</parameters>
3111<return> %NULL
3112
3113</return>
3114</function>
3115
3116<function name="pango_config_key_get_system">
3117<description>
3118Do not use.  Does not do anything.
3119
3120Deprecated: 1.38
3121
3122</description>
3123<parameters>
3124<parameter name="key">
3125<parameter_description> Key to look up, in the form &quot;SECTION/KEY&quot;.
3126</parameter_description>
3127</parameter>
3128</parameters>
3129<return> %NULL
3130
3131</return>
3132</function>
3133
3134<function name="pango_context_changed">
3135<description>
3136Forces a change in the context, which will cause any #PangoLayout
3137using this context to re-layout.
3138
3139This function is only useful when implementing a new backend
3140for Pango, something applications won't do. Backends should
3141call this function if they have attached extra data to the context
3142and such data is changed.
3143
3144Since: 1.32.4
3145
3146</description>
3147<parameters>
3148<parameter name="context">
3149<parameter_description> a #PangoContext
3150</parameter_description>
3151</parameter>
3152</parameters>
3153<return></return>
3154</function>
3155
3156<function name="pango_context_get_base_dir">
3157<description>
3158Retrieves the base direction for the context. See
3159pango_context_set_base_dir().
3160
3161
3162</description>
3163<parameters>
3164<parameter name="context">
3165<parameter_description> a #PangoContext
3166</parameter_description>
3167</parameter>
3168</parameters>
3169<return> the base direction for the context.
3170</return>
3171</function>
3172
3173<function name="pango_context_get_base_gravity">
3174<description>
3175Retrieves the base gravity for the context. See
3176pango_context_set_base_gravity().
3177
3178Since: 1.16
3179
3180</description>
3181<parameters>
3182<parameter name="context">
3183<parameter_description> a #PangoContext
3184</parameter_description>
3185</parameter>
3186</parameters>
3187<return> the base gravity for the context.
3188
3189</return>
3190</function>
3191
3192<function name="pango_context_get_font_description">
3193<description>
3194Retrieve the default font description for the context.
3195
3196
3197</description>
3198<parameters>
3199<parameter name="context">
3200<parameter_description> a #PangoContext
3201</parameter_description>
3202</parameter>
3203</parameters>
3204<return> a pointer to the context's default font
3205description. This value must not be modified or freed.
3206</return>
3207</function>
3208
3209<function name="pango_context_get_font_map">
3210<description>
3211Gets the #PangoFontMap used to look up fonts for this context.
3212
3213Since: 1.6
3214
3215</description>
3216<parameters>
3217<parameter name="context">
3218<parameter_description> a #PangoContext
3219</parameter_description>
3220</parameter>
3221</parameters>
3222<return> the font map for the #PangoContext.
3223This value is owned by Pango and should not be unreferenced.
3224
3225</return>
3226</function>
3227
3228<function name="pango_context_get_gravity">
3229<description>
3230Retrieves the gravity for the context. This is similar to
3231pango_context_get_base_gravity(), except for when the base gravity
3232is %PANGO_GRAVITY_AUTO for which pango_gravity_get_for_matrix() is used
3233to return the gravity from the current context matrix.
3234
3235Since: 1.16
3236
3237</description>
3238<parameters>
3239<parameter name="context">
3240<parameter_description> a #PangoContext
3241</parameter_description>
3242</parameter>
3243</parameters>
3244<return> the resolved gravity for the context.
3245
3246</return>
3247</function>
3248
3249<function name="pango_context_get_gravity_hint">
3250<description>
3251Retrieves the gravity hint for the context. See
3252pango_context_set_gravity_hint() for details.
3253
3254Since: 1.16
3255
3256</description>
3257<parameters>
3258<parameter name="context">
3259<parameter_description> a #PangoContext
3260</parameter_description>
3261</parameter>
3262</parameters>
3263<return> the gravity hint for the context.
3264
3265</return>
3266</function>
3267
3268<function name="pango_context_get_language">
3269<description>
3270Retrieves the global language tag for the context.
3271
3272
3273</description>
3274<parameters>
3275<parameter name="context">
3276<parameter_description> a #PangoContext
3277</parameter_description>
3278</parameter>
3279</parameters>
3280<return> the global language tag.
3281</return>
3282</function>
3283
3284<function name="pango_context_get_matrix">
3285<description>
3286Gets the transformation matrix that will be applied when
3287rendering with this context. See pango_context_set_matrix().
3288
3289Since: 1.6
3290
3291</description>
3292<parameters>
3293<parameter name="context">
3294<parameter_description> a #PangoContext
3295</parameter_description>
3296</parameter>
3297</parameters>
3298<return> the matrix, or %NULL if no matrix has
3299been set (which is the same as the identity matrix). The returned
3300matrix is owned by Pango and must not be modified or freed.
3301
3302</return>
3303</function>
3304
3305<function name="pango_context_get_metrics">
3306<description>
3307Get overall metric information for a particular font
3308description.  Since the metrics may be substantially different for
3309different scripts, a language tag can be provided to indicate that
3310the metrics should be retrieved that correspond to the script(s)
3311used by that language.
3312
3313The #PangoFontDescription is interpreted in the same way as
3314by pango_itemize(), and the family name may be a comma separated
3315list of figures. If characters from multiple of these families
3316would be used to render the string, then the returned fonts would
3317be a composite of the metrics for the fonts loaded for the
3318individual families.
3319
3320
3321</description>
3322<parameters>
3323<parameter name="context">
3324<parameter_description> a #PangoContext
3325</parameter_description>
3326</parameter>
3327<parameter name="desc">
3328<parameter_description> a #PangoFontDescription structure.  %NULL means that the
3329font description from the context will be used.
3330</parameter_description>
3331</parameter>
3332<parameter name="language">
3333<parameter_description> language tag used to determine which script to get
3334the metrics for. %NULL means that the language tag from the context
3335will be used. If no language tag is set on the context, metrics
3336for the default language (as determined by pango_language_get_default())
3337will be returned.
3338</parameter_description>
3339</parameter>
3340</parameters>
3341<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
3342when finished using the object.
3343</return>
3344</function>
3345
3346<function name="pango_context_get_serial">
3347<description>
3348Returns the current serial number of @context.  The serial number is
3349initialized to an small number larger than zero when a new context
3350is created and is increased whenever the context is changed using any
3351of the setter functions, or the #PangoFontMap it uses to find fonts has
3352changed. The serial may wrap, but will never have the value 0. Since it
3353can wrap, never compare it with &quot;less than&quot;, always use &quot;not equals&quot;.
3354
3355This can be used to automatically detect changes to a #PangoContext, and
3356is only useful when implementing objects that need update when their
3357#PangoContext changes, like #PangoLayout.
3358
3359Since: 1.32.4
3360
3361</description>
3362<parameters>
3363<parameter name="context">
3364<parameter_description> a #PangoContext
3365</parameter_description>
3366</parameter>
3367</parameters>
3368<return> The current serial number of @context.
3369
3370</return>
3371</function>
3372
3373<function name="pango_context_list_families">
3374<description>
3375List all families for a context.
3376
3377</description>
3378<parameters>
3379<parameter name="context">
3380<parameter_description> a #PangoContext
3381</parameter_description>
3382</parameter>
3383<parameter name="families">
3384<parameter_description> location to store a pointer to
3385an array of #PangoFontFamily *. This array should be freed
3386with g_free().
3387</parameter_description>
3388</parameter>
3389<parameter name="n_families">
3390<parameter_description> location to store the number of elements in @descs
3391</parameter_description>
3392</parameter>
3393</parameters>
3394<return></return>
3395</function>
3396
3397<function name="pango_context_load_font">
3398<description>
3399Loads the font in one of the fontmaps in the context
3400that is the closest match for @desc.
3401
3402
3403</description>
3404<parameters>
3405<parameter name="context">
3406<parameter_description> a #PangoContext
3407</parameter_description>
3408</parameter>
3409<parameter name="desc">
3410<parameter_description> a #PangoFontDescription describing the font to load
3411</parameter_description>
3412</parameter>
3413</parameters>
3414<return> the newly allocated #PangoFont
3415that was loaded, or %NULL if no font matched.
3416</return>
3417</function>
3418
3419<function name="pango_context_load_fontset">
3420<description>
3421Load a set of fonts in the context that can be used to render
3422a font matching @desc.
3423
3424
3425</description>
3426<parameters>
3427<parameter name="context">
3428<parameter_description> a #PangoContext
3429</parameter_description>
3430</parameter>
3431<parameter name="desc">
3432<parameter_description> a #PangoFontDescription describing the fonts to load
3433</parameter_description>
3434</parameter>
3435<parameter name="language">
3436<parameter_description> a #PangoLanguage the fonts will be used for
3437</parameter_description>
3438</parameter>
3439</parameters>
3440<return> the newly allocated
3441#PangoFontset loaded, or %NULL if no font matched.
3442</return>
3443</function>
3444
3445<function name="pango_context_new">
3446<description>
3447Creates a new #PangoContext initialized to default values.
3448
3449This function is not particularly useful as it should always
3450be followed by a pango_context_set_font_map() call, and the
3451function pango_font_map_create_context() does these two steps
3452together and hence users are recommended to use that.
3453
3454If you are using Pango as part of a higher-level system,
3455that system may have it's own way of create a #PangoContext.
3456For instance, the GTK+ toolkit has, among others,
3457gdk_pango_context_get_for_screen(), and
3458gtk_widget_get_pango_context().  Use those instead.
3459
3460
3461</description>
3462<parameters>
3463</parameters>
3464<return> the newly allocated #PangoContext, which should
3465be freed with g_object_unref().
3466</return>
3467</function>
3468
3469<function name="pango_context_set_base_dir">
3470<description>
3471Sets the base direction for the context.
3472
3473The base direction is used in applying the Unicode bidirectional
3474algorithm; if the @direction is %PANGO_DIRECTION_LTR or
3475%PANGO_DIRECTION_RTL, then the value will be used as the paragraph
3476direction in the Unicode bidirectional algorithm.  A value of
3477%PANGO_DIRECTION_WEAK_LTR or %PANGO_DIRECTION_WEAK_RTL is used only
3478for paragraphs that do not contain any strong characters themselves.
3479
3480</description>
3481<parameters>
3482<parameter name="context">
3483<parameter_description> a #PangoContext
3484</parameter_description>
3485</parameter>
3486<parameter name="direction">
3487<parameter_description> the new base direction
3488</parameter_description>
3489</parameter>
3490</parameters>
3491<return></return>
3492</function>
3493
3494<function name="pango_context_set_base_gravity">
3495<description>
3496Sets the base gravity for the context.
3497
3498The base gravity is used in laying vertical text out.
3499
3500Since: 1.16
3501
3502</description>
3503<parameters>
3504<parameter name="context">
3505<parameter_description> a #PangoContext
3506</parameter_description>
3507</parameter>
3508<parameter name="gravity">
3509<parameter_description> the new base gravity
3510</parameter_description>
3511</parameter>
3512</parameters>
3513<return></return>
3514</function>
3515
3516<function name="pango_context_set_font_description">
3517<description>
3518Set the default font description for the context
3519
3520</description>
3521<parameters>
3522<parameter name="context">
3523<parameter_description> a #PangoContext
3524</parameter_description>
3525</parameter>
3526<parameter name="desc">
3527<parameter_description> the new pango font description
3528</parameter_description>
3529</parameter>
3530</parameters>
3531<return></return>
3532</function>
3533
3534<function name="pango_context_set_font_map">
3535<description>
3536Sets the font map to be searched when fonts are looked-up in this context.
3537This is only for internal use by Pango backends, a #PangoContext obtained
3538via one of the recommended methods should already have a suitable font map.
3539
3540</description>
3541<parameters>
3542<parameter name="context">
3543<parameter_description> a #PangoContext
3544</parameter_description>
3545</parameter>
3546<parameter name="font_map">
3547<parameter_description> the #PangoFontMap to set.
3548</parameter_description>
3549</parameter>
3550</parameters>
3551<return></return>
3552</function>
3553
3554<function name="pango_context_set_gravity_hint">
3555<description>
3556Sets the gravity hint for the context.
3557
3558The gravity hint is used in laying vertical text out, and is only relevant
3559if gravity of the context as returned by pango_context_get_gravity()
3560is set %PANGO_GRAVITY_EAST or %PANGO_GRAVITY_WEST.
3561
3562Since: 1.16
3563
3564</description>
3565<parameters>
3566<parameter name="context">
3567<parameter_description> a #PangoContext
3568</parameter_description>
3569</parameter>
3570<parameter name="hint">
3571<parameter_description> the new gravity hint
3572</parameter_description>
3573</parameter>
3574</parameters>
3575<return></return>
3576</function>
3577
3578<function name="pango_context_set_language">
3579<description>
3580Sets the global language tag for the context.  The default language
3581for the locale of the running process can be found using
3582pango_language_get_default().
3583
3584</description>
3585<parameters>
3586<parameter name="context">
3587<parameter_description> a #PangoContext
3588</parameter_description>
3589</parameter>
3590<parameter name="language">
3591<parameter_description> the new language tag.
3592</parameter_description>
3593</parameter>
3594</parameters>
3595<return></return>
3596</function>
3597
3598<function name="pango_context_set_matrix">
3599<description>
3600Sets the transformation matrix that will be applied when rendering
3601with this context. Note that reported metrics are in the user space
3602coordinates before the application of the matrix, not device-space
3603coordinates after the application of the matrix. So, they don't scale
3604with the matrix, though they may change slightly for different
3605matrices, depending on how the text is fit to the pixel grid.
3606
3607Since: 1.6
3608
3609</description>
3610<parameters>
3611<parameter name="context">
3612<parameter_description> a #PangoContext
3613</parameter_description>
3614</parameter>
3615<parameter name="matrix">
3616<parameter_description> a #PangoMatrix, or %NULL to unset any existing
3617matrix. (No matrix set is the same as setting the identity matrix.)
3618</parameter_description>
3619</parameter>
3620</parameters>
3621<return></return>
3622</function>
3623
3624<function name="pango_core_text_font_get_ctfont">
3625<description>
3626Returns the CTFontRef of a font.
3627
3628Since: 1.24
3629
3630</description>
3631<parameters>
3632<parameter name="font">
3633<parameter_description> A #PangoCoreTextFont
3634</parameter_description>
3635</parameter>
3636</parameters>
3637<return> the CTFontRef associated to @font.
3638
3639</return>
3640</function>
3641
3642<function name="pango_coverage_copy">
3643<description>
3644Copy an existing #PangoCoverage. (This function may now be unnecessary
3645since we refcount the structure. File a bug if you use it.)
3646
3647
3648</description>
3649<parameters>
3650<parameter name="coverage">
3651<parameter_description> a #PangoCoverage
3652</parameter_description>
3653</parameter>
3654</parameters>
3655<return> the newly allocated #PangoCoverage,
3656with a reference count of one, which should be freed
3657with pango_coverage_unref().
3658</return>
3659</function>
3660
3661<function name="pango_coverage_from_bytes">
3662<description>
3663Convert data generated from pango_coverage_to_bytes() back
3664to a #PangoCoverage
3665
3666
3667</description>
3668<parameters>
3669<parameter name="bytes">
3670<parameter_description> binary data
3671representing a #PangoCoverage
3672</parameter_description>
3673</parameter>
3674<parameter name="n_bytes">
3675<parameter_description> the size of @bytes in bytes
3676</parameter_description>
3677</parameter>
3678</parameters>
3679<return> a newly allocated
3680#PangoCoverage, or %NULL if the data was invalid.
3681</return>
3682</function>
3683
3684<function name="pango_coverage_get">
3685<description>
3686Determine whether a particular index is covered by @coverage
3687
3688
3689</description>
3690<parameters>
3691<parameter name="coverage">
3692<parameter_description> a #PangoCoverage
3693</parameter_description>
3694</parameter>
3695<parameter name="index_">
3696<parameter_description> the index to check
3697</parameter_description>
3698</parameter>
3699</parameters>
3700<return> the coverage level of @coverage for character @index_.
3701</return>
3702</function>
3703
3704<function name="pango_coverage_max">
3705<description>
3706Set the coverage for each index in @coverage to be the max (better)
3707value of the current coverage for the index and the coverage for
3708the corresponding index in @other.
3709
3710</description>
3711<parameters>
3712<parameter name="coverage">
3713<parameter_description> a #PangoCoverage
3714</parameter_description>
3715</parameter>
3716<parameter name="other">
3717<parameter_description> another #PangoCoverage
3718</parameter_description>
3719</parameter>
3720</parameters>
3721<return></return>
3722</function>
3723
3724<function name="pango_coverage_new">
3725<description>
3726Create a new #PangoCoverage
3727
3728
3729</description>
3730<parameters>
3731</parameters>
3732<return> the newly allocated #PangoCoverage,
3733initialized to %PANGO_COVERAGE_NONE
3734with a reference count of one, which
3735should be freed with pango_coverage_unref().
3736</return>
3737</function>
3738
3739<function name="pango_coverage_ref">
3740<description>
3741Increase the reference count on the #PangoCoverage by one
3742
3743
3744</description>
3745<parameters>
3746<parameter name="coverage">
3747<parameter_description> a #PangoCoverage
3748</parameter_description>
3749</parameter>
3750</parameters>
3751<return> @coverage
3752</return>
3753</function>
3754
3755<function name="pango_coverage_set">
3756<description>
3757Modify a particular index within @coverage
3758
3759</description>
3760<parameters>
3761<parameter name="coverage">
3762<parameter_description> a #PangoCoverage
3763</parameter_description>
3764</parameter>
3765<parameter name="index_">
3766<parameter_description> the index to modify
3767</parameter_description>
3768</parameter>
3769<parameter name="level">
3770<parameter_description> the new level for @index_
3771</parameter_description>
3772</parameter>
3773</parameters>
3774<return></return>
3775</function>
3776
3777<function name="pango_coverage_to_bytes">
3778<description>
3779Convert a #PangoCoverage structure into a flat binary format
3780
3781</description>
3782<parameters>
3783<parameter name="coverage">
3784<parameter_description> a #PangoCoverage
3785</parameter_description>
3786</parameter>
3787<parameter name="bytes">
3788<parameter_description>
3789location to store result (must be freed with g_free())
3790</parameter_description>
3791</parameter>
3792<parameter name="n_bytes">
3793<parameter_description> location to store size of result
3794</parameter_description>
3795</parameter>
3796</parameters>
3797<return></return>
3798</function>
3799
3800<function name="pango_coverage_unref">
3801<description>
3802Decrease the reference count on the #PangoCoverage by one.
3803If the result is zero, free the coverage and all associated memory.
3804
3805</description>
3806<parameters>
3807<parameter name="coverage">
3808<parameter_description> a #PangoCoverage
3809</parameter_description>
3810</parameter>
3811</parameters>
3812<return></return>
3813</function>
3814
3815<function name="pango_default_break">
3816<description>
3817This is the default break algorithm, used if no language
3818engine overrides it. Normally you should use pango_break()
3819instead. Unlike pango_break(),
3820@analysis can be %NULL, but only do that if you know what
3821you're doing. If you need an analysis to pass to pango_break(),
3822you need to pango_itemize().  In most cases however you should
3823simply use pango_get_log_attrs().
3824
3825</description>
3826<parameters>
3827<parameter name="text">
3828<parameter_description> text to break
3829</parameter_description>
3830</parameter>
3831<parameter name="length">
3832<parameter_description> length of text in bytes (may be -1 if @text is nul-terminated)
3833</parameter_description>
3834</parameter>
3835<parameter name="analysis">
3836<parameter_description> a #PangoAnalysis for the @text
3837</parameter_description>
3838</parameter>
3839<parameter name="attrs">
3840<parameter_description> logical attributes to fill in
3841</parameter_description>
3842</parameter>
3843<parameter name="attrs_len">
3844<parameter_description> size of the array passed as @attrs
3845</parameter_description>
3846</parameter>
3847</parameters>
3848<return></return>
3849</function>
3850
3851<function name="pango_extents_to_pixels">
3852<description>
3853Converts extents from Pango units to device units, dividing by the
3854%PANGO_SCALE factor and performing rounding.
3855
3856The @inclusive rectangle is converted by flooring the x/y coordinates and extending
3857width/height, such that the final rectangle completely includes the original
3858rectangle.
3859
3860The @nearest rectangle is converted by rounding the coordinates
3861of the rectangle to the nearest device unit (pixel).
3862
3863The rule to which argument to use is: if you want the resulting device-space
3864rectangle to completely contain the original rectangle, pass it in as @inclusive.
3865If you want two touching-but-not-overlapping rectangles stay
3866touching-but-not-overlapping after rounding to device units, pass them in
3867as @nearest.
3868
3869Since: 1.16
3870
3871</description>
3872<parameters>
3873<parameter name="inclusive">
3874<parameter_description> rectangle to round to pixels inclusively, or %NULL.
3875</parameter_description>
3876</parameter>
3877<parameter name="nearest">
3878<parameter_description> rectangle to round to nearest pixels, or %NULL.
3879</parameter_description>
3880</parameter>
3881</parameters>
3882<return></return>
3883</function>
3884
3885<function name="pango_fc_decoder_get_charset">
3886<description>
3887Generates an #FcCharSet of supported characters for the fcfont
3888given.  The returned #FcCharSet will be a reference to an
3889internal value stored by the #PangoFcDecoder and must not
3890be modified or freed.
3891
3892Since: 1.6
3893
3894</description>
3895<parameters>
3896<parameter name="decoder">
3897<parameter_description> a #PangoFcDecoder
3898</parameter_description>
3899</parameter>
3900<parameter name="fcfont">
3901<parameter_description> the #PangoFcFont to query.
3902</parameter_description>
3903</parameter>
3904</parameters>
3905<return> the #FcCharset for @fcfont; must not be modified
3906or freed.
3907
3908</return>
3909</function>
3910
3911<function name="pango_fc_decoder_get_glyph">
3912<description>
3913Generates a #PangoGlyph for the given Unicode point using the
3914custom decoder. For complex scripts where there can be multiple
3915glyphs for a single character, the decoder will return whatever
3916glyph is most convenient for it. (Usually whatever glyph is directly
3917in the fonts character map table.)
3918
3919Since: 1.6
3920
3921</description>
3922<parameters>
3923<parameter name="decoder">
3924<parameter_description> a #PangoFcDecoder
3925</parameter_description>
3926</parameter>
3927<parameter name="fcfont">
3928<parameter_description> a #PangoFcFont to query.
3929</parameter_description>
3930</parameter>
3931<parameter name="wc">
3932<parameter_description> the Unicode code point to convert to a single #PangoGlyph.
3933</parameter_description>
3934</parameter>
3935</parameters>
3936<return> the glyph index, or 0 if the glyph isn't
3937covered by the font.
3938
3939</return>
3940</function>
3941
3942<function name="pango_fc_font_description_from_pattern">
3943<description>
3944Creates a #PangoFontDescription that matches the specified
3945Fontconfig pattern as closely as possible. Many possible Fontconfig
3946pattern values, such as %FC_RASTERIZER or %FC_DPI, don't make sense in
3947the context of #PangoFontDescription, so will be ignored.
3948
3949Since: 1.4
3950
3951</description>
3952<parameters>
3953<parameter name="pattern">
3954<parameter_description> a #FcPattern
3955</parameter_description>
3956</parameter>
3957<parameter name="include_size">
3958<parameter_description> if %TRUE, the pattern will include the size from
3959the @pattern; otherwise the resulting pattern will be unsized.
3960(only %FC_SIZE is examined, not %FC_PIXEL_SIZE)
3961</parameter_description>
3962</parameter>
3963</parameters>
3964<return> a new #PangoFontDescription. Free with
3965pango_font_description_free().
3966
3967</return>
3968</function>
3969
3970<function name="pango_fc_font_get_glyph">
3971<description>
3972Gets the glyph index for a given Unicode character
3973for @font. If you only want to determine
3974whether the font has the glyph, use pango_fc_font_has_char().
3975
3976Since: 1.4
3977
3978</description>
3979<parameters>
3980<parameter name="font">
3981<parameter_description> a #PangoFcFont
3982</parameter_description>
3983</parameter>
3984<parameter name="wc">
3985<parameter_description> Unicode character to look up
3986</parameter_description>
3987</parameter>
3988</parameters>
3989<return> the glyph index, or 0, if the Unicode
3990character doesn't exist in the font.
3991
3992</return>
3993</function>
3994
3995<function name="pango_fc_font_get_raw_extents">
3996<description>
3997Gets the extents of a single glyph from a font. The extents are in
3998user space; that is, they are not transformed by any matrix in effect
3999for the font.
4000
4001Long term, this functionality probably belongs in the default
4002implementation of the get_glyph_extents() virtual function.
4003The other possibility would be to to make it public in something
4004like it's current form, and also expose glyph information
4005caching functionality similar to pango_ft2_font_set_glyph_info().
4006
4007Since: 1.6
4008
4009</description>
4010<parameters>
4011<parameter name="fcfont">
4012<parameter_description> a #PangoFcFont
4013</parameter_description>
4014</parameter>
4015<parameter name="load_flags">
4016<parameter_description> flags to pass to FT_Load_Glyph()
4017</parameter_description>
4018</parameter>
4019<parameter name="glyph">
4020<parameter_description> the glyph index to load
4021</parameter_description>
4022</parameter>
4023<parameter name="ink_rect">
4024<parameter_description> location to store ink extents of the
4025glyph, or %NULL
4026</parameter_description>
4027</parameter>
4028<parameter name="logical_rect">
4029<parameter_description> location to store logical extents
4030of the glyph or %NULL
4031</parameter_description>
4032</parameter>
4033</parameters>
4034<return></return>
4035</function>
4036
4037<function name="pango_fc_font_get_unknown_glyph">
4038<description>
4039Returns the index of a glyph suitable for drawing @wc as an
4040unknown character.
4041
4042Use PANGO_GET_UNKNOWN_GLYPH() instead.
4043
4044Since: 1.4
4045
4046</description>
4047<parameters>
4048<parameter name="font">
4049<parameter_description> a #PangoFcFont
4050</parameter_description>
4051</parameter>
4052<parameter name="wc">
4053<parameter_description> the Unicode character for which a glyph is needed.
4054</parameter_description>
4055</parameter>
4056</parameters>
4057<return> a glyph index into @font.
4058
4059</return>
4060</function>
4061
4062<function name="pango_fc_font_has_char">
4063<description>
4064Determines whether @font has a glyph for the codepoint @wc.
4065
4066Since: 1.4
4067
4068</description>
4069<parameters>
4070<parameter name="font">
4071<parameter_description> a #PangoFcFont
4072</parameter_description>
4073</parameter>
4074<parameter name="wc">
4075<parameter_description> Unicode codepoint to look up
4076</parameter_description>
4077</parameter>
4078</parameters>
4079<return> %TRUE if @font has the requested codepoint.
4080
4081</return>
4082</function>
4083
4084<function name="pango_fc_font_kern_glyphs">
4085<description>
4086Adjust each adjacent pair of glyphs in @glyphs according to
4087kerning information in @font.
4088
4089Since: 1.4
4090Deprecated: 1.32
4091
4092</description>
4093<parameters>
4094<parameter name="font">
4095<parameter_description> a #PangoFcFont
4096</parameter_description>
4097</parameter>
4098<parameter name="glyphs">
4099<parameter_description> a #PangoGlyphString
4100</parameter_description>
4101</parameter>
4102</parameters>
4103<return></return>
4104</function>
4105
4106<function name="pango_fc_font_key_get_context_key">
4107<description>
4108Gets the context key member of @key.
4109
4110Since: 1.24
4111
4112</description>
4113<parameters>
4114<parameter name="key">
4115<parameter_description> the font key
4116</parameter_description>
4117</parameter>
4118</parameters>
4119<return> the context key, which is owned by @key and should not be modified.
4120
4121</return>
4122</function>
4123
4124<function name="pango_fc_font_key_get_matrix">
4125<description>
4126Gets the matrix member of @key.
4127
4128Since: 1.24
4129
4130</description>
4131<parameters>
4132<parameter name="key">
4133<parameter_description> the font key
4134</parameter_description>
4135</parameter>
4136</parameters>
4137<return> the matrix, which is owned by @key and should not be modified.
4138
4139</return>
4140</function>
4141
4142<function name="pango_fc_font_key_get_pattern">
4143<description>
4144Gets the fontconfig pattern member of @key.
4145
4146Since: 1.24
4147
4148</description>
4149<parameters>
4150<parameter name="key">
4151<parameter_description> the font key
4152</parameter_description>
4153</parameter>
4154</parameters>
4155<return> the pattern, which is owned by @key and should not be modified.
4156
4157</return>
4158</function>
4159
4160<function name="pango_fc_font_lock_face">
4161<description>
4162Gets the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with a font,
4163This face will be kept around until you call
4164pango_fc_font_unlock_face().
4165
4166Since: 1.4
4167
4168</description>
4169<parameters>
4170<parameter name="font">
4171<parameter_description> a #PangoFcFont.
4172</parameter_description>
4173</parameter>
4174</parameters>
4175<return> the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with @font.
4176
4177</return>
4178</function>
4179
4180<function name="pango_fc_font_map_add_decoder_find_func">
4181<description>
4182This function saves a callback method in the #PangoFcFontMap that
4183will be called whenever new fonts are created.  If the
4184function returns a #PangoFcDecoder, that decoder will be used to
4185determine both coverage via a #FcCharSet and a one-to-one mapping of
4186characters to glyphs.  This will allow applications to have
4187application-specific encodings for various fonts.
4188
4189Since: 1.6
4190
4191</description>
4192<parameters>
4193<parameter name="fcfontmap">
4194<parameter_description> The #PangoFcFontMap to add this method to.
4195</parameter_description>
4196</parameter>
4197<parameter name="findfunc">
4198<parameter_description> The #PangoFcDecoderFindFunc callback function
4199</parameter_description>
4200</parameter>
4201<parameter name="user_data">
4202<parameter_description> User data.
4203</parameter_description>
4204</parameter>
4205<parameter name="dnotify">
4206<parameter_description> A #GDestroyNotify callback that will be called when the
4207fontmap is finalized and the decoder is released.
4208</parameter_description>
4209</parameter>
4210</parameters>
4211<return></return>
4212</function>
4213
4214<function name="pango_fc_font_map_cache_clear">
4215<description>
4216Clear all cached information and fontsets for this font map;
4217this should be called whenever there is a change in the
4218output of the default_substitute() virtual function of the
4219font map, or if fontconfig has been reinitialized to new
4220configuration.
4221
4222Since: 1.4
4223
4224</description>
4225<parameters>
4226<parameter name="fcfontmap">
4227<parameter_description> a #PangoFcFontMap
4228</parameter_description>
4229</parameter>
4230</parameters>
4231<return></return>
4232</function>
4233
4234<function name="pango_fc_font_map_config_changed">
4235<description>
4236Informs font map that the fontconfig configuration (ie, FcConfig object)
4237used by this font map has changed.  This currently calls
4238pango_fc_font_map_cache_clear() which ensures that list of fonts, etc
4239will be regenerated using the updated configuration.
4240
4241Since: 1.38
4242
4243</description>
4244<parameters>
4245<parameter name="fcfontmap">
4246<parameter_description> a #PangoFcFontMap
4247</parameter_description>
4248</parameter>
4249</parameters>
4250<return></return>
4251</function>
4252
4253<function name="pango_fc_font_map_create_context">
4254<description>
4255Creates a new context for this fontmap. This function is intended
4256only for backend implementations deriving from #PangoFcFontMap;
4257it is possible that a backend will store additional information
4258needed for correct operation on the #PangoContext after calling
4259this function.
4260
4261Since: 1.4
4262
4263Deprecated: 1.22: Use pango_font_map_create_context() instead.
4264
4265</description>
4266<parameters>
4267<parameter name="fcfontmap">
4268<parameter_description> a #PangoFcFontMap
4269</parameter_description>
4270</parameter>
4271</parameters>
4272<return> a new #PangoContext
4273
4274</return>
4275</function>
4276
4277<function name="pango_fc_font_map_find_decoder">
4278<description>
4279Finds the decoder to use for @pattern.  Decoders can be added to
4280a font map using pango_fc_font_map_add_decoder_find_func().
4281
4282Since: 1.26
4283
4284</description>
4285<parameters>
4286<parameter name="fcfontmap">
4287<parameter_description> The #PangoFcFontMap to use.
4288</parameter_description>
4289</parameter>
4290<parameter name="pattern">
4291<parameter_description> The #FcPattern to find the decoder for.
4292</parameter_description>
4293</parameter>
4294</parameters>
4295<return> a newly created #PangoFcDecoder object or
4296%NULL if no decoder is set for @pattern.
4297
4298</return>
4299</function>
4300
4301<function name="pango_fc_font_map_get_config">
4302<description>
4303Fetches FcConfig attached to a font map.  See pango_fc_font_map_set_config().
4304
4305Since: 1.38
4306
4307</description>
4308<parameters>
4309<parameter name="fcfontmap">
4310<parameter_description> a #PangoFcFontMap
4311</parameter_description>
4312</parameter>
4313</parameters>
4314<return> the #FcConfig object attached to @fcfontmap, which
4315might be %NULL.
4316
4317</return>
4318</function>
4319
4320<function name="pango_fc_font_map_set_config">
4321<description>
4322Set the FcConfig for this font map to use.  The default value
4323is %NULL, which causes Fontconfig to use its global &quot;current config&quot;.
4324You can create a new FcConfig object and use this API to attach it
4325to a font map.
4326
4327This is particularly useful for example, if you want to use application
4328fonts with Pango.  For that, you would create a fresh FcConfig, add your
4329app fonts to it, and attach it to a new Pango font map.
4330
4331If @fcconfig is different from the previous config attached to the font map,
4332pango_fc_font_map_config_changed() is called.
4333
4334This function acquires a reference to the FcConfig object; the caller
4335does NOT need to retain a reference.
4336
4337Since: 1.38
4338
4339</description>
4340<parameters>
4341<parameter name="fcfontmap">
4342<parameter_description> a #PangoFcFontMap
4343</parameter_description>
4344</parameter>
4345<parameter name="fcconfig">
4346<parameter_description> (nullable) a #FcConfig, or %NULL
4347</parameter_description>
4348</parameter>
4349</parameters>
4350<return></return>
4351</function>
4352
4353<function name="pango_fc_font_map_shutdown">
4354<description>
4355Clears all cached information for the fontmap and marks
4356all fonts open for the fontmap as dead. (See the shutdown()
4357virtual function of #PangoFcFont.) This function might be used
4358by a backend when the underlying windowing system for the font
4359map exits. This function is only intended to be called
4360only for backend implementations deriving from #PangoFcFontMap.
4361
4362Since: 1.4
4363
4364</description>
4365<parameters>
4366<parameter name="fcfontmap">
4367<parameter_description> a #PangoFcFontMap
4368</parameter_description>
4369</parameter>
4370</parameters>
4371<return></return>
4372</function>
4373
4374<function name="pango_fc_font_unlock_face">
4375<description>
4376Releases a font previously obtained with
4377pango_fc_font_lock_face().
4378
4379Since: 1.4
4380
4381</description>
4382<parameters>
4383<parameter name="font">
4384<parameter_description> a #PangoFcFont.
4385</parameter_description>
4386</parameter>
4387</parameters>
4388<return></return>
4389</function>
4390
4391<function name="pango_fc_fontset_key_get_absolute_size">
4392<description>
4393Gets the absolute font size of @key in Pango units.  This is adjusted
4394for both resolution and transformation matrix.
4395
4396Since: 1.24
4397
4398</description>
4399<parameters>
4400<parameter name="key">
4401<parameter_description> the fontset key
4402</parameter_description>
4403</parameter>
4404</parameters>
4405<return> the pixel size of @key.
4406
4407</return>
4408</function>
4409
4410<function name="pango_fc_fontset_key_get_context_key">
4411<description>
4412Gets the context key member of @key.
4413
4414Since: 1.24
4415
4416</description>
4417<parameters>
4418<parameter name="key">
4419<parameter_description> the font key
4420</parameter_description>
4421</parameter>
4422</parameters>
4423<return> the context key, which is owned by @key and should not be modified.
4424
4425</return>
4426</function>
4427
4428<function name="pango_fc_fontset_key_get_description">
4429<description>
4430Gets the font description of @key.
4431
4432Since: 1.24
4433
4434</description>
4435<parameters>
4436<parameter name="key">
4437<parameter_description> the fontset key
4438</parameter_description>
4439</parameter>
4440</parameters>
4441<return> the font description, which is owned by @key and should not be modified.
4442
4443</return>
4444</function>
4445
4446<function name="pango_fc_fontset_key_get_language">
4447<description>
4448Gets the language member of @key.
4449
4450Since: 1.24
4451
4452</description>
4453<parameters>
4454<parameter name="key">
4455<parameter_description> the fontset key
4456</parameter_description>
4457</parameter>
4458</parameters>
4459<return> the language
4460
4461</return>
4462</function>
4463
4464<function name="pango_fc_fontset_key_get_matrix">
4465<description>
4466Gets the matrix member of @key.
4467
4468Since: 1.24
4469
4470</description>
4471<parameters>
4472<parameter name="key">
4473<parameter_description> the fontset key
4474</parameter_description>
4475</parameter>
4476</parameters>
4477<return> the matrix, which is owned by @key and should not be modified.
4478
4479</return>
4480</function>
4481
4482<function name="pango_fc_fontset_key_get_resolution">
4483<description>
4484Gets the resolution of @key
4485
4486Since: 1.24
4487
4488</description>
4489<parameters>
4490<parameter name="key">
4491<parameter_description> the fontset key
4492</parameter_description>
4493</parameter>
4494</parameters>
4495<return> the resolution of @key
4496
4497</return>
4498</function>
4499
4500<function name="pango_find_base_dir">
4501<description>
4502Searches a string the first character that has a strong
4503direction, according to the Unicode bidirectional algorithm.
4504
4505Since: 1.4
4506
4507</description>
4508<parameters>
4509<parameter name="text">
4510<parameter_description>   the text to process
4511</parameter_description>
4512</parameter>
4513<parameter name="length">
4514<parameter_description> length of @text in bytes (may be -1 if @text is nul-terminated)
4515</parameter_description>
4516</parameter>
4517</parameters>
4518<return> The direction corresponding to the first strong character.
4519If no such character is found, then %PANGO_DIRECTION_NEUTRAL is returned.
4520
4521</return>
4522</function>
4523
4524<function name="pango_find_map">
4525<description>
4526Do not use.  Does not do anything.
4527
4528Deprecated: 1.38
4529
4530</description>
4531<parameters>
4532<parameter name="language">
4533<parameter_description> the language tag for which to find the map
4534</parameter_description>
4535</parameter>
4536<parameter name="engine_type_id">
4537<parameter_description> the engine type for the map to find
4538</parameter_description>
4539</parameter>
4540<parameter name="render_type_id">
4541<parameter_description> the render type for the map to find
4542</parameter_description>
4543</parameter>
4544</parameters>
4545<return> %NULL.
4546
4547</return>
4548</function>
4549
4550<function name="pango_find_paragraph_boundary">
4551<description>
4552Locates a paragraph boundary in @text. A boundary is caused by
4553delimiter characters, such as a newline, carriage return, carriage
4554return-newline pair, or Unicode paragraph separator character.  The
4555index of the run of delimiters is returned in
4556@paragraph_delimiter_index. The index of the start of the paragraph
4557(index after all delimiters) is stored in @next_paragraph_start.
4558
4559If no delimiters are found, both @paragraph_delimiter_index and
4560@next_paragraph_start are filled with the length of @text (an index one
4561off the end).
4562
4563</description>
4564<parameters>
4565<parameter name="text">
4566<parameter_description> UTF-8 text
4567</parameter_description>
4568</parameter>
4569<parameter name="length">
4570<parameter_description> length of @text in bytes, or -1 if nul-terminated
4571</parameter_description>
4572</parameter>
4573<parameter name="paragraph_delimiter_index">
4574<parameter_description> return location for index of
4575delimiter
4576</parameter_description>
4577</parameter>
4578<parameter name="next_paragraph_start">
4579<parameter_description> return location for start of next
4580paragraph
4581</parameter_description>
4582</parameter>
4583</parameters>
4584<return></return>
4585</function>
4586
4587<function name="pango_font_describe">
4588<description>
4589Returns a description of the font, with font size set in points.
4590Use pango_font_describe_with_absolute_size() if you want the font
4591size in device units.
4592
4593
4594</description>
4595<parameters>
4596<parameter name="font">
4597<parameter_description> a #PangoFont
4598</parameter_description>
4599</parameter>
4600</parameters>
4601<return> a newly-allocated #PangoFontDescription object.
4602</return>
4603</function>
4604
4605<function name="pango_font_describe_with_absolute_size">
4606<description>
4607Returns a description of the font, with absolute font size set
4608(in device units). Use pango_font_describe() if you want the font
4609size in points.
4610
4611Since: 1.14
4612
4613</description>
4614<parameters>
4615<parameter name="font">
4616<parameter_description> a #PangoFont
4617</parameter_description>
4618</parameter>
4619</parameters>
4620<return> a newly-allocated #PangoFontDescription object.
4621
4622</return>
4623</function>
4624
4625<function name="pango_font_description_better_match">
4626<description>
4627Determines if the style attributes of @new_match are a closer match
4628for @desc than those of @old_match are, or if @old_match is %NULL,
4629determines if @new_match is a match at all.
4630Approximate matching is done for
4631weight and style; other style attributes must match exactly.
4632Style attributes are all attributes other than family and size-related
4633attributes.  Approximate matching for style considers PANGO_STYLE_OBLIQUE
4634and PANGO_STYLE_ITALIC as matches, but not as good a match as when the
4635styles are equal.
4636
4637Note that @old_match must match @desc.
4638
4639
4640</description>
4641<parameters>
4642<parameter name="desc">
4643<parameter_description> a #PangoFontDescription
4644</parameter_description>
4645</parameter>
4646<parameter name="old_match">
4647<parameter_description> a #PangoFontDescription, or %NULL
4648</parameter_description>
4649</parameter>
4650<parameter name="new_match">
4651<parameter_description> a #PangoFontDescription
4652</parameter_description>
4653</parameter>
4654</parameters>
4655<return> %TRUE if @new_match is a better match
4656</return>
4657</function>
4658
4659<function name="pango_font_description_copy">
4660<description>
4661Make a copy of a #PangoFontDescription.
4662
4663
4664</description>
4665<parameters>
4666<parameter name="desc">
4667<parameter_description> a #PangoFontDescription, may be %NULL
4668</parameter_description>
4669</parameter>
4670</parameters>
4671<return> the newly allocated
4672#PangoFontDescription, which should be freed with
4673pango_font_description_free(), or %NULL if @desc was
4674%NULL.
4675</return>
4676</function>
4677
4678<function name="pango_font_description_copy_static">
4679<description>
4680Like pango_font_description_copy(), but only a shallow copy is made
4681of the family name and other allocated fields. The result can only
4682be used until @desc is modified or freed. This is meant to be used
4683when the copy is only needed temporarily.
4684
4685
4686</description>
4687<parameters>
4688<parameter name="desc">
4689<parameter_description> a #PangoFontDescription, may be %NULL
4690</parameter_description>
4691</parameter>
4692</parameters>
4693<return> the newly allocated
4694#PangoFontDescription, which should be freed with
4695pango_font_description_free(), or %NULL if @desc was
4696%NULL.
4697</return>
4698</function>
4699
4700<function name="pango_font_description_equal">
4701<description>
4702Compares two font descriptions for equality. Two font descriptions
4703are considered equal if the fonts they describe are provably identical.
4704This means that their masks do not have to match, as long as other fields
4705are all the same. (Two font descriptions may result in identical fonts
4706being loaded, but still compare %FALSE.)
4707
4708
4709</description>
4710<parameters>
4711<parameter name="desc1">
4712<parameter_description> a #PangoFontDescription
4713</parameter_description>
4714</parameter>
4715<parameter name="desc2">
4716<parameter_description> another #PangoFontDescription
4717</parameter_description>
4718</parameter>
4719</parameters>
4720<return> %TRUE if the two font descriptions are identical,
4721%FALSE otherwise.
4722</return>
4723</function>
4724
4725<function name="pango_font_description_free">
4726<description>
4727Frees a font description.
4728
4729</description>
4730<parameters>
4731<parameter name="desc">
4732<parameter_description> a #PangoFontDescription, may be %NULL
4733</parameter_description>
4734</parameter>
4735</parameters>
4736<return></return>
4737</function>
4738
4739<function name="pango_font_description_from_string">
4740<description>
4741Creates a new font description from a string representation in the
4742form &quot;[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]&quot;, where FAMILY-LIST is a
4743comma separated list of families optionally terminated by a comma,
4744STYLE_OPTIONS is a whitespace separated list of words where each word
4745describes one of style, variant, weight, stretch, or gravity, and SIZE
4746is a decimal number (size in points) or optionally followed by the
4747unit modifier &quot;px&quot; for absolute size. Any one of the options may
4748be absent.  If FAMILY-LIST is absent, then the family_name field of
4749the resulting font description will be initialized to %NULL.  If
4750STYLE-OPTIONS is missing, then all style options will be set to the
4751default values. If SIZE is missing, the size in the resulting font
4752description will be set to 0.
4753
4754
4755</description>
4756<parameters>
4757<parameter name="str">
4758<parameter_description> string representation of a font description.
4759</parameter_description>
4760</parameter>
4761</parameters>
4762<return> a new #PangoFontDescription.
4763</return>
4764</function>
4765
4766<function name="pango_font_description_get_family">
4767<description>
4768Gets the family name field of a font description. See
4769pango_font_description_set_family().
4770
4771
4772</description>
4773<parameters>
4774<parameter name="desc">
4775<parameter_description> a #PangoFontDescription.
4776</parameter_description>
4777</parameter>
4778</parameters>
4779<return> the family name field for the font
4780description, or %NULL if not previously set.  This
4781has the same life-time as the font description itself
4782and should not be freed.
4783</return>
4784</function>
4785
4786<function name="pango_font_description_get_gravity">
4787<description>
4788Gets the gravity field of a font description. See
4789pango_font_description_set_gravity().
4790
4791Since: 1.16
4792
4793</description>
4794<parameters>
4795<parameter name="desc">
4796<parameter_description> a #PangoFontDescription
4797</parameter_description>
4798</parameter>
4799</parameters>
4800<return> the gravity field for the font description. Use
4801pango_font_description_get_set_fields() to find out if
4802the field was explicitly set or not.
4803
4804</return>
4805</function>
4806
4807<function name="pango_font_description_get_set_fields">
4808<description>
4809Determines which fields in a font description have been set.
4810
4811
4812</description>
4813<parameters>
4814<parameter name="desc">
4815<parameter_description> a #PangoFontDescription
4816</parameter_description>
4817</parameter>
4818</parameters>
4819<return> a bitmask with bits set corresponding to the
4820fields in @desc that have been set.
4821</return>
4822</function>
4823
4824<function name="pango_font_description_get_size">
4825<description>
4826Gets the size field of a font description.
4827See pango_font_description_set_size().
4828
4829
4830</description>
4831<parameters>
4832<parameter name="desc">
4833<parameter_description> a #PangoFontDescription
4834</parameter_description>
4835</parameter>
4836</parameters>
4837<return> the size field for the font description in points or device units.
4838You must call pango_font_description_get_size_is_absolute()
4839to find out which is the case. Returns 0 if the size field has not
4840previously been set or it has been set to 0 explicitly.
4841Use pango_font_description_get_set_fields() to
4842find out if the field was explicitly set or not.
4843</return>
4844</function>
4845
4846<function name="pango_font_description_get_size_is_absolute">
4847<description>
4848Determines whether the size of the font is in points (not absolute) or device units (absolute).
4849See pango_font_description_set_size() and pango_font_description_set_absolute_size().
4850
4851Since: 1.8
4852
4853</description>
4854<parameters>
4855<parameter name="desc">
4856<parameter_description> a #PangoFontDescription
4857</parameter_description>
4858</parameter>
4859</parameters>
4860<return> whether the size for the font description is in
4861points or device units.  Use pango_font_description_get_set_fields() to
4862find out if the size field of the font description was explicitly set or not.
4863
4864</return>
4865</function>
4866
4867<function name="pango_font_description_get_stretch">
4868<description>
4869Gets the stretch field of a font description.
4870See pango_font_description_set_stretch().
4871
4872
4873</description>
4874<parameters>
4875<parameter name="desc">
4876<parameter_description> a #PangoFontDescription.
4877</parameter_description>
4878</parameter>
4879</parameters>
4880<return> the stretch field for the font description. Use
4881pango_font_description_get_set_fields() to find out if
4882the field was explicitly set or not.
4883</return>
4884</function>
4885
4886<function name="pango_font_description_get_style">
4887<description>
4888Gets the style field of a #PangoFontDescription. See
4889pango_font_description_set_style().
4890
4891
4892</description>
4893<parameters>
4894<parameter name="desc">
4895<parameter_description> a #PangoFontDescription
4896</parameter_description>
4897</parameter>
4898</parameters>
4899<return> the style field for the font description.
4900Use pango_font_description_get_set_fields() to find out if
4901the field was explicitly set or not.
4902</return>
4903</function>
4904
4905<function name="pango_font_description_get_variant">
4906<description>
4907Gets the variant field of a #PangoFontDescription. See
4908pango_font_description_set_variant().
4909
4910
4911</description>
4912<parameters>
4913<parameter name="desc">
4914<parameter_description> a #PangoFontDescription.
4915</parameter_description>
4916</parameter>
4917</parameters>
4918<return> the variant field for the font description. Use
4919pango_font_description_get_set_fields() to find out if
4920the field was explicitly set or not.
4921</return>
4922</function>
4923
4924<function name="pango_font_description_get_weight">
4925<description>
4926Gets the weight field of a font description. See
4927pango_font_description_set_weight().
4928
4929
4930</description>
4931<parameters>
4932<parameter name="desc">
4933<parameter_description> a #PangoFontDescription
4934</parameter_description>
4935</parameter>
4936</parameters>
4937<return> the weight field for the font description. Use
4938pango_font_description_get_set_fields() to find out if
4939the field was explicitly set or not.
4940</return>
4941</function>
4942
4943<function name="pango_font_description_hash">
4944<description>
4945Computes a hash of a #PangoFontDescription structure suitable
4946to be used, for example, as an argument to g_hash_table_new().
4947The hash value is independent of @desc-&gt;mask.
4948
4949
4950</description>
4951<parameters>
4952<parameter name="desc">
4953<parameter_description> a #PangoFontDescription
4954</parameter_description>
4955</parameter>
4956</parameters>
4957<return> the hash value.
4958</return>
4959</function>
4960
4961<function name="pango_font_description_merge">
4962<description>
4963Merges the fields that are set in @desc_to_merge into the fields in
4964@desc.  If @replace_existing is %FALSE, only fields in @desc that
4965are not already set are affected. If %TRUE, then fields that are
4966already set will be replaced as well.
4967
4968If @desc_to_merge is %NULL, this function performs nothing.
4969
4970</description>
4971<parameters>
4972<parameter name="desc">
4973<parameter_description> a #PangoFontDescription
4974</parameter_description>
4975</parameter>
4976<parameter name="desc_to_merge">
4977<parameter_description> the #PangoFontDescription to merge from, or %NULL
4978</parameter_description>
4979</parameter>
4980<parameter name="replace_existing">
4981<parameter_description> if %TRUE, replace fields in @desc with the
4982corresponding values from @desc_to_merge, even if they
4983are already exist.
4984</parameter_description>
4985</parameter>
4986</parameters>
4987<return></return>
4988</function>
4989
4990<function name="pango_font_description_merge_static">
4991<description>
4992Like pango_font_description_merge(), but only a shallow copy is made
4993of the family name and other allocated fields. @desc can only be
4994used until @desc_to_merge is modified or freed. This is meant
4995to be used when the merged font description is only needed temporarily.
4996
4997</description>
4998<parameters>
4999<parameter name="desc">
5000<parameter_description> a #PangoFontDescription
5001</parameter_description>
5002</parameter>
5003<parameter name="desc_to_merge">
5004<parameter_description> the #PangoFontDescription to merge from
5005</parameter_description>
5006</parameter>
5007<parameter name="replace_existing">
5008<parameter_description> if %TRUE, replace fields in @desc with the
5009corresponding values from @desc_to_merge, even if they
5010are already exist.
5011</parameter_description>
5012</parameter>
5013</parameters>
5014<return></return>
5015</function>
5016
5017<function name="pango_font_description_new">
5018<description>
5019Creates a new font description structure with all fields unset.
5020
5021
5022</description>
5023<parameters>
5024</parameters>
5025<return> the newly allocated #PangoFontDescription, which
5026should be freed using pango_font_description_free().
5027</return>
5028</function>
5029
5030<function name="pango_font_description_set_absolute_size">
5031<description>
5032Sets the size field of a font description, in device units. This is mutually
5033exclusive with pango_font_description_set_size() which sets the font size
5034in points.
5035
5036Since: 1.8
5037
5038</description>
5039<parameters>
5040<parameter name="desc">
5041<parameter_description> a #PangoFontDescription
5042</parameter_description>
5043</parameter>
5044<parameter name="size">
5045<parameter_description> the new size, in Pango units. There are %PANGO_SCALE Pango units in one
5046device unit. For an output backend where a device unit is a pixel, a @size
5047value of 10 * PANGO_SCALE gives a 10 pixel font.
5048</parameter_description>
5049</parameter>
5050</parameters>
5051<return></return>
5052</function>
5053
5054<function name="pango_font_description_set_family">
5055<description>
5056Sets the family name field of a font description. The family
5057name represents a family of related font styles, and will
5058resolve to a particular #PangoFontFamily. In some uses of
5059#PangoFontDescription, it is also possible to use a comma
5060separated list of family names for this field.
5061
5062</description>
5063<parameters>
5064<parameter name="desc">
5065<parameter_description> a #PangoFontDescription.
5066</parameter_description>
5067</parameter>
5068<parameter name="family">
5069<parameter_description> a string representing the family name.
5070</parameter_description>
5071</parameter>
5072</parameters>
5073<return></return>
5074</function>
5075
5076<function name="pango_font_description_set_family_static">
5077<description>
5078Like pango_font_description_set_family(), except that no
5079copy of @family is made. The caller must make sure that the
5080string passed in stays around until @desc has been freed
5081or the name is set again. This function can be used if
5082@family is a static string such as a C string literal, or
5083if @desc is only needed temporarily.
5084
5085</description>
5086<parameters>
5087<parameter name="desc">
5088<parameter_description> a #PangoFontDescription
5089</parameter_description>
5090</parameter>
5091<parameter name="family">
5092<parameter_description> a string representing the family name.
5093</parameter_description>
5094</parameter>
5095</parameters>
5096<return></return>
5097</function>
5098
5099<function name="pango_font_description_set_gravity">
5100<description>
5101Sets the gravity field of a font description. The gravity field
5102specifies how the glyphs should be rotated.  If @gravity is
5103%PANGO_GRAVITY_AUTO, this actually unsets the gravity mask on
5104the font description.
5105
5106This function is seldom useful to the user.  Gravity should normally
5107be set on a #PangoContext.
5108
5109Since: 1.16
5110
5111</description>
5112<parameters>
5113<parameter name="desc">
5114<parameter_description> a #PangoFontDescription
5115</parameter_description>
5116</parameter>
5117<parameter name="gravity">
5118<parameter_description> the gravity for the font description.
5119</parameter_description>
5120</parameter>
5121</parameters>
5122<return></return>
5123</function>
5124
5125<function name="pango_font_description_set_size">
5126<description>
5127Sets the size field of a font description in fractional points. This is mutually
5128exclusive with pango_font_description_set_absolute_size().
5129
5130</description>
5131<parameters>
5132<parameter name="desc">
5133<parameter_description> a #PangoFontDescription
5134</parameter_description>
5135</parameter>
5136<parameter name="size">
5137<parameter_description> the size of the font in points, scaled by PANGO_SCALE. (That is,
5138a @size value of 10 * PANGO_SCALE is a 10 point font. The conversion
5139factor between points and device units depends on system configuration
5140and the output device. For screen display, a logical DPI of 96 is
5141common, in which case a 10 point font corresponds to a 10 * (96 / 72) = 13.3
5142pixel font. Use pango_font_description_set_absolute_size() if you need
5143a particular size in device units.
5144</parameter_description>
5145</parameter>
5146</parameters>
5147<return></return>
5148</function>
5149
5150<function name="pango_font_description_set_stretch">
5151<description>
5152Sets the stretch field of a font description. The stretch field
5153specifies how narrow or wide the font should be.
5154
5155</description>
5156<parameters>
5157<parameter name="desc">
5158<parameter_description> a #PangoFontDescription
5159</parameter_description>
5160</parameter>
5161<parameter name="stretch">
5162<parameter_description> the stretch for the font description
5163</parameter_description>
5164</parameter>
5165</parameters>
5166<return></return>
5167</function>
5168
5169<function name="pango_font_description_set_style">
5170<description>
5171Sets the style field of a #PangoFontDescription. The
5172#PangoStyle enumeration describes whether the font is slanted and
5173the manner in which it is slanted; it can be either
5174#PANGO_STYLE_NORMAL, #PANGO_STYLE_ITALIC, or #PANGO_STYLE_OBLIQUE.
5175Most fonts will either have a italic style or an oblique
5176style, but not both, and font matching in Pango will
5177match italic specifications with oblique fonts and vice-versa
5178if an exact match is not found.
5179
5180</description>
5181<parameters>
5182<parameter name="desc">
5183<parameter_description> a #PangoFontDescription
5184</parameter_description>
5185</parameter>
5186<parameter name="style">
5187<parameter_description> the style for the font description
5188</parameter_description>
5189</parameter>
5190</parameters>
5191<return></return>
5192</function>
5193
5194<function name="pango_font_description_set_variant">
5195<description>
5196Sets the variant field of a font description. The #PangoVariant
5197can either be %PANGO_VARIANT_NORMAL or %PANGO_VARIANT_SMALL_CAPS.
5198
5199</description>
5200<parameters>
5201<parameter name="desc">
5202<parameter_description> a #PangoFontDescription
5203</parameter_description>
5204</parameter>
5205<parameter name="variant">
5206<parameter_description> the variant type for the font description.
5207</parameter_description>
5208</parameter>
5209</parameters>
5210<return></return>
5211</function>
5212
5213<function name="pango_font_description_set_weight">
5214<description>
5215Sets the weight field of a font description. The weight field
5216specifies how bold or light the font should be. In addition
5217to the values of the #PangoWeight enumeration, other intermediate
5218numeric values are possible.
5219
5220</description>
5221<parameters>
5222<parameter name="desc">
5223<parameter_description> a #PangoFontDescription
5224</parameter_description>
5225</parameter>
5226<parameter name="weight">
5227<parameter_description> the weight for the font description.
5228</parameter_description>
5229</parameter>
5230</parameters>
5231<return></return>
5232</function>
5233
5234<function name="pango_font_description_to_filename">
5235<description>
5236Creates a filename representation of a font description. The
5237filename is identical to the result from calling
5238pango_font_description_to_string(), but with underscores instead of
5239characters that are untypical in filenames, and in lower case only.
5240
5241
5242</description>
5243<parameters>
5244<parameter name="desc">
5245<parameter_description> a #PangoFontDescription
5246</parameter_description>
5247</parameter>
5248</parameters>
5249<return> a new string that must be freed with g_free().
5250</return>
5251</function>
5252
5253<function name="pango_font_description_to_string">
5254<description>
5255Creates a string representation of a font description. See
5256pango_font_description_from_string() for a description of the
5257format of the string representation. The family list in the
5258string description will only have a terminating comma if the
5259last word of the list is a valid style option.
5260
5261
5262</description>
5263<parameters>
5264<parameter name="desc">
5265<parameter_description> a #PangoFontDescription
5266</parameter_description>
5267</parameter>
5268</parameters>
5269<return> a new string that must be freed with g_free().
5270</return>
5271</function>
5272
5273<function name="pango_font_description_unset_fields">
5274<description>
5275Unsets some of the fields in a #PangoFontDescription.  The unset
5276fields will get back to their default values.
5277
5278</description>
5279<parameters>
5280<parameter name="desc">
5281<parameter_description> a #PangoFontDescription
5282</parameter_description>
5283</parameter>
5284<parameter name="to_unset">
5285<parameter_description> bitmask of fields in the @desc to unset.
5286</parameter_description>
5287</parameter>
5288</parameters>
5289<return></return>
5290</function>
5291
5292<function name="pango_font_descriptions_free">
5293<description>
5294Frees an array of font descriptions.
5295
5296</description>
5297<parameters>
5298<parameter name="descs">
5299<parameter_description> a pointer
5300to an array of #PangoFontDescription, may be %NULL
5301</parameter_description>
5302</parameter>
5303<parameter name="n_descs">
5304<parameter_description> number of font descriptions in @descs
5305</parameter_description>
5306</parameter>
5307</parameters>
5308<return></return>
5309</function>
5310
5311<function name="pango_font_face_describe">
5312<description>
5313Returns the family, style, variant, weight and stretch of
5314a #PangoFontFace. The size field of the resulting font description
5315will be unset.
5316
5317
5318</description>
5319<parameters>
5320<parameter name="face">
5321<parameter_description> a #PangoFontFace
5322</parameter_description>
5323</parameter>
5324</parameters>
5325<return> a newly-created #PangoFontDescription structure
5326holding the description of the face. Use pango_font_description_free()
5327to free the result.
5328</return>
5329</function>
5330
5331<function name="pango_font_face_get_face_name">
5332<description>
5333Gets a name representing the style of this face among the
5334different faces in the #PangoFontFamily for the face. This
5335name is unique among all faces in the family and is suitable
5336for displaying to users.
5337
5338
5339</description>
5340<parameters>
5341<parameter name="face">
5342<parameter_description> a #PangoFontFace.
5343</parameter_description>
5344</parameter>
5345</parameters>
5346<return> the face name for the face. This string is
5347owned by the face object and must not be modified or freed.
5348</return>
5349</function>
5350
5351<function name="pango_font_face_is_synthesized">
5352<description>
5353Returns whether a #PangoFontFace is synthesized by the underlying
5354font rendering engine from another face, perhaps by shearing, emboldening,
5355or lightening it.
5356
5357Since: 1.18
5358
5359</description>
5360<parameters>
5361<parameter name="face">
5362<parameter_description> a #PangoFontFace
5363</parameter_description>
5364</parameter>
5365</parameters>
5366<return> whether @face is synthesized.
5367
5368</return>
5369</function>
5370
5371<function name="pango_font_face_list_sizes">
5372<description>
5373List the available sizes for a font. This is only applicable to bitmap
5374fonts. For scalable fonts, stores %NULL at the location pointed to by
5375@sizes and 0 at the location pointed to by @n_sizes. The sizes returned
5376are in Pango units and are sorted in ascending order.
5377
5378Since: 1.4
5379
5380</description>
5381<parameters>
5382<parameter name="face">
5383<parameter_description> a #PangoFontFace.
5384</parameter_description>
5385</parameter>
5386<parameter name="sizes">
5387<parameter_description>
5388location to store a pointer to an array of int. This array
5389should be freed with g_free().
5390</parameter_description>
5391</parameter>
5392<parameter name="n_sizes">
5393<parameter_description> location to store the number of elements in @sizes
5394</parameter_description>
5395</parameter>
5396</parameters>
5397<return></return>
5398</function>
5399
5400<function name="pango_font_family_get_name">
5401<description>
5402Gets the name of the family. The name is unique among all
5403fonts for the font backend and can be used in a #PangoFontDescription
5404to specify that a face from this family is desired.
5405
5406
5407</description>
5408<parameters>
5409<parameter name="family">
5410<parameter_description> a #PangoFontFamily
5411</parameter_description>
5412</parameter>
5413</parameters>
5414<return> the name of the family. This string is owned
5415by the family object and must not be modified or freed.
5416</return>
5417</function>
5418
5419<function name="pango_font_family_is_monospace">
5420<description>
5421A monospace font is a font designed for text display where the the
5422characters form a regular grid. For Western languages this would
5423mean that the advance width of all characters are the same, but
5424this categorization also includes Asian fonts which include
5425double-width characters: characters that occupy two grid cells.
5426g_unichar_iswide() returns a result that indicates whether a
5427character is typically double-width in a monospace font.
5428
5429The best way to find out the grid-cell size is to call
5430pango_font_metrics_get_approximate_digit_width(), since the results
5431of pango_font_metrics_get_approximate_char_width() may be affected
5432by double-width characters.
5433
5434Since: 1.4
5435
5436</description>
5437<parameters>
5438<parameter name="family">
5439<parameter_description> a #PangoFontFamily
5440</parameter_description>
5441</parameter>
5442</parameters>
5443<return> %TRUE if the family is monospace.
5444
5445</return>
5446</function>
5447
5448<function name="pango_font_family_list_faces">
5449<description>
5450Lists the different font faces that make up @family. The faces
5451in a family share a common design, but differ in slant, weight,
5452width and other aspects.
5453
5454</description>
5455<parameters>
5456<parameter name="family">
5457<parameter_description> a #PangoFontFamily
5458</parameter_description>
5459</parameter>
5460<parameter name="faces">
5461<parameter_description>
5462location to store an array of pointers to #PangoFontFace objects,
5463or %NULL. This array should be freed with g_free() when it is no
5464longer needed.
5465</parameter_description>
5466</parameter>
5467<parameter name="n_faces">
5468<parameter_description> location to store number of elements in @faces.
5469</parameter_description>
5470</parameter>
5471</parameters>
5472<return></return>
5473</function>
5474
5475<function name="pango_font_find_shaper">
5476<description>
5477Finds the best matching shaper for a font for a particular
5478language tag and character point.
5479
5480
5481</description>
5482<parameters>
5483<parameter name="font">
5484<parameter_description> a #PangoFont
5485</parameter_description>
5486</parameter>
5487<parameter name="language">
5488<parameter_description> the language tag
5489</parameter_description>
5490</parameter>
5491<parameter name="ch">
5492<parameter_description> a Unicode character.
5493</parameter_description>
5494</parameter>
5495</parameters>
5496<return> the best matching shaper.
5497</return>
5498</function>
5499
5500<function name="pango_font_get_coverage">
5501<description>
5502Computes the coverage map for a given font and language tag.
5503
5504
5505</description>
5506<parameters>
5507<parameter name="font">
5508<parameter_description> a #PangoFont
5509</parameter_description>
5510</parameter>
5511<parameter name="language">
5512<parameter_description> the language tag
5513</parameter_description>
5514</parameter>
5515</parameters>
5516<return> a newly-allocated #PangoCoverage
5517object.
5518</return>
5519</function>
5520
5521<function name="pango_font_get_font_map">
5522<description>
5523Gets the font map for which the font was created.
5524
5525Note that the font maintains a &lt;firstterm&gt;weak&lt;/firstterm&gt; reference
5526to the font map, so if all references to font map are dropped, the font
5527map will be finalized even if there are fonts created with the font
5528map that are still alive.  In that case this function will return %NULL.
5529It is the responsibility of the user to ensure that the font map is kept
5530alive.  In most uses this is not an issue as a #PangoContext holds
5531a reference to the font map.
5532
5533Since: 1.10
5534
5535</description>
5536<parameters>
5537<parameter name="font">
5538<parameter_description> a #PangoFont, or %NULL
5539</parameter_description>
5540</parameter>
5541</parameters>
5542<return> the #PangoFontMap for the
5543font, or %NULL if @font is %NULL.
5544
5545</return>
5546</function>
5547
5548<function name="pango_font_get_glyph_extents">
5549<description>
5550Gets the logical and ink extents of a glyph within a font. The
5551coordinate system for each rectangle has its origin at the
5552base line and horizontal origin of the character with increasing
5553coordinates extending to the right and down. The macros PANGO_ASCENT(),
5554PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING() can be used to convert
5555from the extents rectangle to more traditional font metrics. The units
5556of the rectangles are in 1/PANGO_SCALE of a device unit.
5557
5558If @font is %NULL, this function gracefully sets some sane values in the
5559output variables and returns.
5560
5561</description>
5562<parameters>
5563<parameter name="font">
5564<parameter_description> a #PangoFont
5565</parameter_description>
5566</parameter>
5567<parameter name="glyph">
5568<parameter_description> the glyph index
5569</parameter_description>
5570</parameter>
5571<parameter name="ink_rect">
5572<parameter_description> rectangle used to store the extents of the glyph
5573as drawn or %NULL to indicate that the result is not needed.
5574</parameter_description>
5575</parameter>
5576<parameter name="logical_rect">
5577<parameter_description> rectangle used to store the logical extents of
5578the glyph or %NULL to indicate that the result is not needed.
5579</parameter_description>
5580</parameter>
5581</parameters>
5582<return></return>
5583</function>
5584
5585<function name="pango_font_get_metrics">
5586<description>
5587Gets overall metric information for a font. Since the metrics may be
5588substantially different for different scripts, a language tag can
5589be provided to indicate that the metrics should be retrieved that
5590correspond to the script(s) used by that language.
5591
5592If @font is %NULL, this function gracefully sets some sane values in the
5593output variables and returns.
5594
5595
5596</description>
5597<parameters>
5598<parameter name="font">
5599<parameter_description> a #PangoFont
5600</parameter_description>
5601</parameter>
5602<parameter name="language">
5603<parameter_description> language tag used to determine which script to get the metrics
5604for, or %NULL to indicate to get the metrics for the entire font.
5605</parameter_description>
5606</parameter>
5607</parameters>
5608<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
5609when finished using the object.
5610</return>
5611</function>
5612
5613<function name="pango_font_map_changed">
5614<description>
5615Forces a change in the context, which will cause any #PangoContext
5616using this fontmap to change.
5617
5618This function is only useful when implementing a new backend
5619for Pango, something applications won't do. Backends should
5620call this function if they have attached extra data to the context
5621and such data is changed.
5622
5623Since: 1.34
5624
5625</description>
5626<parameters>
5627<parameter name="fontmap">
5628<parameter_description> a #PangoFontMap
5629</parameter_description>
5630</parameter>
5631</parameters>
5632<return></return>
5633</function>
5634
5635<function name="pango_font_map_create_context">
5636<description>
5637Creates a #PangoContext connected to @fontmap.  This is equivalent
5638to pango_context_new() followed by pango_context_set_font_map().
5639
5640If you are using Pango as part of a higher-level system,
5641that system may have it's own way of create a #PangoContext.
5642For instance, the GTK+ toolkit has, among others,
5643gdk_pango_context_get_for_screen(), and
5644gtk_widget_get_pango_context().  Use those instead.
5645
5646Since: 1.22
5647
5648</description>
5649<parameters>
5650<parameter name="fontmap">
5651<parameter_description> a #PangoFontMap
5652</parameter_description>
5653</parameter>
5654</parameters>
5655<return> the newly allocated #PangoContext,
5656which should be freed with g_object_unref().
5657
5658</return>
5659</function>
5660
5661<function name="pango_font_map_get_serial">
5662<description>
5663Returns the current serial number of @fontmap.  The serial number is
5664initialized to an small number larger than zero when a new fontmap
5665is created and is increased whenever the fontmap is changed. It may
5666wrap, but will never have the value 0. Since it can wrap, never compare
5667it with &quot;less than&quot;, always use &quot;not equals&quot;.
5668
5669The fontmap can only be changed using backend-specific API, like changing
5670fontmap resolution.
5671
5672This can be used to automatically detect changes to a #PangoFontMap, like
5673in #PangoContext.
5674
5675Since: 1.32.4
5676
5677</description>
5678<parameters>
5679<parameter name="fontmap">
5680<parameter_description> a #PangoFontMap
5681</parameter_description>
5682</parameter>
5683</parameters>
5684<return> The current serial number of @fontmap.
5685
5686</return>
5687</function>
5688
5689<function name="pango_font_map_get_shape_engine_type">
5690<description>
5691Returns the render ID for shape engines for this fontmap.
5692See the &lt;structfield&gt;render_type&lt;/structfield&gt; field of
5693#PangoEngineInfo.
5694
5695Since: 1.4
5696Deprecated: 1.38
5697
5698</description>
5699<parameters>
5700<parameter name="fontmap">
5701<parameter_description> a #PangoFontMap
5702</parameter_description>
5703</parameter>
5704</parameters>
5705<return> the ID string for shape engines for
5706this fontmap. Owned by Pango, should not be modified
5707or freed.
5708
5709</return>
5710</function>
5711
5712<function name="pango_font_map_list_families">
5713<description>
5714List all families for a fontmap.
5715
5716</description>
5717<parameters>
5718<parameter name="fontmap">
5719<parameter_description> a #PangoFontMap
5720</parameter_description>
5721</parameter>
5722<parameter name="families">
5723<parameter_description> location to store a pointer to an array of #PangoFontFamily *.
5724This array should be freed with g_free().
5725</parameter_description>
5726</parameter>
5727<parameter name="n_families">
5728<parameter_description> location to store the number of elements in @families
5729</parameter_description>
5730</parameter>
5731</parameters>
5732<return></return>
5733</function>
5734
5735<function name="pango_font_map_load_font">
5736<description>
5737Load the font in the fontmap that is the closest match for @desc.
5738
5739
5740</description>
5741<parameters>
5742<parameter name="fontmap">
5743<parameter_description> a #PangoFontMap
5744</parameter_description>
5745</parameter>
5746<parameter name="context">
5747<parameter_description> the #PangoContext the font will be used with
5748</parameter_description>
5749</parameter>
5750<parameter name="desc">
5751<parameter_description> a #PangoFontDescription describing the font to load
5752</parameter_description>
5753</parameter>
5754</parameters>
5755<return> the newly allocated #PangoFont
5756loaded, or %NULL if no font matched.
5757</return>
5758</function>
5759
5760<function name="pango_font_map_load_fontset">
5761<description>
5762Load a set of fonts in the fontmap that can be used to render
5763a font matching @desc.
5764
5765
5766</description>
5767<parameters>
5768<parameter name="fontmap">
5769<parameter_description> a #PangoFontMap
5770</parameter_description>
5771</parameter>
5772<parameter name="context">
5773<parameter_description> the #PangoContext the font will be used with
5774</parameter_description>
5775</parameter>
5776<parameter name="desc">
5777<parameter_description> a #PangoFontDescription describing the font to load
5778</parameter_description>
5779</parameter>
5780<parameter name="language">
5781<parameter_description> a #PangoLanguage the fonts will be used for
5782</parameter_description>
5783</parameter>
5784</parameters>
5785<return> the newly allocated
5786#PangoFontset loaded, or %NULL if no font matched.
5787</return>
5788</function>
5789
5790<function name="pango_font_metrics_get_approximate_char_width">
5791<description>
5792Gets the approximate character width for a font metrics structure.
5793This is merely a representative value useful, for example, for
5794determining the initial size for a window. Actual characters in
5795text will be wider and narrower than this.
5796
5797
5798</description>
5799<parameters>
5800<parameter name="metrics">
5801<parameter_description> a #PangoFontMetrics structure
5802</parameter_description>
5803</parameter>
5804</parameters>
5805<return> the character width, in Pango units.
5806</return>
5807</function>
5808
5809<function name="pango_font_metrics_get_approximate_digit_width">
5810<description>
5811Gets the approximate digit width for a font metrics structure.
5812This is merely a representative value useful, for example, for
5813determining the initial size for a window. Actual digits in
5814text can be wider or narrower than this, though this value
5815is generally somewhat more accurate than the result of
5816pango_font_metrics_get_approximate_char_width() for digits.
5817
5818
5819</description>
5820<parameters>
5821<parameter name="metrics">
5822<parameter_description> a #PangoFontMetrics structure
5823</parameter_description>
5824</parameter>
5825</parameters>
5826<return> the digit width, in Pango units.
5827</return>
5828</function>
5829
5830<function name="pango_font_metrics_get_ascent">
5831<description>
5832Gets the ascent from a font metrics structure. The ascent is
5833the distance from the baseline to the logical top of a line
5834of text. (The logical top may be above or below the top of the
5835actual drawn ink. It is necessary to lay out the text to figure
5836where the ink will be.)
5837
5838
5839</description>
5840<parameters>
5841<parameter name="metrics">
5842<parameter_description> a #PangoFontMetrics structure
5843</parameter_description>
5844</parameter>
5845</parameters>
5846<return> the ascent, in Pango units.
5847</return>
5848</function>
5849
5850<function name="pango_font_metrics_get_descent">
5851<description>
5852Gets the descent from a font metrics structure. The descent is
5853the distance from the baseline to the logical bottom of a line
5854of text. (The logical bottom may be above or below the bottom of the
5855actual drawn ink. It is necessary to lay out the text to figure
5856where the ink will be.)
5857
5858
5859</description>
5860<parameters>
5861<parameter name="metrics">
5862<parameter_description> a #PangoFontMetrics structure
5863</parameter_description>
5864</parameter>
5865</parameters>
5866<return> the descent, in Pango units.
5867</return>
5868</function>
5869
5870<function name="pango_font_metrics_get_strikethrough_position">
5871<description>
5872Gets the suggested position to draw the strikethrough.
5873The value returned is the distance &lt;emphasis&gt;above&lt;/emphasis&gt; the
5874baseline of the top of the strikethrough.
5875
5876Since: 1.6
5877
5878</description>
5879<parameters>
5880<parameter name="metrics">
5881<parameter_description> a #PangoFontMetrics structure
5882</parameter_description>
5883</parameter>
5884</parameters>
5885<return> the suggested strikethrough position, in Pango units.
5886
5887</return>
5888</function>
5889
5890<function name="pango_font_metrics_get_strikethrough_thickness">
5891<description>
5892Gets the suggested thickness to draw for the strikethrough.
5893
5894Since: 1.6
5895
5896</description>
5897<parameters>
5898<parameter name="metrics">
5899<parameter_description> a #PangoFontMetrics structure
5900</parameter_description>
5901</parameter>
5902</parameters>
5903<return> the suggested strikethrough thickness, in Pango units.
5904
5905</return>
5906</function>
5907
5908<function name="pango_font_metrics_get_underline_position">
5909<description>
5910Gets the suggested position to draw the underline.
5911The value returned is the distance &lt;emphasis&gt;above&lt;/emphasis&gt; the
5912baseline of the top of the underline. Since most fonts have
5913underline positions beneath the baseline, this value is typically
5914negative.
5915
5916Since: 1.6
5917
5918</description>
5919<parameters>
5920<parameter name="metrics">
5921<parameter_description> a #PangoFontMetrics structure
5922</parameter_description>
5923</parameter>
5924</parameters>
5925<return> the suggested underline position, in Pango units.
5926
5927</return>
5928</function>
5929
5930<function name="pango_font_metrics_get_underline_thickness">
5931<description>
5932Gets the suggested thickness to draw for the underline.
5933
5934Since: 1.6
5935
5936</description>
5937<parameters>
5938<parameter name="metrics">
5939<parameter_description> a #PangoFontMetrics structure
5940</parameter_description>
5941</parameter>
5942</parameters>
5943<return> the suggested underline thickness, in Pango units.
5944
5945</return>
5946</function>
5947
5948<function name="pango_font_metrics_new">
5949<description>
5950Creates a new #PangoFontMetrics structure. This is only for
5951internal use by Pango backends and there is no public way
5952to set the fields of the structure.
5953
5954
5955</description>
5956<parameters>
5957</parameters>
5958<return> a newly-created #PangoFontMetrics structure
5959with a reference count of 1.
5960</return>
5961</function>
5962
5963<function name="pango_font_metrics_ref">
5964<description>
5965Increase the reference count of a font metrics structure by one.
5966
5967
5968</description>
5969<parameters>
5970<parameter name="metrics">
5971<parameter_description> a #PangoFontMetrics structure, may be %NULL
5972</parameter_description>
5973</parameter>
5974</parameters>
5975<return> @metrics
5976</return>
5977</function>
5978
5979<function name="pango_font_metrics_unref">
5980<description>
5981Decrease the reference count of a font metrics structure by one. If
5982the result is zero, frees the structure and any associated
5983memory.
5984
5985</description>
5986<parameters>
5987<parameter name="metrics">
5988<parameter_description> a #PangoFontMetrics structure, may be %NULL
5989</parameter_description>
5990</parameter>
5991</parameters>
5992<return></return>
5993</function>
5994
5995<function name="pango_fontset_foreach">
5996<description>
5997Iterates through all the fonts in a fontset, calling @func for
5998each one. If @func returns %TRUE, that stops the iteration.
5999
6000Since: 1.4
6001
6002</description>
6003<parameters>
6004<parameter name="fontset">
6005<parameter_description> a #PangoFontset
6006</parameter_description>
6007</parameter>
6008<parameter name="func">
6009<parameter_description> Callback function
6010</parameter_description>
6011</parameter>
6012<parameter name="data">
6013<parameter_description> data to pass to the callback function
6014</parameter_description>
6015</parameter>
6016</parameters>
6017<return></return>
6018</function>
6019
6020<function name="pango_fontset_get_font">
6021<description>
6022Returns the font in the fontset that contains the best glyph for the
6023Unicode character @wc.
6024
6025
6026</description>
6027<parameters>
6028<parameter name="fontset">
6029<parameter_description> a #PangoFontset
6030</parameter_description>
6031</parameter>
6032<parameter name="wc">
6033<parameter_description> a Unicode character
6034</parameter_description>
6035</parameter>
6036</parameters>
6037<return> a #PangoFont. The caller must call
6038g_object_unref when finished with the font.
6039</return>
6040</function>
6041
6042<function name="pango_fontset_get_metrics">
6043<description>
6044Get overall metric information for the fonts in the fontset.
6045
6046
6047</description>
6048<parameters>
6049<parameter name="fontset">
6050<parameter_description> a #PangoFontset
6051</parameter_description>
6052</parameter>
6053</parameters>
6054<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
6055when finished using the object.
6056</return>
6057</function>
6058
6059<function name="pango_fontset_simple_append">
6060<description>
6061Adds a font to the fontset.
6062
6063</description>
6064<parameters>
6065<parameter name="fontset">
6066<parameter_description> a #PangoFontsetSimple.
6067</parameter_description>
6068</parameter>
6069<parameter name="font">
6070<parameter_description> a #PangoFont.
6071</parameter_description>
6072</parameter>
6073</parameters>
6074<return></return>
6075</function>
6076
6077<function name="pango_fontset_simple_new">
6078<description>
6079Creates a new #PangoFontsetSimple for the given language.
6080
6081
6082</description>
6083<parameters>
6084<parameter name="language">
6085<parameter_description> a #PangoLanguage tag
6086</parameter_description>
6087</parameter>
6088</parameters>
6089<return> the newly allocated #PangoFontsetSimple, which should
6090be freed with g_object_unref().
6091</return>
6092</function>
6093
6094<function name="pango_fontset_simple_size">
6095<description>
6096Returns the number of fonts in the fontset.
6097
6098
6099</description>
6100<parameters>
6101<parameter name="fontset">
6102<parameter_description> a #PangoFontsetSimple.
6103</parameter_description>
6104</parameter>
6105</parameters>
6106<return> the size of @fontset.
6107</return>
6108</function>
6109
6110<function name="pango_ft2_font_get_coverage">
6111<description>
6112Gets the #PangoCoverage for a &lt;type&gt;PangoFT2Font&lt;/type&gt;. Use
6113pango_font_get_coverage() instead.
6114
6115
6116</description>
6117<parameters>
6118<parameter name="font">
6119<parameter_description> a &lt;type&gt;PangoFT2Font&lt;/type&gt;.
6120</parameter_description>
6121</parameter>
6122<parameter name="language">
6123<parameter_description> a language tag.
6124</parameter_description>
6125</parameter>
6126</parameters>
6127<return> a #PangoCoverage.
6128</return>
6129</function>
6130
6131<function name="pango_ft2_font_get_face">
6132<description>
6133Returns the native FreeType2 &lt;type&gt;FT_Face&lt;/type&gt; structure used for this #PangoFont.
6134This may be useful if you want to use FreeType2 functions directly.
6135
6136Use pango_fc_font_lock_face() instead; when you are done with a
6137face from pango_fc_font_lock_face() you must call
6138pango_fc_font_unlock_face().
6139
6140
6141</description>
6142<parameters>
6143<parameter name="font">
6144<parameter_description> a #PangoFont
6145</parameter_description>
6146</parameter>
6147</parameters>
6148<return> a pointer to a &lt;type&gt;FT_Face&lt;/type&gt;
6149structure, with the size set correctly, or %NULL if
6150@font is %NULL.
6151</return>
6152</function>
6153
6154<function name="pango_ft2_font_get_kerning">
6155<description>
6156Retrieves kerning information for a combination of two glyphs.
6157
6158Use pango_fc_font_kern_glyphs() instead.
6159
6160
6161</description>
6162<parameters>
6163<parameter name="font">
6164<parameter_description> a #PangoFont
6165</parameter_description>
6166</parameter>
6167<parameter name="left">
6168<parameter_description> the left #PangoGlyph
6169</parameter_description>
6170</parameter>
6171<parameter name="right">
6172<parameter_description> the right #PangoGlyph
6173</parameter_description>
6174</parameter>
6175</parameters>
6176<return> The amount of kerning (in Pango units) to apply for
6177the given combination of glyphs.
6178</return>
6179</function>
6180
6181<function name="pango_ft2_font_map_create_context">
6182<description>
6183Create a #PangoContext for the given fontmap.
6184
6185Since: 1.2
6186
6187Deprecated: 1.22: Use pango_font_map_create_context() instead.
6188
6189</description>
6190<parameters>
6191<parameter name="fontmap">
6192<parameter_description> a #PangoFT2FontMap
6193</parameter_description>
6194</parameter>
6195</parameters>
6196<return> the newly created context; free with g_object_unref().
6197
6198</return>
6199</function>
6200
6201<function name="pango_ft2_font_map_for_display">
6202<description>
6203Returns a #PangoFT2FontMap. This font map is cached and should
6204not be freed. If the font map is no longer needed, it can
6205be released with pango_ft2_shutdown_display(). Use of the
6206global PangoFT2 fontmap is deprecated; use pango_ft2_font_map_new()
6207instead.
6208
6209
6210</description>
6211<parameters>
6212</parameters>
6213<return> a #PangoFT2FontMap.
6214</return>
6215</function>
6216
6217<function name="pango_ft2_font_map_new">
6218<description>
6219Create a new #PangoFT2FontMap object; a fontmap is used
6220to cache information about available fonts, and holds
6221certain global parameters such as the resolution and
6222the default substitute function (see
6223pango_ft2_font_map_set_default_substitute()).
6224
6225Since: 1.2
6226
6227</description>
6228<parameters>
6229</parameters>
6230<return> the newly created fontmap object. Unref
6231with g_object_unref() when you are finished with it.
6232
6233</return>
6234</function>
6235
6236<function name="pango_ft2_font_map_set_default_substitute">
6237<description>
6238Sets a function that will be called to do final configuration
6239substitution on a #FcPattern before it is used to load
6240the font. This function can be used to do things like set
6241hinting and antialiasing options.
6242
6243Since: 1.2
6244
6245</description>
6246<parameters>
6247<parameter name="fontmap">
6248<parameter_description> a #PangoFT2FontMap
6249</parameter_description>
6250</parameter>
6251<parameter name="func">
6252<parameter_description> function to call to to do final config tweaking
6253on #FcPattern objects.
6254</parameter_description>
6255</parameter>
6256<parameter name="data">
6257<parameter_description> data to pass to @func
6258</parameter_description>
6259</parameter>
6260<parameter name="notify">
6261<parameter_description> function to call when @data is no longer used.
6262</parameter_description>
6263</parameter>
6264</parameters>
6265<return></return>
6266</function>
6267
6268<function name="pango_ft2_font_map_set_resolution">
6269<description>
6270Sets the horizontal and vertical resolutions for the fontmap.
6271
6272Since: 1.2
6273
6274</description>
6275<parameters>
6276<parameter name="fontmap">
6277<parameter_description> a #PangoFT2FontMap
6278</parameter_description>
6279</parameter>
6280<parameter name="dpi_x">
6281<parameter_description> dots per inch in the X direction
6282</parameter_description>
6283</parameter>
6284<parameter name="dpi_y">
6285<parameter_description> dots per inch in the Y direction
6286</parameter_description>
6287</parameter>
6288</parameters>
6289<return></return>
6290</function>
6291
6292<function name="pango_ft2_font_map_substitute_changed">
6293<description>
6294Call this function any time the results of the
6295default substitution function set with
6296pango_ft2_font_map_set_default_substitute() change.
6297That is, if your substitution function will return different
6298results for the same input pattern, you must call this function.
6299
6300Since: 1.2
6301
6302</description>
6303<parameters>
6304<parameter name="fontmap">
6305<parameter_description> a #PangoFT2FontMap
6306</parameter_description>
6307</parameter>
6308</parameters>
6309<return></return>
6310</function>
6311
6312<function name="pango_ft2_get_context">
6313<description>
6314Retrieves a #PangoContext for the default PangoFT2 fontmap
6315(see pango_ft2_font_map_for_display()) and sets the resolution
6316for the default fontmap to @dpi_x by @dpi_y.
6317
6318Deprecated: 1.22: Use pango_font_map_create_context() instead.
6319
6320</description>
6321<parameters>
6322<parameter name="dpi_x">
6323<parameter_description>  the horizontal DPI of the target device
6324</parameter_description>
6325</parameter>
6326<parameter name="dpi_y">
6327<parameter_description>  the vertical DPI of the target device
6328</parameter_description>
6329</parameter>
6330</parameters>
6331<return> the new #PangoContext
6332
6333</return>
6334</function>
6335
6336<function name="pango_ft2_get_unknown_glyph">
6337<description>
6338Return the index of a glyph suitable for drawing unknown characters with
6339@font, or %PANGO_GLYPH_EMPTY if no suitable glyph found.
6340
6341If you want to draw an unknown-box for a character that is not covered
6342by the font,
6343use PANGO_GET_UNKNOWN_GLYPH() instead.
6344
6345
6346</description>
6347<parameters>
6348<parameter name="font">
6349<parameter_description> a #PangoFont
6350</parameter_description>
6351</parameter>
6352</parameters>
6353<return> a glyph index into @font, or %PANGO_GLYPH_EMPTY
6354</return>
6355</function>
6356
6357<function name="pango_ft2_render">
6358<description>
6359Renders a #PangoGlyphString onto a FreeType2 bitmap.
6360
6361</description>
6362<parameters>
6363<parameter name="bitmap">
6364<parameter_description>  the FreeType2 bitmap onto which to draw the string
6365</parameter_description>
6366</parameter>
6367<parameter name="font">
6368<parameter_description>    the font in which to draw the string
6369</parameter_description>
6370</parameter>
6371<parameter name="glyphs">
6372<parameter_description>  the glyph string to draw
6373</parameter_description>
6374</parameter>
6375<parameter name="x">
6376<parameter_description>       the x position of the start of the string (in pixels)
6377</parameter_description>
6378</parameter>
6379<parameter name="y">
6380<parameter_description>       the y position of the baseline (in pixels)
6381</parameter_description>
6382</parameter>
6383</parameters>
6384<return></return>
6385</function>
6386
6387<function name="pango_ft2_render_layout">
6388<description>
6389Render a #PangoLayout onto a FreeType2 bitmap
6390
6391</description>
6392<parameters>
6393<parameter name="bitmap">
6394<parameter_description>    a &lt;type&gt;FT_Bitmap&lt;/type&gt; to render the layout onto
6395</parameter_description>
6396</parameter>
6397<parameter name="layout">
6398<parameter_description>    a #PangoLayout
6399</parameter_description>
6400</parameter>
6401<parameter name="x">
6402<parameter_description>         the X position of the left of the layout (in pixels)
6403</parameter_description>
6404</parameter>
6405<parameter name="y">
6406<parameter_description>         the Y position of the top of the layout (in pixels)
6407</parameter_description>
6408</parameter>
6409</parameters>
6410<return></return>
6411</function>
6412
6413<function name="pango_ft2_render_layout_line">
6414<description>
6415Render a #PangoLayoutLine onto a FreeType2 bitmap
6416
6417</description>
6418<parameters>
6419<parameter name="bitmap">
6420<parameter_description>    a &lt;type&gt;FT_Bitmap&lt;/type&gt; to render the line onto
6421</parameter_description>
6422</parameter>
6423<parameter name="line">
6424<parameter_description>      a #PangoLayoutLine
6425</parameter_description>
6426</parameter>
6427<parameter name="x">
6428<parameter_description>         the x position of start of string (in pixels)
6429</parameter_description>
6430</parameter>
6431<parameter name="y">
6432<parameter_description>         the y position of baseline (in pixels)
6433</parameter_description>
6434</parameter>
6435</parameters>
6436<return></return>
6437</function>
6438
6439<function name="pango_ft2_render_layout_line_subpixel">
6440<description>
6441Render a #PangoLayoutLine onto a FreeType2 bitmap, with he
6442location specified in fixed-point Pango units rather than
6443pixels. (Using this will avoid extra inaccuracies from
6444rounding to integer pixels multiple times, even if the
6445final glyph positions are integers.)
6446
6447Since: 1.6
6448
6449</description>
6450<parameters>
6451<parameter name="bitmap">
6452<parameter_description>    a &lt;type&gt;FT_Bitmap&lt;/type&gt; to render the line onto
6453</parameter_description>
6454</parameter>
6455<parameter name="line">
6456<parameter_description>      a #PangoLayoutLine
6457</parameter_description>
6458</parameter>
6459<parameter name="x">
6460<parameter_description>         the x position of start of string (in Pango units)
6461</parameter_description>
6462</parameter>
6463<parameter name="y">
6464<parameter_description>         the y position of baseline (in Pango units)
6465</parameter_description>
6466</parameter>
6467</parameters>
6468<return></return>
6469</function>
6470
6471<function name="pango_ft2_render_layout_subpixel">
6472<description>
6473Render a #PangoLayout onto a FreeType2 bitmap, with he
6474location specified in fixed-point Pango units rather than
6475pixels. (Using this will avoid extra inaccuracies from
6476rounding to integer pixels multiple times, even if the
6477final glyph positions are integers.)
6478
6479Since: 1.6
6480
6481</description>
6482<parameters>
6483<parameter name="bitmap">
6484<parameter_description>    a &lt;type&gt;FT_Bitmap&lt;/type&gt; to render the layout onto
6485</parameter_description>
6486</parameter>
6487<parameter name="layout">
6488<parameter_description>    a #PangoLayout
6489</parameter_description>
6490</parameter>
6491<parameter name="x">
6492<parameter_description>         the X position of the left of the layout (in Pango units)
6493</parameter_description>
6494</parameter>
6495<parameter name="y">
6496<parameter_description>         the Y position of the top of the layout (in Pango units)
6497</parameter_description>
6498</parameter>
6499</parameters>
6500<return></return>
6501</function>
6502
6503<function name="pango_ft2_render_transformed">
6504<description>
6505Renders a #PangoGlyphString onto a FreeType2 bitmap, possibly
6506transforming the layed-out coordinates through a transformation
6507matrix. Note that the transformation matrix for @font is not
6508changed, so to produce correct rendering results, the @font
6509must have been loaded using a #PangoContext with an identical
6510transformation matrix to that passed in to this function.
6511
6512Since: 1.6
6513
6514</description>
6515<parameters>
6516<parameter name="bitmap">
6517<parameter_description>  the FreeType2 bitmap onto which to draw the string
6518</parameter_description>
6519</parameter>
6520<parameter name="font">
6521<parameter_description>    the font in which to draw the string
6522</parameter_description>
6523</parameter>
6524<parameter name="matrix">
6525<parameter_description> a #PangoMatrix, or %NULL to use an identity
6526transformation
6527</parameter_description>
6528</parameter>
6529<parameter name="glyphs">
6530<parameter_description>  the glyph string to draw
6531</parameter_description>
6532</parameter>
6533<parameter name="x">
6534<parameter_description>       the x position of the start of the string (in Pango
6535units in user space coordinates)
6536</parameter_description>
6537</parameter>
6538<parameter name="y">
6539<parameter_description>       the y position of the baseline (in Pango units
6540in user space coordinates)
6541</parameter_description>
6542</parameter>
6543</parameters>
6544<return></return>
6545</function>
6546
6547<function name="pango_ft2_shutdown_display">
6548<description>
6549Free the global fontmap. (See pango_ft2_font_map_for_display())
6550Use of the global PangoFT2 fontmap is deprecated.
6551
6552</description>
6553<parameters>
6554</parameters>
6555<return></return>
6556</function>
6557
6558<function name="pango_get_lib_subdirectory">
6559<description>
6560Returns the name of the &quot;pango&quot; subdirectory of LIBDIR
6561(which is set at compile time).
6562
6563Deprecated: 1.38
6564
6565</description>
6566<parameters>
6567</parameters>
6568<return> the Pango lib directory. The returned string should
6569not be freed.
6570
6571</return>
6572</function>
6573
6574<function name="pango_get_log_attrs">
6575<description>
6576Computes a #PangoLogAttr for each character in @text. The @log_attrs
6577array must have one #PangoLogAttr for each position in @text; if
6578@text contains N characters, it has N+1 positions, including the
6579last position at the end of the text. @text should be an entire
6580paragraph; logical attributes can't be computed without context
6581(for example you need to see spaces on either side of a word to know
6582the word is a word).
6583
6584</description>
6585<parameters>
6586<parameter name="text">
6587<parameter_description> text to process
6588</parameter_description>
6589</parameter>
6590<parameter name="length">
6591<parameter_description> length in bytes of @text
6592</parameter_description>
6593</parameter>
6594<parameter name="level">
6595<parameter_description> embedding level, or -1 if unknown
6596</parameter_description>
6597</parameter>
6598<parameter name="language">
6599<parameter_description> language tag
6600</parameter_description>
6601</parameter>
6602<parameter name="log_attrs">
6603<parameter_description> array with one #PangoLogAttr
6604per character in @text, plus one extra, to be filled in
6605</parameter_description>
6606</parameter>
6607<parameter name="attrs_len">
6608<parameter_description> length of @log_attrs array
6609</parameter_description>
6610</parameter>
6611</parameters>
6612<return></return>
6613</function>
6614
6615<function name="pango_get_mirror_char">
6616<description>
6617If @ch has the Unicode mirrored property and there is another Unicode
6618character that typically has a glyph that is the mirror image of @ch's
6619glyph, puts that character in the address pointed to by @mirrored_ch.
6620
6621Use g_unichar_get_mirror_char() instead; the docs for that function
6622provide full details.
6623
6624
6625</description>
6626<parameters>
6627<parameter name="ch">
6628<parameter_description> a Unicode character
6629</parameter_description>
6630</parameter>
6631<parameter name="mirrored_ch">
6632<parameter_description> location to store the mirrored character
6633</parameter_description>
6634</parameter>
6635</parameters>
6636<return> %TRUE if @ch has a mirrored character and @mirrored_ch is
6637filled in, %FALSE otherwise
6638</return>
6639</function>
6640
6641<function name="pango_get_sysconf_subdirectory">
6642<description>
6643Returns the name of the &quot;pango&quot; subdirectory of SYSCONFDIR
6644(which is set at compile time).
6645
6646Deprecated: 1.38
6647
6648</description>
6649<parameters>
6650</parameters>
6651<return> the Pango sysconf directory. The returned string should
6652not be freed.
6653
6654</return>
6655</function>
6656
6657<function name="pango_glyph_item_apply_attrs">
6658<description>
6659Splits a shaped item (PangoGlyphItem) into multiple items based
6660on an attribute list. The idea is that if you have attributes
6661that don't affect shaping, such as color or underline, to avoid
6662affecting shaping, you filter them out (pango_attr_list_filter()),
6663apply the shaping process and then reapply them to the result using
6664this function.
6665
6666All attributes that start or end inside a cluster are applied
6667to that cluster; for instance, if half of a cluster is underlined
6668and the other-half strikethrough, then the cluster will end
6669up with both underline and strikethrough attributes. In these
6670cases, it may happen that item-&gt;extra_attrs for some of the
6671result items can have multiple attributes of the same type.
6672
6673This function takes ownership of @glyph_item; it will be reused
6674as one of the elements in the list.
6675
6676Since: 1.2
6677
6678</description>
6679<parameters>
6680<parameter name="glyph_item">
6681<parameter_description> a shaped item
6682</parameter_description>
6683</parameter>
6684<parameter name="text">
6685<parameter_description> text that @list applies to
6686</parameter_description>
6687</parameter>
6688<parameter name="list">
6689<parameter_description> a #PangoAttrList
6690</parameter_description>
6691</parameter>
6692</parameters>
6693<return> a
6694list of glyph items resulting from splitting @glyph_item. Free
6695the elements using pango_glyph_item_free(), the list using
6696g_slist_free().
6697
6698</return>
6699</function>
6700
6701<function name="pango_glyph_item_copy">
6702<description>
6703Make a deep copy of an existing #PangoGlyphItem structure.
6704
6705Since: 1.20
6706
6707</description>
6708<parameters>
6709<parameter name="orig">
6710<parameter_description> a #PangoGlyphItem, may be %NULL
6711</parameter_description>
6712</parameter>
6713</parameters>
6714<return> the newly allocated #PangoGlyphItem, which should
6715be freed with pango_glyph_item_free(), or %NULL
6716if @orig was %NULL.
6717
6718</return>
6719</function>
6720
6721<function name="pango_glyph_item_free">
6722<description>
6723Frees a #PangoGlyphItem and resources to which it points.
6724
6725Since: 1.6
6726
6727</description>
6728<parameters>
6729<parameter name="glyph_item">
6730<parameter_description> a #PangoGlyphItem, may be %NULL
6731</parameter_description>
6732</parameter>
6733</parameters>
6734<return></return>
6735</function>
6736
6737<function name="pango_glyph_item_get_logical_widths">
6738<description>
6739Given a #PangoGlyphItem and the corresponding
6740text, determine the screen width corresponding to each character. When
6741multiple characters compose a single cluster, the width of the entire
6742cluster is divided equally among the characters.
6743
6744See also pango_glyph_string_get_logical_widths().
6745
6746Since: 1.26
6747
6748</description>
6749<parameters>
6750<parameter name="glyph_item">
6751<parameter_description> a #PangoGlyphItem
6752</parameter_description>
6753</parameter>
6754<parameter name="text">
6755<parameter_description> text that @glyph_item corresponds to
6756(glyph_item-&gt;item-&gt;offset is an offset from the
6757start of @text)
6758</parameter_description>
6759</parameter>
6760<parameter name="logical_widths">
6761<parameter_description> an array whose length is the number of
6762characters in glyph_item (equal to
6763glyph_item-&gt;item-&gt;num_chars) to be filled in with
6764the resulting character widths.
6765</parameter_description>
6766</parameter>
6767</parameters>
6768<return></return>
6769</function>
6770
6771<function name="pango_glyph_item_iter_copy">
6772<description>
6773Make a shallow copy of an existing #PangoGlyphItemIter structure.
6774
6775Since: 1.22
6776
6777</description>
6778<parameters>
6779<parameter name="orig">
6780<parameter_description> a #PangoGlyphItemIter, may be %NULL
6781</parameter_description>
6782</parameter>
6783</parameters>
6784<return> the newly allocated #PangoGlyphItemIter, which should
6785be freed with pango_glyph_item_iter_free(), or %NULL
6786if @orig was %NULL.
6787
6788</return>
6789</function>
6790
6791<function name="pango_glyph_item_iter_free">
6792<description>
6793Frees a #PangoGlyphItemIter created by pango_glyph_item_iter_copy().
6794
6795Since: 1.22
6796
6797</description>
6798<parameters>
6799<parameter name="iter">
6800<parameter_description> a #PangoGlyphItemIter, may be %NULL
6801</parameter_description>
6802</parameter>
6803</parameters>
6804<return></return>
6805</function>
6806
6807<function name="pango_glyph_item_iter_init_end">
6808<description>
6809Initializes a #PangoGlyphItemIter structure to point to the
6810last cluster in a glyph item.
6811See #PangoGlyphItemIter for details of cluster orders.
6812
6813Since: 1.22
6814
6815</description>
6816<parameters>
6817<parameter name="iter">
6818<parameter_description> a #PangoGlyphItemIter
6819</parameter_description>
6820</parameter>
6821<parameter name="glyph_item">
6822<parameter_description> the glyph item to iterate over
6823</parameter_description>
6824</parameter>
6825<parameter name="text">
6826<parameter_description> text corresponding to the glyph item
6827</parameter_description>
6828</parameter>
6829</parameters>
6830<return> %FALSE if there are no clusters in the glyph item
6831
6832</return>
6833</function>
6834
6835<function name="pango_glyph_item_iter_init_start">
6836<description>
6837Initializes a #PangoGlyphItemIter structure to point to the
6838first cluster in a glyph item.
6839See #PangoGlyphItemIter for details of cluster orders.
6840
6841Since: 1.22
6842
6843</description>
6844<parameters>
6845<parameter name="iter">
6846<parameter_description> a #PangoGlyphItemIter
6847</parameter_description>
6848</parameter>
6849<parameter name="glyph_item">
6850<parameter_description> the glyph item to iterate over
6851</parameter_description>
6852</parameter>
6853<parameter name="text">
6854<parameter_description> text corresponding to the glyph item
6855</parameter_description>
6856</parameter>
6857</parameters>
6858<return> %FALSE if there are no clusters in the glyph item
6859
6860</return>
6861</function>
6862
6863<function name="pango_glyph_item_iter_next_cluster">
6864<description>
6865Advances the iterator to the next cluster in the glyph item.
6866See #PangoGlyphItemIter for details of cluster orders.
6867
6868Since: 1.22
6869
6870</description>
6871<parameters>
6872<parameter name="iter">
6873<parameter_description> a #PangoGlyphItemIter
6874</parameter_description>
6875</parameter>
6876</parameters>
6877<return> %TRUE if the iterator was advanced, %FALSE if we were already on the
6878last cluster.
6879
6880</return>
6881</function>
6882
6883<function name="pango_glyph_item_iter_prev_cluster">
6884<description>
6885Moves the iterator to the preceding cluster in the glyph item.
6886See #PangoGlyphItemIter for details of cluster orders.
6887
6888Since: 1.22
6889
6890</description>
6891<parameters>
6892<parameter name="iter">
6893<parameter_description> a #PangoGlyphItemIter
6894</parameter_description>
6895</parameter>
6896</parameters>
6897<return> %TRUE if the iterator was moved, %FALSE if we were already on the
6898first cluster.
6899
6900</return>
6901</function>
6902
6903<function name="pango_glyph_item_letter_space">
6904<description>
6905Adds spacing between the graphemes of @glyph_item to
6906give the effect of typographic letter spacing.
6907
6908Since: 1.6
6909
6910</description>
6911<parameters>
6912<parameter name="glyph_item">
6913<parameter_description> a #PangoGlyphItem
6914</parameter_description>
6915</parameter>
6916<parameter name="text">
6917<parameter_description> text that @glyph_item corresponds to
6918(glyph_item-&gt;item-&gt;offset is an offset from the
6919start of @text)
6920</parameter_description>
6921</parameter>
6922<parameter name="log_attrs">
6923<parameter_description> logical attributes for the item
6924(the first logical attribute refers to the position
6925before the first character in the item)
6926</parameter_description>
6927</parameter>
6928<parameter name="letter_spacing">
6929<parameter_description> amount of letter spacing to add
6930in Pango units. May be negative, though too large
6931negative values will give ugly results.
6932</parameter_description>
6933</parameter>
6934</parameters>
6935<return></return>
6936</function>
6937
6938<function name="pango_glyph_item_split">
6939<description>
6940Modifies @orig to cover only the text after @split_index, and
6941returns a new item that covers the text before @split_index that
6942used to be in @orig. You can think of @split_index as the length of
6943the returned item. @split_index may not be 0, and it may not be
6944greater than or equal to the length of @orig (that is, there must
6945be at least one byte assigned to each item, you can't create a
6946zero-length item).
6947
6948This function is similar in function to pango_item_split() (and uses
6949it internally.)
6950
6951Since: 1.2
6952
6953</description>
6954<parameters>
6955<parameter name="orig">
6956<parameter_description> a #PangoItem
6957</parameter_description>
6958</parameter>
6959<parameter name="text">
6960<parameter_description> text to which positions in @orig apply
6961</parameter_description>
6962</parameter>
6963<parameter name="split_index">
6964<parameter_description> byte index of position to split item, relative to the start of the item
6965</parameter_description>
6966</parameter>
6967</parameters>
6968<return> the newly allocated item representing text before
6969@split_index, which should be freed
6970with pango_glyph_item_free().
6971
6972</return>
6973</function>
6974
6975<function name="pango_glyph_string_copy">
6976<description>
6977Copy a glyph string and associated storage.
6978
6979
6980</description>
6981<parameters>
6982<parameter name="string">
6983<parameter_description> a #PangoGlyphString, may be %NULL
6984</parameter_description>
6985</parameter>
6986</parameters>
6987<return> the newly allocated #PangoGlyphString,
6988which should be freed with pango_glyph_string_free(),
6989or %NULL if @string was %NULL.
6990</return>
6991</function>
6992
6993<function name="pango_glyph_string_extents">
6994<description>
6995Compute the logical and ink extents of a glyph string. See the documentation
6996for pango_font_get_glyph_extents() for details about the interpretation
6997of the rectangles.
6998
6999</description>
7000<parameters>
7001<parameter name="glyphs">
7002<parameter_description>   a #PangoGlyphString
7003</parameter_description>
7004</parameter>
7005<parameter name="font">
7006<parameter_description>     a #PangoFont
7007</parameter_description>
7008</parameter>
7009<parameter name="ink_rect">
7010<parameter_description> rectangle used to store the extents of the glyph string
7011as drawn or %NULL to indicate that the result is not needed.
7012</parameter_description>
7013</parameter>
7014<parameter name="logical_rect">
7015<parameter_description> rectangle used to store the logical extents of the
7016glyph string or %NULL to indicate that the result is not needed.
7017</parameter_description>
7018</parameter>
7019</parameters>
7020<return></return>
7021</function>
7022
7023<function name="pango_glyph_string_extents_range">
7024<description>
7025Computes the extents of a sub-portion of a glyph string. The extents are
7026relative to the start of the glyph string range (the origin of their
7027coordinate system is at the start of the range, not at the start of the entire
7028glyph string).
7029
7030</description>
7031<parameters>
7032<parameter name="glyphs">
7033<parameter_description>   a #PangoGlyphString
7034</parameter_description>
7035</parameter>
7036<parameter name="start">
7037<parameter_description>    start index
7038</parameter_description>
7039</parameter>
7040<parameter name="end">
7041<parameter_description>      end index (the range is the set of bytes with
7042	      indices such that start &lt;= index &lt; end)
7043</parameter_description>
7044</parameter>
7045<parameter name="font">
7046<parameter_description>     a #PangoFont
7047</parameter_description>
7048</parameter>
7049<parameter name="ink_rect">
7050<parameter_description> rectangle used to
7051store the extents of the glyph string range as drawn or
7052%NULL to indicate that the result is not needed.
7053</parameter_description>
7054</parameter>
7055<parameter name="logical_rect">
7056<parameter_description> rectangle used to
7057store the logical extents of the glyph string range or
7058%NULL to indicate that the result is not needed.
7059</parameter_description>
7060</parameter>
7061</parameters>
7062<return></return>
7063</function>
7064
7065<function name="pango_glyph_string_free">
7066<description>
7067Free a glyph string and associated storage.
7068
7069</description>
7070<parameters>
7071<parameter name="string">
7072<parameter_description> a #PangoGlyphString, may be %NULL
7073</parameter_description>
7074</parameter>
7075</parameters>
7076<return></return>
7077</function>
7078
7079<function name="pango_glyph_string_get_logical_widths">
7080<description>
7081Given a #PangoGlyphString resulting from pango_shape() and the corresponding
7082text, determine the screen width corresponding to each character. When
7083multiple characters compose a single cluster, the width of the entire
7084cluster is divided equally among the characters.
7085
7086See also pango_glyph_item_get_logical_widths().
7087
7088</description>
7089<parameters>
7090<parameter name="glyphs">
7091<parameter_description> a #PangoGlyphString
7092</parameter_description>
7093</parameter>
7094<parameter name="text">
7095<parameter_description> the text corresponding to the glyphs
7096</parameter_description>
7097</parameter>
7098<parameter name="length">
7099<parameter_description> the length of @text, in bytes
7100</parameter_description>
7101</parameter>
7102<parameter name="embedding_level">
7103<parameter_description> the embedding level of the string
7104</parameter_description>
7105</parameter>
7106<parameter name="logical_widths">
7107<parameter_description> an array whose length is the number of
7108characters in text (equal to g_utf8_strlen (text,
7109length) unless text has NUL bytes) to be filled in
7110with the resulting character widths.
7111</parameter_description>
7112</parameter>
7113</parameters>
7114<return></return>
7115</function>
7116
7117<function name="pango_glyph_string_get_width">
7118<description>
7119Computes the logical width of the glyph string as can also be computed
7120using pango_glyph_string_extents().  However, since this only computes the
7121width, it's much faster.  This is in fact only a convenience function that
7122computes the sum of geometry.width for each glyph in the @glyphs.
7123
7124Since: 1.14
7125
7126</description>
7127<parameters>
7128<parameter name="glyphs">
7129<parameter_description>   a #PangoGlyphString
7130</parameter_description>
7131</parameter>
7132</parameters>
7133<return> the logical width of the glyph string.
7134
7135</return>
7136</function>
7137
7138<function name="pango_glyph_string_index_to_x">
7139<description>
7140Converts from character position to x position. (X position
7141is measured from the left edge of the run). Character positions
7142are computed by dividing up each cluster into equal portions.
7143
7144</description>
7145<parameters>
7146<parameter name="glyphs">
7147<parameter_description>    the glyphs return from pango_shape()
7148</parameter_description>
7149</parameter>
7150<parameter name="text">
7151<parameter_description>      the text for the run
7152</parameter_description>
7153</parameter>
7154<parameter name="length">
7155<parameter_description>    the number of bytes (not characters) in @text.
7156</parameter_description>
7157</parameter>
7158<parameter name="analysis">
7159<parameter_description>  the analysis information return from pango_itemize()
7160</parameter_description>
7161</parameter>
7162<parameter name="index_">
7163<parameter_description>    the byte index within @text
7164</parameter_description>
7165</parameter>
7166<parameter name="trailing">
7167<parameter_description>  whether we should compute the result for the beginning (%FALSE)
7168or end (%TRUE) of the character.
7169</parameter_description>
7170</parameter>
7171<parameter name="x_pos">
7172<parameter_description> location to store result
7173</parameter_description>
7174</parameter>
7175</parameters>
7176<return></return>
7177</function>
7178
7179<function name="pango_glyph_string_new">
7180<description>
7181Create a new #PangoGlyphString.
7182
7183
7184</description>
7185<parameters>
7186</parameters>
7187<return> the newly allocated #PangoGlyphString, which
7188should be freed with pango_glyph_string_free().
7189</return>
7190</function>
7191
7192<function name="pango_glyph_string_set_size">
7193<description>
7194Resize a glyph string to the given length.
7195
7196</description>
7197<parameters>
7198<parameter name="string">
7199<parameter_description>    a #PangoGlyphString.
7200</parameter_description>
7201</parameter>
7202<parameter name="new_len">
7203<parameter_description>   the new length of the string.
7204</parameter_description>
7205</parameter>
7206</parameters>
7207<return></return>
7208</function>
7209
7210<function name="pango_glyph_string_x_to_index">
7211<description>
7212Convert from x offset to character position. Character positions
7213are computed by dividing up each cluster into equal portions.
7214In scripts where positioning within a cluster is not allowed
7215(such as Thai), the returned value may not be a valid cursor
7216position; the caller must combine the result with the logical
7217attributes for the text to compute the valid cursor position.
7218
7219</description>
7220<parameters>
7221<parameter name="glyphs">
7222<parameter_description>    the glyphs returned from pango_shape()
7223</parameter_description>
7224</parameter>
7225<parameter name="text">
7226<parameter_description>      the text for the run
7227</parameter_description>
7228</parameter>
7229<parameter name="length">
7230<parameter_description>    the number of bytes (not characters) in text.
7231</parameter_description>
7232</parameter>
7233<parameter name="analysis">
7234<parameter_description>  the analysis information return from pango_itemize()
7235</parameter_description>
7236</parameter>
7237<parameter name="x_pos">
7238<parameter_description>     the x offset (in Pango units)
7239</parameter_description>
7240</parameter>
7241<parameter name="index_">
7242<parameter_description> location to store calculated byte index within @text
7243</parameter_description>
7244</parameter>
7245<parameter name="trailing">
7246<parameter_description> location to store a boolean indicating
7247whether the user clicked on the leading or trailing
7248edge of the character.
7249</parameter_description>
7250</parameter>
7251</parameters>
7252<return></return>
7253</function>
7254
7255<function name="pango_gravity_get_for_matrix">
7256<description>
7257Finds the gravity that best matches the rotation component
7258in a #PangoMatrix.
7259
7260Since: 1.16
7261
7262</description>
7263<parameters>
7264<parameter name="matrix">
7265<parameter_description> a #PangoMatrix
7266</parameter_description>
7267</parameter>
7268</parameters>
7269<return> the gravity of @matrix, which will never be
7270%PANGO_GRAVITY_AUTO, or %PANGO_GRAVITY_SOUTH if @matrix is %NULL
7271
7272</return>
7273</function>
7274
7275<function name="pango_gravity_get_for_script">
7276<description>
7277Based on the script, base gravity, and hint, returns actual gravity
7278to use in laying out a single #PangoItem.
7279
7280If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
7281preferred gravity of @script.  To get the preferred gravity of a script,
7282pass %PANGO_GRAVITY_AUTO and %PANGO_GRAVITY_HINT_STRONG in.
7283
7284Since: 1.16
7285
7286</description>
7287<parameters>
7288<parameter name="script">
7289<parameter_description> #PangoScript to query
7290</parameter_description>
7291</parameter>
7292<parameter name="base_gravity">
7293<parameter_description> base gravity of the paragraph
7294</parameter_description>
7295</parameter>
7296<parameter name="hint">
7297<parameter_description> orientation hint
7298</parameter_description>
7299</parameter>
7300</parameters>
7301<return> resolved gravity suitable to use for a run of text
7302with @script.
7303
7304</return>
7305</function>
7306
7307<function name="pango_gravity_get_for_script_and_width">
7308<description>
7309Based on the script, East Asian width, base gravity, and hint,
7310returns actual gravity to use in laying out a single character
7311or #PangoItem.
7312
7313This function is similar to pango_gravity_get_for_script() except
7314that this function makes a distinction between narrow/half-width and
7315wide/full-width characters also.  Wide/full-width characters always
7316stand &lt;emphasis&gt;upright&lt;/emphasis&gt;, that is, they always take the base gravity,
7317whereas narrow/full-width characters are always rotated in vertical
7318context.
7319
7320If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
7321preferred gravity of @script.
7322
7323Since: 1.26
7324
7325</description>
7326<parameters>
7327<parameter name="script">
7328<parameter_description> #PangoScript to query
7329</parameter_description>
7330</parameter>
7331<parameter name="wide">
7332<parameter_description> %TRUE for wide characters as returned by g_unichar_iswide()
7333</parameter_description>
7334</parameter>
7335<parameter name="base_gravity">
7336<parameter_description> base gravity of the paragraph
7337</parameter_description>
7338</parameter>
7339<parameter name="hint">
7340<parameter_description> orientation hint
7341</parameter_description>
7342</parameter>
7343</parameters>
7344<return> resolved gravity suitable to use for a run of text
7345with @script and @wide.
7346
7347</return>
7348</function>
7349
7350<function name="pango_gravity_to_rotation">
7351<description>
7352Converts a #PangoGravity value to its natural rotation in radians.
7353@gravity should not be %PANGO_GRAVITY_AUTO.
7354
7355Note that pango_matrix_rotate() takes angle in degrees, not radians.
7356So, to call pango_matrix_rotate() with the output of this function
7357you should multiply it by (180. / G_PI).
7358
7359Since: 1.16
7360
7361</description>
7362<parameters>
7363<parameter name="gravity">
7364<parameter_description> gravity to query
7365</parameter_description>
7366</parameter>
7367</parameters>
7368<return> the rotation value corresponding to @gravity.
7369
7370</return>
7371</function>
7372
7373<function name="pango_is_zero_width">
7374<description>
7375Checks @ch to see if it is a character that should not be
7376normally rendered on the screen.  This includes all Unicode characters
7377with &quot;ZERO WIDTH&quot; in their name, as well as &lt;firstterm&gt;bidi&lt;/firstterm&gt; formatting characters, and
7378a few other ones.  This is totally different from g_unichar_iszerowidth()
7379and is at best misnamed.
7380
7381Since: 1.10
7382
7383</description>
7384<parameters>
7385<parameter name="ch">
7386<parameter_description> a Unicode character
7387</parameter_description>
7388</parameter>
7389</parameters>
7390<return> %TRUE if @ch is a zero-width character, %FALSE otherwise
7391
7392</return>
7393</function>
7394
7395<function name="pango_item_copy">
7396<description>
7397Copy an existing #PangoItem structure.
7398
7399
7400</description>
7401<parameters>
7402<parameter name="item">
7403<parameter_description> a #PangoItem, may be %NULL
7404</parameter_description>
7405</parameter>
7406</parameters>
7407<return> the newly allocated #PangoItem, which
7408should be freed with pango_item_free(), or %NULL if
7409@item was %NULL.
7410</return>
7411</function>
7412
7413<function name="pango_item_free">
7414<description>
7415Free a #PangoItem and all associated memory.
7416
7417</description>
7418<parameters>
7419<parameter name="item">
7420<parameter_description> a #PangoItem, may be %NULL
7421</parameter_description>
7422</parameter>
7423</parameters>
7424<return></return>
7425</function>
7426
7427<function name="pango_item_new">
7428<description>
7429Creates a new #PangoItem structure initialized to default values.
7430
7431
7432</description>
7433<parameters>
7434</parameters>
7435<return> the newly allocated #PangoItem, which should
7436be freed with pango_item_free().
7437</return>
7438</function>
7439
7440<function name="pango_item_split">
7441<description>
7442Modifies @orig to cover only the text after @split_index, and
7443returns a new item that covers the text before @split_index that
7444used to be in @orig. You can think of @split_index as the length of
7445the returned item. @split_index may not be 0, and it may not be
7446greater than or equal to the length of @orig (that is, there must
7447be at least one byte assigned to each item, you can't create a
7448zero-length item). @split_offset is the length of the first item in
7449chars, and must be provided because the text used to generate the
7450item isn't available, so pango_item_split() can't count the char
7451length of the split items itself.
7452
7453
7454</description>
7455<parameters>
7456<parameter name="orig">
7457<parameter_description> a #PangoItem
7458</parameter_description>
7459</parameter>
7460<parameter name="split_index">
7461<parameter_description> byte index of position to split item, relative to the start of the item
7462</parameter_description>
7463</parameter>
7464<parameter name="split_offset">
7465<parameter_description> number of chars between start of @orig and @split_index
7466</parameter_description>
7467</parameter>
7468</parameters>
7469<return> new item representing text before @split_index, which
7470should be freed with pango_item_free().
7471</return>
7472</function>
7473
7474<function name="pango_itemize">
7475<description>
7476Breaks a piece of text into segments with consistent
7477directional level and shaping engine. Each byte of @text will
7478be contained in exactly one of the items in the returned list;
7479the generated list of items will be in logical order (the start
7480offsets of the items are ascending).
7481
7482@cached_iter should be an iterator over @attrs currently positioned at a
7483range before or containing @start_index; @cached_iter will be advanced to
7484the range covering the position just after @start_index + @length.
7485(i.e. if itemizing in a loop, just keep passing in the same @cached_iter).
7486
7487
7488</description>
7489<parameters>
7490<parameter name="context">
7491<parameter_description>   a structure holding information that affects
7492	       the itemization process.
7493</parameter_description>
7494</parameter>
7495<parameter name="text">
7496<parameter_description>      the text to itemize.
7497</parameter_description>
7498</parameter>
7499<parameter name="start_index">
7500<parameter_description> first byte in @text to process
7501</parameter_description>
7502</parameter>
7503<parameter name="length">
7504<parameter_description>    the number of bytes (not characters) to process
7505after @start_index.
7506This must be &gt;= 0.
7507</parameter_description>
7508</parameter>
7509<parameter name="attrs">
7510<parameter_description>     the set of attributes that apply to @text.
7511</parameter_description>
7512</parameter>
7513<parameter name="cached_iter">
7514<parameter_description> Cached attribute iterator, or %NULL
7515</parameter_description>
7516</parameter>
7517</parameters>
7518<return> a #GList of #PangoItem
7519structures. The items should be freed using pango_item_free()
7520probably in combination with g_list_foreach(), and the list itself
7521using g_list_free().
7522</return>
7523</function>
7524
7525<function name="pango_itemize_with_base_dir">
7526<description>
7527Like pango_itemize(), but the base direction to use when
7528computing bidirectional levels (see pango_context_set_base_dir ()),
7529is specified explicitly rather than gotten from the #PangoContext.
7530
7531Since: 1.4
7532
7533</description>
7534<parameters>
7535<parameter name="context">
7536<parameter_description>   a structure holding information that affects
7537the itemization process.
7538</parameter_description>
7539</parameter>
7540<parameter name="base_dir">
7541<parameter_description>  base direction to use for bidirectional processing
7542</parameter_description>
7543</parameter>
7544<parameter name="text">
7545<parameter_description>      the text to itemize.
7546</parameter_description>
7547</parameter>
7548<parameter name="start_index">
7549<parameter_description> first byte in @text to process
7550</parameter_description>
7551</parameter>
7552<parameter name="length">
7553<parameter_description>    the number of bytes (not characters) to process
7554after @start_index. This must be &gt;= 0.
7555</parameter_description>
7556</parameter>
7557<parameter name="attrs">
7558<parameter_description>     the set of attributes that apply to @text.
7559</parameter_description>
7560</parameter>
7561<parameter name="cached_iter">
7562<parameter_description> Cached attribute iterator, or %NULL
7563</parameter_description>
7564</parameter>
7565</parameters>
7566<return> a #GList of
7567#PangoItem structures.  The items should be freed using
7568pango_item_free() probably in combination with
7569g_list_foreach(), and the list itself using g_list_free().
7570
7571</return>
7572</function>
7573
7574<function name="pango_language_from_string">
7575<description>
7576Take a RFC-3066 format language tag as a string and convert it to a
7577#PangoLanguage pointer that can be efficiently copied (copy the
7578pointer) and compared with other language tags (compare the
7579pointer.)
7580
7581This function first canonicalizes the string by converting it to
7582lowercase, mapping '_' to '-', and stripping all characters other
7583than letters and '-'.
7584
7585Use pango_language_get_default() if you want to get the #PangoLanguage for
7586the current locale of the process.
7587
7588
7589</description>
7590<parameters>
7591<parameter name="language">
7592<parameter_description> a string representing a language tag, or %NULL
7593</parameter_description>
7594</parameter>
7595</parameters>
7596<return> an opaque pointer to a
7597#PangoLanguage structure, or %NULL if @language was
7598%NULL.  The returned pointer will be valid forever
7599after, and should not be freed.
7600</return>
7601</function>
7602
7603<function name="pango_language_get_default">
7604<description>
7605Returns the #PangoLanguage for the current locale of the process.
7606Note that this can change over the life of an application.
7607
7608On Unix systems, this is the return value is derived from
7609&lt;literal&gt;setlocale(LC_CTYPE, NULL)&lt;/literal&gt;, and the user can
7610affect this through the environment variables LC_ALL, LC_CTYPE or
7611LANG (checked in that order). The locale string typically is in
7612the form lang_COUNTRY, where lang is an ISO-639 language code, and
7613COUNTRY is an ISO-3166 country code. For instance, sv_FI for
7614Swedish as written in Finland or pt_BR for Portuguese as written in
7615Brazil.
7616
7617On Windows, the C library does not use any such environment
7618variables, and setting them won't affect the behavior of functions
7619like ctime(). The user sets the locale through the Regional Options
7620in the Control Panel. The C library (in the setlocale() function)
7621does not use country and language codes, but country and language
7622names spelled out in English.
7623However, this function does check the above environment
7624variables, and does return a Unix-style locale string based on
7625either said environment variables or the thread's current locale.
7626
7627Your application should call &lt;literal&gt;setlocale(LC_ALL, &quot;&quot;);&lt;/literal&gt;
7628for the user settings to take effect.  Gtk+ does this in its initialization
7629functions automatically (by calling gtk_set_locale()).
7630See &lt;literal&gt;man setlocale&lt;/literal&gt; for more details.
7631
7632Since: 1.16
7633
7634</description>
7635<parameters>
7636</parameters>
7637<return> the default language as a
7638#PangoLanguage, must not be freed.
7639
7640</return>
7641</function>
7642
7643<function name="pango_language_get_sample_string">
7644<description>
7645Get a string that is representative of the characters needed to
7646render a particular language.
7647
7648The sample text may be a pangram, but is not necessarily.  It is chosen to
7649be demonstrative of normal text in the language, as well as exposing font
7650feature requirements unique to the language.  It is suitable for use
7651as sample text in a font selection dialog.
7652
7653If @language is %NULL, the default language as found by
7654pango_language_get_default() is used.
7655
7656If Pango does not have a sample string for @language, the classic
7657&quot;The quick brown fox...&quot; is returned.  This can be detected by
7658comparing the returned pointer value to that returned for (non-existent)
7659language code &quot;xx&quot;.  That is, compare to:
7660&lt;informalexample&gt;&lt;programlisting&gt;
7661pango_language_get_sample_string (pango_language_from_string (&quot;xx&quot;))
7662&lt;/programlisting&gt;&lt;/informalexample&gt;
7663
7664
7665</description>
7666<parameters>
7667<parameter name="language">
7668<parameter_description> a #PangoLanguage, or %NULL
7669</parameter_description>
7670</parameter>
7671</parameters>
7672<return> the sample string. This value is owned by Pango
7673and should not be freed.
7674</return>
7675</function>
7676
7677<function name="pango_language_get_scripts">
7678<description>
7679Determines the scripts used to to write @language.
7680If nothing is known about the language tag @language,
7681or if @language is %NULL, then %NULL is returned.
7682The list of scripts returned starts with the script that the
7683language uses most and continues to the one it uses least.
7684
7685The value @num_script points at will be set to the number
7686of scripts in the returned array (or zero if %NULL is returned).
7687
7688Most languages use only one script for writing, but there are
7689some that use two (Latin and Cyrillic for example), and a few
7690use three (Japanese for example).  Applications should not make
7691any assumptions on the maximum number of scripts returned
7692though, except that it is positive if the return value is not
7693%NULL, and it is a small number.
7694
7695The pango_language_includes_script() function uses this function
7696internally.
7697
7698Since: 1.22
7699
7700</description>
7701<parameters>
7702<parameter name="language">
7703<parameter_description> a #PangoLanguage, or %NULL
7704</parameter_description>
7705</parameter>
7706<parameter name="num_scripts">
7707<parameter_description> location to return number of scripts,
7708or %NULL
7709</parameter_description>
7710</parameter>
7711</parameters>
7712<return> An array of
7713#PangoScript values, with the number of entries in the array stored
7714in @num_scripts, or %NULL if Pango does not have any information
7715about this particular language tag (also the case if @language is
7716%NULL).  The returned array is owned by Pango and should not be
7717modified or freed.
7718
7719</return>
7720</function>
7721
7722<function name="pango_language_includes_script">
7723<description>
7724Determines if @script is one of the scripts used to
7725write @language. The returned value is conservative;
7726if nothing is known about the language tag @language,
7727%TRUE will be returned, since, as far as Pango knows,
7728@script might be used to write @language.
7729
7730This routine is used in Pango's itemization process when
7731determining if a supplied language tag is relevant to
7732a particular section of text. It probably is not useful for
7733applications in most circumstances.
7734
7735This function uses pango_language_get_scripts() internally.
7736
7737Since: 1.4
7738
7739</description>
7740<parameters>
7741<parameter name="language">
7742<parameter_description> a #PangoLanguage, or %NULL
7743</parameter_description>
7744</parameter>
7745<parameter name="script">
7746<parameter_description> a #PangoScript
7747</parameter_description>
7748</parameter>
7749</parameters>
7750<return> %TRUE if @script is one of the scripts used
7751to write @language or if nothing is known about @language
7752(including the case that @language is %NULL),
7753%FALSE otherwise.
7754
7755</return>
7756</function>
7757
7758<function name="pango_language_matches">
7759<description>
7760Checks if a language tag matches one of the elements in a list of
7761language ranges. A language tag is considered to match a range
7762in the list if the range is '*', the range is exactly the tag,
7763or the range is a prefix of the tag, and the character after it
7764in the tag is '-'.
7765
7766
7767</description>
7768<parameters>
7769<parameter name="language">
7770<parameter_description> a language tag (see pango_language_from_string()),
7771%NULL is allowed and matches nothing but '*'
7772</parameter_description>
7773</parameter>
7774<parameter name="range_list">
7775<parameter_description> a list of language ranges, separated by ';', ':',
7776',', or space characters.
7777Each element must either be '*', or a RFC 3066 language range
7778canonicalized as by pango_language_from_string()
7779</parameter_description>
7780</parameter>
7781</parameters>
7782<return> %TRUE if a match was found.
7783</return>
7784</function>
7785
7786<function name="pango_language_to_string">
7787<description>
7788Gets the RFC-3066 format string representing the given language tag.
7789
7790
7791</description>
7792<parameters>
7793<parameter name="language">
7794<parameter_description> a language tag.
7795</parameter_description>
7796</parameter>
7797</parameters>
7798<return> a string representing the language tag.  This is owned by
7799Pango and should not be freed.
7800</return>
7801</function>
7802
7803<function name="pango_layout_context_changed">
7804<description>
7805Forces recomputation of any state in the #PangoLayout that
7806might depend on the layout's context. This function should
7807be called if you make changes to the context subsequent
7808to creating the layout.
7809
7810</description>
7811<parameters>
7812<parameter name="layout">
7813<parameter_description> a #PangoLayout
7814</parameter_description>
7815</parameter>
7816</parameters>
7817<return></return>
7818</function>
7819
7820<function name="pango_layout_copy">
7821<description>
7822Does a deep copy-by-value of the @src layout. The attribute list,
7823tab array, and text from the original layout are all copied by
7824value.
7825
7826
7827</description>
7828<parameters>
7829<parameter name="src">
7830<parameter_description> a #PangoLayout
7831</parameter_description>
7832</parameter>
7833</parameters>
7834<return> the newly allocated #PangoLayout,
7835with a reference count of one, which should be freed
7836with g_object_unref().
7837</return>
7838</function>
7839
7840<function name="pango_layout_get_alignment">
7841<description>
7842Gets the alignment for the layout: how partial lines are
7843positioned within the horizontal space available.
7844
7845
7846</description>
7847<parameters>
7848<parameter name="layout">
7849<parameter_description> a #PangoLayout
7850</parameter_description>
7851</parameter>
7852</parameters>
7853<return> the alignment.
7854</return>
7855</function>
7856
7857<function name="pango_layout_get_attributes">
7858<description>
7859Gets the attribute list for the layout, if any.
7860
7861
7862</description>
7863<parameters>
7864<parameter name="layout">
7865<parameter_description> a #PangoLayout
7866</parameter_description>
7867</parameter>
7868</parameters>
7869<return> a #PangoAttrList.
7870</return>
7871</function>
7872
7873<function name="pango_layout_get_auto_dir">
7874<description>
7875Gets whether to calculate the bidirectional base direction
7876for the layout according to the contents of the layout.
7877See pango_layout_set_auto_dir().
7878
7879Since: 1.4
7880
7881</description>
7882<parameters>
7883<parameter name="layout">
7884<parameter_description> a #PangoLayout
7885</parameter_description>
7886</parameter>
7887</parameters>
7888<return> %TRUE if the bidirectional base direction
7889is computed from the layout's contents, %FALSE otherwise.
7890
7891</return>
7892</function>
7893
7894<function name="pango_layout_get_baseline">
7895<description>
7896Gets the Y position of baseline of the first line in @layout.
7897
7898Since: 1.22
7899
7900</description>
7901<parameters>
7902<parameter name="layout">
7903<parameter_description> a #PangoLayout
7904</parameter_description>
7905</parameter>
7906</parameters>
7907<return> baseline of first line, from top of @layout.
7908
7909</return>
7910</function>
7911
7912<function name="pango_layout_get_character_count">
7913<description>
7914Returns the number of Unicode characters in the
7915the text of @layout.
7916
7917Since: 1.30
7918
7919</description>
7920<parameters>
7921<parameter name="layout">
7922<parameter_description> a #PangoLayout
7923</parameter_description>
7924</parameter>
7925</parameters>
7926<return> the number of Unicode characters
7927in the text of @layout
7928
7929</return>
7930</function>
7931
7932<function name="pango_layout_get_context">
7933<description>
7934Retrieves the #PangoContext used for this layout.
7935
7936
7937</description>
7938<parameters>
7939<parameter name="layout">
7940<parameter_description> a #PangoLayout
7941</parameter_description>
7942</parameter>
7943</parameters>
7944<return> the #PangoContext for the layout.
7945This does not have an additional refcount added, so if you want to
7946keep a copy of this around, you must reference it yourself.
7947</return>
7948</function>
7949
7950<function name="pango_layout_get_cursor_pos">
7951<description>
7952Given an index within a layout, determines the positions that of the
7953strong and weak cursors if the insertion point is at that
7954index. The position of each cursor is stored as a zero-width
7955rectangle. The strong cursor location is the location where
7956characters of the directionality equal to the base direction of the
7957layout are inserted.  The weak cursor location is the location
7958where characters of the directionality opposite to the base
7959direction of the layout are inserted.
7960
7961</description>
7962<parameters>
7963<parameter name="layout">
7964<parameter_description> a #PangoLayout
7965</parameter_description>
7966</parameter>
7967<parameter name="index_">
7968<parameter_description> the byte index of the cursor
7969</parameter_description>
7970</parameter>
7971<parameter name="strong_pos">
7972<parameter_description> location to store the strong cursor position
7973(may be %NULL)
7974</parameter_description>
7975</parameter>
7976<parameter name="weak_pos">
7977<parameter_description> location to store the weak cursor position (may be %NULL)
7978</parameter_description>
7979</parameter>
7980</parameters>
7981<return></return>
7982</function>
7983
7984<function name="pango_layout_get_ellipsize">
7985<description>
7986Gets the type of ellipsization being performed for @layout.
7987See pango_layout_set_ellipsize()
7988
7989Since: 1.6
7990
7991</description>
7992<parameters>
7993<parameter name="layout">
7994<parameter_description> a #PangoLayout
7995</parameter_description>
7996</parameter>
7997</parameters>
7998<return> the current ellipsization mode for @layout.
7999
8000Use pango_layout_is_ellipsized() to query whether any paragraphs
8001were actually ellipsized.
8002
8003</return>
8004</function>
8005
8006<function name="pango_layout_get_extents">
8007<description>
8008Computes the logical and ink extents of @layout. Logical extents
8009are usually what you want for positioning things.  Note that both extents
8010may have non-zero x and y.  You may want to use those to offset where you
8011render the layout.  Not doing that is a very typical bug that shows up as
8012right-to-left layouts not being correctly positioned in a layout with
8013a set width.
8014
8015The extents are given in layout coordinates and in Pango units; layout
8016coordinates begin at the top left corner of the layout.
8017
8018</description>
8019<parameters>
8020<parameter name="layout">
8021<parameter_description>   a #PangoLayout
8022</parameter_description>
8023</parameter>
8024<parameter name="ink_rect">
8025<parameter_description> rectangle used to store the extents of the
8026layout as drawn or %NULL to indicate that the result is
8027not needed.
8028</parameter_description>
8029</parameter>
8030<parameter name="logical_rect">
8031<parameter_description>rectangle used to store the logical
8032extents of the layout or %NULL to indicate that the
8033result is not needed.
8034</parameter_description>
8035</parameter>
8036</parameters>
8037<return></return>
8038</function>
8039
8040<function name="pango_layout_get_font_description">
8041<description>
8042Gets the font description for the layout, if any.
8043
8044Since: 1.8
8045
8046</description>
8047<parameters>
8048<parameter name="layout">
8049<parameter_description> a #PangoLayout
8050</parameter_description>
8051</parameter>
8052</parameters>
8053<return> a pointer to the layout's font
8054description, or %NULL if the font description from the layout's
8055context is inherited. This value is owned by the layout and must
8056not be modified or freed.
8057
8058</return>
8059</function>
8060
8061<function name="pango_layout_get_height">
8062<description>
8063Gets the height of layout used for ellipsization.  See
8064pango_layout_set_height() for details.
8065
8066Since: 1.20
8067
8068</description>
8069<parameters>
8070<parameter name="layout">
8071<parameter_description> a #PangoLayout
8072</parameter_description>
8073</parameter>
8074</parameters>
8075<return> the height, in Pango units if positive, or
8076number of lines if negative.
8077
8078</return>
8079</function>
8080
8081<function name="pango_layout_get_indent">
8082<description>
8083Gets the paragraph indent width in Pango units. A negative value
8084indicates a hanging indentation.
8085
8086
8087</description>
8088<parameters>
8089<parameter name="layout">
8090<parameter_description> a #PangoLayout
8091</parameter_description>
8092</parameter>
8093</parameters>
8094<return> the indent in Pango units.
8095</return>
8096</function>
8097
8098<function name="pango_layout_get_iter">
8099<description>
8100Returns an iterator to iterate over the visual extents of the layout.
8101
8102
8103</description>
8104<parameters>
8105<parameter name="layout">
8106<parameter_description> a #PangoLayout
8107</parameter_description>
8108</parameter>
8109</parameters>
8110<return> the new #PangoLayoutIter that should be freed using
8111pango_layout_iter_free().
8112</return>
8113</function>
8114
8115<function name="pango_layout_get_justify">
8116<description>
8117Gets whether each complete line should be stretched to fill the entire
8118width of the layout.
8119
8120
8121</description>
8122<parameters>
8123<parameter name="layout">
8124<parameter_description> a #PangoLayout
8125</parameter_description>
8126</parameter>
8127</parameters>
8128<return> the justify.
8129</return>
8130</function>
8131
8132<function name="pango_layout_get_line">
8133<description>
8134Retrieves a particular line from a #PangoLayout.
8135
8136Use the faster pango_layout_get_line_readonly() if you do not plan
8137to modify the contents of the line (glyphs, glyph widths, etc.).
8138
8139
8140</description>
8141<parameters>
8142<parameter name="layout">
8143<parameter_description> a #PangoLayout
8144</parameter_description>
8145</parameter>
8146<parameter name="line">
8147<parameter_description> the index of a line, which must be between 0 and
8148&lt;literal&gt;pango_layout_get_line_count(layout) - 1&lt;/literal&gt;, inclusive.
8149</parameter_description>
8150</parameter>
8151</parameters>
8152<return> the requested
8153#PangoLayoutLine, or %NULL if the index is out of
8154range. This layout line can be ref'ed and retained,
8155but will become invalid if changes are made to the
8156#PangoLayout.
8157</return>
8158</function>
8159
8160<function name="pango_layout_get_line_count">
8161<description>
8162Retrieves the count of lines for the @layout.
8163
8164
8165</description>
8166<parameters>
8167<parameter name="layout">
8168<parameter_description> #PangoLayout
8169</parameter_description>
8170</parameter>
8171</parameters>
8172<return> the line count.
8173</return>
8174</function>
8175
8176<function name="pango_layout_get_line_readonly">
8177<description>
8178Retrieves a particular line from a #PangoLayout.
8179
8180This is a faster alternative to pango_layout_get_line(),
8181but the user is not expected
8182to modify the contents of the line (glyphs, glyph widths, etc.).
8183
8184Since: 1.16
8185
8186</description>
8187<parameters>
8188<parameter name="layout">
8189<parameter_description> a #PangoLayout
8190</parameter_description>
8191</parameter>
8192<parameter name="line">
8193<parameter_description> the index of a line, which must be between 0 and
8194&lt;literal&gt;pango_layout_get_line_count(layout) - 1&lt;/literal&gt;, inclusive.
8195</parameter_description>
8196</parameter>
8197</parameters>
8198<return> the requested
8199#PangoLayoutLine, or %NULL if the index is out of
8200range. This layout line can be ref'ed and retained,
8201but will become invalid if changes are made to the
8202#PangoLayout.  No changes should be made to the line.
8203
8204</return>
8205</function>
8206
8207<function name="pango_layout_get_lines">
8208<description>
8209Returns the lines of the @layout as a list.
8210
8211Use the faster pango_layout_get_lines_readonly() if you do not plan
8212to modify the contents of the lines (glyphs, glyph widths, etc.).
8213
8214
8215</description>
8216<parameters>
8217<parameter name="layout">
8218<parameter_description> a #PangoLayout
8219</parameter_description>
8220</parameter>
8221</parameters>
8222<return> a #GSList containing
8223the lines in the layout. This points to internal data of the #PangoLayout
8224and must be used with care. It will become invalid on any change to the layout's
8225text or properties.
8226</return>
8227</function>
8228
8229<function name="pango_layout_get_lines_readonly">
8230<description>
8231Returns the lines of the @layout as a list.
8232
8233This is a faster alternative to pango_layout_get_lines(),
8234but the user is not expected
8235to modify the contents of the lines (glyphs, glyph widths, etc.).
8236
8237Since: 1.16
8238
8239</description>
8240<parameters>
8241<parameter name="layout">
8242<parameter_description> a #PangoLayout
8243</parameter_description>
8244</parameter>
8245</parameters>
8246<return> a #GSList containing
8247the lines in the layout. This points to internal data of the #PangoLayout and
8248must be used with care. It will become invalid on any change to the layout's
8249text or properties.  No changes should be made to the lines.
8250
8251</return>
8252</function>
8253
8254<function name="pango_layout_get_log_attrs">
8255<description>
8256Retrieves an array of logical attributes for each character in
8257the @layout.
8258
8259</description>
8260<parameters>
8261<parameter name="layout">
8262<parameter_description> a #PangoLayout
8263</parameter_description>
8264</parameter>
8265<parameter name="attrs">
8266<parameter_description>
8267location to store a pointer to an array of logical attributes
8268This value must be freed with g_free().
8269</parameter_description>
8270</parameter>
8271<parameter name="n_attrs">
8272<parameter_description> location to store the number of the attributes in the
8273array. (The stored value will be one more than the total number
8274of characters in the layout, since there need to be attributes
8275corresponding to both the position before the first character
8276and the position after the last character.)
8277</parameter_description>
8278</parameter>
8279</parameters>
8280<return></return>
8281</function>
8282
8283<function name="pango_layout_get_log_attrs_readonly">
8284<description>
8285Retrieves an array of logical attributes for each character in
8286the @layout.
8287
8288This is a faster alternative to pango_layout_get_log_attrs().
8289The returned array is part of @layout and must not be modified.
8290Modifying the layout will invalidate the returned array.
8291
8292The number of attributes returned in @n_attrs will be one more
8293than the total number of characters in the layout, since there
8294need to be attributes corresponding to both the position before
8295the first character and the position after the last character.
8296
8297Since: 1.30
8298
8299</description>
8300<parameters>
8301<parameter name="layout">
8302<parameter_description> a #PangoLayout
8303</parameter_description>
8304</parameter>
8305<parameter name="n_attrs">
8306<parameter_description> location to store the number of the attributes in
8307the array
8308</parameter_description>
8309</parameter>
8310</parameters>
8311<return> an array of logical attributes
8312
8313</return>
8314</function>
8315
8316<function name="pango_layout_get_pixel_extents">
8317<description>
8318Computes the logical and ink extents of @layout in device units.
8319This function just calls pango_layout_get_extents() followed by
8320two pango_extents_to_pixels() calls, rounding @ink_rect and @logical_rect
8321such that the rounded rectangles fully contain the unrounded one (that is,
8322passes them as first argument to pango_extents_to_pixels()).
8323
8324</description>
8325<parameters>
8326<parameter name="layout">
8327<parameter_description>   a #PangoLayout
8328</parameter_description>
8329</parameter>
8330<parameter name="ink_rect">
8331<parameter_description> rectangle used to store the extents of the
8332layout as drawn or %NULL to indicate that the result is
8333not needed.
8334</parameter_description>
8335</parameter>
8336<parameter name="logical_rect">
8337<parameter_description> rectangle used to store the logical
8338extents of the layout or %NULL to indicate that the
8339result is not needed.
8340</parameter_description>
8341</parameter>
8342</parameters>
8343<return></return>
8344</function>
8345
8346<function name="pango_layout_get_pixel_size">
8347<description>
8348Determines the logical width and height of a #PangoLayout
8349in device units. (pango_layout_get_size() returns the width
8350and height scaled by %PANGO_SCALE.) This
8351is simply a convenience function around
8352pango_layout_get_pixel_extents().
8353
8354</description>
8355<parameters>
8356<parameter name="layout">
8357<parameter_description> a #PangoLayout
8358</parameter_description>
8359</parameter>
8360<parameter name="width">
8361<parameter_description> location to store the logical width, or %NULL
8362</parameter_description>
8363</parameter>
8364<parameter name="height">
8365<parameter_description> location to store the logical height, or %NULL
8366</parameter_description>
8367</parameter>
8368</parameters>
8369<return></return>
8370</function>
8371
8372<function name="pango_layout_get_serial">
8373<description>
8374Returns the current serial number of @layout.  The serial number is
8375initialized to an small number  larger than zero when a new layout
8376is created and is increased whenever the layout is changed using any
8377of the setter functions, or the #PangoContext it uses has changed.
8378The serial may wrap, but will never have the value 0. Since it
8379can wrap, never compare it with &quot;less than&quot;, always use &quot;not equals&quot;.
8380
8381This can be used to automatically detect changes to a #PangoLayout, and
8382is useful for example to decide whether a layout needs redrawing.
8383To force the serial to be increased, use pango_layout_context_changed().
8384
8385Since: 1.32.4
8386
8387</description>
8388<parameters>
8389<parameter name="layout">
8390<parameter_description> a #PangoLayout
8391</parameter_description>
8392</parameter>
8393</parameters>
8394<return> The current serial number of @layout.
8395
8396</return>
8397</function>
8398
8399<function name="pango_layout_get_single_paragraph_mode">
8400<description>
8401Obtains the value set by pango_layout_set_single_paragraph_mode().
8402
8403
8404</description>
8405<parameters>
8406<parameter name="layout">
8407<parameter_description> a #PangoLayout
8408</parameter_description>
8409</parameter>
8410</parameters>
8411<return> %TRUE if the layout does not break paragraphs at
8412paragraph separator characters, %FALSE otherwise.
8413</return>
8414</function>
8415
8416<function name="pango_layout_get_size">
8417<description>
8418Determines the logical width and height of a #PangoLayout
8419in Pango units (device units scaled by %PANGO_SCALE). This
8420is simply a convenience function around pango_layout_get_extents().
8421
8422</description>
8423<parameters>
8424<parameter name="layout">
8425<parameter_description> a #PangoLayout
8426</parameter_description>
8427</parameter>
8428<parameter name="width">
8429<parameter_description> location to store the logical width, or %NULL
8430</parameter_description>
8431</parameter>
8432<parameter name="height">
8433<parameter_description> location to store the logical height, or %NULL
8434</parameter_description>
8435</parameter>
8436</parameters>
8437<return></return>
8438</function>
8439
8440<function name="pango_layout_get_spacing">
8441<description>
8442Gets the amount of spacing between the lines of the layout.
8443
8444
8445</description>
8446<parameters>
8447<parameter name="layout">
8448<parameter_description> a #PangoLayout
8449</parameter_description>
8450</parameter>
8451</parameters>
8452<return> the spacing in Pango units.
8453</return>
8454</function>
8455
8456<function name="pango_layout_get_tabs">
8457<description>
8458Gets the current #PangoTabArray used by this layout. If no
8459#PangoTabArray has been set, then the default tabs are in use
8460and %NULL is returned. Default tabs are every 8 spaces.
8461The return value should be freed with pango_tab_array_free().
8462
8463
8464</description>
8465<parameters>
8466<parameter name="layout">
8467<parameter_description> a #PangoLayout
8468</parameter_description>
8469</parameter>
8470</parameters>
8471<return> a copy of the tabs for this layout, or
8472%NULL.
8473</return>
8474</function>
8475
8476<function name="pango_layout_get_text">
8477<description>
8478Gets the text in the layout. The returned text should not
8479be freed or modified.
8480
8481
8482</description>
8483<parameters>
8484<parameter name="layout">
8485<parameter_description> a #PangoLayout
8486</parameter_description>
8487</parameter>
8488</parameters>
8489<return> the text in the @layout.
8490</return>
8491</function>
8492
8493<function name="pango_layout_get_unknown_glyphs_count">
8494<description>
8495Counts the number unknown glyphs in @layout.  That is, zero if
8496glyphs for all characters in the layout text were found, or more
8497than zero otherwise.
8498
8499This function can be used to determine if there are any fonts
8500available to render all characters in a certain string, or when
8501used in combination with %PANGO_ATTR_FALLBACK, to check if a
8502certain font supports all the characters in the string.
8503
8504Since: 1.16
8505
8506</description>
8507<parameters>
8508<parameter name="layout">
8509<parameter_description> a #PangoLayout
8510</parameter_description>
8511</parameter>
8512</parameters>
8513<return> The number of unknown glyphs in @layout.
8514
8515</return>
8516</function>
8517
8518<function name="pango_layout_get_width">
8519<description>
8520Gets the width to which the lines of the #PangoLayout should wrap.
8521
8522
8523</description>
8524<parameters>
8525<parameter name="layout">
8526<parameter_description> a #PangoLayout
8527</parameter_description>
8528</parameter>
8529</parameters>
8530<return> the width in Pango units, or -1 if no width set.
8531</return>
8532</function>
8533
8534<function name="pango_layout_get_wrap">
8535<description>
8536Gets the wrap mode for the layout.
8537
8538Use pango_layout_is_wrapped() to query whether any paragraphs
8539were actually wrapped.
8540
8541
8542</description>
8543<parameters>
8544<parameter name="layout">
8545<parameter_description> a #PangoLayout
8546</parameter_description>
8547</parameter>
8548</parameters>
8549<return> active wrap mode.
8550</return>
8551</function>
8552
8553<function name="pango_layout_index_to_line_x">
8554<description>
8555Converts from byte @index_ within the @layout to line and X position.
8556(X position is measured from the left edge of the line)
8557
8558</description>
8559<parameters>
8560<parameter name="layout">
8561<parameter_description>    a #PangoLayout
8562</parameter_description>
8563</parameter>
8564<parameter name="index_">
8565<parameter_description>    the byte index of a grapheme within the layout.
8566</parameter_description>
8567</parameter>
8568<parameter name="trailing">
8569<parameter_description>  an integer indicating the edge of the grapheme to retrieve the
8570position of. If &gt; 0, the trailing edge of the grapheme, if 0,
8571the leading of the grapheme.
8572</parameter_description>
8573</parameter>
8574<parameter name="line">
8575<parameter_description> location to store resulting line index. (which will
8576between 0 and pango_layout_get_line_count(layout) - 1), or %NULL
8577</parameter_description>
8578</parameter>
8579<parameter name="x_pos">
8580<parameter_description> location to store resulting position within line
8581(%PANGO_SCALE units per device unit), or %NULL
8582</parameter_description>
8583</parameter>
8584</parameters>
8585<return></return>
8586</function>
8587
8588<function name="pango_layout_index_to_pos">
8589<description>
8590Converts from an index within a #PangoLayout to the onscreen position
8591corresponding to the grapheme at that index, which is represented
8592as rectangle.  Note that &lt;literal&gt;pos-&gt;x&lt;/literal&gt; is always the leading
8593edge of the grapheme and &lt;literal&gt;pos-&gt;x + pos-&gt;width&lt;/literal&gt; the trailing
8594edge of the grapheme. If the directionality of the grapheme is right-to-left,
8595then &lt;literal&gt;pos-&gt;width&lt;/literal&gt; will be negative.
8596
8597</description>
8598<parameters>
8599<parameter name="layout">
8600<parameter_description> a #PangoLayout
8601</parameter_description>
8602</parameter>
8603<parameter name="index_">
8604<parameter_description> byte index within @layout
8605</parameter_description>
8606</parameter>
8607<parameter name="pos">
8608<parameter_description> rectangle in which to store the position of the grapheme
8609</parameter_description>
8610</parameter>
8611</parameters>
8612<return></return>
8613</function>
8614
8615<function name="pango_layout_is_ellipsized">
8616<description>
8617Queries whether the layout had to ellipsize any paragraphs.
8618
8619This returns %TRUE if the ellipsization mode for @layout
8620is not %PANGO_ELLIPSIZE_NONE, a positive width is set on @layout,
8621and there are paragraphs exceeding that width that have to be
8622ellipsized.
8623
8624Since: 1.16
8625
8626</description>
8627<parameters>
8628<parameter name="layout">
8629<parameter_description> a #PangoLayout
8630</parameter_description>
8631</parameter>
8632</parameters>
8633<return> %TRUE if any paragraphs had to be ellipsized, %FALSE
8634otherwise.
8635
8636</return>
8637</function>
8638
8639<function name="pango_layout_is_wrapped">
8640<description>
8641Queries whether the layout had to wrap any paragraphs.
8642
8643This returns %TRUE if a positive width is set on @layout,
8644ellipsization mode of @layout is set to %PANGO_ELLIPSIZE_NONE,
8645and there are paragraphs exceeding the layout width that have
8646to be wrapped.
8647
8648Since: 1.16
8649
8650</description>
8651<parameters>
8652<parameter name="layout">
8653<parameter_description> a #PangoLayout
8654</parameter_description>
8655</parameter>
8656</parameters>
8657<return> %TRUE if any paragraphs had to be wrapped, %FALSE
8658otherwise.
8659
8660</return>
8661</function>
8662
8663<function name="pango_layout_iter_at_last_line">
8664<description>
8665Determines whether @iter is on the last line of the layout.
8666
8667
8668</description>
8669<parameters>
8670<parameter name="iter">
8671<parameter_description> a #PangoLayoutIter
8672</parameter_description>
8673</parameter>
8674</parameters>
8675<return> %TRUE if @iter is on the last line.
8676</return>
8677</function>
8678
8679<function name="pango_layout_iter_copy">
8680<description>
8681Copies a #PangoLayoutIter.
8682
8683Since: 1.20
8684
8685</description>
8686<parameters>
8687<parameter name="iter">
8688<parameter_description> a #PangoLayoutIter, may be %NULL
8689</parameter_description>
8690</parameter>
8691</parameters>
8692<return> the newly allocated #PangoLayoutIter,
8693which should be freed with pango_layout_iter_free(),
8694or %NULL if @iter was %NULL.
8695
8696</return>
8697</function>
8698
8699<function name="pango_layout_iter_free">
8700<description>
8701Frees an iterator that's no longer in use.
8702
8703</description>
8704<parameters>
8705<parameter name="iter">
8706<parameter_description> a #PangoLayoutIter, may be %NULL
8707</parameter_description>
8708</parameter>
8709</parameters>
8710<return></return>
8711</function>
8712
8713<function name="pango_layout_iter_get_baseline">
8714<description>
8715Gets the Y position of the current line's baseline, in layout
8716coordinates (origin at top left of the entire layout).
8717
8718
8719</description>
8720<parameters>
8721<parameter name="iter">
8722<parameter_description> a #PangoLayoutIter
8723</parameter_description>
8724</parameter>
8725</parameters>
8726<return> baseline of current line.
8727</return>
8728</function>
8729
8730<function name="pango_layout_iter_get_char_extents">
8731<description>
8732Gets the extents of the current character, in layout coordinates
8733(origin is the top left of the entire layout). Only logical extents
8734can sensibly be obtained for characters; ink extents make sense only
8735down to the level of clusters.
8736
8737
8738</description>
8739<parameters>
8740<parameter name="iter">
8741<parameter_description> a #PangoLayoutIter
8742</parameter_description>
8743</parameter>
8744<parameter name="logical_rect">
8745<parameter_description> rectangle to fill with
8746logical extents
8747</parameter_description>
8748</parameter>
8749</parameters>
8750<return></return>
8751</function>
8752
8753<function name="pango_layout_iter_get_cluster_extents">
8754<description>
8755Gets the extents of the current cluster, in layout coordinates
8756(origin is the top left of the entire layout).
8757
8758
8759</description>
8760<parameters>
8761<parameter name="iter">
8762<parameter_description> a #PangoLayoutIter
8763</parameter_description>
8764</parameter>
8765<parameter name="ink_rect">
8766<parameter_description> rectangle to fill with ink extents, or %NULL
8767</parameter_description>
8768</parameter>
8769<parameter name="logical_rect">
8770<parameter_description> rectangle to fill with logical extents, or %NULL
8771</parameter_description>
8772</parameter>
8773</parameters>
8774<return></return>
8775</function>
8776
8777<function name="pango_layout_iter_get_index">
8778<description>
8779Gets the current byte index. Note that iterating forward by char
8780moves in visual order, not logical order, so indexes may not be
8781sequential. Also, the index may be equal to the length of the text
8782in the layout, if on the %NULL run (see pango_layout_iter_get_run()).
8783
8784
8785</description>
8786<parameters>
8787<parameter name="iter">
8788<parameter_description> a #PangoLayoutIter
8789</parameter_description>
8790</parameter>
8791</parameters>
8792<return> current byte index.
8793</return>
8794</function>
8795
8796<function name="pango_layout_iter_get_layout">
8797<description>
8798Gets the layout associated with a #PangoLayoutIter.
8799
8800Since: 1.20
8801
8802</description>
8803<parameters>
8804<parameter name="iter">
8805<parameter_description> a #PangoLayoutIter
8806</parameter_description>
8807</parameter>
8808</parameters>
8809<return> the layout associated with @iter.
8810
8811</return>
8812</function>
8813
8814<function name="pango_layout_iter_get_layout_extents">
8815<description>
8816Obtains the extents of the #PangoLayout being iterated
8817over. @ink_rect or @logical_rect can be %NULL if you
8818aren't interested in them.
8819
8820
8821</description>
8822<parameters>
8823<parameter name="iter">
8824<parameter_description> a #PangoLayoutIter
8825</parameter_description>
8826</parameter>
8827<parameter name="ink_rect">
8828<parameter_description> rectangle to fill with ink extents,
8829or %NULL
8830</parameter_description>
8831</parameter>
8832<parameter name="logical_rect">
8833<parameter_description> rectangle to fill with logical
8834extents, or %NULL
8835</parameter_description>
8836</parameter>
8837</parameters>
8838<return></return>
8839</function>
8840
8841<function name="pango_layout_iter_get_line">
8842<description>
8843Gets the current line.
8844
8845Use the faster pango_layout_iter_get_line_readonly() if you do not plan
8846to modify the contents of the line (glyphs, glyph widths, etc.).
8847
8848
8849</description>
8850<parameters>
8851<parameter name="iter">
8852<parameter_description> a #PangoLayoutIter
8853</parameter_description>
8854</parameter>
8855</parameters>
8856<return> the current line.
8857</return>
8858</function>
8859
8860<function name="pango_layout_iter_get_line_extents">
8861<description>
8862Obtains the extents of the current line. @ink_rect or @logical_rect
8863can be %NULL if you aren't interested in them. Extents are in layout
8864coordinates (origin is the top-left corner of the entire
8865#PangoLayout).  Thus the extents returned by this function will be
8866the same width/height but not at the same x/y as the extents
8867returned from pango_layout_line_get_extents().
8868
8869
8870</description>
8871<parameters>
8872<parameter name="iter">
8873<parameter_description> a #PangoLayoutIter
8874</parameter_description>
8875</parameter>
8876<parameter name="ink_rect">
8877<parameter_description> rectangle to fill with ink extents, or %NULL
8878</parameter_description>
8879</parameter>
8880<parameter name="logical_rect">
8881<parameter_description> rectangle to fill with logical extents, or %NULL
8882</parameter_description>
8883</parameter>
8884</parameters>
8885<return></return>
8886</function>
8887
8888<function name="pango_layout_iter_get_line_readonly">
8889<description>
8890Gets the current line for read-only access.
8891
8892This is a faster alternative to pango_layout_iter_get_line(),
8893but the user is not expected
8894to modify the contents of the line (glyphs, glyph widths, etc.).
8895
8896Since: 1.16
8897
8898</description>
8899<parameters>
8900<parameter name="iter">
8901<parameter_description> a #PangoLayoutIter
8902</parameter_description>
8903</parameter>
8904</parameters>
8905<return> the current line, that should not be
8906modified.
8907
8908</return>
8909</function>
8910
8911<function name="pango_layout_iter_get_line_yrange">
8912<description>
8913Divides the vertical space in the #PangoLayout being iterated over
8914between the lines in the layout, and returns the space belonging to
8915the current line.  A line's range includes the line's logical
8916extents, plus half of the spacing above and below the line, if
8917pango_layout_set_spacing() has been called to set layout spacing.
8918The Y positions are in layout coordinates (origin at top left of the
8919entire layout).
8920
8921
8922</description>
8923<parameters>
8924<parameter name="iter">
8925<parameter_description> a #PangoLayoutIter
8926</parameter_description>
8927</parameter>
8928<parameter name="y0_">
8929<parameter_description> start of line, or %NULL
8930</parameter_description>
8931</parameter>
8932<parameter name="y1_">
8933<parameter_description> end of line, or %NULL
8934</parameter_description>
8935</parameter>
8936</parameters>
8937<return></return>
8938</function>
8939
8940<function name="pango_layout_iter_get_run">
8941<description>
8942Gets the current run. When iterating by run, at the end of each
8943line, there's a position with a %NULL run, so this function can return
8944%NULL. The %NULL run at the end of each line ensures that all lines have
8945at least one run, even lines consisting of only a newline.
8946
8947Use the faster pango_layout_iter_get_run_readonly() if you do not plan
8948to modify the contents of the run (glyphs, glyph widths, etc.).
8949
8950
8951</description>
8952<parameters>
8953<parameter name="iter">
8954<parameter_description> a #PangoLayoutIter
8955</parameter_description>
8956</parameter>
8957</parameters>
8958<return> the current run.
8959</return>
8960</function>
8961
8962<function name="pango_layout_iter_get_run_extents">
8963<description>
8964Gets the extents of the current run in layout coordinates
8965(origin is the top left of the entire layout).
8966
8967
8968</description>
8969<parameters>
8970<parameter name="iter">
8971<parameter_description> a #PangoLayoutIter
8972</parameter_description>
8973</parameter>
8974<parameter name="ink_rect">
8975<parameter_description> rectangle to fill with ink extents, or %NULL
8976</parameter_description>
8977</parameter>
8978<parameter name="logical_rect">
8979<parameter_description> rectangle to fill with logical extents, or %NULL
8980</parameter_description>
8981</parameter>
8982</parameters>
8983<return></return>
8984</function>
8985
8986<function name="pango_layout_iter_get_run_readonly">
8987<description>
8988Gets the current run. When iterating by run, at the end of each
8989line, there's a position with a %NULL run, so this function can return
8990%NULL. The %NULL run at the end of each line ensures that all lines have
8991at least one run, even lines consisting of only a newline.
8992
8993This is a faster alternative to pango_layout_iter_get_run(),
8994but the user is not expected
8995to modify the contents of the run (glyphs, glyph widths, etc.).
8996
8997Since: 1.16
8998
8999</description>
9000<parameters>
9001<parameter name="iter">
9002<parameter_description> a #PangoLayoutIter
9003</parameter_description>
9004</parameter>
9005</parameters>
9006<return> the current run, that
9007should not be modified.
9008
9009</return>
9010</function>
9011
9012<function name="pango_layout_iter_next_char">
9013<description>
9014Moves @iter forward to the next character in visual order. If @iter was already at
9015the end of the layout, returns %FALSE.
9016
9017
9018</description>
9019<parameters>
9020<parameter name="iter">
9021<parameter_description> a #PangoLayoutIter
9022</parameter_description>
9023</parameter>
9024</parameters>
9025<return> whether motion was possible.
9026</return>
9027</function>
9028
9029<function name="pango_layout_iter_next_cluster">
9030<description>
9031Moves @iter forward to the next cluster in visual order. If @iter
9032was already at the end of the layout, returns %FALSE.
9033
9034
9035</description>
9036<parameters>
9037<parameter name="iter">
9038<parameter_description> a #PangoLayoutIter
9039</parameter_description>
9040</parameter>
9041</parameters>
9042<return> whether motion was possible.
9043</return>
9044</function>
9045
9046<function name="pango_layout_iter_next_line">
9047<description>
9048Moves @iter forward to the start of the next line. If @iter is
9049already on the last line, returns %FALSE.
9050
9051
9052</description>
9053<parameters>
9054<parameter name="iter">
9055<parameter_description> a #PangoLayoutIter
9056</parameter_description>
9057</parameter>
9058</parameters>
9059<return> whether motion was possible.
9060</return>
9061</function>
9062
9063<function name="pango_layout_iter_next_run">
9064<description>
9065Moves @iter forward to the next run in visual order. If @iter was
9066already at the end of the layout, returns %FALSE.
9067
9068
9069</description>
9070<parameters>
9071<parameter name="iter">
9072<parameter_description> a #PangoLayoutIter
9073</parameter_description>
9074</parameter>
9075</parameters>
9076<return> whether motion was possible.
9077</return>
9078</function>
9079
9080<function name="pango_layout_line_get_extents">
9081<description>
9082Computes the logical and ink extents of a layout line. See
9083pango_font_get_glyph_extents() for details about the interpretation
9084of the rectangles.
9085
9086</description>
9087<parameters>
9088<parameter name="line">
9089<parameter_description>     a #PangoLayoutLine
9090</parameter_description>
9091</parameter>
9092<parameter name="ink_rect">
9093<parameter_description> rectangle used to store the extents of
9094the glyph string as drawn, or %NULL
9095</parameter_description>
9096</parameter>
9097<parameter name="logical_rect">
9098<parameter_description>rectangle used to store the logical
9099extents of the glyph string, or %NULL
9100</parameter_description>
9101</parameter>
9102</parameters>
9103<return></return>
9104</function>
9105
9106<function name="pango_layout_line_get_pixel_extents">
9107<description>
9108Computes the logical and ink extents of @layout_line in device units.
9109This function just calls pango_layout_line_get_extents() followed by
9110two pango_extents_to_pixels() calls, rounding @ink_rect and @logical_rect
9111such that the rounded rectangles fully contain the unrounded one (that is,
9112passes them as first argument to pango_extents_to_pixels()).
9113
9114</description>
9115<parameters>
9116<parameter name="layout_line">
9117<parameter_description> a #PangoLayoutLine
9118</parameter_description>
9119</parameter>
9120<parameter name="ink_rect">
9121<parameter_description> rectangle used to store the extents of
9122the glyph string as drawn, or %NULL
9123</parameter_description>
9124</parameter>
9125<parameter name="logical_rect">
9126<parameter_description> rectangle used to store the logical
9127extents of the glyph string, or %NULL
9128</parameter_description>
9129</parameter>
9130</parameters>
9131<return></return>
9132</function>
9133
9134<function name="pango_layout_line_get_x_ranges">
9135<description>
9136Gets a list of visual ranges corresponding to a given logical range.
9137This list is not necessarily minimal - there may be consecutive
9138ranges which are adjacent. The ranges will be sorted from left to
9139right. The ranges are with respect to the left edge of the entire
9140layout, not with respect to the line.
9141
9142</description>
9143<parameters>
9144<parameter name="line">
9145<parameter_description>        a #PangoLayoutLine
9146</parameter_description>
9147</parameter>
9148<parameter name="start_index">
9149<parameter_description> Start byte index of the logical range. If this value
9150is less than the start index for the line, then
9151the first range will extend all the way to the leading
9152edge of the layout. Otherwise it will start at the
9153leading edge of the first character.
9154</parameter_description>
9155</parameter>
9156<parameter name="end_index">
9157<parameter_description>   Ending byte index of the logical range. If this value
9158is greater than the end index for the line, then
9159the last range will extend all the way to the trailing
9160edge of the layout. Otherwise, it will end at the
9161trailing edge of the last character.
9162</parameter_description>
9163</parameter>
9164<parameter name="ranges">
9165<parameter_description>
9166location to store a pointer to an array of ranges.
9167The array will be of length &lt;literal&gt;2*n_ranges&lt;/literal&gt;,
9168with each range starting at &lt;literal&gt;(*ranges)[2*n]&lt;/literal&gt;
9169and of width &lt;literal&gt;(*ranges)[2*n + 1] - (*ranges)[2*n]&lt;/literal&gt;.
9170This array must be freed with g_free(). The coordinates are relative
9171to the layout and are in Pango units.
9172</parameter_description>
9173</parameter>
9174<parameter name="n_ranges">
9175<parameter_description> The number of ranges stored in @ranges.
9176</parameter_description>
9177</parameter>
9178</parameters>
9179<return></return>
9180</function>
9181
9182<function name="pango_layout_line_index_to_x">
9183<description>
9184Converts an index within a line to a X position.
9185
9186
9187</description>
9188<parameters>
9189<parameter name="line">
9190<parameter_description>     a #PangoLayoutLine
9191</parameter_description>
9192</parameter>
9193<parameter name="index_">
9194<parameter_description>   byte offset of a grapheme within the layout
9195</parameter_description>
9196</parameter>
9197<parameter name="trailing">
9198<parameter_description> an integer indicating the edge of the grapheme to retrieve
9199the position of. If &gt; 0, the trailing edge of the grapheme,
9200if 0, the leading of the grapheme.
9201</parameter_description>
9202</parameter>
9203<parameter name="x_pos">
9204<parameter_description> location to store the x_offset (in Pango unit)
9205</parameter_description>
9206</parameter>
9207</parameters>
9208<return></return>
9209</function>
9210
9211<function name="pango_layout_line_ref">
9212<description>
9213Increase the reference count of a #PangoLayoutLine by one.
9214
9215Since: 1.10
9216
9217</description>
9218<parameters>
9219<parameter name="line">
9220<parameter_description> a #PangoLayoutLine, may be %NULL
9221</parameter_description>
9222</parameter>
9223</parameters>
9224<return> the line passed in.
9225
9226</return>
9227</function>
9228
9229<function name="pango_layout_line_unref">
9230<description>
9231Decrease the reference count of a #PangoLayoutLine by one.
9232If the result is zero, the line and all associated memory
9233will be freed.
9234
9235</description>
9236<parameters>
9237<parameter name="line">
9238<parameter_description> a #PangoLayoutLine
9239</parameter_description>
9240</parameter>
9241</parameters>
9242<return></return>
9243</function>
9244
9245<function name="pango_layout_line_x_to_index">
9246<description>
9247Converts from x offset to the byte index of the corresponding
9248character within the text of the layout. If @x_pos is outside the line,
9249@index_ and @trailing will point to the very first or very last position
9250in the line. This determination is based on the resolved direction
9251of the paragraph; for example, if the resolved direction is
9252right-to-left, then an X position to the right of the line (after it)
9253results in 0 being stored in @index_ and @trailing. An X position to the
9254left of the line results in @index_ pointing to the (logical) last
9255grapheme in the line and @trailing being set to the number of characters
9256in that grapheme. The reverse is true for a left-to-right line.
9257
9258
9259</description>
9260<parameters>
9261<parameter name="line">
9262<parameter_description>      a #PangoLayoutLine
9263</parameter_description>
9264</parameter>
9265<parameter name="x_pos">
9266<parameter_description>     the X offset (in Pango units)
9267from the left edge of the line.
9268</parameter_description>
9269</parameter>
9270<parameter name="index_">
9271<parameter_description>   location to store calculated byte index for
9272the grapheme in which the user clicked.
9273</parameter_description>
9274</parameter>
9275<parameter name="trailing">
9276<parameter_description> location to store an integer indicating where
9277in the grapheme the user clicked. It will either
9278be zero, or the number of characters in the
9279grapheme. 0 represents the leading edge of the grapheme.
9280</parameter_description>
9281</parameter>
9282</parameters>
9283<return> %FALSE if @x_pos was outside the line, %TRUE if inside
9284</return>
9285</function>
9286
9287<function name="pango_layout_move_cursor_visually">
9288<description>
9289Computes a new cursor position from an old position and
9290a count of positions to move visually. If @direction is positive,
9291then the new strong cursor position will be one position
9292to the right of the old cursor position. If @direction is negative,
9293then the new strong cursor position will be one position
9294to the left of the old cursor position.
9295
9296In the presence of bidirectional text, the correspondence
9297between logical and visual order will depend on the direction
9298of the current run, and there may be jumps when the cursor
9299is moved off of the end of a run.
9300
9301Motion here is in cursor positions, not in characters, so a
9302single call to pango_layout_move_cursor_visually() may move the
9303cursor over multiple characters when multiple characters combine
9304to form a single grapheme.
9305
9306</description>
9307<parameters>
9308<parameter name="layout">
9309<parameter_description>       a #PangoLayout.
9310</parameter_description>
9311</parameter>
9312<parameter name="strong">
9313<parameter_description>       whether the moving cursor is the strong cursor or the
9314weak cursor. The strong cursor is the cursor corresponding
9315to text insertion in the base direction for the layout.
9316</parameter_description>
9317</parameter>
9318<parameter name="old_index">
9319<parameter_description>    the byte index of the grapheme for the old index
9320</parameter_description>
9321</parameter>
9322<parameter name="old_trailing">
9323<parameter_description> if 0, the cursor was at the leading edge of the
9324grapheme indicated by @old_index, if &gt; 0, the cursor
9325was at the trailing edge.
9326</parameter_description>
9327</parameter>
9328<parameter name="direction">
9329<parameter_description>    direction to move cursor. A negative
9330value indicates motion to the left.
9331</parameter_description>
9332</parameter>
9333<parameter name="new_index">
9334<parameter_description> location to store the new cursor byte index. A value of -1
9335indicates that the cursor has been moved off the beginning
9336of the layout. A value of %G_MAXINT indicates that
9337the cursor has been moved off the end of the layout.
9338</parameter_description>
9339</parameter>
9340<parameter name="new_trailing">
9341<parameter_description> number of characters to move forward from the
9342location returned for @new_index to get the position
9343where the cursor should be displayed. This allows
9344distinguishing the position at the beginning of one
9345line from the position at the end of the preceding
9346line. @new_index is always on the line where the
9347cursor should be displayed.
9348</parameter_description>
9349</parameter>
9350</parameters>
9351<return></return>
9352</function>
9353
9354<function name="pango_layout_new">
9355<description>
9356Create a new #PangoLayout object with attributes initialized to
9357default values for a particular #PangoContext.
9358
9359
9360</description>
9361<parameters>
9362<parameter name="context">
9363<parameter_description> a #PangoContext
9364</parameter_description>
9365</parameter>
9366</parameters>
9367<return> the newly allocated #PangoLayout, with a reference
9368count of one, which should be freed with
9369g_object_unref().
9370</return>
9371</function>
9372
9373<function name="pango_layout_set_alignment">
9374<description>
9375Sets the alignment for the layout: how partial lines are
9376positioned within the horizontal space available.
9377
9378</description>
9379<parameters>
9380<parameter name="layout">
9381<parameter_description> a #PangoLayout
9382</parameter_description>
9383</parameter>
9384<parameter name="alignment">
9385<parameter_description> the alignment
9386</parameter_description>
9387</parameter>
9388</parameters>
9389<return></return>
9390</function>
9391
9392<function name="pango_layout_set_attributes">
9393<description>
9394Sets the text attributes for a layout object.
9395References @attrs, so the caller can unref its reference.
9396
9397</description>
9398<parameters>
9399<parameter name="layout">
9400<parameter_description> a #PangoLayout
9401</parameter_description>
9402</parameter>
9403<parameter name="attrs">
9404<parameter_description> a #PangoAttrList, can be %NULL
9405</parameter_description>
9406</parameter>
9407</parameters>
9408<return></return>
9409</function>
9410
9411<function name="pango_layout_set_auto_dir">
9412<description>
9413Sets whether to calculate the bidirectional base direction
9414for the layout according to the contents of the layout;
9415when this flag is on (the default), then paragraphs in
9416   @layout that begin with strong right-to-left characters
9417(Arabic and Hebrew principally), will have right-to-left
9418layout, paragraphs with letters from other scripts will
9419have left-to-right layout. Paragraphs with only neutral
9420characters get their direction from the surrounding paragraphs.
9421
9422When %FALSE, the choice between left-to-right and
9423right-to-left layout is done according to the base direction
9424of the layout's #PangoContext. (See pango_context_set_base_dir()).
9425
9426When the auto-computed direction of a paragraph differs from the
9427base direction of the context, the interpretation of
9428%PANGO_ALIGN_LEFT and %PANGO_ALIGN_RIGHT are swapped.
9429
9430Since: 1.4
9431
9432</description>
9433<parameters>
9434<parameter name="layout">
9435<parameter_description> a #PangoLayout
9436</parameter_description>
9437</parameter>
9438<parameter name="auto_dir">
9439<parameter_description> if %TRUE, compute the bidirectional base direction
9440from the layout's contents.
9441</parameter_description>
9442</parameter>
9443</parameters>
9444<return></return>
9445</function>
9446
9447<function name="pango_layout_set_ellipsize">
9448<description>
9449Sets the type of ellipsization being performed for @layout.
9450Depending on the ellipsization mode @ellipsize text is
9451removed from the start, middle, or end of text so they
9452fit within the width and height of layout set with
9453pango_layout_set_width() and pango_layout_set_height().
9454
9455If the layout contains characters such as newlines that
9456force it to be layed out in multiple paragraphs, then whether
9457each paragraph is ellipsized separately or the entire layout
9458is ellipsized as a whole depends on the set height of the layout.
9459See pango_layout_set_height() for details.
9460
9461Since: 1.6
9462
9463</description>
9464<parameters>
9465<parameter name="layout">
9466<parameter_description> a #PangoLayout
9467</parameter_description>
9468</parameter>
9469<parameter name="ellipsize">
9470<parameter_description> the new ellipsization mode for @layout
9471</parameter_description>
9472</parameter>
9473</parameters>
9474<return></return>
9475</function>
9476
9477<function name="pango_layout_set_font_description">
9478<description>
9479Sets the default font description for the layout. If no font
9480description is set on the layout, the font description from
9481the layout's context is used.
9482
9483</description>
9484<parameters>
9485<parameter name="layout">
9486<parameter_description> a #PangoLayout
9487</parameter_description>
9488</parameter>
9489<parameter name="desc">
9490<parameter_description> the new #PangoFontDescription, or %NULL to unset the
9491current font description
9492</parameter_description>
9493</parameter>
9494</parameters>
9495<return></return>
9496</function>
9497
9498<function name="pango_layout_set_height">
9499<description>
9500Sets the height to which the #PangoLayout should be ellipsized at.  There
9501are two different behaviors, based on whether @height is positive or
9502negative.
9503
9504If @height is positive, it will be the maximum height of the layout.  Only
9505lines would be shown that would fit, and if there is any text omitted,
9506an ellipsis added.  At least one line is included in each paragraph regardless
9507of how small the height value is.  A value of zero will render exactly one
9508line for the entire layout.
9509
9510If @height is negative, it will be the (negative of) maximum number of lines per
9511paragraph.  That is, the total number of lines shown may well be more than
9512this value if the layout contains multiple paragraphs of text.
9513The default value of -1 means that first line of each paragraph is ellipsized.
9514This behvaior may be changed in the future to act per layout instead of per
9515paragraph.  File a bug against pango at &lt;ulink
9516url=&quot;http://bugzilla.gnome.org/&quot;&gt;http://bugzilla.gnome.org/&lt;/ulink&gt; if your
9517code relies on this behavior.
9518
9519Height setting only has effect if a positive width is set on
9520@layout and ellipsization mode of @layout is not %PANGO_ELLIPSIZE_NONE.
9521The behavior is undefined if a height other than -1 is set and
9522ellipsization mode is set to %PANGO_ELLIPSIZE_NONE, and may change in the
9523future.
9524
9525Since: 1.20
9526
9527</description>
9528<parameters>
9529<parameter name="layout">
9530<parameter_description> a #PangoLayout.
9531</parameter_description>
9532</parameter>
9533<parameter name="height">
9534<parameter_description> the desired height of the layout in Pango units if positive,
9535or desired number of lines if negative.
9536</parameter_description>
9537</parameter>
9538</parameters>
9539<return></return>
9540</function>
9541
9542<function name="pango_layout_set_indent">
9543<description>
9544Sets the width in Pango units to indent each paragraph. A negative value
9545of @indent will produce a hanging indentation. That is, the first line will
9546have the full width, and subsequent lines will be indented by the
9547absolute value of @indent.
9548
9549The indent setting is ignored if layout alignment is set to
9550%PANGO_ALIGN_CENTER.
9551
9552</description>
9553<parameters>
9554<parameter name="layout">
9555<parameter_description> a #PangoLayout.
9556</parameter_description>
9557</parameter>
9558<parameter name="indent">
9559<parameter_description> the amount by which to indent.
9560</parameter_description>
9561</parameter>
9562</parameters>
9563<return></return>
9564</function>
9565
9566<function name="pango_layout_set_justify">
9567<description>
9568Sets whether each complete line should be stretched to
9569fill the entire width of the layout. This stretching is typically
9570done by adding whitespace, but for some scripts (such as Arabic),
9571the justification may be done in more complex ways, like extending
9572the characters.
9573
9574Note that this setting is not implemented and so is ignored in Pango
9575older than 1.18.
9576
9577</description>
9578<parameters>
9579<parameter name="layout">
9580<parameter_description> a #PangoLayout
9581</parameter_description>
9582</parameter>
9583<parameter name="justify">
9584<parameter_description> whether the lines in the layout should be justified.
9585</parameter_description>
9586</parameter>
9587</parameters>
9588<return></return>
9589</function>
9590
9591<function name="pango_layout_set_markup">
9592<description>
9593Same as pango_layout_set_markup_with_accel(), but
9594the markup text isn't scanned for accelerators.
9595
9596
9597</description>
9598<parameters>
9599<parameter name="layout">
9600<parameter_description> a #PangoLayout
9601</parameter_description>
9602</parameter>
9603<parameter name="markup">
9604<parameter_description> marked-up text
9605</parameter_description>
9606</parameter>
9607<parameter name="length">
9608<parameter_description> length of marked-up text in bytes, or -1 if @markup is
9609null-terminated
9610</parameter_description>
9611</parameter>
9612</parameters>
9613<return></return>
9614</function>
9615
9616<function name="pango_layout_set_markup_with_accel">
9617<description>
9618Sets the layout text and attribute list from marked-up text (see
9619&lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;markup format&lt;/link&gt;). Replaces
9620the current text and attribute list.
9621
9622If @accel_marker is nonzero, the given character will mark the
9623character following it as an accelerator. For example, @accel_marker
9624might be an ampersand or underscore. All characters marked
9625as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
9626and the first character so marked will be returned in @accel_char.
9627Two @accel_marker characters following each other produce a single
9628literal @accel_marker character.
9629
9630</description>
9631<parameters>
9632<parameter name="layout">
9633<parameter_description> a #PangoLayout
9634</parameter_description>
9635</parameter>
9636<parameter name="markup">
9637<parameter_description> marked-up text
9638(see &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;markup format&lt;/link&gt;)
9639</parameter_description>
9640</parameter>
9641<parameter name="length">
9642<parameter_description> length of marked-up text in bytes, or -1 if @markup is
9643null-terminated
9644</parameter_description>
9645</parameter>
9646<parameter name="accel_marker">
9647<parameter_description> marker for accelerators in the text
9648</parameter_description>
9649</parameter>
9650<parameter name="accel_char">
9651<parameter_description> return location
9652for first located accelerator, or %NULL
9653</parameter_description>
9654</parameter>
9655</parameters>
9656<return></return>
9657</function>
9658
9659<function name="pango_layout_set_single_paragraph_mode">
9660<description>
9661If @setting is %TRUE, do not treat newlines and similar characters
9662as paragraph separators; instead, keep all text in a single paragraph,
9663and display a glyph for paragraph separator characters. Used when
9664you want to allow editing of newlines on a single text line.
9665
9666</description>
9667<parameters>
9668<parameter name="layout">
9669<parameter_description> a #PangoLayout
9670</parameter_description>
9671</parameter>
9672<parameter name="setting">
9673<parameter_description> new setting
9674</parameter_description>
9675</parameter>
9676</parameters>
9677<return></return>
9678</function>
9679
9680<function name="pango_layout_set_spacing">
9681<description>
9682Sets the amount of spacing in Pango unit between the lines of the
9683layout.
9684
9685</description>
9686<parameters>
9687<parameter name="layout">
9688<parameter_description> a #PangoLayout.
9689</parameter_description>
9690</parameter>
9691<parameter name="spacing">
9692<parameter_description> the amount of spacing
9693</parameter_description>
9694</parameter>
9695</parameters>
9696<return></return>
9697</function>
9698
9699<function name="pango_layout_set_tabs">
9700<description>
9701Sets the tabs to use for @layout, overriding the default tabs
9702(by default, tabs are every 8 spaces). If @tabs is %NULL, the default
9703tabs are reinstated. @tabs is copied into the layout; you must
9704free your copy of @tabs yourself.
9705
9706</description>
9707<parameters>
9708<parameter name="layout">
9709<parameter_description> a #PangoLayout
9710</parameter_description>
9711</parameter>
9712<parameter name="tabs">
9713<parameter_description> a #PangoTabArray, or %NULL
9714</parameter_description>
9715</parameter>
9716</parameters>
9717<return></return>
9718</function>
9719
9720<function name="pango_layout_set_text">
9721<description>
9722Sets the text of the layout.
9723
9724Note that if you have used
9725pango_layout_set_markup() or pango_layout_set_markup_with_accel() on
9726@layout before, you may want to call pango_layout_set_attributes() to clear
9727the attributes set on the layout from the markup as this function does not
9728clear attributes.
9729
9730</description>
9731<parameters>
9732<parameter name="layout">
9733<parameter_description> a #PangoLayout
9734</parameter_description>
9735</parameter>
9736<parameter name="text">
9737<parameter_description> a valid UTF-8 string
9738</parameter_description>
9739</parameter>
9740<parameter name="length">
9741<parameter_description> maximum length of @text, in bytes. -1 indicates that
9742the string is nul-terminated and the length should be
9743calculated.  The text will also be truncated on
9744encountering a nul-termination even when @length is
9745positive.
9746</parameter_description>
9747</parameter>
9748</parameters>
9749<return></return>
9750</function>
9751
9752<function name="pango_layout_set_width">
9753<description>
9754Sets the width to which the lines of the #PangoLayout should wrap or
9755ellipsized.  The default value is -1: no width set.
9756
9757</description>
9758<parameters>
9759<parameter name="layout">
9760<parameter_description> a #PangoLayout.
9761</parameter_description>
9762</parameter>
9763<parameter name="width">
9764<parameter_description> the desired width in Pango units, or -1 to indicate that no
9765wrapping or ellipsization should be performed.
9766</parameter_description>
9767</parameter>
9768</parameters>
9769<return></return>
9770</function>
9771
9772<function name="pango_layout_set_wrap">
9773<description>
9774Sets the wrap mode; the wrap mode only has effect if a width
9775is set on the layout with pango_layout_set_width().
9776To turn off wrapping, set the width to -1.
9777
9778</description>
9779<parameters>
9780<parameter name="layout">
9781<parameter_description> a #PangoLayout
9782</parameter_description>
9783</parameter>
9784<parameter name="wrap">
9785<parameter_description> the wrap mode
9786</parameter_description>
9787</parameter>
9788</parameters>
9789<return></return>
9790</function>
9791
9792<function name="pango_layout_xy_to_index">
9793<description>
9794Converts from X and Y position within a layout to the byte
9795index to the character at that logical position. If the
9796Y position is not inside the layout, the closest position is chosen
9797(the position will be clamped inside the layout). If the
9798X position is not within the layout, then the start or the
9799end of the line is chosen as described for pango_layout_line_x_to_index().
9800If either the X or Y positions were not inside the layout, then the
9801function returns %FALSE; on an exact hit, it returns %TRUE.
9802
9803
9804</description>
9805<parameters>
9806<parameter name="layout">
9807<parameter_description>    a #PangoLayout
9808</parameter_description>
9809</parameter>
9810<parameter name="x">
9811<parameter_description>         the X offset (in Pango units)
9812from the left edge of the layout.
9813</parameter_description>
9814</parameter>
9815<parameter name="y">
9816<parameter_description>         the Y offset (in Pango units)
9817from the top edge of the layout
9818</parameter_description>
9819</parameter>
9820<parameter name="index_">
9821<parameter_description>   location to store calculated byte index
9822</parameter_description>
9823</parameter>
9824<parameter name="trailing">
9825<parameter_description> location to store a integer indicating where
9826in the grapheme the user clicked. It will either
9827be zero, or the number of characters in the
9828grapheme. 0 represents the leading edge of the grapheme.
9829</parameter_description>
9830</parameter>
9831</parameters>
9832<return> %TRUE if the coordinates were inside text, %FALSE otherwise.
9833</return>
9834</function>
9835
9836<function name="pango_log2vis_get_embedding_levels">
9837<description>
9838This will return the bidirectional embedding levels of the input paragraph
9839as defined by the Unicode Bidirectional Algorithm available at:
9840
9841http://www.unicode.org/reports/tr9/
9842
9843If the input base direction is a weak direction, the direction of the
9844characters in the text will determine the final resolved direction.
9845
9846Since: 1.4
9847
9848</description>
9849<parameters>
9850<parameter name="text">
9851<parameter_description>      the text to itemize.
9852</parameter_description>
9853</parameter>
9854<parameter name="length">
9855<parameter_description>    the number of bytes (not characters) to process, or -1
9856if @text is nul-terminated and the length should be calculated.
9857</parameter_description>
9858</parameter>
9859<parameter name="pbase_dir">
9860<parameter_description> input base direction, and output resolved direction.
9861</parameter_description>
9862</parameter>
9863</parameters>
9864<return> a newly allocated array of embedding levels, one item per
9865character (not byte), that should be freed using g_free.
9866
9867</return>
9868</function>
9869
9870<function name="pango_lookup_aliases">
9871<description>
9872Look up all user defined aliases for the alias @fontname.
9873The resulting font family names will be stored in @families,
9874and the number of families in @n_families.
9875
9876Deprecated: 1.32: This function is not thread-safe.
9877
9878</description>
9879<parameters>
9880<parameter name="fontname">
9881<parameter_description> an ascii string
9882</parameter_description>
9883</parameter>
9884<parameter name="families">
9885<parameter_description> will be set to an array of font family names.
9886this array is owned by pango and should not be freed.
9887</parameter_description>
9888</parameter>
9889<parameter name="n_families">
9890<parameter_description> will be set to the length of the @families array.
9891</parameter_description>
9892</parameter>
9893</parameters>
9894<return></return>
9895</function>
9896
9897<function name="pango_map_get_engine">
9898<description>
9899Do not use.  Does not do anything.
9900
9901Deprecated: 1.38
9902
9903</description>
9904<parameters>
9905<parameter name="map">
9906<parameter_description> a #PangoMap
9907</parameter_description>
9908</parameter>
9909<parameter name="script">
9910<parameter_description> a #PangoScript
9911</parameter_description>
9912</parameter>
9913</parameters>
9914<return> %NULL.
9915
9916</return>
9917</function>
9918
9919<function name="pango_map_get_engines">
9920<description>
9921Do not use.  Does not do anything.
9922
9923Since: 1.4
9924Deprecated: 1.38
9925
9926</description>
9927<parameters>
9928<parameter name="map">
9929<parameter_description> a #PangoMap
9930</parameter_description>
9931</parameter>
9932<parameter name="script">
9933<parameter_description> a #PangoScript
9934</parameter_description>
9935</parameter>
9936<parameter name="exact_engines">
9937<parameter_description> location to store list of engines that exactly
9938handle this script.
9939</parameter_description>
9940</parameter>
9941<parameter name="fallback_engines">
9942<parameter_description> location to store list of engines that approximately
9943handle this script.
9944</parameter_description>
9945</parameter>
9946</parameters>
9947<return></return>
9948</function>
9949
9950<function name="pango_markup_parser_finish">
9951<description>
9952After feeding a pango markup parser some data with g_markup_parse_context_parse(),
9953use this function to get the list of pango attributes and text out of the
9954markup. This function will not free @context, use g_markup_parse_context_free()
9955to do so.
9956
9957Since: 1.31.0
9958
9959</description>
9960<parameters>
9961<parameter name="context">
9962<parameter_description> A valid parse context that was returned from pango_markup_parser_new()
9963</parameter_description>
9964</parameter>
9965<parameter name="attr_list">
9966<parameter_description> address of return location for a #PangoAttrList, or %NULL
9967</parameter_description>
9968</parameter>
9969<parameter name="text">
9970<parameter_description> address of return location for text with tags stripped, or %NULL
9971</parameter_description>
9972</parameter>
9973<parameter name="accel_char">
9974<parameter_description> address of return location for accelerator char, or %NULL
9975</parameter_description>
9976</parameter>
9977<parameter name="error">
9978<parameter_description> address of return location for errors, or %NULL
9979</parameter_description>
9980</parameter>
9981</parameters>
9982<return> %FALSE if @error is set, otherwise %TRUE
9983
9984</return>
9985</function>
9986
9987<function name="pango_markup_parser_new">
9988<description>
9989Parses marked-up text (see
9990&lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;markup format&lt;/link&gt;) to create
9991a plain-text string and an attribute list.
9992
9993If @accel_marker is nonzero, the given character will mark the
9994character following it as an accelerator. For example, @accel_marker
9995might be an ampersand or underscore. All characters marked
9996as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
9997and the first character so marked will be returned in @accel_char,
9998when calling finish(). Two @accel_marker characters following each
9999other produce a single literal @accel_marker character.
10000
10001To feed markup to the parser, use g_markup_parse_context_parse()
10002on the returned #GMarkupParseContext. When done with feeding markup
10003to the parser, use pango_markup_parser_finish() to get the data out
10004of it, and then use g_markup_parse_context_free() to free it.
10005
10006This function is designed for applications that read pango markup
10007from streams. To simply parse a string containing pango markup,
10008the simpler pango_parse_markup() API is recommended instead.
10009
10010Since: 1.31.0
10011
10012</description>
10013<parameters>
10014<parameter name="accel_marker">
10015<parameter_description> character that precedes an accelerator, or 0 for none
10016</parameter_description>
10017</parameter>
10018</parameters>
10019<return> a #GMarkupParseContext that should be
10020destroyed with g_markup_parse_context_free().
10021
10022</return>
10023</function>
10024
10025<function name="pango_matrix_concat">
10026<description>
10027Changes the transformation represented by @matrix to be the
10028transformation given by first applying transformation
10029given by @new_matrix then applying the original transformation.
10030
10031Since: 1.6
10032
10033</description>
10034<parameters>
10035<parameter name="matrix">
10036<parameter_description> a #PangoMatrix
10037</parameter_description>
10038</parameter>
10039<parameter name="new_matrix">
10040<parameter_description> a #PangoMatrix
10041</parameter_description>
10042</parameter>
10043</parameters>
10044<return></return>
10045</function>
10046
10047<function name="pango_matrix_copy">
10048<description>
10049Copies a #PangoMatrix.
10050
10051Since: 1.6
10052
10053</description>
10054<parameters>
10055<parameter name="matrix">
10056<parameter_description> a #PangoMatrix, may be %NULL
10057</parameter_description>
10058</parameter>
10059</parameters>
10060<return> the newly allocated #PangoMatrix, which
10061should be freed with pango_matrix_free(), or %NULL if
10062@matrix was %NULL.
10063
10064</return>
10065</function>
10066
10067<function name="pango_matrix_free">
10068<description>
10069Free a #PangoMatrix created with pango_matrix_copy().
10070
10071Since: 1.6
10072
10073</description>
10074<parameters>
10075<parameter name="matrix">
10076<parameter_description> a #PangoMatrix, may be %NULL
10077</parameter_description>
10078</parameter>
10079</parameters>
10080<return></return>
10081</function>
10082
10083<function name="pango_matrix_get_font_scale_factor">
10084<description>
10085Returns the scale factor of a matrix on the height of the font.
10086That is, the scale factor in the direction perpendicular to the
10087vector that the X coordinate is mapped to.  If the scale in the X
10088coordinate is needed as well, use pango_matrix_get_font_scale_factors().
10089
10090Since: 1.12
10091
10092</description>
10093<parameters>
10094<parameter name="matrix">
10095<parameter_description> a #PangoMatrix, may be %NULL
10096</parameter_description>
10097</parameter>
10098</parameters>
10099<return> the scale factor of @matrix on the height of the font,
10100or 1.0 if @matrix is %NULL.
10101
10102</return>
10103</function>
10104
10105<function name="pango_matrix_get_font_scale_factors">
10106<description>
10107Calculates the scale factor of a matrix on the width and height of the font.
10108That is, @xscale is the scale factor in the direction of the X coordinate,
10109and @yscale is the scale factor in the direction perpendicular to the
10110vector that the X coordinate is mapped to.
10111
10112Note that output numbers will always be non-negative.
10113
10114Since: 1.38
10115
10116</description>
10117<parameters>
10118<parameter name="matrix">
10119<parameter_description> a #PangoMatrix, or %NULL
10120</parameter_description>
10121</parameter>
10122<parameter name="xscale">
10123<parameter_description> output scale factor in the x direction, or %NULL
10124</parameter_description>
10125</parameter>
10126<parameter name="yscale">
10127<parameter_description> output scale factor perpendicular to the x direction, or %NULL
10128</parameter_description>
10129</parameter>
10130</parameters>
10131<return></return>
10132</function>
10133
10134<function name="pango_matrix_rotate">
10135<description>
10136Changes the transformation represented by @matrix to be the
10137transformation given by first rotating by @degrees degrees
10138counter-clockwise then applying the original transformation.
10139
10140Since: 1.6
10141
10142</description>
10143<parameters>
10144<parameter name="matrix">
10145<parameter_description> a #PangoMatrix
10146</parameter_description>
10147</parameter>
10148<parameter name="degrees">
10149<parameter_description> degrees to rotate counter-clockwise
10150</parameter_description>
10151</parameter>
10152</parameters>
10153<return></return>
10154</function>
10155
10156<function name="pango_matrix_scale">
10157<description>
10158Changes the transformation represented by @matrix to be the
10159transformation given by first scaling by @sx in the X direction
10160and @sy in the Y direction then applying the original
10161transformation.
10162
10163Since: 1.6
10164
10165</description>
10166<parameters>
10167<parameter name="matrix">
10168<parameter_description> a #PangoMatrix
10169</parameter_description>
10170</parameter>
10171<parameter name="scale_x">
10172<parameter_description> amount to scale by in X direction
10173</parameter_description>
10174</parameter>
10175<parameter name="scale_y">
10176<parameter_description> amount to scale by in Y direction
10177</parameter_description>
10178</parameter>
10179</parameters>
10180<return></return>
10181</function>
10182
10183<function name="pango_matrix_transform_distance">
10184<description>
10185Transforms the distance vector (@dx,@dy) by @matrix. This is
10186similar to pango_matrix_transform_point() except that the translation
10187components of the transformation are ignored. The calculation of
10188the returned vector is as follows:
10189
10190&lt;programlisting&gt;
10191dx2 = dx1 * xx + dy1 * xy;
10192dy2 = dx1 * yx + dy1 * yy;
10193&lt;/programlisting&gt;
10194
10195Affine transformations are position invariant, so the same vector
10196always transforms to the same vector. If (@x1,@y1) transforms
10197to (@x2,@y2) then (@x1+@dx1,@y1+@dy1) will transform to
10198(@x1+@dx2,@y1+@dy2) for all values of @x1 and @x2.
10199
10200Since: 1.16
10201
10202</description>
10203<parameters>
10204<parameter name="matrix">
10205<parameter_description> a #PangoMatrix, or %NULL
10206</parameter_description>
10207</parameter>
10208<parameter name="dx">
10209<parameter_description> in/out X component of a distance vector
10210</parameter_description>
10211</parameter>
10212<parameter name="dy">
10213<parameter_description> in/out Y component of a distance vector
10214</parameter_description>
10215</parameter>
10216</parameters>
10217<return></return>
10218</function>
10219
10220<function name="pango_matrix_transform_pixel_rectangle">
10221<description>
10222First transforms the @rect using @matrix, then calculates the bounding box
10223of the transformed rectangle.  The rectangle should be in device units
10224(pixels).
10225
10226This function is useful for example when you want to draw a rotated
10227@PangoLayout to an image buffer, and want to know how large the image
10228should be and how much you should shift the layout when rendering.
10229
10230For better accuracy, you should use pango_matrix_transform_rectangle() on
10231original rectangle in Pango units and convert to pixels afterward
10232using pango_extents_to_pixels()'s first argument.
10233
10234Since: 1.16
10235
10236</description>
10237<parameters>
10238<parameter name="matrix">
10239<parameter_description> a #PangoMatrix, or %NULL
10240</parameter_description>
10241</parameter>
10242<parameter name="rect">
10243<parameter_description> in/out bounding box in device units, or %NULL
10244</parameter_description>
10245</parameter>
10246</parameters>
10247<return></return>
10248</function>
10249
10250<function name="pango_matrix_transform_point">
10251<description>
10252Transforms the point (@x, @y) by @matrix.
10253
10254Since: 1.16
10255
10256</description>
10257<parameters>
10258<parameter name="matrix">
10259<parameter_description> a #PangoMatrix, or %NULL
10260</parameter_description>
10261</parameter>
10262<parameter name="x">
10263<parameter_description> in/out X position
10264</parameter_description>
10265</parameter>
10266<parameter name="y">
10267<parameter_description> in/out Y position
10268</parameter_description>
10269</parameter>
10270</parameters>
10271<return></return>
10272</function>
10273
10274<function name="pango_matrix_transform_rectangle">
10275<description>
10276First transforms @rect using @matrix, then calculates the bounding box
10277of the transformed rectangle.  The rectangle should be in Pango units.
10278
10279This function is useful for example when you want to draw a rotated
10280@PangoLayout to an image buffer, and want to know how large the image
10281should be and how much you should shift the layout when rendering.
10282
10283If you have a rectangle in device units (pixels), use
10284pango_matrix_transform_pixel_rectangle().
10285
10286If you have the rectangle in Pango units and want to convert to
10287transformed pixel bounding box, it is more accurate to transform it first
10288(using this function) and pass the result to pango_extents_to_pixels(),
10289first argument, for an inclusive rounded rectangle.
10290However, there are valid reasons that you may want to convert
10291to pixels first and then transform, for example when the transformed
10292coordinates may overflow in Pango units (large matrix translation for
10293example).
10294
10295Since: 1.16
10296
10297</description>
10298<parameters>
10299<parameter name="matrix">
10300<parameter_description> a #PangoMatrix, or %NULL
10301</parameter_description>
10302</parameter>
10303<parameter name="rect">
10304<parameter_description> in/out bounding box in Pango units, or %NULL
10305</parameter_description>
10306</parameter>
10307</parameters>
10308<return></return>
10309</function>
10310
10311<function name="pango_matrix_translate">
10312<description>
10313Changes the transformation represented by @matrix to be the
10314transformation given by first translating by (@tx, @ty)
10315then applying the original transformation.
10316
10317Since: 1.6
10318
10319</description>
10320<parameters>
10321<parameter name="matrix">
10322<parameter_description> a #PangoMatrix
10323</parameter_description>
10324</parameter>
10325<parameter name="tx">
10326<parameter_description> amount to translate in the X direction
10327</parameter_description>
10328</parameter>
10329<parameter name="ty">
10330<parameter_description> amount to translate in the Y direction
10331</parameter_description>
10332</parameter>
10333</parameters>
10334<return></return>
10335</function>
10336
10337<function name="pango_module_register">
10338<description>
10339Do not use.  Does not do anything.
10340
10341Deprecated: 1.38
10342
10343</description>
10344<parameters>
10345<parameter name="module">
10346<parameter_description> a #PangoIncludedModule
10347</parameter_description>
10348</parameter>
10349</parameters>
10350<return></return>
10351</function>
10352
10353<function name="pango_ot_buffer_add_glyph">
10354<description>
10355Appends a glyph to a #PangoOTBuffer, with @properties identifying which
10356features should be applied on this glyph.  See pango_ot_ruleset_add_feature().
10357
10358Since: 1.4
10359
10360</description>
10361<parameters>
10362<parameter name="buffer">
10363<parameter_description> a #PangoOTBuffer
10364</parameter_description>
10365</parameter>
10366<parameter name="glyph">
10367<parameter_description> the glyph index to add, like a #PangoGlyph
10368</parameter_description>
10369</parameter>
10370<parameter name="properties">
10371<parameter_description> the glyph properties
10372</parameter_description>
10373</parameter>
10374<parameter name="cluster">
10375<parameter_description> the cluster that this glyph belongs to
10376</parameter_description>
10377</parameter>
10378</parameters>
10379<return></return>
10380</function>
10381
10382<function name="pango_ot_buffer_clear">
10383<description>
10384Empties a #PangoOTBuffer, make it ready to add glyphs to.
10385
10386Since: 1.4
10387
10388</description>
10389<parameters>
10390<parameter name="buffer">
10391<parameter_description> a #PangoOTBuffer
10392</parameter_description>
10393</parameter>
10394</parameters>
10395<return></return>
10396</function>
10397
10398<function name="pango_ot_buffer_destroy">
10399<description>
10400Destroys a #PangoOTBuffer and free all associated memory.
10401
10402Since: 1.4
10403
10404</description>
10405<parameters>
10406<parameter name="buffer">
10407<parameter_description> a #PangoOTBuffer
10408</parameter_description>
10409</parameter>
10410</parameters>
10411<return></return>
10412</function>
10413
10414<function name="pango_ot_buffer_get_glyphs">
10415<description>
10416Gets the glyph array contained in a #PangoOTBuffer.  The glyphs are
10417owned by the buffer and should not be freed, and are only valid as long
10418as buffer is not modified.
10419
10420Since: 1.4
10421
10422</description>
10423<parameters>
10424<parameter name="buffer">
10425<parameter_description> a #PangoOTBuffer
10426</parameter_description>
10427</parameter>
10428<parameter name="glyphs">
10429<parameter_description> location to
10430store the array of glyphs, or %NULL
10431</parameter_description>
10432</parameter>
10433<parameter name="n_glyphs">
10434<parameter_description> location to store the number of
10435glyphs, or %NULL
10436</parameter_description>
10437</parameter>
10438</parameters>
10439<return></return>
10440</function>
10441
10442<function name="pango_ot_buffer_new">
10443<description>
10444Creates a new #PangoOTBuffer for the given OpenType font.
10445
10446Since: 1.4
10447
10448</description>
10449<parameters>
10450<parameter name="font">
10451<parameter_description> a #PangoFcFont
10452</parameter_description>
10453</parameter>
10454</parameters>
10455<return> the newly allocated #PangoOTBuffer, which should
10456be freed with pango_ot_buffer_destroy().
10457
10458</return>
10459</function>
10460
10461<function name="pango_ot_buffer_output">
10462<description>
10463Exports the glyphs in a #PangoOTBuffer into a #PangoGlyphString.  This is
10464typically used after the OpenType layout processing is over, to convert the
10465resulting glyphs into a generic Pango glyph string.
10466
10467Since: 1.4
10468
10469</description>
10470<parameters>
10471<parameter name="buffer">
10472<parameter_description> a #PangoOTBuffer
10473</parameter_description>
10474</parameter>
10475<parameter name="glyphs">
10476<parameter_description> a #PangoGlyphString
10477</parameter_description>
10478</parameter>
10479</parameters>
10480<return></return>
10481</function>
10482
10483<function name="pango_ot_buffer_set_rtl">
10484<description>
10485Sets whether glyphs will be rendered right-to-left.  This setting
10486is needed for proper horizontal positioning of right-to-left scripts.
10487
10488Since: 1.4
10489
10490</description>
10491<parameters>
10492<parameter name="buffer">
10493<parameter_description> a #PangoOTBuffer
10494</parameter_description>
10495</parameter>
10496<parameter name="rtl">
10497<parameter_description> %TRUE for right-to-left text
10498</parameter_description>
10499</parameter>
10500</parameters>
10501<return></return>
10502</function>
10503
10504<function name="pango_ot_buffer_set_zero_width_marks">
10505<description>
10506Sets whether characters with a mark class should be forced to zero width.
10507This setting is needed for proper positioning of Arabic accents,
10508but will produce incorrect results with standard OpenType Indic
10509fonts.
10510
10511Since: 1.6
10512
10513</description>
10514<parameters>
10515<parameter name="buffer">
10516<parameter_description> a #PangoOTBuffer
10517</parameter_description>
10518</parameter>
10519<parameter name="zero_width_marks">
10520<parameter_description> %TRUE if characters with a mark class should
10521be forced to zero width.
10522</parameter_description>
10523</parameter>
10524</parameters>
10525<return></return>
10526</function>
10527
10528<function name="pango_ot_info_find_feature">
10529<description>
10530Finds the index of a feature.  If the feature is not found, sets
10531@feature_index to PANGO_OT_NO_FEATURE, which is safe to pass to
10532pango_ot_ruleset_add_feature() and similar functions.
10533
10534In the future, this may set @feature_index to an special value that if used
10535in pango_ot_ruleset_add_feature() will ask Pango to synthesize the
10536requested feature based on Unicode properties and data.  However, this
10537function will still return %FALSE in those cases.  So, users may want to
10538ignore the return value of this function in certain cases.
10539
10540
10541</description>
10542<parameters>
10543<parameter name="info">
10544<parameter_description> a #PangoOTInfo.
10545</parameter_description>
10546</parameter>
10547<parameter name="table_type">
10548<parameter_description> the table type to obtain information about.
10549</parameter_description>
10550</parameter>
10551<parameter name="feature_tag">
10552<parameter_description> the tag of the feature to find.
10553</parameter_description>
10554</parameter>
10555<parameter name="script_index">
10556<parameter_description> the index of the script.
10557</parameter_description>
10558</parameter>
10559<parameter name="language_index">
10560<parameter_description> the index of the language whose features are searched,
10561or %PANGO_OT_DEFAULT_LANGUAGE to use the default language of the script.
10562</parameter_description>
10563</parameter>
10564<parameter name="feature_index">
10565<parameter_description> location to store the index of
10566the feature, or %NULL.
10567</parameter_description>
10568</parameter>
10569</parameters>
10570<return> %TRUE if the feature was found.
10571</return>
10572</function>
10573
10574<function name="pango_ot_info_find_language">
10575<description>
10576Finds the index of a language and its required feature index.
10577If the language is not found, sets @language_index to
10578PANGO_OT_DEFAULT_LANGUAGE and the required feature of the default language
10579system is returned in required_feature_index.  For best compatibility with
10580some fonts, also searches the language system tag 'dflt' before falling
10581back to the default language system, but that is transparent to the user.
10582The user can simply ignore the return value of this function to
10583automatically fall back to the default language system.
10584
10585
10586</description>
10587<parameters>
10588<parameter name="info">
10589<parameter_description> a #PangoOTInfo.
10590</parameter_description>
10591</parameter>
10592<parameter name="table_type">
10593<parameter_description> the table type to obtain information about.
10594</parameter_description>
10595</parameter>
10596<parameter name="script_index">
10597<parameter_description> the index of the script whose languages are searched.
10598</parameter_description>
10599</parameter>
10600<parameter name="language_tag">
10601<parameter_description> the tag of the language to find.
10602</parameter_description>
10603</parameter>
10604<parameter name="language_index">
10605<parameter_description> location to store the index of
10606the language, or %NULL.
10607</parameter_description>
10608</parameter>
10609<parameter name="required_feature_index">
10610<parameter_description> location to store the
10611required feature index of the language, or %NULL.
10612</parameter_description>
10613</parameter>
10614</parameters>
10615<return> %TRUE if the language was found.
10616</return>
10617</function>
10618
10619<function name="pango_ot_info_find_script">
10620<description>
10621Finds the index of a script.  If not found, tries to find the 'DFLT'
10622and then 'dflt' scripts and return the index of that in @script_index.
10623If none of those is found either, %PANGO_OT_NO_SCRIPT is placed in
10624@script_index.
10625
10626All other functions taking an input script_index parameter know
10627how to handle %PANGO_OT_NO_SCRIPT, so one can ignore the return
10628value of this function completely and proceed, to enjoy the automatic
10629fallback to the 'DFLT'/'dflt' script.
10630
10631
10632</description>
10633<parameters>
10634<parameter name="info">
10635<parameter_description> a #PangoOTInfo.
10636</parameter_description>
10637</parameter>
10638<parameter name="table_type">
10639<parameter_description> the table type to obtain information about.
10640</parameter_description>
10641</parameter>
10642<parameter name="script_tag">
10643<parameter_description> the tag of the script to find.
10644</parameter_description>
10645</parameter>
10646<parameter name="script_index">
10647<parameter_description> location to store the index of the
10648script, or %NULL.
10649</parameter_description>
10650</parameter>
10651</parameters>
10652<return> %TRUE if the script was found.
10653</return>
10654</function>
10655
10656<function name="pango_ot_info_get">
10657<description>
10658Returns the #PangoOTInfo structure for the given FreeType font face.
10659
10660Since: 1.2
10661
10662</description>
10663<parameters>
10664<parameter name="face">
10665<parameter_description> a &lt;type&gt;FT_Face&lt;/type&gt;.
10666</parameter_description>
10667</parameter>
10668</parameters>
10669<return> the #PangoOTInfo for @face. This object will have
10670the same lifetime as @face.
10671
10672</return>
10673</function>
10674
10675<function name="pango_ot_info_list_features">
10676<description>
10677Obtains the list of features for the given language of the given script.
10678
10679
10680</description>
10681<parameters>
10682<parameter name="info">
10683<parameter_description> a #PangoOTInfo.
10684</parameter_description>
10685</parameter>
10686<parameter name="table_type">
10687<parameter_description> the table type to obtain information about.
10688</parameter_description>
10689</parameter>
10690<parameter name="tag">
10691<parameter_description> unused parameter.
10692</parameter_description>
10693</parameter>
10694<parameter name="script_index">
10695<parameter_description> the index of the script to obtain information about.
10696</parameter_description>
10697</parameter>
10698<parameter name="language_index">
10699<parameter_description> the index of the language to list features for, or
10700%PANGO_OT_DEFAULT_LANGUAGE, to list features for the default
10701language of the script.
10702</parameter_description>
10703</parameter>
10704</parameters>
10705<return> a newly-allocated zero-terminated array containing the tags of the
10706available features.  Should be freed using g_free().
10707</return>
10708</function>
10709
10710<function name="pango_ot_info_list_languages">
10711<description>
10712Obtains the list of available languages for a given script.
10713
10714
10715</description>
10716<parameters>
10717<parameter name="info">
10718<parameter_description> a #PangoOTInfo.
10719</parameter_description>
10720</parameter>
10721<parameter name="table_type">
10722<parameter_description> the table type to obtain information about.
10723</parameter_description>
10724</parameter>
10725<parameter name="script_index">
10726<parameter_description> the index of the script to list languages for.
10727</parameter_description>
10728</parameter>
10729<parameter name="language_tag">
10730<parameter_description> unused parameter.
10731</parameter_description>
10732</parameter>
10733</parameters>
10734<return> a newly-allocated zero-terminated array containing the tags of the
10735available languages.  Should be freed using g_free().
10736</return>
10737</function>
10738
10739<function name="pango_ot_info_list_scripts">
10740<description>
10741Obtains the list of available scripts.
10742
10743
10744</description>
10745<parameters>
10746<parameter name="info">
10747<parameter_description> a #PangoOTInfo.
10748</parameter_description>
10749</parameter>
10750<parameter name="table_type">
10751<parameter_description> the table type to obtain information about.
10752</parameter_description>
10753</parameter>
10754</parameters>
10755<return> a newly-allocated zero-terminated array containing the tags of the
10756available scripts.  Should be freed using g_free().
10757</return>
10758</function>
10759
10760<function name="pango_ot_ruleset_add_feature">
10761<description>
10762Adds a feature to the ruleset.
10763
10764</description>
10765<parameters>
10766<parameter name="ruleset">
10767<parameter_description> a #PangoOTRuleset.
10768</parameter_description>
10769</parameter>
10770<parameter name="table_type">
10771<parameter_description> the table type to add a feature to.
10772</parameter_description>
10773</parameter>
10774<parameter name="feature_index">
10775<parameter_description> the index of the feature to add.
10776</parameter_description>
10777</parameter>
10778<parameter name="property_bit">
10779<parameter_description> the property bit to use for this feature. Used to identify
10780the glyphs that this feature should be applied to, or
10781%PANGO_OT_ALL_GLYPHS if it should be applied to all glyphs.
10782</parameter_description>
10783</parameter>
10784</parameters>
10785<return></return>
10786</function>
10787
10788<function name="pango_ot_ruleset_description_copy">
10789<description>
10790Creates a copy of @desc, which should be freed with
10791pango_ot_ruleset_description_free(). Primarily used internally
10792by pango_ot_ruleset_get_for_description() to cache rulesets for
10793ruleset descriptions.
10794
10795Since: 1.18
10796
10797</description>
10798<parameters>
10799<parameter name="desc">
10800<parameter_description> ruleset description to copy
10801</parameter_description>
10802</parameter>
10803</parameters>
10804<return> the newly allocated #PangoOTRulesetDescription, which
10805should be freed with pango_ot_ruleset_description_free().
10806
10807</return>
10808</function>
10809
10810<function name="pango_ot_ruleset_description_equal">
10811<description>
10812Compares two ruleset descriptions for equality.
10813Two ruleset descriptions are considered equal if the rulesets
10814they describe are provably identical.  This means that their
10815script, language, and all feature sets should be equal.  For static feature
10816sets, the array addresses are compared directly, while for other
10817features, the list of features is compared one by one.
10818(Two ruleset descriptions may result in identical rulesets
10819being created, but still compare %FALSE.)
10820
10821Since: 1.18
10822
10823</description>
10824<parameters>
10825<parameter name="desc1">
10826<parameter_description> a ruleset description
10827</parameter_description>
10828</parameter>
10829<parameter name="desc2">
10830<parameter_description> a ruleset description
10831</parameter_description>
10832</parameter>
10833</parameters>
10834<return> %TRUE if two ruleset descriptions are identical,
10835%FALSE otherwise.
10836
10837</return>
10838</function>
10839
10840<function name="pango_ot_ruleset_description_free">
10841<description>
10842Frees a ruleset description allocated by
10843pango_ot_ruleset_description_copy().
10844
10845Since: 1.18
10846
10847</description>
10848<parameters>
10849<parameter name="desc">
10850<parameter_description> an allocated #PangoOTRulesetDescription
10851</parameter_description>
10852</parameter>
10853</parameters>
10854<return></return>
10855</function>
10856
10857<function name="pango_ot_ruleset_description_hash">
10858<description>
10859Computes a hash of a #PangoOTRulesetDescription structure suitable
10860to be used, for example, as an argument to g_hash_table_new().
10861
10862Since: 1.18
10863
10864</description>
10865<parameters>
10866<parameter name="desc">
10867<parameter_description> a ruleset description
10868</parameter_description>
10869</parameter>
10870</parameters>
10871<return> the hash value.
10872
10873</return>
10874</function>
10875
10876<function name="pango_ot_ruleset_get_feature_count">
10877<description>
10878Gets the number of GSUB and GPOS features in the ruleset.
10879
10880Since: 1.18
10881
10882</description>
10883<parameters>
10884<parameter name="ruleset">
10885<parameter_description> a #PangoOTRuleset.
10886</parameter_description>
10887</parameter>
10888<parameter name="n_gsub_features">
10889<parameter_description> location to store number of
10890GSUB features, or %NULL.
10891</parameter_description>
10892</parameter>
10893<parameter name="n_gpos_features">
10894<parameter_description> location to store number of
10895GPOS features, or %NULL.
10896</parameter_description>
10897</parameter>
10898</parameters>
10899<return> Total number of features in the @ruleset.
10900
10901</return>
10902</function>
10903
10904<function name="pango_ot_ruleset_get_for_description">
10905<description>
10906Returns a ruleset for the given OpenType info and ruleset
10907description.  Rulesets are created on demand using
10908pango_ot_ruleset_new_from_description().
10909The returned ruleset should not be modified or destroyed.
10910
10911The static feature map members of @desc should be alive as
10912long as @info is.
10913
10914Since: 1.18
10915
10916</description>
10917<parameters>
10918<parameter name="info">
10919<parameter_description> a #PangoOTInfo.
10920</parameter_description>
10921</parameter>
10922<parameter name="desc">
10923<parameter_description> a #PangoOTRulesetDescription.
10924</parameter_description>
10925</parameter>
10926</parameters>
10927<return> the #PangoOTRuleset for @desc. This object will have
10928the same lifetime as @info.
10929
10930</return>
10931</function>
10932
10933<function name="pango_ot_ruleset_maybe_add_feature">
10934<description>
10935This is a convenience function that first tries to find the feature
10936using pango_ot_info_find_feature() and the ruleset script and language
10937passed to pango_ot_ruleset_new_for(),
10938and if the feature is found, adds it to the ruleset.
10939
10940If @ruleset was not created using pango_ot_ruleset_new_for(), this function
10941does nothing.
10942
10943Since: 1.18
10944
10945</description>
10946<parameters>
10947<parameter name="ruleset">
10948<parameter_description> a #PangoOTRuleset.
10949</parameter_description>
10950</parameter>
10951<parameter name="table_type">
10952<parameter_description> the table type to add a feature to.
10953</parameter_description>
10954</parameter>
10955<parameter name="feature_tag">
10956<parameter_description> the tag of the feature to add.
10957</parameter_description>
10958</parameter>
10959<parameter name="property_bit">
10960<parameter_description> the property bit to use for this feature. Used to identify
10961the glyphs that this feature should be applied to, or
10962%PANGO_OT_ALL_GLYPHS if it should be applied to all glyphs.
10963</parameter_description>
10964</parameter>
10965</parameters>
10966<return> %TRUE if the feature was found and added to ruleset,
10967%FALSE otherwise.
10968
10969</return>
10970</function>
10971
10972<function name="pango_ot_ruleset_maybe_add_features">
10973<description>
10974This is a convenience function that
10975for each feature in the feature map array @features
10976converts the feature name to a #PangoOTTag feature tag using PANGO_OT_TAG_MAKE()
10977and calls pango_ot_ruleset_maybe_add_feature() on it.
10978
10979Since: 1.18
10980
10981</description>
10982<parameters>
10983<parameter name="ruleset">
10984<parameter_description> a #PangoOTRuleset.
10985</parameter_description>
10986</parameter>
10987<parameter name="table_type">
10988<parameter_description> the table type to add features to.
10989</parameter_description>
10990</parameter>
10991<parameter name="features">
10992<parameter_description> array of feature name and property bits to add.
10993</parameter_description>
10994</parameter>
10995<parameter name="n_features">
10996<parameter_description> number of feature records in @features array.
10997</parameter_description>
10998</parameter>
10999</parameters>
11000<return> The number of features in @features that were found
11001and added to @ruleset.
11002
11003</return>
11004</function>
11005
11006<function name="pango_ot_ruleset_new">
11007<description>
11008Creates a new #PangoOTRuleset for the given OpenType info.
11009
11010
11011</description>
11012<parameters>
11013<parameter name="info">
11014<parameter_description> a #PangoOTInfo.
11015</parameter_description>
11016</parameter>
11017</parameters>
11018<return> the newly allocated #PangoOTRuleset, which
11019should be freed with g_object_unref().
11020</return>
11021</function>
11022
11023<function name="pango_ot_ruleset_new_for">
11024<description>
11025Creates a new #PangoOTRuleset for the given OpenType info, script, and
11026language.
11027
11028This function is part of a convenience scheme that highly simplifies
11029using a #PangoOTRuleset to represent features for a specific pair of script
11030and language.  So one can use this function passing in the script and
11031language of interest, and later try to add features to the ruleset by just
11032specifying the feature name or tag, without having to deal with finding
11033script, language, or feature indices manually.
11034
11035In excess to what pango_ot_ruleset_new() does, this function will:
11036&lt;itemizedlist&gt;
11037&lt;listitem&gt;
11038Find the #PangoOTTag script and language tags associated with
11039@script and @language using pango_ot_tag_from_script() and
11040pango_ot_tag_from_language(),
11041&lt;/listitem&gt;
11042&lt;listitem&gt;
11043For each of table types %PANGO_OT_TABLE_GSUB and %PANGO_OT_TABLE_GPOS,
11044find the script index of the script tag found and the language
11045system index of the language tag found in that script system, using
11046pango_ot_info_find_script() and pango_ot_info_find_language(),
11047&lt;/listitem&gt;
11048&lt;listitem&gt;
11049For found language-systems, if they have required feature
11050index, add that feature to the ruleset using
11051pango_ot_ruleset_add_feature(),
11052&lt;/listitem&gt;
11053&lt;listitem&gt;
11054Remember found script and language indices for both table types,
11055and use them in future pango_ot_ruleset_maybe_add_feature() and
11056pango_ot_ruleset_maybe_add_features().
11057&lt;/listitem&gt;
11058&lt;/itemizedlist&gt;
11059
11060Because of the way return values of pango_ot_info_find_script() and
11061pango_ot_info_find_language() are ignored, this function automatically
11062finds and uses the 'DFLT' script and the default language-system.
11063
11064Since: 1.18
11065
11066</description>
11067<parameters>
11068<parameter name="info">
11069<parameter_description> a #PangoOTInfo.
11070</parameter_description>
11071</parameter>
11072<parameter name="script">
11073<parameter_description> a #PangoScript.
11074</parameter_description>
11075</parameter>
11076<parameter name="language">
11077<parameter_description> a #PangoLanguage.
11078</parameter_description>
11079</parameter>
11080</parameters>
11081<return> the newly allocated #PangoOTRuleset, which
11082should be freed with g_object_unref().
11083
11084</return>
11085</function>
11086
11087<function name="pango_ot_ruleset_new_from_description">
11088<description>
11089Creates a new #PangoOTRuleset for the given OpenType infor and
11090matching the given ruleset description.
11091
11092This is a convenience function that calls pango_ot_ruleset_new_for() and
11093adds the static GSUB/GPOS features to the resulting ruleset, followed by
11094adding other features to both GSUB and GPOS.
11095
11096The static feature map members of @desc should be alive as
11097long as @info is.
11098
11099Since: 1.18
11100
11101</description>
11102<parameters>
11103<parameter name="info">
11104<parameter_description> a #PangoOTInfo.
11105</parameter_description>
11106</parameter>
11107<parameter name="desc">
11108<parameter_description> a #PangoOTRulesetDescription.
11109</parameter_description>
11110</parameter>
11111</parameters>
11112<return> the newly allocated #PangoOTRuleset, which
11113should be freed with g_object_unref().
11114
11115</return>
11116</function>
11117
11118<function name="pango_ot_ruleset_position">
11119<description>
11120Performs the OpenType GPOS positioning on @buffer using the features
11121in @ruleset
11122
11123Since: 1.4
11124
11125</description>
11126<parameters>
11127<parameter name="ruleset">
11128<parameter_description> a #PangoOTRuleset.
11129</parameter_description>
11130</parameter>
11131<parameter name="buffer">
11132<parameter_description> a #PangoOTBuffer.
11133</parameter_description>
11134</parameter>
11135</parameters>
11136<return></return>
11137</function>
11138
11139<function name="pango_ot_ruleset_substitute">
11140<description>
11141Performs the OpenType GSUB substitution on @buffer using the features
11142in @ruleset
11143
11144Since: 1.4
11145
11146</description>
11147<parameters>
11148<parameter name="ruleset">
11149<parameter_description> a #PangoOTRuleset.
11150</parameter_description>
11151</parameter>
11152<parameter name="buffer">
11153<parameter_description> a #PangoOTBuffer.
11154</parameter_description>
11155</parameter>
11156</parameters>
11157<return></return>
11158</function>
11159
11160<function name="pango_ot_tag_from_language">
11161<description>
11162Finds the OpenType language-system tag best describing @language.
11163
11164Since: 1.18
11165
11166</description>
11167<parameters>
11168<parameter name="language">
11169<parameter_description> A #PangoLanguage, or %NULL
11170</parameter_description>
11171</parameter>
11172</parameters>
11173<return> #PangoOTTag best matching @language or
11174%PANGO_OT_TAG_DEFAULT_LANGUAGE if none found or if @language
11175is %NULL.
11176
11177</return>
11178</function>
11179
11180<function name="pango_ot_tag_from_script">
11181<description>
11182Finds the OpenType script tag corresponding to @script.
11183
11184The %PANGO_SCRIPT_COMMON, %PANGO_SCRIPT_INHERITED, and
11185%PANGO_SCRIPT_UNKNOWN scripts are mapped to the OpenType
11186'DFLT' script tag that is also defined as
11187%PANGO_OT_TAG_DEFAULT_SCRIPT.
11188
11189Note that multiple #PangoScript values may map to the same
11190OpenType script tag.  In particular, %PANGO_SCRIPT_HIRAGANA
11191and %PANGO_SCRIPT_KATAKANA both map to the OT tag 'kana'.
11192
11193Since: 1.18
11194
11195</description>
11196<parameters>
11197<parameter name="script">
11198<parameter_description> A #PangoScript
11199</parameter_description>
11200</parameter>
11201</parameters>
11202<return> #PangoOTTag corresponding to @script or
11203%PANGO_OT_TAG_DEFAULT_SCRIPT if none found.
11204
11205</return>
11206</function>
11207
11208<function name="pango_ot_tag_to_language">
11209<description>
11210Finds a #PangoLanguage corresponding to @language_tag.
11211
11212Since: 1.18
11213
11214</description>
11215<parameters>
11216<parameter name="language_tag">
11217<parameter_description> A #PangoOTTag OpenType language-system tag
11218</parameter_description>
11219</parameter>
11220</parameters>
11221<return> #PangoLanguage best matching @language_tag or
11222#PangoLanguage corresponding to the string &quot;xx&quot; if none found.
11223
11224</return>
11225</function>
11226
11227<function name="pango_ot_tag_to_script">
11228<description>
11229Finds the #PangoScript corresponding to @script_tag.
11230
11231The 'DFLT' script tag is mapped to %PANGO_SCRIPT_COMMON.
11232
11233Note that an OpenType script tag may correspond to multiple
11234#PangoScript values.  In such cases, the #PangoScript value
11235with the smallest value is returned.
11236In particular, %PANGO_SCRIPT_HIRAGANA
11237and %PANGO_SCRIPT_KATAKANA both map to the OT tag 'kana'.
11238This function will return %PANGO_SCRIPT_HIRAGANA for
11239'kana'.
11240
11241Since: 1.18
11242
11243</description>
11244<parameters>
11245<parameter name="script_tag">
11246<parameter_description> A #PangoOTTag OpenType script tag
11247</parameter_description>
11248</parameter>
11249</parameters>
11250<return> #PangoScript corresponding to @script_tag or
11251%PANGO_SCRIPT_UNKNOWN if none found.
11252
11253</return>
11254</function>
11255
11256<function name="pango_parse_enum">
11257<description>
11258Parses an enum type and stores the result in @value.
11259
11260If @str does not match the nick name of any of the possible values for the
11261enum and is not an integer, %FALSE is returned, a warning is issued
11262if @warn is %TRUE, and a
11263string representing the list of possible values is stored in
11264@possible_values.  The list is slash-separated, eg.
11265&quot;none/start/middle/end&quot;.  If failed and @possible_values is not %NULL,
11266returned string should be freed using g_free().
11267
11268Deprecated: 1.38
11269
11270Since: 1.16
11271
11272</description>
11273<parameters>
11274<parameter name="type">
11275<parameter_description> enum type to parse, eg. %PANGO_TYPE_ELLIPSIZE_MODE.
11276</parameter_description>
11277</parameter>
11278<parameter name="str">
11279<parameter_description> string to parse.  May be %NULL.
11280</parameter_description>
11281</parameter>
11282<parameter name="value">
11283<parameter_description> integer to store the result in, or %NULL.
11284</parameter_description>
11285</parameter>
11286<parameter name="warn">
11287<parameter_description> if %TRUE, issue a g_warning() on bad input.
11288</parameter_description>
11289</parameter>
11290<parameter name="possible_values">
11291<parameter_description> place to store list of possible values on failure, or %NULL.
11292</parameter_description>
11293</parameter>
11294</parameters>
11295<return> %TRUE if @str was successfully parsed.
11296
11297</return>
11298</function>
11299
11300<function name="pango_parse_markup">
11301<description>
11302Parses marked-up text (see
11303&lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;markup format&lt;/link&gt;) to create
11304a plain-text string and an attribute list.
11305
11306If @accel_marker is nonzero, the given character will mark the
11307character following it as an accelerator. For example, @accel_marker
11308might be an ampersand or underscore. All characters marked
11309as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
11310and the first character so marked will be returned in @accel_char.
11311Two @accel_marker characters following each other produce a single
11312literal @accel_marker character.
11313
11314To parse a stream of pango markup incrementally, use pango_markup_parser_new().
11315
11316If any error happens, none of the output arguments are touched except
11317for @error.
11318
11319
11320</description>
11321<parameters>
11322<parameter name="markup_text">
11323<parameter_description> markup to parse (see &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;markup format&lt;/link&gt;)
11324</parameter_description>
11325</parameter>
11326<parameter name="length">
11327<parameter_description> length of @markup_text, or -1 if nul-terminated
11328</parameter_description>
11329</parameter>
11330<parameter name="accel_marker">
11331<parameter_description> character that precedes an accelerator, or 0 for none
11332</parameter_description>
11333</parameter>
11334<parameter name="attr_list">
11335<parameter_description> address of return location for a #PangoAttrList, or %NULL
11336</parameter_description>
11337</parameter>
11338<parameter name="text">
11339<parameter_description> address of return location for text with tags stripped, or %NULL
11340</parameter_description>
11341</parameter>
11342<parameter name="accel_char">
11343<parameter_description> address of return location for accelerator char, or %NULL
11344</parameter_description>
11345</parameter>
11346<parameter name="error">
11347<parameter_description> address of return location for errors, or %NULL
11348</parameter_description>
11349</parameter>
11350</parameters>
11351<return> %FALSE if @error is set, otherwise %TRUE
11352</return>
11353</function>
11354
11355<function name="pango_parse_stretch">
11356<description>
11357Parses a font stretch. The allowed values are
11358&quot;ultra_condensed&quot;, &quot;extra_condensed&quot;, &quot;condensed&quot;,
11359&quot;semi_condensed&quot;, &quot;normal&quot;, &quot;semi_expanded&quot;, &quot;expanded&quot;,
11360&quot;extra_expanded&quot; and &quot;ultra_expanded&quot;. Case variations are
11361ignored and the '_' characters may be omitted.
11362
11363
11364</description>
11365<parameters>
11366<parameter name="str">
11367<parameter_description> a string to parse.
11368</parameter_description>
11369</parameter>
11370<parameter name="stretch">
11371<parameter_description> a #PangoStretch to store the
11372result in.
11373</parameter_description>
11374</parameter>
11375<parameter name="warn">
11376<parameter_description> if %TRUE, issue a g_warning() on bad input.
11377</parameter_description>
11378</parameter>
11379</parameters>
11380<return> %TRUE if @str was successfully parsed.
11381</return>
11382</function>
11383
11384<function name="pango_parse_style">
11385<description>
11386Parses a font style. The allowed values are &quot;normal&quot;,
11387&quot;italic&quot; and &quot;oblique&quot;, case variations being
11388ignored.
11389
11390
11391</description>
11392<parameters>
11393<parameter name="str">
11394<parameter_description> a string to parse.
11395</parameter_description>
11396</parameter>
11397<parameter name="style">
11398<parameter_description> a #PangoStyle to store the result
11399in.
11400</parameter_description>
11401</parameter>
11402<parameter name="warn">
11403<parameter_description> if %TRUE, issue a g_warning() on bad input.
11404</parameter_description>
11405</parameter>
11406</parameters>
11407<return> %TRUE if @str was successfully parsed.
11408</return>
11409</function>
11410
11411<function name="pango_parse_variant">
11412<description>
11413Parses a font variant. The allowed values are &quot;normal&quot;
11414and &quot;smallcaps&quot; or &quot;small_caps&quot;, case variations being
11415ignored.
11416
11417
11418</description>
11419<parameters>
11420<parameter name="str">
11421<parameter_description> a string to parse.
11422</parameter_description>
11423</parameter>
11424<parameter name="variant">
11425<parameter_description> a #PangoVariant to store the
11426result in.
11427</parameter_description>
11428</parameter>
11429<parameter name="warn">
11430<parameter_description> if %TRUE, issue a g_warning() on bad input.
11431</parameter_description>
11432</parameter>
11433</parameters>
11434<return> %TRUE if @str was successfully parsed.
11435</return>
11436</function>
11437
11438<function name="pango_parse_weight">
11439<description>
11440Parses a font weight. The allowed values are &quot;heavy&quot;,
11441&quot;ultrabold&quot;, &quot;bold&quot;, &quot;normal&quot;, &quot;light&quot;, &quot;ultraleight&quot;
11442and integers. Case variations are ignored.
11443
11444
11445</description>
11446<parameters>
11447<parameter name="str">
11448<parameter_description> a string to parse.
11449</parameter_description>
11450</parameter>
11451<parameter name="weight">
11452<parameter_description> a #PangoWeight to store the result
11453in.
11454</parameter_description>
11455</parameter>
11456<parameter name="warn">
11457<parameter_description> if %TRUE, issue a g_warning() on bad input.
11458</parameter_description>
11459</parameter>
11460</parameters>
11461<return> %TRUE if @str was successfully parsed.
11462</return>
11463</function>
11464
11465<function name="pango_quantize_line_geometry">
11466<description>
11467Quantizes the thickness and position of a line, typically an
11468underline or strikethrough, to whole device pixels, that is integer
11469multiples of %PANGO_SCALE. The purpose of this function is to avoid
11470such lines looking blurry.
11471
11472Care is taken to make sure @thickness is at least one pixel when this
11473function returns, but returned @position may become zero as a result
11474of rounding.
11475
11476Since: 1.12
11477
11478</description>
11479<parameters>
11480<parameter name="thickness">
11481<parameter_description> pointer to the thickness of a line, in Pango units
11482</parameter_description>
11483</parameter>
11484<parameter name="position">
11485<parameter_description> corresponding position
11486</parameter_description>
11487</parameter>
11488</parameters>
11489<return></return>
11490</function>
11491
11492<function name="pango_read_line">
11493<description>
11494Reads an entire line from a file into a buffer. Lines may
11495be delimited with '\n', '\r', '\n\r', or '\r\n'. The delimiter
11496is not written into the buffer. Text after a '#' character is treated as
11497a comment and skipped. '\' can be used to escape a # character.
11498'\' proceeding a line delimiter combines adjacent lines. A '\' proceeding
11499any other character is ignored and written into the output buffer
11500unmodified.
11501
11502Deprecated: 1.38
11503
11504</description>
11505<parameters>
11506<parameter name="stream">
11507<parameter_description> a stdio stream
11508</parameter_description>
11509</parameter>
11510<parameter name="str">
11511<parameter_description> #GString buffer into which to write the result
11512</parameter_description>
11513</parameter>
11514</parameters>
11515<return> 0 if the stream was already at an %EOF character, otherwise
11516the number of lines read (this is useful for maintaining
11517a line number counter which doesn't combine lines with '\')
11518
11519</return>
11520</function>
11521
11522<function name="pango_renderer_activate">
11523<description>
11524Does initial setup before rendering operations on @renderer.
11525pango_renderer_deactivate() should be called when done drawing.
11526Calls such as pango_renderer_draw_layout() automatically
11527activate the layout before drawing on it. Calls to
11528pango_renderer_activate() and pango_renderer_deactivate() can
11529be nested and the renderer will only be initialized and
11530deinitialized once.
11531
11532Since: 1.8
11533
11534</description>
11535<parameters>
11536<parameter name="renderer">
11537<parameter_description> a #PangoRenderer
11538</parameter_description>
11539</parameter>
11540</parameters>
11541<return></return>
11542</function>
11543
11544<function name="pango_renderer_deactivate">
11545<description>
11546Cleans up after rendering operations on @renderer. See
11547docs for pango_renderer_activate().
11548
11549Since: 1.8
11550
11551</description>
11552<parameters>
11553<parameter name="renderer">
11554<parameter_description> a #PangoRenderer
11555</parameter_description>
11556</parameter>
11557</parameters>
11558<return></return>
11559</function>
11560
11561<function name="pango_renderer_draw_error_underline">
11562<description>
11563Draw a squiggly line that approximately covers the given rectangle
11564in the style of an underline used to indicate a spelling error.
11565(The width of the underline is rounded to an integer number
11566of up/down segments and the resulting rectangle is centered
11567in the original rectangle)
11568
11569This should be called while @renderer is already active.  Use
11570pango_renderer_activate() to activate a renderer.
11571
11572Since: 1.8
11573
11574</description>
11575<parameters>
11576<parameter name="renderer">
11577<parameter_description> a #PangoRenderer
11578</parameter_description>
11579</parameter>
11580<parameter name="x">
11581<parameter_description> X coordinate of underline, in Pango units in user coordinate system
11582</parameter_description>
11583</parameter>
11584<parameter name="y">
11585<parameter_description> Y coordinate of underline, in Pango units in user coordinate system
11586</parameter_description>
11587</parameter>
11588<parameter name="width">
11589<parameter_description> width of underline, in Pango units in user coordinate system
11590</parameter_description>
11591</parameter>
11592<parameter name="height">
11593<parameter_description> height of underline, in Pango units in user coordinate system
11594</parameter_description>
11595</parameter>
11596</parameters>
11597<return></return>
11598</function>
11599
11600<function name="pango_renderer_draw_glyph">
11601<description>
11602Draws a single glyph with coordinates in device space.
11603
11604Since: 1.8
11605
11606</description>
11607<parameters>
11608<parameter name="renderer">
11609<parameter_description> a #PangoRenderer
11610</parameter_description>
11611</parameter>
11612<parameter name="font">
11613<parameter_description> a #PangoFont
11614</parameter_description>
11615</parameter>
11616<parameter name="glyph">
11617<parameter_description> the glyph index of a single glyph
11618</parameter_description>
11619</parameter>
11620<parameter name="x">
11621<parameter_description> X coordinate of left edge of baseline of glyph
11622</parameter_description>
11623</parameter>
11624<parameter name="y">
11625<parameter_description> Y coordinate of left edge of baseline of glyph
11626</parameter_description>
11627</parameter>
11628</parameters>
11629<return></return>
11630</function>
11631
11632<function name="pango_renderer_draw_glyph_item">
11633<description>
11634Draws the glyphs in @glyph_item with the specified #PangoRenderer,
11635embedding the text associated with the glyphs in the output if the
11636output format supports it (PDF for example).
11637
11638Note that @text is the start of the text for layout, which is then
11639indexed by &lt;literal&gt;@glyph_item-&gt;item-&gt;offset&lt;/literal&gt;.
11640
11641If @text is %NULL, this simply calls pango_renderer_draw_glyphs().
11642
11643The default implementation of this method simply falls back to
11644pango_renderer_draw_glyphs().
11645
11646Since: 1.22
11647
11648</description>
11649<parameters>
11650<parameter name="renderer">
11651<parameter_description> a #PangoRenderer
11652</parameter_description>
11653</parameter>
11654<parameter name="text">
11655<parameter_description> the UTF-8 text that @glyph_item refers to, or %NULL
11656</parameter_description>
11657</parameter>
11658<parameter name="glyph_item">
11659<parameter_description> a #PangoGlyphItem
11660</parameter_description>
11661</parameter>
11662<parameter name="x">
11663<parameter_description> X position of left edge of baseline, in user space coordinates
11664in Pango units.
11665</parameter_description>
11666</parameter>
11667<parameter name="y">
11668<parameter_description> Y position of left edge of baseline, in user space coordinates
11669in Pango units.
11670</parameter_description>
11671</parameter>
11672</parameters>
11673<return></return>
11674</function>
11675
11676<function name="pango_renderer_draw_glyphs">
11677<description>
11678Draws the glyphs in @glyphs with the specified #PangoRenderer.
11679
11680Since: 1.8
11681
11682</description>
11683<parameters>
11684<parameter name="renderer">
11685<parameter_description> a #PangoRenderer
11686</parameter_description>
11687</parameter>
11688<parameter name="font">
11689<parameter_description> a #PangoFont
11690</parameter_description>
11691</parameter>
11692<parameter name="glyphs">
11693<parameter_description> a #PangoGlyphString
11694</parameter_description>
11695</parameter>
11696<parameter name="x">
11697<parameter_description> X position of left edge of baseline, in user space coordinates
11698in Pango units.
11699</parameter_description>
11700</parameter>
11701<parameter name="y">
11702<parameter_description> Y position of left edge of baseline, in user space coordinates
11703in Pango units.
11704</parameter_description>
11705</parameter>
11706</parameters>
11707<return></return>
11708</function>
11709
11710<function name="pango_renderer_draw_layout">
11711<description>
11712Draws @layout with the specified #PangoRenderer.
11713
11714Since: 1.8
11715
11716</description>
11717<parameters>
11718<parameter name="renderer">
11719<parameter_description> a #PangoRenderer
11720</parameter_description>
11721</parameter>
11722<parameter name="layout">
11723<parameter_description> a #PangoLayout
11724</parameter_description>
11725</parameter>
11726<parameter name="x">
11727<parameter_description> X position of left edge of baseline, in user space coordinates
11728in Pango units.
11729</parameter_description>
11730</parameter>
11731<parameter name="y">
11732<parameter_description> Y position of left edge of baseline, in user space coordinates
11733in Pango units.
11734</parameter_description>
11735</parameter>
11736</parameters>
11737<return></return>
11738</function>
11739
11740<function name="pango_renderer_draw_layout_line">
11741<description>
11742Draws @line with the specified #PangoRenderer.
11743
11744Since: 1.8
11745
11746</description>
11747<parameters>
11748<parameter name="renderer">
11749<parameter_description> a #PangoRenderer
11750</parameter_description>
11751</parameter>
11752<parameter name="line">
11753<parameter_description> a #PangoLayoutLine
11754</parameter_description>
11755</parameter>
11756<parameter name="x">
11757<parameter_description> X position of left edge of baseline, in user space coordinates
11758in Pango units.
11759</parameter_description>
11760</parameter>
11761<parameter name="y">
11762<parameter_description> Y position of left edge of baseline, in user space coordinates
11763in Pango units.
11764</parameter_description>
11765</parameter>
11766</parameters>
11767<return></return>
11768</function>
11769
11770<function name="pango_renderer_draw_rectangle">
11771<description>
11772Draws an axis-aligned rectangle in user space coordinates with the
11773specified #PangoRenderer.
11774
11775This should be called while @renderer is already active.  Use
11776pango_renderer_activate() to activate a renderer.
11777
11778Since: 1.8
11779
11780</description>
11781<parameters>
11782<parameter name="renderer">
11783<parameter_description> a #PangoRenderer
11784</parameter_description>
11785</parameter>
11786<parameter name="part">
11787<parameter_description> type of object this rectangle is part of
11788</parameter_description>
11789</parameter>
11790<parameter name="x">
11791<parameter_description> X position at which to draw rectangle, in user space coordinates in Pango units
11792</parameter_description>
11793</parameter>
11794<parameter name="y">
11795<parameter_description> Y position at which to draw rectangle, in user space coordinates in Pango units
11796</parameter_description>
11797</parameter>
11798<parameter name="width">
11799<parameter_description> width of rectangle in Pango units in user space coordinates
11800</parameter_description>
11801</parameter>
11802<parameter name="height">
11803<parameter_description> height of rectangle in Pango units in user space coordinates
11804</parameter_description>
11805</parameter>
11806</parameters>
11807<return></return>
11808</function>
11809
11810<function name="pango_renderer_draw_trapezoid">
11811<description>
11812Draws a trapezoid with the parallel sides aligned with the X axis
11813using the given #PangoRenderer; coordinates are in device space.
11814
11815Since: 1.8
11816
11817</description>
11818<parameters>
11819<parameter name="renderer">
11820<parameter_description> a #PangoRenderer
11821</parameter_description>
11822</parameter>
11823<parameter name="part">
11824<parameter_description> type of object this trapezoid is part of
11825</parameter_description>
11826</parameter>
11827<parameter name="y1_">
11828<parameter_description> Y coordinate of top of trapezoid
11829</parameter_description>
11830</parameter>
11831<parameter name="x11">
11832<parameter_description> X coordinate of left end of top of trapezoid
11833</parameter_description>
11834</parameter>
11835<parameter name="x21">
11836<parameter_description> X coordinate of right end of top of trapezoid
11837</parameter_description>
11838</parameter>
11839<parameter name="y2">
11840<parameter_description> Y coordinate of bottom of trapezoid
11841</parameter_description>
11842</parameter>
11843<parameter name="x12">
11844<parameter_description> X coordinate of left end of bottom of trapezoid
11845</parameter_description>
11846</parameter>
11847<parameter name="x22">
11848<parameter_description> X coordinate of right end of bottom of trapezoid
11849</parameter_description>
11850</parameter>
11851</parameters>
11852<return></return>
11853</function>
11854
11855<function name="pango_renderer_get_alpha">
11856<description>
11857Gets the current alpha for the specified part.
11858
11859Since: 1.38
11860
11861</description>
11862<parameters>
11863<parameter name="renderer">
11864<parameter_description> a #PangoRenderer
11865</parameter_description>
11866</parameter>
11867<parameter name="part">
11868<parameter_description> the part to get the alpha for
11869</parameter_description>
11870</parameter>
11871</parameters>
11872<return> the alpha for the specified part,
11873or 0 if it hasn't been set and should be
11874inherited from the environment.
11875
11876</return>
11877</function>
11878
11879<function name="pango_renderer_get_color">
11880<description>
11881Gets the current rendering color for the specified part.
11882
11883Since: 1.8
11884
11885</description>
11886<parameters>
11887<parameter name="renderer">
11888<parameter_description> a #PangoRenderer
11889</parameter_description>
11890</parameter>
11891<parameter name="part">
11892<parameter_description> the part to get the color for
11893</parameter_description>
11894</parameter>
11895</parameters>
11896<return> the color for the
11897specified part, or %NULL if it hasn't been set and should be
11898inherited from the environment.
11899
11900</return>
11901</function>
11902
11903<function name="pango_renderer_get_layout">
11904<description>
11905Gets the layout currently being rendered using @renderer.
11906Calling this function only makes sense from inside a subclass's
11907methods, like in its draw_shape&lt;!----&gt;() for example.
11908
11909The returned layout should not be modified while still being
11910rendered.
11911
11912Since: 1.20
11913
11914</description>
11915<parameters>
11916<parameter name="renderer">
11917<parameter_description> a #PangoRenderer
11918</parameter_description>
11919</parameter>
11920</parameters>
11921<return> the layout, or %NULL if
11922no layout is being rendered using @renderer at this time.
11923
11924</return>
11925</function>
11926
11927<function name="pango_renderer_get_layout_line">
11928<description>
11929Gets the layout line currently being rendered using @renderer.
11930Calling this function only makes sense from inside a subclass's
11931methods, like in its draw_shape&lt;!----&gt;() for example.
11932
11933The returned layout line should not be modified while still being
11934rendered.
11935
11936Since: 1.20
11937
11938</description>
11939<parameters>
11940<parameter name="renderer">
11941<parameter_description> a #PangoRenderer
11942</parameter_description>
11943</parameter>
11944</parameters>
11945<return> the layout line, or %NULL
11946if no layout line is being rendered using @renderer at this time.
11947
11948</return>
11949</function>
11950
11951<function name="pango_renderer_get_matrix">
11952<description>
11953Gets the transformation matrix that will be applied when
11954rendering. See pango_renderer_set_matrix().
11955
11956Since: 1.8
11957
11958</description>
11959<parameters>
11960<parameter name="renderer">
11961<parameter_description> a #PangoRenderer
11962</parameter_description>
11963</parameter>
11964</parameters>
11965<return> the matrix, or %NULL if no matrix has
11966been set (which is the same as the identity matrix). The returned
11967matrix is owned by Pango and must not be modified or freed.
11968
11969</return>
11970</function>
11971
11972<function name="pango_renderer_part_changed">
11973<description>
11974Informs Pango that the way that the rendering is done
11975for @part has changed in a way that would prevent multiple
11976pieces being joined together into one drawing call. For
11977instance, if a subclass of #PangoRenderer was to add a stipple
11978option for drawing underlines, it needs to call
11979
11980&lt;informalexample&gt;&lt;programlisting&gt;
11981pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE);
11982&lt;/programlisting&gt;&lt;/informalexample&gt;
11983
11984When the stipple changes or underlines with different stipples
11985might be joined together. Pango automatically calls this for
11986changes to colors. (See pango_renderer_set_color())
11987
11988Since: 1.8
11989
11990</description>
11991<parameters>
11992<parameter name="renderer">
11993<parameter_description> a #PangoRenderer
11994</parameter_description>
11995</parameter>
11996<parameter name="part">
11997<parameter_description> the part for which rendering has changed.
11998</parameter_description>
11999</parameter>
12000</parameters>
12001<return></return>
12002</function>
12003
12004<function name="pango_renderer_prepare_run">
12005<description>
12006Set up the state of the #PangoRenderer for rendering @run.
12007
12008Since: 1.8
12009
12010</description>
12011<parameters>
12012<parameter name="renderer">
12013<parameter_description> a #PangoRenderer
12014</parameter_description>
12015</parameter>
12016<parameter name="run">
12017<parameter_description> a #PangoLayoutRun
12018</parameter_description>
12019</parameter>
12020</parameters>
12021<return></return>
12022</function>
12023
12024<function name="pango_renderer_set_alpha">
12025<description>
12026Sets the alpha for part of the rendering.
12027Note that the alpha may only be used if a color is
12028specified for @part as well.
12029
12030Since: 1.38
12031
12032</description>
12033<parameters>
12034<parameter name="renderer">
12035<parameter_description> a #PangoRenderer
12036</parameter_description>
12037</parameter>
12038<parameter name="part">
12039<parameter_description> the part to set the alpha for
12040</parameter_description>
12041</parameter>
12042<parameter name="alpha">
12043<parameter_description> an alpha value between 1 and 65536, or 0 to unset the alpha
12044</parameter_description>
12045</parameter>
12046</parameters>
12047<return></return>
12048</function>
12049
12050<function name="pango_renderer_set_color">
12051<description>
12052Sets the color for part of the rendering.
12053Also see pango_renderer_set_alpha().
12054
12055Since: 1.8
12056
12057</description>
12058<parameters>
12059<parameter name="renderer">
12060<parameter_description> a #PangoRenderer
12061</parameter_description>
12062</parameter>
12063<parameter name="part">
12064<parameter_description> the part to change the color of
12065</parameter_description>
12066</parameter>
12067<parameter name="color">
12068<parameter_description> the new color or %NULL to unset the current color
12069</parameter_description>
12070</parameter>
12071</parameters>
12072<return></return>
12073</function>
12074
12075<function name="pango_renderer_set_matrix">
12076<description>
12077Sets the transformation matrix that will be applied when rendering.
12078
12079Since: 1.8
12080
12081</description>
12082<parameters>
12083<parameter name="renderer">
12084<parameter_description> a #PangoRenderer
12085</parameter_description>
12086</parameter>
12087<parameter name="matrix">
12088<parameter_description> a #PangoMatrix, or %NULL to unset any existing matrix.
12089(No matrix set is the same as setting the identity matrix.)
12090</parameter_description>
12091</parameter>
12092</parameters>
12093<return></return>
12094</function>
12095
12096<function name="pango_reorder_items">
12097<description>
12098From a list of items in logical order and the associated
12099directional levels, produce a list in visual order.
12100The original list is unmodified.
12101
12102
12103</description>
12104<parameters>
12105<parameter name="logical_items">
12106<parameter_description> a #GList of #PangoItem in logical order.
12107</parameter_description>
12108</parameter>
12109</parameters>
12110<return> a #GList
12111of #PangoItem structures in visual order.
12112
12113(Please open a bug if you use this function.
12114It is not a particularly convenient interface, and the code
12115is duplicated elsewhere in Pango for that reason.)
12116</return>
12117</function>
12118
12119<function name="pango_scan_int">
12120<description>
12121Scans an integer.
12122Leading white space is skipped.
12123
12124Deprecated: 1.38
12125
12126</description>
12127<parameters>
12128<parameter name="pos">
12129<parameter_description> in/out string position
12130</parameter_description>
12131</parameter>
12132<parameter name="out">
12133<parameter_description> an int into which to write the result
12134</parameter_description>
12135</parameter>
12136</parameters>
12137<return> %FALSE if a parse error occurred.
12138
12139</return>
12140</function>
12141
12142<function name="pango_scan_string">
12143<description>
12144Scans a string into a #GString buffer. The string may either
12145be a sequence of non-white-space characters, or a quoted
12146string with '&quot;'. Instead a quoted string, '\&quot;' represents
12147a literal quote. Leading white space outside of quotes is skipped.
12148
12149Deprecated: 1.38
12150
12151</description>
12152<parameters>
12153<parameter name="pos">
12154<parameter_description> in/out string position
12155</parameter_description>
12156</parameter>
12157<parameter name="out">
12158<parameter_description> a #GString into which to write the result
12159</parameter_description>
12160</parameter>
12161</parameters>
12162<return> %FALSE if a parse error occurred.
12163
12164</return>
12165</function>
12166
12167<function name="pango_scan_word">
12168<description>
12169Scans a word into a #GString buffer. A word consists
12170of [A-Za-z_] followed by zero or more [A-Za-z_0-9]
12171Leading white space is skipped.
12172
12173Deprecated: 1.38
12174
12175</description>
12176<parameters>
12177<parameter name="pos">
12178<parameter_description> in/out string position
12179</parameter_description>
12180</parameter>
12181<parameter name="out">
12182<parameter_description> a #GString into which to write the result
12183</parameter_description>
12184</parameter>
12185</parameters>
12186<return> %FALSE if a parse error occurred.
12187
12188</return>
12189</function>
12190
12191<function name="pango_script_for_unichar">
12192<description>
12193Looks up the #PangoScript for a particular character (as defined by
12194Unicode Standard Annex \#24). No check is made for @ch being a
12195valid Unicode character; if you pass in invalid character, the
12196result is undefined.
12197
12198As of Pango 1.18, this function simply returns the return value of
12199g_unichar_get_script().
12200
12201Since: 1.4
12202
12203</description>
12204<parameters>
12205<parameter name="ch">
12206<parameter_description> a Unicode character
12207</parameter_description>
12208</parameter>
12209</parameters>
12210<return> the #PangoScript for the character.
12211
12212</return>
12213</function>
12214
12215<function name="pango_script_get_sample_language">
12216<description>
12217Given a script, finds a language tag that is reasonably
12218representative of that script. This will usually be the
12219most widely spoken or used language written in that script:
12220for instance, the sample language for %PANGO_SCRIPT_CYRILLIC
12221is &lt;literal&gt;ru&lt;/literal&gt; (Russian), the sample language
12222for %PANGO_SCRIPT_ARABIC is &lt;literal&gt;ar&lt;/literal&gt;.
12223
12224For some
12225scripts, no sample language will be returned because there
12226is no language that is sufficiently representative. The best
12227example of this is %PANGO_SCRIPT_HAN, where various different
12228variants of written Chinese, Japanese, and Korean all use
12229significantly different sets of Han characters and forms
12230of shared characters. No sample language can be provided
12231for many historical scripts as well.
12232
12233As of 1.18, this function checks the environment variables
12234PANGO_LANGUAGE and LANGUAGE (checked in that order) first.
12235If one of them is set, it is parsed as a list of language tags
12236separated by colons or other separators.  This function
12237will return the first language in the parsed list that Pango
12238believes may use @script for writing.  This last predicate
12239is tested using pango_language_includes_script().  This can
12240be used to control Pango's font selection for non-primary
12241languages.  For example, a PANGO_LANGUAGE enviroment variable
12242set to &quot;en:fa&quot; makes Pango choose fonts suitable for Persian (fa)
12243instead of Arabic (ar) when a segment of Arabic text is found
12244in an otherwise non-Arabic text.  The same trick can be used to
12245choose a default language for %PANGO_SCRIPT_HAN when setting
12246context language is not feasible.
12247
12248Since: 1.4
12249
12250</description>
12251<parameters>
12252<parameter name="script">
12253<parameter_description> a #PangoScript
12254</parameter_description>
12255</parameter>
12256</parameters>
12257<return> a #PangoLanguage that is representative
12258of the script, or %NULL if no such language exists.
12259
12260</return>
12261</function>
12262
12263<function name="pango_script_iter_free">
12264<description>
12265Frees a #PangoScriptIter created with pango_script_iter_new().
12266
12267Since: 1.4
12268
12269</description>
12270<parameters>
12271<parameter name="iter">
12272<parameter_description> a #PangoScriptIter
12273</parameter_description>
12274</parameter>
12275</parameters>
12276<return></return>
12277</function>
12278
12279<function name="pango_script_iter_get_range">
12280<description>
12281Gets information about the range to which @iter currently points.
12282The range is the set of locations p where *start &lt;= p &lt; *end.
12283(That is, it doesn't include the character stored at *end)
12284
12285Since: 1.4
12286
12287</description>
12288<parameters>
12289<parameter name="iter">
12290<parameter_description> a #PangoScriptIter
12291</parameter_description>
12292</parameter>
12293<parameter name="start">
12294<parameter_description> location to store start position of the range, or %NULL
12295</parameter_description>
12296</parameter>
12297<parameter name="end">
12298<parameter_description> location to store end position of the range, or %NULL
12299</parameter_description>
12300</parameter>
12301<parameter name="script">
12302<parameter_description> location to store script for range, or %NULL
12303</parameter_description>
12304</parameter>
12305</parameters>
12306<return></return>
12307</function>
12308
12309<function name="pango_script_iter_new">
12310<description>
12311Create a new #PangoScriptIter, used to break a string of
12312Unicode text into runs by Unicode script. No copy is made of
12313@text, so the caller needs to make sure it remains valid until
12314the iterator is freed with pango_script_iter_free().
12315
12316Since: 1.4
12317
12318</description>
12319<parameters>
12320<parameter name="text">
12321<parameter_description> a UTF-8 string
12322</parameter_description>
12323</parameter>
12324<parameter name="length">
12325<parameter_description> length of @text, or -1 if @text is nul-terminated.
12326</parameter_description>
12327</parameter>
12328</parameters>
12329<return> the new script iterator, initialized
12330to point at the first range in the text, which should be
12331freed with pango_script_iter_free(). If the string is
12332empty, it will point at an empty range.
12333
12334</return>
12335</function>
12336
12337<function name="pango_script_iter_next">
12338<description>
12339Advances a #PangoScriptIter to the next range. If @iter
12340is already at the end, it is left unchanged and %FALSE
12341is returned.
12342
12343Since: 1.4
12344
12345</description>
12346<parameters>
12347<parameter name="iter">
12348<parameter_description> a #PangoScriptIter
12349</parameter_description>
12350</parameter>
12351</parameters>
12352<return> %TRUE if @iter was successfully advanced.
12353
12354</return>
12355</function>
12356
12357<function name="pango_shape">
12358<description>
12359Given a segment of text and the corresponding
12360#PangoAnalysis structure returned from pango_itemize(),
12361convert the characters into glyphs. You may also pass
12362in only a substring of the item from pango_itemize().
12363
12364It is recommended that you use pango_shape_full() instead, since
12365that API allows for shaping interaction happening across text item
12366boundaries.
12367
12368</description>
12369<parameters>
12370<parameter name="text">
12371<parameter_description>      the text to process
12372</parameter_description>
12373</parameter>
12374<parameter name="length">
12375<parameter_description>    the length (in bytes) of @text
12376</parameter_description>
12377</parameter>
12378<parameter name="analysis">
12379<parameter_description>  #PangoAnalysis structure from pango_itemize()
12380</parameter_description>
12381</parameter>
12382<parameter name="glyphs">
12383<parameter_description>    glyph string in which to store results
12384</parameter_description>
12385</parameter>
12386</parameters>
12387<return></return>
12388</function>
12389
12390<function name="pango_shape_full">
12391<description>
12392Given a segment of text and the corresponding
12393#PangoAnalysis structure returned from pango_itemize(),
12394convert the characters into glyphs. You may also pass
12395in only a substring of the item from pango_itemize().
12396
12397This is similar to pango_shape(), except it also can optionally take
12398the full paragraph text as input, which will then be used to perform
12399certain cross-item shaping interactions.  If you have access to the broader
12400text of which @item_text is part of, provide the broader text as
12401@paragraph_text.  If @paragraph_text is %NULL, item text is used instead.
12402
12403Since: 1.32
12404
12405</description>
12406<parameters>
12407<parameter name="item_text">
12408<parameter_description>        valid UTF-8 text to shape.
12409</parameter_description>
12410</parameter>
12411<parameter name="item_length">
12412<parameter_description>      the length (in bytes) of @item_text. -1 means nul-terminated text.
12413</parameter_description>
12414</parameter>
12415<parameter name="paragraph_text">
12416<parameter_description> text of the paragraph (see details).  May be %NULL.
12417</parameter_description>
12418</parameter>
12419<parameter name="paragraph_length">
12420<parameter_description> the length (in bytes) of @paragraph_text. -1 means nul-terminated text.
12421</parameter_description>
12422</parameter>
12423<parameter name="analysis">
12424<parameter_description>  #PangoAnalysis structure from pango_itemize().
12425</parameter_description>
12426</parameter>
12427<parameter name="glyphs">
12428<parameter_description>    glyph string in which to store results.
12429</parameter_description>
12430</parameter>
12431</parameters>
12432<return></return>
12433</function>
12434
12435<function name="pango_skip_space">
12436<description>
12437Skips 0 or more characters of white space.
12438
12439Deprecated: 1.38
12440
12441</description>
12442<parameters>
12443<parameter name="pos">
12444<parameter_description> in/out string position
12445</parameter_description>
12446</parameter>
12447</parameters>
12448<return> %FALSE if skipping the white space leaves
12449the position at a '\0' character.
12450
12451</return>
12452</function>
12453
12454<function name="pango_split_file_list">
12455<description>
12456Splits a %G_SEARCHPATH_SEPARATOR-separated list of files, stripping
12457white space and substituting ~/ with $HOME/.
12458
12459Deprecated: 1.38
12460
12461</description>
12462<parameters>
12463<parameter name="str">
12464<parameter_description> a %G_SEARCHPATH_SEPARATOR separated list of filenames
12465</parameter_description>
12466</parameter>
12467</parameters>
12468<return> a list of
12469strings to be freed with g_strfreev()
12470
12471</return>
12472</function>
12473
12474<function name="pango_tab_array_copy">
12475<description>
12476Copies a #PangoTabArray
12477
12478
12479</description>
12480<parameters>
12481<parameter name="src">
12482<parameter_description> #PangoTabArray to copy
12483</parameter_description>
12484</parameter>
12485</parameters>
12486<return> the newly allocated #PangoTabArray, which should
12487be freed with pango_tab_array_free().
12488</return>
12489</function>
12490
12491<function name="pango_tab_array_free">
12492<description>
12493Frees a tab array and associated resources.
12494
12495
12496</description>
12497<parameters>
12498<parameter name="tab_array">
12499<parameter_description> a #PangoTabArray
12500</parameter_description>
12501</parameter>
12502</parameters>
12503<return></return>
12504</function>
12505
12506<function name="pango_tab_array_get_positions_in_pixels">
12507<description>
12508Returns %TRUE if the tab positions are in pixels, %FALSE if they are
12509in Pango units.
12510
12511
12512</description>
12513<parameters>
12514<parameter name="tab_array">
12515<parameter_description> a #PangoTabArray
12516</parameter_description>
12517</parameter>
12518</parameters>
12519<return> whether positions are in pixels.
12520</return>
12521</function>
12522
12523<function name="pango_tab_array_get_size">
12524<description>
12525Gets the number of tab stops in @tab_array.
12526
12527
12528</description>
12529<parameters>
12530<parameter name="tab_array">
12531<parameter_description> a #PangoTabArray
12532</parameter_description>
12533</parameter>
12534</parameters>
12535<return> the number of tab stops in the array.
12536</return>
12537</function>
12538
12539<function name="pango_tab_array_get_tab">
12540<description>
12541Gets the alignment and position of a tab stop.
12542
12543
12544</description>
12545<parameters>
12546<parameter name="tab_array">
12547<parameter_description> a #PangoTabArray
12548</parameter_description>
12549</parameter>
12550<parameter name="tab_index">
12551<parameter_description> tab stop index
12552</parameter_description>
12553</parameter>
12554<parameter name="alignment">
12555<parameter_description> location to store alignment, or %NULL
12556</parameter_description>
12557</parameter>
12558<parameter name="location">
12559<parameter_description> location to store tab position, or %NULL
12560</parameter_description>
12561</parameter>
12562</parameters>
12563<return></return>
12564</function>
12565
12566<function name="pango_tab_array_get_tabs">
12567<description>
12568If non-%NULL, @alignments and @locations are filled with allocated
12569arrays of length pango_tab_array_get_size(). You must free the
12570returned array.
12571
12572
12573</description>
12574<parameters>
12575<parameter name="tab_array">
12576<parameter_description> a #PangoTabArray
12577</parameter_description>
12578</parameter>
12579<parameter name="alignments">
12580<parameter_description> location to store an array of tab
12581stop alignments, or %NULL
12582</parameter_description>
12583</parameter>
12584<parameter name="locations">
12585<parameter_description> location to store an array
12586of tab positions, or %NULL
12587</parameter_description>
12588</parameter>
12589</parameters>
12590<return></return>
12591</function>
12592
12593<function name="pango_tab_array_new">
12594<description>
12595Creates an array of @initial_size tab stops. Tab stops are specified in
12596pixel units if @positions_in_pixels is %TRUE, otherwise in Pango
12597units. All stops are initially at position 0.
12598
12599
12600</description>
12601<parameters>
12602<parameter name="initial_size">
12603<parameter_description> Initial number of tab stops to allocate, can be 0
12604</parameter_description>
12605</parameter>
12606<parameter name="positions_in_pixels">
12607<parameter_description> whether positions are in pixel units
12608</parameter_description>
12609</parameter>
12610</parameters>
12611<return> the newly allocated #PangoTabArray, which should
12612be freed with pango_tab_array_free().
12613</return>
12614</function>
12615
12616<function name="pango_tab_array_new_with_positions">
12617<description>
12618This is a convenience function that creates a #PangoTabArray
12619and allows you to specify the alignment and position of each
12620tab stop. You &lt;emphasis&gt;must&lt;/emphasis&gt; provide an alignment
12621and position for @size tab stops.
12622
12623
12624</description>
12625<parameters>
12626<parameter name="size">
12627<parameter_description> number of tab stops in the array
12628</parameter_description>
12629</parameter>
12630<parameter name="positions_in_pixels">
12631<parameter_description> whether positions are in pixel units
12632</parameter_description>
12633</parameter>
12634<parameter name="first_alignment">
12635<parameter_description> alignment of first tab stop
12636</parameter_description>
12637</parameter>
12638<parameter name="first_position">
12639<parameter_description> position of first tab stop
12640</parameter_description>
12641</parameter>
12642<parameter name="Varargs">
12643<parameter_description> additional alignment/position pairs
12644</parameter_description>
12645</parameter>
12646</parameters>
12647<return> the newly allocated #PangoTabArray, which should
12648be freed with pango_tab_array_free().
12649</return>
12650</function>
12651
12652<function name="pango_tab_array_resize">
12653<description>
12654Resizes a tab array. You must subsequently initialize any tabs that
12655were added as a result of growing the array.
12656
12657
12658</description>
12659<parameters>
12660<parameter name="tab_array">
12661<parameter_description> a #PangoTabArray
12662</parameter_description>
12663</parameter>
12664<parameter name="new_size">
12665<parameter_description> new size of the array
12666</parameter_description>
12667</parameter>
12668</parameters>
12669<return></return>
12670</function>
12671
12672<function name="pango_tab_array_set_tab">
12673<description>
12674Sets the alignment and location of a tab stop.
12675@alignment must always be #PANGO_TAB_LEFT in the current
12676implementation.
12677
12678
12679</description>
12680<parameters>
12681<parameter name="tab_array">
12682<parameter_description> a #PangoTabArray
12683</parameter_description>
12684</parameter>
12685<parameter name="tab_index">
12686<parameter_description> the index of a tab stop
12687</parameter_description>
12688</parameter>
12689<parameter name="alignment">
12690<parameter_description> tab alignment
12691</parameter_description>
12692</parameter>
12693<parameter name="location">
12694<parameter_description> tab location in Pango units
12695</parameter_description>
12696</parameter>
12697</parameters>
12698<return></return>
12699</function>
12700
12701<function name="pango_trim_string">
12702<description>
12703Trims leading and trailing whitespace from a string.
12704
12705Deprecated: 1.38
12706
12707</description>
12708<parameters>
12709<parameter name="str">
12710<parameter_description> a string
12711</parameter_description>
12712</parameter>
12713</parameters>
12714<return> A newly-allocated string that must be freed with g_free()
12715
12716</return>
12717</function>
12718
12719<function name="pango_unichar_direction">
12720<description>
12721Determines the inherent direction of a character; either
12722%PANGO_DIRECTION_LTR, %PANGO_DIRECTION_RTL, or
12723%PANGO_DIRECTION_NEUTRAL.
12724
12725This function is useful to categorize characters into left-to-right
12726letters, right-to-left letters, and everything else.  If full
12727Unicode bidirectional type of a character is needed,
12728pango_bidi_type_for_unichar() can be used instead.
12729
12730
12731</description>
12732<parameters>
12733<parameter name="ch">
12734<parameter_description> a Unicode character
12735</parameter_description>
12736</parameter>
12737</parameters>
12738<return> the direction of the character.
12739</return>
12740</function>
12741
12742<function name="pango_units_from_double">
12743<description>
12744Converts a floating-point number to Pango units: multiplies
12745it by %PANGO_SCALE and rounds to nearest integer.
12746
12747Since: 1.16
12748
12749</description>
12750<parameters>
12751<parameter name="d">
12752<parameter_description> double floating-point value
12753</parameter_description>
12754</parameter>
12755</parameters>
12756<return> the value in Pango units.
12757
12758</return>
12759</function>
12760
12761<function name="pango_units_to_double">
12762<description>
12763Converts a number in Pango units to floating-point: divides
12764it by %PANGO_SCALE.
12765
12766Since: 1.16
12767
12768</description>
12769<parameters>
12770<parameter name="i">
12771<parameter_description> value in Pango units
12772</parameter_description>
12773</parameter>
12774</parameters>
12775<return> the double value.
12776
12777</return>
12778</function>
12779
12780<function name="pango_version">
12781<description>
12782This is similar to the macro %PANGO_VERSION except that
12783it returns the encoded version of Pango available at run-time,
12784as opposed to the version available at compile-time.
12785
12786A version number can be encoded into an integer using
12787PANGO_VERSION_ENCODE().
12788
12789Since: 1.16
12790
12791</description>
12792<parameters>
12793</parameters>
12794<return> The encoded version of Pango library
12795available at run time.
12796
12797</return>
12798</function>
12799
12800<function name="pango_version_check">
12801<description>
12802Checks that the Pango library in use is compatible with the
12803given version. Generally you would pass in the constants
12804%PANGO_VERSION_MAJOR, %PANGO_VERSION_MINOR, %PANGO_VERSION_MICRO
12805as the three arguments to this function; that produces
12806a check that the library in use at run-time is compatible with
12807the version of Pango the application or module was compiled against.
12808
12809Compatibility is defined by two things: first the version
12810of the running library is newer than the version
12811@required_major.required_minor.@required_micro. Second
12812the running library must be binary compatible with the
12813version @required_major.required_minor.@required_micro
12814(same major version.)
12815
12816For compile-time version checking use PANGO_VERSION_CHECK().
12817
12818Since: 1.16
12819
12820</description>
12821<parameters>
12822<parameter name="required_major">
12823<parameter_description> the required major version.
12824</parameter_description>
12825</parameter>
12826<parameter name="required_minor">
12827<parameter_description> the required minor version.
12828</parameter_description>
12829</parameter>
12830<parameter name="required_micro">
12831<parameter_description> the required major version.
12832</parameter_description>
12833</parameter>
12834</parameters>
12835<return> %NULL if the Pango library is compatible
12836with the given version, or a string describing the version
12837mismatch.  The returned string is owned by Pango and should not
12838be modified or freed.
12839
12840</return>
12841</function>
12842
12843<function name="pango_version_string">
12844<description>
12845This is similar to the macro %PANGO_VERSION_STRING except that
12846it returns the version of Pango available at run-time, as opposed to
12847the version available at compile-time.
12848
12849Since: 1.16
12850
12851</description>
12852<parameters>
12853</parameters>
12854<return> A string containing the version of Pango library
12855available at run time.
12856The returned string is owned by Pango and should not be modified
12857or freed.
12858
12859</return>
12860</function>
12861
12862<function name="pango_win32_font_cache_free">
12863<description>
12864Frees a #PangoWin32FontCache and all associated memory. All fonts loaded
12865through this font cache will be freed along with the cache.
12866
12867</description>
12868<parameters>
12869<parameter name="cache">
12870<parameter_description> a #PangoWin32FontCache
12871</parameter_description>
12872</parameter>
12873</parameters>
12874<return></return>
12875</function>
12876
12877<function name="pango_win32_font_cache_load">
12878<description>
12879Creates a HFONT from a LOGFONTA. The
12880result may be newly loaded, or it may have been previously
12881stored
12882
12883
12884</description>
12885<parameters>
12886<parameter name="cache">
12887<parameter_description> a #PangoWin32FontCache
12888</parameter_description>
12889</parameter>
12890<parameter name="logfont">
12891<parameter_description> a pointer to a LOGFONTA structure describing the font to load.
12892</parameter_description>
12893</parameter>
12894</parameters>
12895<return> The font structure, or %NULL if the font
12896could not be loaded. In order to free this structure, you must call
12897pango_win32_font_cache_unload().
12898</return>
12899</function>
12900
12901<function name="pango_win32_font_cache_loadw">
12902<description>
12903Creates a HFONT from a LOGFONTW. The
12904result may be newly loaded, or it may have been previously
12905stored
12906
12907Since: 1.16
12908
12909</description>
12910<parameters>
12911<parameter name="cache">
12912<parameter_description> a #PangoWin32FontCache
12913</parameter_description>
12914</parameter>
12915<parameter name="logfont">
12916<parameter_description> a pointer to a LOGFONTW structure describing the font to load.
12917</parameter_description>
12918</parameter>
12919</parameters>
12920<return> The font structure, or %NULL if the font
12921could not be loaded. In order to free this structure, you must call
12922pango_win32_font_cache_unload().
12923
12924</return>
12925</function>
12926
12927<function name="pango_win32_font_cache_new">
12928<description>
12929Creates a font cache.
12930
12931
12932</description>
12933<parameters>
12934</parameters>
12935<return> The new font cache. This must be freed with
12936pango_win32_font_cache_free().
12937</return>
12938</function>
12939
12940<function name="pango_win32_font_cache_unload">
12941<description>
12942Frees a font structure previously loaded with pango_win32_font_cache_load().
12943
12944</description>
12945<parameters>
12946<parameter name="cache">
12947<parameter_description> a #PangoWin32FontCache
12948</parameter_description>
12949</parameter>
12950<parameter name="hfont">
12951<parameter_description> the HFONT to unload
12952</parameter_description>
12953</parameter>
12954</parameters>
12955<return></return>
12956</function>
12957
12958<function name="pango_win32_font_description_from_logfont">
12959<description>
12960Creates a #PangoFontDescription that matches the specified LOGFONTA.
12961
12962The face name, italicness and weight fields in the LOGFONTA are used
12963to set up the resulting #PangoFontDescription. If the face name in
12964the LOGFONTA contains non-ASCII characters the font is temporarily
12965loaded (using CreateFontIndirect()) and an ASCII (usually English)
12966name for it is looked up from the font name tables in the font
12967data. If that doesn't work, the face name is converted from the
12968system codepage to UTF-8 and that is used.
12969
12970Since: 1.12
12971
12972</description>
12973<parameters>
12974<parameter name="lfp">
12975<parameter_description> a LOGFONTA
12976</parameter_description>
12977</parameter>
12978</parameters>
12979<return> the newly allocated #PangoFontDescription, which
12980should be freed using pango_font_description_free()
12981
12982</return>
12983</function>
12984
12985<function name="pango_win32_font_description_from_logfontw">
12986<description>
12987Creates a #PangoFontDescription that matches the specified LOGFONTW.
12988
12989The face name, italicness and weight fields in the LOGFONTW are used
12990to set up the resulting #PangoFontDescription. If the face name in
12991the LOGFONTW contains non-ASCII characters the font is temporarily
12992loaded (using CreateFontIndirect()) and an ASCII (usually English)
12993name for it is looked up from the font name tables in the font
12994data. If that doesn't work, the face name is converted from UTF-16
12995to UTF-8 and that is used.
12996
12997Since: 1.16
12998
12999</description>
13000<parameters>
13001<parameter name="lfp">
13002<parameter_description> a LOGFONTW
13003</parameter_description>
13004</parameter>
13005</parameters>
13006<return> the newly allocated #PangoFontDescription, which
13007should be freed using pango_font_description_free()
13008
13009</return>
13010</function>
13011
13012<function name="pango_win32_font_done_font">
13013<description>
13014Releases any resources allocated by pango_win32_font_done_font()
13015
13016</description>
13017<parameters>
13018<parameter name="font">
13019<parameter_description> a #PangoFont from the win32 backend
13020</parameter_description>
13021</parameter>
13022</parameters>
13023<return></return>
13024</function>
13025
13026<function name="pango_win32_font_get_glyph_index">
13027<description>
13028Obtains the index of the glyph for @wc in @font, or 0, if not
13029covered.
13030
13031
13032</description>
13033<parameters>
13034<parameter name="font">
13035<parameter_description> a #PangoFont.
13036</parameter_description>
13037</parameter>
13038<parameter name="wc">
13039<parameter_description> a Unicode character.
13040</parameter_description>
13041</parameter>
13042</parameters>
13043<return> the glyph index for @wc.
13044</return>
13045</function>
13046
13047<function name="pango_win32_font_get_metrics_factor">
13048<description>
13049Returns the scale factor from logical units in the coordinate
13050space used by pango_win32_font_select_font() to Pango units
13051in user space.
13052
13053
13054</description>
13055<parameters>
13056<parameter name="font">
13057<parameter_description> a #PangoFont from the win32 backend
13058</parameter_description>
13059</parameter>
13060</parameters>
13061<return> factor to multiply logical units by to get Pango
13062units.
13063</return>
13064</function>
13065
13066<function name="pango_win32_font_logfont">
13067<description>
13068Determine the LOGFONTA struct for the specified font. Note that
13069Pango internally uses LOGFONTW structs, so if converting the UTF-16
13070face name in the LOGFONTW struct to system codepage fails, the
13071returned LOGFONTA will have an emppty face name. To get the
13072LOGFONTW of a PangoFont, use pango_win32_font_logfontw(). It
13073is recommended to do that always even if you don't expect
13074to come across fonts with odd names.
13075
13076
13077</description>
13078<parameters>
13079<parameter name="font">
13080<parameter_description> a #PangoFont which must be from the Win32 backend
13081</parameter_description>
13082</parameter>
13083</parameters>
13084<return> A newly allocated LOGFONTA struct. It must be
13085freed with g_free().
13086</return>
13087</function>
13088
13089<function name="pango_win32_font_logfontw">
13090<description>
13091Determine the LOGFONTW struct for the specified font.
13092
13093Since: 1.16
13094
13095</description>
13096<parameters>
13097<parameter name="font">
13098<parameter_description> a #PangoFont which must be from the Win32 backend
13099</parameter_description>
13100</parameter>
13101</parameters>
13102<return> A newly allocated LOGFONTW struct. It must be
13103freed with g_free().
13104
13105</return>
13106</function>
13107
13108<function name="pango_win32_font_map_for_display">
13109<description>
13110Returns a &lt;type&gt;PangoWin32FontMap&lt;/type&gt;. Font maps are cached and should
13111not be freed. If the font map is no longer needed, it can
13112be released with pango_win32_shutdown_display().
13113
13114
13115</description>
13116<parameters>
13117</parameters>
13118<return> a #PangoFontMap.
13119</return>
13120</function>
13121
13122<function name="pango_win32_font_map_get_font_cache">
13123<description>
13124Obtains the font cache associated with the given font map.
13125
13126
13127</description>
13128<parameters>
13129<parameter name="font_map">
13130<parameter_description> a &lt;type&gt;PangoWin32FontMap&lt;/type&gt;.
13131</parameter_description>
13132</parameter>
13133</parameters>
13134<return> the #PangoWin32FontCache of @font_map.
13135</return>
13136</function>
13137
13138<function name="pango_win32_font_select_font">
13139<description>
13140Selects the font into the specified DC and changes the mapping mode
13141and world transformation of the DC appropriately for the font.
13142You may want to surround the use of this function with calls
13143to SaveDC() and RestoreDC(). Call pango_win32_font_done_font() when
13144you are done using the DC to release allocated resources.
13145
13146See pango_win32_font_get_metrics_factor() for information about
13147converting from the coordinate space used by this function
13148into Pango units.
13149
13150
13151</description>
13152<parameters>
13153<parameter name="font">
13154<parameter_description> a #PangoFont from the Win32 backend
13155</parameter_description>
13156</parameter>
13157<parameter name="hdc">
13158<parameter_description> a windows device context
13159</parameter_description>
13160</parameter>
13161</parameters>
13162<return> %TRUE if the operation succeeded.
13163</return>
13164</function>
13165
13166<function name="pango_win32_get_context">
13167<description>
13168Retrieves a #PangoContext appropriate for rendering with Windows fonts.
13169
13170Deprecated: 1.22: Use pango_win32_font_map_for_display() followed by
13171pango_font_map_create_context() instead.
13172
13173</description>
13174<parameters>
13175</parameters>
13176<return> the new #PangoContext
13177
13178</return>
13179</function>
13180
13181<function name="pango_win32_get_dc">
13182<description>
13183Obtains a handle to the Windows device context that is used by Pango.
13184
13185
13186</description>
13187<parameters>
13188</parameters>
13189<return> A handle to the Windows device context that is used by Pango.
13190</return>
13191</function>
13192
13193<function name="pango_win32_get_debug_flag">
13194<description>
13195Returns whether debugging is turned on.
13196
13197Since: 1.2
13198
13199</description>
13200<parameters>
13201</parameters>
13202<return> %TRUE if debugging is turned on.
13203
13204</return>
13205</function>
13206
13207<function name="pango_win32_get_unknown_glyph">
13208<description>
13209Returns the index of a glyph suitable for drawing @wc as an
13210unknown character.
13211
13212Use PANGO_GET_UNKNOWN_GLYPH() instead.
13213
13214
13215</description>
13216<parameters>
13217<parameter name="font">
13218<parameter_description> a #PangoFont
13219</parameter_description>
13220</parameter>
13221<parameter name="wc">
13222<parameter_description> the Unicode character for which a glyph is needed.
13223</parameter_description>
13224</parameter>
13225</parameters>
13226<return> a glyph index into @font
13227</return>
13228</function>
13229
13230<function name="pango_win32_render">
13231<description>
13232Render a #PangoGlyphString onto a Windows DC
13233
13234</description>
13235<parameters>
13236<parameter name="hdc">
13237<parameter_description>     the device context
13238</parameter_description>
13239</parameter>
13240<parameter name="font">
13241<parameter_description>    the font in which to draw the string
13242</parameter_description>
13243</parameter>
13244<parameter name="glyphs">
13245<parameter_description>  the glyph string to draw
13246</parameter_description>
13247</parameter>
13248<parameter name="x">
13249<parameter_description>       the x position of start of string (in pixels)
13250</parameter_description>
13251</parameter>
13252<parameter name="y">
13253<parameter_description>       the y position of baseline (in pixels)
13254</parameter_description>
13255</parameter>
13256</parameters>
13257<return></return>
13258</function>
13259
13260<function name="pango_win32_render_layout">
13261<description>
13262Render a #PangoLayoutLine onto an X drawable
13263
13264</description>
13265<parameters>
13266<parameter name="hdc">
13267<parameter_description>       HDC to use for uncolored drawing
13268</parameter_description>
13269</parameter>
13270<parameter name="layout">
13271<parameter_description>    a #PangoLayout
13272</parameter_description>
13273</parameter>
13274<parameter name="x">
13275<parameter_description>         the X position of the left of the layout (in pixels)
13276</parameter_description>
13277</parameter>
13278<parameter name="y">
13279<parameter_description>         the Y position of the top of the layout (in pixels)
13280</parameter_description>
13281</parameter>
13282</parameters>
13283<return></return>
13284</function>
13285
13286<function name="pango_win32_render_layout_line">
13287<description>
13288Render a #PangoLayoutLine onto a device context. For underlining to
13289work property the text alignment of the DC should have TA_BASELINE
13290and TA_LEFT.
13291
13292</description>
13293<parameters>
13294<parameter name="hdc">
13295<parameter_description>       DC to use for uncolored drawing
13296</parameter_description>
13297</parameter>
13298<parameter name="line">
13299<parameter_description>      a #PangoLayoutLine
13300</parameter_description>
13301</parameter>
13302<parameter name="x">
13303<parameter_description>         the x position of start of string (in pixels)
13304</parameter_description>
13305</parameter>
13306<parameter name="y">
13307<parameter_description>         the y position of baseline (in pixels)
13308</parameter_description>
13309</parameter>
13310</parameters>
13311<return></return>
13312</function>
13313
13314<function name="pango_win32_render_transformed">
13315<description>
13316Renders a #PangoGlyphString onto a windows DC, possibly
13317transforming the layed-out coordinates through a transformation
13318matrix. Note that the transformation matrix for @font is not
13319changed, so to produce correct rendering results, the @font
13320must have been loaded using a #PangoContext with an identical
13321transformation matrix to that passed in to this function.
13322
13323</description>
13324<parameters>
13325<parameter name="hdc">
13326<parameter_description>     a windows device context
13327</parameter_description>
13328</parameter>
13329<parameter name="matrix">
13330<parameter_description> a #PangoMatrix, or %NULL to use an identity
13331transformation
13332</parameter_description>
13333</parameter>
13334<parameter name="font">
13335<parameter_description>    the font in which to draw the string
13336</parameter_description>
13337</parameter>
13338<parameter name="glyphs">
13339<parameter_description>  the glyph string to draw
13340</parameter_description>
13341</parameter>
13342<parameter name="x">
13343<parameter_description>       the x position of the start of the string (in Pango
13344units in user space coordinates)
13345</parameter_description>
13346</parameter>
13347<parameter name="y">
13348<parameter_description>       the y position of the baseline (in Pango units
13349in user space coordinates)
13350</parameter_description>
13351</parameter>
13352</parameters>
13353<return></return>
13354</function>
13355
13356<function name="pango_win32_shutdown_display">
13357<description>
13358Free cached resources.
13359
13360</description>
13361<parameters>
13362</parameters>
13363<return></return>
13364</function>
13365
13366<function name="pango_xft_font_get_display">
13367<description>
13368Returns the X display of the XftFont of a font.
13369
13370
13371</description>
13372<parameters>
13373<parameter name="font">
13374<parameter_description> a #PangoFont.
13375</parameter_description>
13376</parameter>
13377</parameters>
13378<return> the X display of the XftFont associated to @font.
13379</return>
13380</function>
13381
13382<function name="pango_xft_font_get_font">
13383<description>
13384Returns the XftFont of a font.
13385
13386
13387</description>
13388<parameters>
13389<parameter name="font">
13390<parameter_description> a #PangoFont.
13391</parameter_description>
13392</parameter>
13393</parameters>
13394<return> the XftFont associated to @font, or %NULL
13395if @font is %NULL.
13396</return>
13397</function>
13398
13399<function name="pango_xft_font_get_glyph">
13400<description>
13401Gets the glyph index for a given Unicode character
13402for @font. If you only want to determine
13403whether the font has the glyph, use pango_xft_font_has_char().
13404
13405Use pango_fc_font_get_glyph() instead.
13406
13407Since: 1.2
13408
13409</description>
13410<parameters>
13411<parameter name="font">
13412<parameter_description> a #PangoFont for the Xft backend
13413</parameter_description>
13414</parameter>
13415<parameter name="wc">
13416<parameter_description> Unicode codepoint to look up
13417</parameter_description>
13418</parameter>
13419</parameters>
13420<return> the glyph index, or 0, if the Unicode
13421character does not exist in the font.
13422
13423</return>
13424</function>
13425
13426<function name="pango_xft_font_get_unknown_glyph">
13427<description>
13428Returns the index of a glyph suitable for drawing @wc as an
13429unknown character.
13430
13431Use PANGO_GET_UNKNOWN_GLYPH() instead.
13432
13433
13434</description>
13435<parameters>
13436<parameter name="font">
13437<parameter_description> a #PangoFont.
13438</parameter_description>
13439</parameter>
13440<parameter name="wc">
13441<parameter_description> the Unicode character for which a glyph is needed.
13442</parameter_description>
13443</parameter>
13444</parameters>
13445<return> a glyph index into @font.
13446</return>
13447</function>
13448
13449<function name="pango_xft_font_has_char">
13450<description>
13451Determines whether @font has a glyph for the codepoint @wc.
13452
13453Use pango_fc_font_has_char() instead.
13454
13455Since: 1.2
13456
13457</description>
13458<parameters>
13459<parameter name="font">
13460<parameter_description> a #PangoFont for the Xft backend
13461</parameter_description>
13462</parameter>
13463<parameter name="wc">
13464<parameter_description> Unicode codepoint to look up
13465</parameter_description>
13466</parameter>
13467</parameters>
13468<return> %TRUE if @font has the requested codepoint.
13469
13470</return>
13471</function>
13472
13473<function name="pango_xft_font_lock_face">
13474<description>
13475Gets the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with a font,
13476This face will be kept around until you call
13477pango_xft_font_unlock_face().
13478
13479Use pango_fc_font_lock_face() instead.
13480
13481Since: 1.2
13482
13483</description>
13484<parameters>
13485<parameter name="font">
13486<parameter_description> a #PangoFont.
13487</parameter_description>
13488</parameter>
13489</parameters>
13490<return> the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with @font.
13491
13492</return>
13493</function>
13494
13495<function name="pango_xft_font_unlock_face">
13496<description>
13497Releases a font previously obtained with
13498pango_xft_font_lock_face().
13499
13500Use pango_fc_font_unlock_face() instead.
13501
13502Since: 1.2
13503
13504</description>
13505<parameters>
13506<parameter name="font">
13507<parameter_description> a #PangoFont.
13508</parameter_description>
13509</parameter>
13510</parameters>
13511<return></return>
13512</function>
13513
13514<function name="pango_xft_get_context">
13515<description>
13516Retrieves a #PangoContext appropriate for rendering with
13517Xft fonts on the given screen of the given display.
13518
13519Deprecated: 1.22: Use pango_xft_get_font_map() followed by
13520pango_font_map_create_context() instead.
13521
13522</description>
13523<parameters>
13524<parameter name="display">
13525<parameter_description> an X display.
13526</parameter_description>
13527</parameter>
13528<parameter name="screen">
13529<parameter_description> an X screen.
13530</parameter_description>
13531</parameter>
13532</parameters>
13533<return> the new #PangoContext.
13534
13535</return>
13536</function>
13537
13538<function name="pango_xft_get_font_map">
13539<description>
13540Returns the #PangoXftFontMap for the given display and screen.
13541The fontmap is owned by Pango and will be valid until
13542the display is closed.
13543
13544Since: 1.2
13545
13546</description>
13547<parameters>
13548<parameter name="display">
13549<parameter_description> an X display
13550</parameter_description>
13551</parameter>
13552<parameter name="screen">
13553<parameter_description> the screen number of a screen within @display
13554</parameter_description>
13555</parameter>
13556</parameters>
13557<return> a #PangoFontMap object, owned by Pango.
13558
13559</return>
13560</function>
13561
13562<function name="pango_xft_picture_render">
13563<description>
13564Renders a #PangoGlyphString onto an Xrender &lt;type&gt;Picture&lt;/type&gt; object.
13565
13566</description>
13567<parameters>
13568<parameter name="display">
13569<parameter_description>      an X display
13570</parameter_description>
13571</parameter>
13572<parameter name="src_picture">
13573<parameter_description>  the source picture to draw the string with
13574</parameter_description>
13575</parameter>
13576<parameter name="dest_picture">
13577<parameter_description> the destination picture to draw the string onto
13578</parameter_description>
13579</parameter>
13580<parameter name="font">
13581<parameter_description>         the font in which to draw the string
13582</parameter_description>
13583</parameter>
13584<parameter name="glyphs">
13585<parameter_description>       the glyph string to draw
13586</parameter_description>
13587</parameter>
13588<parameter name="x">
13589<parameter_description>            the x position of start of string (in pixels)
13590</parameter_description>
13591</parameter>
13592<parameter name="y">
13593<parameter_description>            the y position of baseline (in pixels)
13594</parameter_description>
13595</parameter>
13596</parameters>
13597<return></return>
13598</function>
13599
13600<function name="pango_xft_render">
13601<description>
13602Renders a #PangoGlyphString onto an &lt;type&gt;XftDraw&lt;/type&gt; object wrapping an X drawable.
13603
13604</description>
13605<parameters>
13606<parameter name="draw">
13607<parameter_description>    the &lt;type&gt;XftDraw&lt;/type&gt; object.
13608</parameter_description>
13609</parameter>
13610<parameter name="color">
13611<parameter_description>   the color in which to draw the string
13612</parameter_description>
13613</parameter>
13614<parameter name="font">
13615<parameter_description>    the font in which to draw the string
13616</parameter_description>
13617</parameter>
13618<parameter name="glyphs">
13619<parameter_description>  the glyph string to draw
13620</parameter_description>
13621</parameter>
13622<parameter name="x">
13623<parameter_description>       the x position of start of string (in pixels)
13624</parameter_description>
13625</parameter>
13626<parameter name="y">
13627<parameter_description>       the y position of baseline (in pixels)
13628</parameter_description>
13629</parameter>
13630</parameters>
13631<return></return>
13632</function>
13633
13634<function name="pango_xft_render_layout">
13635<description>
13636Render a #PangoLayout onto a #XftDraw
13637
13638Since: 1.8
13639
13640</description>
13641<parameters>
13642<parameter name="draw">
13643<parameter_description>      an #XftDraw
13644</parameter_description>
13645</parameter>
13646<parameter name="color">
13647<parameter_description>     the foreground color in which to draw the layout
13648(may be overridden by color attributes)
13649</parameter_description>
13650</parameter>
13651<parameter name="layout">
13652<parameter_description>    a #PangoLayout
13653</parameter_description>
13654</parameter>
13655<parameter name="x">
13656<parameter_description>         the X position of the left of the layout (in Pango units)
13657</parameter_description>
13658</parameter>
13659<parameter name="y">
13660<parameter_description>         the Y position of the top of the layout (in Pango units)
13661</parameter_description>
13662</parameter>
13663</parameters>
13664<return></return>
13665</function>
13666
13667<function name="pango_xft_render_layout_line">
13668<description>
13669Render a #PangoLayoutLine onto a #XftDraw
13670
13671Since: 1.8
13672
13673</description>
13674<parameters>
13675<parameter name="draw">
13676<parameter_description>      an #XftDraw
13677</parameter_description>
13678</parameter>
13679<parameter name="color">
13680<parameter_description>     the foreground color in which to draw the layout line
13681(may be overridden by color attributes)
13682</parameter_description>
13683</parameter>
13684<parameter name="line">
13685<parameter_description>      a #PangoLayoutLine
13686</parameter_description>
13687</parameter>
13688<parameter name="x">
13689<parameter_description>         the x position of start of string (in Pango units)
13690</parameter_description>
13691</parameter>
13692<parameter name="y">
13693<parameter_description>         the y position of baseline (in Pango units)
13694</parameter_description>
13695</parameter>
13696</parameters>
13697<return></return>
13698</function>
13699
13700<function name="pango_xft_render_transformed">
13701<description>
13702Renders a #PangoGlyphString onto a #XftDraw, possibly
13703transforming the layed-out coordinates through a transformation
13704matrix. Note that the transformation matrix for @font is not
13705changed, so to produce correct rendering results, the @font
13706must have been loaded using a #PangoContext with an identical
13707transformation matrix to that passed in to this function.
13708
13709Since: 1.8
13710
13711</description>
13712<parameters>
13713<parameter name="draw">
13714<parameter_description>    an #XftDraw
13715</parameter_description>
13716</parameter>
13717<parameter name="color">
13718<parameter_description>   the color in which to draw the glyphs
13719</parameter_description>
13720</parameter>
13721<parameter name="font">
13722<parameter_description>    the font in which to draw the string
13723</parameter_description>
13724</parameter>
13725<parameter name="matrix">
13726<parameter_description> a #PangoMatrix, or %NULL to use an identity
13727transformation
13728</parameter_description>
13729</parameter>
13730<parameter name="glyphs">
13731<parameter_description>  the glyph string to draw
13732</parameter_description>
13733</parameter>
13734<parameter name="x">
13735<parameter_description>       the x position of the start of the string (in Pango
13736units in user space coordinates)
13737</parameter_description>
13738</parameter>
13739<parameter name="y">
13740<parameter_description>       the y position of the baseline (in Pango units
13741in user space coordinates)
13742</parameter_description>
13743</parameter>
13744</parameters>
13745<return></return>
13746</function>
13747
13748<function name="pango_xft_renderer_new">
13749<description>
13750Create a new #PangoXftRenderer to allow rendering Pango objects
13751with the Xft library. You must call pango_xft_renderer_set_draw() before
13752using the renderer.
13753
13754Since: 1.8
13755
13756</description>
13757<parameters>
13758<parameter name="display">
13759<parameter_description> an X display
13760</parameter_description>
13761</parameter>
13762<parameter name="screen">
13763<parameter_description>   the index of the screen for @display to which rendering will be done
13764</parameter_description>
13765</parameter>
13766</parameters>
13767<return> the newly created #PangoXftRenderer, which should
13768be freed with g_object_unref().
13769
13770</return>
13771</function>
13772
13773<function name="pango_xft_renderer_set_default_color">
13774<description>
13775Sets the default foreground color for a #XftRenderer.
13776
13777Since: 1.8
13778
13779</description>
13780<parameters>
13781<parameter name="xftrenderer">
13782<parameter_description> a #XftRenderer
13783</parameter_description>
13784</parameter>
13785<parameter name="default_color">
13786<parameter_description> the default foreground color
13787</parameter_description>
13788</parameter>
13789</parameters>
13790<return></return>
13791</function>
13792
13793<function name="pango_xft_renderer_set_draw">
13794<description>
13795Sets the #XftDraw object that the renderer is drawing to.
13796The renderer must not be currently active.
13797
13798Since: 1.8
13799
13800</description>
13801<parameters>
13802<parameter name="xftrenderer">
13803<parameter_description> a #PangoXftRenderer
13804</parameter_description>
13805</parameter>
13806<parameter name="draw">
13807<parameter_description> a #XftDraw
13808</parameter_description>
13809</parameter>
13810</parameters>
13811<return></return>
13812</function>
13813
13814<function name="pango_xft_set_default_substitute">
13815<description>
13816Sets a function that will be called to do final configuration
13817substitution on a #FcPattern before it is used to load
13818the font. This function can be used to do things like set
13819hinting and antialiasing options.
13820
13821Since: 1.2
13822
13823</description>
13824<parameters>
13825<parameter name="display">
13826<parameter_description> an X Display
13827</parameter_description>
13828</parameter>
13829<parameter name="screen">
13830<parameter_description> the screen number of a screen within @display
13831</parameter_description>
13832</parameter>
13833<parameter name="func">
13834<parameter_description> function to call to to do final config tweaking
13835on #FcPattern objects.
13836</parameter_description>
13837</parameter>
13838<parameter name="data">
13839<parameter_description> data to pass to @func
13840</parameter_description>
13841</parameter>
13842<parameter name="notify">
13843<parameter_description> function to call when @data is no longer used.
13844</parameter_description>
13845</parameter>
13846</parameters>
13847<return></return>
13848</function>
13849
13850<function name="pango_xft_shutdown_display">
13851<description>
13852Release any resources that have been cached for the
13853combination of @display and @screen. Note that when the
13854X display is closed, resources are released automatically,
13855without needing to call this function.
13856
13857Since: 1.2
13858
13859</description>
13860<parameters>
13861<parameter name="display">
13862<parameter_description> an X display
13863</parameter_description>
13864</parameter>
13865<parameter name="screen">
13866<parameter_description> the screen number of a screen within @display
13867</parameter_description>
13868</parameter>
13869</parameters>
13870<return></return>
13871</function>
13872
13873<function name="pango_xft_substitute_changed">
13874<description>
13875Call this function any time the results of the
13876default substitution function set with
13877pango_xft_set_default_substitute() change.
13878That is, if your substitution function will return different
13879results for the same input pattern, you must call this function.
13880
13881Since: 1.2
13882
13883</description>
13884<parameters>
13885<parameter name="display">
13886<parameter_description> an X Display
13887</parameter_description>
13888</parameter>
13889<parameter name="screen">
13890<parameter_description> the screen number of a screen within @display
13891</parameter_description>
13892</parameter>
13893</parameters>
13894<return></return>
13895</function>
13896
13897<function name="script_engine_create">
13898<description>
13899Do not use.
13900
13901Deprecated: 1.38
13902
13903</description>
13904<parameters>
13905<parameter name="id">
13906<parameter_description> the ID of an engine as reported by script_engine_list.
13907</parameter_description>
13908</parameter>
13909</parameters>
13910<return></return>
13911</function>
13912
13913<function name="script_engine_exit">
13914<description>
13915Do not use.
13916
13917Deprecated: 1.38
13918
13919</description>
13920<parameters>
13921</parameters>
13922<return></return>
13923</function>
13924
13925<function name="script_engine_init">
13926<description>
13927Do not use.
13928
13929Deprecated: 1.38
13930
13931</description>
13932<parameters>
13933<parameter name="module">
13934<parameter_description> a #GTypeModule structure used to associate any
13935GObject types created in this module with the module.
13936</parameter_description>
13937</parameter>
13938</parameters>
13939<return></return>
13940</function>
13941
13942<function name="script_engine_list">
13943<description>
13944Do not use.
13945
13946Deprecated: 1.38
13947
13948</description>
13949<parameters>
13950<parameter name="engines">
13951<parameter_description> location to store a pointer to an array of engines.
13952</parameter_description>
13953</parameter>
13954<parameter name="n_engines">
13955<parameter_description> location to store the number of elements in @engines.
13956</parameter_description>
13957</parameter>
13958</parameters>
13959<return></return>
13960</function>
13961
13962</root>
13963