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,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2011 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2017 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
@@ -18,8 +18,7 @@
18
18
  * MA 02110-1301 USA
19
19
  */
20
20
 
21
- #ifndef __PANGOCONVERSIONS_H__
22
- #define __PANGOCONVERSIONS_H__
21
+ #pragma once
23
22
 
24
23
  #define RVAL2PANGOCAIROFONTMAP(o) (PANGO_CAIRO_FONT_MAP(RVAL2GOBJ(o)))
25
24
  #define RVAL2PANGOCONTEXT(o) (PANGO_CONTEXT(RVAL2GOBJ(o)))
@@ -67,8 +66,7 @@
67
66
  #define PANGOLOGATTR2RVAL(o) (BOXED2RVAL(o, PANGO_TYPE_LOG_ATTR))
68
67
  #define RVAL2PANGOMATRIX(o) ((PangoMatrix*)RVAL2BOXED(o, PANGO_TYPE_MATRIX))
69
68
  #define PANGOMATRIX2RVAL(o) (BOXED2RVAL(o, PANGO_TYPE_MATRIX))
70
- #define RVAL2PANGORECTANGLE(o) ((PangoRectangle*)RVAL2BOXED(o, PANGO_TYPE_RECTANGLE))
71
- #define PANGORECTANGLE2RVAL(o) (BOXED2RVAL(o, PANGO_TYPE_RECTANGLE))
69
+ #define RVAL2PANGORECTANGLE(o) ((PangoRectangle *)DATA_PTR(o))
72
70
  #define RVAL2PANGOSCRIPTITER(o) ((PangoScriptIter*)RVAL2BOXED(o, PANGO_TYPE_SCRIPT_ITER))
73
71
  #define PANGOSCRIPTITER2RVAL(o) (BOXED2RVAL(o, PANGO_TYPE_SCRIPT_ITER))
74
72
  #define RVAL2PANGOTABARRAY(o) ((PangoTabArray*)RVAL2BOXED(o, PANGO_TYPE_TAB_ARRAY))
@@ -108,4 +106,4 @@
108
106
  #define RVAL2PANGOFONTMASK(o) (RVAL2GFLAGS(o, PANGO_TYPE_FONT_MASK))
109
107
  #define PANGOFONTMASK2RVAL(o) (GFLAGS2RVAL(o, PANGO_TYPE_FONT_MASK))
110
108
 
111
- #endif /* __PANGOCONVERSIONS_H__ */
109
+ #define RVAL2PANGOATTR(o) (DATA_PTR(o))
@@ -0,0 +1,27 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2017 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,
18
+ * MA 02110-1301 USA
19
+ */
20
+
21
+ #pragma once
22
+
23
+ #include "rb-pango.h"
24
+
25
+ G_GNUC_INTERNAL void rbpango_attribute_init(VALUE mPango);
26
+ G_GNUC_INTERNAL void rbpango_attr_list_init(VALUE mPango);
27
+ G_GNUC_INTERNAL void rbpango_context_init(VALUE mPango);
@@ -0,0 +1,32 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2017 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,
18
+ * MA 02110-1301 USA
19
+ */
20
+
21
+ #include "rb-pango-private.h"
22
+
23
+ void
24
+ Init_pango(void)
25
+ {
26
+ VALUE mPango;
27
+
28
+ mPango = rb_define_module("Pango");
29
+ rbpango_attribute_init(mPango);
30
+ rbpango_attr_list_init(mPango);
31
+ rbpango_context_init(mPango);
32
+ }
@@ -0,0 +1,29 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2017 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,
18
+ * MA 02110-1301 USA
19
+ */
20
+
21
+ #pragma once
22
+
23
+ #include <pango/pango.h>
24
+
25
+ #include <rbgobject.h>
26
+
27
+ #include "rb-pango-conversions.h"
28
+
29
+ extern void Init_pango(void);
data/extconf.rb CHANGED
@@ -1,18 +1,34 @@
1
1
  #!/usr/bin/env ruby
2
+ #
3
+ # Copyright (C) 2017 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
2
18
 
3
- require 'pathname'
4
- require 'mkmf'
5
- require 'rbconfig'
6
- require 'fileutils'
19
+ require "pathname"
20
+ require "mkmf"
21
+ require "rbconfig"
22
+ require "fileutils"
7
23
 
8
24
  package = "pango"
9
25
 
10
26
  base_dir = Pathname(__FILE__).dirname.expand_path
