  # ==========================
  #
  # fonts demo
  #
  # ==========================

  # -----------
  # parameters
  # -----------
  set count 60
  set check 1   ;# 0 for radio
  # -----------
  # get package
  # -----------
  package require Tk 8.4
  lappend auto_path [file join [pwd] ..]
  package require Hugelist 1.3
  namespace import ::hugelist::hugelist
  # -----------
  # set current dir
  # -----------
  cd [file dirname [info script]]
  # -----------
  # create items
  # -----------
  for {set i 1} {$i <= $count} {incr i} { lappend ::listvar item-$i }
  # -----------
  # create widget 
  # -----------
  frame .f1
  wm title . "fonts demo"
  hugelist .f1.hl -background beige -width 36 -height 12 -rowheight 24 \
                  -xscrollcommand [list .f1.hs set] \
                  -yscrollcommand [list .f1.vs set] 
  scrollbar .f1.vs -command [list .f1.hl yview]
  scrollbar .f1.hs -command [list .f1.hl xview] -orient horizontal
  pack .f1 -expand 1 -fill both
  grid .f1.hl -row 0 -column 0 -sticky nsew 
  grid .f1.vs -row 0 -column 1 -sticky nse
  grid .f1.hs -row 1 -column 0 -sticky ews
  grid columnconfigure .f1 0 -weight 1
  grid rowconfigure .f1 0 -weight 1
  focus -force .f1.hl
  # -----------
  # insert items 
  # -----------
  foreach font [font families] \
  { 
    .f1.hl insert end $font
    .f1.hl itemconfig end -font [list -family $font -size -24]
  }