# HG changeset patch # User Yoshiki Yazawa # Date 1268048296 -32400 # Node ID 5a32b68b627d70f34fda156c369b049f521f2805 # Parent eda83436b27e888d137ebf352394f77473e42160 imported patch 17_kinput2-v3.1-jisx0212.diff diff -r eda83436b27e -r 5a32b68b627d cmd/Kinput2.ad --- a/cmd/Kinput2.ad Mon Mar 08 20:38:16 2010 +0900 +++ b/cmd/Kinput2.ad Mon Mar 08 20:38:16 2010 +0900 @@ -29,6 +29,7 @@ *Font: -*-fixed-medium-r-normal--14-*-*-*-c-*-iso8859-1 *KanjiFont: -misc-fixed-medium-r-normal--14-*-*-*-c-*-jisx0208.1983-0 *KanaFont: -*-fixed-medium-r-normal--14-*-*-*-c-*-jisx0201.1976-0 +*HojoFont: -*-fixed-medium-r-normal--14-*-*-*-c-*-jisx0212.1990-0 !! !! Wnn setup !! diff -r eda83436b27e -r 5a32b68b627d include/WcharDisp.h --- a/include/WcharDisp.h Mon Mar 08 20:38:16 2010 +0900 +++ b/include/WcharDisp.h Mon Mar 08 20:38:16 2010 +0900 @@ -73,6 +73,8 @@ #define XtCKanjiFont "KanjiFont" #define XtNkanaFont "kanaFont" #define XtCKanaFont "KanaFont" +#define XtNhojoFont "hojoFont" +#define XtCHojoFont "HojoFont" typedef struct _WcharDisplayClassRec *WcharDisplayObjectClass; typedef struct _WcharDisplayRec *WcharDisplayObject; diff -r eda83436b27e -r 5a32b68b627d lib/WcharDisp.c --- a/lib/WcharDisp.c Mon Mar 08 20:38:16 2010 +0900 +++ b/lib/WcharDisp.c Mon Mar 08 20:38:16 2010 +0900 @@ -761,6 +761,7 @@ #define JPFONT_ASCII "-Misc-Fixed-Medium-R-*--14-*-*-*-C-*-ISO8859-1" #define JPFONT_KANJI "-Misc-Fixed-Medium-R-*--14-*-*-*-C-*-JISX0208.1983-0" #define JPFONT_KANA "-Misc-Fixed-Medium-R-*--14-*-*-*-C-*-JISX0201.1976-0" +#define JPFONT_HOJO "-*-Fixed-Medium-R-*--14-*-*-*-C-*-JISX0212.1990-0" static XtResource jpresources[] = { /* only override superclass's default */ @@ -771,8 +772,8 @@ offset(defaultfonts[1]), XtRString, JPFONT_KANJI }, { XtNkanaFont, XtCKanaFont, XtRFontStruct, sizeof (XFontStruct *), offset(defaultfonts[2]), XtRString, JPFONT_KANA }, - { XtNfontG3, "Not.used", XtRFontStruct, sizeof (XFontStruct *), - offset(defaultfonts[3]), XtRImmediate, (XtPointer)NULL }, + { XtNhojoFont, XtCHojoFont, XtRFontStruct, sizeof (XFontStruct *), + offset(defaultfonts[3]), XtRString, JPFONT_HOJO }, { XtNfontMapping, XtCFontMapping, XtRFontMapping, sizeof (FontMapping), offset(defaultmapping), XtRFontMapping, (XtPointer)&jpDefaultMapping }, #undef offset @@ -786,6 +787,7 @@ { "JISX0208.1978-0", G1LCharSet }, { "JISX0208.1983-1", G1RCharSet }, { "JISX0208.1978-1", G1RCharSet }, + { "JISX0212.1990-0", G3LCharSet }, #ifdef ALLOW_LOWERCASE_CHARSET_NAME { "iso8859-1", G0LCharSet }, /* my preference */ { "jisx0201.1976-0", G0LCharSet | G2RCharSet }, @@ -794,6 +796,7 @@ { "jisx0208.1978-0", G1LCharSet }, { "jisx0208.1983-1", G1RCharSet }, { "jisx0208.1978-1", G1RCharSet }, + { "jisx0212.1990-0", G3LCharSet }, #endif }; diff -r eda83436b27e -r 5a32b68b627d lib/ctext.c --- 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; diff -r eda83436b27e -r 5a32b68b627d lib/fontbank.c --- a/lib/fontbank.c Mon Mar 08 20:38:16 2010 +0900 +++ b/lib/fontbank.c Mon Mar 08 20:38:16 2010 +0900 @@ -76,10 +76,14 @@ { "jisx0208.1976-0", NULL }, { "jisx0208.1976-1", NULL }, }; -static KICharSet jpCharSets[3] = { - { asciiCharSets, XtNumber(asciiCharSets) }, - { kanaCharSets, XtNumber(kanaCharSets) }, - { kanjiCharSets, XtNumber(kanjiCharSets) }, +static KICharSetSpec hojoCharSets[] = { + { "jisx0212.1990-0", NULL }, +}; +static KICharSet jpCharSets[] = { + { asciiCharSets, XtNumber(asciiCharSets) }, + { kanaCharSets, XtNumber(kanaCharSets) }, + { kanjiCharSets, XtNumber(kanjiCharSets) }, + { hojoCharSets, XtNumber(hojoCharSets) }, }; static FBInfo fontBankInfo[] = {