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)