(Vcharset_japanese_jef_china3): New variable.
authortomo <tomo>
Thu, 4 Oct 2001 11:02:00 +0000 (11:02 +0000)
committertomo <tomo>
Thu, 4 Oct 2001 11:02:00 +0000 (11:02 +0000)
(Qjapanese_jef_china3): New variable.
(encode_builtin_char_1): Support `japanese-jef-china3'.
(syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
(complex_vars_of_mule_charset): Add new coded-charset
`japanese-jef-china3'.

src/mule-charset.c

index ddfa753..3fb4030 100644 (file)
@@ -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;
@@ -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,