フォントロードの高速化

BWidgetのDemo.tclと、SelectFontダイアログの起動には、 とっても時間がかかります。
調べた結果、遅くしているのは、フォントをロードするための一行でした。

SelectFont::loadfont

私は、BWidgetのFont.tclのプロシジャを書き換えることにより、 大幅に高速化できました。
簡単に書き換えられるのは、BWidgetがすべてTclで書かれているおかげです。

proc SelectFont::loadfont { } {
    variable _families

    # initialize families
#    set _families {}
#    set lfont     [font families]
#    lappend lfont times courier helvetica
#    foreach font $lfont {
#        set family [font actual [list $font] -family]
#        if { [lsearch -exact $_families $family] == -1 } {
#            lappend _families $family
#        }
#    }
#    set _families [lsort $_families]
     set _families [lsort [font families]] ;# by s-imai
}