jctype.mh

来自「开放源码的编译器open watcom 1.6.0版的源代码」· MH 代码 · 共 71 行

MH
71
字号
/*
 *  jctype.h    Japanese character test macros
 *
:include crwat.sp
 */
#ifndef _JCTYPE_H_INCLUDED
#define _JCTYPE_H_INCLUDED
:include readonly.sp

/*
 *       iskana(c)       僇僫丒僐乕僪
 *       iskpun(c)       僇僫嬪愗暥帤
 *       iskmoji(c)      僇僫暥帤
 *       isalkana(c)     塸暥帤傑偨偼僇僫暥帤
 *       ispnkana(c)     塸嬪愗暥帤傑偨偼僇僫嬪愗暥帤
 *       isalnmkana(c)   塸悢帤傑偨偼僇僫暥帤
 *       isprkana(c)     昞帵壜擻暥帤乮嬻敀傪娷傓乯
 *       isgrkana(c)     昞帵壜擻暥帤乮嬻敀傪彍偔乯
 *
 *       iskanji(c)      娍帤戞侾僶僀僩
 *       iskanji2(c)     娍帤戞俀僶僀僩
 *
 */

#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 */

:include cpluspro.sp
_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
_WCRTDATA extern const char _WCDATA _IsKTable[257];
:include cplusepi.sp

#if !defined(__FUNCTION_DATA_ACCESS)
#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

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?