pango 3.2.5-x86-mingw32 → 3.2.6-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (161) hide show
  1. checksums.yaml +4 -4
  2. data/COPYING.LIB +502 -0
  3. data/README.md +25 -0
  4. data/Rakefile +8 -8
  5. data/ext/pango/extconf.rb +4 -1
  6. data/ext/pango/pango.def +1 -0
  7. data/ext/pango/rb-pango-attr-list.c +3 -3
  8. data/ext/pango/rb-pango-attribute.c +67 -57
  9. data/ext/pango/rb-pango-conversions.h +3 -3
  10. data/ext/pango/rb-pango-private.h +0 -1
  11. data/ext/pango/rb-pango.c +0 -1
  12. data/ext/pango/rb-pango.h +2 -1
  13. data/lib/2.2/pango.so +0 -0
  14. data/lib/2.3/pango.so +0 -0
  15. data/lib/2.4/pango.so +0 -0
  16. data/lib/2.5/pango.so +0 -0
  17. data/lib/pango/loader.rb +13 -1
  18. data/lib/pango/rectangle.rb +7 -1
  19. data/pango.gemspec +43 -0
  20. data/vendor/local/bin/derb.exe +0 -0
  21. data/vendor/local/bin/fribidi.exe +0 -0
  22. data/vendor/local/bin/genbrk.exe +0 -0
  23. data/vendor/local/bin/genccode.exe +0 -0
  24. data/vendor/local/bin/gencfu.exe +0 -0
  25. data/vendor/local/bin/gencmn.exe +0 -0
  26. data/vendor/local/bin/gencnval.exe +0 -0
  27. data/vendor/local/bin/gendict.exe +0 -0
  28. data/vendor/local/bin/gennorm2.exe +0 -0
  29. data/vendor/local/bin/genrb.exe +0 -0
  30. data/vendor/local/bin/gensprep.exe +0 -0
  31. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  32. data/vendor/local/bin/hb-shape.exe +0 -0
  33. data/vendor/local/bin/hb-subset.exe +0 -0
  34. data/vendor/local/bin/hb-view.exe +0 -0
  35. data/vendor/local/bin/icuinfo.exe +0 -0
  36. data/vendor/local/bin/icupkg.exe +0 -0
  37. data/vendor/local/bin/libfribidi-0.dll +0 -0
  38. data/vendor/local/bin/libgraphene-1.0-0.dll +0 -0
  39. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  40. data/vendor/local/bin/libharfbuzz-subset-0.dll +0 -0
  41. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  42. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  43. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  44. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  45. data/vendor/local/bin/makeconv.exe +0 -0
  46. data/vendor/local/bin/pango-view.exe +0 -0
  47. data/vendor/local/bin/pkgdata.exe +0 -0
  48. data/vendor/local/bin/uconv.exe +0 -0
  49. data/vendor/local/include/fribidi/fribidi-config.h +2 -2
  50. data/vendor/local/include/harfbuzz/hb-blob.h +2 -0
  51. data/vendor/local/include/harfbuzz/hb-common.h +24 -3
  52. data/vendor/local/include/harfbuzz/hb-face.h +4 -0
  53. data/vendor/local/include/harfbuzz/hb-map.h +104 -0
  54. data/vendor/local/include/harfbuzz/hb-ot-layout.h +1 -1
  55. data/vendor/local/include/harfbuzz/hb-set.h +0 -2
  56. data/vendor/local/include/harfbuzz/hb-subset-plan.hh +46 -25
  57. data/vendor/local/include/harfbuzz/hb-subset.h +4 -1
  58. data/vendor/local/include/harfbuzz/hb-version.h +3 -3
  59. data/vendor/local/include/harfbuzz/hb.h +1 -0
  60. data/vendor/local/include/pango-1.0/pango/pango-features.h +2 -2
  61. data/vendor/local/lib/cmake/harfbuzz/harfbuzz-config.cmake +1 -1
  62. data/vendor/local/lib/icudt.dll +0 -0
  63. data/vendor/local/lib/icudt58.dll +0 -0
  64. data/vendor/local/lib/icuin.dll +0 -0
  65. data/vendor/local/lib/icuin58.dll +0 -0
  66. data/vendor/local/lib/icuio.dll +0 -0
  67. data/vendor/local/lib/icuio58.dll +0 -0
  68. data/vendor/local/lib/icutest.dll +0 -0
  69. data/vendor/local/lib/icutest58.dll +0 -0
  70. data/vendor/local/lib/icutu.dll +0 -0
  71. data/vendor/local/lib/icutu58.dll +0 -0
  72. data/vendor/local/lib/icuuc.dll +0 -0
  73. data/vendor/local/lib/icuuc58.dll +0 -0
  74. data/vendor/local/lib/libfribidi.dll.a +0 -0
  75. data/vendor/local/lib/libgraphene-1.0.dll.a +0 -0
  76. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  77. data/vendor/local/lib/libharfbuzz-icu.la +3 -3
  78. data/vendor/local/lib/libharfbuzz-subset.dll.a +0 -0
  79. data/vendor/local/lib/libharfbuzz-subset.la +3 -3
  80. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  81. data/vendor/local/lib/libharfbuzz.la +3 -3
  82. data/vendor/local/lib/libicudt.dll.a +0 -0
  83. data/vendor/local/lib/libicudt58.dll +0 -0
  84. data/vendor/local/lib/libicuin.dll.a +0 -0
  85. data/vendor/local/lib/libicuio.dll.a +0 -0
  86. data/vendor/local/lib/libicutest.dll.a +0 -0
  87. data/vendor/local/lib/libicutu.dll.a +0 -0
  88. data/vendor/local/lib/libicuuc.dll.a +0 -0
  89. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  90. data/vendor/local/lib/libpango-1.0.la +2 -2
  91. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  92. data/vendor/local/lib/libpangocairo-1.0.la +2 -2
  93. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  94. data/vendor/local/lib/libpangoft2-1.0.la +2 -2
  95. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  96. data/vendor/local/lib/libpangowin32-1.0.la +2 -2
  97. data/vendor/local/lib/pkgconfig/fribidi.pc +1 -1
  98. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
  99. data/vendor/local/lib/pkgconfig/harfbuzz-subset.pc +1 -1
  100. data/vendor/local/lib/pkgconfig/harfbuzz.pc +1 -1
  101. data/vendor/local/lib/pkgconfig/pango.pc +2 -2
  102. data/vendor/local/lib/pkgconfig/pangocairo.pc +2 -2
  103. data/vendor/local/lib/pkgconfig/pangoft2.pc +2 -2
  104. data/vendor/local/lib/pkgconfig/pangowin32.pc +1 -1
  105. data/vendor/local/libexec/installed-tests/graphene-1.0/box.exe +0 -0
  106. data/vendor/local/libexec/installed-tests/graphene-1.0/euler.exe +0 -0
  107. data/vendor/local/libexec/installed-tests/graphene-1.0/frustum.exe +0 -0
  108. data/vendor/local/libexec/installed-tests/graphene-1.0/matrix.exe +0 -0
  109. data/vendor/local/libexec/installed-tests/graphene-1.0/plane.exe +0 -0
  110. data/vendor/local/libexec/installed-tests/graphene-1.0/point.exe +0 -0
  111. data/vendor/local/libexec/installed-tests/graphene-1.0/point3d.exe +0 -0
  112. data/vendor/local/libexec/installed-tests/graphene-1.0/quad.exe +0 -0
  113. data/vendor/local/libexec/installed-tests/graphene-1.0/quaternion.exe +0 -0
  114. data/vendor/local/libexec/installed-tests/graphene-1.0/ray.exe +0 -0
  115. data/vendor/local/libexec/installed-tests/graphene-1.0/rect.exe +0 -0
  116. data/vendor/local/libexec/installed-tests/graphene-1.0/simd.exe +0 -0
  117. data/vendor/local/libexec/installed-tests/graphene-1.0/size.exe +0 -0
  118. data/vendor/local/libexec/installed-tests/graphene-1.0/sphere.exe +0 -0
  119. data/vendor/local/libexec/installed-tests/graphene-1.0/triangle.exe +0 -0
  120. data/vendor/local/libexec/installed-tests/graphene-1.0/vec2.exe +0 -0
  121. data/vendor/local/libexec/installed-tests/graphene-1.0/vec3.exe +0 -0
  122. data/vendor/local/libexec/installed-tests/graphene-1.0/vec4.exe +0 -0
  123. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-Buffers.html +5 -3
  124. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-common.html +5 -0
  125. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +1 -0
  126. data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +1 -1
  127. data/vendor/local/share/gtk-doc/html/pango/index.html +1 -1
  128. data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +2 -2
  129. data/vendor/local/share/man/man3/fribidi_charset_to_unicode.3 +98 -0
  130. data/vendor/local/share/man/man3/fribidi_debug_status.3 +44 -0
  131. data/vendor/local/share/man/man3/fribidi_get_bidi_type.3 +58 -0
  132. data/vendor/local/share/man/man3/fribidi_get_bidi_type_name.3 +56 -0
  133. data/vendor/local/share/man/man3/fribidi_get_bidi_types.3 +68 -0
  134. data/vendor/local/share/man/man3/fribidi_get_bracket.3 +59 -0
  135. data/vendor/local/share/man/man3/fribidi_get_bracket_types.3 +73 -0
  136. data/vendor/local/share/man/man3/fribidi_get_joining_type.3 +87 -0
  137. data/vendor/local/share/man/man3/fribidi_get_joining_type_name.3 +83 -0
  138. data/vendor/local/share/man/man3/fribidi_get_joining_types.3 +96 -0
  139. data/vendor/local/share/man/man3/fribidi_get_mirror_char.3 +68 -0
  140. data/vendor/local/share/man/man3/fribidi_get_par_direction.3 +100 -0
  141. data/vendor/local/share/man/man3/fribidi_get_par_embedding_levels.3 +98 -0
  142. data/vendor/local/share/man/man3/fribidi_get_par_embedding_levels_ex.3 +114 -0
  143. data/vendor/local/share/man/man3/fribidi_get_type.3 +50 -0
  144. data/vendor/local/share/man/man3/fribidi_get_type_internal.3 +50 -0
  145. data/vendor/local/share/man/man3/fribidi_join_arabic.3 +92 -0
  146. data/vendor/local/share/man/man3/fribidi_log2vis.3 +124 -0
  147. data/vendor/local/share/man/man3/fribidi_log2vis_get_embedding_levels.3 +97 -0
  148. data/vendor/local/share/man/man3/fribidi_mirroring_status.3 +44 -0
  149. data/vendor/local/share/man/man3/fribidi_parse_charset.3 +78 -0
  150. data/vendor/local/share/man/man3/fribidi_remove_bidi_marks.3 +96 -0
  151. data/vendor/local/share/man/man3/fribidi_reorder_line.3 +146 -0
  152. data/vendor/local/share/man/man3/fribidi_reorder_nsm_status.3 +44 -0
  153. data/vendor/local/share/man/man3/fribidi_set_debug.3 +48 -0
  154. data/vendor/local/share/man/man3/fribidi_set_mirroring.3 +58 -0
  155. data/vendor/local/share/man/man3/fribidi_set_reorder_nsm.3 +60 -0
  156. data/vendor/local/share/man/man3/fribidi_shape.3 +89 -0
  157. data/vendor/local/share/man/man3/fribidi_shape_arabic.3 +95 -0
  158. data/vendor/local/share/man/man3/fribidi_shape_mirroring.3 +71 -0
  159. data/vendor/local/share/man/man3/fribidi_unicode_to_charset.3 +99 -0
  160. metadata +39 -47
  161. data/ext/pango/rb-pango-context.c +0 -79
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2017 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2017-2018 Ruby-GNOME2 Project Team
4
4
  *
