in reply to Re^2: Perl Tk -font option is not working in linux if the language is japanese
in thread Perl Tk -font option is not working in linux if the language is japanese

First, do you actually have the adobe font that you're trying to use? On my system, it doesn't exist; however, I improvised and settled on this:
#!/usr/bin/perl BEGIN { $| = 1; $^W = 1; } use strict; use warnings; use Tk; use Tk::X11Font; my $font = "-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859- +1"; my $mw = MainWindow->new; $mw->geometry('100x150'); my $label = $mw->Label( -bg => 'white', -text => "Help!", -font => \$font, )->pack; MainLoop;
  • Comment on Re^3: Perl Tk -font option is not working in linux if the language is japanese
  • Download Code

Replies are listed 'Best First'.
Re^4: Perl Tk -font option is not working in linux if the language is japanese
by LeonelMendoza (Initiate) on Nov 07, 2012 at 05:33 UTC

    Yes, the font exists, Also i tried to copy fonts from the list the xlsfonts command provided, but it is still using "nimbus sans l". How do you get the real font? Here's my code to get the real font:

    #!/usr/bin/perl BEGIN { $| = 1; $^W = 1; } use strict; use warnings; use Tk; use Tk::X11Font; my $font = "-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859- +1"; my $mw = MainWindow->new; $mw->geometry('100x150'); my $label = $mw->Label( -bg => 'white', -text => "Help!", -font => \$font, )->pack; my $realfont = $label->cget(-font); print join(" ", $label->fontActual($realfont)), "\n";

    Here's my software specification: CentOS Release 4.8 perltk 804.030 perl 5.8.5-builtin in CENTOS Please help me!

      Use Tk::XFontSelect:
      #!/usr/bin/perl BEGIN { $| = 1; $^W = 1; } use strict; use warnings; use Tk; use Tk::X11Font; use Tk::XFontSelect; my $font = "-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859- +1"; my $mw = MainWindow->new; $mw->geometry('100x150'); my $fontdialog = $mw->XFontSelect; $fontdialog->Show; my $label = $mw->Label( -bg => 'white', -text => "Help!", -font => \$font, )->pack; MainLoop;