Copyright (C) 1991, 1995 Free Software Foundation, Inc.
Copyright (C) 1995 Sun Microsystems, Inc.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2011,
- 2012, 2013 MORIOKA Tomohiko
+ 2012, 2013, 2016 MORIOKA Tomohiko
This file is part of XEmacs.
#include "mule-ccl.h"
#include "chartab.h"
#endif
-#ifdef HAVE_LIBCHISE
+#ifdef USE_CONCORD_OBJECT_SYSTEM_TO_COMPOSE
#include <cos.h>
#endif
#include "file-coding.h"
CODING_SYSTEM_ISO2022_INITIAL_CHARSET (codesys, 1) = value;
else if (EQ (key, Qcharset_g2))
CODING_SYSTEM_ISO2022_INITIAL_CHARSET (codesys, 2) = value;
+ else if (EQ (key, Qcharset_g3))
+ CODING_SYSTEM_ISO2022_INITIAL_CHARSET (codesys, 3) = value;
else
signal_simple_error ("Unrecognized property", key);
}
unsigned combined_char_count;
Emchar combined_chars[16];
-#ifdef HAVE_LIBCHISE
+#ifdef USE_CONCORD_OBJECT_SYSTEM_TO_COMPOSE
COS_object combining_table;
#else
Lisp_Object combining_table;
-#endif /* HAVE_LIBCHISE */
+#endif /* USE_CONCORD_OBJECT_SYSTEM_TO_COMPOSE */
#endif
struct detection_state decst;
};
str->bom_flag = 0;
str->er_counter = 0;
str->combined_char_count = 0;
-#ifdef HAVE_LIBCHISE
+#ifdef USE_CONCORD_OBJECT_SYSTEM_TO_COMPOSE
str->combining_table = COS_NIL;
#else
str->combining_table = Qnil;
-#endif /* HAVE_LIBCHISE */
+#endif /* USE_CONCORD_OBJECT_SYSTEM_TO_COMPOSE */
#endif
if (CODING_SYSTEM_TYPE (str->codesys) == CODESYS_AUTODETECT
|| CODING_SYSTEM_EOL_TYPE (str->codesys) == EOL_AUTODETECT)
for (i = 0; i < str->combined_char_count; i++)
decode_add_er_char (str, str->combined_chars[i], dst);
str->combined_char_count = 0;
-#ifdef HAVE_LIBCHISE
+#ifdef USE_CONCORD_OBJECT_SYSTEM_TO_COMPOSE
str->combining_table = COS_NIL;
#else
str->combining_table = Qnil;
-#endif /* HAVE_LIBCHISE */
+#endif /* USE_CONCORD_OBJECT_SYSTEM_TO_COMPOSE */
}
extern CONCORD_DS concord_current_env;
{
if (CODING_SYSTEM_DISABLE_COMPOSITION (str->codesys))
decode_add_er_char (str, character, dst);
-#ifdef HAVE_LIBCHISE
+#ifdef USE_CONCORD_OBJECT_SYSTEM_TO_COMPOSE
else if (!cos_cons_p (str->combining_table))
{
COS_object ret;
/* concord_setup_env_maybe (); */
open_chise_data_source_maybe ();
- ret = concord_object_get_feature_value (cos_make_char (character),
+ ret = concord_object_get_attribute (cos_make_char (character),
COS_COMPOSITION);
if (!cos_cons_p (ret))
/* concord_setup_env_maybe (); */
open_chise_data_source_maybe ();
- ret2 = concord_object_get_feature_value (ret, COS_COMPOSITION);
+ ret2 = concord_object_get_attribute (ret, COS_COMPOSITION);
if (!cos_cons_p (ret2))
{
{
/* concord_setup_env_maybe (); */
open_chise_data_source_maybe ();
- ret = concord_object_get_feature_value (cos_make_char (character),
+ ret = concord_object_get_attribute (cos_make_char (character),
COS_COMPOSITION);
COMPOSE_FLUSH_CHARS (str, dst);
}
}
}
-#endif /* HAVE_LIBCHISE */
+#endif /* USE_CONCORD_OBJECT_SYSTEM_TO_COMPOSE */
}
#else /* not UTF2000 */
#define COMPOSE_FLUSH_CHARS(str, dst)
map, Qnil,
Qnil, Qnil)) )
code_point = XINT (ret);
+ else if ( !NILP (map =
+ CODING_SYSTEM_ISO2022_INITIAL_CHARSET
+ (str->codesys, 3))
+ && INTP (ret = Fchar_feature (make_char (ch),
+ map, Qnil,
+ Qnil, Qnil)) )
+ code_point = XINT (ret);
else if (CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys))
{
char buf[18];