#ifndef _XEMACS_CHAR_UCS_H
#define _XEMACS_CHAR_UCS_H
-/* ---------------------------- */
-/* (D) For working with Emchars */
-/* ---------------------------- */
-
#define valid_char_p(ch) 1
-#define CHAR_ASCII_P(c) ((c) <= 0x7F)
+#define CHAR_ASCII_P(ch) ((ch) <= 0x7F)
\f
/************************************************************************/
\f
/************************************************************************/
-/* Operations on individual bytes */
-/* of any format */
-/************************************************************************/
-
-/* Argument `c' should be (unsigned int) or (unsigned char). */
-/* Note that SP and DEL are not included. */
-
-#define BYTE_ASCII_P(c) ((c) < 0x80)
-#define BYTE_C0_P(c) ((c) < 0x20)
-/* Do some forced casting just to make *sure* things are gotten right. */
-#define BYTE_C1_P(c) ((unsigned int) ((unsigned int) (c) - 0x80) < 0x20)
-
-\f
-/************************************************************************/
/* Information about a particular character set */
/************************************************************************/
#define CHARSET_BY_ATTRIBUTES(type, final, dir) \
(charset_by_attributes[type][final])
-INLINE int REP_BYTES_BY_FIRST_BYTE (int fb);
-INLINE int
-REP_BYTES_BY_FIRST_BYTE (int fb)
-{
- if ( fb < 0xc0 )
- return 1;
- else if ( fb < 0xe0 )
- return 2;
- else if ( fb < 0xf0 )
- return 3;
- else if ( fb < 0xf8 )
- return 4;
- else if ( fb < 0xfc )
- return 5;
- else
- return 6;
-}
-
\f
/************************************************************************/
/* Dealing with characters */
/* Return a character whose charset is CHARSET and position-codes
- are C1 and C2. TYPE9N character ignores C2.
-
- NOTE: This takes advantage of the fact that
- FIELD2_TO_OFFICIAL_LEADING_BYTE and
- FIELD2_TO_PRIVATE_LEADING_BYTE are the same.
- */
+ are C1 and C2. TYPE9N character ignores C2. */
INLINE Emchar MAKE_CHAR (Lisp_Object charset, int c1, int c2);
INLINE Emchar
}
}
-#define BREAKUP_CHAR(c, charset, c1, c2) \
- breakup_char_1 (c, &(charset), &(c1), &(c2))
+#define BREAKUP_CHAR(ch, charset, b1, b2) \
+ breakup_char_1 (ch, &(charset), &(b1), &(b2))
-INLINE Lisp_Object CHAR_CHARSET (Emchar c);
+INLINE Lisp_Object CHAR_CHARSET (Emchar ch);
INLINE Lisp_Object
-CHAR_CHARSET (Emchar c)
+CHAR_CHARSET (Emchar ch)
{
Lisp_Object charset;
- int c1, c2;
+ int b1, b2;
- BREAKUP_CHAR(c, charset, c1, c2);
+ BREAKUP_CHAR(ch, charset, b1, b2);
return charset;
}
extern Lisp_Object Vcharset_japanese_jisx0208;
extern Lisp_Object Vcharset_japanese_jisx0212;
-Emchar Lstream_get_emchar_1 (Lstream *stream, int first_char);
-int Lstream_fput_emchar (Lstream *stream, Emchar ch);
-void Lstream_funget_emchar (Lstream *stream, Emchar ch);
-
-int copy_internal_to_external (CONST Bufbyte *internal, Bytecount len,
- unsigned char *external);
-Bytecount copy_external_to_internal (CONST unsigned char *external,
- int len, Bufbyte *internal);
-
#endif /* _XEMACS_CHAR_UCS_H */