pango 2.0.1 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +6 -0
- data/ext/pango/rbpangocairo.c +27 -3
- data/ext/pango/rbpangofontmap.c +0 -20
- data/ext/pango/rbpangoglyphstring.c +2 -2
- data/sample/break.rb +2 -0
- data/sample/gdk_layout.rb +1 -1
- data/sample/glyphstring.rb +1 -1
- data/sample/item.rb +3 -1
- data/sample/label.rb +1 -1
- data/sample/layout.rb +1 -1
- data/sample/parse.rb +1 -1
- data/sample/script.rb +2 -0
- metadata +4 -4
    
        data/Rakefile
    CHANGED
    
    | @@ -17,6 +17,12 @@ package_task = GNOME2::Rake::PackageTask.new do |package| | |
| 17 17 | 
             
                  :label => "HarfBuzz",
         | 
| 18 18 | 
             
                  :version => "0.9.17",
         | 
| 19 19 | 
             
                  :compression_method => "bz2",
         | 
| 20 | 
            +
                  :windows => {
         | 
| 21 | 
            +
                    :patches => [
         | 
| 22 | 
            +
                      "harfbuzz-0.9.17-disable-uniscribe.diff",
         | 
| 23 | 
            +
                    ],
         | 
| 24 | 
            +
                    :need_autoreconf => true,
         | 
| 25 | 
            +
                  },
         | 
| 20 26 | 
             
                },
         | 
| 21 27 | 
             
                {
         | 
| 22 28 | 
             
                  :name => "pango",
         | 
    
        data/ext/pango/rbpangocairo.c
    CHANGED
    
    | @@ -28,9 +28,33 @@ | |
| 28 28 | 
             
            #define _SELF(self) (RVAL2PANGOCAIROFONTMAP(self))
         | 
| 29 29 |  | 
| 30 30 | 
             
            static VALUE
         | 
| 31 | 
            -
            rg_s_create(G_GNUC_UNUSED VALUE klass)
         | 
| 31 | 
            +
            rg_s_create(int argc, VALUE *argv, G_GNUC_UNUSED VALUE klass)
         | 
| 32 32 | 
             
            {
         | 
| 33 | 
            -
                 | 
| 33 | 
            +
                VALUE rb_font_type;
         | 
| 34 | 
            +
                PangoFontMap *font_map = NULL;
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                rb_scan_args(argc, argv, "01", &rb_font_type);
         | 
| 37 | 
            +
                if (NIL_P(rb_font_type)) {
         | 
| 38 | 
            +
                    font_map = pango_cairo_font_map_new();
         | 
| 39 | 
            +
                } else {
         | 
| 40 | 
            +
                    cairo_font_type_t font_type = CAIRO_FONT_TYPE_USER;
         | 
| 41 | 
            +
                    if (rbgutil_key_equal(rb_font_type, "ft") ||
         | 
| 42 | 
            +
                        rbgutil_key_equal(rb_font_type, "freetype")) {
         | 
| 43 | 
            +
                        font_type = CAIRO_FONT_TYPE_FT;
         | 
| 44 | 
            +
                    } else if (rbgutil_key_equal(rb_font_type, "win32")) {
         | 
| 45 | 
            +
                        font_type = CAIRO_FONT_TYPE_WIN32;
         | 
| 46 | 
            +
                    } else if (rbgutil_key_equal(rb_font_type, "quartz")) {
         | 
| 47 | 
            +
                        font_type = CAIRO_FONT_TYPE_QUARTZ;
         | 
| 48 | 
            +
                    } else {
         | 
| 49 | 
            +
                        rb_raise(rb_eArgError,
         | 
| 50 | 
            +
                                 "font type must be one of "
         | 
| 51 | 
            +
                                 ":ft, :freetype, :win32 or :quartz: %s",
         | 
| 52 | 
            +
                                 RBG_INSPECT(rb_font_type));
         | 
| 53 | 
            +
                    }
         | 
| 54 | 
            +
                    font_map = pango_cairo_font_map_new_for_font_type(font_type);
         | 
| 55 | 
            +
                }
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                return GOBJ2RVAL(font_map);
         | 
| 34 58 | 
             
            }
         | 
| 35 59 |  | 
| 36 60 | 
             
            static VALUE
         | 
| @@ -78,7 +102,7 @@ Init_pango_cairo(VALUE mPango) | |
| 78 102 | 
             
                /* Pango::CairoFontMap */
         | 
| 79 103 | 
             
                RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_CAIRO_FONT_MAP, "CairoFontMap", mPango);
         | 