5
5
  * This library is free software; you can redistribute it and/or
6
6
  * modify it under the terms of the GNU Lesser General Public
@@ -20,6 +20,17 @@
20
20
 
21
21
  #include "rb-pango-private.h"
22
22
 
23
+ static GType
24
+ pango_attribute_get_type(void)
25
+ {
26
+ static GType our_type = 0;
27
+ if (our_type == 0)
28
+ our_type = g_boxed_type_register_static("PangoAttribute",
29
+ (GBoxedCopyFunc)pango_attribute_copy,
30
+ (GBoxedFreeFunc)pango_attribute_destroy);
31
+ return our_type;
32
+ }
33
+
23
34
  VALUE
24
35
  rbpango_attribute_to_ruby(PangoAttribute *attribute)
25
36
  {
@@ -30,26 +41,16 @@ rbpango_attribute_to_ruby(PangoAttribute *attribute)
30
41
  rb_attr_type = GENUM2RVAL(attribute->klass->type, PANGO_TYPE_ATTR_TYPE);
31
42
  CONST_ID(id_to_class, "to_class");
32
43
  klass = rb_funcall(rb_attr_type, id_to_class, 0);
33
- return Data_Wrap_Struct(klass,
34
- NULL,
35
- pango_attribute_destroy,
36
- pango_attribute_copy(attribute));
44
+ return rbgobj_make_boxed_raw(pango_attribute_copy(attribute),
45
+ pango_attribute_get_type(),
46
+ klass,
47
+ 0);
37
48
  }
