X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fmule-charset.c;h=3fb4030bee0a3b932bfef5d18e1e2df08a40812b;hb=7c20beeb0e0dae144d6cb5785761366d9b5c369a;hp=69102dbc241bfba1f09f82681e332fd99b477cf5;hpb=e5a6fbf8fd48090f4c04aafd4ba4caad0313f2bb;p=chise%2Fxemacs-chise.git- diff --git a/src/mule-charset.c b/src/mule-charset.c index 69102db..3fb4030 100644 --- a/src/mule-charset.c +++ b/src/mule-charset.c @@ -75,6 +75,7 @@ Lisp_Object Vcharset_latin_viscii_lower; Lisp_Object Vcharset_latin_viscii_upper; Lisp_Object Vcharset_chinese_big5; Lisp_Object Vcharset_chinese_big5_cdp; +Lisp_Object Vcharset_japanese_jef_china3; Lisp_Object Vcharset_ideograph_gt; Lisp_Object Vcharset_ideograph_gt_pj_1; Lisp_Object Vcharset_ideograph_gt_pj_2; @@ -353,7 +354,7 @@ put_char_ccs_code_point (Lisp_Object character, XCHARSET_ENCODING_TABLE (ccs) = encoding_table = make_char_id_table (Qnil); } - put_char_id_table (XCHAR_ID_TABLE(encoding_table), character, value); + put_char_id_table (XCHAR_TABLE(encoding_table), character, value); return Qt; } @@ -375,9 +376,9 @@ remove_char_ccs (Lisp_Object character, Lisp_Object ccs) XINT (cpos)); } } - if (CHAR_ID_TABLE_P (encoding_table)) + if (CHAR_TABLEP (encoding_table)) { - put_char_id_table (XCHAR_ID_TABLE(encoding_table), character, Qnil); + put_char_id_table (XCHAR_TABLE(encoding_table), character, Qnil); } return Qt; } @@ -434,6 +435,7 @@ Lisp_Object Qascii, Qvietnamese_viscii_upper, Qchinese_big5, Qchinese_big5_cdp, + Qjapanese_jef_china3, Qideograph_daikanwa, Qideograph_gt, Qideograph_gt_pj_1, @@ -1310,6 +1312,16 @@ encode_builtin_char_1 (Emchar c, Lisp_Object* charset) *charset = Vcharset_mojikyo; return c - MIN_CHAR_MOJIKYO; } + else if (c < MIN_CHAR_JEF_CHINA3) + { + *charset = Vcharset_ucs; + return c; + } + else if (c <= MAX_CHAR_JEF_CHINA3) + { + *charset = Vcharset_japanese_jef_china3; + return c - MAX_CHAR_JEF_CHINA3; + } else { *charset = Vcharset_ucs; @@ -2351,6 +2363,7 @@ syms_of_mule_charset (void) defsymbol (&Qideograph_daikanwa, "ideograph-daikanwa"); defsymbol (&Qchinese_big5, "chinese-big5"); defsymbol (&Qchinese_big5_cdp, "chinese-big5-cdp"); + defsymbol (&Qjapanese_jef_china3, "japanese-jef-china3"); defsymbol (&Qmojikyo, "mojikyo"); defsymbol (&Qmojikyo_2022_1, "mojikyo-2022-1"); defsymbol (&Qmojikyo_pj_1, "mojikyo-pj-1"); @@ -2773,6 +2786,15 @@ complex_vars_of_mule_charset (void) build_string ("Big5 with CDP extension"), build_string ("big5\\.cdp-0"), Qnil, 0, 0, 0, 0); + staticpro (&Vcharset_japanese_jef_china3); + Vcharset_japanese_jef_china3 = + make_charset (LEADING_BYTE_JEF_CHINA3, Qjapanese_jef_china3, 256, 2, + 2, 2, 0, CHARSET_LEFT_TO_RIGHT, + build_string ("JC3"), + build_string ("JEF + CHINA3"), + build_string ("JEF + CHINA3 private characters"), + build_string ("china3jef-0"), + Qnil, MIN_CHAR_JEF_CHINA3, MAX_CHAR_JEF_CHINA3, 0, 0); staticpro (&Vcharset_ideograph_gt); Vcharset_ideograph_gt = make_charset (LEADING_BYTE_GT, Qideograph_gt, 256, 3,