Posted to tcl by kostix at Thu Oct 05 18:18:15 GMT 2006view raw

  1. switch -exact -- $::tcl_platform(platform) {
  2. "unix" {
  3. # We don't use named font because of insufficient flexibility of font
  4. # selection in Tk (for example, you can't select -slant oblique or
  5. # -weight semicondensed)
  6. # Also font encoding can't be specified
  7. set font "fixed"
  8. }
  9. "windows" {
  10. set font [font create font -family "Arial" -size 10]
  11. }
  12. default {
  13. set font [font create font -family "fixed" -size 10]
  14. }
  15. }
  16.  
  17. set default_font [list [font actual $font -family] [font actual $font -size]]
  18.  
  19. proc define_fonts {args} {
  20. global font font_bold font_italic font_bold_italic
  21.  
  22. if {$::tcl_platform(platform) == "unix"} {
  23. if {![info exists font_bold]} {
  24. set font_bold [eval font create [font actual $font]]
  25. font configure $font_bold -weight bold
  26. }
  27. if {![info exists font_italic]} {
  28. set font_italic [eval font create [font actual $font]]
  29. font configure $font_italic -slant italic
  30. }
  31. if {![info exists font_bold_italic]} {
  32. set font_bold_italic [eval font create [font actual $font]]
  33. font configure $font_bold_italic -weight bold -slant italic
  34. }
  35. } else {
  36. if {[catch {
  37. set font_bold \
  38. [eval font create font_bold [font actual $font]]
  39. set font_italic \
  40. [eval font create font_italic [font actual $font]]
  41. set font_bold_italic \
  42. [eval font create font_bold_italic [font actual $font]]
  43. }]} {
  44. eval font configure font_bold [font actual $font]
  45. eval font configure font_italic [font actual $font]
  46. eval font configure font_bold_italic [font actual $font]
  47. }
  48. font configure font_italic -slant italic
  49. font configure font_bold -weight bold
  50. font configure font_bold_italic -weight bold -slant italic
  51. }
  52. }
  53.  
  54. hook::add postload_hook [namespace current]::define_fonts 70
  55.