38
49
 
39
50
  PangoAttribute *
40
51
  rbpango_attribute_from_ruby(VALUE rb_attribute)
41
52
  {
42
- PangoAttribute *attribute;
43
-
44
- Data_Get_Struct(rb_attribute, PangoAttribute, attribute);
45
-
46
- return attribute;
47
- }
48
-
49
- static VALUE
50
- rbpango_attribute_allocate(VALUE klass)
51
- {
52
- return Data_Wrap_Struct(klass, NULL, pango_attribute_destroy, 0);
53
+ return rbgobj_boxed_get(rb_attribute, pango_attribute_get_type());
53
54
  }
54
55
 
55
56
  static VALUE
@@ -68,7 +69,7 @@ rbpango_attr_language_initialize(VALUE self, VALUE rb_language)
68
69
  PangoLanguage *language;
69
70
 
70
71
  language = RVAL2PANGOLANGUAGE(rb_language);
71
- DATA_PTR(self) = pango_attr_language_new(language);
72
+ G_INITIALIZE(self, pango_attr_language_new(language));
72
73
 
73
74
  return Qnil;
74
75
  }
@@ -76,7 +77,7 @@ rbpango_attr_language_initialize(VALUE self, VALUE rb_language)
76
77
  static VALUE
77
78
  rbpango_attr_family_initialize(VALUE self, VALUE rb_family)
78
79
  {
79
- DATA_PTR(self) = pango_attr_family_new(RVAL2CSTR(rb_family));
80
+ G_INITIALIZE(self, pango_attr_family_new(RVAL2CSTR(rb_family)));
80
81
 
81
82
  return Qnil;
82
83
  }
@@ -84,7 +85,7 @@ rbpango_attr_family_initialize(VALUE self, VALUE rb_family)
84
85
  static VALUE
85
86
  rbpango_attr_style_initialize(VALUE self, VALUE rb_style)
86
87
  {
87
- DATA_PTR(self) = pango_attr_style_new(RVAL2PANGOSTYLE(rb_style));
88
+ G_INITIALIZE(self, pango_attr_style_new(RVAL2PANGOSTYLE(rb_style)));
88
89
 
89
90
  return Qnil;
90
91
  }
