diff 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
line wrap: on
line diff
--- a/src/mule-charset.h	Mon Aug 13 10:31:30 2007 +0200
+++ b/src/mule-charset.h	Mon Aug 13 10:32:22 2007 +0200
@@ -452,29 +452,34 @@
 
   Lisp_Object ccl_program;
 
-  unsigned int leading_byte :8;
+  Bufbyte leading_byte;
+
+  /* Final byte of this character set in ISO2022 designating escape sequence */
+  Bufbyte final;
 
   /* Number of bytes (1 - 4) required in the internal representation
      for characters in this character set.  This is *not* the
-     same as the number of bytes used in the encoding (i.e.
-     the "dimension" of the character set).  That value can
-     be derived from the TYPE. */
-  unsigned int rep_bytes :3;
+     same as the dimension of the character set). */
+  unsigned int rep_bytes;
 
   /* Number of columns a character in this charset takes up, on TTY
      devices.  Not used for X devices. */
-  unsigned int columns :2;
+  unsigned int columns;
+
   /* Direction of this character set */
-  unsigned int direction :1;
+  unsigned int direction;
 
   /* Type of this character set (94, 96, 94x94, 96x96) */
-  unsigned int type :2;
+  unsigned int type;
+
+  /* Number of bytes used in encoding of this character set (1 or 2) */
+  unsigned int dimension;
+
+  /* Number of chars in each dimension (usually 94 or 96) */
+  unsigned int chars;
 
   /* Which half of font to be used to display this character set */
-  unsigned int graphic :2;
-
-  /* Final byte of this character set in ISO2022 designating escape sequence */
-  Bufbyte final;
+  unsigned int graphic;
 };
 
 DECLARE_LRECORD (charset, struct Lisp_Charset);
@@ -505,11 +510,10 @@
 #define CHARSET_DOC_STRING(cs)	 ((cs)->doc_string)
 #define CHARSET_REGISTRY(cs)	 ((cs)->registry)
 #define CHARSET_CCL_PROGRAM(cs)  ((cs)->ccl_program)
+#define CHARSET_DIMENSION(cs)	 ((cs)->dimension)
+#define CHARSET_CHARS(cs)	 ((cs)->chars)
 #define CHARSET_REVERSE_DIRECTION_CHARSET(cs) ((cs)->reverse_direction_charset)
 
-/* Optimized using inside knowledge of CHARSET_TYPE values */
-#define CHARSET_DIMENSION(cs) ((CHARSET_TYPE (cs) <= CHARSET_TYPE_96) ? 1 : 2)
-#define CHARSET_CHARS(cs)     ((CHARSET_TYPE (cs) & 0x1) ? 96 : 94)
 
 #define CHARSET_PRIVATE_P(cs) LEADING_BYTE_PRIVATE_P (CHARSET_LEADING_BYTE (cs))