From 60101a82127cbf16fbcb5033c571d450805abe53 Mon Sep 17 00:00:00 2001 From: tomo Date: Fri, 4 Apr 2003 07:24:57 +0000 Subject: [PATCH] (Qiso_ir): New variable. (Fmake_charset): Recognise new property `iso-ir'. (syms_of_mule_charset): Add new symbol `iso-ir'. --- src/mule-charset.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/mule-charset.c b/src/mule-charset.c index 7cdc61f..e16b209 100644 --- a/src/mule-charset.c +++ b/src/mule-charset.c @@ -277,6 +277,7 @@ Lisp_Object Qdirection; Lisp_Object Qreverse_direction_charset; Lisp_Object Qleading_byte; Lisp_Object Qshort_name, Qlong_name; +Lisp_Object Qiso_ir; #ifdef UTF2000 Lisp_Object Qmin_code, Qmax_code, Qcode_offset; Lisp_Object Qmother, Qconversion, Q94x60, Q94x94x60, Qbig5_1, Qbig5_2; @@ -1489,7 +1490,7 @@ character set. Recognized properties are: */ (name, doc_string, props)) { - int id, dimension = 1, chars = 94, graphic = 0, final = 0, columns = -1; + int id = 0, dimension = 1, chars = 94, graphic = 0, final = 0, columns = -1; int direction = CHARSET_LEFT_TO_RIGHT; Lisp_Object registry = Qnil; Lisp_Object charset; @@ -1523,6 +1524,14 @@ character set. Recognized properties are: long_name = value; } + else if (EQ (keyword, Qiso_ir)) + { +#ifdef UTF2000 + CHECK_INT (value); + id = - XINT (value); +#endif + } + else if (EQ (keyword, Qdimension)) { CHECK_INT (value); @@ -1664,7 +1673,8 @@ character set. Recognized properties are: error ("Character set already defined for this DIMENSION/CHARS/FINAL combo"); - id = get_unallocated_leading_byte (dimension); + if (id == 0) + id = get_unallocated_leading_byte (dimension); if (NILP (doc_string)) doc_string = build_string (""); @@ -2669,6 +2679,7 @@ syms_of_mule_charset (void) defsymbol (&Qreverse_direction_charset, "reverse-direction-charset"); defsymbol (&Qshort_name, "short-name"); defsymbol (&Qlong_name, "long-name"); + defsymbol (&Qiso_ir, "iso-ir"); #ifdef UTF2000 defsymbol (&Qmother, "mother"); defsymbol (&Qmin_code, "min-code"); -- 1.7.10.4