@@ -102,7 +103,7 @@ rbpango_attr_style_get_value(VALUE self)
102
103
  static VALUE
103
104
  rbpango_attr_weight_initialize(VALUE self, VALUE rb_weight)
104
105
  {
105
- DATA_PTR(self) = pango_attr_weight_new(RVAL2PANGOWEIGHT(rb_weight));
106
+ G_INITIALIZE(self, pango_attr_weight_new(RVAL2PANGOWEIGHT(rb_weight)));
106
107
 
107
108
  return Qnil;
108
109
  }
@@ -120,7 +121,7 @@ rbpango_attr_weight_get_value(VALUE self)
120
121
  static VALUE
121
122
  rbpango_attr_variant_initialize(VALUE self, VALUE rb_variant)
122
123
  {
123
- DATA_PTR(self) = pango_attr_variant_new(RVAL2PANGOVARIANT(rb_variant));
124
+ G_INITIALIZE(self, pango_attr_variant_new(RVAL2PANGOVARIANT(rb_variant)));
124
125
 
125
126
  return Qnil;
126
127
  }
@@ -138,7 +139,7 @@ rbpango_attr_variant_get_value(VALUE self)
138
139
  static VALUE
139
140
  rbpango_attr_stretch_initialize(VALUE self, VALUE rb_stretch)
140
141
  {
141
- DATA_PTR(self) = pango_attr_stretch_new(RVAL2PANGOSTRETCH(rb_stretch));
142
+ G_INITIALIZE(self, pango_attr_stretch_new(RVAL2PANGOSTRETCH(rb_stretch)));
142
143
 
143
144
  return Qnil;
144
145
  }
@@ -159,7 +160,7 @@ rbpango_attr_size_initialize(VALUE self, VALUE rb_size)
159
160
  gint size;
160
161
 
161
162
  size = NUM2INT(rb_size);
162
- DATA_PTR(self) = pango_attr_size_new(size);
163
+ G_INITIALIZE(self, pango_attr_size_new(size));
163
164
 
164
165
  return Qnil;
165
166
  }
@@ -180,7 +181,7 @@ rbpango_attr_font_desc_initialize(VALUE self, VALUE rb_font_desc)
180
181
  rb_intern("new"), 1, rb_font_desc);
181
182
  }
182
183
  font_desc = RVAL2PANGOFONTDESCRIPTION(rb_font_desc);
183
- DATA_PTR(self) = pango_attr_font_desc_new(font_desc);
184
+ G_INITIALIZE(self, pango_attr_font_desc_new(font_desc));
184
185
 
185
186
  return Qnil;
186
187
  }
@@ -191,9 +192,10 @@ rbpango_attr_foregound_initialize(VALUE self,
191
192
  VALUE rb_green,
192
193
  VALUE rb_blue)
193
194
  {
194
- DATA_PTR(self) = pango_attr_foreground_new(NUM2UINT(rb_red),
195
- NUM2UINT(rb_green),
196
- NUM2UINT(rb_blue));
195
+ G_INITIALIZE(self,
196
+ pango_attr_foreground_new(NUM2UINT(rb_red),
197
+ NUM2UINT(rb_green),
198
+ NUM2UINT(rb_blue)));
197
199
 
198
200
  return Qnil;
199
201
  }
@@ -204,9 +206,10 @@ rbpango_attr_background_initialize(VALUE self,
204
206
  VALUE rb_green,
205
207
  VALUE rb_blue)
206
208
  {
207
- DATA_PTR(self) = pango_attr_background_new(NUM2UINT(rb_red),
208
- NUM2UINT(rb_green),
209
- NUM2UINT(rb_blue));
209
+ G_INITIALIZE(self,
210
+ pango_attr_background_new(NUM2UINT(rb_red),
211
+ NUM2UINT(rb_green),
212
+ NUM2UINT(rb_blue)));
210
213
 
211
214
  return Qnil;
212
215
  }
