pango 3.1.1 → 3.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +27 -5
  3. data/ext/pango/depend +2 -2
  4. data/ext/pango/extconf.rb +32 -28
  5. data/ext/pango/pango.def +0 -16
  6. data/ext/pango/rb-pango-attr-list.c +64 -0
  7. data/ext/pango/rb-pango-attribute.c +147 -0
  8. data/ext/pango/rb-pango-context.c +79 -0
  9. data/ext/pango/{rbpangoconversions.h → rb-pango-conversions.h} +4 -6
  10. data/ext/pango/rb-pango-private.h +27 -0
  11. data/ext/pango/rb-pango.c +32 -0
  12. data/ext/pango/rb-pango.h +29 -0
  13. data/extconf.rb +25 -9
  14. data/lib/pango.rb +24 -68
  15. data/lib/pango/cairo-loader.rb +63 -0
  16. data/lib/pango/color.rb +31 -0
  17. data/lib/pango/deprecated.rb +37 -0
  18. data/lib/pango/font-description.rb +29 -0
  19. data/lib/pango/language.rb +29 -0
  20. data/lib/pango/layout.rb +41 -0
  21. data/lib/pango/loader.rb +87 -0
  22. data/lib/pango/markup.rb +31 -0
  23. data/lib/pango/matrix.rb +64 -0
  24. data/lib/pango/rectangle.rb +28 -0
  25. data/lib/pango/version.rb +30 -0
  26. data/test/pango-test-utils.rb +7 -7
  27. data/test/run-test.rb +34 -8
  28. data/test/test-attr-list.rb +28 -0
  29. data/test/test-color.rb +1 -3
  30. data/test/test-context.rb +4 -4
  31. data/test/test-enum.rb +37 -0
  32. data/test/test-font-description.rb +31 -0
  33. data/test/test-language.rb +2 -1
  34. data/test/test-layout.rb +12 -0
  35. data/test/test-markup.rb +30 -0
  36. data/test/test-matrix.rb +131 -5
  37. data/test/test-rectangle.rb +16 -3
  38. metadata +42 -56
  39. data/README +0 -32
  40. data/ext/pango/rbpango.c +0 -356
  41. data/ext/pango/rbpango.h +0 -95
  42. data/ext/pango/rbpangoanalysis.c +0 -218
  43. data/ext/pango/rbpangoattribute.c +0 -506
  44. data/ext/pango/rbpangoattriterator.c +0 -141
  45. data/ext/pango/rbpangoattrlist.c +0 -101
  46. data/ext/pango/rbpangocairo.c +0 -122
  47. data/ext/pango/rbpangocairocontext.c +0 -131
  48. data/ext/pango/rbpangocolor.c +0 -120
  49. data/ext/pango/rbpangocontext.c +0 -344
  50. data/ext/pango/rbpangocoverage.c +0 -106
  51. data/ext/pango/rbpangoengine.c +0 -73
  52. data/ext/pango/rbpangofont.c +0 -110
  53. data/ext/pango/rbpangofontdescription.c +0 -282
  54. data/ext/pango/rbpangofontface.c +0 -73
  55. data/ext/pango/rbpangofontfamily.c +0 -79
  56. data/ext/pango/rbpangofontmap.c +0 -102
  57. data/ext/pango/rbpangofontmetrics.c +0 -85
  58. data/ext/pango/rbpangofontset.c +0 -69
  59. data/ext/pango/rbpangofontsetsimple.c +0 -60
  60. data/ext/pango/rbpangoglyphinfo.c +0 -123
  61. data/ext/pango/rbpangoglyphitem.c +0 -125
  62. data/ext/pango/rbpangoglyphstring.c +0 -151
  63. data/ext/pango/rbpangogravity.c +0 -54
  64. data/ext/pango/rbpangoitem.c +0 -95
  65. data/ext/pango/rbpangolanguage.c +0 -94
  66. data/ext/pango/rbpangolayout.c +0 -583
  67. data/ext/pango/rbpangolayoutiter.c +0 -189
  68. data/ext/pango/rbpangolayoutline.c +0 -243
  69. data/ext/pango/rbpangologattr.c +0 -109
  70. data/ext/pango/rbpangomatrix.c +0 -143
  71. data/ext/pango/rbpangoprivate.h +0 -49
  72. data/ext/pango/rbpangorectangle.c +0 -170
  73. data/ext/pango/rbpangorenderer.c +0 -193
  74. data/ext/pango/rbpangoscript.c +0 -84
  75. data/ext/pango/rbpangoscriptiter.c +0 -92
  76. data/ext/pango/rbpangotabarray.c +0 -128
  77. data/sample/attribute.rb +0 -82
  78. data/sample/break.rb +0 -28
  79. data/sample/gdk_layout.rb +0 -27
  80. data/sample/glyphstring.rb +0 -61
  81. data/sample/item.rb +0 -37
  82. data/sample/label.rb +0 -23
  83. data/sample/layout.rb +0 -102
  84. data/sample/pango_cairo.rb +0 -66
  85. data/sample/parse.rb +0 -33
  86. data/sample/sample.txt +0 -10
  87. data/sample/script.rb +0 -23
