pango 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +14 -0
- data/ext/pango/rbpangoattribute.c +1 -1
- data/ext/pango/rbpangocoverage.c +1 -1
- data/ext/pango/rbpangoglyphstring.c +9 -4
- data/ext/pango/rbpangoinits.c +2 -1
- data/ext/pango/rbpangolayout.c +12 -4
- data/ext/pango/rbpangolayoutiter.c +2 -12
- data/ext/pango/rbpangomain.c +16 -16
- data/ext/pango/rbpangoscriptiter.c +1 -1
- data/lib/pango.rb +1 -1
- metadata +7 -7
data/ChangeLog
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
2011-09-16 Nikolai Weibull <now@bitwi.se>
|
2
|
+
|
3
|
+
* lib/pango.rb: Remove unused variable.
|
4
|
+
|
5
|
+
2011-09-12 Nikolai Weibull <now@bitwi.se>
|
6
|
+
|
7
|
+
* ext/pango/*.c: Call StringValue() before calling
|
8
|
+
RSTRING_PTR()/RSTRING_LEN(); also use RSTRING_PTR() instead of
|
9
|
+
RVAL2CSTR() if StringValue() has already been called on the value.
|
10
|
+
|
11
|
+
2011-09-09 Nikolai Weibull <now@bitwi.se>
|
12
|
+
|
13
|
+
* ext/pango/*.c: Fix all RVAL2CSTR calls.
|
14
|
+
|
1
15
|
2011-02-26 Kouhei Sutou <kou@cozmixng.org>
|
2
16
|
|
3
17
|
* ext/pango/extconf.rb: remove needless add_distcleanfile.
|
@@ -27,7 +27,7 @@ pango_get_attribute_klass(VALUE attr_type)
|
|
27
27
|
{
|
28
28
|
VALUE type = Qnil;
|
29
29
|
if (TYPE(attr_type) == T_STRING){
|
30
|
-
char*
|
30
|
+
const char *strtype = RVAL2CSTR(attr_type);
|
31
31
|
if (strcmp(strtype, "Attribute") == 0){
|
32
32
|
type = pattr;
|
33
33
|
} else if (strcmp(strtype, "AttrString") == 0){
|
data/ext/pango/rbpangocoverage.c
CHANGED
@@ -75,7 +75,7 @@ static VALUE
|
|
75
75
|
coverage_s_from_bytes(VALUE self, VALUE bytes)
|
76
76
|
{
|
77
77
|
StringValue(bytes);
|
78
|
-
return BOXED2RVAL(pango_coverage_from_bytes((guchar*)
|
78
|
+
return BOXED2RVAL(pango_coverage_from_bytes((guchar *)RSTRING_PTR(bytes),
|
79
79
|
RSTRING_LEN(bytes)),
|
80
80
|
PANGO_TYPE_COVERAGE);
|
81
81
|
}
|
@@ -66,7 +66,9 @@ rglyph_index_to_x(VALUE self, VALUE text, VALUE analysis, VALUE index, VALUE tra
|
|
66
66
|
StringValue(text);
|
67
67
|
|
68
68
|
pango_glyph_string_index_to_x(_SELF(self),
|
69
|
-
|
69
|
+
/* NOTE: This is a bug in the signature of
|
70
|
+
* pango_glyph_string_index_to_x */
|
71
|
+
(char *)RSTRING_PTR(text),
|
70
72
|
RSTRING_LEN(text),
|
71
73
|
(PangoAnalysis*)RVAL2BOXED(analysis, PANGO_TYPE_ANALYSIS),
|
72
74
|
NUM2INT(index), RVAL2CBOOL(trailing),
|
@@ -82,7 +84,10 @@ rglyph_x_to_index(VALUE self, VALUE text, VALUE analysis, VALUE x_pos)
|
|
82
84
|
|
83
85
|
StringValue(text);
|
84
86
|
pango_glyph_string_x_to_index(_SELF(self),
|
85
|
-
|
87
|
+
/* NOTE: This is a bug in the signature of
|
88
|
+
* pango_glyph_string_index_to_x */
|
89
|
+
(char *)RSTRING_PTR(text),
|
90
|
+
RSTRING_LEN(text),
|
86
91
|
(PangoAnalysis*)RVAL2BOXED(analysis, PANGO_TYPE_ANALYSIS),
|
87
92
|
NUM2INT(x_pos),
|
88
93
|
&index, &trailing);
|
@@ -92,9 +97,9 @@ rglyph_x_to_index(VALUE self, VALUE text, VALUE analysis, VALUE x_pos)
|
|
92
97
|
static VALUE
|
93
98
|
rglyph_get_logical_widgths(VALUE self, VALUE text, VALUE embedding_level)
|
94
99
|
{
|
95
|
-
int*
|
100
|
+
int *logical_widths = NULL;
|
96
101
|
int len, array_len, i;
|
97
|
-
char*
|
102
|
+
const char *gtext;
|
98
103
|
VALUE ret;
|
99
104
|
|
100
105
|
gtext = RVAL2CSTR(text);
|
data/ext/pango/rbpangoinits.c
CHANGED
@@ -32,7 +32,8 @@ extern void Init_pangorenderer();
|
|
32
32
|
extern void Init_pango_script();
|
33
33
|
extern void Init_pango_script_iter();
|
34
34
|
extern void Init_pango_array();
|
35
|
-
void
|
35
|
+
void
|
36
|
+
Init_pango_inits()
|
36
37
|
{
|
37
38
|
Init_pango_analysis();
|
38
39
|
Init_pango_attribute();
|
data/ext/pango/rbpangolayout.c
CHANGED
@@ -43,7 +43,10 @@ layout_context_changed(VALUE self)
|
|
43
43
|
static VALUE
|
44
44
|
layout_set_text(VALUE self, VALUE text)
|
45
45
|
{
|
46
|
-
|
46
|
+
StringValue(text);
|
47
|
+
|
48
|
+
pango_layout_set_text(_SELF(self), RSTRING_PTR(text), RSTRING_LEN(text));
|
49
|
+
|
47
50
|
return self;
|
48
51
|
}
|
49
52
|
|
@@ -61,13 +64,15 @@ layout_set_markup(int argc, VALUE *argv, VALUE self)
|
|
61
64
|
|
62
65
|
rb_scan_args(argc, argv, "11", &markup, &accel_marker);
|
63
66
|
|
67
|
+
StringValue(markup);
|
68
|
+
|
64
69
|
if (NIL_P(accel_marker)){
|
65
70
|
pango_layout_set_markup(_SELF(self),
|
66
|
-
|
71
|
+
RSTRING_PTR(markup),
|
67
72
|
RSTRING_LEN(markup));
|
68
73
|
} else {
|
69
74
|
pango_layout_set_markup_with_accel(_SELF(self),
|
70
|
-
|
75
|
+
RSTRING_PTR(markup),
|
71
76
|
RSTRING_LEN(markup),
|
72
77
|
NUM2CHR(accel_marker), &accel_char);
|
73
78
|
}
|
@@ -77,7 +82,10 @@ layout_set_markup(int argc, VALUE *argv, VALUE self)
|
|
77
82
|
static VALUE
|
78
83
|
layout_set_markup_eq(VALUE self, VALUE markup)
|
79
84
|
{
|
80
|
-
|
85
|
+
StringValue(markup);
|
86
|
+
|
87
|
+
pango_layout_set_markup(_SELF(self), RSTRING_PTR(markup), RSTRING_LEN(markup));
|
88
|
+
|
81
89
|
return markup;
|
82
90
|
}
|
83
91
|
|
@@ -15,20 +15,10 @@
|
|
15
15
|
|
16
16
|
/**********************************/
|
17
17
|
#ifndef HAVE_PANGO_LAYOUT_ITER_GET_TYPE
|
18
|
-
static PangoLayoutIter*
|
18
|
+
static PangoLayoutIter *
|
19
19
|
layout_iter_copy(const PangoLayoutIter *ref)
|
20
20
|
{
|
21
|
-
|
22
|
-
PangoLayoutIter* new_ref;
|
23
|
-
g_return_val_if_fail (ref != NULL, NULL);
|
24
|
-
/* This may be broken on pango-1.2.x, but
|
25
|
-
for backward compatibility. */
|
26
|
-
new_ref = g_new(PangoLayoutIter, 1);
|
27
|
-
*new_ref = *ref;
|
28
|
-
return new_ref;
|
29
|
-
#else
|
30
|
-
return (PangoLayoutIter*)ref;
|
31
|
-
#endif
|
21
|
+
return (PangoLayoutIter *)ref;
|
32
22
|
}
|
33
23
|
|
34
24
|
GType
|
data/ext/pango/rbpangomain.c
CHANGED
@@ -45,7 +45,7 @@ static VALUE
|
|
45
45
|
rpango_find_base_dir(VALUE self, VALUE text)
|
46
46
|
{
|
47
47
|
StringValue(text);
|
48
|
-
return GENUM2RVAL(pango_find_base_dir(
|
48
|
+
return GENUM2RVAL(pango_find_base_dir(RSTRING_PTR(text), RSTRING_LEN(text)),
|
49
49
|
PANGO_TYPE_DIRECTION);
|
50
50
|
}
|
51
51
|
#endif
|
@@ -55,19 +55,18 @@ rpango_break(VALUE self, VALUE text, VALUE analysis)
|
|
55
55
|
{
|
56
56
|
gint i, len;
|
57
57
|
glong attrs_len;
|
58
|
-
PangoLogAttr*
|
59
|
-
gchar*
|
58
|
+
PangoLogAttr *attrs;
|
59
|
+
const gchar *gtext;
|
60
60
|
VALUE ret;
|
61
61
|
|
62
|
-
|
62
|
+
gtext = StringValuePtr(text);
|
63
63
|
len = RSTRING_LEN(text);
|
64
|
-
gtext = RVAL2CSTR(text);
|
65
64
|
attrs_len = g_utf8_strlen(gtext, (gssize)len) + 1l;
|
66
65
|
attrs = g_new0(PangoLogAttr, attrs_len);
|
67
66
|
|
68
|
-
pango_break(
|
69
|
-
|
70
|
-
|
67
|
+
pango_break(gtext, len,
|
68
|
+
NIL_P(analysis) ? NULL : RVAL2BOXED(analysis, PANGO_TYPE_ANALYSIS),
|
69
|
+
attrs, attrs_len);
|
71
70
|
|
72
71
|
ret = rb_ary_new();
|
73
72
|
for (i = 0; i < attrs_len; i++){
|
@@ -82,17 +81,16 @@ rpango_get_log_attrs(VALUE self, VALUE text, VALUE level, VALUE language)
|
|
82
81
|
{
|
83
82
|
gint i, len;
|
84
83
|
glong attrs_len;
|
85
|
-
PangoLogAttr*
|
86
|
-
gchar*
|
84
|
+
PangoLogAttr *attrs;
|
85
|
+
const gchar *gtext;
|
87
86
|
VALUE ret;
|
88
87
|
|
89
|
-
|
88
|
+
gtext = StringValuePtr(text);
|
90
89
|
len = RSTRING_LEN(text);
|
91
|
-
gtext = RVAL2CSTR(text);
|
92
90
|
attrs_len = g_utf8_strlen(gtext, (gssize)len) + 1l;
|
93
91
|
attrs = g_new0(PangoLogAttr, attrs_len);
|
94
92
|
|
95
|
-
pango_get_log_attrs(
|
93
|
+
pango_get_log_attrs(gtext, len, NUM2INT(level),
|
96
94
|
RVAL2BOXED(language, PANGO_TYPE_LANGUAGE),
|
97
95
|
attrs, attrs_len);
|
98
96
|
|
@@ -109,7 +107,8 @@ rpango_find_paragraph_boundary(VALUE self, VALUE text)
|
|
109
107
|
{
|
110
108
|
gint paragraph_delimiter_index, next_paragraph_start;
|
111
109
|
|
112
|
-
|
110
|
+
StringValue(text);
|
111
|
+
pango_find_paragraph_boundary(RSTRING_PTR(text), RSTRING_LEN(text),
|
113
112
|
¶graph_delimiter_index,
|
114
113
|
&next_paragraph_start);
|
115
114
|
return rb_ary_new3(2, INT2NUM(paragraph_delimiter_index),
|
@@ -131,7 +130,7 @@ rpango_shape(VALUE self, VALUE text, VALUE analysis)
|
|
131
130
|
VALUE ret;
|
132
131
|
PangoGlyphString* glyphs = pango_glyph_string_new();
|
133
132
|
StringValue(text);
|
134
|
-
pango_shape(
|
133
|
+
pango_shape(RSTRING_PTR(text), RSTRING_LEN(text), RVAL2BOXED(analysis, PANGO_TYPE_ANALYSIS), glyphs);
|
135
134
|
ret = BOXED2RVAL(glyphs, PANGO_TYPE_GLYPH_STRING);
|
136
135
|
pango_glyph_string_free (glyphs);
|
137
136
|
return ret;
|
@@ -155,7 +154,8 @@ rpango_parse_markup(int argc, VALUE *argv, VALUE self)
|
|
155
154
|
|
156
155
|
if (NIL_P(markup_text)) rb_raise(rb_eRuntimeError, "1st argument can't accept nil");
|
157
156
|
|
158
|
-
|
157
|
+
StringValue(markup_text);
|
158
|
+
ret = pango_parse_markup(RSTRING_PTR(markup_text),
|
159
159
|
RSTRING_LEN(markup_text),
|
160
160
|
NIL_P(accel_marker) ? 0 : NUM2CHR(accel_marker),
|
161
161
|
&pattr_list, >ext, &accel_char, &error);
|
@@ -48,7 +48,7 @@ rbpango_scriptiter_initialize(VALUE self, VALUE text)
|
|
48
48
|
PangoScriptIter* iter;
|
49
49
|
|
50
50
|
StringValue(text);
|
51
|
-
iter = pango_script_iter_new(
|
51
|
+
iter = pango_script_iter_new(RSTRING_PTR(text), RSTRING_LEN(text));
|
52
52
|
G_INITIALIZE(self, iter);
|
53
53
|
return Qnil;
|
54
54
|
}
|
data/lib/pango.rb
CHANGED
@@ -22,7 +22,7 @@ vendor_dir = base_dir + "vendor" + "local"
|
|
22
22
|
vendor_bin_dir = vendor_dir + "bin"
|
23
23
|
GLib.prepend_environment_path(vendor_bin_dir)
|
24
24
|
begin
|
25
|
-
major, minor,
|
25
|
+
major, minor, _ = RUBY_VERSION.split(/\./)
|
26
26
|
require "#{major}.#{minor}/pango.so"
|
27
27
|
rescue LoadError
|
28
28
|
require "pango.so"
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pango
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 1
|
10
|
+
version: 1.0.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- The Ruby-GNOME2 Proejct Team
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-09-18 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: cairo
|
@@ -41,12 +41,12 @@ dependencies:
|
|
41
41
|
requirements:
|
42
42
|
- - ">="
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
hash:
|
44
|
+
hash: 21
|
45
45
|
segments:
|
46
46
|
- 1
|
47
47
|
- 0
|
48
|
-
-
|
49
|
-
version: 1.0.
|
48
|
+
- 1
|
49
|
+
version: 1.0.1
|
50
50
|
type: :runtime
|
51
51
|
version_requirements: *id002
|
52
52
|
description: Ruby/Pango is a Ruby binding of pango-1.x.
|