mleisher@nmsu.edu (Mark Leisher) (11/28/90)
Here are the second set of patches for kterm 4.1.1. They fix these problems: 1. EUC input from kinput to kterm in JIS mode 2. Displaying JIS text in Hanzi mode 3. Displaying 7-bit GuoBiao text [text surrounded by ESC $ ( A ..... ESC ( B] Thanks to John Melby of Fujitsu for pointing out these problems. ------------------------ Cut Here ----------------------------- *** charproc.c.ORIG Sun Nov 25 19:07:04 1990 --- charproc.c Tue Nov 27 16:23:29 1990 *************** *** 853,858 **** --- 853,862 ---- register Char *dcp = dotextbuf; Char oc, oc1; + if (((term->misc.do_hz) && (gset & MBCS) && (gset != GSET_HANZI)) || + (!(term->misc.do_hz) && (gset & MBCS) && (gset == GSET_HANZI))) + gset &= ~MBCS; + if (gset & CS96) { min = 0x20; max = 0x7f; } else { *************** *** 903,908 **** --- 907,921 ---- cp--; break; } + + /* + * Catch 7-bit GuoBiao + */ + if ((gset == GSET_HANZI) && !(term->flags & BIG5_HANZI)) { + c |= 0x80; + c1 |= 0x80; + } + oc = c; oc1 = c1; if (USINGBIG5FONT && !(term->flags & BIG5_HANZI)) *** kconvert.c.ORIG Tue Nov 27 14:42:38 1990 --- kconvert.c Tue Nov 27 14:44:44 1990 *************** *** 96,105 **** convfunc = convCStoSGB; else if (term->flags & BIG5_HANZI) convfunc = convCStoBIG5; ! #else /* !KTERM_HANZI */ else convfunc = convCStoJIS; - #endif /* KTERM_HANZI */ n = (*convfunc)(cs, NULL); lstr = (n > 256) ? (unsigned char *)XtMalloc(n + 1) : lbuf; --- 96,104 ---- convfunc = convCStoSGB; else if (term->flags & BIG5_HANZI) convfunc = convCStoBIG5; ! #endif /* KTERM_HANZI */ else convfunc = convCStoJIS; n = (*convfunc)(cs, NULL); lstr = (n > 256) ? (unsigned char *)XtMalloc(n + 1) : lbuf; *** patchlevel.h.ORIG Tue Nov 27 16:33:22 1990 --- patchlevel.h Tue Nov 27 16:33:45 1990 *************** *** 1 **** ! #define patchlevel 1 --- 1 ---- ! #define patchlevel 2 *** ptyx.h.ORIG Tue Nov 27 16:11:16 1990 --- ptyx.h Tue Nov 27 16:11:54 1990 *************** *** 595,601 **** #ifdef KTERM #ifdef KTERM_KANJI #define HighEncoding(screen,fnum) \ ! (screen->_fnt_norm[fnum]->min_char_or_byte2 > 0x80) #endif /* KTERM_KANJI */ #ifdef KTERM_HANZI --- 595,602 ---- #ifdef KTERM #ifdef KTERM_KANJI #define HighEncoding(screen,fnum) \ ! ((screen->_fnt_norm[fnum]) && \ ! (screen->_fnt_norm[fnum]->min_char_or_byte2 > 0x80)) #endif /* KTERM_KANJI */ #ifdef KTERM_HANZI ----------------------------------------------------------------------------- mleisher@nmsu.edu "I laughed. Mark Leisher I cried. Computing Research Lab I fell down. New Mexico State University It changed my life." Las Cruces, NM - Rich [Cowboy Feng's Space Bar and Grille]