projects
/
chise
/
xemacs-chise.git.1
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge chise-0_23-1-r21-4-18.
[chise/xemacs-chise.git.1]
/
src
/
mule-ccl.c
diff --git
a/src/mule-ccl.c
b/src/mule-ccl.c
index
a1a4083
..
83309a4
100644
(file)
--- a/
src/mule-ccl.c
+++ b/
src/mule-ccl.c
@@
-1304,6
+1304,13
@@
ccl_driver (struct ccl_program *ccl,
reg[RRR] = i;
reg[rrr] = (*src++ & 0x7F);
}
reg[RRR] = i;
reg[rrr] = (*src++ & 0x7F);
}
+ else if (LEADING_BYTE_CONTROL_1 == i)
+ {
+ if (src >= src_end)
+ goto ccl_read_multibyte_character_suspend;
+ reg[RRR] = i;
+ reg[rrr] = (*src++ - 0xA0);
+ }
else if (i <= MAX_LEADING_BYTE_OFFICIAL_2)
{
if ((src + 1) >= src_end)
else if (i <= MAX_LEADING_BYTE_OFFICIAL_2)
{
if ((src + 1) >= src_end)
@@
-1353,7
+1360,7
@@
ccl_driver (struct ccl_program *ccl,
#ifndef UTF2000
case CCL_WriteMultibyteChar2:
i = reg[RRR]; /* charset */
#ifndef UTF2000
case CCL_WriteMultibyteChar2:
i = reg[RRR]; /* charset */
- if (i == LEADING_BYTE_ASCII)
+ if (i == LEADING_BYTE_ASCII || i == LEADING_BYTE_CONTROL_1)
i = reg[rrr] & 0xFF;
else if (XCHARSET_DIMENSION (CHARSET_BY_LEADING_BYTE (i)) == 1)
i = (((i - FIELD2_TO_OFFICIAL_LEADING_BYTE) << 7)
i = reg[rrr] & 0xFF;
else if (XCHARSET_DIMENSION (CHARSET_BY_LEADING_BYTE (i)) == 1)
i = (((i - FIELD2_TO_OFFICIAL_LEADING_BYTE) << 7)