Consider the following program:
use strict; use warnings; use utf8; use Tk; ${^WIDE_SYSTEM_CALLS}= 1; my $s= "This is a TM symbol => '\x{2122}',\nU+2122"; my $MW = new MainWindow; my $hello = $MW->Button( -text => $s, -command => sub {print STDOUT $s; } ); $hello->pack; MainLoop;
Running this under Windows 2000, the character is not shown on the button (nor is a square default character indicating that it's not in the font—and this character should be in all normal Windows fonts). Rather, I see three characters â (E3), unprintable, and ¢ (A2). Clearly it is interpreting the UTF-8 encoding as 3 8-bit characters instead.

Is Tk simply UTF8 hostile? If the string for the button is going through the normal mechanism that the core uses, it would convert to UTF-16 and call the Wide form of TextOut (or SetText or whatever) upon seeing the WIDE flag set.

Is it possible to use Unicode with Tk with the right incantations? Any plans for the future?

—John


In reply to Unicode in Tk by John M. Dlugosz

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.