@@ -214,7 +217,8 @@ rbpango_attr_background_initialize(VALUE self,
214
217
  static VALUE
215
218
  rbpango_attr_underline_initialize(VALUE self, VALUE rb_underline)
216
219
  {
217
- DATA_PTR(self) = pango_attr_underline_new(RVAL2PANGOUNDERLINE(rb_underline));
220
+ G_INITIALIZE(self,
221
+ pango_attr_underline_new(RVAL2PANGOUNDERLINE(rb_underline)));
218
222
 
219
223
  return Qnil;
220
224
  }
@@ -232,7 +236,8 @@ rbpango_attr_underline_get_value(VALUE self)
232
236
  static VALUE
233
237
  rbpango_attr_strikethrough_initialize(VALUE self, VALUE rb_strikethrough)
234
238
  {
235
- DATA_PTR(self) = pango_attr_strikethrough_new(RVAL2CBOOL(rb_strikethrough));
239
+ G_INITIALIZE(self,
240
+ pango_attr_strikethrough_new(RVAL2CBOOL(rb_strikethrough)));
236
241
 
237
242
  return Qnil;
238
243
  }
@@ -240,7 +245,7 @@ rbpango_attr_strikethrough_initialize(VALUE self, VALUE rb_strikethrough)
240
245
  static VALUE
241
246
  rbpango_attr_rise_initialize(VALUE self, VALUE rb_rise)
242
247
  {
243
- DATA_PTR(self) = pango_attr_rise_new(NUM2INT(rb_rise));
248
+ G_INITIALIZE(self, pango_attr_rise_new(NUM2INT(rb_rise)));
244
249
 
245
250
  return Qnil;
246
251
  }
@@ -260,14 +265,15 @@ rbpango_attr_shape_initialize(int argc, VALUE *argv, VALUE self)
260
265
  logical_rect = RVAL2PANGORECTANGLE(rb_logical_rect);
261
266
 
262
267
  if (NIL_P(rb_data)) {
263
- DATA_PTR(self) = pango_attr_shape_new(ink_rect, logical_rect);
268
+ G_INITIALIZE(self, pango_attr_shape_new(ink_rect, logical_rect));
264
269
  } else {
265
270
  G_RELATIVE(self, rb_data);
266
- DATA_PTR(self) = pango_attr_shape_new_with_data(ink_rect,
267
- logical_rect,
268
- (gpointer)rb_data,
269
- NULL,
270
- NULL);
271
+ G_INITIALIZE(self,
272
+ pango_attr_shape_new_with_data(ink_rect,
273
+ logical_rect,
274
+ (gpointer)rb_data,
275
+ NULL,
276
+ NULL));
271
277
  }
272
278
 
273
279
  return Qnil;
@@ -279,7 +285,7 @@ rbpango_attr_shape_get_data(VALUE self)
279
285
  PangoAttrShape *attr_shape;
280
286
  VALUE rb_data;
281
287
 
282
- Data_Get_Struct(self, PangoAttrShape, attr_shape);
288
+ attr_shape = (PangoAttrShape *)rbpango_attribute_from_ruby(self);
283
289
  rb_data = (VALUE)(attr_shape->data);
284
290
  return rb_data;
285
291
  }
@@ -287,7 +293,7 @@ rbpango_attr_shape_get_data(VALUE self)
287
293
  static VALUE
288
294
  rbpango_attr_scale_initialize(VALUE self, VALUE rb_scale)
289
295
  {
290
- DATA_PTR(self) = pango_attr_scale_new(NUM2DBL(rb_scale));
296
+ G_INITIALIZE(self, pango_attr_scale_new(NUM2DBL(rb_scale)));
291
297
 
292
298
  return Qnil;
293
299
  }
@@ -295,7 +301,7 @@ rbpango_attr_scale_initialize(VALUE self, VALUE rb_scale)
295
301
  static VALUE
296
302
  rbpango_attr_fallback_initialize(VALUE self, VALUE rb_enable_fallback)
297
303
  {
298
- DATA_PTR(self) = pango_attr_fallback_new(RVAL2CBOOL(rb_enable_fallback));
304
+ G_INITIALIZE(self, pango_attr_fallback_new(RVAL2CBOOL(rb_enable_fallback)));
299
305
 
300
306
  return Qnil;
301
307
  }
@@ -303,7 +309,8 @@ rbpango_attr_fallback_initialize(VALUE self, VALUE rb_enable_fallback)
303
309
  static VALUE
304
310
  rbpango_attr_letter_spacing_initialize(VALUE self, VALUE rb_letter_spacing)
305
311
  {
306
- DATA_PTR(self) = pango_attr_letter_spacing_new(NUM2INT(rb_letter_spacing));
312
+ G_INITIALIZE(self,
313
+ pango_attr_letter_spacing_new(NUM2INT(rb_letter_spacing)));
307
314
 
308
315
  return Qnil;
309
316
  }
@@ -314,9 +321,10 @@ rbpango_attr_underline_color_initialize(VALUE self,
314
321
  VALUE rb_green,
315
322
  VALUE rb_blue)
316
323
  {
317
- DATA_PTR(self) = pango_attr_underline_color_new(NUM2UINT(rb_red),
318
- NUM2UINT(rb_green),
319
- NUM2UINT(rb_blue));
324
+ G_INITIALIZE(self,
325
+ pango_attr_underline_color_new(NUM2UINT(rb_red),
326
+ NUM2UINT(rb_green),
327
+ NUM2UINT(rb_blue)));
320
328
 
321
329
  return Qnil;
322
330
  }
@@ -327,9 +335,10 @@ rbpango_attr_strikethrough_color_initialize(VALUE self,
327
335
  VALUE rb_green,
328
336
  VALUE rb_blue)
329
337
  {
330
- DATA_PTR(self) = pango_attr_strikethrough_color_new(NUM2UINT(rb_red),
331
- NUM2UINT(rb_green),
332
- NUM2UINT(rb_blue));
338
+ G_INITIALIZE(self,
339
+ pango_attr_strikethrough_color_new(NUM2UINT(rb_red),
340
+ NUM2UINT(rb_green),
341
+ NUM2UINT(rb_blue)));
333
342
 
334
343
  return Qnil;
335
344
  }
