Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

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

by LeonelMendoza (Initiate)
on Nov 07, 2012 at 03:00 UTC ( #1002620=note: print w/ replies, xml ) Need Help??


in reply to Re: 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

Here's my code:

my $label = $mw->Label(-bg => 'white', -text => $string, -font => "-adobe-helvetica-regular-r-normal-*-1 +2-*-*-*-*-*-*-*")->pack();

I've tried english as the language when using linux, and instead of adobe helvetica that i specified it is using "Nimbus sans L" as its font. I've also tried font create but it's the same....


Comment on Re^2: Perl Tk -font option is not working in linux if the language is japanese
Download Code
Re^3: Perl Tk -font option is not working in linux if the language is japanese
by Khen1950fx (Canon) on Nov 07, 2012 at 04:43 UTC
    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;

      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;
Re^3: Perl Tk -font option is not working in linux if the language is japanese
by zentara (Archbishop) on Nov 08, 2012 at 11:01 UTC
    Your code works for me here. I think you are missing the font you specified. This works, 2 labels shown, both Japanese, different fonts.
    #!/usr/bin/perl use warnings; use strict; use Tk; my $mw=tkinit; $mw->fontCreate('big', -family=>'arial', -weight=>'bold', -size=> 38 ); my $string = "\x{65E5}\x{672C}\x{8A9E}\x{306E}\x{3072}\x{3089}\x{304C} +\x{306A}\x{6F22 }\x{5B57}\x{3068}\x{30AB}\x{30BF}\x{30AB}\x{30CA}"; my $label = $mw->Label(-bg => 'white', -text => $string, -font => 'big')->pack(); my $label1 = $mw->Label(-bg => 'white', -text => $string, -font => "-adobe-helvetica-regular-r-normal-*-1 +2-*-*-*-*-*-*-*")->pack(); MainLoop;

    I'm not really a human, but I play one on earth.
    Old Perl Programmer Haiku ................... flash japh

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1002620]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (14)
As of 2014-07-29 17:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (225 votes), past polls