home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1997 May
/
Pcwk0597.iso
/
sybase
/
starbuck
/
h.z
/
JCTYPE.H
< prev
next >
Wrap
C/C++ Source or Header
|
1996-07-24
|
2KB
|
76 lines
/*
* jctype.h Japanese character test macros
*
* Copyright by WATCOM International Corp. 1988-1996. All rights reserved.
*/
#ifndef _JCTYPE_H_INCLUDED
#define _JCTYPE_H_INCLUDED
/*
* iskana(c) âJâiüEâRü[âh
* iskpun(c) âJâiïσÉ╪ò╢ÄÜ
* iskmoji(c) âJâiò╢ÄÜ
* isalkana(c) ëpò╢ÄÜé▄é╜é═âJâiò╢ÄÜ
* ispnkana(c) ëpïσÉ╪ò╢ÄÜé▄é╜é═âJâiïσÉ╪ò╢ÄÜ
* isalnmkana(c) ëpÉöÄÜé▄é╜é═âJâiò╢ÄÜ
* isprkana(c) ò\Īë┬ö\ò╢ÄÜüiï≤öÆé≡è▄é▐üj
* isgrkana(c) ò\Īë┬ö\ò╢ÄÜüiï≤öÆé≡Å£é¡üj
*
* iskanji(c) è┐ÄÜæµéPâoâCâg
* iskanji2(c) è┐ÄÜæµéQâoâCâg
*
*/
#ifndef _COMDEF_H_INCLUDED
#include <_comdef.h>
#endif
#ifndef _CTYPE_H_INCLUDED
#include <ctype.h>
#endif
#define _K 0x01 /* Kana moji */
#define _KP 0x02 /* Kana punct. */
#define _J1 0x04 /* Kanji 1st byte */
#define _J2 0x08 /* Kanji 2nd byte */
#ifdef __cplusplus
extern "C" {
#endif
_WCRTLINK extern int iskana(int);
_WCRTLINK extern int iskpun(int);
_WCRTLINK extern int iskmoji(int);
_WCRTLINK extern int isalkana(int);
_WCRTLINK extern int ispnkana(int);
_WCRTLINK extern int isalnmkana(int);
_WCRTLINK extern int isprkana(int);
_WCRTLINK extern int isgrkana(int);
_WCRTLINK extern int iskanji(int);
_WCRTLINK extern int iskanji2(int);
/* kana, kanji type table */
#if defined(__SW_BR) || defined(_RTDLL)
#define _IsKTable _IsKTable_br
#endif
#ifdef M_I86HM
_WCRTLINK extern const char _WCFAR _IsKTable[257];
#else
_WCRTLINK extern const char _WCNEAR _IsKTable[257];
#endif
#ifdef __cplusplus
};
#endif
#define iskana(__c) (_IsKTable[(unsigned char)(__c)+1] & (_K|_KP))
#define iskpun(__c) (_IsKTable[(unsigned char)(__c)+1] & _KP)
#define iskmoji(__c) (_IsKTable[(unsigned char)(__c)+1] & _K)
#define isalkana(__c) (isalpha(__c) || iskmoji(__c))
#define ispnkana(__c) (ispunct(__c) || iskpun(__c))
#define isalnmkana(__c) (isalnum(__c) || iskmoji(__c))
#define isprkana(__c) (isprint(__c) || iskana(__c))
#define isgrkana(__c) (isgraph(__c) || iskana(__c))
#define iskanji(__c) (_IsKTable[(unsigned char)(__c)+1] & _J1)
#define iskanji2(__c) (_IsKTable[(unsigned char)(__c)+1] & _J2)
#endif