if 0 {[Richard Suchenwirth] 2002-02-25 - The Tk 8.4a2 port for [Windows/CE] e.g. on the [iPAQ] has the bug that the [font] families command does look up the available fonts (as gets evident when installing a new one), but returns only the first letter of each font name, e.g. T C F B. These abbreviations can however not be used in configuring a Tk widget - instead, the fallback Frutiger/Tahoma is used (these two appear to be identical). So this important introspection feature basically does not work. As I still wanted to use my installed fonts e.g. in the BWidget font selector, I came up with the following workaround, which overloads the [font] command to let font families return the hard-coded correct list, while other subcommands are redirected to the original, which was renamed into the tk namespace. The list must of course be manually maintained (check the font selector e.g. in PocketWord). The code tests whether the renamed command exists already, so does no harm if [source]d repeatedly (otherwise the original would be lost, and both font and ::tk::font would contain a copy of the proc below, which, if not called with families, would call itself until the return stack busts). [http://mini.net/files/ifilefont.jpg] BWidget appears to cache the font family names, so be sure to [source] this file before package-requiring BWidget. The screenshot demonstrates that the SelectFont dialog now knows and handles the existing fonts well. Its geometry might still be tweaked to better match the small screen, though... } if ![llength [info command ::tk::font]] { rename font ::tk::font proc font {cmd args} { switch -- $cmd { f - fa - fam - families { list Bookdings {Courier New}\ Frutiger Tahoma\ {Bitstream Cyberbit}\ {MS Gothic} Sorawin } default { eval ::tk::font $cmd $args } } } } ---- [Arts and crafts of Tcl-Tk programming]