@@ -1,141 +0,0 @@
1
- /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /*
3
- * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
- * Copyright (C) 2002-2005 Masao Mutoh
5
- *
6
- * This library is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Lesser General Public
8
- * License as published by the Free Software Foundation; either
9
- * version 2.1 of the License, or (at your option) any later version.
10
- *
11
- * This library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
- * Lesser General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library; if not, write to the Free Software
18
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
- * MA 02110-1301 USA
20
- */
21
-
22
- #include "rbpangoprivate.h"
23
-
24
- #define RG_TARGET_NAMESPACE cAttrIterator
25
- #define _SELF(self) (RVAL2PANGOATTRITERATOR(self))
26
-
27
- /**********************************/
28
- GType
29
- pango_attr_iter_get_type(void)
30
- {
31
- static GType our_type = 0;
32
-
33
- if (our_type == 0)
34
- our_type = g_boxed_type_register_static ("PangoAttrIterator",
35
- (GBoxedCopyFunc)pango_attr_iterator_copy,
36
- (GBoxedFreeFunc)pango_attr_iterator_destroy);
37
- return our_type;
38
- }
39
- /**********************************/
40
-
41
- static VALUE
42
- rg_next_bang(VALUE self)
43
- {
44
- return CBOOL2RVAL(pango_attr_iterator_next(_SELF(self)));
45
- }
46
-
47
- static VALUE
48
- rg_range(VALUE self)
49
- {
50
- gint start = 0;
51
- gint end = 0;
52
- pango_attr_iterator_range(_SELF(self), &start, &end);
53
- return rb_ary_new3(2, INT2NUM(start), INT2NUM(end));
54
- }
55
-
56
- static VALUE
57
- rg_get(int argc, VALUE *argv, VALUE self)
58
- {
59
- VALUE type, ret;
60
- PangoAttribute* attr;
61
- int i;
62
-
63
- rb_scan_args(argc, argv, "01", &type);
64
-
65
- if (NIL_P(type)){
66
- PangoAttrIterator* iter = _SELF(self);
67
- ret = rb_ary_new();
68
- for (i = 0; i < PANGO_ATTR_SCALE + 1; i++){
69
- attr = pango_attr_iterator_get(iter, i);
70
- if (attr)
71
- rb_ary_push(ret, ATTR2RVAL(attr));
72
- }
73
- } else {
74
- attr = pango_attr_iterator_get(_SELF(self), FIX2INT(type));
75
- ret = attr ? ATTR2RVAL(attr) : Qnil;
76
- }
77
- return ret;
78
- }
79
-
80
- static VALUE
81
- rg_font(VALUE self)
82
- {
83
- PangoFontDescription* desc;
84
- PangoLanguage* lang;
85
- GSList* extra_attrs;
86
- VALUE ary, ret;
87
-
88
- desc = pango_font_description_new();
89
-
90
- pango_attr_iterator_get_font(_SELF(self), desc, &lang, &extra_attrs);
91
-
92
- ary = rb_ary_new();
93
- while(extra_attrs) {
94
- rb_ary_push(ary, ATTR2RVAL(extra_attrs->data));
95
- extra_attrs = extra_attrs->next;
96
- }
97
-
98
- ret = rb_ary_new3(3, PANGOFONTDESCRIPTION2RVAL(desc),
99
- PANGOLANGUAGE2RVAL(lang),
100
- ary);
101
-
102
- pango_font_description_free(desc);
103
- return ret;
104
- }
105
-
106
- #ifdef HAVE_PANGO_ATTR_ITERATOR_GET_ATTRS
107
- static VALUE
108
- rg_attrs(VALUE self)
109
- {
110
- GSList* list = pango_attr_iterator_get_attrs(_SELF(self));
111
- GSList* base = list;
112
- GSList* old = list;
113
- VALUE ary = rb_ary_new();
114
-
115
- while (list) {
116
- rb_ary_push(ary, ATTR2RVAL(list->data));
117
- list = list->next;
118
- }
119
- while (old) {
120
- pango_attribute_destroy((PangoAttribute*)old);
121
- old = old->next;
122
- }
123
- g_slist_free(base);
124
-
125
- return ary;
126
- }
127
- #endif
128
-
129
- void
130
- Init_pango_attriterator(VALUE mPango)
131
- {
132
- VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_ATTR_ITERATOR, "AttrIterator", mPango);
133
-
134
- RG_DEF_METHOD_BANG(next, 0);
135
- RG_DEF_METHOD(range, 0);
136
- RG_DEF_METHOD(get, -1);
137
- RG_DEF_METHOD(font, 0);
138
- #ifdef HAVE_PANGO_ATTR_ITERATOR_GET_ATTRS
139
- RG_DEF_METHOD(attrs, 0);
140
- #endif
141
- }
@@ -1,101 +0,0 @@
1
- /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /*
3
- * Copyright (C) 2011-2016 Ruby-GNOME2 Project Team
4
- * Copyright (C) 2002-2005 Masao Mutoh
5
- *
6
- * This library is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Lesser General Public
8
- * License as published by the Free Software Foundation; either
9
- * version 2.1 of the License, or (at your option) any later version.
10
- *
11
- * This library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
- * Lesser General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library; if not, write to the Free Software
18
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
- * MA 02110-1301 USA
20
- */
21
-
22
- #include "rbpangoprivate.h"
23
-
24
- static ID id_call;
25
-
26
- #define RG_TARGET_NAMESPACE cAttrList
27
- #define _SELF(self) (RVAL2PANGOATTRLIST(self))
28
-
29
- static VALUE
30
- rg_initialize(VALUE self)
31
- {
32
- G_INITIALIZE(self, pango_attr_list_new());
33
- return Qnil;
34
- }
35
-
36
- static VALUE
37
- rg_insert(VALUE self, VALUE attr)
38
- {
39
- pango_attr_list_insert(_SELF(self), RVAL2ATTR(attr));
40
- return self;
41
- }
42
-
43
- static VALUE
44
- rg_insert_before(VALUE self, VALUE attr)
45
- {
46
- pango_attr_list_insert_before(_SELF(self), RVAL2ATTR(attr));
47
- return self;
48
- }
49
-
50
- static VALUE
51
- rg_change(VALUE self, VALUE attr)
52
- {
53
- pango_attr_list_change(_SELF(self), RVAL2ATTR(attr));
54
- return self;
55
- }
56
-
57
- static VALUE
58
- rg_splice(VALUE self, VALUE other, VALUE pos, VALUE len)
59
- {
60
- pango_attr_list_splice(_SELF(self), _SELF(other), NUM2INT(pos), NUM2INT(len));
61
- return self;
62
- }
63
-
64
- static gboolean
65
- filter_func(PangoAttribute *attr, gpointer data)
66
- {
67
- return RVAL2CBOOL(rb_funcall((VALUE)data, id_call, 1, ATTR2RVAL(attr)));
68
- }
69
-
70
- static VALUE
71
- rg_filter(VALUE self)
72
- {
73
- VALUE func = rb_block_proc();
74
- G_RELATIVE(self, func);
75
- return PANGOATTRLIST2RVAL(pango_attr_list_filter(_SELF(self),
76
- (PangoAttrFilterFunc)filter_func,
77
- (gpointer)func));
78
- }
79
-
80
- static VALUE
81
- rg_iterator(VALUE self)
82
- {
83
- return PANGOATTRITERATOR2RVAL(pango_attr_list_get_iterator(_SELF(self)));
84
- }
85
-
86
- void
87
- Init_pango_attrlist(VALUE mPango)
88
- {
89
- VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_ATTR_LIST, "AttrList", mPango);
90
-
91
- id_call = rb_intern("call");
92
-
93
- RG_DEF_METHOD(initialize, 0);
94
- RG_DEF_METHOD(insert, 1);
95
- RG_DEF_METHOD(insert_before, 1);
96
- RG_DEF_METHOD(change, 1);
97
- RG_DEF_METHOD(splice, 3);
98
- RG_DEF_METHOD(filter, 0);
99
- RG_DEF_METHOD(iterator, 0);
100
-
101
- }
@@ -1,122 +0,0 @@
1
- /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /*
3
- * Copyright (C) 2006-2014 Ruby-GNOME2 Project Team
4
- * Copyright (C) 2005 Kouhei Sutou
5
- *
6
- * This library is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Lesser General Public
8
- * License as published by the Free Software Foundation; either
9
- * version 2.1 of the License, or (at your option) any later version.
10
- *
11
- * This library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
- * Lesser General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library; if not, write to the Free Software
18
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
- * MA 02110-1301 USA
20
- */
21
-
22
- #include "rbpangoprivate.h"
23
-
24
- #define RG_TARGET_NAMESPACE cCairoFontMap
25
- #define _SELF(self) (RVAL2PANGOCAIROFONTMAP(self))
26
-
27
- static VALUE
28
- rg_s_create(int argc, VALUE *argv, G_GNUC_UNUSED VALUE klass)
29
- {
30
- VALUE rb_font_type;
31
- PangoFontMap *font_map = NULL;
32
-
33
- rb_scan_args(argc, argv, "01", &rb_font_type);
34
- if (NIL_P(rb_font_type)) {
35
- font_map = pango_cairo_font_map_new();
36
- } else {
37
- #if PANGO_VERSION_CHECK(1, 18, 0)
38
- cairo_font_type_t font_type = CAIRO_FONT_TYPE_USER;
39
- if (rbgutil_key_equal(rb_font_type, "ft") ||
40
- rbgutil_key_equal(rb_font_type, "freetype")) {
41
- font_type = CAIRO_FONT_TYPE_FT;
42
- } else if (rbgutil_key_equal(rb_font_type, "win32")) {
43
- font_type = CAIRO_FONT_TYPE_WIN32;
44
- } else if (rbgutil_key_equal(rb_font_type, "quartz")) {
45
- font_type = CAIRO_FONT_TYPE_QUARTZ;
46
- } else {
47
- rb_raise(rb_eArgError,
48
- "font type must be one of "
49
- ":ft, :freetype, :win32 or :quartz: %s",
50
- RBG_INSPECT(rb_font_type));
51
- }
52
- font_map = pango_cairo_font_map_new_for_font_type(font_type);
53
- #else
54
- rb_raise(rb_eArgError,
55
- "Pango::CairoFontMap.create with font type "
56
- "requires Pango 1.18.0 or later");
57
- #endif
58
- }
59
-
60
- return GOBJ2RVAL(font_map);
61
- }
62
-
63
- static VALUE
64
- rg_s_default(G_GNUC_UNUSED VALUE klass)
65
- {
66
- return GOBJ2RVAL(pango_cairo_font_map_get_default());
67
- }
68
-
69
- #if PANGO_VERSION_CHECK(1, 22, 0)
70
- static VALUE
71
- rg_s_set_default(VALUE klass, VALUE font_map)
72
- {
73
- pango_cairo_font_map_set_default(RVAL2GOBJ(font_map));
74
- return klass;
75
- }
76
- #endif
77
-
78
- static VALUE
79
- rg_set_resolution(VALUE self, VALUE dpi)
80
- {
81
- pango_cairo_font_map_set_resolution(_SELF(self), NUM2DBL(dpi));
82
- return self;
83
- }
84
-
85
- static VALUE
86
- rg_resolution(VALUE self)
87
- {
88
- return rb_float_new(pango_cairo_font_map_get_resolution(_SELF(self)));
89
- }
90
-
91
- static VALUE
92
- rg_create_context(VALUE self)
93
- {
94
- PangoContext *pango_context;
95
-
96
- #if PANGO_VERSION_CHECK(1, 22, 0)
97
- pango_context = pango_font_map_create_context(PANGO_FONT_MAP(_SELF(self)));
98
- #else
99
- pango_context = pango_cairo_font_map_create_context(_SELF(self));
100
- #endif
101
-
102
- return GOBJ2RVAL_UNREF(pango_context);
103
- }
104
-
105
- void
106
- Init_pango_cairo(VALUE mPango)
107
- {
108
- VALUE RG_TARGET_NAMESPACE;
109
-
110
- /* Pango::CairoFontMap */
111
- RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_CAIRO_FONT_MAP, "CairoFontMap", mPango);
112
-
113
- RG_DEF_SMETHOD(create, -1);
114
- RG_DEF_SMETHOD(default, 0);
115
- #if PANGO_VERSION_CHECK(1, 22, 0)
116
- RG_DEF_SMETHOD(set_default, 1);
117
- #endif
118
-
119
- RG_DEF_METHOD(set_resolution, 1);
120
- RG_DEF_METHOD(resolution, 0);
121
- RG_DEF_METHOD(create_context, 0);
122
- }
@@ -1,131 +0,0 @@
1
- /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /*
3
- * Copyright (C) 2006-2013 Ruby-GNOME2 Project Team
4
- * Copyright (C) 2005 Kouhei Sutou
5
- *
6
- * This library is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Lesser General Public
8
- * License as published by the Free Software Foundation; either
9
- * version 2.1 of the License, or (at your option) any later version.
10
- *
11
- * This library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
- * Lesser General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library; if not, write to the Free Software
18
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
- * MA 02110-1301 USA
20
- */
21
-
22
- #include "rbpangoprivate.h"
23
-
24
- #define RG_TARGET_NAMESPACE rb_cCairo_Context
25
-
26
- static VALUE
27
- rg_update_pango_context(VALUE self, VALUE context)
28
- {
29
- pango_cairo_update_context(RVAL2CRCONTEXT(self), RVAL2PANGOCONTEXT(context));
30
- return self;
31
- }
32
-
33
- /* Convenience */
34
- static VALUE
35
- rg_create_pango_layout(VALUE self)
36
- {
37
- return GOBJ2RVAL_UNREF(pango_cairo_create_layout(RVAL2CRCONTEXT(self)));
38
- }
39
-
40
- static VALUE
41
- rg_update_pango_layout(VALUE self, VALUE layout)
42
- {
43
- pango_cairo_update_layout(RVAL2CRCONTEXT(self), RVAL2PANGOLAYOUT(layout));
44
- return self;
45
- }
46
-
47
- /* Rendering */
48
- static VALUE
49
- rg_show_pango_glyph_string(VALUE self, VALUE font, VALUE glyphs)
50
- {
51
- pango_cairo_show_glyph_string(RVAL2CRCONTEXT(self),
52
- RVAL2PANGOFONT(font),
53
- RVAL2PANGOGLYPHSTRING(glyphs));
54
- return self;
55
- }
56
-
57
- static VALUE
58
- rg_show_pango_layout_line(VALUE self, VALUE line)
59
- {
60
- pango_cairo_show_layout_line(RVAL2CRCONTEXT(self), RVAL2PANGOLAYOUTLINE(line));
61
- return self;
62
- }
63
-
64
- static VALUE
65
- rg_show_pango_layout(VALUE self, VALUE layout)
66
- {
67
- pango_cairo_show_layout(RVAL2CRCONTEXT(self), RVAL2PANGOLAYOUT(layout));
68
- return self;
69
- }
70
-
71
- static VALUE
72
- rg_show_pango_error_underline(VALUE self, VALUE x, VALUE y, VALUE width, VALUE height)
73
- {
74
- pango_cairo_show_error_underline(RVAL2CRCONTEXT(self),
75
- NUM2DBL(x), NUM2DBL(y),
76
- NUM2DBL(width), NUM2DBL(height));
77
- return self;
78
- }
79
-
80
- /* Rendering to a path */
81
- static VALUE
82
- rg_pango_glyph_string_path(VALUE self, VALUE font, VALUE glyphs)
83
- {
84
- pango_cairo_glyph_string_path(RVAL2CRCONTEXT(self),
85
- RVAL2PANGOFONT(font),
86
- RVAL2PANGOGLYPHSTRING(glyphs));
87
- return self;
88
- }
89
-
90
- static VALUE
91
- rg_pango_layout_line_path(VALUE self, VALUE line)
92
- {
93
- pango_cairo_layout_line_path(RVAL2CRCONTEXT(self), RVAL2PANGOLAYOUTLINE(line));
94
- return self;
95
- }
96
-
97
- static VALUE
98
- rg_pango_layout_path(VALUE self, VALUE layout)
99
- {
100
- pango_cairo_layout_path(RVAL2CRCONTEXT(self), RVAL2PANGOLAYOUT(layout));
101
- return self;
102
- }
103
-
104
- static VALUE
105
- rg_pango_error_underline_path(VALUE self, VALUE x, VALUE y, VALUE width, VALUE height)
106
- {
107
- pango_cairo_error_underline_path(RVAL2CRCONTEXT(self),
108
- NUM2DBL(x), NUM2DBL(y),
109
- NUM2DBL(width), NUM2DBL(height));
110
- return self;
111
- }
112
-
113
- void
114
- Init_pango_cairo_context(G_GNUC_UNUSED VALUE mPango)
115
- {
116
- /* Cairo::Context */
117
- RG_DEF_METHOD(update_pango_context, 1);
118
- /* Convenience */
119
- RG_DEF_METHOD(create_pango_layout, 0);
120
- RG_DEF_METHOD(update_pango_layout, 1);
121
- /* Rendering */
122
- RG_DEF_METHOD(show_pango_glyph_string, 2);
123
- RG_DEF_METHOD(show_pango_layout_line, 1);
124
- RG_DEF_METHOD(show_pango_layout, 1);
125
- RG_DEF_METHOD(show_pango_error_underline, 4);
126
- /* Rendering to a path */
127
- RG_DEF_METHOD(pango_glyph_string_path, 2);
128
- RG_DEF_METHOD(pango_layout_line_path, 1);
129
- RG_DEF_METHOD(pango_layout_path, 1);
130
- RG_DEF_METHOD(pango_error_underline_path, 4);
131
- }