Ruby/Tk Questions

How exactly is Ruby/Tk structured? Does it open an external tcl
process; does it include the Tcl libraries and run Tk in-process; has
all the Tcl/Tk code been ported into Ruby/Tk so that Tcl isn’t
necessary? This isn’t really made clear anywhere.

Also, does Ruby/Tk support antialiasing? I know the latest versions
of Perl/Tk do. If not, are there any plans to port Perl/Tk’s
antialiased font to Ruby/Tk?

Thanks,
Bill

Hi,

···

From: dejaspam@batkins.com (Bill Atkins)
Subject: Ruby/Tk Questions
Date: Sat, 15 May 2004 04:33:51 +0900
Message-ID: e6056acc.0405141130.3616b0d@posting.google.com

Does it open an external tcl process;

No.
The ancient version of Ruby/Tk uses interprocess communication
with the Tcl/Tk (wish) process.

does it include the Tcl libraries and run Tk in-process;

Current Ruby/Tk links Tcl and Tk libraries and works on one
process (except native threads created in Tcl/Tk libraries).
So, supported features (widget, option, and so on) depend on
the linked Tcl/Tk linbrary version. And Ruby/Tk can controll
all features of the linked Tcl/Tk libraries by Tk.ip_invoke
or Tk.ip_eval as if the features are introduced after the
latest Ruby/Tk release (including unknown Tcl/Tk extension).

has all the Tcl/Tk code been ported into Ruby/Tk so that Tcl
isn’t necessary?

No.
Ruby/Tk uses native Tcl/Tk libraries. Therefore, needs both
of Tcl and Tk libraries.
Some features of Tcl/Tk are supported by Tcl/Tk’s library
scripts. If need to make the features work, linked Tcl/Tk
libraries must be able to access the library scripts.

Also, does Ruby/Tk support antialiasing? I know the latest versions
of Perl/Tk do. If not, are there any plans to port Perl/Tk’s
antialiased font to Ruby/Tk?

Based on ‘New Tcl/Tk8.5 features’,

anti-aliased font support on X-Windows (already supported on Win/Mac)

(see Tcl/Tk 8.5).
It means that Ruby/Tk supports antialiased font if your Ruby/Tk
works with libraries of Tcl/Tk8.5.
Please check your Tcl/Tk version by Tk::TK_PATCHLEVEL.
Ruby/Tk on latest CVS is tested with the latest version of Tcl/Tk
(develop:8.5a1 and stable:8.4.6).

                              Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)