@@ -337,7 +346,8 @@ rbpango_attr_strikethrough_color_initialize(VALUE self,
337
346
  static VALUE
338
347
  rbpango_attr_absolute_size_initialize(VALUE self, VALUE rb_absolute_size)
339
348
  {
340
- DATA_PTR(self) = pango_attr_size_new_absolute(NUM2INT(rb_absolute_size));
349
+ G_INITIALIZE(self,
350
+ pango_attr_size_new_absolute(NUM2INT(rb_absolute_size)));
341
351
 
342
352
  return Qnil;
343
353
  }
@@ -345,7 +355,7 @@ rbpango_attr_absolute_size_initialize(VALUE self, VALUE rb_absolute_size)
345
355
  static VALUE
346
356
  rbpango_attr_gravity_initialize(VALUE self, VALUE rb_gravity)
347
357
  {
348
- DATA_PTR(self) = pango_attr_gravity_new(RVAL2PANGOGRAVITY(rb_gravity));
358
+ G_INITIALIZE(self, pango_attr_gravity_new(RVAL2PANGOGRAVITY(rb_gravity)));
349
359
 
350
360
  return Qnil;
351
361
  }
@@ -366,7 +376,7 @@ rbpango_attr_gravity_hint_initialize(VALUE self, VALUE rb_gravity_hint)
366
376
  PangoGravityHint hint;
367
377
 
368
378
  hint = RVAL2PANGOGRAVITYHINT(rb_gravity_hint);
369
- DATA_PTR(self) = pango_attr_gravity_hint_new(hint);
379
+ G_INITIALIZE(self, pango_attr_gravity_hint_new(hint));
370
380
 
371
381
  return Qnil;
372
382
  }
@@ -384,7 +394,8 @@ rbpango_attr_gravity_hint_get_value(VALUE self)
384
394
  static VALUE
385
395
  rbpango_attr_font_features_initialize(VALUE self, VALUE rb_font_features)
386
396
  {
387
- DATA_PTR(self) = pango_attr_font_features_new(RVAL2CSTR(rb_font_features));
397
+ G_INITIALIZE(self,
398
+ pango_attr_font_features_new(RVAL2CSTR(rb_font_features)));
388
399
 
389
400
  return Qnil;
390
401
  }
@@ -392,7 +403,7 @@ rbpango_attr_font_features_initialize(VALUE self, VALUE rb_font_features)
392
403
  static VALUE
393
404
  rbpango_attr_foreground_alpha_initialize(VALUE self, VALUE rb_alpha)
394
405
  {
395
- DATA_PTR(self) = pango_attr_foreground_alpha_new(NUM2UINT(rb_alpha));
406
+ G_INITIALIZE(self, pango_attr_foreground_alpha_new(NUM2UINT(rb_alpha)));
396
407
 
397
408
  return Qnil;
398
409
  }
@@ -400,7 +411,7 @@ rbpango_attr_foreground_alpha_initialize(VALUE self, VALUE rb_alpha)
400
411
  static VALUE
401
412
  rbpango_attr_background_alpha_initialize(VALUE self, VALUE rb_alpha)
402
413
  {
403
- DATA_PTR(self) = pango_attr_background_alpha_new(NUM2UINT(rb_alpha));
414
+ G_INITIALIZE(self, pango_attr_background_alpha_new(NUM2UINT(rb_alpha)));
404
415
 
405
416
  return Qnil;
406
417
  }
@@ -440,8 +451,7 @@ rbpango_attribute_init(VALUE mPango)
440
451
  VALUE cAttrForegroundAlpha;
441
452
  VALUE cAttrBackgroundAlpha;
442
453
 
443
- cAttribute = rb_define_class_under(mPango, "Attribute", rb_cData);
444
- rb_define_alloc_func(cAttribute, rbpango_attribute_allocate);
454
+ cAttribute = G_DEF_CLASS(pango_attribute_get_type(), "Attribute", mPango);
445
455
 
446
456
  #define DEFINE_ABSTRACT_ATTRIBUTE_BEGIN(ClassName, parent) do { \
447
457
  c ## ClassName = rb_define_class_under(mPango, \
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2017 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2017-2018 Ruby-GNOME2 Project Team
4
4
  *
5
5
  * This library is free software; you can redistribute it and/or
6
6
  * modify it under the terms of the GNU Lesser General Public
@@ -75,7 +75,7 @@ extern PangoAttribute *rbpango_attribute_from_ruby(VALUE rb_attribute);
75
75
  #define PANGOLOGATTR2RVAL(o) (BOXED2RVAL(o, PANGO_TYPE_LOG_ATTR))
76
76
  #define RVAL2PANGOMATRIX(o) ((PangoMatrix*)RVAL2BOXED(o, PANGO_TYPE_MATRIX))
77
77
  #define PANGOMATRIX2RVAL(o) (BOXED2RVAL(o, PANGO_TYPE_MATRIX))
78
- #define RVAL2PANGORECTANGLE(o) ((PangoRectangle *)DATA_PTR(o))
78
+ #define RVAL2PANGORECTANGLE(o) ((PangoRectangle *)rb_gi_struct_get_raw(o, G_TYPE_NONE))
79
79
  #define RVAL2PANGOSCRIPTITER(o) ((PangoScriptIter*)RVAL2BOXED(o, PANGO_TYPE_SCRIPT_ITER))
80
80
  #define PANGOSCRIPTITER2RVAL(o) (BOXED2RVAL(o, PANGO_TYPE_SCRIPT_ITER))
