diff lib/ctext.c @ 14:5a32b68b627d

imported patch 17_kinput2-v3.1-jisx0212.diff
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 08 Mar 2010 20:38:16 +0900
parents 92745d501b9a
children 7a454839a6de
line wrap: on
line diff
--- a/lib/ctext.c	Mon Mar 08 20:38:16 2010 +0900
+++ b/lib/ctext.c	Mon Mar 08 20:38:16 2010 +0900
@@ -31,6 +31,7 @@
 		A	GB Hanzi
 		B	JIS Kanji 1983
 		C	KS Hangul/Hanja
+		D	JIS X0212
 
 -------------------------------------------------------------------------------
 COMPOUND_TEXT の仕様 (Comopund Text Encoding Version 1 -- MIT X Consortium Standard)
@@ -66,7 +67,6 @@
  * Author:  Makoto Ishisone, Software Research Associates, Inc., Japan
  *		ishisone@sra.co.jp
  */
-
 #ifndef lint
 static char *rcsid = "$Id: ctext.c,v 2.6 1999/03/10 08:55:15 ishisone Exp $";
 #endif
@@ -180,6 +180,29 @@
 			}
 			n += 2;
 			break;
+		case 0x8000:
+			if (g1 != (MBCS|'D')) {
+				if (xstr) {
+					*xstr++ = '\033';
+					*xstr++ = '$';
+					*xstr++ = ')';
+					*xstr++ = 'D';
+				}
+				n += 4;
+				g1 = MBCS|'D';
+				/*
+				 * We have to invalidate G0 here,
+				 * which is unnecessary if Xlib
+				 * implementation is sane.
+				 */
+				g0 = MBCS|'D';
+			}
+			if (xstr) {
+				*xstr++ = (c >> 8) & 0xff;
+				*xstr++ = (c & 0xff) | 0x80;
+			}
+			n += 2;
+			break;
 		default:
 			/* 無視する */
 			break;