#define MIN_CHAR_96x96 0xF4C000
#define MAX_CHAR_96x96 (MIN_CHAR_96x96 + 96 * 96 * 80 - 1)
+extern Lisp_Object Vcharset_ucs_bmp;
/* Return a character whose charset is CHARSET and position-codes
are C1 and C2. TYPE9N character ignores C2. */
return c1;
else if (EQ (charset, Vcharset_control_1))
return c1 | 0x80;
+ else if (EQ (charset, Vcharset_ucs_bmp))
+ return (c1 << 8) | c2;
else if (EQ (charset, Vcharset_latin_iso8859_1))
return c1 | 0x80;
else if (EQ (charset, Vcharset_greek_iso8859_7))
}
else if (c < MIN_CHAR_GREEK)
{
- printf("not break up u+%x", c);
- abort ();
+ *charset = Vcharset_ucs_bmp;
+ *c1 = c >> 8;
+ *c2 = c & 0xff;
}
else if (c <= MAX_CHAR_GREEK)
{
}
else if (c < MIN_CHAR_CYRILLIC)
{
- printf("not break up u+%x", c);
- abort ();
+ *charset = Vcharset_ucs_bmp;
+ *c1 = c >> 8;
+ *c2 = c & 0xff;
}
else if (c <= MAX_CHAR_CYRILLIC)
{
}
else if (c < MIN_CHAR_HEBREW)
{
- printf("not break up u+%x", c);
- abort ();
+ *charset = Vcharset_ucs_bmp;
+ *c1 = c >> 8;
+ *c2 = c & 0xff;
}
else if (c <= MAX_CHAR_HEBREW)
{
}
else if (c < MIN_CHAR_THAI)
{
- printf("not break up u+%x", c);
- abort ();
+ *charset = Vcharset_ucs_bmp;
+ *c1 = c >> 8;
+ *c2 = c & 0xff;
}
else if (c <= MAX_CHAR_THAI)
{
}
else if (c < MIN_CHAR_HALFWIDTH_KATAKANA)
{
- printf("not break up u+%x", c);
- abort ();
+ *charset = Vcharset_ucs_bmp;
+ *c1 = c >> 8;
+ *c2 = c & 0xff;
}
else if (c <= MAX_CHAR_HALFWIDTH_KATAKANA)
{