Conference Room SAD
[thread display] [new arrival display] [word search] [past log] [管理用]

Subject SAD/Tkinter and MacOSX SnowLeopard
Date: 2010/03/10(Wed) 15:08:40
ContributorNoboru Yamamoto

SADの出力先をMacOSX SnowLeopard(10.6.x)に付属のX11AppをX11サーバに出力
する場合、

X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 45 (X_OpenFont)
Value in failed request: 0xc0004c
Serial number of failed request: 525
Current serial number in output stream: 526

でSADプロセスがexitしてしまうことがあります。
この原因を探ると(すべてでなければ)
$DefaultSansSerifに"helvetica neue"が指定されている事が原因らしいことが判明しました。
とりあえず Packages/Tkinter.nの1359で

"Font:SansSerif"->"helvetica neue",


"Font:SansSerif"->"helvetica",

にすることで、examples/Demo, examples/のスクリプトは実行できるようになりました。

Tkinter.nでは$FontSystemを参照して
"Font:SansSerif"->"helvetica", ! for Aqua

"Font:SansSerif"->"helvetica neue", ! for X11
を切り替えています。が、SnowLeopardのX11をX11 Clientにした場合には、
$FontSystemはX11ですが、SnowLeopardのX11サーバはhelvetica neueのweight/sizeの組み合わせ
のいくつかに対応していないようで、(X11Appにはfont として一連のhelvetica neueが存在はします。)
KBFGroupなどを使おうとする所で上記X11のエラーになるようです。


以上とりあえずご報告まで。

Noboru