Subject | : SAD/Tkinter and MacOSX SnowLeopard |
Date | : 2010/03/10(Wed) 15:08:40 |
Contributor | : Noboru 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