diff options
| author | Kenichi Handa | 2000-06-10 00:12:46 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2000-06-10 00:12:46 +0000 |
| commit | c83ef37172531109659f65f52e0893320d2c050e (patch) | |
| tree | 1fef1fc7750bec2f01ab9fde02d379dd419b9ddc /src | |
| parent | 49b71c5ff1c47134413bd7177840da38c9d4cf9f (diff) | |
| download | emacs-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.c | 17 |
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; |