summaryrefslogtreecommitdiff
path: root/ext/mbstring/libmbfl/filters/unicode_prop.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mbstring/libmbfl/filters/unicode_prop.h')
-rw-r--r--ext/mbstring/libmbfl/filters/unicode_prop.h272
1 files changed, 130 insertions, 142 deletions
diff --git a/ext/mbstring/libmbfl/filters/unicode_prop.h b/ext/mbstring/libmbfl/filters/unicode_prop.h
index 6eaefbc2e3..1ecf42c556 100644
--- a/ext/mbstring/libmbfl/filters/unicode_prop.h
+++ b/ext/mbstring/libmbfl/filters/unicode_prop.h
@@ -19,148 +19,136 @@
* Suite 330, Boston, MA 02111-1307 USA
*
* The authors of this file: PHP3 Internationalization team
- *
- */
-
-/* character 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
+/* Should we use QPrint-encoding in MIME Header encoded-word? */
+static const unsigned char mime_char_needs_qencode[] = {
+/* NUL 0 */ 1,
+/* SCH 1 */ 1,
+/* SIX 2 */ 1,
+/* EIX 3 */ 1,
+/* EOT 4 */ 1,
+/* ENQ 5 */ 1,
+/* ACK 6 */ 1,
+/* BEL 7 */ 1,
+/* BS 8 */ 1,
+/* HI 9 */ 1,
+/* LF 10 */ 1,
+/* VI 11 */ 1,
+/* FF 12 */ 1,
+/* CR 13 */ 1,
+/* SO 14 */ 1,
+/* SI 15 */ 1,
+/* SLE 16 */ 1,
+/* CSI 17 */ 1,
+/* DC2 18 */ 1,
+/* DC3 19 */ 1,
+/* DC4 20 */ 1,
+/* NAK 21 */ 1,
+/* SYN 22 */ 1,
+/* EIB 23 */ 1,
+/* CAN 24 */ 1,
+/* EM 25 */ 1,
+/* SLB 26 */ 1,
+/* ESC 27 */ 1,
+/* FS 28 */ 1,
+/* GS 29 */ 1,
+/* RS 30 */ 1,
+/* US 31 */ 1,
+/* SP 32 */ 1,
+/* ! 33 */ 0,
+/* " 34 */ 1,
+/* # 35 */ 1,
+/* $ 36 */ 1,
+/* % 37 */ 1,
+/* & 38 */ 1,
+/* ' 39 */ 1,
+/* ( 40 */ 1,
+/* ) 41 */ 1,
+/* * 42 */ 0,
+/* + 43 */ 0,
+/* , 44 */ 1,
+/* - 45 */ 0,
+/* . 46 */ 1,
+/* / 47 */ 0,
+/* 0 48 */ 1,
+/* 1 49 */ 1,
+/* 2 50 */ 1,
+/* 3 51 */ 1,
+/* 4 52 */ 1,
+/* 5 53 */ 1,
+/* 6 54 */ 1,
+/* 7 55 */ 1,
+/* 8 56 */ 1,
+/* 9 57 */ 1,
+/* : 58 */ 1,
+/* ; 59 */ 1,
+/* < 60 */ 1,
+/* = 61 */ 0,
+/* > 62 */ 1,
+/* ? 63 */ 1,
+/* @ 64 */ 1,
+/* A 65 */ 0,
+/* B 66 */ 0,
+/* C 67 */ 0,
+/* D 68 */ 0,
+/* E 69 */ 0,
+/* F 70 */ 0,
+/* G 71 */ 0,
+/* H 72 */ 0,
+/* I 73 */ 0,
+/* J 74 */ 0,
+/* K 75 */ 0,
+/* L 76 */ 0,
+/* M 77 */ 0,
+/* N 78 */ 0,
+/* O 79 */ 0,
+/* P 80 */ 0,
+/* Q 81 */ 0,
+/* R 82 */ 0,
+/* S 83 */ 0,
+/* T 84 */ 0,
+/* U 85 */ 0,
+/* V 86 */ 0,
+/* W 87 */ 0,
+/* X 88 */ 0,
+/* Y 89 */ 0,
+/* Z 90 */ 0,
+/* [ 91 */ 1,
+/* \ 92 */ 1,
+/* ] 93 */ 1,
+/* ^ 94 */ 1,
+/* _ 95 */ 1,
+/* ` 96 */ 1,
+/* a 97 */ 0,
+/* b 98 */ 0,
+/* c 99 */ 0,
+/* d 100 */ 0,
+/* e 101 */ 0,
+/* f 102 */ 0,
+/* g 103 */ 0,
+/* h 104 */ 0,
+/* i 105 */ 0,
+/* j 106 */ 0,
+/* k 107 */ 0,
+/* l 108 */ 0,
+/* m 109 */ 0,
+/* n 110 */ 0,
+/* o 111 */ 0,
+/* p 112 */ 0,
+/* q 113 */ 0,
+/* r 114 */ 0,
+/* s 115 */ 0,
+/* t 116 */ 0,
+/* u 117 */ 0,
+/* v 118 */ 0,
+/* w 119 */ 0,
+/* x 120 */ 0,
+/* y 121 */ 0,
+/* z 122 */ 0,
+/* { 123 */ 1,
+/* | 124 */ 1,
+/* } 125 */ 1,
+/* ~ 126 */ 1,
+/* DEL 127 */ 1
};