Back to index

php5  5.3.10
unicode_prop.h
Go to the documentation of this file.
00001 /*
00002  * "streamable kanji code filter and converter"
00003  * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved.
00004  *
00005  * LICENSE NOTICES
00006  *
00007  * This file is part of "streamable kanji code filter and converter",
00008  * which is distributed under the terms of GNU Lesser General Public 
00009  * License (version 2) as published by the Free Software Foundation.
00010  *
00011  * This software is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with "streamable kanji code filter and converter";
00018  * if not, write to the Free Software Foundation, Inc., 59 Temple Place,
00019  * Suite 330, Boston, MA  02111-1307  USA
00020  *
00021  * The authors of this file: PHP3 Internationalization team
00022  *
00023  */
00024 
00025 /* charactor property table */
00026 #define MBFL_CHP_CTL        0x01
00027 #define MBFL_CHP_DIGIT             0x02
00028 #define MBFL_CHP_UALPHA            0x04
00029 #define MBFL_CHP_LALPHA            0x08
00030 #define MBFL_CHP_MMHQENC    0x10   /* must Q-encoding in MIME Header encoded-word */
00031 #define MBFL_CHP_MSPECIAL   0x20   /* RFC822 Special characters */
00032 
00033 /*
00034  * Unicode table
00035  */
00036 
00037 static const unsigned char mbfl_charprop_table[] = {
00038 /* NUL 0 */   MBFL_CHP_CTL | MBFL_CHP_MMHQENC,
00039 /* SCH 1 */   MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00040 /* SIX 2 */   MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00041 /* EIX 3 */   MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00042 /* EOT 4 */   MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00043 /* ENQ 5 */   MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00044 /* ACK 6 */   MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00045 /* BEL 7 */   MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00046 /* BS  8 */   MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00047 /* HI  9 */   MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00048 /* LF  10 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00049 /* VI  11 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00050 /* FF  12 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00051 /* CR  13 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00052 /* SO  14 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00053 /* SI  15 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00054 /* SLE 16 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00055 /* CSI 17 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00056 /* DC2 18 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00057 /* DC3 19 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00058 /* DC4 20 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00059 /* NAK 21 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00060 /* SYN 22 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00061 /* EIB 23 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00062 /* CAN 24 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00063 /* EM  25 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00064 /* SLB 26 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00065 /* ESC 27 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00066 /* FS  28 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00067 /* GS  29 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00068 /* RS  30 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00069 /* US  31 */  MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
00070 /* SP  32 */  MBFL_CHP_MMHQENC ,
00071 /* !   33 */  0 ,
00072 /* "   34 */  MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
00073 /* #   35 */  MBFL_CHP_MMHQENC ,
00074 /* $   36 */  MBFL_CHP_MMHQENC ,
00075 /* %   37 */  MBFL_CHP_MMHQENC ,
00076 /* &   38 */  MBFL_CHP_MMHQENC ,
00077 /* '   39 */  MBFL_CHP_MMHQENC ,
00078 /* (   40 */  MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
00079 /* )   41 */  MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
00080 /* *   42 */  0 ,
00081 /* +   43 */  0 ,
00082 /* ,   44 */  MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
00083 /* -   45 */  0 ,
00084 /* .   46 */  MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
00085 /* /   47 */  0 ,
00086 /* 0   48 */  MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
00087 /* 1   49 */  MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
00088 /* 2   50 */  MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
00089 /* 3   51 */  MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
00090 /* 4   52 */  MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
00091 /* 5   53 */  MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
00092 /* 6   54 */  MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
00093 /* 7   55 */  MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
00094 /* 8   56 */  MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
00095 /* 9   57 */  MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
00096 /* :   58 */  MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
00097 /* ;   59 */  MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
00098 /* <   60 */  MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
00099 /* =   61 */  0 ,
00100 /* >   62 */  MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
00101 /* ?   63 */  MBFL_CHP_MMHQENC ,
00102 /* @   64 */  MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
00103 /* A   65 */  MBFL_CHP_UALPHA ,
00104 /* B   66 */  MBFL_CHP_UALPHA ,
00105 /* C   67 */  MBFL_CHP_UALPHA ,
00106 /* D   68 */  MBFL_CHP_UALPHA ,
00107 /* E   69 */  MBFL_CHP_UALPHA ,
00108 /* F   70 */  MBFL_CHP_UALPHA ,
00109 /* G   71 */  MBFL_CHP_UALPHA ,
00110 /* H   72 */  MBFL_CHP_UALPHA ,
00111 /* I   73 */  MBFL_CHP_UALPHA ,
00112 /* J   74 */  MBFL_CHP_UALPHA ,
00113 /* K   75 */  MBFL_CHP_UALPHA ,
00114 /* L   76 */  MBFL_CHP_UALPHA ,
00115 /* M   77 */  MBFL_CHP_UALPHA ,
00116 /* N   78 */  MBFL_CHP_UALPHA ,
00117 /* O   79 */  MBFL_CHP_UALPHA ,
00118 /* P   80 */  MBFL_CHP_UALPHA ,
00119 /* Q   81 */  MBFL_CHP_UALPHA ,
00120 /* R   82 */  MBFL_CHP_UALPHA ,
00121 /* S   83 */  MBFL_CHP_UALPHA ,
00122 /* T   84 */  MBFL_CHP_UALPHA ,
00123 /* U   85 */  MBFL_CHP_UALPHA ,
00124 /* V   86 */  MBFL_CHP_UALPHA ,
00125 /* W   87 */  MBFL_CHP_UALPHA ,
00126 /* X   88 */  MBFL_CHP_UALPHA ,
00127 /* Y   89 */  MBFL_CHP_UALPHA ,
00128 /* Z   90 */  MBFL_CHP_UALPHA ,
00129 /* [   91 */  MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
00130 /* \   92 */  MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
00131 /* ]   93 */  MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
00132 /* ^   94 */  MBFL_CHP_MMHQENC ,
00133 /* _   95 */  MBFL_CHP_MMHQENC ,
00134 /* `   96 */  MBFL_CHP_MMHQENC ,
00135 /* a   97 */  MBFL_CHP_LALPHA ,
00136 /* b   98 */  MBFL_CHP_LALPHA ,
00137 /* c   99 */  MBFL_CHP_LALPHA ,
00138 /* d   100 */ MBFL_CHP_LALPHA ,
00139 /* e   101 */ MBFL_CHP_LALPHA ,
00140 /* f   102 */ MBFL_CHP_LALPHA ,
00141 /* g   103 */ MBFL_CHP_LALPHA ,
00142 /* h   104 */ MBFL_CHP_LALPHA ,
00143 /* i   105 */ MBFL_CHP_LALPHA ,
00144 /* j   106 */ MBFL_CHP_LALPHA ,
00145 /* k   107 */ MBFL_CHP_LALPHA ,
00146 /* l   108 */ MBFL_CHP_LALPHA ,
00147 /* m   109 */ MBFL_CHP_LALPHA ,
00148 /* n   110 */ MBFL_CHP_LALPHA ,
00149 /* o   111 */ MBFL_CHP_LALPHA ,
00150 /* p   112 */ MBFL_CHP_LALPHA ,
00151 /* q   113 */ MBFL_CHP_LALPHA ,
00152 /* r   114 */ MBFL_CHP_LALPHA ,
00153 /* s   115 */ MBFL_CHP_LALPHA ,
00154 /* t   116 */ MBFL_CHP_LALPHA ,
00155 /* u   117 */ MBFL_CHP_LALPHA ,
00156 /* v   118 */ MBFL_CHP_LALPHA ,
00157 /* w   119 */ MBFL_CHP_LALPHA ,
00158 /* x   120 */ MBFL_CHP_LALPHA ,
00159 /* y   121 */ MBFL_CHP_LALPHA ,
00160 /* z   122 */ MBFL_CHP_LALPHA ,
00161 /* {   123 */ MBFL_CHP_MMHQENC ,
00162 /* |   124 */ MBFL_CHP_MMHQENC ,
00163 /* }   125 */ MBFL_CHP_MMHQENC ,
00164 /* ~   126 */ MBFL_CHP_MMHQENC ,
00165 /* DEL 127 */ MBFL_CHP_MMHQENC
00166 };
00167