2000/08/28    Japanized Tcl/Tk 8.0.5, TkDesk-1.2, BLT-2.4m, and TkMail-4.0b9

長らく日本語版 Tcl/Tk と関連ライブラリー群(Itcl、blt)としては、Tcl7.6/Tk4.2 ベースのものを使ってきたが、ようやく重い腰を上げ 8.0x に更新する。ただし、英語版との共存をはかるためインストール先は今まで通り /usr/local とし、パッケージの名前も jp- をつけておく(日本語版の Tcl/Tk の共有ライブラリーは、tcl.h、tk.h の公開ヘッダーに含まれるいくつかの構造体の構造が KANJI_FLAGS を立てた場合に変わってしまうため、英語版の Tcl/Tk のものとは互換性がない)。TkDesk、Tkmail を使うという観点から、tcltk パッケージは Tcl/Tk に Itcl のみの最小構成(expect、tclX、tix はわたしが使っていないので削除)。

[1] jp-tcltk-8.0.5-35a and jp-itcl-3.0.1-35a

標準的なパッチに加え、TkDesk-1.2 に添付の Itcl のパッチも含める。
使ったSPECはこれ、できたRPMSは
jp-tcltk-8.0.5-35a.ppc.rpm
jp-itcl-3.0.1-35a.ppc.rpm
で、対応するSRPMは
jp-tcltk-8.0.5-35a.src.rpm
である。これはすでに JE3.0 などを使っている場合には不要。
 

[2] jp-TkDesk-1.2-1d

上記の Tcl/Tk および Itcl をインストールした後、日本語版の TkDesk をパッケージングする。99/11/19の日記にも書いたように、基本的には、KANJI_FLAGS つまり "-DKANJI -DKINPUT2 -DXIM_IMPROVE" をたててコンパイルすればよいのであるが、TkDesk に同梱されている Blt ルーチンの中で、KANJI_FLAGS の影響を受ける Tcl/Tk の非公開ヘッダーを使っている部分があるので、この部分にはパッチが必要(さもないとセグメンテーションフォールトする)。
使ったSPECはこれ、私家版日本語化パッチはこれで、できたRPMは
jp-TkDesk-1.2-1d.ppc.rpm
対応するSRPMは
jp-TkDesk-1.2-1d.src.rpm
である。

使用上の注意

Tcl/Tk 8.x の日本語化パッチでは日本語フォントの扱いが変わってしまったので、テキストエリアでのフォントの変更は ~/.tkdesk/System の中で、
 

### =========================================================================
###  Font Settings
### =========================================================================

font create @k12 -copy -misc-gothic-medium-r-*-*-12-*-*-*-*-*-jisx0208.1983-0
font create @a12 -copy -misc-fixed-medium-r-*-*-12-*-*-*-*-*-iso8859-1
font create Fixed12 -compound {@a12 @k12}
......
#set tkdesk(font,entries)      -*-lucidatypewriter-medium-r-*-*-12-*-*-*-*-*-*-*
#set tkdesk(font,entries)      a14
set tkdesk(font,entries)      Fixed12


等のように指定する。また、日本語入力は kinput2 プロトコルでしか試していないのでXMODIFIERS をセットした場合に動作するかどうかは不明。うまくいかなかったら

$ unset XMODIFIERS
$ tkdesk
のようにしてみること。
 

[3] jp-blt-2.4m-1a

Tcl/Tk の変更に伴い、blt も作り直し。既に述べたようにこれには、構造体の整合性を保つためのパッチが必要。使った私家版パッチはこれを含め
blt2.4m_jp.patch
blt2.4m_destdir.patch
blt2.4m_demos.patch
また、SPECはこれ、できたRPMは
jp-blt-2.4m-1a.ppc.rpm
jp-blt-devel-2.4m-1a.ppc.rpm
jp-blt-demos-2.4m-1a.ppc.rpm
で、対応するSRPMは
jp-blt-2.4m-1a.src.rpm
である。

使用上の注意

bltwish を使ったスクリプトで bgexec 等を使う場合には、8.x では name スペースが有効になるので blt::bgexec のようにするか、スクリプトの初めに

if { $tcl_version >= 8.0 } {
    namespace import blt::*
}
などと書いておかないと、bgexec なんて知らないとおこられる。
 

[4] jp-tkmail-4.0beta9-2j

予想に反して、tkmail は Tcl/Tk 8.x で日本語化パッチの Tcl/Tk ライブラリーへのパスの変更のみであっさりと動いてしまった。
使ったSPECはこれ、私家版日本語パッチはこれできたRPMは
jp-tkmail-4.0beta9-2j.ppc.rpm
で、対応するSRPMは
jp-tkmail-4.0beta9-2j.src.rpm
である。フォントの設定を変更したければ、例えば ~/.tkmail4rc の中で
......
font failsafe k12
font create @k12 -copy -misc-gothic-medium-r-*-*-12-*-*-*-*-*-jisx0208.1983-0
font create @a12 -copy -misc-fixed-medium-r-*-*-12-*-*-*-*-*-iso8859-1
font create Fixed12 -compound {@a12 @k12}
option add *Text.font      Fixed12
option add *Listbox.Font   Fixed12
option add *Entry.Font     Fixed12
.......
のようにすればよい。
 
 
 
 

既に JE3.0 などのように、/usr 以下に Tcl/Tk 8.0.5j がインストールされている場合には、上記のパッケージのどれについてもSPECの中で prefix を /usr に、また、パッケージ名から jp- を取れば、いわゆる普通の作法にかなった RPM ができるはず。ただし使う場合はいつものように自己責任。


Back to Keisuke Fujii's MkLinux/LinuxPPC Life