Pango-1.0.gir RawHistoryFolder
23451 lines: showing the first 20000. use raw for the rest.
1<?xml version="1.0"?>
2<!-- This file was automatically generated from C sources - DO NOT EDIT!
3To affect the contents of this file, edit the original C definitions,
4and/or use gtk-doc annotations. -->
5<repository version="1.2"
6 xmlns="http://www.gtk.org/introspection/core/1.0"
7 xmlns:c="http://www.gtk.org/introspection/c/1.0"
8 xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
9 xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
10 <include name="GObject" version="2.0"/>
11 <include name="Gio" version="2.0"/>
12 <include name="HarfBuzz" version="0.0"/>
13 <include name="cairo" version="1.0"/>
14 <package name="pango"/>
15 <c:include name="pango/pango.h"/>
16 <doc:format name="gi-docgen"/>
17 <namespace name="Pango"
18 version="1.0"
19 shared-library="libpango-1.0.so.0"
20 c:identifier-prefixes="Pango"
21 c:symbol-prefixes="pango">
22 <alias name="Glyph" c:type="PangoGlyph">
23 <doc xml:space="preserve"
24 filename="pango/pango-types.h"
25 line="49">A `PangoGlyph` represents a single glyph in the output form of a string.</doc>
26 <source-position filename="pango/pango-types.h" line="54"/>
27 <type name="guint32" c:type="guint32"/>
28 </alias>
29 <alias name="GlyphUnit" c:type="PangoGlyphUnit">
30 <doc xml:space="preserve"
31 filename="pango/pango-glyph.h"
32 line="37">The `PangoGlyphUnit` type is used to store dimensions within
33Pango.
34
35Dimensions are stored in 1/PANGO_SCALE of a device unit.
36(A device unit might be a pixel for screen display, or
37a point on a printer.) PANGO_SCALE is currently 1024, and
38may change in the future (unlikely though), but you should not
39depend on its exact value.
40
41The PANGO_PIXELS() macro can be used to convert from glyph units
42into device units with correct rounding.</doc>
43 <source-position filename="pango/pango-glyph.h" line="52"/>
44 <type name="gint32" c:type="gint32"/>
45 </alias>
46 <alias name="LayoutRun" c:type="PangoLayoutRun">
47 <doc xml:space="preserve"
48 filename="pango/pango-layout.h"
49 line="36">A `PangoLayoutRun` represents a single run within a `PangoLayoutLine`.
50
51It is simply an alternate name for [struct@Pango.GlyphItem].
52See the [struct@Pango.GlyphItem] docs for details on the fields.</doc>
53 <source-position filename="pango/pango-layout.h" line="44"/>
54 <type name="GlyphItem" c:type="PangoGlyphItem"/>
55 </alias>
56 <constant name="ANALYSIS_FLAG_CENTERED_BASELINE"
57 value="1"
58 c:type="PANGO_ANALYSIS_FLAG_CENTERED_BASELINE"
59 version="1.16">
60 <doc xml:space="preserve"
61 filename="pango/pango-item.h"
62 line="33">Whether the segment should be shifted to center around the baseline.
63
64This is mainly used in vertical writing directions.</doc>
65 <source-position filename="pango/pango-item.h" line="42"/>
66 <type name="gint" c:type="gint"/>
67 </constant>
68 <constant name="ANALYSIS_FLAG_IS_ELLIPSIS"
69 value="2"
70 c:type="PANGO_ANALYSIS_FLAG_IS_ELLIPSIS"
71 version="1.36.7">
72 <doc xml:space="preserve"
73 filename="pango/pango-item.h"
74 line="44">Whether this run holds ellipsized text.</doc>
75 <source-position filename="pango/pango-item.h" line="51"/>
76 <type name="gint" c:type="gint"/>
77 </constant>
78 <constant name="ANALYSIS_FLAG_NEED_HYPHEN"
79 value="4"
80 c:type="PANGO_ANALYSIS_FLAG_NEED_HYPHEN"
81 version="1.44">
82 <doc xml:space="preserve"
83 filename="pango/pango-item.h"
84 line="53">Whether to add a hyphen at the end of the run during shaping.</doc>
85 <source-position filename="pango/pango-item.h" line="60"/>
86 <type name="gint" c:type="gint"/>
87 </constant>
88 <function-macro name="ASCENT"
89 c:identifier="PANGO_ASCENT"
90 introspectable="0">
91 <doc xml:space="preserve"
92 filename="pango/pango-types.h"
93 line="179">Extracts the *ascent* from a `PangoRectangle`
94representing glyph extents.
95
96The ascent is the distance from the baseline to the
97highest point of the character. This is positive if the
98glyph ascends above the baseline.</doc>
99 <source-position filename="pango/pango-types.h" line="225"/>
100 <parameters>
101 <parameter name="rect">
102 <doc xml:space="preserve"
103 filename="pango/pango-types.h"
104 line="181">a `PangoRectangle`</doc>
105 </parameter>
106 </parameters>
107 </function-macro>
108 <constant name="ATTR_INDEX_FROM_TEXT_BEGINNING"
109 value="0"
110 c:type="PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING"
111 version="1.24">
112 <doc xml:space="preserve"
113 filename="pango/pango-attributes.h"
114 line="270">Value for @start_index in `PangoAttribute` that indicates
115the beginning of the text.</doc>
116 <source-position filename="pango/pango-attributes.h" line="278"/>
117 <type name="guint" c:type="guint"/>
118 </constant>
119 <constant name="ATTR_INDEX_TO_TEXT_END"
120 value="4294967295"
121 c:type="PANGO_ATTR_INDEX_TO_TEXT_END"
122 version="1.24">
123 <doc xml:space="preserve"
124 filename="pango/pango-attributes.h"
125 line="280">Value for @end_index in `PangoAttribute` that indicates
126the end of the text.</doc>
127 <source-position filename="pango/pango-attributes.h" line="288"/>
128 <type name="guint" c:type="guint"/>
129 </constant>
130 <enumeration name="Alignment"
131 glib:type-name="PangoAlignment"
132 glib:get-type="pango_alignment_get_type"
133 c:type="PangoAlignment">
134 <doc xml:space="preserve"
135 filename="pango/pango-layout.h"
136 line="46">`PangoAlignment` describes how to align the lines of a `PangoLayout`
137within the available space.
138
139If the `PangoLayout` is set to justify using [method@Pango.Layout.set_justify],
140this only affects partial lines.
141
142See [method@Pango.Layout.set_auto_dir] for how text direction affects
143the interpretation of `PangoAlignment` values.</doc>
144 <member name="left"
145 value="0"
146 c:identifier="PANGO_ALIGN_LEFT"
147 glib:nick="left"
148 glib:name="PANGO_ALIGN_LEFT">
149 <doc xml:space="preserve"
150 filename="pango/pango-layout.h"
151 line="48">Put all available space on the right</doc>
152 </member>
153 <member name="center"
154 value="1"
155 c:identifier="PANGO_ALIGN_CENTER"
156 glib:nick="center"
157 glib:name="PANGO_ALIGN_CENTER">
158 <doc xml:space="preserve"
159 filename="pango/pango-layout.h"
160 line="49">Center the line within the available space</doc>
161 </member>
162 <member name="right"
163 value="2"
164 c:identifier="PANGO_ALIGN_RIGHT"
165 glib:nick="right"
166 glib:name="PANGO_ALIGN_RIGHT">
167 <doc xml:space="preserve"
168 filename="pango/pango-layout.h"
169 line="50">Put all available space on the left</doc>
170 </member>
171 </enumeration>
172 <record name="Analysis" c:type="PangoAnalysis">
173 <doc xml:space="preserve"
174 filename="pango/pango-item.h"
175 line="62">The `PangoAnalysis` structure stores information about
176the properties of a segment of text.</doc>
177 <source-position filename="pango/pango-item.h" line="96"/>
178 <field name="shape_engine" writable="1">
179 <doc xml:space="preserve"
180 filename="pango/pango-item.h"
181 line="64">unused, reserved</doc>
182 <type name="gpointer" c:type="gpointer"/>
183 </field>
184 <field name="lang_engine" writable="1">
185 <doc xml:space="preserve"
186 filename="pango/pango-item.h"
187 line="65">unused, reserved</doc>
188 <type name="gpointer" c:type="gpointer"/>
189 </field>
190 <field name="font" writable="1">
191 <doc xml:space="preserve"
192 filename="pango/pango-item.h"
193 line="66">the font for this segment.</doc>
194 <type name="Font" c:type="PangoFont*"/>
195 </field>
196 <field name="level" writable="1">
197 <doc xml:space="preserve"
198 filename="pango/pango-item.h"
199 line="67">the bidirectional level for this segment.</doc>
200 <type name="guint8" c:type="guint8"/>
201 </field>
202 <field name="gravity" writable="1">
203 <doc xml:space="preserve"
204 filename="pango/pango-item.h"
205 line="68">the glyph orientation for this segment (A `PangoGravity`).</doc>
206 <type name="guint8" c:type="guint8"/>
207 </field>
208 <field name="flags" writable="1">
209 <doc xml:space="preserve"
210 filename="pango/pango-item.h"
211 line="69">boolean flags for this segment (Since: 1.16).</doc>
212 <type name="guint8" c:type="guint8"/>
213 </field>
214 <field name="script" writable="1">
215 <doc xml:space="preserve"
216 filename="pango/pango-item.h"
217 line="70">the detected script for this segment (A `PangoScript`) (Since: 1.18).</doc>
218 <type name="guint8" c:type="guint8"/>
219 </field>
220 <field name="language" writable="1">
221 <doc xml:space="preserve"
222 filename="pango/pango-item.h"
223 line="71">the detected language for this segment.</doc>
224 <type name="Language" c:type="PangoLanguage*"/>
225 </field>
226 <field name="extra_attrs" writable="1">
227 <doc xml:space="preserve"
228 filename="pango/pango-item.h"
229 line="72">extra attributes for this segment.</doc>
230 <type name="GLib.SList" c:type="GSList*">
231 <type name="gpointer" c:type="gpointer"/>
232 </type>
233 </field>
234 </record>
235 <record name="AttrClass" c:type="PangoAttrClass">
236 <doc xml:space="preserve"
237 filename="pango/pango-attributes.h"
238 line="336">The `PangoAttrClass` structure stores the type and operations for
239a particular type of attribute.
240
241The functions in this structure should not be called directly. Instead,
242one should use the wrapper functions provided for `PangoAttribute`.</doc>
243 <source-position filename="pango/pango-attributes.h" line="359"/>
244 <field name="type" writable="1">
245 <doc xml:space="preserve"
246 filename="pango/pango-attributes.h"
247 line="338">the type ID for this attribute</doc>
248 <type name="AttrType" c:type="PangoAttrType"/>
249 </field>
250 <field name="copy">
251 <doc xml:space="preserve"
252 filename="pango/pango-attributes.h"
253 line="339">function to duplicate an attribute of this type
254 (see [method@Pango.Attribute.copy])</doc>
255 <callback name="copy">
256 <source-position filename="pango/pango-attributes.h" line="356"/>
257 <return-value transfer-ownership="full">
258 <type name="Attribute" c:type="PangoAttribute*"/>
259 </return-value>
260 <parameters>
261 <parameter name="attr" transfer-ownership="none">
262 <type name="Attribute" c:type="const PangoAttribute*"/>
263 </parameter>
264 </parameters>
265 </callback>
266 </field>
267 <field name="destroy">
268 <doc xml:space="preserve"
269 filename="pango/pango-attributes.h"
270 line="341">function to free an attribute of this type
271 (see [method@Pango.Attribute.destroy])</doc>
272 <callback name="destroy">
273 <source-position filename="pango/pango-attributes.h" line="357"/>
274 <return-value transfer-ownership="none">
275 <type name="none" c:type="void"/>
276 </return-value>
277 <parameters>
278 <parameter name="attr" transfer-ownership="none">
279 <type name="Attribute" c:type="PangoAttribute*"/>
280 </parameter>
281 </parameters>
282 </callback>
283 </field>
284 <field name="equal">
285 <doc xml:space="preserve"
286 filename="pango/pango-attributes.h"
287 line="343">function to check two attributes of this type for equality
288 (see [method@Pango.Attribute.equal])</doc>
289 <callback name="equal">
290 <source-position filename="pango/pango-attributes.h" line="358"/>
291 <return-value transfer-ownership="none">
292 <type name="gboolean" c:type="gboolean"/>
293 </return-value>
294 <parameters>
295 <parameter name="attr1" transfer-ownership="none">
296 <type name="Attribute" c:type="const PangoAttribute*"/>
297 </parameter>
298 <parameter name="attr2" transfer-ownership="none">
299 <type name="Attribute" c:type="const PangoAttribute*"/>
300 </parameter>
301 </parameters>
302 </callback>
303 </field>
304 </record>
305 <record name="AttrColor" c:type="PangoAttrColor">
306 <doc xml:space="preserve"
307 filename="pango/pango-attributes.h"
308 line="413">The `PangoAttrColor` structure is used to represent attributes that
309are colors.</doc>
310 <source-position filename="pango/pango-attributes.h" line="425"/>
311 <field name="attr" writable="1">
312 <doc xml:space="preserve"
313 filename="pango/pango-attributes.h"
314 line="415">the common portion of the attribute</doc>
315 <type name="Attribute" c:type="PangoAttribute"/>
316 </field>
317 <field name="color" writable="1">
318 <doc xml:space="preserve"
319 filename="pango/pango-attributes.h"
320 line="416">the `PangoColor` which is the value of the attribute</doc>
321 <type name="Color" c:type="PangoColor"/>
322 </field>
323 </record>
324 <callback name="AttrDataCopyFunc" c:type="PangoAttrDataCopyFunc">
325 <doc xml:space="preserve"
326 filename="pango/pango-attributes.h"
327 line="326">Type of a function that can duplicate user data for an attribute.</doc>
328 <source-position filename="pango/pango-attributes.h" line="334"/>
329 <return-value transfer-ownership="none" nullable="1">
330 <doc xml:space="preserve"
331 filename="pango/pango-attributes.h"
332 line="332">new copy of @user_data.</doc>
333 <type name="gpointer" c:type="gpointer"/>
334 </return-value>
335 <parameters>
336 <parameter name="user_data"
337 transfer-ownership="none"
338 nullable="1"
339 allow-none="1"
340 closure="0">
341 <doc xml:space="preserve"
342 filename="pango/pango-attributes.h"
343 line="328">user data to copy</doc>
344 <type name="gpointer" c:type="gconstpointer"/>
345 </parameter>
346 </parameters>
347 </callback>
348 <callback name="AttrFilterFunc" c:type="PangoAttrFilterFunc">
349 <doc xml:space="preserve"
350 filename="pango/pango-attributes.h"
351 line="313">Type of a function filtering a list of attributes.</doc>
352 <source-position filename="pango/pango-attributes.h" line="323"/>
353 <return-value transfer-ownership="none">
354 <doc xml:space="preserve"
355 filename="pango/pango-attributes.h"
356 line="320">%TRUE if the attribute should be selected for
357 filtering, %FALSE otherwise.</doc>
358 <type name="gboolean" c:type="gboolean"/>
359 </return-value>
360 <parameters>
361 <parameter name="attribute" transfer-ownership="none">
362 <doc xml:space="preserve"
363 filename="pango/pango-attributes.h"
364 line="315">a Pango attribute</doc>
365 <type name="Attribute" c:type="PangoAttribute*"/>
366 </parameter>
367 <parameter name="user_data"
368 transfer-ownership="none"
369 nullable="1"
370 allow-none="1"
371 closure="1">
372 <doc xml:space="preserve"
373 filename="pango/pango-attributes.h"
374 line="316">user data passed to the function</doc>
375 <type name="gpointer" c:type="gpointer"/>
376 </parameter>
377 </parameters>
378 </callback>
379 <record name="AttrFloat" c:type="PangoAttrFloat">
380 <doc xml:space="preserve"
381 filename="pango/pango-attributes.h"
382 line="400">The `PangoAttrFloat` structure is used to represent attributes with
383a float or double value.</doc>
384 <source-position filename="pango/pango-attributes.h" line="412"/>
385 <field name="attr" writable="1">
386 <doc xml:space="preserve"
387 filename="pango/pango-attributes.h"
388 line="402">the common portion of the attribute</doc>
389 <type name="Attribute" c:type="PangoAttribute"/>
390 </field>
391 <field name="value" writable="1">
392 <doc xml:space="preserve"
393 filename="pango/pango-attributes.h"
394 line="403">the value of the attribute</doc>
395 <type name="gdouble" c:type="double"/>
396 </field>
397 </record>
398 <record name="AttrFontDesc" c:type="PangoAttrFontDesc">
399 <doc xml:space="preserve"
400 filename="pango/pango-attributes.h"
401 line="470">The `PangoAttrFontDesc` structure is used to store an attribute that
402sets all aspects of the font description at once.</doc>
403 <source-position filename="pango/pango-attributes.h" line="482"/>
404 <field name="attr" writable="1">
405 <doc xml:space="preserve"
406 filename="pango/pango-attributes.h"
407 line="472">the common portion of the attribute</doc>
408 <type name="Attribute" c:type="PangoAttribute"/>
409 </field>
410 <field name="desc" writable="1">
411 <doc xml:space="preserve"
412 filename="pango/pango-attributes.h"
413 line="473">the font description which is the value of this attribute</doc>
414 <type name="FontDescription" c:type="PangoFontDescription*"/>
415 </field>
416 <function name="new" c:identifier="pango_attr_font_desc_new">
417 <doc xml:space="preserve"
418 filename="pango/pango-attributes.c"
419 line="762">Create a new font description attribute.
420
421This attribute allows setting family, style, weight, variant,
422stretch, and size simultaneously.</doc>
423 <source-position filename="pango/pango-attributes.h" line="543"/>
424 <return-value transfer-ownership="full">
425 <doc xml:space="preserve"
426 filename="pango/pango-attributes.c"
427 line="771">the newly allocated
428 `PangoAttribute`, which should be freed with
429 [method@Pango.Attribute.destroy]</doc>
430 <type name="Attribute" c:type="PangoAttribute*"/>
431 </return-value>
432 <parameters>
433 <parameter name="desc" transfer-ownership="none">
434 <doc xml:space="preserve"
435 filename="pango/pango-attributes.c"
436 line="764">the font description</doc>
437 <type name="FontDescription" c:type="const PangoFontDescription*"/>
438 </parameter>
439 </parameters>
440 </function>
441 </record>
442 <record name="AttrFontFeatures"
443 c:type="PangoAttrFontFeatures"
444 version="1.38">
445 <doc xml:space="preserve"
446 filename="pango/pango-attributes.h"
447 line="484">The `PangoAttrFontFeatures` structure is used to represent OpenType
448font features as an attribute.</doc>
449 <source-position filename="pango/pango-attributes.h" line="498"/>
450 <field name="attr" writable="1">
451 <doc xml:space="preserve"
452 filename="pango/pango-attributes.h"
453 line="486">the common portion of the attribute</doc>
454 <type name="Attribute" c:type="PangoAttribute"/>
455 </field>
456 <field name="features" writable="1">
457 <doc xml:space="preserve"
458 filename="pango/pango-attributes.h"
459 line="487">the features, as a string in CSS syntax</doc>
460 <type name="utf8" c:type="gchar*"/>
461 </field>
462 <function name="new"
463 c:identifier="pango_attr_font_features_new"
464 version="1.38">
465 <doc xml:space="preserve"
466 filename="pango/pango-attributes.c"
467 line="1224">Create a new font features tag attribute.
468
469You can use this attribute to select OpenType font features like small-caps,
470alternative glyphs, ligatures, etc. for fonts that support them.</doc>
471 <source-position filename="pango/pango-attributes.h" line="583"/>
472 <return-value transfer-ownership="full">
473 <doc xml:space="preserve"
474 filename="pango/pango-attributes.c"
475 line="1234">the newly allocated
476 `PangoAttribute`, which should be freed with
477 [method@Pango.Attribute.destroy]</doc>
478 <type name="Attribute" c:type="PangoAttribute*"/>
479 </return-value>
480 <parameters>
481 <parameter name="features" transfer-ownership="none">
482 <doc xml:space="preserve"
483 filename="pango/pango-attributes.c"
484 line="1226">a string with OpenType font features, with the syntax of the [CSS
485font-feature-settings property](https://www.w3.org/TR/css-fonts-4/#font-rend-desc)</doc>
486 <type name="utf8" c:type="const char*"/>
487 </parameter>
488 </parameters>
489 </function>
490 </record>
491 <record name="AttrInt" c:type="PangoAttrInt">
492 <doc xml:space="preserve"
493 filename="pango/pango-attributes.h"
494 line="387">The `PangoAttrInt` structure is used to represent attributes with
495an integer or enumeration value.</doc>
496 <source-position filename="pango/pango-attributes.h" line="399"/>
497 <field name="attr" writable="1">
498 <doc xml:space="preserve"
499 filename="pango/pango-attributes.h"
500 line="389">the common portion of the attribute</doc>
501 <type name="Attribute" c:type="PangoAttribute"/>
502 </field>
503 <field name="value" writable="1">
504 <doc xml:space="preserve"
505 filename="pango/pango-attributes.h"
506 line="390">the value of the attribute</doc>
507 <type name="gint" c:type="int"/>
508 </field>
509 </record>
510 <record name="AttrIterator"
511 c:type="PangoAttrIterator"
512 opaque="1"
513 glib:type-name="PangoAttrIterator"
514 glib:get-type="pango_attr_iterator_get_type"
515 c:symbol-prefix="attr_iterator">
516 <doc xml:space="preserve"
517 filename="pango/pango-attributes.h"
518 line="639">A `PangoAttrIterator` is used to iterate through a `PangoAttrList`.
519
520A new iterator is created with [method@Pango.AttrList.get_iterator].
521Once the iterator is created, it can be advanced through the style
522changes in the text using [method@Pango.AttrIterator.next]. At each
523style change, the range of the current style segment and the attributes
524currently in effect can be queried.</doc>
525 <source-position filename="pango/pango-attributes.h" line="635"/>
526 <method name="copy" c:identifier="pango_attr_iterator_copy">
527 <doc xml:space="preserve"
528 filename="pango/pango-attributes.c"
529 line="3315">Copy a `PangoAttrIterator`.</doc>
530 <source-position filename="pango/pango-attributes.h" line="728"/>
531 <return-value transfer-ownership="full">
532 <doc xml:space="preserve"
533 filename="pango/pango-attributes.c"
534 line="3321">the newly allocated
535 `PangoAttrIterator`, which should be freed with
536 [method@Pango.AttrIterator.destroy]</doc>
537 <type name="AttrIterator" c:type="PangoAttrIterator*"/>
538 </return-value>
539 <parameters>
540 <instance-parameter name="iterator" transfer-ownership="none">
541 <doc xml:space="preserve"
542 filename="pango/pango-attributes.c"
543 line="3317">a `PangoAttrIterator`</doc>
544 <type name="AttrIterator" c:type="PangoAttrIterator*"/>
545 </instance-parameter>
546 </parameters>
547 </method>
548 <method name="destroy" c:identifier="pango_attr_iterator_destroy">
549 <doc xml:space="preserve"
550 filename="pango/pango-attributes.c"
551 line="3351">Destroy a `PangoAttrIterator` and free all associated memory.</doc>
552 <source-position filename="pango/pango-attributes.h" line="730"/>
553 <return-value transfer-ownership="none">
554 <type name="none" c:type="void"/>
555 </return-value>
556 <parameters>
557 <instance-parameter name="iterator" transfer-ownership="none">
558 <doc xml:space="preserve"
559 filename="pango/pango-attributes.c"
560 line="3353">a `PangoAttrIterator`</doc>
561 <type name="AttrIterator" c:type="PangoAttrIterator*"/>
562 </instance-parameter>
563 </parameters>
564 </method>
565 <method name="get" c:identifier="pango_attr_iterator_get">
566 <doc xml:space="preserve"
567 filename="pango/pango-attributes.c"
568 line="3366">Find the current attribute of a particular type
569at the iterator location.
570
571When multiple attributes of the same type overlap,
572the attribute whose range starts closest to the
573current location is used.</doc>
574 <source-position filename="pango/pango-attributes.h" line="732"/>
575 <return-value transfer-ownership="none" nullable="1">
576 <doc xml:space="preserve"
577 filename="pango/pango-attributes.c"
578 line="3378">the current
579 attribute of the given type, or %NULL if no attribute
580 of that type applies to the current location.</doc>
581 <type name="Attribute" c:type="PangoAttribute*"/>
582 </return-value>
583 <parameters>
584 <instance-parameter name="iterator" transfer-ownership="none">
585 <doc xml:space="preserve"
586 filename="pango/pango-attributes.c"
587 line="3368">a `PangoAttrIterator`</doc>
588 <type name="AttrIterator" c:type="PangoAttrIterator*"/>
589 </instance-parameter>
590 <parameter name="type" transfer-ownership="none">
591 <doc xml:space="preserve"
592 filename="pango/pango-attributes.c"
593 line="3369">the type of attribute to find</doc>
594 <type name="AttrType" c:type="PangoAttrType"/>
595 </parameter>
596 </parameters>
597 </method>
598 <method name="get_attrs"
599 c:identifier="pango_attr_iterator_get_attrs"
600 version="1.2">
601 <doc xml:space="preserve"
602 filename="pango/pango-attributes.c"
603 line="3580">Gets a list of all attributes at the current position of the
604iterator.</doc>
605 <source-position filename="pango/pango-attributes.h" line="740"/>
606 <return-value transfer-ownership="full">
607 <doc xml:space="preserve"
608 filename="pango/pango-attributes.c"
609 line="3587">
610 a list of all attributes for the current range. To free
611 this value, call [method@Pango.Attribute.destroy] on each
612 value and g_slist_free() on the list.</doc>
613 <type name="GLib.SList" c:type="GSList*">
614 <type name="Attribute"/>
615 </type>
616 </return-value>
617 <parameters>
618 <instance-parameter name="iterator" transfer-ownership="none">
619 <doc xml:space="preserve"
620 filename="pango/pango-attributes.c"
621 line="3582">a `PangoAttrIterator`</doc>
622 <type name="AttrIterator" c:type="PangoAttrIterator*"/>
623 </instance-parameter>
624 </parameters>
625 </method>
626 <method name="get_font" c:identifier="pango_attr_iterator_get_font">
627 <doc xml:space="preserve"
628 filename="pango/pango-attributes.c"
629 line="3404">Get the font and other attributes at the current
630iterator position.</doc>
631 <source-position filename="pango/pango-attributes.h" line="735"/>
632 <return-value transfer-ownership="none">
633 <type name="none" c:type="void"/>
634 </return-value>
635 <parameters>
636 <instance-parameter name="iterator" transfer-ownership="none">
637 <doc xml:space="preserve"
638 filename="pango/pango-attributes.c"
639 line="3406">a `PangoAttrIterator`</doc>
640 <type name="AttrIterator" c:type="PangoAttrIterator*"/>
641 </instance-parameter>
642 <parameter name="desc" transfer-ownership="none">
643 <doc xml:space="preserve"
644 filename="pango/pango-attributes.c"
645 line="3407">a `PangoFontDescription` to fill in with the current
646 values. The family name in this structure will be set using
647 [method@Pango.FontDescription.set_family_static] using
648 values from an attribute in the `PangoAttrList` associated
649 with the iterator, so if you plan to keep it around, you
650 must call:
651 `pango_font_description_set_family (desc, pango_font_description_get_family (desc))`.</doc>
652 <type name="FontDescription" c:type="PangoFontDescription*"/>
653 </parameter>
654 <parameter name="language"
655 direction="out"
656 caller-allocates="0"
657 transfer-ownership="full"
658 optional="1"
659 allow-none="1">
660 <doc xml:space="preserve"
661 filename="pango/pango-attributes.c"
662 line="3414">location to store language tag
663 for item, or %NULL if none is found.</doc>
664 <type name="Language" c:type="PangoLanguage**"/>
665 </parameter>
666 <parameter name="extra_attrs"
667 direction="out"
668 caller-allocates="0"
669 transfer-ownership="full"
670 optional="1"
671 allow-none="1">
672 <doc xml:space="preserve"
673 filename="pango/pango-attributes.c"
674 line="3416">
675 location in which to store a list of non-font attributes
676 at the the current position; only the highest priority
677 value of each attribute will be added to this list. In
678 order to free this value, you must call
679 [method@Pango.Attribute.destroy] on each member.</doc>
680 <type name="GLib.SList" c:type="GSList**">
681 <type name="Attribute"/>
682 </type>
683 </parameter>
684 </parameters>
685 </method>
686 <method name="next" c:identifier="pango_attr_iterator_next">
687 <doc xml:space="preserve"
688 filename="pango/pango-attributes.c"
689 line="3244">Advance the iterator until the next change of style.</doc>
690 <source-position filename="pango/pango-attributes.h" line="726"/>
691 <return-value transfer-ownership="none">
692 <doc xml:space="preserve"
693 filename="pango/pango-attributes.c"
694 line="3250">%FALSE if the iterator is at the end
695 of the list, otherwise %TRUE</doc>
696 <type name="gboolean" c:type="gboolean"/>
697 </return-value>
698 <parameters>
699 <instance-parameter name="iterator" transfer-ownership="none">
700 <doc xml:space="preserve"
701 filename="pango/pango-attributes.c"
702 line="3246">a `PangoAttrIterator`</doc>
703 <type name="AttrIterator" c:type="PangoAttrIterator*"/>
704 </instance-parameter>
705 </parameters>
706 </method>
707 <method name="range" c:identifier="pango_attr_iterator_range">
708 <doc xml:space="preserve"
709 filename="pango/pango-attributes.c"
710 line="3218">Get the range of the current segment.
711
712Note that the stored return values are signed, not unsigned
713like the values in `PangoAttribute`. To deal with this API
714oversight, stored return values that wouldn't fit into
715a signed integer are clamped to %G_MAXINT.</doc>
716 <source-position filename="pango/pango-attributes.h" line="722"/>
717 <return-value transfer-ownership="none">
718 <type name="none" c:type="void"/>
719 </return-value>
720 <parameters>
721 <instance-parameter name="iterator" transfer-ownership="none">
722 <doc xml:space="preserve"
723 filename="pango/pango-attributes.c"
724 line="3220">a PangoAttrIterator</doc>
725 <type name="AttrIterator" c:type="PangoAttrIterator*"/>
726 </instance-parameter>
727 <parameter name="start"
728 direction="out"
729 caller-allocates="0"
730 transfer-ownership="full">
731 <doc xml:space="preserve"
732 filename="pango/pango-attributes.c"
733 line="3221">location to store the start of the range</doc>
734 <type name="gint" c:type="int*"/>
735 </parameter>
736 <parameter name="end"
737 direction="out"
738 caller-allocates="0"
739 transfer-ownership="full">
740 <doc xml:space="preserve"
741 filename="pango/pango-attributes.c"
742 line="3222">location to store the end of the range</doc>
743 <type name="gint" c:type="int*"/>
744 </parameter>
745 </parameters>
746 </method>
747 </record>
748 <record name="AttrLanguage" c:type="PangoAttrLanguage">
749 <doc xml:space="preserve"
750 filename="pango/pango-attributes.h"
751 line="374">The `PangoAttrLanguage` structure is used to represent attributes that
752are languages.</doc>
753 <source-position filename="pango/pango-attributes.h" line="386"/>
754 <field name="attr" writable="1">
755 <doc xml:space="preserve"
756 filename="pango/pango-attributes.h"
757 line="376">the common portion of the attribute</doc>
758 <type name="Attribute" c:type="PangoAttribute"/>
759 </field>
760 <field name="value" writable="1">
761 <doc xml:space="preserve"
762 filename="pango/pango-attributes.h"
763 line="377">the `PangoLanguage` which is the value of the attribute</doc>
764 <type name="Language" c:type="PangoLanguage*"/>
765 </field>
766 <function name="new" c:identifier="pango_attr_language_new">
767 <doc xml:space="preserve"
768 filename="pango/pango-attributes.c"
769 line="554">Create a new language tag attribute.</doc>
770 <source-position filename="pango/pango-attributes.h" line="519"/>
771 <return-value transfer-ownership="full">
772 <doc xml:space="preserve"
773 filename="pango/pango-attributes.c"
774 line="560">the newly allocated
775 `PangoAttribute`, which should be freed with
776 [method@Pango.Attribute.destroy]</doc>
777 <type name="Attribute" c:type="PangoAttribute*"/>
778 </return-value>
779 <parameters>
780 <parameter name="language" transfer-ownership="none">
781 <doc xml:space="preserve"
782 filename="pango/pango-attributes.c"
783 line="556">language tag</doc>
784 <type name="Language" c:type="PangoLanguage*"/>
785 </parameter>
786 </parameters>
787 </function>
788 </record>
789 <record name="AttrList"
790 c:type="PangoAttrList"
791 opaque="1"
792 glib:type-name="PangoAttrList"
793 glib:get-type="pango_attr_list_get_type"
794 c:symbol-prefix="attr_list">
795 <doc xml:space="preserve"
796 filename="pango/pango-attributes.h"
797 line="651">A `PangoAttrList` represents a list of attributes that apply to a section
798of text.
799
800The attributes in a `PangoAttrList` are, in general, allowed to overlap in
801an arbitrary fashion. However, if the attributes are manipulated only through
802[method@Pango.AttrList.change], the overlap between properties will meet
803stricter criteria.
804
805Since the `PangoAttrList` structure is stored as a linear list, it is not
806suitable for storing attributes for large amounts of text. In general, you
807should not use a single `PangoAttrList` for more than one paragraph of text.</doc>
808 <source-position filename="pango/pango-attributes.h" line="634"/>
809 <constructor name="new" c:identifier="pango_attr_list_new">
810 <doc xml:space="preserve"
811 filename="pango/pango-attributes.c"
812 line="1856">Create a new empty attribute list with a reference
813count of one.</doc>
814 <source-position filename="pango/pango-attributes.h" line="671"/>
815 <return-value transfer-ownership="full">
816 <doc xml:space="preserve"
817 filename="pango/pango-attributes.c"
818 line="1862">the newly allocated
819 `PangoAttrList`, which should be freed with
820 [method@Pango.AttrList.unref]</doc>
821 <type name="AttrList" c:type="PangoAttrList*"/>
822 </return-value>
823 </constructor>
824 <method name="change" c:identifier="pango_attr_list_change">
825 <doc xml:space="preserve"
826 filename="pango/pango-attributes.c"
827 line="2053">Insert the given attribute into the `PangoAttrList`.
828
829It will replace any attributes of the same type
830on that segment and be merged with any adjoining
831attributes that are identical.
832
833This function is slower than [method@Pango.AttrList.insert]
834for creating an attribute list in order (potentially
835much slower for large lists). However,
836[method@Pango.AttrList.insert] is not suitable for
837continually changing a set of attributes since it
838never removes or combines existing attributes.</doc>
839 <source-position filename="pango/pango-attributes.h" line="685"/>
840 <return-value transfer-ownership="none">
841 <type name="none" c:type="void"/>
842 </return-value>
843 <parameters>
844 <instance-parameter name="list" transfer-ownership="none">
845 <doc xml:space="preserve"
846 filename="pango/pango-attributes.c"
847 line="2055">a `PangoAttrList`</doc>
848 <type name="AttrList" c:type="PangoAttrList*"/>
849 </instance-parameter>
850 <parameter name="attr" transfer-ownership="full">
851 <doc xml:space="preserve"
852 filename="pango/pango-attributes.c"
853 line="2056">the attribute to insert</doc>
854 <type name="Attribute" c:type="PangoAttribute*"/>
855 </parameter>
856 </parameters>
857 </method>
858 <method name="copy" c:identifier="pango_attr_list_copy">
859 <doc xml:space="preserve"
860 filename="pango/pango-attributes.c"
861 line="1941">Copy @list and return an identical new list.</doc>
862 <source-position filename="pango/pango-attributes.h" line="677"/>
863 <return-value transfer-ownership="full" nullable="1">
864 <doc xml:space="preserve"
865 filename="pango/pango-attributes.c"
866 line="1947">the newly allocated
867 `PangoAttrList`, with a reference count of one,
868 which should be freed with [method@Pango.AttrList.unref].
869 Returns %NULL if @list was %NULL.</doc>
870 <type name="AttrList" c:type="PangoAttrList*"/>
871 </return-value>
872 <parameters>
873 <instance-parameter name="list"
874 transfer-ownership="none"
875 nullable="1"
876 allow-none="1">
877 <doc xml:space="preserve"
878 filename="pango/pango-attributes.c"
879 line="1943">a `PangoAttrList`</doc>
880 <type name="AttrList" c:type="PangoAttrList*"/>
881 </instance-parameter>
882 </parameters>
883 </method>
884 <method name="equal" c:identifier="pango_attr_list_equal" version="1.46">
885 <doc xml:space="preserve"
886 filename="pango/pango-attributes.c"
887 line="2433">Checks whether @list and @other_list contain the same
888attributes and whether those attributes apply to the
889same ranges.
890
891Beware that this will return wrong values if any list
892contains duplicates.</doc>
893 <source-position filename="pango/pango-attributes.h" line="707"/>
894 <return-value transfer-ownership="none">
895 <doc xml:space="preserve"
896 filename="pango/pango-attributes.c"
897 line="2445">%TRUE if the lists are equal, %FALSE if
898 they aren't</doc>
899 <type name="gboolean" c:type="gboolean"/>
900 </return-value>
901 <parameters>
902 <instance-parameter name="list" transfer-ownership="none">
903 <doc xml:space="preserve"
904 filename="pango/pango-attributes.c"
905 line="2435">a `PangoAttrList`</doc>
906 <type name="AttrList" c:type="PangoAttrList*"/>
907 </instance-parameter>
908 <parameter name="other_list" transfer-ownership="none">
909 <doc xml:space="preserve"
910 filename="pango/pango-attributes.c"
911 line="2436">the other `PangoAttrList`</doc>
912 <type name="AttrList" c:type="PangoAttrList*"/>
913 </parameter>
914 </parameters>
915 </method>
916 <method name="filter"
917 c:identifier="pango_attr_list_filter"
918 version="1.2">
919 <doc xml:space="preserve"
920 filename="pango/pango-attributes.c"
921 line="2511">Given a `PangoAttrList` and callback function, removes
922any elements of @list for which @func returns %TRUE and
923inserts them into a new list.</doc>
924 <source-position filename="pango/pango-attributes.h" line="699"/>
925 <return-value transfer-ownership="full" nullable="1">
926 <doc xml:space="preserve"
927 filename="pango/pango-attributes.c"
928 line="2522">the new
929 `PangoAttrList` or %NULL if no attributes of the
930 given types were found</doc>
931 <type name="AttrList" c:type="PangoAttrList*"/>
932 </return-value>
933 <parameters>
934 <instance-parameter name="list" transfer-ownership="none">
935 <doc xml:space="preserve"
936 filename="pango/pango-attributes.c"
937 line="2513">a `PangoAttrList`</doc>
938 <type name="AttrList" c:type="PangoAttrList*"/>
939 </instance-parameter>
940 <parameter name="func"
941 transfer-ownership="none"
942 scope="call"
943 closure="1">
944 <doc xml:space="preserve"
945 filename="pango/pango-attributes.c"
946 line="2514">callback function;
947 returns %TRUE if an attribute should be filtered out</doc>
948 <type name="AttrFilterFunc" c:type="PangoAttrFilterFunc"/>
949 </parameter>
950 <parameter name="data"
951 transfer-ownership="none"
952 nullable="1"
953 allow-none="1">
954 <doc xml:space="preserve"
955 filename="pango/pango-attributes.c"
956 line="2516">Data to be passed to @func</doc>
957 <type name="gpointer" c:type="gpointer"/>
958 </parameter>
959 </parameters>
960 </method>
961 <method name="get_attributes"
962 c:identifier="pango_attr_list_get_attributes"
963 version="1.44">
964 <doc xml:space="preserve"
965 filename="pango/pango-attributes.c"
966 line="2399">Gets a list of all attributes in @list.</doc>
967 <source-position filename="pango/pango-attributes.h" line="704"/>
968 <return-value transfer-ownership="full">
969 <doc xml:space="preserve"
970 filename="pango/pango-attributes.c"
971 line="2405">
972 a list of all attributes in @list. To free this value,
973 call [method@Pango.Attribute.destroy] on each value and
974 g_slist_free() on the list.</doc>
975 <type name="GLib.SList" c:type="GSList*">
976 <type name="Attribute"/>
977 </type>
978 </return-value>
979 <parameters>
980 <instance-parameter name="list" transfer-ownership="none">
981 <doc xml:space="preserve"
982 filename="pango/pango-attributes.c"
983 line="2401">a `PangoAttrList`</doc>
984 <type name="AttrList" c:type="PangoAttrList*"/>
985 </instance-parameter>
986 </parameters>
987 </method>
988 <method name="get_iterator" c:identifier="pango_attr_list_get_iterator">
989 <doc xml:space="preserve"
990 filename="pango/pango-attributes.c"
991 line="3193">Create a iterator initialized to the beginning of the list.
992
993@list must not be modified until this iterator is freed.</doc>
994 <source-position filename="pango/pango-attributes.h" line="719"/>
995 <return-value transfer-ownership="full">
996 <doc xml:space="preserve"
997 filename="pango/pango-attributes.c"
998 line="3201">the newly allocated
999 `PangoAttrIterator`, which should be freed with
1000 [method@Pango.AttrIterator.destroy]</doc>
1001 <type name="AttrIterator" c:type="PangoAttrIterator*"/>
1002 </return-value>
1003 <parameters>
1004 <instance-parameter name="list" transfer-ownership="none">
1005 <doc xml:space="preserve"
1006 filename="pango/pango-attributes.c"
1007 line="3195">a `PangoAttrList`</doc>
1008 <type name="AttrList" c:type="PangoAttrList*"/>
1009 </instance-parameter>
1010 </parameters>
1011 </method>
1012 <method name="insert" c:identifier="pango_attr_list_insert">
1013 <doc xml:space="preserve"
1014 filename="pango/pango-attributes.c"
1015 line="2013">Insert the given attribute into the `PangoAttrList`.
1016
1017It will be inserted after all other attributes with a
1018matching @start_index.</doc>
1019 <source-position filename="pango/pango-attributes.h" line="679"/>
1020 <return-value transfer-ownership="none">
1021 <type name="none" c:type="void"/>
1022 </return-value>
1023 <parameters>
1024 <instance-parameter name="list" transfer-ownership="none">
1025 <doc xml:space="preserve"
1026 filename="pango/pango-attributes.c"
1027 line="2015">a `PangoAttrList`</doc>
1028 <type name="AttrList" c:type="PangoAttrList*"/>
1029 </instance-parameter>
1030 <parameter name="attr" transfer-ownership="full">
1031 <doc xml:space="preserve"
1032 filename="pango/pango-attributes.c"
1033 line="2016">the attribute to insert</doc>
1034 <type name="Attribute" c:type="PangoAttribute*"/>
1035 </parameter>
1036 </parameters>
1037 </method>
1038 <method name="insert_before"
1039 c:identifier="pango_attr_list_insert_before">
1040 <doc xml:space="preserve"
1041 filename="pango/pango-attributes.c"
1042 line="2033">Insert the given attribute into the `PangoAttrList`.
1043
1044It will be inserted before all other attributes with a
1045matching @start_index.</doc>
1046 <source-position filename="pango/pango-attributes.h" line="682"/>
1047 <return-value transfer-ownership="none">
1048 <type name="none" c:type="void"/>
1049 </return-value>
1050 <parameters>
1051 <instance-parameter name="list" transfer-ownership="none">
1052 <doc xml:space="preserve"
1053 filename="pango/pango-attributes.c"
1054 line="2035">a `PangoAttrList`</doc>
1055 <type name="AttrList" c:type="PangoAttrList*"/>
1056 </instance-parameter>
1057 <parameter name="attr" transfer-ownership="full">
1058 <doc xml:space="preserve"
1059 filename="pango/pango-attributes.c"
1060 line="2036">the attribute to insert</doc>
1061 <type name="Attribute" c:type="PangoAttribute*"/>
1062 </parameter>
1063 </parameters>
1064 </method>
1065 <method name="ref" c:identifier="pango_attr_list_ref" version="1.10">
1066 <doc xml:space="preserve"
1067 filename="pango/pango-attributes.c"
1068 line="1876">Increase the reference count of the given attribute
1069list by one.</doc>
1070 <source-position filename="pango/pango-attributes.h" line="673"/>
1071 <return-value transfer-ownership="full">
1072 <doc xml:space="preserve"
1073 filename="pango/pango-attributes.c"
1074 line="1883">The attribute list passed in</doc>
1075 <type name="AttrList" c:type="PangoAttrList*"/>
1076 </return-value>
1077 <parameters>
1078 <instance-parameter name="list"
1079 transfer-ownership="none"
1080 nullable="1"
1081 allow-none="1">
1082 <doc xml:space="preserve"
1083 filename="pango/pango-attributes.c"
1084 line="1878">a `PangoAttrList`</doc>
1085 <type name="AttrList" c:type="PangoAttrList*"/>
1086 </instance-parameter>
1087 </parameters>
1088 </method>
1089 <method name="splice" c:identifier="pango_attr_list_splice">
1090 <doc xml:space="preserve"
1091 filename="pango/pango-attributes.c"
1092 line="2299">This function opens up a hole in @list, fills it
1093in with attributes from the left, and then merges
1094@other on top of the hole.
1095
1096This operation is equivalent to stretching every attribute
1097that applies at position @pos in @list by an amount @len,
1098and then calling [method@Pango.AttrList.change] with a copy
1099of each attribute in @other in sequence (offset in position
1100by @pos, and limited in length to @len).
1101
1102This operation proves useful for, for instance, inserting
1103a pre-edit string in the middle of an edit buffer.
1104
1105For backwards compatibility, the function behaves differently
1106when @len is 0. In this case, the attributes from @other are
1107not imited to @len, and are just overlayed on top of @list.
1108
1109This mode is useful for merging two lists of attributes together.</doc>
1110 <source-position filename="pango/pango-attributes.h" line="688"/>
1111 <return-value transfer-ownership="none">
1112 <type name="none" c:type="void"/>
1113 </return-value>
1114 <parameters>
1115 <instance-parameter name="list" transfer-ownership="none">
1116 <doc xml:space="preserve"
1117 filename="pango/pango-attributes.c"
1118 line="2301">a `PangoAttrList`</doc>
1119 <type name="AttrList" c:type="PangoAttrList*"/>
1120 </instance-parameter>
1121 <parameter name="other" transfer-ownership="none">
1122 <doc xml:space="preserve"
1123 filename="pango/pango-attributes.c"
1124 line="2302">another `PangoAttrList`</doc>
1125 <type name="AttrList" c:type="PangoAttrList*"/>
1126 </parameter>
1127 <parameter name="pos" transfer-ownership="none">
1128 <doc xml:space="preserve"
1129 filename="pango/pango-attributes.c"
1130 line="2303">the position in @list at which to insert @other</doc>
1131 <type name="gint" c:type="int"/>
1132 </parameter>
1133 <parameter name="len" transfer-ownership="none">
1134 <doc xml:space="preserve"
1135 filename="pango/pango-attributes.c"
1136 line="2304">the length of the spliced segment. (Note that this
1137 must be specified since the attributes in @other may only
1138 be present at some subsection of this range)</doc>
1139 <type name="gint" c:type="int"/>
1140 </parameter>
1141 </parameters>
1142 </method>
1143 <method name="to_string"
1144 c:identifier="pango_attr_list_to_string"
1145 version="1.50">
1146 <doc xml:space="preserve"
1147 filename="pango/pango-attributes.c"
1148 line="2704">Serializes a `PangoAttrList` to a string.
1149
1150In the resulting string, serialized attributes are separated by newlines or commas.
1151Individual attributes are serialized to a string of the form
1152
1153 [START END] TYPE VALUE
1154
1155Where START and END are the indices (with -1 being accepted in place
1156of MAXUINT), TYPE is the nickname of the attribute value type, e.g.
1157_weight_ or _stretch_, and the value is serialized according to its type:
1158
1159Optionally, START and END can be omitted to indicate unlimited extent.
1160
1161- enum values as nick or numeric value
1162- boolean values as _true_ or _false_
1163- integers and floats as numbers
1164- strings as string, optionally quoted
1165- font features as quoted string
1166- PangoLanguage as string
1167- PangoFontDescription as serialized by [method@Pango.FontDescription.to_string], quoted
1168- PangoColor as serialized by [method@Pango.Color.to_string]
1169
1170Examples:
1171
1172 0 10 foreground red, 5 15 weight bold, 0 200 font-desc "Sans 10"
1173
1174 0 -1 weight 700
1175 0 100 family Times
1176
1177 weight bold
1178
1179To parse the returned value, use [func@Pango.AttrList.from_string].
1180
1181Note that shape attributes can not be serialized.</doc>
1182 <source-position filename="pango/pango-attributes.h" line="711"/>
1183 <return-value transfer-ownership="full">
1184 <doc xml:space="preserve"
1185 filename="pango/pango-attributes.c"
1186 line="2743">a newly allocated string</doc>
1187 <type name="utf8" c:type="char*"/>
1188 </return-value>
1189 <parameters>
1190 <instance-parameter name="list" transfer-ownership="none">
1191 <doc xml:space="preserve"
1192 filename="pango/pango-attributes.c"
1193 line="2706">a `PangoAttrList`</doc>
1194 <type name="AttrList" c:type="PangoAttrList*"/>
1195 </instance-parameter>
1196 </parameters>
1197 </method>
1198 <method name="unref" c:identifier="pango_attr_list_unref">
1199 <doc xml:space="preserve"
1200 filename="pango/pango-attributes.c"
1201 line="1916">Decrease the reference count of the given attribute
1202list by one.
1203
1204If the result is zero, free the attribute list
1205and the attributes it contains.</doc>
1206 <source-position filename="pango/pango-attributes.h" line="675"/>
1207 <return-value transfer-ownership="none">
1208 <type name="none" c:type="void"/>
1209 </return-value>
1210 <parameters>
1211 <instance-parameter name="list"
1212 transfer-ownership="none"
1213 nullable="1"
1214 allow-none="1">
1215 <doc xml:space="preserve"
1216 filename="pango/pango-attributes.c"
1217 line="1918">a `PangoAttrList`</doc>
1218 <type name="AttrList" c:type="PangoAttrList*"/>
1219 </instance-parameter>
1220 </parameters>
1221 </method>
1222 <method name="update"
1223 c:identifier="pango_attr_list_update"
1224 version="1.44">
1225 <doc xml:space="preserve"
1226 filename="pango/pango-attributes.c"
1227 line="2216">Update indices of attributes in @list for a change in the
1228text they refer to.
1229
1230The change that this function applies is removing @remove
1231bytes at position @pos and inserting @add bytes instead.
1232
1233Attributes that fall entirely in the (@pos, @pos + @remove)
1234range are removed.
1235
1236Attributes that start or end inside the (@pos, @pos + @remove)
1237range are shortened to reflect the removal.
1238
1239Attributes start and end positions are updated if they are
1240behind @pos + @remove.</doc>
1241 <source-position filename="pango/pango-attributes.h" line="693"/>
1242 <return-value transfer-ownership="none">
1243 <type name="none" c:type="void"/>
1244 </return-value>
1245 <parameters>
1246 <instance-parameter name="list" transfer-ownership="none">
1247 <doc xml:space="preserve"
1248 filename="pango/pango-attributes.c"
1249 line="2218">a `PangoAttrList`</doc>
1250 <type name="AttrList" c:type="PangoAttrList*"/>
1251 </instance-parameter>
1252 <parameter name="pos" transfer-ownership="none">
1253 <doc xml:space="preserve"
1254 filename="pango/pango-attributes.c"
1255 line="2219">the position of the change</doc>
1256 <type name="gint" c:type="int"/>
1257 </parameter>
1258 <parameter name="remove" transfer-ownership="none">
1259 <doc xml:space="preserve"
1260 filename="pango/pango-attributes.c"
1261 line="2220">the number of removed bytes</doc>
1262 <type name="gint" c:type="int"/>
1263 </parameter>
1264 <parameter name="add" transfer-ownership="none">
1265 <doc xml:space="preserve"
1266 filename="pango/pango-attributes.c"
1267 line="2221">the number of added bytes</doc>
1268 <type name="gint" c:type="int"/>
1269 </parameter>
1270 </parameters>
1271 </method>
1272 <function name="from_string"
1273 c:identifier="pango_attr_list_from_string"
1274 version="1.50">
1275 <doc xml:space="preserve"
1276 filename="pango/pango-attributes.c"
1277 line="2819">Deserializes a `PangoAttrList` from a string.
1278
1279This is the counterpart to [method@Pango.AttrList.to_string].
1280See that functions for details about the format.</doc>
1281 <source-position filename="pango/pango-attributes.h" line="713"/>
1282 <return-value transfer-ownership="full" nullable="1">
1283 <doc xml:space="preserve"
1284 filename="pango/pango-attributes.c"
1285 line="2828">a new `PangoAttrList`</doc>
1286 <type name="AttrList" c:type="PangoAttrList*"/>
1287 </return-value>
1288 <parameters>
1289 <parameter name="text" transfer-ownership="none">
1290 <doc xml:space="preserve"
1291 filename="pango/pango-attributes.c"
1292 line="2821">a string</doc>
1293 <type name="utf8" c:type="const char*"/>
1294 </parameter>
1295 </parameters>
1296 </function>
1297 </record>
1298 <record name="AttrShape" c:type="PangoAttrShape">
1299 <doc xml:space="preserve"
1300 filename="pango/pango-attributes.h"
1301 line="447">The `PangoAttrShape` structure is used to represent attributes which
1302impose shape restrictions.</doc>
1303 <source-position filename="pango/pango-attributes.h" line="468"/>
1304 <field name="attr" writable="1">
1305 <doc xml:space="preserve"
1306 filename="pango/pango-attributes.h"
1307 line="449">the common portion of the attribute</doc>
1308 <type name="Attribute" c:type="PangoAttribute"/>
1309 </field>
1310 <field name="ink_rect" writable="1">
1311 <doc xml:space="preserve"
1312 filename="pango/pango-attributes.h"
1313 line="450">the ink rectangle to restrict to</doc>
1314 <type name="Rectangle" c:type="PangoRectangle"/>
1315 </field>
1316 <field name="logical_rect" writable="1">
1317 <doc xml:space="preserve"
1318 filename="pango/pango-attributes.h"
1319 line="451">the logical rectangle to restrict to</doc>
1320 <type name="Rectangle" c:type="PangoRectangle"/>
1321 </field>
1322 <field name="data" writable="1">
1323 <doc xml:space="preserve"
1324 filename="pango/pango-attributes.h"
1325 line="452">user data set (see [func@Pango.AttrShape.new_with_data])</doc>
1326 <type name="gpointer" c:type="gpointer"/>
1327 </field>
1328 <field name="copy_func" writable="1">
1329 <doc xml:space="preserve"
1330 filename="pango/pango-attributes.h"
1331 line="453">copy function for the user data</doc>
1332 <type name="AttrDataCopyFunc" c:type="PangoAttrDataCopyFunc"/>
1333 </field>
1334 <field name="destroy_func" writable="1">
1335 <doc xml:space="preserve"
1336 filename="pango/pango-attributes.h"
1337 line="454">destroy function for the user data</doc>
1338 <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
1339 </field>
1340 <function name="new" c:identifier="pango_attr_shape_new">
1341 <doc xml:space="preserve"
1342 filename="pango/pango-attributes.c"
1343 line="1145">Create a new shape attribute.
1344
1345A shape is used to impose a particular ink and logical
1346rectangle on the result of shaping a particular glyph.
1347This might be used, for instance, for embedding a picture
1348or a widget inside a `PangoLayout`.</doc>
1349 <source-position filename="pango/pango-attributes.h" line="570"/>
1350 <return-value transfer-ownership="full">
1351 <doc xml:space="preserve"
1352 filename="pango/pango-attributes.c"
1353 line="1157">the newly allocated
1354 `PangoAttribute`, which should be freed with
1355 [method@Pango.Attribute.destroy]</doc>
1356 <type name="Attribute" c:type="PangoAttribute*"/>
1357 </return-value>
1358 <parameters>
1359 <parameter name="ink_rect" transfer-ownership="none">
1360 <doc xml:space="preserve"
1361 filename="pango/pango-attributes.c"
1362 line="1147">ink rectangle to assign to each character</doc>
1363 <type name="Rectangle" c:type="const PangoRectangle*"/>
1364 </parameter>
1365 <parameter name="logical_rect" transfer-ownership="none">
1366 <doc xml:space="preserve"
1367 filename="pango/pango-attributes.c"
1368 line="1148">logical rectangle to assign to each character</doc>
1369 <type name="Rectangle" c:type="const PangoRectangle*"/>
1370 </parameter>
1371 </parameters>
1372 </function>
1373 <function name="new_with_data"
1374 c:identifier="pango_attr_shape_new_with_data"
1375 version="1.8">
1376 <doc xml:space="preserve"
1377 filename="pango/pango-attributes.c"
1378 line="1092">Creates a new shape attribute.
1379
1380Like [func@Pango.AttrShape.new], but a user data pointer
1381is also provided; this pointer can be accessed when later
1382rendering the glyph.</doc>
1383 <source-position filename="pango/pango-attributes.h" line="573"/>
1384 <return-value transfer-ownership="full">
1385 <doc xml:space="preserve"
1386 filename="pango/pango-attributes.c"
1387 line="1109">the newly allocated
1388 `PangoAttribute`, which should be freed with
1389 [method@Pango.Attribute.destroy]</doc>
1390 <type name="Attribute" c:type="PangoAttribute*"/>
1391 </return-value>
1392 <parameters>
1393 <parameter name="ink_rect" transfer-ownership="none">
1394 <doc xml:space="preserve"
1395 filename="pango/pango-attributes.c"
1396 line="1094">ink rectangle to assign to each character</doc>
1397 <type name="Rectangle" c:type="const PangoRectangle*"/>
1398 </parameter>
1399 <parameter name="logical_rect" transfer-ownership="none">
1400 <doc xml:space="preserve"
1401 filename="pango/pango-attributes.c"
1402 line="1095">logical rectangle to assign to each character</doc>
1403 <type name="Rectangle" c:type="const PangoRectangle*"/>
1404 </parameter>
1405 <parameter name="data"
1406 transfer-ownership="none"
1407 nullable="1"
1408 allow-none="1">
1409 <doc xml:space="preserve"
1410 filename="pango/pango-attributes.c"
1411 line="1096">user data pointer</doc>
1412 <type name="gpointer" c:type="gpointer"/>
1413 </parameter>
1414 <parameter name="copy_func"
1415 transfer-ownership="none"
1416 nullable="1"
1417 allow-none="1"
1418 scope="notified"
1419 destroy="4">
1420 <doc xml:space="preserve"
1421 filename="pango/pango-attributes.c"
1422 line="1097">function to copy @data when the
1423 attribute is copied. If %NULL, @data is simply copied
1424 as a pointer</doc>
1425 <type name="AttrDataCopyFunc" c:type="PangoAttrDataCopyFunc"/>
1426 </parameter>
1427 <parameter name="destroy_func"
1428 transfer-ownership="none"
1429 nullable="1"
1430 allow-none="1"
1431 scope="async">
1432 <doc xml:space="preserve"
1433 filename="pango/pango-attributes.c"
1434 line="1100">function to free @data when the
1435 attribute is freed</doc>
1436 <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
1437 </parameter>
1438 </parameters>
1439 </function>
1440 </record>
1441 <record name="AttrSize" c:type="PangoAttrSize">
1442 <doc xml:space="preserve"
1443 filename="pango/pango-attributes.h"
1444 line="427">The `PangoAttrSize` structure is used to represent attributes which
1445set font size.</doc>
1446 <source-position filename="pango/pango-attributes.h" line="445"/>
1447 <field name="attr" writable="1">
1448 <doc xml:space="preserve"
1449 filename="pango/pango-attributes.h"
1450 line="429">the common portion of the attribute</doc>
1451 <type name="Attribute" c:type="PangoAttribute"/>
1452 </field>
1453 <field name="size" writable="1">
1454 <doc xml:space="preserve"
1455 filename="pango/pango-attributes.h"
1456 line="430">size of font, in units of 1/%PANGO_SCALE of a point (for
1457 %PANGO_ATTR_SIZE) or of a device unit (for %PANGO_ATTR_ABSOLUTE_SIZE)</doc>
1458 <type name="gint" c:type="int"/>
1459 </field>
1460 <field name="absolute" writable="1" bits="1">
1461 <doc xml:space="preserve"
1462 filename="pango/pango-attributes.h"
1463 line="432">whether the font size is in device units or points.
1464 This field is only present for compatibility with Pango-1.8.0
1465 (%PANGO_ATTR_ABSOLUTE_SIZE was added in 1.8.1); and always will
1466 be %FALSE for %PANGO_ATTR_SIZE and %TRUE for %PANGO_ATTR_ABSOLUTE_SIZE.</doc>
1467 <type name="guint" c:type="guint"/>
1468 </field>
1469 <function name="new" c:identifier="pango_attr_size_new">
1470 <doc xml:space="preserve"
1471 filename="pango/pango-attributes.c"
1472 line="637">Create a new font-size attribute in fractional points.</doc>
1473 <source-position filename="pango/pango-attributes.h" line="531"/>
1474 <return-value transfer-ownership="full">
1475 <doc xml:space="preserve"
1476 filename="pango/pango-attributes.c"
1477 line="643">the newly allocated
1478 `PangoAttribute`, which should be freed with
1479 [method@Pango.Attribute.destroy]</doc>
1480 <type name="Attribute" c:type="PangoAttribute*"/>
1481 </return-value>
1482 <parameters>
1483 <parameter name="size" transfer-ownership="none">
1484 <doc xml:space="preserve"
1485 filename="pango/pango-attributes.c"
1486 line="639">the font size, in %PANGO_SCALE-ths of a point</doc>
1487 <type name="gint" c:type="int"/>
1488 </parameter>
1489 </parameters>
1490 </function>
1491 <function name="new_absolute"
1492 c:identifier="pango_attr_size_new_absolute"
1493 version="1.8">
1494 <doc xml:space="preserve"
1495 filename="pango/pango-attributes.c"
1496 line="653">Create a new font-size attribute in device units.</doc>
1497 <source-position filename="pango/pango-attributes.h" line="533"/>
1498 <return-value transfer-ownership="full">
1499 <doc xml:space="preserve"
1500 filename="pango/pango-attributes.c"
1501 line="659">the newly allocated
1502 `PangoAttribute`, which should be freed with
1503 [method@Pango.Attribute.destroy]</doc>
1504 <type name="Attribute" c:type="PangoAttribute*"/>
1505 </return-value>
1506 <parameters>
1507 <parameter name="size" transfer-ownership="none">
1508 <doc xml:space="preserve"
1509 filename="pango/pango-attributes.c"
1510 line="655">the font size, in %PANGO_SCALE-ths of a device unit</doc>
1511 <type name="gint" c:type="int"/>
1512 </parameter>
1513 </parameters>
1514 </function>
1515 </record>
1516 <record name="AttrString" c:type="PangoAttrString">
1517 <doc xml:space="preserve"
1518 filename="pango/pango-attributes.h"
1519 line="361">The `PangoAttrString` structure is used to represent attributes with
1520a string value.</doc>
1521 <source-position filename="pango/pango-attributes.h" line="373"/>
1522 <field name="attr" writable="1">
1523 <doc xml:space="preserve"
1524 filename="pango/pango-attributes.h"
1525 line="363">the common portion of the attribute</doc>
1526 <type name="Attribute" c:type="PangoAttribute"/>
1527 </field>
1528 <field name="value" writable="1">
1529 <doc xml:space="preserve"
1530 filename="pango/pango-attributes.h"
1531 line="364">the string which is the value of the attribute</doc>
1532 <type name="utf8" c:type="char*"/>
1533 </field>
1534 </record>
1535 <enumeration name="AttrType"
1536 glib:type-name="PangoAttrType"
1537 glib:get-type="pango_attr_type_get_type"
1538 c:type="PangoAttrType">
1539 <doc xml:space="preserve"
1540 filename="pango/pango-attributes.h"
1541 line="45">The `PangoAttrType` distinguishes between different types of attributes.
1542
1543Along with the predefined values, it is possible to allocate additional
1544values for custom attributes using [func@AttrType.register]. The predefined
1545values are given below. The type of structure used to store the attribute is
1546listed in parentheses after the description.</doc>
1547 <member name="invalid"
1548 value="0"
1549 c:identifier="PANGO_ATTR_INVALID"
1550 glib:nick="invalid"
1551 glib:name="PANGO_ATTR_INVALID">
1552 <doc xml:space="preserve"
1553 filename="pango/pango-attributes.h"
1554 line="47">does not happen</doc>
1555 </member>
1556 <member name="language"
1557 value="1"
1558 c:identifier="PANGO_ATTR_LANGUAGE"
1559 glib:nick="language"
1560 glib:name="PANGO_ATTR_LANGUAGE">
1561 <doc xml:space="preserve"
1562 filename="pango/pango-attributes.h"
1563 line="48">language ([struct@Pango.AttrLanguage])</doc>
1564 </member>
1565 <member name="family"
1566 value="2"
1567 c:identifier="PANGO_ATTR_FAMILY"
1568 glib:nick="family"
1569 glib:name="PANGO_ATTR_FAMILY">
1570 <doc xml:space="preserve"
1571 filename="pango/pango-attributes.h"
1572 line="49">font family name list ([struct@Pango.AttrString])</doc>
1573 </member>
1574 <member name="style"
1575 value="3"
1576 c:identifier="PANGO_ATTR_STYLE"
1577 glib:nick="style"
1578 glib:name="PANGO_ATTR_STYLE">
1579 <doc xml:space="preserve"
1580 filename="pango/pango-attributes.h"
1581 line="50">font slant style ([struct@Pango.AttrInt])</doc>
1582 </member>
1583 <member name="weight"
1584 value="4"
1585 c:identifier="PANGO_ATTR_WEIGHT"
1586 glib:nick="weight"
1587 glib:name="PANGO_ATTR_WEIGHT">
1588 <doc xml:space="preserve"
1589 filename="pango/pango-attributes.h"
1590 line="51">font weight ([struct@Pango.AttrInt])</doc>
1591 </member>
1592 <member name="variant"
1593 value="5"
1594 c:identifier="PANGO_ATTR_VARIANT"
1595 glib:nick="variant"
1596 glib:name="PANGO_ATTR_VARIANT">
1597 <doc xml:space="preserve"
1598 filename="pango/pango-attributes.h"
1599 line="52">font variant (normal or small caps) ([struct@Pango.AttrInt])</doc>
1600 </member>
1601 <member name="stretch"
1602 value="6"
1603 c:identifier="PANGO_ATTR_STRETCH"
1604 glib:nick="stretch"
1605 glib:name="PANGO_ATTR_STRETCH">
1606 <doc xml:space="preserve"
1607 filename="pango/pango-attributes.h"
1608 line="53">font stretch ([struct@Pango.AttrInt])</doc>
1609 </member>
1610 <member name="size"
1611 value="7"
1612 c:identifier="PANGO_ATTR_SIZE"
1613 glib:nick="size"
1614 glib:name="PANGO_ATTR_SIZE">
1615 <doc xml:space="preserve"
1616 filename="pango/pango-attributes.h"
1617 line="54">font size in points scaled by %PANGO_SCALE ([struct@Pango.AttrInt])</doc>
1618 </member>
1619 <member name="font_desc"
1620 value="8"
1621 c:identifier="PANGO_ATTR_FONT_DESC"
1622 glib:nick="font-desc"
1623 glib:name="PANGO_ATTR_FONT_DESC">
1624 <doc xml:space="preserve"
1625 filename="pango/pango-attributes.h"
1626 line="55">font description ([struct@Pango.AttrFontDesc])</doc>
1627 </member>
1628 <member name="foreground"
1629 value="9"
1630 c:identifier="PANGO_ATTR_FOREGROUND"
1631 glib:nick="foreground"
1632 glib:name="PANGO_ATTR_FOREGROUND">
1633 <doc xml:space="preserve"
1634 filename="pango/pango-attributes.h"
1635 line="56">foreground color ([struct@Pango.AttrColor])</doc>
1636 </member>
1637 <member name="background"
1638 value="10"
1639 c:identifier="PANGO_ATTR_BACKGROUND"
1640 glib:nick="background"
1641 glib:name="PANGO_ATTR_BACKGROUND">
1642 <doc xml:space="preserve"
1643 filename="pango/pango-attributes.h"
1644 line="57">background color ([struct@Pango.AttrColor])</doc>
1645 </member>
1646 <member name="underline"
1647 value="11"
1648 c:identifier="PANGO_ATTR_UNDERLINE"
1649 glib:nick="underline"
1650 glib:name="PANGO_ATTR_UNDERLINE">
1651 <doc xml:space="preserve"
1652 filename="pango/pango-attributes.h"
1653 line="58">whether the text has an underline ([struct@Pango.AttrInt])</doc>
1654 </member>
1655 <member name="strikethrough"
1656 value="12"
1657 c:identifier="PANGO_ATTR_STRIKETHROUGH"
1658 glib:nick="strikethrough"
1659 glib:name="PANGO_ATTR_STRIKETHROUGH">
1660 <doc xml:space="preserve"
1661 filename="pango/pango-attributes.h"
1662 line="59">whether the text is struck-through ([struct@Pango.AttrInt])</doc>
1663 </member>
1664 <member name="rise"
1665 value="13"
1666 c:identifier="PANGO_ATTR_RISE"
1667 glib:nick="rise"
1668 glib:name="PANGO_ATTR_RISE">
1669 <doc xml:space="preserve"
1670 filename="pango/pango-attributes.h"
1671 line="60">baseline displacement ([struct@Pango.AttrInt])</doc>
1672 </member>
1673 <member name="shape"
1674 value="14"
1675 c:identifier="PANGO_ATTR_SHAPE"
1676 glib:nick="shape"
1677 glib:name="PANGO_ATTR_SHAPE">
1678 <doc xml:space="preserve"
1679 filename="pango/pango-attributes.h"
1680 line="61">shape ([struct@Pango.AttrShape])</doc>
1681 </member>
1682 <member name="scale"
1683 value="15"
1684 c:identifier="PANGO_ATTR_SCALE"
1685 glib:nick="scale"
1686 glib:name="PANGO_ATTR_SCALE">
1687 <doc xml:space="preserve"
1688 filename="pango/pango-attributes.h"
1689 line="62">font size scale factor ([struct@Pango.AttrFloat])</doc>
1690 </member>
1691 <member name="fallback"
1692 value="16"
1693 c:identifier="PANGO_ATTR_FALLBACK"
1694 glib:nick="fallback"
1695 glib:name="PANGO_ATTR_FALLBACK">
1696 <doc xml:space="preserve"
1697 filename="pango/pango-attributes.h"
1698 line="63">whether fallback is enabled ([struct@Pango.AttrInt])</doc>
1699 </member>
1700 <member name="letter_spacing"
1701 value="17"
1702 c:identifier="PANGO_ATTR_LETTER_SPACING"
1703 glib:nick="letter-spacing"
1704 glib:name="PANGO_ATTR_LETTER_SPACING">
1705 <doc xml:space="preserve"
1706 filename="pango/pango-attributes.h"
1707 line="64">letter spacing ([struct@PangoAttrInt])</doc>
1708 </member>
1709 <member name="underline_color"
1710 value="18"
1711 c:identifier="PANGO_ATTR_UNDERLINE_COLOR"
1712 glib:nick="underline-color"
1713 glib:name="PANGO_ATTR_UNDERLINE_COLOR">
1714 <doc xml:space="preserve"
1715 filename="pango/pango-attributes.h"
1716 line="65">underline color ([struct@Pango.AttrColor])</doc>
1717 </member>
1718 <member name="strikethrough_color"
1719 value="19"
1720 c:identifier="PANGO_ATTR_STRIKETHROUGH_COLOR"
1721 glib:nick="strikethrough-color"
1722 glib:name="PANGO_ATTR_STRIKETHROUGH_COLOR">
1723 <doc xml:space="preserve"
1724 filename="pango/pango-attributes.h"
1725 line="66">strikethrough color ([struct@Pango.AttrColor])</doc>
1726 </member>
1727 <member name="absolute_size"
1728 value="20"
1729 c:identifier="PANGO_ATTR_ABSOLUTE_SIZE"
1730 glib:nick="absolute-size"
1731 glib:name="PANGO_ATTR_ABSOLUTE_SIZE">
1732 <doc xml:space="preserve"
1733 filename="pango/pango-attributes.h"
1734 line="67">font size in pixels scaled by %PANGO_SCALE ([struct@Pango.AttrInt])</doc>
1735 </member>
1736 <member name="gravity"
1737 value="21"
1738 c:identifier="PANGO_ATTR_GRAVITY"
1739 glib:nick="gravity"
1740 glib:name="PANGO_ATTR_GRAVITY">
1741 <doc xml:space="preserve"
1742 filename="pango/pango-attributes.h"
1743 line="68">base text gravity ([struct@Pango.AttrInt])</doc>
1744 </member>
1745 <member name="gravity_hint"
1746 value="22"
1747 c:identifier="PANGO_ATTR_GRAVITY_HINT"
1748 glib:nick="gravity-hint"
1749 glib:name="PANGO_ATTR_GRAVITY_HINT">
1750 <doc xml:space="preserve"
1751 filename="pango/pango-attributes.h"
1752 line="69">gravity hint ([struct@Pango.AttrInt])</doc>
1753 </member>
1754 <member name="font_features"
1755 value="23"
1756 c:identifier="PANGO_ATTR_FONT_FEATURES"
1757 glib:nick="font-features"
1758 glib:name="PANGO_ATTR_FONT_FEATURES">
1759 <doc xml:space="preserve"
1760 filename="pango/pango-attributes.h"
1761 line="70">OpenType font features ([struct@Pango.AttrFontFeatures]). Since 1.38</doc>
1762 </member>
1763 <member name="foreground_alpha"
1764 value="24"
1765 c:identifier="PANGO_ATTR_FOREGROUND_ALPHA"
1766 glib:nick="foreground-alpha"
1767 glib:name="PANGO_ATTR_FOREGROUND_ALPHA">
1768 <doc xml:space="preserve"
1769 filename="pango/pango-attributes.h"
1770 line="71">foreground alpha ([struct@Pango.AttrInt]). Since 1.38</doc>
1771 </member>
1772 <member name="background_alpha"
1773 value="25"
1774 c:identifier="PANGO_ATTR_BACKGROUND_ALPHA"
1775 glib:nick="background-alpha"
1776 glib:name="PANGO_ATTR_BACKGROUND_ALPHA">
1777 <doc xml:space="preserve"
1778 filename="pango/pango-attributes.h"
1779 line="72">background alpha ([struct@Pango.AttrInt]). Since 1.38</doc>
1780 </member>
1781 <member name="allow_breaks"
1782 value="26"
1783 c:identifier="PANGO_ATTR_ALLOW_BREAKS"
1784 glib:nick="allow-breaks"
1785 glib:name="PANGO_ATTR_ALLOW_BREAKS">
1786 <doc xml:space="preserve"
1787 filename="pango/pango-attributes.h"
1788 line="73">whether breaks are allowed ([struct@Pango.AttrInt]). Since 1.44</doc>
1789 </member>
1790 <member name="show"
1791 value="27"
1792 c:identifier="PANGO_ATTR_SHOW"
1793 glib:nick="show"
1794 glib:name="PANGO_ATTR_SHOW">
1795 <doc xml:space="preserve"
1796 filename="pango/pango-attributes.h"
1797 line="74">how to render invisible characters ([struct@Pango.AttrInt]). Since 1.44</doc>
1798 </member>
1799 <member name="insert_hyphens"
1800 value="28"
1801 c:identifier="PANGO_ATTR_INSERT_HYPHENS"
1802 glib:nick="insert-hyphens"
1803 glib:name="PANGO_ATTR_INSERT_HYPHENS">
1804 <doc xml:space="preserve"
1805 filename="pango/pango-attributes.h"
1806 line="75">whether to insert hyphens at intra-word line breaks ([struct@Pango.AttrInt]). Since 1.44</doc>
1807 </member>
1808 <member name="overline"
1809 value="29"
1810 c:identifier="PANGO_ATTR_OVERLINE"
1811 glib:nick="overline"
1812 glib:name="PANGO_ATTR_OVERLINE">
1813 <doc xml:space="preserve"
1814 filename="pango/pango-attributes.h"
1815 line="76">whether the text has an overline ([struct@Pango.AttrInt]). Since 1.46</doc>
1816 </member>
1817 <member name="overline_color"
1818 value="30"
1819 c:identifier="PANGO_ATTR_OVERLINE_COLOR"
1820 glib:nick="overline-color"
1821 glib:name="PANGO_ATTR_OVERLINE_COLOR">
1822 <doc xml:space="preserve"
1823 filename="pango/pango-attributes.h"
1824 line="77">overline color ([struct@Pango.AttrColor]). Since 1.46</doc>
1825 </member>
1826 <member name="line_height"
1827 value="31"
1828 c:identifier="PANGO_ATTR_LINE_HEIGHT"
1829 glib:nick="line-height"
1830 glib:name="PANGO_ATTR_LINE_HEIGHT">
1831 <doc xml:space="preserve"
1832 filename="pango/pango-attributes.h"
1833 line="78">line height factor ([struct@Pango.AttrFloat]). Since: 1.50</doc>
1834 </member>
1835 <member name="absolute_line_height"
1836 value="32"
1837 c:identifier="PANGO_ATTR_ABSOLUTE_LINE_HEIGHT"
1838 glib:nick="absolute-line-height"
1839 glib:name="PANGO_ATTR_ABSOLUTE_LINE_HEIGHT">
1840 <doc xml:space="preserve"
1841 filename="pango/pango-attributes.h"
1842 line="79">line height ([struct@Pango.AttrInt]). Since: 1.50</doc>
1843 </member>
1844 <member name="text_transform"
1845 value="33"
1846 c:identifier="PANGO_ATTR_TEXT_TRANSFORM"
1847 glib:nick="text-transform"
1848 glib:name="PANGO_ATTR_TEXT_TRANSFORM">
1849 </member>
1850 <member name="word"
1851 value="34"
1852 c:identifier="PANGO_ATTR_WORD"
1853 glib:nick="word"
1854 glib:name="PANGO_ATTR_WORD">
1855 <doc xml:space="preserve"
1856 filename="pango/pango-attributes.h"
1857 line="80">override segmentation to classify the range of the attribute as a single word ([struct@Pango.AttrInt]). Since 1.50</doc>
1858 </member>
1859 <member name="sentence"
1860 value="35"
1861 c:identifier="PANGO_ATTR_SENTENCE"
1862 glib:nick="sentence"
1863 glib:name="PANGO_ATTR_SENTENCE">
1864 <doc xml:space="preserve"
1865 filename="pango/pango-attributes.h"
1866 line="81">override segmentation to classify the range of the attribute as a single sentence ([struct@Pango.AttrInt]). Since 1.50</doc>
1867 </member>
1868 <member name="baseline_shift"
1869 value="36"
1870 c:identifier="PANGO_ATTR_BASELINE_SHIFT"
1871 glib:nick="baseline-shift"
1872 glib:name="PANGO_ATTR_BASELINE_SHIFT">
1873 <doc xml:space="preserve"
1874 filename="pango/pango-attributes.h"
1875 line="82">baseline displacement ([struct@Pango.AttrInt]). Since 1.50</doc>
1876 </member>
1877 <member name="font_scale"
1878 value="37"
1879 c:identifier="PANGO_ATTR_FONT_SCALE"
1880 glib:nick="font-scale"
1881 glib:name="PANGO_ATTR_FONT_SCALE">
1882 <doc xml:space="preserve"
1883 filename="pango/pango-attributes.h"
1884 line="83">font-relative size change ([struct@Pango.AttrInt]). Since 1.50</doc>
1885 </member>
1886 <function name="get_name"
1887 c:identifier="pango_attr_type_get_name"
1888 version="1.22">
1889 <doc xml:space="preserve"
1890 filename="pango/pango-attributes.c"
1891 line="69">Fetches the attribute type name.
1892
1893The attribute type name is the string passed in
1894when registering the type using
1895[func@Pango.AttrType.register].
1896
1897The returned value is an interned string (see
1898g_intern_string() for what that means) that should
1899not be modified or freed.</doc>
1900 <source-position filename="pango/pango-attributes.h" line="506"/>
1901 <return-value transfer-ownership="none" nullable="1">
1902 <doc xml:space="preserve"
1903 filename="pango/pango-attributes.c"
1904 line="83">the type ID name (which
1905 may be %NULL), or %NULL if @type is a built-in Pango
1906 attribute type or invalid.</doc>
1907 <type name="utf8" c:type="const char*"/>
1908 </return-value>
1909 <parameters>
1910 <parameter name="type" transfer-ownership="none">
1911 <doc xml:space="preserve"
1912 filename="pango/pango-attributes.c"
1913 line="71">an attribute type ID to fetch the name for</doc>
1914 <type name="AttrType" c:type="PangoAttrType"/>
1915 </parameter>
1916 </parameters>
1917 </function>
1918 <function name="register" c:identifier="pango_attr_type_register">
1919 <doc xml:space="preserve"
1920 filename="pango/pango-attributes.c"
1921 line="35">Allocate a new attribute type ID.
1922
1923The attribute type name can be accessed later
1924by using [func@Pango.AttrType.get_name].</doc>
1925 <source-position filename="pango/pango-attributes.h" line="504"/>
1926 <return-value transfer-ownership="none">
1927 <doc xml:space="preserve"
1928 filename="pango/pango-attributes.c"
1929 line="44">the new type ID.</doc>
1930 <type name="AttrType" c:type="PangoAttrType"/>
1931 </return-value>
1932 <parameters>
1933 <parameter name="name" transfer-ownership="none">
1934 <doc xml:space="preserve"
1935 filename="pango/pango-attributes.c"
1936 line="37">an identifier for the type</doc>
1937 <type name="utf8" c:type="const char*"/>
1938 </parameter>
1939 </parameters>
1940 </function>
1941 </enumeration>
1942 <record name="Attribute"
1943 c:type="PangoAttribute"
1944 copy-function="pango_attribute_copy"
1945 free-function="pango_attribute_destroy"
1946 glib:type-name="PangoAttribute"
1947 glib:get-type="pango_attribute_get_type"
1948 c:symbol-prefix="attribute">
1949 <doc xml:space="preserve"
1950 filename="pango/pango-attributes.h"
1951 line="290">The `PangoAttribute` structure represents the common portions of all
1952attributes.
1953
1954Particular types of attributes include this structure as their initial
1955portion. The common portion of the attribute holds the range to which
1956the value in the type-specific part of the attribute applies and should
1957be initialized using [method@Pango.Attribute.init]. By default, an attribute
1958will have an all-inclusive range of [0,%G_MAXUINT].</doc>
1959 <source-position filename="pango/pango-attributes.h" line="311"/>
1960 <field name="klass" writable="1">
1961 <doc xml:space="preserve"
1962 filename="pango/pango-attributes.h"
1963 line="292">the class structure holding information about the type of the attribute</doc>
1964 <type name="AttrClass" c:type="const PangoAttrClass*"/>
1965 </field>
1966 <field name="start_index" writable="1">
1967 <doc xml:space="preserve"
1968 filename="pango/pango-attributes.h"
1969 line="293">the start index of the range (in bytes).</doc>
1970 <type name="guint" c:type="guint"/>
1971 </field>
1972 <field name="end_index" writable="1">
1973 <doc xml:space="preserve"
1974 filename="pango/pango-attributes.h"
1975 line="294">end index of the range (in bytes). The character at this index
1976 is not included in the range.</doc>
1977 <type name="guint" c:type="guint"/>
1978 </field>
1979 <method name="as_color"
1980 c:identifier="pango_attribute_as_color"
1981 version="1.50">
1982 <doc xml:space="preserve"
1983 filename="pango/pango-attributes.c"
1984 line="1708">Returns the attribute cast to `PangoAttrColor`.
1985
1986This is mainly useful for language bindings.</doc>
1987 <source-position filename="pango/pango-attributes.h" line="624"/>
1988 <return-value transfer-ownership="none" nullable="1">
1989 <doc xml:space="preserve"
1990 filename="pango/pango-attributes.c"
1991 line="1716">The attribute as `PangoAttrColor`,
1992 or %NULL if it's not a color attribute</doc>
1993 <type name="AttrColor" c:type="PangoAttrColor*"/>
1994 </return-value>
1995 <parameters>
1996 <instance-parameter name="attr" transfer-ownership="none">
1997 <doc xml:space="preserve"
1998 filename="pango/pango-attributes.c"
1999 line="1710">A `PangoAttribute` such as foreground</doc>
2000 <type name="Attribute" c:type="PangoAttribute*"/>
2001 </instance-parameter>
2002 </parameters>
2003 </method>
2004 <method name="as_float"
2005 c:identifier="pango_attribute_as_float"
2006 version="1.50">
2007 <doc xml:space="preserve"
2008 filename="pango/pango-attributes.c"
2009 line="1628">Returns the attribute cast to `PangoAttrFloat`.
2010
2011This is mainly useful for language bindings.</doc>
2012 <source-position filename="pango/pango-attributes.h" line="622"/>
2013 <return-value transfer-ownership="none" nullable="1">
2014 <doc xml:space="preserve"
2015 filename="pango/pango-attributes.c"
2016 line="1636">The attribute as `PangoAttrFloat`,
2017 or %NULL if it's not a floating point attribute</doc>
2018 <type name="AttrFloat" c:type="PangoAttrFloat*"/>
2019 </return-value>
2020 <parameters>
2021 <instance-parameter name="attr" transfer-ownership="none">
2022 <doc xml:space="preserve"
2023 filename="pango/pango-attributes.c"
2024 line="1630">A `PangoAttribute` such as scale</doc>
2025 <type name="Attribute" c:type="PangoAttribute*"/>
2026 </instance-parameter>
2027 </parameters>
2028 </method>
2029 <method name="as_font_desc"
2030 c:identifier="pango_attribute_as_font_desc"
2031 version="1.50">
2032 <doc xml:space="preserve"
2033 filename="pango/pango-attributes.c"
2034 line="1738">Returns the attribute cast to `PangoAttrFontDesc`.
2035
2036This is mainly useful for language bindings.</doc>
2037 <source-position filename="pango/pango-attributes.h" line="626"/>
2038 <return-value transfer-ownership="none" nullable="1">
2039 <doc xml:space="preserve"
2040 filename="pango/pango-attributes.c"
2041 line="1746">The attribute as `PangoAttrFontDesc`,
2042 or %NULL if it's not a font description attribute</doc>
2043 <type name="AttrFontDesc" c:type="PangoAttrFontDesc*"/>
2044 </return-value>
2045 <parameters>
2046 <instance-parameter name="attr" transfer-ownership="none">
2047 <doc xml:space="preserve"
2048 filename="pango/pango-attributes.c"
2049 line="1740">A `PangoAttribute` representing a font description</doc>
2050 <type name="Attribute" c:type="PangoAttribute*"/>
2051 </instance-parameter>
2052 </parameters>
2053 </method>
2054 <method name="as_font_features"
2055 c:identifier="pango_attribute_as_font_features"
2056 version="1.50">
2057 <doc xml:space="preserve"
2058 filename="pango/pango-attributes.c"
2059 line="1764">Returns the attribute cast to `PangoAttrFontFeatures`.
2060
2061This is mainly useful for language bindings.</doc>
2062 <source-position filename="pango/pango-attributes.h" line="630"/>
2063 <return-value transfer-ownership="none" nullable="1">
2064 <doc xml:space="preserve"
2065 filename="pango/pango-attributes.c"
2066 line="1772">The attribute as `PangoAttrFontFeatures`,
2067 or %NULL if it's not a font features attribute</doc>
2068 <type name="AttrFontFeatures" c:type="PangoAttrFontFeatures*"/>
2069 </return-value>
2070 <parameters>
2071 <instance-parameter name="attr" transfer-ownership="none">
2072 <doc xml:space="preserve"
2073 filename="pango/pango-attributes.c"
2074 line="1766">A `PangoAttribute` representing font features</doc>
2075 <type name="Attribute" c:type="PangoAttribute*"/>
2076 </instance-parameter>
2077 </parameters>
2078 </method>
2079 <method name="as_int"
2080 c:identifier="pango_attribute_as_int"
2081 version="1.50">
2082 <doc xml:space="preserve"
2083 filename="pango/pango-attributes.c"
2084 line="1580">Returns the attribute cast to `PangoAttrInt`.
2085
2086This is mainly useful for language bindings.</doc>
2087 <source-position filename="pango/pango-attributes.h" line="618"/>
2088 <return-value transfer-ownership="none" nullable="1">
2089 <doc xml:space="preserve"
2090 filename="pango/pango-attributes.c"
2091 line="1588">The attribute as `PangoAttrInt`,
2092 or %NULL if it's not an integer attribute</doc>
2093 <type name="AttrInt" c:type="PangoAttrInt*"/>
2094 </return-value>
2095 <parameters>
2096 <instance-parameter name="attr" transfer-ownership="none">
2097 <doc xml:space="preserve"
2098 filename="pango/pango-attributes.c"
2099 line="1582">A `PangoAttribute` such as weight</doc>
2100 <type name="Attribute" c:type="PangoAttribute*"/>
2101 </instance-parameter>
2102 </parameters>
2103 </method>
2104 <method name="as_language"
2105 c:identifier="pango_attribute_as_language"
2106 version="1.50">
2107 <doc xml:space="preserve"
2108 filename="pango/pango-attributes.c"
2109 line="1790">Returns the attribute cast to `PangoAttrLanguage`.
2110
2111This is mainly useful for language bindings.</doc>
2112 <source-position filename="pango/pango-attributes.h" line="616"/>
2113 <return-value transfer-ownership="none" nullable="1">
2114 <doc xml:space="preserve"
2115 filename="pango/pango-attributes.c"
2116 line="1798">The attribute as `PangoAttrLanguage`,
2117 or %NULL if it's not a language attribute</doc>
2118 <type name="AttrLanguage" c:type="PangoAttrLanguage*"/>
2119 </return-value>
2120 <parameters>
2121 <instance-parameter name="attr" transfer-ownership="none">
2122 <doc xml:space="preserve"
2123 filename="pango/pango-attributes.c"
2124 line="1792">A `PangoAttribute` representing a language</doc>
2125 <type name="Attribute" c:type="PangoAttribute*"/>
2126 </instance-parameter>
2127 </parameters>
2128 </method>
2129 <method name="as_shape"
2130 c:identifier="pango_attribute_as_shape"
2131 version="1.50">
2132 <doc xml:space="preserve"
2133 filename="pango/pango-attributes.c"
2134 line="1816">Returns the attribute cast to `PangoAttrShape`.
2135
2136This is mainly useful for language bindings.</doc>
2137 <source-position filename="pango/pango-attributes.h" line="628"/>
2138 <return-value transfer-ownership="none" nullable="1">
2139 <doc xml:space="preserve"
2140 filename="pango/pango-attributes.c"
2141 line="1824">The attribute as `PangoAttrShape`,
2142 or %NULL if it's not a shape attribute</doc>
2143 <type name="AttrShape" c:type="PangoAttrShape*"/>
2144 </return-value>
2145 <parameters>
2146 <instance-parameter name="attr" transfer-ownership="none">
2147 <doc xml:space="preserve"
2148 filename="pango/pango-attributes.c"
2149 line="1818">A `PangoAttribute` representing a shape</doc>
2150 <type name="Attribute" c:type="PangoAttribute*"/>
2151 </instance-parameter>
2152 </parameters>
2153 </method>
2154 <method name="as_size"
2155 c:identifier="pango_attribute_as_size"
2156 version="1.50">
2157 <doc xml:space="preserve"
2158 filename="pango/pango-attributes.c"
2159 line="1681">Returns the attribute cast to `PangoAttrSize`.
2160
2161This is mainly useful for language bindings.</doc>
2162 <source-position filename="pango/pango-attributes.h" line="620"/>
2163 <return-value transfer-ownership="none" nullable="1">
2164 <doc xml:space="preserve"
2165 filename="pango/pango-attributes.c"
2166 line="1689">The attribute as `PangoAttrSize`,
2167 or NULL if it's not a size attribute</doc>
2168 <type name="AttrSize" c:type="PangoAttrSize*"/>
2169 </return-value>
2170 <parameters>
2171 <instance-parameter name="attr" transfer-ownership="none">
2172 <doc xml:space="preserve"
2173 filename="pango/pango-attributes.c"
2174 line="1683">A `PangoAttribute` representing a size</doc>
2175 <type name="Attribute" c:type="PangoAttribute*"/>
2176 </instance-parameter>
2177 </parameters>
2178 </method>
2179 <method name="as_string"
2180 c:identifier="pango_attribute_as_string"
2181 version="1.50">
2182 <doc xml:space="preserve"
2183 filename="pango/pango-attributes.c"
2184 line="1655">Returns the attribute cast to `PangoAttrString`.
2185
2186This is mainly useful for language bindings.</doc>
2187 <source-position filename="pango/pango-attributes.h" line="614"/>
2188 <return-value transfer-ownership="none" nullable="1">
2189 <doc xml:space="preserve"
2190 filename="pango/pango-attributes.c"
2191 line="1663">The attribute as `PangoAttrString`,
2192 or %NULL if it's not a string attribute</doc>
2193 <type name="AttrString" c:type="PangoAttrString*"/>
2194 </return-value>
2195 <parameters>
2196 <instance-parameter name="attr" transfer-ownership="none">
2197 <doc xml:space="preserve"
2198 filename="pango/pango-attributes.c"
2199 line="1657">A `PangoAttribute` such as family</doc>
2200 <type name="Attribute" c:type="PangoAttribute*"/>
2201 </instance-parameter>
2202 </parameters>
2203 </method>
2204 <method name="copy" c:identifier="pango_attribute_copy">
2205 <doc xml:space="preserve"
2206 filename="pango/pango-attributes.c"
2207 line="128">Make a copy of an attribute.</doc>
2208 <source-position filename="pango/pango-attributes.h" line="511"/>
2209 <return-value transfer-ownership="full">
2210 <doc xml:space="preserve"
2211 filename="pango/pango-attributes.c"
2212 line="134">the newly allocated
2213 `PangoAttribute`, which should be freed with
2214 [method@Pango.Attribute.destroy].</doc>
2215 <type name="Attribute" c:type="PangoAttribute*"/>
2216 </return-value>
2217 <parameters>
2218 <instance-parameter name="attr" transfer-ownership="none">
2219 <doc xml:space="preserve"
2220 filename="pango/pango-attributes.c"
2221 line="130">a `PangoAttribute`</doc>
2222 <type name="Attribute" c:type="const PangoAttribute*"/>
2223 </instance-parameter>
2224 </parameters>
2225 </method>
2226 <method name="destroy" c:identifier="pango_attribute_destroy">
2227 <doc xml:space="preserve"
2228 filename="pango/pango-attributes.c"
2229 line="152">Destroy a `PangoAttribute` and free all associated memory.</doc>
2230 <source-position filename="pango/pango-attributes.h" line="513"/>
2231 <return-value transfer-ownership="none">
2232 <type name="none" c:type="void"/>
2233 </return-value>
2234 <parameters>
2235 <instance-parameter name="attr" transfer-ownership="none">
2236 <doc xml:space="preserve"
2237 filename="pango/pango-attributes.c"
2238 line="154">a `PangoAttribute`.</doc>
2239 <type name="Attribute" c:type="PangoAttribute*"/>
2240 </instance-parameter>
2241 </parameters>
2242 </method>
2243 <method name="equal" c:identifier="pango_attribute_equal">
2244 <doc xml:space="preserve"
2245 filename="pango/pango-attributes.c"
2246 line="170">Compare two attributes for equality.
2247
2248This compares only the actual value of the two
2249attributes and not the ranges that the attributes
2250apply to.</doc>
2251 <source-position filename="pango/pango-attributes.h" line="515"/>
2252 <return-value transfer-ownership="none">
2253 <doc xml:space="preserve"
2254 filename="pango/pango-attributes.c"
2255 line="181">%TRUE if the two attributes have the same value</doc>
2256 <type name="gboolean" c:type="gboolean"/>
2257 </return-value>
2258 <parameters>
2259 <instance-parameter name="attr1" transfer-ownership="none">
2260 <doc xml:space="preserve"
2261 filename="pango/pango-attributes.c"
2262 line="172">a `PangoAttribute`</doc>
2263 <type name="Attribute" c:type="const PangoAttribute*"/>
2264 </instance-parameter>
2265 <parameter name="attr2" transfer-ownership="none">
2266 <doc xml:space="preserve"
2267 filename="pango/pango-attributes.c"
2268 line="173">another `PangoAttribute`</doc>
2269 <type name="Attribute" c:type="const PangoAttribute*"/>
2270 </parameter>
2271 </parameters>
2272 </method>
2273 <method name="init" c:identifier="pango_attribute_init" version="1.20">
2274 <doc xml:space="preserve"
2275 filename="pango/pango-attributes.c"
2276 line="104">Initializes @attr's klass to @klass, it's start_index to
2277%PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING and end_index to
2278%PANGO_ATTR_INDEX_TO_TEXT_END such that the attribute applies
2279to the entire text by default.</doc>
2280 <source-position filename="pango/pango-attributes.h" line="508"/>
2281 <return-value transfer-ownership="none">
2282 <type name="none" c:type="void"/>
2283 </return-value>
2284 <parameters>
2285 <instance-parameter name="attr" transfer-ownership="none">
2286 <doc xml:space="preserve"
2287 filename="pango/pango-attributes.c"
2288 line="106">a `PangoAttribute`</doc>
2289 <type name="Attribute" c:type="PangoAttribute*"/>
2290 </instance-parameter>
2291 <parameter name="klass" transfer-ownership="none">
2292 <doc xml:space="preserve"
2293 filename="pango/pango-attributes.c"
2294 line="107">a `PangoAttrClass`</doc>
2295 <type name="AttrClass" c:type="const PangoAttrClass*"/>
2296 </parameter>
2297 </parameters>
2298 </method>
2299 </record>
2300 <enumeration name="BaselineShift"
2301 version="1.50"
2302 glib:type-name="PangoBaselineShift"
2303 glib:get-type="pango_baseline_shift_get_type"
2304 c:type="PangoBaselineShift">
2305 <doc xml:space="preserve"
2306 filename="pango/pango-attributes.h"
2307 line="233">An enumeration that affects baseline shifts between runs.</doc>
2308 <member name="none"
2309 value="0"
2310 c:identifier="PANGO_BASELINE_SHIFT_NONE"
2311 glib:nick="none"
2312 glib:name="PANGO_BASELINE_SHIFT_NONE">
2313 <doc xml:space="preserve"
2314 filename="pango/pango-attributes.h"
2315 line="235">Leave the baseline unchanged</doc>
2316 </member>
2317 <member name="superscript"
2318 value="1"
2319 c:identifier="PANGO_BASELINE_SHIFT_SUPERSCRIPT"
2320 glib:nick="superscript"
2321 glib:name="PANGO_BASELINE_SHIFT_SUPERSCRIPT">
2322 <doc xml:space="preserve"
2323 filename="pango/pango-attributes.h"
2324 line="236">Shift the baseline to the superscript position,
2325 relative to the previous run</doc>
2326 </member>
2327 <member name="subscript"
2328 value="2"
2329 c:identifier="PANGO_BASELINE_SHIFT_SUBSCRIPT"
2330 glib:nick="subscript"
2331 glib:name="PANGO_BASELINE_SHIFT_SUBSCRIPT">
2332 <doc xml:space="preserve"
2333 filename="pango/pango-attributes.h"
2334 line="238">Shift the baseline to the subscript position,
2335 relative to the previous run</doc>
2336 </member>
2337 </enumeration>
2338 <enumeration name="BidiType"
2339 version="1.22"
2340 deprecated="1"
2341 deprecated-version="1.44"
2342 glib:type-name="PangoBidiType"
2343 glib:get-type="pango_bidi_type_get_type"
2344 c:type="PangoBidiType">
2345 <doc xml:space="preserve"
2346 filename="pango/pango-bidi-type.h"
2347 line="33">`PangoBidiType` represents the bidirectional character
2348type of a Unicode character.
2349
2350The values in this enumeration are specified by the
2351[Unicode bidirectional algorithm](http://www.unicode.org/reports/tr9/).</doc>
2352 <doc-deprecated xml:space="preserve">Use fribidi for this information</doc-deprecated>
2353 <member name="l"
2354 value="0"
2355 c:identifier="PANGO_BIDI_TYPE_L"
2356 glib:nick="l"
2357 glib:name="PANGO_BIDI_TYPE_L">
2358 <doc xml:space="preserve"
2359 filename="pango/pango-bidi-type.h"
2360 line="35">Left-to-Right</doc>
2361 </member>
2362 <member name="lre"
2363 value="1"
2364 c:identifier="PANGO_BIDI_TYPE_LRE"
2365 glib:nick="lre"
2366 glib:name="PANGO_BIDI_TYPE_LRE">
2367 <doc xml:space="preserve"
2368 filename="pango/pango-bidi-type.h"
2369 line="36">Left-to-Right Embedding</doc>
2370 </member>
2371 <member name="lro"
2372 value="2"
2373 c:identifier="PANGO_BIDI_TYPE_LRO"
2374 glib:nick="lro"
2375 glib:name="PANGO_BIDI_TYPE_LRO">
2376 <doc xml:space="preserve"
2377 filename="pango/pango-bidi-type.h"
2378 line="37">Left-to-Right Override</doc>
2379 </member>
2380 <member name="r"
2381 value="3"
2382 c:identifier="PANGO_BIDI_TYPE_R"
2383 glib:nick="r"
2384 glib:name="PANGO_BIDI_TYPE_R">
2385 <doc xml:space="preserve"
2386 filename="pango/pango-bidi-type.h"
2387 line="38">Right-to-Left</doc>
2388 </member>
2389 <member name="al"
2390 value="4"
2391 c:identifier="PANGO_BIDI_TYPE_AL"
2392 glib:nick="al"
2393 glib:name="PANGO_BIDI_TYPE_AL">
2394 <doc xml:space="preserve"
2395 filename="pango/pango-bidi-type.h"
2396 line="39">Right-to-Left Arabic</doc>
2397 </member>
2398 <member name="rle"
2399 value="5"
2400 c:identifier="PANGO_BIDI_TYPE_RLE"
2401 glib:nick="rle"
2402 glib:name="PANGO_BIDI_TYPE_RLE">
2403 <doc xml:space="preserve"
2404 filename="pango/pango-bidi-type.h"
2405 line="40">Right-to-Left Embedding</doc>
2406 </member>
2407 <member name="rlo"
2408 value="6"
2409 c:identifier="PANGO_BIDI_TYPE_RLO"
2410 glib:nick="rlo"
2411 glib:name="PANGO_BIDI_TYPE_RLO">
2412 <doc xml:space="preserve"
2413 filename="pango/pango-bidi-type.h"
2414 line="41">Right-to-Left Override</doc>
2415 </member>
2416 <member name="pdf"
2417 value="7"
2418 c:identifier="PANGO_BIDI_TYPE_PDF"
2419 glib:nick="pdf"
2420 glib:name="PANGO_BIDI_TYPE_PDF">
2421 <doc xml:space="preserve"
2422 filename="pango/pango-bidi-type.h"
2423 line="42">Pop Directional Format</doc>
2424 </member>
2425 <member name="en"
2426 value="8"
2427 c:identifier="PANGO_BIDI_TYPE_EN"
2428 glib:nick="en"
2429 glib:name="PANGO_BIDI_TYPE_EN">
2430 <doc xml:space="preserve"
2431 filename="pango/pango-bidi-type.h"
2432 line="43">European Number</doc>
2433 </member>
2434 <member name="es"
2435 value="9"
2436 c:identifier="PANGO_BIDI_TYPE_ES"
2437 glib:nick="es"
2438 glib:name="PANGO_BIDI_TYPE_ES">
2439 <doc xml:space="preserve"
2440 filename="pango/pango-bidi-type.h"
2441 line="44">European Number Separator</doc>
2442 </member>
2443 <member name="et"
2444 value="10"
2445 c:identifier="PANGO_BIDI_TYPE_ET"
2446 glib:nick="et"
2447 glib:name="PANGO_BIDI_TYPE_ET">
2448 <doc xml:space="preserve"
2449 filename="pango/pango-bidi-type.h"
2450 line="45">European Number Terminator</doc>
2451 </member>
2452 <member name="an"
2453 value="11"
2454 c:identifier="PANGO_BIDI_TYPE_AN"
2455 glib:nick="an"
2456 glib:name="PANGO_BIDI_TYPE_AN">
2457 <doc xml:space="preserve"
2458 filename="pango/pango-bidi-type.h"
2459 line="46">Arabic Number</doc>
2460 </member>
2461 <member name="cs"
2462 value="12"
2463 c:identifier="PANGO_BIDI_TYPE_CS"
2464 glib:nick="cs"
2465 glib:name="PANGO_BIDI_TYPE_CS">
2466 <doc xml:space="preserve"
2467 filename="pango/pango-bidi-type.h"
2468 line="47">Common Number Separator</doc>
2469 </member>
2470 <member name="nsm"
2471 value="13"
2472 c:identifier="PANGO_BIDI_TYPE_NSM"
2473 glib:nick="nsm"
2474 glib:name="PANGO_BIDI_TYPE_NSM">
2475 <doc xml:space="preserve"
2476 filename="pango/pango-bidi-type.h"
2477 line="48">Nonspacing Mark</doc>
2478 </member>
2479 <member name="bn"
2480 value="14"
2481 c:identifier="PANGO_BIDI_TYPE_BN"
2482 glib:nick="bn"
2483 glib:name="PANGO_BIDI_TYPE_BN">
2484 <doc xml:space="preserve"
2485 filename="pango/pango-bidi-type.h"
2486 line="49">Boundary Neutral</doc>
2487 </member>
2488 <member name="b"
2489 value="15"
2490 c:identifier="PANGO_BIDI_TYPE_B"
2491 glib:nick="b"
2492 glib:name="PANGO_BIDI_TYPE_B">
2493 <doc xml:space="preserve"
2494 filename="pango/pango-bidi-type.h"
2495 line="50">Paragraph Separator</doc>
2496 </member>
2497 <member name="s"
2498 value="16"
2499 c:identifier="PANGO_BIDI_TYPE_S"
2500 glib:nick="s"
2501 glib:name="PANGO_BIDI_TYPE_S">
2502 <doc xml:space="preserve"
2503 filename="pango/pango-bidi-type.h"
2504 line="51">Segment Separator</doc>
2505 </member>
2506 <member name="ws"
2507 value="17"
2508 c:identifier="PANGO_BIDI_TYPE_WS"
2509 glib:nick="ws"
2510 glib:name="PANGO_BIDI_TYPE_WS">
2511 <doc xml:space="preserve"
2512 filename="pango/pango-bidi-type.h"
2513 line="52">Whitespace</doc>
2514 </member>
2515 <member name="on"
2516 value="18"
2517 c:identifier="PANGO_BIDI_TYPE_ON"
2518 glib:nick="on"
2519 glib:name="PANGO_BIDI_TYPE_ON">
2520 <doc xml:space="preserve"
2521 filename="pango/pango-bidi-type.h"
2522 line="53">Other Neutrals</doc>
2523 </member>
2524 <member name="lri"
2525 value="19"
2526 c:identifier="PANGO_BIDI_TYPE_LRI"
2527 glib:nick="lri"
2528 glib:name="PANGO_BIDI_TYPE_LRI">
2529 <doc xml:space="preserve"
2530 filename="pango/pango-bidi-type.h"
2531 line="54">Left-to-Right isolate. Since 1.48.6</doc>
2532 </member>
2533 <member name="rli"
2534 value="20"
2535 c:identifier="PANGO_BIDI_TYPE_RLI"
2536 glib:nick="rli"
2537 glib:name="PANGO_BIDI_TYPE_RLI">
2538 <doc xml:space="preserve"
2539 filename="pango/pango-bidi-type.h"
2540 line="55">Right-to-Left isolate. Since 1.48.6</doc>
2541 </member>
2542 <member name="fsi"
2543 value="21"
2544 c:identifier="PANGO_BIDI_TYPE_FSI"
2545 glib:nick="fsi"
2546 glib:name="PANGO_BIDI_TYPE_FSI">
2547 <doc xml:space="preserve"
2548 filename="pango/pango-bidi-type.h"
2549 line="56">First strong isolate. Since 1.48.6</doc>
2550 </member>
2551 <member name="pdi"
2552 value="22"
2553 c:identifier="PANGO_BIDI_TYPE_PDI"
2554 glib:nick="pdi"
2555 glib:name="PANGO_BIDI_TYPE_PDI">
2556 <doc xml:space="preserve"
2557 filename="pango/pango-bidi-type.h"
2558 line="57">Pop directional isolate. Since 1.48.6</doc>
2559 </member>
2560 <function name="for_unichar"
2561 c:identifier="pango_bidi_type_for_unichar"
2562 version="1.22">
2563 <doc xml:space="preserve"
2564 filename="pango/pango-bidi-type.c"
2565 line="34">Determines the bidirectional type of a character.
2566
2567The bidirectional type is specified in the Unicode Character Database.
2568
2569A simplified version of this function is available as [func@unichar_direction].</doc>
2570 <source-position filename="pango/pango-bidi-type.h" line="102"/>
2571 <return-value transfer-ownership="none">
2572 <doc xml:space="preserve"
2573 filename="pango/pango-bidi-type.c"
2574 line="44">the bidirectional character type, as used in the
2575Unicode bidirectional algorithm.</doc>
2576 <type name="BidiType" c:type="PangoBidiType"/>
2577 </return-value>
2578 <parameters>
2579 <parameter name="ch" transfer-ownership="none">
2580 <doc xml:space="preserve"
2581 filename="pango/pango-bidi-type.c"
2582 line="36">a Unicode character</doc>
2583 <type name="gunichar" c:type="gunichar"/>
2584 </parameter>
2585 </parameters>
2586 </function>
2587 </enumeration>
2588 <function-macro name="CONTEXT"
2589 c:identifier="PANGO_CONTEXT"
2590 introspectable="0">
2591 <source-position filename="pango/pango-context.h" line="36"/>
2592 <parameters>
2593 <parameter name="object">
2594 </parameter>
2595 </parameters>
2596 </function-macro>
2597 <function-macro name="CONTEXT_CLASS"
2598 c:identifier="PANGO_CONTEXT_CLASS"
2599 introspectable="0">
2600 <source-position filename="pango/pango-context.h" line="37"/>
2601 <parameters>
2602 <parameter name="klass">
2603 </parameter>
2604 </parameters>
2605 </function-macro>
2606 <function-macro name="CONTEXT_GET_CLASS"
2607 c:identifier="PANGO_CONTEXT_GET_CLASS"
2608 introspectable="0">
2609 <source-position filename="pango/pango-context.h" line="40"/>
2610 <parameters>
2611 <parameter name="obj">
2612 </parameter>
2613 </parameters>
2614 </function-macro>
2615 <record name="Color"
2616 c:type="PangoColor"
2617 glib:type-name="PangoColor"
2618 glib:get-type="pango_color_get_type"
2619 c:symbol-prefix="color">
2620 <doc xml:space="preserve"
2621 filename="pango/pango-color.h"
2622 line="33">The `PangoColor` structure is used to
2623represent a color in an uncalibrated RGB color-space.</doc>
2624 <source-position filename="pango/pango-color.h" line="47"/>
2625 <field name="red" writable="1">
2626 <doc xml:space="preserve"
2627 filename="pango/pango-color.h"
2628 line="35">value of red component</doc>
2629 <type name="guint16" c:type="guint16"/>
2630 </field>
2631 <field name="green" writable="1">
2632 <doc xml:space="preserve"
2633 filename="pango/pango-color.h"
2634 line="36">value of green component</doc>
2635 <type name="guint16" c:type="guint16"/>
2636 </field>
2637 <field name="blue" writable="1">
2638 <doc xml:space="preserve"
2639 filename="pango/pango-color.h"
2640 line="37">value of blue component</doc>
2641 <type name="guint16" c:type="guint16"/>
2642 </field>
2643 <method name="copy" c:identifier="pango_color_copy">
2644 <doc xml:space="preserve"
2645 filename="pango/pango-color.c"
2646 line="35">Creates a copy of @src.
2647
2648The copy should be freed with [method@Pango.Color.free].
2649Primarily used by language bindings, not that useful
2650otherwise (since colors can just be copied by assignment
2651in C).</doc>
2652 <source-position filename="pango/pango-color.h" line="55"/>
2653 <return-value transfer-ownership="full" nullable="1">
2654 <doc xml:space="preserve"
2655 filename="pango/pango-color.c"
2656 line="46">the newly allocated `PangoColor`,
2657 which should be freed with [method@Pango.Color.free]</doc>
2658 <type name="Color" c:type="PangoColor*"/>
2659 </return-value>
2660 <parameters>
2661 <instance-parameter name="src"
2662 transfer-ownership="none"
2663 nullable="1"
2664 allow-none="1">
2665 <doc xml:space="preserve"
2666 filename="pango/pango-color.c"
2667 line="37">color to copy</doc>
2668 <type name="Color" c:type="const PangoColor*"/>
2669 </instance-parameter>
2670 </parameters>
2671 </method>
2672 <method name="free" c:identifier="pango_color_free">
2673 <doc xml:space="preserve"
2674 filename="pango/pango-color.c"
2675 line="64">Frees a color allocated by [method@Pango.Color.copy].</doc>
2676 <source-position filename="pango/pango-color.h" line="58"/>
2677 <return-value transfer-ownership="none">
2678 <type name="none" c:type="void"/>
2679 </return-value>
2680 <parameters>
2681 <instance-parameter name="color"
2682 transfer-ownership="none"
2683 nullable="1"
2684 allow-none="1">
2685 <doc xml:space="preserve"
2686 filename="pango/pango-color.c"
2687 line="66">an allocated `PangoColor`</doc>
2688 <type name="Color" c:type="PangoColor*"/>
2689 </instance-parameter>
2690 </parameters>
2691 </method>
2692 <method name="parse" c:identifier="pango_color_parse">
2693 <doc xml:space="preserve"
2694 filename="pango/pango-color.c"
2695 line="324">Fill in the fields of a color from a string specification.
2696
2697The string can either one of a large set of standard names.
2698(Taken from the CSS Color [specification](https://www.w3.org/TR/css-color-4/#named-colors),
2699or it can be a value in the form `#rgb`, `#rrggbb`,
2700`#rrrgggbbb` or `#rrrrggggbbbb`, where `r`, `g` and `b`
2701are hex digits of the red, green, and blue components
2702of the color, respectively. (White in the four forms is
2703`#fff`, `#ffffff`, `#fffffffff` and `#ffffffffffff`.)</doc>
2704 <source-position filename="pango/pango-color.h" line="61"/>
2705 <return-value transfer-ownership="none">
2706 <doc xml:space="preserve"
2707 filename="pango/pango-color.c"
2708 line="340">%TRUE if parsing of the specifier succeeded,
2709 otherwise %FALSE</doc>
2710 <type name="gboolean" c:type="gboolean"/>
2711 </return-value>
2712 <parameters>
2713 <instance-parameter name="color"
2714 transfer-ownership="none"
2715 nullable="1"
2716 allow-none="1">
2717 <doc xml:space="preserve"
2718 filename="pango/pango-color.c"
2719 line="326">a `PangoColor` structure in which
2720 to store the result</doc>
2721 <type name="Color" c:type="PangoColor*"/>
2722 </instance-parameter>
2723 <parameter name="spec" transfer-ownership="none">
2724 <doc xml:space="preserve"
2725 filename="pango/pango-color.c"
2726 line="328">a string specifying the new color</doc>
2727 <type name="utf8" c:type="const char*"/>
2728 </parameter>
2729 </parameters>
2730 </method>
2731 <method name="parse_with_alpha"
2732 c:identifier="pango_color_parse_with_alpha"
2733 version="1.46">
2734 <doc xml:space="preserve"
2735 filename="pango/pango-color.c"
2736 line="213">Fill in the fields of a color from a string specification.
2737
2738The string can either one of a large set of standard names.
2739(Taken from the CSS Color [specification](https://www.w3.org/TR/css-color-4/#named-colors),
2740or it can be a hexadecimal value in the form `#rgb`,
2741`#rrggbb`, `#rrrgggbbb` or `#rrrrggggbbbb` where `r`, `g`
2742and `b` are hex digits of the red, green, and blue components
2743of the color, respectively. (White in the four forms is
2744`#fff`, `#ffffff`, `#fffffffff` and `#ffffffffffff`.)
2745
2746Additionally, parse strings of the form `#rgba`, `#rrggbbaa`,
2747`#rrrrggggbbbbaaaa`, if @alpha is not %NULL, and set @alpha
2748to the value specified by the hex digits for `a`. If no alpha
2749component is found in @spec, @alpha is set to 0xffff (for a
2750solid color).</doc>
2751 <source-position filename="pango/pango-color.h" line="65"/>
2752 <return-value transfer-ownership="none">
2753 <doc xml:space="preserve"
2754 filename="pango/pango-color.c"
2755 line="236">%TRUE if parsing of the specifier succeeded,
2756 otherwise %FALSE</doc>
2757 <type name="gboolean" c:type="gboolean"/>
2758 </return-value>
2759 <parameters>
2760 <instance-parameter name="color"
2761 transfer-ownership="none"
2762 nullable="1"
2763 allow-none="1">
2764 <doc xml:space="preserve"
2765 filename="pango/pango-color.c"
2766 line="215">a `PangoColor` structure in which
2767 to store the result</doc>
2768 <type name="Color" c:type="PangoColor*"/>
2769 </instance-parameter>
2770 <parameter name="alpha"
2771 direction="out"
2772 caller-allocates="0"
2773 transfer-ownership="full"
2774 optional="1"
2775 allow-none="1">
2776 <doc xml:space="preserve"
2777 filename="pango/pango-color.c"
2778 line="217">return location for alpha</doc>
2779 <type name="guint16" c:type="guint16*"/>
2780 </parameter>
2781 <parameter name="spec" transfer-ownership="none">
2782 <doc xml:space="preserve"
2783 filename="pango/pango-color.c"
2784 line="218">a string specifying the new color</doc>
2785 <type name="utf8" c:type="const char*"/>
2786 </parameter>
2787 </parameters>
2788 </method>
2789 <method name="to_string"
2790 c:identifier="pango_color_to_string"
2791 version="1.16">
2792 <doc xml:space="preserve"
2793 filename="pango/pango-color.c"
2794 line="79">Returns a textual specification of @color.
2795
2796The string is in the hexadecimal form `#rrrrggggbbbb`,
2797where `r`, `g` and `b` are hex digits representing the
2798red, green, and blue components respectively.</doc>
2799 <source-position filename="pango/pango-color.h" line="70"/>
2800 <return-value transfer-ownership="full">
2801 <doc xml:space="preserve"
2802 filename="pango/pango-color.c"
2803 line="89">a newly-allocated text string that must
2804 be freed with g_free().</doc>
2805 <type name="utf8" c:type="char*"/>
2806 </return-value>
2807 <parameters>
2808 <instance-parameter name="color" transfer-ownership="none">
2809 <doc xml:space="preserve"
2810 filename="pango/pango-color.c"
2811 line="81">a `PangoColor`</doc>
2812 <type name="Color" c:type="const PangoColor*"/>
2813 </instance-parameter>
2814 </parameters>
2815 </method>
2816 </record>
2817 <class name="Context"
2818 c:symbol-prefix="context"
2819 c:type="PangoContext"
2820 parent="GObject.Object"
2821 glib:type-name="PangoContext"
2822 glib:get-type="pango_context_get_type"
2823 glib:type-struct="ContextClass">
2824 <doc xml:space="preserve"
2825 filename="pango/pango-context.c"
2826 line="37">A `PangoContext` stores global information used to control the
2827itemization process.
2828
2829The information stored by `PangoContext` includes the fontmap used
2830to look up fonts, and default values such as the default language,
2831default gravity, or default font.
2832
2833To obtain a `PangoContext`, use [method@Pango.FontMap.create_context].</doc>
2834 <source-position filename="pango/pango-context.h" line="33"/>
2835 <constructor name="new" c:identifier="pango_context_new">
2836 <doc xml:space="preserve"
2837 filename="pango/pango-context.c"
2838 line="111">Creates a new `PangoContext` initialized to default values.
2839
2840This function is not particularly useful as it should always
2841be followed by a [method@Pango.Context.set_font_map] call, and the
2842function [method@Pango.FontMap.create_context] does these two steps
2843together and hence users are recommended to use that.
2844
2845If you are using Pango as part of a higher-level system,
2846that system may have it's own way of create a `PangoContext`.
2847For instance, the GTK toolkit has, among others,
2848`gtk_widget_get_pango_context()`. Use those instead.</doc>
2849 <source-position filename="pango/pango-context.h" line="47"/>
2850 <return-value transfer-ownership="full">
2851 <doc xml:space="preserve"
2852 filename="pango/pango-context.c"
2853 line="126">the newly allocated `PangoContext`, which should
2854 be freed with g_object_unref().</doc>
2855 <type name="Context" c:type="PangoContext*"/>
2856 </return-value>
2857 </constructor>
2858 <method name="changed"
2859 c:identifier="pango_context_changed"
2860 version="1.32.4">
2861 <doc xml:space="preserve"
2862 filename="pango/pango-context.c"
2863 line="747">Forces a change in the context, which will cause any `PangoLayout`
2864using this context to re-layout.
2865
2866This function is only useful when implementing a new backend
2867for Pango, something applications won't do. Backends should
2868call this function if they have attached extra data to the context
2869and such data is changed.</doc>
2870 <source-position filename="pango/pango-context.h" line="49"/>
2871 <return-value transfer-ownership="none">
2872 <type name="none" c:type="void"/>
2873 </return-value>
2874 <parameters>
2875 <instance-parameter name="context" transfer-ownership="none">
2876 <doc xml:space="preserve"
2877 filename="pango/pango-context.c"
2878 line="749">a `PangoContext`</doc>
2879 <type name="Context" c:type="PangoContext*"/>
2880 </instance-parameter>
2881 </parameters>
2882 </method>
2883 <method name="get_base_dir" c:identifier="pango_context_get_base_dir">
2884 <doc xml:space="preserve"
2885 filename="pango/pango-context.c"
2886 line="447">Retrieves the base direction for the context.
2887
2888See [method@Pango.Context.set_base_dir].</doc>
2889 <source-position filename="pango/pango-context.h" line="88"/>
2890 <return-value transfer-ownership="none">
2891 <doc xml:space="preserve"
2892 filename="pango/pango-context.c"
2893 line="455">the base direction for the context.</doc>
2894 <type name="Direction" c:type="PangoDirection"/>
2895 </return-value>
2896 <parameters>
2897 <instance-parameter name="context" transfer-ownership="none">
2898 <doc xml:space="preserve"
2899 filename="pango/pango-context.c"
2900 line="449">a `PangoContext`</doc>
2901 <type name="Context" c:type="PangoContext*"/>
2902 </instance-parameter>
2903 </parameters>
2904 </method>
2905 <method name="get_base_gravity"
2906 c:identifier="pango_context_get_base_gravity"
2907 version="1.16">
2908 <doc xml:space="preserve"
2909 filename="pango/pango-context.c"
2910 line="490">Retrieves the base gravity for the context.
2911
2912See [method@Pango.Context.set_base_gravity].</doc>
2913 <source-position filename="pango/pango-context.h" line="93"/>
2914 <return-value transfer-ownership="none">
2915 <doc xml:space="preserve"
2916 filename="pango/pango-context.c"
2917 line="498">the base gravity for the context.</doc>
2918 <type name="Gravity" c:type="PangoGravity"/>
2919 </return-value>
2920 <parameters>
2921 <instance-parameter name="context" transfer-ownership="none">
2922 <doc xml:space="preserve"
2923 filename="pango/pango-context.c"
2924 line="492">a `PangoContext`</doc>
2925 <type name="Context" c:type="PangoContext*"/>
2926 </instance-parameter>
2927 </parameters>
2928 </method>
2929 <method name="get_font_description"
2930 c:identifier="pango_context_get_font_description">
2931 <doc xml:space="preserve"
2932 filename="pango/pango-context.c"
2933 line="362">Retrieve the default font description for the context.</doc>
2934 <source-position filename="pango/pango-context.h" line="78"/>
2935 <return-value transfer-ownership="none" nullable="1">
2936 <doc xml:space="preserve"
2937 filename="pango/pango-context.c"
2938 line="368">a pointer to the context's default font
2939 description. This value must not be modified or freed.</doc>
2940 <type name="FontDescription" c:type="PangoFontDescription*"/>
2941 </return-value>
2942 <parameters>
2943 <instance-parameter name="context" transfer-ownership="none">
2944 <doc xml:space="preserve"
2945 filename="pango/pango-context.c"
2946 line="364">a `PangoContext`</doc>
2947 <type name="Context" c:type="PangoContext*"/>
2948 </instance-parameter>
2949 </parameters>
2950 </method>
2951 <method name="get_font_map"
2952 c:identifier="pango_context_get_font_map"
2953 version="1.6">
2954 <doc xml:space="preserve"
2955 filename="pango/pango-context.c"
2956 line="242">Gets the `PangoFontMap` used to look up fonts for this context.</doc>
2957 <source-position filename="pango/pango-context.h" line="54"/>
2958 <return-value transfer-ownership="none" nullable="1">
2959 <doc xml:space="preserve"
2960 filename="pango/pango-context.c"
2961 line="248">the font map for the.
2962 `PangoContext` This value is owned by Pango and should not be
2963 unreferenced.</doc>
2964 <type name="FontMap" c:type="PangoFontMap*"/>
2965 </return-value>
2966 <parameters>
2967 <instance-parameter name="context" transfer-ownership="none">
2968 <doc xml:space="preserve"
2969 filename="pango/pango-context.c"
2970 line="244">a `PangoContext`</doc>
2971 <type name="Context" c:type="PangoContext*"/>
2972 </instance-parameter>
2973 </parameters>
2974 </method>
2975 <method name="get_gravity"
2976 c:identifier="pango_context_get_gravity"
2977 version="1.16">
2978 <doc xml:space="preserve"
2979 filename="pango/pango-context.c"
2980 line="510">Retrieves the gravity for the context.
2981
2982This is similar to [method@Pango.Context.get_base_gravity],
2983except for when the base gravity is %PANGO_GRAVITY_AUTO for
2984which [func@Pango.Gravity.get_for_matrix] is used to return the
2985gravity from the current context matrix.</doc>
2986 <source-position filename="pango/pango-context.h" line="95"/>
2987 <return-value transfer-ownership="none">
2988 <doc xml:space="preserve"
2989 filename="pango/pango-context.c"
2990 line="521">the resolved gravity for the context.</doc>
2991 <type name="Gravity" c:type="PangoGravity"/>
2992 </return-value>
2993 <parameters>
2994 <instance-parameter name="context" transfer-ownership="none">
2995 <doc xml:space="preserve"
2996 filename="pango/pango-context.c"
2997 line="512">a `PangoContext`</doc>
2998 <type name="Context" c:type="PangoContext*"/>
2999 </instance-parameter>
3000 </parameters>
3001 </method>
3002 <method name="get_gravity_hint"
3003 c:identifier="pango_context_get_gravity_hint"
3004 version="1.16">
3005 <doc xml:space="preserve"
3006 filename="pango/pango-context.c"
3007 line="559">Retrieves the gravity hint for the context.
3008
3009See [method@Pango.Context.set_gravity_hint] for details.</doc>
3010 <source-position filename="pango/pango-context.h" line="100"/>
3011 <return-value transfer-ownership="none">
3012 <doc xml:space="preserve"
3013 filename="pango/pango-context.c"
3014 line="567">the gravity hint for the context.</doc>
3015 <type name="GravityHint" c:type="PangoGravityHint"/>
3016 </return-value>
3017 <parameters>
3018 <instance-parameter name="context" transfer-ownership="none">
3019 <doc xml:space="preserve"
3020 filename="pango/pango-context.c"
3021 line="561">a `PangoContext`</doc>
3022 <type name="Context" c:type="PangoContext*"/>
3023 </instance-parameter>
3024 </parameters>
3025 </method>
3026 <method name="get_language" c:identifier="pango_context_get_language">
3027 <doc xml:space="preserve"
3028 filename="pango/pango-context.c"
3029 line="405">Retrieves the global language tag for the context.</doc>
3030 <source-position filename="pango/pango-context.h" line="80"/>
3031 <return-value transfer-ownership="none">
3032 <doc xml:space="preserve"
3033 filename="pango/pango-context.c"
3034 line="411">the global language tag.</doc>
3035 <type name="Language" c:type="PangoLanguage*"/>
3036 </return-value>
3037 <parameters>
3038 <instance-parameter name="context" transfer-ownership="none">
3039 <doc xml:space="preserve"
3040 filename="pango/pango-context.c"
3041 line="407">a `PangoContext`</doc>
3042 <type name="Context" c:type="PangoContext*"/>
3043 </instance-parameter>
3044 </parameters>
3045 </method>
3046 <method name="get_matrix"
3047 c:identifier="pango_context_get_matrix"
3048 version="1.6">
3049 <doc xml:space="preserve"
3050 filename="pango/pango-context.c"
3051 line="184">Gets the transformation matrix that will be applied when
3052rendering with this context.
3053
3054See [method@Pango.Context.set_matrix].</doc>
3055 <source-position filename="pango/pango-context.h" line="106"/>
3056 <return-value transfer-ownership="none" nullable="1">
3057 <doc xml:space="preserve"
3058 filename="pango/pango-context.c"
3059 line="193">the matrix, or %NULL if no
3060 matrix has been set (which is the same as the identity matrix).
3061 The returned matrix is owned by Pango and must not be modified
3062 or freed.</doc>
3063 <type name="Matrix" c:type="const PangoMatrix*"/>
3064 </return-value>
3065 <parameters>
3066 <instance-parameter name="context" transfer-ownership="none">
3067 <doc xml:space="preserve"
3068 filename="pango/pango-context.c"
3069 line="186">a `PangoContext`</doc>
3070 <type name="Context" c:type="PangoContext*"/>
3071 </instance-parameter>
3072 </parameters>
3073 </method>
3074 <method name="get_metrics" c:identifier="pango_context_get_metrics">
3075 <doc xml:space="preserve"
3076 filename="pango/pango-context.c"
3077 line="663">Get overall metric information for a particular font description.
3078
3079Since the metrics may be substantially different for different scripts,
3080a language tag can be provided to indicate that the metrics should be
3081retrieved that correspond to the script(s) used by that language.
3082
3083The `PangoFontDescription` is interpreted in the same way as by [func@itemize],
3084and the family name may be a comma separated list of names. If characters
3085from multiple of these families would be used to render the string, then
3086the returned fonts would be a composite of the metrics for the fonts loaded
3087for the individual families.</doc>
3088 <source-position filename="pango/pango-context.h" line="70"/>
3089 <return-value transfer-ownership="full">
3090 <doc xml:space="preserve"
3091 filename="pango/pango-context.c"
3092 line="686">a `PangoFontMetrics` object. The caller must call
3093 [method@Pango.FontMetrics.unref] when finished using the object.</doc>
3094 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
3095 </return-value>
3096 <parameters>
3097 <instance-parameter name="context" transfer-ownership="none">
3098 <doc xml:space="preserve"
3099 filename="pango/pango-context.c"
3100 line="665">a `PangoContext`</doc>
3101 <type name="Context" c:type="PangoContext*"/>
3102 </instance-parameter>
3103 <parameter name="desc"
3104 transfer-ownership="none"
3105 nullable="1"
3106 allow-none="1">
3107 <doc xml:space="preserve"
3108 filename="pango/pango-context.c"
3109 line="666">a `PangoFontDescription` structure. %NULL means that the
3110 font description from the context will be used.</doc>
3111 <type name="FontDescription" c:type="const PangoFontDescription*"/>
3112 </parameter>
3113 <parameter name="language"
3114 transfer-ownership="none"
3115 nullable="1"
3116 allow-none="1">
3117 <doc xml:space="preserve"
3118 filename="pango/pango-context.c"
3119 line="668">language tag used to determine which script to get
3120 the metrics for. %NULL means that the language tag from the context
3121 will be used. If no language tag is set on the context, metrics
3122 for the default language (as determined by [func@Pango.Language.get_default]
3123 will be returned.</doc>
3124 <type name="Language" c:type="PangoLanguage*"/>
3125 </parameter>
3126 </parameters>
3127 </method>
3128 <method name="get_round_glyph_positions"
3129 c:identifier="pango_context_get_round_glyph_positions"
3130 version="1.44">
3131 <doc xml:space="preserve"
3132 filename="pango/pango-context.c"
3133 line="837">Returns whether font rendering with this context should
3134round glyph positions and widths.</doc>
3135 <source-position filename="pango/pango-context.h" line="112"/>
3136 <return-value transfer-ownership="none">
3137 <type name="gboolean" c:type="gboolean"/>
3138 </return-value>
3139 <parameters>
3140 <instance-parameter name="context" transfer-ownership="none">
3141 <doc xml:space="preserve"
3142 filename="pango/pango-context.c"
3143 line="839">a `PangoContext`</doc>
3144 <type name="Context" c:type="PangoContext*"/>
3145 </instance-parameter>
3146 </parameters>
3147 </method>
3148 <method name="get_serial"
3149 c:identifier="pango_context_get_serial"
3150 version="1.32.4">
3151 <doc xml:space="preserve"
3152 filename="pango/pango-context.c"
3153 line="781">Returns the current serial number of @context.
3154
3155The serial number is initialized to an small number larger than zero
3156when a new context is created and is increased whenever the context
3157is changed using any of the setter functions, or the `PangoFontMap` it
3158uses to find fonts has changed. The serial may wrap, but will never
3159have the value 0. Since it can wrap, never compare it with "less than",
3160always use "not equals".
3161
3162This can be used to automatically detect changes to a `PangoContext`,
3163and is only useful when implementing objects that need update when their
3164`PangoContext` changes, like `PangoLayout`.</doc>
3165 <source-position filename="pango/pango-context.h" line="56"/>
3166 <return-value transfer-ownership="none">
3167 <doc xml:space="preserve"
3168 filename="pango/pango-context.c"
3169 line="798">The current serial number of @context.</doc>
3170 <type name="guint" c:type="guint"/>
3171 </return-value>
3172 <parameters>
3173 <instance-parameter name="context" transfer-ownership="none">
3174 <doc xml:space="preserve"
3175 filename="pango/pango-context.c"
3176 line="783">a `PangoContext`</doc>
3177 <type name="Context" c:type="PangoContext*"/>
3178 </instance-parameter>
3179 </parameters>
3180 </method>
3181 <method name="list_families" c:identifier="pango_context_list_families">
3182 <doc xml:space="preserve"
3183 filename="pango/pango-context.c"
3184 line="262">List all families for a context.</doc>
3185 <source-position filename="pango/pango-context.h" line="58"/>
3186 <return-value transfer-ownership="none">
3187 <type name="none" c:type="void"/>
3188 </return-value>
3189 <parameters>
3190 <instance-parameter name="context" transfer-ownership="none">
3191 <doc xml:space="preserve"
3192 filename="pango/pango-context.c"
3193 line="264">a `PangoContext`</doc>
3194 <type name="Context" c:type="PangoContext*"/>
3195 </instance-parameter>
3196 <parameter name="families"
3197 direction="out"
3198 caller-allocates="0"
3199 transfer-ownership="container">
3200 <doc xml:space="preserve"
3201 filename="pango/pango-context.c"
3202 line="265">location
3203 to store a pointer to an array of `PangoFontFamily`. This array should
3204 be freed with g_free().</doc>
3205 <array length="1" zero-terminated="0" c:type="PangoFontFamily***">
3206 <type name="FontFamily" c:type="PangoFontFamily**"/>
3207 </array>
3208 </parameter>
3209 <parameter name="n_families"
3210 direction="out"
3211 caller-allocates="0"
3212 transfer-ownership="full">
3213 <doc xml:space="preserve"
3214 filename="pango/pango-context.c"
3215 line="268">location to store the number of elements in @descs</doc>
3216 <type name="gint" c:type="int*"/>
3217 </parameter>
3218 </parameters>
3219 </method>
3220 <method name="load_font" c:identifier="pango_context_load_font">
3221 <doc xml:space="preserve"
3222 filename="pango/pango-context.c"
3223 line="295">Loads the font in one of the fontmaps in the context
3224that is the closest match for @desc.</doc>
3225 <source-position filename="pango/pango-context.h" line="62"/>
3226 <return-value transfer-ownership="full" nullable="1">
3227 <doc xml:space="preserve"
3228 filename="pango/pango-context.c"
3229 line="303">the newly allocated `PangoFont`
3230 that was loaded, or %NULL if no font matched.</doc>
3231 <type name="Font" c:type="PangoFont*"/>
3232 </return-value>
3233 <parameters>
3234 <instance-parameter name="context" transfer-ownership="none">
3235 <doc xml:space="preserve"
3236 filename="pango/pango-context.c"
3237 line="297">a `PangoContext`</doc>
3238 <type name="Context" c:type="PangoContext*"/>
3239 </instance-parameter>
3240 <parameter name="desc" transfer-ownership="none">
3241 <doc xml:space="preserve"
3242 filename="pango/pango-context.c"
3243 line="298">a `PangoFontDescription` describing the font to load</doc>
3244 <type name="FontDescription" c:type="const PangoFontDescription*"/>
3245 </parameter>
3246 </parameters>
3247 </method>
3248 <method name="load_fontset" c:identifier="pango_context_load_fontset">
3249 <doc xml:space="preserve"
3250 filename="pango/pango-context.c"
3251 line="316">Load a set of fonts in the context that can be used to render
3252a font matching @desc.</doc>
3253 <source-position filename="pango/pango-context.h" line="65"/>
3254 <return-value transfer-ownership="full" nullable="1">
3255 <doc xml:space="preserve"
3256 filename="pango/pango-context.c"
3257 line="325">the newly allocated
3258 `PangoFontset` loaded, or %NULL if no font matched.</doc>
3259 <type name="Fontset" c:type="PangoFontset*"/>
3260 </return-value>
3261 <parameters>
3262 <instance-parameter name="context" transfer-ownership="none">
3263 <doc xml:space="preserve"
3264 filename="pango/pango-context.c"
3265 line="318">a `PangoContext`</doc>
3266 <type name="Context" c:type="PangoContext*"/>
3267 </instance-parameter>
3268 <parameter name="desc" transfer-ownership="none">
3269 <doc xml:space="preserve"
3270 filename="pango/pango-context.c"
3271 line="319">a `PangoFontDescription` describing the fonts to load</doc>
3272 <type name="FontDescription" c:type="const PangoFontDescription*"/>
3273 </parameter>
3274 <parameter name="language" transfer-ownership="none">
3275 <doc xml:space="preserve"
3276 filename="pango/pango-context.c"
3277 line="320">a `PangoLanguage` the fonts will be used for</doc>
3278 <type name="Language" c:type="PangoLanguage*"/>
3279 </parameter>
3280 </parameters>
3281 </method>
3282 <method name="set_base_dir" c:identifier="pango_context_set_base_dir">
3283 <doc xml:space="preserve"
3284 filename="pango/pango-context.c"
3285 line="421">Sets the base direction for the context.
3286
3287The base direction is used in applying the Unicode bidirectional
3288algorithm; if the @direction is %PANGO_DIRECTION_LTR or
3289%PANGO_DIRECTION_RTL, then the value will be used as the paragraph
3290direction in the Unicode bidirectional algorithm. A value of
3291%PANGO_DIRECTION_WEAK_LTR or %PANGO_DIRECTION_WEAK_RTL is used only
3292for paragraphs that do not contain any strong characters themselves.</doc>
3293 <source-position filename="pango/pango-context.h" line="85"/>
3294 <return-value transfer-ownership="none">
3295 <type name="none" c:type="void"/>
3296 </return-value>
3297 <parameters>
3298 <instance-parameter name="context" transfer-ownership="none">
3299 <doc xml:space="preserve"
3300 filename="pango/pango-context.c"
3301 line="423">a `PangoContext`</doc>
3302 <type name="Context" c:type="PangoContext*"/>
3303 </instance-parameter>
3304 <parameter name="direction" transfer-ownership="none">
3305 <doc xml:space="preserve"
3306 filename="pango/pango-context.c"
3307 line="424">the new base direction</doc>
3308 <type name="Direction" c:type="PangoDirection"/>
3309 </parameter>
3310 </parameters>
3311 </method>
3312 <method name="set_base_gravity"
3313 c:identifier="pango_context_set_base_gravity"
3314 version="1.16">
3315 <doc xml:space="preserve"
3316 filename="pango/pango-context.c"
3317 line="465">Sets the base gravity for the context.
3318
3319The base gravity is used in laying vertical text out.</doc>
3320 <source-position filename="pango/pango-context.h" line="90"/>
3321 <return-value transfer-ownership="none">
3322 <type name="none" c:type="void"/>
3323 </return-value>
3324 <parameters>
3325 <instance-parameter name="context" transfer-ownership="none">
3326 <doc xml:space="preserve"
3327 filename="pango/pango-context.c"
3328 line="467">a `PangoContext`</doc>
3329 <type name="Context" c:type="PangoContext*"/>
3330 </instance-parameter>
3331 <parameter name="gravity" transfer-ownership="none">
3332 <doc xml:space="preserve"
3333 filename="pango/pango-context.c"
3334 line="468">the new base gravity</doc>
3335 <type name="Gravity" c:type="PangoGravity"/>
3336 </parameter>
3337 </parameters>
3338 </method>
3339 <method name="set_font_description"
3340 c:identifier="pango_context_set_font_description">
3341 <doc xml:space="preserve"
3342 filename="pango/pango-context.c"
3343 line="338">Set the default font description for the context</doc>
3344 <source-position filename="pango/pango-context.h" line="75"/>
3345 <return-value transfer-ownership="none">
3346 <type name="none" c:type="void"/>
3347 </return-value>
3348 <parameters>
3349 <instance-parameter name="context" transfer-ownership="none">
3350 <doc xml:space="preserve"
3351 filename="pango/pango-context.c"
3352 line="340">a `PangoContext`</doc>
3353 <type name="Context" c:type="PangoContext*"/>
3354 </instance-parameter>
3355 <parameter name="desc"
3356 transfer-ownership="none"
3357 nullable="1"
3358 allow-none="1">
3359 <doc xml:space="preserve"
3360 filename="pango/pango-context.c"
3361 line="341">the new pango font description</doc>
3362 <type name="FontDescription" c:type="const PangoFontDescription*"/>
3363 </parameter>
3364 </parameters>
3365 </method>
3366 <method name="set_font_map" c:identifier="pango_context_set_font_map">
3367 <doc xml:space="preserve"
3368 filename="pango/pango-context.c"
3369 line="208">Sets the font map to be searched when fonts are looked-up
3370in this context.
3371
3372This is only for internal use by Pango backends, a `PangoContext`
3373obtained via one of the recommended methods should already have a
3374suitable font map.</doc>
3375 <source-position filename="pango/pango-context.h" line="51"/>
3376 <return-value transfer-ownership="none">
3377 <type name="none" c:type="void"/>
3378 </return-value>
3379 <parameters>
3380 <instance-parameter name="context" transfer-ownership="none">
3381 <doc xml:space="preserve"
3382 filename="pango/pango-context.c"
3383 line="210">a `PangoContext`</doc>
3384 <type name="Context" c:type="PangoContext*"/>
3385 </instance-parameter>
3386 <parameter name="font_map"
3387 transfer-ownership="none"
3388 nullable="1"
3389 allow-none="1">
3390 <doc xml:space="preserve"
3391 filename="pango/pango-context.c"
3392 line="211">the `PangoFontMap` to set.</doc>
3393 <type name="FontMap" c:type="PangoFontMap*"/>
3394 </parameter>
3395 </parameters>
3396 </method>
3397 <method name="set_gravity_hint"
3398 c:identifier="pango_context_set_gravity_hint"
3399 version="1.16">
3400 <doc xml:space="preserve"
3401 filename="pango/pango-context.c"
3402 line="533">Sets the gravity hint for the context.
3403
3404The gravity hint is used in laying vertical text out, and
3405is only relevant if gravity of the context as returned by
3406[method@Pango.Context.get_gravity] is set to %PANGO_GRAVITY_EAST
3407or %PANGO_GRAVITY_WEST.</doc>
3408 <source-position filename="pango/pango-context.h" line="97"/>
3409 <return-value transfer-ownership="none">
3410 <type name="none" c:type="void"/>
3411 </return-value>
3412 <parameters>
3413 <instance-parameter name="context" transfer-ownership="none">
3414 <doc xml:space="preserve"
3415 filename="pango/pango-context.c"
3416 line="535">a `PangoContext`</doc>
3417 <type name="Context" c:type="PangoContext*"/>
3418 </instance-parameter>
3419 <parameter name="hint" transfer-ownership="none">
3420 <doc xml:space="preserve"
3421 filename="pango/pango-context.c"
3422 line="536">the new gravity hint</doc>
3423 <type name="GravityHint" c:type="PangoGravityHint"/>
3424 </parameter>
3425 </parameters>
3426 </method>
3427 <method name="set_language" c:identifier="pango_context_set_language">
3428 <doc xml:space="preserve"
3429 filename="pango/pango-context.c"
3430 line="379">Sets the global language tag for the context.
3431
3432The default language for the locale of the running process
3433can be found using [func@Pango.Language.get_default].</doc>
3434 <source-position filename="pango/pango-context.h" line="82"/>
3435 <return-value transfer-ownership="none">
3436 <type name="none" c:type="void"/>
3437 </return-value>
3438 <parameters>
3439 <instance-parameter name="context" transfer-ownership="none">
3440 <doc xml:space="preserve"
3441 filename="pango/pango-context.c"
3442 line="381">a `PangoContext`</doc>
3443 <type name="Context" c:type="PangoContext*"/>
3444 </instance-parameter>
3445 <parameter name="language"
3446 transfer-ownership="none"
3447 nullable="1"
3448 allow-none="1">
3449 <doc xml:space="preserve"
3450 filename="pango/pango-context.c"
3451 line="382">the new language tag.</doc>
3452 <type name="Language" c:type="PangoLanguage*"/>
3453 </parameter>
3454 </parameters>
3455 </method>
3456 <method name="set_matrix"
3457 c:identifier="pango_context_set_matrix"
3458 version="1.6">
3459 <doc xml:space="preserve"
3460 filename="pango/pango-context.c"
3461 line="148">Sets the transformation matrix that will be applied when rendering
3462with this context.
3463
3464Note that reported metrics are in the user space coordinates before
3465the application of the matrix, not device-space coordinates after the
3466application of the matrix. So, they don't scale with the matrix, though
3467they may change slightly for different matrices, depending on how the
3468text is fit to the pixel grid.</doc>
3469 <source-position filename="pango/pango-context.h" line="103"/>
3470 <return-value transfer-ownership="none">
3471 <type name="none" c:type="void"/>
3472 </return-value>
3473 <parameters>
3474 <instance-parameter name="context" transfer-ownership="none">
3475 <doc xml:space="preserve"
3476 filename="pango/pango-context.c"
3477 line="150">a `PangoContext`</doc>
3478 <type name="Context" c:type="PangoContext*"/>
3479 </instance-parameter>
3480 <parameter name="matrix"
3481 transfer-ownership="none"
3482 nullable="1"
3483 allow-none="1">
3484 <doc xml:space="preserve"
3485 filename="pango/pango-context.c"
3486 line="151">a `PangoMatrix`, or %NULL to unset any existing
3487matrix. (No matrix set is the same as setting the identity matrix.)</doc>
3488 <type name="Matrix" c:type="const PangoMatrix*"/>
3489 </parameter>
3490 </parameters>
3491 </method>
3492 <method name="set_round_glyph_positions"
3493 c:identifier="pango_context_set_round_glyph_positions"
3494 version="1.44">
3495 <doc xml:space="preserve"
3496 filename="pango/pango-context.c"
3497 line="809">Sets whether font rendering with this context should
3498round glyph positions and widths to integral positions,
3499in device units.
3500
3501This is useful when the renderer can't handle subpixel
3502positioning of glyphs.
3503
3504The default value is to round glyph positions, to remain
3505compatible with previous Pango behavior.</doc>
3506 <source-position filename="pango/pango-context.h" line="109"/>
3507 <return-value transfer-ownership="none">
3508 <type name="none" c:type="void"/>
3509 </return-value>
3510 <parameters>
3511 <instance-parameter name="context" transfer-ownership="none">
3512 <doc xml:space="preserve"
3513 filename="pango/pango-context.c"
3514 line="811">a `PangoContext`</doc>
3515 <type name="Context" c:type="PangoContext*"/>
3516 </instance-parameter>
3517 <parameter name="round_positions" transfer-ownership="none">
3518 <doc xml:space="preserve"
3519 filename="pango/pango-context.c"
3520 line="812">whether to round glyph positions</doc>
3521 <type name="gboolean" c:type="gboolean"/>
3522 </parameter>
3523 </parameters>
3524 </method>
3525 </class>
3526 <record name="ContextClass"
3527 c:type="PangoContextClass"
3528 disguised="1"
3529 opaque="1"
3530 glib:is-gtype-struct-for="Context">
3531 <source-position filename="pango/pango-context.h" line="33"/>
3532 </record>
3533 <class name="Coverage"
3534 c:symbol-prefix="coverage"
3535 c:type="PangoCoverage"
3536 parent="GObject.Object"
3537 glib:type-name="PangoCoverage"
3538 glib:get-type="pango_coverage_get_type">
3539 <doc xml:space="preserve"
3540 filename="pango/pango-coverage.h"
3541 line="32">A `PangoCoverage` structure is a map from Unicode characters
3542to [enum@Pango.CoverageLevel] values.
3543
3544It is often necessary in Pango to determine if a particular
3545font can represent a particular character, and also how well
3546it can represent that character. The `PangoCoverage` is a data
3547structure that is used to represent that information. It is an
3548opaque structure with no public fields.</doc>
3549 <constructor name="new" c:identifier="pango_coverage_new">
3550 <doc xml:space="preserve"
3551 filename="pango/pango-coverage.c"
3552 line="130">Create a new `PangoCoverage`</doc>
3553 <source-position filename="pango/pango-coverage.h" line="78"/>
3554 <return-value transfer-ownership="full">
3555 <doc xml:space="preserve"
3556 filename="pango/pango-coverage.c"
3557 line="135">the newly allocated `PangoCoverage`, initialized
3558 to %PANGO_COVERAGE_NONE with a reference count of one, which
3559 should be freed with [method@Pango.Coverage.unref].</doc>
3560 <type name="Coverage" c:type="PangoCoverage*"/>
3561 </return-value>
3562 </constructor>
3563 <function name="from_bytes"
3564 c:identifier="pango_coverage_from_bytes"
3565 deprecated="1"
3566 deprecated-version="1.44">
3567 <doc xml:space="preserve"
3568 filename="pango/pango-coverage.c"
3569 line="262">Convert data generated from [method@Pango.Coverage.to_bytes]
3570back to a `PangoCoverage`.</doc>
3571 <doc-deprecated xml:space="preserve">This returns %NULL</doc-deprecated>
3572 <source-position filename="pango/pango-coverage.h" line="101"/>
3573 <return-value transfer-ownership="full" nullable="1">
3574 <doc xml:space="preserve"
3575 filename="pango/pango-coverage.c"
3576 line="271">a newly allocated `PangoCoverage`</doc>
3577 <type name="Coverage" c:type="PangoCoverage*"/>
3578 </return-value>
3579 <parameters>
3580 <parameter name="bytes" transfer-ownership="none">
3581 <doc xml:space="preserve"
3582 filename="pango/pango-coverage.c"
3583 line="264">binary data
3584 representing a `PangoCoverage`</doc>
3585 <array length="1" zero-terminated="0" c:type="guchar*">
3586 <type name="guint8"/>
3587 </array>
3588 </parameter>
3589 <parameter name="n_bytes" transfer-ownership="none">
3590 <doc xml:space="preserve"
3591 filename="pango/pango-coverage.c"
3592 line="266">the size of @bytes in bytes</doc>
3593 <type name="gint" c:type="int"/>
3594 </parameter>
3595 </parameters>
3596 </function>
3597 <method name="copy" c:identifier="pango_coverage_copy">
3598 <doc xml:space="preserve"
3599 filename="pango/pango-coverage.c"
3600 line="145">Copy an existing `PangoCoverage`.</doc>
3601 <source-position filename="pango/pango-coverage.h" line="84"/>
3602 <return-value transfer-ownership="full">
3603 <doc xml:space="preserve"
3604 filename="pango/pango-coverage.c"
3605 line="151">the newly allocated `PangoCoverage`,
3606 with a reference count of one, which should be freed with
3607 [method@Pango.Coverage.unref].</doc>
3608 <type name="Coverage" c:type="PangoCoverage*"/>
3609 </return-value>
3610 <parameters>
3611 <instance-parameter name="coverage" transfer-ownership="none">
3612 <doc xml:space="preserve"
3613 filename="pango/pango-coverage.c"
3614 line="147">a `PangoCoverage`</doc>
3615 <type name="Coverage" c:type="PangoCoverage*"/>
3616 </instance-parameter>
3617 </parameters>
3618 </method>
3619 <method name="get" c:identifier="pango_coverage_get">
3620 <doc xml:space="preserve"
3621 filename="pango/pango-coverage.c"
3622 line="193">Determine whether a particular index is covered by @coverage.</doc>
3623 <source-position filename="pango/pango-coverage.h" line="86"/>
3624 <return-value transfer-ownership="none">
3625 <doc xml:space="preserve"
3626 filename="pango/pango-coverage.c"
3627 line="200">the coverage level of @coverage for character @index_.</doc>
3628 <type name="CoverageLevel" c:type="PangoCoverageLevel"/>
3629 </return-value>
3630 <parameters>
3631 <instance-parameter name="coverage" transfer-ownership="none">
3632 <doc xml:space="preserve"
3633 filename="pango/pango-coverage.c"
3634 line="195">a `PangoCoverage`</doc>
3635 <type name="Coverage" c:type="PangoCoverage*"/>
3636 </instance-parameter>
3637 <parameter name="index_" transfer-ownership="none">
3638 <doc xml:space="preserve"
3639 filename="pango/pango-coverage.c"
3640 line="196">the index to check</doc>
3641 <type name="gint" c:type="int"/>
3642 </parameter>
3643 </parameters>
3644 </method>
3645 <method name="max"
3646 c:identifier="pango_coverage_max"
3647 deprecated="1"
3648 deprecated-version="1.44">
3649 <doc xml:space="preserve"
3650 filename="pango/pango-coverage.c"
3651 line="225">Set the coverage for each index in @coverage to be the max (better)
3652value of the current coverage for the index and the coverage for
3653the corresponding index in @other.</doc>
3654 <doc-deprecated xml:space="preserve">This function does nothing</doc-deprecated>
3655 <source-position filename="pango/pango-coverage.h" line="93"/>
3656 <return-value transfer-ownership="none">
3657 <type name="none" c:type="void"/>
3658 </return-value>
3659 <parameters>
3660 <instance-parameter name="coverage" transfer-ownership="none">
3661 <doc xml:space="preserve"
3662 filename="pango/pango-coverage.c"
3663 line="227">a `PangoCoverage`</doc>
3664 <type name="Coverage" c:type="PangoCoverage*"/>
3665 </instance-parameter>
3666 <parameter name="other" transfer-ownership="none">
3667 <doc xml:space="preserve"
3668 filename="pango/pango-coverage.c"
3669 line="228">another `PangoCoverage`</doc>
3670 <type name="Coverage" c:type="PangoCoverage*"/>
3671 </parameter>
3672 </parameters>
3673 </method>
3674 <method name="ref"
3675 c:identifier="pango_coverage_ref"
3676 deprecated="1"
3677 deprecated-version="1.52">
3678 <doc xml:space="preserve"
3679 filename="pango/pango-coverage.c"
3680 line="161">Increase the reference count on the `PangoCoverage` by one.</doc>
3681 <doc-deprecated xml:space="preserve">Use g_object_ref instead</doc-deprecated>
3682 <source-position filename="pango/pango-coverage.h" line="80"/>
3683 <return-value transfer-ownership="full">
3684 <doc xml:space="preserve"
3685 filename="pango/pango-coverage.c"
3686 line="167">@coverage</doc>
3687 <type name="Coverage" c:type="PangoCoverage*"/>
3688 </return-value>
3689 <parameters>
3690 <instance-parameter name="coverage" transfer-ownership="none">
3691 <doc xml:space="preserve"
3692 filename="pango/pango-coverage.c"
3693 line="163">a `PangoCoverage`</doc>
3694 <type name="Coverage" c:type="PangoCoverage*"/>
3695 </instance-parameter>
3696 </parameters>
3697 </method>
3698 <method name="set" c:identifier="pango_coverage_set">
3699 <doc xml:space="preserve"
3700 filename="pango/pango-coverage.c"
3701 line="209">Modify a particular index within @coverage</doc>
3702 <source-position filename="pango/pango-coverage.h" line="89"/>
3703 <return-value transfer-ownership="none">
3704 <type name="none" c:type="void"/>
3705 </return-value>
3706 <parameters>
3707 <instance-parameter name="coverage" transfer-ownership="none">
3708 <doc xml:space="preserve"
3709 filename="pango/pango-coverage.c"
3710 line="211">a `PangoCoverage`</doc>
3711 <type name="Coverage" c:type="PangoCoverage*"/>
3712 </instance-parameter>
3713 <parameter name="index_" transfer-ownership="none">
3714 <doc xml:space="preserve"
3715 filename="pango/pango-coverage.c"
3716 line="212">the index to modify</doc>
3717 <type name="gint" c:type="int"/>
3718 </parameter>
3719 <parameter name="level" transfer-ownership="none">
3720 <doc xml:space="preserve"
3721 filename="pango/pango-coverage.c"
3722 line="213">the new level for @index_</doc>
3723 <type name="CoverageLevel" c:type="PangoCoverageLevel"/>
3724 </parameter>
3725 </parameters>
3726 </method>
3727 <method name="to_bytes"
3728 c:identifier="pango_coverage_to_bytes"
3729 deprecated="1"
3730 deprecated-version="1.44">
3731 <doc xml:space="preserve"
3732 filename="pango/pango-coverage.c"
3733 line="242">Convert a `PangoCoverage` structure into a flat binary format.</doc>
3734 <doc-deprecated xml:space="preserve">This returns %NULL</doc-deprecated>
3735 <source-position filename="pango/pango-coverage.h" line="97"/>
3736 <return-value transfer-ownership="none">
3737 <type name="none" c:type="void"/>
3738 </return-value>
3739 <parameters>
3740 <instance-parameter name="coverage" transfer-ownership="none">
3741 <doc xml:space="preserve"
3742 filename="pango/pango-coverage.c"
3743 line="244">a `PangoCoverage`</doc>
3744 <type name="Coverage" c:type="PangoCoverage*"/>
3745 </instance-parameter>
3746 <parameter name="bytes"
3747 direction="out"
3748 caller-allocates="0"
3749 transfer-ownership="full">
3750 <doc xml:space="preserve"
3751 filename="pango/pango-coverage.c"
3752 line="245">
3753 location to store result (must be freed with g_free())</doc>
3754 <array length="1" zero-terminated="0" c:type="guchar**">
3755 <type name="guint8"/>
3756 </array>
3757 </parameter>
3758 <parameter name="n_bytes"
3759 direction="out"
3760 caller-allocates="0"
3761 transfer-ownership="full">
3762 <doc xml:space="preserve"
3763 filename="pango/pango-coverage.c"
3764 line="247">location to store size of result</doc>
3765 <type name="gint" c:type="int*"/>
3766 </parameter>
3767 </parameters>
3768 </method>
3769 <method name="unref"
3770 c:identifier="pango_coverage_unref"
3771 deprecated="1"
3772 deprecated-version="1.52">
3773 <doc xml:space="preserve"
3774 filename="pango/pango-coverage.c"
3775 line="177">Decrease the reference count on the `PangoCoverage` by one.
3776
3777If the result is zero, free the coverage and all associated memory.</doc>
3778 <doc-deprecated xml:space="preserve">Use g_object_unref instead</doc-deprecated>
3779 <source-position filename="pango/pango-coverage.h" line="82"/>
3780 <return-value transfer-ownership="none">
3781 <type name="none" c:type="void"/>
3782 </return-value>
3783 <parameters>
3784 <instance-parameter name="coverage" transfer-ownership="full">
3785 <doc xml:space="preserve"
3786 filename="pango/pango-coverage.c"
3787 line="179">a `PangoCoverage`</doc>
3788 <type name="Coverage" c:type="PangoCoverage*"/>
3789 </instance-parameter>
3790 </parameters>
3791 </method>
3792 </class>
3793 <enumeration name="CoverageLevel"
3794 glib:type-name="PangoCoverageLevel"
3795 glib:get-type="pango_coverage_level_get_type"
3796 c:type="PangoCoverageLevel">
3797 <doc xml:space="preserve"
3798 filename="pango/pango-coverage.h"
3799 line="46">`PangoCoverageLevel` is used to indicate how well a font can
3800represent a particular Unicode character for a particular script.
3801
3802Since 1.44, only %PANGO_COVERAGE_NONE and %PANGO_COVERAGE_EXACT
3803will be returned.</doc>
3804 <member name="none"
3805 value="0"
3806 c:identifier="PANGO_COVERAGE_NONE"
3807 glib:nick="none"
3808 glib:name="PANGO_COVERAGE_NONE">
3809 <doc xml:space="preserve"
3810 filename="pango/pango-coverage.h"
3811 line="48">The character is not representable with
3812 the font.</doc>
3813 </member>
3814 <member name="fallback"
3815 value="1"
3816 c:identifier="PANGO_COVERAGE_FALLBACK"
3817 glib:nick="fallback"
3818 glib:name="PANGO_COVERAGE_FALLBACK">
3819 <doc xml:space="preserve"
3820 filename="pango/pango-coverage.h"
3821 line="50">The character is represented in a
3822 way that may be comprehensible but is not the correct
3823 graphical form. For instance, a Hangul character represented
3824 as a a sequence of Jamos, or a Latin transliteration of a
3825 Cyrillic word.</doc>
3826 </member>
3827 <member name="approximate"
3828 value="2"
3829 c:identifier="PANGO_COVERAGE_APPROXIMATE"
3830 glib:nick="approximate"
3831 glib:name="PANGO_COVERAGE_APPROXIMATE">
3832 <doc xml:space="preserve"
3833 filename="pango/pango-coverage.h"
3834 line="55">The character is represented as
3835 basically the correct graphical form, but with a stylistic
3836 variant inappropriate for the current script.</doc>
3837 </member>
3838 <member name="exact"
3839 value="3"
3840 c:identifier="PANGO_COVERAGE_EXACT"
3841 glib:nick="exact"
3842 glib:name="PANGO_COVERAGE_EXACT">
3843 <doc xml:space="preserve"
3844 filename="pango/pango-coverage.h"
3845 line="58">The character is represented as the
3846 correct graphical form.</doc>
3847 </member>
3848 </enumeration>
3849 <function-macro name="DESCENT"
3850 c:identifier="PANGO_DESCENT"
3851 introspectable="0">
3852 <doc xml:space="preserve"
3853 filename="pango/pango-types.h"
3854 line="190">Extracts the *descent* from a `PangoRectangle`
3855representing glyph extents.
3856
3857The descent is the distance from the baseline to the
3858lowest point of the character. This is positive if the
3859glyph descends below the baseline.</doc>
3860 <source-position filename="pango/pango-types.h" line="226"/>
3861 <parameters>
3862 <parameter name="rect">
3863 <doc xml:space="preserve"
3864 filename="pango/pango-types.h"
3865 line="192">a `PangoRectangle`</doc>
3866 </parameter>
3867 </parameters>
3868 </function-macro>
3869 <enumeration name="Direction"
3870 glib:type-name="PangoDirection"
3871 glib:get-type="pango_direction_get_type"
3872 c:type="PangoDirection">
3873 <doc xml:space="preserve"
3874 filename="pango/pango-direction.h"
3875 line="29">`PangoDirection` represents a direction in the Unicode bidirectional
3876algorithm.
3877
3878Not every value in this enumeration makes sense for every usage of
3879`PangoDirection`; for example, the return value of [func@unichar_direction]
3880and [func@find_base_dir] cannot be `PANGO_DIRECTION_WEAK_LTR` or
3881`PANGO_DIRECTION_WEAK_RTL`, since every character is either neutral
3882or has a strong direction; on the other hand `PANGO_DIRECTION_NEUTRAL`
3883doesn't make sense to pass to [func@itemize_with_base_dir].
3884
3885The `PANGO_DIRECTION_TTB_LTR`, `PANGO_DIRECTION_TTB_RTL` values come from
3886an earlier interpretation of this enumeration as the writing direction
3887of a block of text and are no longer used. See `PangoGravity` for how
3888vertical text is handled in Pango.
3889
3890If you are interested in text direction, you should really use fribidi
3891directly. `PangoDirection` is only retained because it is used in some
3892public apis.</doc>
3893 <member name="ltr"
3894 value="0"
3895 c:identifier="PANGO_DIRECTION_LTR"
3896 glib:nick="ltr"
3897 glib:name="PANGO_DIRECTION_LTR">
3898 <doc xml:space="preserve"
3899 filename="pango/pango-direction.h"
3900 line="31">A strong left-to-right direction</doc>
3901 </member>
3902 <member name="rtl"
3903 value="1"
3904 c:identifier="PANGO_DIRECTION_RTL"
3905 glib:nick="rtl"
3906 glib:name="PANGO_DIRECTION_RTL">
3907 <doc xml:space="preserve"
3908 filename="pango/pango-direction.h"
3909 line="32">A strong right-to-left direction</doc>
3910 </member>
3911 <member name="ttb_ltr"
3912 value="2"
3913 c:identifier="PANGO_DIRECTION_TTB_LTR"
3914 glib:nick="ttb-ltr"
3915 glib:name="PANGO_DIRECTION_TTB_LTR">
3916 <doc xml:space="preserve"
3917 filename="pango/pango-direction.h"
3918 line="33">Deprecated value; treated the
3919 same as `PANGO_DIRECTION_RTL`.</doc>
3920 </member>
3921 <member name="ttb_rtl"
3922 value="3"
3923 c:identifier="PANGO_DIRECTION_TTB_RTL"
3924 glib:nick="ttb-rtl"
3925 glib:name="PANGO_DIRECTION_TTB_RTL">
3926 <doc xml:space="preserve"
3927 filename="pango/pango-direction.h"
3928 line="35">Deprecated value; treated the
3929 same as `PANGO_DIRECTION_LTR`</doc>
3930 </member>
3931 <member name="weak_ltr"
3932 value="4"
3933 c:identifier="PANGO_DIRECTION_WEAK_LTR"
3934 glib:nick="weak-ltr"
3935 glib:name="PANGO_DIRECTION_WEAK_LTR">
3936 <doc xml:space="preserve"
3937 filename="pango/pango-direction.h"
3938 line="37">A weak left-to-right direction</doc>
3939 </member>
3940 <member name="weak_rtl"
3941 value="5"
3942 c:identifier="PANGO_DIRECTION_WEAK_RTL"
3943 glib:nick="weak-rtl"
3944 glib:name="PANGO_DIRECTION_WEAK_RTL">
3945 <doc xml:space="preserve"
3946 filename="pango/pango-direction.h"
3947 line="38">A weak right-to-left direction</doc>
3948 </member>
3949 <member name="neutral"
3950 value="6"
3951 c:identifier="PANGO_DIRECTION_NEUTRAL"
3952 glib:nick="neutral"
3953 glib:name="PANGO_DIRECTION_NEUTRAL">
3954 <doc xml:space="preserve"
3955 filename="pango/pango-direction.h"
3956 line="39">No direction specified</doc>
3957 </member>
3958 </enumeration>
3959 <enumeration name="EllipsizeMode"
3960 glib:type-name="PangoEllipsizeMode"
3961 glib:get-type="pango_ellipsize_mode_get_type"
3962 c:type="PangoEllipsizeMode">
3963 <doc xml:space="preserve"
3964 filename="pango/pango-layout.h"
3965 line="97">`PangoEllipsizeMode` describes what sort of ellipsization
3966should be applied to text.
3967
3968In the ellipsization process characters are removed from the
3969text in order to make it fit to a given width and replaced
3970with an ellipsis.</doc>
3971 <member name="none"
3972 value="0"
3973 c:identifier="PANGO_ELLIPSIZE_NONE"
3974 glib:nick="none"
3975 glib:name="PANGO_ELLIPSIZE_NONE">
3976 <doc xml:space="preserve"
3977 filename="pango/pango-layout.h"
3978 line="99">No ellipsization</doc>
3979 </member>
3980 <member name="start"
3981 value="1"
3982 c:identifier="PANGO_ELLIPSIZE_START"
3983 glib:nick="start"
3984 glib:name="PANGO_ELLIPSIZE_START">
3985 <doc xml:space="preserve"
3986 filename="pango/pango-layout.h"
3987 line="100">Omit characters at the start of the text</doc>
3988 </member>
3989 <member name="middle"
3990 value="2"
3991 c:identifier="PANGO_ELLIPSIZE_MIDDLE"
3992 glib:nick="middle"
3993 glib:name="PANGO_ELLIPSIZE_MIDDLE">
3994 <doc xml:space="preserve"
3995 filename="pango/pango-layout.h"
3996 line="101">Omit characters in the middle of the text</doc>
3997 </member>
3998 <member name="end"
3999 value="3"
4000 c:identifier="PANGO_ELLIPSIZE_END"
4001 glib:nick="end"
4002 glib:name="PANGO_ELLIPSIZE_END">
4003 <doc xml:space="preserve"
4004 filename="pango/pango-layout.h"
4005 line="102">Omit characters at the end of the text</doc>
4006 </member>
4007 </enumeration>
4008 <function-macro name="FONT" c:identifier="PANGO_FONT" introspectable="0">
4009 <source-position filename="pango/pango-font.h" line="600"/>
4010 <parameters>
4011 <parameter name="object">
4012 </parameter>
4013 </parameters>
4014 </function-macro>
4015 <function-macro name="FONTSET"
4016 c:identifier="PANGO_FONTSET"
4017 introspectable="0">
4018 <source-position filename="pango/pango-fontset.h" line="37"/>
4019 <parameters>
4020 <parameter name="object">
4021 </parameter>
4022 </parameters>
4023 </function-macro>
4024 <function-macro name="FONTSET_CLASS"
4025 c:identifier="PANGO_FONTSET_CLASS"
4026 introspectable="0">
4027 <source-position filename="pango/pango-fontset.h" line="39"/>
4028 <parameters>
4029 <parameter name="klass">
4030 </parameter>
4031 </parameters>
4032 </function-macro>
4033 <function-macro name="FONTSET_GET_CLASS"
4034 c:identifier="PANGO_FONTSET_GET_CLASS"
4035 introspectable="0">
4036 <source-position filename="pango/pango-fontset.h" line="41"/>
4037 <parameters>
4038 <parameter name="obj">
4039 </parameter>
4040 </parameters>
4041 </function-macro>
4042 <function-macro name="FONTSET_SIMPLE"
4043 c:identifier="PANGO_FONTSET_SIMPLE"
4044 introspectable="0">
4045 <source-position filename="pango/pango-fontset-simple.h" line="43"/>
4046 <parameters>
4047 <parameter name="object">
4048 </parameter>
4049 </parameters>
4050 </function-macro>
4051 <function-macro name="FONT_CLASS"
4052 c:identifier="PANGO_FONT_CLASS"
4053 introspectable="0">
4054 <source-position filename="pango/pango-font.h" line="602"/>
4055 <parameters>
4056 <parameter name="klass">
4057 </parameter>
4058 </parameters>
4059 </function-macro>
4060 <function-macro name="FONT_FACE"
4061 c:identifier="PANGO_FONT_FACE"
4062 introspectable="0">
4063 <source-position filename="pango/pango-font.h" line="533"/>
4064 <parameters>
4065 <parameter name="object">
4066 </parameter>
4067 </parameters>
4068 </function-macro>
4069 <function-macro name="FONT_FACE_CLASS"
4070 c:identifier="PANGO_FONT_FACE_CLASS"
4071 introspectable="0">
4072 <source-position filename="pango/pango-font.h" line="535"/>
4073 <parameters>
4074 <parameter name="klass">
4075 </parameter>
4076 </parameters>
4077 </function-macro>
4078 <function-macro name="FONT_FACE_GET_CLASS"
4079 c:identifier="PANGO_FONT_FACE_GET_CLASS"
4080 introspectable="0">
4081 <source-position filename="pango/pango-font.h" line="537"/>
4082 <parameters>
4083 <parameter name="obj">
4084 </parameter>
4085 </parameters>
4086 </function-macro>
4087 <function-macro name="FONT_FAMILY"
4088 c:identifier="PANGO_FONT_FAMILY"
4089 introspectable="0">
4090 <source-position filename="pango/pango-font.h" line="458"/>
4091 <parameters>
4092 <parameter name="object">
4093 </parameter>
4094 </parameters>
4095 </function-macro>
4096 <function-macro name="FONT_FAMILY_CLASS"
4097 c:identifier="PANGO_FONT_FAMILY_CLASS"
4098 introspectable="0">
4099 <source-position filename="pango/pango-font.h" line="460"/>
4100 <parameters>
4101 <parameter name="klass">
4102 </parameter>
4103 </parameters>
4104 </function-macro>
4105 <function-macro name="FONT_FAMILY_GET_CLASS"
4106 c:identifier="PANGO_FONT_FAMILY_GET_CLASS"
4107 introspectable="0">
4108 <source-position filename="pango/pango-font.h" line="462"/>
4109 <parameters>
4110 <parameter name="obj">
4111 </parameter>
4112 </parameters>
4113 </function-macro>
4114 <function-macro name="FONT_GET_CLASS"
4115 c:identifier="PANGO_FONT_GET_CLASS"
4116 introspectable="0">
4117 <source-position filename="pango/pango-font.h" line="604"/>
4118 <parameters>
4119 <parameter name="obj">
4120 </parameter>
4121 </parameters>
4122 </function-macro>
4123 <function-macro name="FONT_MAP"
4124 c:identifier="PANGO_FONT_MAP"
4125 introspectable="0">
4126 <source-position filename="pango/pango-fontmap.h" line="32"/>
4127 <parameters>
4128 <parameter name="object">
4129 </parameter>
4130 </parameters>
4131 </function-macro>
4132 <function-macro name="FONT_MAP_CLASS"
4133 c:identifier="PANGO_FONT_MAP_CLASS"
4134 introspectable="0">
4135 <source-position filename="pango/pango-fontmap.h" line="34"/>
4136 <parameters>
4137 <parameter name="klass">
4138 </parameter>
4139 </parameters>
4140 </function-macro>
4141 <function-macro name="FONT_MAP_GET_CLASS"
4142 c:identifier="PANGO_FONT_MAP_GET_CLASS"
4143 introspectable="0">
4144 <source-position filename="pango/pango-fontmap.h" line="36"/>
4145 <parameters>
4146 <parameter name="obj">
4147 </parameter>
4148 </parameters>
4149 </function-macro>
4150 <class name="Font"
4151 c:symbol-prefix="font"
4152 c:type="PangoFont"
4153 parent="GObject.Object"
4154 abstract="1"
4155 glib:type-name="PangoFont"
4156 glib:get-type="pango_font_get_type"
4157 glib:type-struct="FontClass">
4158 <doc xml:space="preserve"
4159 filename="pango/pango-font.h"
4160 line="609">A `PangoFont` is used to represent a font in a
4161rendering-system-independent manner.</doc>
4162 <source-position filename="pango/pango-font.h" line="643"/>
4163 <function name="descriptions_free"
4164 c:identifier="pango_font_descriptions_free"
4165 deprecated="1"
4166 deprecated-version="1.56">
4167 <doc xml:space="preserve"
4168 filename="pango/fonts.c"
4169 line="1173">Frees an array of font descriptions.</doc>
4170 <doc-deprecated xml:space="preserve">Just use pango_font_description_free in a loop</doc-deprecated>
4171 <source-position filename="pango/pango-font.h" line="307"/>
4172 <return-value transfer-ownership="none">
4173 <type name="none" c:type="void"/>
4174 </return-value>
4175 <parameters>
4176 <parameter name="descs"
4177 transfer-ownership="full"
4178 nullable="1"
4179 allow-none="1">
4180 <doc xml:space="preserve"
4181 filename="pango/fonts.c"
4182 line="1175">a pointer
4183 to an array of `PangoFontDescription`, may be %NULL</doc>
4184 <array length="1"
4185 zero-terminated="0"
4186 c:type="PangoFontDescription**">
4187 <type name="FontDescription" c:type="PangoFontDescription*"/>
4188 </array>
4189 </parameter>
4190 <parameter name="n_descs" transfer-ownership="none">
4191 <doc xml:space="preserve"
4192 filename="pango/fonts.c"
4193 line="1177">number of font descriptions in @descs</doc>
4194 <type name="gint" c:type="int"/>
4195 </parameter>
4196 </parameters>
4197 </function>
4198 <function name="deserialize"
4199 c:identifier="pango_font_deserialize"
4200 version="1.50"
4201 throws="1">
4202 <doc xml:space="preserve"
4203 filename="pango/serializer.c"
4204 line="1768">Loads data previously created via [method@Pango.Font.serialize].
4205
4206For a discussion of the supported format, see that function.
4207
4208Note: to verify that the returned font is identical to
4209the one that was serialized, you can compare @bytes to the
4210result of serializing the font again.</doc>
4211 <source-position filename="pango/pango-font.h" line="695"/>
4212 <return-value transfer-ownership="full" nullable="1">
4213 <doc xml:space="preserve"
4214 filename="pango/serializer.c"
4215 line="1782">a new `PangoFont`</doc>
4216 <type name="Font" c:type="PangoFont*"/>
4217 </return-value>
4218 <parameters>
4219 <parameter name="context" transfer-ownership="none">
4220 <doc xml:space="preserve"
4221 filename="pango/serializer.c"
4222 line="1770">a `PangoContext`</doc>
4223 <type name="Context" c:type="PangoContext*"/>
4224 </parameter>
4225 <parameter name="bytes" transfer-ownership="none">
4226 <doc xml:space="preserve"
4227 filename="pango/serializer.c"
4228 line="1771">the bytes containing the data</doc>
4229 <type name="GLib.Bytes" c:type="GBytes*"/>
4230 </parameter>
4231 </parameters>
4232 </function>
4233 <virtual-method name="create_hb_font">
4234 <source-position filename="pango/pango-font.h" line="642"/>
4235 <return-value transfer-ownership="full">
4236 <type name="HarfBuzz.font_t" c:type="hb_font_t*"/>
4237 </return-value>
4238 <parameters>
4239 <instance-parameter name="font" transfer-ownership="none">
4240 <type name="Font" c:type="PangoFont*"/>
4241 </instance-parameter>
4242 </parameters>
4243 </virtual-method>
4244 <virtual-method name="describe" invoker="describe">
4245 <doc xml:space="preserve"
4246 filename="pango/fonts.c"
4247 line="2170">Returns a description of the font, with font size set in points.
4248
4249Use [method@Pango.Font.describe_with_absolute_size] if you want
4250the font size in device units.</doc>
4251 <source-position filename="pango/pango-font.h" line="627"/>
4252 <return-value transfer-ownership="full">
4253 <doc xml:space="preserve"
4254 filename="pango/fonts.c"
4255 line="2179">a newly-allocated `PangoFontDescription` object.</doc>
4256 <type name="FontDescription" c:type="PangoFontDescription*"/>
4257 </return-value>
4258 <parameters>
4259 <instance-parameter name="font" transfer-ownership="none">
4260 <doc xml:space="preserve"
4261 filename="pango/fonts.c"
4262 line="2172">a `PangoFont`</doc>
4263 <type name="Font" c:type="PangoFont*"/>
4264 </instance-parameter>
4265 </parameters>
4266 </virtual-method>
4267 <virtual-method name="describe_absolute">
4268 <source-position filename="pango/pango-font.h" line="637"/>
4269 <return-value transfer-ownership="full">
4270 <type name="FontDescription" c:type="PangoFontDescription*"/>
4271 </return-value>
4272 <parameters>
4273 <instance-parameter name="font" transfer-ownership="none">
4274 <type name="Font" c:type="PangoFont*"/>
4275 </instance-parameter>
4276 </parameters>
4277 </virtual-method>
4278 <virtual-method name="get_coverage" invoker="get_coverage">
4279 <doc xml:space="preserve"
4280 filename="pango/fonts.c"
4281 line="2216">Computes the coverage map for a given font and language tag.</doc>
4282 <source-position filename="pango/pango-font.h" line="628"/>
4283 <return-value transfer-ownership="full">
4284 <doc xml:space="preserve"
4285 filename="pango/fonts.c"
4286 line="2223">a newly-allocated `PangoCoverage`
4287 object.</doc>
4288 <type name="Coverage" c:type="PangoCoverage*"/>
4289 </return-value>
4290 <parameters>
4291 <instance-parameter name="font" transfer-ownership="none">
4292 <doc xml:space="preserve"
4293 filename="pango/fonts.c"
4294 line="2218">a `PangoFont`</doc>
4295 <type name="Font" c:type="PangoFont*"/>
4296 </instance-parameter>
4297 <parameter name="language" transfer-ownership="none">
4298 <doc xml:space="preserve"
4299 filename="pango/fonts.c"
4300 line="2219">the language tag</doc>
4301 <type name="Language" c:type="PangoLanguage*"/>
4302 </parameter>
4303 </parameters>
4304 </virtual-method>
4305 <virtual-method name="get_features"
4306 invoker="get_features"
4307 version="1.44">
4308 <doc xml:space="preserve"
4309 filename="pango/fonts.c"
4310 line="3201">Obtain the OpenType features that are provided by the font.
4311
4312These are passed to the rendering system, together with features
4313that have been explicitly set via attributes.
4314
4315Note that this does not include OpenType features which the
4316rendering system enables by default.</doc>
4317 <source-position filename="pango/pango-font.h" line="638"/>
4318 <return-value transfer-ownership="none">
4319 <type name="none" c:type="void"/>
4320 </return-value>
4321 <parameters>
4322 <instance-parameter name="font" transfer-ownership="none">
4323 <doc xml:space="preserve"
4324 filename="pango/fonts.c"
4325 line="3203">a `PangoFont`</doc>
4326 <type name="Font" c:type="PangoFont*"/>
4327 </instance-parameter>
4328 <parameter name="features"
4329 direction="out"
4330 caller-allocates="1"
4331 transfer-ownership="none">
4332 <doc xml:space="preserve"
4333 filename="pango/fonts.c"
4334 line="3204">Array to features in</doc>
4335 <array length="1" zero-terminated="0" c:type="hb_feature_t*">
4336 <type name="HarfBuzz.feature_t" c:type="hb_feature_t"/>
4337 </array>
4338 </parameter>
4339 <parameter name="len" transfer-ownership="none">
4340 <doc xml:space="preserve"
4341 filename="pango/fonts.c"
4342 line="3205">the length of @features</doc>
4343 <type name="guint" c:type="guint"/>
4344 </parameter>
4345 <parameter name="num_features"
4346 direction="inout"
4347 caller-allocates="0"
4348 transfer-ownership="full">
4349 <doc xml:space="preserve"
4350 filename="pango/fonts.c"
4351 line="3206">the number of used items in @features</doc>
4352 <type name="guint" c:type="guint*"/>
4353 </parameter>
4354 </parameters>
4355 </virtual-method>
4356 <virtual-method name="get_font_map"
4357 invoker="get_font_map"
4358 version="1.10">
4359 <doc xml:space="preserve"
4360 filename="pango/fonts.c"
4361 line="2345">Gets the font map for which the font was created.
4362
4363Note that the font maintains a *weak* reference to
4364the font map, so if all references to font map are
4365dropped, the font map will be finalized even if there
4366are fonts created with the font map that are still alive.
4367In that case this function will return %NULL.
4368
4369It is the responsibility of the user to ensure that the
4370font map is kept alive. In most uses this is not an issue
4371as a `PangoContext` holds a reference to the font map.</doc>
4372 <source-position filename="pango/pango-font.h" line="636"/>
4373 <return-value transfer-ownership="none" nullable="1">
4374 <doc xml:space="preserve"
4375 filename="pango/fonts.c"
4376 line="2361">the `PangoFontMap`
4377 for the font</doc>
4378 <type name="FontMap" c:type="PangoFontMap*"/>
4379 </return-value>
4380 <parameters>
4381 <instance-parameter name="font"
4382 transfer-ownership="none"
4383 nullable="1"
4384 allow-none="1">
4385 <doc xml:space="preserve"
4386 filename="pango/fonts.c"
4387 line="2347">a `PangoFont`</doc>
4388 <type name="Font" c:type="PangoFont*"/>
4389 </instance-parameter>
4390 </parameters>
4391 </virtual-method>
4392 <virtual-method name="get_glyph_extents" invoker="get_glyph_extents">
4393 <doc xml:space="preserve"
4394 filename="pango/fonts.c"
4395 line="2255">Gets the logical and ink extents of a glyph within a font.
4396
4397The coordinate system for each rectangle has its origin at the
4398base line and horizontal origin of the character with increasing
4399coordinates extending to the right and down. The macros PANGO_ASCENT(),
4400PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING() can be used to convert
4401from the extents rectangle to more traditional font metrics. The units
4402of the rectangles are in 1/PANGO_SCALE of a device unit.
4403
4404If @font is %NULL, this function gracefully sets some sane values in the
4405output variables and returns.</doc>
4406 <source-position filename="pango/pango-font.h" line="630"/>
4407 <return-value transfer-ownership="none">
4408 <type name="none" c:type="void"/>
4409 </return-value>
4410 <parameters>
4411 <instance-parameter name="font"
4412 transfer-ownership="none"
4413 nullable="1"
4414 allow-none="1">
4415 <doc xml:space="preserve"
4416 filename="pango/fonts.c"
4417 line="2257">a `PangoFont`</doc>
4418 <type name="Font" c:type="PangoFont*"/>
4419 </instance-parameter>
4420 <parameter name="glyph" transfer-ownership="none">
4421 <doc xml:space="preserve"
4422 filename="pango/fonts.c"
4423 line="2258">the glyph index</doc>
4424 <type name="Glyph" c:type="PangoGlyph"/>
4425 </parameter>
4426 <parameter name="ink_rect"
4427 direction="out"
4428 caller-allocates="1"
4429 transfer-ownership="none"
4430 optional="1"
4431 allow-none="1">
4432 <doc xml:space="preserve"
4433 filename="pango/fonts.c"
4434 line="2259">rectangle used to store the extents of the glyph as drawn</doc>
4435 <type name="Rectangle" c:type="PangoRectangle*"/>
4436 </parameter>
4437 <parameter name="logical_rect"
4438 direction="out"
4439 caller-allocates="1"
4440 transfer-ownership="none"
4441 optional="1"
4442 allow-none="1">
4443 <doc xml:space="preserve"
4444 filename="pango/fonts.c"
4445 line="2260">rectangle used to store the logical extents of the glyph</doc>
4446 <type name="Rectangle" c:type="PangoRectangle*"/>
4447 </parameter>
4448 </parameters>
4449 </virtual-method>
4450 <virtual-method name="get_metrics" invoker="get_metrics">
4451 <doc xml:space="preserve"
4452 filename="pango/fonts.c"
4453 line="2302">Gets overall metric information for a font.
4454
4455Since the metrics may be substantially different for different scripts,
4456a language tag can be provided to indicate that the metrics should be
4457retrieved that correspond to the script(s) used by that language.
4458
4459If @font is %NULL, this function gracefully sets some sane values in the
4460output variables and returns.</doc>
4461 <source-position filename="pango/pango-font.h" line="634"/>
4462 <return-value transfer-ownership="full">
4463 <doc xml:space="preserve"
4464 filename="pango/fonts.c"
4465 line="2318">a `PangoFontMetrics` object. The caller must call
4466 [method@Pango.FontMetrics.unref] when finished using the object.</doc>
4467 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
4468 </return-value>
4469 <parameters>
4470 <instance-parameter name="font"
4471 transfer-ownership="none"
4472 nullable="1"
4473 allow-none="1">
4474 <doc xml:space="preserve"
4475 filename="pango/fonts.c"
4476 line="2304">a `PangoFont`</doc>
4477 <type name="Font" c:type="PangoFont*"/>
4478 </instance-parameter>
4479 <parameter name="language"
4480 transfer-ownership="none"
4481 nullable="1"
4482 allow-none="1">
4483 <doc xml:space="preserve"
4484 filename="pango/fonts.c"
4485 line="2305">language tag used to determine which script
4486 to get the metrics for, or %NULL to indicate to get the metrics for
4487 the entire font.</doc>
4488 <type name="Language" c:type="PangoLanguage*"/>
4489 </parameter>
4490 </parameters>
4491 </virtual-method>
4492 <method name="describe" c:identifier="pango_font_describe">
4493 <doc xml:space="preserve"
4494 filename="pango/fonts.c"
4495 line="2170">Returns a description of the font, with font size set in points.
4496
4497Use [method@Pango.Font.describe_with_absolute_size] if you want
4498the font size in device units.</doc>
4499 <source-position filename="pango/pango-font.h" line="651"/>
4500 <return-value transfer-ownership="full">
4501 <doc xml:space="preserve"
4502 filename="pango/fonts.c"
4503 line="2179">a newly-allocated `PangoFontDescription` object.</doc>
4504 <type name="FontDescription" c:type="PangoFontDescription*"/>
4505 </return-value>
4506 <parameters>
4507 <instance-parameter name="font" transfer-ownership="none">
4508 <doc xml:space="preserve"
4509 filename="pango/fonts.c"
4510 line="2172">a `PangoFont`</doc>
4511 <type name="Font" c:type="PangoFont*"/>
4512 </instance-parameter>
4513 </parameters>
4514 </method>
4515 <method name="describe_with_absolute_size"
4516 c:identifier="pango_font_describe_with_absolute_size"
4517 version="1.14">
4518 <doc xml:space="preserve"
4519 filename="pango/fonts.c"
4520 line="2189">Returns a description of the font, with absolute font size set
4521in device units.
4522
4523Use [method@Pango.Font.describe] if you want the font size in points.</doc>
4524 <source-position filename="pango/pango-font.h" line="653"/>
4525 <return-value transfer-ownership="full">
4526 <doc xml:space="preserve"
4527 filename="pango/fonts.c"
4528 line="2198">a newly-allocated `PangoFontDescription` object.</doc>
4529 <type name="FontDescription" c:type="PangoFontDescription*"/>
4530 </return-value>
4531 <parameters>
4532 <instance-parameter name="font" transfer-ownership="none">
4533 <doc xml:space="preserve"
4534 filename="pango/fonts.c"
4535 line="2191">a `PangoFont`</doc>
4536 <type name="Font" c:type="PangoFont*"/>
4537 </instance-parameter>
4538 </parameters>
4539 </method>
4540 <method name="get_coverage" c:identifier="pango_font_get_coverage">
4541 <doc xml:space="preserve"
4542 filename="pango/fonts.c"
4543 line="2216">Computes the coverage map for a given font and language tag.</doc>
4544 <source-position filename="pango/pango-font.h" line="655"/>
4545 <return-value transfer-ownership="full">
4546 <doc xml:space="preserve"
4547 filename="pango/fonts.c"
4548 line="2223">a newly-allocated `PangoCoverage`
4549 object.</doc>
4550 <type name="Coverage" c:type="PangoCoverage*"/>
4551 </return-value>
4552 <parameters>
4553 <instance-parameter name="font" transfer-ownership="none">
4554 <doc xml:space="preserve"
4555 filename="pango/fonts.c"
4556 line="2218">a `PangoFont`</doc>
4557 <type name="Font" c:type="PangoFont*"/>
4558 </instance-parameter>
4559 <parameter name="language" transfer-ownership="none">
4560 <doc xml:space="preserve"
4561 filename="pango/fonts.c"
4562 line="2219">the language tag</doc>
4563 <type name="Language" c:type="PangoLanguage*"/>
4564 </parameter>
4565 </parameters>
4566 </method>
4567 <method name="get_face"
4568 c:identifier="pango_font_get_face"
4569 version="1.46">
4570 <doc xml:space="preserve"
4571 filename="pango/fonts.c"
4572 line="2378">Gets the `PangoFontFace` to which @font belongs.
4573
4574Note that this function can return `NULL` in cases
4575where the font outlives its font map.</doc>
4576 <source-position filename="pango/pango-font.h" line="675"/>
4577 <return-value transfer-ownership="none" nullable="1">
4578 <doc xml:space="preserve"
4579 filename="pango/fonts.c"
4580 line="2387">the `PangoFontFace`</doc>
4581 <type name="FontFace" c:type="PangoFontFace*"/>
4582 </return-value>
4583 <parameters>
4584 <instance-parameter name="font" transfer-ownership="none">
4585 <doc xml:space="preserve"
4586 filename="pango/fonts.c"
4587 line="2380">a `PangoFont`</doc>
4588 <type name="Font" c:type="PangoFont*"/>
4589 </instance-parameter>
4590 </parameters>
4591 </method>
4592 <method name="get_features"
4593 c:identifier="pango_font_get_features"
4594 version="1.44">
4595 <doc xml:space="preserve"
4596 filename="pango/fonts.c"
4597 line="3201">Obtain the OpenType features that are provided by the font.
4598
4599These are passed to the rendering system, together with features
4600that have been explicitly set via attributes.
4601
4602Note that this does not include OpenType features which the
4603rendering system enables by default.</doc>
4604 <source-position filename="pango/pango-font.h" line="681"/>
4605 <return-value transfer-ownership="none">
4606 <type name="none" c:type="void"/>
4607 </return-value>
4608 <parameters>
4609 <instance-parameter name="font" transfer-ownership="none">
4610 <doc xml:space="preserve"
4611 filename="pango/fonts.c"
4612 line="3203">a `PangoFont`</doc>
4613 <type name="Font" c:type="PangoFont*"/>
4614 </instance-parameter>
4615 <parameter name="features"
4616 direction="out"
4617 caller-allocates="1"
4618 transfer-ownership="none">
4619 <doc xml:space="preserve"
4620 filename="pango/fonts.c"
4621 line="3204">Array to features in</doc>
4622 <array length="1" zero-terminated="0" c:type="hb_feature_t*">
4623 <type name="HarfBuzz.feature_t" c:type="hb_feature_t"/>
4624 </array>
4625 </parameter>
4626 <parameter name="len" transfer-ownership="none">
4627 <doc xml:space="preserve"
4628 filename="pango/fonts.c"
4629 line="3205">the length of @features</doc>
4630 <type name="guint" c:type="guint"/>
4631 </parameter>
4632 <parameter name="num_features"
4633 direction="inout"
4634 caller-allocates="0"
4635 transfer-ownership="full">
4636 <doc xml:space="preserve"
4637 filename="pango/fonts.c"
4638 line="3206">the number of used items in @features</doc>
4639 <type name="guint" c:type="guint*"/>
4640 </parameter>
4641 </parameters>
4642 </method>
4643 <method name="get_font_map"
4644 c:identifier="pango_font_get_font_map"
4645 version="1.10">
4646 <doc xml:space="preserve"
4647 filename="pango/fonts.c"
4648 line="2345">Gets the font map for which the font was created.
4649
4650Note that the font maintains a *weak* reference to
4651the font map, so if all references to font map are
4652dropped, the font map will be finalized even if there
4653are fonts created with the font map that are still alive.
4654In that case this function will return %NULL.
4655
4656It is the responsibility of the user to ensure that the
4657font map is kept alive. In most uses this is not an issue
4658as a `PangoContext` holds a reference to the font map.</doc>
4659 <source-position filename="pango/pango-font.h" line="672"/>
4660 <return-value transfer-ownership="none" nullable="1">
4661 <doc xml:space="preserve"
4662 filename="pango/fonts.c"
4663 line="2361">the `PangoFontMap`
4664 for the font</doc>
4665 <type name="FontMap" c:type="PangoFontMap*"/>
4666 </return-value>
4667 <parameters>
4668 <instance-parameter name="font"
4669 transfer-ownership="none"
4670 nullable="1"
4671 allow-none="1">
4672 <doc xml:space="preserve"
4673 filename="pango/fonts.c"
4674 line="2347">a `PangoFont`</doc>
4675 <type name="Font" c:type="PangoFont*"/>
4676 </instance-parameter>
4677 </parameters>
4678 </method>
4679 <method name="get_glyph_extents"
4680 c:identifier="pango_font_get_glyph_extents">
4681 <doc xml:space="preserve"
4682 filename="pango/fonts.c"
4683 line="2255">Gets the logical and ink extents of a glyph within a font.
4684
4685The coordinate system for each rectangle has its origin at the
4686base line and horizontal origin of the character with increasing
4687coordinates extending to the right and down. The macros PANGO_ASCENT(),
4688PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING() can be used to convert
4689from the extents rectangle to more traditional font metrics. The units
4690of the rectangles are in 1/PANGO_SCALE of a device unit.
4691
4692If @font is %NULL, this function gracefully sets some sane values in the
4693output variables and returns.</doc>
4694 <source-position filename="pango/pango-font.h" line="667"/>
4695 <return-value transfer-ownership="none">
4696 <type name="none" c:type="void"/>
4697 </return-value>
4698 <parameters>
4699 <instance-parameter name="font"
4700 transfer-ownership="none"
4701 nullable="1"
4702 allow-none="1">
4703 <doc xml:space="preserve"
4704 filename="pango/fonts.c"
4705 line="2257">a `PangoFont`</doc>
4706 <type name="Font" c:type="PangoFont*"/>
4707 </instance-parameter>
4708 <parameter name="glyph" transfer-ownership="none">
4709 <doc xml:space="preserve"
4710 filename="pango/fonts.c"
4711 line="2258">the glyph index</doc>
4712 <type name="Glyph" c:type="PangoGlyph"/>
4713 </parameter>
4714 <parameter name="ink_rect"
4715 direction="out"
4716 caller-allocates="1"
4717 transfer-ownership="none"
4718 optional="1"
4719 allow-none="1">
4720 <doc xml:space="preserve"
4721 filename="pango/fonts.c"
4722 line="2259">rectangle used to store the extents of the glyph as drawn</doc>
4723 <type name="Rectangle" c:type="PangoRectangle*"/>
4724 </parameter>
4725 <parameter name="logical_rect"
4726 direction="out"
4727 caller-allocates="1"
4728 transfer-ownership="none"
4729 optional="1"
4730 allow-none="1">
4731 <doc xml:space="preserve"
4732 filename="pango/fonts.c"
4733 line="2260">rectangle used to store the logical extents of the glyph</doc>
4734 <type name="Rectangle" c:type="PangoRectangle*"/>
4735 </parameter>
4736 </parameters>
4737 </method>
4738 <method name="get_hb_font"
4739 c:identifier="pango_font_get_hb_font"
4740 version="1.44"
4741 introspectable="0">
4742 <doc xml:space="preserve"
4743 filename="pango/fonts.c"
4744 line="2399">Get a `hb_font_t` object backing this font.
4745
4746Note that the objects returned by this function are cached
4747and immutable. If you need to make changes to the `hb_font_t`,
4748use [hb_font_create_sub_font()](https://harfbuzz.github.io/harfbuzz-hb-font.html#hb-font-create-sub-font).</doc>
4749 <source-position filename="pango/pango-font.h" line="686"/>
4750 <return-value transfer-ownership="none" nullable="1">
4751 <doc xml:space="preserve"
4752 filename="pango/fonts.c"
4753 line="2409">the `hb_font_t` object
4754 backing the font</doc>
4755 <type name="HarfBuzz.font_t" c:type="hb_font_t*"/>
4756 </return-value>
4757 <parameters>
4758 <instance-parameter name="font" transfer-ownership="none">
4759 <doc xml:space="preserve"
4760 filename="pango/fonts.c"
4761 line="2401">a `PangoFont`</doc>
4762 <type name="Font" c:type="PangoFont*"/>
4763 </instance-parameter>
4764 </parameters>
4765 </method>
4766 <method name="get_languages"
4767 c:identifier="pango_font_get_languages"
4768 version="1.50">
4769 <doc xml:space="preserve"
4770 filename="pango/fonts.c"
4771 line="3228">Returns the languages that are supported by @font.
4772
4773If the font backend does not provide this information,
4774%NULL is returned. For the fontconfig backend, this
4775corresponds to the FC_LANG member of the FcPattern.
4776
4777The returned array is only valid as long as the font
4778and its fontmap are valid.</doc>
4779 <source-position filename="pango/pango-font.h" line="689"/>
4780 <return-value transfer-ownership="none" nullable="1">
4781 <doc xml:space="preserve"
4782 filename="pango/fonts.c"
4783 line="3241">an array of `PangoLanguage`</doc>
4784 <array c:type="PangoLanguage**">
4785 <type name="Language"/>
4786 </array>
4787 </return-value>
4788 <parameters>
4789 <instance-parameter name="font" transfer-ownership="none">
4790 <doc xml:space="preserve"
4791 filename="pango/fonts.c"
4792 line="3230">a `PangoFont`</doc>
4793 <type name="Font" c:type="PangoFont*"/>
4794 </instance-parameter>
4795 </parameters>
4796 </method>
4797 <method name="get_metrics" c:identifier="pango_font_get_metrics">
4798 <doc xml:space="preserve"
4799 filename="pango/fonts.c"
4800 line="2302">Gets overall metric information for a font.
4801
4802Since the metrics may be substantially different for different scripts,
4803a language tag can be provided to indicate that the metrics should be
4804retrieved that correspond to the script(s) used by that language.
4805
4806If @font is %NULL, this function gracefully sets some sane values in the
4807output variables and returns.</doc>
4808 <source-position filename="pango/pango-font.h" line="664"/>
4809 <return-value transfer-ownership="full">
4810 <doc xml:space="preserve"
4811 filename="pango/fonts.c"
4812 line="2318">a `PangoFontMetrics` object. The caller must call
4813 [method@Pango.FontMetrics.unref] when finished using the object.</doc>
4814 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
4815 </return-value>
4816 <parameters>
4817 <instance-parameter name="font"
4818 transfer-ownership="none"
4819 nullable="1"
4820 allow-none="1">
4821 <doc xml:space="preserve"
4822 filename="pango/fonts.c"
4823 line="2304">a `PangoFont`</doc>
4824 <type name="Font" c:type="PangoFont*"/>
4825 </instance-parameter>
4826 <parameter name="language"
4827 transfer-ownership="none"
4828 nullable="1"
4829 allow-none="1">
4830 <doc xml:space="preserve"
4831 filename="pango/fonts.c"
4832 line="2305">language tag used to determine which script
4833 to get the metrics for, or %NULL to indicate to get the metrics for
4834 the entire font.</doc>
4835 <type name="Language" c:type="PangoLanguage*"/>
4836 </parameter>
4837 </parameters>
4838 </method>
4839 <method name="has_char"
4840 c:identifier="pango_font_has_char"
4841 version="1.44">
4842 <doc xml:space="preserve"
4843 filename="pango/fonts.c"
4844 line="3181">Returns whether the font provides a glyph for this character.</doc>
4845 <source-position filename="pango/pango-font.h" line="678"/>
4846 <return-value transfer-ownership="none">
4847 <doc xml:space="preserve"
4848 filename="pango/fonts.c"
4849 line="3188">`TRUE` if @font can render @wc</doc>
4850 <type name="gboolean" c:type="gboolean"/>
4851 </return-value>
4852 <parameters>
4853 <instance-parameter name="font" transfer-ownership="none">
4854 <doc xml:space="preserve"
4855 filename="pango/fonts.c"
4856 line="3183">a `PangoFont`</doc>
4857 <type name="Font" c:type="PangoFont*"/>
4858 </instance-parameter>
4859 <parameter name="wc" transfer-ownership="none">
4860 <doc xml:space="preserve"
4861 filename="pango/fonts.c"
4862 line="3184">a Unicode character</doc>
4863 <type name="gunichar" c:type="gunichar"/>
4864 </parameter>
4865 </parameters>
4866 </method>
4867 <method name="serialize"
4868 c:identifier="pango_font_serialize"
4869 version="1.50">
4870 <doc xml:space="preserve"
4871 filename="pango/serializer.c"
4872 line="1727">Serializes the @font in a way that can be uniquely identified.
4873
4874There are no guarantees about the format of the output across different
4875versions of Pango.
4876
4877The intended use of this function is testing, benchmarking and debugging.
4878The format is not meant as a permanent storage format.
4879
4880To recreate a font from its serialized form, use [func@Pango.Font.deserialize].</doc>
4881 <source-position filename="pango/pango-font.h" line="692"/>
4882 <return-value transfer-ownership="full">
4883 <doc xml:space="preserve"
4884 filename="pango/serializer.c"
4885 line="1741">a `GBytes` containing the serialized form of @font</doc>
4886 <type name="GLib.Bytes" c:type="GBytes*"/>
4887 </return-value>
4888 <parameters>
4889 <instance-parameter name="font" transfer-ownership="none">
4890 <doc xml:space="preserve"
4891 filename="pango/serializer.c"
4892 line="1729">a `PangoFont`</doc>
4893 <type name="Font" c:type="PangoFont*"/>
4894 </instance-parameter>
4895 </parameters>
4896 </method>
4897 <field name="parent_instance">
4898 <type name="GObject.Object" c:type="GObject"/>
4899 </field>
4900 </class>
4901 <record name="FontClass"
4902 c:type="PangoFontClass"
4903 glib:is-gtype-struct-for="Font">
4904 <source-position filename="pango/pango-font.h" line="643"/>
4905 <field name="parent_class">
4906 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
4907 </field>
4908 <field name="describe">
4909 <callback name="describe">
4910 <source-position filename="pango/pango-font.h" line="627"/>
4911 <return-value transfer-ownership="full">
4912 <doc xml:space="preserve"
4913 filename="pango/fonts.c"
4914 line="2179">a newly-allocated `PangoFontDescription` object.</doc>
4915 <type name="FontDescription" c:type="PangoFontDescription*"/>
4916 </return-value>
4917 <parameters>
4918 <parameter name="font" transfer-ownership="none">
4919 <doc xml:space="preserve"
4920 filename="pango/fonts.c"
4921 line="2172">a `PangoFont`</doc>
4922 <type name="Font" c:type="PangoFont*"/>
4923 </parameter>
4924 </parameters>
4925 </callback>
4926 </field>
4927 <field name="get_coverage">
4928 <callback name="get_coverage">
4929 <source-position filename="pango/pango-font.h" line="628"/>
4930 <return-value transfer-ownership="full">
4931 <doc xml:space="preserve"
4932 filename="pango/fonts.c"
4933 line="2223">a newly-allocated `PangoCoverage`
4934 object.</doc>
4935 <type name="Coverage" c:type="PangoCoverage*"/>
4936 </return-value>
4937 <parameters>
4938 <parameter name="font" transfer-ownership="none">
4939 <doc xml:space="preserve"
4940 filename="pango/fonts.c"
4941 line="2218">a `PangoFont`</doc>
4942 <type name="Font" c:type="PangoFont*"/>
4943 </parameter>
4944 <parameter name="language" transfer-ownership="none">
4945 <doc xml:space="preserve"
4946 filename="pango/fonts.c"
4947 line="2219">the language tag</doc>
4948 <type name="Language" c:type="PangoLanguage*"/>
4949 </parameter>
4950 </parameters>
4951 </callback>
4952 </field>
4953 <field name="get_glyph_extents">
4954 <callback name="get_glyph_extents">
4955 <source-position filename="pango/pango-font.h" line="630"/>
4956 <return-value transfer-ownership="none">
4957 <type name="none" c:type="void"/>
4958 </return-value>
4959 <parameters>
4960 <parameter name="font"
4961 transfer-ownership="none"
4962 nullable="1"
4963 allow-none="1">
4964 <doc xml:space="preserve"
4965 filename="pango/fonts.c"
4966 line="2257">a `PangoFont`</doc>
4967 <type name="Font" c:type="PangoFont*"/>
4968 </parameter>
4969 <parameter name="glyph" transfer-ownership="none">
4970 <doc xml:space="preserve"
4971 filename="pango/fonts.c"
4972 line="2258">the glyph index</doc>
4973 <type name="Glyph" c:type="PangoGlyph"/>
4974 </parameter>
4975 <parameter name="ink_rect"
4976 direction="out"
4977 caller-allocates="1"
4978 transfer-ownership="none"
4979 optional="1"
4980 allow-none="1">
4981 <doc xml:space="preserve"
4982 filename="pango/fonts.c"
4983 line="2259">rectangle used to store the extents of the glyph as drawn</doc>
4984 <type name="Rectangle" c:type="PangoRectangle*"/>
4985 </parameter>
4986 <parameter name="logical_rect"
4987 direction="out"
4988 caller-allocates="1"
4989 transfer-ownership="none"
4990 optional="1"
4991 allow-none="1">
4992 <doc xml:space="preserve"
4993 filename="pango/fonts.c"
4994 line="2260">rectangle used to store the logical extents of the glyph</doc>
4995 <type name="Rectangle" c:type="PangoRectangle*"/>
4996 </parameter>
4997 </parameters>
4998 </callback>
4999 </field>
5000 <field name="get_metrics">
5001 <callback name="get_metrics">
5002 <source-position filename="pango/pango-font.h" line="634"/>
5003 <return-value transfer-ownership="full">
5004 <doc xml:space="preserve"
5005 filename="pango/fonts.c"
5006 line="2318">a `PangoFontMetrics` object. The caller must call
5007 [method@Pango.FontMetrics.unref] when finished using the object.</doc>
5008 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
5009 </return-value>
5010 <parameters>
5011 <parameter name="font"
5012 transfer-ownership="none"
5013 nullable="1"
5014 allow-none="1">
5015 <doc xml:space="preserve"
5016 filename="pango/fonts.c"
5017 line="2304">a `PangoFont`</doc>
5018 <type name="Font" c:type="PangoFont*"/>
5019 </parameter>
5020 <parameter name="language"
5021 transfer-ownership="none"
5022 nullable="1"
5023 allow-none="1">
5024 <doc xml:space="preserve"
5025 filename="pango/fonts.c"
5026 line="2305">language tag used to determine which script
5027 to get the metrics for, or %NULL to indicate to get the metrics for
5028 the entire font.</doc>
5029 <type name="Language" c:type="PangoLanguage*"/>
5030 </parameter>
5031 </parameters>
5032 </callback>
5033 </field>
5034 <field name="get_font_map">
5035 <callback name="get_font_map">
5036 <source-position filename="pango/pango-font.h" line="636"/>
5037 <return-value transfer-ownership="none" nullable="1">
5038 <doc xml:space="preserve"
5039 filename="pango/fonts.c"
5040 line="2361">the `PangoFontMap`
5041 for the font</doc>
5042 <type name="FontMap" c:type="PangoFontMap*"/>
5043 </return-value>
5044 <parameters>
5045 <parameter name="font"
5046 transfer-ownership="none"
5047 nullable="1"
5048 allow-none="1">
5049 <doc xml:space="preserve"
5050 filename="pango/fonts.c"
5051 line="2347">a `PangoFont`</doc>
5052 <type name="Font" c:type="PangoFont*"/>
5053 </parameter>
5054 </parameters>
5055 </callback>
5056 </field>
5057 <field name="describe_absolute">
5058 <callback name="describe_absolute">
5059 <source-position filename="pango/pango-font.h" line="637"/>
5060 <return-value transfer-ownership="full">
5061 <type name="FontDescription" c:type="PangoFontDescription*"/>
5062 </return-value>
5063 <parameters>
5064 <parameter name="font" transfer-ownership="none">
5065 <type name="Font" c:type="PangoFont*"/>
5066 </parameter>
5067 </parameters>
5068 </callback>
5069 </field>
5070 <field name="get_features">
5071 <callback name="get_features">
5072 <source-position filename="pango/pango-font.h" line="638"/>
5073 <return-value transfer-ownership="none">
5074 <type name="none" c:type="void"/>
5075 </return-value>
5076 <parameters>
5077 <parameter name="font" transfer-ownership="none">
5078 <doc xml:space="preserve"
5079 filename="pango/fonts.c"
5080 line="3203">a `PangoFont`</doc>
5081 <type name="Font" c:type="PangoFont*"/>
5082 </parameter>
5083 <parameter name="features"
5084 direction="out"
5085 caller-allocates="1"
5086 transfer-ownership="none">
5087 <doc xml:space="preserve"
5088 filename="pango/fonts.c"
5089 line="3204">Array to features in</doc>
5090 <array length="2" zero-terminated="0" c:type="hb_feature_t*">
5091 <type name="HarfBuzz.feature_t" c:type="hb_feature_t"/>
5092 </array>
5093 </parameter>
5094 <parameter name="len" transfer-ownership="none">
5095 <doc xml:space="preserve"
5096 filename="pango/fonts.c"
5097 line="3205">the length of @features</doc>
5098 <type name="guint" c:type="guint"/>
5099 </parameter>
5100 <parameter name="num_features"
5101 direction="inout"
5102 caller-allocates="0"
5103 transfer-ownership="full">
5104 <doc xml:space="preserve"
5105 filename="pango/fonts.c"
5106 line="3206">the number of used items in @features</doc>
5107 <type name="guint" c:type="guint*"/>
5108 </parameter>
5109 </parameters>
5110 </callback>
5111 </field>
5112 <field name="create_hb_font">
5113 <callback name="create_hb_font">
5114 <source-position filename="pango/pango-font.h" line="642"/>
5115 <return-value transfer-ownership="full">
5116 <type name="HarfBuzz.font_t" c:type="hb_font_t*"/>
5117 </return-value>
5118 <parameters>
5119 <parameter name="font" transfer-ownership="none">
5120 <type name="Font" c:type="PangoFont*"/>
5121 </parameter>
5122 </parameters>
5123 </callback>
5124 </field>
5125 </record>
5126 <enumeration name="FontColor"
5127 version="1.57"
5128 glib:type-name="PangoFontColor"
5129 glib:get-type="pango_font_color_get_type"
5130 c:type="PangoFontColor">
5131 <doc xml:space="preserve"
5132 filename="pango/pango-font.h"
5133 line="269">Specifies whether a font should or should not have color glyphs.</doc>
5134 <member name="forbidden"
5135 value="0"
5136 c:identifier="PANGO_FONT_COLOR_FORBIDDEN"
5137 glib:nick="forbidden"
5138 glib:name="PANGO_FONT_COLOR_FORBIDDEN">
5139 <doc xml:space="preserve"
5140 filename="pango/pango-font.h"
5141 line="271">The font should not have color glyphs</doc>
5142 </member>
5143 <member name="required"
5144 value="1"
5145 c:identifier="PANGO_FONT_COLOR_REQUIRED"
5146 glib:nick="required"
5147 glib:name="PANGO_FONT_COLOR_REQUIRED">
5148 <doc xml:space="preserve"
5149 filename="pango/pango-font.h"
5150 line="272">The font should have color glyphs</doc>
5151 </member>
5152 <member name="dont_care"
5153 value="2"
5154 c:identifier="PANGO_FONT_COLOR_DONT_CARE"
5155 glib:nick="dont-care"
5156 glib:name="PANGO_FONT_COLOR_DONT_CARE">
5157 <doc xml:space="preserve"
5158 filename="pango/pango-font.h"
5159 line="273">The font may or may not use color</doc>
5160 </member>
5161 </enumeration>
5162 <record name="FontDescription"
5163 c:type="PangoFontDescription"
5164 opaque="1"
5165 glib:type-name="PangoFontDescription"
5166 glib:get-type="pango_font_description_get_type"
5167 c:symbol-prefix="font_description">
5168 <doc xml:space="preserve"
5169 filename="pango/pango-font.h"
5170 line="33">A `PangoFontDescription` describes a font in an implementation-independent
5171manner.
5172
5173`PangoFontDescription` structures are used both to list what fonts are
5174available on the system and also for specifying the characteristics of
5175a font to load.</doc>
5176 <source-position filename="pango/pango-font.h" line="43"/>
5177 <constructor name="new" c:identifier="pango_font_description_new">
5178 <doc xml:space="preserve"
5179 filename="pango/fonts.c"
5180 line="83">Creates a new font description structure with all fields unset.</doc>
5181 <source-position filename="pango/pango-font.h" line="294"/>
5182 <return-value transfer-ownership="full">
5183 <doc xml:space="preserve"
5184 filename="pango/fonts.c"
5185 line="88">the newly allocated `PangoFontDescription`,
5186 which should be freed using [method@Pango.FontDescription.free].</doc>
5187 <type name="FontDescription" c:type="PangoFontDescription*"/>
5188 </return-value>
5189 </constructor>
5190 <method name="better_match"
5191 c:identifier="pango_font_description_better_match">
5192 <doc xml:space="preserve"
5193 filename="pango/fonts.c"
5194 line="938">Determines if the style attributes of @new_match are a closer match
5195for @desc than those of @old_match are, or if @old_match is %NULL,
5196determines if @new_match is a match at all.
5197
5198Approximate matching is done for weight and style; other style attributes
5199must match exactly. Style attributes are all attributes other than family
5200and size-related attributes. Approximate matching for style considers
5201%PANGO_STYLE_OBLIQUE and %PANGO_STYLE_ITALIC as matches, but not as good
5202a match as when the styles are equal.
5203
5204Note that @old_match must match @desc.</doc>
5205 <source-position filename="pango/pango-font.h" line="394"/>
5206 <return-value transfer-ownership="none">
5207 <doc xml:space="preserve"
5208 filename="pango/fonts.c"
5209 line="956">%TRUE if @new_match is a better match</doc>
5210 <type name="gboolean" c:type="gboolean"/>
5211 </return-value>
5212 <parameters>
5213 <instance-parameter name="desc" transfer-ownership="none">
5214 <doc xml:space="preserve"
5215 filename="pango/fonts.c"
5216 line="940">a `PangoFontDescription`</doc>
5217 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5218 </instance-parameter>
5219 <parameter name="old_match"
5220 transfer-ownership="none"
5221 nullable="1"
5222 allow-none="1">
5223 <doc xml:space="preserve"
5224 filename="pango/fonts.c"
5225 line="941">a `PangoFontDescription`, or %NULL</doc>
5226 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5227 </parameter>
5228 <parameter name="new_match" transfer-ownership="none">
5229 <doc xml:space="preserve"
5230 filename="pango/fonts.c"
5231 line="942">a `PangoFontDescription`</doc>
5232 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5233 </parameter>
5234 </parameters>
5235 </method>
5236 <method name="copy" c:identifier="pango_font_description_copy">
5237 <doc xml:space="preserve"
5238 filename="pango/fonts.c"
5239 line="982">Make a copy of a `PangoFontDescription`.</doc>
5240 <source-position filename="pango/pango-font.h" line="296"/>
5241 <return-value transfer-ownership="full" nullable="1">
5242 <doc xml:space="preserve"
5243 filename="pango/fonts.c"
5244 line="988">the newly allocated `PangoFontDescription`,
5245 which should be freed with [method@Pango.FontDescription.free],
5246 or %NULL if @desc was %NULL.</doc>
5247 <type name="FontDescription" c:type="PangoFontDescription*"/>
5248 </return-value>
5249 <parameters>
5250 <instance-parameter name="desc"
5251 transfer-ownership="none"
5252 nullable="1"
5253 allow-none="1">
5254 <doc xml:space="preserve"
5255 filename="pango/fonts.c"
5256 line="984">a `PangoFontDescription`, may be %NULL</doc>
5257 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5258 </instance-parameter>
5259 </parameters>
5260 </method>
5261 <method name="copy_static"
5262 c:identifier="pango_font_description_copy_static">
5263 <doc xml:space="preserve"
5264 filename="pango/fonts.c"
5265 line="1019">Make a copy of a `PangoFontDescription`, but don't duplicate
5266allocated fields.
5267
5268This is like [method@Pango.FontDescription.copy], but only a shallow
5269copy is made of the family name and other allocated fields. The result
5270can only be used until @desc is modified or freed. This is meant
5271to be used when the copy is only needed temporarily.</doc>
5272 <source-position filename="pango/pango-font.h" line="298"/>
5273 <return-value transfer-ownership="full" nullable="1">
5274 <doc xml:space="preserve"
5275 filename="pango/fonts.c"
5276 line="1031">the newly allocated `PangoFontDescription`,
5277 which should be freed with [method@Pango.FontDescription.free],
5278 or %NULL if @desc was %NULL.</doc>
5279 <type name="FontDescription" c:type="PangoFontDescription*"/>
5280 </return-value>
5281 <parameters>
5282 <instance-parameter name="desc"
5283 transfer-ownership="none"
5284 nullable="1"
5285 allow-none="1">
5286 <doc xml:space="preserve"
5287 filename="pango/fonts.c"
5288 line="1021">a `PangoFontDescription`, may be %NULL</doc>
5289 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5290 </instance-parameter>
5291 </parameters>
5292 </method>
5293 <method name="equal" c:identifier="pango_font_description_equal">
5294 <doc xml:space="preserve"
5295 filename="pango/fonts.c"
5296 line="1059">Compares two font descriptions for equality.
5297
5298Two font descriptions are considered equal if the fonts they describe
5299are provably identical. This means that their masks do not have to match,
5300as long as other fields are all the same. (Two font descriptions may
5301result in identical fonts being loaded, but still compare %FALSE.)</doc>
5302 <source-position filename="pango/pango-font.h" line="302"/>
5303 <return-value transfer-ownership="none">
5304 <doc xml:space="preserve"
5305 filename="pango/fonts.c"
5306 line="1071">%TRUE if the two font descriptions are identical,
5307 %FALSE otherwise.</doc>
5308 <type name="gboolean" c:type="gboolean"/>
5309 </return-value>
5310 <parameters>
5311 <instance-parameter name="desc1" transfer-ownership="none">
5312 <doc xml:space="preserve"
5313 filename="pango/fonts.c"
5314 line="1061">a `PangoFontDescription`</doc>
5315 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5316 </instance-parameter>
5317 <parameter name="desc2" transfer-ownership="none">
5318 <doc xml:space="preserve"
5319 filename="pango/fonts.c"
5320 line="1062">another `PangoFontDescription`</doc>
5321 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5322 </parameter>
5323 </parameters>
5324 </method>
5325 <method name="free" c:identifier="pango_font_description_free">
5326 <doc xml:space="preserve"
5327 filename="pango/fonts.c"
5328 line="1149">Frees a font description.</doc>
5329 <source-position filename="pango/pango-font.h" line="305"/>
5330 <return-value transfer-ownership="none">
5331 <type name="none" c:type="void"/>
5332 </return-value>
5333 <parameters>
5334 <instance-parameter name="desc"
5335 transfer-ownership="none"
5336 nullable="1"
5337 allow-none="1">
5338 <doc xml:space="preserve"
5339 filename="pango/fonts.c"
5340 line="1151">a `PangoFontDescription`, may be %NULL</doc>
5341 <type name="FontDescription" c:type="PangoFontDescription*"/>
5342 </instance-parameter>
5343 </parameters>
5344 </method>
5345 <method name="get_color"
5346 c:identifier="pango_font_description_get_color"
5347 version="1.57">
5348 <doc xml:space="preserve"
5349 filename="pango/fonts.c"
5350 line="743">Returns the color field of the font description.
5351
5352This field determines whether the font description should
5353match fonts that have color glyphs, or fonts that don't.</doc>
5354 <source-position filename="pango/pango-font.h" line="376"/>
5355 <return-value transfer-ownership="none">
5356 <type name="FontColor" c:type="PangoFontColor"/>
5357 </return-value>
5358 <parameters>
5359 <instance-parameter name="desc" transfer-ownership="none">
5360 <doc xml:space="preserve"
5361 filename="pango/fonts.c"
5362 line="745">a `PangoFontDescription`</doc>
5363 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5364 </instance-parameter>
5365 </parameters>
5366 </method>
5367 <method name="get_family"
5368 c:identifier="pango_font_description_get_family">
5369 <doc xml:space="preserve"
5370 filename="pango/fonts.c"
5371 line="164">Gets the family name field of a font description.
5372
5373See [method@Pango.FontDescription.set_family].</doc>
5374 <source-position filename="pango/pango-font.h" line="317"/>
5375 <return-value transfer-ownership="none" nullable="1">
5376 <doc xml:space="preserve"
5377 filename="pango/fonts.c"
5378 line="172">the family name field for the
5379 font description, or %NULL if not previously set. This has the same
5380 life-time as the font description itself and should not be freed.</doc>
5381 <type name="utf8" c:type="const char*"/>
5382 </return-value>
5383 <parameters>
5384 <instance-parameter name="desc" transfer-ownership="none">
5385 <doc xml:space="preserve"
5386 filename="pango/fonts.c"
5387 line="166">a `PangoFontDescription`.</doc>
5388 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5389 </instance-parameter>
5390 </parameters>
5391 </method>
5392 <method name="get_features"
5393 c:identifier="pango_font_description_get_features"
5394 version="1.56">
5395 <doc xml:space="preserve"
5396 filename="pango/fonts.c"
5397 line="695">Gets the features field of a font description.
5398
5399See [method@Pango.FontDescription.set_features].</doc>
5400 <source-position filename="pango/pango-font.h" line="370"/>
5401 <return-value transfer-ownership="none" nullable="1">
5402 <doc xml:space="preserve"
5403 filename="pango/fonts.c"
5404 line="703">the features field for the font
5405 description, or %NULL if not previously set. This has the same
5406 life-time as the font description itself and should not be freed.</doc>
5407 <type name="utf8" c:type="const char*"/>
5408 </return-value>
5409 <parameters>
5410 <instance-parameter name="desc" transfer-ownership="none">
5411 <doc xml:space="preserve"
5412 filename="pango/fonts.c"
5413 line="697">a `PangoFontDescription`</doc>
5414 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5415 </instance-parameter>
5416 </parameters>
5417 </method>
5418 <method name="get_gravity"
5419 c:identifier="pango_font_description_get_gravity"
5420 version="1.16">
5421 <doc xml:space="preserve"
5422 filename="pango/fonts.c"
5423 line="489">Gets the gravity field of a font description.
5424
5425See [method@Pango.FontDescription.set_gravity].</doc>
5426 <source-position filename="pango/pango-font.h" line="352"/>
5427 <return-value transfer-ownership="none">
5428 <doc xml:space="preserve"
5429 filename="pango/fonts.c"
5430 line="497">the gravity field for the font description.
5431 Use [method@Pango.FontDescription.get_set_fields] to find out
5432 if the field was explicitly set or not.</doc>
5433 <type name="Gravity" c:type="PangoGravity"/>
5434 </return-value>
5435 <parameters>
5436 <instance-parameter name="desc" transfer-ownership="none">
5437 <doc xml:space="preserve"
5438 filename="pango/fonts.c"
5439 line="491">a `PangoFontDescription`</doc>
5440 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5441 </instance-parameter>
5442 </parameters>
5443 </method>
5444 <method name="get_set_fields"
5445 c:identifier="pango_font_description_get_set_fields">
5446 <doc xml:space="preserve"
5447 filename="pango/fonts.c"
5448 line="762">Determines which fields in a font description have been set.</doc>
5449 <source-position filename="pango/pango-font.h" line="379"/>
5450 <return-value transfer-ownership="none">
5451 <doc xml:space="preserve"
5452 filename="pango/fonts.c"
5453 line="768">a bitmask with bits set corresponding to the
5454 fields in @desc that have been set.</doc>
5455 <type name="FontMask" c:type="PangoFontMask"/>
5456 </return-value>
5457 <parameters>
5458 <instance-parameter name="desc" transfer-ownership="none">
5459 <doc xml:space="preserve"
5460 filename="pango/fonts.c"
5461 line="764">a `PangoFontDescription`</doc>
5462 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5463 </instance-parameter>
5464 </parameters>
5465 </method>
5466 <method name="get_size" c:identifier="pango_font_description_get_size">
5467 <doc xml:space="preserve"
5468 filename="pango/fonts.c"
5469 line="381">Gets the size field of a font description.
5470
5471See [method@Pango.FontDescription.set_size].</doc>
5472 <source-position filename="pango/pango-font.h" line="342"/>
5473 <return-value transfer-ownership="none">
5474 <doc xml:space="preserve"
5475 filename="pango/fonts.c"
5476 line="389">the size field for the font description in points
5477 or device units. You must call
5478 [method@Pango.FontDescription.get_size_is_absolute] to find out
5479 which is the case. Returns 0 if the size field has not previously
5480 been set or it has been set to 0 explicitly.
5481 Use [method@Pango.FontDescription.get_set_fields] to find out
5482 if the field was explicitly set or not.</doc>
5483 <type name="gint" c:type="gint"/>
5484 </return-value>
5485 <parameters>
5486 <instance-parameter name="desc" transfer-ownership="none">
5487 <doc xml:space="preserve"
5488 filename="pango/fonts.c"
5489 line="383">a `PangoFontDescription`</doc>
5490 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5491 </instance-parameter>
5492 </parameters>
5493 </method>
5494 <method name="get_size_is_absolute"
5495 c:identifier="pango_font_description_get_size_is_absolute"
5496 version="1.8">
5497 <doc xml:space="preserve"
5498 filename="pango/fonts.c"
5499 line="431">Determines whether the size of the font is in points (not absolute)
5500or device units (absolute).
5501
5502See [method@Pango.FontDescription.set_size]
5503and [method@Pango.FontDescription.set_absolute_size].</doc>
5504 <source-position filename="pango/pango-font.h" line="347"/>
5505 <return-value transfer-ownership="none">
5506 <doc xml:space="preserve"
5507 filename="pango/fonts.c"
5508 line="441">whether the size for the font description is in
5509 points or device units. Use [method@Pango.FontDescription.get_set_fields]
5510 to find out if the size field of the font description was explicitly
5511 set or not.</doc>
5512 <type name="gboolean" c:type="gboolean"/>
5513 </return-value>
5514 <parameters>
5515 <instance-parameter name="desc" transfer-ownership="none">
5516 <doc xml:space="preserve"
5517 filename="pango/fonts.c"
5518 line="433">a `PangoFontDescription`</doc>
5519 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5520 </instance-parameter>
5521 </parameters>
5522 </method>
5523 <method name="get_stretch"
5524 c:identifier="pango_font_description_get_stretch">
5525 <doc xml:space="preserve"
5526 filename="pango/fonts.c"
5527 line="332">Gets the stretch field of a font description.
5528
5529See [method@Pango.FontDescription.set_stretch].</doc>
5530 <source-position filename="pango/pango-font.h" line="337"/>
5531 <return-value transfer-ownership="none">
5532 <doc xml:space="preserve"
5533 filename="pango/fonts.c"
5534 line="340">the stretch field for the font description.
5535 Use [method@Pango.FontDescription.get_set_fields] to find
5536 out if the field was explicitly set or not.</doc>
5537 <type name="Stretch" c:type="PangoStretch"/>
5538 </return-value>
5539 <parameters>
5540 <instance-parameter name="desc" transfer-ownership="none">
5541 <doc xml:space="preserve"
5542 filename="pango/fonts.c"
5543 line="334">a `PangoFontDescription`.</doc>
5544 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5545 </instance-parameter>
5546 </parameters>
5547 </method>
5548 <method name="get_style" c:identifier="pango_font_description_get_style">
5549 <doc xml:space="preserve"
5550 filename="pango/fonts.c"
5551 line="210">Gets the style field of a `PangoFontDescription`.
5552
5553See [method@Pango.FontDescription.set_style].</doc>
5554 <source-position filename="pango/pango-font.h" line="322"/>
5555 <return-value transfer-ownership="none">
5556 <doc xml:space="preserve"
5557 filename="pango/fonts.c"
5558 line="218">the style field for the font description.
5559 Use [method@Pango.FontDescription.get_set_fields] to
5560 find out if the field was explicitly set or not.</doc>
5561 <type name="Style" c:type="PangoStyle"/>
5562 </return-value>
5563 <parameters>
5564 <instance-parameter name="desc" transfer-ownership="none">
5565 <doc xml:space="preserve"
5566 filename="pango/fonts.c"
5567 line="212">a `PangoFontDescription`</doc>
5568 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5569 </instance-parameter>
5570 </parameters>
5571 </method>
5572 <method name="get_variant"
5573 c:identifier="pango_font_description_get_variant">
5574 <doc xml:space="preserve"
5575 filename="pango/fonts.c"
5576 line="250">Gets the variant field of a `PangoFontDescription`.
5577
5578See [method@Pango.FontDescription.set_variant].</doc>
5579 <source-position filename="pango/pango-font.h" line="327"/>
5580 <return-value transfer-ownership="none">
5581 <doc xml:space="preserve"
5582 filename="pango/fonts.c"
5583 line="258">the variant field for the font description.
5584 Use [method@Pango.FontDescription.get_set_fields] to find
5585 out if the field was explicitly set or not.</doc>
5586 <type name="Variant" c:type="PangoVariant"/>
5587 </return-value>
5588 <parameters>
5589 <instance-parameter name="desc" transfer-ownership="none">
5590 <doc xml:space="preserve"
5591 filename="pango/fonts.c"
5592 line="252">a `PangoFontDescription`.</doc>
5593 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5594 </instance-parameter>
5595 </parameters>
5596 </method>
5597 <method name="get_variations"
5598 c:identifier="pango_font_description_get_variations"
5599 version="1.42">
5600 <doc xml:space="preserve"
5601 filename="pango/fonts.c"
5602 line="588">Gets the variations field of a font description.
5603
5604See [method@Pango.FontDescription.set_variations].</doc>
5605 <source-position filename="pango/pango-font.h" line="361"/>
5606 <return-value transfer-ownership="none" nullable="1">
5607 <doc xml:space="preserve"
5608 filename="pango/fonts.c"
5609 line="596">the variations field for the font
5610 description, or %NULL if not previously set. This has the same
5611 life-time as the font description itself and should not be freed.</doc>
5612 <type name="utf8" c:type="const char*"/>
5613 </return-value>
5614 <parameters>
5615 <instance-parameter name="desc" transfer-ownership="none">
5616 <doc xml:space="preserve"
5617 filename="pango/fonts.c"
5618 line="590">a `PangoFontDescription`</doc>
5619 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5620 </instance-parameter>
5621 </parameters>
5622 </method>
5623 <method name="get_weight"
5624 c:identifier="pango_font_description_get_weight">
5625 <doc xml:space="preserve"
5626 filename="pango/fonts.c"
5627 line="292">Gets the weight field of a font description.
5628
5629See [method@Pango.FontDescription.set_weight].</doc>
5630 <source-position filename="pango/pango-font.h" line="332"/>
5631 <return-value transfer-ownership="none">
5632 <doc xml:space="preserve"
5633 filename="pango/fonts.c"
5634 line="300">the weight field for the font description.
5635 Use [method@Pango.FontDescription.get_set_fields] to find
5636 out if the field was explicitly set or not.</doc>
5637 <type name="Weight" c:type="PangoWeight"/>
5638 </return-value>
5639 <parameters>
5640 <instance-parameter name="desc" transfer-ownership="none">
5641 <doc xml:space="preserve"
5642 filename="pango/fonts.c"
5643 line="294">a `PangoFontDescription`</doc>
5644 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5645 </instance-parameter>
5646 </parameters>
5647 </method>
5648 <method name="hash" c:identifier="pango_font_description_hash">
5649 <doc xml:space="preserve"
5650 filename="pango/fonts.c"
5651 line="1113">Computes a hash of a `PangoFontDescription` structure.
5652
5653This is suitable to be used, for example, as an argument
5654to g_hash_table_new(). The hash value is independent of @desc->mask.</doc>
5655 <source-position filename="pango/pango-font.h" line="300"/>
5656 <return-value transfer-ownership="none">
5657 <doc xml:space="preserve"
5658 filename="pango/fonts.c"
5659 line="1122">the hash value.</doc>
5660 <type name="guint" c:type="guint"/>
5661 </return-value>
5662 <parameters>
5663 <instance-parameter name="desc" transfer-ownership="none">
5664 <doc xml:space="preserve"
5665 filename="pango/fonts.c"
5666 line="1115">a `PangoFontDescription`</doc>
5667 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5668 </instance-parameter>
5669 </parameters>
5670 </method>
5671 <method name="merge" c:identifier="pango_font_description_merge">
5672 <doc xml:space="preserve"
5673 filename="pango/fonts.c"
5674 line="804">Merges the fields that are set in @desc_to_merge into the fields in
5675@desc.
5676
5677If @replace_existing is %FALSE, only fields in @desc that
5678are not already set are affected. If %TRUE, then fields that are
5679already set will be replaced as well.
5680
5681If @desc_to_merge is %NULL, this function performs nothing.</doc>
5682 <source-position filename="pango/pango-font.h" line="385"/>
5683 <return-value transfer-ownership="none">
5684 <type name="none" c:type="void"/>
5685 </return-value>
5686 <parameters>
5687 <instance-parameter name="desc" transfer-ownership="none">
5688 <doc xml:space="preserve"
5689 filename="pango/fonts.c"
5690 line="806">a `PangoFontDescription`</doc>
5691 <type name="FontDescription" c:type="PangoFontDescription*"/>
5692 </instance-parameter>
5693 <parameter name="desc_to_merge"
5694 transfer-ownership="none"
5695 nullable="1"
5696 allow-none="1">
5697 <doc xml:space="preserve"
5698 filename="pango/fonts.c"
5699 line="807">the `PangoFontDescription` to merge from,
5700 or %NULL</doc>
5701 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5702 </parameter>
5703 <parameter name="replace_existing" transfer-ownership="none">
5704 <doc xml:space="preserve"
5705 filename="pango/fonts.c"
5706 line="809">if %TRUE, replace fields in @desc with the
5707 corresponding values from @desc_to_merge, even if they
5708 are already exist.</doc>
5709 <type name="gboolean" c:type="gboolean"/>
5710 </parameter>
5711 </parameters>
5712 </method>
5713 <method name="merge_static"
5714 c:identifier="pango_font_description_merge_static">
5715 <doc xml:space="preserve"
5716 filename="pango/fonts.c"
5717 line="861">Merges the fields that are set in @desc_to_merge into the fields in
5718@desc, without copying allocated fields.
5719
5720This is like [method@Pango.FontDescription.merge], but only a shallow copy
5721is made of the family name and other allocated fields. @desc can only
5722be used until @desc_to_merge is modified or freed. This is meant to
5723be used when the merged font description is only needed temporarily.</doc>
5724 <source-position filename="pango/pango-font.h" line="389"/>
5725 <return-value transfer-ownership="none">
5726 <type name="none" c:type="void"/>
5727 </return-value>
5728 <parameters>
5729 <instance-parameter name="desc" transfer-ownership="none">
5730 <doc xml:space="preserve"
5731 filename="pango/fonts.c"
5732 line="863">a `PangoFontDescription`</doc>
5733 <type name="FontDescription" c:type="PangoFontDescription*"/>
5734 </instance-parameter>
5735 <parameter name="desc_to_merge" transfer-ownership="none">
5736 <doc xml:space="preserve"
5737 filename="pango/fonts.c"
5738 line="864">the `PangoFontDescription` to merge from</doc>
5739 <type name="FontDescription" c:type="const PangoFontDescription*"/>
5740 </parameter>
5741 <parameter name="replace_existing" transfer-ownership="none">
5742 <doc xml:space="preserve"
5743 filename="pango/fonts.c"
5744 line="865">if %TRUE, replace fields in @desc with the
5745 corresponding values from @desc_to_merge, even if they
5746 are already exist.</doc>
5747 <type name="gboolean" c:type="gboolean"/>
5748 </parameter>
5749 </parameters>
5750 </method>
5751 <method name="set_absolute_size"
5752 c:identifier="pango_font_description_set_absolute_size"
5753 version="1.8">
5754 <doc xml:space="preserve"
5755 filename="pango/fonts.c"
5756 line="405">Sets the size field of a font description, in device units.
5757
5758This is mutually exclusive with [method@Pango.FontDescription.set_size]
5759which sets the font size in points.</doc>
5760 <source-position filename="pango/pango-font.h" line="344"/>
5761 <return-value transfer-ownership="none">
5762 <type name="none" c:type="void"/>
5763 </return-value>
5764 <parameters>
5765 <instance-parameter name="desc" transfer-ownership="none">
5766 <doc xml:space="preserve"
5767 filename="pango/fonts.c"
5768 line="407">a `PangoFontDescription`</doc>
5769 <type name="FontDescription" c:type="PangoFontDescription*"/>
5770 </instance-parameter>
5771 <parameter name="size" transfer-ownership="none">
5772 <doc xml:space="preserve"
5773 filename="pango/fonts.c"
5774 line="408">the new size, in Pango units. There are %PANGO_SCALE Pango units
5775 in one device unit. For an output backend where a device unit is a pixel,
5776 a @size value of 10 * PANGO_SCALE gives a 10 pixel font.</doc>
5777 <type name="gdouble" c:type="double"/>
5778 </parameter>
5779 </parameters>
5780 </method>
5781 <method name="set_color"
5782 c:identifier="pango_font_description_set_color"
5783 version="1.57">
5784 <doc xml:space="preserve"
5785 filename="pango/fonts.c"
5786 line="717">Sets the color field of a font description.
5787
5788This field determines whether the font description should
5789match fonts that have color glyphs, or fonts that don't.</doc>
5790 <source-position filename="pango/pango-font.h" line="373"/>
5791 <return-value transfer-ownership="none">
5792 <type name="none" c:type="void"/>
5793 </return-value>
5794 <parameters>
5795 <instance-parameter name="desc" transfer-ownership="none">
5796 <doc xml:space="preserve"
5797 filename="pango/fonts.c"
5798 line="719">a `PangoFontDescription`.</doc>
5799 <type name="FontDescription" c:type="PangoFontDescription*"/>
5800 </instance-parameter>
5801 <parameter name="color" transfer-ownership="none">
5802 <doc xml:space="preserve"
5803 filename="pango/fonts.c"
5804 line="720">the `PangoFontColor` value</doc>
5805 <type name="FontColor" c:type="PangoFontColor"/>
5806 </parameter>
5807 </parameters>
5808 </method>
5809 <method name="set_family"
5810 c:identifier="pango_font_description_set_family">
5811 <doc xml:space="preserve"
5812 filename="pango/fonts.c"
5813 line="101">Sets the family name field of a font description.
5814
5815The family
5816name represents a family of related font styles, and will
5817resolve to a particular `PangoFontFamily`. In some uses of
5818`PangoFontDescription`, it is also possible to use a comma
5819separated list of family names for this field.</doc>
5820 <source-position filename="pango/pango-font.h" line="311"/>
5821 <return-value transfer-ownership="none">
5822 <type name="none" c:type="void"/>
5823 </return-value>
5824 <parameters>
5825 <instance-parameter name="desc" transfer-ownership="none">
5826 <doc xml:space="preserve"
5827 filename="pango/fonts.c"
5828 line="103">a `PangoFontDescription`.</doc>
5829 <type name="FontDescription" c:type="PangoFontDescription*"/>
5830 </instance-parameter>
5831 <parameter name="family" transfer-ownership="none">
5832 <doc xml:space="preserve"
5833 filename="pango/fonts.c"
5834 line="104">a string representing the family name.</doc>
5835 <type name="utf8" c:type="const char*"/>
5836 </parameter>
5837 </parameters>
5838 </method>
5839 <method name="set_family_static"
5840 c:identifier="pango_font_description_set_family_static">
5841 <doc xml:space="preserve"
5842 filename="pango/fonts.c"
5843 line="125">Sets the family name field of a font description, without copying the string.
5844
5845This is like [method@Pango.FontDescription.set_family], except that no
5846copy of @family is made. The caller must make sure that the
5847string passed in stays around until @desc has been freed or the
5848name is set again. This function can be used if @family is a static
5849string such as a C string literal, or if @desc is only needed temporarily.</doc>
5850 <source-position filename="pango/pango-font.h" line="314"/>
5851 <return-value transfer-ownership="none">
5852 <type name="none" c:type="void"/>
5853 </return-value>
5854 <parameters>
5855 <instance-parameter name="desc" transfer-ownership="none">
5856 <doc xml:space="preserve"
5857 filename="pango/fonts.c"
5858 line="127">a `PangoFontDescription`</doc>
5859 <type name="FontDescription" c:type="PangoFontDescription*"/>
5860 </instance-parameter>
5861 <parameter name="family" transfer-ownership="none">
5862 <doc xml:space="preserve"
5863 filename="pango/fonts.c"
5864 line="128">a string representing the family name</doc>
5865 <type name="utf8" c:type="const char*"/>
5866 </parameter>
5867 </parameters>
5868 </method>
5869 <method name="set_features"
5870 c:identifier="pango_font_description_set_features"
5871 version="1.56">
5872 <doc xml:space="preserve"
5873 filename="pango/fonts.c"
5874 line="652">Sets the features field of a font description.
5875
5876OpenType font features allow to enable or disable certain optional
5877features of a font, such as tabular numbers.
5878
5879The format of the features string is comma-separated list of
5880feature assignments, with each assignment being one of these forms:
5881
5882 FEATURE=n
5883
5884where FEATURE must be a 4 character tag that identifies and OpenType
5885feature, and n an integer (depending on the feature, the allowed
5886values may be 0, 1 or bigger numbers). Unknown features are ignored.
5887
5888Note that font features set in this way are enabled for the entire text
5889that is using the font, which is not appropriate for all OpenType features.
5890The intended use case is to select character variations (features cv01 - c99),
5891style sets (ss01 - ss20) and the like.
5892
5893Pango does not currently have a way to find supported OpenType features
5894of a font. Both harfbuzz and freetype have API for this. See for example
5895[hb_ot_layout_table_get_feature_tags](https://harfbuzz.github.io/harfbuzz-hb-ot-layout.html#hb-ot-layout-table-get-feature-tags).
5896
5897Features that are not supported by the font are silently ignored.</doc>
5898 <source-position filename="pango/pango-font.h" line="367"/>
5899 <return-value transfer-ownership="none">
5900 <type name="none" c:type="void"/>
5901 </return-value>
5902 <parameters>
5903 <instance-parameter name="desc" transfer-ownership="none">
5904 <doc xml:space="preserve"
5905 filename="pango/fonts.c"
5906 line="654">a `PangoFontDescription`.</doc>
5907 <type name="FontDescription" c:type="PangoFontDescription*"/>
5908 </instance-parameter>
5909 <parameter name="features"
5910 transfer-ownership="none"
5911 nullable="1"
5912 allow-none="1">
5913 <doc xml:space="preserve"
5914 filename="pango/fonts.c"
5915 line="655">a string representing the features</doc>
5916 <type name="utf8" c:type="const char*"/>
5917 </parameter>
5918 </parameters>
5919 </method>
5920 <method name="set_features_static"
5921 c:identifier="pango_font_description_set_features_static"
5922 version="1.56">
5923 <doc xml:space="preserve"
5924 filename="pango/fonts.c"
5925 line="610">Sets the features field of a font description.
5926
5927This is like [method@Pango.FontDescription.set_features], except
5928that no copy of @featuresis made. The caller must make sure that
5929the string passed in stays around until @desc has been freed
5930or the name is set again. This function can be used if
5931@features is a static string such as a C string literal,
5932or if @desc is only needed temporarily.</doc>
5933 <source-position filename="pango/pango-font.h" line="364"/>
5934 <return-value transfer-ownership="none">
5935 <type name="none" c:type="void"/>
5936 </return-value>
5937 <parameters>
5938 <instance-parameter name="desc" transfer-ownership="none">
5939 <doc xml:space="preserve"
5940 filename="pango/fonts.c"
5941 line="612">a `PangoFontDescription`</doc>
5942 <type name="FontDescription" c:type="PangoFontDescription*"/>
5943 </instance-parameter>
5944 <parameter name="features" transfer-ownership="none">
5945 <doc xml:space="preserve"
5946 filename="pango/fonts.c"
5947 line="613">a string representing the features</doc>
5948 <type name="utf8" c:type="const char*"/>
5949 </parameter>
5950 </parameters>
5951 </method>
5952 <method name="set_gravity"
5953 c:identifier="pango_font_description_set_gravity"
5954 version="1.16">
5955 <doc xml:space="preserve"
5956 filename="pango/fonts.c"
5957 line="456">Sets the gravity field of a font description.
5958
5959The gravity field
5960specifies how the glyphs should be rotated. If @gravity is
5961%PANGO_GRAVITY_AUTO, this actually unsets the gravity mask on
5962the font description.
5963
5964This function is seldom useful to the user. Gravity should normally
5965be set on a `PangoContext`.</doc>
5966 <source-position filename="pango/pango-font.h" line="349"/>
5967 <return-value transfer-ownership="none">
5968 <type name="none" c:type="void"/>
5969 </return-value>
5970 <parameters>
5971 <instance-parameter name="desc" transfer-ownership="none">
5972 <doc xml:space="preserve"
5973 filename="pango/fonts.c"
5974 line="458">a `PangoFontDescription`</doc>
5975 <type name="FontDescription" c:type="PangoFontDescription*"/>
5976 </instance-parameter>
5977 <parameter name="gravity" transfer-ownership="none">
5978 <doc xml:space="preserve"
5979 filename="pango/fonts.c"
5980 line="459">the gravity for the font description.</doc>
5981 <type name="Gravity" c:type="PangoGravity"/>
5982 </parameter>
5983 </parameters>
5984 </method>
5985 <method name="set_size" c:identifier="pango_font_description_set_size">
5986 <doc xml:space="preserve"
5987 filename="pango/fonts.c"
5988 line="352">Sets the size field of a font description in fractional points.
5989
5990This is mutually exclusive with
5991[method@Pango.FontDescription.set_absolute_size].</doc>
5992 <source-position filename="pango/pango-font.h" line="339"/>
5993 <return-value transfer-ownership="none">
5994 <type name="none" c:type="void"/>
5995 </return-value>
5996 <parameters>
5997 <instance-parameter name="desc" transfer-ownership="none">
5998 <doc xml:space="preserve"
5999 filename="pango/fonts.c"
6000 line="354">a `PangoFontDescription`</doc>
6001 <type name="FontDescription" c:type="PangoFontDescription*"/>
6002 </instance-parameter>
6003 <parameter name="size" transfer-ownership="none">
6004 <doc xml:space="preserve"
6005 filename="pango/fonts.c"
6006 line="355">the size of the font in points, scaled by %PANGO_SCALE.
6007 (That is, a @size value of 10 * PANGO_SCALE is a 10 point font.
6008 The conversion factor between points and device units depends on
6009 system configuration and the output device. For screen display, a
6010 logical DPI of 96 is common, in which case a 10 point font corresponds
6011 to a 10 * (96 / 72) = 13.3 pixel font.
6012 Use [method@Pango.FontDescription.set_absolute_size] if you need
6013 a particular size in device units.</doc>
6014 <type name="gint" c:type="gint"/>
6015 </parameter>
6016 </parameters>
6017 </method>
6018 <method name="set_stretch"
6019 c:identifier="pango_font_description_set_stretch">
6020 <doc xml:space="preserve"
6021 filename="pango/fonts.c"
6022 line="312">Sets the stretch field of a font description.
6023
6024The [enum@Pango.Stretch] field specifies how narrow or
6025wide the font should be.</doc>
6026 <source-position filename="pango/pango-font.h" line="334"/>
6027 <return-value transfer-ownership="none">
6028 <type name="none" c:type="void"/>
6029 </return-value>
6030 <parameters>
6031 <instance-parameter name="desc" transfer-ownership="none">
6032 <doc xml:space="preserve"
6033 filename="pango/fonts.c"
6034 line="314">a `PangoFontDescription`</doc>
6035 <type name="FontDescription" c:type="PangoFontDescription*"/>
6036 </instance-parameter>
6037 <parameter name="stretch" transfer-ownership="none">
6038 <doc xml:space="preserve"
6039 filename="pango/fonts.c"
6040 line="315">the stretch for the font description</doc>
6041 <type name="Stretch" c:type="PangoStretch"/>
6042 </parameter>
6043 </parameters>
6044 </method>
6045 <method name="set_style" c:identifier="pango_font_description_set_style">
6046 <doc xml:space="preserve"
6047 filename="pango/fonts.c"
6048 line="184">Sets the style field of a `PangoFontDescription`.
6049
6050The [enum@Pango.Style] enumeration describes whether the font is
6051slanted and the manner in which it is slanted; it can be either
6052%PANGO_STYLE_NORMAL, %PANGO_STYLE_ITALIC, or %PANGO_STYLE_OBLIQUE.
6053
6054Most fonts will either have a italic style or an oblique style,
6055but not both, and font matching in Pango will match italic
6056specifications with oblique fonts and vice-versa if an exact
6057match is not found.</doc>
6058 <source-position filename="pango/pango-font.h" line="319"/>
6059 <return-value transfer-ownership="none">
6060 <type name="none" c:type="void"/>
6061 </return-value>
6062 <parameters>
6063 <instance-parameter name="desc" transfer-ownership="none">
6064 <doc xml:space="preserve"
6065 filename="pango/fonts.c"
6066 line="186">a `PangoFontDescription`</doc>
6067 <type name="FontDescription" c:type="PangoFontDescription*"/>
6068 </instance-parameter>
6069 <parameter name="style" transfer-ownership="none">
6070 <doc xml:space="preserve"
6071 filename="pango/fonts.c"
6072 line="187">the style for the font description</doc>
6073 <type name="Style" c:type="PangoStyle"/>
6074 </parameter>
6075 </parameters>
6076 </method>
6077 <method name="set_variant"
6078 c:identifier="pango_font_description_set_variant">
6079 <doc xml:space="preserve"
6080 filename="pango/fonts.c"
6081 line="230">Sets the variant field of a font description.
6082
6083The [enum@Pango.Variant] can either be %PANGO_VARIANT_NORMAL
6084or %PANGO_VARIANT_SMALL_CAPS.</doc>
6085 <source-position filename="pango/pango-font.h" line="324"/>
6086 <return-value transfer-ownership="none">
6087 <type name="none" c:type="void"/>
6088 </return-value>
6089 <parameters>
6090 <instance-parameter name="desc" transfer-ownership="none">
6091 <doc xml:space="preserve"
6092 filename="pango/fonts.c"
6093 line="232">a `PangoFontDescription`</doc>
6094 <type name="FontDescription" c:type="PangoFontDescription*"/>
6095 </instance-parameter>
6096 <parameter name="variant" transfer-ownership="none">
6097 <doc xml:space="preserve"
6098 filename="pango/fonts.c"
6099 line="233">the variant type for the font description.</doc>
6100 <type name="Variant" c:type="PangoVariant"/>
6101 </parameter>
6102 </parameters>
6103 </method>
6104 <method name="set_variations"
6105 c:identifier="pango_font_description_set_variations"
6106 version="1.42">
6107 <doc xml:space="preserve"
6108 filename="pango/fonts.c"
6109 line="553">Sets the variations field of a font description.
6110
6111OpenType font variations allow to select a font instance by
6112specifying values for a number of axes, such as width or weight.
6113
6114The format of the variations string is
6115
6116 AXIS1=VALUE,AXIS2=VALUE...
6117
6118with each AXIS a 4 character tag that identifies a font axis,
6119and each VALUE a floating point number. Unknown axes are ignored,
6120and values are clamped to their allowed range.
6121
6122Pango does not currently have a way to find supported axes of
6123a font. Both harfbuzz and freetype have API for this. See
6124for example [hb_ot_var_get_axis_infos](https://harfbuzz.github.io/harfbuzz-hb-ot-var.html#hb-ot-var-get-axis-infos).</doc>
6125 <source-position filename="pango/pango-font.h" line="358"/>
6126 <return-value transfer-ownership="none">
6127 <type name="none" c:type="void"/>
6128 </return-value>
6129 <parameters>
6130 <instance-parameter name="desc" transfer-ownership="none">
6131 <doc xml:space="preserve"
6132 filename="pango/fonts.c"
6133 line="555">a `PangoFontDescription`.</doc>
6134 <type name="FontDescription" c:type="PangoFontDescription*"/>
6135 </instance-parameter>
6136 <parameter name="variations"
6137 transfer-ownership="none"
6138 nullable="1"
6139 allow-none="1">
6140 <doc xml:space="preserve"
6141 filename="pango/fonts.c"
6142 line="556">a string representing the variations</doc>
6143 <type name="utf8" c:type="const char*"/>
6144 </parameter>
6145 </parameters>
6146 </method>
6147 <method name="set_variations_static"
6148 c:identifier="pango_font_description_set_variations_static"
6149 version="1.42">
6150 <doc xml:space="preserve"
6151 filename="pango/fonts.c"
6152 line="511">Sets the variations field of a font description.
6153
6154This is like [method@Pango.FontDescription.set_variations], except
6155that no copy of @variations is made. The caller must make sure that
6156the string passed in stays around until @desc has been freed
6157or the name is set again. This function can be used if
6158@variations is a static string such as a C string literal,
6159or if @desc is only needed temporarily.</doc>
6160 <source-position filename="pango/pango-font.h" line="355"/>
6161 <return-value transfer-ownership="none">
6162 <type name="none" c:type="void"/>
6163 </return-value>
6164 <parameters>
6165 <instance-parameter name="desc" transfer-ownership="none">
6166 <doc xml:space="preserve"
6167 filename="pango/fonts.c"
6168 line="513">a `PangoFontDescription`</doc>
6169 <type name="FontDescription" c:type="PangoFontDescription*"/>
6170 </instance-parameter>
6171 <parameter name="variations" transfer-ownership="none">
6172 <doc xml:space="preserve"
6173 filename="pango/fonts.c"
6174 line="514">a string representing the variations</doc>
6175 <type name="utf8" c:type="const char*"/>
6176 </parameter>
6177 </parameters>
6178 </method>
6179 <method name="set_weight"
6180 c:identifier="pango_font_description_set_weight">
6181 <doc xml:space="preserve"
6182 filename="pango/fonts.c"
6183 line="270">Sets the weight field of a font description.
6184
6185The weight field
6186specifies how bold or light the font should be. In addition
6187to the values of the [enum@Pango.Weight] enumeration, other
6188intermediate numeric values are possible.</doc>
6189 <source-position filename="pango/pango-font.h" line="329"/>
6190 <return-value transfer-ownership="none">
6191 <type name="none" c:type="void"/>
6192 </return-value>
6193 <parameters>
6194 <instance-parameter name="desc" transfer-ownership="none">
6195 <doc xml:space="preserve"
6196 filename="pango/fonts.c"
6197 line="272">a `PangoFontDescription`</doc>
6198 <type name="FontDescription" c:type="PangoFontDescription*"/>
6199 </instance-parameter>
6200 <parameter name="weight" transfer-ownership="none">
6201 <doc xml:space="preserve"
6202 filename="pango/fonts.c"
6203 line="273">the weight for the font description.</doc>
6204 <type name="Weight" c:type="PangoWeight"/>
6205 </parameter>
6206 </parameters>
6207 </method>
6208 <method name="to_filename"
6209 c:identifier="pango_font_description_to_filename">
6210 <doc xml:space="preserve"
6211 filename="pango/fonts.c"
6212 line="1872">Creates a filename representation of a font description.
6213
6214The filename is identical to the result from calling
6215[method@Pango.FontDescription.to_string], but with underscores
6216instead of characters that are untypical in filenames, and in
6217lower case only.</doc>
6218 <source-position filename="pango/pango-font.h" line="403"/>
6219 <return-value transfer-ownership="full" nullable="1">
6220 <doc xml:space="preserve"
6221 filename="pango/fonts.c"
6222 line="1883">a new string that must be freed with g_free().</doc>
6223 <type name="utf8" c:type="char*"/>
6224 </return-value>
6225 <parameters>
6226 <instance-parameter name="desc" transfer-ownership="none">
6227 <doc xml:space="preserve"
6228 filename="pango/fonts.c"
6229 line="1874">a `PangoFontDescription`</doc>
6230 <type name="FontDescription" c:type="const PangoFontDescription*"/>
6231 </instance-parameter>
6232 </parameters>
6233 </method>
6234 <method name="to_string" c:identifier="pango_font_description_to_string">
6235 <doc xml:space="preserve"
6236 filename="pango/fonts.c"
6237 line="1777">Creates a string representation of a font description.
6238
6239See [func@Pango.FontDescription.from_string] for a description
6240of the format of the string representation. The family list in
6241the string description will only have a terminating comma if
6242the last word of the list is a valid style option.</doc>
6243 <source-position filename="pango/pango-font.h" line="401"/>
6244 <return-value transfer-ownership="full">
6245 <doc xml:space="preserve"
6246 filename="pango/fonts.c"
6247 line="1788">a new string that must be freed with g_free().</doc>
6248 <type name="utf8" c:type="char*"/>
6249 </return-value>
6250 <parameters>
6251 <instance-parameter name="desc" transfer-ownership="none">
6252 <doc xml:space="preserve"
6253 filename="pango/fonts.c"
6254 line="1779">a `PangoFontDescription`</doc>
6255 <type name="FontDescription" c:type="const PangoFontDescription*"/>
6256 </instance-parameter>
6257 </parameters>
6258 </method>
6259 <method name="unset_fields"
6260 c:identifier="pango_font_description_unset_fields">
6261 <doc xml:space="preserve"
6262 filename="pango/fonts.c"
6263 line="779">Unsets some of the fields in a `PangoFontDescription`.
6264
6265The unset fields will get back to their default values.</doc>
6266 <source-position filename="pango/pango-font.h" line="381"/>
6267 <return-value transfer-ownership="none">
6268 <type name="none" c:type="void"/>
6269 </return-value>
6270 <parameters>
6271 <instance-parameter name="desc" transfer-ownership="none">
6272 <doc xml:space="preserve"
6273 filename="pango/fonts.c"
6274 line="781">a `PangoFontDescription`</doc>
6275 <type name="FontDescription" c:type="PangoFontDescription*"/>
6276 </instance-parameter>
6277 <parameter name="to_unset" transfer-ownership="none">
6278 <doc xml:space="preserve"
6279 filename="pango/fonts.c"
6280 line="782">bitmask of fields in the @desc to unset.</doc>
6281 <type name="FontMask" c:type="PangoFontMask"/>
6282 </parameter>
6283 </parameters>
6284 </method>
6285 <function name="from_string"
6286 c:identifier="pango_font_description_from_string">
6287 <doc xml:space="preserve"
6288 filename="pango/fonts.c"
6289 line="1462">Creates a new font description from a string representation.
6290
6291The string must have the form
6292
6293 [FAMILY-LIST] [STYLE-OPTIONS] [SIZE] [VARIATIONS] [FEATURES]
6294
6295where FAMILY-LIST is a comma-separated list of families optionally
6296terminated by a comma, STYLE_OPTIONS is a whitespace-separated list
6297of words where each word describes one of style, variant, weight,
6298stretch, or gravity, and SIZE is a decimal number (size in points)
6299or optionally followed by the unit modifier "px" for absolute size.
6300
6301The following words are understood as styles:
6302"Normal", "Roman", "Oblique", "Italic".
6303
6304The following words are understood as variants:
6305"Small-Caps", "All-Small-Caps", "Petite-Caps", "All-Petite-Caps",
6306"Unicase", "Title-Caps".
6307
6308The following words are understood as weights:
6309"Thin", "Ultra-Light", "Extra-Light", "Light", "Semi-Light",
6310"Demi-Light", "Book", "Regular", "Medium", "Semi-Bold", "Demi-Bold",
6311"Bold", "Ultra-Bold", "Extra-Bold", "Heavy", "Black", "Ultra-Black",
6312"Extra-Black".
6313
6314The following words are understood as stretch values:
6315"Ultra-Condensed", "Extra-Condensed", "Condensed", "Semi-Condensed",
6316"Semi-Expanded", "Expanded", "Extra-Expanded", "Ultra-Expanded".
6317
6318The following words are understood as gravity values:
6319"Not-Rotated", "South", "Upside-Down", "North", "Rotated-Left",
6320"East", "Rotated-Right", "West".
6321
6322The following words are understood as color values:
6323"With-Color", "Without-Color".
6324
6325VARIATIONS is a comma-separated list of font variations
6326of the form @<U+200D>axis1=value,axis2=value,...
6327
6328FEATURES is a comma-separated list of font features of the form
6329\#<U+200D>feature1=value,feature2=value,...
6330The =value part can be ommitted if the value is 1.
6331
6332Any one of the options may be absent. If FAMILY-LIST is absent, then
6333the family_name field of the resulting font description will be
6334initialized to %NULL. If STYLE-OPTIONS is missing, then all style
6335options will be set to the default values. If SIZE is missing, the
6336size in the resulting font description will be set to 0.
6337
6338A typical example:
6339
6340 Cantarell Italic Light 15 @<U+200D>wght=200 #<U+200D>tnum=1</doc>
6341 <source-position filename="pango/pango-font.h" line="399"/>
6342 <return-value transfer-ownership="full">
6343 <doc xml:space="preserve"
6344 filename="pango/fonts.c"
6345 line="1519">a new `PangoFontDescription`.</doc>
6346 <type name="FontDescription" c:type="PangoFontDescription*"/>
6347 </return-value>
6348 <parameters>
6349 <parameter name="str" transfer-ownership="none">
6350 <doc xml:space="preserve"
6351 filename="pango/fonts.c"
6352 line="1464">string representation of a font description.</doc>
6353 <type name="utf8" c:type="const char*"/>
6354 </parameter>
6355 </parameters>
6356 </function>
6357 </record>
6358 <class name="FontFace"
6359 c:symbol-prefix="font_face"
6360 c:type="PangoFontFace"
6361 parent="GObject.Object"
6362 abstract="1"
6363 glib:type-name="PangoFontFace"
6364 glib:get-type="pango_font_face_get_type"
6365 glib:type-struct="FontFaceClass">
6366 <doc xml:space="preserve"
6367 filename="pango/pango-font.h"
6368 line="543">A `PangoFontFace` is used to represent a group of fonts with
6369the same family, slant, weight, and width, but varying sizes.</doc>
6370 <source-position filename="pango/pango-font.h" line="573"/>
6371 <virtual-method name="describe" invoker="describe">
6372 <doc xml:space="preserve"
6373 filename="pango/fonts.c"
6374 line="3057">Returns a font description that matches the face.
6375
6376The resulting font description will have the family, style,
6377variant, weight and stretch of the face, but its size field
6378will be unset.</doc>
6379 <source-position filename="pango/pango-font.h" line="561"/>
6380 <return-value transfer-ownership="full">
6381 <doc xml:space="preserve"
6382 filename="pango/fonts.c"
6383 line="3067">a newly-created `PangoFontDescription` structure
6384 holding the description of the face. Use [method@Pango.FontDescription.free]
6385 to free the result.</doc>
6386 <type name="FontDescription" c:type="PangoFontDescription*"/>
6387 </return-value>
6388 <parameters>
6389 <instance-parameter name="face" transfer-ownership="none">
6390 <doc xml:space="preserve"
6391 filename="pango/fonts.c"
6392 line="3059">a `PangoFontFace`</doc>
6393 <type name="FontFace" c:type="PangoFontFace*"/>
6394 </instance-parameter>
6395 </parameters>
6396 </virtual-method>
6397 <virtual-method name="get_face_name" invoker="get_face_name">
6398 <doc xml:space="preserve"
6399 filename="pango/fonts.c"
6400 line="3104">Gets a name representing the style of this face.
6401
6402Note that a font family may contain multiple faces
6403with the same name (e.g. a variable and a non-variable
6404face for the same style).</doc>
6405 <source-position filename="pango/pango-font.h" line="560"/>
6406 <return-value transfer-ownership="none">
6407 <doc xml:space="preserve"
6408 filename="pango/fonts.c"
6409 line="3114">the face name for the face. This string is
6410 owned by the face object and must not be modified or freed.</doc>
6411 <type name="utf8" c:type="const char*"/>
6412 </return-value>
6413 <parameters>
6414 <instance-parameter name="face" transfer-ownership="none">
6415 <doc xml:space="preserve"
6416 filename="pango/fonts.c"
6417 line="3106">a `PangoFontFace`.</doc>
6418 <type name="FontFace" c:type="PangoFontFace*"/>
6419 </instance-parameter>
6420 </parameters>
6421 </virtual-method>
6422 <virtual-method name="get_family" invoker="get_family" version="1.46">
6423 <doc xml:space="preserve"
6424 filename="pango/fonts.c"
6425 line="3163">Gets the `PangoFontFamily` that @face belongs to.</doc>
6426 <source-position filename="pango/pango-font.h" line="566"/>
6427 <return-value transfer-ownership="none">
6428 <doc xml:space="preserve"
6429 filename="pango/fonts.c"
6430 line="3169">the `PangoFontFamily`</doc>
6431 <type name="FontFamily" c:type="PangoFontFamily*"/>
6432 </return-value>
6433 <parameters>
6434 <instance-parameter name="face" transfer-ownership="none">
6435 <doc xml:space="preserve"
6436 filename="pango/fonts.c"
6437 line="3165">a `PangoFontFace`</doc>
6438 <type name="FontFace" c:type="PangoFontFace*"/>
6439 </instance-parameter>
6440 </parameters>
6441 </virtual-method>
6442 <virtual-method name="is_synthesized"
6443 invoker="is_synthesized"
6444 version="1.18">
6445 <doc xml:space="preserve"
6446 filename="pango/fonts.c"
6447 line="3079">Returns whether a `PangoFontFace` is synthesized.
6448
6449This will be the case if the underlying font rendering engine
6450creates this face from another face, by shearing, emboldening,
6451lightening or modifying it in some other way.</doc>
6452 <source-position filename="pango/pango-font.h" line="565"/>
6453 <return-value transfer-ownership="none">
6454 <doc xml:space="preserve"
6455 filename="pango/fonts.c"
6456 line="3089">whether @face is synthesized</doc>
6457 <type name="gboolean" c:type="gboolean"/>
6458 </return-value>
6459 <parameters>
6460 <instance-parameter name="face" transfer-ownership="none">
6461 <doc xml:space="preserve"
6462 filename="pango/fonts.c"
6463 line="3081">a `PangoFontFace`</doc>
6464 <type name="FontFace" c:type="PangoFontFace*"/>
6465 </instance-parameter>
6466 </parameters>
6467 </virtual-method>
6468 <virtual-method name="list_sizes" invoker="list_sizes" version="1.4">
6469 <doc xml:space="preserve"
6470 filename="pango/fonts.c"
6471 line="3125">List the available sizes for a font.
6472
6473This is only applicable to bitmap fonts. For scalable fonts, stores
6474%NULL at the location pointed to by @sizes and 0 at the location pointed
6475to by @n_sizes. The sizes returned are in Pango units and are sorted
6476in ascending order.</doc>
6477 <source-position filename="pango/pango-font.h" line="562"/>
6478 <return-value transfer-ownership="none">
6479 <type name="none" c:type="void"/>
6480 </return-value>
6481 <parameters>
6482 <instance-parameter name="face" transfer-ownership="none">
6483 <doc xml:space="preserve"
6484 filename="pango/fonts.c"
6485 line="3127">a `PangoFontFace`.</doc>
6486 <type name="FontFace" c:type="PangoFontFace*"/>
6487 </instance-parameter>
6488 <parameter name="sizes"
6489 direction="out"
6490 caller-allocates="0"
6491 transfer-ownership="full"
6492 nullable="1"
6493 optional="1"
6494 allow-none="1">
6495 <doc xml:space="preserve"
6496 filename="pango/fonts.c"
6497 line="3128">
6498 location to store a pointer to an array of int. This array
6499 should be freed with g_free().</doc>
6500 <array length="1" zero-terminated="0" c:type="int**">
6501 <type name="gint" c:type="int*"/>
6502 </array>
6503 </parameter>
6504 <parameter name="n_sizes"
6505 direction="out"
6506 caller-allocates="0"
6507 transfer-ownership="full">
6508 <doc xml:space="preserve"
6509 filename="pango/fonts.c"
6510 line="3131">location to store the number of elements in @sizes</doc>
6511 <type name="gint" c:type="int*"/>
6512 </parameter>
6513 </parameters>
6514 </virtual-method>
6515 <method name="describe" c:identifier="pango_font_face_describe">
6516 <doc xml:space="preserve"
6517 filename="pango/fonts.c"
6518 line="3057">Returns a font description that matches the face.
6519
6520The resulting font description will have the family, style,
6521variant, weight and stretch of the face, but its size field
6522will be unset.</doc>
6523 <source-position filename="pango/pango-font.h" line="581"/>
6524 <return-value transfer-ownership="full">
6525 <doc xml:space="preserve"
6526 filename="pango/fonts.c"
6527 line="3067">a newly-created `PangoFontDescription` structure
6528 holding the description of the face. Use [method@Pango.FontDescription.free]
6529 to free the result.</doc>
6530 <type name="FontDescription" c:type="PangoFontDescription*"/>
6531 </return-value>
6532 <parameters>
6533 <instance-parameter name="face" transfer-ownership="none">
6534 <doc xml:space="preserve"
6535 filename="pango/fonts.c"
6536 line="3059">a `PangoFontFace`</doc>
6537 <type name="FontFace" c:type="PangoFontFace*"/>
6538 </instance-parameter>
6539 </parameters>
6540 </method>
6541 <method name="get_face_name"
6542 c:identifier="pango_font_face_get_face_name">
6543 <doc xml:space="preserve"
6544 filename="pango/fonts.c"
6545 line="3104">Gets a name representing the style of this face.
6546
6547Note that a font family may contain multiple faces
6548with the same name (e.g. a variable and a non-variable
6549face for the same style).</doc>
6550 <source-position filename="pango/pango-font.h" line="583"/>
6551 <return-value transfer-ownership="none">
6552 <doc xml:space="preserve"
6553 filename="pango/fonts.c"
6554 line="3114">the face name for the face. This string is
6555 owned by the face object and must not be modified or freed.</doc>
6556 <type name="utf8" c:type="const char*"/>
6557 </return-value>
6558 <parameters>
6559 <instance-parameter name="face" transfer-ownership="none">
6560 <doc xml:space="preserve"
6561 filename="pango/fonts.c"
6562 line="3106">a `PangoFontFace`.</doc>
6563 <type name="FontFace" c:type="PangoFontFace*"/>
6564 </instance-parameter>
6565 </parameters>
6566 </method>
6567 <method name="get_family"
6568 c:identifier="pango_font_face_get_family"
6569 version="1.46">
6570 <doc xml:space="preserve"
6571 filename="pango/fonts.c"
6572 line="3163">Gets the `PangoFontFamily` that @face belongs to.</doc>
6573 <source-position filename="pango/pango-font.h" line="592"/>
6574 <return-value transfer-ownership="none">
6575 <doc xml:space="preserve"
6576 filename="pango/fonts.c"
6577 line="3169">the `PangoFontFamily`</doc>
6578 <type name="FontFamily" c:type="PangoFontFamily*"/>
6579 </return-value>
6580 <parameters>
6581 <instance-parameter name="face" transfer-ownership="none">
6582 <doc xml:space="preserve"
6583 filename="pango/fonts.c"
6584 line="3165">a `PangoFontFace`</doc>
6585 <type name="FontFace" c:type="PangoFontFace*"/>
6586 </instance-parameter>
6587 </parameters>
6588 </method>
6589 <method name="is_synthesized"
6590 c:identifier="pango_font_face_is_synthesized"
6591 version="1.18">
6592 <doc xml:space="preserve"
6593 filename="pango/fonts.c"
6594 line="3079">Returns whether a `PangoFontFace` is synthesized.
6595
6596This will be the case if the underlying font rendering engine
6597creates this face from another face, by shearing, emboldening,
6598lightening or modifying it in some other way.</doc>
6599 <source-position filename="pango/pango-font.h" line="589"/>
6600 <return-value transfer-ownership="none">
6601 <doc xml:space="preserve"
6602 filename="pango/fonts.c"
6603 line="3089">whether @face is synthesized</doc>
6604 <type name="gboolean" c:type="gboolean"/>
6605 </return-value>
6606 <parameters>
6607 <instance-parameter name="face" transfer-ownership="none">
6608 <doc xml:space="preserve"
6609 filename="pango/fonts.c"
6610 line="3081">a `PangoFontFace`</doc>
6611 <type name="FontFace" c:type="PangoFontFace*"/>
6612 </instance-parameter>
6613 </parameters>
6614 </method>
6615 <method name="list_sizes"
6616 c:identifier="pango_font_face_list_sizes"
6617 version="1.4">
6618 <doc xml:space="preserve"
6619 filename="pango/fonts.c"
6620 line="3125">List the available sizes for a font.
6621
6622This is only applicable to bitmap fonts. For scalable fonts, stores
6623%NULL at the location pointed to by @sizes and 0 at the location pointed
6624to by @n_sizes. The sizes returned are in Pango units and are sorted
6625in ascending order.</doc>
6626 <source-position filename="pango/pango-font.h" line="585"/>
6627 <return-value transfer-ownership="none">
6628 <type name="none" c:type="void"/>
6629 </return-value>
6630 <parameters>
6631 <instance-parameter name="face" transfer-ownership="none">
6632 <doc xml:space="preserve"
6633 filename="pango/fonts.c"
6634 line="3127">a `PangoFontFace`.</doc>
6635 <type name="FontFace" c:type="PangoFontFace*"/>
6636 </instance-parameter>
6637 <parameter name="sizes"
6638 direction="out"
6639 caller-allocates="0"
6640 transfer-ownership="full"
6641 nullable="1"
6642 optional="1"
6643 allow-none="1">
6644 <doc xml:space="preserve"
6645 filename="pango/fonts.c"
6646 line="3128">
6647 location to store a pointer to an array of int. This array
6648 should be freed with g_free().</doc>
6649 <array length="1" zero-terminated="0" c:type="int**">
6650 <type name="gint" c:type="int*"/>
6651 </array>
6652 </parameter>
6653 <parameter name="n_sizes"
6654 direction="out"
6655 caller-allocates="0"
6656 transfer-ownership="full">
6657 <doc xml:space="preserve"
6658 filename="pango/fonts.c"
6659 line="3131">location to store the number of elements in @sizes</doc>
6660 <type name="gint" c:type="int*"/>
6661 </parameter>
6662 </parameters>
6663 </method>
6664 <field name="parent_instance">
6665 <type name="GObject.Object" c:type="GObject"/>
6666 </field>
6667 </class>
6668 <record name="FontFaceClass"
6669 c:type="PangoFontFaceClass"
6670 glib:is-gtype-struct-for="FontFace">
6671 <source-position filename="pango/pango-font.h" line="573"/>
6672 <field name="parent_class">
6673 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
6674 </field>
6675 <field name="get_face_name">
6676 <callback name="get_face_name">
6677 <source-position filename="pango/pango-font.h" line="560"/>
6678 <return-value transfer-ownership="none">
6679 <doc xml:space="preserve"
6680 filename="pango/fonts.c"
6681 line="3114">the face name for the face. This string is
6682 owned by the face object and must not be modified or freed.</doc>
6683 <type name="utf8" c:type="const char*"/>
6684 </return-value>
6685 <parameters>
6686 <parameter name="face" transfer-ownership="none">
6687 <doc xml:space="preserve"
6688 filename="pango/fonts.c"
6689 line="3106">a `PangoFontFace`.</doc>
6690 <type name="FontFace" c:type="PangoFontFace*"/>
6691 </parameter>
6692 </parameters>
6693 </callback>
6694 </field>
6695 <field name="describe">
6696 <callback name="describe">
6697 <source-position filename="pango/pango-font.h" line="561"/>
6698 <return-value transfer-ownership="full">
6699 <doc xml:space="preserve"
6700 filename="pango/fonts.c"
6701 line="3067">a newly-created `PangoFontDescription` structure
6702 holding the description of the face. Use [method@Pango.FontDescription.free]
6703 to free the result.</doc>
6704 <type name="FontDescription" c:type="PangoFontDescription*"/>
6705 </return-value>
6706 <parameters>
6707 <parameter name="face" transfer-ownership="none">
6708 <doc xml:space="preserve"
6709 filename="pango/fonts.c"
6710 line="3059">a `PangoFontFace`</doc>
6711 <type name="FontFace" c:type="PangoFontFace*"/>
6712 </parameter>
6713 </parameters>
6714 </callback>
6715 </field>
6716 <field name="list_sizes">
6717 <callback name="list_sizes">
6718 <source-position filename="pango/pango-font.h" line="562"/>
6719 <return-value transfer-ownership="none">
6720 <type name="none" c:type="void"/>
6721 </return-value>
6722 <parameters>
6723 <parameter name="face" transfer-ownership="none">
6724 <doc xml:space="preserve"
6725 filename="pango/fonts.c"
6726 line="3127">a `PangoFontFace`.</doc>
6727 <type name="FontFace" c:type="PangoFontFace*"/>
6728 </parameter>
6729 <parameter name="sizes"
6730 direction="out"
6731 caller-allocates="0"
6732 transfer-ownership="full"
6733 nullable="1"
6734 optional="1"
6735 allow-none="1">
6736 <doc xml:space="preserve"
6737 filename="pango/fonts.c"
6738 line="3128">
6739 location to store a pointer to an array of int. This array
6740 should be freed with g_free().</doc>
6741 <array length="2" zero-terminated="0" c:type="int**">
6742 <type name="gint" c:type="int*"/>
6743 </array>
6744 </parameter>
6745 <parameter name="n_sizes"
6746 direction="out"
6747 caller-allocates="0"
6748 transfer-ownership="full">
6749 <doc xml:space="preserve"
6750 filename="pango/fonts.c"
6751 line="3131">location to store the number of elements in @sizes</doc>
6752 <type name="gint" c:type="int*"/>
6753 </parameter>
6754 </parameters>
6755 </callback>
6756 </field>
6757 <field name="is_synthesized">
6758 <callback name="is_synthesized">
6759 <source-position filename="pango/pango-font.h" line="565"/>
6760 <return-value transfer-ownership="none">
6761 <doc xml:space="preserve"
6762 filename="pango/fonts.c"
6763 line="3089">whether @face is synthesized</doc>
6764 <type name="gboolean" c:type="gboolean"/>
6765 </return-value>
6766 <parameters>
6767 <parameter name="face" transfer-ownership="none">
6768 <doc xml:space="preserve"
6769 filename="pango/fonts.c"
6770 line="3081">a `PangoFontFace`</doc>
6771 <type name="FontFace" c:type="PangoFontFace*"/>
6772 </parameter>
6773 </parameters>
6774 </callback>
6775 </field>
6776 <field name="get_family">
6777 <callback name="get_family">
6778 <source-position filename="pango/pango-font.h" line="566"/>
6779 <return-value transfer-ownership="none">
6780 <doc xml:space="preserve"
6781 filename="pango/fonts.c"
6782 line="3169">the `PangoFontFamily`</doc>
6783 <type name="FontFamily" c:type="PangoFontFamily*"/>
6784 </return-value>
6785 <parameters>
6786 <parameter name="face" transfer-ownership="none">
6787 <doc xml:space="preserve"
6788 filename="pango/fonts.c"
6789 line="3165">a `PangoFontFace`</doc>
6790 <type name="FontFace" c:type="PangoFontFace*"/>
6791 </parameter>
6792 </parameters>
6793 </callback>
6794 </field>
6795 <field name="_pango_reserved3" introspectable="0">
6796 <callback name="_pango_reserved3">
6797 <source-position filename="pango/pango-font.h" line="571"/>
6798 <return-value transfer-ownership="none">
6799 <type name="none" c:type="void"/>
6800 </return-value>
6801 </callback>
6802 </field>
6803 <field name="_pango_reserved4" introspectable="0">
6804 <callback name="_pango_reserved4">
6805 <source-position filename="pango/pango-font.h" line="572"/>
6806 <return-value transfer-ownership="none">
6807 <type name="none" c:type="void"/>
6808 </return-value>
6809 </callback>
6810 </field>
6811 </record>
6812 <class name="FontFamily"
6813 c:symbol-prefix="font_family"
6814 c:type="PangoFontFamily"
6815 parent="GObject.Object"
6816 abstract="1"
6817 glib:type-name="PangoFontFamily"
6818 glib:get-type="pango_font_family_get_type"
6819 glib:type-struct="FontFamilyClass">
6820 <doc xml:space="preserve"
6821 filename="pango/pango-font.h"
6822 line="470">A `PangoFontFamily` is used to represent a family of related
6823font faces.
6824
6825The font faces in a family share a common design, but differ in
6826slant, weight, width or other aspects.</doc>
6827 <source-position filename="pango/pango-font.h" line="505"/>
6828 <implements name="Gio.ListModel"/>
6829 <virtual-method name="get_face" invoker="get_face" version="1.46">
6830 <doc xml:space="preserve"
6831 filename="pango/fonts.c"
6832 line="2965">Gets the `PangoFontFace` of @family with the given name.</doc>
6833 <source-position filename="pango/pango-font.h" line="497"/>
6834 <return-value transfer-ownership="none" nullable="1">
6835 <doc xml:space="preserve"
6836 filename="pango/fonts.c"
6837 line="2974">the `PangoFontFace`,
6838 or %NULL if no face with the given name exists.</doc>
6839 <type name="FontFace" c:type="PangoFontFace*"/>
6840 </return-value>
6841 <parameters>
6842 <instance-parameter name="family" transfer-ownership="none">
6843 <doc xml:space="preserve"
6844 filename="pango/fonts.c"
6845 line="2967">a `PangoFontFamily`</doc>
6846 <type name="FontFamily" c:type="PangoFontFamily*"/>
6847 </instance-parameter>
6848 <parameter name="name"
6849 transfer-ownership="none"
6850 nullable="1"
6851 allow-none="1">
6852 <doc xml:space="preserve"
6853 filename="pango/fonts.c"
6854 line="2968">the name of a face. If the name is %NULL,
6855 the family's default face (fontconfig calls it "Regular")
6856 will be returned.</doc>
6857 <type name="utf8" c:type="const char*"/>
6858 </parameter>
6859 </parameters>
6860 </virtual-method>
6861 <virtual-method name="get_name" invoker="get_name">
6862 <doc xml:space="preserve"
6863 filename="pango/fonts.c"
6864 line="2881">Gets the name of the family.
6865
6866The name is unique among all fonts for the font backend and can
6867be used in a `PangoFontDescription` to specify that a face from
6868this family is desired.</doc>
6869 <source-position filename="pango/pango-font.h" line="493"/>
6870 <return-value transfer-ownership="none">
6871 <doc xml:space="preserve"
6872 filename="pango/fonts.c"
6873 line="2891">the name of the family. This string is owned
6874 by the family object and must not be modified or freed.</doc>
6875 <type name="utf8" c:type="const char*"/>
6876 </return-value>
6877 <parameters>
6878 <instance-parameter name="family" transfer-ownership="none">
6879 <doc xml:space="preserve"
6880 filename="pango/fonts.c"
6881 line="2883">a `PangoFontFamily`</doc>
6882 <type name="FontFamily" c:type="PangoFontFamily*"/>
6883 </instance-parameter>
6884 </parameters>
6885 </virtual-method>
6886 <virtual-method name="is_monospace" invoker="is_monospace" version="1.4">
6887 <doc xml:space="preserve"
6888 filename="pango/fonts.c"
6889 line="2988">A monospace font is a font designed for text display where the the
6890characters form a regular grid.
6891
6892For Western languages this would
6893mean that the advance width of all characters are the same, but
6894this categorization also includes Asian fonts which include
6895double-width characters: characters that occupy two grid cells.
6896g_unichar_iswide() returns a result that indicates whether a
6897character is typically double-width in a monospace font.
6898
6899The best way to find out the grid-cell size is to call
6900[method@Pango.FontMetrics.get_approximate_digit_width], since the
6901results of [method@Pango.FontMetrics.get_approximate_char_width] may
6902be affected by double-width characters.</doc>
6903 <source-position filename="pango/pango-font.h" line="494"/>
6904 <return-value transfer-ownership="none">
6905 <doc xml:space="preserve"
6906 filename="pango/fonts.c"
6907 line="3007">%TRUE if the family is monospace.</doc>
6908 <type name="gboolean" c:type="gboolean"/>
6909 </return-value>
6910 <parameters>
6911 <instance-parameter name="family" transfer-ownership="none">
6912 <doc xml:space="preserve"
6913 filename="pango/fonts.c"
6914 line="2990">a `PangoFontFamily`</doc>
6915 <type name="FontFamily" c:type="PangoFontFamily*"/>
6916 </instance-parameter>
6917 </parameters>
6918 </virtual-method>
6919 <virtual-method name="is_variable" invoker="is_variable" version="1.44">
6920 <doc xml:space="preserve"
6921 filename="pango/fonts.c"
6922 line="3019">A variable font is a font which has axes that can be modified to
6923produce different faces.
6924
6925Such axes are also known as _variations_; see
6926[method@Pango.FontDescription.set_variations] for more information.</doc>
6927 <source-position filename="pango/pango-font.h" line="495"/>
6928 <return-value transfer-ownership="none">
6929 <doc xml:space="preserve"
6930 filename="pango/fonts.c"
6931 line="3029">%TRUE if the family is variable</doc>
6932 <type name="gboolean" c:type="gboolean"/>
6933 </return-value>
6934 <parameters>
6935 <instance-parameter name="family" transfer-ownership="none">
6936 <doc xml:space="preserve"
6937 filename="pango/fonts.c"
6938 line="3021">a `PangoFontFamily`</doc>
6939 <type name="FontFamily" c:type="PangoFontFamily*"/>
6940 </instance-parameter>
6941 </parameters>
6942 </virtual-method>
6943 <virtual-method name="list_faces" invoker="list_faces">
6944 <doc xml:space="preserve"
6945 filename="pango/fonts.c"
6946 line="2902">Lists the different font faces that make up @family.
6947
6948The faces in a family share a common design, but differ in slant, weight,
6949width and other aspects.
6950
6951Note that the returned faces are not in any particular order, and
6952multiple faces may have the same name or characteristics.
6953
6954`PangoFontFamily` also implemented the [iface@Gio.ListModel] interface
6955for enumerating faces.</doc>
6956 <source-position filename="pango/pango-font.h" line="490"/>
6957 <return-value transfer-ownership="none">
6958 <type name="none" c:type="void"/>
6959 </return-value>
6960 <parameters>
6961 <instance-parameter name="family" transfer-ownership="none">
6962 <doc xml:space="preserve"
6963 filename="pango/fonts.c"
6964 line="2904">a `PangoFontFamily`</doc>
6965 <type name="FontFamily" c:type="PangoFontFamily*"/>
6966 </instance-parameter>
6967 <parameter name="faces"
6968 direction="out"
6969 caller-allocates="0"
6970 transfer-ownership="container"
6971 optional="1"
6972 allow-none="1">
6973 <doc xml:space="preserve"
6974 filename="pango/fonts.c"
6975 line="2905">
6976 location to store an array of pointers to `PangoFontFace` objects,
6977 or %NULL. This array should be freed with g_free() when it is no
6978 longer needed.</doc>
6979 <array length="1" zero-terminated="0" c:type="PangoFontFace***">
6980 <type name="FontFace" c:type="PangoFontFace**"/>
6981 </array>
6982 </parameter>
6983 <parameter name="n_faces"
6984 direction="out"
6985 caller-allocates="0"
6986 transfer-ownership="full">
6987 <doc xml:space="preserve"
6988 filename="pango/fonts.c"
6989 line="2909">location to store number of elements in @faces.</doc>
6990 <type name="gint" c:type="int*"/>
6991 </parameter>
6992 </parameters>
6993 </virtual-method>
6994 <method name="get_face"
6995 c:identifier="pango_font_family_get_face"
6996 version="1.46">
6997 <doc xml:space="preserve"
6998 filename="pango/fonts.c"
6999 line="2965">Gets the `PangoFontFace` of @family with the given name.</doc>
7000 <source-position filename="pango/pango-font.h" line="524"/>
7001 <return-value transfer-ownership="none" nullable="1">
7002 <doc xml:space="preserve"
7003 filename="pango/fonts.c"
7004 line="2974">the `PangoFontFace`,
7005 or %NULL if no face with the given name exists.</doc>
7006 <type name="FontFace" c:type="PangoFontFace*"/>
7007 </return-value>
7008 <parameters>
7009 <instance-parameter name="family" transfer-ownership="none">
7010 <doc xml:space="preserve"
7011 filename="pango/fonts.c"
7012 line="2967">a `PangoFontFamily`</doc>
7013 <type name="FontFamily" c:type="PangoFontFamily*"/>
7014 </instance-parameter>
7015 <parameter name="name"
7016 transfer-ownership="none"
7017 nullable="1"
7018 allow-none="1">
7019 <doc xml:space="preserve"
7020 filename="pango/fonts.c"
7021 line="2968">the name of a face. If the name is %NULL,
7022 the family's default face (fontconfig calls it "Regular")
7023 will be returned.</doc>
7024 <type name="utf8" c:type="const char*"/>
7025 </parameter>
7026 </parameters>
7027 </method>
7028 <method name="get_name"
7029 c:identifier="pango_font_family_get_name"
7030 glib:get-property="name">
7031 <doc xml:space="preserve"
7032 filename="pango/fonts.c"
7033 line="2881">Gets the name of the family.
7034
7035The name is unique among all fonts for the font backend and can
7036be used in a `PangoFontDescription` to specify that a face from
7037this family is desired.</doc>
7038 <source-position filename="pango/pango-font.h" line="517"/>
7039 <return-value transfer-ownership="none">
7040 <doc xml:space="preserve"
7041 filename="pango/fonts.c"
7042 line="2891">the name of the family. This string is owned
7043 by the family object and must not be modified or freed.</doc>
7044 <type name="utf8" c:type="const char*"/>
7045 </return-value>
7046 <parameters>
7047 <instance-parameter name="family" transfer-ownership="none">
7048 <doc xml:space="preserve"
7049 filename="pango/fonts.c"
7050 line="2883">a `PangoFontFamily`</doc>
7051 <type name="FontFamily" c:type="PangoFontFamily*"/>
7052 </instance-parameter>
7053 </parameters>
7054 </method>
7055 <method name="is_monospace"
7056 c:identifier="pango_font_family_is_monospace"
7057 glib:get-property="is-monospace"
7058 version="1.4">
7059 <doc xml:space="preserve"
7060 filename="pango/fonts.c"
7061 line="2988">A monospace font is a font designed for text display where the the
7062characters form a regular grid.
7063
7064For Western languages this would
7065mean that the advance width of all characters are the same, but
7066this categorization also includes Asian fonts which include
7067double-width characters: characters that occupy two grid cells.
7068g_unichar_iswide() returns a result that indicates whether a
7069character is typically double-width in a monospace font.
7070
7071The best way to find out the grid-cell size is to call
7072[method@Pango.FontMetrics.get_approximate_digit_width], since the
7073results of [method@Pango.FontMetrics.get_approximate_char_width] may
7074be affected by double-width characters.</doc>
7075 <source-position filename="pango/pango-font.h" line="519"/>
7076 <return-value transfer-ownership="none">
7077 <doc xml:space="preserve"
7078 filename="pango/fonts.c"
7079 line="3007">%TRUE if the family is monospace.</doc>
7080 <type name="gboolean" c:type="gboolean"/>
7081 </return-value>
7082 <parameters>
7083 <instance-parameter name="family" transfer-ownership="none">
7084 <doc xml:space="preserve"
7085 filename="pango/fonts.c"
7086 line="2990">a `PangoFontFamily`</doc>
7087 <type name="FontFamily" c:type="PangoFontFamily*"/>
7088 </instance-parameter>
7089 </parameters>
7090 </method>
7091 <method name="is_variable"
7092 c:identifier="pango_font_family_is_variable"
7093 glib:get-property="is-variable"
7094 version="1.44">
7095 <doc xml:space="preserve"
7096 filename="pango/fonts.c"
7097 line="3019">A variable font is a font which has axes that can be modified to
7098produce different faces.
7099
7100Such axes are also known as _variations_; see
7101[method@Pango.FontDescription.set_variations] for more information.</doc>
7102 <source-position filename="pango/pango-font.h" line="521"/>
7103 <return-value transfer-ownership="none">
7104 <doc xml:space="preserve"
7105 filename="pango/fonts.c"
7106 line="3029">%TRUE if the family is variable</doc>
7107 <type name="gboolean" c:type="gboolean"/>
7108 </return-value>
7109 <parameters>
7110 <instance-parameter name="family" transfer-ownership="none">
7111 <doc xml:space="preserve"
7112 filename="pango/fonts.c"
7113 line="3021">a `PangoFontFamily`</doc>
7114 <type name="FontFamily" c:type="PangoFontFamily*"/>
7115 </instance-parameter>
7116 </parameters>
7117 </method>
7118 <method name="list_faces" c:identifier="pango_font_family_list_faces">
7119 <doc xml:space="preserve"
7120 filename="pango/fonts.c"
7121 line="2902">Lists the different font faces that make up @family.
7122
7123The faces in a family share a common design, but differ in slant, weight,
7124width and other aspects.
7125
7126Note that the returned faces are not in any particular order, and
7127multiple faces may have the same name or characteristics.
7128
7129`PangoFontFamily` also implemented the [iface@Gio.ListModel] interface
7130for enumerating faces.</doc>
7131 <source-position filename="pango/pango-font.h" line="513"/>
7132 <return-value transfer-ownership="none">
7133 <type name="none" c:type="void"/>
7134 </return-value>
7135 <parameters>
7136 <instance-parameter name="family" transfer-ownership="none">
7137 <doc xml:space="preserve"
7138 filename="pango/fonts.c"
7139 line="2904">a `PangoFontFamily`</doc>
7140 <type name="FontFamily" c:type="PangoFontFamily*"/>
7141 </instance-parameter>
7142 <parameter name="faces"
7143 direction="out"
7144 caller-allocates="0"
7145 transfer-ownership="container"
7146 optional="1"
7147 allow-none="1">
7148 <doc xml:space="preserve"
7149 filename="pango/fonts.c"
7150 line="2905">
7151 location to store an array of pointers to `PangoFontFace` objects,
7152 or %NULL. This array should be freed with g_free() when it is no
7153 longer needed.</doc>
7154 <array length="1" zero-terminated="0" c:type="PangoFontFace***">
7155 <type name="FontFace" c:type="PangoFontFace**"/>
7156 </array>
7157 </parameter>
7158 <parameter name="n_faces"
7159 direction="out"
7160 caller-allocates="0"
7161 transfer-ownership="full">
7162 <doc xml:space="preserve"
7163 filename="pango/fonts.c"
7164 line="2909">location to store number of elements in @faces.</doc>
7165 <type name="gint" c:type="int*"/>
7166 </parameter>
7167 </parameters>
7168 </method>
7169 <property name="is-monospace"
7170 version="1.52"
7171 transfer-ownership="none"
7172 getter="is_monospace"
7173 default-value="FALSE">
7174 <attribute name="org.gtk.Property.get"
7175 value="pango_font_family_is_monospace"/>
7176 <doc xml:space="preserve"
7177 filename="pango/fonts.c"
7178 line="2827">Is this a monospace font</doc>
7179 <type name="gboolean" c:type="gboolean"/>
7180 </property>
7181 <property name="is-variable"
7182 version="1.52"
7183 transfer-ownership="none"
7184 getter="is_variable"
7185 default-value="FALSE">
7186 <attribute name="org.gtk.Property.get"
7187 value="pango_font_family_is_variable"/>
7188 <doc xml:space="preserve"
7189 filename="pango/fonts.c"
7190 line="2838">Is this a variable font</doc>
7191 <type name="gboolean" c:type="gboolean"/>
7192 </property>
7193 <property name="item-type" version="1.52" transfer-ownership="none">
7194 <doc xml:space="preserve"
7195 filename="pango/fonts.c"
7196 line="2849">The type of items contained in this list.</doc>
7197 <type name="GType" c:type="GType"/>
7198 </property>
7199 <property name="n-items"
7200 version="1.52"
7201 transfer-ownership="none"
7202 default-value="0">
7203 <doc xml:space="preserve"
7204 filename="pango/fonts.c"
7205 line="2860">The number of items contained in this list.</doc>
7206 <type name="guint" c:type="guint"/>
7207 </property>
7208 <property name="name"
7209 version="1.52"
7210 transfer-ownership="none"
7211 getter="get_name"
7212 default-value="NULL">
7213 <attribute name="org.gtk.Property.get"
7214 value="pango_font_family_get_name"/>
7215 <doc xml:space="preserve"
7216 filename="pango/fonts.c"
7217 line="2816">The name of the family</doc>
7218 <type name="utf8" c:type="gchar*"/>
7219 </property>
7220 <field name="parent_instance">
7221 <type name="GObject.Object" c:type="GObject"/>
7222 </field>
7223 </class>
7224 <record name="FontFamilyClass"
7225 c:type="PangoFontFamilyClass"
7226 glib:is-gtype-struct-for="FontFamily">
7227 <source-position filename="pango/pango-font.h" line="505"/>
7228 <field name="parent_class">
7229 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
7230 </field>
7231 <field name="list_faces">
7232 <callback name="list_faces">
7233 <source-position filename="pango/pango-font.h" line="490"/>
7234 <return-value transfer-ownership="none">
7235 <type name="none" c:type="void"/>
7236 </return-value>
7237 <parameters>
7238 <parameter name="family" transfer-ownership="none">
7239 <doc xml:space="preserve"
7240 filename="pango/fonts.c"
7241 line="2904">a `PangoFontFamily`</doc>
7242 <type name="FontFamily" c:type="PangoFontFamily*"/>
7243 </parameter>
7244 <parameter name="faces"
7245 direction="out"
7246 caller-allocates="0"
7247 transfer-ownership="container"
7248 optional="1"
7249 allow-none="1">
7250 <doc xml:space="preserve"
7251 filename="pango/fonts.c"
7252 line="2905">
7253 location to store an array of pointers to `PangoFontFace` objects,
7254 or %NULL. This array should be freed with g_free() when it is no
7255 longer needed.</doc>
7256 <array length="2" zero-terminated="0" c:type="PangoFontFace***">
7257 <type name="FontFace" c:type="PangoFontFace**"/>
7258 </array>
7259 </parameter>
7260 <parameter name="n_faces"
7261 direction="out"
7262 caller-allocates="0"
7263 transfer-ownership="full">
7264 <doc xml:space="preserve"
7265 filename="pango/fonts.c"
7266 line="2909">location to store number of elements in @faces.</doc>
7267 <type name="gint" c:type="int*"/>
7268 </parameter>
7269 </parameters>
7270 </callback>
7271 </field>
7272 <field name="get_name">
7273 <callback name="get_name">
7274 <source-position filename="pango/pango-font.h" line="493"/>
7275 <return-value transfer-ownership="none">
7276 <doc xml:space="preserve"
7277 filename="pango/fonts.c"
7278 line="2891">the name of the family. This string is owned
7279 by the family object and must not be modified or freed.</doc>
7280 <type name="utf8" c:type="const char*"/>
7281 </return-value>
7282 <parameters>
7283 <parameter name="family" transfer-ownership="none">
7284 <doc xml:space="preserve"
7285 filename="pango/fonts.c"
7286 line="2883">a `PangoFontFamily`</doc>
7287 <type name="FontFamily" c:type="PangoFontFamily*"/>
7288 </parameter>
7289 </parameters>
7290 </callback>
7291 </field>
7292 <field name="is_monospace">
7293 <callback name="is_monospace">
7294 <source-position filename="pango/pango-font.h" line="494"/>
7295 <return-value transfer-ownership="none">
7296 <doc xml:space="preserve"
7297 filename="pango/fonts.c"
7298 line="3007">%TRUE if the family is monospace.</doc>
7299 <type name="gboolean" c:type="gboolean"/>
7300 </return-value>
7301 <parameters>
7302 <parameter name="family" transfer-ownership="none">
7303 <doc xml:space="preserve"
7304 filename="pango/fonts.c"
7305 line="2990">a `PangoFontFamily`</doc>
7306 <type name="FontFamily" c:type="PangoFontFamily*"/>
7307 </parameter>
7308 </parameters>
7309 </callback>
7310 </field>
7311 <field name="is_variable">
7312 <callback name="is_variable">
7313 <source-position filename="pango/pango-font.h" line="495"/>
7314 <return-value transfer-ownership="none">
7315 <doc xml:space="preserve"
7316 filename="pango/fonts.c"
7317 line="3029">%TRUE if the family is variable</doc>
7318 <type name="gboolean" c:type="gboolean"/>
7319 </return-value>
7320 <parameters>
7321 <parameter name="family" transfer-ownership="none">
7322 <doc xml:space="preserve"
7323 filename="pango/fonts.c"
7324 line="3021">a `PangoFontFamily`</doc>
7325 <type name="FontFamily" c:type="PangoFontFamily*"/>
7326 </parameter>
7327 </parameters>
7328 </callback>
7329 </field>
7330 <field name="get_face">
7331 <callback name="get_face">
7332 <source-position filename="pango/pango-font.h" line="497"/>
7333 <return-value transfer-ownership="none" nullable="1">
7334 <doc xml:space="preserve"
7335 filename="pango/fonts.c"
7336 line="2974">the `PangoFontFace`,
7337 or %NULL if no face with the given name exists.</doc>
7338 <type name="FontFace" c:type="PangoFontFace*"/>
7339 </return-value>
7340 <parameters>
7341 <parameter name="family" transfer-ownership="none">
7342 <doc xml:space="preserve"
7343 filename="pango/fonts.c"
7344 line="2967">a `PangoFontFamily`</doc>
7345 <type name="FontFamily" c:type="PangoFontFamily*"/>
7346 </parameter>
7347 <parameter name="name"
7348 transfer-ownership="none"
7349 nullable="1"
7350 allow-none="1">
7351 <doc xml:space="preserve"
7352 filename="pango/fonts.c"
7353 line="2968">the name of a face. If the name is %NULL,
7354 the family's default face (fontconfig calls it "Regular")
7355 will be returned.</doc>
7356 <type name="utf8" c:type="const char*"/>
7357 </parameter>
7358 </parameters>
7359 </callback>
7360 </field>
7361 <field name="_pango_reserved2" introspectable="0">
7362 <callback name="_pango_reserved2">
7363 <source-position filename="pango/pango-font.h" line="504"/>
7364 <return-value transfer-ownership="none">
7365 <type name="none" c:type="void"/>
7366 </return-value>
7367 </callback>
7368 </field>
7369 </record>
7370 <class name="FontMap"
7371 c:symbol-prefix="font_map"
7372 c:type="PangoFontMap"
7373 parent="GObject.Object"
7374 abstract="1"
7375 glib:type-name="PangoFontMap"
7376 glib:get-type="pango_font_map_get_type"
7377 glib:type-struct="FontMapClass">
7378 <doc xml:space="preserve"
7379 filename="pango/pango-fontmap.h"
7380 line="40">A `PangoFontMap` represents the set of fonts available for a
7381particular rendering system.
7382
7383This is a virtual object with implementations being specific to
7384particular rendering systems.</doc>
7385 <source-position filename="pango/pango-fontmap.h" line="99"/>
7386 <implements name="Gio.ListModel"/>
7387 <virtual-method name="changed" invoker="changed" version="1.34">
7388 <doc xml:space="preserve"
7389 filename="pango/pango-fontmap.c"
7390 line="441">Forces a change in the fontmap, which will cause any `PangoContext`
7391using this fontmap to change.
7392
7393This function is only useful when implementing a new backend
7394for Pango, something applications won't do. Backends should
7395call this function if they have attached extra data to the
7396fontmap and such data is changed.</doc>
7397 <source-position filename="pango/pango-fontmap.h" line="92"/>
7398 <return-value transfer-ownership="none">
7399 <type name="none" c:type="void"/>
7400 </return-value>
7401 <parameters>
7402 <instance-parameter name="fontmap" transfer-ownership="none">
7403 <doc xml:space="preserve"
7404 filename="pango/pango-fontmap.c"
7405 line="443">a `PangoFontMap`</doc>
7406 <type name="FontMap" c:type="PangoFontMap*"/>
7407 </instance-parameter>
7408 </parameters>
7409 </virtual-method>
7410 <virtual-method name="get_face" introspectable="0">
7411 <source-position filename="pango/pango-fontmap.h" line="97"/>
7412 <return-value>
7413 <type name="FontFace" c:type="PangoFontFace*"/>
7414 </return-value>
7415 <parameters>
7416 <instance-parameter name="fontmap" transfer-ownership="none">
7417 <type name="FontMap" c:type="PangoFontMap*"/>
7418 </instance-parameter>
7419 <parameter name="font" transfer-ownership="none">
7420 <type name="Font" c:type="PangoFont*"/>
7421 </parameter>
7422 </parameters>
7423 </virtual-method>
7424 <virtual-method name="get_family" invoker="get_family" version="1.46">
7425 <doc xml:space="preserve"
7426 filename="pango/pango-fontmap.c"
7427 line="491">Gets a font family by name.</doc>
7428 <source-position filename="pango/pango-fontmap.h" line="94"/>
7429 <return-value transfer-ownership="none">
7430 <doc xml:space="preserve"
7431 filename="pango/pango-fontmap.c"
7432 line="498">the `PangoFontFamily`</doc>
7433 <type name="FontFamily" c:type="PangoFontFamily*"/>
7434 </return-value>
7435 <parameters>
7436 <instance-parameter name="fontmap" transfer-ownership="none">
7437 <doc xml:space="preserve"
7438 filename="pango/pango-fontmap.c"
7439 line="493">a `PangoFontMap`</doc>
7440 <type name="FontMap" c:type="PangoFontMap*"/>
7441 </instance-parameter>
7442 <parameter name="name" transfer-ownership="none">
7443 <doc xml:space="preserve"
7444 filename="pango/pango-fontmap.c"
7445 line="494">a family name</doc>
7446 <type name="utf8" c:type="const char*"/>
7447 </parameter>
7448 </parameters>
7449 </virtual-method>
7450 <virtual-method name="get_serial" invoker="get_serial" version="1.32.4">
7451 <doc xml:space="preserve"
7452 filename="pango/pango-fontmap.c"
7453 line="395">Returns the current serial number of @fontmap.
7454
7455The serial number is initialized to an small number larger than zero
7456when a new fontmap is created and is increased whenever the fontmap
7457is changed. It may wrap, but will never have the value 0. Since it can
7458wrap, never compare it with "less than", always use "not equals".
7459
7460The fontmap can only be changed using backend-specific API, like changing
7461fontmap resolution.
7462
7463This can be used to automatically detect changes to a `PangoFontMap`,
7464like in `PangoContext`.</doc>
7465 <source-position filename="pango/pango-fontmap.h" line="91"/>
7466 <return-value transfer-ownership="none">
7467 <doc xml:space="preserve"
7468 filename="pango/pango-fontmap.c"
7469 line="412">The current serial number of @fontmap.</doc>
7470 <type name="guint" c:type="guint"/>
7471 </return-value>
7472 <parameters>
7473 <instance-parameter name="fontmap" transfer-ownership="none">
7474 <doc xml:space="preserve"
7475 filename="pango/pango-fontmap.c"
7476 line="397">a `PangoFontMap`</doc>
7477 <type name="FontMap" c:type="PangoFontMap*"/>
7478 </instance-parameter>
7479 </parameters>
7480 </virtual-method>
7481 <virtual-method name="list_families" invoker="list_families">
7482 <doc xml:space="preserve"
7483 filename="pango/pango-fontmap.c"
7484 line="197">List all families for a fontmap.
7485
7486Note that the returned families are not in any particular order.
7487
7488`PangoFontMap` also implemented the [iface@Gio.ListModel] interface
7489for enumerating families.</doc>
7490 <source-position filename="pango/pango-fontmap.h" line="81"/>
7491 <return-value transfer-ownership="none">
7492 <type name="none" c:type="void"/>
7493 </return-value>
7494 <parameters>
7495 <instance-parameter name="fontmap" transfer-ownership="none">
7496 <doc xml:space="preserve"
7497 filename="pango/pango-fontmap.c"
7498 line="199">a `PangoFontMap`</doc>
7499 <type name="FontMap" c:type="PangoFontMap*"/>
7500 </instance-parameter>
7501 <parameter name="families"
7502 direction="out"
7503 caller-allocates="0"
7504 transfer-ownership="container">
7505 <doc xml:space="preserve"
7506 filename="pango/pango-fontmap.c"
7507 line="200">location to
7508 store a pointer to an array of `PangoFontFamily` *.
7509 This array should be freed with g_free().</doc>
7510 <array length="1" zero-terminated="0" c:type="PangoFontFamily***">
7511 <type name="FontFamily" c:type="PangoFontFamily**"/>
7512 </array>
7513 </parameter>
7514 <parameter name="n_families"
7515 direction="out"
7516 caller-allocates="0"
7517 transfer-ownership="full">
7518 <doc xml:space="preserve"
7519 filename="pango/pango-fontmap.c"
7520 line="203">location to store the number of elements in @families</doc>
7521 <type name="gint" c:type="int*"/>
7522 </parameter>
7523 </parameters>
7524 </virtual-method>
7525 <virtual-method name="load_font" invoker="load_font">
7526 <doc xml:space="preserve"
7527 filename="pango/pango-fontmap.c"
7528 line="176">Load the font in the fontmap that is the closest match for @desc.</doc>
7529 <source-position filename="pango/pango-fontmap.h" line="78"/>
7530 <return-value transfer-ownership="full" nullable="1">
7531 <doc xml:space="preserve"
7532 filename="pango/pango-fontmap.c"
7533 line="184">the newly allocated `PangoFont`
7534 loaded, or %NULL if no font matched.</doc>
7535 <type name="Font" c:type="PangoFont*"/>
7536 </return-value>
7537 <parameters>
7538 <instance-parameter name="fontmap" transfer-ownership="none">
7539 <doc xml:space="preserve"
7540 filename="pango/pango-fontmap.c"
7541 line="178">a `PangoFontMap`</doc>
7542 <type name="FontMap" c:type="PangoFontMap*"/>
7543 </instance-parameter>
7544 <parameter name="context" transfer-ownership="none">
7545 <doc xml:space="preserve"
7546 filename="pango/pango-fontmap.c"
7547 line="179">the `PangoContext` the font will be used with</doc>
7548 <type name="Context" c:type="PangoContext*"/>
7549 </parameter>
7550 <parameter name="desc" transfer-ownership="none">
7551 <doc xml:space="preserve"
7552 filename="pango/pango-fontmap.c"
7553 line="180">a `PangoFontDescription` describing the font to load</doc>
7554 <type name="FontDescription" c:type="const PangoFontDescription*"/>
7555 </parameter>
7556 </parameters>
7557 </virtual-method>
7558 <virtual-method name="load_fontset" invoker="load_fontset">
7559 <doc xml:space="preserve"
7560 filename="pango/pango-fontmap.c"
7561 line="226">Load a set of fonts in the fontmap that can be used to render
7562a font matching @desc.</doc>
7563 <source-position filename="pango/pango-fontmap.h" line="84"/>
7564 <return-value transfer-ownership="full" nullable="1">
7565 <doc xml:space="preserve"
7566 filename="pango/pango-fontmap.c"
7567 line="236">the newly allocated
7568 `PangoFontset` loaded, or %NULL if no font matched.</doc>
7569 <type name="Fontset" c:type="PangoFontset*"/>
7570 </return-value>
7571 <parameters>
7572 <instance-parameter name="fontmap" transfer-ownership="none">
7573 <doc xml:space="preserve"
7574 filename="pango/pango-fontmap.c"
7575 line="228">a `PangoFontMap`</doc>
7576 <type name="FontMap" c:type="PangoFontMap*"/>
7577 </instance-parameter>
7578 <parameter name="context" transfer-ownership="none">
7579 <doc xml:space="preserve"
7580 filename="pango/pango-fontmap.c"
7581 line="229">the `PangoContext` the font will be used with</doc>
7582 <type name="Context" c:type="PangoContext*"/>
7583 </parameter>
7584 <parameter name="desc" transfer-ownership="none">
7585 <doc xml:space="preserve"
7586 filename="pango/pango-fontmap.c"
7587 line="230">a `PangoFontDescription` describing the font to load</doc>
7588 <type name="FontDescription" c:type="const PangoFontDescription*"/>
7589 </parameter>
7590 <parameter name="language" transfer-ownership="none">
7591 <doc xml:space="preserve"
7592 filename="pango/pango-fontmap.c"
7593 line="231">a `PangoLanguage` the fonts will be used for</doc>
7594 <type name="Language" c:type="PangoLanguage*"/>
7595 </parameter>
7596 </parameters>
7597 </virtual-method>
7598 <method name="add_font_file"
7599 c:identifier="pango_font_map_add_font_file"
7600 version="1.56"
7601 throws="1">
7602 <doc xml:space="preserve"
7603 filename="pango/pango-fontmap.c"
7604 line="599">Loads a font file with one or more fonts into the `PangoFontMap`.
7605
7606The added fonts will take precedence over preexisting
7607fonts with the same name.</doc>
7608 <source-position filename="pango/pango-fontmap.h" line="135"/>
7609 <return-value transfer-ownership="none">
7610 <doc xml:space="preserve"
7611 filename="pango/pango-fontmap.c"
7612 line="610">True if the font file is successfully loaded
7613 into the fontmap, false if an error occurred.</doc>
7614 <type name="gboolean" c:type="gboolean"/>
7615 </return-value>
7616 <parameters>
7617 <instance-parameter name="fontmap" transfer-ownership="none">
7618 <doc xml:space="preserve"
7619 filename="pango/pango-fontmap.c"
7620 line="601">a `PangoFontMap`</doc>
7621 <type name="FontMap" c:type="PangoFontMap*"/>
7622 </instance-parameter>
7623 <parameter name="filename" transfer-ownership="none">
7624 <doc xml:space="preserve"
7625 filename="pango/pango-fontmap.c"
7626 line="602">Path to the font file</doc>
7627 <type name="filename" c:type="const char*"/>
7628 </parameter>
7629 </parameters>
7630 </method>
7631 <method name="changed"
7632 c:identifier="pango_font_map_changed"
7633 version="1.34">
7634 <doc xml:space="preserve"
7635 filename="pango/pango-fontmap.c"
7636 line="441">Forces a change in the fontmap, which will cause any `PangoContext`
7637using this fontmap to change.
7638
7639This function is only useful when implementing a new backend
7640for Pango, something applications won't do. Backends should
7641call this function if they have attached extra data to the
7642fontmap and such data is changed.</doc>
7643 <source-position filename="pango/pango-fontmap.h" line="121"/>
7644 <return-value transfer-ownership="none">
7645 <type name="none" c:type="void"/>
7646 </return-value>
7647 <parameters>
7648 <instance-parameter name="fontmap" transfer-ownership="none">
7649 <doc xml:space="preserve"
7650 filename="pango/pango-fontmap.c"
7651 line="443">a `PangoFontMap`</doc>
7652 <type name="FontMap" c:type="PangoFontMap*"/>
7653 </instance-parameter>
7654 </parameters>
7655 </method>
7656 <method name="create_context"
7657 c:identifier="pango_font_map_create_context"
7658 version="1.22">
7659 <doc xml:space="preserve"
7660 filename="pango/pango-fontmap.c"
7661 line="144">Creates a `PangoContext` connected to @fontmap.
7662
7663This is equivalent to [ctor@Pango.Context.new] followed by
7664[method@Pango.Context.set_font_map].
7665
7666If you are using Pango as part of a higher-level system,
7667that system may have it's own way of create a `PangoContext`.
7668For instance, the GTK toolkit has, among others,
7669gtk_widget_get_pango_context(). Use those instead.</doc>
7670 <source-position filename="pango/pango-fontmap.h" line="104"/>
7671 <return-value transfer-ownership="full">
7672 <doc xml:space="preserve"
7673 filename="pango/pango-fontmap.c"
7674 line="158">the newly allocated `PangoContext`,
7675 which should be freed with g_object_unref().</doc>
7676 <type name="Context" c:type="PangoContext*"/>
7677 </return-value>
7678 <parameters>
7679 <instance-parameter name="fontmap" transfer-ownership="none">
7680 <doc xml:space="preserve"
7681 filename="pango/pango-fontmap.c"
7682 line="146">a `PangoFontMap`</doc>
7683 <type name="FontMap" c:type="PangoFontMap*"/>
7684 </instance-parameter>
7685 </parameters>
7686 </method>
7687 <method name="get_family"
7688 c:identifier="pango_font_map_get_family"
7689 version="1.46">
7690 <doc xml:space="preserve"
7691 filename="pango/pango-fontmap.c"
7692 line="491">Gets a font family by name.</doc>
7693 <source-position filename="pango/pango-fontmap.h" line="124"/>
7694 <return-value transfer-ownership="none">
7695 <doc xml:space="preserve"
7696 filename="pango/pango-fontmap.c"
7697 line="498">the `PangoFontFamily`</doc>
7698 <type name="FontFamily" c:type="PangoFontFamily*"/>
7699 </return-value>
7700 <parameters>
7701 <instance-parameter name="fontmap" transfer-ownership="none">
7702 <doc xml:space="preserve"
7703 filename="pango/pango-fontmap.c"
7704 line="493">a `PangoFontMap`</doc>
7705 <type name="FontMap" c:type="PangoFontMap*"/>
7706 </instance-parameter>
7707 <parameter name="name" transfer-ownership="none">
7708 <doc xml:space="preserve"
7709 filename="pango/pango-fontmap.c"
7710 line="494">a family name</doc>
7711 <type name="utf8" c:type="const char*"/>
7712 </parameter>
7713 </parameters>
7714 </method>
7715 <method name="get_serial"
7716 c:identifier="pango_font_map_get_serial"
7717 version="1.32.4">
7718 <doc xml:space="preserve"
7719 filename="pango/pango-fontmap.c"
7720 line="395">Returns the current serial number of @fontmap.
7721
7722The serial number is initialized to an small number larger than zero
7723when a new fontmap is created and is increased whenever the fontmap
7724is changed. It may wrap, but will never have the value 0. Since it can
7725wrap, never compare it with "less than", always use "not equals".
7726
7727The fontmap can only be changed using backend-specific API, like changing
7728fontmap resolution.
7729
7730This can be used to automatically detect changes to a `PangoFontMap`,
7731like in `PangoContext`.</doc>
7732 <source-position filename="pango/pango-fontmap.h" line="119"/>
7733 <return-value transfer-ownership="none">
7734 <doc xml:space="preserve"
7735 filename="pango/pango-fontmap.c"
7736 line="412">The current serial number of @fontmap.</doc>
7737 <type name="guint" c:type="guint"/>
7738 </return-value>
7739 <parameters>
7740 <instance-parameter name="fontmap" transfer-ownership="none">
7741 <doc xml:space="preserve"
7742 filename="pango/pango-fontmap.c"
7743 line="397">a `PangoFontMap`</doc>
7744 <type name="FontMap" c:type="PangoFontMap*"/>
7745 </instance-parameter>
7746 </parameters>
7747 </method>
7748 <method name="list_families" c:identifier="pango_font_map_list_families">
7749 <doc xml:space="preserve"
7750 filename="pango/pango-fontmap.c"
7751 line="197">List all families for a fontmap.
7752
7753Note that the returned families are not in any particular order.
7754
7755`PangoFontMap` also implemented the [iface@Gio.ListModel] interface
7756for enumerating families.</doc>
7757 <source-position filename="pango/pango-fontmap.h" line="115"/>
7758 <return-value transfer-ownership="none">
7759 <type name="none" c:type="void"/>
7760 </return-value>
7761 <parameters>
7762 <instance-parameter name="fontmap" transfer-ownership="none">
7763 <doc xml:space="preserve"
7764 filename="pango/pango-fontmap.c"
7765 line="199">a `PangoFontMap`</doc>
7766 <type name="FontMap" c:type="PangoFontMap*"/>
7767 </instance-parameter>
7768 <parameter name="families"
7769 direction="out"
7770 caller-allocates="0"
7771 transfer-ownership="container">
7772 <doc xml:space="preserve"
7773 filename="pango/pango-fontmap.c"
7774 line="200">location to
7775 store a pointer to an array of `PangoFontFamily` *.
7776 This array should be freed with g_free().</doc>
7777 <array length="1" zero-terminated="0" c:type="PangoFontFamily***">
7778 <type name="FontFamily" c:type="PangoFontFamily**"/>
7779 </array>
7780 </parameter>
7781 <parameter name="n_families"
7782 direction="out"
7783 caller-allocates="0"
7784 transfer-ownership="full">
7785 <doc xml:space="preserve"
7786 filename="pango/pango-fontmap.c"
7787 line="203">location to store the number of elements in @families</doc>
7788 <type name="gint" c:type="int*"/>
7789 </parameter>
7790 </parameters>
7791 </method>
7792 <method name="load_font" c:identifier="pango_font_map_load_font">
7793 <doc xml:space="preserve"
7794 filename="pango/pango-fontmap.c"
7795 line="176">Load the font in the fontmap that is the closest match for @desc.</doc>
7796 <source-position filename="pango/pango-fontmap.h" line="106"/>
7797 <return-value transfer-ownership="full" nullable="1">
7798 <doc xml:space="preserve"
7799 filename="pango/pango-fontmap.c"
7800 line="184">the newly allocated `PangoFont`
7801 loaded, or %NULL if no font matched.</doc>
7802 <type name="Font" c:type="PangoFont*"/>
7803 </return-value>
7804 <parameters>
7805 <instance-parameter name="fontmap" transfer-ownership="none">
7806 <doc xml:space="preserve"
7807 filename="pango/pango-fontmap.c"
7808 line="178">a `PangoFontMap`</doc>
7809 <type name="FontMap" c:type="PangoFontMap*"/>
7810 </instance-parameter>
7811 <parameter name="context" transfer-ownership="none">
7812 <doc xml:space="preserve"
7813 filename="pango/pango-fontmap.c"
7814 line="179">the `PangoContext` the font will be used with</doc>
7815 <type name="Context" c:type="PangoContext*"/>
7816 </parameter>
7817 <parameter name="desc" transfer-ownership="none">
7818 <doc xml:space="preserve"
7819 filename="pango/pango-fontmap.c"
7820 line="180">a `PangoFontDescription` describing the font to load</doc>
7821 <type name="FontDescription" c:type="const PangoFontDescription*"/>
7822 </parameter>
7823 </parameters>
7824 </method>
7825 <method name="load_fontset" c:identifier="pango_font_map_load_fontset">
7826 <doc xml:space="preserve"
7827 filename="pango/pango-fontmap.c"
7828 line="226">Load a set of fonts in the fontmap that can be used to render
7829a font matching @desc.</doc>
7830 <source-position filename="pango/pango-fontmap.h" line="110"/>
7831 <return-value transfer-ownership="full" nullable="1">
7832 <doc xml:space="preserve"
7833 filename="pango/pango-fontmap.c"
7834 line="236">the newly allocated
7835 `PangoFontset` loaded, or %NULL if no font matched.</doc>
7836 <type name="Fontset" c:type="PangoFontset*"/>
7837 </return-value>
7838 <parameters>
7839 <instance-parameter name="fontmap" transfer-ownership="none">
7840 <doc xml:space="preserve"
7841 filename="pango/pango-fontmap.c"
7842 line="228">a `PangoFontMap`</doc>
7843 <type name="FontMap" c:type="PangoFontMap*"/>
7844 </instance-parameter>
7845 <parameter name="context" transfer-ownership="none">
7846 <doc xml:space="preserve"
7847 filename="pango/pango-fontmap.c"
7848 line="229">the `PangoContext` the font will be used with</doc>
7849 <type name="Context" c:type="PangoContext*"/>
7850 </parameter>
7851 <parameter name="desc" transfer-ownership="none">
7852 <doc xml:space="preserve"
7853 filename="pango/pango-fontmap.c"
7854 line="230">a `PangoFontDescription` describing the font to load</doc>
7855 <type name="FontDescription" c:type="const PangoFontDescription*"/>
7856 </parameter>
7857 <parameter name="language" transfer-ownership="none">
7858 <doc xml:space="preserve"
7859 filename="pango/pango-fontmap.c"
7860 line="231">a `PangoLanguage` the fonts will be used for</doc>
7861 <type name="Language" c:type="PangoLanguage*"/>
7862 </parameter>
7863 </parameters>
7864 </method>
7865 <method name="reload_font"
7866 c:identifier="pango_font_map_reload_font"
7867 version="1.52">
7868 <doc xml:space="preserve"
7869 filename="pango/pango-fontmap.c"
7870 line="546">Returns a new font that is like @font, except that it is scaled
7871by @scale, its backend-dependent configuration (e.g. cairo font options)
7872is replaced by the one in @context, and its variations are replaced
7873by @variations.
7874
7875Note that the scaling here is meant to be linear, so this
7876scaling can be used to render a font on a hi-dpi display
7877without changing its optical size.</doc>
7878 <source-position filename="pango/pango-fontmap.h" line="128"/>
7879 <return-value transfer-ownership="full">
7880 <doc xml:space="preserve"
7881 filename="pango/pango-fontmap.c"
7882 line="563">the modified font</doc>
7883 <type name="Font" c:type="PangoFont*"/>
7884 </return-value>
7885 <parameters>
7886 <instance-parameter name="fontmap" transfer-ownership="none">
7887 <doc xml:space="preserve"
7888 filename="pango/pango-fontmap.c"
7889 line="548">a `PangoFontMap`</doc>
7890 <type name="FontMap" c:type="PangoFontMap*"/>
7891 </instance-parameter>
7892 <parameter name="font" transfer-ownership="none">
7893 <doc xml:space="preserve"
7894 filename="pango/pango-fontmap.c"
7895 line="549">a font in @fontmap</doc>
7896 <type name="Font" c:type="PangoFont*"/>
7897 </parameter>
7898 <parameter name="scale" transfer-ownership="none">
7899 <doc xml:space="preserve"
7900 filename="pango/pango-fontmap.c"
7901 line="550">the scale factor to apply</doc>
7902 <type name="gdouble" c:type="double"/>
7903 </parameter>
7904 <parameter name="context"
7905 transfer-ownership="none"
7906 nullable="1"
7907 allow-none="1">
7908 <doc xml:space="preserve"
7909 filename="pango/pango-fontmap.c"
7910 line="551">a `PangoContext`</doc>
7911 <type name="Context" c:type="PangoContext*"/>
7912 </parameter>
7913 <parameter name="variations"
7914 transfer-ownership="none"
7915 nullable="1"
7916 allow-none="1">
7917 <doc xml:space="preserve"
7918 filename="pango/pango-fontmap.c"
7919 line="552">font variations to use</doc>
7920 <type name="utf8" c:type="const char*"/>
7921 </parameter>
7922 </parameters>
7923 </method>
7924 <property name="item-type" version="1.52" transfer-ownership="none">
7925 <doc xml:space="preserve"
7926 filename="pango/pango-fontmap.c"
7927 line="114">The type of items contained in this list.</doc>
7928 <type name="GType" c:type="GType"/>
7929 </property>
7930 <property name="n-items"
7931 version="1.52"
7932 transfer-ownership="none"
7933 default-value="0">
7934 <doc xml:space="preserve"
7935 filename="pango/pango-fontmap.c"
7936 line="125">The number of items contained in this list.</doc>
7937 <type name="guint" c:type="guint"/>
7938 </property>
7939 <field name="parent_instance">
7940 <type name="GObject.Object" c:type="GObject"/>
7941 </field>
7942 </class>
7943 <record name="FontMapClass"
7944 c:type="PangoFontMapClass"
7945 glib:is-gtype-struct-for="FontMap">
7946 <doc xml:space="preserve"
7947 filename="pango/pango-fontmap.h"
7948 line="54">The `PangoFontMapClass` structure holds the virtual functions for
7949a particular `PangoFontMap` implementation.</doc>
7950 <source-position filename="pango/pango-fontmap.h" line="99"/>
7951 <field name="parent_class">
7952 <doc xml:space="preserve"
7953 filename="pango/pango-fontmap.h"
7954 line="56">parent `GObjectClass`</doc>
7955 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
7956 </field>
7957 <field name="load_font">
7958 <doc xml:space="preserve"
7959 filename="pango/pango-fontmap.h"
7960 line="57">a function to load a font with a given description. See
7961pango_font_map_load_font().</doc>
7962 <callback name="load_font">
7963 <source-position filename="pango/pango-fontmap.h" line="78"/>
7964 <return-value transfer-ownership="full" nullable="1">
7965 <doc xml:space="preserve"
7966 filename="pango/pango-fontmap.c"
7967 line="184">the newly allocated `PangoFont`
7968 loaded, or %NULL if no font matched.</doc>
7969 <type name="Font" c:type="PangoFont*"/>
7970 </return-value>
7971 <parameters>
7972 <parameter name="fontmap" transfer-ownership="none">
7973 <doc xml:space="preserve"
7974 filename="pango/pango-fontmap.c"
7975 line="178">a `PangoFontMap`</doc>
7976 <type name="FontMap" c:type="PangoFontMap*"/>
7977 </parameter>
7978 <parameter name="context" transfer-ownership="none">
7979 <doc xml:space="preserve"
7980 filename="pango/pango-fontmap.c"
7981 line="179">the `PangoContext` the font will be used with</doc>
7982 <type name="Context" c:type="PangoContext*"/>
7983 </parameter>
7984 <parameter name="desc" transfer-ownership="none">
7985 <doc xml:space="preserve"
7986 filename="pango/pango-fontmap.c"
7987 line="180">a `PangoFontDescription` describing the font to load</doc>
7988 <type name="FontDescription"
7989 c:type="const PangoFontDescription*"/>
7990 </parameter>
7991 </parameters>
7992 </callback>
7993 </field>
7994 <field name="list_families">
7995 <doc xml:space="preserve"
7996 filename="pango/pango-fontmap.h"
7997 line="59">A function to list available font families. See
7998pango_font_map_list_families().</doc>
7999 <callback name="list_families">
8000 <source-position filename="pango/pango-fontmap.h" line="81"/>
8001 <return-value transfer-ownership="none">
8002 <type name="none" c:type="void"/>
8003 </return-value>
8004 <parameters>
8005 <parameter name="fontmap" transfer-ownership="none">
8006 <doc xml:space="preserve"
8007 filename="pango/pango-fontmap.c"
8008 line="199">a `PangoFontMap`</doc>
8009 <type name="FontMap" c:type="PangoFontMap*"/>
8010 </parameter>
8011 <parameter name="families"
8012 direction="out"
8013 caller-allocates="0"
8014 transfer-ownership="container">
8015 <doc xml:space="preserve"
8016 filename="pango/pango-fontmap.c"
8017 line="200">location to
8018 store a pointer to an array of `PangoFontFamily` *.
8019 This array should be freed with g_free().</doc>
8020 <array length="2"
8021 zero-terminated="0"
8022 c:type="PangoFontFamily***">
8023 <type name="FontFamily" c:type="PangoFontFamily**"/>
8024 </array>
8025 </parameter>
8026 <parameter name="n_families"
8027 direction="out"
8028 caller-allocates="0"
8029 transfer-ownership="full">
8030 <doc xml:space="preserve"
8031 filename="pango/pango-fontmap.c"
8032 line="203">location to store the number of elements in @families</doc>
8033 <type name="gint" c:type="int*"/>
8034 </parameter>
8035 </parameters>
8036 </callback>
8037 </field>
8038 <field name="load_fontset">
8039 <doc xml:space="preserve"
8040 filename="pango/pango-fontmap.h"
8041 line="61">a function to load a fontset with a given given description
8042suitable for a particular language. See pango_font_map_load_fontset().</doc>
8043 <callback name="load_fontset">
8044 <source-position filename="pango/pango-fontmap.h" line="84"/>
8045 <return-value transfer-ownership="full" nullable="1">
8046 <doc xml:space="preserve"
8047 filename="pango/pango-fontmap.c"
8048 line="236">the newly allocated
8049 `PangoFontset` loaded, or %NULL if no font matched.</doc>
8050 <type name="Fontset" c:type="PangoFontset*"/>
8051 </return-value>
8052 <parameters>
8053 <parameter name="fontmap" transfer-ownership="none">
8054 <doc xml:space="preserve"
8055 filename="pango/pango-fontmap.c"
8056 line="228">a `PangoFontMap`</doc>
8057 <type name="FontMap" c:type="PangoFontMap*"/>
8058 </parameter>
8059 <parameter name="context" transfer-ownership="none">
8060 <doc xml:space="preserve"
8061 filename="pango/pango-fontmap.c"
8062 line="229">the `PangoContext` the font will be used with</doc>
8063 <type name="Context" c:type="PangoContext*"/>
8064 </parameter>
8065 <parameter name="desc" transfer-ownership="none">
8066 <doc xml:space="preserve"
8067 filename="pango/pango-fontmap.c"
8068 line="230">a `PangoFontDescription` describing the font to load</doc>
8069 <type name="FontDescription"
8070 c:type="const PangoFontDescription*"/>
8071 </parameter>
8072 <parameter name="language" transfer-ownership="none">
8073 <doc xml:space="preserve"
8074 filename="pango/pango-fontmap.c"
8075 line="231">a `PangoLanguage` the fonts will be used for</doc>
8076 <type name="Language" c:type="PangoLanguage*"/>
8077 </parameter>
8078 </parameters>
8079 </callback>
8080 </field>
8081 <field name="shape_engine_type">
8082 <doc xml:space="preserve"
8083 filename="pango/pango-fontmap.h"
8084 line="63">the type of rendering-system-dependent engines that
8085can handle fonts of this fonts loaded with this fontmap.</doc>
8086 <type name="utf8" c:type="const char*"/>
8087 </field>
8088 <field name="get_serial">
8089 <doc xml:space="preserve"
8090 filename="pango/pango-fontmap.h"
8091 line="65">a function to get the serial number of the fontmap.
8092See pango_font_map_get_serial().</doc>
8093 <callback name="get_serial">
8094 <source-position filename="pango/pango-fontmap.h" line="91"/>
8095 <return-value transfer-ownership="none">
8096 <doc xml:space="preserve"
8097 filename="pango/pango-fontmap.c"
8098 line="412">The current serial number of @fontmap.</doc>
8099 <type name="guint" c:type="guint"/>
8100 </return-value>
8101 <parameters>
8102 <parameter name="fontmap" transfer-ownership="none">
8103 <doc xml:space="preserve"
8104 filename="pango/pango-fontmap.c"
8105 line="397">a `PangoFontMap`</doc>
8106 <type name="FontMap" c:type="PangoFontMap*"/>
8107 </parameter>
8108 </parameters>
8109 </callback>
8110 </field>
8111 <field name="changed">
8112 <doc xml:space="preserve"
8113 filename="pango/pango-fontmap.h"
8114 line="67">See pango_font_map_changed()</doc>
8115 <callback name="changed">
8116 <source-position filename="pango/pango-fontmap.h" line="92"/>
8117 <return-value transfer-ownership="none">
8118 <type name="none" c:type="void"/>
8119 </return-value>
8120 <parameters>
8121 <parameter name="fontmap" transfer-ownership="none">
8122 <doc xml:space="preserve"
8123 filename="pango/pango-fontmap.c"
8124 line="443">a `PangoFontMap`</doc>
8125 <type name="FontMap" c:type="PangoFontMap*"/>
8126 </parameter>
8127 </parameters>
8128 </callback>
8129 </field>
8130 <field name="get_family">
8131 <callback name="get_family">
8132 <source-position filename="pango/pango-fontmap.h" line="94"/>
8133 <return-value transfer-ownership="none">
8134 <doc xml:space="preserve"
8135 filename="pango/pango-fontmap.c"
8136 line="498">the `PangoFontFamily`</doc>
8137 <type name="FontFamily" c:type="PangoFontFamily*"/>
8138 </return-value>
8139 <parameters>
8140 <parameter name="fontmap" transfer-ownership="none">
8141 <doc xml:space="preserve"
8142 filename="pango/pango-fontmap.c"
8143 line="493">a `PangoFontMap`</doc>
8144 <type name="FontMap" c:type="PangoFontMap*"/>
8145 </parameter>
8146 <parameter name="name" transfer-ownership="none">
8147 <doc xml:space="preserve"
8148 filename="pango/pango-fontmap.c"
8149 line="494">a family name</doc>
8150 <type name="utf8" c:type="const char*"/>
8151 </parameter>
8152 </parameters>
8153 </callback>
8154 </field>
8155 <field name="get_face" introspectable="0">
8156 <callback name="get_face" introspectable="0">
8157 <source-position filename="pango/pango-fontmap.h" line="97"/>
8158 <return-value>
8159 <type name="FontFace" c:type="PangoFontFace*"/>
8160 </return-value>
8161 <parameters>
8162 <parameter name="fontmap" transfer-ownership="none">
8163 <type name="FontMap" c:type="PangoFontMap*"/>
8164 </parameter>
8165 <parameter name="font" transfer-ownership="none">
8166 <type name="Font" c:type="PangoFont*"/>
8167 </parameter>
8168 </parameters>
8169 </callback>
8170 </field>
8171 </record>
8172 <bitfield name="FontMask"
8173 glib:type-name="PangoFontMask"
8174 glib:get-type="pango_font_mask_get_type"
8175 c:type="PangoFontMask">
8176 <doc xml:space="preserve"
8177 filename="pango/pango-font.h"
8178 line="172">The bits in a `PangoFontMask` correspond to the set fields in a
8179`PangoFontDescription`.</doc>
8180 <member name="family"
8181 value="1"
8182 c:identifier="PANGO_FONT_MASK_FAMILY"
8183 glib:nick="family"
8184 glib:name="PANGO_FONT_MASK_FAMILY">
8185 <doc xml:space="preserve"
8186 filename="pango/pango-font.h"
8187 line="174">the font family is specified.</doc>
8188 </member>
8189 <member name="style"
8190 value="2"
8191 c:identifier="PANGO_FONT_MASK_STYLE"
8192 glib:nick="style"
8193 glib:name="PANGO_FONT_MASK_STYLE">
8194 <doc xml:space="preserve"
8195 filename="pango/pango-font.h"
8196 line="175">the font style is specified.</doc>
8197 </member>
8198 <member name="variant"
8199 value="4"
8200 c:identifier="PANGO_FONT_MASK_VARIANT"
8201 glib:nick="variant"
8202 glib:name="PANGO_FONT_MASK_VARIANT">
8203 <doc xml:space="preserve"
8204 filename="pango/pango-font.h"
8205 line="176">the font variant is specified.</doc>
8206 </member>
8207 <member name="weight"
8208 value="8"
8209 c:identifier="PANGO_FONT_MASK_WEIGHT"
8210 glib:nick="weight"
8211 glib:name="PANGO_FONT_MASK_WEIGHT">
8212 <doc xml:space="preserve"
8213 filename="pango/pango-font.h"
8214 line="177">the font weight is specified.</doc>
8215 </member>
8216 <member name="stretch"
8217 value="16"
8218 c:identifier="PANGO_FONT_MASK_STRETCH"
8219 glib:nick="stretch"
8220 glib:name="PANGO_FONT_MASK_STRETCH">
8221 <doc xml:space="preserve"
8222 filename="pango/pango-font.h"
8223 line="178">the font stretch is specified.</doc>
8224 </member>
8225 <member name="size"
8226 value="32"
8227 c:identifier="PANGO_FONT_MASK_SIZE"
8228 glib:nick="size"
8229 glib:name="PANGO_FONT_MASK_SIZE">
8230 <doc xml:space="preserve"
8231 filename="pango/pango-font.h"
8232 line="179">the font size is specified.</doc>
8233 </member>
8234 <member name="gravity"
8235 value="64"
8236 c:identifier="PANGO_FONT_MASK_GRAVITY"
8237 version="1.16"
8238 glib:nick="gravity"
8239 glib:name="PANGO_FONT_MASK_GRAVITY">
8240 <doc xml:space="preserve"
8241 filename="pango/pango-font.h"
8242 line="184">The font gravity is specified.</doc>
8243 </member>
8244 <member name="variations"
8245 value="128"
8246 c:identifier="PANGO_FONT_MASK_VARIATIONS"
8247 version="1.42"
8248 glib:nick="variations"
8249 glib:name="PANGO_FONT_MASK_VARIATIONS">
8250 <doc xml:space="preserve"
8251 filename="pango/pango-font.h"
8252 line="191">OpenType font variations are specified.</doc>
8253 </member>
8254 <member name="features"
8255 value="256"
8256 c:identifier="PANGO_FONT_MASK_FEATURES"
8257 version="1.56"
8258 glib:nick="features"
8259 glib:name="PANGO_FONT_MASK_FEATURES">
8260 <doc xml:space="preserve"
8261 filename="pango/pango-font.h"
8262 line="198">OpenType font features are specified.</doc>
8263 </member>
8264 <member name="color"
8265 value="512"
8266 c:identifier="PANGO_FONT_MASK_COLOR"
8267 version="1.57"
8268 glib:nick="color"
8269 glib:name="PANGO_FONT_MASK_COLOR">
8270 <doc xml:space="preserve"
8271 filename="pango/pango-font.h"
8272 line="205">Font color is specified.</doc>
8273 </member>
8274 </bitfield>
8275 <record name="FontMetrics"
8276 c:type="PangoFontMetrics"
8277 glib:type-name="PangoFontMetrics"
8278 glib:get-type="pango_font_metrics_get_type"
8279 c:symbol-prefix="font_metrics">
8280 <doc xml:space="preserve"
8281 filename="pango/pango-font.h"
8282 line="45">A `PangoFontMetrics` structure holds the overall metric information
8283for a font.
8284
8285The information in a `PangoFontMetrics` structure may be restricted
8286to a script. The fields of this structure are private to implementations
8287of a font backend. See the documentation of the corresponding getters
8288for documentation of their meaning.
8289
8290For an overview of the most important metrics, see:
8291
8292<picture>
8293 <source srcset="fontmetrics-dark.png" media="(prefers-color-scheme: dark)">
8294 <img alt="Font metrics" src="fontmetrics-light.png">
8295</picture></doc>
8296 <source-position filename="pango/pango-font.h" line="425"/>
8297 <field name="ref_count" readable="0" private="1">
8298 <type name="guint" c:type="guint"/>
8299 </field>
8300 <field name="ascent" readable="0" private="1">
8301 <type name="gint" c:type="int"/>
8302 </field>
8303 <field name="descent" readable="0" private="1">
8304 <type name="gint" c:type="int"/>
8305 </field>
8306 <field name="height" readable="0" private="1">
8307 <type name="gint" c:type="int"/>
8308 </field>
8309 <field name="approximate_char_width" readable="0" private="1">
8310 <type name="gint" c:type="int"/>
8311 </field>
8312 <field name="approximate_digit_width" readable="0" private="1">
8313 <type name="gint" c:type="int"/>
8314 </field>
8315 <field name="underline_position" readable="0" private="1">
8316 <type name="gint" c:type="int"/>
8317 </field>
8318 <field name="underline_thickness" readable="0" private="1">
8319 <type name="gint" c:type="int"/>
8320 </field>
8321 <field name="strikethrough_position" readable="0" private="1">
8322 <type name="gint" c:type="int"/>
8323 </field>
8324 <field name="strikethrough_thickness" readable="0" private="1">
8325 <type name="gint" c:type="int"/>
8326 </field>
8327 <method name="get_approximate_char_width"
8328 c:identifier="pango_font_metrics_get_approximate_char_width">
8329 <doc xml:space="preserve"
8330 filename="pango/fonts.c"
8331 line="2559">Gets the approximate character width for a font metrics structure.
8332
8333This is merely a representative value useful, for example, for
8334determining the initial size for a window. Actual characters in
8335text will be wider and narrower than this.</doc>
8336 <source-position filename="pango/pango-font.h" line="440"/>
8337 <return-value transfer-ownership="none">
8338 <doc xml:space="preserve"
8339 filename="pango/fonts.c"
8340 line="2569">the character width, in Pango units.</doc>
8341 <type name="gint" c:type="int"/>
8342 </return-value>
8343 <parameters>
8344 <instance-parameter name="metrics" transfer-ownership="none">
8345 <doc xml:space="preserve"
8346 filename="pango/fonts.c"
8347 line="2561">a `PangoFontMetrics` structure</doc>
8348 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8349 </instance-parameter>
8350 </parameters>
8351 </method>
8352 <method name="get_approximate_digit_width"
8353 c:identifier="pango_font_metrics_get_approximate_digit_width">
8354 <doc xml:space="preserve"
8355 filename="pango/fonts.c"
8356 line="2579">Gets the approximate digit width for a font metrics structure.
8357
8358This is merely a representative value useful, for example, for
8359determining the initial size for a window. Actual digits in
8360text can be wider or narrower than this, though this value
8361is generally somewhat more accurate than the result of
8362pango_font_metrics_get_approximate_char_width() for digits.</doc>
8363 <source-position filename="pango/pango-font.h" line="442"/>
8364 <return-value transfer-ownership="none">
8365 <doc xml:space="preserve"
8366 filename="pango/fonts.c"
8367 line="2591">the digit width, in Pango units.</doc>
8368 <type name="gint" c:type="int"/>
8369 </return-value>
8370 <parameters>
8371 <instance-parameter name="metrics" transfer-ownership="none">
8372 <doc xml:space="preserve"
8373 filename="pango/fonts.c"
8374 line="2581">a `PangoFontMetrics` structure</doc>
8375 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8376 </instance-parameter>
8377 </parameters>
8378 </method>
8379 <method name="get_ascent" c:identifier="pango_font_metrics_get_ascent">
8380 <doc xml:space="preserve"
8381 filename="pango/fonts.c"
8382 line="2494">Gets the ascent from a font metrics structure.
8383
8384The ascent is the distance from the baseline to the logical top
8385of a line of text. (The logical top may be above or below the top
8386of the actual drawn ink. It is necessary to lay out the text to
8387figure where the ink will be.)</doc>
8388 <source-position filename="pango/pango-font.h" line="434"/>
8389 <return-value transfer-ownership="none">
8390 <doc xml:space="preserve"
8391 filename="pango/fonts.c"
8392 line="2505">the ascent, in Pango units.</doc>
8393 <type name="gint" c:type="int"/>
8394 </return-value>
8395 <parameters>
8396 <instance-parameter name="metrics" transfer-ownership="none">
8397 <doc xml:space="preserve"
8398 filename="pango/fonts.c"
8399 line="2496">a `PangoFontMetrics` structure</doc>
8400 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8401 </instance-parameter>
8402 </parameters>
8403 </method>
8404 <method name="get_descent" c:identifier="pango_font_metrics_get_descent">
8405 <doc xml:space="preserve"
8406 filename="pango/fonts.c"
8407 line="2515">Gets the descent from a font metrics structure.
8408
8409The descent is the distance from the baseline to the logical bottom
8410of a line of text. (The logical bottom may be above or below the
8411bottom of the actual drawn ink. It is necessary to lay out the text
8412to figure where the ink will be.)</doc>
8413 <source-position filename="pango/pango-font.h" line="436"/>
8414 <return-value transfer-ownership="none">
8415 <doc xml:space="preserve"
8416 filename="pango/fonts.c"
8417 line="2526">the descent, in Pango units.</doc>
8418 <type name="gint" c:type="int"/>
8419 </return-value>
8420 <parameters>
8421 <instance-parameter name="metrics" transfer-ownership="none">
8422 <doc xml:space="preserve"
8423 filename="pango/fonts.c"
8424 line="2517">a `PangoFontMetrics` structure</doc>
8425 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8426 </instance-parameter>
8427 </parameters>
8428 </method>
8429 <method name="get_height"
8430 c:identifier="pango_font_metrics_get_height"
8431 version="1.44">
8432 <doc xml:space="preserve"
8433 filename="pango/fonts.c"
8434 line="2536">Gets the line height from a font metrics structure.
8435
8436The line height is the recommended distance between successive
8437baselines in wrapped text using this font.
8438
8439If the line height is not available, 0 is returned.</doc>
8440 <source-position filename="pango/pango-font.h" line="438"/>
8441 <return-value transfer-ownership="none">
8442 <doc xml:space="preserve"
8443 filename="pango/fonts.c"
8444 line="2547">the height, in Pango units</doc>
8445 <type name="gint" c:type="int"/>
8446 </return-value>
8447 <parameters>
8448 <instance-parameter name="metrics" transfer-ownership="none">
8449 <doc xml:space="preserve"
8450 filename="pango/fonts.c"
8451 line="2538">a `PangoFontMetrics` structure</doc>
8452 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8453 </instance-parameter>
8454 </parameters>
8455 </method>
8456 <method name="get_strikethrough_position"
8457 c:identifier="pango_font_metrics_get_strikethrough_position"
8458 version="1.6">
8459 <doc xml:space="preserve"
8460 filename="pango/fonts.c"
8461 line="2641">Gets the suggested position to draw the strikethrough.
8462
8463The value returned is the distance *above* the
8464baseline of the top of the strikethrough.</doc>
8465 <source-position filename="pango/pango-font.h" line="448"/>
8466 <return-value transfer-ownership="none">
8467 <doc xml:space="preserve"
8468 filename="pango/fonts.c"
8469 line="2650">the suggested strikethrough position, in Pango units.</doc>
8470 <type name="gint" c:type="int"/>
8471 </return-value>
8472 <parameters>
8473 <instance-parameter name="metrics" transfer-ownership="none">
8474 <doc xml:space="preserve"
8475 filename="pango/fonts.c"
8476 line="2643">a `PangoFontMetrics` structure</doc>
8477 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8478 </instance-parameter>
8479 </parameters>
8480 </method>
8481 <method name="get_strikethrough_thickness"
8482 c:identifier="pango_font_metrics_get_strikethrough_thickness"
8483 version="1.6">
8484 <doc xml:space="preserve"
8485 filename="pango/fonts.c"
8486 line="2662">Gets the suggested thickness to draw for the strikethrough.</doc>
8487 <source-position filename="pango/pango-font.h" line="450"/>
8488 <return-value transfer-ownership="none">
8489 <doc xml:space="preserve"
8490 filename="pango/fonts.c"
8491 line="2668">the suggested strikethrough thickness, in Pango units.</doc>
8492 <type name="gint" c:type="int"/>
8493 </return-value>
8494 <parameters>
8495 <instance-parameter name="metrics" transfer-ownership="none">
8496 <doc xml:space="preserve"
8497 filename="pango/fonts.c"
8498 line="2664">a `PangoFontMetrics` structure</doc>
8499 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8500 </instance-parameter>
8501 </parameters>
8502 </method>
8503 <method name="get_underline_position"
8504 c:identifier="pango_font_metrics_get_underline_position"
8505 version="1.6">
8506 <doc xml:space="preserve"
8507 filename="pango/fonts.c"
8508 line="2601">Gets the suggested position to draw the underline.
8509
8510The value returned is the distance *above* the baseline of the top
8511of the underline. Since most fonts have underline positions beneath
8512the baseline, this value is typically negative.</doc>
8513 <source-position filename="pango/pango-font.h" line="444"/>
8514 <return-value transfer-ownership="none">
8515 <doc xml:space="preserve"
8516 filename="pango/fonts.c"
8517 line="2611">the suggested underline position, in Pango units.</doc>
8518 <type name="gint" c:type="int"/>
8519 </return-value>
8520 <parameters>
8521 <instance-parameter name="metrics" transfer-ownership="none">
8522 <doc xml:space="preserve"
8523 filename="pango/fonts.c"
8524 line="2603">a `PangoFontMetrics` structure</doc>
8525 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8526 </instance-parameter>
8527 </parameters>
8528 </method>
8529 <method name="get_underline_thickness"
8530 c:identifier="pango_font_metrics_get_underline_thickness"
8531 version="1.6">
8532 <doc xml:space="preserve"
8533 filename="pango/fonts.c"
8534 line="2623">Gets the suggested thickness to draw for the underline.</doc>
8535 <source-position filename="pango/pango-font.h" line="446"/>
8536 <return-value transfer-ownership="none">
8537 <doc xml:space="preserve"
8538 filename="pango/fonts.c"
8539 line="2629">the suggested underline thickness, in Pango units.</doc>
8540 <type name="gint" c:type="int"/>
8541 </return-value>
8542 <parameters>
8543 <instance-parameter name="metrics" transfer-ownership="none">
8544 <doc xml:space="preserve"
8545 filename="pango/fonts.c"
8546 line="2625">a `PangoFontMetrics` structure</doc>
8547 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8548 </instance-parameter>
8549 </parameters>
8550 </method>
8551 <method name="ref" c:identifier="pango_font_metrics_ref">
8552 <doc xml:space="preserve"
8553 filename="pango/fonts.c"
8554 line="2455">Increase the reference count of a font metrics structure by one.</doc>
8555 <source-position filename="pango/pango-font.h" line="430"/>
8556 <return-value transfer-ownership="full" nullable="1">
8557 <doc xml:space="preserve"
8558 filename="pango/fonts.c"
8559 line="2461">@metrics</doc>
8560 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8561 </return-value>
8562 <parameters>
8563 <instance-parameter name="metrics"
8564 transfer-ownership="none"
8565 nullable="1"
8566 allow-none="1">
8567 <doc xml:space="preserve"
8568 filename="pango/fonts.c"
8569 line="2457">a `PangoFontMetrics` structure, may be %NULL</doc>
8570 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8571 </instance-parameter>
8572 </parameters>
8573 </method>
8574 <method name="unref" c:identifier="pango_font_metrics_unref">
8575 <doc xml:space="preserve"
8576 filename="pango/fonts.c"
8577 line="2474">Decrease the reference count of a font metrics structure by one.
8578
8579If the result is zero, frees the structure and any associated memory.</doc>
8580 <source-position filename="pango/pango-font.h" line="432"/>
8581 <return-value transfer-ownership="none">
8582 <type name="none" c:type="void"/>
8583 </return-value>
8584 <parameters>
8585 <instance-parameter name="metrics"
8586 transfer-ownership="none"
8587 nullable="1"
8588 allow-none="1">
8589 <doc xml:space="preserve"
8590 filename="pango/fonts.c"
8591 line="2476">a `PangoFontMetrics` structure, may be %NULL</doc>
8592 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8593 </instance-parameter>
8594 </parameters>
8595 </method>
8596 </record>
8597 <enumeration name="FontScale"
8598 version="1.50"
8599 glib:type-name="PangoFontScale"
8600 glib:get-type="pango_font_scale_get_type"
8601 c:type="PangoFontScale">
8602 <doc xml:space="preserve"
8603 filename="pango/pango-attributes.h"
8604 line="251">An enumeration that affects font sizes for superscript
8605and subscript positioning and for (emulated) Small Caps.</doc>
8606 <member name="none"
8607 value="0"
8608 c:identifier="PANGO_FONT_SCALE_NONE"
8609 glib:nick="none"
8610 glib:name="PANGO_FONT_SCALE_NONE">
8611 <doc xml:space="preserve"
8612 filename="pango/pango-attributes.h"
8613 line="253">Leave the font size unchanged</doc>
8614 </member>
8615 <member name="superscript"
8616 value="1"
8617 c:identifier="PANGO_FONT_SCALE_SUPERSCRIPT"
8618 glib:nick="superscript"
8619 glib:name="PANGO_FONT_SCALE_SUPERSCRIPT">
8620 <doc xml:space="preserve"
8621 filename="pango/pango-attributes.h"
8622 line="254">Change the font to a size suitable for superscripts</doc>
8623 </member>
8624 <member name="subscript"
8625 value="2"
8626 c:identifier="PANGO_FONT_SCALE_SUBSCRIPT"
8627 glib:nick="subscript"
8628 glib:name="PANGO_FONT_SCALE_SUBSCRIPT">
8629 <doc xml:space="preserve"
8630 filename="pango/pango-attributes.h"
8631 line="255">Change the font to a size suitable for subscripts</doc>
8632 </member>
8633 <member name="small_caps"
8634 value="3"
8635 c:identifier="PANGO_FONT_SCALE_SMALL_CAPS"
8636 glib:nick="small-caps"
8637 glib:name="PANGO_FONT_SCALE_SMALL_CAPS">
8638 <doc xml:space="preserve"
8639 filename="pango/pango-attributes.h"
8640 line="256">Change the font to a size suitable for Small Caps</doc>
8641 </member>
8642 </enumeration>
8643 <class name="Fontset"
8644 c:symbol-prefix="fontset"
8645 c:type="PangoFontset"
8646 parent="GObject.Object"
8647 abstract="1"
8648 glib:type-name="PangoFontset"
8649 glib:get-type="pango_fontset_get_type"
8650 glib:type-struct="FontsetClass">
8651 <doc xml:space="preserve"
8652 filename="pango/pango-fontset.h"
8653 line="68">A `PangoFontset` represents a set of `PangoFont` to use when rendering text.
8654
8655A `PangoFontset` is the result of resolving a `PangoFontDescription`
8656against a particular `PangoContext`. It has operations for finding the
8657component font for a particular Unicode character, and for finding a
8658composite set of metrics for the entire fontset.</doc>
8659 <source-position filename="pango/pango-fontset.h" line="119"/>
8660 <virtual-method name="foreach" invoker="foreach" version="1.4">
8661 <doc xml:space="preserve"
8662 filename="pango/pango-fontset.c"
8663 line="86">Iterates through all the fonts in a fontset, calling @func for
8664each one.
8665
8666If @func returns %TRUE, that stops the iteration.</doc>
8667 <source-position filename="pango/pango-fontset.h" line="108"/>
8668 <return-value transfer-ownership="none">
8669 <type name="none" c:type="void"/>
8670 </return-value>
8671 <parameters>
8672 <instance-parameter name="fontset" transfer-ownership="none">
8673 <doc xml:space="preserve"
8674 filename="pango/pango-fontset.c"
8675 line="88">a `PangoFontset`</doc>
8676 <type name="Fontset" c:type="PangoFontset*"/>
8677 </instance-parameter>
8678 <parameter name="func"
8679 transfer-ownership="none"
8680 scope="call"
8681 closure="1">
8682 <doc xml:space="preserve"
8683 filename="pango/pango-fontset.c"
8684 line="89">Callback function</doc>
8685 <type name="FontsetForeachFunc" c:type="PangoFontsetForeachFunc"/>
8686 </parameter>
8687 <parameter name="data"
8688 transfer-ownership="none"
8689 nullable="1"
8690 allow-none="1">
8691 <doc xml:space="preserve"
8692 filename="pango/pango-fontset.c"
8693 line="90">data to pass to the callback function</doc>
8694 <type name="gpointer" c:type="gpointer"/>
8695 </parameter>
8696 </parameters>
8697 </virtual-method>
8698 <virtual-method name="get_font" invoker="get_font">
8699 <doc xml:space="preserve"
8700 filename="pango/pango-fontset.c"
8701 line="50">Returns the font in the fontset that contains the best
8702glyph for a Unicode character.</doc>
8703 <source-position filename="pango/pango-fontset.h" line="103"/>
8704 <return-value transfer-ownership="full">
8705 <doc xml:space="preserve"
8706 filename="pango/pango-fontset.c"
8707 line="58">a `PangoFont`</doc>
8708 <type name="Font" c:type="PangoFont*"/>
8709 </return-value>
8710 <parameters>
8711 <instance-parameter name="fontset" transfer-ownership="none">
8712 <doc xml:space="preserve"
8713 filename="pango/pango-fontset.c"
8714 line="52">a `PangoFontset`</doc>
8715 <type name="Fontset" c:type="PangoFontset*"/>
8716 </instance-parameter>
8717 <parameter name="wc" transfer-ownership="none">
8718 <doc xml:space="preserve"
8719 filename="pango/pango-fontset.c"
8720 line="53">a Unicode character</doc>
8721 <type name="guint" c:type="guint"/>
8722 </parameter>
8723 </parameters>
8724 </virtual-method>
8725 <virtual-method name="get_language">
8726 <doc xml:space="preserve"
8727 filename="pango/pango-fontset.h"
8728 line="90">a function to get the language of the fontset.</doc>
8729 <source-position filename="pango/pango-fontset.h" line="107"/>
8730 <return-value transfer-ownership="full">
8731 <type name="Language" c:type="PangoLanguage*"/>
8732 </return-value>
8733 <parameters>
8734 <instance-parameter name="fontset" transfer-ownership="none">
8735 <type name="Fontset" c:type="PangoFontset*"/>
8736 </instance-parameter>
8737 </parameters>
8738 </virtual-method>
8739 <virtual-method name="get_metrics" invoker="get_metrics">
8740 <doc xml:space="preserve"
8741 filename="pango/pango-fontset.c"
8742 line="70">Get overall metric information for the fonts in the fontset.</doc>
8743 <source-position filename="pango/pango-fontset.h" line="106"/>
8744 <return-value transfer-ownership="full">
8745 <doc xml:space="preserve"
8746 filename="pango/pango-fontset.c"
8747 line="76">a `PangoFontMetrics` object</doc>
8748 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8749 </return-value>
8750 <parameters>
8751 <instance-parameter name="fontset" transfer-ownership="none">
8752 <doc xml:space="preserve"
8753 filename="pango/pango-fontset.c"
8754 line="72">a `PangoFontset`</doc>
8755 <type name="Fontset" c:type="PangoFontset*"/>
8756 </instance-parameter>
8757 </parameters>
8758 </virtual-method>
8759 <method name="foreach"
8760 c:identifier="pango_fontset_foreach"
8761 version="1.4">
8762 <doc xml:space="preserve"
8763 filename="pango/pango-fontset.c"
8764 line="86">Iterates through all the fonts in a fontset, calling @func for
8765each one.
8766
8767If @func returns %TRUE, that stops the iteration.</doc>
8768 <source-position filename="pango/pango-fontset.h" line="127"/>
8769 <return-value transfer-ownership="none">
8770 <type name="none" c:type="void"/>
8771 </return-value>
8772 <parameters>
8773 <instance-parameter name="fontset" transfer-ownership="none">
8774 <doc xml:space="preserve"
8775 filename="pango/pango-fontset.c"
8776 line="88">a `PangoFontset`</doc>
8777 <type name="Fontset" c:type="PangoFontset*"/>
8778 </instance-parameter>
8779 <parameter name="func"
8780 transfer-ownership="none"
8781 scope="call"
8782 closure="1">
8783 <doc xml:space="preserve"
8784 filename="pango/pango-fontset.c"
8785 line="89">Callback function</doc>
8786 <type name="FontsetForeachFunc" c:type="PangoFontsetForeachFunc"/>
8787 </parameter>
8788 <parameter name="data"
8789 transfer-ownership="none"
8790 nullable="1"
8791 allow-none="1">
8792 <doc xml:space="preserve"
8793 filename="pango/pango-fontset.c"
8794 line="90">data to pass to the callback function</doc>
8795 <type name="gpointer" c:type="gpointer"/>
8796 </parameter>
8797 </parameters>
8798 </method>
8799 <method name="get_font" c:identifier="pango_fontset_get_font">
8800 <doc xml:space="preserve"
8801 filename="pango/pango-fontset.c"
8802 line="50">Returns the font in the fontset that contains the best
8803glyph for a Unicode character.</doc>
8804 <source-position filename="pango/pango-fontset.h" line="122"/>
8805 <return-value transfer-ownership="full">
8806 <doc xml:space="preserve"
8807 filename="pango/pango-fontset.c"
8808 line="58">a `PangoFont`</doc>
8809 <type name="Font" c:type="PangoFont*"/>
8810 </return-value>
8811 <parameters>
8812 <instance-parameter name="fontset" transfer-ownership="none">
8813 <doc xml:space="preserve"
8814 filename="pango/pango-fontset.c"
8815 line="52">a `PangoFontset`</doc>
8816 <type name="Fontset" c:type="PangoFontset*"/>
8817 </instance-parameter>
8818 <parameter name="wc" transfer-ownership="none">
8819 <doc xml:space="preserve"
8820 filename="pango/pango-fontset.c"
8821 line="53">a Unicode character</doc>
8822 <type name="guint" c:type="guint"/>
8823 </parameter>
8824 </parameters>
8825 </method>
8826 <method name="get_metrics" c:identifier="pango_fontset_get_metrics">
8827 <doc xml:space="preserve"
8828 filename="pango/pango-fontset.c"
8829 line="70">Get overall metric information for the fonts in the fontset.</doc>
8830 <source-position filename="pango/pango-fontset.h" line="125"/>
8831 <return-value transfer-ownership="full">
8832 <doc xml:space="preserve"
8833 filename="pango/pango-fontset.c"
8834 line="76">a `PangoFontMetrics` object</doc>
8835 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8836 </return-value>
8837 <parameters>
8838 <instance-parameter name="fontset" transfer-ownership="none">
8839 <doc xml:space="preserve"
8840 filename="pango/pango-fontset.c"
8841 line="72">a `PangoFontset`</doc>
8842 <type name="Fontset" c:type="PangoFontset*"/>
8843 </instance-parameter>
8844 </parameters>
8845 </method>
8846 <field name="parent_instance">
8847 <type name="GObject.Object" c:type="GObject"/>
8848 </field>
8849 </class>
8850 <record name="FontsetClass"
8851 c:type="PangoFontsetClass"
8852 glib:is-gtype-struct-for="Fontset">
8853 <doc xml:space="preserve"
8854 filename="pango/pango-fontset.h"
8855 line="83">The `PangoFontsetClass` structure holds the virtual functions for
8856a particular `PangoFontset` implementation.</doc>
8857 <source-position filename="pango/pango-fontset.h" line="119"/>
8858 <field name="parent_class">
8859 <doc xml:space="preserve"
8860 filename="pango/pango-fontset.h"
8861 line="85">parent `GObjectClass`</doc>
8862 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
8863 </field>
8864 <field name="get_font">
8865 <doc xml:space="preserve"
8866 filename="pango/pango-fontset.h"
8867 line="86">a function to get the font in the fontset that contains the
8868 best glyph for the given Unicode character; see [method@Pango.Fontset.get_font]</doc>
8869 <callback name="get_font">
8870 <source-position filename="pango/pango-fontset.h" line="103"/>
8871 <return-value transfer-ownership="full">
8872 <doc xml:space="preserve"
8873 filename="pango/pango-fontset.c"
8874 line="58">a `PangoFont`</doc>
8875 <type name="Font" c:type="PangoFont*"/>
8876 </return-value>
8877 <parameters>
8878 <parameter name="fontset" transfer-ownership="none">
8879 <doc xml:space="preserve"
8880 filename="pango/pango-fontset.c"
8881 line="52">a `PangoFontset`</doc>
8882 <type name="Fontset" c:type="PangoFontset*"/>
8883 </parameter>
8884 <parameter name="wc" transfer-ownership="none">
8885 <doc xml:space="preserve"
8886 filename="pango/pango-fontset.c"
8887 line="53">a Unicode character</doc>
8888 <type name="guint" c:type="guint"/>
8889 </parameter>
8890 </parameters>
8891 </callback>
8892 </field>
8893 <field name="get_metrics">
8894 <doc xml:space="preserve"
8895 filename="pango/pango-fontset.h"
8896 line="88">a function to get overall metric information for the fonts
8897 in the fontset; see [method@Pango.Fontset.get_metrics]</doc>
8898 <callback name="get_metrics">
8899 <source-position filename="pango/pango-fontset.h" line="106"/>
8900 <return-value transfer-ownership="full">
8901 <doc xml:space="preserve"
8902 filename="pango/pango-fontset.c"
8903 line="76">a `PangoFontMetrics` object</doc>
8904 <type name="FontMetrics" c:type="PangoFontMetrics*"/>
8905 </return-value>
8906 <parameters>
8907 <parameter name="fontset" transfer-ownership="none">
8908 <doc xml:space="preserve"
8909 filename="pango/pango-fontset.c"
8910 line="72">a `PangoFontset`</doc>
8911 <type name="Fontset" c:type="PangoFontset*"/>
8912 </parameter>
8913 </parameters>
8914 </callback>
8915 </field>
8916 <field name="get_language">
8917 <doc xml:space="preserve"
8918 filename="pango/pango-fontset.h"
8919 line="90">a function to get the language of the fontset.</doc>
8920 <callback name="get_language">
8921 <source-position filename="pango/pango-fontset.h" line="107"/>
8922 <return-value transfer-ownership="full">
8923 <type name="Language" c:type="PangoLanguage*"/>
8924 </return-value>
8925 <parameters>
8926 <parameter name="fontset" transfer-ownership="none">
8927 <type name="Fontset" c:type="PangoFontset*"/>
8928 </parameter>
8929 </parameters>
8930 </callback>
8931 </field>
8932 <field name="foreach">
8933 <doc xml:space="preserve"
8934 filename="pango/pango-fontset.h"
8935 line="91">a function to loop over the fonts in the fontset. See
8936 [method@Pango.Fontset.foreach]</doc>
8937 <callback name="foreach">
8938 <source-position filename="pango/pango-fontset.h" line="108"/>
8939 <return-value transfer-ownership="none">
8940 <type name="none" c:type="void"/>
8941 </return-value>
8942 <parameters>
8943 <parameter name="fontset" transfer-ownership="none">
8944 <doc xml:space="preserve"
8945 filename="pango/pango-fontset.c"
8946 line="88">a `PangoFontset`</doc>
8947 <type name="Fontset" c:type="PangoFontset*"/>
8948 </parameter>
8949 <parameter name="func"
8950 transfer-ownership="none"
8951 scope="call"
8952 closure="2">
8953 <doc xml:space="preserve"
8954 filename="pango/pango-fontset.c"
8955 line="89">Callback function</doc>
8956 <type name="FontsetForeachFunc"
8957 c:type="PangoFontsetForeachFunc"/>
8958 </parameter>
8959 <parameter name="data"
8960 transfer-ownership="none"
8961 nullable="1"
8962 allow-none="1">
8963 <doc xml:space="preserve"
8964 filename="pango/pango-fontset.c"
8965 line="90">data to pass to the callback function</doc>
8966 <type name="gpointer" c:type="gpointer"/>
8967 </parameter>
8968 </parameters>
8969 </callback>
8970 </field>
8971 <field name="_pango_reserved1" introspectable="0">
8972 <callback name="_pango_reserved1">
8973 <source-position filename="pango/pango-fontset.h" line="115"/>
8974 <return-value transfer-ownership="none">
8975 <type name="none" c:type="void"/>
8976 </return-value>
8977 </callback>
8978 </field>
8979 <field name="_pango_reserved2" introspectable="0">
8980 <callback name="_pango_reserved2">
8981 <source-position filename="pango/pango-fontset.h" line="116"/>
8982 <return-value transfer-ownership="none">
8983 <type name="none" c:type="void"/>
8984 </return-value>
8985 </callback>
8986 </field>
8987 <field name="_pango_reserved3" introspectable="0">
8988 <callback name="_pango_reserved3">
8989 <source-position filename="pango/pango-fontset.h" line="117"/>
8990 <return-value transfer-ownership="none">
8991 <type name="none" c:type="void"/>
8992 </return-value>
8993 </callback>
8994 </field>
8995 <field name="_pango_reserved4" introspectable="0">
8996 <callback name="_pango_reserved4">
8997 <source-position filename="pango/pango-fontset.h" line="118"/>
8998 <return-value transfer-ownership="none">
8999 <type name="none" c:type="void"/>
9000 </return-value>
9001 </callback>
9002 </field>
9003 </record>
9004 <callback name="FontsetForeachFunc"
9005 c:type="PangoFontsetForeachFunc"
9006 version="1.4">
9007 <doc xml:space="preserve"
9008 filename="pango/pango-fontset.h"
9009 line="50">Callback used when enumerating fonts in a fontset.
9010
9011See [method@Pango.Fontset.foreach].</doc>
9012 <source-position filename="pango/pango-fontset.h" line="64"/>
9013 <return-value transfer-ownership="none">
9014 <doc xml:space="preserve"
9015 filename="pango/pango-fontset.h"
9016 line="60">if %TRUE, stop iteration and return immediately.</doc>
9017 <type name="gboolean" c:type="gboolean"/>
9018 </return-value>
9019 <parameters>
9020 <parameter name="fontset" transfer-ownership="none">
9021 <doc xml:space="preserve"
9022 filename="pango/pango-fontset.h"
9023 line="52">a `PangoFontset`</doc>
9024 <type name="Fontset" c:type="PangoFontset*"/>
9025 </parameter>
9026 <parameter name="font" transfer-ownership="none">
9027 <doc xml:space="preserve"
9028 filename="pango/pango-fontset.h"
9029 line="53">a font from @fontset</doc>
9030 <type name="Font" c:type="PangoFont*"/>
9031 </parameter>
9032 <parameter name="user_data"
9033 transfer-ownership="none"
9034 nullable="1"
9035 allow-none="1"
9036 closure="2">
9037 <doc xml:space="preserve"
9038 filename="pango/pango-fontset.h"
9039 line="54">callback data</doc>
9040 <type name="gpointer" c:type="gpointer"/>
9041 </parameter>
9042 </parameters>
9043 </callback>
9044 <class name="FontsetSimple"
9045 c:symbol-prefix="fontset_simple"
9046 c:type="PangoFontsetSimple"
9047 parent="Fontset"
9048 glib:type-name="PangoFontsetSimple"
9049 glib:get-type="pango_fontset_simple_get_type"
9050 glib:type-struct="FontsetSimpleClass">
9051 <doc xml:space="preserve"
9052 filename="pango/pango-fontset-simple.h"
9053 line="33">`PangoFontsetSimple` is a implementation of the abstract
9054`PangoFontset` base class as an array of fonts.
9055
9056When creating a `PangoFontsetSimple`, you have to provide
9057the array of fonts that make up the fontset.</doc>
9058 <source-position filename="pango/pango-fontset-simple.h" line="47"/>
9059 <constructor name="new" c:identifier="pango_fontset_simple_new">
9060 <doc xml:space="preserve"
9061 filename="pango/pango-fontset-simple.c"
9062 line="134">Creates a new `PangoFontsetSimple` for the given language.</doc>
9063 <source-position filename="pango/pango-fontset-simple.h" line="54"/>
9064 <return-value transfer-ownership="full">
9065 <doc xml:space="preserve"
9066 filename="pango/pango-fontset-simple.c"
9067 line="140">the newly allocated `PangoFontsetSimple`</doc>
9068 <type name="FontsetSimple" c:type="PangoFontsetSimple*"/>
9069 </return-value>
9070 <parameters>
9071 <parameter name="language" transfer-ownership="none">
9072 <doc xml:space="preserve"
9073 filename="pango/pango-fontset-simple.c"
9074 line="136">a `PangoLanguage` tag</doc>
9075 <type name="Language" c:type="PangoLanguage*"/>
9076 </parameter>
9077 </parameters>
9078 </constructor>
9079 <method name="append" c:identifier="pango_fontset_simple_append">
9080 <doc xml:space="preserve"
9081 filename="pango/pango-fontset-simple.c"
9082 line="153">Adds a font to the fontset.
9083
9084The fontset takes ownership of @font.</doc>
9085 <source-position filename="pango/pango-fontset-simple.h" line="56"/>
9086 <return-value transfer-ownership="none">
9087 <type name="none" c:type="void"/>
9088 </return-value>
9089 <parameters>
9090 <instance-parameter name="fontset" transfer-ownership="none">
9091 <doc xml:space="preserve"
9092 filename="pango/pango-fontset-simple.c"
9093 line="155">a `PangoFontsetSimple`.</doc>
9094 <type name="FontsetSimple" c:type="PangoFontsetSimple*"/>
9095 </instance-parameter>
9096 <parameter name="font" transfer-ownership="full">
9097 <doc xml:space="preserve"
9098 filename="pango/pango-fontset-simple.c"
9099 line="156">a `PangoFont`.</doc>
9100 <type name="Font" c:type="PangoFont*"/>
9101 </parameter>
9102 </parameters>
9103 </method>
9104 <method name="size" c:identifier="pango_fontset_simple_size">
9105 <doc xml:space="preserve"
9106 filename="pango/pango-fontset-simple.c"
9107 line="169">Returns the number of fonts in the fontset.</doc>
9108 <source-position filename="pango/pango-fontset-simple.h" line="59"/>
9109 <return-value transfer-ownership="none">
9110 <doc xml:space="preserve"
9111 filename="pango/pango-fontset-simple.c"
9112 line="175">the size of @fontset</doc>
9113 <type name="gint" c:type="int"/>
9114 </return-value>
9115 <parameters>
9116 <instance-parameter name="fontset" transfer-ownership="none">
9117 <doc xml:space="preserve"
9118 filename="pango/pango-fontset-simple.c"
9119 line="171">a `PangoFontsetSimple`.</doc>
9120 <type name="FontsetSimple" c:type="PangoFontsetSimple*"/>
9121 </instance-parameter>
9122 </parameters>
9123 </method>
9124 </class>
9125 <record name="FontsetSimpleClass"
9126 c:type="PangoFontsetSimpleClass"
9127 disguised="1"
9128 opaque="1"
9129 glib:is-gtype-struct-for="FontsetSimple">
9130 <source-position filename="pango/pango-fontset-simple.h" line="47"/>
9131 </record>
9132 <function-macro name="GET_UNKNOWN_GLYPH"
9133 c:identifier="PANGO_GET_UNKNOWN_GLYPH"
9134 introspectable="0">
9135 <doc xml:space="preserve"
9136 filename="pango/pango-font.h"
9137 line="729">The way this unknown glyphs are rendered is backend specific. For example,
9138a box with the hexadecimal Unicode code-point of the character written in it
9139is what is done in the most common backends.</doc>
9140 <source-position filename="pango/pango-font.h" line="742"/>
9141 <parameters>
9142 <parameter name="wc">
9143 <doc xml:space="preserve"
9144 filename="pango/pango-font.h"
9145 line="731">a Unicode character</doc>
9146 </parameter>
9147 </parameters>
9148 </function-macro>
9149 <constant name="GLYPH_EMPTY" value="268435455" c:type="PANGO_GLYPH_EMPTY">
9150 <doc xml:space="preserve"
9151 filename="pango/pango-font.h"
9152 line="699">A `PangoGlyph` value that indicates a zero-width empty glpyh.
9153
9154This is useful for example in shaper modules, to use as the glyph for
9155various zero-width Unicode characters (those passing [func@is_zero_width]).</doc>
9156 <source-position filename="pango/pango-font.h" line="739"/>
9157 <type name="Glyph" c:type="PangoGlyph"/>
9158 </constant>
9159 <constant name="GLYPH_INVALID_INPUT"
9160 value="4294967295"
9161 c:type="PANGO_GLYPH_INVALID_INPUT"
9162 version="1.20">
9163 <doc xml:space="preserve"
9164 filename="pango/pango-font.h"
9165 line="708">A `PangoGlyph` value for invalid input.
9166
9167`PangoLayout` produces one such glyph per invalid input UTF-8 byte and such
9168a glyph is rendered as a crossed box.
9169
9170Note that this value is defined such that it has the %PANGO_GLYPH_UNKNOWN_FLAG
9171set.</doc>
9172 <source-position filename="pango/pango-font.h" line="740"/>
9173 <type name="Glyph" c:type="PangoGlyph"/>
9174 </constant>
9175 <constant name="GLYPH_UNKNOWN_FLAG"
9176 value="268435456"
9177 c:type="PANGO_GLYPH_UNKNOWN_FLAG">
9178 <doc xml:space="preserve"
9179 filename="pango/pango-font.h"
9180 line="721">Flag used in `PangoGlyph` to turn a `gunichar` value of a valid Unicode
9181character into an unknown-character glyph for that `gunichar`.
9182
9183Such unknown-character glyphs may be rendered as a 'hex box'.</doc>
9184 <source-position filename="pango/pango-font.h" line="741"/>
9185 <type name="Glyph" c:type="PangoGlyph"/>
9186 </constant>
9187 <function-macro name="GRAVITY_IS_IMPROPER"
9188 c:identifier="PANGO_GRAVITY_IS_IMPROPER"
9189 version="1.32"
9190 introspectable="0">
9191 <doc xml:space="preserve"
9192 filename="pango/pango-gravity.h"
9193 line="101">Whether a `PangoGravity` represents a gravity that results in reversal
9194of text direction.</doc>
9195 <source-position filename="pango/pango-gravity.h" line="113"/>
9196 <parameters>
9197 <parameter name="gravity">
9198 <doc xml:space="preserve"
9199 filename="pango/pango-gravity.h"
9200 line="103">the `PangoGravity` to check</doc>
9201 </parameter>
9202 </parameters>
9203 </function-macro>
9204 <function-macro name="GRAVITY_IS_VERTICAL"
9205 c:identifier="PANGO_GRAVITY_IS_VERTICAL"
9206 version="1.16"
9207 introspectable="0">
9208 <doc xml:space="preserve"
9209 filename="pango/pango-gravity.h"
9210 line="87">Whether a `PangoGravity` represents vertical writing directions.</doc>
9211 <source-position filename="pango/pango-gravity.h" line="98"/>
9212 <parameters>
9213 <parameter name="gravity">
9214 <doc xml:space="preserve"
9215 filename="pango/pango-gravity.h"
9216 line="89">the `PangoGravity` to check</doc>
9217 </parameter>
9218 </parameters>
9219 </function-macro>
9220 <record name="GlyphGeometry" c:type="PangoGlyphGeometry">
9221 <doc xml:space="preserve"
9222 filename="pango/pango-glyph.h"
9223 line="56">The `PangoGlyphGeometry` structure contains width and positioning
9224information for a single glyph.
9225
9226Note that @width is not guaranteed to be the same as the glyph
9227extents. Kerning and other positioning applied during shaping will
9228affect both the @width and the @x_offset for the glyphs in the
9229glyph string that results from shaping.
9230
9231The information in this struct is intended for rendering the glyphs,
9232as follows:
9233
92341. Assume the current point is (x, y)
92352. Render the current glyph at (x + x_offset, y + y_offset),
92363. Advance the current point to (x + width, y)
92374. Render the next glyph</doc>
9238 <source-position filename="pango/pango-glyph.h" line="83"/>
9239 <field name="width" writable="1">
9240 <doc xml:space="preserve"
9241 filename="pango/pango-glyph.h"
9242 line="58">the logical width to use for the the character.</doc>
9243 <type name="GlyphUnit" c:type="PangoGlyphUnit"/>
9244 </field>
9245 <field name="x_offset" writable="1">
9246 <doc xml:space="preserve"
9247 filename="pango/pango-glyph.h"
9248 line="59">horizontal offset from nominal character position.</doc>
9249 <type name="GlyphUnit" c:type="PangoGlyphUnit"/>
9250 </field>
9251 <field name="y_offset" writable="1">
9252 <doc xml:space="preserve"
9253 filename="pango/pango-glyph.h"
9254 line="60">vertical offset from nominal character position.</doc>
9255 <type name="GlyphUnit" c:type="PangoGlyphUnit"/>
9256 </field>
9257 </record>
9258 <record name="GlyphInfo" c:type="PangoGlyphInfo">
9259 <doc xml:space="preserve"
9260 filename="pango/pango-glyph.h"
9261 line="111">A `PangoGlyphInfo` structure represents a single glyph with
9262positioning information and visual attributes.</doc>
9263 <source-position filename="pango/pango-glyph.h" line="125"/>
9264 <field name="glyph" writable="1">
9265 <doc xml:space="preserve"
9266 filename="pango/pango-glyph.h"
9267 line="113">the glyph itself.</doc>
9268 <type name="Glyph" c:type="PangoGlyph"/>
9269 </field>
9270 <field name="geometry" writable="1">
9271 <doc xml:space="preserve"
9272 filename="pango/pango-glyph.h"
9273 line="114">the positional information about the glyph.</doc>
9274 <type name="GlyphGeometry" c:type="PangoGlyphGeometry"/>
9275 </field>
9276 <field name="attr" writable="1">
9277 <doc xml:space="preserve"
9278 filename="pango/pango-glyph.h"
9279 line="115">the visual attributes of the glyph.</doc>
9280 <type name="GlyphVisAttr" c:type="PangoGlyphVisAttr"/>
9281 </field>
9282 </record>
9283 <record name="GlyphItem"
9284 c:type="PangoGlyphItem"
9285 glib:type-name="PangoGlyphItem"
9286 glib:get-type="pango_glyph_item_get_type"
9287 c:symbol-prefix="glyph_item">
9288 <doc xml:space="preserve"
9289 filename="pango/pango-glyph-item.h"
9290 line="32">A `PangoGlyphItem` is a pair of a `PangoItem` and the glyphs
9291resulting from shaping the items text.
9292
9293As an example of the usage of `PangoGlyphItem`, the results
9294of shaping text with `PangoLayout` is a list of `PangoLayoutLine`,
9295each of which contains a list of `PangoGlyphItem`.</doc>
9296 <source-position filename="pango/pango-glyph-item.h" line="59"/>
9297 <field name="item" writable="1">
9298 <doc xml:space="preserve"
9299 filename="pango/pango-glyph-item.h"
9300 line="34">corresponding `PangoItem`</doc>
9301 <type name="Item" c:type="PangoItem*"/>
9302 </field>
9303 <field name="glyphs" writable="1">
9304 <doc xml:space="preserve"
9305 filename="pango/pango-glyph-item.h"
9306 line="35">corresponding `PangoGlyphString`</doc>
9307 <type name="GlyphString" c:type="PangoGlyphString*"/>
9308 </field>
9309 <field name="y_offset" writable="1">
9310 <doc xml:space="preserve"
9311 filename="pango/pango-glyph-item.h"
9312 line="36">shift of the baseline, relative to the baseline
9313 of the containing line. Positive values shift upwards</doc>
9314 <type name="gint" c:type="int"/>
9315 </field>
9316 <field name="start_x_offset" writable="1">
9317 <doc xml:space="preserve"
9318 filename="pango/pango-glyph-item.h"
9319 line="38">horizontal displacement to apply before the
9320 glyph item. Positive values shift right</doc>
9321 <type name="gint" c:type="int"/>
9322 </field>
9323 <field name="end_x_offset" writable="1">
9324 <doc xml:space="preserve"
9325 filename="pango/pango-glyph-item.h"
9326 line="40">horizontal displacement to apply after th
9327 glyph item. Positive values shift right</doc>
9328 <type name="gint" c:type="int"/>
9329 </field>
9330 <method name="apply_attrs"
9331 c:identifier="pango_glyph_item_apply_attrs"
9332 version="1.2">
9333 <doc xml:space="preserve"
9334 filename="pango/pango-glyph-item.c"
9335 line="561">Splits a shaped item (`PangoGlyphItem`) into multiple items based
9336on an attribute list.
9337
9338The idea is that if you have attributes that don't affect shaping,
9339such as color or underline, to avoid affecting shaping, you filter
9340them out ([method@Pango.AttrList.filter]), apply the shaping process
9341and then reapply them to the result using this function.
9342
9343All attributes that start or end inside a cluster are applied
9344to that cluster; for instance, if half of a cluster is underlined
9345and the other-half strikethrough, then the cluster will end
9346up with both underline and strikethrough attributes. In these
9347cases, it may happen that @item->extra_attrs for some of the
9348result items can have multiple attributes of the same type.
9349
9350This function takes ownership of @glyph_item; it will be reused
9351as one of the elements in the list.</doc>
9352 <source-position filename="pango/pango-glyph-item.h" line="75"/>
9353 <return-value transfer-ownership="full">
9354 <doc xml:space="preserve"
9355 filename="pango/pango-glyph-item.c"
9356 line="585">a
9357 list of glyph items resulting from splitting @glyph_item. Free
9358 the elements using [method@Pango.GlyphItem.free], the list using
9359 g_slist_free().</doc>
9360 <type name="GLib.SList" c:type="GSList*">
9361 <type name="GlyphItem"/>
9362 </type>
9363 </return-value>
9364 <parameters>
9365 <instance-parameter name="glyph_item" transfer-ownership="full">
9366 <doc xml:space="preserve"
9367 filename="pango/pango-glyph-item.c"
9368 line="563">a shaped item</doc>
9369 <type name="GlyphItem" c:type="PangoGlyphItem*"/>
9370 </instance-parameter>
9371 <parameter name="text" transfer-ownership="none">
9372 <doc xml:space="preserve"
9373 filename="pango/pango-glyph-item.c"
9374 line="564">text that @list applies to</doc>
9375 <type name="utf8" c:type="const char*"/>
9376 </parameter>
9377 <parameter name="list" transfer-ownership="none">
9378 <doc xml:space="preserve"
9379 filename="pango/pango-glyph-item.c"
9380 line="565">a `PangoAttrList`</doc>
9381 <type name="AttrList" c:type="PangoAttrList*"/>
9382 </parameter>
9383 </parameters>
9384 </method>
9385 <method name="copy" c:identifier="pango_glyph_item_copy" version="1.20">
9386 <doc xml:space="preserve"
9387 filename="pango/pango-glyph-item.c"
9388 line="139">Make a deep copy of an existing `PangoGlyphItem` structure.</doc>
9389 <source-position filename="pango/pango-glyph-item.h" line="71"/>
9390 <return-value transfer-ownership="full" nullable="1">
9391 <doc xml:space="preserve"
9392 filename="pango/pango-glyph-item.c"
9393 line="145">the newly allocated `PangoGlyphItem`</doc>
9394 <type name="GlyphItem" c:type="PangoGlyphItem*"/>
9395 </return-value>
9396 <parameters>
9397 <instance-parameter name="orig"
9398 transfer-ownership="none"
9399 nullable="1"
9400 allow-none="1">
9401 <doc xml:space="preserve"
9402 filename="pango/pango-glyph-item.c"
9403 line="141">a `PangoGlyphItem`</doc>
9404 <type name="GlyphItem" c:type="PangoGlyphItem*"/>
9405 </instance-parameter>
9406 </parameters>
9407 </method>
9408 <method name="free" c:identifier="pango_glyph_item_free" version="1.6">
9409 <doc xml:space="preserve"
9410 filename="pango/pango-glyph-item.c"
9411 line="168">Frees a `PangoGlyphItem` and resources to which it points.</doc>
9412 <source-position filename="pango/pango-glyph-item.h" line="73"/>
9413 <return-value transfer-ownership="none">
9414 <type name="none" c:type="void"/>
9415 </return-value>
9416 <parameters>
9417 <instance-parameter name="glyph_item"
9418 transfer-ownership="none"
9419 nullable="1"
9420 allow-none="1">
9421 <doc xml:space="preserve"
9422 filename="pango/pango-glyph-item.c"
9423 line="170">a `PangoGlyphItem`</doc>
9424 <type name="GlyphItem" c:type="PangoGlyphItem*"/>
9425 </instance-parameter>
9426 </parameters>
9427 </method>
9428 <method name="get_logical_widths"
9429 c:identifier="pango_glyph_item_get_logical_widths"
9430 version="1.26">
9431 <doc xml:space="preserve"
9432 filename="pango/pango-glyph-item.c"
9433 line="803">Given a `PangoGlyphItem` and the corresponding text, determine the
9434width corresponding to each character.
9435
9436When multiple characters compose a single cluster, the width of the
9437entire cluster is divided equally among the characters.
9438
9439See also [method@Pango.GlyphString.get_logical_widths].</doc>
9440 <source-position filename="pango/pango-glyph-item.h" line="84"/>
9441 <return-value transfer-ownership="none">
9442 <type name="none" c:type="void"/>
9443 </return-value>
9444 <parameters>
9445 <instance-parameter name="glyph_item" transfer-ownership="none">
9446 <doc xml:space="preserve"
9447 filename="pango/pango-glyph-item.c"
9448 line="805">a `PangoGlyphItem`</doc>
9449 <type name="GlyphItem" c:type="PangoGlyphItem*"/>
9450 </instance-parameter>
9451 <parameter name="text" transfer-ownership="none">
9452 <doc xml:space="preserve"
9453 filename="pango/pango-glyph-item.c"
9454 line="806">text that @glyph_item corresponds to
9455 (glyph_item->item->offset is an offset from the
9456 start of @text)</doc>
9457 <type name="utf8" c:type="const char*"/>
9458 </parameter>
9459 <parameter name="logical_widths"
9460 direction="out"
9461 caller-allocates="1"
9462 transfer-ownership="none">
9463 <doc xml:space="preserve"
9464 filename="pango/pango-glyph-item.c"
9465 line="809">an array whose length
9466 is the number of characters in glyph_item (equal to
9467 `glyph_item->item->num_chars`) to be filled in with the resulting
9468 character widths.</doc>
9469 <array zero-terminated="0" c:type="int*">
9470 <type name="gint" c:type="int"/>
9471 </array>
9472 </parameter>
9473 </parameters>
9474 </method>
9475 <method name="letter_space"
9476 c:identifier="pango_glyph_item_letter_space"
9477 version="1.6">
9478 <doc xml:space="preserve"
9479 filename="pango/pango-glyph-item.c"
9480 line="721">Adds spacing between the graphemes of @glyph_item to
9481give the effect of typographic letter spacing.</doc>
9482 <source-position filename="pango/pango-glyph-item.h" line="79"/>
9483 <return-value transfer-ownership="none">
9484 <type name="none" c:type="void"/>
9485 </return-value>
9486 <parameters>
9487 <instance-parameter name="glyph_item" transfer-ownership="none">
9488 <doc xml:space="preserve"
9489 filename="pango/pango-glyph-item.c"
9490 line="723">a `PangoGlyphItem`</doc>
9491 <type name="GlyphItem" c:type="PangoGlyphItem*"/>
9492 </instance-parameter>
9493 <parameter name="text" transfer-ownership="none">
9494 <doc xml:space="preserve"
9495 filename="pango/pango-glyph-item.c"
9496 line="724">text that @glyph_item corresponds to
9497 (glyph_item->item->offset is an offset from the
9498 start of @text)</doc>
9499 <type name="utf8" c:type="const char*"/>
9500 </parameter>
9501 <parameter name="log_attrs" transfer-ownership="none">
9502 <doc xml:space="preserve"
9503 filename="pango/pango-glyph-item.c"
9504 line="727">logical attributes for the item
9505 (the first logical attribute refers to the position
9506 before the first character in the item)</doc>
9507 <array zero-terminated="0" c:type="PangoLogAttr*">
9508 <type name="LogAttr" c:type="PangoLogAttr"/>
9509 </array>
9510 </parameter>
9511 <parameter name="letter_spacing" transfer-ownership="none">
9512 <doc xml:space="preserve"
9513 filename="pango/pango-glyph-item.c"
9514 line="730">amount of letter spacing to add
9515 in Pango units. May be negative, though too large
9516 negative values will give ugly results.</doc>
9517 <type name="gint" c:type="int"/>
9518 </parameter>
9519 </parameters>
9520 </method>
9521 <method name="split" c:identifier="pango_glyph_item_split" version="1.2">
9522 <doc xml:space="preserve"
9523 filename="pango/pango-glyph-item.c"
9524 line="31">Modifies @orig to cover only the text after @split_index, and
9525returns a new item that covers the text before @split_index that
9526used to be in @orig.
9527
9528You can think of @split_index as the length of the returned item.
9529@split_index may not be 0, and it may not be greater than or equal
9530to the length of @orig (that is, there must be at least one byte
9531assigned to each item, you can't create a zero-length item).
9532
9533This function is similar in function to pango_item_split() (and uses
9534it internally.)</doc>
9535 <source-position filename="pango/pango-glyph-item.h" line="67"/>
9536 <return-value transfer-ownership="full" nullable="1">
9537 <doc xml:space="preserve"
9538 filename="pango/pango-glyph-item.c"
9539 line="50">the newly allocated item
9540 representing text before @split_index, which should be freed
9541 with pango_glyph_item_free().</doc>
9542 <type name="GlyphItem" c:type="PangoGlyphItem*"/>
9543 </return-value>
9544 <parameters>
9545 <instance-parameter name="orig" transfer-ownership="none">
9546 <doc xml:space="preserve"
9547 filename="pango/pango-glyph-item.c"
9548 line="33">a `PangoItem`</doc>
9549 <type name="GlyphItem" c:type="PangoGlyphItem*"/>
9550 </instance-parameter>
9551 <parameter name="text" transfer-ownership="none">
9552 <doc xml:space="preserve"
9553 filename="pango/pango-glyph-item.c"
9554 line="34">text to which positions in @orig apply</doc>
9555 <type name="utf8" c:type="const char*"/>
9556 </parameter>
9557 <parameter name="split_index" transfer-ownership="none">
9558 <doc xml:space="preserve"
9559 filename="pango/pango-glyph-item.c"
9560 line="35">byte index of position to split item, relative to the
9561 start of the item</doc>
9562 <type name="gint" c:type="int"/>
9563 </parameter>
9564 </parameters>
9565 </method>
9566 </record>
9567 <record name="GlyphItemIter"
9568 c:type="PangoGlyphItemIter"
9569 version="1.22"
9570 glib:type-name="PangoGlyphItemIter"
9571 glib:get-type="pango_glyph_item_iter_get_type"
9572 c:symbol-prefix="glyph_item_iter">
9573 <doc xml:space="preserve"
9574 filename="pango/pango-glyph-item.h"
9575 line="89">A `PangoGlyphItemIter` is an iterator over the clusters in a
9576`PangoGlyphItem`.
9577
9578The *forward direction* of the iterator is the logical direction of text.
9579That is, with increasing @start_index and @start_char values. If @glyph_item
9580is right-to-left (that is, if `glyph_item->item->analysis.level` is odd),
9581then @start_glyph decreases as the iterator moves forward. Moreover,
9582in right-to-left cases, @start_glyph is greater than @end_glyph.
9583
9584An iterator should be initialized using either
9585pango_glyph_item_iter_init_start() or
9586pango_glyph_item_iter_init_end(), for forward and backward iteration
9587respectively, and walked over using any desired mixture of
9588pango_glyph_item_iter_next_cluster() and
9589pango_glyph_item_iter_prev_cluster().
9590
9591A common idiom for doing a forward iteration over the clusters is:
9592
9593```
9594PangoGlyphItemIter cluster_iter;
9595gboolean have_cluster;
9596
9597for (have_cluster = pango_glyph_item_iter_init_start (&cluster_iter,
9598 glyph_item, text);
9599 have_cluster;
9600 have_cluster = pango_glyph_item_iter_next_cluster (&cluster_iter))
9601{
9602 ...
9603}
9604```
9605
9606Note that @text is the start of the text for layout, which is then
9607indexed by `glyph_item->item->offset` to get to the text of @glyph_item.
9608The @start_index and @end_index values can directly index into @text. The
9609@start_glyph, @end_glyph, @start_char, and @end_char values however are
9610zero-based for the @glyph_item. For each cluster, the item pointed at by
9611the start variables is included in the cluster while the one pointed at by
9612end variables is not.
9613
9614None of the members of a `PangoGlyphItemIter` should be modified manually.</doc>
9615 <source-position filename="pango/pango-glyph-item.h" line="149"/>
9616 <field name="glyph_item" writable="1">
9617 <type name="GlyphItem" c:type="PangoGlyphItem*"/>
9618 </field>
9619 <field name="text" writable="1">
9620 <type name="utf8" c:type="const gchar*"/>
9621 </field>
9622 <field name="start_glyph" writable="1">
9623 <type name="gint" c:type="int"/>
9624 </field>
9625 <field name="start_index" writable="1">
9626 <type name="gint" c:type="int"/>
9627 </field>
9628 <field name="start_char" writable="1">
9629 <type name="gint" c:type="int"/>
9630 </field>
9631 <field name="end_glyph" writable="1">
9632 <type name="gint" c:type="int"/>
9633 </field>
9634 <field name="end_index" writable="1">
9635 <type name="gint" c:type="int"/>
9636 </field>
9637 <field name="end_char" writable="1">
9638 <type name="gint" c:type="int"/>
9639 </field>
9640 <method name="copy"
9641 c:identifier="pango_glyph_item_iter_copy"
9642 version="1.22">
9643 <doc xml:space="preserve"
9644 filename="pango/pango-glyph-item.c"
9645 line="195">Make a shallow copy of an existing `PangoGlyphItemIter` structure.</doc>
9646 <source-position filename="pango/pango-glyph-item.h" line="156"/>
9647 <return-value transfer-ownership="full" nullable="1">
9648 <doc xml:space="preserve"
9649 filename="pango/pango-glyph-item.c"
9650 line="201">the newly allocated `PangoGlyphItemIter`</doc>
9651 <type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
9652 </return-value>
9653 <parameters>
9654 <instance-parameter name="orig"
9655 transfer-ownership="none"
9656 nullable="1"
9657 allow-none="1">
9658 <doc xml:space="preserve"
9659 filename="pango/pango-glyph-item.c"
9660 line="197">a `PangoGlyphItem`Iter</doc>
9661 <type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
9662 </instance-parameter>
9663 </parameters>
9664 </method>
9665 <method name="free"
9666 c:identifier="pango_glyph_item_iter_free"
9667 version="1.22">
9668 <doc xml:space="preserve"
9669 filename="pango/pango-glyph-item.c"
9670 line="220">Frees a `PangoGlyphItem`Iter.</doc>
9671 <source-position filename="pango/pango-glyph-item.h" line="158"/>
9672 <return-value transfer-ownership="none">
9673 <type name="none" c:type="void"/>
9674 </return-value>
9675 <parameters>
9676 <instance-parameter name="iter"
9677 transfer-ownership="none"
9678 nullable="1"
9679 allow-none="1">
9680 <doc xml:space="preserve"
9681 filename="pango/pango-glyph-item.c"
9682 line="222">a `PangoGlyphItemIter`</doc>
9683 <type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
9684 </instance-parameter>
9685 </parameters>
9686 </method>
9687 <method name="init_end"
9688 c:identifier="pango_glyph_item_iter_init_end"
9689 version="1.22">
9690 <doc xml:space="preserve"
9691 filename="pango/pango-glyph-item.c"
9692 line="464">Initializes a `PangoGlyphItemIter` structure to point to the
9693last cluster in a glyph item.
9694
9695See `PangoGlyphItemIter` for details of cluster orders.</doc>
9696 <source-position filename="pango/pango-glyph-item.h" line="165"/>
9697 <return-value transfer-ownership="none">
9698 <doc xml:space="preserve"
9699 filename="pango/pango-glyph-item.c"
9700 line="475">%FALSE if there are no clusters in the glyph item</doc>
9701 <type name="gboolean" c:type="gboolean"/>
9702 </return-value>
9703 <parameters>
9704 <instance-parameter name="iter" transfer-ownership="none">
9705 <doc xml:space="preserve"
9706 filename="pango/pango-glyph-item.c"
9707 line="466">a `PangoGlyphItemIter`</doc>
9708 <type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
9709 </instance-parameter>
9710 <parameter name="glyph_item" transfer-ownership="none">
9711 <doc xml:space="preserve"
9712 filename="pango/pango-glyph-item.c"
9713 line="467">the glyph item to iterate over</doc>
9714 <type name="GlyphItem" c:type="PangoGlyphItem*"/>
9715 </parameter>
9716 <parameter name="text" transfer-ownership="none">
9717 <doc xml:space="preserve"
9718 filename="pango/pango-glyph-item.c"
9719 line="468">text corresponding to the glyph item</doc>
9720 <type name="utf8" c:type="const char*"/>
9721 </parameter>
9722 </parameters>
9723 </method>
9724 <method name="init_start"
9725 c:identifier="pango_glyph_item_iter_init_start"
9726 version="1.22">
9727 <doc xml:space="preserve"
9728 filename="pango/pango-glyph-item.c"
9729 line="425">Initializes a `PangoGlyphItemIter` structure to point to the
9730first cluster in a glyph item.
9731
9732See `PangoGlyphItemIter` for details of cluster orders.</doc>
9733 <source-position filename="pango/pango-glyph-item.h" line="161"/>
9734 <return-value transfer-ownership="none">
9735 <doc xml:space="preserve"
9736 filename="pango/pango-glyph-item.c"
9737 line="436">%FALSE if there are no clusters in the glyph item</doc>
9738 <type name="gboolean" c:type="gboolean"/>
9739 </return-value>
9740 <parameters>
9741 <instance-parameter name="iter" transfer-ownership="none">
9742 <doc xml:space="preserve"
9743 filename="pango/pango-glyph-item.c"
9744 line="427">a `PangoGlyphItemIter`</doc>
9745 <type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
9746 </instance-parameter>
9747 <parameter name="glyph_item" transfer-ownership="none">
9748 <doc xml:space="preserve"
9749 filename="pango/pango-glyph-item.c"
9750 line="428">the glyph item to iterate over</doc>
9751 <type name="GlyphItem" c:type="PangoGlyphItem*"/>
9752 </parameter>
9753 <parameter name="text" transfer-ownership="none">
9754 <doc xml:space="preserve"
9755 filename="pango/pango-glyph-item.c"
9756 line="429">text corresponding to the glyph item</doc>
9757 <type name="utf8" c:type="const char*"/>
9758 </parameter>
9759 </parameters>
9760 </method>
9761 <method name="next_cluster"
9762 c:identifier="pango_glyph_item_iter_next_cluster"
9763 version="1.22">
9764 <doc xml:space="preserve"
9765 filename="pango/pango-glyph-item.c"
9766 line="241">Advances the iterator to the next cluster in the glyph item.
9767
9768See `PangoGlyphItemIter` for details of cluster orders.</doc>
9769 <source-position filename="pango/pango-glyph-item.h" line="169"/>
9770 <return-value transfer-ownership="none">
9771 <doc xml:space="preserve"
9772 filename="pango/pango-glyph-item.c"
9773 line="249">%TRUE if the iterator was advanced,
9774 %FALSE if we were already on the last cluster.</doc>
9775 <type name="gboolean" c:type="gboolean"/>
9776 </return-value>
9777 <parameters>
9778 <instance-parameter name="iter" transfer-ownership="none">
9779 <doc xml:space="preserve"
9780 filename="pango/pango-glyph-item.c"
9781 line="243">a `PangoGlyphItemIter`</doc>
9782 <type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
9783 </instance-parameter>
9784 </parameters>
9785 </method>
9786 <method name="prev_cluster"
9787 c:identifier="pango_glyph_item_iter_prev_cluster"
9788 version="1.22">
9789 <doc xml:space="preserve"
9790 filename="pango/pango-glyph-item.c"
9791 line="332">Moves the iterator to the preceding cluster in the glyph item.
9792See `PangoGlyphItemIter` for details of cluster orders.</doc>
9793 <source-position filename="pango/pango-glyph-item.h" line="171"/>
9794 <return-value transfer-ownership="none">
9795 <doc xml:space="preserve"
9796 filename="pango/pango-glyph-item.c"
9797 line="339">%TRUE if the iterator was moved,
9798 %FALSE if we were already on the first cluster.</doc>
9799 <type name="gboolean" c:type="gboolean"/>
9800 </return-value>
9801 <parameters>
9802 <instance-parameter name="iter" transfer-ownership="none">
9803 <doc xml:space="preserve"
9804 filename="pango/pango-glyph-item.c"
9805 line="334">a `PangoGlyphItemIter`</doc>
9806 <type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
9807 </instance-parameter>
9808 </parameters>
9809 </method>
9810 </record>
9811 <record name="GlyphString"
9812 c:type="PangoGlyphString"
9813 glib:type-name="PangoGlyphString"
9814 glib:get-type="pango_glyph_string_get_type"
9815 c:symbol-prefix="glyph_string">
9816 <doc xml:space="preserve"
9817 filename="pango/pango-glyph.h"
9818 line="127">A `PangoGlyphString` is used to store strings of glyphs with geometry
9819and visual attribute information.
9820
9821The storage for the glyph information is owned by the structure
9822which simplifies memory management.</doc>
9823 <source-position filename="pango/pango-glyph.h" line="148"/>
9824 <field name="num_glyphs" writable="1">
9825 <doc xml:space="preserve"
9826 filename="pango/pango-glyph.h"
9827 line="129">number of glyphs in this glyph string</doc>
9828 <type name="gint" c:type="int"/>
9829 </field>
9830 <field name="glyphs" writable="1">
9831 <doc xml:space="preserve"
9832 filename="pango/pango-glyph.h"
9833 line="130">array of glyph information</doc>
9834 <array length="0" zero-terminated="0" c:type="PangoGlyphInfo*">
9835 <type name="GlyphInfo" c:type="PangoGlyphInfo"/>
9836 </array>
9837 </field>
9838 <field name="log_clusters" writable="1">
9839 <doc xml:space="preserve"
9840 filename="pango/pango-glyph.h"
9841 line="131">logical cluster info, indexed by the byte index
9842 within the text corresponding to the glyph string</doc>
9843 <type name="gint" c:type="int*"/>
9844 </field>
9845 <field name="space" readable="0" private="1">
9846 <type name="gint" c:type="int"/>
9847 </field>
9848 <constructor name="new" c:identifier="pango_glyph_string_new">
9849 <doc xml:space="preserve"
9850 filename="pango/glyphstring.c"
9851 line="30">Create a new `PangoGlyphString`.</doc>
9852 <source-position filename="pango/pango-glyph.h" line="156"/>
9853 <return-value transfer-ownership="full">
9854 <doc xml:space="preserve"
9855 filename="pango/glyphstring.c"
9856 line="35">the newly allocated `PangoGlyphString`, which
9857 should be freed with [method@Pango.GlyphString.free].</doc>
9858 <type name="GlyphString" c:type="PangoGlyphString*"/>
9859 </return-value>
9860 </constructor>
9861 <method name="copy" c:identifier="pango_glyph_string_copy">
9862 <doc xml:space="preserve"
9863 filename="pango/glyphstring.c"
9864 line="100">Copy a glyph string and associated storage.</doc>
9865 <source-position filename="pango/pango-glyph.h" line="162"/>
9866 <return-value transfer-ownership="full" nullable="1">
9867 <doc xml:space="preserve"
9868 filename="pango/glyphstring.c"
9869 line="106">the newly allocated `PangoGlyphString`</doc>
9870 <type name="GlyphString" c:type="PangoGlyphString*"/>
9871 </return-value>
9872 <parameters>
9873 <instance-parameter name="string"
9874 transfer-ownership="none"
9875 nullable="1"
9876 allow-none="1">
9877 <doc xml:space="preserve"
9878 filename="pango/glyphstring.c"
9879 line="102">a `PangoGlyphString`</doc>
9880 <type name="GlyphString" c:type="PangoGlyphString*"/>
9881 </instance-parameter>
9882 </parameters>
9883 </method>
9884 <method name="extents" c:identifier="pango_glyph_string_extents">
9885 <doc xml:space="preserve"
9886 filename="pango/glyphstring.c"
9887 line="261">Compute the logical and ink extents of a glyph string.
9888
9889See the documentation for [method@Pango.Font.get_glyph_extents] for details
9890about the interpretation of the rectangles.
9891
9892Examples of logical (red) and ink (green) rects:
9893
9894 </doc>
9895 <source-position filename="pango/pango-glyph.h" line="167"/>
9896 <return-value transfer-ownership="none">
9897 <type name="none" c:type="void"/>
9898 </return-value>
9899 <parameters>
9900 <instance-parameter name="glyphs" transfer-ownership="none">
9901 <doc xml:space="preserve"
9902 filename="pango/glyphstring.c"
9903 line="263">a `PangoGlyphString`</doc>
9904 <type name="GlyphString" c:type="PangoGlyphString*"/>
9905 </instance-parameter>
9906 <parameter name="font" transfer-ownership="none">
9907 <doc xml:space="preserve"
9908 filename="pango/glyphstring.c"
9909 line="264">a `PangoFont`</doc>
9910 <type name="Font" c:type="PangoFont*"/>
9911 </parameter>
9912 <parameter name="ink_rect"
9913 direction="out"
9914 caller-allocates="1"
9915 transfer-ownership="none"
9916 optional="1"
9917 allow-none="1">
9918 <doc xml:space="preserve"
9919 filename="pango/glyphstring.c"
9920 line="265">rectangle used to store the extents of the glyph string as drawn</doc>
9921 <type name="Rectangle" c:type="PangoRectangle*"/>
9922 </parameter>
9923 <parameter name="logical_rect"
9924 direction="out"
9925 caller-allocates="1"
9926 transfer-ownership="none"
9927 optional="1"
9928 allow-none="1">
9929 <doc xml:space="preserve"
9930 filename="pango/glyphstring.c"
9931 line="266">rectangle used to store the logical extents of the glyph string</doc>
9932 <type name="Rectangle" c:type="PangoRectangle*"/>
9933 </parameter>
9934 </parameters>
9935 </method>
9936 <method name="extents_range"
9937 c:identifier="pango_glyph_string_extents_range">
9938 <doc xml:space="preserve"
9939 filename="pango/glyphstring.c"
9940 line="145">Computes the extents of a sub-portion of a glyph string.
9941
9942The extents are relative to the start of the glyph string range
9943(the origin of their coordinate system is at the start of the range,
9944not at the start of the entire glyph string).</doc>
9945 <source-position filename="pango/pango-glyph.h" line="175"/>
9946 <return-value transfer-ownership="none">
9947 <type name="none" c:type="void"/>
9948 </return-value>
9949 <parameters>
9950 <instance-parameter name="glyphs" transfer-ownership="none">
9951 <doc xml:space="preserve"
9952 filename="pango/glyphstring.c"
9953 line="147">a `PangoGlyphString`</doc>
9954 <type name="GlyphString" c:type="PangoGlyphString*"/>
9955 </instance-parameter>
9956 <parameter name="start" transfer-ownership="none">
9957 <doc xml:space="preserve"
9958 filename="pango/glyphstring.c"
9959 line="148">start index</doc>
9960 <type name="gint" c:type="int"/>
9961 </parameter>
9962 <parameter name="end" transfer-ownership="none">
9963 <doc xml:space="preserve"
9964 filename="pango/glyphstring.c"
9965 line="149">end index (the range is the set of bytes with
9966 indices such that start <= index < end)</doc>
9967 <type name="gint" c:type="int"/>
9968 </parameter>
9969 <parameter name="font" transfer-ownership="none">
9970 <doc xml:space="preserve"
9971 filename="pango/glyphstring.c"
9972 line="151">a `PangoFont`</doc>
9973 <type name="Font" c:type="PangoFont*"/>
9974 </parameter>
9975 <parameter name="ink_rect"
9976 direction="out"
9977 caller-allocates="1"
9978 transfer-ownership="none"
9979 optional="1"
9980 allow-none="1">
9981 <doc xml:space="preserve"
9982 filename="pango/glyphstring.c"
9983 line="152">rectangle used to
9984 store the extents of the glyph string range as drawn</doc>
9985 <type name="Rectangle" c:type="PangoRectangle*"/>
9986 </parameter>
9987 <parameter name="logical_rect"
9988 direction="out"
9989 caller-allocates="1"
9990 transfer-ownership="none"
9991 optional="1"
9992 allow-none="1">
9993 <doc xml:space="preserve"
9994 filename="pango/glyphstring.c"
9995 line="154">rectangle used to
9996 store the logical extents of the glyph string range</doc>
9997 <type name="Rectangle" c:type="PangoRectangle*"/>
9998 </parameter>
9999 </parameters>
10000 </method>
10001 <method name="free" c:identifier="pango_glyph_string_free">
10002 <doc xml:space="preserve"
10003 filename="pango/glyphstring.c"
10004 line="128">Free a glyph string and associated storage.</doc>
10005 <source-position filename="pango/pango-glyph.h" line="164"/>
10006 <return-value transfer-ownership="none">
10007 <type name="none" c:type="void"/>
10008 </return-value>
10009 <parameters>
10010 <instance-parameter name="string"
10011 transfer-ownership="none"
10012 nullable="1"
10013 allow-none="1">
10014 <doc xml:space="preserve"
10015 filename="pango/glyphstring.c"
10016 line="130">a `PangoGlyphString`, may be %NULL</doc>
10017 <type name="GlyphString" c:type="PangoGlyphString*"/>
10018 </instance-parameter>
10019 </parameters>
10020 </method>
10021 <method name="get_logical_widths"
10022 c:identifier="pango_glyph_string_get_logical_widths">
10023 <doc xml:space="preserve"
10024 filename="pango/glyphstring.c"
10025 line="314">Given a `PangoGlyphString` and corresponding text, determine the width
10026corresponding to each character.
10027
10028When multiple characters compose a single cluster, the width of the
10029entire cluster is divided equally among the characters.
10030
10031See also [method@Pango.GlyphItem.get_logical_widths].</doc>
10032 <source-position filename="pango/pango-glyph.h" line="183"/>
10033 <return-value transfer-ownership="none">
10034 <type name="none" c:type="void"/>
10035 </return-value>
10036 <parameters>
10037 <instance-parameter name="glyphs" transfer-ownership="none">
10038 <doc xml:space="preserve"
10039 filename="pango/glyphstring.c"
10040 line="316">a `PangoGlyphString`</doc>
10041 <type name="GlyphString" c:type="PangoGlyphString*"/>
10042 </instance-parameter>
10043 <parameter name="text" transfer-ownership="none">
10044 <doc xml:space="preserve"
10045 filename="pango/glyphstring.c"
10046 line="317">the text corresponding to the glyphs</doc>
10047 <type name="utf8" c:type="const char*"/>
10048 </parameter>
10049 <parameter name="length" transfer-ownership="none">
10050 <doc xml:space="preserve"
10051 filename="pango/glyphstring.c"
10052 line="318">the length of @text, in bytes</doc>
10053 <type name="gint" c:type="int"/>
10054 </parameter>
10055 <parameter name="embedding_level" transfer-ownership="none">
10056 <doc xml:space="preserve"
10057 filename="pango/glyphstring.c"
10058 line="319">the embedding level of the string</doc>
10059 <type name="gint" c:type="int"/>
10060 </parameter>
10061 <parameter name="logical_widths"
10062 direction="out"
10063 caller-allocates="1"
10064 transfer-ownership="none">
10065 <doc xml:space="preserve"
10066 filename="pango/glyphstring.c"
10067 line="320">an array whose length is
10068 the number of characters in text (equal to `g_utf8_strlen (text, length)`
10069 unless text has `NUL` bytes) to be filled in with the resulting character
10070 widths.</doc>
10071 <array zero-terminated="0" c:type="int*">
10072 <type name="gint" c:type="int"/>
10073 </array>
10074 </parameter>
10075 </parameters>
10076 </method>
10077 <method name="get_width"
10078 c:identifier="pango_glyph_string_get_width"
10079 version="1.14">
10080 <doc xml:space="preserve"
10081 filename="pango/glyphstring.c"
10082 line="287">Computes the logical width of the glyph string.
10083
10084This can also be computed using [method@Pango.GlyphString.extents].
10085However, since this only computes the width, it's much faster. This
10086is in fact only a convenience function that computes the sum of
10087@geometry.width for each glyph in the @glyphs.</doc>
10088 <source-position filename="pango/pango-glyph.h" line="172"/>
10089 <return-value transfer-ownership="none">
10090 <doc xml:space="preserve"
10091 filename="pango/glyphstring.c"
10092 line="298">the logical width of the glyph string.</doc>
10093 <type name="gint" c:type="int"/>
10094 </return-value>
10095 <parameters>
10096 <instance-parameter name="glyphs" transfer-ownership="none">
10097 <doc xml:space="preserve"
10098 filename="pango/glyphstring.c"
10099 line="289">a `PangoGlyphString`</doc>
10100 <type name="GlyphString" c:type="PangoGlyphString*"/>
10101 </instance-parameter>
10102 </parameters>
10103 </method>
10104 <method name="index_to_x" c:identifier="pango_glyph_string_index_to_x">
10105 <doc xml:space="preserve"
10106 filename="pango/glyphstring.c"
10107 line="360">Converts from character position to x position.
10108
10109The X position is measured from the left edge of the run.
10110Character positions are obtained using font metrics for ligatures
10111where available, and computed by dividing up each cluster
10112into equal portions, otherwise.
10113
10114<picture>
10115 <source srcset="glyphstring-positions-dark.png" media="(prefers-color-scheme: dark)">
10116 <img alt="Glyph positions" src="glyphstring-positions-light.png">
10117</picture></doc>
10118 <source-position filename="pango/pango-glyph.h" line="190"/>
10119 <return-value transfer-ownership="none">
10120 <type name="none" c:type="void"/>
10121 </return-value>
10122 <parameters>
10123 <instance-parameter name="glyphs" transfer-ownership="none">
10124 <doc xml:space="preserve"
10125 filename="pango/glyphstring.c"
10126 line="362">the glyphs return from [func@shape]</doc>
10127 <type name="GlyphString" c:type="PangoGlyphString*"/>
10128 </instance-parameter>
10129 <parameter name="text" transfer-ownership="none">
10130 <doc xml:space="preserve"
10131 filename="pango/glyphstring.c"
10132 line="363">the text for the run</doc>
10133 <type name="utf8" c:type="const char*"/>
10134 </parameter>
10135 <parameter name="length" transfer-ownership="none">
10136 <doc xml:space="preserve"
10137 filename="pango/glyphstring.c"
10138 line="364">the number of bytes (not characters) in @text.</doc>
10139 <type name="gint" c:type="int"/>
10140 </parameter>
10141 <parameter name="analysis" transfer-ownership="none">
10142 <doc xml:space="preserve"
10143 filename="pango/glyphstring.c"
10144 line="365">the analysis information return from [func@itemize]</doc>
10145 <type name="Analysis" c:type="PangoAnalysis*"/>
10146 </parameter>
10147 <parameter name="index_" transfer-ownership="none">
10148 <doc xml:space="preserve"
10149 filename="pango/glyphstring.c"
10150 line="366">the byte index within @text</doc>
10151 <type name="gint" c:type="int"/>
10152 </parameter>
10153 <parameter name="trailing" transfer-ownership="none">
10154 <doc xml:space="preserve"
10155 filename="pango/glyphstring.c"
10156 line="367">whether we should compute the result for the beginning (%FALSE)
10157 or end (%TRUE) of the character.</doc>
10158 <type name="gboolean" c:type="gboolean"/>
10159 </parameter>
10160 <parameter name="x_pos"
10161 direction="out"
10162 caller-allocates="0"
10163 transfer-ownership="full"
10164 optional="1"
10165 allow-none="1">
10166 <doc xml:space="preserve"
10167 filename="pango/glyphstring.c"
10168 line="369">location to store result</doc>
10169 <type name="gint" c:type="int*"/>
10170 </parameter>
10171 </parameters>
10172 </method>
10173 <method name="index_to_x_full"
10174 c:identifier="pango_glyph_string_index_to_x_full"
10175 version="1.50">
10176 <doc xml:space="preserve"
10177 filename="pango/glyphstring.c"
10178 line="400">Converts from character position to x position.
10179
10180This variant of [method@Pango.GlyphString.index_to_x] additionally
10181accepts a `PangoLogAttr` array. The grapheme boundary information
10182in it can be used to disambiguate positioning inside some complex
10183clusters.</doc>
10184 <source-position filename="pango/pango-glyph.h" line="207"/>
10185 <return-value transfer-ownership="none">
10186 <type name="none" c:type="void"/>
10187 </return-value>
10188 <parameters>
10189 <instance-parameter name="glyphs" transfer-ownership="none">
10190 <doc xml:space="preserve"
10191 filename="pango/glyphstring.c"
10192 line="402">the glyphs return from [func@shape]</doc>
10193 <type name="GlyphString" c:type="PangoGlyphString*"/>
10194 </instance-parameter>
10195 <parameter name="text" transfer-ownership="none">
10196 <doc xml:space="preserve"
10197 filename="pango/glyphstring.c"
10198 line="403">the text for the run</doc>
10199 <type name="utf8" c:type="const char*"/>
10200 </parameter>
10201 <parameter name="length" transfer-ownership="none">
10202 <doc xml:space="preserve"
10203 filename="pango/glyphstring.c"
10204 line="404">the number of bytes (not characters) in @text.</doc>
10205 <type name="gint" c:type="int"/>
10206 </parameter>
10207 <parameter name="analysis" transfer-ownership="none">
10208 <doc xml:space="preserve"
10209 filename="pango/glyphstring.c"
10210 line="405">the analysis information return from [func@itemize]</doc>
10211 <type name="Analysis" c:type="PangoAnalysis*"/>
10212 </parameter>
10213 <parameter name="attrs"
10214 transfer-ownership="none"
10215 nullable="1"
10216 allow-none="1">
10217 <doc xml:space="preserve"
10218 filename="pango/glyphstring.c"
10219 line="406">`PangoLogAttr` array for @text</doc>
10220 <type name="LogAttr" c:type="PangoLogAttr*"/>
10221 </parameter>
10222 <parameter name="index_" transfer-ownership="none">
10223 <doc xml:space="preserve"
10224 filename="pango/glyphstring.c"
10225 line="407">the byte index within @text</doc>
10226 <type name="gint" c:type="int"/>
10227 </parameter>
10228 <parameter name="trailing" transfer-ownership="none">
10229 <doc xml:space="preserve"
10230 filename="pango/glyphstring.c"
10231 line="408">whether we should compute the result for the beginning (%FALSE)
10232 or end (%TRUE) of the character.</doc>
10233 <type name="gboolean" c:type="gboolean"/>
10234 </parameter>
10235 <parameter name="x_pos"
10236 direction="out"
10237 caller-allocates="0"
10238 transfer-ownership="full"
10239 optional="1"
10240 allow-none="1">
10241 <doc xml:space="preserve"
10242 filename="pango/glyphstring.c"
10243 line="410">location to store result</doc>
10244 <type name="gint" c:type="int*"/>
10245 </parameter>
10246 </parameters>
10247 </method>
10248 <method name="set_size" c:identifier="pango_glyph_string_set_size">
10249 <doc xml:space="preserve"
10250 filename="pango/glyphstring.c"
10251 line="51">Resize a glyph string to the given length.</doc>
10252 <source-position filename="pango/pango-glyph.h" line="158"/>
10253 <return-value transfer-ownership="none">
10254 <type name="none" c:type="void"/>
10255 </return-value>
10256 <parameters>
10257 <instance-parameter name="string" transfer-ownership="none">
10258 <doc xml:space="preserve"
10259 filename="pango/glyphstring.c"
10260 line="53">a `PangoGlyphString`.</doc>
10261 <type name="GlyphString" c:type="PangoGlyphString*"/>
10262 </instance-parameter>
10263 <parameter name="new_len" transfer-ownership="none">
10264 <doc xml:space="preserve"
10265 filename="pango/glyphstring.c"
10266 line="54">the new length of the string</doc>
10267 <type name="gint" c:type="int"/>
10268 </parameter>
10269 </parameters>
10270 </method>
10271 <method name="x_to_index" c:identifier="pango_glyph_string_x_to_index">
10272 <doc xml:space="preserve"
10273 filename="pango/glyphstring.c"
10274 line="626">Convert from x offset to character position.
10275
10276Character positions are computed by dividing up each cluster into
10277equal portions. In scripts where positioning within a cluster is
10278not allowed (such as Thai), the returned value may not be a valid
10279cursor position; the caller must combine the result with the logical
10280attributes for the text to compute the valid cursor position.</doc>
10281 <source-position filename="pango/pango-glyph.h" line="198"/>
10282 <return-value transfer-ownership="none">
10283 <type name="none" c:type="void"/>
10284 </return-value>
10285 <parameters>
10286 <instance-parameter name="glyphs" transfer-ownership="none">
10287 <doc xml:space="preserve"
10288 filename="pango/glyphstring.c"
10289 line="628">the glyphs returned from [func@shape]</doc>
10290 <type name="GlyphString" c:type="PangoGlyphString*"/>
10291 </instance-parameter>
10292 <parameter name="text" transfer-ownership="none">
10293 <doc xml:space="preserve"
10294 filename="pango/glyphstring.c"
10295 line="629">the text for the run</doc>
10296 <type name="utf8" c:type="const char*"/>
10297 </parameter>
10298 <parameter name="length" transfer-ownership="none">
10299 <doc xml:space="preserve"
10300 filename="pango/glyphstring.c"
10301 line="630">the number of bytes (not characters) in text.</doc>
10302 <type name="gint" c:type="int"/>
10303 </parameter>
10304 <parameter name="analysis" transfer-ownership="none">
10305 <doc xml:space="preserve"
10306 filename="pango/glyphstring.c"
10307 line="631">the analysis information return from [func@itemize]</doc>
10308 <type name="Analysis" c:type="PangoAnalysis*"/>
10309 </parameter>
10310 <parameter name="x_pos" transfer-ownership="none">
10311 <doc xml:space="preserve"
10312 filename="pango/glyphstring.c"
10313 line="632">the x offset (in Pango units)</doc>
10314 <type name="gint" c:type="int"/>
10315 </parameter>
10316 <parameter name="index_"
10317 direction="out"
10318 caller-allocates="0"
10319 transfer-ownership="full"
10320 optional="1"
10321 allow-none="1">
10322 <doc xml:space="preserve"
10323 filename="pango/glyphstring.c"
10324 line="633">location to store calculated byte index
10325 within @text</doc>
10326 <type name="gint" c:type="int*"/>
10327 </parameter>
10328 <parameter name="trailing"
10329 direction="out"
10330 caller-allocates="0"
10331 transfer-ownership="full"
10332 optional="1"
10333 allow-none="1">
10334 <doc xml:space="preserve"
10335 filename="pango/glyphstring.c"
10336 line="635">location to store a boolean indicating
10337 whether the user clicked on the leading or trailing edge of the
10338 character</doc>
10339 <type name="gint" c:type="int*"/>
10340 </parameter>
10341 </parameters>
10342 </method>
10343 </record>
10344 <record name="GlyphVisAttr" c:type="PangoGlyphVisAttr">
10345 <doc xml:space="preserve"
10346 filename="pango/pango-glyph.h"
10347 line="87">A `PangoGlyphVisAttr` structure communicates information between
10348the shaping and rendering phases.
10349
10350Currently, it contains cluster start and color information.
10351More attributes may be added in the future.
10352
10353Clusters are stored in visual order, within the cluster, glyphs
10354are always ordered in logical order, since visual order is meaningless;
10355that is, in Arabic text, accent glyphs follow the glyphs for the
10356base character.</doc>
10357 <source-position filename="pango/pango-glyph.h" line="107"/>
10358 <field name="is_cluster_start" writable="1" bits="1">
10359 <doc xml:space="preserve"
10360 filename="pango/pango-glyph.h"
10361 line="89">set for the first logical glyph in each cluster.</doc>
10362 <type name="guint" c:type="guint"/>
10363 </field>
10364 <field name="is_color" writable="1" bits="1">
10365 <doc xml:space="preserve"
10366 filename="pango/pango-glyph.h"
10367 line="90">set if the the font will render this glyph with color. Since 1.50</doc>
10368 <type name="guint" c:type="guint"/>
10369 </field>
10370 </record>
10371 <enumeration name="Gravity"
10372 version="1.16"
10373 glib:type-name="PangoGravity"
10374 glib:get-type="pango_gravity_get_type"
10375 c:type="PangoGravity">
10376 <doc xml:space="preserve"
10377 filename="pango/pango-gravity.h"
10378 line="29">`PangoGravity` represents the orientation of glyphs in a segment
10379of text.
10380
10381This is useful when rendering vertical text layouts. In those situations,
10382the layout is rotated using a non-identity [struct@Pango.Matrix], and then
10383glyph orientation is controlled using `PangoGravity`.
10384
10385Not every value in this enumeration makes sense for every usage of
10386`PangoGravity`; for example, %PANGO_GRAVITY_AUTO only can be passed to
10387[method@Pango.Context.set_base_gravity] and can only be returned by
10388[method@Pango.Context.get_base_gravity].
10389
10390See also: [enum@Pango.GravityHint]</doc>
10391 <member name="south"
10392 value="0"
10393 c:identifier="PANGO_GRAVITY_SOUTH"
10394 glib:nick="south"
10395 glib:name="PANGO_GRAVITY_SOUTH">
10396 <doc xml:space="preserve"
10397 filename="pango/pango-gravity.h"
10398 line="31">Glyphs stand upright (default) <img align="right" valign="center" src="m-south.png"></doc>
10399 </member>
10400 <member name="east"
10401 value="1"
10402 c:identifier="PANGO_GRAVITY_EAST"
10403 glib:nick="east"
10404 glib:name="PANGO_GRAVITY_EAST">
10405 <doc xml:space="preserve"
10406 filename="pango/pango-gravity.h"
10407 line="32">Glyphs are rotated 90 degrees counter-clockwise. <img align="right" valign="center" src="m-east.png"></doc>
10408 </member>
10409 <member name="north"
10410 value="2"
10411 c:identifier="PANGO_GRAVITY_NORTH"
10412 glib:nick="north"
10413 glib:name="PANGO_GRAVITY_NORTH">
10414 <doc xml:space="preserve"
10415 filename="pango/pango-gravity.h"
10416 line="33">Glyphs are upside-down. <img align="right" valign="cener" src="m-north.png"></doc>
10417 </member>
10418 <member name="west"
10419 value="3"
10420 c:identifier="PANGO_GRAVITY_WEST"
10421 glib:nick="west"
10422 glib:name="PANGO_GRAVITY_WEST">
10423 <doc xml:space="preserve"
10424 filename="pango/pango-gravity.h"
10425 line="34">Glyphs are rotated 90 degrees clockwise. <img align="right" valign="center" src="m-west.png"></doc>
10426 </member>
10427 <member name="auto"
10428 value="4"
10429 c:identifier="PANGO_GRAVITY_AUTO"
10430 glib:nick="auto"
10431 glib:name="PANGO_GRAVITY_AUTO">
10432 <doc xml:space="preserve"
10433 filename="pango/pango-gravity.h"
10434 line="35">Gravity is resolved from the context matrix</doc>
10435 </member>
10436 <function name="get_for_matrix"
10437 c:identifier="pango_gravity_get_for_matrix"
10438 version="1.16">
10439 <doc xml:space="preserve"
10440 filename="pango/pango-gravity.c"
10441 line="62">Finds the gravity that best matches the rotation component
10442in a `PangoMatrix`.</doc>
10443 <source-position filename="pango/pango-gravity.h" line="122"/>
10444 <return-value transfer-ownership="none">
10445 <doc xml:space="preserve"
10446 filename="pango/pango-gravity.c"
10447 line="69">the gravity of @matrix, which will never be
10448%PANGO_GRAVITY_AUTO, or %PANGO_GRAVITY_SOUTH if @matrix is %NULL</doc>
10449 <type name="Gravity" c:type="PangoGravity"/>
10450 </return-value>
10451 <parameters>
10452 <parameter name="matrix"
10453 transfer-ownership="none"
10454 nullable="1"
10455 allow-none="1">
10456 <doc xml:space="preserve"
10457 filename="pango/pango-gravity.c"
10458 line="64">a `PangoMatrix`</doc>
10459 <type name="Matrix" c:type="const PangoMatrix*"/>
10460 </parameter>
10461 </parameters>
10462 </function>
10463 <function name="get_for_script"
10464 c:identifier="pango_gravity_get_for_script"
10465 version="1.16">
10466 <doc xml:space="preserve"
10467 filename="pango/pango-gravity.c"
10468 line="351">Returns the gravity to use in laying out a `PangoItem`.
10469
10470The gravity is determined based on the script, base gravity, and hint.
10471
10472If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
10473preferred gravity of @script. To get the preferred gravity of a script,
10474pass %PANGO_GRAVITY_AUTO and %PANGO_GRAVITY_HINT_STRONG in.</doc>
10475 <source-position filename="pango/pango-gravity.h" line="124"/>
10476 <return-value transfer-ownership="none">
10477 <doc xml:space="preserve"
10478 filename="pango/pango-gravity.c"
10479 line="365">resolved gravity suitable to use for a run of text
10480with @script</doc>
10481 <type name="Gravity" c:type="PangoGravity"/>
10482 </return-value>
10483 <parameters>
10484 <parameter name="script" transfer-ownership="none">
10485 <doc xml:space="preserve"
10486 filename="pango/pango-gravity.c"
10487 line="353">`PangoScript` to query</doc>
10488 <type name="Script" c:type="PangoScript"/>
10489 </parameter>
10490 <parameter name="base_gravity" transfer-ownership="none">
10491 <doc xml:space="preserve"
10492 filename="pango/pango-gravity.c"
10493 line="354">base gravity of the paragraph</doc>
10494 <type name="Gravity" c:type="PangoGravity"/>
10495 </parameter>
10496 <parameter name="hint" transfer-ownership="none">
10497 <doc xml:space="preserve"
10498 filename="pango/pango-gravity.c"
10499 line="355">orientation hint</doc>
10500 <type name="GravityHint" c:type="PangoGravityHint"/>
10501 </parameter>
10502 </parameters>
10503 </function>
10504 <function name="get_for_script_and_width"
10505 c:identifier="pango_gravity_get_for_script_and_width"
10506 version="1.26">
10507 <doc xml:space="preserve"
10508 filename="pango/pango-gravity.c"
10509 line="381">Returns the gravity to use in laying out a single character
10510or `PangoItem`.
10511
10512The gravity is determined based on the script, East Asian width,
10513base gravity, and hint,
10514
10515This function is similar to [func@Pango.Gravity.get_for_script] except
10516that this function makes a distinction between narrow/half-width and
10517wide/full-width characters also. Wide/full-width characters always
10518stand *upright*, that is, they always take the base gravity,
10519whereas narrow/full-width characters are always rotated in vertical
10520context.
10521
10522If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
10523preferred gravity of @script.</doc>
10524 <source-position filename="pango/pango-gravity.h" line="128"/>
10525 <return-value transfer-ownership="none">
10526 <doc xml:space="preserve"
10527 filename="pango/pango-gravity.c"
10528 line="404">resolved gravity suitable to use for a run of text
10529with @script and @wide.</doc>
10530 <type name="Gravity" c:type="PangoGravity"/>
10531 </return-value>
10532 <parameters>
10533 <parameter name="script" transfer-ownership="none">
10534 <doc xml:space="preserve"
10535 filename="pango/pango-gravity.c"
10536 line="383">`PangoScript` to query</doc>
10537 <type name="Script" c:type="PangoScript"/>
10538 </parameter>
10539 <parameter name="wide" transfer-ownership="none">
10540 <doc xml:space="preserve"
10541 filename="pango/pango-gravity.c"
10542 line="384">%TRUE for wide characters as returned by g_unichar_iswide()</doc>
10543 <type name="gboolean" c:type="gboolean"/>
10544 </parameter>
10545 <parameter name="base_gravity" transfer-ownership="none">
10546 <doc xml:space="preserve"
10547 filename="pango/pango-gravity.c"
10548 line="385">base gravity of the paragraph</doc>
10549 <type name="Gravity" c:type="PangoGravity"/>
10550 </parameter>
10551 <parameter name="hint" transfer-ownership="none">
10552 <doc xml:space="preserve"
10553 filename="pango/pango-gravity.c"
10554 line="386">orientation hint</doc>
10555 <type name="GravityHint" c:type="PangoGravityHint"/>
10556 </parameter>
10557 </parameters>
10558 </function>
10559 <function name="to_rotation"
10560 c:identifier="pango_gravity_to_rotation"
10561 version="1.16">
10562 <doc xml:space="preserve"
10563 filename="pango/pango-gravity.c"
10564 line="28">Converts a `PangoGravity` value to its natural rotation in radians.
10565
10566Note that [method@Pango.Matrix.rotate] takes angle in degrees, not radians.
10567So, to call [method@Pango.Matrix,rotate] with the output of this function
10568you should multiply it by (180. / G_PI).</doc>
10569 <source-position filename="pango/pango-gravity.h" line="120"/>
10570 <return-value transfer-ownership="none">
10571 <doc xml:space="preserve"
10572 filename="pango/pango-gravity.c"
10573 line="38">the rotation value corresponding to @gravity.</doc>
10574 <type name="gdouble" c:type="double"/>
10575 </return-value>
10576 <parameters>
10577 <parameter name="gravity" transfer-ownership="none">
10578 <doc xml:space="preserve"
10579 filename="pango/pango-gravity.c"
10580 line="30">gravity to query, should not be %PANGO_GRAVITY_AUTO</doc>
10581 <type name="Gravity" c:type="PangoGravity"/>
10582 </parameter>
10583 </parameters>
10584 </function>
10585 </enumeration>
10586 <enumeration name="GravityHint"
10587 version="1.16"
10588 glib:type-name="PangoGravityHint"
10589 glib:get-type="pango_gravity_hint_get_type"
10590 c:type="PangoGravityHint">
10591 <doc xml:space="preserve"
10592 filename="pango/pango-gravity.h"
10593 line="61">`PangoGravityHint` defines how horizontal scripts should behave in a
10594vertical context.
10595
10596That is, English excerpts in a vertical paragraph for example.
10597
10598See also [enum@Pango.Gravity]</doc>
10599 <member name="natural"
10600 value="0"
10601 c:identifier="PANGO_GRAVITY_HINT_NATURAL"
10602 glib:nick="natural"
10603 glib:name="PANGO_GRAVITY_HINT_NATURAL">
10604 <doc xml:space="preserve"
10605 filename="pango/pango-gravity.h"
10606 line="63">scripts will take their natural gravity based
10607 on the base gravity and the script. This is the default.</doc>
10608 </member>
10609 <member name="strong"
10610 value="1"
10611 c:identifier="PANGO_GRAVITY_HINT_STRONG"
10612 glib:nick="strong"
10613 glib:name="PANGO_GRAVITY_HINT_STRONG">
10614 <doc xml:space="preserve"
10615 filename="pango/pango-gravity.h"
10616 line="65">always use the base gravity set, regardless of
10617 the script.</doc>
10618 </member>
10619 <member name="line"
10620 value="2"
10621 c:identifier="PANGO_GRAVITY_HINT_LINE"
10622 glib:nick="line"
10623 glib:name="PANGO_GRAVITY_HINT_LINE">
10624 <doc xml:space="preserve"
10625 filename="pango/pango-gravity.h"
10626 line="67">for scripts not in their natural direction (eg.
10627 Latin in East gravity), choose per-script gravity such that every script
10628 respects the line progression. This means, Latin and Arabic will take
10629 opposite gravities and both flow top-to-bottom for example.</doc>
10630 </member>
10631 </enumeration>
10632 <function-macro name="IS_CONTEXT"
10633 c:identifier="PANGO_IS_CONTEXT"
10634 introspectable="0">
10635 <source-position filename="pango/pango-context.h" line="38"/>
10636 <parameters>
10637 <parameter name="object">
10638 </parameter>
10639 </parameters>
10640 </function-macro>
10641 <function-macro name="IS_CONTEXT_CLASS"
10642 c:identifier="PANGO_IS_CONTEXT_CLASS"
10643 introspectable="0">
10644 <source-position filename="pango/pango-context.h" line="39"/>
10645 <parameters>
10646 <parameter name="klass">
10647 </parameter>
10648 </parameters>
10649 </function-macro>
10650 <function-macro name="IS_FONT"
10651 c:identifier="PANGO_IS_FONT"
10652 introspectable="0">
10653 <source-position filename="pango/pango-font.h" line="601"/>
10654 <parameters>
10655 <parameter name="object">
10656 </parameter>
10657 </parameters>
10658 </function-macro>
10659 <function-macro name="IS_FONTSET"
10660 c:identifier="PANGO_IS_FONTSET"
10661 introspectable="0">
10662 <source-position filename="pango/pango-fontset.h" line="38"/>
10663 <parameters>
10664 <parameter name="object">
10665 </parameter>
10666 </parameters>
10667 </function-macro>
10668 <function-macro name="IS_FONTSET_CLASS"
10669 c:identifier="PANGO_IS_FONTSET_CLASS"
10670 introspectable="0">
10671 <source-position filename="pango/pango-fontset.h" line="40"/>
10672 <parameters>
10673 <parameter name="klass">
10674 </parameter>
10675 </parameters>
10676 </function-macro>
10677 <function-macro name="IS_FONTSET_SIMPLE"
10678 c:identifier="PANGO_IS_FONTSET_SIMPLE"
10679 introspectable="0">
10680 <source-position filename="pango/pango-fontset-simple.h" line="44"/>
10681 <parameters>
10682 <parameter name="object">
10683 </parameter>
10684 </parameters>
10685 </function-macro>
10686 <function-macro name="IS_FONT_CLASS"
10687 c:identifier="PANGO_IS_FONT_CLASS"
10688 introspectable="0">
10689 <source-position filename="pango/pango-font.h" line="603"/>
10690 <parameters>
10691 <parameter name="klass">
10692 </parameter>
10693 </parameters>
10694 </function-macro>
10695 <function-macro name="IS_FONT_FACE"
10696 c:identifier="PANGO_IS_FONT_FACE"
10697 introspectable="0">
10698 <source-position filename="pango/pango-font.h" line="534"/>
10699 <parameters>
10700 <parameter name="object">
10701 </parameter>
10702 </parameters>
10703 </function-macro>
10704 <function-macro name="IS_FONT_FACE_CLASS"
10705 c:identifier="PANGO_IS_FONT_FACE_CLASS"
10706 introspectable="0">
10707 <source-position filename="pango/pango-font.h" line="536"/>
10708 <parameters>
10709 <parameter name="klass">
10710 </parameter>
10711 </parameters>
10712 </function-macro>
10713 <function-macro name="IS_FONT_FAMILY"
10714 c:identifier="PANGO_IS_FONT_FAMILY"
10715 introspectable="0">
10716 <source-position filename="pango/pango-font.h" line="459"/>
10717 <parameters>
10718 <parameter name="object">
10719 </parameter>
10720 </parameters>
10721 </function-macro>
10722 <function-macro name="IS_FONT_FAMILY_CLASS"
10723 c:identifier="PANGO_IS_FONT_FAMILY_CLASS"
10724 introspectable="0">
10725 <source-position filename="pango/pango-font.h" line="461"/>
10726 <parameters>
10727 <parameter name="klass">
10728 </parameter>
10729 </parameters>
10730 </function-macro>
10731 <function-macro name="IS_FONT_MAP"
10732 c:identifier="PANGO_IS_FONT_MAP"
10733 introspectable="0">
10734 <source-position filename="pango/pango-fontmap.h" line="33"/>
10735 <parameters>
10736 <parameter name="object">
10737 </parameter>
10738 </parameters>
10739 </function-macro>
10740 <function-macro name="IS_FONT_MAP_CLASS"
10741 c:identifier="PANGO_IS_FONT_MAP_CLASS"
10742 introspectable="0">
10743 <source-position filename="pango/pango-fontmap.h" line="35"/>
10744 <parameters>
10745 <parameter name="klass">
10746 </parameter>
10747 </parameters>
10748 </function-macro>
10749 <function-macro name="IS_LAYOUT"
10750 c:identifier="PANGO_IS_LAYOUT"
10751 introspectable="0">
10752 <source-position filename="pango/pango-layout.h" line="148"/>
10753 <parameters>
10754 <parameter name="object">
10755 </parameter>
10756 </parameters>
10757 </function-macro>
10758 <function-macro name="IS_LAYOUT_CLASS"
10759 c:identifier="PANGO_IS_LAYOUT_CLASS"
10760 introspectable="0">
10761 <source-position filename="pango/pango-layout.h" line="149"/>
10762 <parameters>
10763 <parameter name="klass">
10764 </parameter>
10765 </parameters>
10766 </function-macro>
10767 <function-macro name="IS_RENDERER"
10768 c:identifier="PANGO_IS_RENDERER"
10769 introspectable="0">
10770 <source-position filename="pango/pango-renderer.h" line="30"/>
10771 <parameters>
10772 <parameter name="object">
10773 </parameter>
10774 </parameters>
10775 </function-macro>
10776 <function-macro name="IS_RENDERER_CLASS"
10777 c:identifier="PANGO_IS_RENDERER_CLASS"
10778 introspectable="0">
10779 <source-position filename="pango/pango-renderer.h" line="32"/>
10780 <parameters>
10781 <parameter name="klass">
10782 </parameter>
10783 </parameters>
10784 </function-macro>
10785 <record name="Item"
10786 c:type="PangoItem"
10787 glib:type-name="PangoItem"
10788 glib:get-type="pango_item_get_type"
10789 c:symbol-prefix="item">
10790 <doc xml:space="preserve"
10791 filename="pango/pango-item.h"
10792 line="98">The `PangoItem` structure stores information about a segment of text.
10793
10794You typically obtain `PangoItems` by itemizing a piece of text
10795with [func@itemize].</doc>
10796 <source-position filename="pango/pango-item.h" line="116"/>
10797 <field name="offset" writable="1">
10798 <doc xml:space="preserve"
10799 filename="pango/pango-item.h"
10800 line="100">byte offset of the start of this item in text.</doc>
10801 <type name="gint" c:type="int"/>
10802 </field>
10803 <field name="length" writable="1">
10804 <doc xml:space="preserve"
10805 filename="pango/pango-item.h"
10806 line="101">length of this item in bytes.</doc>
10807 <type name="gint" c:type="int"/>
10808 </field>
10809 <field name="num_chars" writable="1">
10810 <doc xml:space="preserve"
10811 filename="pango/pango-item.h"
10812 line="102">number of Unicode characters in the item.</doc>
10813 <type name="gint" c:type="int"/>
10814 </field>
10815 <field name="analysis" writable="1">
10816 <doc xml:space="preserve"
10817 filename="pango/pango-item.h"
10818 line="103">analysis results for the item.</doc>
10819 <type name="Analysis" c:type="PangoAnalysis"/>
10820 </field>
10821 <constructor name="new" c:identifier="pango_item_new">
10822 <doc xml:space="preserve"
10823 filename="pango/pango-item.c"
10824 line="27">Creates a new `PangoItem` structure initialized to default values.</doc>
10825 <source-position filename="pango/pango-item.h" line="124"/>
10826 <return-value transfer-ownership="full">
10827 <doc xml:space="preserve"
10828 filename="pango/pango-item.c"
10829 line="32">the newly allocated `PangoItem`, which should
10830 be freed with [method@Pango.Item.free].</doc>
10831 <type name="Item" c:type="PangoItem*"/>
10832 </return-value>
10833 </constructor>
10834 <method name="apply_attrs"
10835 c:identifier="pango_item_apply_attrs"
10836 version="1.44">
10837 <doc xml:space="preserve"
10838 filename="pango/pango-item.c"
10839 line="211">Add attributes to a `PangoItem`.
10840
10841The idea is that you have attributes that don't affect itemization,
10842such as font features, so you filter them out using
10843[method@Pango.AttrList.filter], itemize your text, then reapply the
10844attributes to the resulting items using this function.
10845
10846The @iter should be positioned before the range of the item,
10847and will be advanced past it. This function is meant to be called
10848in a loop over the items resulting from itemization, while passing
10849the iter to each call.</doc>
10850 <source-position filename="pango/pango-item.h" line="140"/>
10851 <return-value transfer-ownership="none">
10852 <type name="none" c:type="void"/>
10853 </return-value>
10854 <parameters>
10855 <instance-parameter name="item" transfer-ownership="none">
10856 <doc xml:space="preserve"
10857 filename="pango/pango-item.c"
10858 line="213">a `PangoItem`</doc>
10859 <type name="Item" c:type="PangoItem*"/>
10860 </instance-parameter>
10861 <parameter name="iter" transfer-ownership="none">
10862 <doc xml:space="preserve"
10863 filename="pango/pango-item.c"
10864 line="214">a `PangoAttrIterator`</doc>
10865 <type name="AttrIterator" c:type="PangoAttrIterator*"/>
10866 </parameter>
10867 </parameters>
10868 </method>
10869 <method name="copy" c:identifier="pango_item_copy">
10870 <doc xml:space="preserve"
10871 filename="pango/pango-item.c"
10872 line="45">Copy an existing `PangoItem` structure.</doc>
10873 <source-position filename="pango/pango-item.h" line="126"/>
10874 <return-value transfer-ownership="full" nullable="1">
10875 <doc xml:space="preserve"
10876 filename="pango/pango-item.c"
10877 line="51">the newly allocated `PangoItem`</doc>
10878 <type name="Item" c:type="PangoItem*"/>
10879 </return-value>
10880 <parameters>
10881 <instance-parameter name="item"
10882 transfer-ownership="none"
10883 nullable="1"
10884 allow-none="1">
10885 <doc xml:space="preserve"
10886 filename="pango/pango-item.c"
10887 line="47">a `PangoItem`</doc>
10888 <type name="Item" c:type="PangoItem*"/>
10889 </instance-parameter>
10890 </parameters>
10891 </method>
10892 <method name="free" c:identifier="pango_item_free">
10893 <doc xml:space="preserve"
10894 filename="pango/pango-item.c"
10895 line="90">Free a `PangoItem` and all associated memory.</doc>
10896 <source-position filename="pango/pango-item.h" line="128"/>
10897 <return-value transfer-ownership="none">
10898 <type name="none" c:type="void"/>
10899 </return-value>
10900 <parameters>
10901 <instance-parameter name="item"
10902 transfer-ownership="none"
10903 nullable="1"
10904 allow-none="1">
10905 <doc xml:space="preserve"
10906 filename="pango/pango-item.c"
10907 line="92">a `PangoItem`, may be %NULL</doc>
10908 <type name="Item" c:type="PangoItem*"/>
10909 </instance-parameter>
10910 </parameters>
10911 </method>
10912 <method name="get_char_offset"
10913 c:identifier="pango_item_get_char_offset"
10914 version="1.54">
10915 <doc xml:space="preserve"
10916 filename="pango/pango-item.c"
10917 line="376">Returns the character offset of the item from the beginning
10918of the itemized text.
10919
10920If the item has not been obtained from Pango's itemization
10921machinery, then the character offset is not available. In
10922that case, this function returns -1.</doc>
10923 <source-position filename="pango/pango-item.h" line="132"/>
10924 <return-value transfer-ownership="none">
10925 <doc xml:space="preserve"
10926 filename="pango/pango-item.c"
10927 line="387">the character offset of the item from the beginning
10928 of the itemized text, or -1</doc>
10929 <type name="gint" c:type="int"/>
10930 </return-value>
10931 <parameters>
10932 <instance-parameter name="item" transfer-ownership="none">
10933 <doc xml:space="preserve"
10934 filename="pango/pango-item.c"
10935 line="378">a `PangoItem`</doc>
10936 <type name="Item" c:type="PangoItem*"/>
10937 </instance-parameter>
10938 </parameters>
10939 </method>
10940 <method name="split" c:identifier="pango_item_split">
10941 <doc xml:space="preserve"
10942 filename="pango/pango-item.c"
10943 line="124">Modifies @orig to cover only the text after @split_index, and
10944returns a new item that covers the text before @split_index that
10945used to be in @orig.
10946
10947You can think of @split_index as the length of the returned item.
10948@split_index may not be 0, and it may not be greater than or equal
10949to the length of @orig (that is, there must be at least one byte
10950assigned to each item, you can't create a zero-length item).
10951@split_offset is the length of the first item in chars, and must be
10952provided because the text used to generate the item isn't available,
10953so `pango_item_split()` can't count the char length of the split items
10954itself.</doc>
10955 <source-position filename="pango/pango-item.h" line="135"/>
10956 <return-value transfer-ownership="full">
10957 <doc xml:space="preserve"
10958 filename="pango/pango-item.c"
10959 line="144">new item representing text before @split_index, which
10960 should be freed with [method@Pango.Item.free].</doc>
10961 <type name="Item" c:type="PangoItem*"/>
10962 </return-value>
10963 <parameters>
10964 <instance-parameter name="orig" transfer-ownership="none">
10965 <doc xml:space="preserve"
10966 filename="pango/pango-item.c"
10967 line="126">a `PangoItem`</doc>
10968 <type name="Item" c:type="PangoItem*"/>
10969 </instance-parameter>
10970 <parameter name="split_index" transfer-ownership="none">
10971 <doc xml:space="preserve"
10972 filename="pango/pango-item.c"
10973 line="127">byte index of position to split item, relative to the
10974 start of the item</doc>
10975 <type name="gint" c:type="int"/>
10976 </parameter>
10977 <parameter name="split_offset" transfer-ownership="none">
10978 <doc xml:space="preserve"
10979 filename="pango/pango-item.c"
10980 line="129">number of chars between start of @orig and @split_index</doc>
10981 <type name="gint" c:type="int"/>
10982 </parameter>
10983 </parameters>
10984 </method>
10985 </record>
10986 <function-macro name="LAYOUT"
10987 c:identifier="PANGO_LAYOUT"
10988 introspectable="0">
10989 <source-position filename="pango/pango-layout.h" line="146"/>
10990 <parameters>
10991 <parameter name="object">
10992 </parameter>
10993 </parameters>
10994 </function-macro>
10995 <function-macro name="LAYOUT_CLASS"
10996 c:identifier="PANGO_LAYOUT_CLASS"
10997 introspectable="0">
10998 <source-position filename="pango/pango-layout.h" line="147"/>
10999 <parameters>
11000 <parameter name="klass">
11001 </parameter>
11002 </parameters>
11003 </function-macro>
11004 <function-macro name="LAYOUT_GET_CLASS"
11005 c:identifier="PANGO_LAYOUT_GET_CLASS"
11006 introspectable="0">
11007 <source-position filename="pango/pango-layout.h" line="150"/>
11008 <parameters>
11009 <parameter name="obj">
11010 </parameter>
11011 </parameters>
11012 </function-macro>
11013 <function-macro name="LBEARING"
11014 c:identifier="PANGO_LBEARING"
11015 introspectable="0">
11016 <doc xml:space="preserve"
11017 filename="pango/pango-types.h"
11018 line="201">Extracts the *left bearing* from a `PangoRectangle`
11019representing glyph extents.
11020
11021The left bearing is the distance from the horizontal
11022origin to the farthest left point of the character.
11023This is positive for characters drawn completely to
11024the right of the glyph origin.</doc>
11025 <source-position filename="pango/pango-types.h" line="227"/>
11026 <parameters>
11027 <parameter name="rect">
11028 <doc xml:space="preserve"
11029 filename="pango/pango-types.h"
11030 line="203">a `PangoRectangle`</doc>
11031 </parameter>
11032 </parameters>
11033 </function-macro>
11034 <record name="Language"
11035 c:type="PangoLanguage"
11036 opaque="1"
11037 glib:type-name="PangoLanguage"
11038 glib:get-type="pango_language_get_type"
11039 c:symbol-prefix="language">
11040 <doc xml:space="preserve"
11041 filename="pango/pango-language.c"
11042 line="136">The `PangoLanguage` structure is used to
11043represent a language.
11044
11045`PangoLanguage` pointers can be efficiently
11046copied and compared with each other.</doc>
11047 <source-position filename="pango/pango-types.h" line="46"/>
11048 <method name="get_sample_string"
11049 c:identifier="pango_language_get_sample_string">
11050 <doc xml:space="preserve"
11051 filename="pango/pango-language.c"
11052 line="563">Get a string that is representative of the characters needed to
11053render a particular language.
11054
11055The sample text may be a pangram, but is not necessarily. It is chosen
11056to be demonstrative of normal text in the language, as well as exposing
11057font feature requirements unique to the language. It is suitable for use
11058as sample text in a font selection dialog.
11059
11060If @language is %NULL, the default language as found by
11061[func@Pango.Language.get_default] is used.
11062
11063If Pango does not have a sample string for @language, the classic
11064"The quick brown fox..." is returned. This can be detected by
11065comparing the returned pointer value to that returned for (non-existent)
11066language code "xx". That is, compare to:
11067
11068```
11069pango_language_get_sample_string (pango_language_from_string ("xx"))
11070```</doc>
11071 <source-position filename="pango/pango-language.h" line="55"/>
11072 <return-value transfer-ownership="none">
11073 <doc xml:space="preserve"
11074 filename="pango/pango-language.c"
11075 line="587">the sample string</doc>
11076 <type name="utf8" c:type="const char*"/>
11077 </return-value>
11078 <parameters>
11079 <instance-parameter name="language"
11080 transfer-ownership="none"
11081 nullable="1"
11082 allow-none="1">
11083 <doc xml:space="preserve"
11084 filename="pango/pango-language.c"
11085 line="565">a `PangoLanguage`</doc>
11086 <type name="Language" c:type="PangoLanguage*"/>
11087 </instance-parameter>
11088 </parameters>
11089 </method>
11090 <method name="get_scripts"
11091 c:identifier="pango_language_get_scripts"
11092 version="1.22">
11093 <doc xml:space="preserve"
11094 filename="pango/pango-language.c"
11095 line="617">Determines the scripts used to to write @language.
11096
11097If nothing is known about the language tag @language,
11098or if @language is %NULL, then %NULL is returned.
11099The list of scripts returned starts with the script that the
11100language uses most and continues to the one it uses least.
11101
11102The value @num_script points at will be set to the number
11103of scripts in the returned array (or zero if %NULL is returned).
11104
11105Most languages use only one script for writing, but there are
11106some that use two (Latin and Cyrillic for example), and a few
11107use three (Japanese for example). Applications should not make
11108any assumptions on the maximum number of scripts returned
11109though, except that it is positive if the return value is not
11110%NULL, and it is a small number.
11111
11112The [method@Pango.Language.includes_script] function uses this
11113function internally.
11114
11115Note: while the return value is declared as `PangoScript`, the
11116returned values are from the `GUnicodeScript` enumeration, which
11117may have more values. Callers need to handle unknown values.</doc>
11118 <source-position filename="pango/pango-language.h" line="65"/>
11119 <return-value transfer-ownership="none" nullable="1">
11120 <doc xml:space="preserve"
11121 filename="pango/pango-language.c"
11122 line="646">
11123 An array of `PangoScript` values, with the number of entries in
11124 the array stored in @num_scripts, or %NULL if Pango does not have
11125 any information about this particular language tag (also the case
11126 if @language is %NULL).</doc>
11127 <array length="0" zero-terminated="0" c:type="const PangoScript*">
11128 <type name="Script" c:type="PangoScript"/>
11129 </array>
11130 </return-value>
11131 <parameters>
11132 <instance-parameter name="language"
11133 transfer-ownership="none"
11134 nullable="1"
11135 allow-none="1">
11136 <doc xml:space="preserve"
11137 filename="pango/pango-language.c"
11138 line="619">a `PangoLanguage`</doc>
11139 <type name="Language" c:type="PangoLanguage*"/>
11140 </instance-parameter>
11141 <parameter name="num_scripts"
11142 direction="out"
11143 caller-allocates="0"
11144 transfer-ownership="full"
11145 optional="1"
11146 allow-none="1">
11147 <doc xml:space="preserve"
11148 filename="pango/pango-language.c"
11149 line="620">location to return number of scripts</doc>
11150 <type name="gint" c:type="int*"/>
11151 </parameter>
11152 </parameters>
11153 </method>
11154 <method name="includes_script"
11155 c:identifier="pango_language_includes_script"
11156 version="1.4">
11157 <doc xml:space="preserve"
11158 filename="pango/pango-language.c"
11159 line="687">Determines if @script is one of the scripts used to
11160write @language.
11161
11162The returned value is conservative; if nothing is known about
11163the language tag @language, %TRUE will be returned, since, as
11164far as Pango knows, @script might be used to write @language.
11165
11166This routine is used in Pango's itemization process when
11167determining if a supplied language tag is relevant to
11168a particular section of text. It probably is not useful
11169for applications in most circumstances.
11170
11171This function uses [method@Pango.Language.get_scripts] internally.</doc>
11172 <source-position filename="pango/pango-language.h" line="62"/>
11173 <return-value transfer-ownership="none">
11174 <doc xml:space="preserve"
11175 filename="pango/pango-language.c"
11176 line="706">%TRUE if @script is one of the scripts used
11177 to write @language or if nothing is known about @language
11178 (including the case that @language is %NULL), %FALSE otherwise.</doc>
11179 <type name="gboolean" c:type="gboolean"/>
11180 </return-value>
11181 <parameters>
11182 <instance-parameter name="language"
11183 transfer-ownership="none"
11184 nullable="1"
11185 allow-none="1">
11186 <doc xml:space="preserve"
11187 filename="pango/pango-language.c"
11188 line="689">a `PangoLanguage`</doc>
11189 <type name="Language" c:type="PangoLanguage*"/>
11190 </instance-parameter>
11191 <parameter name="script" transfer-ownership="none">
11192 <doc xml:space="preserve"
11193 filename="pango/pango-language.c"
11194 line="690">a `PangoScript`</doc>
11195 <type name="Script" c:type="PangoScript"/>
11196 </parameter>
11197 </parameters>
11198 </method>
11199 <method name="matches" c:identifier="pango_language_matches">
11200 <doc xml:space="preserve"
11201 filename="pango/pango-language.c"
11202 line="388">Checks if a language tag matches one of the elements in a list of
11203language ranges.
11204
11205A language tag is considered to match a range in the list if the
11206range is '*', the range is exactly the tag, or the range is a prefix
11207of the tag, and the character after it in the tag is '-'.</doc>
11208 <source-position filename="pango/pango-language.h" line="58"/>
11209 <return-value transfer-ownership="none">
11210 <doc xml:space="preserve"
11211 filename="pango/pango-language.c"
11212 line="404">%TRUE if a match was found</doc>
11213 <type name="gboolean" c:type="gboolean"/>
11214 </return-value>
11215 <parameters>
11216 <instance-parameter name="language"
11217 transfer-ownership="none"
11218 nullable="1"
11219 allow-none="1">
11220 <doc xml:space="preserve"
11221 filename="pango/pango-language.c"
11222 line="390">a language tag (see [func@Pango.Language.from_string]),
11223 %NULL is allowed and matches nothing but '*'</doc>
11224 <type name="Language" c:type="PangoLanguage*"/>
11225 </instance-parameter>
11226 <parameter name="range_list" transfer-ownership="none">
11227 <doc xml:space="preserve"
11228 filename="pango/pango-language.c"
11229 line="392">a list of language ranges, separated by ';', ':',
11230 ',', or space characters.
11231 Each element must either be '*', or a RFC 3066 language range
11232 canonicalized as by [func@Pango.Language.from_string]</doc>
11233 <type name="utf8" c:type="const char*"/>
11234 </parameter>
11235 </parameters>
11236 </method>
11237 <method name="to_string" c:identifier="pango_language_to_string">
11238 <doc xml:space="preserve"
11239 filename="pango/pango-language.c"
11240 line="374">Gets the RFC-3066 format string representing the given language tag.
11241
11242Returns (transfer none): a string representing the language tag</doc>
11243 <source-position filename="pango/pango-language.h" line="49"/>
11244 <return-value transfer-ownership="none">
11245 <type name="utf8" c:type="const char*"/>
11246 </return-value>
11247 <parameters>
11248 <instance-parameter name="language" transfer-ownership="none">
11249 <doc xml:space="preserve"
11250 filename="pango/pango-language.c"
11251 line="376">a language tag.</doc>
11252 <type name="Language" c:type="PangoLanguage*"/>
11253 </instance-parameter>
11254 </parameters>
11255 </method>
11256 <function name="from_string" c:identifier="pango_language_from_string">
11257 <doc xml:space="preserve"
11258 filename="pango/pango-language.c"
11259 line="310">Convert a language tag to a `PangoLanguage`.
11260
11261The language tag must be in a RFC-3066 format. `PangoLanguage` pointers
11262can be efficiently copied (copy the pointer) and compared with other
11263language tags (compare the pointer.)
11264
11265This function first canonicalizes the string by converting it to
11266lowercase, mapping '_' to '-', and stripping all characters other
11267than letters and '-'.
11268
11269Use [func@Pango.Language.get_default] if you want to get the
11270`PangoLanguage` for the current locale of the process.</doc>
11271 <source-position filename="pango/pango-language.h" line="46"/>
11272 <return-value transfer-ownership="none" nullable="1">
11273 <doc xml:space="preserve"
11274 filename="pango/pango-language.c"
11275 line="327">a `PangoLanguage`</doc>
11276 <type name="Language" c:type="PangoLanguage*"/>
11277 </return-value>
11278 <parameters>
11279 <parameter name="language"
11280 transfer-ownership="none"
11281 nullable="1"
11282 allow-none="1">
11283 <doc xml:space="preserve"
11284 filename="pango/pango-language.c"
11285 line="312">a string representing a language tag</doc>
11286 <type name="utf8" c:type="const char*"/>
11287 </parameter>
11288 </parameters>
11289 </function>
11290 <function name="get_default"
11291 c:identifier="pango_language_get_default"
11292 version="1.16">
11293 <doc xml:space="preserve"
11294 filename="pango/pango-language.c"
11295 line="251">Returns the `PangoLanguage` for the current locale of the process.
11296
11297On Unix systems, this is the return value is derived from
11298`setlocale (LC_CTYPE, NULL)`, and the user can
11299affect this through the environment variables LC_ALL, LC_CTYPE or
11300LANG (checked in that order). The locale string typically is in
11301the form lang_COUNTRY, where lang is an ISO-639 language code, and
11302COUNTRY is an ISO-3166 country code. For instance, sv_FI for
11303Swedish as written in Finland or pt_BR for Portuguese as written in
11304Brazil.
11305
11306On Windows, the C library does not use any such environment
11307variables, and setting them won't affect the behavior of functions
11308like ctime(). The user sets the locale through the Regional Options
11309in the Control Panel. The C library (in the setlocale() function)
11310does not use country and language codes, but country and language
11311names spelled out in English.
11312However, this function does check the above environment
11313variables, and does return a Unix-style locale string based on
11314either said environment variables or the thread's current locale.
11315
11316Your application should call `setlocale(LC_ALL, "")` for the user
11317settings to take effect. GTK does this in its initialization
11318functions automatically (by calling gtk_set_locale()).
11319See the setlocale() manpage for more details.
11320
11321Note that the default language can change over the life of an application.
11322
11323Also note that this function will not do the right thing if you
11324use per-thread locales with uselocale(). In that case, you should
11325just call pango_language_from_string() yourself.</doc>
11326 <source-position filename="pango/pango-language.h" line="40"/>
11327 <return-value transfer-ownership="none">
11328 <doc xml:space="preserve"
11329 filename="pango/pango-language.c"
11330 line="286">the default language as a `PangoLanguage`</doc>
11331 <type name="Language" c:type="PangoLanguage*"/>
11332 </return-value>
11333 </function>
11334 <function name="get_preferred"
11335 c:identifier="pango_language_get_preferred"
11336 version="1.48">
11337 <doc xml:space="preserve"
11338 filename="pango/pango-language.c"
11339 line="840">Returns the list of languages that the user prefers.
11340
11341The list is specified by the `PANGO_LANGUAGE` or `LANGUAGE`
11342environment variables, in order of preference. Note that this
11343list does not necessarily include the language returned by
11344[func@Pango.Language.get_default].
11345
11346When choosing language-specific resources, such as the sample
11347text returned by [method@Pango.Language.get_sample_string],
11348you should first try the default language, followed by the
11349languages returned by this function.</doc>
11350 <source-position filename="pango/pango-language.h" line="43"/>
11351 <return-value transfer-ownership="none" nullable="1">
11352 <doc xml:space="preserve"
11353 filename="pango/pango-language.c"
11354 line="855">a %NULL-terminated array
11355 of `PangoLanguage`*</doc>
11356 <array c:type="PangoLanguage**">
11357 <type name="Language" c:type="PangoLanguage*"/>
11358 </array>
11359 </return-value>
11360 </function>
11361 </record>
11362 <class name="Layout"
11363 c:symbol-prefix="layout"
11364 c:type="PangoLayout"
11365 parent="GObject.Object"
11366 glib:type-name="PangoLayout"
11367 glib:get-type="pango_layout_get_type"
11368 glib:type-struct="LayoutClass">
11369 <doc xml:space="preserve"
11370 filename="pango/pango-layout.c"
11371 line="22">A `PangoLayout` structure represents an entire paragraph of text.
11372
11373While complete access to the layout capabilities of Pango is provided
11374using the detailed interfaces for itemization and shaping, using
11375that functionality directly involves writing a fairly large amount
11376of code. `PangoLayout` provides a high-level driver for formatting
11377entire paragraphs of text at once. This includes paragraph-level
11378functionality such as line breaking, justification, alignment and
11379ellipsization.
11380
11381A `PangoLayout` is initialized with a `PangoContext`, UTF-8 string
11382and set of attributes for that string. Once that is done, the set of
11383formatted lines can be extracted from the object, the layout can be
11384rendered, and conversion between logical character positions within
11385the layout's text, and the physical position of the resulting glyphs
11386can be made.
11387
11388There are a number of parameters to adjust the formatting of a
11389`PangoLayout`. The following image shows adjustable parameters
11390(on the left) and font metrics (on the right):
11391
11392<picture>
11393 <source srcset="layout-dark.png" media="(prefers-color-scheme: dark)">
11394 <img alt="Pango Layout Parameters" src="layout-light.png">
11395</picture>
11396
11397The following images demonstrate the effect of alignment and
11398justification on the layout of text:
11399
11400| | |
11401| --- | --- |
11402|  |  |
11403|  |  |
11404|  |  |
11405
11406
11407It is possible, as well, to ignore the 2-D setup,
11408and simply treat the results of a `PangoLayout` as a list of lines.</doc>
11409 <source-position filename="pango/pango-layout.h" line="33"/>
11410 <constructor name="new" c:identifier="pango_layout_new">
11411 <doc xml:space="preserve"
11412 filename="pango/pango-layout.c"
11413 line="276">Create a new `PangoLayout` object with attributes initialized to
11414default values for a particular `PangoContext`.</doc>
11415 <source-position filename="pango/pango-layout.h" line="159"/>
11416 <return-value transfer-ownership="full">
11417 <doc xml:space="preserve"
11418 filename="pango/pango-layout.c"
11419 line="283">the newly allocated `PangoLayout`</doc>
11420 <type name="Layout" c:type="PangoLayout*"/>
11421 </return-value>
11422 <parameters>
11423 <parameter name="context" transfer-ownership="none">
11424 <doc xml:space="preserve"
11425 filename="pango/pango-layout.c"
11426 line="278">a `PangoContext`</doc>
11427 <type name="Context" c:type="PangoContext*"/>
11428 </parameter>
11429 </parameters>
11430 </constructor>
11431 <function name="deserialize"
11432 c:identifier="pango_layout_deserialize"
11433 version="1.50"
11434 throws="1">
11435 <doc xml:space="preserve"
11436 filename="pango/serializer.c"
11437 line="1664">Loads data previously created via [method@Pango.Layout.serialize].
11438
11439For a discussion of the supported format, see that function.
11440
11441Note: to verify that the returned layout is identical to
11442the one that was serialized, you can compare @bytes to the
11443result of serializing the layout again.</doc>
11444 <source-position filename="pango/pango-layout.h" line="433"/>
11445 <return-value transfer-ownership="full" nullable="1">
11446 <doc xml:space="preserve"
11447 filename="pango/serializer.c"
11448 line="1679">a new `PangoLayout`</doc>
11449 <type name="Layout" c:type="PangoLayout*"/>
11450 </return-value>
11451 <parameters>
11452 <parameter name="context" transfer-ownership="none">
11453 <doc xml:space="preserve"
11454 filename="pango/serializer.c"
11455 line="1666">a `PangoContext`</doc>
11456 <type name="Context" c:type="PangoContext*"/>
11457 </parameter>
11458 <parameter name="bytes" transfer-ownership="none">
11459 <doc xml:space="preserve"
11460 filename="pango/serializer.c"
11461 line="1668">the bytes containing the data</doc>
11462 <type name="GLib.Bytes" c:type="GBytes*"/>
11463 </parameter>
11464 <parameter name="flags" transfer-ownership="none">
11465 <doc xml:space="preserve"
11466 filename="pango/serializer.c"
11467 line="1667">`PangoLayoutDeserializeFlags`</doc>
11468 <type name="LayoutDeserializeFlags"
11469 c:type="PangoLayoutDeserializeFlags"/>
11470 </parameter>
11471 </parameters>
11472 </function>
11473 <method name="context_changed"
11474 c:identifier="pango_layout_context_changed">
11475 <doc xml:space="preserve"
11476 filename="pango/pango-layout.c"
11477 line="1491">Forces recomputation of any state in the `PangoLayout` that
11478might depend on the layout's context.
11479
11480This function should be called if you make changes to the context
11481subsequent to creating the layout.</doc>
11482 <source-position filename="pango/pango-layout.h" line="282"/>
11483 <return-value transfer-ownership="none">
11484 <type name="none" c:type="void"/>
11485 </return-value>
11486 <parameters>
11487 <instance-parameter name="layout" transfer-ownership="none">
11488 <doc xml:space="preserve"
11489 filename="pango/pango-layout.c"
11490 line="1493">a `PangoLayout`</doc>
11491 <type name="Layout" c:type="PangoLayout*"/>
11492 </instance-parameter>
11493 </parameters>
11494 </method>
11495 <method name="copy" c:identifier="pango_layout_copy">
11496 <doc xml:space="preserve"
11497 filename="pango/pango-layout.c"
11498 line="301">Creates a deep copy-by-value of the layout.
11499
11500The attribute list, tab array, and text from the original layout
11501are all copied by value.</doc>
11502 <source-position filename="pango/pango-layout.h" line="161"/>
11503 <return-value transfer-ownership="full">
11504 <doc xml:space="preserve"
11505 filename="pango/pango-layout.c"
11506 line="310">the newly allocated `PangoLayout`</doc>
11507 <type name="Layout" c:type="PangoLayout*"/>
11508 </return-value>
11509 <parameters>
11510 <instance-parameter name="src" transfer-ownership="none">
11511 <doc xml:space="preserve"
11512 filename="pango/pango-layout.c"
11513 line="303">a `PangoLayout`</doc>
11514 <type name="Layout" c:type="PangoLayout*"/>
11515 </instance-parameter>
11516 </parameters>
11517 </method>
11518 <method name="get_alignment" c:identifier="pango_layout_get_alignment">
11519 <doc xml:space="preserve"
11520 filename="pango/pango-layout.c"
11521 line="991">Gets the alignment for the layout: how partial lines are
11522positioned within the horizontal space available.</doc>
11523 <source-position filename="pango/pango-layout.h" line="252"/>
11524 <return-value transfer-ownership="none">
11525 <doc xml:space="preserve"
11526 filename="pango/pango-layout.c"
11527 line="998">the alignment</doc>
11528 <type name="Alignment" c:type="PangoAlignment"/>
11529 </return-value>
11530 <parameters>
11531 <instance-parameter name="layout" transfer-ownership="none">
11532 <doc xml:space="preserve"
11533 filename="pango/pango-layout.c"
11534 line="993">a `PangoLayout`</doc>
11535 <type name="Layout" c:type="PangoLayout*"/>
11536 </instance-parameter>
11537 </parameters>
11538 </method>
11539 <method name="get_attributes" c:identifier="pango_layout_get_attributes">
11540 <doc xml:space="preserve"
11541 filename="pango/pango-layout.c"
11542 line="736">Gets the attribute list for the layout, if any.</doc>
11543 <source-position filename="pango/pango-layout.h" line="170"/>
11544 <return-value transfer-ownership="none" nullable="1">
11545 <doc xml:space="preserve"
11546 filename="pango/pango-layout.c"
11547 line="742">a `PangoAttrList`</doc>
11548 <type name="AttrList" c:type="PangoAttrList*"/>
11549 </return-value>
11550 <parameters>
11551 <instance-parameter name="layout" transfer-ownership="none">
11552 <doc xml:space="preserve"
11553 filename="pango/pango-layout.c"
11554 line="738">a `PangoLayout`</doc>
11555 <type name="Layout" c:type="PangoLayout*"/>
11556 </instance-parameter>
11557 </parameters>
11558 </method>
11559 <method name="get_auto_dir"
11560 c:identifier="pango_layout_get_auto_dir"
11561 version="1.4">
11562 <doc xml:space="preserve"
11563 filename="pango/pango-layout.c"
11564 line="946">Gets whether to calculate the base direction for the layout
11565according to its contents.
11566
11567See [method@Pango.Layout.set_auto_dir].</doc>
11568 <source-position filename="pango/pango-layout.h" line="247"/>
11569 <return-value transfer-ownership="none">
11570 <doc xml:space="preserve"
11571 filename="pango/pango-layout.c"
11572 line="955">%TRUE if the bidirectional base direction
11573 is computed from the layout's contents, %FALSE otherwise</doc>
11574 <type name="gboolean" c:type="gboolean"/>
11575 </return-value>
11576 <parameters>
11577 <instance-parameter name="layout" transfer-ownership="none">
11578 <doc xml:space="preserve"
11579 filename="pango/pango-layout.c"
11580 line="948">a `PangoLayout`</doc>
11581 <type name="Layout" c:type="PangoLayout*"/>
11582 </instance-parameter>
11583 </parameters>
11584 </method>
11585 <method name="get_baseline"
11586 c:identifier="pango_layout_get_baseline"
11587 version="1.22">
11588 <doc xml:space="preserve"
11589 filename="pango/pango-layout.c"
11590 line="3202">Gets the Y position of baseline of the first line in @layout.</doc>
11591 <source-position filename="pango/pango-layout.h" line="348"/>
11592 <return-value transfer-ownership="none">
11593 <doc xml:space="preserve"
11594 filename="pango/pango-layout.c"
11595 line="3208">baseline of first line, from top of @layout</doc>
11596 <type name="gint" c:type="int"/>
11597 </return-value>
11598 <parameters>
11599 <instance-parameter name="layout" transfer-ownership="none">
11600 <doc xml:space="preserve"
11601 filename="pango/pango-layout.c"
11602 line="3204">a `PangoLayout`</doc>
11603 <type name="Layout" c:type="PangoLayout*"/>
11604 </instance-parameter>
11605 </parameters>
11606 </method>
11607 <method name="get_caret_pos"
11608 c:identifier="pango_layout_get_caret_pos"
11609 version="1.50">
11610 <doc xml:space="preserve"
11611 filename="pango/pango-layout.c"
11612 line="2668">Given an index within a layout, determines the positions that of the
11613strong and weak cursors if the insertion point is at that index.
11614
11615This is a variant of [method@Pango.Layout.get_cursor_pos] that applies
11616font metric information about caret slope and offset to the positions
11617it returns.
11618
11619<picture>
11620 <source srcset="caret-metrics-dark.png" media="(prefers-color-scheme: dark)">
11621 <img alt="Caret metrics" src="caret-metrics-light.png">
11622</picture></doc>
11623 <source-position filename="pango/pango-layout.h" line="312"/>
11624 <return-value transfer-ownership="none">
11625 <type name="none" c:type="void"/>
11626 </return-value>
11627 <parameters>
11628 <instance-parameter name="layout" transfer-ownership="none">
11629 <doc xml:space="preserve"
11630 filename="pango/pango-layout.c"
11631 line="2670">a `PangoLayout`</doc>
11632 <type name="Layout" c:type="PangoLayout*"/>
11633 </instance-parameter>
11634 <parameter name="index_" transfer-ownership="none">
11635 <doc xml:space="preserve"
11636 filename="pango/pango-layout.c"
11637 line="2671">the byte index of the cursor</doc>
11638 <type name="gint" c:type="int"/>
11639 </parameter>
11640 <parameter name="strong_pos"
11641 direction="out"
11642 caller-allocates="1"
11643 transfer-ownership="none"
11644 optional="1"
11645 allow-none="1">
11646 <doc xml:space="preserve"
11647 filename="pango/pango-layout.c"
11648 line="2672">location to store the strong cursor position</doc>
11649 <type name="Rectangle" c:type="PangoRectangle*"/>
11650 </parameter>
11651 <parameter name="weak_pos"
11652 direction="out"
11653 caller-allocates="1"
11654 transfer-ownership="none"
11655 optional="1"
11656 allow-none="1">
11657 <doc xml:space="preserve"
11658 filename="pango/pango-layout.c"
11659 line="2673">location to store the weak cursor position</doc>
11660 <type name="Rectangle" c:type="PangoRectangle*"/>
11661 </parameter>
11662 </parameters>
11663 </method>
11664 <method name="get_character_count"
11665 c:identifier="pango_layout_get_character_count"
11666 version="1.30">
11667 <doc xml:space="preserve"
11668 filename="pango/pango-layout.c"
11669 line="1314">Returns the number of Unicode characters in the
11670the text of @layout.</doc>
11671 <source-position filename="pango/pango-layout.h" line="180"/>
11672 <return-value transfer-ownership="none">
11673 <doc xml:space="preserve"
11674 filename="pango/pango-layout.c"
11675 line="1321">the number of Unicode characters
11676 in the text of @layout</doc>
11677 <type name="gint" c:type="gint"/>
11678 </return-value>
11679 <parameters>
11680 <instance-parameter name="layout" transfer-ownership="none">
11681 <doc xml:space="preserve"
11682 filename="pango/pango-layout.c"
11683 line="1316">a `PangoLayout`</doc>
11684 <type name="Layout" c:type="PangoLayout*"/>
11685 </instance-parameter>
11686 </parameters>
11687 </method>
11688 <method name="get_context" c:identifier="pango_layout_get_context">
11689 <doc xml:space="preserve"
11690 filename="pango/pango-layout.c"
11691 line="339">Retrieves the `PangoContext` used for this layout.</doc>
11692 <source-position filename="pango/pango-layout.h" line="164"/>
11693 <return-value transfer-ownership="none">
11694 <doc xml:space="preserve"
11695 filename="pango/pango-layout.c"
11696 line="345">the `PangoContext` for the layout</doc>
11697 <type name="Context" c:type="PangoContext*"/>
11698 </return-value>
11699 <parameters>
11700 <instance-parameter name="layout" transfer-ownership="none">
11701 <doc xml:space="preserve"
11702 filename="pango/pango-layout.c"
11703 line="341">a `PangoLayout`</doc>
11704 <type name="Layout" c:type="PangoLayout*"/>
11705 </instance-parameter>
11706 </parameters>
11707 </method>
11708 <method name="get_cursor_pos" c:identifier="pango_layout_get_cursor_pos">
11709 <doc xml:space="preserve"
11710 filename="pango/pango-layout.c"
11711 line="2545">Given an index within a layout, determines the positions that of the
11712strong and weak cursors if the insertion point is at that index.
11713
11714The position of each cursor is stored as a zero-width rectangle
11715with the height of the run extents.
11716
11717<picture>
11718 <source srcset="cursor-positions-dark.png" media="(prefers-color-scheme: dark)">
11719 <img alt="Cursor positions" src="cursor-positions-light.png">
11720</picture>
11721
11722The strong cursor location is the location where characters of the
11723directionality equal to the base direction of the layout are inserted.
11724The weak cursor location is the location where characters of the
11725directionality opposite to the base direction of the layout are inserted.
11726
11727The following example shows text with both a strong and a weak cursor.
11728
11729<picture>
11730 <source srcset="split-cursor-dark.png" media="(prefers-color-scheme: dark)">
11731 <img alt="Strong and weak cursors" src="split-cursor-light.png">
11732</picture>
11733
11734The strong cursor has a little arrow pointing to the right, the weak
11735cursor to the left. Typing a 'c' in this situation will insert the
11736character after the 'b', and typing another Hebrew character, like 'ג',
11737will insert it at the end.</doc>
11738 <source-position filename="pango/pango-layout.h" line="306"/>
11739 <return-value transfer-ownership="none">
11740 <type name="none" c:type="void"/>
11741 </return-value>
11742 <parameters>
11743 <instance-parameter name="layout" transfer-ownership="none">
11744 <doc xml:space="preserve"
11745 filename="pango/pango-layout.c"
11746 line="2547">a `PangoLayout`</doc>
11747 <type name="Layout" c:type="PangoLayout*"/>
11748 </instance-parameter>
11749 <parameter name="index_" transfer-ownership="none">
11750 <doc xml:space="preserve"
11751 filename="pango/pango-layout.c"
11752 line="2548">the byte index of the cursor</doc>
11753 <type name="gint" c:type="int"/>
11754 </parameter>
11755 <parameter name="strong_pos"
11756 direction="out"
11757 caller-allocates="1"
11758 transfer-ownership="none"
11759 optional="1"
11760 allow-none="1">
11761 <doc xml:space="preserve"
11762 filename="pango/pango-layout.c"
11763 line="2549">location to store the strong cursor position</doc>
11764 <type name="Rectangle" c:type="PangoRectangle*"/>
11765 </parameter>
11766 <parameter name="weak_pos"
11767 direction="out"
11768 caller-allocates="1"
11769 transfer-ownership="none"
11770 optional="1"
11771 allow-none="1">
11772 <doc xml:space="preserve"
11773 filename="pango/pango-layout.c"
11774 line="2550">location to store the weak cursor position</doc>
11775 <type name="Rectangle" c:type="PangoRectangle*"/>
11776 </parameter>
11777 </parameters>
11778 </method>
11779 <method name="get_direction"
11780 c:identifier="pango_layout_get_direction"
11781 version="1.46">
11782 <doc xml:space="preserve"
11783 filename="pango/pango-layout.c"
11784 line="2520">Gets the text direction at the given character position in @layout.</doc>
11785 <source-position filename="pango/pango-layout.h" line="278"/>
11786 <return-value transfer-ownership="none">
11787 <doc xml:space="preserve"
11788 filename="pango/pango-layout.c"
11789 line="2527">the text direction at @index</doc>
11790 <type name="Direction" c:type="PangoDirection"/>
11791 </return-value>
11792 <parameters>
11793 <instance-parameter name="layout" transfer-ownership="none">
11794 <doc xml:space="preserve"
11795 filename="pango/pango-layout.c"
11796 line="2522">a `PangoLayout`</doc>
11797 <type name="Layout" c:type="PangoLayout*"/>
11798 </instance-parameter>
11799 <parameter name="index" transfer-ownership="none">
11800 <doc xml:space="preserve"
11801 filename="pango/pango-layout.c"
11802 line="2523">the byte index of the char</doc>
11803 <type name="gint" c:type="int"/>
11804 </parameter>
11805 </parameters>
11806 </method>
11807 <method name="get_ellipsize"
11808 c:identifier="pango_layout_get_ellipsize"
11809 version="1.6">
11810 <doc xml:space="preserve"
11811 filename="pango/pango-layout.c"
11812 line="1158">Gets the type of ellipsization being performed for @layout.
11813
11814See [method@Pango.Layout.set_ellipsize].
11815
11816Use [method@Pango.Layout.is_ellipsized] to query whether any
11817paragraphs were actually ellipsized.</doc>
11818 <source-position filename="pango/pango-layout.h" line="270"/>
11819 <return-value transfer-ownership="none">
11820 <doc xml:space="preserve"
11821 filename="pango/pango-layout.c"
11822 line="1169">the current ellipsization mode for @layout</doc>
11823 <type name="EllipsizeMode" c:type="PangoEllipsizeMode"/>
11824 </return-value>
11825 <parameters>
11826 <instance-parameter name="layout" transfer-ownership="none">
11827 <doc xml:space="preserve"
11828 filename="pango/pango-layout.c"
11829 line="1160">a `PangoLayout`</doc>
11830 <type name="Layout" c:type="PangoLayout*"/>
11831 </instance-parameter>
11832 </parameters>
11833 </method>
11834 <method name="get_extents" c:identifier="pango_layout_get_extents">
11835 <doc xml:space="preserve"
11836 filename="pango/pango-layout.c"
11837 line="3091">Computes the logical and ink extents of @layout.
11838
11839Logical extents are usually what you want for positioning things. Note
11840that both extents may have non-zero x and y. You may want to use those
11841to offset where you render the layout. Not doing that is a very typical
11842bug that shows up as right-to-left layouts not being correctly positioned
11843in a layout with a set width.
11844
11845The extents are given in layout coordinates and in Pango units; layout
11846coordinates begin at the top left corner of the layout.</doc>
11847 <source-position filename="pango/pango-layout.h" line="332"/>
11848 <return-value transfer-ownership="none">
11849 <type name="none" c:type="void"/>
11850 </return-value>
11851 <parameters>
11852 <instance-parameter name="layout" transfer-ownership="none">
11853 <doc xml:space="preserve"
11854 filename="pango/pango-layout.c"
11855 line="3093">a `PangoLayout`</doc>
11856 <type name="Layout" c:type="PangoLayout*"/>
11857 </instance-parameter>
11858 <parameter name="ink_rect"
11859 direction="out"
11860 caller-allocates="1"
11861 transfer-ownership="none"
11862 optional="1"
11863 allow-none="1">
11864 <doc xml:space="preserve"
11865 filename="pango/pango-layout.c"
11866 line="3094">rectangle used to store the extents of the
11867 layout as drawn</doc>
11868 <type name="Rectangle" c:type="PangoRectangle*"/>
11869 </parameter>
11870 <parameter name="logical_rect"
11871 direction="out"
11872 caller-allocates="1"
11873 transfer-ownership="none"
11874 optional="1"
11875 allow-none="1">
11876 <doc xml:space="preserve"
11877 filename="pango/pango-layout.c"
11878 line="3096">rectangle used to store the logical
11879 extents of the layout</doc>
11880 <type name="Rectangle" c:type="PangoRectangle*"/>
11881 </parameter>
11882 </parameters>
11883 </method>
11884 <method name="get_font_description"
11885 c:identifier="pango_layout_get_font_description"
11886 version="1.8">
11887 <doc xml:space="preserve"
11888 filename="pango/pango-layout.c"
11889 line="782">Gets the font description for the layout, if any.</doc>
11890 <source-position filename="pango/pango-layout.h" line="199"/>
11891 <return-value transfer-ownership="none" nullable="1">
11892 <doc xml:space="preserve"
11893 filename="pango/pango-layout.c"
11894 line="788">a pointer to the
11895 layout's font description, or %NULL if the font description
11896 from the layout's context is inherited.</doc>
11897 <type name="FontDescription" c:type="const PangoFontDescription*"/>
11898 </return-value>
11899 <parameters>
11900 <instance-parameter name="layout" transfer-ownership="none">
11901 <doc xml:space="preserve"
11902 filename="pango/pango-layout.c"
11903 line="784">a `PangoLayout`</doc>
11904 <type name="Layout" c:type="PangoLayout*"/>
11905 </instance-parameter>
11906 </parameters>
11907 </method>
11908 <method name="get_height"
11909 c:identifier="pango_layout_get_height"
11910 version="1.20">
11911 <doc xml:space="preserve"
11912 filename="pango/pango-layout.c"
11913 line="452">Gets the height of layout used for ellipsization.
11914
11915See [method@Pango.Layout.set_height] for details.</doc>
11916 <source-position filename="pango/pango-layout.h" line="210"/>
11917 <return-value transfer-ownership="none">
11918 <doc xml:space="preserve"
11919 filename="pango/pango-layout.c"
11920 line="460">the height, in Pango units if positive,
11921 or number of lines if negative.</doc>
11922 <type name="gint" c:type="int"/>
11923 </return-value>
11924 <parameters>
11925 <instance-parameter name="layout" transfer-ownership="none">
11926 <doc xml:space="preserve"
11927 filename="pango/pango-layout.c"
11928 line="454">a `PangoLayout`</doc>
11929 <type name="Layout" c:type="PangoLayout*"/>
11930 </instance-parameter>
11931 </parameters>
11932 </method>
11933 <method name="get_indent" c:identifier="pango_layout_get_indent">
11934 <doc xml:space="preserve"
11935 filename="pango/pango-layout.c"
11936 line="573">Gets the paragraph indent width in Pango units.
11937
11938A negative value indicates a hanging indentation.</doc>
11939 <source-position filename="pango/pango-layout.h" line="222"/>
11940 <return-value transfer-ownership="none">
11941 <doc xml:space="preserve"
11942 filename="pango/pango-layout.c"
11943 line="581">the indent in Pango units</doc>
11944 <type name="gint" c:type="int"/>
11945 </return-value>
11946 <parameters>
11947 <instance-parameter name="layout" transfer-ownership="none">
11948 <doc xml:space="preserve"
11949 filename="pango/pango-layout.c"
11950 line="575">a `PangoLayout`</doc>
11951 <type name="Layout" c:type="PangoLayout*"/>
11952 </instance-parameter>
11953 </parameters>
11954 </method>
11955 <method name="get_iter" c:identifier="pango_layout_get_iter">
11956 <doc xml:space="preserve"
11957 filename="pango/pango-layout.c"
11958 line="7220">Returns an iterator to iterate over the visual extents of the layout.</doc>
11959 <source-position filename="pango/pango-layout.h" line="495"/>
11960 <return-value transfer-ownership="full">
11961 <doc xml:space="preserve"
11962 filename="pango/pango-layout.c"
11963 line="7226">the new `PangoLayoutIter`</doc>
11964 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
11965 </return-value>
11966 <parameters>
11967 <instance-parameter name="layout" transfer-ownership="none">
11968 <doc xml:space="preserve"
11969 filename="pango/pango-layout.c"
11970 line="7222">a `PangoLayout`</doc>
11971 <type name="Layout" c:type="PangoLayout*"/>
11972 </instance-parameter>
11973 </parameters>
11974 </method>
11975 <method name="get_justify" c:identifier="pango_layout_get_justify">
11976 <doc xml:space="preserve"
11977 filename="pango/pango-layout.c"
11978 line="842">Gets whether each complete line should be stretched to fill the entire
11979width of the layout.</doc>
11980 <source-position filename="pango/pango-layout.h" line="237"/>
11981 <return-value transfer-ownership="none">
11982 <doc xml:space="preserve"
11983 filename="pango/pango-layout.c"
11984 line="849">the justify value</doc>
11985 <type name="gboolean" c:type="gboolean"/>
11986 </return-value>
11987 <parameters>
11988 <instance-parameter name="layout" transfer-ownership="none">
11989 <doc xml:space="preserve"
11990 filename="pango/pango-layout.c"
11991 line="844">a `PangoLayout`</doc>
11992 <type name="Layout" c:type="PangoLayout*"/>
11993 </instance-parameter>
11994 </parameters>
11995 </method>
11996 <method name="get_justify_last_line"
11997 c:identifier="pango_layout_get_justify_last_line"
11998 version="1.50">
11999 <doc xml:space="preserve"
12000 filename="pango/pango-layout.c"
12001 line="888">Gets whether the last line should be stretched
12002to fill the entire width of the layout.</doc>
12003 <source-position filename="pango/pango-layout.h" line="242"/>
12004 <return-value transfer-ownership="none">
12005 <doc xml:space="preserve"
12006 filename="pango/pango-layout.c"
12007 line="895">the justify value</doc>
12008 <type name="gboolean" c:type="gboolean"/>
12009 </return-value>
12010 <parameters>
12011 <instance-parameter name="layout" transfer-ownership="none">
12012 <doc xml:space="preserve"
12013 filename="pango/pango-layout.c"
12014 line="890">a `PangoLayout`</doc>
12015 <type name="Layout" c:type="PangoLayout*"/>
12016 </instance-parameter>
12017 </parameters>
12018 </method>
12019 <method name="get_line" c:identifier="pango_layout_get_line">
12020 <doc xml:space="preserve"
12021 filename="pango/pango-layout.c"
12022 line="1688">Retrieves a particular line from a `PangoLayout`.
12023
12024Use the faster [method@Pango.Layout.get_line_readonly] if you do not
12025plan to modify the contents of the line (glyphs, glyph widths, etc.).</doc>
12026 <source-position filename="pango/pango-layout.h" line="353"/>
12027 <return-value transfer-ownership="none" nullable="1">
12028 <doc xml:space="preserve"
12029 filename="pango/pango-layout.c"
12030 line="1699">the requested `PangoLayoutLine`,
12031 or %NULL if the index is out of range. This layout line can be ref'ed
12032 and retained, but will become invalid if changes are made to the
12033 `PangoLayout`.</doc>
12034 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
12035 </return-value>
12036 <parameters>
12037 <instance-parameter name="layout" transfer-ownership="none">
12038 <doc xml:space="preserve"
12039 filename="pango/pango-layout.c"
12040 line="1690">a `PangoLayout`</doc>
12041 <type name="Layout" c:type="PangoLayout*"/>
12042 </instance-parameter>
12043 <parameter name="line" transfer-ownership="none">
12044 <doc xml:space="preserve"
12045 filename="pango/pango-layout.c"
12046 line="1691">the index of a line, which must be between 0 and
12047 `pango_layout_get_line_count(layout) - 1`, inclusive.</doc>
12048 <type name="gint" c:type="int"/>
12049 </parameter>
12050 </parameters>
12051 </method>
12052 <method name="get_line_count" c:identifier="pango_layout_get_line_count">
12053 <doc xml:space="preserve"
12054 filename="pango/pango-layout.c"
12055 line="1611">Retrieves the count of lines for the @layout.</doc>
12056 <source-position filename="pango/pango-layout.h" line="351"/>
12057 <return-value transfer-ownership="none">
12058 <doc xml:space="preserve"
12059 filename="pango/pango-layout.c"
12060 line="1617">the line count</doc>
12061 <type name="gint" c:type="int"/>
12062 </return-value>
12063 <parameters>
12064 <instance-parameter name="layout" transfer-ownership="none">
12065 <doc xml:space="preserve"
12066 filename="pango/pango-layout.c"
12067 line="1613">`PangoLayout`</doc>
12068 <type name="Layout" c:type="PangoLayout*"/>
12069 </instance-parameter>
12070 </parameters>
12071 </method>
12072 <method name="get_line_readonly"
12073 c:identifier="pango_layout_get_line_readonly"
12074 version="1.16">
12075 <doc xml:space="preserve"
12076 filename="pango/pango-layout.c"
12077 line="1729">Retrieves a particular line from a `PangoLayout`.
12078
12079This is a faster alternative to [method@Pango.Layout.get_line],
12080but the user is not expected to modify the contents of the line
12081(glyphs, glyph widths, etc.).</doc>
12082 <source-position filename="pango/pango-layout.h" line="356"/>
12083 <return-value transfer-ownership="none" nullable="1">
12084 <doc xml:space="preserve"
12085 filename="pango/pango-layout.c"
12086 line="1741">the requested `PangoLayoutLine`,
12087 or %NULL if the index is out of range. This layout line can be ref'ed
12088 and retained, but will become invalid if changes are made to the
12089 `PangoLayout`. No changes should be made to the line.</doc>
12090 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
12091 </return-value>
12092 <parameters>
12093 <instance-parameter name="layout" transfer-ownership="none">
12094 <doc xml:space="preserve"
12095 filename="pango/pango-layout.c"
12096 line="1731">a `PangoLayout`</doc>
12097 <type name="Layout" c:type="PangoLayout*"/>
12098 </instance-parameter>
12099 <parameter name="line" transfer-ownership="none">
12100 <doc xml:space="preserve"
12101 filename="pango/pango-layout.c"
12102 line="1732">the index of a line, which must be between 0 and
12103 `pango_layout_get_line_count(layout) - 1`, inclusive.</doc>
12104 <type name="gint" c:type="int"/>
12105 </parameter>
12106 </parameters>
12107 </method>
12108 <method name="get_line_spacing"
12109 c:identifier="pango_layout_get_line_spacing"
12110 version="1.44">
12111 <doc xml:space="preserve"
12112 filename="pango/pango-layout.c"
12113 line="677">Gets the line spacing factor of @layout.
12114
12115See [method@Pango.Layout.set_line_spacing].</doc>
12116 <source-position filename="pango/pango-layout.h" line="232"/>
12117 <return-value transfer-ownership="none">
12118 <type name="gfloat" c:type="float"/>
12119 </return-value>
12120 <parameters>
12121 <instance-parameter name="layout" transfer-ownership="none">
12122 <doc xml:space="preserve"
12123 filename="pango/pango-layout.c"
12124 line="679">a `PangoLayout`</doc>
12125 <type name="Layout" c:type="PangoLayout*"/>
12126 </instance-parameter>
12127 </parameters>
12128 </method>
12129 <method name="get_lines" c:identifier="pango_layout_get_lines">
12130 <doc xml:space="preserve"
12131 filename="pango/pango-layout.c"
12132 line="1628">Returns the lines of the @layout as a list.
12133
12134Use the faster [method@Pango.Layout.get_lines_readonly] if you do not
12135plan to modify the contents of the lines (glyphs, glyph widths, etc.).</doc>
12136 <source-position filename="pango/pango-layout.h" line="359"/>
12137 <return-value transfer-ownership="none">
12138 <doc xml:space="preserve"
12139 filename="pango/pango-layout.c"
12140 line="1637">a `GSList`
12141 containing the lines in the layout. This points to internal data of the
12142 `PangoLayout` and must be used with care. It will become invalid on any
12143 change to the layout's text or properties.</doc>
12144 <type name="GLib.SList" c:type="GSList*">
12145 <type name="LayoutLine"/>
12146 </type>
12147 </return-value>
12148 <parameters>
12149 <instance-parameter name="layout" transfer-ownership="none">
12150 <doc xml:space="preserve"
12151 filename="pango/pango-layout.c"
12152 line="1630">a `PangoLayout`</doc>
12153 <type name="Layout" c:type="PangoLayout*"/>
12154 </instance-parameter>
12155 </parameters>
12156 </method>
12157 <method name="get_lines_readonly"
12158 c:identifier="pango_layout_get_lines_readonly"
12159 version="1.16">
12160 <doc xml:space="preserve"
12161 filename="pango/pango-layout.c"
12162 line="1662">Returns the lines of the @layout as a list.
12163
12164This is a faster alternative to [method@Pango.Layout.get_lines],
12165but the user is not expected to modify the contents of the lines
12166(glyphs, glyph widths, etc.).</doc>
12167 <source-position filename="pango/pango-layout.h" line="361"/>
12168 <return-value transfer-ownership="none">
12169 <doc xml:space="preserve"
12170 filename="pango/pango-layout.c"
12171 line="1672">a `GSList`
12172 containing the lines in the layout. This points to internal data of the
12173 `PangoLayout` and must be used with care. It will become invalid on any
12174 change to the layout's text or properties. No changes should be made to
12175 the lines.</doc>
12176 <type name="GLib.SList" c:type="GSList*">
12177 <type name="LayoutLine"/>
12178 </type>
12179 </return-value>
12180 <parameters>
12181 <instance-parameter name="layout" transfer-ownership="none">
12182 <doc xml:space="preserve"
12183 filename="pango/pango-layout.c"
12184 line="1664">a `PangoLayout`</doc>
12185 <type name="Layout" c:type="PangoLayout*"/>
12186 </instance-parameter>
12187 </parameters>
12188 </method>
12189 <method name="get_log_attrs" c:identifier="pango_layout_get_log_attrs">
12190 <doc xml:space="preserve"
12191 filename="pango/pango-layout.c"
12192 line="1538">Retrieves an array of logical attributes for each character in
12193the @layout.</doc>
12194 <source-position filename="pango/pango-layout.h" line="287"/>
12195 <return-value transfer-ownership="none">
12196 <type name="none" c:type="void"/>
12197 </return-value>
12198 <parameters>
12199 <instance-parameter name="layout" transfer-ownership="none">
12200 <doc xml:space="preserve"
12201 filename="pango/pango-layout.c"
12202 line="1540">a `PangoLayout`</doc>
12203 <type name="Layout" c:type="PangoLayout*"/>
12204 </instance-parameter>
12205 <parameter name="attrs"
12206 direction="out"
12207 caller-allocates="0"
12208 transfer-ownership="container">
12209 <doc xml:space="preserve"
12210 filename="pango/pango-layout.c"
12211 line="1541">
12212 location to store a pointer to an array of logical attributes.
12213 This value must be freed with g_free().</doc>
12214 <array length="1" zero-terminated="0" c:type="PangoLogAttr**">
12215 <type name="LogAttr" c:type="PangoLogAttr*"/>
12216 </array>
12217 </parameter>
12218 <parameter name="n_attrs"
12219 direction="out"
12220 caller-allocates="0"
12221 transfer-ownership="full">
12222 <doc xml:space="preserve"
12223 filename="pango/pango-layout.c"
12224 line="1544">location to store the number of the attributes in the
12225 array. (The stored value will be one more than the total number
12226 of characters in the layout, since there need to be attributes
12227 corresponding to both the position before the first character
12228 and the position after the last character.)</doc>
12229 <type name="gint" c:type="gint*"/>
12230 </parameter>
12231 </parameters>
12232 </method>
12233 <method name="get_log_attrs_readonly"
12234 c:identifier="pango_layout_get_log_attrs_readonly"
12235 version="1.30">
12236 <doc xml:space="preserve"
12237 filename="pango/pango-layout.c"
12238 line="1572">Retrieves an array of logical attributes for each character in
12239the @layout.
12240
12241This is a faster alternative to [method@Pango.Layout.get_log_attrs].
12242The returned array is part of @layout and must not be modified.
12243Modifying the layout will invalidate the returned array.
12244
12245The number of attributes returned in @n_attrs will be one more
12246than the total number of characters in the layout, since there
12247need to be attributes corresponding to both the position before
12248the first character and the position after the last character.</doc>
12249 <source-position filename="pango/pango-layout.h" line="292"/>
12250 <return-value transfer-ownership="none">
12251 <doc xml:space="preserve"
12252 filename="pango/pango-layout.c"
12253 line="1590">an array of logical attributes</doc>
12254 <array length="0" zero-terminated="0" c:type="const PangoLogAttr*">
12255 <type name="LogAttr" c:type="PangoLogAttr"/>
12256 </array>
12257 </return-value>
12258 <parameters>
12259 <instance-parameter name="layout" transfer-ownership="none">
12260 <doc xml:space="preserve"
12261 filename="pango/pango-layout.c"
12262 line="1574">a `PangoLayout`</doc>
12263 <type name="Layout" c:type="PangoLayout*"/>
12264 </instance-parameter>
12265 <parameter name="n_attrs"
12266 direction="out"
12267 caller-allocates="0"
12268 transfer-ownership="full">
12269 <doc xml:space="preserve"
12270 filename="pango/pango-layout.c"
12271 line="1575">location to store the number of the attributes in
12272 the array</doc>
12273 <type name="gint" c:type="gint*"/>
12274 </parameter>
12275 </parameters>
12276 </method>
12277 <method name="get_pixel_extents"
12278 c:identifier="pango_layout_get_pixel_extents">
12279 <doc xml:space="preserve"
12280 filename="pango/pango-layout.c"
12281 line="3120">Computes the logical and ink extents of @layout in device units.
12282
12283This function just calls [method@Pango.Layout.get_extents] followed by
12284two [func@extents_to_pixels] calls, rounding @ink_rect and @logical_rect
12285such that the rounded rectangles fully contain the unrounded one (that is,
12286passes them as first argument to [func@Pango.extents_to_pixels]).</doc>
12287 <source-position filename="pango/pango-layout.h" line="336"/>
12288 <return-value transfer-ownership="none">
12289 <type name="none" c:type="void"/>
12290 </return-value>
12291 <parameters>
12292 <instance-parameter name="layout" transfer-ownership="none">
12293 <doc xml:space="preserve"
12294 filename="pango/pango-layout.c"
12295 line="3122">a `PangoLayout`</doc>
12296 <type name="Layout" c:type="PangoLayout*"/>
12297 </instance-parameter>
12298 <parameter name="ink_rect"
12299 direction="out"
12300 caller-allocates="1"
12301 transfer-ownership="none"
12302 optional="1"
12303 allow-none="1">
12304 <doc xml:space="preserve"
12305 filename="pango/pango-layout.c"
12306 line="3123">rectangle used to store the extents of the
12307 layout as drawn</doc>
12308 <type name="Rectangle" c:type="PangoRectangle*"/>
12309 </parameter>
12310 <parameter name="logical_rect"
12311 direction="out"
12312 caller-allocates="1"
12313 transfer-ownership="none"
12314 optional="1"
12315 allow-none="1">
12316 <doc xml:space="preserve"
12317 filename="pango/pango-layout.c"
12318 line="3125">rectangle used to store the logical
12319 extents of the layout</doc>
12320 <type name="Rectangle" c:type="PangoRectangle*"/>
12321 </parameter>
12322 </parameters>
12323 </method>
12324 <method name="get_pixel_size" c:identifier="pango_layout_get_pixel_size">
12325 <doc xml:space="preserve"
12326 filename="pango/pango-layout.c"
12327 line="3173">Determines the logical width and height of a `PangoLayout` in device
12328units.
12329
12330[method@Pango.Layout.get_size] returns the width and height
12331scaled by %PANGO_SCALE. This is simply a convenience function
12332around [method@Pango.Layout.get_pixel_extents].</doc>
12333 <source-position filename="pango/pango-layout.h" line="344"/>
12334 <return-value transfer-ownership="none">
12335 <type name="none" c:type="void"/>
12336 </return-value>
12337 <parameters>
12338 <instance-parameter name="layout" transfer-ownership="none">
12339 <doc xml:space="preserve"
12340 filename="pango/pango-layout.c"
12341 line="3175">a `PangoLayout`</doc>
12342 <type name="Layout" c:type="PangoLayout*"/>
12343 </instance-parameter>
12344 <parameter name="width"
12345 direction="out"
12346 caller-allocates="0"
12347 transfer-ownership="full"
12348 optional="1"
12349 allow-none="1">
12350 <doc xml:space="preserve"
12351 filename="pango/pango-layout.c"
12352 line="3176">location to store the logical width</doc>
12353 <type name="gint" c:type="int*"/>
12354 </parameter>
12355 <parameter name="height"
12356 direction="out"
12357 caller-allocates="0"
12358 transfer-ownership="full"
12359 optional="1"
12360 allow-none="1">
12361 <doc xml:space="preserve"
12362 filename="pango/pango-layout.c"
12363 line="3177">location to store the logical height</doc>
12364 <type name="gint" c:type="int*"/>
12365 </parameter>
12366 </parameters>
12367 </method>
12368 <method name="get_serial"
12369 c:identifier="pango_layout_get_serial"
12370 version="1.32.4">
12371 <doc xml:space="preserve"
12372 filename="pango/pango-layout.c"
12373 line="1510">Returns the current serial number of @layout.
12374
12375The serial number is initialized to an small number larger than zero
12376when a new layout is created and is increased whenever the layout is
12377changed using any of the setter functions, or the `PangoContext` it
12378uses has changed. The serial may wrap, but will never have the value 0.
12379Since it can wrap, never compare it with "less than", always use "not equals".
12380
12381This can be used to automatically detect changes to a `PangoLayout`,
12382and is useful for example to decide whether a layout needs redrawing.
12383To force the serial to be increased, use
12384[method@Pango.Layout.context_changed].</doc>
12385 <source-position filename="pango/pango-layout.h" line="284"/>
12386 <return-value transfer-ownership="none">
12387 <doc xml:space="preserve"
12388 filename="pango/pango-layout.c"
12389 line="1527">The current serial number of @layout.</doc>
12390 <type name="guint" c:type="guint"/>
12391 </return-value>
12392 <parameters>
12393 <instance-parameter name="layout" transfer-ownership="none">
12394 <doc xml:space="preserve"
12395 filename="pango/pango-layout.c"
12396 line="1512">a `PangoLayout`</doc>
12397 <type name="Layout" c:type="PangoLayout*"/>
12398 </instance-parameter>
12399 </parameters>
12400 </method>
12401 <method name="get_single_paragraph_mode"
12402 c:identifier="pango_layout_get_single_paragraph_mode">
12403 <doc xml:space="preserve"
12404 filename="pango/pango-layout.c"
12405 line="1101">Obtains whether @layout is in single paragraph mode.
12406
12407See [method@Pango.Layout.set_single_paragraph_mode].</doc>
12408 <source-position filename="pango/pango-layout.h" line="264"/>
12409 <return-value transfer-ownership="none">
12410 <doc xml:space="preserve"
12411 filename="pango/pango-layout.c"
12412 line="1109">%TRUE if the layout does not break paragraphs
12413 at paragraph separator characters, %FALSE otherwise</doc>
12414 <type name="gboolean" c:type="gboolean"/>
12415 </return-value>
12416 <parameters>
12417 <instance-parameter name="layout" transfer-ownership="none">
12418 <doc xml:space="preserve"
12419 filename="pango/pango-layout.c"
12420 line="1103">a `PangoLayout`</doc>
12421 <type name="Layout" c:type="PangoLayout*"/>
12422 </instance-parameter>
12423 </parameters>
12424 </method>
12425 <method name="get_size" c:identifier="pango_layout_get_size">
12426 <doc xml:space="preserve"
12427 filename="pango/pango-layout.c"
12428 line="3147">Determines the logical width and height of a `PangoLayout` in Pango
12429units.
12430
12431This is simply a convenience function around [method@Pango.Layout.get_extents].</doc>
12432 <source-position filename="pango/pango-layout.h" line="340"/>
12433 <return-value transfer-ownership="none">
12434 <type name="none" c:type="void"/>
12435 </return-value>
12436 <parameters>
12437 <instance-parameter name="layout" transfer-ownership="none">
12438 <doc xml:space="preserve"
12439 filename="pango/pango-layout.c"
12440 line="3149">a `PangoLayout`</doc>
12441 <type name="Layout" c:type="PangoLayout*"/>
12442 </instance-parameter>
12443 <parameter name="width"
12444 direction="out"
12445 caller-allocates="0"
12446 transfer-ownership="full"
12447 optional="1"
12448 allow-none="1">
12449 <doc xml:space="preserve"
12450 filename="pango/pango-layout.c"
12451 line="3150">location to store the logical width</doc>
12452 <type name="gint" c:type="int*"/>
12453 </parameter>
12454 <parameter name="height"
12455 direction="out"
12456 caller-allocates="0"
12457 transfer-ownership="full"
12458 optional="1"
12459 allow-none="1">
12460 <doc xml:space="preserve"
12461 filename="pango/pango-layout.c"
12462 line="3151">location to store the logical height</doc>
12463 <type name="gint" c:type="int*"/>
12464 </parameter>
12465 </parameters>
12466 </method>
12467 <method name="get_spacing" c:identifier="pango_layout_get_spacing">
12468 <doc xml:space="preserve"
12469 filename="pango/pango-layout.c"
12470 line="625">Gets the amount of spacing between the lines of the layout.</doc>
12471 <source-position filename="pango/pango-layout.h" line="227"/>
12472 <return-value transfer-ownership="none">
12473 <doc xml:space="preserve"
12474 filename="pango/pango-layout.c"
12475 line="631">the spacing in Pango units</doc>
12476 <type name="gint" c:type="int"/>
12477 </return-value>
12478 <parameters>
12479 <instance-parameter name="layout" transfer-ownership="none">
12480 <doc xml:space="preserve"
12481 filename="pango/pango-layout.c"
12482 line="627">a `PangoLayout`</doc>
12483 <type name="Layout" c:type="PangoLayout*"/>
12484 </instance-parameter>
12485 </parameters>
12486 </method>
12487 <method name="get_tabs" c:identifier="pango_layout_get_tabs">
12488 <doc xml:space="preserve"
12489 filename="pango/pango-layout.c"
12490 line="1048">Gets the current `PangoTabArray` used by this layout.
12491
12492If no `PangoTabArray` has been set, then the default tabs are
12493in use and %NULL is returned. Default tabs are every 8 spaces.
12494
12495The return value should be freed with [method@Pango.TabArray.free].</doc>
12496 <source-position filename="pango/pango-layout.h" line="258"/>
12497 <return-value transfer-ownership="full" nullable="1">
12498 <doc xml:space="preserve"
12499 filename="pango/pango-layout.c"
12500 line="1059">a copy of the tabs for this layout</doc>
12501 <type name="TabArray" c:type="PangoTabArray*"/>
12502 </return-value>
12503 <parameters>
12504 <instance-parameter name="layout" transfer-ownership="none">
12505 <doc xml:space="preserve"
12506 filename="pango/pango-layout.c"
12507 line="1050">a `PangoLayout`</doc>
12508 <type name="Layout" c:type="PangoLayout*"/>
12509 </instance-parameter>
12510 </parameters>
12511 </method>
12512 <method name="get_text" c:identifier="pango_layout_get_text">
12513 <doc xml:space="preserve"
12514 filename="pango/pango-layout.c"
12515 line="1291">Gets the text in the layout.
12516
12517The returned text should not be freed or modified.</doc>
12518 <source-position filename="pango/pango-layout.h" line="177"/>
12519 <return-value transfer-ownership="none">
12520 <doc xml:space="preserve"
12521 filename="pango/pango-layout.c"
12522 line="1299">the text in the @layout</doc>
12523 <type name="utf8" c:type="const char*"/>
12524 </return-value>
12525 <parameters>
12526 <instance-parameter name="layout" transfer-ownership="none">
12527 <doc xml:space="preserve"
12528 filename="pango/pango-layout.c"
12529 line="1293">a `PangoLayout`</doc>
12530 <type name="Layout" c:type="PangoLayout*"/>
12531 </instance-parameter>
12532 </parameters>
12533 </method>
12534 <method name="get_unknown_glyphs_count"
12535 c:identifier="pango_layout_get_unknown_glyphs_count"
12536 version="1.16">
12537 <doc xml:space="preserve"
12538 filename="pango/pango-layout.c"
12539 line="1414">Counts the number of unknown glyphs in @layout.
12540
12541This function can be used to determine if there are any fonts
12542available to render all characters in a certain string, or when
12543used in combination with %PANGO_ATTR_FALLBACK, to check if a
12544certain font supports all the characters in the string.</doc>
12545 <source-position filename="pango/pango-layout.h" line="275"/>
12546 <return-value transfer-ownership="none">
12547 <doc xml:space="preserve"
12548 filename="pango/pango-layout.c"
12549 line="1425">The number of unknown glyphs in @layout</doc>
12550 <type name="gint" c:type="int"/>
12551 </return-value>
12552 <parameters>
12553 <instance-parameter name="layout" transfer-ownership="none">
12554 <doc xml:space="preserve"
12555 filename="pango/pango-layout.c"
12556 line="1416">a `PangoLayout`</doc>
12557 <type name="Layout" c:type="PangoLayout*"/>
12558 </instance-parameter>
12559 </parameters>
12560 </method>
12561 <method name="get_width" c:identifier="pango_layout_get_width">
12562 <doc xml:space="preserve"
12563 filename="pango/pango-layout.c"
12564 line="382">Gets the width to which the lines of the `PangoLayout` should wrap.</doc>
12565 <source-position filename="pango/pango-layout.h" line="205"/>
12566 <return-value transfer-ownership="none">
12567 <doc xml:space="preserve"
12568 filename="pango/pango-layout.c"
12569 line="388">the width in Pango units, or -1 if no width set.</doc>
12570 <type name="gint" c:type="int"/>
12571 </return-value>
12572 <parameters>
12573 <instance-parameter name="layout" transfer-ownership="none">
12574 <doc xml:space="preserve"
12575 filename="pango/pango-layout.c"
12576 line="384">a `PangoLayout`</doc>
12577 <type name="Layout" c:type="PangoLayout*"/>
12578 </instance-parameter>
12579 </parameters>
12580 </method>
12581 <method name="get_wrap" c:identifier="pango_layout_get_wrap">
12582 <doc xml:space="preserve"
12583 filename="pango/pango-layout.c"
12584 line="500">Gets the wrap mode for the layout.
12585
12586Use [method@Pango.Layout.is_wrapped] to query whether
12587any paragraphs were actually wrapped.</doc>
12588 <source-position filename="pango/pango-layout.h" line="215"/>
12589 <return-value transfer-ownership="none">
12590 <doc xml:space="preserve"
12591 filename="pango/pango-layout.c"
12592 line="509">active wrap mode.</doc>
12593 <type name="WrapMode" c:type="PangoWrapMode"/>
12594 </return-value>
12595 <parameters>
12596 <instance-parameter name="layout" transfer-ownership="none">
12597 <doc xml:space="preserve"
12598 filename="pango/pango-layout.c"
12599 line="502">a `PangoLayout`</doc>
12600 <type name="Layout" c:type="PangoLayout*"/>
12601 </instance-parameter>
12602 </parameters>
12603 </method>
12604 <method name="index_to_line_x"
12605 c:identifier="pango_layout_index_to_line_x">
12606 <doc xml:space="preserve"
12607 filename="pango/pango-layout.c"
12608 line="1949">Converts from byte @index_ within the @layout to line and X position.
12609
12610The X position is measured from the left edge of the line.</doc>
12611 <source-position filename="pango/pango-layout.h" line="300"/>
12612 <return-value transfer-ownership="none">
12613 <type name="none" c:type="void"/>
12614 </return-value>
12615 <parameters>
12616 <instance-parameter name="layout" transfer-ownership="none">
12617 <doc xml:space="preserve"
12618 filename="pango/pango-layout.c"
12619 line="1951">a `PangoLayout`</doc>
12620 <type name="Layout" c:type="PangoLayout*"/>
12621 </instance-parameter>
12622 <parameter name="index_" transfer-ownership="none">
12623 <doc xml:space="preserve"
12624 filename="pango/pango-layout.c"
12625 line="1952">the byte index of a grapheme within the layout</doc>
12626 <type name="gint" c:type="int"/>
12627 </parameter>
12628 <parameter name="trailing" transfer-ownership="none">
12629 <doc xml:space="preserve"
12630 filename="pango/pango-layout.c"
12631 line="1953">an integer indicating the edge of the grapheme to retrieve the
12632 position of. If > 0, the trailing edge of the grapheme, if 0,
12633 the leading of the grapheme</doc>
12634 <type name="gboolean" c:type="gboolean"/>
12635 </parameter>
12636 <parameter name="line"
12637 direction="out"
12638 caller-allocates="0"
12639 transfer-ownership="full"
12640 optional="1"
12641 allow-none="1">
12642 <doc xml:space="preserve"
12643 filename="pango/pango-layout.c"
12644 line="1956">location to store resulting line index. (which will
12645 between 0 and pango_layout_get_line_count(layout) - 1)</doc>
12646 <type name="gint" c:type="int*"/>
12647 </parameter>
12648 <parameter name="x_pos"
12649 direction="out"
12650 caller-allocates="0"
12651 transfer-ownership="full"
12652 optional="1"
12653 allow-none="1">
12654 <doc xml:space="preserve"
12655 filename="pango/pango-layout.c"
12656 line="1958">location to store resulting position within line
12657 (%PANGO_SCALE units per device unit)</doc>
12658 <type name="gint" c:type="int*"/>
12659 </parameter>
12660 </parameters>
12661 </method>
12662 <method name="index_to_pos" c:identifier="pango_layout_index_to_pos">
12663 <doc xml:space="preserve"
12664 filename="pango/pango-layout.c"
12665 line="2378">Converts from an index within a `PangoLayout` to the onscreen position
12666corresponding to the grapheme at that index.
12667
12668The returns is represented as rectangle. Note that `pos->x` is
12669always the leading edge of the grapheme and `pos->x + pos->width` the
12670trailing edge of the grapheme. If the directionality of the grapheme
12671is right-to-left, then `pos->width` will be negative.</doc>
12672 <source-position filename="pango/pango-layout.h" line="296"/>
12673 <return-value transfer-ownership="none">
12674 <type name="none" c:type="void"/>
12675 </return-value>
12676 <parameters>
12677 <instance-parameter name="layout" transfer-ownership="none">
12678 <doc xml:space="preserve"
12679 filename="pango/pango-layout.c"
12680 line="2380">a `PangoLayout`</doc>
12681 <type name="Layout" c:type="PangoLayout*"/>
12682 </instance-parameter>
12683 <parameter name="index_" transfer-ownership="none">
12684 <doc xml:space="preserve"
12685 filename="pango/pango-layout.c"
12686 line="2381">byte index within @layout</doc>
12687 <type name="gint" c:type="int"/>
12688 </parameter>
12689 <parameter name="pos"
12690 direction="out"
12691 caller-allocates="1"
12692 transfer-ownership="none">
12693 <doc xml:space="preserve"
12694 filename="pango/pango-layout.c"
12695 line="2382">rectangle in which to store the position of the grapheme</doc>
12696 <type name="Rectangle" c:type="PangoRectangle*"/>
12697 </parameter>
12698 </parameters>
12699 </method>
12700 <method name="is_ellipsized"
12701 c:identifier="pango_layout_is_ellipsized"
12702 version="1.16">
12703 <doc xml:space="preserve"
12704 filename="pango/pango-layout.c"
12705 line="1181">Queries whether the layout had to ellipsize any paragraphs.
12706
12707This returns %TRUE if the ellipsization mode for @layout
12708is not %PANGO_ELLIPSIZE_NONE, a positive width is set on @layout,
12709and there are paragraphs exceeding that width that have to be
12710ellipsized.</doc>
12711 <source-position filename="pango/pango-layout.h" line="272"/>
12712 <return-value transfer-ownership="none">
12713 <doc xml:space="preserve"
12714 filename="pango/pango-layout.c"
12715 line="1192">%TRUE if any paragraphs had to be ellipsized,
12716 %FALSE otherwise</doc>
12717 <type name="gboolean" c:type="gboolean"/>
12718 </return-value>
12719 <parameters>
12720 <instance-parameter name="layout" transfer-ownership="none">
12721 <doc xml:space="preserve"
12722 filename="pango/pango-layout.c"
12723 line="1183">a `PangoLayout`</doc>
12724 <type name="Layout" c:type="PangoLayout*"/>
12725 </instance-parameter>
12726 </parameters>
12727 </method>
12728 <method name="is_wrapped"
12729 c:identifier="pango_layout_is_wrapped"
12730 version="1.16">
12731 <doc xml:space="preserve"
12732 filename="pango/pango-layout.c"
12733 line="519">Queries whether the layout had to wrap any paragraphs.
12734
12735This returns %TRUE if a positive width is set on @layout,
12736and there are paragraphs exceeding the layout width that have
12737to be wrapped.</doc>
12738 <source-position filename="pango/pango-layout.h" line="217"/>
12739 <return-value transfer-ownership="none">
12740 <doc xml:space="preserve"
12741 filename="pango/pango-layout.c"
12742 line="529">%TRUE if any paragraphs had to be wrapped, %FALSE
12743 otherwise</doc>
12744 <type name="gboolean" c:type="gboolean"/>
12745 </return-value>
12746 <parameters>
12747 <instance-parameter name="layout" transfer-ownership="none">
12748 <doc xml:space="preserve"
12749 filename="pango/pango-layout.c"
12750 line="521">a `PangoLayout`</doc>
12751 <type name="Layout" c:type="PangoLayout*"/>
12752 </instance-parameter>
12753 </parameters>
12754 </method>
12755 <method name="move_cursor_visually"
12756 c:identifier="pango_layout_move_cursor_visually">
12757 <doc xml:space="preserve"
12758 filename="pango/pango-layout.c"
12759 line="2064">Computes a new cursor position from an old position and a direction.
12760
12761If @direction is positive, then the new position will cause the strong
12762or weak cursor to be displayed one position to right of where it was
12763with the old cursor position. If @direction is negative, it will be
12764moved to the left.
12765
12766In the presence of bidirectional text, the correspondence between
12767logical and visual order will depend on the direction of the current
12768run, and there may be jumps when the cursor is moved off of the end
12769of a run.
12770
12771Motion here is in cursor positions, not in characters, so a single
12772call to this function may move the cursor over multiple characters
12773when multiple characters combine to form a single grapheme.</doc>
12774 <source-position filename="pango/pango-layout.h" line="318"/>
12775 <return-value transfer-ownership="none">
12776 <type name="none" c:type="void"/>
12777 </return-value>
12778 <parameters>
12779 <instance-parameter name="layout" transfer-ownership="none">
12780 <doc xml:space="preserve"
12781 filename="pango/pango-layout.c"
12782 line="2066">a `PangoLayout`</doc>
12783 <type name="Layout" c:type="PangoLayout*"/>
12784 </instance-parameter>
12785 <parameter name="strong" transfer-ownership="none">
12786 <doc xml:space="preserve"
12787 filename="pango/pango-layout.c"
12788 line="2067">whether the moving cursor is the strong cursor or the
12789 weak cursor. The strong cursor is the cursor corresponding
12790 to text insertion in the base direction for the layout.</doc>
12791 <type name="gboolean" c:type="gboolean"/>
12792 </parameter>
12793 <parameter name="old_index" transfer-ownership="none">
12794 <doc xml:space="preserve"
12795 filename="pango/pango-layout.c"
12796 line="2070">the byte index of the current cursor position</doc>
12797 <type name="gint" c:type="int"/>
12798 </parameter>
12799 <parameter name="old_trailing" transfer-ownership="none">
12800 <doc xml:space="preserve"
12801 filename="pango/pango-layout.c"
12802 line="2071">if 0, the cursor was at the leading edge of the
12803 grapheme indicated by @old_index, if > 0, the cursor
12804 was at the trailing edge.</doc>
12805 <type name="gint" c:type="int"/>
12806 </parameter>
12807 <parameter name="direction" transfer-ownership="none">
12808 <doc xml:space="preserve"
12809 filename="pango/pango-layout.c"
12810 line="2074">direction to move cursor. A negative
12811 value indicates motion to the left</doc>
12812 <type name="gint" c:type="int"/>
12813 </parameter>
12814 <parameter name="new_index"
12815 direction="out"
12816 caller-allocates="0"
12817 transfer-ownership="full">
12818 <doc xml:space="preserve"
12819 filename="pango/pango-layout.c"
12820 line="2076">location to store the new cursor byte index.
12821 A value of -1 indicates that the cursor has been moved off the
12822 beginning of the layout. A value of %G_MAXINT indicates that
12823 the cursor has been moved off the end of the layout.</doc>
12824 <type name="gint" c:type="int*"/>
12825 </parameter>
12826 <parameter name="new_trailing"
12827 direction="out"
12828 caller-allocates="0"
12829 transfer-ownership="full">
12830 <doc xml:space="preserve"
12831 filename="pango/pango-layout.c"
12832 line="2080">number of characters to move forward from
12833 the location returned for @new_index to get the position where
12834 the cursor should be displayed. This allows distinguishing the
12835 position at the beginning of one line from the position at the
12836 end of the preceding line. @new_index is always on the line where
12837 the cursor should be displayed.</doc>
12838 <type name="gint" c:type="int*"/>
12839 </parameter>
12840 </parameters>
12841 </method>
12842 <method name="serialize"
12843 c:identifier="pango_layout_serialize"
12844 version="1.50">
12845 <doc xml:space="preserve"
12846 filename="pango/serializer.c"
12847 line="1575">Serializes the @layout for later deserialization via [func@Pango.Layout.deserialize].
12848
12849There are no guarantees about the format of the output across different
12850versions of Pango and [func@Pango.Layout.deserialize] will reject data
12851that it cannot parse.
12852
12853The intended use of this function is testing, benchmarking and debugging.
12854The format is not meant as a permanent storage format.</doc>
12855 <source-position filename="pango/pango-layout.h" line="382"/>
12856 <return-value transfer-ownership="full">
12857 <doc xml:space="preserve"
12858 filename="pango/serializer.c"
12859 line="1589">a `GBytes` containing the serialized form of @layout</doc>
12860 <type name="GLib.Bytes" c:type="GBytes*"/>
12861 </return-value>
12862 <parameters>
12863 <instance-parameter name="layout" transfer-ownership="none">
12864 <doc xml:space="preserve"
12865 filename="pango/serializer.c"
12866 line="1577">a `PangoLayout`</doc>
12867 <type name="Layout" c:type="PangoLayout*"/>
12868 </instance-parameter>
12869 <parameter name="flags" transfer-ownership="none">
12870 <doc xml:space="preserve"
12871 filename="pango/serializer.c"
12872 line="1578">`PangoLayoutSerializeFlags`</doc>
12873 <type name="LayoutSerializeFlags"
12874 c:type="PangoLayoutSerializeFlags"/>
12875 </parameter>
12876 </parameters>
12877 </method>
12878 <method name="set_alignment" c:identifier="pango_layout_set_alignment">
12879 <doc xml:space="preserve"
12880 filename="pango/pango-layout.c"
12881 line="968">Sets the alignment for the layout: how partial lines are
12882positioned within the horizontal space available.
12883
12884The default alignment is %PANGO_ALIGN_LEFT.</doc>
12885 <source-position filename="pango/pango-layout.h" line="249"/>
12886 <return-value transfer-ownership="none">
12887 <type name="none" c:type="void"/>
12888 </return-value>
12889 <parameters>
12890 <instance-parameter name="layout" transfer-ownership="none">
12891 <doc xml:space="preserve"
12892 filename="pango/pango-layout.c"
12893 line="970">a `PangoLayout`</doc>
12894 <type name="Layout" c:type="PangoLayout*"/>
12895 </instance-parameter>
12896 <parameter name="alignment" transfer-ownership="none">
12897 <doc xml:space="preserve"
12898 filename="pango/pango-layout.c"
12899 line="971">the alignment</doc>
12900 <type name="Alignment" c:type="PangoAlignment"/>
12901 </parameter>
12902 </parameters>
12903 </method>
12904 <method name="set_attributes" c:identifier="pango_layout_set_attributes">
12905 <doc xml:space="preserve"
12906 filename="pango/pango-layout.c"
12907 line="694">Sets the text attributes for a layout object.
12908
12909References @attrs, so the caller can unref its reference.</doc>
12910 <source-position filename="pango/pango-layout.h" line="167"/>
12911 <return-value transfer-ownership="none">
12912 <type name="none" c:type="void"/>
12913 </return-value>
12914 <parameters>
12915 <instance-parameter name="layout" transfer-ownership="none">
12916 <doc xml:space="preserve"
12917 filename="pango/pango-layout.c"
12918 line="696">a `PangoLayout`</doc>
12919 <type name="Layout" c:type="PangoLayout*"/>
12920 </instance-parameter>
12921 <parameter name="attrs"
12922 transfer-ownership="none"
12923 nullable="1"
12924 allow-none="1">
12925 <doc xml:space="preserve"
12926 filename="pango/pango-layout.c"
12927 line="697">a `PangoAttrList`</doc>
12928 <type name="AttrList" c:type="PangoAttrList*"/>
12929 </parameter>
12930 </parameters>
12931 </method>
12932 <method name="set_auto_dir"
12933 c:identifier="pango_layout_set_auto_dir"
12934 version="1.4">
12935 <doc xml:space="preserve"
12936 filename="pango/pango-layout.c"
12937 line="906">Sets whether to calculate the base direction
12938for the layout according to its contents.
12939
12940When this flag is on (the default), then paragraphs in @layout that
12941begin with strong right-to-left characters (Arabic and Hebrew principally),
12942will have right-to-left layout, paragraphs with letters from other scripts
12943will have left-to-right layout. Paragraphs with only neutral characters
12944get their direction from the surrounding paragraphs.
12945
12946When %FALSE, the choice between left-to-right and right-to-left
12947layout is done according to the base direction of the layout's
12948`PangoContext`. (See [method@Pango.Context.set_base_dir]).
12949
12950When the auto-computed direction of a paragraph differs from the
12951base direction of the context, the interpretation of
12952%PANGO_ALIGN_LEFT and %PANGO_ALIGN_RIGHT are swapped.</doc>
12953 <source-position filename="pango/pango-layout.h" line="244"/>
12954 <return-value transfer-ownership="none">
12955 <type name="none" c:type="void"/>
12956 </return-value>
12957 <parameters>
12958 <instance-parameter name="layout" transfer-ownership="none">
12959 <doc xml:space="preserve"
12960 filename="pango/pango-layout.c"
12961 line="908">a `PangoLayout`</doc>
12962 <type name="Layout" c:type="PangoLayout*"/>
12963 </instance-parameter>
12964 <parameter name="auto_dir" transfer-ownership="none">
12965 <doc xml:space="preserve"
12966 filename="pango/pango-layout.c"
12967 line="909">if %TRUE, compute the bidirectional base direction
12968 from the layout's contents</doc>
12969 <type name="gboolean" c:type="gboolean"/>
12970 </parameter>
12971 </parameters>
12972 </method>
12973 <method name="set_ellipsize"
12974 c:identifier="pango_layout_set_ellipsize"
12975 version="1.6">
12976 <doc xml:space="preserve"
12977 filename="pango/pango-layout.c"
12978 line="1120">Sets the type of ellipsization being performed for @layout.
12979
12980Depending on the ellipsization mode @ellipsize text is
12981removed from the start, middle, or end of text so they
12982fit within the width and height of layout set with
12983[method@Pango.Layout.set_width] and [method@Pango.Layout.set_height].
12984
12985If the layout contains characters such as newlines that
12986force it to be layed out in multiple paragraphs, then whether
12987each paragraph is ellipsized separately or the entire layout
12988is ellipsized as a whole depends on the set height of the layout.
12989
12990The default value is %PANGO_ELLIPSIZE_NONE.
12991
12992See [method@Pango.Layout.set_height] for details.</doc>
12993 <source-position filename="pango/pango-layout.h" line="267"/>
12994 <return-value transfer-ownership="none">
12995 <type name="none" c:type="void"/>
12996 </return-value>
12997 <parameters>
12998 <instance-parameter name="layout" transfer-ownership="none">
12999 <doc xml:space="preserve"
13000 filename="pango/pango-layout.c"
13001 line="1122">a `PangoLayout`</doc>
13002 <type name="Layout" c:type="PangoLayout*"/>
13003 </instance-parameter>
13004 <parameter name="ellipsize" transfer-ownership="none">
13005 <doc xml:space="preserve"
13006 filename="pango/pango-layout.c"
13007 line="1123">the new ellipsization mode for @layout</doc>
13008 <type name="EllipsizeMode" c:type="PangoEllipsizeMode"/>
13009 </parameter>
13010 </parameters>
13011 </method>
13012 <method name="set_font_description"
13013 c:identifier="pango_layout_set_font_description">
13014 <doc xml:space="preserve"
13015 filename="pango/pango-layout.c"
13016 line="752">Sets the default font description for the layout.
13017
13018If no font description is set on the layout, the
13019font description from the layout's context is used.</doc>
13020 <source-position filename="pango/pango-layout.h" line="195"/>
13021 <return-value transfer-ownership="none">
13022 <type name="none" c:type="void"/>
13023 </return-value>
13024 <parameters>
13025 <instance-parameter name="layout" transfer-ownership="none">
13026 <doc xml:space="preserve"
13027 filename="pango/pango-layout.c"
13028 line="754">a `PangoLayout`</doc>
13029 <type name="Layout" c:type="PangoLayout*"/>
13030 </instance-parameter>
13031 <parameter name="desc"
13032 transfer-ownership="none"
13033 nullable="1"
13034 allow-none="1">
13035 <doc xml:space="preserve"
13036 filename="pango/pango-layout.c"
13037 line="755">the new `PangoFontDescription`
13038 to unset the current font description</doc>
13039 <type name="FontDescription" c:type="const PangoFontDescription*"/>
13040 </parameter>
13041 </parameters>
13042 </method>
13043 <method name="set_height"
13044 c:identifier="pango_layout_set_height"
13045 version="1.20">
13046 <doc xml:space="preserve"
13047 filename="pango/pango-layout.c"
13048 line="397">Sets the height to which the `PangoLayout` should be ellipsized at.
13049
13050There are two different behaviors, based on whether @height is positive
13051or negative.
13052
13053If @height is positive, it will be the maximum height of the layout. Only
13054lines would be shown that would fit, and if there is any text omitted,
13055an ellipsis added. At least one line is included in each paragraph regardless
13056of how small the height value is. A value of zero will render exactly one
13057line for the entire layout.
13058
13059If @height is negative, it will be the (negative of) maximum number of lines
13060per paragraph. That is, the total number of lines shown may well be more than
13061this value if the layout contains multiple paragraphs of text.
13062The default value of -1 means that the first line of each paragraph is ellipsized.
13063This behavior may be changed in the future to act per layout instead of per
13064paragraph. File a bug against pango at
13065[https://gitlab.gnome.org/gnome/pango](https://gitlab.gnome.org/gnome/pango)
13066if your code relies on this behavior.
13067
13068Height setting only has effect if a positive width is set on
13069@layout and ellipsization mode of @layout is not %PANGO_ELLIPSIZE_NONE.
13070The behavior is undefined if a height other than -1 is set and
13071ellipsization mode is set to %PANGO_ELLIPSIZE_NONE, and may change in the
13072future.</doc>
13073 <source-position filename="pango/pango-layout.h" line="207"/>
13074 <return-value transfer-ownership="none">
13075 <type name="none" c:type="void"/>
13076 </return-value>
13077 <parameters>
13078 <instance-parameter name="layout" transfer-ownership="none">
13079 <doc xml:space="preserve"
13080 filename="pango/pango-layout.c"
13081 line="399">a `PangoLayout`.</doc>
13082 <type name="Layout" c:type="PangoLayout*"/>
13083 </instance-parameter>
13084 <parameter name="height" transfer-ownership="none">
13085 <doc xml:space="preserve"
13086 filename="pango/pango-layout.c"
13087 line="400">the desired height of the layout in Pango units if positive,
13088 or desired number of lines if negative.</doc>
13089 <type name="gint" c:type="int"/>
13090 </parameter>
13091 </parameters>
13092 </method>
13093 <method name="set_indent" c:identifier="pango_layout_set_indent">
13094 <doc xml:space="preserve"
13095 filename="pango/pango-layout.c"
13096 line="544">Sets the width in Pango units to indent each paragraph.
13097
13098A negative value of @indent will produce a hanging indentation.
13099That is, the first line will have the full width, and subsequent
13100lines will be indented by the absolute value of @indent.
13101
13102The indent setting is ignored if layout alignment is set to
13103%PANGO_ALIGN_CENTER.
13104
13105The default value is 0.</doc>
13106 <source-position filename="pango/pango-layout.h" line="219"/>
13107 <return-value transfer-ownership="none">
13108 <type name="none" c:type="void"/>
13109 </return-value>
13110 <parameters>
13111 <instance-parameter name="layout" transfer-ownership="none">
13112 <doc xml:space="preserve"
13113 filename="pango/pango-layout.c"
13114 line="546">a `PangoLayout`</doc>
13115 <type name="Layout" c:type="PangoLayout*"/>
13116 </instance-parameter>
13117 <parameter name="indent" transfer-ownership="none">
13118 <doc xml:space="preserve"
13119 filename="pango/pango-layout.c"
13120 line="547">the amount by which to indent</doc>
13121 <type name="gint" c:type="int"/>
13122 </parameter>
13123 </parameters>
13124 </method>
13125 <method name="set_justify" c:identifier="pango_layout_set_justify">
13126 <doc xml:space="preserve"
13127 filename="pango/pango-layout.c"
13128 line="802">Sets whether each complete line should be stretched to fill the
13129entire width of the layout.
13130
13131Stretching is typically done by adding whitespace, but for some scripts
13132(such as Arabic), the justification may be done in more complex ways,
13133like extending the characters.
13134
13135Note that this setting is not implemented and so is ignored in
13136Pango older than 1.18.
13137
13138Note that tabs and justification conflict with each other:
13139Justification will move content away from its tab-aligned
13140positions.
13141
13142The default value is %FALSE.
13143
13144Also see [method@Pango.Layout.set_justify_last_line].</doc>
13145 <source-position filename="pango/pango-layout.h" line="234"/>
13146 <return-value transfer-ownership="none">
13147 <type name="none" c:type="void"/>
13148 </return-value>
13149 <parameters>
13150 <instance-parameter name="layout" transfer-ownership="none">
13151 <doc xml:space="preserve"
13152 filename="pango/pango-layout.c"
13153 line="804">a `PangoLayout`</doc>
13154 <type name="Layout" c:type="PangoLayout*"/>
13155 </instance-parameter>
13156 <parameter name="justify" transfer-ownership="none">
13157 <doc xml:space="preserve"
13158 filename="pango/pango-layout.c"
13159 line="805">whether the lines in the layout should be justified</doc>
13160 <type name="gboolean" c:type="gboolean"/>
13161 </parameter>
13162 </parameters>
13163 </method>
13164 <method name="set_justify_last_line"
13165 c:identifier="pango_layout_set_justify_last_line"
13166 version="1.50">
13167 <doc xml:space="preserve"
13168 filename="pango/pango-layout.c"
13169 line="858">Sets whether the last line should be stretched to fill the
13170entire width of the layout.
13171
13172This only has an effect if [method@Pango.Layout.set_justify] has
13173been called as well.
13174
13175The default value is %FALSE.</doc>
13176 <source-position filename="pango/pango-layout.h" line="239"/>
13177 <return-value transfer-ownership="none">
13178 <type name="none" c:type="void"/>
13179 </return-value>
13180 <parameters>
13181 <instance-parameter name="layout" transfer-ownership="none">
13182 <doc xml:space="preserve"
13183 filename="pango/pango-layout.c"
13184 line="860">a `PangoLayout`</doc>
13185 <type name="Layout" c:type="PangoLayout*"/>
13186 </instance-parameter>
13187 <parameter name="justify" transfer-ownership="none">
13188 <doc xml:space="preserve"
13189 filename="pango/pango-layout.c"
13190 line="861">whether the last line in the layout should be justified</doc>
13191 <type name="gboolean" c:type="gboolean"/>
13192 </parameter>
13193 </parameters>
13194 </method>
13195 <method name="set_line_spacing"
13196 c:identifier="pango_layout_set_line_spacing"
13197 version="1.44">
13198 <doc xml:space="preserve"
13199 filename="pango/pango-layout.c"
13200 line="640">Sets a factor for line spacing.
13201
13202Typical values are: 0, 1, 1.5, 2. The default values is 0.
13203
13204If @factor is non-zero, lines are placed so that
13205
13206 baseline2 = baseline1 + factor * height2
13207
13208where height2 is the line height of the second line
13209(as determined by the font(s)). In this case, the spacing
13210set with [method@Pango.Layout.set_spacing] is ignored.
13211
13212If @factor is zero (the default), spacing is applied as before.
13213
13214Note: for semantics that are closer to the CSS line-height
13215property, see [func@Pango.attr_line_height_new].</doc>
13216 <source-position filename="pango/pango-layout.h" line="229"/>
13217 <return-value transfer-ownership="none">
13218 <type name="none" c:type="void"/>
13219 </return-value>
13220 <parameters>
13221 <instance-parameter name="layout" transfer-ownership="none">
13222 <doc xml:space="preserve"
13223 filename="pango/pango-layout.c"
13224 line="642">a `PangoLayout`</doc>
13225 <type name="Layout" c:type="PangoLayout*"/>
13226 </instance-parameter>
13227 <parameter name="factor" transfer-ownership="none">
13228 <doc xml:space="preserve"
13229 filename="pango/pango-layout.c"
13230 line="643">the new line spacing factor</doc>
13231 <type name="gfloat" c:type="float"/>
13232 </parameter>
13233 </parameters>
13234 </method>
13235 <method name="set_markup" c:identifier="pango_layout_set_markup">
13236 <doc xml:space="preserve"
13237 filename="pango/pango-layout.c"
13238 line="1334">Sets the layout text and attribute list from marked-up text.
13239
13240See [Pango Markup](pango_markup.html)).
13241
13242Replaces the current text and attribute list.
13243
13244This is the same as [method@Pango.Layout.set_markup_with_accel],
13245but the markup text isn't scanned for accelerators.</doc>
13246 <source-position filename="pango/pango-layout.h" line="183"/>
13247 <return-value transfer-ownership="none">
13248 <type name="none" c:type="void"/>
13249 </return-value>
13250 <parameters>
13251 <instance-parameter name="layout" transfer-ownership="none">
13252 <doc xml:space="preserve"
13253 filename="pango/pango-layout.c"
13254 line="1336">a `PangoLayout`</doc>
13255 <type name="Layout" c:type="PangoLayout*"/>
13256 </instance-parameter>
13257 <parameter name="markup" transfer-ownership="none">
13258 <doc xml:space="preserve"
13259 filename="pango/pango-layout.c"
13260 line="1337">marked-up text</doc>
13261 <type name="utf8" c:type="const char*"/>
13262 </parameter>
13263 <parameter name="length" transfer-ownership="none">
13264 <doc xml:space="preserve"
13265 filename="pango/pango-layout.c"
13266 line="1338">length of marked-up text in bytes, or -1 if @markup is
13267 `NUL`-terminated</doc>
13268 <type name="gint" c:type="int"/>
13269 </parameter>
13270 </parameters>
13271 </method>
13272 <method name="set_markup_with_accel"
13273 c:identifier="pango_layout_set_markup_with_accel">
13274 <doc xml:space="preserve"
13275 filename="pango/pango-layout.c"
13276 line="1358">Sets the layout text and attribute list from marked-up text.
13277
13278See [Pango Markup](pango_markup.html)).
13279
13280Replaces the current text and attribute list.
13281
13282If @accel_marker is nonzero, the given character will mark the
13283character following it as an accelerator. For example, @accel_marker
13284might be an ampersand or underscore. All characters marked
13285as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
13286and the first character so marked will be returned in @accel_char.
13287Two @accel_marker characters following each other produce a single
13288literal @accel_marker character.</doc>
13289 <source-position filename="pango/pango-layout.h" line="188"/>
13290 <return-value transfer-ownership="none">
13291 <type name="none" c:type="void"/>
13292 </return-value>
13293 <parameters>
13294 <instance-parameter name="layout" transfer-ownership="none">
13295 <doc xml:space="preserve"
13296 filename="pango/pango-layout.c"
13297 line="1360">a `PangoLayout`</doc>
13298 <type name="Layout" c:type="PangoLayout*"/>
13299 </instance-parameter>
13300 <parameter name="markup" transfer-ownership="none">
13301 <doc xml:space="preserve"
13302 filename="pango/pango-layout.c"
13303 line="1361">marked-up text (see [Pango Markup](pango_markup.html))</doc>
13304 <type name="utf8" c:type="const char*"/>
13305 </parameter>
13306 <parameter name="length" transfer-ownership="none">
13307 <doc xml:space="preserve"
13308 filename="pango/pango-layout.c"
13309 line="1362">length of marked-up text in bytes, or -1 if @markup is
13310 `NUL`-terminated</doc>
13311 <type name="gint" c:type="int"/>
13312 </parameter>
13313 <parameter name="accel_marker" transfer-ownership="none">
13314 <doc xml:space="preserve"
13315 filename="pango/pango-layout.c"
13316 line="1364">marker for accelerators in the text</doc>
13317 <type name="gunichar" c:type="gunichar"/>
13318 </parameter>
13319 <parameter name="accel_char"
13320 direction="out"
13321 caller-allocates="0"
13322 transfer-ownership="full"
13323 optional="1"
13324 allow-none="1">
13325 <doc xml:space="preserve"
13326 filename="pango/pango-layout.c"
13327 line="1365">return location
13328 for first located accelerator</doc>
13329 <type name="gunichar" c:type="gunichar*"/>
13330 </parameter>
13331 </parameters>
13332 </method>
13333 <method name="set_single_paragraph_mode"
13334 c:identifier="pango_layout_set_single_paragraph_mode">
13335 <doc xml:space="preserve"
13336 filename="pango/pango-layout.c"
13337 line="1072">Sets the single paragraph mode of @layout.
13338
13339If @setting is %TRUE, do not treat newlines and similar characters
13340as paragraph separators; instead, keep all text in a single paragraph,
13341and display a glyph for paragraph separator characters. Used when
13342you want to allow editing of newlines on a single text line.
13343
13344The default value is %FALSE.</doc>
13345 <source-position filename="pango/pango-layout.h" line="261"/>
13346 <return-value transfer-ownership="none">
13347 <type name="none" c:type="void"/>
13348 </return-value>
13349 <parameters>
13350 <instance-parameter name="layout" transfer-ownership="none">
13351 <doc xml:space="preserve"
13352 filename="pango/pango-layout.c"
13353 line="1074">a `PangoLayout`</doc>
13354 <type name="Layout" c:type="PangoLayout*"/>
13355 </instance-parameter>
13356 <parameter name="setting" transfer-ownership="none">
13357 <doc xml:space="preserve"
13358 filename="pango/pango-layout.c"
13359 line="1075">new setting</doc>
13360 <type name="gboolean" c:type="gboolean"/>
13361 </parameter>
13362 </parameters>
13363 </method>
13364 <method name="set_spacing" c:identifier="pango_layout_set_spacing">
13365 <doc xml:space="preserve"
13366 filename="pango/pango-layout.c"
13367 line="590">Sets the amount of spacing in Pango units between
13368the lines of the layout.
13369
13370When placing lines with spacing, Pango arranges things so that
13371
13372 line2.top = line1.bottom + spacing
13373
13374The default value is 0.
13375
13376Note: Since 1.44, Pango is using the line height (as determined
13377by the font) for placing lines when the line spacing factor is set
13378to a non-zero value with [method@Pango.Layout.set_line_spacing].
13379In that case, the @spacing set with this function is ignored.
13380
13381Note: for semantics that are closer to the CSS line-height
13382property, see [func@Pango.attr_line_height_new].</doc>
13383 <source-position filename="pango/pango-layout.h" line="224"/>
13384 <return-value transfer-ownership="none">
13385 <type name="none" c:type="void"/>
13386 </return-value>
13387 <parameters>
13388 <instance-parameter name="layout" transfer-ownership="none">
13389 <doc xml:space="preserve"
13390 filename="pango/pango-layout.c"
13391 line="592">a `PangoLayout`</doc>
13392 <type name="Layout" c:type="PangoLayout*"/>
13393 </instance-parameter>
13394 <parameter name="spacing" transfer-ownership="none">
13395 <doc xml:space="preserve"
13396 filename="pango/pango-layout.c"
13397 line="593">the amount of spacing</doc>
13398 <type name="gint" c:type="int"/>
13399 </parameter>
13400 </parameters>
13401 </method>
13402 <method name="set_tabs" c:identifier="pango_layout_set_tabs">
13403 <doc xml:space="preserve"
13404 filename="pango/pango-layout.c"
13405 line="1008">Sets the tabs to use for @layout, overriding the default tabs.
13406
13407`PangoLayout` will place content at the next tab position
13408whenever it meets a Tab character (U+0009).
13409
13410By default, tabs are every 8 spaces. If @tabs is %NULL, the
13411default tabs are reinstated. @tabs is copied into the layout;
13412you must free your copy of @tabs yourself.
13413
13414Note that tabs and justification conflict with each other:
13415Justification will move content away from its tab-aligned
13416positions. The same is true for alignments other than
13417%PANGO_ALIGN_LEFT.</doc>
13418 <source-position filename="pango/pango-layout.h" line="255"/>
13419 <return-value transfer-ownership="none">
13420 <type name="none" c:type="void"/>
13421 </return-value>
13422 <parameters>
13423 <instance-parameter name="layout" transfer-ownership="none">
13424 <doc xml:space="preserve"
13425 filename="pango/pango-layout.c"
13426 line="1010">a `PangoLayout`</doc>
13427 <type name="Layout" c:type="PangoLayout*"/>
13428 </instance-parameter>
13429 <parameter name="tabs"
13430 transfer-ownership="none"
13431 nullable="1"
13432 allow-none="1">
13433 <doc xml:space="preserve"
13434 filename="pango/pango-layout.c"
13435 line="1011">a `PangoTabArray`</doc>
13436 <type name="TabArray" c:type="PangoTabArray*"/>
13437 </parameter>
13438 </parameters>
13439 </method>
13440 <method name="set_text" c:identifier="pango_layout_set_text">
13441 <doc xml:space="preserve"
13442 filename="pango/pango-layout.c"
13443 line="1207">Sets the text of the layout.
13444
13445This function validates @text and renders invalid UTF-8
13446with a placeholder glyph.
13447
13448Note that if you have used [method@Pango.Layout.set_markup] or
13449[method@Pango.Layout.set_markup_with_accel] on @layout before, you
13450may want to call [method@Pango.Layout.set_attributes] to clear the
13451attributes set on the layout from the markup as this function does
13452not clear attributes.</doc>
13453 <source-position filename="pango/pango-layout.h" line="173"/>
13454 <return-value transfer-ownership="none">
13455 <type name="none" c:type="void"/>
13456 </return-value>
13457 <parameters>
13458 <instance-parameter name="layout" transfer-ownership="none">
13459 <doc xml:space="preserve"
13460 filename="pango/pango-layout.c"
13461 line="1209">a `PangoLayout`</doc>
13462 <type name="Layout" c:type="PangoLayout*"/>
13463 </instance-parameter>
13464 <parameter name="text" transfer-ownership="none">
13465 <doc xml:space="preserve"
13466 filename="pango/pango-layout.c"
13467 line="1210">the text</doc>
13468 <type name="utf8" c:type="const char*"/>
13469 </parameter>
13470 <parameter name="length" transfer-ownership="none">
13471 <doc xml:space="preserve"
13472 filename="pango/pango-layout.c"
13473 line="1211">maximum length of @text, in bytes. -1 indicates that
13474 the string is nul-terminated and the length should be calculated.
13475 The text will also be truncated on encountering a nul-termination
13476 even when @length is positive.</doc>
13477 <type name="gint" c:type="int"/>
13478 </parameter>
13479 </parameters>
13480 </method>
13481 <method name="set_width" c:identifier="pango_layout_set_width">
13482 <doc xml:space="preserve"
13483 filename="pango/pango-layout.c"
13484 line="355">Sets the width to which the lines of the `PangoLayout` should wrap or
13485get ellipsized.
13486
13487The default value is -1: no width set.</doc>
13488 <source-position filename="pango/pango-layout.h" line="202"/>
13489 <return-value transfer-ownership="none">
13490 <type name="none" c:type="void"/>
13491 </return-value>
13492 <parameters>
13493 <instance-parameter name="layout" transfer-ownership="none">
13494 <doc xml:space="preserve"
13495 filename="pango/pango-layout.c"
13496 line="357">a `PangoLayout`.</doc>
13497 <type name="Layout" c:type="PangoLayout*"/>
13498 </instance-parameter>
13499 <parameter name="width" transfer-ownership="none">
13500 <doc xml:space="preserve"
13501 filename="pango/pango-layout.c"
13502 line="358">the desired width in Pango units, or -1 to indicate that no
13503 wrapping or ellipsization should be performed.</doc>
13504 <type name="gint" c:type="int"/>
13505 </parameter>
13506 </parameters>
13507 </method>
13508 <method name="set_wrap" c:identifier="pango_layout_set_wrap">
13509 <doc xml:space="preserve"
13510 filename="pango/pango-layout.c"
13511 line="472">Sets the wrap mode.
13512
13513The wrap mode only has effect if a width is set on the layout
13514with [method@Pango.Layout.set_width]. To turn off wrapping,
13515set the width to -1.
13516
13517The default value is %PANGO_WRAP_WORD.</doc>
13518 <source-position filename="pango/pango-layout.h" line="212"/>
13519 <return-value transfer-ownership="none">
13520 <type name="none" c:type="void"/>
13521 </return-value>
13522 <parameters>
13523 <instance-parameter name="layout" transfer-ownership="none">
13524 <doc xml:space="preserve"
13525 filename="pango/pango-layout.c"
13526 line="474">a `PangoLayout`</doc>
13527 <type name="Layout" c:type="PangoLayout*"/>
13528 </instance-parameter>
13529 <parameter name="wrap" transfer-ownership="none">
13530 <doc xml:space="preserve"
13531 filename="pango/pango-layout.c"
13532 line="475">the wrap mode</doc>
13533 <type name="WrapMode" c:type="PangoWrapMode"/>
13534 </parameter>
13535 </parameters>
13536 </method>
13537 <method name="write_to_file"
13538 c:identifier="pango_layout_write_to_file"
13539 version="1.50"
13540 throws="1">
13541 <doc xml:space="preserve"
13542 filename="pango/serializer.c"
13543 line="1619">A convenience method to serialize a layout to a file.
13544
13545It is equivalent to calling [method@Pango.Layout.serialize]
13546followed by [func@GLib.file_set_contents].
13547
13548See those two functions for details on the arguments.
13549
13550It is mostly intended for use inside a debugger to quickly dump
13551a layout to a file for later inspection.</doc>
13552 <source-position filename="pango/pango-layout.h" line="386"/>
13553 <return-value transfer-ownership="none">
13554 <doc xml:space="preserve"
13555 filename="pango/serializer.c"
13556 line="1636">%TRUE if saving was successful</doc>
13557 <type name="gboolean" c:type="gboolean"/>
13558 </return-value>
13559 <parameters>
13560 <instance-parameter name="layout" transfer-ownership="none">
13561 <doc xml:space="preserve"
13562 filename="pango/serializer.c"
13563 line="1621">a `PangoLayout`</doc>
13564 <type name="Layout" c:type="PangoLayout*"/>
13565 </instance-parameter>
13566 <parameter name="flags" transfer-ownership="none">
13567 <doc xml:space="preserve"
13568 filename="pango/serializer.c"
13569 line="1622">`PangoLayoutSerializeFlags`</doc>
13570 <type name="LayoutSerializeFlags"
13571 c:type="PangoLayoutSerializeFlags"/>
13572 </parameter>
13573 <parameter name="filename" transfer-ownership="none">
13574 <doc xml:space="preserve"
13575 filename="pango/serializer.c"
13576 line="1623">the file to save it to</doc>
13577 <type name="filename" c:type="const char*"/>
13578 </parameter>
13579 </parameters>
13580 </method>
13581 <method name="xy_to_index" c:identifier="pango_layout_xy_to_index">
13582 <doc xml:space="preserve"
13583 filename="pango/pango-layout.c"
13584 line="2272">Converts from X and Y position within a layout to the byte index to the
13585character at that logical position.
13586
13587If the Y position is not inside the layout, the closest position is
13588chosen (the position will be clamped inside the layout). If the X position
13589is not within the layout, then the start or the end of the line is
13590chosen as described for [method@Pango.LayoutLine.x_to_index]. If either
13591the X or Y positions were not inside the layout, then the function returns
13592%FALSE; on an exact hit, it returns %TRUE.</doc>
13593 <source-position filename="pango/pango-layout.h" line="326"/>
13594 <return-value transfer-ownership="none">
13595 <doc xml:space="preserve"
13596 filename="pango/pango-layout.c"
13597 line="2293">%TRUE if the coordinates were inside text, %FALSE otherwise</doc>
13598 <type name="gboolean" c:type="gboolean"/>
13599 </return-value>
13600 <parameters>
13601 <instance-parameter name="layout" transfer-ownership="none">
13602 <doc xml:space="preserve"
13603 filename="pango/pango-layout.c"
13604 line="2274">a `PangoLayout`</doc>
13605 <type name="Layout" c:type="PangoLayout*"/>
13606 </instance-parameter>
13607 <parameter name="x" transfer-ownership="none">
13608 <doc xml:space="preserve"
13609 filename="pango/pango-layout.c"
13610 line="2275">the X offset (in Pango units) from the left edge of the layout</doc>
13611 <type name="gint" c:type="int"/>
13612 </parameter>
13613 <parameter name="y" transfer-ownership="none">
13614 <doc xml:space="preserve"
13615 filename="pango/pango-layout.c"
13616 line="2276">the Y offset (in Pango units) from the top edge of the layout</doc>
13617 <type name="gint" c:type="int"/>
13618 </parameter>
13619 <parameter name="index_"
13620 direction="out"
13621 caller-allocates="0"
13622 transfer-ownership="full">
13623 <doc xml:space="preserve"
13624 filename="pango/pango-layout.c"
13625 line="2277">location to store calculated byte index</doc>
13626 <type name="gint" c:type="int*"/>
13627 </parameter>
13628 <parameter name="trailing"
13629 direction="out"
13630 caller-allocates="0"
13631 transfer-ownership="full">
13632 <doc xml:space="preserve"
13633 filename="pango/pango-layout.c"
13634 line="2278">location to store a integer indicating where
13635 in the grapheme the user clicked. It will either be zero, or the
13636 number of characters in the grapheme. 0 represents the leading edge
13637 of the grapheme.</doc>
13638 <type name="gint" c:type="int*"/>
13639 </parameter>
13640 </parameters>
13641 </method>
13642 </class>
13643 <record name="LayoutClass"
13644 c:type="PangoLayoutClass"
13645 disguised="1"
13646 opaque="1"
13647 glib:is-gtype-struct-for="Layout">
13648 <source-position filename="pango/pango-layout.h" line="33"/>
13649 </record>
13650 <enumeration name="LayoutDeserializeError"
13651 version="1.50"
13652 glib:type-name="PangoLayoutDeserializeError"
13653 glib:get-type="pango_layout_deserialize_error_get_type"
13654 c:type="PangoLayoutDeserializeError"
13655 glib:error-domain="pango-layout-deserialize-error-quark">
13656 <doc xml:space="preserve"
13657 filename="pango/pango-layout.h"
13658 line="394">Errors that can be returned by [func@Pango.Layout.deserialize].</doc>
13659 <member name="invalid"
13660 value="0"
13661 c:identifier="PANGO_LAYOUT_DESERIALIZE_INVALID"
13662 glib:nick="invalid"
13663 glib:name="PANGO_LAYOUT_DESERIALIZE_INVALID">
13664 <doc xml:space="preserve"
13665 filename="pango/pango-layout.h"
13666 line="396">Unspecified error</doc>
13667 </member>
13668 <member name="invalid_value"
13669 value="1"
13670 c:identifier="PANGO_LAYOUT_DESERIALIZE_INVALID_VALUE"
13671 glib:nick="invalid-value"
13672 glib:name="PANGO_LAYOUT_DESERIALIZE_INVALID_VALUE">
13673 <doc xml:space="preserve"
13674 filename="pango/pango-layout.h"
13675 line="397">A JSon value could not be
13676 interpreted</doc>
13677 </member>
13678 <member name="missing_value"
13679 value="2"
13680 c:identifier="PANGO_LAYOUT_DESERIALIZE_MISSING_VALUE"
13681 glib:nick="missing-value"
13682 glib:name="PANGO_LAYOUT_DESERIALIZE_MISSING_VALUE">
13683 <doc xml:space="preserve"
13684 filename="pango/pango-layout.h"
13685 line="399">A required JSon member was
13686 not found</doc>
13687 </member>
13688 <function name="quark"
13689 c:identifier="pango_layout_deserialize_error_quark">
13690 <return-value transfer-ownership="none">
13691 <type name="GLib.Quark" c:type="GQuark"/>
13692 </return-value>
13693 </function>
13694 </enumeration>
13695 <bitfield name="LayoutDeserializeFlags"
13696 version="1.50"
13697 glib:type-name="PangoLayoutDeserializeFlags"
13698 glib:get-type="pango_layout_deserialize_flags_get_type"
13699 c:type="PangoLayoutDeserializeFlags">
13700 <doc xml:space="preserve"
13701 filename="pango/pango-layout.h"
13702 line="415">Flags that influence the behavior of [func@Pango.Layout.deserialize].
13703
13704New members may be added to this enumeration over time.</doc>
13705 <member name="default"
13706 value="0"
13707 c:identifier="PANGO_LAYOUT_DESERIALIZE_DEFAULT"
13708 glib:nick="default"
13709 glib:name="PANGO_LAYOUT_DESERIALIZE_DEFAULT">
13710 <doc xml:space="preserve"
13711 filename="pango/pango-layout.h"
13712 line="417">Default behavior</doc>
13713 </member>
13714 <member name="context"
13715 value="1"
13716 c:identifier="PANGO_LAYOUT_DESERIALIZE_CONTEXT"
13717 glib:nick="context"
13718 glib:name="PANGO_LAYOUT_DESERIALIZE_CONTEXT">
13719 <doc xml:space="preserve"
13720 filename="pango/pango-layout.h"
13721 line="418">Apply context information
13722 from the serialization to the `PangoContext`</doc>
13723 </member>
13724 </bitfield>
13725 <record name="LayoutIter"
13726 c:type="PangoLayoutIter"
13727 opaque="1"
13728 glib:type-name="PangoLayoutIter"
13729 glib:get-type="pango_layout_iter_get_type"
13730 c:symbol-prefix="layout_iter">
13731 <doc xml:space="preserve"
13732 filename="pango/pango-layout.c"
13733 line="65">A `PangoLayoutIter` can be used to iterate over the visual
13734extents of a `PangoLayout`.
13735
13736To obtain a `PangoLayoutIter`, use [method@Pango.Layout.get_iter].
13737
13738The `PangoLayoutIter` structure is opaque, and has no user-visible fields.</doc>
13739 <source-position filename="pango/pango-layout.h" line="487"/>
13740 <method name="at_last_line"
13741 c:identifier="pango_layout_iter_at_last_line">
13742 <doc xml:space="preserve"
13743 filename="pango/pango-layout.c"
13744 line="7461">Determines whether @iter is on the last line of the layout.</doc>
13745 <source-position filename="pango/pango-layout.h" line="512"/>
13746 <return-value transfer-ownership="none">
13747 <doc xml:space="preserve"
13748 filename="pango/pango-layout.c"
13749 line="7467">%TRUE if @iter is on the last line</doc>
13750 <type name="gboolean" c:type="gboolean"/>
13751 </return-value>
13752 <parameters>
13753 <instance-parameter name="iter" transfer-ownership="none">
13754 <doc xml:space="preserve"
13755 filename="pango/pango-layout.c"
13756 line="7463">a `PangoLayoutIter`</doc>
13757 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
13758 </instance-parameter>
13759 </parameters>
13760 </method>
13761 <method name="copy" c:identifier="pango_layout_iter_copy" version="1.20">
13762 <doc xml:space="preserve"
13763 filename="pango/pango-layout.c"
13764 line="7160">Copies a `PangoLayoutIter`.</doc>
13765 <source-position filename="pango/pango-layout.h" line="497"/>
13766 <return-value transfer-ownership="full" nullable="1">
13767 <doc xml:space="preserve"
13768 filename="pango/pango-layout.c"
13769 line="7166">the newly allocated `PangoLayoutIter`</doc>
13770 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
13771 </return-value>
13772 <parameters>
13773 <instance-parameter name="iter"
13774 transfer-ownership="none"
13775 nullable="1"
13776 allow-none="1">
13777 <doc xml:space="preserve"
13778 filename="pango/pango-layout.c"
13779 line="7162">a `PangoLayoutIter`</doc>
13780 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
13781 </instance-parameter>
13782 </parameters>
13783 </method>
13784 <method name="free" c:identifier="pango_layout_iter_free">
13785 <doc xml:space="preserve"
13786 filename="pango/pango-layout.c"
13787 line="7305">Frees an iterator that's no longer in use.</doc>
13788 <source-position filename="pango/pango-layout.h" line="499"/>
13789 <return-value transfer-ownership="none">
13790 <type name="none" c:type="void"/>
13791 </return-value>
13792 <parameters>
13793 <instance-parameter name="iter"
13794 transfer-ownership="none"
13795 nullable="1"
13796 allow-none="1">
13797 <doc xml:space="preserve"
13798 filename="pango/pango-layout.c"
13799 line="7307">a `PangoLayoutIter`, may be %NULL</doc>
13800 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
13801 </instance-parameter>
13802 </parameters>
13803 </method>
13804 <method name="get_baseline"
13805 c:identifier="pango_layout_iter_get_baseline">
13806 <doc xml:space="preserve"
13807 filename="pango/pango-layout.c"
13808 line="8024">Gets the Y position of the current line's baseline, in layout
13809coordinates.
13810
13811Layout coordinates have the origin at the top left of the entire layout.</doc>
13812 <source-position filename="pango/pango-layout.h" line="552"/>
13813 <return-value transfer-ownership="none">
13814 <doc xml:space="preserve"
13815 filename="pango/pango-layout.c"
13816 line="8033">baseline of current line</doc>
13817 <type name="gint" c:type="int"/>
13818 </return-value>
13819 <parameters>
13820 <instance-parameter name="iter" transfer-ownership="none">
13821 <doc xml:space="preserve"
13822 filename="pango/pango-layout.c"
13823 line="8026">a `PangoLayoutIter`</doc>
13824 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
13825 </instance-parameter>
13826 </parameters>
13827 </method>
13828 <method name="get_char_extents"
13829 c:identifier="pango_layout_iter_get_char_extents">
13830 <doc xml:space="preserve"
13831 filename="pango/pango-layout.c"
13832 line="7751">Gets the extents of the current character, in layout coordinates.
13833
13834Layout coordinates have the origin at the top left of the entire layout.
13835
13836Only logical extents can sensibly be obtained for characters;
13837ink extents make sense only down to the level of clusters.</doc>
13838 <source-position filename="pango/pango-layout.h" line="526"/>
13839 <return-value transfer-ownership="none">
13840 <type name="none" c:type="void"/>
13841 </return-value>
13842 <parameters>
13843 <instance-parameter name="iter" transfer-ownership="none">
13844 <doc xml:space="preserve"
13845 filename="pango/pango-layout.c"
13846 line="7753">a `PangoLayoutIter`</doc>
13847 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
13848 </instance-parameter>
13849 <parameter name="logical_rect"
13850 direction="out"
13851 caller-allocates="1"
13852 transfer-ownership="none">
13853 <doc xml:space="preserve"
13854 filename="pango/pango-layout.c"
13855 line="7754">rectangle to fill with
13856 logical extents</doc>
13857 <type name="Rectangle" c:type="PangoRectangle*"/>
13858 </parameter>
13859 </parameters>
13860 </method>
13861 <method name="get_cluster_extents"
13862 c:identifier="pango_layout_iter_get_cluster_extents">
13863 <doc xml:space="preserve"
13864 filename="pango/pango-layout.c"
13865 line="7804">Gets the extents of the current cluster, in layout coordinates.
13866
13867Layout coordinates have the origin at the top left of the entire layout.</doc>
13868 <source-position filename="pango/pango-layout.h" line="529"/>
13869 <return-value transfer-ownership="none">
13870 <type name="none" c:type="void"/>
13871 </return-value>
13872 <parameters>
13873 <instance-parameter name="iter" transfer-ownership="none">
13874 <doc xml:space="preserve"
13875 filename="pango/pango-layout.c"
13876 line="7806">a `PangoLayoutIter`</doc>
13877 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
13878 </instance-parameter>
13879 <parameter name="ink_rect"
13880 direction="out"
13881 caller-allocates="1"
13882 transfer-ownership="none"
13883 optional="1"
13884 allow-none="1">
13885 <doc xml:space="preserve"
13886 filename="pango/pango-layout.c"
13887 line="7807">rectangle to fill with ink extents</doc>
13888 <type name="Rectangle" c:type="PangoRectangle*"/>
13889 </parameter>
13890 <parameter name="logical_rect"
13891 direction="out"
13892 caller-allocates="1"
13893 transfer-ownership="none"
13894 optional="1"
13895 allow-none="1">
13896 <doc xml:space="preserve"
13897 filename="pango/pango-layout.c"
13898 line="7808">rectangle to fill with logical extents</doc>
13899 <type name="Rectangle" c:type="PangoRectangle*"/>
13900 </parameter>
13901 </parameters>
13902 </method>
13903 <method name="get_index" c:identifier="pango_layout_iter_get_index">
13904 <doc xml:space="preserve"
13905 filename="pango/pango-layout.c"
13906 line="7321">Gets the current byte index.
13907
13908Note that iterating forward by char moves in visual order,
13909not logical order, so indexes may not be sequential. Also,
13910the index may be equal to the length of the text in the
13911layout, if on the %NULL run (see [method@Pango.LayoutIter.get_run]).</doc>
13912 <source-position filename="pango/pango-layout.h" line="502"/>
13913 <return-value transfer-ownership="none">
13914 <doc xml:space="preserve"
13915 filename="pango/pango-layout.c"
13916 line="7332">current byte index</doc>
13917 <type name="gint" c:type="int"/>
13918 </return-value>
13919 <parameters>
13920 <instance-parameter name="iter" transfer-ownership="none">
13921 <doc xml:space="preserve"
13922 filename="pango/pango-layout.c"
13923 line="7323">a `PangoLayoutIter`</doc>
13924 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
13925 </instance-parameter>
13926 </parameters>
13927 </method>
13928 <method name="get_layout"
13929 c:identifier="pango_layout_iter_get_layout"
13930 version="1.20">
13931 <doc xml:space="preserve"
13932 filename="pango/pango-layout.c"
13933 line="7478">Gets the layout associated with a `PangoLayoutIter`.</doc>
13934 <source-position filename="pango/pango-layout.h" line="514"/>
13935 <return-value transfer-ownership="none" nullable="1">
13936 <doc xml:space="preserve"
13937 filename="pango/pango-layout.c"
13938 line="7484">the layout associated with @iter</doc>
13939 <type name="Layout" c:type="PangoLayout*"/>
13940 </return-value>
13941 <parameters>
13942 <instance-parameter name="iter" transfer-ownership="none">
13943 <doc xml:space="preserve"
13944 filename="pango/pango-layout.c"
13945 line="7480">a `PangoLayoutIter`</doc>
13946 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
13947 </instance-parameter>
13948 </parameters>
13949 </method>
13950 <method name="get_layout_extents"
13951 c:identifier="pango_layout_iter_get_layout_extents">
13952 <doc xml:space="preserve"
13953 filename="pango/pango-layout.c"
13954 line="8070">Obtains the extents of the `PangoLayout` being iterated over.</doc>
13955 <source-position filename="pango/pango-layout.h" line="548"/>
13956 <return-value transfer-ownership="none">
13957 <type name="none" c:type="void"/>
13958 </return-value>
13959 <parameters>
13960 <instance-parameter name="iter" transfer-ownership="none">
13961 <doc xml:space="preserve"
13962 filename="pango/pango-layout.c"
13963 line="8072">a `PangoLayoutIter`</doc>
13964 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
13965 </instance-parameter>
13966 <parameter name="ink_rect"
13967 direction="out"
13968 caller-allocates="1"
13969 transfer-ownership="none"
13970 optional="1"
13971 allow-none="1">
13972 <doc xml:space="preserve"
13973 filename="pango/pango-layout.c"
13974 line="8073">rectangle to fill with ink extents</doc>
13975 <type name="Rectangle" c:type="PangoRectangle*"/>
13976 </parameter>
13977 <parameter name="logical_rect"
13978 direction="out"
13979 caller-allocates="1"
13980 transfer-ownership="none"
13981 optional="1"
13982 allow-none="1">
13983 <doc xml:space="preserve"
13984 filename="pango/pango-layout.c"
13985 line="8074">rectangle to fill with logical extents</doc>
13986 <type name="Rectangle" c:type="PangoRectangle*"/>
13987 </parameter>
13988 </parameters>
13989 </method>
13990 <method name="get_line" c:identifier="pango_layout_iter_get_line">
13991 <doc xml:space="preserve"
13992 filename="pango/pango-layout.c"
13993 line="7414">Gets the current line.
13994
13995Use the faster [method@Pango.LayoutIter.get_line_readonly] if
13996you do not plan to modify the contents of the line (glyphs,
13997glyph widths, etc.).</doc>
13998 <source-position filename="pango/pango-layout.h" line="508"/>
13999 <return-value transfer-ownership="none" nullable="1">
14000 <doc xml:space="preserve"
14001 filename="pango/pango-layout.c"
14002 line="7424">the current line</doc>
14003 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14004 </return-value>
14005 <parameters>
14006 <instance-parameter name="iter" transfer-ownership="none">
14007 <doc xml:space="preserve"
14008 filename="pango/pango-layout.c"
14009 line="7416">a `PangoLayoutIter`</doc>
14010 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
14011 </instance-parameter>
14012 </parameters>
14013 </method>
14014 <method name="get_line_extents"
14015 c:identifier="pango_layout_iter_get_line_extents">
14016 <doc xml:space="preserve"
14017 filename="pango/pango-layout.c"
14018 line="7928">Obtains the extents of the current line.
14019
14020Extents are in layout coordinates (origin is the top-left corner
14021of the entire `PangoLayout`). Thus the extents returned by this
14022function will be the same width/height but not at the same x/y
14023as the extents returned from [method@Pango.LayoutLine.get_extents].</doc>
14024 <source-position filename="pango/pango-layout.h" line="537"/>
14025 <return-value transfer-ownership="none">
14026 <type name="none" c:type="void"/>
14027 </return-value>
14028 <parameters>
14029 <instance-parameter name="iter" transfer-ownership="none">
14030 <doc xml:space="preserve"
14031 filename="pango/pango-layout.c"
14032 line="7930">a `PangoLayoutIter`</doc>
14033 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
14034 </instance-parameter>
14035 <parameter name="ink_rect"
14036 direction="out"
14037 caller-allocates="1"
14038 transfer-ownership="none"
14039 optional="1"
14040 allow-none="1">
14041 <doc xml:space="preserve"
14042 filename="pango/pango-layout.c"
14043 line="7931">rectangle to fill with ink extents</doc>
14044 <type name="Rectangle" c:type="PangoRectangle*"/>
14045 </parameter>
14046 <parameter name="logical_rect"
14047 direction="out"
14048 caller-allocates="1"
14049 transfer-ownership="none"
14050 optional="1"
14051 allow-none="1">
14052 <doc xml:space="preserve"
14053 filename="pango/pango-layout.c"
14054 line="7932">rectangle to fill with logical extents</doc>
14055 <type name="Rectangle" c:type="PangoRectangle*"/>
14056 </parameter>
14057 </parameters>
14058 </method>
14059 <method name="get_line_readonly"
14060 c:identifier="pango_layout_iter_get_line_readonly"
14061 version="1.16">
14062 <doc xml:space="preserve"
14063 filename="pango/pango-layout.c"
14064 line="7437">Gets the current line for read-only access.
14065
14066This is a faster alternative to [method@Pango.LayoutIter.get_line],
14067but the user is not expected to modify the contents of the line
14068(glyphs, glyph widths, etc.).</doc>
14069 <source-position filename="pango/pango-layout.h" line="510"/>
14070 <return-value transfer-ownership="none" nullable="1">
14071 <doc xml:space="preserve"
14072 filename="pango/pango-layout.c"
14073 line="7447">the current line, that should not be
14074 modified</doc>
14075 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14076 </return-value>
14077 <parameters>
14078 <instance-parameter name="iter" transfer-ownership="none">
14079 <doc xml:space="preserve"
14080 filename="pango/pango-layout.c"
14081 line="7439">a `PangoLayoutIter`</doc>
14082 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
14083 </instance-parameter>
14084 </parameters>
14085 </method>
14086 <method name="get_line_yrange"
14087 c:identifier="pango_layout_iter_get_line_yrange">
14088 <doc xml:space="preserve"
14089 filename="pango/pango-layout.c"
14090 line="7967">Divides the vertical space in the `PangoLayout` being iterated over
14091between the lines in the layout, and returns the space belonging to
14092the current line.
14093
14094A line's range includes the line's logical extents. plus half of the
14095spacing above and below the line, if [method@Pango.Layout.set_spacing]
14096has been called to set layout spacing. The Y positions are in layout
14097coordinates (origin at top left of the entire layout).
14098
14099Note: Since 1.44, Pango uses line heights for placing lines, and there
14100may be gaps between the ranges returned by this function.</doc>
14101 <source-position filename="pango/pango-layout.h" line="544"/>
14102 <return-value transfer-ownership="none">
14103 <type name="none" c:type="void"/>
14104 </return-value>
14105 <parameters>
14106 <instance-parameter name="iter" transfer-ownership="none">
14107 <doc xml:space="preserve"
14108 filename="pango/pango-layout.c"
14109 line="7969">a `PangoLayoutIter`</doc>
14110 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
14111 </instance-parameter>
14112 <parameter name="y0_"
14113 direction="out"
14114 caller-allocates="0"
14115 transfer-ownership="full"
14116 optional="1"
14117 allow-none="1">
14118 <doc xml:space="preserve"
14119 filename="pango/pango-layout.c"
14120 line="7970">start of line</doc>
14121 <type name="gint" c:type="int*"/>
14122 </parameter>
14123 <parameter name="y1_"
14124 direction="out"
14125 caller-allocates="0"
14126 transfer-ownership="full"
14127 optional="1"
14128 allow-none="1">
14129 <doc xml:space="preserve"
14130 filename="pango/pango-layout.c"
14131 line="7971">end of line</doc>
14132 <type name="gint" c:type="int*"/>
14133 </parameter>
14134 </parameters>
14135 </method>
14136 <method name="get_run" c:identifier="pango_layout_iter_get_run">
14137 <doc xml:space="preserve"
14138 filename="pango/pango-layout.c"
14139 line="7343">Gets the current run.
14140
14141When iterating by run, at the end of each line, there's a position
14142with a %NULL run, so this function can return %NULL. The %NULL run
14143at the end of each line ensures that all lines have at least one run,
14144even lines consisting of only a newline.
14145
14146Use the faster [method@Pango.LayoutIter.get_run_readonly] if you do not
14147plan to modify the contents of the run (glyphs, glyph widths, etc.).</doc>
14148 <source-position filename="pango/pango-layout.h" line="504"/>
14149 <return-value transfer-ownership="none" nullable="1">
14150 <doc xml:space="preserve"
14151 filename="pango/pango-layout.c"
14152 line="7357">the current run</doc>
14153 <type name="LayoutRun" c:type="PangoLayoutRun*"/>
14154 </return-value>
14155 <parameters>
14156 <instance-parameter name="iter" transfer-ownership="none">
14157 <doc xml:space="preserve"
14158 filename="pango/pango-layout.c"
14159 line="7345">a `PangoLayoutIter`</doc>
14160 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
14161 </instance-parameter>
14162 </parameters>
14163 </method>
14164 <method name="get_run_baseline"
14165 c:identifier="pango_layout_iter_get_run_baseline"
14166 version="1.50">
14167 <doc xml:space="preserve"
14168 filename="pango/pango-layout.c"
14169 line="8044">Gets the Y position of the current run's baseline, in layout
14170coordinates.
14171
14172Layout coordinates have the origin at the top left of the entire layout.
14173
14174The run baseline can be different from the line baseline, for
14175example due to superscript or subscript positioning.</doc>
14176 <source-position filename="pango/pango-layout.h" line="554"/>
14177 <return-value transfer-ownership="none">
14178 <type name="gint" c:type="int"/>
14179 </return-value>
14180 <parameters>
14181 <instance-parameter name="iter" transfer-ownership="none">
14182 <doc xml:space="preserve"
14183 filename="pango/pango-layout.c"
14184 line="8046">a `PangoLayoutIter`</doc>
14185 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
14186 </instance-parameter>
14187 </parameters>
14188 </method>
14189 <method name="get_run_extents"
14190 c:identifier="pango_layout_iter_get_run_extents">
14191 <doc xml:space="preserve"
14192 filename="pango/pango-layout.c"
14193 line="7854">Gets the extents of the current run in layout coordinates.
14194
14195Layout coordinates have the origin at the top left of the entire layout.</doc>
14196 <source-position filename="pango/pango-layout.h" line="533"/>
14197 <return-value transfer-ownership="none">
14198 <type name="none" c:type="void"/>
14199 </return-value>
14200 <parameters>
14201 <instance-parameter name="iter" transfer-ownership="none">
14202 <doc xml:space="preserve"
14203 filename="pango/pango-layout.c"
14204 line="7856">a `PangoLayoutIter`</doc>
14205 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
14206 </instance-parameter>
14207 <parameter name="ink_rect"
14208 direction="out"
14209 caller-allocates="1"
14210 transfer-ownership="none"
14211 optional="1"
14212 allow-none="1">
14213 <doc xml:space="preserve"
14214 filename="pango/pango-layout.c"
14215 line="7857">rectangle to fill with ink extents</doc>
14216 <type name="Rectangle" c:type="PangoRectangle*"/>
14217 </parameter>
14218 <parameter name="logical_rect"
14219 direction="out"
14220 caller-allocates="1"
14221 transfer-ownership="none"
14222 optional="1"
14223 allow-none="1">
14224 <doc xml:space="preserve"
14225 filename="pango/pango-layout.c"
14226 line="7858">rectangle to fill with logical extents</doc>
14227 <type name="Rectangle" c:type="PangoRectangle*"/>
14228 </parameter>
14229 </parameters>
14230 </method>
14231 <method name="get_run_readonly"
14232 c:identifier="pango_layout_iter_get_run_readonly"
14233 version="1.16">
14234 <doc xml:space="preserve"
14235 filename="pango/pango-layout.c"
14236 line="7370">Gets the current run for read-only access.
14237
14238When iterating by run, at the end of each line, there's a position
14239with a %NULL run, so this function can return %NULL. The %NULL run
14240at the end of each line ensures that all lines have at least one run,
14241even lines consisting of only a newline.
14242
14243This is a faster alternative to [method@Pango.LayoutIter.get_run],
14244but the user is not expected to modify the contents of the run (glyphs,
14245glyph widths, etc.).</doc>
14246 <source-position filename="pango/pango-layout.h" line="506"/>
14247 <return-value transfer-ownership="none" nullable="1">
14248 <doc xml:space="preserve"
14249 filename="pango/pango-layout.c"
14250 line="7385">the current run, that
14251 should not be modified</doc>
14252 <type name="LayoutRun" c:type="PangoLayoutRun*"/>
14253 </return-value>
14254 <parameters>
14255 <instance-parameter name="iter" transfer-ownership="none">
14256 <doc xml:space="preserve"
14257 filename="pango/pango-layout.c"
14258 line="7372">a `PangoLayoutIter`</doc>
14259 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
14260 </instance-parameter>
14261 </parameters>
14262 </method>
14263 <method name="next_char" c:identifier="pango_layout_iter_next_char">
14264 <doc xml:space="preserve"
14265 filename="pango/pango-layout.c"
14266 line="7600">Moves @iter forward to the next character in visual order.
14267
14268If @iter was already at the end of the layout, returns %FALSE.</doc>
14269 <source-position filename="pango/pango-layout.h" line="517"/>
14270 <return-value transfer-ownership="none">
14271 <doc xml:space="preserve"
14272 filename="pango/pango-layout.c"
14273 line="7608">whether motion was possible</doc>
14274 <type name="gboolean" c:type="gboolean"/>
14275 </return-value>
14276 <parameters>
14277 <instance-parameter name="iter" transfer-ownership="none">
14278 <doc xml:space="preserve"
14279 filename="pango/pango-layout.c"
14280 line="7602">a `PangoLayoutIter`</doc>
14281 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
14282 </instance-parameter>
14283 </parameters>
14284 </method>
14285 <method name="next_cluster"
14286 c:identifier="pango_layout_iter_next_cluster">
14287 <doc xml:space="preserve"
14288 filename="pango/pango-layout.c"
14289 line="7645">Moves @iter forward to the next cluster in visual order.
14290
14291If @iter was already at the end of the layout, returns %FALSE.</doc>
14292 <source-position filename="pango/pango-layout.h" line="519"/>
14293 <return-value transfer-ownership="none">
14294 <doc xml:space="preserve"
14295 filename="pango/pango-layout.c"
14296 line="7653">whether motion was possible</doc>
14297 <type name="gboolean" c:type="gboolean"/>
14298 </return-value>
14299 <parameters>
14300 <instance-parameter name="iter" transfer-ownership="none">
14301 <doc xml:space="preserve"
14302 filename="pango/pango-layout.c"
14303 line="7647">a `PangoLayoutIter`</doc>
14304 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
14305 </instance-parameter>
14306 </parameters>
14307 </method>
14308 <method name="next_line" c:identifier="pango_layout_iter_next_line">
14309 <doc xml:space="preserve"
14310 filename="pango/pango-layout.c"
14311 line="7706">Moves @iter forward to the start of the next line.
14312
14313If @iter is already on the last line, returns %FALSE.</doc>
14314 <source-position filename="pango/pango-layout.h" line="523"/>
14315 <return-value transfer-ownership="none">
14316 <doc xml:space="preserve"
14317 filename="pango/pango-layout.c"
14318 line="7714">whether motion was possible</doc>
14319 <type name="gboolean" c:type="gboolean"/>
14320 </return-value>
14321 <parameters>
14322 <instance-parameter name="iter" transfer-ownership="none">
14323 <doc xml:space="preserve"
14324 filename="pango/pango-layout.c"
14325 line="7708">a `PangoLayoutIter`</doc>
14326 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
14327 </instance-parameter>
14328 </parameters>
14329 </method>
14330 <method name="next_run" c:identifier="pango_layout_iter_next_run">
14331 <doc xml:space="preserve"
14332 filename="pango/pango-layout.c"
14333 line="7661">Moves @iter forward to the next run in visual order.
14334
14335If @iter was already at the end of the layout, returns %FALSE.</doc>
14336 <source-position filename="pango/pango-layout.h" line="521"/>
14337 <return-value transfer-ownership="none">
14338 <doc xml:space="preserve"
14339 filename="pango/pango-layout.c"
14340 line="7669">whether motion was possible</doc>
14341 <type name="gboolean" c:type="gboolean"/>
14342 </return-value>
14343 <parameters>
14344 <instance-parameter name="iter" transfer-ownership="none">
14345 <doc xml:space="preserve"
14346 filename="pango/pango-layout.c"
14347 line="7663">a `PangoLayoutIter`</doc>
14348 <type name="LayoutIter" c:type="PangoLayoutIter*"/>
14349 </instance-parameter>
14350 </parameters>
14351 </method>
14352 </record>
14353 <record name="LayoutLine"
14354 c:type="PangoLayoutLine"
14355 glib:type-name="PangoLayoutLine"
14356 glib:get-type="pango_layout_line_get_type"
14357 c:symbol-prefix="layout_line">
14358 <doc xml:space="preserve"
14359 filename="pango/pango-layout.h"
14360 line="118">A `PangoLayoutLine` represents one of the lines resulting from laying
14361out a paragraph via `PangoLayout`.
14362
14363`PangoLayoutLine` structures are obtained by calling
14364[method@Pango.Layout.get_line] and are only valid until the text,
14365attributes, or settings of the parent `PangoLayout` are modified.</doc>
14366 <source-position filename="pango/pango-layout.h" line="143"/>
14367 <field name="layout" writable="1">
14368 <doc xml:space="preserve"
14369 filename="pango/pango-layout.h"
14370 line="120">the layout this line belongs to, might be %NULL</doc>
14371 <type name="Layout" c:type="PangoLayout*"/>
14372 </field>
14373 <field name="start_index" writable="1">
14374 <doc xml:space="preserve"
14375 filename="pango/pango-layout.h"
14376 line="121">start of line as byte index into layout->text</doc>
14377 <type name="gint" c:type="gint"/>
14378 </field>
14379 <field name="length" writable="1">
14380 <doc xml:space="preserve"
14381 filename="pango/pango-layout.h"
14382 line="122">length of line in bytes</doc>
14383 <type name="gint" c:type="gint"/>
14384 </field>
14385 <field name="runs" writable="1">
14386 <doc xml:space="preserve"
14387 filename="pango/pango-layout.h"
14388 line="123">list of runs in the
14389 line, from left to right</doc>
14390 <type name="GLib.SList" c:type="GSList*">
14391 <type name="LayoutRun"/>
14392 </type>
14393 </field>
14394 <field name="is_paragraph_start" writable="1" bits="1">
14395 <doc xml:space="preserve"
14396 filename="pango/pango-layout.h"
14397 line="125">#TRUE if this is the first line of the paragraph</doc>
14398 <type name="guint" c:type="guint"/>
14399 </field>
14400 <field name="resolved_dir" writable="1" bits="3">
14401 <doc xml:space="preserve"
14402 filename="pango/pango-layout.h"
14403 line="126">#Resolved PangoDirection of line</doc>
14404 <type name="guint" c:type="guint"/>
14405 </field>
14406 <method name="get_extents" c:identifier="pango_layout_line_get_extents">
14407 <doc xml:space="preserve"
14408 filename="pango/pango-layout.c"
14409 line="5934">Computes the logical and ink extents of a layout line.
14410
14411See [method@Pango.Font.get_glyph_extents] for details
14412about the interpretation of the rectangles.</doc>
14413 <source-position filename="pango/pango-layout.h" line="475"/>
14414 <return-value transfer-ownership="none">
14415 <type name="none" c:type="void"/>
14416 </return-value>
14417 <parameters>
14418 <instance-parameter name="line" transfer-ownership="none">
14419 <doc xml:space="preserve"
14420 filename="pango/pango-layout.c"
14421 line="5936">a `PangoLayoutLine`</doc>
14422 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14423 </instance-parameter>
14424 <parameter name="ink_rect"
14425 direction="out"
14426 caller-allocates="1"
14427 transfer-ownership="none"
14428 optional="1"
14429 allow-none="1">
14430 <doc xml:space="preserve"
14431 filename="pango/pango-layout.c"
14432 line="5937">rectangle used to store the extents of
14433 the glyph string as drawn</doc>
14434 <type name="Rectangle" c:type="PangoRectangle*"/>
14435 </parameter>
14436 <parameter name="logical_rect"
14437 direction="out"
14438 caller-allocates="1"
14439 transfer-ownership="none"
14440 optional="1"
14441 allow-none="1">
14442 <doc xml:space="preserve"
14443 filename="pango/pango-layout.c"
14444 line="5939">rectangle used to store the logical
14445 extents of the glyph string</doc>
14446 <type name="Rectangle" c:type="PangoRectangle*"/>
14447 </parameter>
14448 </parameters>
14449 </method>
14450 <method name="get_height"
14451 c:identifier="pango_layout_line_get_height"
14452 version="1.44">
14453 <doc xml:space="preserve"
14454 filename="pango/pango-layout.c"
14455 line="5955">Computes the height of the line, as the maximum of the heights
14456of fonts used in this line.
14457
14458Note that the actual baseline-to-baseline distance between lines
14459of text is influenced by other factors, such as
14460[method@Pango.Layout.set_spacing] and
14461[method@Pango.Layout.set_line_spacing].</doc>
14462 <source-position filename="pango/pango-layout.h" line="479"/>
14463 <return-value transfer-ownership="none">
14464 <type name="none" c:type="void"/>
14465 </return-value>
14466 <parameters>
14467 <instance-parameter name="line" transfer-ownership="none">
14468 <doc xml:space="preserve"
14469 filename="pango/pango-layout.c"
14470 line="5957">a `PangoLayoutLine`</doc>
14471 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14472 </instance-parameter>
14473 <parameter name="height"
14474 direction="out"
14475 caller-allocates="0"
14476 transfer-ownership="full"
14477 optional="1"
14478 allow-none="1">
14479 <doc xml:space="preserve"
14480 filename="pango/pango-layout.c"
14481 line="5958">return location for the line height</doc>
14482 <type name="gint" c:type="int*"/>
14483 </parameter>
14484 </parameters>
14485 </method>
14486 <method name="get_length"
14487 c:identifier="pango_layout_line_get_length"
14488 version="1.50">
14489 <doc xml:space="preserve"
14490 filename="pango/pango-layout.c"
14491 line="5091">Returns the length of the line, in bytes.</doc>
14492 <source-position filename="pango/pango-layout.h" line="452"/>
14493 <return-value transfer-ownership="none">
14494 <doc xml:space="preserve"
14495 filename="pango/pango-layout.c"
14496 line="5097">the length of the line</doc>
14497 <type name="gint" c:type="int"/>
14498 </return-value>
14499 <parameters>
14500 <instance-parameter name="line" transfer-ownership="none">
14501 <doc xml:space="preserve"
14502 filename="pango/pango-layout.c"
14503 line="5093">a `PangoLayoutLine`</doc>
14504 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14505 </instance-parameter>
14506 </parameters>
14507 </method>
14508 <method name="get_pixel_extents"
14509 c:identifier="pango_layout_line_get_pixel_extents">
14510 <doc xml:space="preserve"
14511 filename="pango/pango-layout.c"
14512 line="5994">Computes the logical and ink extents of @layout_line in device units.
14513
14514This function just calls [method@Pango.LayoutLine.get_extents] followed by
14515two [func@extents_to_pixels] calls, rounding @ink_rect and @logical_rect
14516such that the rounded rectangles fully contain the unrounded one (that is,
14517passes them as first argument to [func@extents_to_pixels]).</doc>
14518 <source-position filename="pango/pango-layout.h" line="483"/>
14519 <return-value transfer-ownership="none">
14520 <type name="none" c:type="void"/>
14521 </return-value>
14522 <parameters>
14523 <instance-parameter name="layout_line" transfer-ownership="none">
14524 <doc xml:space="preserve"
14525 filename="pango/pango-layout.c"
14526 line="5996">a `PangoLayoutLine`</doc>
14527 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14528 </instance-parameter>
14529 <parameter name="ink_rect"
14530 direction="out"
14531 caller-allocates="1"
14532 transfer-ownership="none"
14533 optional="1"
14534 allow-none="1">
14535 <doc xml:space="preserve"
14536 filename="pango/pango-layout.c"
14537 line="5997">rectangle used to store the extents of
14538 the glyph string as drawn</doc>
14539 <type name="Rectangle" c:type="PangoRectangle*"/>
14540 </parameter>
14541 <parameter name="logical_rect"
14542 direction="out"
14543 caller-allocates="1"
14544 transfer-ownership="none"
14545 optional="1"
14546 allow-none="1">
14547 <doc xml:space="preserve"
14548 filename="pango/pango-layout.c"
14549 line="5999">rectangle used to store the logical
14550 extents of the glyph string</doc>
14551 <type name="Rectangle" c:type="PangoRectangle*"/>
14552 </parameter>
14553 </parameters>
14554 </method>
14555 <method name="get_resolved_direction"
14556 c:identifier="pango_layout_line_get_resolved_direction"
14557 version="1.50">
14558 <doc xml:space="preserve"
14559 filename="pango/pango-layout.c"
14560 line="5123">Returns the resolved direction of the line.</doc>
14561 <source-position filename="pango/pango-layout.h" line="456"/>
14562 <return-value transfer-ownership="none">
14563 <doc xml:space="preserve"
14564 filename="pango/pango-layout.c"
14565 line="5129">the resolved direction of the line</doc>
14566 <type name="Direction" c:type="PangoDirection"/>
14567 </return-value>
14568 <parameters>
14569 <instance-parameter name="line" transfer-ownership="none">
14570 <doc xml:space="preserve"
14571 filename="pango/pango-layout.c"
14572 line="5125">a `PangoLayoutLine`</doc>
14573 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14574 </instance-parameter>
14575 </parameters>
14576 </method>
14577 <method name="get_start_index"
14578 c:identifier="pango_layout_line_get_start_index"
14579 version="1.50">
14580 <doc xml:space="preserve"
14581 filename="pango/pango-layout.c"
14582 line="5074">Returns the start index of the line, as byte index
14583into the text of the layout.</doc>
14584 <source-position filename="pango/pango-layout.h" line="450"/>
14585 <return-value transfer-ownership="none">
14586 <doc xml:space="preserve"
14587 filename="pango/pango-layout.c"
14588 line="5081">the start index of the line</doc>
14589 <type name="gint" c:type="int"/>
14590 </return-value>
14591 <parameters>
14592 <instance-parameter name="line" transfer-ownership="none">
14593 <doc xml:space="preserve"
14594 filename="pango/pango-layout.c"
14595 line="5076">a `PangoLayoutLine`</doc>
14596 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14597 </instance-parameter>
14598 </parameters>
14599 </method>
14600 <method name="get_x_ranges"
14601 c:identifier="pango_layout_line_get_x_ranges">
14602 <doc xml:space="preserve"
14603 filename="pango/pango-layout.c"
14604 line="5358">Gets a list of visual ranges corresponding to a given logical range.
14605
14606This list is not necessarily minimal - there may be consecutive
14607ranges which are adjacent. The ranges will be sorted from left to
14608right. The ranges are with respect to the left edge of the entire
14609layout, not with respect to the line.</doc>
14610 <source-position filename="pango/pango-layout.h" line="469"/>
14611 <return-value transfer-ownership="none">
14612 <type name="none" c:type="void"/>
14613 </return-value>
14614 <parameters>
14615 <instance-parameter name="line" transfer-ownership="none">
14616 <doc xml:space="preserve"
14617 filename="pango/pango-layout.c"
14618 line="5360">a `PangoLayoutLine`</doc>
14619 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14620 </instance-parameter>
14621 <parameter name="start_index" transfer-ownership="none">
14622 <doc xml:space="preserve"
14623 filename="pango/pango-layout.c"
14624 line="5361">Start byte index of the logical range. If this value
14625 is less than the start index for the line, then the first range
14626 will extend all the way to the leading edge of the layout. Otherwise,
14627 it will start at the leading edge of the first character.</doc>
14628 <type name="gint" c:type="int"/>
14629 </parameter>
14630 <parameter name="end_index" transfer-ownership="none">
14631 <doc xml:space="preserve"
14632 filename="pango/pango-layout.c"
14633 line="5365">Ending byte index of the logical range. If this value is
14634 greater than the end index for the line, then the last range will
14635 extend all the way to the trailing edge of the layout. Otherwise,
14636 it will end at the trailing edge of the last character.</doc>
14637 <type name="gint" c:type="int"/>
14638 </parameter>
14639 <parameter name="ranges"
14640 direction="out"
14641 caller-allocates="0"
14642 transfer-ownership="full">
14643 <doc xml:space="preserve"
14644 filename="pango/pango-layout.c"
14645 line="5369">location to
14646 store a pointer to an array of ranges. The array will be of length
14647 `2*n_ranges`, with each range starting at `(*ranges)[2*n]` and of
14648 width `(*ranges)[2*n + 1] - (*ranges)[2*n]`. This array must be freed
14649 with g_free(). The coordinates are relative to the layout and are in
14650 Pango units.</doc>
14651 <array length="3" zero-terminated="0" c:type="int**">
14652 <type name="gint" c:type="int*"/>
14653 </array>
14654 </parameter>
14655 <parameter name="n_ranges"
14656 direction="out"
14657 caller-allocates="0"
14658 transfer-ownership="full">
14659 <doc xml:space="preserve"
14660 filename="pango/pango-layout.c"
14661 line="5375">The number of ranges stored in @ranges</doc>
14662 <type name="gint" c:type="int*"/>
14663 </parameter>
14664 </parameters>
14665 </method>
14666 <method name="index_to_x" c:identifier="pango_layout_line_index_to_x">
14667 <doc xml:space="preserve"
14668 filename="pango/pango-layout.c"
14669 line="1771">Converts an index within a line to a X position.</doc>
14670 <source-position filename="pango/pango-layout.h" line="464"/>
14671 <return-value transfer-ownership="none">
14672 <type name="none" c:type="void"/>
14673 </return-value>
14674 <parameters>
14675 <instance-parameter name="line" transfer-ownership="none">
14676 <doc xml:space="preserve"
14677 filename="pango/pango-layout.c"
14678 line="1773">a `PangoLayoutLine`</doc>
14679 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14680 </instance-parameter>
14681 <parameter name="index_" transfer-ownership="none">
14682 <doc xml:space="preserve"
14683 filename="pango/pango-layout.c"
14684 line="1774">byte offset of a grapheme within the layout</doc>
14685 <type name="gint" c:type="int"/>
14686 </parameter>
14687 <parameter name="trailing" transfer-ownership="none">
14688 <doc xml:space="preserve"
14689 filename="pango/pango-layout.c"
14690 line="1775">an integer indicating the edge of the grapheme to retrieve
14691 the position of. If > 0, the trailing edge of the grapheme,
14692 if 0, the leading of the grapheme</doc>
14693 <type name="gboolean" c:type="gboolean"/>
14694 </parameter>
14695 <parameter name="x_pos"
14696 direction="out"
14697 caller-allocates="0"
14698 transfer-ownership="full">
14699 <doc xml:space="preserve"
14700 filename="pango/pango-layout.c"
14701 line="1778">location to store the x_offset (in Pango units)</doc>
14702 <type name="gint" c:type="int*"/>
14703 </parameter>
14704 </parameters>
14705 </method>
14706 <method name="is_paragraph_start"
14707 c:identifier="pango_layout_line_is_paragraph_start"
14708 version="1.50">
14709 <doc xml:space="preserve"
14710 filename="pango/pango-layout.c"
14711 line="5107">Returns whether this is the first line of the paragraph.</doc>
14712 <source-position filename="pango/pango-layout.h" line="454"/>
14713 <return-value transfer-ownership="none">
14714 <doc xml:space="preserve"
14715 filename="pango/pango-layout.c"
14716 line="5113">%TRUE if this is the first line</doc>
14717 <type name="gboolean" c:type="gboolean"/>
14718 </return-value>
14719 <parameters>
14720 <instance-parameter name="line" transfer-ownership="none">
14721 <doc xml:space="preserve"
14722 filename="pango/pango-layout.c"
14723 line="5109">a `PangoLayoutLine`</doc>
14724 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14725 </instance-parameter>
14726 </parameters>
14727 </method>
14728 <method name="ref" c:identifier="pango_layout_line_ref" version="1.10">
14729 <doc xml:space="preserve"
14730 filename="pango/pango-layout.c"
14731 line="5020">Increase the reference count of a `PangoLayoutLine` by one.</doc>
14732 <source-position filename="pango/pango-layout.h" line="445"/>
14733 <return-value transfer-ownership="full" nullable="1">
14734 <doc xml:space="preserve"
14735 filename="pango/pango-layout.c"
14736 line="5026">the line passed in.</doc>
14737 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14738 </return-value>
14739 <parameters>
14740 <instance-parameter name="line"
14741 transfer-ownership="none"
14742 nullable="1"
14743 allow-none="1">
14744 <doc xml:space="preserve"
14745 filename="pango/pango-layout.c"
14746 line="5022">a `PangoLayoutLine`</doc>
14747 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14748 </instance-parameter>
14749 </parameters>
14750 </method>
14751 <method name="unref" c:identifier="pango_layout_line_unref">
14752 <doc xml:space="preserve"
14753 filename="pango/pango-layout.c"
14754 line="5043">Decrease the reference count of a `PangoLayoutLine` by one.
14755
14756If the result is zero, the line and all associated memory
14757will be freed.</doc>
14758 <source-position filename="pango/pango-layout.h" line="447"/>
14759 <return-value transfer-ownership="none">
14760 <type name="none" c:type="void"/>
14761 </return-value>
14762 <parameters>
14763 <instance-parameter name="line" transfer-ownership="none">
14764 <doc xml:space="preserve"
14765 filename="pango/pango-layout.c"
14766 line="5045">a `PangoLayoutLine`</doc>
14767 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14768 </instance-parameter>
14769 </parameters>
14770 </method>
14771 <method name="x_to_index" c:identifier="pango_layout_line_x_to_index">
14772 <doc xml:space="preserve"
14773 filename="pango/pango-layout.c"
14774 line="5139">Converts from x offset to the byte index of the corresponding character
14775within the text of the layout.
14776
14777If @x_pos is outside the line, @index_ and @trailing will point to the very
14778first or very last position in the line. This determination is based on the
14779resolved direction of the paragraph; for example, if the resolved direction
14780is right-to-left, then an X position to the right of the line (after it)
14781results in 0 being stored in @index_ and @trailing. An X position to the
14782left of the line results in @index_ pointing to the (logical) last grapheme
14783in the line and @trailing being set to the number of characters in that
14784grapheme. The reverse is true for a left-to-right line.</doc>
14785 <source-position filename="pango/pango-layout.h" line="459"/>
14786 <return-value transfer-ownership="none">
14787 <doc xml:space="preserve"
14788 filename="pango/pango-layout.c"
14789 line="5161">%FALSE if @x_pos was outside the line, %TRUE if inside</doc>
14790 <type name="gboolean" c:type="gboolean"/>
14791 </return-value>
14792 <parameters>
14793 <instance-parameter name="line" transfer-ownership="none">
14794 <doc xml:space="preserve"
14795 filename="pango/pango-layout.c"
14796 line="5141">a `PangoLayoutLine`</doc>
14797 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
14798 </instance-parameter>
14799 <parameter name="x_pos" transfer-ownership="none">
14800 <doc xml:space="preserve"
14801 filename="pango/pango-layout.c"
14802 line="5142">the X offset (in Pango units) from the left edge of the line.</doc>
14803 <type name="gint" c:type="int"/>
14804 </parameter>
14805 <parameter name="index_"
14806 direction="out"
14807 caller-allocates="0"
14808 transfer-ownership="full">
14809 <doc xml:space="preserve"
14810 filename="pango/pango-layout.c"
14811 line="5143">location to store calculated byte index for the grapheme
14812 in which the user clicked</doc>
14813 <type name="gint" c:type="int*"/>
14814 </parameter>
14815 <parameter name="trailing"
14816 direction="out"
14817 caller-allocates="0"
14818 transfer-ownership="full">
14819 <doc xml:space="preserve"
14820 filename="pango/pango-layout.c"
14821 line="5145">location to store an integer indicating where in the
14822 grapheme the user clicked. It will either be zero, or the number of
14823 characters in the grapheme. 0 represents the leading edge of the grapheme.</doc>
14824 <type name="gint" c:type="int*"/>
14825 </parameter>
14826 </parameters>
14827 </method>
14828 </record>
14829 <bitfield name="LayoutSerializeFlags"
14830 version="1.50"
14831 glib:type-name="PangoLayoutSerializeFlags"
14832 glib:get-type="pango_layout_serialize_flags_get_type"
14833 c:type="PangoLayoutSerializeFlags">
14834 <doc xml:space="preserve"
14835 filename="pango/pango-layout.h"
14836 line="363">Flags that influence the behavior of [method@Pango.Layout.serialize].
14837
14838New members may be added to this enumeration over time.</doc>
14839 <member name="default"
14840 value="0"
14841 c:identifier="PANGO_LAYOUT_SERIALIZE_DEFAULT"
14842 glib:nick="default"
14843 glib:name="PANGO_LAYOUT_SERIALIZE_DEFAULT">
14844 <doc xml:space="preserve"
14845 filename="pango/pango-layout.h"
14846 line="365">Default behavior</doc>
14847 </member>
14848 <member name="context"
14849 value="1"
14850 c:identifier="PANGO_LAYOUT_SERIALIZE_CONTEXT"
14851 glib:nick="context"
14852 glib:name="PANGO_LAYOUT_SERIALIZE_CONTEXT">
14853 <doc xml:space="preserve"
14854 filename="pango/pango-layout.h"
14855 line="366">Include context information</doc>
14856 </member>
14857 <member name="output"
14858 value="2"
14859 c:identifier="PANGO_LAYOUT_SERIALIZE_OUTPUT"
14860 glib:nick="output"
14861 glib:name="PANGO_LAYOUT_SERIALIZE_OUTPUT">
14862 <doc xml:space="preserve"
14863 filename="pango/pango-layout.h"
14864 line="367">Include information about the formatted output</doc>
14865 </member>
14866 </bitfield>
14867 <record name="LogAttr" c:type="PangoLogAttr">
14868 <doc xml:space="preserve"
14869 filename="pango/pango-break.h"
14870 line="33">The `PangoLogAttr` structure stores information about the attributes of a
14871single character.</doc>
14872 <source-position filename="pango/pango-break.h" line="102"/>
14873 <field name="is_line_break" writable="1" bits="1">
14874 <doc xml:space="preserve"
14875 filename="pango/pango-break.h"
14876 line="35">if set, can break line in front of character</doc>
14877 <type name="guint" c:type="guint"/>
14878 </field>
14879 <field name="is_mandatory_break" writable="1" bits="1">
14880 <doc xml:space="preserve"
14881 filename="pango/pango-break.h"
14882 line="36">if set, must break line in front of character</doc>
14883 <type name="guint" c:type="guint"/>
14884 </field>
14885 <field name="is_char_break" writable="1" bits="1">
14886 <doc xml:space="preserve"
14887 filename="pango/pango-break.h"
14888 line="37">if set, can break here when doing character wrapping</doc>
14889 <type name="guint" c:type="guint"/>
14890 </field>
14891 <field name="is_white" writable="1" bits="1">
14892 <doc xml:space="preserve"
14893 filename="pango/pango-break.h"
14894 line="38">is whitespace character</doc>
14895 <type name="guint" c:type="guint"/>
14896 </field>
14897 <field name="is_cursor_position" writable="1" bits="1">
14898 <doc xml:space="preserve"
14899 filename="pango/pango-break.h"
14900 line="39">if set, cursor can appear in front of character.
14901 i.e. this is a grapheme boundary, or the first character in the text.
14902 This flag implements Unicode's
14903 [Grapheme Cluster Boundaries](http://www.unicode.org/reports/tr29/)
14904 semantics.</doc>
14905 <type name="guint" c:type="guint"/>
14906 </field>
14907 <field name="is_word_start" writable="1" bits="1">
14908 <doc xml:space="preserve"
14909 filename="pango/pango-break.h"
14910 line="44">is first character in a word</doc>
14911 <type name="guint" c:type="guint"/>
14912 </field>
14913 <field name="is_word_end" writable="1" bits="1">
14914 <doc xml:space="preserve"
14915 filename="pango/pango-break.h"
14916 line="45">is first non-word char after a word
14917 Note that in degenerate cases, you could have both @is_word_start
14918 and @is_word_end set for some character.</doc>
14919 <type name="guint" c:type="guint"/>
14920 </field>
14921 <field name="is_sentence_boundary" writable="1" bits="1">
14922 <doc xml:space="preserve"
14923 filename="pango/pango-break.h"
14924 line="48">is a sentence boundary.
14925 There are two ways to divide sentences. The first assigns all
14926 inter-sentence whitespace/control/format chars to some sentence,
14927 so all chars are in some sentence; @is_sentence_boundary denotes
14928 the boundaries there. The second way doesn't assign
14929 between-sentence spaces, etc. to any sentence, so
14930 @is_sentence_start/@is_sentence_end mark the boundaries of those sentences.</doc>
14931 <type name="guint" c:type="guint"/>
14932 </field>
14933 <field name="is_sentence_start" writable="1" bits="1">
14934 <doc xml:space="preserve"
14935 filename="pango/pango-break.h"
14936 line="55">is first character in a sentence</doc>
14937 <type name="guint" c:type="guint"/>
14938 </field>
14939 <field name="is_sentence_end" writable="1" bits="1">
14940 <doc xml:space="preserve"
14941 filename="pango/pango-break.h"
14942 line="56">is first char after a sentence.
14943 Note that in degenerate cases, you could have both @is_sentence_start
14944 and @is_sentence_end set for some character. (e.g. no space after a
14945 period, so the next sentence starts right away)</doc>
14946 <type name="guint" c:type="guint"/>
14947 </field>
14948 <field name="backspace_deletes_character" writable="1" bits="1">
14949 <doc xml:space="preserve"
14950 filename="pango/pango-break.h"
14951 line="60">if set, backspace deletes one character
14952 rather than the entire grapheme cluster. This field is only meaningful
14953 on grapheme boundaries (where @is_cursor_position is set). In some languages,
14954 the full grapheme (e.g. letter + diacritics) is considered a unit, while in
14955 others, each decomposed character in the grapheme is a unit. In the default
14956 implementation of [func@break], this bit is set on all grapheme boundaries
14957 except those following Latin, Cyrillic or Greek base characters.</doc>
14958 <type name="guint" c:type="guint"/>
14959 </field>
14960 <field name="is_expandable_space" writable="1" bits="1">
14961 <doc xml:space="preserve"
14962 filename="pango/pango-break.h"
14963 line="67">is a whitespace character that can possibly be
14964 expanded for justification purposes. (Since: 1.18)</doc>
14965 <type name="guint" c:type="guint"/>
14966 </field>
14967 <field name="is_word_boundary" writable="1" bits="1">
14968 <doc xml:space="preserve"
14969 filename="pango/pango-break.h"
14970 line="69">is a word boundary, as defined by UAX#29.
14971 More specifically, means that this is not a position in the middle of a word.
14972 For example, both sides of a punctuation mark are considered word boundaries.
14973 This flag is particularly useful when selecting text word-by-word. This flag
14974 implements Unicode's [Word Boundaries](http://www.unicode.org/reports/tr29/)
14975 semantics. (Since: 1.22)</doc>
14976 <type name="guint" c:type="guint"/>
14977 </field>
14978 <field name="break_inserts_hyphen" writable="1" bits="1">
14979 <doc xml:space="preserve"
14980 filename="pango/pango-break.h"
14981 line="75">when breaking lines before this char, insert a hyphen.
14982 Since: 1.50</doc>
14983 <type name="guint" c:type="guint"/>
14984 </field>
14985 <field name="break_removes_preceding" writable="1" bits="1">
14986 <doc xml:space="preserve"
14987 filename="pango/pango-break.h"
14988 line="77">when breaking lines before this char, remove the
14989 preceding char. Since 1.50</doc>
14990 <type name="guint" c:type="guint"/>
14991 </field>
14992 <field name="reserved" writable="1" bits="17">
14993 <type name="guint" c:type="guint"/>
14994 </field>
14995 </record>
14996 <record name="Matrix"
14997 c:type="PangoMatrix"
14998 version="1.6"
14999 glib:type-name="PangoMatrix"
15000 glib:get-type="pango_matrix_get_type"
15001 c:symbol-prefix="matrix">
15002 <doc xml:space="preserve"
15003 filename="pango/pango-matrix.h"
15004 line="32">A `PangoMatrix` specifies a transformation between user-space
15005and device coordinates.
15006
15007The transformation is given by
15008
15009```
15010x_device = x_user * matrix->xx + y_user * matrix->xy + matrix->x0;
15011y_device = x_user * matrix->yx + y_user * matrix->yy + matrix->y0;
15012```</doc>
15013 <source-position filename="pango/pango-matrix.h" line="61"/>
15014 <field name="xx" writable="1">
15015 <doc xml:space="preserve"
15016 filename="pango/pango-matrix.h"
15017 line="34">1st component of the transformation matrix</doc>
15018 <type name="gdouble" c:type="double"/>
15019 </field>
15020 <field name="xy" writable="1">
15021 <doc xml:space="preserve"
15022 filename="pango/pango-matrix.h"
15023 line="35">2nd component of the transformation matrix</doc>
15024 <type name="gdouble" c:type="double"/>
15025 </field>
15026 <field name="yx" writable="1">
15027 <doc xml:space="preserve"
15028 filename="pango/pango-matrix.h"
15029 line="36">3rd component of the transformation matrix</doc>
15030 <type name="gdouble" c:type="double"/>
15031 </field>
15032 <field name="yy" writable="1">
15033 <doc xml:space="preserve"
15034 filename="pango/pango-matrix.h"
15035 line="37">4th component of the transformation matrix</doc>
15036 <type name="gdouble" c:type="double"/>
15037 </field>
15038 <field name="x0" writable="1">
15039 <doc xml:space="preserve"
15040 filename="pango/pango-matrix.h"
15041 line="38">x translation</doc>
15042 <type name="gdouble" c:type="double"/>
15043 </field>
15044 <field name="y0" writable="1">
15045 <doc xml:space="preserve"
15046 filename="pango/pango-matrix.h"
15047 line="39">y translation</doc>
15048 <type name="gdouble" c:type="double"/>
15049 </field>
15050 <method name="concat" c:identifier="pango_matrix_concat" version="1.6">
15051 <doc xml:space="preserve"
15052 filename="pango/pango-matrix.c"
15053 line="158">Changes the transformation represented by @matrix to be the
15054transformation given by first applying transformation
15055given by @new_matrix then applying the original transformation.</doc>
15056 <source-position filename="pango/pango-matrix.h" line="103"/>
15057 <return-value transfer-ownership="none">
15058 <type name="none" c:type="void"/>
15059 </return-value>
15060 <parameters>
15061 <instance-parameter name="matrix" transfer-ownership="none">
15062 <doc xml:space="preserve"
15063 filename="pango/pango-matrix.c"
15064 line="160">a `PangoMatrix`</doc>
15065 <type name="Matrix" c:type="PangoMatrix*"/>
15066 </instance-parameter>
15067 <parameter name="new_matrix" transfer-ownership="none">
15068 <doc xml:space="preserve"
15069 filename="pango/pango-matrix.c"
15070 line="161">a `PangoMatrix`</doc>
15071 <type name="Matrix" c:type="const PangoMatrix*"/>
15072 </parameter>
15073 </parameters>
15074 </method>
15075 <method name="copy" c:identifier="pango_matrix_copy" version="1.6">
15076 <doc xml:space="preserve"
15077 filename="pango/pango-matrix.c"
15078 line="33">Copies a `PangoMatrix`.</doc>
15079 <source-position filename="pango/pango-matrix.h" line="87"/>
15080 <return-value transfer-ownership="full" nullable="1">
15081 <doc xml:space="preserve"
15082 filename="pango/pango-matrix.c"
15083 line="39">the newly allocated `PangoMatrix`</doc>
15084 <type name="Matrix" c:type="PangoMatrix*"/>
15085 </return-value>
15086 <parameters>
15087 <instance-parameter name="matrix"
15088 transfer-ownership="none"
15089 nullable="1"
15090 allow-none="1">
15091 <doc xml:space="preserve"
15092 filename="pango/pango-matrix.c"
15093 line="35">a `PangoMatrix`</doc>
15094 <type name="Matrix" c:type="const PangoMatrix*"/>
15095 </instance-parameter>
15096 </parameters>
15097 </method>
15098 <method name="free" c:identifier="pango_matrix_free" version="1.6">
15099 <doc xml:space="preserve"
15100 filename="pango/pango-matrix.c"
15101 line="58">Free a `PangoMatrix`.</doc>
15102 <source-position filename="pango/pango-matrix.h" line="89"/>
15103 <return-value transfer-ownership="none">
15104 <type name="none" c:type="void"/>
15105 </return-value>
15106 <parameters>
15107 <instance-parameter name="matrix"
15108 transfer-ownership="none"
15109 nullable="1"
15110 allow-none="1">
15111 <doc xml:space="preserve"
15112 filename="pango/pango-matrix.c"
15113 line="60">a `PangoMatrix`, may be %NULL</doc>
15114 <type name="Matrix" c:type="PangoMatrix*"/>
15115 </instance-parameter>
15116 </parameters>
15117 </method>
15118 <method name="get_font_scale_factor"
15119 c:identifier="pango_matrix_get_font_scale_factor"
15120 version="1.12">
15121 <doc xml:space="preserve"
15122 filename="pango/pango-matrix.c"
15123 line="187">Returns the scale factor of a matrix on the height of the font.
15124
15125That is, the scale factor in the direction perpendicular to the
15126vector that the X coordinate is mapped to. If the scale in the X
15127coordinate is needed as well, use [method@Pango.Matrix.get_font_scale_factors].</doc>
15128 <source-position filename="pango/pango-matrix.h" line="120"/>
15129 <return-value transfer-ownership="none">
15130 <doc xml:space="preserve"
15131 filename="pango/pango-matrix.c"
15132 line="197">the scale factor of @matrix on the height of the font,
15133 or 1.0 if @matrix is %NULL.</doc>
15134 <type name="gdouble" c:type="double"/>
15135 </return-value>
15136 <parameters>
15137 <instance-parameter name="matrix"
15138 transfer-ownership="none"
15139 nullable="1"
15140 allow-none="1">
15141 <doc xml:space="preserve"
15142 filename="pango/pango-matrix.c"
15143 line="189">a `PangoMatrix`, may be %NULL</doc>
15144 <type name="Matrix" c:type="const PangoMatrix*"/>
15145 </instance-parameter>
15146 </parameters>
15147 </method>
15148 <method name="get_font_scale_factors"
15149 c:identifier="pango_matrix_get_font_scale_factors"
15150 version="1.38">
15151 <doc xml:space="preserve"
15152 filename="pango/pango-matrix.c"
15153 line="210">Calculates the scale factor of a matrix on the width and height of the font.
15154
15155That is, @xscale is the scale factor in the direction of the X coordinate,
15156and @yscale is the scale factor in the direction perpendicular to the
15157vector that the X coordinate is mapped to.
15158
15159Note that output numbers will always be non-negative.</doc>
15160 <source-position filename="pango/pango-matrix.h" line="122"/>
15161 <return-value transfer-ownership="none">
15162 <type name="none" c:type="void"/>
15163 </return-value>
15164 <parameters>
15165 <instance-parameter name="matrix"
15166 transfer-ownership="none"
15167 nullable="1"
15168 allow-none="1">
15169 <doc xml:space="preserve"
15170 filename="pango/pango-matrix.c"
15171 line="212">a `PangoMatrix`</doc>
15172 <type name="Matrix" c:type="const PangoMatrix*"/>
15173 </instance-parameter>
15174 <parameter name="xscale"
15175 direction="out"
15176 caller-allocates="0"
15177 transfer-ownership="full"
15178 optional="1"
15179 allow-none="1">
15180 <doc xml:space="preserve"
15181 filename="pango/pango-matrix.c"
15182 line="213">output scale factor in the x direction</doc>
15183 <type name="gdouble" c:type="double*"/>
15184 </parameter>
15185 <parameter name="yscale"
15186 direction="out"
15187 caller-allocates="0"
15188 transfer-ownership="full"
15189 optional="1"
15190 allow-none="1">
15191 <doc xml:space="preserve"
15192 filename="pango/pango-matrix.c"
15193 line="214">output scale factor perpendicular to the x direction</doc>
15194 <type name="gdouble" c:type="double*"/>
15195 </parameter>
15196 </parameters>
15197 </method>
15198 <method name="get_slant_ratio"
15199 c:identifier="pango_matrix_get_slant_ratio"
15200 version="1.50">
15201 <doc xml:space="preserve"
15202 filename="pango/pango-matrix.c"
15203 line="265">Gets the slant ratio of a matrix.
15204
15205For a simple shear matrix in the form:
15206
15207 1 λ
15208 0 1
15209
15210this is simply λ.</doc>
15211 <source-position filename="pango/pango-matrix.h" line="125"/>
15212 <return-value transfer-ownership="none">
15213 <doc xml:space="preserve"
15214 filename="pango/pango-matrix.c"
15215 line="278">the slant ratio of @matrix</doc>
15216 <type name="gdouble" c:type="double"/>
15217 </return-value>
15218 <parameters>
15219 <instance-parameter name="matrix" transfer-ownership="none">
15220 <doc xml:space="preserve"
15221 filename="pango/pango-matrix.c"
15222 line="267">a `PangoMatrix`</doc>
15223 <type name="Matrix" c:type="const PangoMatrix*"/>
15224 </instance-parameter>
15225 </parameters>
15226 </method>
15227 <method name="rotate" c:identifier="pango_matrix_rotate" version="1.6">
15228 <doc xml:space="preserve"
15229 filename="pango/pango-matrix.c"
15230 line="124">Changes the transformation represented by @matrix to be the
15231transformation given by first rotating by @degrees degrees
15232counter-clockwise then applying the original transformation.</doc>
15233 <source-position filename="pango/pango-matrix.h" line="100"/>
15234 <return-value transfer-ownership="none">
15235 <type name="none" c:type="void"/>
15236 </return-value>
15237 <parameters>
15238 <instance-parameter name="matrix" transfer-ownership="none">
15239 <doc xml:space="preserve"
15240 filename="pango/pango-matrix.c"
15241 line="126">a `PangoMatrix`</doc>
15242 <type name="Matrix" c:type="PangoMatrix*"/>
15243 </instance-parameter>
15244 <parameter name="degrees" transfer-ownership="none">
15245 <doc xml:space="preserve"
15246 filename="pango/pango-matrix.c"
15247 line="127">degrees to rotate counter-clockwise</doc>
15248 <type name="gdouble" c:type="double"/>
15249 </parameter>
15250 </parameters>
15251 </method>
15252 <method name="scale" c:identifier="pango_matrix_scale" version="1.6">
15253 <doc xml:space="preserve"
15254 filename="pango/pango-matrix.c"
15255 line="98">Changes the transformation represented by @matrix to be the
15256transformation given by first scaling by @sx in the X direction
15257and @sy in the Y direction then applying the original
15258transformation.</doc>
15259 <source-position filename="pango/pango-matrix.h" line="96"/>
15260 <return-value transfer-ownership="none">
15261 <type name="none" c:type="void"/>
15262 </return-value>
15263 <parameters>
15264 <instance-parameter name="matrix" transfer-ownership="none">
15265 <doc xml:space="preserve"
15266 filename="pango/pango-matrix.c"
15267 line="100">a `PangoMatrix`</doc>
15268 <type name="Matrix" c:type="PangoMatrix*"/>
15269 </instance-parameter>
15270 <parameter name="scale_x" transfer-ownership="none">
15271 <doc xml:space="preserve"
15272 filename="pango/pango-matrix.c"
15273 line="101">amount to scale by in X direction</doc>
15274 <type name="gdouble" c:type="double"/>
15275 </parameter>
15276 <parameter name="scale_y" transfer-ownership="none">
15277 <doc xml:space="preserve"
15278 filename="pango/pango-matrix.c"
15279 line="102">amount to scale by in Y direction</doc>
15280 <type name="gdouble" c:type="double"/>
15281 </parameter>
15282 </parameters>
15283 </method>
15284 <method name="transform_distance"
15285 c:identifier="pango_matrix_transform_distance"
15286 version="1.16">
15287 <doc xml:space="preserve"
15288 filename="pango/pango-matrix.c"
15289 line="299">Transforms the distance vector (@dx,@dy) by @matrix.
15290
15291This is similar to [method@Pango.Matrix.transform_point],
15292except that the translation components of the transformation
15293are ignored. The calculation of the returned vector is as follows:
15294
15295```
15296dx2 = dx1 * xx + dy1 * xy;
15297dy2 = dx1 * yx + dy1 * yy;
15298```
15299
15300Affine transformations are position invariant, so the same vector
15301always transforms to the same vector. If (@x1,@y1) transforms
15302to (@x2,@y2) then (@x1+@dx1,@y1+@dy1) will transform to
15303(@x1+@dx2,@y1+@dy2) for all values of @x1 and @x2.</doc>
15304 <source-position filename="pango/pango-matrix.h" line="110"/>
15305 <return-value transfer-ownership="none">
15306 <type name="none" c:type="void"/>
15307 </return-value>
15308 <parameters>
15309 <instance-parameter name="matrix"
15310 transfer-ownership="none"
15311 nullable="1"
15312 allow-none="1">
15313 <doc xml:space="preserve"
15314 filename="pango/pango-matrix.c"
15315 line="301">a `PangoMatrix`</doc>
15316 <type name="Matrix" c:type="const PangoMatrix*"/>
15317 </instance-parameter>
15318 <parameter name="dx"
15319 direction="inout"
15320 caller-allocates="0"
15321 transfer-ownership="full">
15322 <doc xml:space="preserve"
15323 filename="pango/pango-matrix.c"
15324 line="302">in/out X component of a distance vector</doc>
15325 <type name="gdouble" c:type="double*"/>
15326 </parameter>
15327 <parameter name="dy"
15328 direction="inout"
15329 caller-allocates="0"
15330 transfer-ownership="full">
15331 <doc xml:space="preserve"
15332 filename="pango/pango-matrix.c"
15333 line="303">in/out Y component of a distance vector</doc>
15334 <type name="gdouble" c:type="double*"/>
15335 </parameter>
15336 </parameters>
15337 </method>
15338 <method name="transform_pixel_rectangle"
15339 c:identifier="pango_matrix_transform_pixel_rectangle"
15340 version="1.16">
15341 <doc xml:space="preserve"
15342 filename="pango/pango-matrix.c"
15343 line="444">First transforms the @rect using @matrix, then calculates the bounding box
15344of the transformed rectangle.
15345
15346This function is useful for example when you want to draw a rotated
15347@PangoLayout to an image buffer, and want to know how large the image
15348should be and how much you should shift the layout when rendering.
15349
15350For better accuracy, you should use [method@Pango.Matrix.transform_rectangle]
15351on original rectangle in Pango units and convert to pixels afterward
15352using [func@extents_to_pixels]'s first argument.</doc>
15353 <source-position filename="pango/pango-matrix.h" line="117"/>
15354 <return-value transfer-ownership="none">
15355 <type name="none" c:type="void"/>
15356 </return-value>
15357 <parameters>
15358 <instance-parameter name="matrix"
15359 transfer-ownership="none"
15360 nullable="1"
15361 allow-none="1">
15362 <doc xml:space="preserve"
15363 filename="pango/pango-matrix.c"
15364 line="446">a `PangoMatrix`</doc>
15365 <type name="Matrix" c:type="const PangoMatrix*"/>
15366 </instance-parameter>
15367 <parameter name="rect"
15368 direction="inout"
15369 caller-allocates="0"
15370 transfer-ownership="full"
15371 optional="1">
15372 <doc xml:space="preserve"
15373 filename="pango/pango-matrix.c"
15374 line="447">in/out bounding box in device units</doc>
15375 <type name="Rectangle" c:type="PangoRectangle*"/>
15376 </parameter>
15377 </parameters>
15378 </method>
15379 <method name="transform_point"
15380 c:identifier="pango_matrix_transform_point"
15381 version="1.16">
15382 <doc xml:space="preserve"
15383 filename="pango/pango-matrix.c"
15384 line="340">Transforms the point (@x, @y) by @matrix.</doc>
15385 <source-position filename="pango/pango-matrix.h" line="106"/>
15386 <return-value transfer-ownership="none">
15387 <type name="none" c:type="void"/>
15388 </return-value>
15389 <parameters>
15390 <instance-parameter name="matrix"
15391 transfer-ownership="none"
15392 nullable="1"
15393 allow-none="1">
15394 <doc xml:space="preserve"
15395 filename="pango/pango-matrix.c"
15396 line="342">a `PangoMatrix`</doc>
15397 <type name="Matrix" c:type="const PangoMatrix*"/>
15398 </instance-parameter>
15399 <parameter name="x"
15400 direction="inout"
15401 caller-allocates="0"
15402 transfer-ownership="full">
15403 <doc xml:space="preserve"
15404 filename="pango/pango-matrix.c"
15405 line="343">in/out X position</doc>
15406 <type name="gdouble" c:type="double*"/>
15407 </parameter>
15408 <parameter name="y"
15409 direction="inout"
15410 caller-allocates="0"
15411 transfer-ownership="full">
15412 <doc xml:space="preserve"
15413 filename="pango/pango-matrix.c"
15414 line="344">in/out Y position</doc>
15415 <type name="gdouble" c:type="double*"/>
15416 </parameter>
15417 </parameters>
15418 </method>
15419 <method name="transform_rectangle"
15420 c:identifier="pango_matrix_transform_rectangle"
15421 version="1.16">
15422 <doc xml:space="preserve"
15423 filename="pango/pango-matrix.c"
15424 line="364">First transforms @rect using @matrix, then calculates the bounding box
15425of the transformed rectangle.
15426
15427This function is useful for example when you want to draw a rotated
15428@PangoLayout to an image buffer, and want to know how large the image
15429should be and how much you should shift the layout when rendering.
15430
15431If you have a rectangle in device units (pixels), use
15432[method@Pango.Matrix.transform_pixel_rectangle].
15433
15434If you have the rectangle in Pango units and want to convert to
15435transformed pixel bounding box, it is more accurate to transform it first
15436(using this function) and pass the result to pango_extents_to_pixels(),
15437first argument, for an inclusive rounded rectangle.
15438However, there are valid reasons that you may want to convert
15439to pixels first and then transform, for example when the transformed
15440coordinates may overflow in Pango units (large matrix translation for
15441example).</doc>
15442 <source-position filename="pango/pango-matrix.h" line="114"/>
15443 <return-value transfer-ownership="none">
15444 <type name="none" c:type="void"/>
15445 </return-value>
15446 <parameters>
15447 <instance-parameter name="matrix"
15448 transfer-ownership="none"
15449 nullable="1"
15450 allow-none="1">
15451 <doc xml:space="preserve"
15452 filename="pango/pango-matrix.c"
15453 line="366">a `PangoMatrix`</doc>
15454 <type name="Matrix" c:type="const PangoMatrix*"/>
15455 </instance-parameter>
15456 <parameter name="rect"
15457 direction="inout"
15458 caller-allocates="0"
15459 transfer-ownership="full"
15460 optional="1">
15461 <doc xml:space="preserve"
15462 filename="pango/pango-matrix.c"
15463 line="367">in/out bounding box in Pango units</doc>
15464 <type name="Rectangle" c:type="PangoRectangle*"/>
15465 </parameter>
15466 </parameters>
15467 </method>
15468 <method name="translate"
15469 c:identifier="pango_matrix_translate"
15470 version="1.6">
15471 <doc xml:space="preserve"
15472 filename="pango/pango-matrix.c"
15473 line="75">Changes the transformation represented by @matrix to be the
15474transformation given by first translating by (@tx, @ty)
15475then applying the original transformation.</doc>
15476 <source-position filename="pango/pango-matrix.h" line="92"/>
15477 <return-value transfer-ownership="none">
15478 <type name="none" c:type="void"/>
15479 </return-value>
15480 <parameters>
15481 <instance-parameter name="matrix" transfer-ownership="none">
15482 <doc xml:space="preserve"
15483 filename="pango/pango-matrix.c"
15484 line="77">a `PangoMatrix`</doc>
15485 <type name="Matrix" c:type="PangoMatrix*"/>
15486 </instance-parameter>
15487 <parameter name="tx" transfer-ownership="none">
15488 <doc xml:space="preserve"
15489 filename="pango/pango-matrix.c"
15490 line="78">amount to translate in the X direction</doc>
15491 <type name="gdouble" c:type="double"/>
15492 </parameter>
15493 <parameter name="ty" transfer-ownership="none">
15494 <doc xml:space="preserve"
15495 filename="pango/pango-matrix.c"
15496 line="79">amount to translate in the Y direction</doc>
15497 <type name="gdouble" c:type="double"/>
15498 </parameter>
15499 </parameters>
15500 </method>
15501 </record>
15502 <enumeration name="Overline"
15503 version="1.46"
15504 glib:type-name="PangoOverline"
15505 glib:get-type="pango_overline_get_type"
15506 c:type="PangoOverline">
15507 <doc xml:space="preserve"
15508 filename="pango/pango-attributes.h"
15509 line="178">The `PangoOverline` enumeration is used to specify whether text
15510should be overlined, and if so, the type of line.</doc>
15511 <member name="none"
15512 value="0"
15513 c:identifier="PANGO_OVERLINE_NONE"
15514 glib:nick="none"
15515 glib:name="PANGO_OVERLINE_NONE">
15516 <doc xml:space="preserve"
15517 filename="pango/pango-attributes.h"
15518 line="180">no overline should be drawn</doc>
15519 </member>
15520 <member name="single"
15521 value="1"
15522 c:identifier="PANGO_OVERLINE_SINGLE"
15523 glib:nick="single"
15524 glib:name="PANGO_OVERLINE_SINGLE">
15525 <doc xml:space="preserve"
15526 filename="pango/pango-attributes.h"
15527 line="181">Draw a single line above the ink
15528 extents of the text being underlined.</doc>
15529 </member>
15530 </enumeration>
15531 <function-macro name="PIXELS"
15532 c:identifier="PANGO_PIXELS"
15533 introspectable="0">
15534 <doc xml:space="preserve"
15535 filename="pango/pango-types.h"
15536 line="70">Converts a dimension to device units by rounding.</doc>
15537 <source-position filename="pango/pango-types.h" line="97"/>
15538 <parameters>
15539 <parameter name="d">
15540 <doc xml:space="preserve"
15541 filename="pango/pango-types.h"
15542 line="72">a dimension in Pango units.</doc>
15543 </parameter>
15544 </parameters>
15545 </function-macro>
15546 <function-macro name="PIXELS_CEIL"
15547 c:identifier="PANGO_PIXELS_CEIL"
15548 version="1.14"
15549 introspectable="0">
15550 <doc xml:space="preserve"
15551 filename="pango/pango-types.h"
15552 line="87">Converts a dimension to device units by ceiling.</doc>
15553 <source-position filename="pango/pango-types.h" line="99"/>
15554 <parameters>
15555 <parameter name="d">
15556 <doc xml:space="preserve"
15557 filename="pango/pango-types.h"
15558 line="89">a dimension in Pango units.</doc>
15559 </parameter>
15560 </parameters>
15561 </function-macro>
15562 <function-macro name="PIXELS_FLOOR"
15563 c:identifier="PANGO_PIXELS_FLOOR"
15564 version="1.14"
15565 introspectable="0">
15566 <doc xml:space="preserve"
15567 filename="pango/pango-types.h"
15568 line="78">Converts a dimension to device units by flooring.</doc>
15569 <source-position filename="pango/pango-types.h" line="98"/>
15570 <parameters>
15571 <parameter name="d">
15572 <doc xml:space="preserve"
15573 filename="pango/pango-types.h"
15574 line="80">a dimension in Pango units.</doc>
15575 </parameter>
15576 </parameters>
15577 </function-macro>
15578 <function-macro name="RBEARING"
15579 c:identifier="PANGO_RBEARING"
15580 introspectable="0">
15581 <doc xml:space="preserve"
15582 filename="pango/pango-types.h"
15583 line="213">Extracts the *right bearing* from a `PangoRectangle`
15584representing glyph extents.
15585
15586The right bearing is the distance from the horizontal
15587origin to the farthest right point of the character.
15588This is positive except for characters drawn completely
15589to the left of the horizontal origin.</doc>
15590 <source-position filename="pango/pango-types.h" line="228"/>
15591 <parameters>
15592 <parameter name="rect">
15593 <doc xml:space="preserve"
15594 filename="pango/pango-types.h"
15595 line="215">a `PangoRectangle`</doc>
15596 </parameter>
15597 </parameters>
15598 </function-macro>
15599 <function-macro name="RENDERER"
15600 c:identifier="PANGO_RENDERER"
15601 introspectable="0">
15602 <source-position filename="pango/pango-renderer.h" line="29"/>
15603 <parameters>
15604 <parameter name="object">
15605 </parameter>
15606 </parameters>
15607 </function-macro>
15608 <function-macro name="RENDERER_CLASS"
15609 c:identifier="PANGO_RENDERER_CLASS"
15610 introspectable="0">
15611 <source-position filename="pango/pango-renderer.h" line="31"/>
15612 <parameters>
15613 <parameter name="klass">
15614 </parameter>
15615 </parameters>
15616 </function-macro>
15617 <function-macro name="RENDERER_GET_CLASS"
15618 c:identifier="PANGO_RENDERER_GET_CLASS"
15619 introspectable="0">
15620 <source-position filename="pango/pango-renderer.h" line="33"/>
15621 <parameters>
15622 <parameter name="obj">
15623 </parameter>
15624 </parameters>
15625 </function-macro>
15626 <record name="Rectangle" c:type="PangoRectangle">
15627 <doc xml:space="preserve"
15628 filename="pango/pango-types.h"
15629 line="156">The `PangoRectangle` structure represents a rectangle.
15630
15631`PangoRectangle` is frequently used to represent the logical or ink
15632extents of a single glyph or section of text. (See, for instance,
15633[method@Pango.Font.get_glyph_extents].)</doc>
15634 <source-position filename="pango/pango-types.h" line="175"/>
15635 <field name="x" writable="1">
15636 <doc xml:space="preserve"
15637 filename="pango/pango-types.h"
15638 line="158">X coordinate of the left side of the rectangle.</doc>
15639 <type name="gint" c:type="int"/>
15640 </field>
15641 <field name="y" writable="1">
15642 <doc xml:space="preserve"
15643 filename="pango/pango-types.h"
15644 line="159">Y coordinate of the the top side of the rectangle.</doc>
15645 <type name="gint" c:type="int"/>
15646 </field>
15647 <field name="width" writable="1">
15648 <doc xml:space="preserve"
15649 filename="pango/pango-types.h"
15650 line="160">width of the rectangle.</doc>
15651 <type name="gint" c:type="int"/>
15652 </field>
15653 <field name="height" writable="1">
15654 <doc xml:space="preserve"
15655 filename="pango/pango-types.h"
15656 line="161">height of the rectangle.</doc>
15657 <type name="gint" c:type="int"/>
15658 </field>
15659 </record>
15660 <enumeration name="RenderPart"
15661 version="1.8"
15662 glib:type-name="PangoRenderPart"
15663 glib:get-type="pango_render_part_get_type"
15664 c:type="PangoRenderPart">
15665 <doc xml:space="preserve"
15666 filename="pango/pango-renderer.h"
15667 line="39">`PangoRenderPart` defines different items to render for such
15668purposes as setting colors.</doc>
15669 <member name="foreground"
15670 value="0"
15671 c:identifier="PANGO_RENDER_PART_FOREGROUND"
15672 glib:nick="foreground"
15673 glib:name="PANGO_RENDER_PART_FOREGROUND">
15674 <doc xml:space="preserve"
15675 filename="pango/pango-renderer.h"
15676 line="41">the text itself</doc>
15677 </member>
15678 <member name="background"
15679 value="1"
15680 c:identifier="PANGO_RENDER_PART_BACKGROUND"
15681 glib:nick="background"
15682 glib:name="PANGO_RENDER_PART_BACKGROUND">
15683 <doc xml:space="preserve"
15684 filename="pango/pango-renderer.h"
15685 line="42">the area behind the text</doc>
15686 </member>
15687 <member name="underline"
15688 value="2"
15689 c:identifier="PANGO_RENDER_PART_UNDERLINE"
15690 glib:nick="underline"
15691 glib:name="PANGO_RENDER_PART_UNDERLINE">
15692 <doc xml:space="preserve"
15693 filename="pango/pango-renderer.h"
15694 line="43">underlines</doc>
15695 </member>
15696 <member name="strikethrough"
15697 value="3"
15698 c:identifier="PANGO_RENDER_PART_STRIKETHROUGH"
15699 glib:nick="strikethrough"
15700 glib:name="PANGO_RENDER_PART_STRIKETHROUGH">
15701 <doc xml:space="preserve"
15702 filename="pango/pango-renderer.h"
15703 line="44">strikethrough lines</doc>
15704 </member>
15705 <member name="overline"
15706 value="4"
15707 c:identifier="PANGO_RENDER_PART_OVERLINE"
15708 glib:nick="overline"
15709 glib:name="PANGO_RENDER_PART_OVERLINE">
15710 <doc xml:space="preserve"
15711 filename="pango/pango-renderer.h"
15712 line="45">overlines</doc>
15713 </member>
15714 </enumeration>
15715 <class name="Renderer"
15716 c:symbol-prefix="renderer"
15717 c:type="PangoRenderer"
15718 version="1.8"
15719 parent="GObject.Object"
15720 abstract="1"
15721 glib:type-name="PangoRenderer"
15722 glib:get-type="pango_renderer_get_type"
15723 glib:type-struct="RendererClass">
15724 <doc xml:space="preserve"
15725 filename="pango/pango-renderer.h"
15726 line="62">`PangoRenderer` is a base class for objects that can render text
15727provided as `PangoGlyphString` or `PangoLayout`.
15728
15729By subclassing `PangoRenderer` and overriding operations such as
15730@draw_glyphs and @draw_rectangle, renderers for particular font
15731backends and destinations can be created.</doc>
15732 <source-position filename="pango/pango-renderer.h" line="195"/>
15733 <virtual-method name="begin">
15734 <doc xml:space="preserve"
15735 filename="pango/pango-renderer.h"
15736 line="107">Do renderer-specific initialization before drawing</doc>
15737 <source-position filename="pango/pango-renderer.h" line="177"/>
15738 <return-value transfer-ownership="none">
15739 <type name="none" c:type="void"/>
15740 </return-value>
15741 <parameters>
15742 <instance-parameter name="renderer" transfer-ownership="none">
15743 <type name="Renderer" c:type="PangoRenderer*"/>
15744 </instance-parameter>
15745 </parameters>
15746 </virtual-method>
15747 <virtual-method name="draw_error_underline"
15748 invoker="draw_error_underline"
15749 version="1.8">
15750 <doc xml:space="preserve"
15751 filename="pango/pango-renderer.c"
15752 line="1014">Draw a squiggly line that approximately covers the given rectangle
15753in the style of an underline used to indicate a spelling error.
15754
15755The width of the underline is rounded to an integer number
15756of up/down segments and the resulting rectangle is centered
15757in the original rectangle.
15758
15759This should be called while @renderer is already active.
15760Use [method@Pango.Renderer.activate] to activate a renderer.</doc>
15761 <source-position filename="pango/pango-renderer.h" line="150"/>
15762 <return-value transfer-ownership="none">
15763 <type name="none" c:type="void"/>
15764 </return-value>
15765 <parameters>
15766 <instance-parameter name="renderer" transfer-ownership="none">
15767 <doc xml:space="preserve"
15768 filename="pango/pango-renderer.c"
15769 line="1016">a `PangoRenderer`</doc>
15770 <type name="Renderer" c:type="PangoRenderer*"/>
15771 </instance-parameter>
15772 <parameter name="x" transfer-ownership="none">
15773 <doc xml:space="preserve"
15774 filename="pango/pango-renderer.c"
15775 line="1017">X coordinate of underline, in Pango units in user coordinate system</doc>
15776 <type name="gint" c:type="int"/>
15777 </parameter>
15778 <parameter name="y" transfer-ownership="none">
15779 <doc xml:space="preserve"
15780 filename="pango/pango-renderer.c"
15781 line="1018">Y coordinate of underline, in Pango units in user coordinate system</doc>
15782 <type name="gint" c:type="int"/>
15783 </parameter>
15784 <parameter name="width" transfer-ownership="none">
15785 <doc xml:space="preserve"
15786 filename="pango/pango-renderer.c"
15787 line="1019">width of underline, in Pango units in user coordinate system</doc>
15788 <type name="gint" c:type="int"/>
15789 </parameter>
15790 <parameter name="height" transfer-ownership="none">
15791 <doc xml:space="preserve"
15792 filename="pango/pango-renderer.c"
15793 line="1020">height of underline, in Pango units in user coordinate system</doc>
15794 <type name="gint" c:type="int"/>
15795 </parameter>
15796 </parameters>
15797 </virtual-method>
15798 <virtual-method name="draw_glyph" invoker="draw_glyph" version="1.8">
15799 <doc xml:space="preserve"
15800 filename="pango/pango-renderer.c"
15801 line="1209">Draws a single glyph with coordinates in device space.</doc>
15802 <source-position filename="pango/pango-renderer.h" line="168"/>
15803 <return-value transfer-ownership="none">
15804 <type name="none" c:type="void"/>
15805 </return-value>
15806 <parameters>
15807 <instance-parameter name="renderer" transfer-ownership="none">
15808 <doc xml:space="preserve"
15809 filename="pango/pango-renderer.c"
15810 line="1211">a `PangoRenderer`</doc>
15811 <type name="Renderer" c:type="PangoRenderer*"/>
15812 </instance-parameter>
15813 <parameter name="font" transfer-ownership="none">
15814 <doc xml:space="preserve"
15815 filename="pango/pango-renderer.c"
15816 line="1212">a `PangoFont`</doc>
15817 <type name="Font" c:type="PangoFont*"/>
15818 </parameter>
15819 <parameter name="glyph" transfer-ownership="none">
15820 <doc xml:space="preserve"
15821 filename="pango/pango-renderer.c"
15822 line="1213">the glyph index of a single glyph</doc>
15823 <type name="Glyph" c:type="PangoGlyph"/>
15824 </parameter>
15825 <parameter name="x" transfer-ownership="none">
15826 <doc xml:space="preserve"
15827 filename="pango/pango-renderer.c"
15828 line="1214">X coordinate of left edge of baseline of glyph</doc>
15829 <type name="gdouble" c:type="double"/>
15830 </parameter>
15831 <parameter name="y" transfer-ownership="none">
15832 <doc xml:space="preserve"
15833 filename="pango/pango-renderer.c"
15834 line="1215">Y coordinate of left edge of baseline of glyph</doc>
15835 <type name="gdouble" c:type="double"/>
15836 </parameter>
15837 </parameters>
15838 </virtual-method>
15839 <virtual-method name="draw_glyph_item"
15840 invoker="draw_glyph_item"
15841 version="1.22">
15842 <doc xml:space="preserve"
15843 filename="pango/pango-renderer.c"
15844 line="804">Draws the glyphs in @glyph_item with the specified `PangoRenderer`,
15845embedding the text associated with the glyphs in the output if the
15846output format supports it.
15847
15848This is useful for rendering text in PDF.
15849
15850Note that this method does not handle attributes in @glyph_item.
15851If you want colors, shapes and lines handled automatically according
15852to those attributes, you need to use pango_renderer_draw_layout_line()
15853or pango_renderer_draw_layout().
15854
15855Note that @text is the start of the text for layout, which is then
15856indexed by `glyph_item->item->offset`.
15857
15858If @text is %NULL, this simply calls [method@Pango.Renderer.draw_glyphs].
15859
15860The default implementation of this method simply falls back to
15861[method@Pango.Renderer.draw_glyphs].</doc>
15862 <source-position filename="pango/pango-renderer.h" line="183"/>
15863 <return-value transfer-ownership="none">
15864 <type name="none" c:type="void"/>
15865 </return-value>
15866 <parameters>
15867 <instance-parameter name="renderer" transfer-ownership="none">
15868 <doc xml:space="preserve"
15869 filename="pango/pango-renderer.c"
15870 line="806">a `PangoRenderer`</doc>
15871 <type name="Renderer" c:type="PangoRenderer*"/>
15872 </instance-parameter>
15873 <parameter name="text"
15874 transfer-ownership="none"
15875 nullable="1"
15876 allow-none="1">
15877 <doc xml:space="preserve"
15878 filename="pango/pango-renderer.c"
15879 line="807">the UTF-8 text that @glyph_item refers to</doc>
15880 <type name="utf8" c:type="const char*"/>
15881 </parameter>
15882 <parameter name="glyph_item" transfer-ownership="none">
15883 <doc xml:space="preserve"
15884 filename="pango/pango-renderer.c"
15885 line="808">a `PangoGlyphItem`</doc>
15886 <type name="GlyphItem" c:type="PangoGlyphItem*"/>
15887 </parameter>
15888 <parameter name="x" transfer-ownership="none">
15889 <doc xml:space="preserve"
15890 filename="pango/pango-renderer.c"
15891 line="809">X position of left edge of baseline, in user space coordinates
15892 in Pango units</doc>
15893 <type name="gint" c:type="int"/>
15894 </parameter>
15895 <parameter name="y" transfer-ownership="none">
15896 <doc xml:space="preserve"
15897 filename="pango/pango-renderer.c"
15898 line="811">Y position of left edge of baseline, in user space coordinates
15899 in Pango units</doc>
15900 <type name="gint" c:type="int"/>
15901 </parameter>
15902 </parameters>
15903 </virtual-method>
15904 <virtual-method name="draw_glyphs" invoker="draw_glyphs" version="1.8">
15905 <doc xml:space="preserve"
15906 filename="pango/pango-renderer.c"
15907 line="748">Draws the glyphs in @glyphs with the specified `PangoRenderer`.</doc>
15908 <source-position filename="pango/pango-renderer.h" line="139"/>
15909 <return-value transfer-ownership="none">
15910 <type name="none" c:type="void"/>
15911 </return-value>
15912 <parameters>
15913 <instance-parameter name="renderer" transfer-ownership="none">
15914 <doc xml:space="preserve"
15915 filename="pango/pango-renderer.c"
15916 line="750">a `PangoRenderer`</doc>
15917 <type name="Renderer" c:type="PangoRenderer*"/>
15918 </instance-parameter>
15919 <parameter name="font" transfer-ownership="none">
15920 <doc xml:space="preserve"
15921 filename="pango/pango-renderer.c"
15922 line="751">a `PangoFont`</doc>
15923 <type name="Font" c:type="PangoFont*"/>
15924 </parameter>
15925 <parameter name="glyphs" transfer-ownership="none">
15926 <doc xml:space="preserve"
15927 filename="pango/pango-renderer.c"
15928 line="752">a `PangoGlyphString`</doc>
15929 <type name="GlyphString" c:type="PangoGlyphString*"/>
15930 </parameter>
15931 <parameter name="x" transfer-ownership="none">
15932 <doc xml:space="preserve"
15933 filename="pango/pango-renderer.c"
15934 line="753">X position of left edge of baseline, in user space coordinates
15935 in Pango units.</doc>
15936 <type name="gint" c:type="int"/>
15937 </parameter>
15938 <parameter name="y" transfer-ownership="none">
15939 <doc xml:space="preserve"
15940 filename="pango/pango-renderer.c"
15941 line="755">Y position of left edge of baseline, in user space coordinates
15942 in Pango units.</doc>
15943 <type name="gint" c:type="int"/>
15944 </parameter>
15945 </parameters>
15946 </virtual-method>
15947 <virtual-method name="draw_rectangle"
15948 invoker="draw_rectangle"
15949 version="1.8">
15950 <doc xml:space="preserve"
15951 filename="pango/pango-renderer.c"
15952 line="873">Draws an axis-aligned rectangle in user space coordinates with the
15953specified `PangoRenderer`.
15954
15955This should be called while @renderer is already active.
15956Use [method@Pango.Renderer.activate] to activate a renderer.</doc>
15957 <source-position filename="pango/pango-renderer.h" line="144"/>
15958 <return-value transfer-ownership="none">
15959 <type name="none" c:type="void"/>
15960 </return-value>
15961 <parameters>
15962 <instance-parameter name="renderer" transfer-ownership="none">
15963 <doc xml:space="preserve"
15964 filename="pango/pango-renderer.c"
15965 line="875">a `PangoRenderer`</doc>
15966 <type name="Renderer" c:type="PangoRenderer*"/>
15967 </instance-parameter>
15968 <parameter name="part" transfer-ownership="none">
15969 <doc xml:space="preserve"
15970 filename="pango/pango-renderer.c"
15971 line="876">type of object this rectangle is part of</doc>
15972 <type name="RenderPart" c:type="PangoRenderPart"/>
15973 </parameter>
15974 <parameter name="x" transfer-ownership="none">
15975 <doc xml:space="preserve"
15976 filename="pango/pango-renderer.c"
15977 line="877">X position at which to draw rectangle, in user space coordinates
15978 in Pango units</doc>
15979 <type name="gint" c:type="int"/>
15980 </parameter>
15981 <parameter name="y" transfer-ownership="none">
15982 <doc xml:space="preserve"
15983 filename="pango/pango-renderer.c"
15984 line="879">Y position at which to draw rectangle, in user space coordinates
15985 in Pango units</doc>
15986 <type name="gint" c:type="int"/>
15987 </parameter>
15988 <parameter name="width" transfer-ownership="none">
15989 <doc xml:space="preserve"
15990 filename="pango/pango-renderer.c"
15991 line="881">width of rectangle in Pango units</doc>
15992 <type name="gint" c:type="int"/>
15993 </parameter>
15994 <parameter name="height" transfer-ownership="none">
15995 <doc xml:space="preserve"
15996 filename="pango/pango-renderer.c"
15997 line="882">height of rectangle in Pango units</doc>
15998 <type name="gint" c:type="int"/>
15999 </parameter>
16000 </parameters>
16001 </virtual-method>
16002 <virtual-method name="draw_shape">
16003 <doc xml:space="preserve"
16004 filename="pango/pango-renderer.h"
16005 line="100">draw content for a glyph shaped with `PangoAttrShape`
16006 @x, @y are the coordinates of the left edge of the baseline,
16007 in user coordinates.</doc>
16008 <source-position filename="pango/pango-renderer.h" line="155"/>
16009 <return-value transfer-ownership="none">
16010 <type name="none" c:type="void"/>
16011 </return-value>
16012 <parameters>
16013 <instance-parameter name="renderer" transfer-ownership="none">
16014 <type name="Renderer" c:type="PangoRenderer*"/>
16015 </instance-parameter>
16016 <parameter name="attr" transfer-ownership="none">
16017 <type name="AttrShape" c:type="PangoAttrShape*"/>
16018 </parameter>
16019 <parameter name="x" transfer-ownership="none">
16020 <type name="gint" c:type="int"/>
16021 </parameter>
16022 <parameter name="y" transfer-ownership="none">
16023 <type name="gint" c:type="int"/>
16024 </parameter>
16025 </parameters>
16026 </virtual-method>
16027 <virtual-method name="draw_trapezoid"
16028 invoker="draw_trapezoid"
16029 version="1.8">
16030 <doc xml:space="preserve"
16031 filename="pango/pango-renderer.c"
16032 line="1174">Draws a trapezoid with the parallel sides aligned with the X axis
16033using the given `PangoRenderer`; coordinates are in device space.</doc>
16034 <source-position filename="pango/pango-renderer.h" line="160"/>
16035 <return-value transfer-ownership="none">
16036 <type name="none" c:type="void"/>
16037 </return-value>
16038 <parameters>
16039 <instance-parameter name="renderer" transfer-ownership="none">
16040 <doc xml:space="preserve"
16041 filename="pango/pango-renderer.c"
16042 line="1176">a `PangoRenderer`</doc>
16043 <type name="Renderer" c:type="PangoRenderer*"/>
16044 </instance-parameter>
16045 <parameter name="part" transfer-ownership="none">
16046 <doc xml:space="preserve"
16047 filename="pango/pango-renderer.c"
16048 line="1177">type of object this trapezoid is part of</doc>
16049 <type name="RenderPart" c:type="PangoRenderPart"/>
16050 </parameter>
16051 <parameter name="y1_" transfer-ownership="none">
16052 <doc xml:space="preserve"
16053 filename="pango/pango-renderer.c"
16054 line="1178">Y coordinate of top of trapezoid</doc>
16055 <type name="gdouble" c:type="double"/>
16056 </parameter>
16057 <parameter name="x11" transfer-ownership="none">
16058 <doc xml:space="preserve"
16059 filename="pango/pango-renderer.c"
16060 line="1179">X coordinate of left end of top of trapezoid</doc>
16061 <type name="gdouble" c:type="double"/>
16062 </parameter>
16063 <parameter name="x21" transfer-ownership="none">
16064 <doc xml:space="preserve"
16065 filename="pango/pango-renderer.c"
16066 line="1180">X coordinate of right end of top of trapezoid</doc>
16067 <type name="gdouble" c:type="double"/>
16068 </parameter>
16069 <parameter name="y2" transfer-ownership="none">
16070 <doc xml:space="preserve"
16071 filename="pango/pango-renderer.c"
16072 line="1181">Y coordinate of bottom of trapezoid</doc>
16073 <type name="gdouble" c:type="double"/>
16074 </parameter>
16075 <parameter name="x12" transfer-ownership="none">
16076 <doc xml:space="preserve"
16077 filename="pango/pango-renderer.c"
16078 line="1182">X coordinate of left end of bottom of trapezoid</doc>
16079 <type name="gdouble" c:type="double"/>
16080 </parameter>
16081 <parameter name="x22" transfer-ownership="none">
16082 <doc xml:space="preserve"
16083 filename="pango/pango-renderer.c"
16084 line="1183">X coordinate of right end of bottom of trapezoid</doc>
16085 <type name="gdouble" c:type="double"/>
16086 </parameter>
16087 </parameters>
16088 </virtual-method>
16089 <virtual-method name="end">
16090 <doc xml:space="preserve"
16091 filename="pango/pango-renderer.h"
16092 line="108">Do renderer-specific cleanup after drawing</doc>
16093 <source-position filename="pango/pango-renderer.h" line="178"/>
16094 <return-value transfer-ownership="none">
16095 <type name="none" c:type="void"/>
16096 </return-value>
16097 <parameters>
16098 <instance-parameter name="renderer" transfer-ownership="none">
16099 <type name="Renderer" c:type="PangoRenderer*"/>
16100 </instance-parameter>
16101 </parameters>
16102 </virtual-method>
16103 <virtual-method name="part_changed" invoker="part_changed" version="1.8">
16104 <doc xml:space="preserve"
16105 filename="pango/pango-renderer.c"
16106 line="1411">Informs Pango that the way that the rendering is done
16107for @part has changed.
16108
16109This should be called if the rendering changes in a way that would
16110prevent multiple pieces being joined together into one drawing call.
16111For instance, if a subclass of `PangoRenderer` was to add a stipple
16112option for drawing underlines, it needs to call
16113
16114```
16115pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE);
16116```
16117
16118When the stipple changes or underlines with different stipples
16119might be joined together. Pango automatically calls this for
16120changes to colors. (See [method@Pango.Renderer.set_color])</doc>
16121 <source-position filename="pango/pango-renderer.h" line="174"/>
16122 <return-value transfer-ownership="none">
16123 <type name="none" c:type="void"/>
16124 </return-value>
16125 <parameters>
16126 <instance-parameter name="renderer" transfer-ownership="none">
16127 <doc xml:space="preserve"
16128 filename="pango/pango-renderer.c"
16129 line="1413">a `PangoRenderer`</doc>
16130 <type name="Renderer" c:type="PangoRenderer*"/>
16131 </instance-parameter>
16132 <parameter name="part" transfer-ownership="none">
16133 <doc xml:space="preserve"
16134 filename="pango/pango-renderer.c"
16135 line="1414">the part for which rendering has changed.</doc>
16136 <type name="RenderPart" c:type="PangoRenderPart"/>
16137 </parameter>
16138 </parameters>
16139 </virtual-method>
16140 <virtual-method name="prepare_run">
16141 <doc xml:space="preserve"
16142 filename="pango/pango-renderer.h"
16143 line="109">updates the renderer for a new run</doc>
16144 <source-position filename="pango/pango-renderer.h" line="180"/>
16145 <return-value transfer-ownership="none">
16146 <type name="none" c:type="void"/>
16147 </return-value>
16148 <parameters>
16149 <instance-parameter name="renderer" transfer-ownership="none">
16150 <type name="Renderer" c:type="PangoRenderer*"/>
16151 </instance-parameter>
16152 <parameter name="run" transfer-ownership="none">
16153 <type name="LayoutRun" c:type="PangoLayoutRun*"/>
16154 </parameter>
16155 </parameters>
16156 </virtual-method>
16157 <method name="activate"
16158 c:identifier="pango_renderer_activate"
16159 version="1.8">
16160 <doc xml:space="preserve"
16161 filename="pango/pango-renderer.c"
16162 line="1238">Does initial setup before rendering operations on @renderer.
16163
16164[method@Pango.Renderer.deactivate] should be called when done drawing.
16165Calls such as [method@Pango.Renderer.draw_layout] automatically
16166activate the layout before drawing on it.
16167
16168Calls to [method@Pango.Renderer.activate] and
16169[method@Pango.Renderer.deactivate] can be nested and the
16170renderer will only be initialized and deinitialized once.</doc>
16171 <source-position filename="pango/pango-renderer.h" line="252"/>
16172 <return-value transfer-ownership="none">
16173 <type name="none" c:type="void"/>
16174 </return-value>
16175 <parameters>
16176 <instance-parameter name="renderer" transfer-ownership="none">
16177 <doc xml:space="preserve"
16178 filename="pango/pango-renderer.c"
16179 line="1240">a `PangoRenderer`</doc>
16180 <type name="Renderer" c:type="PangoRenderer*"/>
16181 </instance-parameter>
16182 </parameters>
16183 </method>
16184 <method name="deactivate"
16185 c:identifier="pango_renderer_deactivate"
16186 version="1.8">
16187 <doc xml:space="preserve"
16188 filename="pango/pango-renderer.c"
16189 line="1267">Cleans up after rendering operations on @renderer.
16190
16191See docs for [method@Pango.Renderer.activate].</doc>
16192 <source-position filename="pango/pango-renderer.h" line="254"/>
16193 <return-value transfer-ownership="none">
16194 <type name="none" c:type="void"/>
16195 </return-value>
16196 <parameters>
16197 <instance-parameter name="renderer" transfer-ownership="none">
16198 <doc xml:space="preserve"
16199 filename="pango/pango-renderer.c"
16200 line="1269">a `PangoRenderer`</doc>
16201 <type name="Renderer" c:type="PangoRenderer*"/>
16202 </instance-parameter>
16203 </parameters>
16204 </method>
16205 <method name="draw_error_underline"
16206 c:identifier="pango_renderer_draw_error_underline"
16207 version="1.8">
16208 <doc xml:space="preserve"
16209 filename="pango/pango-renderer.c"
16210 line="1014">Draw a squiggly line that approximately covers the given rectangle
16211in the style of an underline used to indicate a spelling error.
16212
16213The width of the underline is rounded to an integer number
16214of up/down segments and the resulting rectangle is centered
16215in the original rectangle.
16216
16217This should be called while @renderer is already active.
16218Use [method@Pango.Renderer.activate] to activate a renderer.</doc>
16219 <source-position filename="pango/pango-renderer.h" line="230"/>
16220 <return-value transfer-ownership="none">
16221 <type name="none" c:type="void"/>
16222 </return-value>
16223 <parameters>
16224 <instance-parameter name="renderer" transfer-ownership="none">
16225 <doc xml:space="preserve"
16226 filename="pango/pango-renderer.c"
16227 line="1016">a `PangoRenderer`</doc>
16228 <type name="Renderer" c:type="PangoRenderer*"/>
16229 </instance-parameter>
16230 <parameter name="x" transfer-ownership="none">
16231 <doc xml:space="preserve"
16232 filename="pango/pango-renderer.c"
16233 line="1017">X coordinate of underline, in Pango units in user coordinate system</doc>
16234 <type name="gint" c:type="int"/>
16235 </parameter>
16236 <parameter name="y" transfer-ownership="none">
16237 <doc xml:space="preserve"
16238 filename="pango/pango-renderer.c"
16239 line="1018">Y coordinate of underline, in Pango units in user coordinate system</doc>
16240 <type name="gint" c:type="int"/>
16241 </parameter>
16242 <parameter name="width" transfer-ownership="none">
16243 <doc xml:space="preserve"
16244 filename="pango/pango-renderer.c"
16245 line="1019">width of underline, in Pango units in user coordinate system</doc>
16246 <type name="gint" c:type="int"/>
16247 </parameter>
16248 <parameter name="height" transfer-ownership="none">
16249 <doc xml:space="preserve"
16250 filename="pango/pango-renderer.c"
16251 line="1020">height of underline, in Pango units in user coordinate system</doc>
16252 <type name="gint" c:type="int"/>
16253 </parameter>
16254 </parameters>
16255 </method>
16256 <method name="draw_glyph"
16257 c:identifier="pango_renderer_draw_glyph"
16258 version="1.8">
16259 <doc xml:space="preserve"
16260 filename="pango/pango-renderer.c"
16261 line="1209">Draws a single glyph with coordinates in device space.</doc>
16262 <source-position filename="pango/pango-renderer.h" line="245"/>
16263 <return-value transfer-ownership="none">
16264 <type name="none" c:type="void"/>
16265 </return-value>
16266 <parameters>
16267 <instance-parameter name="renderer" transfer-ownership="none">
16268 <doc xml:space="preserve"
16269 filename="pango/pango-renderer.c"
16270 line="1211">a `PangoRenderer`</doc>
16271 <type name="Renderer" c:type="PangoRenderer*"/>
16272 </instance-parameter>
16273 <parameter name="font" transfer-ownership="none">
16274 <doc xml:space="preserve"
16275 filename="pango/pango-renderer.c"
16276 line="1212">a `PangoFont`</doc>
16277 <type name="Font" c:type="PangoFont*"/>
16278 </parameter>
16279 <parameter name="glyph" transfer-ownership="none">
16280 <doc xml:space="preserve"
16281 filename="pango/pango-renderer.c"
16282 line="1213">the glyph index of a single glyph</doc>
16283 <type name="Glyph" c:type="PangoGlyph"/>
16284 </parameter>
16285 <parameter name="x" transfer-ownership="none">
16286 <doc xml:space="preserve"
16287 filename="pango/pango-renderer.c"
16288 line="1214">X coordinate of left edge of baseline of glyph</doc>
16289 <type name="gdouble" c:type="double"/>
16290 </parameter>
16291 <parameter name="y" transfer-ownership="none">
16292 <doc xml:space="preserve"
16293 filename="pango/pango-renderer.c"
16294 line="1215">Y coordinate of left edge of baseline of glyph</doc>
16295 <type name="gdouble" c:type="double"/>
16296 </parameter>
16297 </parameters>
16298 </method>
16299 <method name="draw_glyph_item"
16300 c:identifier="pango_renderer_draw_glyph_item"
16301 version="1.22">
16302 <doc xml:space="preserve"
16303 filename="pango/pango-renderer.c"
16304 line="804">Draws the glyphs in @glyph_item with the specified `PangoRenderer`,
16305embedding the text associated with the glyphs in the output if the
16306output format supports it.
16307
16308This is useful for rendering text in PDF.
16309
16310Note that this method does not handle attributes in @glyph_item.
16311If you want colors, shapes and lines handled automatically according
16312to those attributes, you need to use pango_renderer_draw_layout_line()
16313or pango_renderer_draw_layout().
16314
16315Note that @text is the start of the text for layout, which is then
16316indexed by `glyph_item->item->offset`.
16317
16318If @text is %NULL, this simply calls [method@Pango.Renderer.draw_glyphs].
16319
16320The default implementation of this method simply falls back to
16321[method@Pango.Renderer.draw_glyphs].</doc>
16322 <source-position filename="pango/pango-renderer.h" line="217"/>
16323 <return-value transfer-ownership="none">
16324 <type name="none" c:type="void"/>
16325 </return-value>
16326 <parameters>
16327 <instance-parameter name="renderer" transfer-ownership="none">
16328 <doc xml:space="preserve"
16329 filename="pango/pango-renderer.c"
16330 line="806">a `PangoRenderer`</doc>
16331 <type name="Renderer" c:type="PangoRenderer*"/>
16332 </instance-parameter>
16333 <parameter name="text"
16334 transfer-ownership="none"
16335 nullable="1"
16336 allow-none="1">
16337 <doc xml:space="preserve"
16338 filename="pango/pango-renderer.c"
16339 line="807">the UTF-8 text that @glyph_item refers to</doc>
16340 <type name="utf8" c:type="const char*"/>
16341 </parameter>
16342 <parameter name="glyph_item" transfer-ownership="none">
16343 <doc xml:space="preserve"
16344 filename="pango/pango-renderer.c"
16345 line="808">a `PangoGlyphItem`</doc>
16346 <type name="GlyphItem" c:type="PangoGlyphItem*"/>
16347 </parameter>
16348 <parameter name="x" transfer-ownership="none">
16349 <doc xml:space="preserve"
16350 filename="pango/pango-renderer.c"
16351 line="809">X position of left edge of baseline, in user space coordinates
16352 in Pango units</doc>
16353 <type name="gint" c:type="int"/>
16354 </parameter>
16355 <parameter name="y" transfer-ownership="none">
16356 <doc xml:space="preserve"
16357 filename="pango/pango-renderer.c"
16358 line="811">Y position of left edge of baseline, in user space coordinates
16359 in Pango units</doc>
16360 <type name="gint" c:type="int"/>
16361 </parameter>
16362 </parameters>
16363 </method>
16364 <method name="draw_glyphs"
16365 c:identifier="pango_renderer_draw_glyphs"
16366 version="1.8">
16367 <doc xml:space="preserve"
16368 filename="pango/pango-renderer.c"
16369 line="748">Draws the glyphs in @glyphs with the specified `PangoRenderer`.</doc>
16370 <source-position filename="pango/pango-renderer.h" line="211"/>
16371 <return-value transfer-ownership="none">
16372 <type name="none" c:type="void"/>
16373 </return-value>
16374 <parameters>
16375 <instance-parameter name="renderer" transfer-ownership="none">
16376 <doc xml:space="preserve"
16377 filename="pango/pango-renderer.c"
16378 line="750">a `PangoRenderer`</doc>
16379 <type name="Renderer" c:type="PangoRenderer*"/>
16380 </instance-parameter>
16381 <parameter name="font" transfer-ownership="none">
16382 <doc xml:space="preserve"
16383 filename="pango/pango-renderer.c"
16384 line="751">a `PangoFont`</doc>
16385 <type name="Font" c:type="PangoFont*"/>
16386 </parameter>
16387 <parameter name="glyphs" transfer-ownership="none">
16388 <doc xml:space="preserve"
16389 filename="pango/pango-renderer.c"
16390 line="752">a `PangoGlyphString`</doc>
16391 <type name="GlyphString" c:type="PangoGlyphString*"/>
16392 </parameter>
16393 <parameter name="x" transfer-ownership="none">
16394 <doc xml:space="preserve"
16395 filename="pango/pango-renderer.c"
16396 line="753">X position of left edge of baseline, in user space coordinates
16397 in Pango units.</doc>
16398 <type name="gint" c:type="int"/>
16399 </parameter>
16400 <parameter name="y" transfer-ownership="none">
16401 <doc xml:space="preserve"
16402 filename="pango/pango-renderer.c"
16403 line="755">Y position of left edge of baseline, in user space coordinates
16404 in Pango units.</doc>
16405 <type name="gint" c:type="int"/>
16406 </parameter>
16407 </parameters>
16408 </method>
16409 <method name="draw_layout"
16410 c:identifier="pango_renderer_draw_layout"
16411 version="1.8">
16412 <doc xml:space="preserve"
16413 filename="pango/pango-renderer.c"
16414 line="148">Draws @layout with the specified `PangoRenderer`.
16415
16416This is equivalent to drawing the lines of the layout, at their
16417respective positions relative to @x, @y.</doc>
16418 <source-position filename="pango/pango-renderer.h" line="201"/>
16419 <return-value transfer-ownership="none">
16420 <type name="none" c:type="void"/>
16421 </return-value>
16422 <parameters>
16423 <instance-parameter name="renderer" transfer-ownership="none">
16424 <doc xml:space="preserve"
16425 filename="pango/pango-renderer.c"
16426 line="150">a `PangoRenderer`</doc>
16427 <type name="Renderer" c:type="PangoRenderer*"/>
16428 </instance-parameter>
16429 <parameter name="layout" transfer-ownership="none">
16430 <doc xml:space="preserve"
16431 filename="pango/pango-renderer.c"
16432 line="151">a `PangoLayout`</doc>
16433 <type name="Layout" c:type="PangoLayout*"/>
16434 </parameter>
16435 <parameter name="x" transfer-ownership="none">
16436 <doc xml:space="preserve"
16437 filename="pango/pango-renderer.c"
16438 line="152">X position of left edge of baseline, in user space coordinates
16439 in Pango units.</doc>
16440 <type name="gint" c:type="int"/>
16441 </parameter>
16442 <parameter name="y" transfer-ownership="none">
16443 <doc xml:space="preserve"
16444 filename="pango/pango-renderer.c"
16445 line="154">Y position of left edge of baseline, in user space coordinates
16446 in Pango units.</doc>
16447 <type name="gint" c:type="int"/>
16448 </parameter>
16449 </parameters>
16450 </method>
16451 <method name="draw_layout_line"
16452 c:identifier="pango_renderer_draw_layout_line"
16453 version="1.8">
16454 <doc xml:space="preserve"
16455 filename="pango/pango-renderer.c"
16456 line="552">Draws @line with the specified `PangoRenderer`.
16457
16458This draws the glyph items that make up the line, as well as
16459shapes, backgrounds and lines that are specified by the attributes
16460of those items.</doc>
16461 <source-position filename="pango/pango-renderer.h" line="206"/>
16462 <return-value transfer-ownership="none">
16463 <type name="none" c:type="void"/>
16464 </return-value>
16465 <parameters>
16466 <instance-parameter name="renderer" transfer-ownership="none">
16467 <doc xml:space="preserve"
16468 filename="pango/pango-renderer.c"
16469 line="554">a `PangoRenderer`</doc>
16470 <type name="Renderer" c:type="PangoRenderer*"/>
16471 </instance-parameter>
16472 <parameter name="line" transfer-ownership="none">
16473 <doc xml:space="preserve"
16474 filename="pango/pango-renderer.c"
16475 line="555">a `PangoLayoutLine`</doc>
16476 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
16477 </parameter>
16478 <parameter name="x" transfer-ownership="none">
16479 <doc xml:space="preserve"
16480 filename="pango/pango-renderer.c"
16481 line="556">X position of left edge of baseline, in user space coordinates
16482 in Pango units.</doc>
16483 <type name="gint" c:type="int"/>
16484 </parameter>
16485 <parameter name="y" transfer-ownership="none">
16486 <doc xml:space="preserve"
16487 filename="pango/pango-renderer.c"
16488 line="558">Y position of left edge of baseline, in user space coordinates
16489 in Pango units.</doc>
16490 <type name="gint" c:type="int"/>
16491 </parameter>
16492 </parameters>
16493 </method>
16494 <method name="draw_rectangle"
16495 c:identifier="pango_renderer_draw_rectangle"
16496 version="1.8">
16497 <doc xml:space="preserve"
16498 filename="pango/pango-renderer.c"
16499 line="873">Draws an axis-aligned rectangle in user space coordinates with the
16500specified `PangoRenderer`.
16501
16502This should be called while @renderer is already active.
16503Use [method@Pango.Renderer.activate] to activate a renderer.</doc>
16504 <source-position filename="pango/pango-renderer.h" line="223"/>
16505 <return-value transfer-ownership="none">
16506 <type name="none" c:type="void"/>
16507 </return-value>
16508 <parameters>
16509 <instance-parameter name="renderer" transfer-ownership="none">
16510 <doc xml:space="preserve"
16511 filename="pango/pango-renderer.c"
16512 line="875">a `PangoRenderer`</doc>
16513 <type name="Renderer" c:type="PangoRenderer*"/>
16514 </instance-parameter>
16515 <parameter name="part" transfer-ownership="none">
16516 <doc xml:space="preserve"
16517 filename="pango/pango-renderer.c"
16518 line="876">type of object this rectangle is part of</doc>
16519 <type name="RenderPart" c:type="PangoRenderPart"/>
16520 </parameter>
16521 <parameter name="x" transfer-ownership="none">
16522 <doc xml:space="preserve"
16523 filename="pango/pango-renderer.c"
16524 line="877">X position at which to draw rectangle, in user space coordinates
16525 in Pango units</doc>
16526 <type name="gint" c:type="int"/>
16527 </parameter>
16528 <parameter name="y" transfer-ownership="none">
16529 <doc xml:space="preserve"
16530 filename="pango/pango-renderer.c"
16531 line="879">Y position at which to draw rectangle, in user space coordinates
16532 in Pango units</doc>
16533 <type name="gint" c:type="int"/>
16534 </parameter>
16535 <parameter name="width" transfer-ownership="none">
16536 <doc xml:space="preserve"
16537 filename="pango/pango-renderer.c"
16538 line="881">width of rectangle in Pango units</doc>
16539 <type name="gint" c:type="int"/>
16540 </parameter>
16541 <parameter name="height" transfer-ownership="none">
16542 <doc xml:space="preserve"
16543 filename="pango/pango-renderer.c"
16544 line="882">height of rectangle in Pango units</doc>
16545 <type name="gint" c:type="int"/>
16546 </parameter>
16547 </parameters>
16548 </method>
16549 <method name="draw_trapezoid"
16550 c:identifier="pango_renderer_draw_trapezoid"
16551 version="1.8">
16552 <doc xml:space="preserve"
16553 filename="pango/pango-renderer.c"
16554 line="1174">Draws a trapezoid with the parallel sides aligned with the X axis
16555using the given `PangoRenderer`; coordinates are in device space.</doc>
16556 <source-position filename="pango/pango-renderer.h" line="236"/>
16557 <return-value transfer-ownership="none">
16558 <type name="none" c:type="void"/>
16559 </return-value>
16560 <parameters>
16561 <instance-parameter name="renderer" transfer-ownership="none">
16562 <doc xml:space="preserve"
16563 filename="pango/pango-renderer.c"
16564 line="1176">a `PangoRenderer`</doc>
16565 <type name="Renderer" c:type="PangoRenderer*"/>
16566 </instance-parameter>
16567 <parameter name="part" transfer-ownership="none">
16568 <doc xml:space="preserve"
16569 filename="pango/pango-renderer.c"
16570 line="1177">type of object this trapezoid is part of</doc>
16571 <type name="RenderPart" c:type="PangoRenderPart"/>
16572 </parameter>
16573 <parameter name="y1_" transfer-ownership="none">
16574 <doc xml:space="preserve"
16575 filename="pango/pango-renderer.c"
16576 line="1178">Y coordinate of top of trapezoid</doc>
16577 <type name="gdouble" c:type="double"/>
16578 </parameter>
16579 <parameter name="x11" transfer-ownership="none">
16580 <doc xml:space="preserve"
16581 filename="pango/pango-renderer.c"
16582 line="1179">X coordinate of left end of top of trapezoid</doc>
16583 <type name="gdouble" c:type="double"/>
16584 </parameter>
16585 <parameter name="x21" transfer-ownership="none">
16586 <doc xml:space="preserve"
16587 filename="pango/pango-renderer.c"
16588 line="1180">X coordinate of right end of top of trapezoid</doc>
16589 <type name="gdouble" c:type="double"/>
16590 </parameter>
16591 <parameter name="y2" transfer-ownership="none">
16592 <doc xml:space="preserve"
16593 filename="pango/pango-renderer.c"
16594 line="1181">Y coordinate of bottom of trapezoid</doc>
16595 <type name="gdouble" c:type="double"/>
16596 </parameter>
16597 <parameter name="x12" transfer-ownership="none">
16598 <doc xml:space="preserve"
16599 filename="pango/pango-renderer.c"
16600 line="1182">X coordinate of left end of bottom of trapezoid</doc>
16601 <type name="gdouble" c:type="double"/>
16602 </parameter>
16603 <parameter name="x22" transfer-ownership="none">
16604 <doc xml:space="preserve"
16605 filename="pango/pango-renderer.c"
16606 line="1183">X coordinate of right end of bottom of trapezoid</doc>
16607 <type name="gdouble" c:type="double"/>
16608 </parameter>
16609 </parameters>
16610 </method>
16611 <method name="get_alpha"
16612 c:identifier="pango_renderer_get_alpha"
16613 version="1.38">
16614 <doc xml:space="preserve"
16615 filename="pango/pango-renderer.c"
16616 line="1388">Gets the current alpha for the specified part.</doc>
16617 <source-position filename="pango/pango-renderer.h" line="273"/>
16618 <return-value transfer-ownership="none">
16619 <doc xml:space="preserve"
16620 filename="pango/pango-renderer.c"
16621 line="1395">the alpha for the specified part,
16622 or 0 if it hasn't been set and should be
16623 inherited from the environment.</doc>
16624 <type name="guint16" c:type="guint16"/>
16625 </return-value>
16626 <parameters>
16627 <instance-parameter name="renderer" transfer-ownership="none">
16628 <doc xml:space="preserve"
16629 filename="pango/pango-renderer.c"
16630 line="1390">a `PangoRenderer`</doc>
16631 <type name="Renderer" c:type="PangoRenderer*"/>
16632 </instance-parameter>
16633 <parameter name="part" transfer-ownership="none">
16634 <doc xml:space="preserve"
16635 filename="pango/pango-renderer.c"
16636 line="1391">the part to get the alpha for</doc>
16637 <type name="RenderPart" c:type="PangoRenderPart"/>
16638 </parameter>
16639 </parameters>
16640 </method>
16641 <method name="get_color"
16642 c:identifier="pango_renderer_get_color"
16643 version="1.8">
16644 <doc xml:space="preserve"
16645 filename="pango/pango-renderer.c"
16646 line="1331">Gets the current rendering color for the specified part.</doc>
16647 <source-position filename="pango/pango-renderer.h" line="265"/>
16648 <return-value transfer-ownership="none" nullable="1">
16649 <doc xml:space="preserve"
16650 filename="pango/pango-renderer.c"
16651 line="1338">the color for the
16652 specified part, or %NULL if it hasn't been set and should be
16653 inherited from the environment.</doc>
16654 <type name="Color" c:type="PangoColor*"/>
16655 </return-value>
16656 <parameters>
16657 <instance-parameter name="renderer" transfer-ownership="none">
16658 <doc xml:space="preserve"
16659 filename="pango/pango-renderer.c"
16660 line="1333">a `PangoRenderer`</doc>
16661 <type name="Renderer" c:type="PangoRenderer*"/>
16662 </instance-parameter>
16663 <parameter name="part" transfer-ownership="none">
16664 <doc xml:space="preserve"
16665 filename="pango/pango-renderer.c"
16666 line="1334">the part to get the color for</doc>
16667 <type name="RenderPart" c:type="PangoRenderPart"/>
16668 </parameter>
16669 </parameters>
16670 </method>
16671 <method name="get_layout"
16672 c:identifier="pango_renderer_get_layout"
16673 version="1.20">
16674 <doc xml:space="preserve"
16675 filename="pango/pango-renderer.c"
16676 line="1599">Gets the layout currently being rendered using @renderer.
16677
16678Calling this function only makes sense from inside a subclass's
16679methods, like in its draw_shape vfunc, for example.
16680
16681The returned layout should not be modified while still being
16682rendered.</doc>
16683 <source-position filename="pango/pango-renderer.h" line="283"/>
16684 <return-value transfer-ownership="none" nullable="1">
16685 <doc xml:space="preserve"
16686 filename="pango/pango-renderer.c"
16687 line="1611">the layout, or %NULL if
16688 no layout is being rendered using @renderer at this time.</doc>
16689 <type name="Layout" c:type="PangoLayout*"/>
16690 </return-value>
16691 <parameters>
16692 <instance-parameter name="renderer" transfer-ownership="none">
16693 <doc xml:space="preserve"
16694 filename="pango/pango-renderer.c"
16695 line="1601">a `PangoRenderer`</doc>
16696 <type name="Renderer" c:type="PangoRenderer*"/>
16697 </instance-parameter>
16698 </parameters>
16699 </method>
16700 <method name="get_layout_line"
16701 c:identifier="pango_renderer_get_layout_line"
16702 version="1.20">
16703 <doc xml:space="preserve"
16704 filename="pango/pango-renderer.c"
16705 line="1625">Gets the layout line currently being rendered using @renderer.
16706
16707Calling this function only makes sense from inside a subclass's
16708methods, like in its draw_shape vfunc, for example.
16709
16710The returned layout line should not be modified while still being
16711rendered.</doc>
16712 <source-position filename="pango/pango-renderer.h" line="285"/>
16713 <return-value transfer-ownership="none" nullable="1">
16714 <doc xml:space="preserve"
16715 filename="pango/pango-renderer.c"
16716 line="1637">the layout line, or %NULL
16717 if no layout line is being rendered using @renderer at this time.</doc>
16718 <type name="LayoutLine" c:type="PangoLayoutLine*"/>
16719 </return-value>
16720 <parameters>
16721 <instance-parameter name="renderer" transfer-ownership="none">
16722 <doc xml:space="preserve"
16723 filename="pango/pango-renderer.c"
16724 line="1627">a `PangoRenderer`</doc>
16725 <type name="Renderer" c:type="PangoRenderer*"/>
16726 </instance-parameter>
16727 </parameters>
16728 </method>
16729 <method name="get_matrix"
16730 c:identifier="pango_renderer_get_matrix"
16731 version="1.8">
16732 <doc xml:space="preserve"
16733 filename="pango/pango-renderer.c"
16734 line="1576">Gets the transformation matrix that will be applied when
16735rendering.
16736
16737See [method@Pango.Renderer.set_matrix].</doc>
16738 <source-position filename="pango/pango-renderer.h" line="280"/>
16739 <return-value transfer-ownership="none" nullable="1">
16740 <doc xml:space="preserve"
16741 filename="pango/pango-renderer.c"
16742 line="1585">the matrix, or %NULL if no matrix has
16743 been set (which is the same as the identity matrix). The returned
16744 matrix is owned by Pango and must not be modified or freed.</doc>
16745 <type name="Matrix" c:type="const PangoMatrix*"/>
16746 </return-value>
16747 <parameters>
16748 <instance-parameter name="renderer" transfer-ownership="none">
16749 <doc xml:space="preserve"
16750 filename="pango/pango-renderer.c"
16751 line="1578">a `PangoRenderer`</doc>
16752 <type name="Renderer" c:type="PangoRenderer*"/>
16753 </instance-parameter>
16754 </parameters>
16755 </method>
16756 <method name="part_changed"
16757 c:identifier="pango_renderer_part_changed"
16758 version="1.8">
16759 <doc xml:space="preserve"
16760 filename="pango/pango-renderer.c"
16761 line="1411">Informs Pango that the way that the rendering is done
16762for @part has changed.
16763
16764This should be called if the rendering changes in a way that would
16765prevent multiple pieces being joined together into one drawing call.
16766For instance, if a subclass of `PangoRenderer` was to add a stipple
16767option for drawing underlines, it needs to call
16768
16769```
16770pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE);
16771```
16772
16773When the stipple changes or underlines with different stipples
16774might be joined together. Pango automatically calls this for
16775changes to colors. (See [method@Pango.Renderer.set_color])</doc>
16776 <source-position filename="pango/pango-renderer.h" line="257"/>
16777 <return-value transfer-ownership="none">
16778 <type name="none" c:type="void"/>
16779 </return-value>
16780 <parameters>
16781 <instance-parameter name="renderer" transfer-ownership="none">
16782 <doc xml:space="preserve"
16783 filename="pango/pango-renderer.c"
16784 line="1413">a `PangoRenderer`</doc>
16785 <type name="Renderer" c:type="PangoRenderer*"/>
16786 </instance-parameter>
16787 <parameter name="part" transfer-ownership="none">
16788 <doc xml:space="preserve"
16789 filename="pango/pango-renderer.c"
16790 line="1414">the part for which rendering has changed.</doc>
16791 <type name="RenderPart" c:type="PangoRenderPart"/>
16792 </parameter>
16793 </parameters>
16794 </method>
16795 <method name="set_alpha"
16796 c:identifier="pango_renderer_set_alpha"
16797 version="1.38">
16798 <doc xml:space="preserve"
16799 filename="pango/pango-renderer.c"
16800 line="1357">Sets the alpha for part of the rendering.
16801
16802Note that the alpha may only be used if a color is
16803specified for @part as well.</doc>
16804 <source-position filename="pango/pango-renderer.h" line="269"/>
16805 <return-value transfer-ownership="none">
16806 <type name="none" c:type="void"/>
16807 </return-value>
16808 <parameters>
16809 <instance-parameter name="renderer" transfer-ownership="none">
16810 <doc xml:space="preserve"
16811 filename="pango/pango-renderer.c"
16812 line="1359">a `PangoRenderer`</doc>
16813 <type name="Renderer" c:type="PangoRenderer*"/>
16814 </instance-parameter>
16815 <parameter name="part" transfer-ownership="none">
16816 <doc xml:space="preserve"
16817 filename="pango/pango-renderer.c"
16818 line="1360">the part to set the alpha for</doc>
16819 <type name="RenderPart" c:type="PangoRenderPart"/>
16820 </parameter>
16821 <parameter name="alpha" transfer-ownership="none">
16822 <doc xml:space="preserve"
16823 filename="pango/pango-renderer.c"
16824 line="1361">an alpha value between 1 and 65536, or 0 to unset the alpha</doc>
16825 <type name="guint16" c:type="guint16"/>
16826 </parameter>
16827 </parameters>
16828 </method>
16829 <method name="set_color"
16830 c:identifier="pango_renderer_set_color"
16831 version="1.8">
16832 <doc xml:space="preserve"
16833 filename="pango/pango-renderer.c"
16834 line="1291">Sets the color for part of the rendering.
16835
16836Also see [method@Pango.Renderer.set_alpha].</doc>
16837 <source-position filename="pango/pango-renderer.h" line="261"/>
16838 <return-value transfer-ownership="none">
16839 <type name="none" c:type="void"/>
16840 </return-value>
16841 <parameters>
16842 <instance-parameter name="renderer" transfer-ownership="none">
16843 <doc xml:space="preserve"
16844 filename="pango/pango-renderer.c"
16845 line="1293">a `PangoRenderer`</doc>
16846 <type name="Renderer" c:type="PangoRenderer*"/>
16847 </instance-parameter>
16848 <parameter name="part" transfer-ownership="none">
16849 <doc xml:space="preserve"
16850 filename="pango/pango-renderer.c"
16851 line="1294">the part to change the color of</doc>
16852 <type name="RenderPart" c:type="PangoRenderPart"/>
16853 </parameter>
16854 <parameter name="color"
16855 transfer-ownership="none"
16856 nullable="1"
16857 allow-none="1">
16858 <doc xml:space="preserve"
16859 filename="pango/pango-renderer.c"
16860 line="1295">the new color or %NULL to unset the current color</doc>
16861 <type name="Color" c:type="const PangoColor*"/>
16862 </parameter>
16863 </parameters>
16864 </method>
16865 <method name="set_matrix"
16866 c:identifier="pango_renderer_set_matrix"
16867 version="1.8">
16868 <doc xml:space="preserve"
16869 filename="pango/pango-renderer.c"
16870 line="1556">Sets the transformation matrix that will be applied when rendering.</doc>
16871 <source-position filename="pango/pango-renderer.h" line="277"/>
16872 <return-value transfer-ownership="none">
16873 <type name="none" c:type="void"/>
16874 </return-value>
16875 <parameters>
16876 <instance-parameter name="renderer" transfer-ownership="none">
16877 <doc xml:space="preserve"
16878 filename="pango/pango-renderer.c"
16879 line="1558">a `PangoRenderer`</doc>
16880 <type name="Renderer" c:type="PangoRenderer*"/>
16881 </instance-parameter>
16882 <parameter name="matrix"
16883 transfer-ownership="none"
16884 nullable="1"
16885 allow-none="1">
16886 <doc xml:space="preserve"
16887 filename="pango/pango-renderer.c"
16888 line="1559">a `PangoMatrix`, or %NULL to unset any existing matrix
16889 (No matrix set is the same as setting the identity matrix.)</doc>
16890 <type name="Matrix" c:type="const PangoMatrix*"/>
16891 </parameter>
16892 </parameters>
16893 </method>
16894 <field name="parent_instance" readable="0" private="1">
16895 <type name="GObject.Object" c:type="GObject"/>
16896 </field>
16897 <field name="underline" readable="0" private="1">
16898 <type name="Underline" c:type="PangoUnderline"/>
16899 </field>
16900 <field name="strikethrough" readable="0" private="1">
16901 <type name="gboolean" c:type="gboolean"/>
16902 </field>
16903 <field name="active_count" readable="0" private="1">
16904 <type name="gint" c:type="int"/>
16905 </field>
16906 <field name="matrix">
16907 <doc xml:space="preserve"
16908 filename="pango/pango-renderer.h"
16909 line="64">the current transformation matrix for
16910 the Renderer; may be %NULL, which should be treated the
16911 same as the identity matrix.</doc>
16912 <type name="Matrix" c:type="PangoMatrix*"/>
16913 </field>
16914 <field name="priv" readable="0" private="1">
16915 <type name="RendererPrivate" c:type="PangoRendererPrivate*"/>
16916 </field>
16917 </class>
16918 <record name="RendererClass"
16919 c:type="PangoRendererClass"
16920 glib:is-gtype-struct-for="Renderer"
16921 version="1.8">
16922 <doc xml:space="preserve"
16923 filename="pango/pango-renderer.h"
16924 line="93">Class structure for `PangoRenderer`.
16925
16926The following vfuncs take user space coordinates in Pango units
16927and have default implementations:
16928- draw_glyphs
16929- draw_rectangle
16930- draw_error_underline
16931- draw_shape
16932- draw_glyph_item
16933
16934The default draw_shape implementation draws nothing.
16935
16936The following vfuncs take device space coordinates as doubles
16937and must be implemented:
16938- draw_trapezoid
16939- draw_glyph</doc>
16940 <source-position filename="pango/pango-renderer.h" line="195"/>
16941 <field name="parent_class" readable="0" private="1">
16942 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
16943 </field>
16944 <field name="draw_glyphs">
16945 <doc xml:space="preserve"
16946 filename="pango/pango-renderer.h"
16947 line="95">draws a `PangoGlyphString`</doc>
16948 <callback name="draw_glyphs">
16949 <source-position filename="pango/pango-renderer.h" line="139"/>
16950 <return-value transfer-ownership="none">
16951 <type name="none" c:type="void"/>
16952 </return-value>
16953 <parameters>
16954 <parameter name="renderer" transfer-ownership="none">
16955 <doc xml:space="preserve"
16956 filename="pango/pango-renderer.c"
16957 line="750">a `PangoRenderer`</doc>
16958 <type name="Renderer" c:type="PangoRenderer*"/>
16959 </parameter>
16960 <parameter name="font" transfer-ownership="none">
16961 <doc xml:space="preserve"
16962 filename="pango/pango-renderer.c"
16963 line="751">a `PangoFont`</doc>
16964 <type name="Font" c:type="PangoFont*"/>
16965 </parameter>
16966 <parameter name="glyphs" transfer-ownership="none">
16967 <doc xml:space="preserve"
16968 filename="pango/pango-renderer.c"
16969 line="752">a `PangoGlyphString`</doc>
16970 <type name="GlyphString" c:type="PangoGlyphString*"/>
16971 </parameter>
16972 <parameter name="x" transfer-ownership="none">
16973 <doc xml:space="preserve"
16974 filename="pango/pango-renderer.c"
16975 line="753">X position of left edge of baseline, in user space coordinates
16976 in Pango units.</doc>
16977 <type name="gint" c:type="int"/>
16978 </parameter>
16979 <parameter name="y" transfer-ownership="none">
16980 <doc xml:space="preserve"
16981 filename="pango/pango-renderer.c"
16982 line="755">Y position of left edge of baseline, in user space coordinates
16983 in Pango units.</doc>
16984 <type name="gint" c:type="int"/>
16985 </parameter>
16986 </parameters>
16987 </callback>
16988 </field>
16989 <field name="draw_rectangle">
16990 <doc xml:space="preserve"
16991 filename="pango/pango-renderer.h"
16992 line="96">draws a rectangle</doc>
16993 <callback name="draw_rectangle">
16994 <source-position filename="pango/pango-renderer.h" line="144"/>
16995 <return-value transfer-ownership="none">
16996 <type name="none" c:type="void"/>
16997 </return-value>
16998 <parameters>
16999 <parameter name="renderer" transfer-ownership="none">
17000 <doc xml:space="preserve"
17001 filename="pango/pango-renderer.c"
17002 line="875">a `PangoRenderer`</doc>
17003 <type name="Renderer" c:type="PangoRenderer*"/>
17004 </parameter>
17005 <parameter name="part" transfer-ownership="none">
17006 <doc xml:space="preserve"
17007 filename="pango/pango-renderer.c"
17008 line="876">type of object this rectangle is part of</doc>
17009 <type name="RenderPart" c:type="PangoRenderPart"/>
17010 </parameter>
17011 <parameter name="x" transfer-ownership="none">
17012 <doc xml:space="preserve"
17013 filename="pango/pango-renderer.c"
17014 line="877">X position at which to draw rectangle, in user space coordinates
17015 in Pango units</doc>
17016 <type name="gint" c:type="int"/>
17017 </parameter>
17018 <parameter name="y" transfer-ownership="none">
17019 <doc xml:space="preserve"
17020 filename="pango/pango-renderer.c"
17021 line="879">Y position at which to draw rectangle, in user space coordinates
17022 in Pango units</doc>
17023 <type name="gint" c:type="int"/>
17024 </parameter>
17025 <parameter name="width" transfer-ownership="none">
17026 <doc xml:space="preserve"
17027 filename="pango/pango-renderer.c"
17028 line="881">width of rectangle in Pango units</doc>
17029 <type name="gint" c:type="int"/>
17030 </parameter>
17031 <parameter name="height" transfer-ownership="none">
17032 <doc xml:space="preserve"
17033 filename="pango/pango-renderer.c"
17034 line="882">height of rectangle in Pango units</doc>
17035 <type name="gint" c:type="int"/>
17036 </parameter>
17037 </parameters>
17038 </callback>
17039 </field>
17040 <field name="draw_error_underline">
17041 <doc xml:space="preserve"
17042 filename="pango/pango-renderer.h"
17043 line="97">draws a squiggly line that approximately
17044covers the given rectangle in the style of an underline used to
17045indicate a spelling error.</doc>
17046 <callback name="draw_error_underline">
17047 <source-position filename="pango/pango-renderer.h" line="150"/>
17048 <return-value transfer-ownership="none">
17049 <type name="none" c:type="void"/>
17050 </return-value>
17051 <parameters>
17052 <parameter name="renderer" transfer-ownership="none">
17053 <doc xml:space="preserve"
17054 filename="pango/pango-renderer.c"
17055 line="1016">a `PangoRenderer`</doc>
17056 <type name="Renderer" c:type="PangoRenderer*"/>
17057 </parameter>
17058 <parameter name="x" transfer-ownership="none">
17059 <doc xml:space="preserve"
17060 filename="pango/pango-renderer.c"
17061 line="1017">X coordinate of underline, in Pango units in user coordinate system</doc>
17062 <type name="gint" c:type="int"/>
17063 </parameter>
17064 <parameter name="y" transfer-ownership="none">
17065 <doc xml:space="preserve"
17066 filename="pango/pango-renderer.c"
17067 line="1018">Y coordinate of underline, in Pango units in user coordinate system</doc>
17068 <type name="gint" c:type="int"/>
17069 </parameter>
17070 <parameter name="width" transfer-ownership="none">
17071 <doc xml:space="preserve"
17072 filename="pango/pango-renderer.c"
17073 line="1019">width of underline, in Pango units in user coordinate system</doc>
17074 <type name="gint" c:type="int"/>
17075 </parameter>
17076 <parameter name="height" transfer-ownership="none">
17077 <doc xml:space="preserve"
17078 filename="pango/pango-renderer.c"
17079 line="1020">height of underline, in Pango units in user coordinate system</doc>
17080 <type name="gint" c:type="int"/>
17081 </parameter>
17082 </parameters>
17083 </callback>
17084 </field>
17085 <field name="draw_shape">
17086 <doc xml:space="preserve"
17087 filename="pango/pango-renderer.h"
17088 line="100">draw content for a glyph shaped with `PangoAttrShape`
17089 @x, @y are the coordinates of the left edge of the baseline,
17090 in user coordinates.</doc>
17091 <callback name="draw_shape">
17092 <source-position filename="pango/pango-renderer.h" line="155"/>
17093 <return-value transfer-ownership="none">
17094 <type name="none" c:type="void"/>
17095 </return-value>
17096 <parameters>
17097 <parameter name="renderer" transfer-ownership="none">
17098 <type name="Renderer" c:type="PangoRenderer*"/>
17099 </parameter>
17100 <parameter name="attr" transfer-ownership="none">
17101 <type name="AttrShape" c:type="PangoAttrShape*"/>
17102 </parameter>
17103 <parameter name="x" transfer-ownership="none">
17104 <type name="gint" c:type="int"/>
17105 </parameter>
17106 <parameter name="y" transfer-ownership="none">
17107 <type name="gint" c:type="int"/>
17108 </parameter>
17109 </parameters>
17110 </callback>
17111 </field>
17112 <field name="draw_trapezoid">
17113 <doc xml:space="preserve"
17114 filename="pango/pango-renderer.h"
17115 line="103">draws a trapezoidal filled area</doc>
17116 <callback name="draw_trapezoid">
17117 <source-position filename="pango/pango-renderer.h" line="160"/>
17118 <return-value transfer-ownership="none">
17119 <type name="none" c:type="void"/>
17120 </return-value>
17121 <parameters>
17122 <parameter name="renderer" transfer-ownership="none">
17123 <doc xml:space="preserve"
17124 filename="pango/pango-renderer.c"
17125 line="1176">a `PangoRenderer`</doc>
17126 <type name="Renderer" c:type="PangoRenderer*"/>
17127 </parameter>
17128 <parameter name="part" transfer-ownership="none">
17129 <doc xml:space="preserve"
17130 filename="pango/pango-renderer.c"
17131 line="1177">type of object this trapezoid is part of</doc>
17132 <type name="RenderPart" c:type="PangoRenderPart"/>
17133 </parameter>
17134 <parameter name="y1_" transfer-ownership="none">
17135 <doc xml:space="preserve"
17136 filename="pango/pango-renderer.c"
17137 line="1178">Y coordinate of top of trapezoid</doc>
17138 <type name="gdouble" c:type="double"/>
17139 </parameter>
17140 <parameter name="x11" transfer-ownership="none">
17141 <doc xml:space="preserve"
17142 filename="pango/pango-renderer.c"
17143 line="1179">X coordinate of left end of top of trapezoid</doc>
17144 <type name="gdouble" c:type="double"/>
17145 </parameter>
17146 <parameter name="x21" transfer-ownership="none">
17147 <doc xml:space="preserve"
17148 filename="pango/pango-renderer.c"
17149 line="1180">X coordinate of right end of top of trapezoid</doc>
17150 <type name="gdouble" c:type="double"/>
17151 </parameter>
17152 <parameter name="y2" transfer-ownership="none">
17153 <doc xml:space="preserve"
17154 filename="pango/pango-renderer.c"
17155 line="1181">Y coordinate of bottom of trapezoid</doc>
17156 <type name="gdouble" c:type="double"/>
17157 </parameter>
17158 <parameter name="x12" transfer-ownership="none">
17159 <doc xml:space="preserve"
17160 filename="pango/pango-renderer.c"
17161 line="1182">X coordinate of left end of bottom of trapezoid</doc>
17162 <type name="gdouble" c:type="double"/>
17163 </parameter>
17164 <parameter name="x22" transfer-ownership="none">
17165 <doc xml:space="preserve"
17166 filename="pango/pango-renderer.c"
17167 line="1183">X coordinate of right end of bottom of trapezoid</doc>
17168 <type name="gdouble" c:type="double"/>
17169 </parameter>
17170 </parameters>
17171 </callback>
17172 </field>
17173 <field name="draw_glyph">
17174 <doc xml:space="preserve"
17175 filename="pango/pango-renderer.h"
17176 line="104">draws a single glyph</doc>
17177 <callback name="draw_glyph">
17178 <source-position filename="pango/pango-renderer.h" line="168"/>
17179 <return-value transfer-ownership="none">
17180 <type name="none" c:type="void"/>
17181 </return-value>
17182 <parameters>
17183 <parameter name="renderer" transfer-ownership="none">
17184 <doc xml:space="preserve"
17185 filename="pango/pango-renderer.c"
17186 line="1211">a `PangoRenderer`</doc>
17187 <type name="Renderer" c:type="PangoRenderer*"/>
17188 </parameter>
17189 <parameter name="font" transfer-ownership="none">
17190 <doc xml:space="preserve"
17191 filename="pango/pango-renderer.c"
17192 line="1212">a `PangoFont`</doc>
17193 <type name="Font" c:type="PangoFont*"/>
17194 </parameter>
17195 <parameter name="glyph" transfer-ownership="none">
17196 <doc xml:space="preserve"
17197 filename="pango/pango-renderer.c"
17198 line="1213">the glyph index of a single glyph</doc>
17199 <type name="Glyph" c:type="PangoGlyph"/>
17200 </parameter>
17201 <parameter name="x" transfer-ownership="none">
17202 <doc xml:space="preserve"
17203 filename="pango/pango-renderer.c"
17204 line="1214">X coordinate of left edge of baseline of glyph</doc>
17205 <type name="gdouble" c:type="double"/>
17206 </parameter>
17207 <parameter name="y" transfer-ownership="none">
17208 <doc xml:space="preserve"
17209 filename="pango/pango-renderer.c"
17210 line="1215">Y coordinate of left edge of baseline of glyph</doc>
17211 <type name="gdouble" c:type="double"/>
17212 </parameter>
17213 </parameters>
17214 </callback>
17215 </field>
17216 <field name="part_changed">
17217 <doc xml:space="preserve"
17218 filename="pango/pango-renderer.h"
17219 line="105">do renderer specific processing when rendering
17220 attributes change</doc>
17221 <callback name="part_changed">
17222 <source-position filename="pango/pango-renderer.h" line="174"/>
17223 <return-value transfer-ownership="none">
17224 <type name="none" c:type="void"/>
17225 </return-value>
17226 <parameters>
17227 <parameter name="renderer" transfer-ownership="none">
17228 <doc xml:space="preserve"
17229 filename="pango/pango-renderer.c"
17230 line="1413">a `PangoRenderer`</doc>
17231 <type name="Renderer" c:type="PangoRenderer*"/>
17232 </parameter>
17233 <parameter name="part" transfer-ownership="none">
17234 <doc xml:space="preserve"
17235 filename="pango/pango-renderer.c"
17236 line="1414">the part for which rendering has changed.</doc>
17237 <type name="RenderPart" c:type="PangoRenderPart"/>
17238 </parameter>
17239 </parameters>
17240 </callback>
17241 </field>
17242 <field name="begin">
17243 <doc xml:space="preserve"
17244 filename="pango/pango-renderer.h"
17245 line="107">Do renderer-specific initialization before drawing</doc>
17246 <callback name="begin">
17247 <source-position filename="pango/pango-renderer.h" line="177"/>
17248 <return-value transfer-ownership="none">
17249 <type name="none" c:type="void"/>
17250 </return-value>
17251 <parameters>
17252 <parameter name="renderer" transfer-ownership="none">
17253 <type name="Renderer" c:type="PangoRenderer*"/>
17254 </parameter>
17255 </parameters>
17256 </callback>
17257 </field>
17258 <field name="end">
17259 <doc xml:space="preserve"
17260 filename="pango/pango-renderer.h"
17261 line="108">Do renderer-specific cleanup after drawing</doc>
17262 <callback name="end">
17263 <source-position filename="pango/pango-renderer.h" line="178"/>
17264 <return-value transfer-ownership="none">
17265 <type name="none" c:type="void"/>
17266 </return-value>
17267 <parameters>
17268 <parameter name="renderer" transfer-ownership="none">
17269 <type name="Renderer" c:type="PangoRenderer*"/>
17270 </parameter>
17271 </parameters>
17272 </callback>
17273 </field>
17274 <field name="prepare_run">
17275 <doc xml:space="preserve"
17276 filename="pango/pango-renderer.h"
17277 line="109">updates the renderer for a new run</doc>
17278 <callback name="prepare_run">
17279 <source-position filename="pango/pango-renderer.h" line="180"/>
17280 <return-value transfer-ownership="none">
17281 <type name="none" c:type="void"/>
17282 </return-value>
17283 <parameters>
17284 <parameter name="renderer" transfer-ownership="none">
17285 <type name="Renderer" c:type="PangoRenderer*"/>
17286 </parameter>
17287 <parameter name="run" transfer-ownership="none">
17288 <type name="LayoutRun" c:type="PangoLayoutRun*"/>
17289 </parameter>
17290 </parameters>
17291 </callback>
17292 </field>
17293 <field name="draw_glyph_item">
17294 <doc xml:space="preserve"
17295 filename="pango/pango-renderer.h"
17296 line="110">draws a `PangoGlyphItem`</doc>
17297 <callback name="draw_glyph_item">
17298 <source-position filename="pango/pango-renderer.h" line="183"/>
17299 <return-value transfer-ownership="none">
17300 <type name="none" c:type="void"/>
17301 </return-value>
17302 <parameters>
17303 <parameter name="renderer" transfer-ownership="none">
17304 <doc xml:space="preserve"
17305 filename="pango/pango-renderer.c"
17306 line="806">a `PangoRenderer`</doc>
17307 <type name="Renderer" c:type="PangoRenderer*"/>
17308 </parameter>
17309 <parameter name="text"
17310 transfer-ownership="none"
17311 nullable="1"
17312 allow-none="1">
17313 <doc xml:space="preserve"
17314 filename="pango/pango-renderer.c"
17315 line="807">the UTF-8 text that @glyph_item refers to</doc>
17316 <type name="utf8" c:type="const char*"/>
17317 </parameter>
17318 <parameter name="glyph_item" transfer-ownership="none">
17319 <doc xml:space="preserve"
17320 filename="pango/pango-renderer.c"
17321 line="808">a `PangoGlyphItem`</doc>
17322 <type name="GlyphItem" c:type="PangoGlyphItem*"/>
17323 </parameter>
17324 <parameter name="x" transfer-ownership="none">
17325 <doc xml:space="preserve"
17326 filename="pango/pango-renderer.c"
17327 line="809">X position of left edge of baseline, in user space coordinates
17328 in Pango units</doc>
17329 <type name="gint" c:type="int"/>
17330 </parameter>
17331 <parameter name="y" transfer-ownership="none">
17332 <doc xml:space="preserve"
17333 filename="pango/pango-renderer.c"
17334 line="811">Y position of left edge of baseline, in user space coordinates
17335 in Pango units</doc>
17336 <type name="gint" c:type="int"/>
17337 </parameter>
17338 </parameters>
17339 </callback>
17340 </field>
17341 <field name="_pango_reserved2" introspectable="0">
17342 <callback name="_pango_reserved2">
17343 <source-position filename="pango/pango-renderer.h" line="192"/>
17344 <return-value transfer-ownership="none">
17345 <type name="none" c:type="void"/>
17346 </return-value>
17347 </callback>
17348 </field>
17349 <field name="_pango_reserved3" introspectable="0">
17350 <callback name="_pango_reserved3">
17351 <source-position filename="pango/pango-renderer.h" line="193"/>
17352 <return-value transfer-ownership="none">
17353 <type name="none" c:type="void"/>
17354 </return-value>
17355 </callback>
17356 </field>
17357 <field name="_pango_reserved4" introspectable="0">
17358 <callback name="_pango_reserved4">
17359 <source-position filename="pango/pango-renderer.h" line="194"/>
17360 <return-value transfer-ownership="none">
17361 <type name="none" c:type="void"/>
17362 </return-value>
17363 </callback>
17364 </field>
17365 </record>
17366 <record name="RendererPrivate"
17367 c:type="PangoRendererPrivate"
17368 disguised="1"
17369 opaque="1">
17370 <source-position filename="pango/pango-renderer.h" line="37"/>
17371 </record>
17372 <constant name="SCALE" value="1024" c:type="PANGO_SCALE">
17373 <doc xml:space="preserve"
17374 filename="pango/pango-types.h"
17375 line="58">The scale between dimensions used for Pango distances and device units.
17376
17377The definition of device units is dependent on the output device; it will
17378typically be pixels for a screen, and points for a printer. %PANGO_SCALE is
17379currently 1024, but this may be changed in the future.
17380
17381When setting font sizes, device units are always considered to be
17382points (as in "12 point font"), rather than pixels.</doc>
17383 <source-position filename="pango/pango-types.h" line="96"/>
17384 <type name="gint" c:type="gint"/>
17385 </constant>
17386 <enumeration name="Script"
17387 glib:type-name="PangoScript"
17388 glib:get-type="pango_script_get_type"
17389 c:type="PangoScript">
17390 <doc xml:space="preserve"
17391 filename="pango/pango-script.h"
17392 line="37">The `PangoScript` enumeration identifies different writing
17393systems.
17394
17395The values correspond to the names as defined in the Unicode standard. See
17396[Unicode Standard Annex 24: Script names](http://www.unicode.org/reports/tr24/)
17397
17398Note that this enumeration is deprecated and will not be updated to include values
17399in newer versions of the Unicode standard. Applications should use the
17400[enum@GLib.UnicodeScript] enumeration instead,
17401whose values are interchangeable with `PangoScript`.</doc>
17402 <member name="invalid_code"
17403 value="-1"
17404 c:identifier="PANGO_SCRIPT_INVALID_CODE"
17405 glib:nick="invalid-code"
17406 glib:name="PANGO_SCRIPT_INVALID_CODE">
17407 <doc xml:space="preserve"
17408 filename="pango/pango-script.h"
17409 line="39">a value never returned from pango_script_for_unichar()</doc>
17410 </member>
17411 <member name="common"
17412 value="0"
17413 c:identifier="PANGO_SCRIPT_COMMON"
17414 glib:nick="common"
17415 glib:name="PANGO_SCRIPT_COMMON">
17416 <doc xml:space="preserve"
17417 filename="pango/pango-script.h"
17418 line="40">a character used by multiple different scripts</doc>
17419 </member>
17420 <member name="inherited"
17421 value="1"
17422 c:identifier="PANGO_SCRIPT_INHERITED"
17423 glib:nick="inherited"
17424 glib:name="PANGO_SCRIPT_INHERITED">
17425 <doc xml:space="preserve"
17426 filename="pango/pango-script.h"
17427 line="41">a mark glyph that takes its script from the
17428base glyph to which it is attached</doc>
17429 </member>
17430 <member name="arabic"
17431 value="2"
17432 c:identifier="PANGO_SCRIPT_ARABIC"
17433 glib:nick="arabic"
17434 glib:name="PANGO_SCRIPT_ARABIC">
17435 <doc xml:space="preserve"
17436 filename="pango/pango-script.h"
17437 line="43">Arabic</doc>
17438 </member>
17439 <member name="armenian"
17440 value="3"
17441 c:identifier="PANGO_SCRIPT_ARMENIAN"
17442 glib:nick="armenian"
17443 glib:name="PANGO_SCRIPT_ARMENIAN">
17444 <doc xml:space="preserve"
17445 filename="pango/pango-script.h"
17446 line="44">Armenian</doc>
17447 </member>
17448 <member name="bengali"
17449 value="4"
17450 c:identifier="PANGO_SCRIPT_BENGALI"
17451 glib:nick="bengali"
17452 glib:name="PANGO_SCRIPT_BENGALI">
17453 <doc xml:space="preserve"
17454 filename="pango/pango-script.h"
17455 line="45">Bengali</doc>
17456 </member>
17457 <member name="bopomofo"
17458 value="5"
17459 c:identifier="PANGO_SCRIPT_BOPOMOFO"
17460 glib:nick="bopomofo"
17461 glib:name="PANGO_SCRIPT_BOPOMOFO">
17462 <doc xml:space="preserve"
17463 filename="pango/pango-script.h"
17464 line="46">Bopomofo</doc>
17465 </member>
17466 <member name="cherokee"
17467 value="6"
17468 c:identifier="PANGO_SCRIPT_CHEROKEE"
17469 glib:nick="cherokee"
17470 glib:name="PANGO_SCRIPT_CHEROKEE">
17471 <doc xml:space="preserve"
17472 filename="pango/pango-script.h"
17473 line="47">Cherokee</doc>
17474 </member>
17475 <member name="coptic"
17476 value="7"
17477 c:identifier="PANGO_SCRIPT_COPTIC"
17478 glib:nick="coptic"
17479 glib:name="PANGO_SCRIPT_COPTIC">
17480 <doc xml:space="preserve"
17481 filename="pango/pango-script.h"
17482 line="48">Coptic</doc>
17483 </member>
17484 <member name="cyrillic"
17485 value="8"
17486 c:identifier="PANGO_SCRIPT_CYRILLIC"
17487 glib:nick="cyrillic"
17488 glib:name="PANGO_SCRIPT_CYRILLIC">
17489 <doc xml:space="preserve"
17490 filename="pango/pango-script.h"
17491 line="49">Cyrillic</doc>
17492 </member>
17493 <member name="deseret"
17494 value="9"
17495 c:identifier="PANGO_SCRIPT_DESERET"
17496 glib:nick="deseret"
17497 glib:name="PANGO_SCRIPT_DESERET">
17498 <doc xml:space="preserve"
17499 filename="pango/pango-script.h"
17500 line="50">Deseret</doc>
17501 </member>
17502 <member name="devanagari"
17503 value="10"
17504 c:identifier="PANGO_SCRIPT_DEVANAGARI"
17505 glib:nick="devanagari"
17506 glib:name="PANGO_SCRIPT_DEVANAGARI">
17507 <doc xml:space="preserve"
17508 filename="pango/pango-script.h"
17509 line="51">Devanagari</doc>
17510 </member>
17511 <member name="ethiopic"
17512 value="11"
17513 c:identifier="PANGO_SCRIPT_ETHIOPIC"
17514 glib:nick="ethiopic"
17515 glib:name="PANGO_SCRIPT_ETHIOPIC">
17516 <doc xml:space="preserve"
17517 filename="pango/pango-script.h"
17518 line="52">Ethiopic</doc>
17519 </member>
17520 <member name="georgian"
17521 value="12"
17522 c:identifier="PANGO_SCRIPT_GEORGIAN"
17523 glib:nick="georgian"
17524 glib:name="PANGO_SCRIPT_GEORGIAN">
17525 <doc xml:space="preserve"
17526 filename="pango/pango-script.h"
17527 line="53">Georgian</doc>
17528 </member>
17529 <member name="gothic"
17530 value="13"
17531 c:identifier="PANGO_SCRIPT_GOTHIC"
17532 glib:nick="gothic"
17533 glib:name="PANGO_SCRIPT_GOTHIC">
17534 <doc xml:space="preserve"
17535 filename="pango/pango-script.h"
17536 line="54">Gothic</doc>
17537 </member>
17538 <member name="greek"
17539 value="14"
17540 c:identifier="PANGO_SCRIPT_GREEK"
17541 glib:nick="greek"
17542 glib:name="PANGO_SCRIPT_GREEK">
17543 <doc xml:space="preserve"
17544 filename="pango/pango-script.h"
17545 line="55">Greek</doc>
17546 </member>
17547 <member name="gujarati"
17548 value="15"
17549 c:identifier="PANGO_SCRIPT_GUJARATI"
17550 glib:nick="gujarati"
17551 glib:name="PANGO_SCRIPT_GUJARATI">
17552 <doc xml:space="preserve"
17553 filename="pango/pango-script.h"
17554 line="56">Gujarati</doc>
17555 </member>
17556 <member name="gurmukhi"
17557 value="16"
17558 c:identifier="PANGO_SCRIPT_GURMUKHI"
17559 glib:nick="gurmukhi"
17560 glib:name="PANGO_SCRIPT_GURMUKHI">
17561 <doc xml:space="preserve"
17562 filename="pango/pango-script.h"
17563 line="57">Gurmukhi</doc>
17564 </member>
17565 <member name="han"
17566 value="17"
17567 c:identifier="PANGO_SCRIPT_HAN"
17568 glib:nick="han"
17569 glib:name="PANGO_SCRIPT_HAN">
17570 <doc xml:space="preserve"
17571 filename="pango/pango-script.h"
17572 line="58">Han</doc>
17573 </member>
17574 <member name="hangul"
17575 value="18"
17576 c:identifier="PANGO_SCRIPT_HANGUL"
17577 glib:nick="hangul"
17578 glib:name="PANGO_SCRIPT_HANGUL">
17579 <doc xml:space="preserve"
17580 filename="pango/pango-script.h"
17581 line="59">Hangul</doc>
17582 </member>
17583 <member name="hebrew"
17584 value="19"
17585 c:identifier="PANGO_SCRIPT_HEBREW"
17586 glib:nick="hebrew"
17587 glib:name="PANGO_SCRIPT_HEBREW">
17588 <doc xml:space="preserve"
17589 filename="pango/pango-script.h"
17590 line="60">Hebrew</doc>
17591 </member>
17592 <member name="hiragana"
17593 value="20"
17594 c:identifier="PANGO_SCRIPT_HIRAGANA"
17595 glib:nick="hiragana"
17596 glib:name="PANGO_SCRIPT_HIRAGANA">
17597 <doc xml:space="preserve"
17598 filename="pango/pango-script.h"
17599 line="61">Hiragana</doc>
17600 </member>
17601 <member name="kannada"
17602 value="21"
17603 c:identifier="PANGO_SCRIPT_KANNADA"
17604 glib:nick="kannada"
17605 glib:name="PANGO_SCRIPT_KANNADA">
17606 <doc xml:space="preserve"
17607 filename="pango/pango-script.h"
17608 line="62">Kannada</doc>
17609 </member>
17610 <member name="katakana"
17611 value="22"
17612 c:identifier="PANGO_SCRIPT_KATAKANA"
17613 glib:nick="katakana"
17614 glib:name="PANGO_SCRIPT_KATAKANA">
17615 <doc xml:space="preserve"
17616 filename="pango/pango-script.h"
17617 line="63">Katakana</doc>
17618 </member>
17619 <member name="khmer"
17620 value="23"
17621 c:identifier="PANGO_SCRIPT_KHMER"
17622 glib:nick="khmer"
17623 glib:name="PANGO_SCRIPT_KHMER">
17624 <doc xml:space="preserve"
17625 filename="pango/pango-script.h"
17626 line="64">Khmer</doc>
17627 </member>
17628 <member name="lao"
17629 value="24"
17630 c:identifier="PANGO_SCRIPT_LAO"
17631 glib:nick="lao"
17632 glib:name="PANGO_SCRIPT_LAO">
17633 <doc xml:space="preserve"
17634 filename="pango/pango-script.h"
17635 line="65">Lao</doc>
17636 </member>
17637 <member name="latin"
17638 value="25"
17639 c:identifier="PANGO_SCRIPT_LATIN"
17640 glib:nick="latin"
17641 glib:name="PANGO_SCRIPT_LATIN">
17642 <doc xml:space="preserve"
17643 filename="pango/pango-script.h"
17644 line="66">Latin</doc>
17645 </member>
17646 <member name="malayalam"
17647 value="26"
17648 c:identifier="PANGO_SCRIPT_MALAYALAM"
17649 glib:nick="malayalam"
17650 glib:name="PANGO_SCRIPT_MALAYALAM">
17651 <doc xml:space="preserve"
17652 filename="pango/pango-script.h"
17653 line="67">Malayalam</doc>
17654 </member>
17655 <member name="mongolian"
17656 value="27"
17657 c:identifier="PANGO_SCRIPT_MONGOLIAN"
17658 glib:nick="mongolian"
17659 glib:name="PANGO_SCRIPT_MONGOLIAN">
17660 <doc xml:space="preserve"
17661 filename="pango/pango-script.h"
17662 line="68">Mongolian</doc>
17663 </member>
17664 <member name="myanmar"
17665 value="28"
17666 c:identifier="PANGO_SCRIPT_MYANMAR"
17667 glib:nick="myanmar"
17668 glib:name="PANGO_SCRIPT_MYANMAR">
17669 <doc xml:space="preserve"
17670 filename="pango/pango-script.h"
17671 line="69">Myanmar</doc>
17672 </member>
17673 <member name="ogham"
17674 value="29"
17675 c:identifier="PANGO_SCRIPT_OGHAM"
17676 glib:nick="ogham"
17677 glib:name="PANGO_SCRIPT_OGHAM">
17678 <doc xml:space="preserve"
17679 filename="pango/pango-script.h"
17680 line="70">Ogham</doc>
17681 </member>
17682 <member name="old_italic"
17683 value="30"
17684 c:identifier="PANGO_SCRIPT_OLD_ITALIC"
17685 glib:nick="old-italic"
17686 glib:name="PANGO_SCRIPT_OLD_ITALIC">
17687 <doc xml:space="preserve"
17688 filename="pango/pango-script.h"
17689 line="71">Old Italic</doc>
17690 </member>
17691 <member name="oriya"
17692 value="31"
17693 c:identifier="PANGO_SCRIPT_ORIYA"
17694 glib:nick="oriya"
17695 glib:name="PANGO_SCRIPT_ORIYA">
17696 <doc xml:space="preserve"
17697 filename="pango/pango-script.h"
17698 line="72">Oriya</doc>
17699 </member>
17700 <member name="runic"
17701 value="32"
17702 c:identifier="PANGO_SCRIPT_RUNIC"
17703 glib:nick="runic"
17704 glib:name="PANGO_SCRIPT_RUNIC">
17705 <doc xml:space="preserve"
17706 filename="pango/pango-script.h"
17707 line="73">Runic</doc>
17708 </member>
17709 <member name="sinhala"
17710 value="33"
17711 c:identifier="PANGO_SCRIPT_SINHALA"
17712 glib:nick="sinhala"
17713 glib:name="PANGO_SCRIPT_SINHALA">
17714 <doc xml:space="preserve"
17715 filename="pango/pango-script.h"
17716 line="74">Sinhala</doc>
17717 </member>
17718 <member name="syriac"
17719 value="34"
17720 c:identifier="PANGO_SCRIPT_SYRIAC"
17721 glib:nick="syriac"
17722 glib:name="PANGO_SCRIPT_SYRIAC">
17723 <doc xml:space="preserve"
17724 filename="pango/pango-script.h"
17725 line="75">Syriac</doc>
17726 </member>
17727 <member name="tamil"
17728 value="35"
17729 c:identifier="PANGO_SCRIPT_TAMIL"
17730 glib:nick="tamil"
17731 glib:name="PANGO_SCRIPT_TAMIL">
17732 <doc xml:space="preserve"
17733 filename="pango/pango-script.h"
17734 line="76">Tamil</doc>
17735 </member>
17736 <member name="telugu"
17737 value="36"
17738 c:identifier="PANGO_SCRIPT_TELUGU"
17739 glib:nick="telugu"
17740 glib:name="PANGO_SCRIPT_TELUGU">
17741 <doc xml:space="preserve"
17742 filename="pango/pango-script.h"
17743 line="77">Telugu</doc>
17744 </member>
17745 <member name="thaana"
17746 value="37"
17747 c:identifier="PANGO_SCRIPT_THAANA"
17748 glib:nick="thaana"
17749 glib:name="PANGO_SCRIPT_THAANA">
17750 <doc xml:space="preserve"
17751 filename="pango/pango-script.h"
17752 line="78">Thaana</doc>
17753 </member>
17754 <member name="thai"
17755 value="38"
17756 c:identifier="PANGO_SCRIPT_THAI"
17757 glib:nick="thai"
17758 glib:name="PANGO_SCRIPT_THAI">
17759 <doc xml:space="preserve"
17760 filename="pango/pango-script.h"
17761 line="79">Thai</doc>
17762 </member>
17763 <member name="tibetan"
17764 value="39"
17765 c:identifier="PANGO_SCRIPT_TIBETAN"
17766 glib:nick="tibetan"
17767 glib:name="PANGO_SCRIPT_TIBETAN">
17768 <doc xml:space="preserve"
17769 filename="pango/pango-script.h"
17770 line="80">Tibetan</doc>
17771 </member>
17772 <member name="canadian_aboriginal"
17773 value="40"
17774 c:identifier="PANGO_SCRIPT_CANADIAN_ABORIGINAL"
17775 glib:nick="canadian-aboriginal"
17776 glib:name="PANGO_SCRIPT_CANADIAN_ABORIGINAL">
17777 <doc xml:space="preserve"
17778 filename="pango/pango-script.h"
17779 line="81">Canadian Aboriginal</doc>
17780 </member>
17781 <member name="yi"
17782 value="41"
17783 c:identifier="PANGO_SCRIPT_YI"
17784 glib:nick="yi"
17785 glib:name="PANGO_SCRIPT_YI">
17786 <doc xml:space="preserve"
17787 filename="pango/pango-script.h"
17788 line="82">Yi</doc>
17789 </member>
17790 <member name="tagalog"
17791 value="42"
17792 c:identifier="PANGO_SCRIPT_TAGALOG"
17793 glib:nick="tagalog"
17794 glib:name="PANGO_SCRIPT_TAGALOG">
17795 <doc xml:space="preserve"
17796 filename="pango/pango-script.h"
17797 line="83">Tagalog</doc>
17798 </member>
17799 <member name="hanunoo"
17800 value="43"
17801 c:identifier="PANGO_SCRIPT_HANUNOO"
17802 glib:nick="hanunoo"
17803 glib:name="PANGO_SCRIPT_HANUNOO">
17804 <doc xml:space="preserve"
17805 filename="pango/pango-script.h"
17806 line="84">Hanunoo</doc>
17807 </member>
17808 <member name="buhid"
17809 value="44"
17810 c:identifier="PANGO_SCRIPT_BUHID"
17811 glib:nick="buhid"
17812 glib:name="PANGO_SCRIPT_BUHID">
17813 <doc xml:space="preserve"
17814 filename="pango/pango-script.h"
17815 line="85">Buhid</doc>
17816 </member>
17817 <member name="tagbanwa"
17818 value="45"
17819 c:identifier="PANGO_SCRIPT_TAGBANWA"
17820 glib:nick="tagbanwa"
17821 glib:name="PANGO_SCRIPT_TAGBANWA">
17822 <doc xml:space="preserve"
17823 filename="pango/pango-script.h"
17824 line="86">Tagbanwa</doc>
17825 </member>
17826 <member name="braille"
17827 value="46"
17828 c:identifier="PANGO_SCRIPT_BRAILLE"
17829 glib:nick="braille"
17830 glib:name="PANGO_SCRIPT_BRAILLE">
17831 <doc xml:space="preserve"
17832 filename="pango/pango-script.h"
17833 line="87">Braille</doc>
17834 </member>
17835 <member name="cypriot"
17836 value="47"
17837 c:identifier="PANGO_SCRIPT_CYPRIOT"
17838 glib:nick="cypriot"
17839 glib:name="PANGO_SCRIPT_CYPRIOT">
17840 <doc xml:space="preserve"
17841 filename="pango/pango-script.h"
17842 line="88">Cypriot</doc>
17843 </member>
17844 <member name="limbu"
17845 value="48"
17846 c:identifier="PANGO_SCRIPT_LIMBU"
17847 glib:nick="limbu"
17848 glib:name="PANGO_SCRIPT_LIMBU">
17849 <doc xml:space="preserve"
17850 filename="pango/pango-script.h"
17851 line="89">Limbu</doc>
17852 </member>
17853 <member name="osmanya"
17854 value="49"
17855 c:identifier="PANGO_SCRIPT_OSMANYA"
17856 glib:nick="osmanya"
17857 glib:name="PANGO_SCRIPT_OSMANYA">
17858 <doc xml:space="preserve"
17859 filename="pango/pango-script.h"
17860 line="90">Osmanya</doc>
17861 </member>
17862 <member name="shavian"
17863 value="50"
17864 c:identifier="PANGO_SCRIPT_SHAVIAN"
17865 glib:nick="shavian"
17866 glib:name="PANGO_SCRIPT_SHAVIAN">
17867 <doc xml:space="preserve"
17868 filename="pango/pango-script.h"
17869 line="91">Shavian</doc>
17870 </member>
17871 <member name="linear_b"
17872 value="51"
17873 c:identifier="PANGO_SCRIPT_LINEAR_B"
17874 glib:nick="linear-b"
17875 glib:name="PANGO_SCRIPT_LINEAR_B">
17876 <doc xml:space="preserve"
17877 filename="pango/pango-script.h"
17878 line="92">Linear B</doc>
17879 </member>
17880 <member name="tai_le"
17881 value="52"
17882 c:identifier="PANGO_SCRIPT_TAI_LE"
17883 glib:nick="tai-le"
17884 glib:name="PANGO_SCRIPT_TAI_LE">
17885 <doc xml:space="preserve"
17886 filename="pango/pango-script.h"
17887 line="93">Tai Le</doc>
17888 </member>
17889 <member name="ugaritic"
17890 value="53"
17891 c:identifier="PANGO_SCRIPT_UGARITIC"
17892 glib:nick="ugaritic"
17893 glib:name="PANGO_SCRIPT_UGARITIC">
17894 <doc xml:space="preserve"
17895 filename="pango/pango-script.h"
17896 line="94">Ugaritic</doc>
17897 </member>
17898 <member name="new_tai_lue"
17899 value="54"
17900 c:identifier="PANGO_SCRIPT_NEW_TAI_LUE"
17901 glib:nick="new-tai-lue"
17902 glib:name="PANGO_SCRIPT_NEW_TAI_LUE">
17903 <doc xml:space="preserve"
17904 filename="pango/pango-script.h"
17905 line="95">New Tai Lue. Since 1.10</doc>
17906 </member>
17907 <member name="buginese"
17908 value="55"
17909 c:identifier="PANGO_SCRIPT_BUGINESE"
17910 glib:nick="buginese"
17911 glib:name="PANGO_SCRIPT_BUGINESE">
17912 <doc xml:space="preserve"
17913 filename="pango/pango-script.h"
17914 line="96">Buginese. Since 1.10</doc>
17915 </member>
17916 <member name="glagolitic"
17917 value="56"
17918 c:identifier="PANGO_SCRIPT_GLAGOLITIC"
17919 glib:nick="glagolitic"
17920 glib:name="PANGO_SCRIPT_GLAGOLITIC">
17921 <doc xml:space="preserve"
17922 filename="pango/pango-script.h"
17923 line="97">Glagolitic. Since 1.10</doc>
17924 </member>
17925 <member name="tifinagh"
17926 value="57"
17927 c:identifier="PANGO_SCRIPT_TIFINAGH"
17928 glib:nick="tifinagh"
17929 glib:name="PANGO_SCRIPT_TIFINAGH">
17930 <doc xml:space="preserve"
17931 filename="pango/pango-script.h"
17932 line="98">Tifinagh. Since 1.10</doc>
17933 </member>
17934 <member name="syloti_nagri"
17935 value="58"
17936 c:identifier="PANGO_SCRIPT_SYLOTI_NAGRI"
17937 glib:nick="syloti-nagri"
17938 glib:name="PANGO_SCRIPT_SYLOTI_NAGRI">
17939 <doc xml:space="preserve"
17940 filename="pango/pango-script.h"
17941 line="99">Syloti Nagri. Since 1.10</doc>
17942 </member>
17943 <member name="old_persian"
17944 value="59"
17945 c:identifier="PANGO_SCRIPT_OLD_PERSIAN"
17946 glib:nick="old-persian"
17947 glib:name="PANGO_SCRIPT_OLD_PERSIAN">
17948 <doc xml:space="preserve"
17949 filename="pango/pango-script.h"
17950 line="100">Old Persian. Since 1.10</doc>
17951 </member>
17952 <member name="kharoshthi"
17953 value="60"
17954 c:identifier="PANGO_SCRIPT_KHAROSHTHI"
17955 glib:nick="kharoshthi"
17956 glib:name="PANGO_SCRIPT_KHAROSHTHI">
17957 <doc xml:space="preserve"
17958 filename="pango/pango-script.h"
17959 line="101">Kharoshthi. Since 1.10</doc>
17960 </member>
17961 <member name="unknown"
17962 value="61"
17963 c:identifier="PANGO_SCRIPT_UNKNOWN"
17964 glib:nick="unknown"
17965 glib:name="PANGO_SCRIPT_UNKNOWN">
17966 <doc xml:space="preserve"
17967 filename="pango/pango-script.h"
17968 line="102">an unassigned code point. Since 1.14</doc>
17969 </member>
17970 <member name="balinese"
17971 value="62"
17972 c:identifier="PANGO_SCRIPT_BALINESE"
17973 glib:nick="balinese"
17974 glib:name="PANGO_SCRIPT_BALINESE">
17975 <doc xml:space="preserve"
17976 filename="pango/pango-script.h"
17977 line="103">Balinese. Since 1.14</doc>
17978 </member>
17979 <member name="cuneiform"
17980 value="63"
17981 c:identifier="PANGO_SCRIPT_CUNEIFORM"
17982 glib:nick="cuneiform"
17983 glib:name="PANGO_SCRIPT_CUNEIFORM">
17984 <doc xml:space="preserve"
17985 filename="pango/pango-script.h"
17986 line="104">Cuneiform. Since 1.14</doc>
17987 </member>
17988 <member name="phoenician"
17989 value="64"
17990 c:identifier="PANGO_SCRIPT_PHOENICIAN"
17991 glib:nick="phoenician"
17992 glib:name="PANGO_SCRIPT_PHOENICIAN">
17993 <doc xml:space="preserve"
17994 filename="pango/pango-script.h"
17995 line="105">Phoenician. Since 1.14</doc>
17996 </member>
17997 <member name="phags_pa"
17998 value="65"
17999 c:identifier="PANGO_SCRIPT_PHAGS_PA"
18000 glib:nick="phags-pa"
18001 glib:name="PANGO_SCRIPT_PHAGS_PA">
18002 <doc xml:space="preserve"
18003 filename="pango/pango-script.h"
18004 line="106">Phags-pa. Since 1.14</doc>
18005 </member>
18006 <member name="nko"
18007 value="66"
18008 c:identifier="PANGO_SCRIPT_NKO"
18009 glib:nick="nko"
18010 glib:name="PANGO_SCRIPT_NKO">
18011 <doc xml:space="preserve"
18012 filename="pango/pango-script.h"
18013 line="107">N'Ko. Since 1.14</doc>
18014 </member>
18015 <member name="kayah_li"
18016 value="67"
18017 c:identifier="PANGO_SCRIPT_KAYAH_LI"
18018 glib:nick="kayah-li"
18019 glib:name="PANGO_SCRIPT_KAYAH_LI">
18020 <doc xml:space="preserve"
18021 filename="pango/pango-script.h"
18022 line="108">Kayah Li. Since 1.20.1</doc>
18023 </member>
18024 <member name="lepcha"
18025 value="68"
18026 c:identifier="PANGO_SCRIPT_LEPCHA"
18027 glib:nick="lepcha"
18028 glib:name="PANGO_SCRIPT_LEPCHA">
18029 <doc xml:space="preserve"
18030 filename="pango/pango-script.h"
18031 line="109">Lepcha. Since 1.20.1</doc>
18032 </member>
18033 <member name="rejang"
18034 value="69"
18035 c:identifier="PANGO_SCRIPT_REJANG"
18036 glib:nick="rejang"
18037 glib:name="PANGO_SCRIPT_REJANG">
18038 <doc xml:space="preserve"
18039 filename="pango/pango-script.h"
18040 line="110">Rejang. Since 1.20.1</doc>
18041 </member>
18042 <member name="sundanese"
18043 value="70"
18044 c:identifier="PANGO_SCRIPT_SUNDANESE"
18045 glib:nick="sundanese"
18046 glib:name="PANGO_SCRIPT_SUNDANESE">
18047 <doc xml:space="preserve"
18048 filename="pango/pango-script.h"
18049 line="111">Sundanese. Since 1.20.1</doc>
18050 </member>
18051 <member name="saurashtra"
18052 value="71"
18053 c:identifier="PANGO_SCRIPT_SAURASHTRA"
18054 glib:nick="saurashtra"
18055 glib:name="PANGO_SCRIPT_SAURASHTRA">
18056 <doc xml:space="preserve"
18057 filename="pango/pango-script.h"
18058 line="112">Saurashtra. Since 1.20.1</doc>
18059 </member>
18060 <member name="cham"
18061 value="72"
18062 c:identifier="PANGO_SCRIPT_CHAM"
18063 glib:nick="cham"
18064 glib:name="PANGO_SCRIPT_CHAM">
18065 <doc xml:space="preserve"
18066 filename="pango/pango-script.h"
18067 line="113">Cham. Since 1.20.1</doc>
18068 </member>
18069 <member name="ol_chiki"
18070 value="73"
18071 c:identifier="PANGO_SCRIPT_OL_CHIKI"
18072 glib:nick="ol-chiki"
18073 glib:name="PANGO_SCRIPT_OL_CHIKI">
18074 <doc xml:space="preserve"
18075 filename="pango/pango-script.h"
18076 line="114">Ol Chiki. Since 1.20.1</doc>
18077 </member>
18078 <member name="vai"
18079 value="74"
18080 c:identifier="PANGO_SCRIPT_VAI"
18081 glib:nick="vai"
18082 glib:name="PANGO_SCRIPT_VAI">
18083 <doc xml:space="preserve"
18084 filename="pango/pango-script.h"
18085 line="115">Vai. Since 1.20.1</doc>
18086 </member>
18087 <member name="carian"
18088 value="75"
18089 c:identifier="PANGO_SCRIPT_CARIAN"
18090 glib:nick="carian"
18091 glib:name="PANGO_SCRIPT_CARIAN">
18092 <doc xml:space="preserve"
18093 filename="pango/pango-script.h"
18094 line="116">Carian. Since 1.20.1</doc>
18095 </member>
18096 <member name="lycian"
18097 value="76"
18098 c:identifier="PANGO_SCRIPT_LYCIAN"
18099 glib:nick="lycian"
18100 glib:name="PANGO_SCRIPT_LYCIAN">
18101 <doc xml:space="preserve"
18102 filename="pango/pango-script.h"
18103 line="117">Lycian. Since 1.20.1</doc>
18104 </member>
18105 <member name="lydian"
18106 value="77"
18107 c:identifier="PANGO_SCRIPT_LYDIAN"
18108 glib:nick="lydian"
18109 glib:name="PANGO_SCRIPT_LYDIAN">
18110 <doc xml:space="preserve"
18111 filename="pango/pango-script.h"
18112 line="118">Lydian. Since 1.20.1</doc>
18113 </member>
18114 <member name="batak"
18115 value="78"
18116 c:identifier="PANGO_SCRIPT_BATAK"
18117 glib:nick="batak"
18118 glib:name="PANGO_SCRIPT_BATAK">
18119 <doc xml:space="preserve"
18120 filename="pango/pango-script.h"
18121 line="119">Batak. Since 1.32</doc>
18122 </member>
18123 <member name="brahmi"
18124 value="79"
18125 c:identifier="PANGO_SCRIPT_BRAHMI"
18126 glib:nick="brahmi"
18127 glib:name="PANGO_SCRIPT_BRAHMI">
18128 <doc xml:space="preserve"
18129 filename="pango/pango-script.h"
18130 line="120">Brahmi. Since 1.32</doc>
18131 </member>
18132 <member name="mandaic"
18133 value="80"
18134 c:identifier="PANGO_SCRIPT_MANDAIC"
18135 glib:nick="mandaic"
18136 glib:name="PANGO_SCRIPT_MANDAIC">
18137 <doc xml:space="preserve"
18138 filename="pango/pango-script.h"
18139 line="121">Mandaic. Since 1.32</doc>
18140 </member>
18141 <member name="chakma"
18142 value="81"
18143 c:identifier="PANGO_SCRIPT_CHAKMA"
18144 glib:nick="chakma"
18145 glib:name="PANGO_SCRIPT_CHAKMA">
18146 <doc xml:space="preserve"
18147 filename="pango/pango-script.h"
18148 line="122">Chakma. Since: 1.32</doc>
18149 </member>
18150 <member name="meroitic_cursive"
18151 value="82"
18152 c:identifier="PANGO_SCRIPT_MEROITIC_CURSIVE"
18153 glib:nick="meroitic-cursive"
18154 glib:name="PANGO_SCRIPT_MEROITIC_CURSIVE">
18155 <doc xml:space="preserve"
18156 filename="pango/pango-script.h"
18157 line="123">Meroitic Cursive. Since: 1.32</doc>
18158 </member>
18159 <member name="meroitic_hieroglyphs"
18160 value="83"
18161 c:identifier="PANGO_SCRIPT_MEROITIC_HIEROGLYPHS"
18162 glib:nick="meroitic-hieroglyphs"
18163 glib:name="PANGO_SCRIPT_MEROITIC_HIEROGLYPHS">
18164 <doc xml:space="preserve"
18165 filename="pango/pango-script.h"
18166 line="124">Meroitic Hieroglyphs. Since: 1.32</doc>
18167 </member>
18168 <member name="miao"
18169 value="84"
18170 c:identifier="PANGO_SCRIPT_MIAO"
18171 glib:nick="miao"
18172 glib:name="PANGO_SCRIPT_MIAO">
18173 <doc xml:space="preserve"
18174 filename="pango/pango-script.h"
18175 line="125">Miao. Since: 1.32</doc>
18176 </member>
18177 <member name="sharada"
18178 value="85"
18179 c:identifier="PANGO_SCRIPT_SHARADA"
18180 glib:nick="sharada"
18181 glib:name="PANGO_SCRIPT_SHARADA">
18182 <doc xml:space="preserve"
18183 filename="pango/pango-script.h"
18184 line="126">Sharada. Since: 1.32</doc>
18185 </member>
18186 <member name="sora_sompeng"
18187 value="86"
18188 c:identifier="PANGO_SCRIPT_SORA_SOMPENG"
18189 glib:nick="sora-sompeng"
18190 glib:name="PANGO_SCRIPT_SORA_SOMPENG">
18191 <doc xml:space="preserve"
18192 filename="pango/pango-script.h"
18193 line="127">Sora Sompeng. Since: 1.32</doc>
18194 </member>
18195 <member name="takri"
18196 value="87"
18197 c:identifier="PANGO_SCRIPT_TAKRI"
18198 glib:nick="takri"
18199 glib:name="PANGO_SCRIPT_TAKRI">
18200 <doc xml:space="preserve"
18201 filename="pango/pango-script.h"
18202 line="128">Takri. Since: 1.32</doc>
18203 </member>
18204 <member name="bassa_vah"
18205 value="88"
18206 c:identifier="PANGO_SCRIPT_BASSA_VAH"
18207 glib:nick="bassa-vah"
18208 glib:name="PANGO_SCRIPT_BASSA_VAH">
18209 <doc xml:space="preserve"
18210 filename="pango/pango-script.h"
18211 line="129">Bassa. Since: 1.40</doc>
18212 </member>
18213 <member name="caucasian_albanian"
18214 value="89"
18215 c:identifier="PANGO_SCRIPT_CAUCASIAN_ALBANIAN"
18216 glib:nick="caucasian-albanian"
18217 glib:name="PANGO_SCRIPT_CAUCASIAN_ALBANIAN">
18218 <doc xml:space="preserve"
18219 filename="pango/pango-script.h"
18220 line="130">Caucasian Albanian. Since: 1.40</doc>
18221 </member>
18222 <member name="duployan"
18223 value="90"
18224 c:identifier="PANGO_SCRIPT_DUPLOYAN"
18225 glib:nick="duployan"
18226 glib:name="PANGO_SCRIPT_DUPLOYAN">
18227 <doc xml:space="preserve"
18228 filename="pango/pango-script.h"
18229 line="131">Duployan. Since: 1.40</doc>
18230 </member>
18231 <member name="elbasan"
18232 value="91"
18233 c:identifier="PANGO_SCRIPT_ELBASAN"
18234 glib:nick="elbasan"
18235 glib:name="PANGO_SCRIPT_ELBASAN">
18236 <doc xml:space="preserve"
18237 filename="pango/pango-script.h"
18238 line="132">Elbasan. Since: 1.40</doc>
18239 </member>
18240 <member name="grantha"
18241 value="92"
18242 c:identifier="PANGO_SCRIPT_GRANTHA"
18243 glib:nick="grantha"
18244 glib:name="PANGO_SCRIPT_GRANTHA">
18245 <doc xml:space="preserve"
18246 filename="pango/pango-script.h"
18247 line="133">Grantha. Since: 1.40</doc>
18248 </member>
18249 <member name="khojki"
18250 value="93"
18251 c:identifier="PANGO_SCRIPT_KHOJKI"
18252 glib:nick="khojki"
18253 glib:name="PANGO_SCRIPT_KHOJKI">
18254 <doc xml:space="preserve"
18255 filename="pango/pango-script.h"
18256 line="134">Kjohki. Since: 1.40</doc>
18257 </member>
18258 <member name="khudawadi"
18259 value="94"
18260 c:identifier="PANGO_SCRIPT_KHUDAWADI"
18261 glib:nick="khudawadi"
18262 glib:name="PANGO_SCRIPT_KHUDAWADI">
18263 <doc xml:space="preserve"
18264 filename="pango/pango-script.h"
18265 line="135">Khudawadi, Sindhi. Since: 1.40</doc>
18266 </member>
18267 <member name="linear_a"
18268 value="95"
18269 c:identifier="PANGO_SCRIPT_LINEAR_A"
18270 glib:nick="linear-a"
18271 glib:name="PANGO_SCRIPT_LINEAR_A">
18272 <doc xml:space="preserve"
18273 filename="pango/pango-script.h"
18274 line="136">Linear A. Since: 1.40</doc>
18275 </member>
18276 <member name="mahajani"
18277 value="96"
18278 c:identifier="PANGO_SCRIPT_MAHAJANI"
18279 glib:nick="mahajani"
18280 glib:name="PANGO_SCRIPT_MAHAJANI">
18281 <doc xml:space="preserve"
18282 filename="pango/pango-script.h"
18283 line="137">Mahajani. Since: 1.40</doc>
18284 </member>
18285 <member name="manichaean"
18286 value="97"
18287 c:identifier="PANGO_SCRIPT_MANICHAEAN"
18288 glib:nick="manichaean"
18289 glib:name="PANGO_SCRIPT_MANICHAEAN">
18290 <doc xml:space="preserve"
18291 filename="pango/pango-script.h"
18292 line="138">Manichaean. Since: 1.40</doc>
18293 </member>
18294 <member name="mende_kikakui"
18295 value="98"
18296 c:identifier="PANGO_SCRIPT_MENDE_KIKAKUI"
18297 glib:nick="mende-kikakui"
18298 glib:name="PANGO_SCRIPT_MENDE_KIKAKUI">
18299 <doc xml:space="preserve"
18300 filename="pango/pango-script.h"
18301 line="139">Mende Kikakui. Since: 1.40</doc>
18302 </member>
18303 <member name="modi"
18304 value="99"
18305 c:identifier="PANGO_SCRIPT_MODI"
18306 glib:nick="modi"
18307 glib:name="PANGO_SCRIPT_MODI">
18308 <doc xml:space="preserve"
18309 filename="pango/pango-script.h"
18310 line="140">Modi. Since: 1.40</doc>
18311 </member>
18312 <member name="mro"
18313 value="100"
18314 c:identifier="PANGO_SCRIPT_MRO"
18315 glib:nick="mro"
18316 glib:name="PANGO_SCRIPT_MRO">
18317 <doc xml:space="preserve"
18318 filename="pango/pango-script.h"
18319 line="141">Mro. Since: 1.40</doc>
18320 </member>
18321 <member name="nabataean"
18322 value="101"
18323 c:identifier="PANGO_SCRIPT_NABATAEAN"
18324 glib:nick="nabataean"
18325 glib:name="PANGO_SCRIPT_NABATAEAN">
18326 <doc xml:space="preserve"
18327 filename="pango/pango-script.h"
18328 line="142">Nabataean. Since: 1.40</doc>
18329 </member>
18330 <member name="old_north_arabian"
18331 value="102"
18332 c:identifier="PANGO_SCRIPT_OLD_NORTH_ARABIAN"
18333 glib:nick="old-north-arabian"
18334 glib:name="PANGO_SCRIPT_OLD_NORTH_ARABIAN">
18335 <doc xml:space="preserve"
18336 filename="pango/pango-script.h"
18337 line="143">Old North Arabian. Since: 1.40</doc>
18338 </member>
18339 <member name="old_permic"
18340 value="103"
18341 c:identifier="PANGO_SCRIPT_OLD_PERMIC"
18342 glib:nick="old-permic"
18343 glib:name="PANGO_SCRIPT_OLD_PERMIC">
18344 <doc xml:space="preserve"
18345 filename="pango/pango-script.h"
18346 line="144">Old Permic. Since: 1.40</doc>
18347 </member>
18348 <member name="pahawh_hmong"
18349 value="104"
18350 c:identifier="PANGO_SCRIPT_PAHAWH_HMONG"
18351 glib:nick="pahawh-hmong"
18352 glib:name="PANGO_SCRIPT_PAHAWH_HMONG">
18353 <doc xml:space="preserve"
18354 filename="pango/pango-script.h"
18355 line="145">Pahawh Hmong. Since: 1.40</doc>
18356 </member>
18357 <member name="palmyrene"
18358 value="105"
18359 c:identifier="PANGO_SCRIPT_PALMYRENE"
18360 glib:nick="palmyrene"
18361 glib:name="PANGO_SCRIPT_PALMYRENE">
18362 <doc xml:space="preserve"
18363 filename="pango/pango-script.h"
18364 line="146">Palmyrene. Since: 1.40</doc>
18365 </member>
18366 <member name="pau_cin_hau"
18367 value="106"
18368 c:identifier="PANGO_SCRIPT_PAU_CIN_HAU"
18369 glib:nick="pau-cin-hau"
18370 glib:name="PANGO_SCRIPT_PAU_CIN_HAU">
18371 <doc xml:space="preserve"
18372 filename="pango/pango-script.h"
18373 line="147">Pau Cin Hau. Since: 1.40</doc>
18374 </member>
18375 <member name="psalter_pahlavi"
18376 value="107"
18377 c:identifier="PANGO_SCRIPT_PSALTER_PAHLAVI"
18378 glib:nick="psalter-pahlavi"
18379 glib:name="PANGO_SCRIPT_PSALTER_PAHLAVI">
18380 <doc xml:space="preserve"
18381 filename="pango/pango-script.h"
18382 line="148">Psalter Pahlavi. Since: 1.40</doc>
18383 </member>
18384 <member name="siddham"
18385 value="108"
18386 c:identifier="PANGO_SCRIPT_SIDDHAM"
18387 glib:nick="siddham"
18388 glib:name="PANGO_SCRIPT_SIDDHAM">
18389 <doc xml:space="preserve"
18390 filename="pango/pango-script.h"
18391 line="149">Siddham. Since: 1.40</doc>
18392 </member>
18393 <member name="tirhuta"
18394 value="109"
18395 c:identifier="PANGO_SCRIPT_TIRHUTA"
18396 glib:nick="tirhuta"
18397 glib:name="PANGO_SCRIPT_TIRHUTA">
18398 <doc xml:space="preserve"
18399 filename="pango/pango-script.h"
18400 line="150">Tirhuta. Since: 1.40</doc>
18401 </member>
18402 <member name="warang_citi"
18403 value="110"
18404 c:identifier="PANGO_SCRIPT_WARANG_CITI"
18405 glib:nick="warang-citi"
18406 glib:name="PANGO_SCRIPT_WARANG_CITI">
18407 <doc xml:space="preserve"
18408 filename="pango/pango-script.h"
18409 line="151">Warang Citi. Since: 1.40</doc>
18410 </member>
18411 <member name="ahom"
18412 value="111"
18413 c:identifier="PANGO_SCRIPT_AHOM"
18414 glib:nick="ahom"
18415 glib:name="PANGO_SCRIPT_AHOM">
18416 <doc xml:space="preserve"
18417 filename="pango/pango-script.h"
18418 line="152">Ahom. Since: 1.40</doc>
18419 </member>
18420 <member name="anatolian_hieroglyphs"
18421 value="112"
18422 c:identifier="PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS"
18423 glib:nick="anatolian-hieroglyphs"
18424 glib:name="PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS">
18425 <doc xml:space="preserve"
18426 filename="pango/pango-script.h"
18427 line="153">Anatolian Hieroglyphs. Since: 1.40</doc>
18428 </member>
18429 <member name="hatran"
18430 value="113"
18431 c:identifier="PANGO_SCRIPT_HATRAN"
18432 glib:nick="hatran"
18433 glib:name="PANGO_SCRIPT_HATRAN">
18434 <doc xml:space="preserve"
18435 filename="pango/pango-script.h"
18436 line="154">Hatran. Since: 1.40</doc>
18437 </member>
18438 <member name="multani"
18439 value="114"
18440 c:identifier="PANGO_SCRIPT_MULTANI"
18441 glib:nick="multani"
18442 glib:name="PANGO_SCRIPT_MULTANI">
18443 <doc xml:space="preserve"
18444 filename="pango/pango-script.h"
18445 line="155">Multani. Since: 1.40</doc>
18446 </member>
18447 <member name="old_hungarian"
18448 value="115"
18449 c:identifier="PANGO_SCRIPT_OLD_HUNGARIAN"
18450 glib:nick="old-hungarian"
18451 glib:name="PANGO_SCRIPT_OLD_HUNGARIAN">
18452 <doc xml:space="preserve"
18453 filename="pango/pango-script.h"
18454 line="156">Old Hungarian. Since: 1.40</doc>
18455 </member>
18456 <member name="signwriting"
18457 value="116"
18458 c:identifier="PANGO_SCRIPT_SIGNWRITING"
18459 glib:nick="signwriting"
18460 glib:name="PANGO_SCRIPT_SIGNWRITING">
18461 <doc xml:space="preserve"
18462 filename="pango/pango-script.h"
18463 line="157">Signwriting. Since: 1.40</doc>
18464 </member>
18465 <function name="for_unichar"
18466 c:identifier="pango_script_for_unichar"
18467 version="1.4"
18468 deprecated="1"
18469 deprecated-version="1.44.">
18470 <doc xml:space="preserve"
18471 filename="pango/pango-script.c"
18472 line="63">Looks up the script for a particular character.
18473
18474The script of a character is defined by
18475[Unicode Standard Annex 24: Script names](http://www.unicode.org/reports/tr24/).
18476
18477No check is made for @ch being a valid Unicode character; if you pass
18478in invalid character, the result is undefined.
18479
18480Note that while the return type of this function is declared
18481as `PangoScript`, as of Pango 1.18, this function simply returns
18482the return value of [func@GLib.unichar_get_script]. Callers must be
18483prepared to handle unknown values.</doc>
18484 <doc-deprecated xml:space="preserve">Use g_unichar_get_script()</doc-deprecated>
18485 <source-position filename="pango/pango-script.h" line="310"/>
18486 <return-value transfer-ownership="none">
18487 <doc xml:space="preserve"
18488 filename="pango/pango-script.c"
18489 line="80">the `PangoScript` for the character.</doc>
18490 <type name="Script" c:type="PangoScript"/>
18491 </return-value>
18492 <parameters>
18493 <parameter name="ch" transfer-ownership="none">
18494 <doc xml:space="preserve"
18495 filename="pango/pango-script.c"
18496 line="65">a Unicode character</doc>
18497 <type name="gunichar" c:type="gunichar"/>
18498 </parameter>
18499 </parameters>
18500 </function>
18501 <function name="get_sample_language"
18502 c:identifier="pango_script_get_sample_language"
18503 version="1.4">
18504 <doc xml:space="preserve"
18505 filename="pango/pango-language.c"
18506 line="869">Finds a language tag that is reasonably representative of @script.
18507
18508The language will usually be the most widely spoken or used language
18509written in that script: for instance, the sample language for
18510%PANGO_SCRIPT_CYRILLIC is ru (Russian), the sample language for
18511%PANGO_SCRIPT_ARABIC is ar.
18512
18513For some scripts, no sample language will be returned because
18514there is no language that is sufficiently representative. The
18515best example of this is %PANGO_SCRIPT_HAN, where various different
18516variants of written Chinese, Japanese, and Korean all use
18517significantly different sets of Han characters and forms
18518of shared characters. No sample language can be provided
18519for many historical scripts as well.
18520
18521As of 1.18, this function checks the environment variables
18522`PANGO_LANGUAGE` and `LANGUAGE` (checked in that order) first.
18523If one of them is set, it is parsed as a list of language tags
18524separated by colons or other separators. This function
18525will return the first language in the parsed list that Pango
18526believes may use @script for writing. This last predicate
18527is tested using [method@Pango.Language.includes_script]. This can
18528be used to control Pango's font selection for non-primary
18529languages. For example, a `PANGO_LANGUAGE` enviroment variable
18530set to "en:fa" makes Pango choose fonts suitable for Persian (fa)
18531instead of Arabic (ar) when a segment of Arabic text is found
18532in an otherwise non-Arabic text. The same trick can be used to
18533choose a default language for %PANGO_SCRIPT_HAN when setting
18534context language is not feasible.</doc>
18535 <source-position filename="pango/pango-script.h" line="331"/>
18536 <return-value transfer-ownership="full" nullable="1">
18537 <doc xml:space="preserve"
18538 filename="pango/pango-language.c"
18539 line="903">a `PangoLanguage` that is representative
18540 of the script</doc>
18541 <type name="Language" c:type="PangoLanguage*"/>
18542 </return-value>
18543 <parameters>
18544 <parameter name="script" transfer-ownership="none">
18545 <doc xml:space="preserve"
18546 filename="pango/pango-language.c"
18547 line="871">a `PangoScript`</doc>
18548 <type name="Script" c:type="PangoScript"/>
18549 </parameter>
18550 </parameters>
18551 </function>
18552 </enumeration>
18553 <record name="ScriptIter"
18554 c:type="PangoScriptIter"
18555 opaque="1"
18556 glib:type-name="PangoScriptIter"
18557 glib:get-type="pango_script_iter_get_type"
18558 c:symbol-prefix="script_iter">
18559 <doc xml:space="preserve"
18560 filename="pango/pango-script.h"
18561 line="29">A `PangoScriptIter` is used to iterate through a string
18562and identify ranges in different scripts.</doc>
18563 <source-position filename="pango/pango-script.h" line="35"/>
18564 <constructor name="new"
18565 c:identifier="pango_script_iter_new"
18566 version="1.4">
18567 <doc xml:space="preserve"
18568 filename="pango/pango-script.c"
18569 line="122">Create a new `PangoScriptIter`, used to break a string of
18570Unicode text into runs by Unicode script.
18571
18572No copy is made of @text, so the caller needs to make
18573sure it remains valid until the iterator is freed with
18574[method@Pango.ScriptIter.free].</doc>
18575 <source-position filename="pango/pango-script.h" line="316"/>
18576 <return-value transfer-ownership="full">
18577 <doc xml:space="preserve"
18578 filename="pango/pango-script.c"
18579 line="134">the new script iterator, initialized
18580 to point at the first range in the text, which should be
18581 freed with [method@Pango.ScriptIter.free]. If the string is
18582 empty, it will point at an empty range.</doc>
18583 <type name="ScriptIter" c:type="PangoScriptIter*"/>
18584 </return-value>
18585 <parameters>
18586 <parameter name="text" transfer-ownership="none">
18587 <doc xml:space="preserve"
18588 filename="pango/pango-script.c"
18589 line="124">a UTF-8 string</doc>
18590 <type name="utf8" c:type="const char*"/>
18591 </parameter>
18592 <parameter name="length" transfer-ownership="none">
18593 <doc xml:space="preserve"
18594 filename="pango/pango-script.c"
18595 line="125">length of @text, or -1 if @text is nul-terminated</doc>
18596 <type name="gint" c:type="int"/>
18597 </parameter>
18598 </parameters>
18599 </constructor>
18600 <method name="free" c:identifier="pango_script_iter_free" version="1.4">
18601 <doc xml:space="preserve"
18602 filename="pango/pango-script.c"
18603 line="159">Frees a `PangoScriptIter`.</doc>
18604 <source-position filename="pango/pango-script.h" line="326"/>
18605 <return-value transfer-ownership="none">
18606 <type name="none" c:type="void"/>
18607 </return-value>
18608 <parameters>
18609 <instance-parameter name="iter" transfer-ownership="none">
18610 <doc xml:space="preserve"
18611 filename="pango/pango-script.c"
18612 line="161">a `PangoScriptIter`</doc>
18613 <type name="ScriptIter" c:type="PangoScriptIter*"/>
18614 </instance-parameter>
18615 </parameters>
18616 </method>
18617 <method name="get_range"
18618 c:identifier="pango_script_iter_get_range"
18619 version="1.4">
18620 <doc xml:space="preserve"
18621 filename="pango/pango-script.c"
18622 line="174">Gets information about the range to which @iter currently points.
18623
18624The range is the set of locations p where *start <= p < *end.
18625(That is, it doesn't include the character stored at *end)
18626
18627Note that while the type of the @script argument is declared
18628as `PangoScript`, as of Pango 1.18, this function simply returns
18629`GUnicodeScript` values. Callers must be prepared to handle unknown
18630values.</doc>
18631 <source-position filename="pango/pango-script.h" line="319"/>
18632 <return-value transfer-ownership="none">
18633 <type name="none" c:type="void"/>
18634 </return-value>
18635 <parameters>
18636 <instance-parameter name="iter" transfer-ownership="none">
18637 <doc xml:space="preserve"
18638 filename="pango/pango-script.c"
18639 line="176">a `PangoScriptIter`</doc>
18640 <type name="ScriptIter" c:type="PangoScriptIter*"/>
18641 </instance-parameter>
18642 <parameter name="start"
18643 direction="out"
18644 caller-allocates="0"
18645 transfer-ownership="none"
18646 optional="1"
18647 allow-none="1">
18648 <doc xml:space="preserve"
18649 filename="pango/pango-script.c"
18650 line="177">location to store start
18651 position of the range</doc>
18652 <type name="utf8" c:type="const char**"/>
18653 </parameter>
18654 <parameter name="end"
18655 direction="out"
18656 caller-allocates="0"
18657 transfer-ownership="none"
18658 optional="1"
18659 allow-none="1">
18660 <doc xml:space="preserve"
18661 filename="pango/pango-script.c"
18662 line="179">location to store end position
18663 of the range</doc>
18664 <type name="utf8" c:type="const char**"/>
18665 </parameter>
18666 <parameter name="script"
18667 direction="out"
18668 caller-allocates="0"
18669 transfer-ownership="full"
18670 optional="1"
18671 allow-none="1">
18672 <doc xml:space="preserve"
18673 filename="pango/pango-script.c"
18674 line="181">location to store script for range</doc>
18675 <type name="Script" c:type="PangoScript*"/>
18676 </parameter>
18677 </parameters>
18678 </method>
18679 <method name="next" c:identifier="pango_script_iter_next" version="1.4">
18680 <doc xml:space="preserve"
18681 filename="pango/pango-script.c"
18682 line="317">Advances a `PangoScriptIter` to the next range.
18683
18684If @iter is already at the end, it is left unchanged
18685and %FALSE is returned.</doc>
18686 <source-position filename="pango/pango-script.h" line="324"/>
18687 <return-value transfer-ownership="none">
18688 <doc xml:space="preserve"
18689 filename="pango/pango-script.c"
18690 line="326">%TRUE if @iter was successfully advanced</doc>
18691 <type name="gboolean" c:type="gboolean"/>
18692 </return-value>
18693 <parameters>
18694 <instance-parameter name="iter" transfer-ownership="none">
18695 <doc xml:space="preserve"
18696 filename="pango/pango-script.c"
18697 line="319">a `PangoScriptIter`</doc>
18698 <type name="ScriptIter" c:type="PangoScriptIter*"/>
18699 </instance-parameter>
18700 </parameters>
18701 </method>
18702 </record>
18703 <bitfield name="ShapeFlags"
18704 version="1.44"
18705 glib:type-name="PangoShapeFlags"
18706 glib:get-type="pango_shape_flags_get_type"
18707 c:type="PangoShapeFlags">
18708 <doc xml:space="preserve"
18709 filename="pango/pango-glyph.h"
18710 line="218">Flags influencing the shaping process.
18711
18712`PangoShapeFlags` can be passed to [func@Pango.shape_with_flags].</doc>
18713 <member name="none"
18714 value="0"
18715 c:identifier="PANGO_SHAPE_NONE"
18716 glib:nick="none"
18717 glib:name="PANGO_SHAPE_NONE">
18718 <doc xml:space="preserve"
18719 filename="pango/pango-glyph.h"
18720 line="220">Default value</doc>
18721 </member>
18722 <member name="round_positions"
18723 value="1"
18724 c:identifier="PANGO_SHAPE_ROUND_POSITIONS"
18725 glib:nick="round-positions"
18726 glib:name="PANGO_SHAPE_ROUND_POSITIONS">
18727 <doc xml:space="preserve"
18728 filename="pango/pango-glyph.h"
18729 line="221">Round glyph positions and widths to whole device units
18730 This option should be set if the target renderer can't do subpixel positioning of glyphs</doc>
18731 </member>
18732 </bitfield>
18733 <bitfield name="ShowFlags"
18734 version="1.44"
18735 glib:type-name="PangoShowFlags"
18736 glib:get-type="pango_show_flags_get_type"
18737 c:type="PangoShowFlags">
18738 <doc xml:space="preserve"
18739 filename="pango/pango-attributes.h"
18740 line="194">These flags affect how Pango treats characters that are normally
18741not visible in the output.</doc>
18742 <member name="none"
18743 value="0"
18744 c:identifier="PANGO_SHOW_NONE"
18745 glib:nick="none"
18746 glib:name="PANGO_SHOW_NONE">
18747 <doc xml:space="preserve"
18748 filename="pango/pango-attributes.h"
18749 line="196">No special treatment for invisible characters</doc>
18750 </member>
18751 <member name="spaces"
18752 value="1"
18753 c:identifier="PANGO_SHOW_SPACES"
18754 glib:nick="spaces"
18755 glib:name="PANGO_SHOW_SPACES">
18756 <doc xml:space="preserve"
18757 filename="pango/pango-attributes.h"
18758 line="197">Render spaces, tabs and newlines visibly</doc>
18759 </member>
18760 <member name="line_breaks"
18761 value="2"
18762 c:identifier="PANGO_SHOW_LINE_BREAKS"
18763 glib:nick="line-breaks"
18764 glib:name="PANGO_SHOW_LINE_BREAKS">
18765 <doc xml:space="preserve"
18766 filename="pango/pango-attributes.h"
18767 line="198">Render line breaks visibly</doc>
18768 </member>
18769 <member name="ignorables"
18770 value="4"
18771 c:identifier="PANGO_SHOW_IGNORABLES"
18772 glib:nick="ignorables"
18773 glib:name="PANGO_SHOW_IGNORABLES">
18774 <doc xml:space="preserve"
18775 filename="pango/pango-attributes.h"
18776 line="199">Render default-ignorable Unicode
18777 characters visibly</doc>
18778 </member>
18779 </bitfield>
18780 <enumeration name="Stretch"
18781 glib:type-name="PangoStretch"
18782 glib:get-type="pango_stretch_get_type"
18783 c:type="PangoStretch">
18784 <doc xml:space="preserve"
18785 filename="pango/pango-font.h"
18786 line="145">An enumeration specifying the width of the font relative to other designs
18787within a family.</doc>
18788 <member name="ultra_condensed"
18789 value="0"
18790 c:identifier="PANGO_STRETCH_ULTRA_CONDENSED"
18791 glib:nick="ultra-condensed"
18792 glib:name="PANGO_STRETCH_ULTRA_CONDENSED">
18793 <doc xml:space="preserve"
18794 filename="pango/pango-font.h"
18795 line="147">ultra condensed width</doc>
18796 </member>
18797 <member name="extra_condensed"
18798 value="1"
18799 c:identifier="PANGO_STRETCH_EXTRA_CONDENSED"
18800 glib:nick="extra-condensed"
18801 glib:name="PANGO_STRETCH_EXTRA_CONDENSED">
18802 <doc xml:space="preserve"
18803 filename="pango/pango-font.h"
18804 line="148">extra condensed width</doc>
18805 </member>
18806 <member name="condensed"
18807 value="2"
18808 c:identifier="PANGO_STRETCH_CONDENSED"
18809 glib:nick="condensed"
18810 glib:name="PANGO_STRETCH_CONDENSED">
18811 <doc xml:space="preserve"
18812 filename="pango/pango-font.h"
18813 line="149">condensed width</doc>
18814 </member>
18815 <member name="semi_condensed"
18816 value="3"
18817 c:identifier="PANGO_STRETCH_SEMI_CONDENSED"
18818 glib:nick="semi-condensed"
18819 glib:name="PANGO_STRETCH_SEMI_CONDENSED">
18820 <doc xml:space="preserve"
18821 filename="pango/pango-font.h"
18822 line="150">semi condensed width</doc>
18823 </member>
18824 <member name="normal"
18825 value="4"
18826 c:identifier="PANGO_STRETCH_NORMAL"
18827 glib:nick="normal"
18828 glib:name="PANGO_STRETCH_NORMAL">
18829 <doc xml:space="preserve"
18830 filename="pango/pango-font.h"
18831 line="151">the normal width</doc>
18832 </member>
18833 <member name="semi_expanded"
18834 value="5"
18835 c:identifier="PANGO_STRETCH_SEMI_EXPANDED"
18836 glib:nick="semi-expanded"
18837 glib:name="PANGO_STRETCH_SEMI_EXPANDED">
18838 <doc xml:space="preserve"
18839 filename="pango/pango-font.h"
18840 line="152">semi expanded width</doc>
18841 </member>
18842 <member name="expanded"
18843 value="6"
18844 c:identifier="PANGO_STRETCH_EXPANDED"
18845 glib:nick="expanded"
18846 glib:name="PANGO_STRETCH_EXPANDED">
18847 <doc xml:space="preserve"
18848 filename="pango/pango-font.h"
18849 line="153">expanded width</doc>
18850 </member>
18851 <member name="extra_expanded"
18852 value="7"
18853 c:identifier="PANGO_STRETCH_EXTRA_EXPANDED"
18854 glib:nick="extra-expanded"
18855 glib:name="PANGO_STRETCH_EXTRA_EXPANDED">
18856 <doc xml:space="preserve"
18857 filename="pango/pango-font.h"
18858 line="154">extra expanded width</doc>
18859 </member>
18860 <member name="ultra_expanded"
18861 value="8"
18862 c:identifier="PANGO_STRETCH_ULTRA_EXPANDED"
18863 glib:nick="ultra-expanded"
18864 glib:name="PANGO_STRETCH_ULTRA_EXPANDED">
18865 <doc xml:space="preserve"
18866 filename="pango/pango-font.h"
18867 line="155">ultra expanded width</doc>
18868 </member>
18869 </enumeration>
18870 <enumeration name="Style"
18871 glib:type-name="PangoStyle"
18872 glib:get-type="pango_style_get_type"
18873 c:type="PangoStyle">
18874 <doc xml:space="preserve"
18875 filename="pango/pango-font.h"
18876 line="66">An enumeration specifying the various slant styles possible for a font.</doc>
18877 <member name="normal"
18878 value="0"
18879 c:identifier="PANGO_STYLE_NORMAL"
18880 glib:nick="normal"
18881 glib:name="PANGO_STYLE_NORMAL">
18882 <doc xml:space="preserve"
18883 filename="pango/pango-font.h"
18884 line="68">the font is upright.</doc>
18885 </member>
18886 <member name="oblique"
18887 value="1"
18888 c:identifier="PANGO_STYLE_OBLIQUE"
18889 glib:nick="oblique"
18890 glib:name="PANGO_STYLE_OBLIQUE">
18891 <doc xml:space="preserve"
18892 filename="pango/pango-font.h"
18893 line="69">the font is slanted, but in a roman style.</doc>
18894 </member>
18895 <member name="italic"
18896 value="2"
18897 c:identifier="PANGO_STYLE_ITALIC"
18898 glib:nick="italic"
18899 glib:name="PANGO_STYLE_ITALIC">
18900 <doc xml:space="preserve"
18901 filename="pango/pango-font.h"
18902 line="70">the font is slanted in an italic style.</doc>
18903 </member>
18904 </enumeration>
18905 <enumeration name="TabAlign"
18906 glib:type-name="PangoTabAlign"
18907 glib:get-type="pango_tab_align_get_type"
18908 c:type="PangoTabAlign">
18909 <doc xml:space="preserve"
18910 filename="pango/pango-tabs.h"
18911 line="31">`PangoTabAlign` specifies where the text appears relative to the tab stop
18912position.</doc>
18913 <member name="left"
18914 value="0"
18915 c:identifier="PANGO_TAB_LEFT"
18916 glib:nick="left"
18917 glib:name="PANGO_TAB_LEFT">
18918 <doc xml:space="preserve"
18919 filename="pango/pango-tabs.h"
18920 line="33">the text appears to the right of the tab stop position</doc>
18921 </member>
18922 <member name="right"
18923 value="1"
18924 c:identifier="PANGO_TAB_RIGHT"
18925 glib:nick="right"
18926 glib:name="PANGO_TAB_RIGHT">
18927 <doc xml:space="preserve"
18928 filename="pango/pango-tabs.h"
18929 line="34">the text appears to the left of the tab stop position
18930 until the available space is filled. Since: 1.50</doc>
18931 </member>
18932 <member name="center"
18933 value="2"
18934 c:identifier="PANGO_TAB_CENTER"
18935 glib:nick="center"
18936 glib:name="PANGO_TAB_CENTER">
18937 <doc xml:space="preserve"
18938 filename="pango/pango-tabs.h"
18939 line="36">the text is centered at the tab stop position
18940 until the available space is filled. Since: 1.50</doc>
18941 </member>
18942 <member name="decimal"
18943 value="3"
18944 c:identifier="PANGO_TAB_DECIMAL"
18945 glib:nick="decimal"
18946 glib:name="PANGO_TAB_DECIMAL">
18947 <doc xml:space="preserve"
18948 filename="pango/pango-tabs.h"
18949 line="38">text before the first occurrence of the decimal point
18950 character appears to the left of the tab stop position (until the available
18951 space is filled), the rest to the right. Since: 1.50</doc>
18952 </member>
18953 </enumeration>
18954 <record name="TabArray"
18955 c:type="PangoTabArray"
18956 opaque="1"
18957 glib:type-name="PangoTabArray"
18958 glib:get-type="pango_tab_array_get_type"
18959 c:symbol-prefix="tab_array">
18960 <doc xml:space="preserve"
18961 filename="pango/pango-tabs.c"
18962 line="37">A `PangoTabArray` contains an array of tab stops.
18963
18964`PangoTabArray` can be used to set tab stops in a `PangoLayout`.
18965Each tab stop has an alignment, a position, and optionally
18966a character to use as decimal point.</doc>
18967 <source-position filename="pango/pango-tabs.h" line="29"/>
18968 <constructor name="new" c:identifier="pango_tab_array_new">
18969 <doc xml:space="preserve"
18970 filename="pango/pango-tabs.c"
18971 line="66">Creates an array of @initial_size tab stops.
18972
18973Tab stops are specified in pixel units if @positions_in_pixels is %TRUE,
18974otherwise in Pango units. All stops are initially at position 0.</doc>
18975 <source-position filename="pango/pango-tabs.h" line="56"/>
18976 <return-value transfer-ownership="full">
18977 <doc xml:space="preserve"
18978 filename="pango/pango-tabs.c"
18979 line="76">the newly allocated `PangoTabArray`, which should
18980 be freed with [method@Pango.TabArray.free].</doc>
18981 <type name="TabArray" c:type="PangoTabArray*"/>
18982 </return-value>
18983 <parameters>
18984 <parameter name="initial_size" transfer-ownership="none">
18985 <doc xml:space="preserve"
18986 filename="pango/pango-tabs.c"
18987 line="68">Initial number of tab stops to allocate, can be 0</doc>
18988 <type name="gint" c:type="gint"/>
18989 </parameter>
18990 <parameter name="positions_in_pixels" transfer-ownership="none">
18991 <doc xml:space="preserve"
18992 filename="pango/pango-tabs.c"
18993 line="69">whether positions are in pixel units</doc>
18994 <type name="gboolean" c:type="gboolean"/>
18995 </parameter>
18996 </parameters>
18997 </constructor>
18998 <constructor name="new_with_positions"
18999 c:identifier="pango_tab_array_new_with_positions"
19000 introspectable="0">
19001 <doc xml:space="preserve"
19002 filename="pango/pango-tabs.c"
19003 line="108">Creates a `PangoTabArray` and allows you to specify the alignment
19004and position of each tab stop.
19005
19006You **must** provide an alignment and position for @size tab stops.</doc>
19007 <source-position filename="pango/pango-tabs.h" line="59"/>
19008 <return-value transfer-ownership="full">
19009 <doc xml:space="preserve"
19010 filename="pango/pango-tabs.c"
19011 line="121">the newly allocated `PangoTabArray`, which should
19012 be freed with [method@Pango.TabArray.free].</doc>
19013 <type name="TabArray" c:type="PangoTabArray*"/>
19014 </return-value>
19015 <parameters>
19016 <parameter name="size" transfer-ownership="none">
19017 <doc xml:space="preserve"
19018 filename="pango/pango-tabs.c"
19019 line="110">number of tab stops in the array</doc>
19020 <type name="gint" c:type="gint"/>
19021 </parameter>
19022 <parameter name="positions_in_pixels" transfer-ownership="none">
19023 <doc xml:space="preserve"
19024 filename="pango/pango-tabs.c"
19025 line="111">whether positions are in pixel units</doc>
19026 <type name="gboolean" c:type="gboolean"/>
19027 </parameter>
19028 <parameter name="first_alignment" transfer-ownership="none">
19029 <doc xml:space="preserve"
19030 filename="pango/pango-tabs.c"
19031 line="112">alignment of first tab stop</doc>
19032 <type name="TabAlign" c:type="PangoTabAlign"/>
19033 </parameter>
19034 <parameter name="first_position" transfer-ownership="none">
19035 <doc xml:space="preserve"
19036 filename="pango/pango-tabs.c"
19037 line="113">position of first tab stop</doc>
19038 <type name="gint" c:type="gint"/>
19039 </parameter>
19040 <parameter name="..." transfer-ownership="none">
19041 <doc xml:space="preserve"
19042 filename="pango/pango-tabs.c"
19043 line="114">additional alignment/position pairs</doc>
19044 <varargs/>
19045 </parameter>
19046 </parameters>
19047 </constructor>
19048 <method name="copy" c:identifier="pango_tab_array_copy">
19049 <doc xml:space="preserve"
19050 filename="pango/pango-tabs.c"
19051 line="173">Copies a `PangoTabArray`.</doc>
19052 <source-position filename="pango/pango-tabs.h" line="67"/>
19053 <return-value transfer-ownership="full">
19054 <doc xml:space="preserve"
19055 filename="pango/pango-tabs.c"
19056 line="179">the newly allocated `PangoTabArray`, which should
19057 be freed with [method@Pango.TabArray.free].</doc>
19058 <type name="TabArray" c:type="PangoTabArray*"/>
19059 </return-value>
19060 <parameters>
19061 <instance-parameter name="src" transfer-ownership="none">
19062 <doc xml:space="preserve"
19063 filename="pango/pango-tabs.c"
19064 line="175">`PangoTabArray` to copy</doc>
19065 <type name="TabArray" c:type="PangoTabArray*"/>
19066 </instance-parameter>
19067 </parameters>
19068 </method>
19069 <method name="free" c:identifier="pango_tab_array_free">
19070 <doc xml:space="preserve"
19071 filename="pango/pango-tabs.c"
19072 line="197">Frees a tab array and associated resources.</doc>
19073 <source-position filename="pango/pango-tabs.h" line="69"/>
19074 <return-value transfer-ownership="none">
19075 <type name="none" c:type="void"/>
19076 </return-value>
19077 <parameters>
19078 <instance-parameter name="tab_array" transfer-ownership="none">
19079 <doc xml:space="preserve"
19080 filename="pango/pango-tabs.c"
19081 line="199">a `PangoTabArray`</doc>
19082 <type name="TabArray" c:type="PangoTabArray*"/>
19083 </instance-parameter>
19084 </parameters>
19085 </method>
19086 <method name="get_decimal_point"
19087 c:identifier="pango_tab_array_get_decimal_point"
19088 version="1.50">
19089 <doc xml:space="preserve"
19090 filename="pango/pango-tabs.c"
19091 line="589">Gets the Unicode character to use as decimal point.
19092
19093This is only relevant for tabs with %PANGO_TAB_DECIMAL alignment,
19094which align content at the first occurrence of the decimal point
19095character.
19096
19097The default value of 0 means that Pango will use the
19098decimal point according to the current locale.</doc>
19099 <source-position filename="pango/pango-tabs.h" line="107"/>
19100 <return-value transfer-ownership="none">
19101 <type name="gunichar" c:type="gunichar"/>
19102 </return-value>
19103 <parameters>
19104 <instance-parameter name="tab_array" transfer-ownership="none">
19105 <doc xml:space="preserve"
19106 filename="pango/pango-tabs.c"
19107 line="591">a `PangoTabArray`</doc>
19108 <type name="TabArray" c:type="PangoTabArray*"/>
19109 </instance-parameter>
19110 <parameter name="tab_index" transfer-ownership="none">
19111 <doc xml:space="preserve"
19112 filename="pango/pango-tabs.c"
19113 line="592">the index of a tab stop</doc>
19114 <type name="gint" c:type="int"/>
19115 </parameter>
19116 </parameters>
19117 </method>
19118 <method name="get_positions_in_pixels"
19119 c:identifier="pango_tab_array_get_positions_in_pixels">
19120 <doc xml:space="preserve"
19121 filename="pango/pango-tabs.c"
19122 line="356">Returns %TRUE if the tab positions are in pixels,
19123%FALSE if they are in Pango units.</doc>
19124 <source-position filename="pango/pango-tabs.h" line="91"/>
19125 <return-value transfer-ownership="none">
19126 <doc xml:space="preserve"
19127 filename="pango/pango-tabs.c"
19128 line="363">whether positions are in pixels.</doc>
19129 <type name="gboolean" c:type="gboolean"/>
19130 </return-value>
19131 <parameters>
19132 <instance-parameter name="tab_array" transfer-ownership="none">
19133 <doc xml:space="preserve"
19134 filename="pango/pango-tabs.c"
19135 line="358">a `PangoTabArray`</doc>
19136 <type name="TabArray" c:type="PangoTabArray*"/>
19137 </instance-parameter>
19138 </parameters>
19139 </method>
19140 <method name="get_size" c:identifier="pango_tab_array_get_size">
19141 <doc xml:space="preserve"
19142 filename="pango/pango-tabs.c"
19143 line="213">Gets the number of tab stops in @tab_array.</doc>
19144 <source-position filename="pango/pango-tabs.h" line="71"/>
19145 <return-value transfer-ownership="none">
19146 <doc xml:space="preserve"
19147 filename="pango/pango-tabs.c"
19148 line="219">the number of tab stops in the array.</doc>
19149 <type name="gint" c:type="gint"/>
19150 </return-value>
19151 <parameters>
19152 <instance-parameter name="tab_array" transfer-ownership="none">
19153 <doc xml:space="preserve"
19154 filename="pango/pango-tabs.c"
19155 line="215">a `PangoTabArray`</doc>
19156 <type name="TabArray" c:type="PangoTabArray*"/>
19157 </instance-parameter>
19158 </parameters>
19159 </method>
19160 <method name="get_tab" c:identifier="pango_tab_array_get_tab">
19161 <doc xml:space="preserve"
19162 filename="pango/pango-tabs.c"
19163 line="289">Gets the alignment and position of a tab stop.</doc>
19164 <source-position filename="pango/pango-tabs.h" line="81"/>
19165 <return-value transfer-ownership="none">
19166 <type name="none" c:type="void"/>
19167 </return-value>
19168 <parameters>
19169 <instance-parameter name="tab_array" transfer-ownership="none">
19170 <doc xml:space="preserve"
19171 filename="pango/pango-tabs.c"
19172 line="291">a `PangoTabArray`</doc>
19173 <type name="TabArray" c:type="PangoTabArray*"/>
19174 </instance-parameter>
19175 <parameter name="tab_index" transfer-ownership="none">
19176 <doc xml:space="preserve"
19177 filename="pango/pango-tabs.c"
19178 line="292">tab stop index</doc>
19179 <type name="gint" c:type="gint"/>
19180 </parameter>
19181 <parameter name="alignment"
19182 direction="out"
19183 caller-allocates="0"
19184 transfer-ownership="full"
19185 optional="1"
19186 allow-none="1">
19187 <doc xml:space="preserve"
19188 filename="pango/pango-tabs.c"
19189 line="293">location to store alignment</doc>
19190 <type name="TabAlign" c:type="PangoTabAlign*"/>
19191 </parameter>
19192 <parameter name="location"
19193 direction="out"
19194 caller-allocates="0"
19195 transfer-ownership="full"
19196 optional="1"
19197 allow-none="1">
19198 <doc xml:space="preserve"
19199 filename="pango/pango-tabs.c"
19200 line="294">location to store tab position</doc>
19201 <type name="gint" c:type="gint*"/>
19202 </parameter>
19203 </parameters>
19204 </method>
19205 <method name="get_tabs" c:identifier="pango_tab_array_get_tabs">
19206 <doc xml:space="preserve"
19207 filename="pango/pango-tabs.c"
19208 line="315">If non-%NULL, @alignments and @locations are filled with allocated
19209arrays.
19210
19211The arrays are of length [method@Pango.TabArray.get_size].
19212You must free the returned array.</doc>
19213 <source-position filename="pango/pango-tabs.h" line="86"/>
19214 <return-value transfer-ownership="none">
19215 <type name="none" c:type="void"/>
19216 </return-value>
19217 <parameters>
19218 <instance-parameter name="tab_array" transfer-ownership="none">
19219 <doc xml:space="preserve"
19220 filename="pango/pango-tabs.c"
19221 line="317">a `PangoTabArray`</doc>
19222 <type name="TabArray" c:type="PangoTabArray*"/>
19223 </instance-parameter>
19224 <parameter name="alignments"
19225 direction="out"
19226 caller-allocates="0"
19227 transfer-ownership="full"
19228 optional="1"
19229 allow-none="1">
19230 <doc xml:space="preserve"
19231 filename="pango/pango-tabs.c"
19232 line="318">location to store an array of tab
19233 stop alignments</doc>
19234 <type name="TabAlign" c:type="PangoTabAlign**"/>
19235 </parameter>
19236 <parameter name="locations"
19237 direction="out"
19238 caller-allocates="0"
19239 transfer-ownership="full"
19240 optional="1"
19241 allow-none="1">
19242 <doc xml:space="preserve"
19243 filename="pango/pango-tabs.c"
19244 line="320">location to store an array
19245 of tab positions</doc>
19246 <array zero-terminated="0" c:type="gint**">
19247 <type name="gint" c:type="gint*"/>
19248 </array>
19249 </parameter>
19250 </parameters>
19251 </method>
19252 <method name="resize" c:identifier="pango_tab_array_resize">
19253 <doc xml:space="preserve"
19254 filename="pango/pango-tabs.c"
19255 line="229">Resizes a tab array.
19256
19257You must subsequently initialize any tabs
19258that were added as a result of growing the array.</doc>
19259 <source-position filename="pango/pango-tabs.h" line="73"/>
19260 <return-value transfer-ownership="none">
19261 <type name="none" c:type="void"/>
19262 </return-value>
19263 <parameters>
19264 <instance-parameter name="tab_array" transfer-ownership="none">
19265 <doc xml:space="preserve"
19266 filename="pango/pango-tabs.c"
19267 line="231">a `PangoTabArray`</doc>
19268 <type name="TabArray" c:type="PangoTabArray*"/>
19269 </instance-parameter>
19270 <parameter name="new_size" transfer-ownership="none">
19271 <doc xml:space="preserve"
19272 filename="pango/pango-tabs.c"
19273 line="232">new size of the array</doc>
19274 <type name="gint" c:type="gint"/>
19275 </parameter>
19276 </parameters>
19277 </method>
19278 <method name="set_decimal_point"
19279 c:identifier="pango_tab_array_set_decimal_point"
19280 version="1.50">
19281 <doc xml:space="preserve"
19282 filename="pango/pango-tabs.c"
19283 line="558">Sets the Unicode character to use as decimal point.
19284
19285This is only relevant for tabs with %PANGO_TAB_DECIMAL alignment,
19286which align content at the first occurrence of the decimal point
19287character.
19288
19289By default, Pango uses the decimal point according
19290to the current locale.</doc>
19291 <source-position filename="pango/pango-tabs.h" line="103"/>
19292 <return-value transfer-ownership="none">
19293 <type name="none" c:type="void"/>
19294 </return-value>
19295 <parameters>
19296 <instance-parameter name="tab_array" transfer-ownership="none">
19297 <doc xml:space="preserve"
19298 filename="pango/pango-tabs.c"
19299 line="560">a `PangoTabArray`</doc>
19300 <type name="TabArray" c:type="PangoTabArray*"/>
19301 </instance-parameter>
19302 <parameter name="tab_index" transfer-ownership="none">
19303 <doc xml:space="preserve"
19304 filename="pango/pango-tabs.c"
19305 line="561">the index of a tab stop</doc>
19306 <type name="gint" c:type="int"/>
19307 </parameter>
19308 <parameter name="decimal_point" transfer-ownership="none">
19309 <doc xml:space="preserve"
19310 filename="pango/pango-tabs.c"
19311 line="562">the decimal point to use</doc>
19312 <type name="gunichar" c:type="gunichar"/>
19313 </parameter>
19314 </parameters>
19315 </method>
19316 <method name="set_positions_in_pixels"
19317 c:identifier="pango_tab_array_set_positions_in_pixels"
19318 version="1.50">
19319 <doc xml:space="preserve"
19320 filename="pango/pango-tabs.c"
19321 line="373">Sets whether positions in this array are specified in
19322pixels.</doc>
19323 <source-position filename="pango/pango-tabs.h" line="94"/>
19324 <return-value transfer-ownership="none">
19325 <type name="none" c:type="void"/>
19326 </return-value>
19327 <parameters>
19328 <instance-parameter name="tab_array" transfer-ownership="none">
19329 <doc xml:space="preserve"
19330 filename="pango/pango-tabs.c"
19331 line="375">a `PangoTabArray`</doc>
19332 <type name="TabArray" c:type="PangoTabArray*"/>
19333 </instance-parameter>
19334 <parameter name="positions_in_pixels" transfer-ownership="none">
19335 <doc xml:space="preserve"
19336 filename="pango/pango-tabs.c"
19337 line="376">whether positions are in pixels</doc>
19338 <type name="gboolean" c:type="gboolean"/>
19339 </parameter>
19340 </parameters>
19341 </method>
19342 <method name="set_tab" c:identifier="pango_tab_array_set_tab">
19343 <doc xml:space="preserve"
19344 filename="pango/pango-tabs.c"
19345 line="263">Sets the alignment and location of a tab stop.</doc>
19346 <source-position filename="pango/pango-tabs.h" line="76"/>
19347 <return-value transfer-ownership="none">
19348 <type name="none" c:type="void"/>
19349 </return-value>
19350 <parameters>
19351 <instance-parameter name="tab_array" transfer-ownership="none">
19352 <doc xml:space="preserve"
19353 filename="pango/pango-tabs.c"
19354 line="265">a `PangoTabArray`</doc>
19355 <type name="TabArray" c:type="PangoTabArray*"/>
19356 </instance-parameter>
19357 <parameter name="tab_index" transfer-ownership="none">
19358 <doc xml:space="preserve"
19359 filename="pango/pango-tabs.c"
19360 line="266">the index of a tab stop</doc>
19361 <type name="gint" c:type="gint"/>
19362 </parameter>
19363 <parameter name="alignment" transfer-ownership="none">
19364 <doc xml:space="preserve"
19365 filename="pango/pango-tabs.c"
19366 line="267">tab alignment</doc>
19367 <type name="TabAlign" c:type="PangoTabAlign"/>
19368 </parameter>
19369 <parameter name="location" transfer-ownership="none">
19370 <doc xml:space="preserve"
19371 filename="pango/pango-tabs.c"
19372 line="268">tab location in Pango units</doc>
19373 <type name="gint" c:type="gint"/>
19374 </parameter>
19375 </parameters>
19376 </method>
19377 <method name="sort" c:identifier="pango_tab_array_sort" version="1.50">
19378 <doc xml:space="preserve"
19379 filename="pango/pango-tabs.c"
19380 line="625">Utility function to ensure that the tab stops are in increasing order.</doc>
19381 <source-position filename="pango/pango-tabs.h" line="111"/>
19382 <return-value transfer-ownership="none">
19383 <type name="none" c:type="void"/>
19384 </return-value>
19385 <parameters>
19386 <instance-parameter name="tab_array" transfer-ownership="none">
19387 <doc xml:space="preserve"
19388 filename="pango/pango-tabs.c"
19389 line="627">a `PangoTabArray`</doc>
19390 <type name="TabArray" c:type="PangoTabArray*"/>
19391 </instance-parameter>
19392 </parameters>
19393 </method>
19394 <method name="to_string"
19395 c:identifier="pango_tab_array_to_string"
19396 version="1.50">
19397 <doc xml:space="preserve"
19398 filename="pango/pango-tabs.c"
19399 line="392">Serializes a `PangoTabArray` to a string.
19400
19401In the resulting string, serialized tabs are separated by newlines or commas.
19402
19403Individual tabs are serialized to a string of the form
19404
19405 [ALIGNMENT:]POSITION[:DECIMAL_POINT]
19406
19407Where ALIGNMENT is one of _left_, _right_, _center_ or _decimal_, and
19408POSITION is the position of the tab, optionally followed by the unit _px_.
19409If ALIGNMENT is omitted, it defaults to _left_. If ALIGNMENT is _decimal_,
19410the DECIMAL_POINT character may be specified as a Unicode codepoint.
19411
19412Note that all tabs in the array must use the same unit.
19413
19414A typical example:
19415
19416 100px 200px center:300px right:400px</doc>
19417 <source-position filename="pango/pango-tabs.h" line="98"/>
19418 <return-value transfer-ownership="full">
19419 <doc xml:space="preserve"
19420 filename="pango/pango-tabs.c"
19421 line="416">a newly allocated string</doc>
19422 <type name="utf8" c:type="char*"/>
19423 </return-value>
19424 <parameters>
19425 <instance-parameter name="tab_array" transfer-ownership="none">
19426 <doc xml:space="preserve"
19427 filename="pango/pango-tabs.c"
19428 line="394">a `PangoTabArray`</doc>
19429 <type name="TabArray" c:type="PangoTabArray*"/>
19430 </instance-parameter>
19431 </parameters>
19432 </method>
19433 <function name="from_string"
19434 c:identifier="pango_tab_array_from_string"
19435 version="1.50">
19436 <doc xml:space="preserve"
19437 filename="pango/pango-tabs.c"
19438 line="458">Deserializes a `PangoTabArray` from a string.
19439
19440This is the counterpart to [method@Pango.TabArray.to_string].
19441See that functions for details about the format.</doc>
19442 <source-position filename="pango/pango-tabs.h" line="100"/>
19443 <return-value transfer-ownership="full" nullable="1">
19444 <doc xml:space="preserve"
19445 filename="pango/pango-tabs.c"
19446 line="467">a new `PangoTabArray`</doc>
19447 <type name="TabArray" c:type="PangoTabArray*"/>
19448 </return-value>
19449 <parameters>
19450 <parameter name="text" transfer-ownership="none">
19451 <doc xml:space="preserve"
19452 filename="pango/pango-tabs.c"
19453 line="460">a string</doc>
19454 <type name="utf8" c:type="const char*"/>
19455 </parameter>
19456 </parameters>
19457 </function>
19458 </record>
19459 <enumeration name="TextTransform"
19460 version="1.50"
19461 glib:type-name="PangoTextTransform"
19462 glib:get-type="pango_text_transform_get_type"
19463 c:type="PangoTextTransform">
19464 <doc xml:space="preserve"
19465 filename="pango/pango-attributes.h"
19466 line="214">An enumeration that affects how Pango treats characters during shaping.</doc>
19467 <member name="none"
19468 value="0"
19469 c:identifier="PANGO_TEXT_TRANSFORM_NONE"
19470 glib:nick="none"
19471 glib:name="PANGO_TEXT_TRANSFORM_NONE">
19472 <doc xml:space="preserve"
19473 filename="pango/pango-attributes.h"
19474 line="216">Leave text unchanged</doc>
19475 </member>
19476 <member name="lowercase"
19477 value="1"
19478 c:identifier="PANGO_TEXT_TRANSFORM_LOWERCASE"
19479 glib:nick="lowercase"
19480 glib:name="PANGO_TEXT_TRANSFORM_LOWERCASE">
19481 <doc xml:space="preserve"
19482 filename="pango/pango-attributes.h"
19483 line="217">Display letters and numbers as lowercase</doc>
19484 </member>
19485 <member name="uppercase"
19486 value="2"
19487 c:identifier="PANGO_TEXT_TRANSFORM_UPPERCASE"
19488 glib:nick="uppercase"
19489 glib:name="PANGO_TEXT_TRANSFORM_UPPERCASE">
19490 <doc xml:space="preserve"
19491 filename="pango/pango-attributes.h"
19492 line="218">Display letters and numbers as uppercase</doc>
19493 </member>
19494 <member name="capitalize"
19495 value="3"
19496 c:identifier="PANGO_TEXT_TRANSFORM_CAPITALIZE"
19497 glib:nick="capitalize"
19498 glib:name="PANGO_TEXT_TRANSFORM_CAPITALIZE">
19499 <doc xml:space="preserve"
19500 filename="pango/pango-attributes.h"
19501 line="219">Display the first character of a word
19502 in titlecase</doc>
19503 </member>
19504 </enumeration>
19505 <function-macro name="UNITS_CEIL"
19506 c:identifier="PANGO_UNITS_CEIL"
19507 version="1.50"
19508 introspectable="0">
19509 <doc xml:space="preserve"
19510 filename="pango/pango-types.h"
19511 line="122">Rounds a dimension up to whole device units, but does not
19512convert it to device units.</doc>
19513 <source-position filename="pango/pango-types.h" line="132"/>
19514 <parameters>
19515 <parameter name="d">
19516 <doc xml:space="preserve"
19517 filename="pango/pango-types.h"
19518 line="124">a dimension in Pango units.</doc>
19519 </parameter>
19520 </parameters>
19521 </function-macro>
19522 <function-macro name="UNITS_FLOOR"
19523 c:identifier="PANGO_UNITS_FLOOR"
19524 version="1.50"
19525 introspectable="0">
19526 <doc xml:space="preserve"
19527 filename="pango/pango-types.h"
19528 line="109">Rounds a dimension down to whole device units, but does not
19529convert it to device units.</doc>
19530 <source-position filename="pango/pango-types.h" line="119"/>
19531 <parameters>
19532 <parameter name="d">
19533 <doc xml:space="preserve"
19534 filename="pango/pango-types.h"
19535 line="111">a dimension in Pango units.</doc>
19536 </parameter>
19537 </parameters>
19538 </function-macro>
19539 <function-macro name="UNITS_ROUND"
19540 c:identifier="PANGO_UNITS_ROUND"
19541 version="1.18"
19542 introspectable="0">
19543 <doc xml:space="preserve"
19544 filename="pango/pango-types.h"
19545 line="135">Rounds a dimension to whole device units, but does not
19546convert it to device units.</doc>
19547 <source-position filename="pango/pango-types.h" line="145"/>
19548 <parameters>
19549 <parameter name="d">
19550 <doc xml:space="preserve"
19551 filename="pango/pango-types.h"
19552 line="137">a dimension in Pango units.</doc>
19553 </parameter>
19554 </parameters>
19555 </function-macro>
19556 <enumeration name="Underline"
19557 glib:type-name="PangoUnderline"
19558 glib:get-type="pango_underline_get_type"
19559 c:type="PangoUnderline">
19560 <doc xml:space="preserve"
19561 filename="pango/pango-attributes.h"
19562 line="134">The `PangoUnderline` enumeration is used to specify whether text
19563should be underlined, and if so, the type of underlining.</doc>
19564 <member name="none"
19565 value="0"
19566 c:identifier="PANGO_UNDERLINE_NONE"
19567 glib:nick="none"
19568 glib:name="PANGO_UNDERLINE_NONE">
19569 <doc xml:space="preserve"
19570 filename="pango/pango-attributes.h"
19571 line="136">no underline should be drawn</doc>
19572 </member>
19573 <member name="single"
19574 value="1"
19575 c:identifier="PANGO_UNDERLINE_SINGLE"
19576 glib:nick="single"
19577 glib:name="PANGO_UNDERLINE_SINGLE">
19578 <doc xml:space="preserve"
19579 filename="pango/pango-attributes.h"
19580 line="137">a single underline should be drawn</doc>
19581 </member>
19582 <member name="double"
19583 value="2"
19584 c:identifier="PANGO_UNDERLINE_DOUBLE"
19585 glib:nick="double"
19586 glib:name="PANGO_UNDERLINE_DOUBLE">
19587 <doc xml:space="preserve"
19588 filename="pango/pango-attributes.h"
19589 line="138">a double underline should be drawn</doc>
19590 </member>
19591 <member name="low"
19592 value="3"
19593 c:identifier="PANGO_UNDERLINE_LOW"
19594 glib:nick="low"
19595 glib:name="PANGO_UNDERLINE_LOW">
19596 <doc xml:space="preserve"
19597 filename="pango/pango-attributes.h"
19598 line="139">a single underline should be drawn at a
19599 position beneath the ink extents of the text being
19600 underlined. This should be used only for underlining
19601 single characters, such as for keyboard accelerators.
19602 %PANGO_UNDERLINE_SINGLE should be used for extended
19603 portions of text.</doc>
19604 </member>
19605 <member name="error"
19606 value="4"
19607 c:identifier="PANGO_UNDERLINE_ERROR"
19608 glib:nick="error"
19609 glib:name="PANGO_UNDERLINE_ERROR">
19610 <doc xml:space="preserve"
19611 filename="pango/pango-attributes.h"
19612 line="145">an underline indicating an error should
19613 be drawn below. The exact style of rendering is up to the
19614 `PangoRenderer` in use, but typical styles include wavy
19615 or dotted lines.
19616 This underline is typically used to indicate an error such
19617 as a possible mispelling; in some cases a contrasting color
19618 may automatically be used. This type of underlining is
19619 available since Pango 1.4.</doc>
19620 </member>
19621 <member name="single_line"
19622 value="5"
19623 c:identifier="PANGO_UNDERLINE_SINGLE_LINE"
19624 glib:nick="single-line"
19625 glib:name="PANGO_UNDERLINE_SINGLE_LINE">
19626 <doc xml:space="preserve"
19627 filename="pango/pango-attributes.h"
19628 line="153">Like @PANGO_UNDERLINE_SINGLE, but
19629 drawn continuously across multiple runs. This type
19630 of underlining is available since Pango 1.46.</doc>
19631 </member>
19632 <member name="double_line"
19633 value="6"
19634 c:identifier="PANGO_UNDERLINE_DOUBLE_LINE"
19635 glib:nick="double-line"
19636 glib:name="PANGO_UNDERLINE_DOUBLE_LINE">
19637 <doc xml:space="preserve"
19638 filename="pango/pango-attributes.h"
19639 line="156">Like @PANGO_UNDERLINE_DOUBLE, but
19640 drawn continuously across multiple runs. This type
19641 of underlining is available since Pango 1.46.</doc>
19642 </member>
19643 <member name="error_line"
19644 value="7"
19645 c:identifier="PANGO_UNDERLINE_ERROR_LINE"
19646 glib:nick="error-line"
19647 glib:name="PANGO_UNDERLINE_ERROR_LINE">
19648 <doc xml:space="preserve"
19649 filename="pango/pango-attributes.h"
19650 line="159">Like @PANGO_UNDERLINE_ERROR, but
19651 drawn continuously across multiple runs. This type
19652 of underlining is available since Pango 1.46.</doc>
19653 </member>
19654 </enumeration>
19655 <function-macro name="VERSION_CHECK"
19656 c:identifier="PANGO_VERSION_CHECK"
19657 introspectable="0">
19658 <doc xml:space="preserve"
19659 filename="pango/pango-utils.h"
19660 line="158">Checks that the version of Pango available at compile-time is not older than
19661the provided version number.</doc>
19662 <source-position filename="pango/pango-utils.h" line="164"/>
19663 <parameters>
19664 <parameter name="major">
19665 <doc xml:space="preserve"
19666 filename="pango/pango-utils.h"
19667 line="160">the major component of the version number</doc>
19668 </parameter>
19669 <parameter name="minor">
19670 <doc xml:space="preserve"
19671 filename="pango/pango-utils.h"
19672 line="161">the minor component of the version number</doc>
19673 </parameter>
19674 <parameter name="micro">
19675 <doc xml:space="preserve"
19676 filename="pango/pango-utils.h"
19677 line="162">the micro component of the version number</doc>
19678 </parameter>
19679 </parameters>
19680 </function-macro>
19681 <function-macro name="VERSION_ENCODE"
19682 c:identifier="PANGO_VERSION_ENCODE"
19683 introspectable="0">
19684 <doc xml:space="preserve"
19685 filename="pango/pango-utils.h"
19686 line="111">This macro encodes the given Pango version into an integer. The numbers
19687returned by %PANGO_VERSION and pango_version() are encoded using this macro.
19688Two encoded version numbers can be compared as integers.</doc>
19689 <source-position filename="pango/pango-utils.h" line="121"/>
19690 <parameters>
19691 <parameter name="major">
19692 <doc xml:space="preserve"
19693 filename="pango/pango-utils.h"
19694 line="113">the major component of the version number</doc>
19695 </parameter>
19696 <parameter name="minor">
19697 <doc xml:space="preserve"
19698 filename="pango/pango-utils.h"
19699 line="114">the minor component of the version number</doc>
19700 </parameter>
19701 <parameter name="micro">
19702 <doc xml:space="preserve"
19703 filename="pango/pango-utils.h"
19704 line="115">the micro component of the version number</doc>
19705 </parameter>
19706 </parameters>
19707 </function-macro>
19708 <constant name="VERSION_MAJOR" value="1" c:type="PANGO_VERSION_MAJOR">
19709 <doc xml:space="preserve"
19710 filename="pango/pango-utils.h"
19711 line="137">The major component of the version of Pango available at compile-time.</doc>
19712 <source-position filename="pango/pango-features.h" line="4"/>
19713 <type name="gint" c:type="gint"/>
19714 </constant>
19715 <constant name="VERSION_MICRO" value="0" c:type="PANGO_VERSION_MICRO">
19716 <doc xml:space="preserve"
19717 filename="pango/pango-utils.h"
19718 line="147">The micro component of the version of Pango available at compile-time.</doc>
19719 <source-position filename="pango/pango-features.h" line="6"/>
19720 <type name="gint" c:type="gint"/>
19721 </constant>
19722 <constant name="VERSION_MINOR" value="57" c:type="PANGO_VERSION_MINOR">
19723 <doc xml:space="preserve"
19724 filename="pango/pango-utils.h"
19725 line="142">The minor component of the version of Pango available at compile-time.</doc>
19726 <source-position filename="pango/pango-features.h" line="5"/>
19727 <type name="gint" c:type="gint"/>
19728 </constant>
19729 <constant name="VERSION_STRING"
19730 value="1.57.0"
19731 c:type="PANGO_VERSION_STRING">
19732 <doc xml:space="preserve"
19733 filename="pango/pango-utils.h"
19734 line="132">A string literal containing the version of Pango available at compile-time.</doc>
19735 <source-position filename="pango/pango-features.h" line="8"/>
19736 <type name="utf8" c:type="gchar*"/>
19737 </constant>
19738 <enumeration name="Variant"
19739 glib:type-name="PangoVariant"
19740 glib:get-type="pango_variant_get_type"
19741 c:type="PangoVariant">
19742 <doc xml:space="preserve"
19743 filename="pango/pango-font.h"
19744 line="80">An enumeration specifying capitalization variant of the font.</doc>
19745 <member name="normal"
19746 value="0"
19747 c:identifier="PANGO_VARIANT_NORMAL"
19748 glib:nick="normal"
19749 glib:name="PANGO_VARIANT_NORMAL">
19750 <doc xml:space="preserve"
19751 filename="pango/pango-font.h"
19752 line="82">A normal font.</doc>
19753 </member>
19754 <member name="small_caps"
19755 value="1"
19756 c:identifier="PANGO_VARIANT_SMALL_CAPS"
19757 glib:nick="small-caps"
19758 glib:name="PANGO_VARIANT_SMALL_CAPS">
19759 <doc xml:space="preserve"
19760 filename="pango/pango-font.h"
19761 line="83">A font with the lower case characters
19762 replaced by smaller variants of the capital characters.</doc>
19763 </member>
19764 <member name="all_small_caps"
19765 value="2"
19766 c:identifier="PANGO_VARIANT_ALL_SMALL_CAPS"
19767 glib:nick="all-small-caps"
19768 glib:name="PANGO_VARIANT_ALL_SMALL_CAPS">
19769 <doc xml:space="preserve"
19770 filename="pango/pango-font.h"
19771 line="85">A font with all characters
19772 replaced by smaller variants of the capital characters. Since: 1.50</doc>
19773 </member>
19774 <member name="petite_caps"
19775 value="3"
19776 c:identifier="PANGO_VARIANT_PETITE_CAPS"
19777 glib:nick="petite-caps"
19778 glib:name="PANGO_VARIANT_PETITE_CAPS">
19779 <doc xml:space="preserve"
19780 filename="pango/pango-font.h"
19781 line="87">A font with the lower case characters
19782 replaced by smaller variants of the capital characters.
19783 Petite Caps can be even smaller than Small Caps. Since: 1.50</doc>
19784 </member>
19785 <member name="all_petite_caps"
19786 value="4"
19787 c:identifier="PANGO_VARIANT_ALL_PETITE_CAPS"
19788 glib:nick="all-petite-caps"
19789 glib:name="PANGO_VARIANT_ALL_PETITE_CAPS">
19790 <doc xml:space="preserve"
19791 filename="pango/pango-font.h"
19792 line="90">A font with all characters
19793 replaced by smaller variants of the capital characters.
19794 Petite Caps can be even smaller than Small Caps. Since: 1.50</doc>
19795 </member>
19796 <member name="unicase"
19797 value="5"
19798 c:identifier="PANGO_VARIANT_UNICASE"
19799 glib:nick="unicase"
19800 glib:name="PANGO_VARIANT_UNICASE">
19801 <doc xml:space="preserve"
19802 filename="pango/pango-font.h"
19803 line="93">A font with the upper case characters
19804 replaced by smaller variants of the capital letters. Since: 1.50</doc>
19805 </member>
19806 <member name="title_caps"
19807 value="6"
19808 c:identifier="PANGO_VARIANT_TITLE_CAPS"
19809 glib:nick="title-caps"
19810 glib:name="PANGO_VARIANT_TITLE_CAPS">
19811 <doc xml:space="preserve"
19812 filename="pango/pango-font.h"
19813 line="95">A font with capital letters that
19814 are more suitable for all-uppercase titles. Since: 1.50</doc>
19815 </member>
19816 </enumeration>
19817 <enumeration name="Weight"
19818 glib:type-name="PangoWeight"
19819 glib:get-type="pango_weight_get_type"
19820 c:type="PangoWeight">
19821 <doc xml:space="preserve"
19822 filename="pango/pango-font.h"
19823 line="110">An enumeration specifying the weight (boldness) of a font.
19824
19825Weight is specified as a numeric value ranging from 100 to 1000.
19826This enumeration simply provides some common, predefined values.</doc>
19827 <member name="thin"
19828 value="100"
19829 c:identifier="PANGO_WEIGHT_THIN"
19830 glib:nick="thin"
19831 glib:name="PANGO_WEIGHT_THIN">
19832 <doc xml:space="preserve"
19833 filename="pango/pango-font.h"
19834 line="112">the thin weight (= 100) Since: 1.24</doc>
19835 </member>
19836 <member name="ultralight"
19837 value="200"
19838 c:identifier="PANGO_WEIGHT_ULTRALIGHT"
19839 glib:nick="ultralight"
19840 glib:name="PANGO_WEIGHT_ULTRALIGHT">
19841 <doc xml:space="preserve"
19842 filename="pango/pango-font.h"
19843 line="113">the ultralight weight (= 200)</doc>
19844 </member>
19845 <member name="light"
19846 value="300"
19847 c:identifier="PANGO_WEIGHT_LIGHT"
19848 glib:nick="light"
19849 glib:name="PANGO_WEIGHT_LIGHT">
19850 <doc xml:space="preserve"
19851 filename="pango/pango-font.h"
19852 line="114">the light weight (= 300)</doc>
19853 </member>
19854 <member name="semilight"
19855 value="350"
19856 c:identifier="PANGO_WEIGHT_SEMILIGHT"
19857 glib:nick="semilight"
19858 glib:name="PANGO_WEIGHT_SEMILIGHT">
19859 <doc xml:space="preserve"
19860 filename="pango/pango-font.h"
19861 line="115">the semilight weight (= 350) Since: 1.36.7</doc>
19862 </member>
19863 <member name="book"
19864 value="380"
19865 c:identifier="PANGO_WEIGHT_BOOK"
19866 glib:nick="book"
19867 glib:name="PANGO_WEIGHT_BOOK">
19868 <doc xml:space="preserve"
19869 filename="pango/pango-font.h"
19870 line="116">the book weight (= 380) Since: 1.24)</doc>
19871 </member>
19872 <member name="normal"
19873 value="400"
19874 c:identifier="PANGO_WEIGHT_NORMAL"
19875 glib:nick="normal"
19876 glib:name="PANGO_WEIGHT_NORMAL">
19877 <doc xml:space="preserve"
19878 filename="pango/pango-font.h"
19879 line="117">the default weight (= 400)</doc>
19880 </member>
19881 <member name="medium"
19882 value="500"
19883 c:identifier="PANGO_WEIGHT_MEDIUM"
19884 glib:nick="medium"
19885 glib:name="PANGO_WEIGHT_MEDIUM">
19886 <doc xml:space="preserve"
19887 filename="pango/pango-font.h"
19888 line="118">the medium weight (= 500) Since: 1.24</doc>
19889 </member>
19890 <member name="semibold"
19891 value="600"
19892 c:identifier="PANGO_WEIGHT_SEMIBOLD"
19893 glib:nick="semibold"
19894 glib:name="PANGO_WEIGHT_SEMIBOLD">
19895 <doc xml:space="preserve"
19896 filename="pango/pango-font.h"
19897 line="119">the semibold weight (= 600)</doc>
19898 </member>
19899 <member name="bold"
19900 value="700"
19901 c:identifier="PANGO_WEIGHT_BOLD"
19902 glib:nick="bold"
19903 glib:name="PANGO_WEIGHT_BOLD">
19904 <doc xml:space="preserve"
19905 filename="pango/pango-font.h"
19906 line="120">the bold weight (= 700)</doc>
19907 </member>
19908 <member name="ultrabold"
19909 value="800"
19910 c:identifier="PANGO_WEIGHT_ULTRABOLD"
19911 glib:nick="ultrabold"
19912 glib:name="PANGO_WEIGHT_ULTRABOLD">
19913 <doc xml:space="preserve"
19914 filename="pango/pango-font.h"
19915 line="121">the ultrabold weight (= 800)</doc>
19916 </member>
19917 <member name="heavy"
19918 value="900"
19919 c:identifier="PANGO_WEIGHT_HEAVY"
19920 glib:nick="heavy"
19921 glib:name="PANGO_WEIGHT_HEAVY">
19922 <doc xml:space="preserve"
19923 filename="pango/pango-font.h"
19924 line="122">the heavy weight (= 900)</doc>
19925 </member>
19926 <member name="ultraheavy"
19927 value="1000"
19928 c:identifier="PANGO_WEIGHT_ULTRAHEAVY"
19929 glib:nick="ultraheavy"
19930 glib:name="PANGO_WEIGHT_ULTRAHEAVY">
19931 <doc xml:space="preserve"
19932 filename="pango/pango-font.h"
19933 line="123">the ultraheavy weight (= 1000) Since: 1.24</doc>
19934 </member>
19935 </enumeration>
19936 <enumeration name="WrapMode"
19937 glib:type-name="PangoWrapMode"
19938 glib:get-type="pango_wrap_mode_get_type"
19939 c:type="PangoWrapMode">
19940 <doc xml:space="preserve"
19941 filename="pango/pango-layout.h"
19942 line="67">`PangoWrapMode` describes how to wrap the lines of a `PangoLayout`
19943to the desired width.
19944
19945For @PANGO_WRAP_WORD, Pango uses break opportunities that are determined
19946by the Unicode line breaking algorithm. For @PANGO_WRAP_CHAR, Pango allows
19947breaking at grapheme boundaries that are determined by the Unicode text
19948segmentation algorithm.</doc>
19949 <member name="word"
19950 value="0"
19951 c:identifier="PANGO_WRAP_WORD"
19952 glib:nick="word"
19953 glib:name="PANGO_WRAP_WORD">
19954 <doc xml:space="preserve"
19955 filename="pango/pango-layout.h"
19956 line="69">wrap lines at word boundaries.</doc>
19957 </member>
19958 <member name="char"
19959 value="1"
19960 c:identifier="PANGO_WRAP_CHAR"
19961 glib:nick="char"
19962 glib:name="PANGO_WRAP_CHAR">
19963 <doc xml:space="preserve"
19964 filename="pango/pango-layout.h"
19965 line="70">wrap lines at character boundaries.</doc>
19966 </member>
19967 <member name="word_char"
19968 value="2"
19969 c:identifier="PANGO_WRAP_WORD_CHAR"
19970 glib:nick="word-char"
19971 glib:name="PANGO_WRAP_WORD_CHAR">
19972 <doc xml:space="preserve"
19973 filename="pango/pango-layout.h"
19974 line="71">wrap lines at word boundaries, but fall back to
19975 character boundaries if there is not enough space for a full word.</doc>
19976 </member>
19977 <member name="none"
19978 value="3"
19979 c:identifier="PANGO_WRAP_NONE"
19980 version="1.56"
19981 glib:nick="none"
19982 glib:name="PANGO_WRAP_NONE">
19983 <doc xml:space="preserve"
19984 filename="pango/pango-layout.h"
19985 line="83">do not wrap.</doc>
19986 </member>
19987 </enumeration>
19988 <function name="attr_allow_breaks_new"
19989 c:identifier="pango_attr_allow_breaks_new"
19990 version="1.44">
19991 <doc xml:space="preserve"
19992 filename="pango/pango-attributes.c"
19993 line="1305">Create a new allow-breaks attribute.
19994
19995If breaks are disabled, the range will be kept in a
19996single run, as far as possible.</doc>
19997 <source-position filename="pango/pango-attributes.h" line="589"/>
19998 <return-value transfer-ownership="full">
19999 <doc xml:space="preserve"
20000 filename="pango/pango-attributes.c"