diff -cr ical-2.2.orig/apptlist.tcl ical-2.2/apptlist.tcl *** ical-2.2.orig/apptlist.tcl Sat May 4 02:02:14 1996 --- ical-2.2/apptlist.tcl Fri Dec 19 11:32:22 1997 *************** *** 27,32 **** --- 27,36 ---- if ![string compare $slot(font) ""] { set slot(font) [pref itemFont] } + set slot(kanjifont) [option get $name.c itemKanjiFont kanjiFont] + if ![string compare $slot(kanjifont) ""] { + set slot(kanjifont) [pref itemKanjiFont] + } # Get font dimensions set slot(label_width) [text_width $slot(font) "00:00AM" [pref itemPad]] diff -cr ical-2.2.orig/itemlist.tcl ical-2.2/itemlist.tcl *** ical-2.2.orig/itemlist.tcl Tue Apr 2 11:07:52 1996 --- ical-2.2/itemlist.tcl Fri Dec 19 11:32:35 1997 *************** *** 49,55 **** bind .$self.display [list $self null] # Tag displays ! .$self.display tag configure -date -font [pref smallHeadingFont] # Disallow edits .$self.display configure -state disabled --- 49,56 ---- bind .$self.display [list $self null] # Tag displays ! .$self.display tag configure -date -font [pref smallHeadingFont]\ ! -kanjifont [pref smallHeadingKanjiFont] # Disallow edits .$self.display configure -state disabled diff -cr ical-2.2.orig/itemwindow.tcl ical-2.2/itemwindow.tcl *** ical-2.2.orig/itemwindow.tcl Tue Apr 1 03:29:53 1997 --- ical-2.2/itemwindow.tcl Fri Dec 19 11:32:46 1997 *************** *** 67,82 **** -anchor nw\ -fill [pref itemFg]\ -font $font\ -width 0\ -text ""\ -tags [list item $self text.$self click.$self vis.$self]] - $canvas bind click.$self [list $self click %x %y] $canvas bind click.$self [list $self select_to %x %y] $canvas bind icon.$self [list $self toggle_done] $canvas bind link.$self [list $self follow_link] $canvas bind click.$self {ical_edit_item} global item_map set item_map([winfo toplevel $canvas],$item,$date) $self --- 67,87 ---- -anchor nw\ -fill [pref itemFg]\ -font $font\ + -kanjifont [pref itemKanjiFont]\ -width 0\ -text ""\ -tags [list item $self text.$self click.$self vis.$self]] $canvas bind click.$self [list $self click %x %y] $canvas bind click.$self [list $self select_to %x %y] $canvas bind icon.$self [list $self toggle_done] $canvas bind link.$self [list $self follow_link] $canvas bind click.$self {ical_edit_item} + $canvas bind text.$self {kinput_start_in_canvas %W root} + $canvas bind text.$self {kinput_start_in_canvas %W root} + $canvas bind text.$self {kinput_start_in_canvas %W root} + $canvas bind text.$self {kinput_start_in_canvas %W root} + global item_map set item_map([winfo toplevel $canvas],$item,$date) $self *************** *** 382,388 **** method ApptItemWindow place {} { set text [$slot(item) text] $slot(canvas) itemconfig text.$self -text $text - $self place_text_and_icon set x1 $slot(x) --- 387,392 ---- *************** *** 400,411 **** if {$yt > $y2} {set y2 $yt} } else { # Truncate text to fit inside boundary ! set i [$slot(canvas) index text.$self @0,$y2] ! set text2 [string range $text 0 [expr $i-1]] ! if [string compare $text $text2] { ! set text2 [string range $text 0 [expr $i-4]]... ! $slot(canvas) itemconfigure text.$self -text $text2 ! } } $slot(canvas) coords back.$self $x1 $y1 $x2 $y2 --- 404,416 ---- if {$yt > $y2} {set y2 $yt} } else { # Truncate text to fit inside boundary ! # set i [$slot(canvas) index text.$self @0,$y2] ! # set text2 [string range $text 0 [expr $i-1]] ! # if [string compare $text $text2] { ! # set text2 [string range $text 0 [expr $i-4]]... ! # $slot(canvas) itemconfigure text.$self -text $text2 ! $slot(canvas) itemconfigure text.$self -text $text ! # } } $slot(canvas) coords back.$self $x1 $y1 $x2 $y2 *************** *** 688,692 **** --- 693,728 ---- set cmd [bind $tag $seq] regsub -all -- tkCanvasMod $cmd itemwindow_mod cmd bind $tag $seq $cmd + } + } + + + # The procedure below is invoked in order to start Japanese text input + # for the specified widget. It sends a request to the input server to + # start conversion on that widget. + # Second argument specifies input style. Valid values are "over" (for + # over-the-spot style) and "root" (for root window style). See X11R5 + # Xlib manual for the meaning of these styles). The default is root + # window style. + + proc kinput_start_in_canvas {w {style root}} { + global _kinput_priv + catch {unset _kinput_priv($w)} + trace variable _kinput_priv($w) w _kinput_trace_root_in_canvas + kanjiInput start $w -variable _kinput_priv($w) -inputStyle root + } + + # The two procedures below are callbacks of a variable tracing. + # The traced variable contains the text string sent from the + # input server as a conversion result. + + # for root style + proc _kinput_trace_root_in_canvas {name1 name2 op} { + global last_sel + if {[info exists last_sel] && [$last_sel editable]} { + upvar #0 $name1 trvar + $name2 insert [$name2 focus] insert $trvar($name2) + $last_sel save + unset $trvar($name2) } } Only in ical-2.2: itemwindow.tcl.orig diff -cr ical-2.2.orig/notelist.tcl ical-2.2/notelist.tcl *** ical-2.2.orig/notelist.tcl Sat May 4 02:02:16 1996 --- ical-2.2/notelist.tcl Fri Dec 19 11:32:58 1997 *************** *** 27,32 **** --- 27,36 ---- if ![string compare $slot(font) ""] { set slot(font) [pref itemFont] } + set slot(kanjifont) [option get $name.c itemKanjiFont kanjiFont] + if ![string compare $slot(kanjifont) ""] { + set slot(kanjifont) [pref itemKanjiFont] + } # Get font dimensions. The text string "00:00AM" is used so that # we hit the cache entry created by "ApptList". diff -cr ical-2.2.orig/pref.tcl ical-2.2/pref.tcl *** ical-2.2.orig/pref.tcl Fri Jun 13 07:50:36 1997 --- ical-2.2/pref.tcl Fri Dec 19 11:33:07 1997 *************** *** 11,16 **** --- 11,17 ---- proc pref_load_common {} { option add *fontFamily times startupFile option add *fixedFontFamily courier startupFile + option add *kanjiFont k14 startupFile option add *Font fixed startupFile option add *fontSize normal startupFile *************** *** 142,147 **** --- 143,149 ---- set preference(fixed_fontfamilies) [concat [list $ff] { courier fixed + gothic terminal lucidatypewriter }] *************** *** 152,163 **** --- 154,171 ---- set size2 120 set size3 140 set size4 180 + set ksize1 120 + set ksize2 130 + set ksize3 150 } default { set size1 120 set size2 140 set size3 180 set size4 240 + set ksize1 130 + set ksize2 150 + set ksize3 230 } } *************** *** 176,181 **** --- 184,192 ---- set ff fixed_fontfamilies set norm140fixed [pref_findfont medium r $size2 $ff] set bold140fixed [pref_findfont medium r $size2 $ff] + set kanj130 [pref_findfont medium r $ksize1 $ff] + set kanj150 [pref_findfont medium r $ksize2 $ff] + set kanj230 [pref_findfont medium r $ksize3 $ff] # Set option database option add *weekdayFont $norm140 startupFile *************** *** 183,188 **** --- 194,200 ---- option add *interestFont $bold140 startupFile option add *weekendInterestFont $blit140 startupFile option add *itemFont $norm140 startupFile + option add *itemKanjiFont $kanj130 startupFile option add *normFont $norm140 startupFile option add *boldFont $bold140 startupFile *************** *** 190,195 **** --- 202,209 ---- option add *smallHeadingFont $bold140 startupFile option add *largeHeadingFont $bold180 startupFile + option add *smallHeadingKanjiFont $kanj150 startupFile + option add *largeHeadingKanjiFont $kanj230 startupFile option add *normFixedFont $norm140fixed startupFile option add *boldFixedFont $bold140fixed startupFile *************** *** 203,209 **** --- 217,225 ---- option add *Menubutton*font $norm140 startupFile option add *Menu*font $norm140 startupFile option add *Listbox*font $norm140 startupFile + option add *Listbox*kanjiFont $kanj130 startupFile option add *Text*font $norm140 startupFile + option add *Text*kanjiFont $kanj130 startupFile option add *Scale*font $norm140 startupFile option add *editkeys*Entry*font $norm120 startupFile *************** *** 276,281 **** --- 292,301 ---- return [pref_cf [option get . itemFont Font]] } + proc pref_itemKanjiFont {} { + return [pref_cf [option get . itemKanjiFont kanjiFont]] + } + proc pref_normFont {} {return [pref_cf [option get . normFont Font]]} proc pref_boldFont {} {return [pref_cf [option get . boldFont Font]]} proc pref_italFont {} {return [pref_cf [option get . italFont Font]]} *************** *** 284,291 **** --- 304,319 ---- return [pref_cf [option get . smallHeadingFont Font]] } + proc pref_smallHeadingKanjiFont {} { + return [pref_cf [option get . smallHeadingKanjiFont kanjiFont]] + } + proc pref_largeHeadingFont {} { return [pref_cf [option get . largeHeadingFont Font]] + } + + proc pref_largeHeadingKanjiFont {} { + return [pref_cf [option get . largeHeadingKanjiFont kanjiFont]] } proc pref_weekdayColor {} { diff -cr ical-2.2.orig/tclIndex ical-2.2/tclIndex *** ical-2.2.orig/tclIndex Fri Jun 13 07:50:38 1997 --- ical-2.2/tclIndex Fri Dec 19 11:37:00 1997 *************** *** 191,201 **** --- 191,204 ---- set auto_index(pref_interestFont) "source $dir/pref.tcl" set auto_index(pref_weekendInterestFont) "source $dir/pref.tcl" set auto_index(pref_itemFont) "source $dir/pref.tcl" + set auto_index(pref_itemKanjiFont) "source $dir/pref.tcl" set auto_index(pref_normFont) "source $dir/pref.tcl" set auto_index(pref_boldFont) "source $dir/pref.tcl" set auto_index(pref_italFont) "source $dir/pref.tcl" set auto_index(pref_smallHeadingFont) "source $dir/pref.tcl" + set auto_index(pref_smallHeadingKanjiFont) "source $dir/pref.tcl" set auto_index(pref_largeHeadingFont) "source $dir/pref.tcl" + set auto_index(pref_largeHeadingKanjiFont) "source $dir/pref.tcl" set auto_index(pref_weekdayColor) "source $dir/pref.tcl" set auto_index(pref_weekendColor) "source $dir/pref.tcl" set auto_index(pref_interestColor) "source $dir/pref.tcl"