/* @(#)33 1.3 src/bos/kernel/sys/jctype1.h, libcnls, bos720 6/16/90 00:30:12 */ /* * COMPONENT_NAME: (INCSYS) definition of _jctype1_ Kanji table * * FUNCTIONS: _jctype1_ * * ORIGINS: 10 * * (C) COPYRIGHT International Business Machines Corp. 1986, 1989 * All Rights Reserved * Licensed Materials - Property of IBM * * US Government Users Restricted Rights - Use, duplication or * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. * */ #ifndef _H_JCTYPE1 #define _H_JCTYPE1 /* Second-level tables: First index is from _jctype0_, second * from second byte of character. */ /* Shortened definitions (since we're not worried about ident clashes), * to make the tables easier to read. */ #define k _Jk /* katakana */ #define H _JH /* hiragana */ #define K _JK /* kanji */ #define D _JD /* digit */ #define A _JA /* upper alpha (non-hex) */ #define a _Ja /* lower alpha (non-hex) */ #define X _JB /* upper hex alpha */ #define x _Jb /* lower hex alpha */ #define P _JP /* punctuation */ #define G _JG /* any other graphic character */ #define r _JR /* any valid unused position */ unsigned char _jctype1_[13][256] = { /* Table 0: invalid upper byte */ { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 1x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 2x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 3x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 4x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 5x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 6x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 7x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 8x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 9x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* ax */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* bx */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* cx */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* dx */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* ex */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0 }, /* fx */ /* Table 1: single bytes (upper byte == 0) */ { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 1x */ G,P,P,P, P,P,P,P, P,P,P,P, P,P,P,P, /* 2x */ D,D,D,D, D,D,D,D, D,D,P,P, P,P,P,P, /* 3x */ P,X,X,X, X,X,X,A, A,A,A,A, A,A,A,A, /* 4x */ A,A,A,A, A,A,A,A, A,A,A,P, P,P,P,P, /* 5x */ P,x,x,x, x,x,x,a, a,a,a,a, a,a,a,a, /* 6x */ a,a,a,a, a,a,a,a, a,a,a,P, P,P,P,0, /* 7x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 8x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 9x */ k,k,k,k, k,k,k,k, k,k,k,k, k,k,k,k, /* ax */ k,k,k,k, k,k,k,k, k,k,k,k, k,k,k,k, /* bx */ k,k,k,k, k,k,k,k, k,k,k,k, k,k,k,k, /* cx */ k,k,k,k, k,k,k,k, k,k,k,k, k,k,k,k, /* dx */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* ex */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0 }, /* fx */ /* Table 2: 0x81 upper byte */ { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 1x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 2x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 3x */ G,P,P,P, P,P,P,P, P,P,P,P, P,P,P,P, /* 4x */ P,P,G,G, G,G,G,G, G,G,P,P, P,P,P,P, /* 5x */ P,P,P,P, P,P,P,P, P,P,P,P, P,P,P,P, /* 6x */ P,P,P,P, P,P,P,P, P,P,P,P, P,P,P,0, /* 7x */ P,P,P,P, P,P,P,P, P,P,P,P, P,P,P,P, /* 8x */ P,P,P,P, P,P,P,P, P,G,G,G, G,G,G,G, /* 9x */ G,G,G,G, G,G,G,G, G,G,G,G, G,0,0,0, /* ax */ r,r,r,r, r,r,r,r, G,G,G,G, G,G,G,G, /* bx */ r,r,r,r, r,r,r,r, G,G,r,G, G,G,G,r, /* cx */ r,r,r,r, r,r,r,r, r,r,G,G, G,G,G,G, /* dx */ G,G,G,G, G,G,r,G, G,r,r,r, r,r,r,r, /* ex */ G,G,G,G, G,P,P,P, r,r,r,r, G,0,0,0 }, /* fx */ /* Table 3: 0x82 upper byte */ { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 1x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 2x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 3x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,D, /* 4x */ D,D,D,D, D,D,D,D, D,r,r,r, r,r,r,r, /* 5x */ X,X,X,X, X,X,A,A, A,A,A,A, A,A,A,A, /* 6x */ A,A,A,A, A,A,A,A, A,A,0,r, r,r,r,0, /* 7x */ r,x,x,x, x,x,x,a, a,a,a,a, a,a,a,a, /* 8x */ a,a,a,a, a,a,a,a, a,a,a,r, r,r,r,H, /* 9x */ H,H,H,H, H,H,H,H, H,H,H,H, H,H,H,H, /* ax */ H,H,H,H, H,H,H,H, H,H,H,H, H,H,H,H, /* bx */ H,H,H,H, H,H,H,H, H,H,H,H, H,H,H,H, /* cx */ H,H,H,H, H,H,H,H, H,H,H,H, H,H,H,H, /* dx */ H,H,H,H, H,H,H,H, H,H,H,H, H,H,H,H, /* ex */ H,H,r,r, r,r,r,r, r,r,r,r, r,0,0,0 }, /* fx */ /* Table 4: 0x83 upper byte */ { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 1x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 2x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 3x */ k,k,k,k, k,k,k,k, k,k,k,k, k,k,k,k, /* 4x */ k,k,k,k, k,k,k,k, k,k,k,k, k,k,k,k, /* 5x */ k,k,k,k, k,k,k,k, k,k,k,k, k,k,k,k, /* 6x */ k,k,k,k, k,k,k,k, k,k,k,k, k,k,k,0, /* 7x */ k,k,k,k, k,k,k,k, k,k,k,k, k,k,k,k, /* 8x */ k,k,k,k, k,k,k,r, r,r,r,r, r,r,r,G, /* 9x */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* ax */ G,G,G,G, G,G,G,r, r,r,r,r, r,r,r,G, /* bx */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* cx */ G,G,G,G, G,G,G,r, r,r,r,r, r,r,r,r, /* dx */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* ex */ r,r,r,r, r,r,r,r, r,r,r,r, r,0,0,0 }, /* fx */ /* Table 5: 0x84 upper byte */ { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 1x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 2x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 3x */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* 4x */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* 5x */ G,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* 6x */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,0, /* 7x */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* 8x */ G,G,r,r, r,r,r,r, r,r,r,r, r,r,r,G, /* 9x */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* ax */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,0, /* bx */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* cx */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* dx */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* ex */ r,r,r,r, r,r,r,r, r,r,r,r, r,0,0,0 }, /* fx */ /* Table 6: 0x88 upper byte - start kanji level 1 */ { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 1x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 2x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 3x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* 4x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* 5x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* 6x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,0, /* 7x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* 8x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,K, /* 9x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* ax */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* bx */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* cx */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* dx */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* ex */ K,K,K,K, K,K,K,K, K,K,K,K, K,0,0,0 }, /* fx */ /* Table 7: kanji ward, no end conditions */ { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 1x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 2x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 3x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 4x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 5x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 6x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,0, /* 7x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 8x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 9x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* ax */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* bx */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* cx */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* dx */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* ex */ K,K,K,K, K,K,K,K, K,K,K,K, K,0,0,0 }, /* fx */ /* Table 8: 0x98 upper byte - kanji level 1 / 2 interstice */ { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 1x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 2x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 3x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 4x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 5x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 6x */ K,K,K,r, r,r,r,r, r,r,r,r, r,r,r,0, /* 7x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* 8x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,K, /* 9x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* ax */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* bx */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* cx */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* dx */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* ex */ K,K,K,K, K,K,K,K, K,K,K,K, K,0,0,0 }, /* fx */ /* Table 9: 0xea upper byte - end kanji level 2 */ { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 1x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 2x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 3x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 4x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 5x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 6x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,0, /* 7x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 8x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 9x */ K,K,K,r, r,r,r,r, r,r,r,r, r,r,r,r, /* ax */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* bx */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* cx */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* dx */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* ex */ r,r,r,r, r,r,r,r, r,r,r,r, r,0,0,0 }, /* fx */ /* Table 10: 0xfa upper byte - IBM non-kanji, start kanji */ { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 1x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 2x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 3x */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* 4x */ G,G,G,G, G,G,G,G, G,G,G,G, K,K,K,K, /* 5x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 6x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,0, /* 7x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 8x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* 9x */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* ax */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* bx */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* cx */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* dx */ K,K,K,K, K,K,K,K, K,K,K,K, K,K,K,K, /* ex */ K,K,K,K, K,K,K,K, K,K,K,K, K,0,0,0 }, /* fx */ /* Table 11: 0xfc upper byte - end IBM-defined kanji */ { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 1x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 2x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 3x */ K,K,K,K, K,K,K,K, K,K,K,K, r,r,r,r, /* 4x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* 5x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* 6x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,0, /* 7x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* 8x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* 9x */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* ax */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* bx */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* cx */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* dx */ r,r,r,r, r,r,r,r, r,r,r,r, r,r,r,r, /* ex */ r,r,r,r, r,r,r,r, r,r,r,r, r,0,0,0 }, /* fx */ /* Table 12: various upper bytes - unused but valid ward */ { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 1x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 2x */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 3x */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* 4x */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* 5x */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* 6x */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,0, /* 7x */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* 8x */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* 9x */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* ax */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* bx */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* cx */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* dx */ G,G,G,G, G,G,G,G, G,G,G,G, G,G,G,G, /* ex */ G,G,G,G, G,G,G,G, G,G,G,G, G,0,0,0 }, /* fx */ }; /* undefine all shortened definitions */ #undef k #undef H #undef K #undef D #undef A #undef a #undef X #undef x #undef P #undef G #undef r #endif