Mercurial > hg > xemacs-beta
comparison src/mule-charset.h @ 280:7df0dd720c89 r21-0b38
Import from CVS: tag r21-0b38
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:32:22 +0200 |
parents | c5d627a313b1 |
children | 70ad99077275 |
comparison
equal
deleted
inserted
replaced
279:c20b2fb5bb0a | 280:7df0dd720c89 |
---|---|
450 | 450 |
451 Lisp_Object reverse_direction_charset; | 451 Lisp_Object reverse_direction_charset; |
452 | 452 |
453 Lisp_Object ccl_program; | 453 Lisp_Object ccl_program; |
454 | 454 |
455 unsigned int leading_byte :8; | 455 Bufbyte leading_byte; |
456 | |
457 /* Final byte of this character set in ISO2022 designating escape sequence */ | |
458 Bufbyte final; | |
456 | 459 |
457 /* Number of bytes (1 - 4) required in the internal representation | 460 /* Number of bytes (1 - 4) required in the internal representation |
458 for characters in this character set. This is *not* the | 461 for characters in this character set. This is *not* the |
459 same as the number of bytes used in the encoding (i.e. | 462 same as the dimension of the character set). */ |
460 the "dimension" of the character set). That value can | 463 unsigned int rep_bytes; |
461 be derived from the TYPE. */ | |
462 unsigned int rep_bytes :3; | |
463 | 464 |
464 /* Number of columns a character in this charset takes up, on TTY | 465 /* Number of columns a character in this charset takes up, on TTY |
465 devices. Not used for X devices. */ | 466 devices. Not used for X devices. */ |
466 unsigned int columns :2; | 467 unsigned int columns; |
468 | |
467 /* Direction of this character set */ | 469 /* Direction of this character set */ |
468 unsigned int direction :1; | 470 unsigned int direction; |
469 | 471 |
470 /* Type of this character set (94, 96, 94x94, 96x96) */ | 472 /* Type of this character set (94, 96, 94x94, 96x96) */ |
471 unsigned int type :2; | 473 unsigned int type; |
474 | |
475 /* Number of bytes used in encoding of this character set (1 or 2) */ | |
476 unsigned int dimension; | |
477 | |
478 /* Number of chars in each dimension (usually 94 or 96) */ | |
479 unsigned int chars; | |
472 | 480 |
473 /* Which half of font to be used to display this character set */ | 481 /* Which half of font to be used to display this character set */ |
474 unsigned int graphic :2; | 482 unsigned int graphic; |
475 | |
476 /* Final byte of this character set in ISO2022 designating escape sequence */ | |
477 Bufbyte final; | |
478 }; | 483 }; |
479 | 484 |
480 DECLARE_LRECORD (charset, struct Lisp_Charset); | 485 DECLARE_LRECORD (charset, struct Lisp_Charset); |
481 #define XCHARSET(x) XRECORD (x, charset, struct Lisp_Charset) | 486 #define XCHARSET(x) XRECORD (x, charset, struct Lisp_Charset) |
482 #define XSETCHARSET(x, p) XSETRECORD (x, p, charset) | 487 #define XSETCHARSET(x, p) XSETRECORD (x, p, charset) |
503 #define CHARSET_DIRECTION(cs) ((cs)->direction) | 508 #define CHARSET_DIRECTION(cs) ((cs)->direction) |
504 #define CHARSET_FINAL(cs) ((cs)->final) | 509 #define CHARSET_FINAL(cs) ((cs)->final) |
505 #define CHARSET_DOC_STRING(cs) ((cs)->doc_string) | 510 #define CHARSET_DOC_STRING(cs) ((cs)->doc_string) |
506 #define CHARSET_REGISTRY(cs) ((cs)->registry) | 511 #define CHARSET_REGISTRY(cs) ((cs)->registry) |
507 #define CHARSET_CCL_PROGRAM(cs) ((cs)->ccl_program) | 512 #define CHARSET_CCL_PROGRAM(cs) ((cs)->ccl_program) |
513 #define CHARSET_DIMENSION(cs) ((cs)->dimension) | |
514 #define CHARSET_CHARS(cs) ((cs)->chars) | |
508 #define CHARSET_REVERSE_DIRECTION_CHARSET(cs) ((cs)->reverse_direction_charset) | 515 #define CHARSET_REVERSE_DIRECTION_CHARSET(cs) ((cs)->reverse_direction_charset) |
509 | 516 |
510 /* Optimized using inside knowledge of CHARSET_TYPE values */ | |
511 #define CHARSET_DIMENSION(cs) ((CHARSET_TYPE (cs) <= CHARSET_TYPE_96) ? 1 : 2) | |
512 #define CHARSET_CHARS(cs) ((CHARSET_TYPE (cs) & 0x1) ? 96 : 94) | |
513 | 517 |
514 #define CHARSET_PRIVATE_P(cs) LEADING_BYTE_PRIVATE_P (CHARSET_LEADING_BYTE (cs)) | 518 #define CHARSET_PRIVATE_P(cs) LEADING_BYTE_PRIVATE_P (CHARSET_LEADING_BYTE (cs)) |
515 | 519 |
516 #define XCHARSET_ID(cs) CHARSET_ID (XCHARSET (cs)) | 520 #define XCHARSET_ID(cs) CHARSET_ID (XCHARSET (cs)) |
517 #define XCHARSET_NAME(cs) CHARSET_NAME (XCHARSET (cs)) | 521 #define XCHARSET_NAME(cs) CHARSET_NAME (XCHARSET (cs)) |