81
81
  #define RVAL2PANGOTABARRAY(o) ((PangoTabArray*)RVAL2BOXED(o, PANGO_TYPE_TAB_ARRAY))
@@ -115,4 +115,4 @@ extern PangoAttribute *rbpango_attribute_from_ruby(VALUE rb_attribute);
115
115
  #define RVAL2PANGOFONTMASK(o) (RVAL2GFLAGS(o, PANGO_TYPE_FONT_MASK))
116
116
  #define PANGOFONTMASK2RVAL(o) (GFLAGS2RVAL(o, PANGO_TYPE_FONT_MASK))
117
117
 
118
- #define RVAL2PANGOATTR(o) (DATA_PTR(o))
118
+ #define RVAL2PANGOATTR(o) (rbpango_attribute_from_ruby(o))
@@ -25,5 +25,4 @@
25
25
  G_GNUC_INTERNAL void rbpango_attribute_init(VALUE mPango);
26
26
  G_GNUC_INTERNAL void rbpango_attr_iterator_init(VALUE mPango);
27
27
  G_GNUC_INTERNAL void rbpango_attr_list_init(VALUE mPango);
28
- G_GNUC_INTERNAL void rbpango_context_init(VALUE mPango);
29
28
  G_GNUC_INTERNAL void rbpango_scale_init(VALUE mPango);
data/ext/pango/rb-pango.c CHANGED
@@ -40,6 +40,5 @@ Init_pango(void)
40
40
  rbpango_attribute_init(RG_TARGET_NAMESPACE);
41
41
  rbpango_attr_iterator_init(RG_TARGET_NAMESPACE);
42
42
  rbpango_attr_list_init(RG_TARGET_NAMESPACE);
43
- rbpango_context_init(RG_TARGET_NAMESPACE);
44
43
  rbpango_scale_init(RG_TARGET_NAMESPACE);
45
44
  }
data/ext/pango/rb-pango.h CHANGED
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2017 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2017-2018 Ruby-GNOME2 Project Team
4
4
  *
5
5
  * This library is free software; you can redistribute it and/or
6
6
  * modify it under the terms of the GNU Lesser General Public
@@ -23,6 +23,7 @@
23
23
  #include <pango/pango.h>
24
24
 
25
25
  #include <rbgobject.h>
26
+ #include <rb-gobject-introspection.h>
26
27
 
27
28
  #include "rb-pango-conversions.h"
28
29
 
data/lib/2.2/pango.so CHANGED
Binary file
data/lib/2.3/pango.so CHANGED
Binary file
data/lib/2.4/pango.so CHANGED
Binary file
data/lib/2.5/pango.so CHANGED
Binary file
data/lib/pango/loader.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2017 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2017-2018 Ruby-GNOME2 Project Team
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -30,10 +30,22 @@ module Pango
30
30
  load_methods(info, klass)
31
31
  end
32
32
  require_libraries
33
+ convert_attribute_classes
34
+ end
35
+
36
+ def convert_attribute_classes
37
+ self.class.register_boxed_class_converter(Attribute.gtype) do |attribute|
38
+ attribute.klass.type.to_class
39
+ end
33
40
  end
34
41
 
35
42
  def load_struct_info(info)
36
43
  case info.name
44
+ when "AttrClass"
45
+ klass = self.class.define_struct(info.size,
46
+ info.name,
47
+ @base_module)
48
+ load_fields(info, klass)
37
49
  when /Class\z/
38
50
  super
39
51
  when "Attribute", /\AAttr[A-Z]/
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2017 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2017-2018 Ruby-GNOME2 Project Team
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -28,5 +28,11 @@ module Pango
28
28
  def to_a
29
29
  [x, y, width, height]
30
30
  end
31
+
32
+ def dup
33
+ duplicated = self.class.new(x, y, width, height)
34
+ duplicated.taint if tainted?
35
+ duplicated
36
+ end
31
37
  end
32
38
  end
data/pango.gemspec ADDED
@@ -0,0 +1,43 @@
1
+ # -*- ruby -*-
2
+ #
3
+ # Copyright (C) 2018 Ruby-GNOME2 Project Team
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+
19
+ require_relative "../glib2/version"
20
+
21
+ Gem::Specification.new do |s|
22
+ s.name = "pango"
23
+ s.summary = "Ruby/Pango is a Ruby binding of pango-1.x."
24
+ s.description = "Ruby/Pango is a Ruby binding of pango-1.x."
25
+ s.author = "The Ruby-GNOME2 Project Team"
26
+ s.email = "ruby-gnome2-devel-en@lists.sourceforge.net"
27
+ s.homepage = "https://ruby-gnome2.osdn.jp/"
28
+ s.licenses = ["LGPL-2.1+"]
29
+ s.version = ruby_glib2_version
30
+ s.extensions = ["ext/#{s.name}/extconf.rb"]
31
+ s.require_paths = ["lib"]
32
+ s.files = [
33
+ "COPYING.LIB",
34
+ "README.md",
35
+ "Rakefile",
36
+ "#{s.name}.gemspec",
37
+ "extconf.rb",
38
+ "ext/#{s.name}/depend",
39
+ ]
40
+ s.files += Dir.glob("lib/**/*.rb")
41
+ s.files += Dir.glob("ext/#{s.name}/*.{c,h,def,rb}")
42
+ s.files += Dir.glob("test/**/*")
43
+ end
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -7,10 +7,10 @@
7
7
  #define FRIBIDI_NAME "GNU FriBidi"
