--- kterm-6.2.0.orig/0README.ext.ja +++ kterm-6.2.0/0README.ext.ja @@ -0,0 +1,32 @@ +これは kterm-6.2.0 で JIS X 0213:2000 (第三水準、第四水準)の文字を +扱えるようにするためのパッチです。kterm への contribute としますの +で kterm 本体と同じ条件で配布してください。 + +JIS モードにおいては "ESC $ ( O" および "ESC $ ( P" を使用して、 +JIS X 0213 の一面および二面を呼び出して使用することができます。 +日本語 EUC モードおよび SJIS モードでは未定義の文字が現われた場 +合にその文字のみ JIS X 0213 の文字として扱います。 + +*-jisx0213.2000-1 および *-jisx0213.2000-2 のフォントを準備してご +利用ください。fontlist で指定する他に -fkO および -fkP で利用する +フォントを変更することができます。漢字フォントをロードする際に処 +理が止まるのが気になる方は X のオプションに -deferglyphs 16 を指 +定することをお勧めします。 + +このパッチには以前に京大の安岡さんが fj.sources に投稿された以下 +の内容がそのまま含まれています。 + +>From: yasuoka@kudpc.kyoto-u.ac.jp (Koichi Yasuoka) +>Newsgroups: fj.sources,fj.kanji +>Subject: Quickhack for kterm-6.1.0 +>Date: 1 May 1995 17:29:25 +0900 +>Message-ID: <3o2655$3up@kudpc.kudpc.kyoto-u.ac.jp> +> +> 京都大学大型計算機センターの安岡です。 +> +> kterm-6.1.0をQuickhackして「ESC $ @」と「ESC $ B」を見分けるよ +>うにして、ついでに「ESC & @ ESC $ B」と「ESC $ ( D」を表示できる +>ようにしてみました。これで"醗"と"醗"と"醱"の違いがわかるようにな +>りますし、正しく"康熙字典"と書けるようになります。 +-- +HANATAKA, Shinya --- kterm-6.2.0.orig/Imakefile +++ kterm-6.2.0/Imakefile @@ -24,6 +24,8 @@ PTYLIB = -lpucc #endif +PTYLIB = -lutil + OSMAJORVERSION = OSMajorVersion OSMINORVERSION = OSMinorVersion @@ -32,7 +34,7 @@ -DOSMINORVERSION=$(OSMINORVERSION) MISC_DEFINES = /* -DALLOWLOGFILEEXEC */ XKB_DEFINES = XkbClientDefines - DEFINES = $(XKB_DEFINES) $(XPOLL_DEF) -DKTERM -DSTATUSLINE -DKEEPALIVE + DEFINES = $(XKB_DEFINES) $(XPOLL_DEF) -DKTERM -DSTATUSLINE -DKEEPALIVE -DUSE_TERMIOS #ifdef KTERM_XIM XIMSRCS = xim.c @@ -48,11 +50,11 @@ #endif SRCS1 = button.c charproc.c cursor.c data.c input.c \ main.c menu.c misc.c screen.c scrollbar.c tabs.c \ - util.c VTPrsTbl.c \ + util.c VTPrsTbl.c kanji_map.c \ $(TEKSRCS) gset.c convert.c $(XIMSRCS) $(KINPUT2SRCS) OBJS1 = button.o charproc.o cursor.o data.o input.o \ main.o menu.o misc.o screen.o scrollbar.o tabs.o \ - util.o VTPrsTbl.o \ + util.o VTPrsTbl.o kanji_map.o \ $(TEKOBJS) gset.o convert.o $(XIMOBJS) $(KINPUT2OBJS) SRCS = $(SRCS1) OBJS = $(OBJS1) @@ -77,7 +79,13 @@ SpecialCObjectRule(main,$(_NOOP_),$(MAIN_DEFINES)) SpecialCObjectRule(misc,$(_NOOP_),$(MISC_DEFINES)) -SpecialCObjectRule(charproc,$(_NOOP_),$(MISC_DEFINES)) +SpecialCObjectRule(charproc,kfontlist.c,$(MISC_DEFINES)) + +kfontlist.c: kfontlist.m4 kfontlist.def + m4 kfontlist.m4 > kfontlist.c + +clean:: + $(RM) kfontlist.c #if InstallXtermSetUID SetUIDProgramTarget(kterm,$(OBJS1),$(DEPLIBS1),XkbClientLibs XawClientLibs,$(TERMCAPLIB) $(PTYLIB)) @@ -102,11 +110,11 @@ MakeDir($(DESTDIR)$(BINDIR)) RemoveFile(kterm.inst) LinkRule(kterm.inst,$(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(LOCAL_LDFLAGS),$(OBJS1),$(LDOVERRIDE) XawClientLibs $(LDRESUME) $(LDLIBS) $(TERMCAPLIB) $(PTYLIB)) - $(INSTALL) -c $(INSTPGMFLAGS) $(INSTUIDFLAGS) kterm.inst $(DESTDIR)$(BINDIR)/kterm + $(INSTALL) -c $(INSTPGMFLAGS) -m 4755 -o root -g bin kterm.inst $(DESTDIR)$(BINDIR)/kterm RemoveFile(kterm.inst) #else #if InstallXtermSetUID -InstallProgramWithFlags(kterm,$(BINDIR),$(INSTUIDFLAGS)) +InstallProgramWithFlags(kterm,$(BINDIR),-m 4755 -o root -g bin) #else InstallProgramWithFlags(kterm,$(BINDIR),NullParameter) #endif --- kterm-6.2.0.orig/KTerm.ad +++ kterm-6.2.0/KTerm.ad @@ -46,7 +46,7 @@ *vtMenu*statusline*Label: Enable Status Line *vtMenu*reversestatus*Label: Status Line Reverse Video *vtMenu*eucmode*Label: Japanese EUC Mode -*vtMenu*sjismode*Label: Shift-JIS Mode +*vtMenu*sjismode*Label: Shift_JIS Mode *vtMenu*openim*Label: Open Input Method *fontMenu.Label: VT Fonts @@ -63,25 +63,25 @@ -*-mincho-medium-r-normal--2-* *VT100*font1: -misc-nil-medium-r-normal--2-*-misc-fontspecific *fontMenu*font2*Label: Tiny -*VT100*fontList2: -*-fixed-medium-r-normal--14-*,\ - -*-gothic-medium-r-normal--14-*,\ - -*-mincho-medium-r-normal--14-* +*VT100*fontList2: -*-fixed-medium-r-normal--10-*,\ + -*-gothic-medium-r-normal--10-*,\ + -*-mincho-medium-r-normal--10-* *fontMenu*font3*Label: Small -*VT100*fontList3: -*-fixed-medium-r-normal--16-*,\ +*VT100*fontList3: -*-fixed-medium-r-normal--12-*,\ + -*-gothic-medium-r-normal--12-*,\ + -*-mincho-medium-r-normal--12-* +*fontMenu*font4*Label: Medium +*VT100*fontList4: -*-fixed-medium-r-normal--16-*,\ -*-gothic-medium-r-normal--16-*,\ -*-mincho-medium-r-normal--16-* -*fontMenu*font4*Label: Medium -*VT100*fontList4: -*-fixed-medium-r-normal--18-*,\ - -*-gothic-medium-r-normal--18-*,\ - -*-mincho-medium-r-normal--18-* *fontMenu*font5*Label: Large -*VT100*fontList5: -*-fixed-medium-r-normal--24-*,\ +*VT100*fontList5: -*-fixed-medium-r-normal--20-*,\ + -*-gothic-medium-r-normal--20-*,\ + -*-mincho-medium-r-normal--20-* +*fontMenu*font6*Label: Huge +*VT100*fontList6: -*-fixed-medium-r-normal--24-*,\ -*-gothic-medium-r-normal--24-*,\ -*-mincho-medium-r-normal--24-* -*fontMenu*font6*Label: Huge -*VT100*fontList6: -*-fixed-medium-r-normal--26-*,\ - -*-gothic-medium-r-normal--26-*,\ - -*-mincho-medium-r-normal--26-* *fontMenu*fontescape*Label: Escape Sequence *fontMenu*fontsel*Label: Selection !fontescape and fontsel overridden by application @@ -123,3 +123,43 @@ *tek4014*font3: 6x13 *tek4014*fontSmall: 6x10 +! +! Added for Debian +! +*VT100*KanjiMode: euc +*VT100.Translations: #override ~Shift ~Ctrl ~Meta Delete: string("\033[3~")\n\ + ~Shift ~Ctrl ~Meta Home: string("\033[1~")\n\ + ~Shift ~Ctrl ~Meta End: string("\033[4~")\n\ + ~Shift ~Ctrl ~Meta BackSpace: string("\177") +! +! import from Vine Linux bellow ;-) +! + +! for kinput2 +!*allowSendEvents: true + +! kterm use XMODIFIERS environment for XIM +!*VT100*translations: #override \ +! Shiftspace: open-im(XMODIFIERS) \n\ +*VT100*translations: #override \ +Shift,:scroll-back(1,line)\n\ +Shift,:scroll-forw(1,line)\n\ +Ctrl,:scroll-back(1,page)\n\ +Ctrl,:scroll-forw(1,page)\n\ +,:scroll-back(1,halfpage)\n\ +,:scroll-forw(1,halfpage)\n\ + +!# In the scrollbar we map buttons 5 & 4 to 1 and 2 otherwise, core dump +!# This will move proportionnaly to cursor position but we dont know how to +!# program the same exact behavior as in the text widget. +KTerm*VT100.Scrollbar.translations: #override\n\ +: StartScroll(Forward)\n\ +: StartScroll(Backward)\n\ + +! selection characters with double click +*charClass: 33:48,37:48,45-47:48,58:48,64:48,126-127:48 + +! Always use Japanese as default +*VT100*EucJPLocale: ja_JP.eucJP, ja_JP.ujis, ja_JP.EUC, japanese.euc, Japanese-EUC, ja, japan +! Open IM as default +*VT100*OpenIm: true --- kterm-6.2.0.orig/VTPrsTbl.c +++ kterm-6.2.0/VTPrsTbl.c @@ -1417,12 +1417,15 @@ /* $ % & ' */ #ifdef KTERM_MBCS CASE_MBCS, +CASE_ESC_IGNORE, +CASE_GSET_VERSION_STATE, +CASE_ESC_IGNORE, #else /* !KTERM_MBCS */ CASE_ESC_IGNORE, -#endif /* !KTERM_MBCS */ CASE_ESC_IGNORE, CASE_ESC_IGNORE, CASE_ESC_IGNORE, +#endif /* !KTERM_MBCS */ /* ( ) * + */ #ifdef KTERM CASE_SCS_STATE, @@ -2746,24 +2749,24 @@ #ifdef KTERM /* 0 1 2 3 */ CASE_GSETS, -CASE_GSETS, -CASE_GSETS, -CASE_GSETS, +CASE_ESC_IGNORE, +CASE_ESC_IGNORE, +CASE_ESC_IGNORE, /* 4 5 6 7 */ -CASE_GSETS, -CASE_GSETS, -CASE_GSETS, -CASE_GSETS, +CASE_ESC_IGNORE, +CASE_ESC_IGNORE, +CASE_ESC_IGNORE, +CASE_ESC_IGNORE, /* 8 9 : ; */ -CASE_GSETS, -CASE_GSETS, -CASE_GSETS, -CASE_GSETS, +CASE_ESC_IGNORE, +CASE_ESC_IGNORE, +CASE_ESC_IGNORE, +CASE_ESC_IGNORE, /* < = > ? */ -CASE_GSETS, -CASE_GSETS, -CASE_GSETS, -CASE_GSETS, +CASE_ESC_IGNORE, +CASE_ESC_IGNORE, +CASE_ESC_IGNORE, +CASE_ESC_IGNORE, /* @ A B C */ CASE_GSETS, CASE_GSETS, @@ -2823,25 +2826,25 @@ CASE_GSETS, CASE_GSETS, CASE_GSETS, -CASE_GROUND_STATE, /* GSET('p') >= 0x40 (MBCS flag) */ +CASE_GSETS, /* p q r s */ -CASE_GROUND_STATE, -CASE_GROUND_STATE, -CASE_GROUND_STATE, -CASE_GROUND_STATE, +CASE_GSETS, +CASE_GSETS, +CASE_GSETS, +CASE_GSETS, /* t u v w */ -CASE_GROUND_STATE, -CASE_GROUND_STATE, -CASE_GROUND_STATE, -CASE_GROUND_STATE, +CASE_GSETS, +CASE_GSETS, +CASE_GSETS, +CASE_GSETS, /* x y z { */ -CASE_GROUND_STATE, -CASE_GROUND_STATE, -CASE_GROUND_STATE, -CASE_GROUND_STATE, +CASE_GSETS, +CASE_GSETS, +CASE_GSETS, +CASE_GSETS, /* | } ~ DEL */ -CASE_GROUND_STATE, -CASE_GROUND_STATE, +CASE_GSETS, +CASE_GSETS, CASE_GROUND_STATE, /* empty character set */ CASE_GROUND_STATE, #else /* !KTERM */ @@ -3514,27 +3517,27 @@ CASE_GROUND_STATE, CASE_GROUND_STATE, /* @ A B C */ -CASE_GSETS, /* ESC-$-I-F */ -CASE_GSETS, -CASE_GSETS, -CASE_GSETS, +CASE_GSETS, /* ESC-$-I-@ (JIS C 6226 1978) */ +CASE_GSETS, /* ESC-$-I-A (GB 2312 1980) */ +CASE_GSETS, /* ESC-$-I-B (JIS X 0208 1983) */ +CASE_GSETS, /* ESC-$-I-C (KS C 5601 1987) */ /* D E F G */ +CASE_GSETS, /* ESC-$-I-D (JIS X 0212 1999) */ CASE_GSETS, CASE_GSETS, -CASE_GSETS, -CASE_GSETS, +CASE_GSETS, /* ESC-$-I-G (CNS 11643 1992 1) */ /* H I J K */ -CASE_GSETS, -CASE_GSETS, -CASE_GSETS, -CASE_GSETS, +CASE_GSETS, /* ESC-$-I-H (CNS 11643 1992 2) */ +CASE_GSETS, /* ESC-$-I-I (CNS 11643 1992 3) */ +CASE_GSETS, /* ESC-$-I-J (CNS 11643 1992 4) */ +CASE_GSETS, /* ESC-$-I-K (CNS 11643 1992 5) */ /* L M N O */ +CASE_GSETS, /* ESC-$-I-L (CNS 11643 1992 6) */ +CASE_GSETS, /* ESC-$-I-M (CNS 11643 1992 7) */ CASE_GSETS, -CASE_GSETS, -CASE_GSETS, -CASE_GSETS, +CASE_GSETS, /* ESC-$-I-O (JIS X 0213 2000 1) */ /* P Q R S */ -CASE_GSETS, +CASE_GSETS, /* ESC-$-I-P (JIS X 0213 2000 2) */ CASE_GSETS, CASE_GSETS, CASE_GSETS, @@ -3552,7 +3555,7 @@ CASE_GSETS, CASE_GSETS, CASE_GSETS, -CASE_GSETS, +CASE_GROUND_STATE, /* kterm internal use */ /* ` a b c */ CASE_GROUND_STATE, /* 3-byte character set */ CASE_GROUND_STATE, @@ -3592,6 +3595,329 @@ CASE_GROUND_STATE, CASE_GROUND_STATE, CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* 0x80 0x81 0x82 0x83 */ +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +/* 0x84 0x85 0x86 0x87 */ +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +/* 0x88 0x89 0x8a 0x8b */ +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +/* 0x8c 0x8d 0x8e 0x8f */ +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +/* 0x90 0x91 0x92 0x93 */ +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +/* 0x94 0x95 0x96 0x97 */ +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +/* 0x99 0x99 0x9a 0x9b */ +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +/* 0x9c 0x9d 0x9e 0x9f */ +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +/* nobreakspace exclamdown cent sterling */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* currency yen brokenbar section */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* diaeresis copyright ordfeminine guillemotleft */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* notsign hyphen registered macron */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* degree plusminus twosuperior threesuperior */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* acute mu paragraph periodcentered */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* cedilla onesuperior masculine guillemotright */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* onequarter onehalf threequarters questiondown */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* Agrave Aacute Acircumflex Atilde */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* Adiaeresis Aring AE Ccedilla */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* Egrave Eacute Ecircumflex Ediaeresis */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* Igrave Iacute Icircumflex Idiaeresis */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* Eth Ntilde Ograve Oacute */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* Ocircumflex Otilde Odiaeresis multiply */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* Ooblique Ugrave Uacute Ucircumflex */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* Udiaeresis Yacute Thorn ssharp */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* agrave aacute acircumflex atilde */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* adiaeresis aring ae ccedilla */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* egrave eacute ecircumflex ediaeresis */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* igrave iacute icircumflex idiaeresis */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* eth ntilde ograve oacute */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* ocircumflex otilde odiaeresis division */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* oslash ugrave uacute ucircumflex */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* udiaeresis yacute thorn ydiaeresis */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +}; + +Const int escversiontable[] = { +/* NUL SOH STX ETX */ +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +/* EOT ENQ ACK BEL */ +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +CASE_BELL, +/* BS HT NL VT */ +CASE_BS, +CASE_TAB, +CASE_VMOT, +CASE_VMOT, +/* NP CR SO SI */ +CASE_VMOT, +CASE_CR, +CASE_SO, +CASE_SI, +/* DLE DC1 DC2 DC3 */ +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +/* DC4 NAK SYN ETB */ +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +/* CAN EM SUB ESC */ +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +CASE_ESC, +/* FS GS RS US */ +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +CASE_IGNORE, +/* SP ! " # */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* $ % & ' */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* ( ) * + */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* , - . / */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* 0 1 2 3 */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* 4 5 6 7 */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* 8 9 : ; */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* < = > ? */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* @ A B C */ +CASE_GSET_VERSION, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* D E F G */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* H I J K */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* L M N O */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* P Q R S */ +CASE_IGNORE_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* T U V W */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* X Y Z [ */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* \ ] ^ _ */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_IGNORE_STATE, +CASE_IGNORE_STATE, +/* ` a b c */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* d e f g */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* h i j k */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* l m n o */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* p q r s */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* t u v w */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* x y z { */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, +/* | } ~ DEL */ +CASE_GROUND_STATE, +CASE_GROUND_STATE, +CASE_GROUND_STATE, CASE_GROUND_STATE, /* 0x80 0x81 0x82 0x83 */ CASE_IGNORE, --- kterm-6.2.0.orig/VTparse.def +++ kterm-6.2.0/VTparse.def @@ -85,3 +85,5 @@ CASE_ERASE_STATUS CASE_MBCS CASE_SCS_STATE +CASE_GSET_VERSION_STATE +CASE_GSET_VERSION --- kterm-6.2.0.orig/VTparse.h +++ kterm-6.2.0/VTparse.h @@ -116,3 +116,5 @@ #define CASE_ERASE_STATUS 75 #define CASE_MBCS 76 #define CASE_SCS_STATE 77 +#define CASE_GSET_VERSION_STATE 78 +#define CASE_GSET_VERSION 79 --- kterm-6.2.0.orig/button.c +++ kterm-6.2.0/button.c @@ -41,7 +41,7 @@ #include "error.h" #include "menu.h" -extern char *malloc(); +extern void *malloc(); extern void DoSecureKeyboard(); --- kterm-6.2.0.orig/charproc.c +++ kterm-6.2.0/charproc.c @@ -102,8 +102,8 @@ extern XtAppContext app_con; extern Widget toplevel; extern void exit(); -extern char *malloc(); -extern char *realloc(); +extern void *malloc(); +extern void *realloc(); extern fd_set Select_mask; extern fd_set X_mask; extern fd_set pty_mask; @@ -188,6 +188,34 @@ #ifdef KTERM #define XtNromanKanaFont "romanKanaFont" #define XtNromanKanaBoldFont "romanKanaBoldFont" +#define XtNoldKanjiFont "oldKanjiFont" +#define XtNoldKanjiBoldFont "oldKanjiBoldFont" +#define XtNkanji90Font "kanji90Font" +#define XtNkanji90BoldFont "kanji90BoldFont" +#define XtNhojoKanjiFont "hojoKanjiFont" +#define XtNhojoKanjiBoldFont "hojoKanjiBoldFont" +#define XtNhanziFont "hanziFont" +#define XtNhanziBoldFont "hanziBoldFont" +#define XtNhanglFont "hanglFont" +#define XtNhanglBoldFont "hanglBoldFont" +#define XtNcnsOneFont "cnsOneFont" +#define XtNcnsOneBoldFont "cnsOneBoldFont" +#define XtNcnsTwoFont "cnsTwoFont" +#define XtNcnsTwoBoldFont "cnsTwoBoldFont" +#define XtNcnsThreeFont "cnsThreeFont" +#define XtNcnsThreeBoldFont "cnsThreeBoldFont" +#define XtNcnsFourFont "cnsFourFont" +#define XtNcnsFourBoldFont "cnsFourBoldFont" +#define XtNcnsFiveFont "cnsFiveFont" +#define XtNcnsFiveBoldFont "cnsFiveBoldFont" +#define XtNcnsSixFont "cnsSixFont" +#define XtNcnsSixBoldFont "cnsSixBoldFont" +#define XtNcnsSevenFont "cnsSevenFont" +#define XtNcnsSevenBoldFont "cnsSevenBoldFont" +#define XtNextOneKanjiFont "extOneKanjiFont" +#define XtNextOneKanjiBoldFont "extOneKanjiBoldFont" +#define XtNextTwoKanjiFont "extTwoKanjiFont" +#define XtNextTwoKanjiBoldFont "extTwoKanjiBoldFont" # ifdef KTERM_MBCS #define XtNkanjiFont "kanjiFont" #define XtNkanjiBoldFont "kanjiBoldFont" @@ -277,6 +305,7 @@ extern int igntable[]; extern int scrtable[]; extern int scstable[]; +extern int escversiontable[]; #ifdef KTERM_MBCS extern int mbcstable[]; extern int smbcstable[]; @@ -504,6 +533,90 @@ {XtNkanjiBoldFont, XtCKanjiFont, XtRString, sizeof(String), XtOffset(XtermWidget, screen._menu_bfont_names[F_JISX0208_0][fontMenu_fontdefault]), XtRString, (XtPointer) NULL}, +{XtNoldKanjiFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_font_names[F_JISC6226_0][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNoldKanjiBoldFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_bfont_names[F_JISC6226_0][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNkanji90Font, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_font_names[F_JISX0208_1990_0][fontMenu_fontdefault]), + XtRString,(XtPointer) NULL}, +{XtNkanji90BoldFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_bfont_names[F_JISX0208_1990_0][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNhojoKanjiFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_font_names[F_JISX0212_0][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNhojoKanjiBoldFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_bfont_names[F_JISX0212_0][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNhanziFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_font_names[F_GB2312_0][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNhanziBoldFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_bfont_names[F_GB2312_0][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNhanglFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_font_names[F_KSC5601_0][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNhanglBoldFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_bfont_names[F_KSC5601_0][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNcnsOneFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_font_names[F_CNS11643_1][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNcnsOneBoldFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_bfont_names[F_CNS11643_1][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNcnsTwoFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_font_names[F_CNS11643_2][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNcnsTwoBoldFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_bfont_names[F_CNS11643_2][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNcnsThreeFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_font_names[F_CNS11643_3][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNcnsThreeBoldFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_bfont_names[F_CNS11643_3][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNcnsFourFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_font_names[F_CNS11643_4][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNcnsFourBoldFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_bfont_names[F_CNS11643_4][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNcnsFiveFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_font_names[F_CNS11643_5][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNcnsFiveBoldFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_bfont_names[F_CNS11643_5][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNcnsSixFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_font_names[F_CNS11643_6][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNcnsSixBoldFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_bfont_names[F_CNS11643_6][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNcnsSevenFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_font_names[F_CNS11643_7][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNcnsSevenBoldFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_bfont_names[F_CNS11643_7][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNextOneKanjiFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_font_names[F_JISX0213_1][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNextOneKanjiBoldFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_bfont_names[F_JISX0213_1][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNextTwoKanjiFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_font_names[F_JISX0213_2][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, +{XtNextTwoKanjiBoldFont, XtCKanjiFont, XtRString, sizeof(String), + XtOffset(XtermWidget, screen._menu_bfont_names[F_JISX0213_2][fontMenu_fontdefault]), + XtRString, (XtPointer) NULL}, # endif /* KTERM_MBCS */ # ifdef KTERM_KANJIMODE {XtNkanjiMode, XtCKanjiMode, XtRString, sizeof(char *), @@ -813,42 +926,7 @@ XtOffsetOf(XtermWidgetRec, screen._menu_bfont_names[F_JISX0201_0][fontMenu_font6]), XtRString, (XtPointer) NULL}, # ifdef KTERM_MBCS -{"kanjiFont1", "KanjiFont1", XtRString, sizeof(String), - XtOffsetOf(XtermWidgetRec, screen._menu_font_names[F_JISX0208_0][fontMenu_font1]), - XtRString, (XtPointer) NULL}, -{"kanjiFont2", "KanjiFont2", XtRString, sizeof(String), - XtOffsetOf(XtermWidgetRec, screen._menu_font_names[F_JISX0208_0][fontMenu_font2]), - XtRString, (XtPointer) NULL}, -{"kanjiFont3", "KanjiFont3", XtRString, sizeof(String), - XtOffsetOf(XtermWidgetRec, screen._menu_font_names[F_JISX0208_0][fontMenu_font3]), - XtRString, (XtPointer) NULL}, -{"kanjiFont4", "KanjiFont4", XtRString, sizeof(String), - XtOffsetOf(XtermWidgetRec, screen._menu_font_names[F_JISX0208_0][fontMenu_font4]), - XtRString, (XtPointer) NULL}, -{"kanjiFont5", "KanjiFont5", XtRString, sizeof(String), - XtOffsetOf(XtermWidgetRec, screen._menu_font_names[F_JISX0208_0][fontMenu_font5]), - XtRString, (XtPointer) NULL}, -{"kanjiFont6", "KanjiFont6", XtRString, sizeof(String), - XtOffsetOf(XtermWidgetRec, screen._menu_font_names[F_JISX0208_0][fontMenu_font6]), - XtRString, (XtPointer) NULL}, -{"kanjiBoldFont1", "KanjiBoldFont1", XtRString, sizeof(String), - XtOffsetOf(XtermWidgetRec, screen._menu_bfont_names[F_JISX0208_0][fontMenu_font1]), - XtRString, (XtPointer) NULL}, -{"kanjiBoldFont2", "KanjiBoldFont2", XtRString, sizeof(String), - XtOffsetOf(XtermWidgetRec, screen._menu_bfont_names[F_JISX0208_0][fontMenu_font2]), - XtRString, (XtPointer) NULL}, -{"kanjiBoldFont3", "KanjiBoldFont3", XtRString, sizeof(String), - XtOffsetOf(XtermWidgetRec, screen._menu_bfont_names[F_JISX0208_0][fontMenu_font3]), - XtRString, (XtPointer) NULL}, -{"kanjiBoldFont4", "KanjiBoldFont4", XtRString, sizeof(String), - XtOffsetOf(XtermWidgetRec, screen._menu_bfont_names[F_JISX0208_0][fontMenu_font4]), - XtRString, (XtPointer) NULL}, -{"kanjiBoldFont5", "KanjiBoldFont5", XtRString, sizeof(String), - XtOffsetOf(XtermWidgetRec, screen._menu_bfont_names[F_JISX0208_0][fontMenu_font5]), - XtRString, (XtPointer) NULL}, -{"kanjiBoldFont6", "KanjiBoldFont6", XtRString, sizeof(String), - XtOffsetOf(XtermWidgetRec, screen._menu_bfont_names[F_JISX0208_0][fontMenu_font6]), - XtRString, (XtPointer) NULL}, +# include "kfontlist.c" # endif /* KTERM_MBCS */ #else /* !KTERM */ {"font1", "Font1", XtRString, sizeof(String), @@ -1102,7 +1180,10 @@ } # ifdef KTERM_KANJIMODE -doSJIS() +int isJISX0208_1990(); +int isJISX0213_1(); +int isJISX0213_2(); +doSJIS_p1() { Char dotextbuf[TEXT_BUF_SIZE]; register Char c1, c2; @@ -1110,6 +1191,7 @@ register Char *dcp = dotextbuf; register int cnt = bcnt > TEXT_BUF_SIZE ? TEXT_BUF_SIZE : bcnt; /* TEXT_BUF_SIZE must be an even number */ + int do_next = 0; # define SJIS1(c) ((0x81 <= c && c <= 0x9F) || (0xE0 <= c && c <= 0xEF)) # define SJIS2(c) (0x40 <= c && c <= 0xFC && c != 0x7F) @@ -1144,14 +1226,164 @@ if (c2 <= 0x7e) c2 -= 0x1f; else if (c2 <= 0x9e) c2 -= 0x20; else c2 -= 0x7e, c1 += 1; + + if (isJISX0213_1(c1, c2)) { + do_next = GSET_EXTKANJI1; + break; + } else if (isJISX0208_1990(c1, c2)) { + do_next = GSET_90KANJI; + break; + } /* copy to buffer */ *dcp++ = c1; *dcp++ = c2; } dotext(&term->screen, term->flags, GSET_KANJI, dotextbuf, dcp); + if (do_next) { + dcp = dotextbuf; + *dcp++ = c1; + *dcp++ = c2; + dotext(&term->screen, term->flags, do_next, dotextbuf, dcp); + } bcnt -= cp - bptr; bptr = cp; } + +doSJIS_p2() +{ + Char dotextbuf[TEXT_BUF_SIZE]; + register Char c1, c2; + register Char *cp = bptr; + register Char *dcp = dotextbuf; + register int cnt = bcnt > TEXT_BUF_SIZE ? TEXT_BUF_SIZE : bcnt; + /* TEXT_BUF_SIZE must be an even number */ + +# define SJIS3(c) (0xF0 <= c && c <= 0xFC) + while (cnt > 0) { + /* first byte */ + c1 = *cp; + if (!SJIS3(c1)) + break; + cnt--; + cp++; + if (cnt == 0) { /* must be (bcnt == cp-bptr) */ + /* + * Incomplete multi-byte character. + * Preserve and skip its first byte. + */ + pending_byte = c1; + break; + } + /* second byte */ + c2 = *cp; + if (!SJIS2(c2)) { + /* + * Illegal shift-jis character. Skip it. + */ + break; + } + cnt--; + cp++; + + /* SJIS to JIS code conversion */ + if (c1 == 0xf0) + if (c2 <= 0x9e) c1 = 0x21; + else c1 = 0x27; + else if (c1 == 0xf1) + c1 = 0x23; + else if (c1 == 0xf2) + if (c2 <= 0x9e) c1 = 0x25; + else c1 = 0x2b; + else if (c1 == 0xf3) + c1 = 0x2d; + else if (c1 == 0xf4) + if (c2 <= 0x9e) c1 = 0x2f; + else c1 = 0x6d; + else c1 = (c1 - 0xf5) * 2 + 0x6f; + if (c2 <= 0x7e) c2 -= 0x1f; + else if (c2 <= 0x9e) c2 -= 0x20; + else c2 -= 0x7e, c1 += 1; + + /* copy to buffer */ + *dcp++ = c1; + *dcp++ = c2; + } + dotext(&term->screen, term->flags, GSET_EXTKANJI2, dotextbuf, dcp); + bcnt -= cp - bptr; + bptr = cp; +} + +doEUC_p1() +{ + Char dotextbuf[TEXT_BUF_SIZE]; + register Char c1, c2; + register Char *cp = bptr; + register Char *dcp = dotextbuf; + register int cnt = bcnt > TEXT_BUF_SIZE ? TEXT_BUF_SIZE : bcnt; + /* TEXT_BUF_SIZE must be an even number */ + int do_next = 0; + +# define EUC(c) ((0xA1 <= c && c <= 0xFE)) + while (cnt > 0) { + /* first byte */ + c1 = *cp; + if (!EUC(c1)) + break; + cnt--; + cp++; + if (cnt == 0) { + pending_byte = c1; + break; + } + /* second byte */ + c2 = *cp; + if (!EUC(c2)) { + break; + } + + /* check JIS X 0213 */ + if (isJISX0213_1(c1, c2)) { + cnt ++; + cp --; + do_next = GSET_EXTKANJI1; + break; + } else if (isJISX0208_1990(c1, c2)) { + cnt ++; + cp --; + do_next = GSET_90KANJI; + break; + } + cnt--; + cp++; + + /* copy to buffer */ + *dcp++ = c1 & 0x7f; + *dcp++ = c2 & 0x7f; + } + dotext(&term->screen, term->flags, GSET_KANJI, dotextbuf, dcp); + bcnt -= cp - bptr; + bptr = cp; + + if (do_next) { + doSS(do_next); + } +} + +doEUC_p2() +{ + Char dotextbuf[TEXT_BUF_SIZE]; + register Char c1, c2; + register Char *cp = bptr; + + c1 = cp[0]; + c2 = cp[1]; + if (EUC(c1) && EUC(c2) && isJISX0213_2(c1, c2)) { + doSS(GSET_EXTKANJI2); + } else { + doSS(GSET_HOJOKANJI); + } +} + # endif /* KTERM_KANJIMODE */ #endif /* KTERM */ @@ -1167,6 +1399,7 @@ Char cs96; # ifdef KTERM_MBCS Char mbcs; + int gsetversion = 0; # endif /* KTERM_MBCS */ #endif /* KTERM */ extern int TrackMouse(); @@ -1193,10 +1426,35 @@ #endif /* KTERM */ #ifdef KTERM_KANJIMODE c = doinput(); + if (term->flags & EUC_KANJI && EUC(c) + && screen->curss == 0 + && screen->gsets[1] == GSET_KANJI) { + bcnt ++; + *--bptr = c; + doEUC_p1(); + continue; + } + if (term->flags & EUC_KANJI && EUC(c) + && screen->curss == 3 + && screen->gsets[3] == GSET_HOJOKANJI) { + bcnt ++; + *--bptr = c; + doEUC_p2(); + if (pending_byte == 0) + screen->curss = 0; + continue; + } if (term->flags & SJIS_KANJI && SJIS1(c)) { bcnt++; *--bptr = c; - doSJIS(); + doSJIS_p1(); + screen->curss = 0; + continue; + } + if (term->flags & SJIS_KANJI && SJIS3(c)) { + bcnt++; + *--bptr = c; + doSJIS_p2(); screen->curss = 0; continue; } @@ -1243,6 +1501,13 @@ case CASE_GROUND_STATE: /* exit ignore mode */ +#ifdef KTERM + cs96 = 0; +#ifdef KTERM_MBCS + mbcs = 0; + gsetversion = 0; +#endif /* KTERM_MBCS */ +#endif /* KTERM */ parsestate = groundtable; break; @@ -1328,6 +1593,16 @@ scstype = 0; /* for ESC-$-F */ parsestate = mbcstable; break; + + case CASE_GSET_VERSION_STATE: + parsestate = escversiontable; + break; + + case CASE_GSET_VERSION: + gsetversion = c; + parsestate = groundtable; + break; + #endif /* KTERM_MBCS */ #ifdef KTERM @@ -1374,6 +1649,12 @@ case CASE_ESC_IGNORE: /* unknown escape sequence */ +#ifdef KTERM + cs96 = 0; +#ifdef KTERM_MBCS + mbcs = 0; +#endif /* KTERM_MBCS */ +#endif /* KTERM */ parsestate = eigtable; break; @@ -1773,8 +2054,24 @@ case CASE_GSETS: #ifdef KTERM + if (c == '0' && !cs96 +# ifdef KTERM_MBCS + && !mbcs +# endif + ) { /* hack for ESC ( 0 */ + c = '@' - 1; + cs96 = CS96; + } # ifdef KTERM_MBCS screen->gsets[scstype] = GSET(c) | cs96 | mbcs; + if (gsetversion) { + if (screen->gsets[scstype] == GSET_KANJI) { + if (gsetversion == '@'){ + screen->gsets[scstype] = GSET_90KANJI; + } + } + gsetversion = 0; + } # else /* !KTERM_MBCS */ screen->gsets[scstype] = GSET(c) | cs96; # endif /* !KTERM_MBCS */ @@ -1976,7 +2273,6 @@ static char *v_bufstr = NULL; /* beginning of area to write */ static char *v_bufptr; /* end of area to write */ static char *v_bufend; /* end of physical buffer */ -#define ptymask() (v_bufptr > v_bufstr ? pty_mask : 0) /* Write data to the pty as typed by the user, pasted with the mouse, or generated by us in response to a query ESC sequence. */ @@ -3291,7 +3587,23 @@ #ifdef KTERM new->screen.dynamic_font_load = request->screen.dynamic_font_load; for (fnum = F_ISO8859_1; fnum < FCNT; fnum++) { - if (fnum == F_ISO8859_1 || fnum == F_JISX0201_0 || fnum == F_JISX0208_0) { + if (fnum == F_ISO8859_1 + || fnum == F_JISX0201_0 + || fnum == F_JISX0208_0 + || fnum == F_JISC6226_0 + || fnum == F_JISX0208_1990_0 + || fnum == F_JISX0212_0 + || fnum == F_GB2312_0 + || fnum == F_KSC5601_0 + || fnum == F_CNS11643_1 + || fnum == F_CNS11643_2 + || fnum == F_CNS11643_3 + || fnum == F_CNS11643_4 + || fnum == F_CNS11643_5 + || fnum == F_CNS11643_6 + || fnum == F_CNS11643_7 + || fnum == F_JISX0213_1 + || fnum == F_JISX0213_2 ) { for (i = fontMenu_fontdefault; i <= fontMenu_lastBuiltin; i++) { new->screen.menu_font_names[i] = request->screen.menu_font_names[i]; new->screen.menu_bfont_names[i] = request->screen.menu_bfont_names[i]; @@ -3564,7 +3876,8 @@ setupgset(); screen->gsets[0] = GSET_ASCII; # ifdef KTERM_KANJIMODE - screen->gsets[1] = (term->flags & EUC_KANJI) ? GSET_KANJI : GSET_KANA; + screen->gsets[1] = (term->flags & EUC_KANJI) ? GSET_KANJI : + (term->flags & SJIS_KANJI) ? GSET_KANA : GSET_LATIN1R; screen->gsets[2] = (term->flags & EUC_KANJI) ? GSET_KANA : GSET_ASCII; screen->gsets[3] = (term->flags & EUC_KANJI) ? GSET_HOJOKANJI : GSET_ASCII; # else /* !KTERM_KANJIMODE */ @@ -3642,7 +3955,6 @@ *s, *ns, *end, - tmp[1024], buf[32]; XIM xim = (XIM) NULL; XIMStyles *xim_styles; @@ -3669,17 +3981,18 @@ if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) xim = XOpenIM(XtDisplay(term), NULL, NULL, NULL); } else { - strcpy(tmp, term->misc.input_method); - for(ns=s=tmp; ns && *s;) { + for(ns=s=term->misc.input_method; ns && *s;) { while (*s && isspace(*s)) s++; if (!*s) break; if ((ns = end = index(s, ',')) == 0) end = s + strlen(s); while (isspace(*end)) end--; - *end = '\0'; strcpy(buf, "@im="); - strcat(buf, s); + if (end - (s + (sizeof(buf) - 5)) > 0) + end = s + (sizeof(buf) - 5); + strncat(buf, s, end - s); + if ((p = XSetLocaleModifiers(buf)) != NULL && *p && (xim = XOpenIM(XtDisplay(term), NULL, NULL, NULL)) != NULL) break; @@ -3708,8 +4021,7 @@ } found = False; - strcpy(tmp, term->misc.preedit_type); - for(s = tmp; s && !found;) { + for(s = term->misc.preedit_type; s && !found;) { while (*s && isspace(*s)) s++; if (!*s) break; if (ns = end = index(s, ',')) @@ -3717,13 +4029,12 @@ else end = s + strlen(s); while (isspace(*end)) end--; - *end = '\0'; - if (!strcmp(s, "OverTheSpot")) { + if (!strncmp(s, "OverTheSpot", end - s)) { input_style = (XIMPreeditPosition | XIMStatusArea); - } else if (!strcmp(s, "OffTheSpot")) { + } else if (!strncmp(s, "OffTheSpot", end - s)) { input_style = (XIMPreeditArea | XIMStatusArea); - } else if (!strcmp(s, "Root")) { + } else if (!strncmp(s, "Root", end - s)) { input_style = (XIMPreeditNothing | XIMStatusNothing); } for (i = 0; (unsigned short)i < xim_styles->count_styles; i++) @@ -4105,7 +4416,9 @@ screen->gsets[0] = GSET_ASCII; # ifdef KTERM_KANJIMODE screen->gsets[1] = (term->flags & EUC_KANJI) - ? GSET_KANJI : GSET_KANA; + ? GSET_KANJI + : (term->flags & SJIS_KANJI) + ? GSET_KANA : GSET_LATIN1R; screen->gsets[2] = (term->flags & EUC_KANJI) ? GSET_KANA : GSET_ASCII; screen->gsets[3] = (term->flags & EUC_KANJI) @@ -4407,7 +4720,7 @@ XtOverrideTranslations(w, original); return; } - (void) sprintf( mapName, "%sKeymap", params[0] ); + (void) sprintf( mapName, "%*sKeymap", (int)sizeof(mapName) - 10, params[0] ); (void) strcpy( mapClass, mapName ); if (islower(mapClass[0])) mapClass[0] = toupper(mapClass[0]); XtGetSubresources( w, (XtPointer)&keymap, mapName, mapClass, --- kterm-6.2.0.orig/convert.c +++ kterm-6.2.0/convert.c @@ -25,8 +25,12 @@ #define NUL 0x00 -#define IsGsetKanji(gset) ((gset)==GSET_KANJI || (gset)==GSET_OLDKANJI) #define IsGsetAscii(gset) ((gset)==GSET_ASCII || (gset)==GSET_JISROMAN) +#define IsGsetKanji(gset) ( (gset)==GSET_OLDKANJI \ + || (gset)==GSET_KANJI \ + || (gset)==GSET_90KANJI \ + || (gset)==GSET_EXTKANJI1 ) + #define JIStoSJIS(c1, c2, s1_p, s2_p) \ *(s1_p) = ((c1) - 0x21) / 2 + (((c1) <= 0x5e) ? 0x81 : 0xc1); \ if ((c1) & 1) /* odd */ \ @@ -34,6 +38,16 @@ else \ *(s2_p) = (c2) + 0x7e; +#define JIStoSJIS2(c1, c2, s1_p, s2_p) \ + if ((c1) < 0x30) \ + *(s1_p) = ((c1) + 0x1bf) / 2 - (((c1) - 0x20) / 8) * 3; \ + else \ + *(s1_p) = ((c1) + 0x17b) / 2; \ + if ((c1) & 1) /* odd */ \ + *(s2_p) = (c2) + (((c2) <= 0x5f) ? 0x1f : 0x20); \ + else \ + *(s2_p) = (c2) + 0x7e; + /* CS -> JIS using ESC-$-B */ int convCStoJIS(cs, js) @@ -43,7 +57,7 @@ return convCStoANY(cs, js, NULL); } -/* CS -> EUC */ +/* CS -> Japanese EUC */ static int CStoEUC(cs_p, es_p) Ichr **cs_p; @@ -71,6 +85,18 @@ *es_p = es; *cs_p = cs; return 2; + } else if (cs->gset == GSET_HOJOKANJI + || cs->gset == GSET_EXTKANJI2) { + c1 = cs++->code; + c2 = cs++->code; + if (es) { + *es++ = SS3; + *es++ = c1 | 0x80; + *es++ = c2 | 0x80; + } + *es_p = es; + *cs_p = cs; + return 3; } return 0; } @@ -110,7 +136,18 @@ *ss_p = ss; *cs_p = cs; return 2; + } else if (cs->gset == GSET_EXTKANJI2) { + c1 = cs++->code; + c2 = cs++->code; + if (ss) { + JIStoSJIS2(c1, c2, ss, ss+1); + ss += 2; + } + *ss_p = ss; + *cs_p = cs; + return 2; } + return 0; } @@ -148,8 +185,9 @@ } n += 3; } - } else if (IsGsetKanji(cs->gset) - || cs->gset == GSET_HANZI) { + } else if (cs->gset == GSET_OLDKANJI + || cs->gset == GSET_HANZI + || cs->gset == GSET_KANJI) { /* Use ESC-$-F instead of ESC-$-(-F (for @AB) */ if (as) { *as++ = ESC; @@ -157,6 +195,16 @@ *as++ = GSETFC(cs->gset); } n += 3; + } else if (cs->gset == GSET_90KANJI) { + if (as) { + *as++ = '\033'; + *as++ = '&'; + *as++ = '@'; + *as++ = '\033'; + *as++ = '$'; + *as++ = 'B'; + } + n += 6; } else { if (as) { *as++ = ESC; @@ -283,21 +331,34 @@ || cs->gset == GSET_KANA) { if (g1 != cs->gset) { g1 = cs->gset; - if (as) { - *as++ = ESC; - if (g1 & MBCS) { - *as++ = '$'; + if (g1 == GSET_90KANJI) { + if (as) { + *as++ = ESC; + *as++ = '&'; + *as++ = '@'; + *as++ = ESC; + *as++ = '$'; + *as++ = ')'; + *as++ = 'B'; } - if (g1 & CS96) { - *as++ = '-'; - } else { - *as++ = ')'; + n += 7; + } else { + if (as) { + *as++ = ESC; + if (g1 & MBCS) { + *as++ = '$'; + } + if (g1 & CS96) { + *as++ = '-'; + } else { + *as++ = ')'; + } + *as++ = GSETFC(g1); } - *as++ = GSETFC(g1); + n += 3; + if (g1 & MBCS) + n ++; } - n += 3; - if (g1 & MBCS) - n ++; } cs++; if (g1 & MBCS) { @@ -414,6 +475,7 @@ int n = 0; int g0, g1, gs; Char *xstr1; + int csversion = 0; /* * Compound Text can include null octet. Therefore the length @@ -482,6 +544,8 @@ * ESC-$-)-F * Non standard character set * ESC-%-/-[0123] + * Character set version + * ESC-&-F * Standard character set must be accepted correctly. * Non standard one is ignored but must be parsed * for skipping data. @@ -492,6 +556,7 @@ len -= xstr1 - xstr; switch (xstr1 - xstr) { case 2: /* ESC - I - F */ + csversion = 0; switch (*xstr++) { case '(': /* 94chars CS -> G0 */ g0 = GSET(*xstr); @@ -502,6 +567,9 @@ case '-': /* 96chars CS -> G1 */ g1 = GSET(*xstr) | CS96; break; + case '&': /* Character set version */ + csversion = *xstr; + break; default: /* ignore */ break; } @@ -512,9 +580,15 @@ switch (*xstr++) { case '(': /* 94chars MBCS -> G0 */ g0 = GSET(*xstr) | MBCS; + if (csversion == '@' + && *xstr == 'B') + g0 = GSET_90KANJI; break; case ')': /* 94chars MBCS -> G1 */ g1 = GSET(*xstr) | MBCS; + if (csversion == '@' + && *xstr == 'B') + g1 = GSET_90KANJI; break; case '-': /* 96chars MBCS -> G1 */ g1 = GSET(*xstr) | CS96 | MBCS; @@ -545,8 +619,10 @@ default: break; } + csversion = 0; break; default: + csversion = 0; break; } xstr = xstr1; @@ -566,6 +642,7 @@ cs++; } n++; + csversion = 0; break; } } @@ -582,28 +659,95 @@ Char *es; Char *js; { - Char e1, e2; + Char e1, e2, e3; Char gset = GSET_ASCII; int n = 0; while (e1 = *es++) { if (e1 == SS2) { if (e2 = *es++) { - if (js) - *js++ = e2 | 0x80; + if (gset != GSET_KANA) { + if (js) { + *js++ = ESC; + *js++ = '('; + *js++ = GSETFC(GSET_KANA); + } + n += 3; + gset = GSET_KANA; + } + if (js) { + *js++ = e2 & ~0x80; + } n++; } /* else { ??? } */ + } else if (e1 == SS3) { + if ((e2 = *es++) && (e3 = *es++)) { + if (isJISX0213_2(e2, e3)) { + if (gset != GSET_EXTKANJI2) { + if (js) { + *js++ = ESC; + *js++ = '$'; + *js++ = '('; + *js++ = GSETFC(GSET_EXTKANJI2); + } + n += 4; + gset = GSET_EXTKANJI2; + } + } else { + if (gset != GSET_HOJOKANJI) { + if (js) { + *js++ = ESC; + *js++ = '$'; + *js++ = '('; + *js++ = GSETFC(GSET_HOJOKANJI); + } + n += 4; + gset = GSET_HOJOKANJI; + } + } + if (js) { + *js++ = e2 & ~0x80; + *js++ = e3 & ~0x80; + } + n += 2; + } } else if (e1 & 0x80) { if (e2 = *es++) { - if (gset != GSET_KANJI) { - if (js) { - *js++ = ESC; - *js++ = '$'; - *js++ = GSETFC(GSET_KANJI); + if (isJISX0213_2(e1, e2)) { + if (gset != GSET_EXTKANJI1) { + if (js) { + *js++ = ESC; + *js++ = '$'; + *js++ = '('; + *js++ = GSETFC(GSET_EXTKANJI1); + } + n += 4; + gset = GSET_EXTKANJI1; + } + } else if (isJISX0208_1990(e1, e2)) { + if (gset != GSET_90KANJI) { + if (js) { + *js++ = ESC; + *js++ = '&'; + *js++ = '@'; + *js++ = ESC; + *js++ = '$'; + *js++ = GSETFC(GSET_KANJI); + } + n += 6; + gset = GSET_90KANJI; + } + } else { + if (gset != GSET_KANJI) { + if (js) { + *js++ = ESC; + *js++ = '$'; + *js++ = GSETFC(GSET_KANJI); + } + n += 3; + gset = GSET_KANJI; } - n += 3; - gset = GSET_KANJI; } if (js) { *js++ = e1 & ~0x80; @@ -648,7 +792,7 @@ Char *es; Char *ss; { - Char e1, e2; + Char e1, e2, e3; int n = 0; while (e1 = *es++) { @@ -670,6 +814,18 @@ n += 2; } /* else { ??? } */ + } else if (e1 == SS3) { + if ((e2 = *es++) && (e3 = *es++)) { + if (ss) { + if (isJISX0213_2(e2, e3)) { + JIStoSJIS2(e2, e3, ss, ss+1); + } else { + JIStoSJIS(0x21, 0x22, ss, ss+1); + } + ss += 2; + } + n += 2; + } } else { if (ss) *ss++ = e1; --- kterm-6.2.0.orig/debian/KTerm-ja.ad +++ kterm-6.2.0/debian/KTerm-ja.ad @@ -0,0 +1,158 @@ +! $XConsortium: XTerm.ad,v 1.32 94/02/09 18:19:21 converse Exp $ +! $Id: KTerm.ad,v 1.4 1994/08/04 09:10:21 shibata Exp $ +KTerm.JoinSession:False +*international: True +*SimpleMenu*BackingStore: NotUseful +*SimpleMenu*menuLabel.fontSet: -adobe-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-*,-misc-fixed-bold-r-normal-*-12,-misc-gothic-bold-r-normal-*-12,-misc-mincho-bold-r-normal-*-12,-misc-fixed-medium-r-normal-*-12 +*SimpleMenu*fontSet: -adobe-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-*,-misc-fixed-medium-r-normal-*-12,-misc-gothic-medium-r-normal-*-12,-misc-mincho-medium-r-normal-*-12 +*SimpleMenu*menuLabel.vertSpace: 100 +*SimpleMenu*HorizontalMargins: 16 +*SimpleMenu*Sme.height: 16 + +*SimpleMenu*Cursor: left_ptr +*mainMenu.Label: メインオプション +*mainMenu*securekbd*Label: 安全なキーボード +*mainMenu*allowsends*Label: SendEventsを許可 +*mainMenu*logging*Label: ファイルへログをとる +*mainMenu*redraw*Label: ウィンドゥ再描写 +*mainMenu*suspend*Label: STOPシグナルを送る +*mainMenu*continue*Label: CONTシグナルを送る +*mainMenu*interrupt*Label: INTシグナルを送る +*mainMenu*hangup*Label: HUPシグナルを送る +*mainMenu*terminate*Label: TERMシグナルを送る +*mainMenu*kill*Label: KILLシグナルを送る +*mainMenu*quit*Label: 終了 + +*vtMenu.Label: VTオプション +*vtMenu*scrollbar*Label: スクロールバーを表示 +*vtMenu*jumpscroll*Label: ジャンプスクロールを有効 +*vtMenu*reversevideo*Label: 画面表示を反転 +*vtMenu*autowrap*Label: 自動Wraparoundを有効に +*vtMenu*reversewrap*Label: 反転Wraparoundを有効に +*vtMenu*autolinefeed*Label: 自動 行フィード +*vtMenu*appcursor*Label: アプリケーションカーソルキーを有効 +*vtMenu*appkeypad*Label: アプリケーションキーパッドを有効 +*vtMenu*scrollkey*Label: キー入力上の末端行へのスクロール +*vtMenu*scrollttyoutput*Label: 端末出力上の末端行へのスクロール +*vtMenu*allow132*Label: 80/132横幅スイッチを許可 +*vtMenu*cursesemul*Label: Cursesエミュレーションを行なう +*vtMenu*visualbell*Label: ビジュアルベルを有効 +*vtMenu*marginbell*Label: マージンベルを有効 +*vtMenu*altscreen*Label: もう一つの画面を表示 +*vtMenu*softreset*Label: ソフトリセットを行なう +*vtMenu*hardreset*Label: 完全リセットを行なう +*vtMenu*clearsavedlines*Label: リセットおよび保存行をクリア +*vtMenu*tekshow*Label: Tekウィンドウを表示 +*vtMenu*tekmode*Label: Tekモードへ変更 +*vtMenu*vthide*Label: VTウィンドウを隠す +*vtMenu*statusline*Label: ステータス行を表示 +*vtMenu*reversestatus*Label: ステータス表示を反転 +*vtMenu*eucmode*Label: EUC漢字モード +*vtMenu*sjismode*Label: シフトJIS漢字モード +*vtMenu*openim*Label: IMを開く + +*fontMenu.Label: VTフォント +*fontMenu*fontdefault*Label: 標準 +*VT100*fontList: -*-fixed-medium-r-normal--14-*,\ + -*-gothic-medium-r-normal--14-*,\ + -*-mincho-medium-r-normal--14-* +!*VT100*boldFontList: -*-fixed-bold-r-normal--14-*,\ +! -*-gothic-bold-r-normal--14-*,\ +! -*-mincho-bold-r-normal--14-* +*fontMenu*font1*Label: 読み取り不可 +*VT100*fontList1: -*-fixed-medium-r-normal--2-*,\ + -*-gothic-medium-r-normal--2-*,\ + -*-mincho-medium-r-normal--2-* +*VT100*font1: -misc-nil-medium-r-normal--2-*-misc-fontspecific +*fontMenu*font2*Label: 最小 +*VT100*fontList2: -*-fixed-medium-r-normal--10-*,\ + -*-gothic-medium-r-normal--10-*,\ + -*-mincho-medium-r-normal--10-* +*fontMenu*font3*Label: 小さめ +*VT100*fontList3: -*-fixed-medium-r-normal--12-*,\ + -*-gothic-medium-r-normal--12-*,\ + -*-mincho-medium-r-normal--12-* +*fontMenu*font4*Label: 中間 +*VT100*fontList4: -*-fixed-medium-r-normal--16-*,\ + -*-gothic-medium-r-normal--16-*,\ + -*-mincho-medium-r-normal--16-* +*fontMenu*font5*Label: 大きめ +*VT100*fontList5: -*-fixed-medium-r-normal--20-*,\ + -*-gothic-medium-r-normal--20-*,\ + -*-mincho-medium-r-normal--20-* +*fontMenu*font6*Label: 最大 +*VT100*fontList6: -*-fixed-medium-r-normal--24-*,\ + -*-gothic-medium-r-normal--24-*,\ + -*-mincho-medium-r-normal--24-* +*fontMenu*fontescape*Label: エスケープシーケンス +*fontMenu*fontsel*Label: セレクション +!fontescape and fontsel overridden by application + +!*VT100*kanjiMode: euc +!*VT100*lineSpace: 0 + +*VT100*textColor0: Black +*VT100*textColor1: Red3 +*VT100*textColor2: Green3 +*VT100*textColor3: Yellow3 +*VT100*textColor4: Blue3 +*VT100*textColor5: Magenta3 +*VT100*textColor6: Cyan3 +*VT100*textColor7: Gray50 + +KTerm*tekMenu.Label: Tekオプション +*tekMenu*tektextlarge*Label: 大きい文字 +*tekMenu*tektext2*Label: 文字サイズ#2 +*tekMenu*tektext3*Label: 文字サイズ#3 +*tekMenu*tektextsmall*Label: 小さい文字 +*tekMenu*tekpage*Label: ページ +*tekMenu*tekreset*Label: リセット +*tekMenu*tekcopy*Label: コピー +*tekMenu*vtshow*Label: VTウィンドウを表示 +*tekMenu*vtmode*Label: VTモードへ変更 +*tekMenu*tekhide*Label: Tekウィンドウを隠す + +*tek4014*fontLarge: 9x15 +*tek4014*font2: 8x13 +*tek4014*font3: 6x13 +*tek4014*fontSmall: 6x10 + +!*fontSet: 7x14,--mincho-*--14-*,-*--14-* + +!*beNiceToColormap: False +!*ScrollBar: true +!*Scrollbar*Width: 16 +!*SimpleMenu*vertSpace: 0 + +! for kinput2 +!*allowSendEvents: true + +! kterm use XMODIFIERS environment for XIM +!*VT100*translations: #override \ +! Shiftspace: open-im(XMODIFIERS) \n\ +*VT100*translations: #override \ +Shift,:scroll-back(1,line)\n\ +Shift,:scroll-forw(1,line)\n\ +Ctrl,:scroll-back(1,page)\n\ +Ctrl,:scroll-forw(1,page)\n\ +,:scroll-back(1,halfpage)\n\ +,:scroll-forw(1,halfpage)\n\ + +!# In the scrollbar we map buttons 5 & 4 to 1 and 2 otherwise, core dump +!# This will move proportionnaly to cursor position but we dont know how to +!# program the same exact behavior as in the text widget. +KTerm*VT100.Scrollbar.translations: #override\n\ +: StartScroll(Forward)\n\ +: StartScroll(Backward)\n\ + +! selection characters with double click +*charClass: 33:48,37:48,45-47:48,58:48,64:48,126-127:48 + +! +! Added for Debian +! +*VT100*KanjiMode: euc +*VT100.Translations: #override ~Shift ~Ctrl ~Meta Delete: string("\033[3~")\n\ + ~Shift ~Ctrl ~Meta Home: string("\033[1~")\n\ + ~Shift ~Ctrl ~Meta End: string("\033[4~")\n\ + ~Shift ~Ctrl ~Meta BackSpace: string("\177") --- kterm-6.2.0.orig/debian/changelog +++ kterm-6.2.0/debian/changelog @@ -0,0 +1,381 @@ +kterm (6.2.0-46.1build1) xenial; urgency=medium + + * No-change rebuild for ncurses6 transition. + + -- Matthias Klose Sun, 07 Feb 2016 09:42:24 +0000 + +kterm (6.2.0-46.1) unstable; urgency=low + + * Non-maintainer upload. + * Build with hardening flags, closes: #733716. + * Link with --as-needed flag, closes: #733483. + + -- Graham Inggs Fri, 03 Jan 2014 11:44:43 +0200 + +kterm (6.2.0-46) unstable; urgency=low + + * rebuild with moduler X, migrate from /usr/X11R6 to /usr + * add build-depend: xutils-dev (>=1.0.2-2) + * cleanup debian/rules + + -- ISHIKAWA Mutsumi Mon, 17 Apr 2006 12:29:50 +0900 + +kterm (6.2.0-45) unstable; urgency=low + + * ST terminated OSC sequence support, closes: #236541 + * cleanup debian/rules, drop debian/conffiles and add + debian/compat to adapt current debhelper. + * menu path migration (/usr/lib/menu/kterm -> /usr/share/menu/kterm) + * update build-depends: debhelper (>= 4.9.1) (for migration menu path) + + -- ISHIKAWA Mutsumi Fri, 17 Jun 2005 12:18:57 +0900 + +kterm (6.2.0-44) unstable; urgency=low + + * fix build problem with gcc-3.4/gcc4, closes: #259024 + + -- ISHIKAWA Mutsumi Sun, 5 Jun 2005 18:32:26 +0900 + +kterm (6.2.0-43) unstable; urgency=low + + * update build dependency to adapt xlibs split + * always use Japanese as default(update KTerm.ad), closes: #223246 + + -- ISHIKAWA Mutsumi Fri, 20 Feb 2004 00:28:39 +0900 + +kterm (6.2.0-42) unstable; urgency=low + + * migrate to use Unix98 PTY, closes: #222929 + + -- ISHIKAWA Mutsumi Fri, 5 Dec 2003 08:10:54 +0900 + +kterm (6.2.0-41) unstable; urgency=low + + * adapt Debian policy 3.5.8 + * rebuild with libc 2.3.1 + * change maintainer's mail address + + -- ISHIKAWA Mutsumi Sun, 22 Dec 2002 04:01:36 +0900 + +kterm (6.2.0-40) unstable; urgency=low + + * add Build-Depends: m4, closes: #133904 + + -- ISHIKAWA Mutsumi Fri, 15 Feb 2002 00:30:40 +0900 + +kterm (6.2.0-39) unstable; urgency=low + + * HANATAKA Shinya's JIS X 0213:2000 patch + merged, closes: #133700 + + -- ISHIKAWA Mutsumi Wed, 13 Feb 2002 18:21:24 +0900 + +kterm (6.2.0-38) unstable; urgency=low + + * update X resources files to handle Backspace correctly, + closes: #121515 + * enable Tektronix emulation, closes: #111047 + * update Build-Depends: line + + -- ISHIKAWA Mutsumi Wed, 28 Nov 2001 19:35:40 +0900 + +kterm (6.2.0-37) unstable; urgency=low + + * fix update-alternatives problem (manual path was invalid), + closes: #113664 + + -- ISHIKAWA Mutsumi Thu, 27 Sep 2001 20:04:05 +0900 + +kterm (6.2.0-36) unstable; urgency=low + + * remove invalid keyword and clean up japanese resource file, + closes: #112862 + * remove emacs setting from changelog file (lintian error fix) + + -- ISHIKAWA Mutsumi Fri, 21 Sep 2001 00:52:20 +0900 + +kterm (6.2.0-35) unstable; urgency=low + + * remove Build-Depends: rman, this is not needed. + + -- ISHIKAWA Mutsumi Fri, 11 May 2001 01:06:11 +0900 + +kterm (6.2.0-34) unstable; urgency=low + + * rebuilt with glibc 2.2.2 + + -- ISHIKAWA Mutsumi Mon, 19 Feb 2001 02:15:14 +0900 + +kterm (6.2.0-33) unstable; urgency=low + + * dh_suidmanager was obsolated deleted from debian/rules, + closes: #83756 + + -- ISHIKAWA Mutsumi Sun, 28 Jan 2001 01:37:42 +0900 + +kterm (6.2.0-32) unstable; urgency=low + + * fix owner, group and permissions of /usr/X11R6/bin/kterm + chown root.utmp, chmod 2755 + + -- ISHIKAWA Mutsumi Tue, 9 Jan 2001 22:44:17 +0900 + +kterm (6.2.0-31) unstable; urgency=low + + * kterm-6.2.0-16colors.diff backed out + + -- ISHIKAWA Mutsumi Sun, 19 Nov 2000 06:40:36 +0900 + +kterm (6.2.0-30) unstable; urgency=low + + * Fixed Japanese non-exist-font inX resource file problem + + -- ISHIKAWA Mutsumi Fri, 17 Nov 2000 18:31:18 +0900 + +kterm (6.2.0-29) unstable; urgency=low + + * imported kterm-6.2.0-16colors.diff from Vine Linux + * import some resorces from Vine Linux + * import Japanese resource file from Vine Linux + * Special Thanks for Project Vine :-) + http://www.vinelinux.org/ + + -- ISHIKAWA Mutsumi Wed, 15 Nov 2000 03:28:50 +0900 + +kterm (6.2.0-28) unstable; urgency=low + + * Build-Depends: adopt xfree86-4.0.1 + - removed Build-Depends: xlib6g-dev + - added Build-Depends: xlibs-dev, libxaw-dev + * add Build-Depends: rman + * remove debian/kterm.Xresources, this already merged into KTerm.ad. I had + forgotten to remove it. + + -- ISHIKAWA Mutsumi Fri, 10 Nov 2000 17:20:43 +0900 + +kterm (6.2.0-27) unstable; urgency=low + + * add Build-Depends: xutils, bocause imake and xmkmf moved to it. + + -- ISHIKAWA Mutsumi Fri, 10 Nov 2000 04:14:22 +0900 + +kterm (6.2.0-26) unstable; urgency=low + + * changed Depends: locales to Recomends: locales, + closes #71136 + * remove Suggests: xfonts-cjk (xfonts-cjk was merged into xfonts-base) + * rebuilt on xfree86-4.0.1 + * /etc/X11/Xresoucrs/kterm merged into + /etc/X11/app-defaults/KTerm + + -- ISHIKAWA Mutsumi Thu, 9 Nov 2000 03:04:35 +0900 + +kterm (6.2.0-25) unstable; urgency=low + + * add Build-Depends: debhelper, close: Bug#73675 + + -- ISHIKAWA Mutsumi Sat, 7 Oct 2000 09:36:16 +0900 + +kterm (6.2.0-24) unstable; urgency=low + + * changelog typo fix...closes: Bug#19985 + * some dependencies was missing, fix. + * remove Makefile from diff.gz + + -- ISHIKAWA Mutsumi Fri, 29 Sep 2000 08:15:50 +0900 + +kterm (6.2.0-23) unstable; urgency=low + + * Add "*VT100*kanjiMode: euc" entry into X resource file of KTerm, + closes: Bug#19985 + * Change Depends: locale-ja (>= 13) -> Depends: locales (>= 2.1.94-2), + because glibc 2.1.94 now support and includes Japanese locale and + obsolates locale-ja package (locale-ja package will be removed). + + -- ISHIKAWA Mutsumi Fri, 29 Sep 2000 01:26:02 +0900 + +kterm (6.2.0-22) unstable; urgency=low + + * add Depends: ncurses-term, because kterm can not display correctly + without ncurses-term, closes: Bug#62441 + * change dependency to be able to upgrade from hamm to potato directory + + -- ISHIKAWA Mutsumi Sun, 16 Apr 2000 03:57:46 +0900 + +kterm (6.2.0-21) unstable; urgency=low + + * Oops, I missed to apply CNS11643 and JISX0213 support patch... + Realy Apply it. + + -- ISHIKAWA Mutsumi Sun, 30 Jan 2000 20:06:02 +0900 + +kterm (6.2.0-20) unstable; urgency=low + + * add support CNS11643.1992-{1,2} and JISX0213.1999-{1,2} + (from http://www.yl.is.s.u-tokyo.ac.jp/~oiwa/pub/fonts/newjis/patches/kterm-6.2.0-newjis.patch) + + -- ISHIKAWA Mutsumi Sun, 30 Jan 2000 19:57:16 +0900 + +kterm (6.2.0-19) frozen unstable; urgency=low + + * rebuild with libncurses5 + * add build Build-Depend: libncurses5-dev + + -- ISHIKAWA Mutsumi Sun, 30 Jan 2000 19:48:24 +0900 + +kterm (6.2.0-18) unstable; urgency=low + + * adopt policy 3.1.1.1 + * add Build-Depends in control + * add /etc/X11/Xresources/kterm to adopt Debian Policy 3.7. Keyboard + configuration, closes: Bug#50185 + + -- ISHIKAWA Mutsumi Mon, 3 Jan 2000 22:39:07 +0900 + +kterm (6.2.0-17) unstable; urgency=low + + * Fix problem build on Alpha plathome, closes: Bug#40316 + * Oops x-terminal-emulator support is missing from previous version. + Add this feature really, closes: Bug#45967 + + -- ISHIKAWA Mutsumi Wed, 6 Oct 1999 01:15:13 +0900 + +kterm (6.2.0-16) unstable; urgency=low + + * add support x-terminal-emulator + - add update-alternatives to handle x-terminal-emulator + - add Provides: x-terminal-emulator in control file + + -- ISHIKAWA Mutsumi Mon, 30 Aug 1999 05:42:04 +0900 + +kterm (6.2.0-15) unstable; urgency=low + + * New Maintainer. + * cleanup some garbage files from source + * build with glibc 2.1 (build with glibc2.1 cause some problem, so + fixed). + * Fix Bugs #31277, #32277 + * postrm functions moved to prerm + + -- ISHIKAWA Mutsumi Wed, 19 May 1999 02:32:22 +0900 + + kterm (6.2.0-14.1) frozen unstable; urgency=low + + * non-maintainer upload (binary-only) for alpha + * some problems with alpha-specific(?) include files. I've tested my fix on + i386 as well. + * fixed a couple of compiler warnings (on alpha). + + -- Paul Slootman Tue, 29 Dec 1998 20:01:07 +0100 + +kterm (6.2.0-14) frozen unstable; urgency=HIGH + + * Can't start kterm. (Bug#JP/616) + Recompiled with xlib6g_3.3.2.3a-6. + * Change suggestion package from xfntbig to xfonts-cjk. + + -- Yoshiaki Yanagihara Wed, 4 Nov 1998 14:58:10 +0900 + +kterm (6.2.0-13) frozen unstable; urgency=low + + * Recompiled with libncurses4. + + -- Yoshiaki Yanagihara Fri, 30 Oct 1998 16:27:24 +0900 + +kterm (6.2.0-12) frozen unstable; urgency=medium + + * BugFixed: install kterm command with bad file permission. + Can't save file permission by dh_suidregister, so change order + dh_fixperms and dh_suidregister. + + -- Yoshiaki Yanagihara Mon, 15 Jun 1998 14:38:36 +0900 + +kterm (6.2.0-11) frozen unstable; urgency=HIGH + + * BugFixed: Depends to local xlib6g version (Debian JP version). + Can't install package. + + -- Yoshiaki Yanagihara Fri, 12 Jun 1998 17:12:10 +0900 + +kterm (6.2.0-10) frozen unstable; urgency=HIGH + + * Applied a part of xterm secutiry patch of XFree86 3.3.2 (charproc.c) + (Bug#23154, Bug#23209). + * Build with debhelper. + * Check with lintian-0.4.8. + * Added japanese manpage. + * Update Standard-Version to 2.4.1.1. + + -- Yoshiaki Yanagihara Fri, 12 Jun 1998 10:25:25 +0900 + +kterm (6.2.0-9) frozen unstable; urgency=low + + * Added dependency: locale-ja (Bug#JP/158, Bug#JP/166). + * Change kterm file mode to 4755. (Bug#20985) + * Change Maintainer E-mail address. + * Update Standard-Version to 2.4.0.0. + + -- Yoshiaki Yanagihara Wed, 15 Apr 1998 10:47:50 +0900 + +kterm (6.2.0-8) unstable; urgency=low + + * Public Release Version. + * Fixed menu file. + * Standard-Version: 2.3.0.0 + * (Recompiled with libc6 & xlib6g). + + -- Yoshiaki Yanagihara Wed, 10 Dec 1997 00:15:47 +0900 + +kterm (6.2.0-7) hamm-jp; urgency=low + + * Pre-Public Release version. + * BugFixed: strange TERMCAP environment. + * Added menu file. + + -- Yoshiaki Yanagihara Tue, 2 Dec 1997 01:19:13 +0900 + +kterm (6.2.0-6) hamm-jp; urgency=low + + * Recompiled with libc6 & xlib6g. + + -- Yoshiaki Yanagihara Tue, 30 Sep 1997 00:17:34 +0900 + +kterm (6.2.0-5) unstable; urgency=low + + * Rebuild for First Public Release. + + -- Yoshiaki Yanagihara Thu, 4 Sep 1997 17:05:30 +0900 + +kterm (6.2.0-4) unstable; urgency=low + + * Added suggest package xfntbig. + * Standard-Version: 2.2.0.0 + * For public release. + + -- Yoshiaki Yanagihara Thu, 24 Jul 1997 18:22:36 +0900 + +kterm (6.2.0-3) unstable; urgency=low + + * Re-build using deb-make. + * Standard-Version:2.1.2.2 + * Change maintainer E-mail address. + + -- Yoshiaki Yanagihara Tue, 15 Apr 1997 15:17:46 +0900 + +kterm (6.2.0-2) unstable; urgency=low + + * Modified debian/copyright file. + + -- Yoshiaki Yanagihara Wed, 11 Sep 1996 14:33:54 +0900 + +kterm (6.2.0-1) unstable; urgency=low + + * New source format + + -- Yoshiaki Yanagihara Tue, 10 Sep 1996 11:25:00 +0900 + +kterm (6.2.0-0) unstable; urgency=low + + * added Debian GNU/Linux package maintenance system files. + + -- Yoshiaki Yanagihara Tue, 14 Aug 1996 00:29:00 +0900 --- kterm-6.2.0.orig/debian/compat +++ kterm-6.2.0/debian/compat @@ -0,0 +1 @@ +4 --- kterm-6.2.0.orig/debian/control +++ kterm-6.2.0/debian/control @@ -0,0 +1,16 @@ +Source: kterm +Section: x11 +Priority: extra +Maintainer: ISHIKAWA Mutsumi +Build-Depends: libxaw7-dev, libxmu-dev, libxt-dev, libsm-dev, libice-dev, libxpm-dev, libxext-dev, libx11-dev, libncurses5-dev, debhelper (>= 4.9.1), xutils-dev (>= 1.0.2-2), m4 +Standards-Version: 3.6.1 + +Package: kterm +Architecture: any +Depends: ${shlibs:Depends}, ncurses-term +Recommends: locales (>= 2.1.94-2) +Suggests: xfonts-shinonome | xfonts-a12k12 +Provides: x-terminal-emulator +Description: Multi-lingual terminal emulator for X + Kterm is an X11 terminal emulator that can handle multi-lingual text. + This release is based on xterm of X11R6.1. --- kterm-6.2.0.orig/debian/copyright +++ kterm-6.2.0/debian/copyright @@ -0,0 +1,52 @@ +This package was debianized by Yoshiaki Yanagihara yochi@debian.or.jp on +Tue, 15 Apr 1997 15:17:46 +0900. + +Maintainer Change from Yoshiaki Yanagihara to +ISHIKAWA Mutsumi on Thu May 20 00:58:10 JST 1999 + +It was downloaded from ftp.iij.ad.jp:/pub/X/contrib/applications/ + +Copyright: + +Copyright (c) 1987, 1988 X Consortium + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the X Consortium shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from the X Consortium. + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. --- kterm-6.2.0.orig/debian/dirs +++ kterm-6.2.0/debian/dirs @@ -0,0 +1,4 @@ +usr/bin +usr/share/man/man1 +usr/share/man/ja/man1 +etc/X11/ja_JP.eucJP/app-defaults --- kterm-6.2.0.orig/debian/kterm.jman.euc +++ kterm-6.2.0/debian/kterm.jman.euc @@ -0,0 +1,316 @@ +.\" $Id: kterm.jman,v 6.4 1996/07/12 05:01:34 kagotani Rel $ +.\" +.\" Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993 and 1994 +.\" XXI working group in Japan Unix Society (XXI). +.\" +.\" The X Consortium, and any party obtaining a copy of these files from +.\" the X Consortium, directly or indirectly, is granted, free of charge, a +.\" full and unrestricted irrevocable, world-wide, paid up, royalty-free, +.\" nonexclusive right and license to deal in this software and +.\" documentation files (the "Software"), including without limitation the +.\" rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons who receive +.\" copies from any such party to do so. This license includes without +.\" limitation a license to do the foregoing actions under any patents of +.\" the party supplying this software to the X Consortium. +.\" " +.TH KTERM 1 "12 July 1996" "X Version 11" +.SH NAME +kterm \- 多国語用 X 端末エミュレータ +.SH SYNOPSIS +.B kterm +[-\fItoolkitoption\fP ...] [-\fIxtermoption\fP ...] [-option ...] +.SH DESCRIPTION +\fIkterm\fP は、\fIxterm\fP(1) をもとにした、多国語用端末のエミュレー +タです。\fIxterm\fP との主な違いは、ISO2022 で符号化された多国語テキス +トを扱うことができ、色の付いたテキストを表示でき、ステータスライン機能 +を持つという点です。多国語テキストの入力には、X Input Method (XIM) プ +ロトコルと、kinput2 プロトコルの両方を利用することができます。詳しくは +USING XIM と USING KINPUT2 の節を参照してください。 +.PP +.SH OPTIONS +\fIkterm\fP は、\fIxterm\fP(1) のコマンドラインオプションに加え、 +以下のオプションを受け付けます: +.TP 8 +.BI \-dfl +\fIkterm\fP がフォントを動的に(要求があったときに)ロードすることを指示 +します。大きなフォントをロードする際に、\fIkterm\fP や X サーバが一瞬 +止まってしまうことがあります。 +.TP 8 +.BI \+dfl +\fIkterm\fP がフォントをあらかじめロードしておくことを指示します。 +.TP 8 +.BI \-fl " fontlist" +フォントのリストを指定します。\fIfontlist\fP は任意のワイルドカードを +含む XLFD を、カンマで区切って並べたリストです。\fIkterm\fP は、必要な +文字セットを持つフォントをこのリストから選択します。本リリースでは以下 +の文字セットを使用することがあります: +.br +"iso8859-1", +.br +"iso8859-2", +.br +"iso8859-3", +.br +"iso8859-4", +.br +"iso8859-5", +.br +"iso8859-6", +.br +"iso8859-7", +.br +"iso8859-8", +.br +"iso8859-9", +.br +"jisx0201.1976-0", +.br +"jisx0208.1990-0" または "jisx0208.1983-0", +.br +"jisx0212.1990-0", +.br +"gb2312.1980-0", +.br +"ksc5601.1987-0", +.br +"jisc6226.1978-0" または "jisx0208.1983-0"。 +.TP 8 +.BI \-fn " iso8859/1-font" +Latin-1 (ASCII を含む) のテキストを表示する時に用いる、通常の(ボールド +でない) ISO8859/1 のフォントを指定します。指定されていない時は、 +\fIfontlist\fP の中から探します。 +.TP 8 +.BI \-fr " roman-kana-font" +通常の JISX0201 のフォントを指定します。このフォントは、ISO8859/1 のフォ +ントと同じ高さと幅を持っていなければなりません。指定されていない時は、 +\fIfontlist\fP の中から探します。 +.TP 8 +.BI \-fk " kanji-font" +漢字テキストを表示する時に用いる通常の JISX0208 のフォントを指定します。 +このフォントは、ISO8859/1 のフォントと同じ高さで、2倍の幅を持っていな +ければなりません。指定されていない時は、\fIfontlist\fP の中から探しま +す。 +.TP +.BI \-flb " bold-fontlist" +.TP +.BI \-fb " bold-font" +.TP +.BI \-frb " roman-kana-bold-font" +.TP 8 +.BI \-fkb " kanji-bold-font" +ボールドフォントを指定します。 +.TP 8 +.BI \-lsp " dots" +このオプションは各行間に挿入するスペースのドット数を指定します。 +.TP 8 +.BI \-ka +\fIkterm\fP が X サーバとのソケット接続に KEEPALIVE オプションを用いる +ことを指示します。サーバが電源をしばしば切る X 端末であるような時に有 +用です。 +.TP 8 +.BI \+ka +\fIkterm\fP が X サーバとのソケット接続に KEEPALIVE オプションを用いな +いことを指示します。 +.TP 8 +.BI \-km " kanji-mode" +pty とやりとりされる漢字コードを指定します。漢字モードが ``euc'' の場 +合、入出力は日本語 EUC であると仮定します。``sjis'' の場合、Shift-JIS +コード(マイクロソフト漢字コード)であると仮定します。 +.TP 8 +.BI \-sn +デフォルトでは、ステータスラインは(ウインドウの他の部分に対して相対的 +に)反転します。このオプションはステータスラインを反転しなくします(しか +し、箱で囲まれます)。 +.TP 8 +.BI \+sn +このオプションはステータスラインを反転します。 +.TP 8 +.BI \-st +ステータスラインがスタート時に表示されるようにします。 +.TP 8 +.BI \+st +ステータスラインがスタート時に表示されないようにします。 +.TP 8 +.BI \-version +単に \fIkterm\fP のバージョンを表示します。 +.TP 8 +.BI \-xim +\fIkterm\fP の起動時に IM をオープン(しようと)することを指示します。適 +切な IM サーバが走っていない場合は、\fIkterm\fP はそれを待つことはなく、 +サーバが利用可能になってから接続を行います。 +.TP 8 +.BI \+xim +\fIkterm\fP が起動時に IM をオープンしないことを指示します。 +.SH RESOURCES +このプログラムは、\fIxterm\fP のすべてのリソースと同様に、以下の +\fIvt100\fP ウィジェット用リソースも解釈します。 +.TP 8 +.B "dynamicFontLoad (\fPclass\fB DynamicFontLoad)" +\fIkterm\fP がフォントを動的にロードするかどうかを指定します。 +デフォルトは ``true'' です。 +.TP 8 +.B "fontList (\fPclass\fB FontList)" +フォント名のリストを指定します。デフォルトは +``-*-fixed-medium-r-normal--14-*, +-*-gothic-medium-r-normal--14-*, +-*-mincho-medium-r-normal--14-*'' です。 +.TP 8 +.B "boldFontList (\fPclass\fB FontList)" +ボールドフォント名のリストを指定します。デフォルトでは指定しません。 +.TP 8 +.B "font (\fPclass\fB Font)" +Latin-1 のフォント名を指定します。デフォルトでは指定しません。 +.TP 8 +.B "boldFont (\fPclass\fB Font)" +Latin-1 のボールドフォント名を指定します。デフォルトでは指定しません。 +.TP 8 +.B "romanKanaFont (\fPclass\fB RomanKanaFont)" +JIS-Roman と片仮名のフォント名を指定します。デフォルトでは指定しません。 +.TP 8 +.B "romanKanaBoldFont (\fPclass\fB RomanKanaFont)" +JIS-Roman と片仮名のボールドフォント名を指定します。デフォルトでは指定しません。 +.TP 8 +.B "kanjiFont (\fPclass\fB KanjiFont)" +漢字のフォント名を指定します。デフォルトでは指定しません。 +.TP 8 +.B "kanjiBoldFont (\fPclass\fB KanjiFont)" +漢字のボールドフォント名を指定します。デフォルトでは指定しません。 +.TP 8 +.B "kanjiMode (\fPclass\fB KanjiMode)" +pty とやりとりする漢字コードを指定します。デフォルトは ``jis'' です。 +.TP 8 +.B "lineSpace (\fPclass\fB LineSpace)" +各行間に挿入するスペース量を指定します。デフォルトは ``0'' です。 +.TP 8 +.B "keepAlive (\fPclass\fB KeepAlive)" +\fIkterm\fP が X サーバとのソケット接続に +KEEPALIVE オプションを用いるかどうか指定します。 +デフォルトは ``false'' です。 +.TP 8 +.B "statusLine (\fPclass\fB StatusLine)" +ステータスラインをスタート時に表示します。デフォルトは ``false'' です。 +.TP 8 +.B "statusNormal (\fPclass\fB StatusNormal)" +ステータスラインが反転しないことを指定します。デフォルトは ``false'' です。 +.TP 8 +.B "forwardKeyEvent (\fPclass\fB ForwardKeyEvent)" +false だと変換サーバにキーイベントを送りません。この場合、フォーカスが +\fIkterm\fP にあるがポインタは他のウインドウ上にある時には変換サーバは +イベントを受け取ることができません。その代わり遅いネットワークでは変換 +時のレスポンスが改善されることがあります。デフォルトは ``true'' です。 +.TP 8 +.B "openIm (\fPclass\fB OpenIm)" +\fIkterm\fP の起動時に IM をオープン(しようと)するかどうかを指定します。 +デフォルトは ``false'' です。 +.TP 8 +.B "eucJPLocale (\fPclass\fB EucJPLocale)" +入力メソッドのロケールを、カンマで区切ったリストの形式で指定します。デ +フォルトは``ja_JP.eucJP,ja_JP.ujis,ja_JP.EUC,japanese.euc, +Japanese-EUC,ja,japan'' です。詳しくは USING XIM の節を参照してくださ +い。 +.TP 8 +.B "inputMethod (\fPclass\fB InputMethod)" +入力メソッドモディファイアを指定します。デフォルトでは指定しません。 +(これは、環境変数 XMODIFIERS を使用するという意味です) +.TP 8 +.B "preeditType (\fPclass\fB PreeditType)" +XIM プロトコルで用いる入力スタイルを、カンマで区切ったリストの形式で指 +定します。現在は ``OverTheSpot'' と ``Root'' がサポートされています。 +デフォルトは ``OverTheSpot,Root'' です。 +.SH ACTIONS +\fIvt100\fP のトランスレーションリソース内で利用できるアクションが以下 +のように追加されています: +.TP 8 +.B "open-im([\fIinput-method\fP])" +このアクションは、指定された入力メソッドモディファイアの IM をオープン +(しようと)します。もし \fIinput-method\fP が省略されれば、最後に指定さ +れたモディファイアがそのまま使用されます。もし \fIinput-method\fP がキー +ワード XMODIFIERS ならば、環境変数 XMODIFIERS が使用されます。 +.TP 8 +.B "close-im()" +このアクションは IM をクローズします。 +.TP 8 +.B "begin-conversion(\fIconversion-atom\fP)" +このアクションは、kinput2 プロトコルを用いて、テキスト入力のための変換 +を開始します。日本語変換のための \fIconversion-atom\fP は +``_JAPANESE_CONVERSION'' です。 +.SH TERMCAP +\fIkterm\fP で利用できる \fItermcap\fP(5) エントリには、``kterm'', +``xterm'', ``vt102'', ``vt100'' および ``ansi'' があります。 +.SH "USING XIM" +\fIkterm\fP は、まず国際環境(ロケール)を、\fIvt100\fP リソース +"eucJPLocale" を用いて設定します。環境変数 LANG は無視されます。これは +\fIkterm\fP が日本語 EUC を内部入力コードとして用いているためです。も +し、お使いのシステムが、デフォルトで用意されているロケール名をサポート +していない場合は、app-defaults ファイルに適切に設定してください。その +後 \fIkterm\fP は、ロケールモディファイアを、リソース "inputMethod" ま +たは環境変数 XMODIFIERS に従って設定します。 +.PP +\fIkterm\fP が、"-xim" オプションで起動されたり、vtMenu 内の "Open +Input Method" が選択されると、\fIkterm\fP は単に IM サーバの起動を知ら +せるためのコールバックを登録することしかしません。この時点で適切なサー +バが走っていたり、後から利用可能になると \fIkterm\fP はそのサーバに接 +続します。変換の開始は、IM サーバの設定に依存します。 +.PP +もし、\fIkterm\fP が kinput2 プロトコルのサーバと接続していると、IM は +オープンできません。 +.PP +さらに詳しい情報(テキストの入力/変換/修正方法など)は変換サーバのドキュ +メント(\fIkinput2\fP(1))を参照して下さい。 +.sp +.B 日本語以外の言語 +.br +日本語以外の言語を入力するには、\fIvt100\fP リソース "eucJPLocale" を +必要なロケール名に設定し、漢字モードを("-km euc" オプション、 +"*vt100.kanjiMode: euc" リソース、あるいは vtMenu の "Japanese EUC +Mode" エントリを用いて)日本語 EUC に設定してください。日本語 EUC モー +ドでは、IM から入力された文字は、修正されずに pty に渡されるので、この +方法はどのようなロケールに対しても動作するはずです。ただし、この機構は、 +将来変更される可能性があります。 +.sp +.B 注意 +.br +接続している IM サーバがあるタイミングで死ぬと \fIkterm\fP がハングし +てしまうことがあります。ある \fIkterm\fP 上でそれに接続しているサーバ、 +および、\fIkterm\fP と接続を確立しようとしているサーバを殺してはいけま +せん。IM サーバを殺すときは、どの \fIkterm\fP もそのサーバに接続してい +ないことを必ず確かめてください。 +.sp +.B お知らせ +.br +\fIkterm\fP は、X11R5 に基づく XIMP プロトコルを用いたサーバとは通信で +きません。 +.SH "USING KINPUT2" +デフォルトでは、control-Kanji キーを押すと、kinput2 プロトコルを用いた +日本語テキストのための変換が始まります。\fIkinput2\fP(1) などの変換サー +バはそれまでに走らせてある必要があり、でなければ `Conversion Server +not found' という警告メッセージが現れます。他の言語については、もしサー +バが利用可能ならば、トランスレーションテーブルを変更することによって、 +変換を開始するためのキーをバインドすることができます。 +.PP +IM がオープンされ(ようとし)ている場合は、kinput2 プロトコルを用いた変 +換は開始できません。 +.PP +さらに詳しい情報(テキストの入力/変換/修正方法など)は変換サーバのドキュ +メント(\fIkinput2\fP(1))を参照して下さい。 +.SH "SEE ALSO" +xterm(1), resize(1), X(1), kinput2(1), pty(4), tty(4) +.br +.I ``Xterm Control Sequences'' +.SH BUGS +\fIkterm\fP は2バイト文字が1バイト文字の二倍の幅を持っているものと仮定 +します。不定幅のフォントは \fIxterm\fP 同様扱うことができません。 +.PP +本バージョンでは JIS モードで漢字を入力する際、``ESC $ B'' を漢字文字 +セットの割当に用います。 +.SH AUTHORS +以下を含む多くの人々: +.sp +佐野勝也 (株式会社東芝), +入江英夫 (ソニー株式会社), +加藤朗 (東京大学), +有座道春 (株式会社 SRA), +石曽根信 (株式会社 SRA), +籠谷裕人 (岡山大学), +武川進 (日本電信電話株式会社) --- kterm-6.2.0.orig/debian/menu +++ kterm-6.2.0/debian/menu @@ -0,0 +1,2 @@ +?package(kterm):needs="x11" section="XShells" command="/usr/bin/kterm" \ + title="Kanji Terminal" --- kterm-6.2.0.orig/debian/postinst +++ kterm-6.2.0/debian/postinst @@ -0,0 +1,6 @@ +#!/bin/sh +update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/bin/kterm 21 \ + --slave /usr/share/man/man1/x-terminal-emulator.1.gz x-terminal-emulator.1.gz /usr/share/man/man1/kterm.1x.gz + +#DEBHELPER# + --- kterm-6.2.0.orig/debian/prerm +++ kterm-6.2.0/debian/prerm @@ -0,0 +1,6 @@ +#!/bin/sh +if [ "$1" = "remove" -o "$1" = "deconfigure" ]; then + update-alternatives --remove x-terminal-emulator /usr/bin/kterm +fi + +#DEBHELPER# --- kterm-6.2.0.orig/debian/rules +++ kterm-6.2.0/debian/rules @@ -0,0 +1,74 @@ +#!/usr/bin/make -f +# Made with the aid of debmake, by Christoph Lameter, +# based on the sample debian/rules file for GNU hello by Ian Jackson. + +dpkg_buildflags = DEB_BUILD_MAINT_OPTIONS="hardening=+all" DEB_LDFLAGS_MAINT_APPEND="-Wl,--as-needed" dpkg-buildflags +export MODULE_CFLAGS = $(shell $(dpkg_buildflags) --get CPPFLAGS) $(shell $(dpkg_buildflags) --get CFLAGS) +export LOCAL_LDFLAGS = $(shell $(dpkg_buildflags) --get LDFLAGS) + +package=kterm + +build: build-stamp +build-stamp: + dh_testdir + + xmkmf -a + make + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp install-stamp + + -make clean + rm -f Makefile + + dh_clean + +install: install-stamp +install-stamp: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + make install DESTDIR=`pwd`/debian/kterm/ + make install.man DESTDIR=`pwd`/debian/kterm/ + + install -m 644 debian/kterm.jman.euc \ + debian/kterm/usr/share/man/ja/man1/kterm.1 + install -m 644 debian/KTerm-ja.ad \ + debian/kterm/etc/X11/ja_JP.eucJP/app-defaults/KTerm + touch install-stamp + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install +# dh_testversion + dh_testdir + dh_testroot + dh_installdocs README.kt 0README.ext.ja + dh_installexamples + dh_installmenu + dh_installchangelogs + dh_strip + dh_compress + dh_fixperms + chown root:utmp debian/kterm/usr/bin/kterm + chmod 2755 debian/kterm/usr/bin/kterm + dh_installdeb + dh_shlibdeps + dh_gencontrol +# dh_makeshlibs + dh_md5sums + dh_builddeb + +source diff: + @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary --- kterm-6.2.0.orig/gset.c +++ kterm-6.2.0/gset.c @@ -185,6 +185,9 @@ gsettofnum[GSET_KANJI] = F_JISX0208_0; gsetontheright[GSET_KANJI] = False; + gsettofnum[GSET_90KANJI] = F_JISX0208_1990_0; + gsetontheright[GSET_90KANJI] = False; + gsettofnum[GSET_HOJOKANJI] = F_JISX0212_0; gsetontheright[GSET_HOJOKANJI] = False; @@ -193,6 +196,33 @@ gsettofnum[GSET_HANJA] = F_KSC5601_0; gsetontheright[GSET_HANJA] = False; + + gsettofnum[GSET_CNS1] = F_CNS11643_1; + gsetontheright[GSET_CNS1] = False; + + gsettofnum[GSET_CNS2] = F_CNS11643_2; + gsetontheright[GSET_CNS2] = False; + + gsettofnum[GSET_CNS3] = F_CNS11643_3; + gsetontheright[GSET_CNS3] = False; + + gsettofnum[GSET_CNS4] = F_CNS11643_4; + gsetontheright[GSET_CNS4] = False; + + gsettofnum[GSET_CNS5] = F_CNS11643_5; + gsetontheright[GSET_CNS5] = False; + + gsettofnum[GSET_CNS6] = F_CNS11643_6; + gsetontheright[GSET_CNS6] = False; + + gsettofnum[GSET_CNS7] = F_CNS11643_7; + gsetontheright[GSET_CNS7] = False; + + gsettofnum[GSET_EXTKANJI1] = F_JISX0213_1; + gsetontheright[GSET_EXTKANJI1] = False; + + gsettofnum[GSET_EXTKANJI2] = F_JISX0213_2; + gsetontheright[GSET_EXTKANJI2] = False; # endif /* KTERM_MBCS */ } @@ -211,11 +241,21 @@ screen->_box[F_ISO8859_9] = VTbox; screen->_box[F_JISX0201_0] = VTbox; #ifdef KTERM_MBCS + screen->_box[F_JISX0208_1990_0] = VTwbox; screen->_box[F_JISX0208_0] = VTwbox; screen->_box[F_JISX0212_0] = VTwbox; screen->_box[F_GB2312_0] = VTwbox; screen->_box[F_KSC5601_0] = VTwbox; screen->_box[F_JISC6226_0] = VTwbox; + screen->_box[F_CNS11643_1] = VTwbox; + screen->_box[F_CNS11643_2] = VTwbox; + screen->_box[F_CNS11643_3] = VTwbox; + screen->_box[F_CNS11643_4] = VTwbox; + screen->_box[F_CNS11643_5] = VTwbox; + screen->_box[F_CNS11643_6] = VTwbox; + screen->_box[F_CNS11643_7] = VTwbox; + screen->_box[F_JISX0213_1] = VTwbox; + screen->_box[F_JISX0213_2] = VTwbox; #endif /* KTERM_MBCS */ } @@ -235,11 +275,22 @@ {"iso8859-9"}, /* F_ISO8859_9 */ {"jisx0201.1976-0"}, /* F_JISX0201_0 */ #ifdef KTERM_MBCS - {"jisx0208.1990-0", "jisx0208.1983-0"}, /* F_JISX0208_0 */ + {"jisx0208.1990-0", "jisx0208.1983-0"}, /* F_JISX0208_1990_0 */ + {"jisx0208.1983-0"}, /* F_JISX0208_0 */ {"jisx0212.1990-0"}, /* F_JISX0212_0 */ {"gb2312.1980-0"}, /* F_GB2312_0 */ {"ksc5601.1987-0"}, /* F_KSC5601_0 */ {"jisc6226.1978-0", "jisx0208.1983-0"}, /* F_JISC6226_0 */ + {"cns11643.1992-1"}, /* F_CNS11643_1 */ + {"cns11643.1992-2"}, /* F_CNS11643_2 */ + {"cns11643.1992-3"}, /* F_CNS11643_3 */ + {"cns11643.1992-4"}, /* F_CNS11643_4 */ + {"cns11643.1992-5"}, /* F_CNS11643_5 */ + {"cns11643.1992-6"}, /* F_CNS11643_6 */ + {"cns11643.1992-7"}, /* F_CNS11643_7 */ + {"jisx0213.2000-1", "jisx0208.1990-0", + "jisx0208.1983-0"}, /* F_JISX0213_1 */ + {"jisx0213.2000-2"}, /* F_JISX0213_2 */ #endif /* KTERM_MBCS */ }; --- kterm-6.2.0.orig/gset.h +++ kterm-6.2.0/gset.h @@ -29,15 +29,15 @@ #define MBCS 0x40 /* multi-byte character sets */ #define MBC2 0x7f /* second byte of a mbcs character */ /* - * No character set uses designating characters less than '/'. - * Final characters more than 'n' can not be used in current kterm. + * No character set uses designating characters less than '@' + * except for ESC ( 0. */ -#define GSET(c) ((c) - '/') -#define GSETFC(i) (((i) & ~(MBCS|CS96)) + '/') +#define GSET(c) ((c) - ('@' - 1)) +#define GSETFC(i) (((i) & ~(MBCS|CS96)) + ('@' - 1)) /* final character of a designation sequense for a gset */ /* code of Ichr,Bchr */ -#define GSET_GRAPH GSET('0') +#define GSET_GRAPH (CS96|0) #define GSET_IRV GSET('@') #define GSET_UK GSET('A') #define GSET_ASCII GSET('B') @@ -60,11 +60,21 @@ #define GSET_LATIN5R (CS96|GSET('M')) #ifdef KTERM_MBCS -# define GSET_OLDKANJI (MBCS|GSET('@')) -# define GSET_HANZI (MBCS|GSET('A')) -# define GSET_KANJI (MBCS|GSET('B')) -# define GSET_HANJA (MBCS|GSET('C')) -# define GSET_HOJOKANJI (MBCS|GSET('D')) +# define GSET_OLDKANJI (MBCS|GSET('@')) +# define GSET_HANZI (MBCS|GSET('A')) +# define GSET_KANJI (MBCS|GSET('B')) +# define GSET_HANJA (MBCS|GSET('C')) +# define GSET_HOJOKANJI (MBCS|GSET('D')) +# define GSET_CNS1 (MBCS|GSET('G')) +# define GSET_CNS2 (MBCS|GSET('H')) +# define GSET_CNS3 (MBCS|GSET('I')) +# define GSET_CNS4 (MBCS|GSET('J')) +# define GSET_CNS5 (MBCS|GSET('K')) +# define GSET_CNS6 (MBCS|GSET('L')) +# define GSET_CNS7 (MBCS|GSET('M')) +# define GSET_EXTKANJI1 (MBCS|GSET('O')) +# define GSET_EXTKANJI2 (MBCS|GSET('P')) +# define GSET_90KANJI (MBCS|GSET('_')) #endif /* KTERM_MBCS */ #define F_ISO8859_1 0 @@ -78,12 +88,22 @@ #define F_ISO8859_9 8 #define F_JISX0201_0 9 #ifdef KTERM_MBCS -# define F_JISX0208_0 10 -# define F_JISX0212_0 11 -# define F_GB2312_0 12 -# define F_KSC5601_0 13 -# define F_JISC6226_0 14 -# define FCNT 15 +# define F_JISX0208_1990_0 10 +# define F_JISX0208_0 11 +# define F_JISX0212_0 12 +# define F_GB2312_0 13 +# define F_KSC5601_0 14 +# define F_JISC6226_0 15 +# define F_CNS11643_1 16 +# define F_CNS11643_2 17 +# define F_CNS11643_3 18 +# define F_CNS11643_4 19 +# define F_CNS11643_5 20 +# define F_CNS11643_6 21 +# define F_CNS11643_7 22 +# define F_JISX0213_1 23 +# define F_JISX0213_2 24 +# define FCNT 25 #else # define FCNT 10 #endif --- kterm-6.2.0.orig/kanji_map.c +++ kterm-6.2.0/kanji_map.c @@ -0,0 +1,1038 @@ +#include "kanji_map.h" + +unsigned char kanji_map[94][94] = { + { + /* row 1 */ + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + }, + { + /* row 2 */ + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x05, + }, + { + /* row 3 */ + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0c, + }, + { + /* row 4 */ + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x08, 0x08, 0x08, + }, + { + /* row 5 */ + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + }, + { + /* row 6 */ + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x04, + 0x06, 0x06, 0x04, 0x06, 0x04, 0x04, 0x04, 0x04, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x04, + }, + { + /* row 7 */ + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x04, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + }, + { + /* row 8 */ + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x08, 0x08, + }, + { + /* row 9 */ + 0x06, 0x06, 0x04, 0x06, 0x04, 0x06, 0x04, 0x06, 0x06, 0x04, 0x06, 0x06, + 0x06, 0x04, 0x06, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + }, + { + /* row 10 */ + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + }, + { + /* row 11 */ + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + }, + { + /* row 12 */ + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0c, 0x0c, + }, + { + /* row 13 */ + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x08, 0x08, 0x08, 0x0c, 0x08, + 0x08, 0x08, 0x08, 0x0c, 0x0c, 0x08, 0x08, 0x08, 0x0c, 0x0c, + }, + { + /* row 14 */ + 0x08, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + }, + { + /* row 15 */ + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x08, + }, + { + /* row 16 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 17 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 18 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 19 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 20 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 21 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 22 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 23 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 24 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 25 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 26 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 27 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 28 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 29 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 30 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 31 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 32 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 33 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 34 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 35 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 36 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 37 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 38 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 39 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 40 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 41 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 42 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 43 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 44 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 45 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 46 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 47 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x02, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x02, + }, + { + /* row 48 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 49 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 50 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 51 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 52 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 53 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 54 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 55 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 56 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 57 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 58 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 59 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 60 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 61 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 62 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 63 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 64 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 65 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 66 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 67 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 68 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 69 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 70 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 71 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 72 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 73 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 74 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 75 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 76 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + }, + { + /* row 77 */ + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + }, + { + /* row 78 */ + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + }, + { + /* row 79 */ + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + }, + { + /* row 80 */ + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + }, + { + /* row 81 */ + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + }, + { + /* row 82 */ + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + }, + { + /* row 83 */ + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + }, + { + /* row 84 */ + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x08, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + }, + { + /* row 85 */ + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + }, + { + /* row 86 */ + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + }, + { + /* row 87 */ + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + }, + { + /* row 88 */ + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + }, + { + /* row 89 */ + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + }, + { + /* row 90 */ + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + }, + { + /* row 91 */ + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + }, + { + /* row 92 */ + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + }, + { + /* row 93 */ + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + }, + { + /* row 94 */ + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + }, +}; --- kterm-6.2.0.orig/kanji_map.h +++ kterm-6.2.0/kanji_map.h @@ -0,0 +1,6 @@ +#define CHAR_JISX0208 (1) +#define CHAR_JISX0212 (2) +#define CHAR_JISX0213_1 (4) +#define CHAR_JISX0213_2 (8) + +extern unsigned char kanji_map[94][94]; --- kterm-6.2.0.orig/kfontlist.def +++ kterm-6.2.0/kfontlist.def @@ -0,0 +1,15 @@ +kanjifont(`kanjiFont',`kanjiBoldFont',`F_JISX0208_0') +kanjifont(`oldKanjiFont',`oldKanjiBoldFont',`F_JISC6226_0') +kanjifont(`kanji90Font',`kanji90BoldFont',`F_JISX0208_1990_0') +kanjifont(`hojoKanjiFont',`hojoKanjiBoldFont',`F_JISX0212_0') +kanjifont(`hanziFont',`hanziBoldFont',`F_GB2312_0') +kanjifont(`hanglFont',`hanglBoldFont',`F_KSC5601_0') +kanjifont(`cnsOneFont',`cnsOneBoldFont',`F_CNS11643_1') +kanjifont(`cnsTwoFont',`cnsTwoBoldFont',`F_CNS11643_2') +kanjifont(`cnsThreeFont',`cnsThreeBoldFont',`F_CNS11643_3') +kanjifont(`cnsFourFont',`cnsFourBoldFont',`F_CNS11643_4') +kanjifont(`cnsFiveFont',`cnsFiveBoldFont',`F_CNS11643_5') +kanjifont(`cnsSixFont',`cnsSixBoldFont',`F_CNS11643_6') +kanjifont(`cnsSevenFont',`cnsSevenBoldFont',`F_CNS11643_7') +kanjifont(`extOneKanjiFont',`extOneKanjiBoldFont',`F_JISX0213_1') +kanjifont(`extTwoKanjiFont',`extTwoKanjiBoldFont',`F_JISX0213_2') --- kterm-6.2.0.orig/kfontlist.m4 +++ kterm-6.2.0/kfontlist.m4 @@ -0,0 +1,37 @@ +define(`kanjifont',``{"'$1`1", "KanjiFont1", XtRString, sizeof(String), + XtOffsetOf(XtermWidgetRec, screen._menu_font_names['$3`][fontMenu_font1]), + XtRString, (XtPointer) NULL}, +{"'$1`2", "KanjiFont2", XtRString, sizeof(String), + XtOffsetOf(XtermWidgetRec, screen._menu_font_names['$3`][fontMenu_font2]), + XtRString, (XtPointer) NULL}, +{"'$1`3", "KanjiFont3", XtRString, sizeof(String), + XtOffsetOf(XtermWidgetRec, screen._menu_font_names['$3`][fontMenu_font3]), + XtRString, (XtPointer) NULL}, +{"'$1`4", "KanjiFont4", XtRString, sizeof(String), + XtOffsetOf(XtermWidgetRec, screen._menu_font_names['$3`][fontMenu_font4]), + XtRString, (XtPointer) NULL}, +{"'$1`5", "KanjiFont5", XtRString, sizeof(String), + XtOffsetOf(XtermWidgetRec, screen._menu_font_names['$3`][fontMenu_font5]), + XtRString, (XtPointer) NULL}, +{"'$1`6", "KanjiFont6", XtRString, sizeof(String), + XtOffsetOf(XtermWidgetRec, screen._menu_font_names['$3`][fontMenu_font6]), + XtRString, (XtPointer) NULL}, +{"'$2`1", "KanjiFont1", XtRString, sizeof(String), + XtOffsetOf(XtermWidgetRec, screen._menu_bfont_names['$3`][fontMenu_font1]), + XtRString, (XtPointer) NULL}, +{"'$2`2", "KanjiFont2", XtRString, sizeof(String), + XtOffsetOf(XtermWidgetRec, screen._menu_bfont_names['$3`][fontMenu_font2]), + XtRString, (XtPointer) NULL}, +{"'$2`3", "KanjiFont3", XtRString, sizeof(String), + XtOffsetOf(XtermWidgetRec, screen._menu_bfont_names['$3`][fontMenu_font3]), + XtRString, (XtPointer) NULL}, +{"'$2`4", "KanjiFont4", XtRString, sizeof(String), + XtOffsetOf(XtermWidgetRec, screen._menu_bfont_names['$3`][fontMenu_font4]), + XtRString, (XtPointer) NULL}, +{"'$2`5", "KanjiFont5", XtRString, sizeof(String), + XtOffsetOf(XtermWidgetRec, screen._menu_bfont_names['$3`][fontMenu_font5]), + XtRString, (XtPointer) NULL}, +{"'$2`6", "KanjiFont6", XtRString, sizeof(String), + XtOffsetOf(XtermWidgetRec, screen._menu_bfont_names['$3`][fontMenu_font6]), + XtRString, (XtPointer) NULL},'')dnl +include(kfontlist.def)dnl --- kterm-6.2.0.orig/kterm.h +++ kterm-6.2.0/kterm.h @@ -35,7 +35,7 @@ #define KTERM_XIM /* XIM protocol */ #define KTERM_KINPUT2 /* Kinput2 protocol */ #define KTERM_COLOR /* color sequence */ -#define KTERM_NOTEK /* disables Tektronix emulation */ +#undef KTERM_NOTEK /* disables Tektronix emulation */ #undef KTERM_XAW3D /* Xaw3d -DARROW_SCROLLBAR support */ #endif /* !_KTERM_H_ */ --- kterm-6.2.0.orig/kterm.jman +++ kterm-6.2.0/kterm.jman @@ -66,15 +66,35 @@ .br "jisx0201.1976-0", .br -"jisx0208.1990-0" $B$^$?$O(B "jisx0208.1983-0", +"jisc6226.1978-0", +.br +"jisx0208.1983-0", +.br +"jisx0208.1990-0", .br "jisx0212.1990-0", .br -"gb2312.1980-0", +"jisx0213.2000-1", +.br +"jisx0213.2000-2", .br "ksc5601.1987-0", .br -"jisc6226.1978-0" $B$^$?$O(B "jisx0208.1983-0"$B!#(B +"gb2312.1980-0", +.br +"cns11643.1992-1", +.br +"cns11643.1992-2", +.br +"cns11643.1992-3", +.br +"cns11643.1992-4", +.br +"cns11643.1992-5", +.br +"cns11643.1992-6", +.br +"cns11643.1992-7"$B!#(B .TP 8 .BI \-fn " iso8859/1-font" Latin-1 (ASCII $B$r4^$`(B) $B$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k!"DL>o$N(B($B%\!<%k%I(B @@ -86,19 +106,110 @@ $B%s%H$HF1$89b$5$HI}$r;}$C$F$$$J$1$l$P$J$j$^$;$s!#;XDj$5$l$F$$$J$$;~$O!"(B \fIfontlist\fP $B$NCf$+$iC5$7$^$9!#(B .TP 8 -.BI \-fk " kanji-font" -$B4A;z%F%-%9%H$rI=<($9$k;~$KMQ$$$kDL>o$N(B JISX0208 $B$N%U%)%s%H$r;XDj$7$^$9!#(B -$B$3$N%U%)%s%H$O!"(BISO8859/1 $B$N%U%)%s%H$HF1$89b$5$G!"(B2$BG\$NI}$r;}$C$F$$$J(B -$B$1$l$P$J$j$^$;$s!#;XDj$5$l$F$$$J$$;~$O!"(B\fIfontlist\fP $B$NCf$+$iC5$7$^(B +.BI \-fkB " kanji-font" +$B4A;z%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +$BDL>o$N(B JISX0208-1983 $B$N%U%)%s%H$r;XDj$7$^$9!#(B +$B$3$N%U%)%s%H$O!"(BISO8859/1 $B$N%U%)%s%H$HF1$89b$5$G!"(B +2$BG\$NI}$r;}$C$F$$$J$1$l$P$J$j$^$;$s!#(B +$B;XDj$5$l$F$$$J$$;~$O!"(B\fIfontlist\fP $B$NCf$+$iC5$7$^(B $B$9!#(B +.BI \-fk@ " old-kanji-font" +$B4A;z$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +JISC6226-1978 $B$N%U%)%s%H$r;XDj$7$^$9!#(B +$B$3$N%U%)%s%H$O!"(BISO8859/1 $B$N%U%)%s%H$HF1$89b$5$G!"(B +2$BG\$NI}$r;}$C$F$$$J$1$l$P$J$j$^$;$s!#(B +$B;XDj$5$l$F$$$J$$;~$O!"(B\fIfontlist\fP $B$NCf$+$iC5$7$^$9!#(B +.TP 8 +.BI \-fk@B " 1990-kanji-font" +$B4A;z$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +$BDL>o$N(B JISX0208-1990 $B$N%U%)%s%H$r;XDj$7$^$9!#(B +$B$3$N%U%)%s%H$O!"(BISO8859/1 $B$N%U%)%s%H$HF1$89b$5$G!"(B +2$BG\$NI}$r;}$C$F$$$J$1$l$P$J$j$^$;$s!#(B +$B;XDj$5$l$F$$$J$$;~$O!"(B\fIfontlist\fP $B$NCf$+$iC5$7$^$9!#(B +.TP 8 +.BI \-fkD " hojo-kanji-font" +$BJd=u4A;z$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +JISX0212-1990 $B$N%U%)%s%H$r;XDj$7$^$9!#(B +.TP 8 +.BI \-fkO " extended-kanji-font-1" +$B3HD%4A;z$N0lLL(B($BBh;0?e=`(B)$B$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +JISX0213-2000-1 $B$N%U%)%s%H$r;XDj$7$^$9!#(B +.TP 8 +.BI \-fkP " extended-kanji-font-2" +$B3HD%4A;z$NFsLL(B($BBh;M?e=`(B)$B$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +JISX0213-2000-1 $B$N%U%)%s%H$r;XDj$7$^$9!#(B +.TP 8 +.BI \-fkC " hangl-font" +$B%O%s%0%kJ8;z$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +KSC5601-1987 $B$N%U%)%s%H$r;XDj$7$^$9!#(B +.TP 8 +.BI \-fkA " hanzi-font" +$BCf9q8l4A;z$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +GB2312-1980 $B$N%U%)%s%H$r;XDj$7$^$9!#(B +.TP 8 +.BI \-fkG " cns-font-1" +$BBfOQ4A;z(B($B0lLL(B)$B$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +CNS11643-1992-1 $B$N%U%)%s%H$r;XDj$7$^$9!#(B +.TP 8 +.BI \-fkH " cns-font-2" +$BBfOQ4A;z(B($B%KLL(B)$B$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +CNS11643-1992-2 $B$N%U%)%s%H$r;XDj$7$^$9!#(B +.TP 8 +.BI \-fkI " cns-font-3" +$BBfOQ4A;z(B($B;0LL(B)$B$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +CNS11643-1992-3 $B$N%U%)%s%H$r;XDj$7$^$9!#(B +.TP 8 +.BI \-fkJ " cns-font-4" +$BBfOQ4A;z(B($B;MLL(B)$B$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +CNS11643-1992-4 $B$N%U%)%s%H$r;XDj$7$^$9!#(B +.TP 8 +.BI \-fkK " cns-font-5" +$BBfOQ4A;z(B($B8^LL(B)$B$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +CNS11643-1992-5 $B$N%U%)%s%H$r;XDj$7$^$9!#(B +.TP 8 +.BI \-fkL " cns-font-6" +$BBfOQ4A;z(B($BO;LL(B)$B$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +CNS11643-1992-6 $B$N%U%)%s%H$r;XDj$7$^$9!#(B +.TP 8 +.BI \-fkM " cns-font-7" +$BBfOQ4A;z(B($B<7LL(B)$B$N%F%-%9%H$rI=<($9$k;~$KMQ$$$k(B +CNS11643-1992-7 $B$N%U%)%s%H$r;XDj$7$^$9!#(B .TP .BI \-flb " bold-fontlist" -.TP +.TP 8 .BI \-fb " bold-font" -.TP +.TP 8 .BI \-frb " roman-kana-bold-font" .TP 8 -.BI \-fkb " kanji-bold-font" +.BI \-fkbB " kanji-bold-font" +.TP 8 +.BI \-fkb@ " old-kanji-bold-font" +.TP 8 +.BI \-fkb@B " 1990-kanji-bold-font" +.TP 8 +.BI \-fkbD " hojo-kanji-bold-font" +.TP 8 +.BI \-fkbO " extended-kanji-bold-font-1" +.TP 8 +.BI \-fkbP " extended-kanji-bold-font-2" +.TP 8 +.BI \-fkbC " hangl-bold-font" +.TP 8 +.BI \-fkbA " hanzi-bold-font" +.TP 8 +.BI \-fkbG " cns-bold-font-1" +.TP 8 +.BI \-fkbH " cns-bold-font-2" +.TP 8 +.BI \-fkbI " cns-bold-font-3" +.TP 8 +.BI \-fkbJ " cns-bold-font-4" +.TP 8 +.BI \-fkbK " cns-bold-font-5" +.TP 8 +.BI \-fkbL " cns-bold-font-6" +.TP 8 +.BI \-fkbM " cns-bold-font-7" $B%\!<%k%I%U%)%s%H$r;XDj$7$^$9!#(B .TP 8 .BI \-lsp " dots" @@ -115,7 +226,7 @@ .TP 8 .BI \-km " kanji-mode" pty $B$H$d$j$H$j$5$l$k4A;z%3!<%I$r;XDj$7$^$9!#4A;z%b!<%I$,(B ``euc'' $B$N>l(B -$B9g!"F~=PNO$OF|K\8l(B EUC $B$G$"$k$H2>Dj$7$^$9!#(B``sjis'' $B$N>l9g!"(BShift-JIS +$B9g!"F~=PNO$OF|K\8l(B EUC $B$G$"$k$H2>Dj$7$^$9!#(B``sjis'' $B$N>l9g!"(BShift_JIS $B%3!<%I(B($B%^%$%/%m%=%U%H4A;z%3!<%I(B)$B$G$"$k$H2>Dj$7$^$9!#(B .TP 8 .BI \-sn @@ -304,6 +415,12 @@ .PP $BK\%P!<%8%g%s$G$O(B JIS $B%b!<%I$G4A;z$rF~NO$9$k:]!"(B``ESC $ B'' $B$r4A;zJ8;z(B $B%;%C%H$N3dEv$KMQ$$$^$9!#(B +.SH NOTE +$B$3$N(B kterm $B$K$O(B JIS X 0213:2000 $B$GDI2C$5$l$?Bh;0?e=`!"Bh;M?e=`$N4A;z$r(B +$B;HMQ$9$k$?$a$N%Q%C%A$,Ev$C$F$$$^$9!#(BJIS $B%b!<%I$N>l9g$K$O(B ``ESC $ ( O'' +$B$d(B ``ESC $ ( P'' $B$K$h$C$F(B JIS X 0213 $B$NJ8;z$r07$($^$9!#F|K\8l(B EUC $B%b!<%I(B +$B$*$h$S(B SJIS $B%b!<%I$N>l9g$K$O(B JIS X 0208 $B$GL$Dj5A$NJ8;z$,8=$o$l$?>l9g$K(B +$B$=$NJ8;z$N$_(B JIS X 0213 $B$NJ8;z$H$7$F07$$$^$9!#(B .SH AUTHORS $B0J2<$r4^$`B?$/$N?M!9(B: .sp --- kterm-6.2.0.orig/kterm.man +++ kterm-6.2.0/kterm.man @@ -67,15 +67,35 @@ .br "jisx0201.1976-0", .br -"jisx0208.1990-0" or "jisx0208.1983-0", +"jisc6226.1978-0", +.br +"jisx0208.1983-0", +.br +"jisx0208.1990-0", .br "jisx0212.1990-0", .br +"jisx0213.2000-1", +.br +"jisx0213.2000-2", +.br +"ksc5601.1987-0", +.br "gb2312.1980-0", .br -"ksc5601.1987-0", and +"cns11643.1992-1", +.br +"cns11643.1992-2", +.br +"cns11643.1992-3", +.br +"cns11643.1992-4", +.br +"cns11643.1992-5", +.br +"cns11643.1992-6", and .br -"jisc6226.1978-0" or "jisx0208.1983-0". +"cns11643.1992-7". .TP 8 .BI \-fn " iso8859/1-font" This option specifies a normal (non-bold) ISO8859/1 font to be used @@ -87,19 +107,107 @@ same height and width as the ISO8859/1 font. If it is not specified, \fIfontlist\fP is used. .TP 8 -.BI \-fk " kanji-font" -This option specifies a normal JISX0208 font to be used when +.BI \-fkB " kanji-font" +This option specifies a normal JISX0208-1983 font to be used when displaying Kanji text. This font must have same height and twice width as the ISO8859/1 font. If it is not specified, \fIfontlist\fP is used. +.TP 8 +.BI \-fk@ " old-kanji-font" +This option specifies a normal JISC6226-1978 font to be used when +displaying Kanji text. This font must have same height and twice +width as the ISO8859/1 font. If it is not specified, \fIfontlist\fP +is used. +.TP 8 +.BI \-fk@B " 1990-kanji-font" +This option specifies a normal JISX0208-1990 font to be used when +displaying Kanji text. This font must have same height and twice +width as the ISO8859/1 font. If it is not specified, \fIfontlist\fP +is used. +.TP 8 +.BI \-fkD " hojo-kanji-font" +This option specifies a JISX0212-1990 font text +to be used when displaying supplementary Kanji. +.TP 8 +.BI \-fkO " extended-kanji-font-1" +This option specifies a JISX0213-2000-1 font text +to be used when displaying extended Kanji plain 1(3rd level). +.TP 8 +.BI \-fkP " extended-kanji-font-2" +This option specifies a JISX0213-2000-2 font text +to be used when displaying extended Kanji plain 2(4th level). +.TP 8 +.BI \-fkC " hangl-font" +This option specifies a KSC5601-1987 font text +to be used when displaying Hangl text. +.TP 8 +.BI \-fkA " hanzi-font" +This option specifies a GB2312-1980 font text +to be used when displaying Hanzi text. +.TP 8 +.BI \-fkG " cns-font-1" +This option specifies a CNS11643-1992-1 font text +to be used when displaying Taiwanese text. +.TP 8 +.BI \-fkH " cns-font-2" +This option specifies a CNS11643-1992-2 font text +to be used when displaying Taiwanese text. +.TP 8 +.BI \-fkI " cns-font-3" +This option specifies a CNS11643-1992-3 font text +to be used when displaying Taiwanese text. +.TP 8 +.BI \-fkJ " cns-font-4" +This option specifies a CNS11643-1992-4 font text +to be used when displaying Taiwanese text. +.TP 8 +.BI \-fkK " cns-font-5" +This option specifies a CNS11643-1992-5 font text +to be used when displaying Taiwanese text. +.TP 8 +.BI \-fkL " cns-font-6" +This option specifies a CNS11643-1992-6 font text +to be used when displaying Taiwanese text. +.TP 8 +.BI \-fkM " cns-font-7" +This option specifies a CNS11643-1992-7 font text +to be used when displaying Taiwanese text. .TP .BI \-flb " bold-fontlist" -.TP +.TP 8 .BI \-fb " bold-font" -.TP +.TP 8 .BI \-frb " roman-kana-bold-font" .TP 8 -.BI \-fkb " kanji-bold-font" +.BI \-fkbB " kanji-bold-font" +.TP 8 +.BI \-fkb@ " old-kanji-bold-font" +.TP 8 +.BI \-fkb@B " 1990-kanji-bold-font" +.TP 8 +.BI \-fkbD " hojo-kanji-bold-font" +.TP 8 +.BI \-fkbO " extended-kanji-bold-font-1" +.TP 8 +.BI \-fkbP " extended-kanji-bold-font-2" +.TP 8 +.BI \-fkbC " hangl-bold-font" +.TP 8 +.BI \-fkbA " hanzi-bold-font" +.TP 8 +.BI \-fkbG " cns-bold-font-1" +.TP 8 +.BI \-fkbH " cns-bold-font-2" +.TP 8 +.BI \-fkbI " cns-bold-font-3" +.TP 8 +.BI \-fkbJ " cns-bold-font-4" +.TP 8 +.BI \-fkbK " cns-bold-font-5" +.TP 8 +.BI \-fkbL " cns-bold-font-6" +.TP 8 +.BI \-fkbM " cns-bold-font-7" These options specify bold fonts. .TP 8 .BI \-lsp " dots" @@ -118,7 +226,7 @@ This option specifies the Kanji code from/to the pty. If kanji-mode is ``euc'', then it assumes the input/output is coded by Japanese EUC. If kanji-mode is ``sjis'', then it assumes the input/output is coded -by Shift-JIS code (which is the same as Microsoft Kanji code). +by Shift_JIS code (which is the same as Microsoft Kanji code). .TP 8 .B \-sn By default, the status line is in reverse-video (relative to the rest --- kterm-6.2.0.orig/main.c +++ kterm-6.2.0/main.c @@ -75,7 +75,7 @@ #include #include #include -#ifndef NO_XPOLL_H +#if !defined(NO_XPOLL_H) && !defined(linux) #include #endif #include @@ -133,20 +133,31 @@ #endif #ifdef linux -#define USE_SYSV_TERMIO +#define USE_TERMIOS #define USE_SYSV_PGRP #define USE_SYSV_UTMP #define USE_SYSV_SIGNALS #define HAS_UTMP_UT_HOST #define LASTLOG #define WTMP +#undef HAS_LTCHARS +#if __GLIBC__ >= 2 +#include +#endif #endif #include #include +#ifdef linux +#undef TIOCSLTC +#endif + #ifdef USE_TERMIOS #include +#if defined(linux) && defined(__alpha__) && (((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1))) +#include +#endif /* this hacked termios support only works on SYSV */ #define USE_SYSV_TERMIO #define termio termios @@ -161,13 +172,19 @@ #endif /* USE_TERMIOS else */ #ifdef SVR4 -#undef TIOCSLTC /* defined, but not useable */ +#undef HAS_LTCHARS /* defined, but not useable */ #endif +#define USE_TERMCAP_ENVVARS /* every one uses this except SYSV maybe */ #if defined(__sgi) && OSMAJORVERSION >= 5 #undef TIOCLSET /* defined, but not useable */ #endif +#if defined(__GNU__) || defined(__MVS__) +#undef TIOCLSET +#undef TIOCSLTC +#endif + #ifdef SYSV /* { */ #ifdef USE_USG_PTYS /* AT&T SYSV has no ptyio.h */ #include /* get typedef used in ptem.h */ @@ -343,6 +360,10 @@ #endif #endif +#if !defined(NO_XPOLL_H) && defined(linux) +#include +#endif + #ifdef SIGNALRETURNSINT #define SIGNAL_T int #define SIGNAL_RETURN return 0 @@ -710,6 +731,36 @@ #ifdef KTERM_MBCS {"-fk", "*kanjiFont", XrmoptionSepArg, (caddr_t) NULL}, {"-fkb", "*kanjiBoldFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkB", "*kanjiFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkbB", "*kanjiBoldFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fk@", "*oldKanjiFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkb@", "*oldKanjiBoldFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fk@B", "*kanji90Font", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkb@B", "*kanji90BoldFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkD", "*hojoKanjiFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkbD", "*hojoKanjiBoldFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkO", "*extOneKanjiFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkbO", "*extOneKanjiBoldFont", XrmoptionSepArg,(caddr_t) NULL}, +{"-fkP", "*extTwoKanjiFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkbP", "*extTwoKanjiBoldFont", XrmoptionSepArg,(caddr_t) NULL}, +{"-fkC", "*hanglFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkbC", "*hanglBoldFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkA", "*hanziFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkbA", "*hanziBoldFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkG", "*cnsOneFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkbG", "*cnsOneBoldFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkH", "*cnsTwoFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkbH", "*cnsTwoBoldFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkI", "*cnsThreeFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkbI", "*cnsThreeBoldFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkJ", "*cnsFourFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkbJ", "*cnsFourBoldFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkK", "*cnsFiveFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkbK", "*cnsFiveBoldFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkL", "*cnsSixFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkbL", "*cnsSixBoldFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkM", "*cnsSevenFont", XrmoptionSepArg, (caddr_t) NULL}, +{"-fkbM", "*cnsSevenBoldFont", XrmoptionSepArg, (caddr_t) NULL}, #endif /* KTERM_MBCS */ #ifdef KTERM_KANJIMODE {"-km", "*kanjiMode", XrmoptionSepArg, (caddr_t) NULL}, @@ -827,8 +878,36 @@ { "-fr fontname", "normal kana font" }, { "-frb fontname", "bold kana font" }, #ifdef KTERM_MBCS -{ "-fk fontname", "normal kanji font" }, -{ "-fkb fontname", "bold kanji font" }, +{ "-fkB fontname", "normal kanji font" }, +{ "-fkbB fontname", "bold kanji font" }, +{ "-fk@ fontname", "normal old kanji font" }, +{ "-fkb@ fontname", "bold old kanji font" }, +{ "-fk@B fontname", "normal kanji 1990 font" }, +{ "-fkb@B fontname", "bold kanji 1990 font" }, +{ "-fkD fontname", "normal hojo kanji font" }, +{ "-fkbD fontname", "bold hojo kanji font" }, +{ "-fkO fontname", "normal extended kanji font 1" }, +{ "-fkbO fontname", "bold extended kanji font 1" }, +{ "-fkP fontname", "normal extended kanji font 2" }, +{ "-fkbP fontname", "bold extended kanji font 2" }, +{ "-fkC fontname", "normal hangl font" }, +{ "-fkbC fontname", "bold hangl font" }, +{ "-fkA fontname", "normal hanzi font" }, +{ "-fkbA fontname", "bold hanzi font" }, +{ "-fkG fontname", "normal cns font 1" }, +{ "-fkbG fontname", "bold cns font 1" }, +{ "-fkH fontname", "normal cns font 2" }, +{ "-fkbH fontname", "bold cns font 2" }, +{ "-fkI fontname", "normal cns font 3" }, +{ "-fkbI fontname", "bold cns font 3" }, +{ "-fkJ fontname", "normal cns font 4" }, +{ "-fkbJ fontname", "bold cns font 4" }, +{ "-fkK fontname", "normal cns font 5" }, +{ "-fkbK fontname", "bold cns font 5" }, +{ "-fkL fontname", "normal cns font 6" }, +{ "-fkbL fontname", "bold cns font 6" }, +{ "-fkM fontname", "normal cns font 7" }, +{ "-fkbM fontname", "bold cns font 7" }, #endif /* KTERM_MBCS */ #ifdef KTERM_KANJIMODE { "-km kanjimode", "kanji code (jis|euc|sjis)" }, @@ -1152,7 +1231,9 @@ #ifdef USE_TERMIOS /* { */ d_tio.c_cc[VSUSP] = CSUSP; +#ifdef VDSUSP d_tio.c_cc[VDSUSP] = CDSUSP; +#endif /* VDSUSP */ d_tio.c_cc[VREPRINT] = CRPRNT; d_tio.c_cc[VDISCARD] = CFLUSH; d_tio.c_cc[VWERASE] = CWERASE; @@ -1293,7 +1374,9 @@ #endif /* } TIOCSLTC */ #ifdef USE_TERMIOS /* { */ d_tio.c_cc[VSUSP] = CSUSP; +#ifdef VDSUP d_tio.c_cc[VDSUSP] = '\000'; +#endif /* VDSUP */ d_tio.c_cc[VREPRINT] = '\377'; d_tio.c_cc[VDISCARD] = '\377'; d_tio.c_cc[VWERASE] = '\377'; @@ -1680,7 +1763,7 @@ get_pty (pty) int *pty; { -#ifdef __osf__ +#if defined(__osf__) || defined(linux) int tty; return (openpty(pty, &tty, ttydev, NULL, NULL)); #endif @@ -2253,14 +2336,17 @@ #ifndef KTERM_NOTEK } #endif /* !KTERM_NOTEK */ + + *ptr = 0; TermName = NULL; if (resource.term_name) { if (tgetent (ptr, resource.term_name) == 1) { TermName = resource.term_name; + if (*ptr) #ifndef KTERM_NOTEK - if (!screen->TekEmu) + if (!screen->TekEmu) #endif /* !KTERM_NOTEK */ - resize (screen, TermName, termcap, newtc); + resize (screen, TermName, termcap, newtc); } else { fprintf (stderr, "%s: invalid termcap entry \"%s\".\n", ProgramName, resource.term_name); @@ -2270,10 +2356,11 @@ while (*envnew != NULL) { if(tgetent(ptr, *envnew) == 1) { TermName = *envnew; + if (*ptr) #ifndef KTERM_NOTEK - if(!screen->TekEmu) + if(!screen->TekEmu) #endif /* !KTERM_NOTEK */ - resize(screen, TermName, termcap, newtc); + resize(screen, TermName, termcap, newtc); break; } envnew++; @@ -3149,8 +3236,10 @@ # ifndef KTERM_NOTEK if(!screen->TekEmu) { # endif /* !KTERM_NOTEK */ - strcpy (termcap, newtc); - resize (screen, TermName, termcap, newtc); + if(*newtc) { + strcpy (termcap, newtc); + resize (screen, TermName, termcap, newtc); + } # ifndef KTERM_NOTEK } # endif /* !KTERM_NOTEK */ @@ -3166,9 +3255,11 @@ remove_termcap_entry (newtc, ":im="); remove_termcap_entry (newtc, ":ei="); remove_termcap_entry (newtc, ":mi"); - strcat (newtc, ":im=\\E[4h:ei=\\E[4l:mi:"); + if (*newtc) + strcat (newtc, ":im=\\E[4h:ei=\\E[4l:mi:"); } - Setenv ("TERMCAP=", newtc); + if (*newtc) + Setenv ("TERMCAP=", newtc); # ifdef sony switch (jmode & KM_KANJI) { case KM_JIS: --- kterm-6.2.0.orig/menu.c +++ kterm-6.2.0/menu.c @@ -831,9 +831,10 @@ term->flags &= ~EUC_KANJI; term->flags &= ~SJIS_KANJI; screen->gsets[0] = GSET_ASCII; - screen->gsets[1] = GSET_KANA; + screen->gsets[1] = GSET_LATIN1R; screen->gsets[2] = GSET_ASCII; screen->gsets[3] = GSET_ASCII; + screen->curgl = 0; screen->curgr = 1; update_eucmode(); update_sjismode(); @@ -855,6 +856,7 @@ screen->gsets[1] = GSET_KANJI; screen->gsets[2] = GSET_KANA; screen->gsets[3] = GSET_HOJOKANJI; + screen->curgl = 0; screen->curgr = 1; update_eucmode(); update_sjismode(); @@ -1487,7 +1489,7 @@ { if (*param_count == 1) { switch (params[0][0]) { - case 'j': case 'J': + case 'j': case 'J': case 'i': case 'I': do_jismode (w, NULL, NULL); break; case 'e': case 'E': case 'x': case 'X': case 'u': case 'U': --- kterm-6.2.0.orig/misc.c +++ kterm-6.2.0/misc.c @@ -777,6 +777,12 @@ cp = buf; while(isprint((c = (*func)()) & 0x7f) && cp < bufend) *cp++ = c; + + /* new OSC sequences end in ESC 0x5c instead of BEL */ + if( (c & 0x7f) == ESC && /* this char is ESC */ + ((*func)() & 0x7f) == '\\' ) /* next char is 0x5c '\\' */ + c = 7; /* then equivalent to BEL */ + if (c != 7) okay = False; *cp = 0; if (okay) switch(mode) { --- kterm-6.2.0.orig/screen.c +++ kterm-6.2.0/screen.c @@ -37,8 +37,12 @@ #if defined(SVR4) || defined(hpux) #include #else +#if defined(linux) +#include +#else #include #endif +#endif #ifdef att #include @@ -46,7 +50,9 @@ #include #endif +#if !((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1)) extern Char *calloc(), *malloc(), *realloc(); +#endif extern void free(); ScrnBuf Allocate (nrow, ncol, addr) --- kterm-6.2.0.orig/scrollbar.c +++ kterm-6.2.0/scrollbar.c @@ -324,8 +324,10 @@ register TScreen *screen = &xw->screen; register int border = 2 * screen->border; register int i; - Char *realloc(), *calloc(); +#if !((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1)) + Char *realloc(), *calloc(); +#endif if(screen->scrollbar) return; @@ -447,7 +449,7 @@ XtPointer client_data; XtPointer call_data; { - int pixels = (int) call_data; + int pixels = (int)(long) call_data; register TScreen *screen = &term->screen; register int rowOnScreen, newTopLine; @@ -536,7 +538,7 @@ register TScreen *screen = &w->screen; ScrollTextUpDownBy (gw, (XtPointer) NULL, - (XtPointer)params_to_pixels (screen, params, (int) *nparams)); + (XtPointer)(long)params_to_pixels (screen, params, (int) *nparams)); return; } @@ -552,6 +554,6 @@ register TScreen *screen = &w->screen; ScrollTextUpDownBy (gw, (XtPointer) NULL, - (XtPointer)-params_to_pixels (screen, params, (int) *nparams)); + (XtPointer)-(long)params_to_pixels (screen, params, (int) *nparams)); return; } --- kterm-6.2.0.orig/util.c +++ kterm-6.2.0/util.c @@ -32,6 +32,7 @@ #include "data.h" #include "error.h" #include "menu.h" +#include "kanji_map.h" #include @@ -1196,4 +1197,45 @@ } } +int +isJISX0208_1990(c1, c2) +int c1, c2; +{ + int n1 = (c1 & 0x7f)-33; + int n2 = (c2 & 0x7f)-33; + + if (n1 == 83 && (n2 == 4 || n2 == 5)) + return 1; + else + return 0; +} + +int +isJISX0213_1(c1, c2) +int c1, c2; +{ + int n1 = (c1 & 0x7f)-33; + int n2 = (c2 & 0x7f)-33; + + if (kanji_map[n1][n2] & CHAR_JISX0208) + return 0; + else if (! (kanji_map[n1][n2] & CHAR_JISX0213_1)) + return 0; + else + return 1; +} + + +int +isJISX0213_2(c1, c2) +int c1, c2; +{ + int n1 = (c1 & 0x7f)-33; + int n2 = (c2 & 0x7f)-33; + + if (! (kanji_map[n1][n2] & CHAR_JISX0213_2)) + return 0; + else + return 1; +} #endif /* KTERM_MBCS */