summaryrefslogtreecommitdiffstats
path: root/private/crt32/h/jctype.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--private/crt32/h/jctype.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/private/crt32/h/jctype.h b/private/crt32/h/jctype.h
new file mode 100644
index 000000000..74ed8cf0f
--- /dev/null
+++ b/private/crt32/h/jctype.h
@@ -0,0 +1,111 @@
+/***
+*jctype.h - kanji character conversion macros and jctype macros
+*
+* Copyright (c) 1985-1993, Microsoft Corporation. All rights reserved.
+*
+*Purpose:
+* Defines macros for kanji character classification/conversion.
+*
+*Revision History:
+* 05-10-89 MT Got rid of conditional use of extended keywords
+* based on NO_EXT_KEYS.
+* 05-19-89 MT Added _FAR_ , MTHREAD , and DLL.
+* 05-23-89 MT Got rid of including ctype.h and defined each macro
+* directly without using macros in ctype.h.
+* Prefixed '_' onto dummy parameter names.
+* 08-11-89 GJF Changed DLL to _DLL
+* 08-22-89 GJF Fixed copyright (again)
+* 09-06-89 GJF Removed dummy parameters from prototypes
+* 03-06-90 WAJ Added extern "C".
+* 07-23-90 SBM First version for 32-bit OS/2
+* 08-20-91 JCR C++ naming
+* 08-05-92 GJF Function calling type and variable type macros.
+* 11-30-92 KRS Generalized from 16-bit version to use mbctype.h.
+* 01-21-93 GJF Removed support for C6-386's _cdecl.
+*
+*******************************************************************************/
+
+#ifndef _INC_JCTYPE
+
+#define _MBCS 1
+#define _KANJI 1
+
+#include <mbctype.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _INTERNAL_IFSTRIP_
+#include <cruntime.h>
+#endif /* _INTERNAL_IFSTRIP_ */
+
+/*
+ * Conditional macro definition for function calling type and variable type
+ * qualifiers.
+ */
+#if ( (_MSC_VER >= 800) && (_M_IX86 >= 300) )
+
+/*
+ * Definitions for MS C8-32 (386/486) compiler
+ */
+#define _CRTAPI1 __cdecl
+#define _CRTAPI2 __cdecl
+
+#else
+
+/*
+ * Other compilers (e.g., MIPS)
+ */
+#define _CRTAPI1
+#define _CRTAPI2
+
+#endif
+
+
+/*
+ * This declaration allows the user access to the mbctype look-up
+ * array _mbctype defined in mbctype.obj by simply including jctype.h
+ */
+
+extern unsigned char _CRTVAR1 _mbctype[];
+extern unsigned char _CRTVAR1 _ctype[];
+
+/* Kanji character classification function prototypes */
+#ifndef _JCTYPE_DEFINED
+#define iskana _ismbbkana
+#define iskpun _ismbbkpunct
+#define iskmoji _ismbbkalnum
+#define isalkana _ismbbalpha
+#define ispnkana _ismbbpunct
+#define isalnmkana _ismbbalnum
+#define isprkana _ismbbprint
+#define isgrkana _ismbbgraph
+#define iskanji _ismbblead
+#define iskanji2 _ismbbtrail
+#define _JCTYPE_DEFINED
+
+#else
+
+/* the kanji character classification macro definitions */
+
+#define iskana(_c) ((_mbctype+1)[(unsigned char)(_c)] & (_MS|_MP))
+#define iskpun(_c) ((_mbctype+1)[(unsigned char)(_c)] & _MP)
+#define iskmoji(_c) ((_mbctype+1)[(unsigned char)(_c)] & _MS)
+#define isalkana(_c) (((_ctype+1)[(unsigned char)(_c)] & (_UPPER|_LOWER))||iskmoji(_c))
+#define ispnkana(_c) (((_ctype+1)[(unsigned char)(_c)] & _PUNCT)||iskpun(_c))
+#define isalnmkana(_c) (((_ctype+1)[(unsigned char)(_c)] & (_UPPER|_LOWER|_DIGIT))||iskmoji(_c))
+#define isprkana(_c) (((_ctype+1)[(unsigned char)(_c)] & (_BLANK|_PUNCT|_UPPER|_LOWER|_DIGIT))||iskana(_c))
+#define isgrkana(_c) (((_ctype+1)[(unsigned char)(_c)] & (_PUNCT|_UPPER|_LOWER|_DIGIT))||iskana(_c))
+
+#define iskanji(_c) ((_mbctype+1)[(unsigned char)(_c)] & _M1)
+#define iskanji2(_c) ((_mbctype+1)[(unsigned char)(_c)] & _M2)
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#define _INC_JCTYPE
+#endif /* _INC_JCTYPE */