8
8
  #define FRIBIDI_BUGREPORT "https://github.com/fribidi/fribidi/issues/new"
9
9
 
10
- #define FRIBIDI_VERSION "1.0.2"
10
+ #define FRIBIDI_VERSION "1.0.3"
11
11
  #define FRIBIDI_MAJOR_VERSION 1
12
12
  #define FRIBIDI_MINOR_VERSION 0
13
- #define FRIBIDI_MICRO_VERSION 2
13
+ #define FRIBIDI_MICRO_VERSION 3
14
14
  #define FRIBIDI_INTERFACE_VERSION 4
15
15
  #define FRIBIDI_INTERFACE_VERSION_STRING "4"
16
16
 
@@ -123,6 +123,8 @@ hb_blob_get_data (hb_blob_t *blob, unsigned int *length);
123
123
  HB_EXTERN char *
124
124
  hb_blob_get_data_writable (hb_blob_t *blob, unsigned int *length);
125
125
 
126
+ HB_EXTERN hb_blob_t *
127
+ hb_blob_create_from_file (const char *file_name);
126
128
 
127
129
  HB_END_DECLS
128
130
 
@@ -49,6 +49,16 @@
49
49
  # include <inttypes.h>
50
50
  #elif defined (_AIX)
51
51
  # include <sys/inttypes.h>
52
+ #elif defined (_MSC_VER) && _MSC_VER < 1600
53
+ /* VS 2010 (_MSC_VER 1600) has stdint.h */
54
+ typedef __int8 int8_t;
55
+ typedef unsigned __int8 uint8_t;
56
+ typedef __int16 int16_t;
57
+ typedef unsigned __int16 uint16_t;
58
+ typedef __int32 int32_t;
59
+ typedef unsigned __int32 uint32_t;
60
+ typedef __int64 int64_t;
61
+ typedef unsigned __int64 uint64_t;
52
62
  #else
53
63
  # include <stdint.h>
54
64
  #endif
@@ -142,8 +152,8 @@ hb_language_get_default (void);
142
152
 
143
153
  /* hb_script_t */
144
154
 
145
- /* http://unicode.org/iso15924/ */
146
- /* http://goo.gl/x9ilM */
155
+ /* https://unicode.org/iso15924/ */
156
+ /* https://docs.google.com/spreadsheets/d/1Y90M0Ie3MUJ6UVCRDOypOtijlMDLNNyyLk36T6iMu0o */
147
157
  /* Unicode Character Database property: Script (sc) */
148
158
  typedef enum
149
159
  {
@@ -315,6 +325,17 @@ typedef enum
315
325
  /*10.0*/HB_SCRIPT_SOYOMBO = HB_TAG ('S','o','y','o'),
316
326
  /*10.0*/HB_SCRIPT_ZANABAZAR_SQUARE = HB_TAG ('Z','a','n','b'),
317
327
 
328
+ /*
329
+ * Since 1.8.0
330
+ */
331
+ /*11.0*/HB_SCRIPT_DOGRA = HB_TAG ('D','o','g','r'),
332
+ /*11.0*/HB_SCRIPT_GUNJALA_GONDI = HB_TAG ('G','o','n','g'),
333
+ /*11.0*/HB_SCRIPT_HANIFI_ROHINGYA = HB_TAG ('R','o','h','g'),
334
+ /*11.0*/HB_SCRIPT_MAKASAR = HB_TAG ('M','a','k','a'),
335
+ /*11.0*/HB_SCRIPT_MEDEFAIDRIN = HB_TAG ('M','e','d','f'),
336
+ /*11.0*/HB_SCRIPT_OLD_SOGDIAN = HB_TAG ('S','o','g','o'),
337
+ /*11.0*/HB_SCRIPT_SOGDIAN = HB_TAG ('S','o','g','d'),
338
+
318
339
  /* No script set. */
319
340
  HB_SCRIPT_INVALID = HB_TAG_NONE,
320
341
 
@@ -323,7 +344,7 @@ typedef enum
323
344
  * since technically enums are int, and indeed, hb_script_t ends up being signed.
324
345
  * See this thread for technicalities:
325
346
  *
326
- * http://lists.freedesktop.org/archives/harfbuzz/2014-March/004150.html
347
+ * https://lists.freedesktop.org/archives/harfbuzz/2014-March/004150.html
327
348
  */
328
349
  _HB_SCRIPT_MAX_VALUE = HB_TAG_MAX, /*< skip >*/
329
350
  _HB_SCRIPT_MAX_VALUE_SIGNED = HB_TAG_MAX_SIGNED /*< skip >*/
@@ -37,6 +37,10 @@
37
37
  HB_BEGIN_DECLS
38
38
 
39
39
 
40
+ HB_EXTERN unsigned int
41
+ hb_face_count (hb_blob_t *blob);
42
+
43
+
40
44
  /*
41
45
  * hb_face_t
42
46
  */