[#10481] ruby 1.4.6 preview3 — matz@... (Yukihiro Matsumoto)
8 messages
2000/08/01
[#10496] memory leak? — Minero Aoki <aamine@...>
あおきです。
8 messages
2000/08/02
[#10513] require './rbconfig'; rubytest.rb and instruby.rb — Ryo HAYASAKA <ryoh@...>
早坂@北陸先端です。
4 messages
2000/08/02
[#10595] fileutils.rb (2) — Minero Aoki <aamine@...>
あおきです。
5 messages
2000/08/07
[#10601] RubyCRT.dll for mswin32 — Katsuyuki Komatsu <komatsu@...>
小松です。
5 messages
2000/08/07
[#10626] irb — Kazuhiro NISHIYAMA <zn@...>
irbですが、irb --helpやirb -hでオプションのヘルプがでるように
8 messages
2000/08/12
[#10638] win32 times — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
7 messages
2000/08/15
[#10652] Forward: patches for mktemp -> mkstemp — "Akinori -Aki- MUSHA" <knu@...>
knu です。
5 messages
2000/08/18
[#10655] a regex bug? — "Akinori -Aki- MUSHA" <knu@...>
knu です。
11 messages
2000/08/20
[#10657] Re: a regex bug?
— matz@... (Yukihiro Matsumoto)
2000/08/20
まつもと ゆきひろです
[#10659] Re: a regex bug?
— Tanaka Akira <akr@...17n.org>
2000/08/21
In article <E13QXP4-0004kY-00@ev.netlab.zetabits.co.jp>,
[#10660] Re: a regex bug?
— Tanaka Akira <akr@...17n.org>
2000/08/21
後から気がついたのですが、
[#10661] bmingw package — WATANABE Hirofumi <eban@...>
わたなべです.
49 messages
2000/08/21
[#10664] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/21
なかだです。
[#10665] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/21
なかだです。
[#10667] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/08/21
わたなべです.
[#10668] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/22
なかだです。
[#10670] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/08/22
わたなべです.
[#10671] Re: bmingw package
— nobu.nakada@...
2000/08/22
なかだです。
[#10673] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/08/23
わたなべです.
[#10675] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/23
なかだです。
[#10693] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/08/28
わたなべです.
[#10707] Re: bmingw package
— nobu.nakada@...
2000/08/28
なかだです。
[#10713] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/08/29
わたなべです.
[#10717] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/29
なかだです。
[#10723] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/08/30
わたなべです.
[#10797] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/09/01
なかだです。
[#10821] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/09/04
わたなべです.
[#10824] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/09/04
なかだです。
[#10825] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/09/04
わたなべです.
[#10827] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/09/04
なかだです。
[#10837] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/09/05
わたなべです.
[#10838] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/09/05
なかだです。
[#10842] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/09/05
わたなべです.
[#10849] Re: bmingw package
— nobu.nakada@...
2000/09/05
なかだです。
[#10850] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/09/06
わたなべです.
[#10851] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/09/06
なかだです。
[#10855] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/09/07
わたなべです.
[#10859] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/09/07
なかだです。
[#10867] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/09/08
わたなべです.
[#10677] Class Variable — Shin-ichiro Hara <sinara@...>
原です。
16 messages
2000/08/24
[#10681] Re: Class Variable
— matz@... (Yukihiro Matsumoto)
2000/08/25
まつもと ゆきひろです
[#10695] Re: Class Variable
— Shin-ichiro Hara <sinara@...>
2000/08/28
原です。
[#10682] [PATCH] win32/config.h.in — nobu.nakada@...
なかだです。
7 messages
2000/08/25
[#10688] ruby-1.6.0-20000824.i586-mswin32 bug — Kazuhiro NISHIYAMA <zn@...>
http://www.geocities.co.jp/SiliconValley-Bay/4076/
34 messages
2000/08/27
[#10692] Re: ruby-1.6.0-20000824.i586-mswin32 bug
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/28
なかだです。
[#10705] Re: ruby-1.6.0-20000824.i586-mswin32 bug
— Kazuhiro NISHIYAMA <zn@...>
2000/08/28
"Nobuyoshi.Nakada" <nobu.nakada@nifty.ne.jp> wrote:
[#10711] Re: ruby-1.6.0-20000824.i586-mswin32 bug
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/29
なかだです。
[#10720] Re: ruby-1.6.0-20000824.i586-mswin32 bug
— Katsuyuki Komatsu <komatsu@...>
2000/08/30
小松です.
[#10725] Re: ruby-1.6.0-20000824.i586-mswin32 bug
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/30
なかだです。
[#10727] Re: ruby-1.6.0-20000824.i586-mswin32 bug
— matz@... (Yukihiro Matsumoto)
2000/08/30
まつもと ゆきひろです
[#10744] Re: ruby-1.6.0-20000824.i586-mswin32 bug
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/30
なかだです。
[#10805] ruby-1.6.0-20000901.i586-mswin32.lzh
— Kazuhiro NISHIYAMA <zn@...>
2000/09/02
20000901のでもirbでCtrl+Cを押したら落ちました。
[#10807] Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— matz@... (Yukihiro Matsumoto)
2000/09/02
まつもと ゆきひろです
[#10811] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— " たけ (tk)" <ggb03124@...>
2000/09/03
たけ(tk)です。
[#10813] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— nobu.nakada@...
2000/09/03
なかだです。
[#10830] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— " たけ (tk)" <ggb03124@...>
2000/09/04
たけ(tk)です。
[#10832] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— nobu.nakada@...
2000/09/04
なかだです。
[#10844] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— "たけ(tk)" <ggb03124@...>
2000/09/05
たけ(tk)です。
[#10846] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— matz@... (Yukihiro Matsumoto)
2000/09/05
まつもと ゆきひろです
[#10848] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— " たけ (tk)" <ggb03124@...>
2000/09/05
たけ(tk)です。
[#10719] GD-0.6.2 patch — a-shigi@...
ども鴫原です。
7 messages
2000/08/29
[#10729] Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha. — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
18 messages
2000/08/30
[#10730] Re: Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha.
— WATANABE Hirofumi <eban@...>
2000/08/30
わたなべです.
[#10734] Re: Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha.
— kou@...1609.sip.eee.yamaguchi-u.ac.jp (Koichi Okada)
2000/08/30
はじめまして。
[#10739] Re: Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha.
— WATANABE Hirofumi <eban@...>
2000/08/30
わたなべです.
[#10740] Re: Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha.
— matz@... (Yukihiro Matsumoto)
2000/08/30
まつもと ゆきひろです
[#10733] Re: Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha.
— Katsuyuki Komatsu <komatsu@...>
2000/08/30
小松です.
[#10762] ruby 1.6.0 preview — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
42 messages
2000/08/31
[#10770] Re: ruby 1.6.0 preview
— akira yamada / やまだあきら <akira@...>
2000/08/31
[#10766] Re: ruby 1.6.0 preview
— Katsuyuki Komatsu <komatsu@...>
2000/08/31
小松です.
[#10779] Re: ruby 1.6.0 preview
— WATANABE Hirofumi <eban@...>
2000/09/01
わたなべです.
[#10787] ruby 1.6.0 preview2
— matz@... (Yukihiro Matsumoto)
2000/09/01
まつもと ゆきひろです
[ruby-dev:10719] GD-0.6.2 patch
From:
a-shigi@...
Date:
2000-08-29 19:13:54 UTC
List:
ruby-dev #10719
ども鴫原です。 ちょっくら、GD-0.6.2を使ってみるか...と思ったら、GDってかなり古い(泣)。 ということで、一応、ruby-1.4.5でpngを吐くようにpatchを当ててみました。 かなり乱暴なパッチですが、一応sample.rbと、gd-demo_1.18は動くようです。 gd本体は、gd-1.7.3で確認していますが、gd-1.6あたりから、マルチバイト文 字のサポートになっているはずなんですが、このあたりのpatchはできませんで した。 --- ■ SGmail http://www.sgmail.org/ ■ SGrelay http://www.shigi.com/
Attachments (1)
GD.patch
(7.87 KB, text/x-diff)
diff -u GD.orig/GD.c GD/GD.c
--- GD.orig/GD.c Sat May 8 22:01:05 1999
+++ GD/GD.c Wed Aug 30 03:32:14 2000
@@ -13,9 +13,13 @@
/* ======================================================================= */
-VALUE io_binmode(VALUE io); /* 1999/04/23 modify */
+VALUE rb_io_binmode(VALUE io); /* 1999/04/23 modify */
/* ======================================================================= */
+#define FALSE 0
+#define TRUE (!FALSE)
+#define io_writable(f)
+#define io_readable(f)
static VALUE mGD, cImage, cFont, cPolygon;
@@ -40,7 +44,7 @@
}
static VALUE
-img_from_gif(class, f)
+img_from_png(class, f)
VALUE class, f;
{
VALUE img;
@@ -48,11 +52,11 @@
gdImagePtr iptr;
Check_Type(f, T_FILE);
- io_binmode(f);
+ rb_io_binmode(f);
GetOpenFile(f, fptr);
io_readable(fptr);
- iptr = gdImageCreateFromGif(fptr->f);
+ iptr = gdImageCreateFromPng(fptr->f);
return Data_Wrap_Struct(class,0,free_img,iptr);
}
@@ -65,7 +69,7 @@
gdImagePtr iptr;
Check_Type(f, T_FILE);
- io_binmode(f);
+ rb_io_binmode(f);
GetOpenFile(f, fptr);
io_readable(fptr);
@@ -82,7 +86,7 @@
gdImagePtr iptr;
Check_Type(f, T_FILE);
- io_binmode(f);
+ rb_io_binmode(f);
GetOpenFile(f, fptr);
io_readable(fptr);
@@ -195,18 +199,18 @@
VALUE img, idx;
{
gdImagePtr im;
- VALUE ary = ary_new2(3);
+ VALUE ary = rb_ary_new2(3);
int i, c;
Data_Get_Struct(img, gdImage, im);
i = NUM2INT(idx);
c = gdImageRed(im, i);
- ary_push(ary, INT2FIX(c));
+ rb_ary_push(ary, INT2FIX(c));
c = gdImageGreen(im, i);
- ary_push(ary, INT2FIX(c));
+ rb_ary_push(ary, INT2FIX(c));
c = gdImageBlue(im, i);
- ary_push(ary, INT2FIX(c));
+ rb_ary_push(ary, INT2FIX(c));
return ary;
}
@@ -228,7 +232,7 @@
image_req(img)
VALUE img;
{
- if (!obj_is_kind_of(img, cImage)) {
+ if (!rb_obj_is_kind_of(img, cImage)) {
TypeError("GD::Image required");
}
}
@@ -336,7 +340,7 @@
poly_req(ply)
VALUE ply;
{
- if (!obj_is_kind_of(ply, cPolygon) || TYPE(ply) != T_ARRAY) {
+ if (!rb_obj_is_kind_of(ply, cPolygon) || TYPE(ply) != T_ARRAY) {
TypeError("GD::Polygon required");
}
}
@@ -461,7 +465,7 @@
font_req(fnt)
VALUE fnt;
{
- if (!obj_is_kind_of(fnt, cFont)) {
+ if (!rb_obj_is_kind_of(fnt, cFont)) {
TypeError("GD::Font required");
}
}
@@ -581,14 +585,14 @@
VALUE img;
{
gdImagePtr im;
- VALUE ary = ary_new2(2);
+ VALUE ary = rb_ary_new2(2);
int i;
Data_Get_Struct(img, gdImage, im);
i = gdImageSX(im);
- ary_push(ary, INT2FIX(i));
+ rb_ary_push(ary, INT2FIX(i));
i = gdImageSY(im);
- ary_push(ary, INT2FIX(i));
+ rb_ary_push(ary, INT2FIX(i));
return ary;
}
@@ -618,7 +622,7 @@
}
static VALUE
-img_gif(img, out)
+img_png(img, out)
VALUE img, out;
{
gdImagePtr im;
@@ -627,12 +631,12 @@
Data_Get_Struct(img, gdImage, im);
Check_Type(out, T_FILE);
- io_binmode(out);
+ rb_io_binmode(out);
GetOpenFile(out, fptr);
io_writable(fptr);
f = (fptr->f2) ? fptr->f2 : fptr->f;
- gdImageGif(im, f);
+ gdImagePng(im, f);
return img;
}
@@ -647,7 +651,7 @@
Data_Get_Struct(img, gdImage, im);
Check_Type(out, T_FILE);
- io_binmode(out);
+ rb_io_binmode(out);
GetOpenFile(out, fptr);
io_writable(fptr);
f = (fptr->f2) ? fptr->f2 : fptr->f;
@@ -665,7 +669,7 @@
ply_new(klass)
VALUE klass;
{
- VALUE self = ary_new();
+ VALUE self = rb_ary_new();
RBASIC(self)->klass = klass;
return self;
@@ -679,8 +683,8 @@
NUM2INT(x);
NUM2INT(y);
- ary_push(ply, x);
- ary_push(ply, y);
+ rb_ary_push(ply, x);
+ rb_ary_push(ply, y);
return ply;
}
@@ -695,10 +699,10 @@
NUM2INT(dy);
if (RARRAY(ply)->len > 0) {
- x = ary_entry(ply, RARRAY(ply)->len - 2);
- y = ary_entry(ply, RARRAY(ply)->len - 1);
- ary_push(ply, INT2NUM(NUM2INT(x) + NUM2INT(dx)));
- ary_push(ply, INT2NUM(NUM2INT(y) + NUM2INT(dy)));
+ x = rb_ary_entry(ply, RARRAY(ply)->len - 2);
+ y = rb_ary_entry(ply, RARRAY(ply)->len - 1);
+ rb_ary_push(ply, INT2NUM(NUM2INT(x) + NUM2INT(dx)));
+ rb_ary_push(ply, INT2NUM(NUM2INT(y) + NUM2INT(dy)));
} else {
ply_add_pt(ply, dx, dy);
}
@@ -714,7 +718,7 @@
if (RARRAY(ply)->len < idx) return Qnil;
i *= 2;
- return assoc_new(ary_entry(ply, i), ary_entry(ply, i+1));
+ return rb_assoc_new(rb_ary_entry(ply, i), rb_ary_entry(ply, i+1));
}
static VALUE
@@ -727,8 +731,8 @@
NUM2INT(x);
NUM2INT(y);
- ary_store(ply, i, x);
- ary_store(ply, i+1, y);
+ rb_ary_store(ply, i, x);
+ rb_ary_store(ply, i+1, y);
return ply;
}
@@ -739,8 +743,8 @@
{
int i = NUM2INT(idx)*2;
- ary_delete_at(ply, INT2FIX(i));
- ary_delete_at(ply, INT2FIX(i+1));
+ rb_ary_delete_at(ply, INT2FIX(i));
+ rb_ary_delete_at(ply, INT2FIX(i+1));
return ply;
}
@@ -757,10 +761,10 @@
struct RArray *ply;
{
int i;
- VALUE ary = ary_new2(ply->len/2);
+ VALUE ary = rb_ary_new2(ply->len/2);
for (i = 0; i<ply->len; i+=2) {
- ary_push(ary, assoc_new(ply->ptr[i], ply->ptr[i+1]));
+ rb_ary_push(ary, rb_assoc_new(ply->ptr[i], ply->ptr[i+1]));
}
return ary;
}
@@ -787,7 +791,7 @@
if (ny < t) t = ny;
if (ny > b) b = ny;
}
- return ary_new3(4, INT2FIX(l), INT2FIX(t), INT2FIX(r), INT2FIX(b));
+ return rb_ary_new3(4, INT2FIX(l), INT2FIX(t), INT2FIX(r), INT2FIX(b));
}
static VALUE
@@ -983,9 +987,9 @@
Init_GD()
{
mGD = rb_define_module("GD");
- cImage = rb_define_class_under(mGD, "Image", cObject);
+ cImage = rb_define_class_under(mGD, "Image", rb_cObject);
rb_define_singleton_method(cImage, "new", img_s_new, 2);
- rb_define_singleton_method(cImage, "newFromGif", img_from_gif, 1);
+ rb_define_singleton_method(cImage, "newFromPng", img_from_png, 1);
rb_define_singleton_method(cImage, "newFromXbm", img_from_xbm, 1);
rb_define_singleton_method(cImage, "newFromGd", img_from_gd, 1);
rb_define_method(cImage, "destroy", img_destroy, 0);
@@ -1035,10 +1039,10 @@
rb_define_method(cImage, "width", img_width, 0);
rb_define_method(cImage, "height", img_height, 0);
- rb_define_method(cImage, "gif", img_gif, 1);
+ rb_define_method(cImage, "png", img_png, 1);
rb_define_method(cImage, "gd", img_gd, 1);
- cPolygon = rb_define_class_under(mGD, "Polygon", cObject);
+ cPolygon = rb_define_class_under(mGD, "Polygon", rb_cObject);
rb_define_singleton_method(cPolygon, "new", ply_new, 0);
rb_define_method(cPolygon, "addPt", ply_add_pt, 2);
@@ -1054,7 +1058,7 @@
rb_define_method(cPolygon, "transform", ply_transform, 6);
rb_define_method(cPolygon, "scale", ply_scale, 2);
- cFont = rb_define_class_under(mGD, "Font", cObject);
+ cFont = rb_define_class_under(mGD, "Font", rb_cObject);
rb_define_singleton_method(cFont, "new", fnt_s_new, 1);
rb_define_const(cFont, "GiantFont", fnt_new("Giant"));
diff -u GD.orig/example.rb GD/example.rb
--- GD.orig/example.rb Fri Apr 23 00:37:39 1999
+++ GD/example.rb Sat Aug 26 04:45:30 2000
@@ -25,4 +25,4 @@
im.fill(50,50,red)
# Convert the image to GIF and print it on standard output
-im.gif STDOUT
+im.png STDOUT
diff -u GD.orig/extconf.rb GD/extconf.rb
--- GD.orig/extconf.rb Fri Apr 23 00:37:39 1999
+++ GD/extconf.rb Sat Aug 26 04:11:13 2000
@@ -2,13 +2,13 @@
$CFLAGS = "-I/usr/local/include"
$LDFLAGS = "-L/usr/local/lib"
have_library("m", "floor")
-$lib_cache.delete("gd") # disable cache
+#$lib_cache.delete("gd") # disable cache
if have_library("gd", "gdImageCreate")
create_makefile("GD")
else
# may need VFlib
- have_library("VFlib", "VF_GetBitmap")
- $lib_cache.delete("gd")
+ have_library("VFlib2", "VF_GetBitmap")
+# $lib_cache.delete("gd")
if have_library("gd", "gdImageCreate")
create_makefile("GD")
end