aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2000-06-10 00:12:46 +0000
committerKenichi Handa2000-06-10 00:12:46 +0000
commitc83ef37172531109659f65f52e0893320d2c050e (patch)
tree1fef1fc7750bec2f01ab9fde02d379dd419b9ddc /src
parent49b71c5ff1c47134413bd7177840da38c9d4cf9f (diff)
downloademacs-c83ef37172531109659f65f52e0893320d2c050e.tar.gz
emacs-c83ef37172531109659f65f52e0893320d2c050e.zip
(update_charset_table): Update the table
bytes_by_char_head. (init_charset_once): Initialize elements of bytes_by_char_head to 1 except for leading codes for private charases.
Diffstat (limited to 'src')
-rw-r--r--src/charset.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/charset.c b/src/charset.c
index 9f3617622aa..2c04743dac6 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -497,11 +497,9 @@ update_charset_table (charset_id, dimension, chars, width, direction,
497 ? LEADING_CODE_PRIVATE_21 497 ? LEADING_CODE_PRIVATE_21
498 : LEADING_CODE_PRIVATE_22))); 498 : LEADING_CODE_PRIVATE_22)));
499 leading_code_ext = charset; 499 leading_code_ext = charset;
500 } 500 if (BYTES_BY_CHAR_HEAD (leading_code_base) != bytes)
501 501 error ("Invalid dimension for the charset-ID %d", charset);
502 if (charset != CHARSET_ASCII && charset != CHARSET_8_BIT_GRAPHIC 502 }
503 &&BYTES_BY_CHAR_HEAD (leading_code_base) != bytes)
504 error ("Invalid dimension for the charset-ID %d", charset);
505 503
506 CHARSET_TABLE_INFO (charset, CHARSET_ID_IDX) = charset_id; 504 CHARSET_TABLE_INFO (charset, CHARSET_ID_IDX) = charset_id;
507 CHARSET_TABLE_INFO (charset, CHARSET_BYTES_IDX) = make_number (bytes); 505 CHARSET_TABLE_INFO (charset, CHARSET_BYTES_IDX) = make_number (bytes);
@@ -549,9 +547,10 @@ update_charset_table (charset_id, dimension, chars, width, direction,
549 = make_number (-1); 547 = make_number (-1);
550 } 548 }
551 549
552 if (charset != CHARSET_ASCII 550 if (charset != CHARSET_ASCII && charset != CHARSET_8_BIT_GRAPHIC
553 && charset < MIN_CHARSET_PRIVATE_DIMENSION1) 551 && charset < MIN_CHARSET_PRIVATE_DIMENSION1)
554 { 552 {
553 bytes_by_char_head[leading_code_base] = bytes;
555 width_by_char_head[leading_code_base] = XINT (width); 554 width_by_char_head[leading_code_base] = XINT (width);
556 555
557 /* Update table emacs_code_class. */ 556 /* Update table emacs_code_class. */
@@ -1570,12 +1569,6 @@ init_charset_once ()
1570 1569
1571 for (i = 0; i < 256; i++) 1570 for (i = 0; i < 256; i++)
1572 bytes_by_char_head[i] = 1; 1571 bytes_by_char_head[i] = 1;
1573 for (i = 128; i < MIN_CHARSET_OFFICIAL_DIMENSION2; i++)
1574 bytes_by_char_head[i] = 2;
1575 for (; i <= MAX_CHARSET_OFFICIAL_DIMENSION2; i++)
1576 bytes_by_char_head[i] = 3;
1577 for (; i < 160; i++)
1578 bytes_by_char_head[i] = 2;
1579 bytes_by_char_head[LEADING_CODE_PRIVATE_11] = 3; 1572 bytes_by_char_head[LEADING_CODE_PRIVATE_11] = 3;
1580 bytes_by_char_head[LEADING_CODE_PRIVATE_12] = 3; 1573 bytes_by_char_head[LEADING_CODE_PRIVATE_12] = 3;
1581 bytes_by_char_head[LEADING_CODE_PRIVATE_21] = 4; 1574 bytes_by_char_head[LEADING_CODE_PRIVATE_21] = 4;