
Ubuntu日本語フォーラム
ログインしていません。
はじめまして、Terと申します。
ubuntuを始めたばかりの超初心者です。
Windows上で作ったTcl/Tkのアプリを、ubuntuで動かそうとしておりますが、日本語が字化けをしてしまいます。
例えば、GNOME端末でwishを起動し、
label .l -text "こんにちは"
pack .l
とすると、
\u0353\u3093\u306b\u3061\u306f
と表示されます。UFT-8コードがそのまま表示されているようです。
この対処方法を教えていただけないでしょうか?
export LA_ALL=ja_JP
などどしてみましたが、まったく効果がありませんでした。
インストールしているものは、
tcl8.4とtk8.4です。
よろしくお願いいたします。
オフライン
terさん、こんにちわ。
ログイン方法が分からず(メールでパスワードが来ると言うのを知らず)回答が遅くなりました。
Windows上で作成したソースファイルは、そのままLinuxで用いると文字化けします。
対策は、ソースファイルをLinux上のhomeディレクトリ等にコピーした後に、nkfを用いて下記の手順で文字変換すると、文字化けせずにソースファイルをTcl/Tkで走らす事が出来ます。
(1)端末でtclソースファイルを置いたディレクトリに移動する。
(2)言語環境LANGが「euc_JP」の場合は
$ nkf -e -Lu ソースファイル名.tcl > ソースファイル名euc.tcl
(3)言語環境LANGが「UTF-8」の場合は
$ nkf -w -Lu ソースファイル名.tcl > ソースファイル名utf.tcl
オフライン
Kuma1243様
Terです。
ご教示どうもありがとうございました。
nkfのインストールに手間取りました(sudo apt-get install nkf ではだめだったので、ソースからインストールしました)が、教えていただいた方法でうまくいきました。
ついでに、といっては大変失礼なのですが、下記をお教え頂ければありがたく思います。
表示されたフォントがWindowsのものと大きく違い、レイアウトが崩れたところができてしまいました。せめて文字のサイズだけでも修正したいのですが、やり方が良く分かりません。
-font オプションが全然利いていないようです。
例えば、
Windows版: -font {{MS UI Gothic} 12} のところを
ubuntu版: -font {Sans 12} あるいは -font {Sans 36}
としても何も変わりません。
オフライン
<ubuntu版: -font {Sans 12} あるいは -font {Sans 36}
<としても何も変わりません。
今この投稿は、FedoraCore5から行っています。
vtclでメインウィンドウにテキストwidgetを作成した後「test.tcl」名で保存し、geditでその保存したtclファイルを開き、
-font {Sans 20}
や
-font {Sans 10}
等と替えてから「./test.tcl」で起動し、テキストWidgetに文字を買いてみましたが、大きさはキチンと変わりました。
Ubuntsが無いのでハッキリは分かりませんが、試しに
-font { { Sans } 20 }
としてみてはどうでしょうか。
オフライン
Kuma1243様
いろいろとお教えいただきまして有難うございました。
自宅のiMacを使い、コミュニティ提供版のubuntu(英語版)でテストしたところ、確かに文字サイズを変更することができました。しかし、日本語ローカライズ版(i386用)だとどうしても思ったようになりません。
調べてみると、SansはTcl/Tkのfont familyに含まれていないことが分かりました。
逆に、-font {helvetica 32}などとしてみると/usr/share/fontsの中にはhelveticaが入っていないのにも係わらず、ちゃんと文字もサイズも変わります。
確信はありませんが、多分Tcl/Tkのfont familyの中にないフォントを指定した場合には、オプションが全て無視されてディフォルトのフォントとサイズで表示されるのではないかと思います。
本当はIPAフォントなどを使いたいのですが、仕方がないので、Tcl/Tkのfont familyの中から適当なものを選んで使うことにします。
オフライン