11
27
  ext_dir = base_dir + "ext" + package
12
- mkmf_gnome2_dir = base_dir + 'lib'
28
+ mkmf_gnome2_dir = base_dir + "lib"
13
29
 
14
- ruby = File.join(RbConfig::CONFIG['bindir'],
15
- RbConfig::CONFIG['ruby_install_name'] +
30
+ ruby = File.join(RbConfig::CONFIG["bindir"],
31
+ RbConfig::CONFIG["ruby_install_name"] +
16
32
  RbConfig::CONFIG["EXEEXT"])
17
33
 
18
34
  build_dir = Pathname("ext") + package
@@ -24,7 +40,7 @@ create_makefile(package)
24
40
  FileUtils.mv("Makefile", "Makefile.lib")
25
41
 
26
42
  File.open("Makefile", "w") do |makefile|
27
- makefile.puts(<<-EOM)
43
+ makefile.puts(<<-MAKEFILE)
28
44
  all:
29
45
  (cd ext/#{package} && $(MAKE))
30
46
  $(MAKE) -f Makefile.lib
@@ -45,5 +61,5 @@ distclean:
45
61
  (cd ext/#{package} && $(MAKE) distclean)
46
62
  $(MAKE) -f Makefile.lib distclean
47
63
  @rm -f Makefile.lib
48
- EOM
64
+ MAKEFILE
49
65
  end
data/lib/pango.rb CHANGED
@@ -1,84 +1,40 @@
1
+ # Copyright (C) 2017 Ruby-GNOME2 Project Team
1
2
  #
2
- # pango.rb
3
- # Copyright(C) 2005-2015 Ruby-GNOME2 Project.
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
4
7
  #
5
- # This program is licenced under the same
6
- # license of Ruby-GNOME2.
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
7
12
  #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
8
16
 
9
- require 'glib2'
10
- require 'cairo'
17
+ require "gobject-introspection"
18
+ require "cairo"
19
+ require "cairo-gobject"
11
20
 
12
21
  base_dir = Pathname.new(__FILE__).dirname.dirname.expand_path
13
22
  vendor_dir = base_dir + "vendor" + "local"
14
23
  vendor_bin_dir = vendor_dir + "bin"
15
24
  GLib.prepend_dll_path(vendor_bin_dir)
16
- begin
17
- major, minor, _ = RUBY_VERSION.split(/\./)
18
- require "#{major}.#{minor}/pango.so"
19
- rescue LoadError
20
- require "pango.so"
21
- end
25
+ vendor_girepository_dir = vendor_dir + "lib" + "girepository-1.0"
26
+ GObjectIntrospection.prepend_typelib_path(vendor_girepository_dir)
22
27
 
23
- if vendor_dir.exist?
24
- begin
25
- require "gobject-introspection"
26
- vendor_girepository_dir = vendor_dir + "lib" + "girepository-1.0"
27
- GObjectIntrospection.prepend_typelib_path(vendor_girepository_dir)
28
- rescue LoadError
29
- end
30
- end
28
+ require "pango/loader"
29
+ require "pango/cairo-loader"
31
30
 
32
31
  module Pango
33
32
  LOG_DOMAIN = "Pango"
33
+ GLib::Log.set_log_domain(LOG_DOMAIN)
34
34
 
35
- class AttrList
36
- def each(text = nil)
37
- iter = iterator
38
- begin
39
- if text
40
- s, e = iter.range
41
- yield(iter, text[s, e - s], s, e)
42
- else
43
- yield(iter)
44
- end
45
- end while iter.next!
46
- end
47
- end
48
-
49
- # [[klass, prefix], ....]]
50
- targets = [[Layout::Alignment, "ALIGN_"], [AttrScale, "SCALE_"],
51
- [Coverage::Level, "COVERAGE_"], [Context::Direction, "DIRECTION_"],
52
- [Layout::WrapMode, "WRAP_"], [FontDescription::FontMask, "FONT_MASK_"],
53
- [FontDescription::Stretch, "STRETCH_"], [FontDescription::Style, "STYLE_"],
54
- [FontDescription::Variant, "VARIANT_"], [FontDescription::Weight, "WEIGHT_"],
55
- [TabArray::TabAlign, "TAB_"],
56
- [AttrUnderline::Underline, "UNDERLINE_"]]
35
+ loader = Loader.new(self)
36
+ loader.load("Pango")
57
37
 
58
- targets << [Script, "SCRIPT_"] if defined? Script
59
- targets << [Layout::EllipsizeMode, "ELLIPSIZE_"] if defined? Layout::EllipsizeMode
60
- targets << [Renderer::Part, "PART_"] if defined? Renderer::Part
61
-
62
- targets.each do |klass, prefix|
63
- (klass.constants - klass.superclass.constants).each do |name|
64
- unless klass.const_get(name).is_a? Class
65
- const_set("#{prefix}#{name}", klass.const_get(name))
66
- end
67
- end
68
- end
69
-
70
- module Version
71
- MAJOR, MINOR, MICRO = BUILD_VERSION
72
- STRING = Pango.version_string
73
-
74
- class << self
75
- def or_later?(major, minor, micro = nil)
76
- micro || 0
77
- error_message = Pango.check_version(major, minor, micro)
78
- error_message.nil?
79
- end
80
- end
81
- end
38
+ cairo_loader = CairoLoader.new(self)
39
+ cairo_loader.load("PangoCairo")
82
40
  end
83
-
84
- GLib::Log.set_log_domain(Pango::LOG_DOMAIN)
@@ -0,0 +1,63 @@
1
+ # Copyright (C) 2017 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ module Pango
18
+ class CairoLoader < GObjectIntrospection::Loader
19
+ private
20
+ def pre_load(repository, namespace)
21
+ @context_class = @base_module.const_get(:Context)
22
+ end
23
+
24
+ def rubyish_class_name(info)
25
+ "Cairo#{super}"
26
+ end
27
+
28
+ def load_function_info(info)
29
+ case info.name
30
+ when /\Acontext_get_(.+)\z/
31
+ method_name = $1
32
+ define_method(info, @context_class, method_name)
33
+ when /\Acontext_set_(.+)\z/
34
+ method_base_name = $1
35
+ setter_method_name = "set_#{method_base_name}"
36
+ if @context_class.method_defined?(setter_method_name)
37
+ # ignore
38
+ return
39
+ end
40
+ define_method(info, @context_class, setter_method_name)
41
+ if info.n_args == 2
42
+ equal_method_name = "#{method_base_name}="
43
+ remove_existing_method(@context_class, equal_method_name)
44
+ @context_class.__send__(:alias_method,
45
+ equal_method_name,
46
+ setter_method_name)
47
+ end
48
+ when /\Afont_map_/
49
+ # ignore
50
+ when /\Acreate_(.+)\z/
51
+ define_method(info, Cairo::Context, "create_pango_#{$1}")
52
+ when /\A(.+_path)\z/
53
+ define_method(info, Cairo::Context, "pango_#{$1}")
54
+ when /\Ashow_(.+)\z/
55
+ define_method(info, Cairo::Context, "show_pango_#{$1}")
56
+ when /\Aupdate_(.+)\z/
57
+ define_method(info, Cairo::Context, "update_pango_#{$1}")
58
+ else
59
+ warn("Unsupported PangoCairo function: #{info.name}")
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,31 @@
1
+ # Copyright (C) 2017 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ module Pango
18
+ class Color
19
+ alias_method :initialize_raw, :initialize
20
+ def initialize(red, green, blue)
21
+ initialize_raw
22
+ self.red = red
23
+ self.green = green
24
+ self.blue = blue
25
+ end
26
+
27
+ def to_a
28
+ [red, green, blue]
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,37 @@
1
+ # Copyright (C) 2017 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ module Pango
18
+ class Context
19
+ extend GLib::Deprecatable
20
+
21
+ define_deprecated_enums :Direction, "DIRECTION"
22
+ end
23
+
24
+ class Gravity
25
+ extend GLib::Deprecatable
26
+
27
+ define_deprecated_enums :GravityHint, "HINT"
28
+ end
29
+
30
+ class Layout
31
+ extend GLib::Deprecatable
32
+
33
+ define_deprecated_enums :Alignment, "ALIGN"
34
+ define_deprecated_enums :WrapMode, "WRAP"
35
+ define_deprecated_enums :EllipsizeMode, "ELLIPSIZE"
36
+ end
37
+ end
@@ -0,0 +1,29 @@
1
+ # Copyright (C) 2017 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ module Pango
18
+ class FontDescription
19
+ class << self
20
+ def new(description=nil)
21
+ if description
22
+ from_string(description)
23
+ else
24
+ super()
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end