for (i = 0; i < 256; i++)
if (CHAR_BYTE_TABLE_P (cte1->property[i]))
- if (CHAR_BYTE_TABLE_P (cte2->property[i]))
- if (!char_byte_table_equal (cte1->property[i],
+ {
+ if (CHAR_BYTE_TABLE_P (cte2->property[i]))
+ {
+ if (!char_byte_table_equal (cte1->property[i],
cte2->property[i], depth + 1))
+ return 0;
+ }
+ else
return 0;
- else
- return 0;
+ }
else
if (!internal_equal (cte1->property[i], cte2->property[i], depth + 1))
return 0;
Lisp_Object Vcharset_hash_table;
+#ifdef UTF2000
+static Charset_ID next_allocated_leading_byte;
+#else
static Charset_ID next_allocated_1_byte_leading_byte;
static Charset_ID next_allocated_2_byte_leading_byte;
+#endif
/* Composite characters are characters constructed by overstriking two
or more regular characters.
{
Charset_ID lb;
+#ifdef UTF2000
+ if (next_allocated_leading_byte > MAX_LEADING_BYTE_PRIVATE)
+ lb = 0;
+ else
+ lb = next_allocated_leading_byte++;
+#else
if (dimension == 1)
{
if (next_allocated_1_byte_leading_byte > MAX_LEADING_BYTE_PRIVATE_1)
else
lb = next_allocated_2_byte_leading_byte++;
}
+#endif
if (!lb)
signal_simple_error
Lisp_Object ccl_program = Qnil;
Lisp_Object short_name = Qnil, long_name = Qnil;
#ifdef UTF2000
+ Emchar code_offset = 0;
unsigned char byte_offset = 0;
#endif
{
if (chars == 94)
{
- /* id = CHARSET_ID_OFFSET_94 + final; */
- id = get_unallocated_leading_byte (dimension);
+ if (code_offset == 0)
+ id = CHARSET_ID_OFFSET_94 + final;
+ else
+ id = get_unallocated_leading_byte (dimension);
}
else if (chars == 96)
{
- id = get_unallocated_leading_byte (dimension);
+ if (code_offset == 0)
+ id = CHARSET_ID_OFFSET_96 + final;
+ else
+ id = get_unallocated_leading_byte (dimension);
}
else
{
{
if (chars == 94)
{
- id = get_unallocated_leading_byte (dimension);
+ if (code_offset == 0)
+ id = CHARSET_ID_OFFSET_94x94 + final;
+ else
+ id = get_unallocated_leading_byte (dimension);
}
else if (chars == 96)
{
abort ();
}
if (final)
- if (chars == 94)
- byte_offset = 33;
- else if (chars == 96)
- byte_offset = 32;
+ {
+ if (chars == 94)
+ byte_offset = 33;
+ else if (chars == 96)
+ byte_offset = 32;
+ }
#else
id = get_unallocated_leading_byte (dimension);
#endif
charset_by_attributes[i][j][k] = Qnil;
#endif
- next_allocated_1_byte_leading_byte = MIN_LEADING_BYTE_PRIVATE_1;
#ifdef UTF2000
- next_allocated_2_byte_leading_byte = LEADING_BYTE_CHINESE_BIG5_2 + 1;
+ next_allocated_leading_byte = MIN_LEADING_BYTE_PRIVATE;
#else
+ next_allocated_1_byte_leading_byte = MIN_LEADING_BYTE_PRIVATE_1;
next_allocated_2_byte_leading_byte = MIN_LEADING_BYTE_PRIVATE_2;
#endif
CHARSET_LEFT_TO_RIGHT,
build_string ("BMP"),
build_string ("BMP"),
- build_string ("BMP"),
- build_string ("\\(ISO10646.*-1\\|UNICODE[23]?\\)"),
+ build_string ("ISO/IEC 10646 Group 0 Plane 0 (BMP)"),
+ build_string ("\\(ISO10646.*-1\\|UNICODE[23]?-0\\)"),
Qnil, 0, 0xFFFF, 0, 0);
#else
# define MIN_CHAR_THAI 0