| 80 104 |  | 
| 81 | 
            -
                RG_DEF_SMETHOD(create,  | 
| 105 | 
            +
                RG_DEF_SMETHOD(create, -1);
         | 
| 82 106 | 
             
                RG_DEF_SMETHOD(default, 0);
         | 
| 83 107 | 
             
            #  if PANGO_CHECK_VERSION(1, 22, 0)
         | 
| 84 108 | 
             
                RG_DEF_SMETHOD(set_default, 1);
         | 
    
        data/ext/pango/rbpangofontmap.c
    CHANGED
    
    | @@ -24,18 +24,6 @@ | |
| 24 24 | 
             
            #define RG_TARGET_NAMESPACE cFontMap
         | 
| 25 25 | 
             
            #define _SELF(self) (RVAL2PANGOFONTMAP(self))
         | 
| 26 26 |  | 
| 27 | 
            -
            #ifdef CAIRO_AVAILABLE
         | 
| 28 | 
            -
            #  ifdef HAVE_PANGO_FT2
         | 
| 29 | 
            -
            #    define PANGO_TYPE_CAIRO_FC_FONT_MAP \
         | 
| 30 | 
            -
                (pango_cairo_fc_font_map_get_type())
         | 
| 31 | 
            -
            #  endif
         | 
| 32 | 
            -
             | 
| 33 | 
            -
            #  ifdef HAVE_PANGO_WIN32
         | 
| 34 | 
            -
            #    define PANGO_TYPE_CAIRO_WIN32_FONT_MAP \
         | 
| 35 | 
            -
                  (pango_cairo_win32_font_map_get_type())
         | 
| 36 | 
            -
            #  endif
         | 
| 37 | 
            -
            #endif
         | 
| 38 | 
            -
             | 
| 39 27 | 
             
            /*
         | 
| 40 28 | 
             
            static VALUE
         | 
| 41 29 | 
             
            rg_initialize(VALUE self)
         | 
| @@ -112,15 +100,7 @@ Init_pango_font_map(VALUE mPango) | |
| 112 100 | 
             
                G_DEF_CLASS3("PangoXFontMap", "XFontMap", mPango);
         | 
| 113 101 | 
             
                G_DEF_CLASS3("PangoWin32FontMap", "Win32FontMap", mPango);
         | 
| 114 102 | 
             
                G_DEF_CLASS3("PangoCoreTextFontMap", "CoreTextFontMap", mPango);
         | 
| 115 | 
            -
            #ifdef PANGO_TYPE_CAIRO_FC_FONT_MAP
         | 
| 116 | 
            -
                G_DEF_CLASS(PANGO_TYPE_CAIRO_FC_FONT_MAP, "CairoFcFontMap", mPango);
         | 
| 117 | 
            -
            #else
         | 
| 118 103 | 
             
                G_DEF_CLASS3("PangoCairoFcFontMap", "CairoFcFontMap", mPango);
         | 
| 119 | 
            -
            #endif
         | 
| 120 | 
            -
            #ifdef PANGO_TYPE_CAIRO_WIN32_FONT_MAP
         | 
| 121 | 
            -
                G_DEF_CLASS(PANGO_TYPE_CAIRO_WIN32_FONT_MAP, "CairoWin32FontMap", mPango);
         | 
| 122 | 
            -
            #else
         | 
| 123 104 | 
             
                G_DEF_CLASS3("PangoCairoWin32FontMap", "CairoWin32FontMap", mPango);
         | 
| 124 | 
            -
            #endif
         | 
| 125 105 | 
             
                G_DEF_CLASS3("PangoCairoCoreTextFontMap", "CairoCoreTextFontMap", mPango);
         | 
| 126 106 | 
             
            }
         | 
| @@ -125,13 +125,13 @@ static VALUE | |
| 125 125 | 
             
            rg_glyphs(VALUE self)
         | 
| 126 126 | 
             
            {
         | 
| 127 127 | 
             
                int i;
         | 
| 128 | 
            -
                PangoGlyphInfo | 
| 128 | 
            +
                PangoGlyphInfo *glyphs = _SELF(self)->glyphs;
         | 
| 129 129 | 
             
                gint* log_clusters = _SELF(self)->log_clusters;
         | 
| 130 130 |  | 
| 131 131 | 
             
                VALUE ret = rb_ary_new();
         | 
| 132 132 | 
             
                for (i = 0; i < _SELF(self)->num_glyphs; i++) {
         | 
| 133 133 | 
             
                    rb_ary_push(ret, 
         | 
| 134 | 
            -
                                rb_assoc_new(PANGOGLYPHINFO2RVAL(glyphs | 
| 134 | 
            +
                                rb_assoc_new(PANGOGLYPHINFO2RVAL(glyphs + i),
         | 
| 135 135 | 
             
                                             INT2NUM(log_clusters[i])));
         | 
| 136 136 | 
             
                }
         | 
| 137 137 | 
             
                return ret;
         | 
    
        data/sample/break.rb
    CHANGED
    
    
    
        data/sample/gdk_layout.rb
    CHANGED
    
    | @@ -17,7 +17,7 @@ gdkwin = window.window | |
| 17 17 | 
             
            gc = Gdk::GC.new(gdkwin)
         | 
| 18 18 |  | 
| 19 19 | 
             
            layout = window.create_pango_layout
         | 
| 20 | 
            -
            layout.set_markup(File. | 
| 20 | 
            +
            layout.set_markup(File.read("sample.txt"), "$")
         | 
| 21 21 | 
             
            window.signal_connect("expose_event") do
         | 
| 22 22 | 
             
              gdkwin.draw_layout(gc, 10, 10, layout)
         | 
| 23 23 | 
             
            end
         | 
    
        data/sample/glyphstring.rb
    CHANGED
    
    | @@ -42,7 +42,7 @@ p logical_rect.to_a | |
| 42 42 |  | 
| 43 43 | 
             
            item = Pango::Item.new
         | 
| 44 44 | 
             
            item.analysis.font = font
         | 
| 45 | 
            -
            item.analysis.shape_engine = font.find_shaper(lang, str | 
| 45 | 
            +
            item.analysis.shape_engine = font.find_shaper(lang, str.codepoints.first)
         | 
| 46 46 |  | 
| 47 47 | 
             
            gs = Pango.shape(str, item.analysis)
         | 
| 48 48 |  | 
    
        data/sample/item.rb
    CHANGED
    
    | @@ -1,3 +1,5 @@ | |
| 1 | 
            +
            # -*- coding: utf-8 -*-
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            =begin
         | 
| 2 4 | 
             
              item.rb - Ruby/Pango sample script.
         | 
| 3 5 |  | 
| @@ -29,7 +31,7 @@ items.each do |v| | |
| 29 31 | 
             
              ana = v.analysis
         | 
| 30 32 | 
             
              puts "shape_engine = #{ana.shape_engine}, lang_engine = #{ana.lang_engine}, font = #{ana.font}, level = #{ana.level}"
         | 
| 31 33 | 
             
              puts "language = #{ana.language}"
         | 
| 32 | 
            -
              p ana.font.get_glyph_extents("a" | 
| 34 | 
            +
              p ana.font.get_glyph_extents("a".codepoints.first)[0].to_a
         | 
| 33 35 | 
             
              ana.set_extra_attrs(attrs)
         | 
| 34 36 | 
             
              p ana.extra_attrs
         | 
| 35 37 | 
             
            end
         | 
    
        data/sample/label.rb
    CHANGED
    
    
    
        data/sample/layout.rb
    CHANGED
    
    | @@ -14,7 +14,7 @@ require 'pp' | |
| 14 14 | 
             
            puts
         | 
| 15 15 | 
             
            puts "Start----------"
         | 
| 16 16 | 
             
            puts
         | 
| 17 | 
            -
            str = File. | 
| 17 | 
            +
            str = File.read("sample.txt")
         | 
| 18 18 | 
             
            context = Gdk::Pango.context
         | 
| 19 19 | 
             
            context.base_dir = Pango::Context::DIRECTION_LTR
         | 
| 20 20 | 
             
            context.language = Pango::Language.new("ja_JP")
         | 
    
        data/sample/parse.rb
    CHANGED
    
    
    
        data/sample/script.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: pango
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.0. | 
| 4 | 
            +
              version: 2.0.2
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2013-05- | 
| 12 | 
            +
            date: 2013-05-26 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: cairo
         | 
| @@ -34,7 +34,7 @@ dependencies: | |
| 34 34 | 
             
                requirements:
         | 
| 35 35 | 
             
                - - '='
         | 
| 36 36 | 
             
                  - !ruby/object:Gem::Version
         | 
| 37 | 
            -
                    version: 2.0. | 
| 37 | 
            +
                    version: 2.0.2
         | 
| 38 38 | 
             
              type: :runtime
         | 
| 39 39 | 
             
              prerelease: false
         | 
| 40 40 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -42,7 +42,7 @@ dependencies: | |
| 42 42 | 
             
                requirements:
         | 
| 43 43 | 
             
                - - '='
         | 
| 44 44 | 
             
                  - !ruby/object:Gem::Version
         | 
| 45 | 
            -
                    version: 2.0. | 
| 45 | 
            +
                    version: 2.0.2
         | 
| 46 46 | 
             
            description: Ruby/Pango is a Ruby binding of pango-1.x.
         | 
| 47 47 | 
             
            email: ruby-gnome2-devel-en@lists.sourceforge.net
         | 
| 48 48 | 
             
            executables: []
         |