(map_charset_chars): For a charset of `superset'
authorKenichi Handa <handa@m17n.org>
Thu, 9 Apr 2009 03:47:40 +0000 (03:47 +0000)
committerKenichi Handa <handa@m17n.org>
Thu, 9 Apr 2009 03:47:40 +0000 (03:47 +0000)
method, fix calculation of code range.

src/ChangeLog
src/charset.c

index f5cc446..49936d1 100644 (file)
@@ -1,5 +1,8 @@
 2009-04-09  Kenichi Handa  <handa@m17n.org>
 
+       * charset.c (map_charset_chars): For a charset of `superset'
+       method, fix calculation of code range.
+
        * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
        from the list of extra properties.
        (font_clear_prop): Be sure to delete `:name' font property.
index 54602eb..492849f 100644 (file)
@@ -809,8 +809,8 @@ map_charset_chars (c_function, function, arg,
 
          charset = CHARSET_FROM_ID (XFASTINT (XCAR (XCAR (parents))));
          offset = XINT (XCDR (XCAR (parents)));
-         this_from = from - offset;
-         this_to = to - offset;
+         this_from = from > offset ? from - offset : 0;
+         this_to = to > offset ? to - offset : 0;
          if (this_from < CHARSET_MIN_CODE (charset))
            this_from = CHARSET_MIN_CODE (charset);
          if (this_to > CHARSET_MAX_CODE (charset))