--- tkmail-4.0beta9/mfv/mfv.c.ORIG Wed May 22 15:05:40 2002 +++ tkmail-4.0beta9/mfv/mfv.c Wed May 22 20:27:04 2002 @@ -1464,8 +1464,8 @@ char *p; int i; #ifdef KANJI /* 97/09/20 K.Fujii */ - int jp, cnt, len; - char *np, *sp, *firstjp, *lastjp; + int jp, cnt, len, jptmp; + char *np, *sp, *firstjp, *lastjp, *jpp; #endif Tcl_HashEntry *entryPtr; @@ -1475,8 +1475,9 @@ } #ifdef KANJI /* 97/09/20 K.Fujii */ - jp = 0; - np = sp = NULL; + jp = 0; + jptmp = 0; + np = sp = jpp = NULL; #endif for (i = 0; i < MAXSUMSYMB; ++i) { @@ -1501,7 +1502,11 @@ (void *)Mfv_Iso2022jpDecode(np,&jp); if ( jp != 0 && (firstjp = strstr(np,"\033")) ) { lastjp = (char *)rindex(np,'\033'); - if ( lastjp && ((int)lastjp-(int)np+2) > nameWidth ) { + for (jpp = firstjp; jpp <= lastjp; jpp++) { + if (strncmp(jpp,"\033\044\102",3) == 0) jptmp++; + } + jp = jptmp; + if ( lastjp && ((int)lastjp-(int)np+2-6*jp) > nameWidth ) { for (; !isalpha(*firstjp); firstjp--) *firstjp = '\0'; sumSymb[i] = np; jp = MIN(MAX(--jp,0),MAXJP); @@ -1635,7 +1640,7 @@ #ifdef KANJI /* 97/09/20 K.Fujii Very Temporary */ if ( jp != 0 ) { nameWidth = Mfv_FieldWidth(p,&iw,&ip); - sprintf(tmpString,"%2.2d",nameWidth+6*jp+1); + sprintf(tmpString,"%2.2d",nameWidth+6*jp+3*(jp-1)+1); strncpy(iw,tmpString,2); strncpy(ip,tmpString,2); }