Mercurial > hg > xemacs-beta
comparison src/mule-ccl.c @ 2712:cf4a5f5e87ea
[xemacs-hg @ 2005-04-05 17:42:48 by aidan]
Mule-CCL couldn't handle control-1 characters either.
author | aidan |
---|---|
date | Tue, 05 Apr 2005 17:42:59 +0000 |
parents | 04bc9d2f42c7 |
children | 714b354cef67 |
comparison
equal
deleted
inserted
replaced
2711:879b927c8a9f | 2712:cf4a5f5e87ea |
---|---|
1300 if (src >= src_end) | 1300 if (src >= src_end) |
1301 goto ccl_read_multibyte_character_suspend; | 1301 goto ccl_read_multibyte_character_suspend; |
1302 reg[RRR] = i; | 1302 reg[RRR] = i; |
1303 reg[rrr] = (*src++ & 0x7F); | 1303 reg[rrr] = (*src++ & 0x7F); |
1304 } | 1304 } |
1305 else if (LEADING_BYTE_CONTROL_1 == i) | |
1306 { | |
1307 if (src >= src_end) | |
1308 goto ccl_read_multibyte_character_suspend; | |
1309 reg[RRR] = i; | |
1310 reg[rrr] = (*src++ - 0xA0); | |
1311 } | |
1305 else if (i <= MAX_LEADING_BYTE_OFFICIAL_2) | 1312 else if (i <= MAX_LEADING_BYTE_OFFICIAL_2) |
1306 { | 1313 { |
1307 if ((src + 1) >= src_end) | 1314 if ((src + 1) >= src_end) |
1308 goto ccl_read_multibyte_character_suspend; | 1315 goto ccl_read_multibyte_character_suspend; |
1309 reg[RRR] = i; | 1316 reg[RRR] = i; |
1347 | 1354 |
1348 break; | 1355 break; |
1349 | 1356 |
1350 case CCL_WriteMultibyteChar2: | 1357 case CCL_WriteMultibyteChar2: |
1351 i = reg[RRR]; /* charset */ | 1358 i = reg[RRR]; /* charset */ |
1352 if (i == LEADING_BYTE_ASCII) | 1359 if (i == LEADING_BYTE_ASCII || i == LEADING_BYTE_CONTROL_1) |
1353 i = reg[rrr] & 0xFF; | 1360 i = reg[rrr] & 0xFF; |
1354 else if (XCHARSET_DIMENSION (charset_by_leading_byte (i)) == 1) | 1361 else if (XCHARSET_DIMENSION (charset_by_leading_byte (i)) == 1) |
1355 i = (((i - FIELD2_TO_OFFICIAL_LEADING_BYTE) << 7) | 1362 i = (((i - FIELD2_TO_OFFICIAL_LEADING_BYTE) << 7) |
1356 | (reg[rrr] & 0x7F)); | 1363 | (reg[rrr] & 0x7F)); |
1357 else if (i < MAX_LEADING_BYTE_OFFICIAL_2) | 1364 else if (i < MAX_LEADING_BYTE_OFFICIAL_2) |