unicodeout.tcl
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:3k
源码类别:

通讯编程

开发平台:

Visual C++

  1. # unicodeout.tcl --
  2. #
  3. # This demonstration script shows how you can produce output (in label
  4. # widgets) using many different alphabets.
  5. #
  6. # RCS: @(#) $Id: unicodeout.tcl,v 1.2 2003/02/21 13:05:06 dkf Exp $
  7. if {![info exists widgetDemo]} {
  8.     error "This script should be run from the "widget" demo."
  9. }
  10. set w .unicodeout
  11. catch {destroy $w}
  12. toplevel $w
  13. wm title $w "Unicode Label Demonstration"
  14. wm iconname $w "unicodeout"
  15. positionWindow $w
  16. label $w.msg -font $font -wraplength 4i -justify left 
  17. -text "This is a sample of Tk's support for languages that use
  18. non-Western character sets.  However, what you will actually see
  19. below depends largely on what character sets you have installed,
  20. and what you see for characters that are not present varies greatly
  21. between platforms as well.  The strings are written in Tcl using
  22. UNICODE characters using the \uXXXX escape so as to do so in a
  23. portable fashion."
  24. pack $w.msg -side top
  25. frame $w.buttons
  26. pack $w.buttons -side bottom -fill x -pady 2m
  27. button $w.buttons.dismiss -text Dismiss -command "destroy $w"
  28. button $w.buttons.code -text "See Code" -command "showCode $w"
  29. pack $w.buttons.dismiss $w.buttons.code -side left -expand 1
  30. pack [label $w.wait -text "Please wait while loading fonts..." 
  31. -font {Helvetica 12 italic}]
  32. pack [frame $w.f] -expand 1 -fill both -padx 2m -pady 1m
  33. grid columnconfigure $w.f 1 -weight 1
  34. set i 0
  35. proc addSample {w language args} {
  36.     global font i
  37.     set sample [join $args ""]
  38.     set j [incr i]
  39.     label $w.f.l$j -font $font -text "${language}:" -anchor nw -pady 0
  40.     label $w.f.s$j -font $font -text $sample -anchor nw -width 30 -pady 0
  41.     grid $w.f.l$j $w.f.s$j -sticky ew -pady 0
  42.     grid configure $w.f.l$j -padx 1m
  43. }
  44. # Processing when some characters are missing might take a while, so make
  45. # sure we're displaying something in the meantime...
  46. set oldCursor [$w cget -cursor]
  47. $w conf -cursor watch
  48. update
  49. addSample $w Arabic 
  50.  "uFE94uFEF4uFE91uFEAEuFECCuFEDFuFE8DuFE94" 
  51.  "uFEE4uFEE0uFEDCuFEDFuFE8D"
  52. addSample $w "Trad. Chinese" "u4E2Du570Bu7684u6F22u5B57"
  53. addSample $w "Simpl. Chinese" "u6C49u8BED"
  54. addSample $w Greek 
  55.  "u0395u03BBu03BBu03B7u03BDu03B9u03BAu03AE " 
  56.  "u03B3u03BBu03CEu03C3u03C3u03B1"
  57. addSample $w Hebrew 
  58.  "u05DDu05D9u05DCu05E9u05D5u05E8u05D9 " 
  59.  "u05DCu05D9u05D0u05E8u05E9u05D9"
  60. addSample $w Japanese 
  61.  "u65E5u672Cu8A9Eu306Eu3072u3089u304Cu306A, " 
  62.  "u6F22u5B57u3068u30ABu30BFu30ABu30CA"
  63. addSample $w Korean "uB300uD55CuBBFCuAD6DuC758 uD55CuAE00"
  64. addSample $w Russian 
  65. "u0420u0443u0441u0441u043Au0438u0439 u044Fu0437u044Bu043A"
  66. # We're done processing, so change things back to normal running...
  67. destroy $w.wait
  68. $w conf -cursor $oldCursor