Rename `vietnamese-viscii-*' to `latin-viscii-*'.
[chise/xemacs-chise.git-] / src / mule-charset.c
index 6494259..db6b2b8 100644 (file)
@@ -142,9 +142,9 @@ put_byte_from_character_table (Emchar ch, unsigned char val,
 {
   if (table->base == NULL)
     {
-      table->base = xmalloc (128);
-      table->offset = ch - (ch % 128);
-      table->size = 128;
+      table->base = xmalloc (256);
+      table->offset = ch - (ch % 256);
+      table->size = 256;
       table->base[ch - table->offset] = val;
     }
   else
@@ -156,7 +156,7 @@ put_byte_from_character_table (Emchar ch, unsigned char val,
          size_t new_size = table->size - i;
          size_t j;
 
-         new_size += 128 - (new_size % 128);
+         new_size += 256 - (new_size % 256);
          table->base = xrealloc (table->base, new_size);
          memmove (table->base + (new_size - table->size), table->base,
                   table->size);
@@ -171,7 +171,7 @@ put_byte_from_character_table (Emchar ch, unsigned char val,
          size_t new_size = i + 1;
          size_t j;
 
-         new_size += 128 - (new_size % 128);
+         new_size += 256 - (new_size % 256);
          table->base = xrealloc (table->base, new_size);
          for (j = table->size; j < new_size; j++)
            table->base[j] = 0;
@@ -237,6 +237,8 @@ Lisp_Object Qascii,
   Qucs_bmp,
   Qlatin_viscii_lower,
   Qlatin_viscii_upper,
+  Qvietnamese_viscii_lower,
+  Qvietnamese_viscii_upper,
   Qhiragana_jisx0208,
   Qkatakana_jisx0208,
 #endif
@@ -611,7 +613,9 @@ mark_charset (Lisp_Object obj, void (*markobj) (Lisp_Object))
   markobj (cs->doc_string);
   markobj (cs->registry);
   markobj (cs->ccl_program);
+#ifdef UTF2000
   markobj (cs->decoding_table);
+#endif
   return cs->name;
 }
 
@@ -1322,7 +1326,7 @@ NEW-NAME is the name of the new charset.  Return the new charset.
                              CHARSET_CODE_OFFSET(cs),
                              CHARSET_BYTE_OFFSET(cs)
 #else
-                             Qnil, 0, 0, 0
+                             Qnil, 0, 0, 0, 0
 #endif
 );
 
@@ -1332,6 +1336,16 @@ NEW-NAME is the name of the new charset.  Return the new charset.
   return new_charset;
 }
 
+DEFUN ("define-charset-alias", Fdefine_charset_alias, 2, 2, 0, /*
+Define symbol ALIAS as an alias for CHARSET.
+*/
+       (alias, charset))
+{
+  CHECK_SYMBOL (alias);
+  charset = Fget_charset (charset);
+  return Fputhash (alias, charset, Vcharset_hash_table);
+}
+
 /* #### Reverse direction charsets not yet implemented.  */
 #if 0
 DEFUN ("charset-reverse-direction-charset", Fcharset_reverse_direction_charset,
@@ -1844,6 +1858,7 @@ syms_of_mule_charset (void)
   DEFSUBR (Fmake_charset);
   DEFSUBR (Fmake_reverse_direction_charset);
   /*  DEFSUBR (Freverse_direction_charset); */
+  DEFSUBR (Fdefine_charset_alias);
   DEFSUBR (Fcharset_from_attributes);
   DEFSUBR (Fcharset_short_name);
   DEFSUBR (Fcharset_long_name);
@@ -1904,8 +1919,10 @@ syms_of_mule_charset (void)
   defsymbol (&Qchinese_cns11643_2,     "chinese-cns11643-2");
 #ifdef UTF2000
   defsymbol (&Qucs_bmp,                        "ucs-bmp");
-  defsymbol (&Qlatin_viscii_lower,     "vietnamese-viscii-lower");
-  defsymbol (&Qlatin_viscii_upper,     "vietnamese-viscii-upper");
+  defsymbol (&Qlatin_viscii_lower,     "latin-viscii-lower");
+  defsymbol (&Qlatin_viscii_upper,     "latin-viscii-upper");
+  defsymbol (&Qvietnamese_viscii_lower,        "vietnamese-viscii-lower");
+  defsymbol (&Qvietnamese_viscii_upper,        "vietnamese-viscii-upper");
   defsymbol (&Qhiragana_jisx0208,      "hiragana-jisx0208");
   defsymbol (&Qkatakana_jisx0208,      "katakana-jisx0208");
 #endif