/* [<][>][^][v][top][bottom][index][help] */
/*
* "streamable kanji code filter and converter"
* Copyright (c) 1998-2002 HappySize, Inc. All rights reserved.
*
* LICENSE NOTICES
*
* This file is part of "streamable kanji code filter and converter",
* which is distributed under the terms of GNU Lesser General Public
* License (version 2) as published by the Free Software Foundation.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with "streamable kanji code filter and converter";
* if not, write to the Free Software Foundation, Inc., 59 Temple Place,
* Suite 330, Boston, MA 02111-1307 USA
*
* The authors of this file: PHP3 Internationalization team
*
*/
/* charactor property table */
#define MBFL_CHP_CTL 0x01
#define MBFL_CHP_DIGIT 0x02
#define MBFL_CHP_UALPHA 0x04
#define MBFL_CHP_LALPHA 0x08
#define MBFL_CHP_MMHQENC 0x10 /* must Q-encoding in MIME Header encoded-word */
#define MBFL_CHP_MSPECIAL 0x20 /* RFC822 Special characters */
/*
* Unicode table
*/
static const unsigned char mbfl_charprop_table[] = {
/* NUL 0 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC,
/* SCH 1 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* SIX 2 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* EIX 3 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* EOT 4 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* ENQ 5 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* ACK 6 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* BEL 7 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* BS 8 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* HI 9 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* LF 10 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* VI 11 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* FF 12 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* CR 13 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* SO 14 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* SI 15 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* SLE 16 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* CSI 17 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* DC2 18 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* DC3 19 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* DC4 20 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* NAK 21 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* SYN 22 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* EIB 23 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* CAN 24 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* EM 25 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* SLB 26 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* ESC 27 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* FS 28 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* GS 29 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* RS 30 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* US 31 */ MBFL_CHP_CTL | MBFL_CHP_MMHQENC ,
/* SP 32 */ MBFL_CHP_MMHQENC ,
/* ! 33 */ 0 ,
/* " 34 */ MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
/* # 35 */ MBFL_CHP_MMHQENC ,
/* $ 36 */ MBFL_CHP_MMHQENC ,
/* % 37 */ MBFL_CHP_MMHQENC ,
/* & 38 */ MBFL_CHP_MMHQENC ,
/* ' 39 */ MBFL_CHP_MMHQENC ,
/* ( 40 */ MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
/* ) 41 */ MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
/* * 42 */ 0 ,
/* + 43 */ 0 ,
/* , 44 */ MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
/* - 45 */ 0 ,
/* . 46 */ MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
/* / 47 */ 0 ,
/* 0 48 */ MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
/* 1 49 */ MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
/* 2 50 */ MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
/* 3 51 */ MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
/* 4 52 */ MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
/* 5 53 */ MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
/* 6 54 */ MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
/* 7 55 */ MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
/* 8 56 */ MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
/* 9 57 */ MBFL_CHP_DIGIT | MBFL_CHP_MMHQENC ,
/* : 58 */ MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
/* ; 59 */ MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
/* < 60 */ MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
/* = 61 */ 0 ,
/* > 62 */ MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
/* ? 63 */ MBFL_CHP_MMHQENC ,
/* @ 64 */ MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
/* A 65 */ MBFL_CHP_UALPHA ,
/* B 66 */ MBFL_CHP_UALPHA ,
/* C 67 */ MBFL_CHP_UALPHA ,
/* D 68 */ MBFL_CHP_UALPHA ,
/* E 69 */ MBFL_CHP_UALPHA ,
/* F 70 */ MBFL_CHP_UALPHA ,
/* G 71 */ MBFL_CHP_UALPHA ,
/* H 72 */ MBFL_CHP_UALPHA ,
/* I 73 */ MBFL_CHP_UALPHA ,
/* J 74 */ MBFL_CHP_UALPHA ,
/* K 75 */ MBFL_CHP_UALPHA ,
/* L 76 */ MBFL_CHP_UALPHA ,
/* M 77 */ MBFL_CHP_UALPHA ,
/* N 78 */ MBFL_CHP_UALPHA ,
/* O 79 */ MBFL_CHP_UALPHA ,
/* P 80 */ MBFL_CHP_UALPHA ,
/* Q 81 */ MBFL_CHP_UALPHA ,
/* R 82 */ MBFL_CHP_UALPHA ,
/* S 83 */ MBFL_CHP_UALPHA ,
/* T 84 */ MBFL_CHP_UALPHA ,
/* U 85 */ MBFL_CHP_UALPHA ,
/* V 86 */ MBFL_CHP_UALPHA ,
/* W 87 */ MBFL_CHP_UALPHA ,
/* X 88 */ MBFL_CHP_UALPHA ,
/* Y 89 */ MBFL_CHP_UALPHA ,
/* Z 90 */ MBFL_CHP_UALPHA ,
/* [ 91 */ MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
/* \ 92 */ MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
/* ] 93 */ MBFL_CHP_MMHQENC | MBFL_CHP_MSPECIAL ,
/* ^ 94 */ MBFL_CHP_MMHQENC ,
/* _ 95 */ MBFL_CHP_MMHQENC ,
/* ` 96 */ MBFL_CHP_MMHQENC ,
/* a 97 */ MBFL_CHP_LALPHA ,
/* b 98 */ MBFL_CHP_LALPHA ,
/* c 99 */ MBFL_CHP_LALPHA ,
/* d 100 */ MBFL_CHP_LALPHA ,
/* e 101 */ MBFL_CHP_LALPHA ,
/* f 102 */ MBFL_CHP_LALPHA ,
/* g 103 */ MBFL_CHP_LALPHA ,
/* h 104 */ MBFL_CHP_LALPHA ,
/* i 105 */ MBFL_CHP_LALPHA ,
/* j 106 */ MBFL_CHP_LALPHA ,
/* k 107 */ MBFL_CHP_LALPHA ,
/* l 108 */ MBFL_CHP_LALPHA ,
/* m 109 */ MBFL_CHP_LALPHA ,
/* n 110 */ MBFL_CHP_LALPHA ,
/* o 111 */ MBFL_CHP_LALPHA ,
/* p 112 */ MBFL_CHP_LALPHA ,
/* q 113 */ MBFL_CHP_LALPHA ,
/* r 114 */ MBFL_CHP_LALPHA ,
/* s 115 */ MBFL_CHP_LALPHA ,
/* t 116 */ MBFL_CHP_LALPHA ,
/* u 117 */ MBFL_CHP_LALPHA ,
/* v 118 */ MBFL_CHP_LALPHA ,
/* w 119 */ MBFL_CHP_LALPHA ,
/* x 120 */ MBFL_CHP_LALPHA ,
/* y 121 */ MBFL_CHP_LALPHA ,
/* z 122 */ MBFL_CHP_LALPHA ,
/* { 123 */ MBFL_CHP_MMHQENC ,
/* | 124 */ MBFL_CHP_MMHQENC ,
/* } 125 */ MBFL_CHP_MMHQENC ,
/* ~ 126 */ MBFL_CHP_MMHQENC ,
/* DEL 127 */ MBFL_CHP_MMHQENC
};