hirokawa Fri Nov 22 18:34:56 2002 EDT
Modified files:
/php4/ext/mbstring mbfilter_kr.c
Log:
fixed some bugs in korean encoding conversion.
Index: php4/ext/mbstring/mbfilter_kr.c
diff -u php4/ext/mbstring/mbfilter_kr.c:1.5 php4/ext/mbstring/mbfilter_kr.c:1.6
--- php4/ext/mbstring/mbfilter_kr.c:1.5 Thu Nov 21 11:05:38 2002
+++ php4/ext/mbstring/mbfilter_kr.c Fri Nov 22 18:34:55 2002
@@ -20,7 +20,7 @@
* "streamable korean code filter and converter"
*/
-/* $Id: mbfilter_kr.c,v 1.5 2002/11/21 16:05:38 hirokawa Exp $ */
+/* $Id: mbfilter_kr.c,v 1.6 2002/11/22 23:34:55 hirokawa Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -132,6 +132,8 @@
s = ucs_a3_uhc_table[c - ucs_a3_uhc_table_min];
} else if (c >= ucs_i_uhc_table_min && c < ucs_i_uhc_table_max) {
s = ucs_i_uhc_table[c - ucs_i_uhc_table_min];
+ } else if (c >= ucs_s_uhc_table_min && c < ucs_s_uhc_table_max) {
+ s = ucs_s_uhc_table[c - ucs_s_uhc_table_min];
} else if (c >= ucs_r1_uhc_table_min && c < ucs_r1_uhc_table_max) {
s = ucs_r1_uhc_table[c - ucs_r1_uhc_table_min];
} else if (c >= ucs_r2_uhc_table_min && c < ucs_r2_uhc_table_max) {
@@ -217,7 +219,7 @@
}
if (flag > 0 && c > 0x20 && c < 0x7f) {
if (flag == 1){
- w = (c1 - 0x21)*178 + (c - 0x21) + 0x54;
+ w = (c1 - 0x21)*190 + (c - 0x41) + 0x80;
if (w >= 0 && w < uhc2_ucs_table_size) {
w = uhc2_ucs_table[w];
} else {
@@ -419,7 +421,7 @@
w = 0;
}
} else if ( c1 >= 0xa1 && c1 <= 0xc6 && flag > 0){
- w = (c1 - 0xa1)*178 + (c - ofst1[flag-1] + ofst2[flag-1]);
+ w = (c1 - 0xa1)*190 + (c - ofst1[flag-1] + ofst2[flag-1]);
+
if (w >= 0 && w < uhc2_ucs_table_size) {
w = uhc2_ucs_table[w];
} else {
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php