(MAKE_CHAR): Fix problem in 2-dimension charset.
authortomo <tomo>
Tue, 14 Sep 1999 15:52:47 +0000 (15:52 +0000)
committertomo <tomo>
Tue, 14 Sep 1999 15:52:47 +0000 (15:52 +0000)
src/char-ucs.h

index 56b72bf..7302124 100644 (file)
@@ -372,7 +372,13 @@ MAKE_CHAR (Lisp_Object charset, int c1, int c2)
       /* return MIN_CHAR_94 + ('I' - '0') * 94 + (c1 - 33); */
       return ' ';
   else if (CHARSET_UCS_MAX (XCHARSET (charset)))
-    return c1 - CHARSET_CODE_OFFSET (XCHARSET (charset))
+    return (XCHARSET_DIMENSION (charset) == 1
+           ?
+           c1 - CHARSET_CODE_OFFSET (XCHARSET (charset))
+           :
+           (c1 - CHARSET_CODE_OFFSET (XCHARSET (charset)))
+           * XCHARSET_CHARS (charset)
+           + c2  - CHARSET_CODE_OFFSET (XCHARSET (charset)))
       + CHARSET_UCS_MIN (XCHARSET (charset));
   else if (XCHARSET_DIMENSION (charset) == 1)
     {