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