diff options
Diffstat (limited to 'ext/mbstring')
269 files changed, 5733 insertions, 5928 deletions
diff --git a/ext/mbstring/config.m4 b/ext/mbstring/config.m4 index 25bf238761..bd88ee4b63 100644 --- a/ext/mbstring/config.m4 +++ b/ext/mbstring/config.m4 @@ -31,7 +31,7 @@ AC_DEFUN([PHP_MBSTRING_ADD_INSTALL_HEADERS], [ ]) AC_DEFUN([PHP_MBSTRING_EXTENSION], [ - PHP_NEW_EXTENSION(mbstring, $PHP_MBSTRING_SOURCES, $ext_shared,, $PHP_MBSTRING_CFLAGS) + PHP_NEW_EXTENSION(mbstring, $PHP_MBSTRING_SOURCES, $ext_shared,, $PHP_MBSTRING_CFLAGS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) PHP_SUBST(MBSTRING_SHARED_LIBADD) for dir in $PHP_MBSTRING_EXTRA_BUILD_DIRS; do diff --git a/ext/mbstring/config.w32 b/ext/mbstring/config.w32 index cf6143699b..ca1fbcdf28 100644 --- a/ext/mbstring/config.w32 +++ b/ext/mbstring/config.w32 @@ -19,7 +19,7 @@ if (PHP_MBSTRING != "no") { ADD_FLAG("CFLAGS_MBSTRING", get_define("CFLAGS_LIBMBFL") + " /I ext/mbstring/oniguruma /D NOT_RUBY=1 \ /D HAVE_STDARG_PROTOTYPES=1 /D HAVE_STDLIB_H \ - /D HAVE_STRICMP /D EXPORT"); + /D HAVE_STRICMP /D EXPORT /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"); PHP_INSTALL_HEADERS("ext/mbstring", "mbstring.h oniguruma/oniguruma.h php_mbregex.h php_onig_compat.h"); } else { @@ -28,7 +28,7 @@ if (PHP_MBSTRING != "no") { ADD_FLAG("CFLAGS_MBSTRING", "-Iext/mbstring/libmbfl -Iext/mbstring/libmbfl/mbfl \ -Iext/mbstring/oniguruma /D NOT_RUBY=1 /D LIBMBFL_EXPORTS=1 \ /D HAVE_STDARG_PROTOTYPES=1 /D HAVE_CONFIG_H /D HAVE_STDLIB_H \ - /D HAVE_STRICMP /D MBFL_DLL_EXPORT=1 /D EXPORT") + /D HAVE_STRICMP /D MBFL_DLL_EXPORT=1 /D EXPORT /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1") FSO.CopyFile("ext\\mbstring\\libmbfl\\config.h.w32", "ext\\mbstring\\libmbfl\\config.h", true); diff --git a/ext/mbstring/libmbfl/NEWS b/ext/mbstring/libmbfl/NEWS index fc16367ed1..8217e4158f 100644 --- a/ext/mbstring/libmbfl/NEWS +++ b/ext/mbstring/libmbfl/NEWS @@ -27,4 +27,3 @@ version 1.1.0 March 02, 2010 - added cp5022x encoding (moriyoshi) - added ISO-2022-JP-MS (moriyoshi) - moved to github.com from sourceforge.jp (moriyoshi) - diff --git a/ext/mbstring/libmbfl/filters/cp932_table.h b/ext/mbstring/libmbfl/filters/cp932_table.h index d8cbb7f0a8..90ea068624 100644 --- a/ext/mbstring/libmbfl/filters/cp932_table.h +++ b/ext/mbstring/libmbfl/filters/cp932_table.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/emoji2uni.h b/ext/mbstring/libmbfl/filters/emoji2uni.h index 37f44c5964..adce0b75d4 100644 --- a/ext/mbstring/libmbfl/filters/emoji2uni.h +++ b/ext/mbstring/libmbfl/filters/emoji2uni.h @@ -2,296 +2,296 @@ static const int mb_tbl_code2uni_docomo1_min = 0x28c2; static const int mb_tbl_code2uni_docomo1_max = 0x29db; static const unsigned short mb_tbl_code2uni_docomo1[] = { // 0x28c2 - 0x29db - 0x2600, 0x2601, 0x2614, 0x26c4, - 0x26a1, 0xf300, 0xf301, 0xf302, - 0x2648, 0x2649, 0x264a, 0x264b, - 0x264c, 0x264d, 0x264e, 0x264f, - 0x2650, 0x2651, 0x2652, 0x2653, - 0xf3bd, 0x26be, 0x26f3, 0xf3be, - 0x26bd, 0xf3bf, 0xf3c0, 0xf3c1, - 0xf4df, 0xf683, 0x24c2, 0xf684, - 0xf697, 0xf699, 0xf68c, 0xf6a2, - 0x2708, 0xf3e0, 0xf3e2, 0xf3e3, - 0xf3e5, 0xf3e6, 0xf3e7, 0xf3e8, - 0xf3ea, 0x26fd, 0xf17f, 0xf6a5, - 0xf6bb, 0xf374, 0x2615, 0xf378, - 0xf37a, 0xf354, 0xf460, 0x2702, - 0xf3a4, 0xf3a5, 0x2197, 0xf3a0, - 0xf3a7, 0xf3a8, 0xf3a9, 0xf3aa, - 0xf3ab, 0xf6ac, 0xf6ad, 0xf4f7, - 0xf45c, 0xf4d6, 0xf380, 0xf381, - 0xf382, 0x260e, 0xf4f1, 0xf4dd, - 0xf4fa, 0xf3ae, 0xf4bf, 0x2665, - 0x2660, 0x2666, 0x2663, 0xf440, - 0xf442, 0x270a, 0x270c, 0x270b, - 0x2198, 0x2196, 0xf463, 0xf45f, - 0xf453, 0x267f, 0xf311, 0xf314, - 0xf313, 0xf319, 0xf315, 0xf436, - 0xf431, 0x26f5, 0xf384, 0x2199, - 0xEE16, 0xEE17, 0xEE18, 0xEE19, - 0xEE1A, 0xEE1B, 0xf3ac, 0xf45d, - 0x2712, 0xEE1C, 0xEE1D, 0xf464, - 0xf4ba, 0xf303, 0xEE1E, 0xEE1F, - 0xEE20, 0xf51c, 0xf51b, 0xf51a, - 0x23f0, 0xEE21, 0xEE22, 0xEE23, - 0xEE24, 0xEE25, 0xEE26, 0xEE27, - 0xEE28, 0xEE29, 0xEE2A, 0xEE2B, - 0xEE2C, 0xEE2D, 0xEE2E, 0xEE2F, - 0xEE30, 0xEE31, 0xEE32, 0xEE33, - 0xf4f2, 0xf4e9, 0xf4e0, 0xEE10, - 0xEE11, 0x2709, 0xEE12, 0xEE13, - 0xf4b4, 0xf193, 0xf194, 0xf511, - 0x21a9, 0xf191, 0xf50d, 0xf195, - 0xf6a9, 0x27bf, 0x0023, 0xE82D, - 0x0031, 0x0032, 0x0033, 0x0034, - 0x0035, 0x0036, 0x0037, 0x0038, - 0x0039, 0x0030, 0x2764, 0xf493, - 0xf494, 0xf495, 0xf603, 0xf620, - 0xf61e, 0xf616, 0xf635, 0x2934, - 0xf3b5, 0x2668, 0xf4a0, 0xf48b, - 0x2728, 0xf4a1, 0xf4a2, 0xf44a, - 0xf4a3, 0xf3b6, 0x2935, 0xf4a4, - 0x2757, 0x2049, 0x203c, 0xf4a5, - 0xf4a6, 0xf4a7, 0xf4a8, 0x3030, - 0x27b0, 0xf197, 0xEE14, 0xEE15, - 0xf455, 0xf45b, 0xf484, 0xf456, - 0xf3c2, 0xf514, 0xf6aa, 0xf4b0, - 0xf4bb, 0xf48c, 0xf527, 0x270f, - 0xf451, 0xf48d, 0x23f3, 0xf6b2, - 0xf375, 0x231a, 0xf614, 0xf60c, - 0xf605, 0xf613, 0xf621, 0xf612, - 0xf60d, 0xf44d, 0xf61c, 0xf609, - 0xf606, 0xf623, 0xf60f, 0xf62d, - 0xf622, 0xf196, 0xf4ce, 0x00a9, - 0x2122, 0xf3c3, 0x3299, 0x267b, - 0x00ae, 0x26a0, 0xf232, 0xf233, - 0xf234, 0xf235, 0x2194, 0x2195, - 0xf3eb, 0xf30a, 0xf5fb, 0xf340, - 0xf352, 0xf337, 0xf34c, 0xf34e, - 0xf331, 0xf341, 0xf338, 0xf359, - 0xf370, 0xf376, 0xf35c, 0xf35e, - 0xf40c, 0xf424, 0xf427, 0xf41f, - 0xf60b, 0xf601, 0xf434, 0xf437, + 0x2600, 0x2601, 0x2614, 0x26c4, + 0x26a1, 0xf300, 0xf301, 0xf302, + 0x2648, 0x2649, 0x264a, 0x264b, + 0x264c, 0x264d, 0x264e, 0x264f, + 0x2650, 0x2651, 0x2652, 0x2653, + 0xf3bd, 0x26be, 0x26f3, 0xf3be, + 0x26bd, 0xf3bf, 0xf3c0, 0xf3c1, + 0xf4df, 0xf683, 0x24c2, 0xf684, + 0xf697, 0xf699, 0xf68c, 0xf6a2, + 0x2708, 0xf3e0, 0xf3e2, 0xf3e3, + 0xf3e5, 0xf3e6, 0xf3e7, 0xf3e8, + 0xf3ea, 0x26fd, 0xf17f, 0xf6a5, + 0xf6bb, 0xf374, 0x2615, 0xf378, + 0xf37a, 0xf354, 0xf460, 0x2702, + 0xf3a4, 0xf3a5, 0x2197, 0xf3a0, + 0xf3a7, 0xf3a8, 0xf3a9, 0xf3aa, + 0xf3ab, 0xf6ac, 0xf6ad, 0xf4f7, + 0xf45c, 0xf4d6, 0xf380, 0xf381, + 0xf382, 0x260e, 0xf4f1, 0xf4dd, + 0xf4fa, 0xf3ae, 0xf4bf, 0x2665, + 0x2660, 0x2666, 0x2663, 0xf440, + 0xf442, 0x270a, 0x270c, 0x270b, + 0x2198, 0x2196, 0xf463, 0xf45f, + 0xf453, 0x267f, 0xf311, 0xf314, + 0xf313, 0xf319, 0xf315, 0xf436, + 0xf431, 0x26f5, 0xf384, 0x2199, + 0xEE16, 0xEE17, 0xEE18, 0xEE19, + 0xEE1A, 0xEE1B, 0xf3ac, 0xf45d, + 0x2712, 0xEE1C, 0xEE1D, 0xf464, + 0xf4ba, 0xf303, 0xEE1E, 0xEE1F, + 0xEE20, 0xf51c, 0xf51b, 0xf51a, + 0x23f0, 0xEE21, 0xEE22, 0xEE23, + 0xEE24, 0xEE25, 0xEE26, 0xEE27, + 0xEE28, 0xEE29, 0xEE2A, 0xEE2B, + 0xEE2C, 0xEE2D, 0xEE2E, 0xEE2F, + 0xEE30, 0xEE31, 0xEE32, 0xEE33, + 0xf4f2, 0xf4e9, 0xf4e0, 0xEE10, + 0xEE11, 0x2709, 0xEE12, 0xEE13, + 0xf4b4, 0xf193, 0xf194, 0xf511, + 0x21a9, 0xf191, 0xf50d, 0xf195, + 0xf6a9, 0x27bf, 0x0023, 0xE82D, + 0x0031, 0x0032, 0x0033, 0x0034, + 0x0035, 0x0036, 0x0037, 0x0038, + 0x0039, 0x0030, 0x2764, 0xf493, + 0xf494, 0xf495, 0xf603, 0xf620, + 0xf61e, 0xf616, 0xf635, 0x2934, + 0xf3b5, 0x2668, 0xf4a0, 0xf48b, + 0x2728, 0xf4a1, 0xf4a2, 0xf44a, + 0xf4a3, 0xf3b6, 0x2935, 0xf4a4, + 0x2757, 0x2049, 0x203c, 0xf4a5, + 0xf4a6, 0xf4a7, 0xf4a8, 0x3030, + 0x27b0, 0xf197, 0xEE14, 0xEE15, + 0xf455, 0xf45b, 0xf484, 0xf456, + 0xf3c2, 0xf514, 0xf6aa, 0xf4b0, + 0xf4bb, 0xf48c, 0xf527, 0x270f, + 0xf451, 0xf48d, 0x23f3, 0xf6b2, + 0xf375, 0x231a, 0xf614, 0xf60c, + 0xf605, 0xf613, 0xf621, 0xf612, + 0xf60d, 0xf44d, 0xf61c, 0xf609, + 0xf606, 0xf623, 0xf60f, 0xf62d, + 0xf622, 0xf196, 0xf4ce, 0x00a9, + 0x2122, 0xf3c3, 0x3299, 0x267b, + 0x00ae, 0x26a0, 0xf232, 0xf233, + 0xf234, 0xf235, 0x2194, 0x2195, + 0xf3eb, 0xf30a, 0xf5fb, 0xf340, + 0xf352, 0xf337, 0xf34c, 0xf34e, + 0xf331, 0xf341, 0xf338, 0xf359, + 0xf370, 0xf376, 0xf35c, 0xf35e, + 0xf40c, 0xf424, 0xf427, 0xf41f, + 0xf60b, 0xf601, 0xf434, 0xf437, 0xf377, 0xf631, }; static const int mb_tbl_code2uni_kddi1_min = 0x24b8; static const int mb_tbl_code2uni_kddi1_max = 0x25c6; static const unsigned short mb_tbl_code2uni_kddi1[] = { // 0x24b8 - 0x25c6 - 0xf342, 0xf4bc, 0x26f2, 0x26fa, - 0xf004, 0xf19a, 0xf3c6, 0xf422, - 0xf1ea, 0xf1f7, 0xf6a7, 0xf6c0, - 0xf38c, 0xf306, 0xf423, 0xf4b9, - 0xf46e, 0xf3e3, 0xf3e5, 0xf3eb, - 0xf3e8, 0xf6a2, 0xf51e, 0xf4f6, - 0xf192, 0xf239, 0xf202, 0xf194, - 0xf235, 0xf233, 0xf22f, 0xf23a, - 0xf446, 0xf447, 0xf52e, 0xf4f3, - 0xf4f4, 0xf4dd, 0xf454, 0xf33a, - 0xf490, 0xf335, 0xf376, 0xf37b, - 0x3297, 0xf48a, 0xf388, 0xf389, - 0xEE42, 0xf452, 0xf462, 0xf485, - 0xf487, 0xf488, 0xf458, 0xf459, - 0x2665, 0xf496, 0xf499, 0xf49a, - 0xf49b, 0xf49c, 0x2728, 0xf3bf, - 0x2b55, 0xf375, 0xf35e, 0xf366, - 0xf35f, 0xf361, 0xf358, 0xf35a, - 0xf35d, 0xf35b, 0xf362, 0xf363, - 0xf34e, 0xf34a, 0xf345, 0xf346, - 0xf371, 0xf372, 0xf60f, 0xf614, - 0xf624, 0xf623, 0xf616, 0xf62a, - 0xf60c, 0xf628, 0xf637, 0xf633, - 0xf612, 0xf632, 0xf630, 0xf3bc, - 0xf60a, 0xf61a, 0xf618, 0xf443, - 0xf444, 0xf64f, 0xf44f, 0xf44c, - 0xf44e, 0xf44b, 0xf645, 0xf646, - 0xf647, 0xf491, 0xf46f, 0xf3ba, - 0xf3b1, 0xf3ca, 0xf692, 0xf691, - 0xf693, 0xf3a2, 0xf38d, 0xf38e, - 0xf393, 0xf392, 0xf38f, 0xf302, - 0xf470, 0xf367, 0xf387, 0xf41a, - 0xf390, 0xf383, 0xf391, 0xf385, - 0xf303, 0xf308, 0xf3e9, 0xf305, - 0xf3a9, 0xf3ec, 0xf3ef, 0xf3f0, - 0xf3ed, 0xf1eb, 0xf1e9, 0xf1ee, - 0xf1ec, 0xf1e8, 0xf1f0, 0xf471, - 0xf472, 0xf473, 0xf474, 0xf475, - 0xf476, 0xf477, 0xf478, 0xf42c, - 0xf483, 0xf420, 0xf41b, 0xf418, - 0xf428, 0xf42e, 0xf40d, 0xf414, - 0xf417, 0xf42b, 0xf170, 0xf171, - 0xf17e, 0xf18e, 0xf463, 0xf45f, - 0xf6a9, 0x2934, 0x2935, 0x2049, - 0x203c, 0x27b0, 0xf348, 0xf34d, - 0xf347, 0xf34c, 0xf33d, 0xf344, - 0xf330, 0xf351, 0xf360, 0xf355, - 0xf357, 0xf38b, 0xf379, 0xf432, - 0xf3b9, 0xf3c4, 0xf3a3, 0xf3b3, - 0xf479, 0xf47a, 0xf43c, 0xf445, - 0xf43d, 0xf33c, 0xf368, 0xf369, - 0xf36a, 0xf36b, 0xf36c, 0xf36d, - 0xf648, 0xf64a, 0xf649, 0xf30b, - 0xf49d, 0xf524, 0xf36e, 0xf41d, - 0xf41e, 0xf36f, 0xf34f, 0xf4b8, - 0xf4ab, 0xf621, 0xf63e, 0xf30c, - 0xf63d, 0xf63a, 0xf4e9, 0xf639, - 0xf602, 0xf63b, 0xf640, 0xf629, - 0xf63f, 0xf622, 0xf63c, 0xf457, - 0xf5ff, 0xf689, 0xf3b4, 0xf0cf, - 0xf364, 0xf4e7, 0xf6b6, 0xf6a8, - 0xEE43, 0xf493, 0xf425, 0xf456, - 0xf48c, 0x267b, 0x2194, 0x2195, - 0xf30a, 0xf331, 0xf40c, 0xf638, - 0xf601, 0xEE44, 0xf33f, 0x270a, - 0x0023, 0xf64b, 0xf64c, 0xf64d, + 0xf342, 0xf4bc, 0x26f2, 0x26fa, + 0xf004, 0xf19a, 0xf3c6, 0xf422, + 0xf1ea, 0xf1f7, 0xf6a7, 0xf6c0, + 0xf38c, 0xf306, 0xf423, 0xf4b9, + 0xf46e, 0xf3e3, 0xf3e5, 0xf3eb, + 0xf3e8, 0xf6a2, 0xf51e, 0xf4f6, + 0xf192, 0xf239, 0xf202, 0xf194, + 0xf235, 0xf233, 0xf22f, 0xf23a, + 0xf446, 0xf447, 0xf52e, 0xf4f3, + 0xf4f4, 0xf4dd, 0xf454, 0xf33a, + 0xf490, 0xf335, 0xf376, 0xf37b, + 0x3297, 0xf48a, 0xf388, 0xf389, + 0xEE42, 0xf452, 0xf462, 0xf485, + 0xf487, 0xf488, 0xf458, 0xf459, + 0x2665, 0xf496, 0xf499, 0xf49a, + 0xf49b, 0xf49c, 0x2728, 0xf3bf, + 0x2b55, 0xf375, 0xf35e, 0xf366, + 0xf35f, 0xf361, 0xf358, 0xf35a, + 0xf35d, 0xf35b, 0xf362, 0xf363, + 0xf34e, 0xf34a, 0xf345, 0xf346, + 0xf371, 0xf372, 0xf60f, 0xf614, + 0xf624, 0xf623, 0xf616, 0xf62a, + 0xf60c, 0xf628, 0xf637, 0xf633, + 0xf612, 0xf632, 0xf630, 0xf3bc, + 0xf60a, 0xf61a, 0xf618, 0xf443, + 0xf444, 0xf64f, 0xf44f, 0xf44c, + 0xf44e, 0xf44b, 0xf645, 0xf646, + 0xf647, 0xf491, 0xf46f, 0xf3ba, + 0xf3b1, 0xf3ca, 0xf692, 0xf691, + 0xf693, 0xf3a2, 0xf38d, 0xf38e, + 0xf393, 0xf392, 0xf38f, 0xf302, + 0xf470, 0xf367, 0xf387, 0xf41a, + 0xf390, 0xf383, 0xf391, 0xf385, + 0xf303, 0xf308, 0xf3e9, 0xf305, + 0xf3a9, 0xf3ec, 0xf3ef, 0xf3f0, + 0xf3ed, 0xf1eb, 0xf1e9, 0xf1ee, + 0xf1ec, 0xf1e8, 0xf1f0, 0xf471, + 0xf472, 0xf473, 0xf474, 0xf475, + 0xf476, 0xf477, 0xf478, 0xf42c, + 0xf483, 0xf420, 0xf41b, 0xf418, + 0xf428, 0xf42e, 0xf40d, 0xf414, + 0xf417, 0xf42b, 0xf170, 0xf171, + 0xf17e, 0xf18e, 0xf463, 0xf45f, + 0xf6a9, 0x2934, 0x2935, 0x2049, + 0x203c, 0x27b0, 0xf348, 0xf34d, + 0xf347, 0xf34c, 0xf33d, 0xf344, + 0xf330, 0xf351, 0xf360, 0xf355, + 0xf357, 0xf38b, 0xf379, 0xf432, + 0xf3b9, 0xf3c4, 0xf3a3, 0xf3b3, + 0xf479, 0xf47a, 0xf43c, 0xf445, + 0xf43d, 0xf33c, 0xf368, 0xf369, + 0xf36a, 0xf36b, 0xf36c, 0xf36d, + 0xf648, 0xf64a, 0xf649, 0xf30b, + 0xf49d, 0xf524, 0xf36e, 0xf41d, + 0xf41e, 0xf36f, 0xf34f, 0xf4b8, + 0xf4ab, 0xf621, 0xf63e, 0xf30c, + 0xf63d, 0xf63a, 0xf4e9, 0xf639, + 0xf602, 0xf63b, 0xf640, 0xf629, + 0xf63f, 0xf622, 0xf63c, 0xf457, + 0xf5ff, 0xf689, 0xf3b4, 0xf0cf, + 0xf364, 0xf4e7, 0xf6b6, 0xf6a8, + 0xEE43, 0xf493, 0xf425, 0xf456, + 0xf48c, 0x267b, 0x2194, 0x2195, + 0xf30a, 0xf331, 0xf40c, 0xf638, + 0xf601, 0xEE44, 0xf33f, 0x270a, + 0x0023, 0xf64b, 0xf64c, 0xf64d, 0xf64e, 0xEE45, 0xEE46, 0xEE47, 0xEE48, 0xEE49, 0xEE4A}; static const int mb_tbl_code2uni_kddi2_min = 0x26ec; static const int mb_tbl_code2uni_kddi2_max = 0x2863; static const unsigned short mb_tbl_code2uni_kddi2[] = { // 0x26ec - 0x2863 - 0xf320, 0xf300, 0xf6a5, 0xf3c3, - 0x2747, 0xf3a1, 0xf3b0, 0xf38a, - 0xf433, 0xf603, 0xf620, 0xf62d, - 0xf62b, 0xf4a4, 0xf4a1, 0xf494, - 0xf495, 0x2734, 0xf4a3, 0xf525, - 0x23f3, 0xf6ac, 0xf6ad, 0x267f, - 0xf530, 0x26a0, 0x2757, 0x2753, - 0x26d4, 0x26c4, 0xf319, 0x26a1, - 0x2600, 0xf31b, 0x2744, 0x2b50, - 0x2614, 0x2601, 0x26c5, 0x2648, - 0x2649, 0x264a, 0x264b, 0x264c, - 0x264d, 0x264e, 0x264f, 0x2650, - 0x2651, 0x2652, 0x2653, 0x26ce, - 0xf45c, 0xf4d4, 0xf3ab, 0xf4d6, - 0xf4ce, 0x270f, 0xf4d0, 0xf3e7, - 0xf3ea, 0xf6bb, 0xf17f, 0xf68f, - 0xf4e1, 0x2693, 0xf3e6, 0xf3e0, - 0xf374, 0xf3e2, 0xf6b2, 0xf68c, - 0xf685, 0xf697, 0xf69a, 0x2708, - 0x26f5, 0xf683, 0x26bd, 0xf3be, - 0xf3c2, 0xf3c1, 0x26be, 0xf3c8, - 0x2668, 0xf3ee, 0xf3ac, 0xf309, - 0xf5fc, 0xf377, 0xf378, 0xf37a, - 0xf356, 0xf3af, 0xf3ae, 0xf4b0, - 0xf3b2, 0xf384, 0xf338, 0xf47b, - 0xf1ef, 0xf349, 0xf341, 0xf381, - 0xf370, 0xf373, 0xf352, 0xf421, - 0xf353, 0xf359, 0xf354, 0xf430, - 0xf434, 0xf435, 0xf438, 0xf431, - 0xf427, 0xf41c, 0xf437, 0xf429, - 0xf424, 0xf436, 0xf334, 0xf33b, - 0xf337, 0xf4a2, 0xf4a7, 0xf61c, - 0xf198, 0xf4aa, 0xf498, 0xf48b, - 0xf47e, 0xf365, 0xf43e, 0xf47f, - 0xf4ae, 0x3299, 0xf4af, 0xf44a, - 0xf4a8, 0xf4a9, 0x261d, 0xf250, - 0xf480, 0xf44d, 0xf469, 0x263a, - 0xf468, 0xf4ac, 0xf453, 0xf448, - 0xf449, 0xf46a, 0xf4fa, 0xf3a4, - 0xf45b, 0xf3b6, 0xf3b8, 0xf3bb, - 0xf3a7, 0xf484, 0xf52b, 0xf486, - 0xf4bf, 0xf45a, 0xf47d, 0xf199, - 0xf489, 0xf50a, 0xf514, 0xf340, - 0xf48d, 0xf4f7, 0x2702, 0xf3a5, - 0xf50d, 0xf511, 0xf460, 0xf4ea, - 0xf512, 0xf4db, 0xf4de, 0xf4e6, - 0xf4e0, 0x2709, 0x0031, 0x0032, - 0x0033, 0x0034, 0x0035, 0x0036, - 0x0037, 0x0038, 0x0039, 0xf51f, - 0xE82D, 0x25c0, 0x25b6, 0x23ea, - 0x23e9, 0x25ab, 0x25aa, 0x2139, - 0x25fd, 0x25fe, 0xf538, 0xf539, - 0x25fb, 0x25fc, 0x26aa, 0x26ab, - 0x2795, 0x2796, 0x2733, 0x2b06, - 0x2b07, 0xf6ab, 0xf53d, 0xf53c, - 0x23ec, 0x23eb, 0xf536, 0xf537, - 0x2b1c, 0x2b1b, 0xf534, 0xf535, - 0x2196, 0x2198, 0x2122, 0x2716, - 0x274c, 0x274e, 0x27a1, 0x2b05, - 0x2797, 0x2197, 0x2199, 0x2714, - 0x00a9, 0x00ae, 0xf53a, 0xf53b, - 0x21aa, 0x21a9, 0x2705, 0xf4dc, - 0xf4cd, 0xf4c3, 0xf4be, 0xf4c5, - 0xf4cb, 0xf4d7, 0xf4d8, 0xf4d9, - 0xf4d5, 0xf4c4, 0xf4c6, 0xf4d3, - 0xf4c7, 0xf4cc, 0xf4d2, 0xf4da, - 0xf4cf, 0x26fd, 0xf5fe, 0xf1fa, - 0xf4ca, 0xf4c8, 0xf4c9, 0xEE40, - 0xf193, 0xf4b2, 0x231a, 0x231b, - 0xf4b3, 0xf4b4, 0xf4f9, 0xf52a, - 0xf4fc, 0xf529, 0xf4bd, 0xf526, - 0xf50b, 0xf4b5, 0xE83C, 0xf527, - 0xf4f1, 0xf50c, 0xf517, 0xf4f0, - 0x2003, 0x2002, 0x2005, 0xf4c1, - 0xf4c2, 0xf4e8, 0xf4e4, 0xf4e5, - 0x23f0, 0x2764, 0x260e, 0x2615, - 0xf301, 0x26f3, 0xf3c0, 0xf4df, - 0xf3a8, 0xf3ad, 0xf3aa, 0xf380, - 0xf382, 0x2660, 0x2666, 0x2663, - 0xf440, 0xf442, 0x270c, 0x270b, - 0xf311, 0xf314, 0xf313, 0xf191, - 0x0030, 0xf197, 0xf635, 0xf49e, - 0xf4a5, 0xf4a6, 0xEE41, 0xf30f, - 0xf35c, 0xEB89, 0xf510, 0xf520, - 0xf521, 0xf522, 0xf523, 0xf251, - 0x2611, 0x2712, 0xf518, 0xf50e, - 0xf519, 0xf516, 0xf4f2, 0xf3e1, - 0xf4eb, 0xf4d1, 0xf50f, 0xf503, - 0xf195, 0xf455, 0xf45e, 0xf4bb, - 0xf4fb, 0xf339, 0x26ea, 0xf687, - 0xf5fb, 0xf3b5, 0xf47c, 0xf42f, - 0xf43b, 0xf42d, 0xf609, 0xf60d, - 0xf631, 0xf613, 0xf419, 0xf680, - 0xf451, 0xf48f, 0xf528, 0xf386, + 0xf320, 0xf300, 0xf6a5, 0xf3c3, + 0x2747, 0xf3a1, 0xf3b0, 0xf38a, + 0xf433, 0xf603, 0xf620, 0xf62d, + 0xf62b, 0xf4a4, 0xf4a1, 0xf494, + 0xf495, 0x2734, 0xf4a3, 0xf525, + 0x23f3, 0xf6ac, 0xf6ad, 0x267f, + 0xf530, 0x26a0, 0x2757, 0x2753, + 0x26d4, 0x26c4, 0xf319, 0x26a1, + 0x2600, 0xf31b, 0x2744, 0x2b50, + 0x2614, 0x2601, 0x26c5, 0x2648, + 0x2649, 0x264a, 0x264b, 0x264c, + 0x264d, 0x264e, 0x264f, 0x2650, + 0x2651, 0x2652, 0x2653, 0x26ce, + 0xf45c, 0xf4d4, 0xf3ab, 0xf4d6, + 0xf4ce, 0x270f, 0xf4d0, 0xf3e7, + 0xf3ea, 0xf6bb, 0xf17f, 0xf68f, + 0xf4e1, 0x2693, 0xf3e6, 0xf3e0, + 0xf374, 0xf3e2, 0xf6b2, 0xf68c, + 0xf685, 0xf697, 0xf69a, 0x2708, + 0x26f5, 0xf683, 0x26bd, 0xf3be, + 0xf3c2, 0xf3c1, 0x26be, 0xf3c8, + 0x2668, 0xf3ee, 0xf3ac, 0xf309, + 0xf5fc, 0xf377, 0xf378, 0xf37a, + 0xf356, 0xf3af, 0xf3ae, 0xf4b0, + 0xf3b2, 0xf384, 0xf338, 0xf47b, + 0xf1ef, 0xf349, 0xf341, 0xf381, + 0xf370, 0xf373, 0xf352, 0xf421, + 0xf353, 0xf359, 0xf354, 0xf430, + 0xf434, 0xf435, 0xf438, 0xf431, + 0xf427, 0xf41c, 0xf437, 0xf429, + 0xf424, 0xf436, 0xf334, 0xf33b, + 0xf337, 0xf4a2, 0xf4a7, 0xf61c, + 0xf198, 0xf4aa, 0xf498, 0xf48b, + 0xf47e, 0xf365, 0xf43e, 0xf47f, + 0xf4ae, 0x3299, 0xf4af, 0xf44a, + 0xf4a8, 0xf4a9, 0x261d, 0xf250, + 0xf480, 0xf44d, 0xf469, 0x263a, + 0xf468, 0xf4ac, 0xf453, 0xf448, + 0xf449, 0xf46a, 0xf4fa, 0xf3a4, + 0xf45b, 0xf3b6, 0xf3b8, 0xf3bb, + 0xf3a7, 0xf484, 0xf52b, 0xf486, + 0xf4bf, 0xf45a, 0xf47d, 0xf199, + 0xf489, 0xf50a, 0xf514, 0xf340, + 0xf48d, 0xf4f7, 0x2702, 0xf3a5, + 0xf50d, 0xf511, 0xf460, 0xf4ea, + 0xf512, 0xf4db, 0xf4de, 0xf4e6, + 0xf4e0, 0x2709, 0x0031, 0x0032, + 0x0033, 0x0034, 0x0035, 0x0036, + 0x0037, 0x0038, 0x0039, 0xf51f, + 0xE82D, 0x25c0, 0x25b6, 0x23ea, + 0x23e9, 0x25ab, 0x25aa, 0x2139, + 0x25fd, 0x25fe, 0xf538, 0xf539, + 0x25fb, 0x25fc, 0x26aa, 0x26ab, + 0x2795, 0x2796, 0x2733, 0x2b06, + 0x2b07, 0xf6ab, 0xf53d, 0xf53c, + 0x23ec, 0x23eb, 0xf536, 0xf537, + 0x2b1c, 0x2b1b, 0xf534, 0xf535, + 0x2196, 0x2198, 0x2122, 0x2716, + 0x274c, 0x274e, 0x27a1, 0x2b05, + 0x2797, 0x2197, 0x2199, 0x2714, + 0x00a9, 0x00ae, 0xf53a, 0xf53b, + 0x21aa, 0x21a9, 0x2705, 0xf4dc, + 0xf4cd, 0xf4c3, 0xf4be, 0xf4c5, + 0xf4cb, 0xf4d7, 0xf4d8, 0xf4d9, + 0xf4d5, 0xf4c4, 0xf4c6, 0xf4d3, + 0xf4c7, 0xf4cc, 0xf4d2, 0xf4da, + 0xf4cf, 0x26fd, 0xf5fe, 0xf1fa, + 0xf4ca, 0xf4c8, 0xf4c9, 0xEE40, + 0xf193, 0xf4b2, 0x231a, 0x231b, + 0xf4b3, 0xf4b4, 0xf4f9, 0xf52a, + 0xf4fc, 0xf529, 0xf4bd, 0xf526, + 0xf50b, 0xf4b5, 0xE83C, 0xf527, + 0xf4f1, 0xf50c, 0xf517, 0xf4f0, + 0x2003, 0x2002, 0x2005, 0xf4c1, + 0xf4c2, 0xf4e8, 0xf4e4, 0xf4e5, + 0x23f0, 0x2764, 0x260e, 0x2615, + 0xf301, 0x26f3, 0xf3c0, 0xf4df, + 0xf3a8, 0xf3ad, 0xf3aa, 0xf380, + 0xf382, 0x2660, 0x2666, 0x2663, + 0xf440, 0xf442, 0x270c, 0x270b, + 0xf311, 0xf314, 0xf313, 0xf191, + 0x0030, 0xf197, 0xf635, 0xf49e, + 0xf4a5, 0xf4a6, 0xEE41, 0xf30f, + 0xf35c, 0xEB89, 0xf510, 0xf520, + 0xf521, 0xf522, 0xf523, 0xf251, + 0x2611, 0x2712, 0xf518, 0xf50e, + 0xf519, 0xf516, 0xf4f2, 0xf3e1, + 0xf4eb, 0xf4d1, 0xf50f, 0xf503, + 0xf195, 0xf455, 0xf45e, 0xf4bb, + 0xf4fb, 0xf339, 0x26ea, 0xf687, + 0xf5fb, 0xf3b5, 0xf47c, 0xf42f, + 0xf43b, 0xf42d, 0xf609, 0xf60d, + 0xf631, 0xf613, 0xf419, 0xf680, + 0xf451, 0xf48f, 0xf528, 0xf386, }; static const int mb_tbl_code2uni_sb1_min = 0x27a9; static const int mb_tbl_code2uni_sb1_max = 0x2861; static const unsigned short mb_tbl_code2uni_sb1[] = { // 0x27a9 - 0x2861 - 0xf4eb, 0xf4ee, 0xf4e9, 0xf4f2, - 0xf61c, 0xf60d, 0xf631, 0xf613, - 0xf435, 0xf419, 0xf437, 0xf47d, - 0xf680, 0xf451, 0xf4a1, 0xf340, - 0xf48f, 0xf381, 0xf52b, 0xf50d, - 0xf3c3, 0xf528, 0xf386, 0xf341, - 0xf342, 0xf47f, 0xf47b, 0xf480, - 0xf525, 0xf4bc, 0xf4ba, 0xf354, - 0x26f2, 0x26fa, 0x2668, 0xf3a1, - 0xf3ab, 0xf4bf, 0xf4c0, 0xf4fb, - 0xf4fc, 0xf4fa, 0xf47e, 0x303d, - 0xf004, 0xf19a, 0xf4b0, 0xf3af, - 0xf3c6, 0xf3c1, 0xf3b0, 0xf40e, - 0xf6a4, 0xf6b2, 0xf6a7, 0xf6b9, - 0xf6ba, 0xf6bc, 0xf489, 0xf4a4, - 0x26a1, 0xf460, 0xf6c0, 0xf6bd, - 0xf50a, 0xf4e2, 0xf38c, 0xf512, - 0xf513, 0xf306, 0xf373, 0xf4d6, - 0xf4b1, 0xf4b9, 0xf4e1, 0xf4aa, - 0xf3e6, 0xf6a5, 0xf17f, 0xf68f, - 0xf6bb, 0xf46e, 0xf3e3, 0xf3e7, - 0xf3e5, 0xf3ea, 0xf3eb, 0xf3e8, - 0xf68c, 0xf695, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0xf6b6, - 0xf6a2, 0xf201, 0xf49f, 0x2734, - 0x2733, 0xf51e, 0xf6ad, 0xf530, - 0x267f, 0xf4f6, 0x2665, 0x2666, - 0x2660, 0x2663, 0x0023, 0x27bf, - 0xf195, 0xf199, 0xf192, 0xf236, - 0xf21a, 0xf237, 0xf238, 0xf534, - 0xf532, 0xf533, 0x0031, 0x0032, - 0x0033, 0x0034, 0x0035, 0x0036, - 0x0037, 0x0038, 0x0039, 0x0030, - 0xf250, 0xf239, 0xf202, 0xf194, - 0xf235, 0xf233, 0xf22f, 0xf23a, - 0xf446, 0xf447, 0xf448, 0xf449, - 0x2b06, 0x2b07, 0x27a1, 0x2b05, - 0x2197, 0x2196, 0x2198, 0x2199, - 0x25b6, 0x25c0, 0x23e9, 0x23ea, - 0xf52f, 0x2648, 0x2649, 0x264a, - 0x264b, 0x264c, 0x264d, 0x264e, - 0x264f, 0x2650, 0x2651, 0x2652, - 0x2653, 0x26ce, 0xf51d, 0xf197, - 0x00a9, 0x00ae, 0xf4f3, 0xf4f4, + 0xf4eb, 0xf4ee, 0xf4e9, 0xf4f2, + 0xf61c, 0xf60d, 0xf631, 0xf613, + 0xf435, 0xf419, 0xf437, 0xf47d, + 0xf680, 0xf451, 0xf4a1, 0xf340, + 0xf48f, 0xf381, 0xf52b, 0xf50d, + 0xf3c3, 0xf528, 0xf386, 0xf341, + 0xf342, 0xf47f, 0xf47b, 0xf480, + 0xf525, 0xf4bc, 0xf4ba, 0xf354, + 0x26f2, 0x26fa, 0x2668, 0xf3a1, + 0xf3ab, 0xf4bf, 0xf4c0, 0xf4fb, + 0xf4fc, 0xf4fa, 0xf47e, 0x303d, + 0xf004, 0xf19a, 0xf4b0, 0xf3af, + 0xf3c6, 0xf3c1, 0xf3b0, 0xf40e, + 0xf6a4, 0xf6b2, 0xf6a7, 0xf6b9, + 0xf6ba, 0xf6bc, 0xf489, 0xf4a4, + 0x26a1, 0xf460, 0xf6c0, 0xf6bd, + 0xf50a, 0xf4e2, 0xf38c, 0xf512, + 0xf513, 0xf306, 0xf373, 0xf4d6, + 0xf4b1, 0xf4b9, 0xf4e1, 0xf4aa, + 0xf3e6, 0xf6a5, 0xf17f, 0xf68f, + 0xf6bb, 0xf46e, 0xf3e3, 0xf3e7, + 0xf3e5, 0xf3ea, 0xf3eb, 0xf3e8, + 0xf68c, 0xf695, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xf6b6, + 0xf6a2, 0xf201, 0xf49f, 0x2734, + 0x2733, 0xf51e, 0xf6ad, 0xf530, + 0x267f, 0xf4f6, 0x2665, 0x2666, + 0x2660, 0x2663, 0x0023, 0x27bf, + 0xf195, 0xf199, 0xf192, 0xf236, + 0xf21a, 0xf237, 0xf238, 0xf534, + 0xf532, 0xf533, 0x0031, 0x0032, + 0x0033, 0x0034, 0x0035, 0x0036, + 0x0037, 0x0038, 0x0039, 0x0030, + 0xf250, 0xf239, 0xf202, 0xf194, + 0xf235, 0xf233, 0xf22f, 0xf23a, + 0xf446, 0xf447, 0xf448, 0xf449, + 0x2b06, 0x2b07, 0x27a1, 0x2b05, + 0x2197, 0x2196, 0x2198, 0x2199, + 0x25b6, 0x25c0, 0x23e9, 0x23ea, + 0xf52f, 0x2648, 0x2649, 0x264a, + 0x264b, 0x264c, 0x264d, 0x264e, + 0x264f, 0x2650, 0x2651, 0x2652, + 0x2653, 0x26ce, 0xf51d, 0xf197, + 0x00a9, 0x00ae, 0xf4f3, 0xf4f4, 0x26a0, 0xf481, 0xEE77, 0xEE78, 0xEE79, 0xEE7A, 0xEE7B, 0xEE7C, 0xEE7D}; @@ -300,91 +300,91 @@ static const int mb_tbl_code2uni_sb2_min = 0x2921; static const int mb_tbl_code2uni_sb2_max = 0x29cc; static const unsigned short mb_tbl_code2uni_sb2[] = { // 0x2921 - 0x29cc - 0xf466, 0xf467, 0xf48b, 0xf468, - 0xf469, 0xf455, 0xf45f, 0xf4f7, - 0x260e, 0xf4f1, 0xf4e0, 0xf4bb, - 0xf44a, 0xf44d, 0x261d, 0x270a, - 0x270c, 0x270b, 0xf3bf, 0x26f3, - 0xf3be, 0x26be, 0xf3c4, 0x26bd, - 0xf41f, 0xf434, 0xf697, 0x26f5, - 0x2708, 0xf683, 0xf685, 0x2753, - 0x2757, 0x2764, 0xf494, 0xf550, - 0xf551, 0xf552, 0xf553, 0xf554, - 0xf555, 0xf556, 0xf557, 0xf558, - 0xf559, 0xf55a, 0xf55b, 0xf338, - 0xf531, 0xf339, 0xf384, 0xf48d, - 0xf48e, 0xf3e0, 0x26ea, 0xf3e2, - 0xf689, 0x26fd, 0xf5fb, 0xf3a4, - 0xf3a5, 0xf3b5, 0xf511, 0xf3b7, - 0xf3b8, 0xf3ba, 0xf374, 0xf378, - 0x2615, 0xf370, 0xf37a, 0x26c4, - 0x2601, 0x2600, 0x2614, 0xf319, - 0xf304, 0xf47c, 0xf431, 0xf42f, - 0xf43b, 0xf436, 0xf42d, 0xf433, - 0xf427, 0xf60a, 0xf603, 0xf61e, - 0xf620, 0xf4a9, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0xf4dd, - 0xf454, 0xf33a, 0xf337, 0xf33b, - 0xf490, 0xf334, 0xf335, 0xf6be, - 0xf3a7, 0xf376, 0xf37b, 0x3297, - 0xf6ac, 0xf48a, 0xf388, 0xf4a3, - 0xf389, 0x2702, 0xf380, 0x3299, - 0xf4bd, 0xf4e3, 0xf452, 0xf457, - 0xf461, 0xf462, 0xf484, 0xf485, - 0xf486, 0xf487, 0xf488, 0xf458, - 0xf459, 0xf45c, 0xf3ac, 0xf514, - 0xf3b6, 0xf493, 0xf497, 0xf498, - 0xf499, 0xf49a, 0xf49b, 0xf49c, - 0x2728, 0x2b50, 0xf4a8, 0xf4a6, - 0x2b55, 0x274c, 0xf4a2, 0xf31f, - 0x2754, 0x2755, 0xf375, 0xf35e, - 0xf366, 0xf35f, 0xf361, 0xf358, - 0xf35a, 0xf35d, 0xf35c, 0xf35b, - 0xf359, 0xf362, 0xf363, 0xf34e, - 0xf34a, 0xf353, 0xf349, 0xf345, - 0xf346, 0xf382, 0xf371, 0xf372, + 0xf466, 0xf467, 0xf48b, 0xf468, + 0xf469, 0xf455, 0xf45f, 0xf4f7, + 0x260e, 0xf4f1, 0xf4e0, 0xf4bb, + 0xf44a, 0xf44d, 0x261d, 0x270a, + 0x270c, 0x270b, 0xf3bf, 0x26f3, + 0xf3be, 0x26be, 0xf3c4, 0x26bd, + 0xf41f, 0xf434, 0xf697, 0x26f5, + 0x2708, 0xf683, 0xf685, 0x2753, + 0x2757, 0x2764, 0xf494, 0xf550, + 0xf551, 0xf552, 0xf553, 0xf554, + 0xf555, 0xf556, 0xf557, 0xf558, + 0xf559, 0xf55a, 0xf55b, 0xf338, + 0xf531, 0xf339, 0xf384, 0xf48d, + 0xf48e, 0xf3e0, 0x26ea, 0xf3e2, + 0xf689, 0x26fd, 0xf5fb, 0xf3a4, + 0xf3a5, 0xf3b5, 0xf511, 0xf3b7, + 0xf3b8, 0xf3ba, 0xf374, 0xf378, + 0x2615, 0xf370, 0xf37a, 0x26c4, + 0x2601, 0x2600, 0x2614, 0xf319, + 0xf304, 0xf47c, 0xf431, 0xf42f, + 0xf43b, 0xf436, 0xf42d, 0xf433, + 0xf427, 0xf60a, 0xf603, 0xf61e, + 0xf620, 0xf4a9, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xf4dd, + 0xf454, 0xf33a, 0xf337, 0xf33b, + 0xf490, 0xf334, 0xf335, 0xf6be, + 0xf3a7, 0xf376, 0xf37b, 0x3297, + 0xf6ac, 0xf48a, 0xf388, 0xf4a3, + 0xf389, 0x2702, 0xf380, 0x3299, + 0xf4bd, 0xf4e3, 0xf452, 0xf457, + 0xf461, 0xf462, 0xf484, 0xf485, + 0xf486, 0xf487, 0xf488, 0xf458, + 0xf459, 0xf45c, 0xf3ac, 0xf514, + 0xf3b6, 0xf493, 0xf497, 0xf498, + 0xf499, 0xf49a, 0xf49b, 0xf49c, + 0x2728, 0x2b50, 0xf4a8, 0xf4a6, + 0x2b55, 0x274c, 0xf4a2, 0xf31f, + 0x2754, 0x2755, 0xf375, 0xf35e, + 0xf366, 0xf35f, 0xf361, 0xf358, + 0xf35a, 0xf35d, 0xf35c, 0xf35b, + 0xf359, 0xf362, 0xf363, 0xf34e, + 0xf34a, 0xf353, 0xf349, 0xf345, + 0xf346, 0xf382, 0xf371, 0xf372, }; static const int mb_tbl_code2uni_sb3_min = 0x2a99; static const int mb_tbl_code2uni_sb3_max = 0x2b35; static const unsigned short mb_tbl_code2uni_sb3[] = { // 0x2a99 - 0x2b35 - 0xf625, 0xf60f, 0xf614, 0xf601, - 0xf609, 0xf623, 0xf616, 0xf62a, - 0xf61d, 0xf60c, 0xf628, 0xf637, - 0xf633, 0xf612, 0xf630, 0xf632, - 0xf62d, 0xf602, 0xf622, 0x263a, - 0xf604, 0xf621, 0xf61a, 0xf618, - 0xf440, 0xf443, 0xf442, 0xf444, - 0xf64f, 0xf44b, 0xf44f, 0xf44c, - 0xf44e, 0xf450, 0xf645, 0xf646, - 0xf491, 0xf647, 0xf64c, 0xf46b, - 0xf46f, 0xf3c0, 0xf3c8, 0xf3b1, - 0xf3ca, 0xf699, 0xf69a, 0xf692, - 0xf691, 0xf693, 0xf3a2, 0xf687, - 0xf684, 0xf38d, 0xf49d, 0xf38e, - 0xf393, 0xf392, 0xf38f, 0xf302, - 0xf492, 0xf30a, 0xf367, 0xf387, - 0xf41a, 0xf390, 0xf300, 0xf33e, - 0xf383, 0xf391, 0xf343, 0xf385, - 0xf305, 0xf307, 0xf303, 0xf308, - 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0xf3e9, - 0xf3a8, 0xf3a9, 0xf3ec, 0xf3ef, - 0xf3f0, 0xf3a6, 0xf3ed, 0xf5fc, - 0xE4C5, 0xf1ef, 0xf1fa, 0xf1eb, - 0xf1e9, 0xf1ee, 0xf1ec, 0xf1ea, - 0xf1f7, 0xf1e8, 0xf1f0, 0xf471, - 0xf472, 0xf473, 0xf474, 0xf475, - 0xf476, 0xf477, 0xf478, 0xf5fd, - 0xf482, 0xf483, 0xf42c, 0xf426, - 0xf420, 0xf424, 0xf439, 0xf41b, - 0xf418, 0xf428, 0xf412, 0xf411, - 0xf43a, 0xf42e, 0xf430, 0xf40d, - 0xf414, 0xf417, 0xf42b, 0xf438, - 0xf170, 0xf171, 0xf18e, 0xf17e, + 0xf625, 0xf60f, 0xf614, 0xf601, + 0xf609, 0xf623, 0xf616, 0xf62a, + 0xf61d, 0xf60c, 0xf628, 0xf637, + 0xf633, 0xf612, 0xf630, 0xf632, + 0xf62d, 0xf602, 0xf622, 0x263a, + 0xf604, 0xf621, 0xf61a, 0xf618, + 0xf440, 0xf443, 0xf442, 0xf444, + 0xf64f, 0xf44b, 0xf44f, 0xf44c, + 0xf44e, 0xf450, 0xf645, 0xf646, + 0xf491, 0xf647, 0xf64c, 0xf46b, + 0xf46f, 0xf3c0, 0xf3c8, 0xf3b1, + 0xf3ca, 0xf699, 0xf69a, 0xf692, + 0xf691, 0xf693, 0xf3a2, 0xf687, + 0xf684, 0xf38d, 0xf49d, 0xf38e, + 0xf393, 0xf392, 0xf38f, 0xf302, + 0xf492, 0xf30a, 0xf367, 0xf387, + 0xf41a, 0xf390, 0xf300, 0xf33e, + 0xf383, 0xf391, 0xf343, 0xf385, + 0xf305, 0xf307, 0xf303, 0xf308, + 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xf3e9, + 0xf3a8, 0xf3a9, 0xf3ec, 0xf3ef, + 0xf3f0, 0xf3a6, 0xf3ed, 0xf5fc, + 0xE4C5, 0xf1ef, 0xf1fa, 0xf1eb, + 0xf1e9, 0xf1ee, 0xf1ec, 0xf1ea, + 0xf1f7, 0xf1e8, 0xf1f0, 0xf471, + 0xf472, 0xf473, 0xf474, 0xf475, + 0xf476, 0xf477, 0xf478, 0xf5fd, + 0xf482, 0xf483, 0xf42c, 0xf426, + 0xf420, 0xf424, 0xf439, 0xf41b, + 0xf418, 0xf428, 0xf412, 0xf411, + 0xf43a, 0xf42e, 0xf430, 0xf40d, + 0xf414, 0xf417, 0xf42b, 0xf438, + 0xf170, 0xf171, 0xf18e, 0xf17e, 0xf463, 0x2122, 0xEE70, 0xEE71, 0xEE72, 0xEE73, 0xEE74, 0xEE75, 0xEE76}; @@ -395,15 +395,15 @@ static const int mb_tbl_uni_docomo2code1_min = 0x0023; static const int mb_tbl_uni_docomo2code1_max = 0x00ae; static const unsigned short mb_tbl_uni_docomo2code1_key[] = { // 0x0023 - 0x00ae - 0x0023, 0x0030, 0x0031, 0x0032, - 0x0033, 0x0034, 0x0035, 0x0036, - 0x0037, 0x0038, 0x0039, 0x00a9, + 0x0023, 0x0030, 0x0031, 0x0032, + 0x0033, 0x0034, 0x0035, 0x0036, + 0x0037, 0x0038, 0x0039, 0x00a9, 0x00ae, }; static const unsigned short mb_tbl_uni_docomo2code1_value[] = { // 0x0023 - 0x00ae - 0x2964, 0x296f, 0x2966, 0x2967, - 0x2968, 0x2969, 0x296a, 0x296b, - 0x296c, 0x296d, 0x296e, 0x29b5, + 0x2964, 0x296f, 0x2966, 0x2967, + 0x2968, 0x2969, 0x296a, 0x296b, + 0x296c, 0x296d, 0x296e, 0x29b5, 0x29ba, }; static const int mb_tbl_uni_docomo2code1_len = sizeof(mb_tbl_uni_docomo2code1_key)/sizeof(unsigned short); @@ -412,38 +412,38 @@ static const int mb_tbl_uni_docomo2code2_min = 0x203c; static const int mb_tbl_uni_docomo2code2_max = 0x3299; static const unsigned short mb_tbl_uni_docomo2code2_key[] = { // 0x203c - 0x3299 - 0x203c, 0x2049, 0x2122, 0x2194, - 0x2195, 0x2196, 0x2197, 0x2198, - 0x2199, 0x21a9, 0x231a, 0x23f0, - 0x23f3, 0x24c2, 0x2600, 0x2601, - 0x260e, 0x2614, 0x2615, 0x2648, - 0x2649, 0x264a, 0x264b, 0x264c, - 0x264d, 0x264e, 0x264f, 0x2650, - 0x2651, 0x2652, 0x2653, 0x2660, - 0x2663, 0x2665, 0x2666, 0x2668, - 0x267b, 0x267f, 0x26a0, 0x26a1, - 0x26bd, 0x26be, 0x26c4, 0x26f3, - 0x26f5, 0x26fd, 0x2702, 0x2708, - 0x2709, 0x270a, 0x270b, 0x270c, - 0x270f, 0x2712, 0x2728, 0x2757, + 0x203c, 0x2049, 0x2122, 0x2194, + 0x2195, 0x2196, 0x2197, 0x2198, + 0x2199, 0x21a9, 0x231a, 0x23f0, + 0x23f3, 0x24c2, 0x2600, 0x2601, + 0x260e, 0x2614, 0x2615, 0x2648, + 0x2649, 0x264a, 0x264b, 0x264c, + 0x264d, 0x264e, 0x264f, 0x2650, + 0x2651, 0x2652, 0x2653, 0x2660, + 0x2663, 0x2665, 0x2666, 0x2668, + 0x267b, 0x267f, 0x26a0, 0x26a1, + 0x26bd, 0x26be, 0x26c4, 0x26f3, + 0x26f5, 0x26fd, 0x2702, 0x2708, + 0x2709, 0x270a, 0x270b, 0x270c, + 0x270f, 0x2712, 0x2728, 0x2757, 0x2764, 0x27b0, 0x27bf, 0x2934, 0x2935, 0x3030, 0x3299, }; static const unsigned short mb_tbl_uni_docomo2code2_value[] = { // 0x203c - 0x3299 - 0x2988, 0x2987, 0x29b6, 0x29c0, - 0x29c1, 0x291b, 0x28fc, 0x291a, - 0x2929, 0x295e, 0x29a3, 0x293e, - 0x29a0, 0x28e0, 0x28c2, 0x28c3, - 0x290b, 0x28c4, 0x28f4, 0x28ca, - 0x28cb, 0x28cc, 0x28cd, 0x28ce, - 0x28cf, 0x28d0, 0x28d1, 0x28d2, - 0x28d3, 0x28d4, 0x28d5, 0x2912, - 0x2914, 0x2911, 0x2913, 0x297b, - 0x29b9, 0x291f, 0x29bb, 0x28c6, - 0x28da, 0x28d7, 0x28c5, 0x28d8, - 0x2927, 0x28ef, 0x28f9, 0x28e6, - 0x2957, 0x2917, 0x2919, 0x2918, - 0x299d, 0x2932, 0x297e, 0x2986, + 0x2988, 0x2987, 0x29b6, 0x29c0, + 0x29c1, 0x291b, 0x28fc, 0x291a, + 0x2929, 0x295e, 0x29a3, 0x293e, + 0x29a0, 0x28e0, 0x28c2, 0x28c3, + 0x290b, 0x28c4, 0x28f4, 0x28ca, + 0x28cb, 0x28cc, 0x28cd, 0x28ce, + 0x28cf, 0x28d0, 0x28d1, 0x28d2, + 0x28d3, 0x28d4, 0x28d5, 0x2912, + 0x2914, 0x2911, 0x2913, 0x297b, + 0x29b9, 0x291f, 0x29bb, 0x28c6, + 0x28da, 0x28d7, 0x28c5, 0x28d8, + 0x2927, 0x28ef, 0x28f9, 0x28e6, + 0x2957, 0x2917, 0x2919, 0x2918, + 0x299d, 0x2932, 0x297e, 0x2986, 0x2970, 0x298e, 0x2963, 0x2979, 0x2984, 0x298d, 0x29b8, }; @@ -453,93 +453,93 @@ static const int mb_tbl_uni_docomo2code3_min = 0x1f17f; static const int mb_tbl_uni_docomo2code3_max = 0x1f6bb; static const unsigned short mb_tbl_uni_docomo2code3_key[] = { // 0x1f17f - 0x1f6bb - 0xf17f, 0xf191, 0xf193, 0xf194, - 0xf195, 0xf196, 0xf197, 0xf232, - 0xf233, 0xf234, 0xf235, 0xf300, - 0xf301, 0xf302, 0xf303, 0xf30a, - 0xf311, 0xf313, 0xf314, 0xf315, - 0xf319, 0xf331, 0xf337, 0xf338, - 0xf340, 0xf341, 0xf34c, 0xf34e, - 0xf352, 0xf354, 0xf359, 0xf35c, - 0xf35e, 0xf370, 0xf374, 0xf375, - 0xf376, 0xf377, 0xf378, 0xf37a, - 0xf380, 0xf381, 0xf382, 0xf384, - 0xf3a0, 0xf3a4, 0xf3a5, 0xf3a7, - 0xf3a8, 0xf3a9, 0xf3aa, 0xf3ab, - 0xf3ac, 0xf3ae, 0xf3b5, 0xf3b6, - 0xf3bd, 0xf3be, 0xf3bf, 0xf3c0, - 0xf3c1, 0xf3c2, 0xf3c3, 0xf3e0, - 0xf3e2, 0xf3e3, 0xf3e5, 0xf3e6, - 0xf3e7, 0xf3e8, 0xf3ea, 0xf3eb, - 0xf40c, 0xf41f, 0xf424, 0xf427, - 0xf431, 0xf434, 0xf436, 0xf437, - 0xf440, 0xf442, 0xf44a, 0xf44d, - 0xf451, 0xf453, 0xf455, 0xf456, - 0xf45b, 0xf45c, 0xf45d, 0xf45f, - 0xf460, 0xf463, 0xf464, 0xf484, - 0xf48b, 0xf48c, 0xf48d, 0xf493, - 0xf494, 0xf495, 0xf4a0, 0xf4a1, - 0xf4a2, 0xf4a3, 0xf4a4, 0xf4a5, - 0xf4a6, 0xf4a7, 0xf4a8, 0xf4b0, - 0xf4b4, 0xf4ba, 0xf4bb, 0xf4bf, - 0xf4ce, 0xf4d6, 0xf4dd, 0xf4df, - 0xf4e0, 0xf4e9, 0xf4f1, 0xf4f2, - 0xf4f7, 0xf4fa, 0xf50d, 0xf511, - 0xf514, 0xf51a, 0xf51b, 0xf51c, - 0xf527, 0xf5fb, 0xf601, 0xf603, - 0xf605, 0xf606, 0xf609, 0xf60b, - 0xf60c, 0xf60d, 0xf60f, 0xf612, - 0xf613, 0xf614, 0xf616, 0xf61c, - 0xf61e, 0xf620, 0xf621, 0xf622, - 0xf623, 0xf62d, 0xf631, 0xf635, - 0xf683, 0xf684, 0xf68c, 0xf697, - 0xf699, 0xf6a2, 0xf6a5, 0xf6a9, - 0xf6aa, 0xf6ac, 0xf6ad, 0xf6b2, + 0xf17f, 0xf191, 0xf193, 0xf194, + 0xf195, 0xf196, 0xf197, 0xf232, + 0xf233, 0xf234, 0xf235, 0xf300, + 0xf301, 0xf302, 0xf303, 0xf30a, + 0xf311, 0xf313, 0xf314, 0xf315, + 0xf319, 0xf331, 0xf337, 0xf338, + 0xf340, 0xf341, 0xf34c, 0xf34e, + 0xf352, 0xf354, 0xf359, 0xf35c, + 0xf35e, 0xf370, 0xf374, 0xf375, + 0xf376, 0xf377, 0xf378, 0xf37a, + 0xf380, 0xf381, 0xf382, 0xf384, + 0xf3a0, 0xf3a4, 0xf3a5, 0xf3a7, + 0xf3a8, 0xf3a9, 0xf3aa, 0xf3ab, + 0xf3ac, 0xf3ae, 0xf3b5, 0xf3b6, + 0xf3bd, 0xf3be, 0xf3bf, 0xf3c0, + 0xf3c1, 0xf3c2, 0xf3c3, 0xf3e0, + 0xf3e2, 0xf3e3, 0xf3e5, 0xf3e6, + 0xf3e7, 0xf3e8, 0xf3ea, 0xf3eb, + 0xf40c, 0xf41f, 0xf424, 0xf427, + 0xf431, 0xf434, 0xf436, 0xf437, + 0xf440, 0xf442, 0xf44a, 0xf44d, + 0xf451, 0xf453, 0xf455, 0xf456, + 0xf45b, 0xf45c, 0xf45d, 0xf45f, + 0xf460, 0xf463, 0xf464, 0xf484, + 0xf48b, 0xf48c, 0xf48d, 0xf493, + 0xf494, 0xf495, 0xf4a0, 0xf4a1, + 0xf4a2, 0xf4a3, 0xf4a4, 0xf4a5, + 0xf4a6, 0xf4a7, 0xf4a8, 0xf4b0, + 0xf4b4, 0xf4ba, 0xf4bb, 0xf4bf, + 0xf4ce, 0xf4d6, 0xf4dd, 0xf4df, + 0xf4e0, 0xf4e9, 0xf4f1, 0xf4f2, + 0xf4f7, 0xf4fa, 0xf50d, 0xf511, + 0xf514, 0xf51a, 0xf51b, 0xf51c, + 0xf527, 0xf5fb, 0xf601, 0xf603, + 0xf605, 0xf606, 0xf609, 0xf60b, + 0xf60c, 0xf60d, 0xf60f, 0xf612, + 0xf613, 0xf614, 0xf616, 0xf61c, + 0xf61e, 0xf620, 0xf621, 0xf622, + 0xf623, 0xf62d, 0xf631, 0xf635, + 0xf683, 0xf684, 0xf68c, 0xf697, + 0xf699, 0xf6a2, 0xf6a5, 0xf6a9, + 0xf6aa, 0xf6ac, 0xf6ad, 0xf6b2, 0xf6bb, }; static const unsigned short mb_tbl_uni_docomo2code3_value[] = { // 0x1f17f - 0x1f6bb - 0x28f0, 0x295f, 0x295b, 0x295c, - 0x2961, 0x29b3, 0x298f, 0x29bc, - 0x29bd, 0x29be, 0x29bf, 0x28c7, - 0x28c8, 0x28c9, 0x2937, 0x29c3, - 0x2920, 0x2922, 0x2921, 0x2924, - 0x2923, 0x29ca, 0x29c7, 0x29cc, - 0x29c5, 0x29cb, 0x29c8, 0x29c9, - 0x29c6, 0x28f7, 0x29cd, 0x29d0, - 0x29d1, 0x29ce, 0x28f3, 0x29a2, - 0x29cf, 0x29da, 0x28f5, 0x28f6, - 0x2908, 0x2909, 0x290a, 0x2928, - 0x28fd, 0x28fa, 0x28fb, 0x28fe, - 0x28ff, 0x2900, 0x2901, 0x2902, - 0x2930, 0x290f, 0x297a, 0x2983, - 0x28d6, 0x28d9, 0x28db, 0x28dc, - 0x28dd, 0x2996, 0x29b7, 0x28e7, - 0x28e8, 0x28e9, 0x28ea, 0x28eb, - 0x28ec, 0x28ed, 0x28ee, 0x29c2, - 0x29d2, 0x29d5, 0x29d3, 0x29d4, - 0x2926, 0x29d8, 0x2925, 0x29d9, - 0x2915, 0x2916, 0x2981, 0x29ab, - 0x299e, 0x291e, 0x2992, 0x2995, - 0x2993, 0x2906, 0x2931, 0x291d, - 0x28f8, 0x291c, 0x2935, 0x2994, - 0x297d, 0x299b, 0x299f, 0x2971, - 0x2972, 0x2973, 0x297c, 0x297f, - 0x2980, 0x2982, 0x2985, 0x2989, - 0x298a, 0x298b, 0x298c, 0x2999, - 0x295a, 0x2936, 0x299a, 0x2910, - 0x29b4, 0x2907, 0x290d, 0x28de, - 0x2954, 0x2953, 0x290c, 0x2952, - 0x2905, 0x290e, 0x2960, 0x295d, - 0x2997, 0x293d, 0x293c, 0x293b, - 0x299c, 0x29c4, 0x29d7, 0x2974, - 0x29a6, 0x29ae, 0x29ad, 0x29d6, - 0x29a5, 0x29aa, 0x29b0, 0x29a9, - 0x29a7, 0x29a4, 0x2977, 0x29ac, - 0x2976, 0x2975, 0x29a8, 0x29b2, - 0x29af, 0x29b1, 0x29db, 0x2978, - 0x28df, 0x28e1, 0x28e4, 0x28e2, - 0x28e3, 0x28e5, 0x28f1, 0x2962, - 0x2998, 0x2903, 0x2904, 0x29a1, + 0x28f0, 0x295f, 0x295b, 0x295c, + 0x2961, 0x29b3, 0x298f, 0x29bc, + 0x29bd, 0x29be, 0x29bf, 0x28c7, + 0x28c8, 0x28c9, 0x2937, 0x29c3, + 0x2920, 0x2922, 0x2921, 0x2924, + 0x2923, 0x29ca, 0x29c7, 0x29cc, + 0x29c5, 0x29cb, 0x29c8, 0x29c9, + 0x29c6, 0x28f7, 0x29cd, 0x29d0, + 0x29d1, 0x29ce, 0x28f3, 0x29a2, + 0x29cf, 0x29da, 0x28f5, 0x28f6, + 0x2908, 0x2909, 0x290a, 0x2928, + 0x28fd, 0x28fa, 0x28fb, 0x28fe, + 0x28ff, 0x2900, 0x2901, 0x2902, + 0x2930, 0x290f, 0x297a, 0x2983, + 0x28d6, 0x28d9, 0x28db, 0x28dc, + 0x28dd, 0x2996, 0x29b7, 0x28e7, + 0x28e8, 0x28e9, 0x28ea, 0x28eb, + 0x28ec, 0x28ed, 0x28ee, 0x29c2, + 0x29d2, 0x29d5, 0x29d3, 0x29d4, + 0x2926, 0x29d8, 0x2925, 0x29d9, + 0x2915, 0x2916, 0x2981, 0x29ab, + 0x299e, 0x291e, 0x2992, 0x2995, + 0x2993, 0x2906, 0x2931, 0x291d, + 0x28f8, 0x291c, 0x2935, 0x2994, + 0x297d, 0x299b, 0x299f, 0x2971, + 0x2972, 0x2973, 0x297c, 0x297f, + 0x2980, 0x2982, 0x2985, 0x2989, + 0x298a, 0x298b, 0x298c, 0x2999, + 0x295a, 0x2936, 0x299a, 0x2910, + 0x29b4, 0x2907, 0x290d, 0x28de, + 0x2954, 0x2953, 0x290c, 0x2952, + 0x2905, 0x290e, 0x2960, 0x295d, + 0x2997, 0x293d, 0x293c, 0x293b, + 0x299c, 0x29c4, 0x29d7, 0x2974, + 0x29a6, 0x29ae, 0x29ad, 0x29d6, + 0x29a5, 0x29aa, 0x29b0, 0x29a9, + 0x29a7, 0x29a4, 0x2977, 0x29ac, + 0x2976, 0x2975, 0x29a8, 0x29b2, + 0x29af, 0x29b1, 0x29db, 0x2978, + 0x28df, 0x28e1, 0x28e4, 0x28e2, + 0x28e3, 0x28e5, 0x28f1, 0x2962, + 0x2998, 0x2903, 0x2904, 0x29a1, 0x28f2, }; static const int mb_tbl_uni_docomo2code3_len = sizeof(mb_tbl_uni_docomo2code3_key)/sizeof(unsigned short); @@ -548,15 +548,15 @@ static const int mb_tbl_uni_kddi2code1_min = 0x0023; static const int mb_tbl_uni_kddi2code1_max = 0x00ae; static const unsigned short mb_tbl_uni_kddi2code1_key[] = { // 0x0023 - 0x00ae - 0x0023, 0x0030, 0x0031, 0x0032, - 0x0033, 0x0034, 0x0035, 0x0036, - 0x0037, 0x0038, 0x0039, 0x00a9, + 0x0023, 0x0030, 0x0031, 0x0032, + 0x0033, 0x0034, 0x0035, 0x0036, + 0x0037, 0x0038, 0x0039, 0x00a9, 0x00ae, }; static const unsigned short mb_tbl_uni_kddi2code1_value[] = { // 0x0023 - 0x00ae - 0x25bc, 0x2830, 0x27a6, 0x27a7, - 0x27a8, 0x27a9, 0x27aa, 0x27ab, - 0x27ac, 0x27ad, 0x27ae, 0x27dc, + 0x25bc, 0x2830, 0x27a6, 0x27a7, + 0x27a8, 0x27a9, 0x27aa, 0x27ab, + 0x27ac, 0x27ad, 0x27ae, 0x27dc, 0x27dd, }; static const int mb_tbl_uni_kddi2code1_len = sizeof(mb_tbl_uni_kddi2code1_key)/sizeof(unsigned short); @@ -565,65 +565,65 @@ static const int mb_tbl_uni_kddi2code2_min = 0x2002; static const int mb_tbl_uni_kddi2code2_max = 0x3299; static const unsigned short mb_tbl_uni_kddi2code2_key[] = { // 0x2002 - 0x3299 - 0x2002, 0x2003, 0x2005, 0x203c, - 0x2049, 0x2122, 0x2139, 0x2194, - 0x2195, 0x2196, 0x2197, 0x2198, - 0x2199, 0x21a9, 0x21aa, 0x231a, - 0x231b, 0x23e9, 0x23ea, 0x23eb, - 0x23ec, 0x23f0, 0x23f3, 0x25aa, - 0x25ab, 0x25b6, 0x25c0, 0x25fb, - 0x25fc, 0x25fd, 0x25fe, 0x2600, - 0x2601, 0x260e, 0x2611, 0x2614, - 0x2615, 0x261d, 0x263a, 0x2648, - 0x2649, 0x264a, 0x264b, 0x264c, - 0x264d, 0x264e, 0x264f, 0x2650, - 0x2651, 0x2652, 0x2653, 0x2660, - 0x2663, 0x2665, 0x2666, 0x2668, - 0x267b, 0x267f, 0x2693, 0x26a0, - 0x26a1, 0x26aa, 0x26ab, 0x26bd, - 0x26be, 0x26c4, 0x26c5, 0x26ce, - 0x26d4, 0x26ea, 0x26f2, 0x26f3, - 0x26f5, 0x26fa, 0x26fd, 0x2702, - 0x2705, 0x2708, 0x2709, 0x270a, - 0x270b, 0x270c, 0x270f, 0x2712, - 0x2714, 0x2716, 0x2728, 0x2733, - 0x2734, 0x2744, 0x2747, 0x274c, - 0x274e, 0x2753, 0x2757, 0x2764, - 0x2795, 0x2796, 0x2797, 0x27a1, - 0x27b0, 0x2934, 0x2935, 0x2b05, - 0x2b06, 0x2b07, 0x2b1b, 0x2b1c, - 0x2b50, 0x2b55, 0x3297, 0x3299, + 0x2002, 0x2003, 0x2005, 0x203c, + 0x2049, 0x2122, 0x2139, 0x2194, + 0x2195, 0x2196, 0x2197, 0x2198, + 0x2199, 0x21a9, 0x21aa, 0x231a, + 0x231b, 0x23e9, 0x23ea, 0x23eb, + 0x23ec, 0x23f0, 0x23f3, 0x25aa, + 0x25ab, 0x25b6, 0x25c0, 0x25fb, + 0x25fc, 0x25fd, 0x25fe, 0x2600, + 0x2601, 0x260e, 0x2611, 0x2614, + 0x2615, 0x261d, 0x263a, 0x2648, + 0x2649, 0x264a, 0x264b, 0x264c, + 0x264d, 0x264e, 0x264f, 0x2650, + 0x2651, 0x2652, 0x2653, 0x2660, + 0x2663, 0x2665, 0x2666, 0x2668, + 0x267b, 0x267f, 0x2693, 0x26a0, + 0x26a1, 0x26aa, 0x26ab, 0x26bd, + 0x26be, 0x26c4, 0x26c5, 0x26ce, + 0x26d4, 0x26ea, 0x26f2, 0x26f3, + 0x26f5, 0x26fa, 0x26fd, 0x2702, + 0x2705, 0x2708, 0x2709, 0x270a, + 0x270b, 0x270c, 0x270f, 0x2712, + 0x2714, 0x2716, 0x2728, 0x2733, + 0x2734, 0x2744, 0x2747, 0x274c, + 0x274e, 0x2753, 0x2757, 0x2764, + 0x2795, 0x2796, 0x2797, 0x27a1, + 0x27b0, 0x2934, 0x2935, 0x2b05, + 0x2b06, 0x2b07, 0x2b1b, 0x2b1c, + 0x2b50, 0x2b55, 0x3297, 0x3299, }; static const unsigned short mb_tbl_uni_kddi2code2_value[] = { // 0x2002 - 0x3299 - 0x2811, 0x2810, 0x2812, 0x2568, - 0x2567, 0x27d2, 0x27b7, 0x25b2, - 0x25b3, 0x27d0, 0x27d9, 0x27d1, - 0x27da, 0x27e1, 0x27e0, 0x27fe, - 0x27ff, 0x27b4, 0x27b3, 0x27c9, - 0x27c8, 0x2818, 0x2700, 0x27b6, - 0x27b5, 0x27b2, 0x27b1, 0x27bc, - 0x27bd, 0x27b8, 0x27b9, 0x270c, - 0x2711, 0x281a, 0x2840, 0x2710, - 0x281b, 0x277a, 0x277f, 0x2713, - 0x2714, 0x2715, 0x2716, 0x2717, - 0x2718, 0x2719, 0x271a, 0x271b, - 0x271c, 0x271d, 0x271e, 0x2825, - 0x2827, 0x24f0, 0x2826, 0x2740, - 0x25b1, 0x2703, 0x272d, 0x2705, - 0x270b, 0x27be, 0x27bf, 0x273a, - 0x273e, 0x2709, 0x2712, 0x271f, - 0x2708, 0x2852, 0x24ba, 0x281d, - 0x2738, 0x24bb, 0x27f5, 0x279a, - 0x27e2, 0x2737, 0x27a5, 0x25bb, - 0x282b, 0x282a, 0x2725, 0x2841, - 0x27db, 0x27d3, 0x24f6, 0x27c2, - 0x26fd, 0x270e, 0x26f0, 0x27d4, - 0x27d5, 0x2707, 0x2706, 0x2819, - 0x27c0, 0x27c1, 0x27d8, 0x27d6, - 0x2569, 0x2565, 0x2566, 0x27d7, - 0x27c3, 0x27c4, 0x27cd, 0x27cc, - 0x270f, 0x24f8, 0x24e4, 0x2775, + 0x2811, 0x2810, 0x2812, 0x2568, + 0x2567, 0x27d2, 0x27b7, 0x25b2, + 0x25b3, 0x27d0, 0x27d9, 0x27d1, + 0x27da, 0x27e1, 0x27e0, 0x27fe, + 0x27ff, 0x27b4, 0x27b3, 0x27c9, + 0x27c8, 0x2818, 0x2700, 0x27b6, + 0x27b5, 0x27b2, 0x27b1, 0x27bc, + 0x27bd, 0x27b8, 0x27b9, 0x270c, + 0x2711, 0x281a, 0x2840, 0x2710, + 0x281b, 0x277a, 0x277f, 0x2713, + 0x2714, 0x2715, 0x2716, 0x2717, + 0x2718, 0x2719, 0x271a, 0x271b, + 0x271c, 0x271d, 0x271e, 0x2825, + 0x2827, 0x24f0, 0x2826, 0x2740, + 0x25b1, 0x2703, 0x272d, 0x2705, + 0x270b, 0x27be, 0x27bf, 0x273a, + 0x273e, 0x2709, 0x2712, 0x271f, + 0x2708, 0x2852, 0x24ba, 0x281d, + 0x2738, 0x24bb, 0x27f5, 0x279a, + 0x27e2, 0x2737, 0x27a5, 0x25bb, + 0x282b, 0x282a, 0x2725, 0x2841, + 0x27db, 0x27d3, 0x24f6, 0x27c2, + 0x26fd, 0x270e, 0x26f0, 0x27d4, + 0x27d5, 0x2707, 0x2706, 0x2819, + 0x27c0, 0x27c1, 0x27d8, 0x27d6, + 0x2569, 0x2565, 0x2566, 0x27d7, + 0x27c3, 0x27c4, 0x27cd, 0x27cc, + 0x270f, 0x24f8, 0x24e4, 0x2775, }; static const int mb_tbl_uni_kddi2code2_len = sizeof(mb_tbl_uni_kddi2code2_key)/sizeof(unsigned short); @@ -632,263 +632,263 @@ static const int mb_tbl_uni_kddi2code3_min = 0x1f004; static const int mb_tbl_uni_kddi2code3_max = 0x1f6c0; static const unsigned short mb_tbl_uni_kddi2code3_key[] = { // 0x1f004 - 0x1f6c0 - 0xf004, 0xf0cf, 0xf170, 0xf171, - 0xf17e, 0xf17f, 0xf18e, 0xf191, - 0xf192, 0xf193, 0xf194, 0xf195, - 0xf197, 0xf198, 0xf199, 0xf19a, - 0xf1e8, 0xf1e9, 0xf1ea, 0xf1eb, - 0xf1ec, 0xf1ee, 0xf1ef, 0xf1f0, - 0xf1f7, 0xf1fa, 0xf202, 0xf22f, - 0xf233, 0xf235, 0xf239, 0xf23a, - 0xf250, 0xf251, 0xf300, 0xf301, - 0xf302, 0xf303, 0xf305, 0xf306, - 0xf308, 0xf309, 0xf30a, 0xf30b, - 0xf30c, 0xf30f, 0xf311, 0xf313, - 0xf314, 0xf319, 0xf31b, 0xf320, - 0xf330, 0xf331, 0xf334, 0xf335, - 0xf337, 0xf338, 0xf339, 0xf33a, - 0xf33b, 0xf33c, 0xf33d, 0xf33f, - 0xf340, 0xf341, 0xf342, 0xf344, - 0xf345, 0xf346, 0xf347, 0xf348, - 0xf349, 0xf34a, 0xf34c, 0xf34d, - 0xf34e, 0xf34f, 0xf351, 0xf352, - 0xf353, 0xf354, 0xf355, 0xf356, - 0xf357, 0xf358, 0xf359, 0xf35a, - 0xf35b, 0xf35c, 0xf35d, 0xf35e, - 0xf35f, 0xf360, 0xf361, 0xf362, - 0xf363, 0xf364, 0xf365, 0xf366, - 0xf367, 0xf368, 0xf369, 0xf36a, - 0xf36b, 0xf36c, 0xf36d, 0xf36e, - 0xf36f, 0xf370, 0xf371, 0xf372, - 0xf373, 0xf374, 0xf375, 0xf376, - 0xf377, 0xf378, 0xf379, 0xf37a, - 0xf37b, 0xf380, 0xf381, 0xf382, - 0xf383, 0xf384, 0xf385, 0xf386, - 0xf387, 0xf388, 0xf389, 0xf38a, - 0xf38b, 0xf38c, 0xf38d, 0xf38e, - 0xf38f, 0xf390, 0xf391, 0xf392, - 0xf393, 0xf3a1, 0xf3a2, 0xf3a3, - 0xf3a4, 0xf3a5, 0xf3a7, 0xf3a8, - 0xf3a9, 0xf3aa, 0xf3ab, 0xf3ac, - 0xf3ad, 0xf3ae, 0xf3af, 0xf3b0, - 0xf3b1, 0xf3b2, 0xf3b3, 0xf3b4, - 0xf3b5, 0xf3b6, 0xf3b8, 0xf3b9, - 0xf3ba, 0xf3bb, 0xf3bc, 0xf3be, - 0xf3bf, 0xf3c0, 0xf3c1, 0xf3c2, - 0xf3c3, 0xf3c4, 0xf3c6, 0xf3c8, - 0xf3ca, 0xf3e0, 0xf3e1, 0xf3e2, - 0xf3e3, 0xf3e5, 0xf3e6, 0xf3e7, - 0xf3e8, 0xf3e9, 0xf3ea, 0xf3eb, - 0xf3ec, 0xf3ed, 0xf3ee, 0xf3ef, - 0xf3f0, 0xf40c, 0xf40d, 0xf414, - 0xf417, 0xf418, 0xf419, 0xf41a, - 0xf41b, 0xf41c, 0xf41d, 0xf41e, - 0xf420, 0xf421, 0xf422, 0xf423, - 0xf424, 0xf425, 0xf427, 0xf428, - 0xf429, 0xf42b, 0xf42c, 0xf42d, - 0xf42e, 0xf42f, 0xf430, 0xf431, - 0xf432, 0xf433, 0xf434, 0xf435, - 0xf436, 0xf437, 0xf438, 0xf43b, - 0xf43c, 0xf43d, 0xf43e, 0xf440, - 0xf442, 0xf443, 0xf444, 0xf445, - 0xf446, 0xf447, 0xf448, 0xf449, - 0xf44a, 0xf44b, 0xf44c, 0xf44d, - 0xf44e, 0xf44f, 0xf451, 0xf452, - 0xf453, 0xf454, 0xf455, 0xf456, - 0xf457, 0xf458, 0xf459, 0xf45a, - 0xf45b, 0xf45c, 0xf45e, 0xf45f, - 0xf460, 0xf462, 0xf463, 0xf468, - 0xf469, 0xf46a, 0xf46e, 0xf46f, - 0xf470, 0xf471, 0xf472, 0xf473, - 0xf474, 0xf475, 0xf476, 0xf477, - 0xf478, 0xf479, 0xf47a, 0xf47b, - 0xf47c, 0xf47d, 0xf47e, 0xf47f, - 0xf480, 0xf483, 0xf484, 0xf485, - 0xf486, 0xf487, 0xf488, 0xf489, - 0xf48a, 0xf48b, 0xf48c, 0xf48d, - 0xf48f, 0xf490, 0xf491, 0xf493, - 0xf494, 0xf495, 0xf496, 0xf498, - 0xf499, 0xf49a, 0xf49b, 0xf49c, - 0xf49d, 0xf49e, 0xf4a1, 0xf4a2, - 0xf4a3, 0xf4a4, 0xf4a5, 0xf4a6, - 0xf4a7, 0xf4a8, 0xf4a9, 0xf4aa, - 0xf4ab, 0xf4ac, 0xf4ae, 0xf4af, - 0xf4b0, 0xf4b2, 0xf4b3, 0xf4b4, - 0xf4b5, 0xf4b8, 0xf4b9, 0xf4bb, - 0xf4bc, 0xf4bd, 0xf4be, 0xf4bf, - 0xf4c1, 0xf4c2, 0xf4c3, 0xf4c4, - 0xf4c5, 0xf4c6, 0xf4c7, 0xf4c8, - 0xf4c9, 0xf4ca, 0xf4cb, 0xf4cc, - 0xf4cd, 0xf4ce, 0xf4cf, 0xf4d0, - 0xf4d1, 0xf4d2, 0xf4d3, 0xf4d4, - 0xf4d5, 0xf4d6, 0xf4d7, 0xf4d8, - 0xf4d9, 0xf4da, 0xf4db, 0xf4dc, - 0xf4dd, 0xf4de, 0xf4df, 0xf4e0, - 0xf4e1, 0xf4e4, 0xf4e5, 0xf4e6, - 0xf4e7, 0xf4e8, 0xf4e9, 0xf4ea, - 0xf4eb, 0xf4f0, 0xf4f1, 0xf4f2, - 0xf4f3, 0xf4f4, 0xf4f6, 0xf4f7, - 0xf4f9, 0xf4fa, 0xf4fb, 0xf4fc, - 0xf503, 0xf50a, 0xf50b, 0xf50c, - 0xf50d, 0xf50e, 0xf50f, 0xf510, - 0xf511, 0xf512, 0xf514, 0xf516, - 0xf517, 0xf518, 0xf519, 0xf51e, - 0xf51f, 0xf520, 0xf521, 0xf522, - 0xf523, 0xf524, 0xf525, 0xf526, - 0xf527, 0xf528, 0xf529, 0xf52a, - 0xf52b, 0xf52e, 0xf530, 0xf534, - 0xf535, 0xf536, 0xf537, 0xf538, - 0xf539, 0xf53a, 0xf53b, 0xf53c, - 0xf53d, 0xf5fb, 0xf5fc, 0xf5fe, - 0xf5ff, 0xf601, 0xf602, 0xf603, - 0xf609, 0xf60a, 0xf60c, 0xf60d, - 0xf60f, 0xf612, 0xf613, 0xf614, - 0xf616, 0xf618, 0xf61a, 0xf61c, - 0xf620, 0xf621, 0xf622, 0xf623, - 0xf624, 0xf628, 0xf629, 0xf62a, - 0xf62b, 0xf62d, 0xf630, 0xf631, - 0xf632, 0xf633, 0xf635, 0xf637, - 0xf638, 0xf639, 0xf63a, 0xf63b, - 0xf63c, 0xf63d, 0xf63e, 0xf63f, - 0xf640, 0xf645, 0xf646, 0xf647, - 0xf648, 0xf649, 0xf64a, 0xf64b, - 0xf64c, 0xf64d, 0xf64e, 0xf64f, - 0xf680, 0xf683, 0xf685, 0xf687, - 0xf689, 0xf68c, 0xf68f, 0xf691, - 0xf692, 0xf693, 0xf697, 0xf69a, - 0xf6a2, 0xf6a5, 0xf6a7, 0xf6a8, - 0xf6a9, 0xf6ab, 0xf6ac, 0xf6ad, - 0xf6b2, 0xf6b6, 0xf6bb, 0xf6c0, + 0xf004, 0xf0cf, 0xf170, 0xf171, + 0xf17e, 0xf17f, 0xf18e, 0xf191, + 0xf192, 0xf193, 0xf194, 0xf195, + 0xf197, 0xf198, 0xf199, 0xf19a, + 0xf1e8, 0xf1e9, 0xf1ea, 0xf1eb, + 0xf1ec, 0xf1ee, 0xf1ef, 0xf1f0, + 0xf1f7, 0xf1fa, 0xf202, 0xf22f, + 0xf233, 0xf235, 0xf239, 0xf23a, + 0xf250, 0xf251, 0xf300, 0xf301, + 0xf302, 0xf303, 0xf305, 0xf306, + 0xf308, 0xf309, 0xf30a, 0xf30b, + 0xf30c, 0xf30f, 0xf311, 0xf313, + 0xf314, 0xf319, 0xf31b, 0xf320, + 0xf330, 0xf331, 0xf334, 0xf335, + 0xf337, 0xf338, 0xf339, 0xf33a, + 0xf33b, 0xf33c, 0xf33d, 0xf33f, + 0xf340, 0xf341, 0xf342, 0xf344, + 0xf345, 0xf346, 0xf347, 0xf348, + 0xf349, 0xf34a, 0xf34c, 0xf34d, + 0xf34e, 0xf34f, 0xf351, 0xf352, + 0xf353, 0xf354, 0xf355, 0xf356, + 0xf357, 0xf358, 0xf359, 0xf35a, + 0xf35b, 0xf35c, 0xf35d, 0xf35e, + 0xf35f, 0xf360, 0xf361, 0xf362, + 0xf363, 0xf364, 0xf365, 0xf366, + 0xf367, 0xf368, 0xf369, 0xf36a, + 0xf36b, 0xf36c, 0xf36d, 0xf36e, + 0xf36f, 0xf370, 0xf371, 0xf372, + 0xf373, 0xf374, 0xf375, 0xf376, + 0xf377, 0xf378, 0xf379, 0xf37a, + 0xf37b, 0xf380, 0xf381, 0xf382, + 0xf383, 0xf384, 0xf385, 0xf386, + 0xf387, 0xf388, 0xf389, 0xf38a, + 0xf38b, 0xf38c, 0xf38d, 0xf38e, + 0xf38f, 0xf390, 0xf391, 0xf392, + 0xf393, 0xf3a1, 0xf3a2, 0xf3a3, + 0xf3a4, 0xf3a5, 0xf3a7, 0xf3a8, + 0xf3a9, 0xf3aa, 0xf3ab, 0xf3ac, + 0xf3ad, 0xf3ae, 0xf3af, 0xf3b0, + 0xf3b1, 0xf3b2, 0xf3b3, 0xf3b4, + 0xf3b5, 0xf3b6, 0xf3b8, 0xf3b9, + 0xf3ba, 0xf3bb, 0xf3bc, 0xf3be, + 0xf3bf, 0xf3c0, 0xf3c1, 0xf3c2, + 0xf3c3, 0xf3c4, 0xf3c6, 0xf3c8, + 0xf3ca, 0xf3e0, 0xf3e1, 0xf3e2, + 0xf3e3, 0xf3e5, 0xf3e6, 0xf3e7, + 0xf3e8, 0xf3e9, 0xf3ea, 0xf3eb, + 0xf3ec, 0xf3ed, 0xf3ee, 0xf3ef, + 0xf3f0, 0xf40c, 0xf40d, 0xf414, + 0xf417, 0xf418, 0xf419, 0xf41a, + 0xf41b, 0xf41c, 0xf41d, 0xf41e, + 0xf420, 0xf421, 0xf422, 0xf423, + 0xf424, 0xf425, 0xf427, 0xf428, + 0xf429, 0xf42b, 0xf42c, 0xf42d, + 0xf42e, 0xf42f, 0xf430, 0xf431, + 0xf432, 0xf433, 0xf434, 0xf435, + 0xf436, 0xf437, 0xf438, 0xf43b, + 0xf43c, 0xf43d, 0xf43e, 0xf440, + 0xf442, 0xf443, 0xf444, 0xf445, + 0xf446, 0xf447, 0xf448, 0xf449, + 0xf44a, 0xf44b, 0xf44c, 0xf44d, + 0xf44e, 0xf44f, 0xf451, 0xf452, + 0xf453, 0xf454, 0xf455, 0xf456, + 0xf457, 0xf458, 0xf459, 0xf45a, + 0xf45b, 0xf45c, 0xf45e, 0xf45f, + 0xf460, 0xf462, 0xf463, 0xf468, + 0xf469, 0xf46a, 0xf46e, 0xf46f, + 0xf470, 0xf471, 0xf472, 0xf473, + 0xf474, 0xf475, 0xf476, 0xf477, + 0xf478, 0xf479, 0xf47a, 0xf47b, + 0xf47c, 0xf47d, 0xf47e, 0xf47f, + 0xf480, 0xf483, 0xf484, 0xf485, + 0xf486, 0xf487, 0xf488, 0xf489, + 0xf48a, 0xf48b, 0xf48c, 0xf48d, + 0xf48f, 0xf490, 0xf491, 0xf493, + 0xf494, 0xf495, 0xf496, 0xf498, + 0xf499, 0xf49a, 0xf49b, 0xf49c, + 0xf49d, 0xf49e, 0xf4a1, 0xf4a2, + 0xf4a3, 0xf4a4, 0xf4a5, 0xf4a6, + 0xf4a7, 0xf4a8, 0xf4a9, 0xf4aa, + 0xf4ab, 0xf4ac, 0xf4ae, 0xf4af, + 0xf4b0, 0xf4b2, 0xf4b3, 0xf4b4, + 0xf4b5, 0xf4b8, 0xf4b9, 0xf4bb, + 0xf4bc, 0xf4bd, 0xf4be, 0xf4bf, + 0xf4c1, 0xf4c2, 0xf4c3, 0xf4c4, + 0xf4c5, 0xf4c6, 0xf4c7, 0xf4c8, + 0xf4c9, 0xf4ca, 0xf4cb, 0xf4cc, + 0xf4cd, 0xf4ce, 0xf4cf, 0xf4d0, + 0xf4d1, 0xf4d2, 0xf4d3, 0xf4d4, + 0xf4d5, 0xf4d6, 0xf4d7, 0xf4d8, + 0xf4d9, 0xf4da, 0xf4db, 0xf4dc, + 0xf4dd, 0xf4de, 0xf4df, 0xf4e0, + 0xf4e1, 0xf4e4, 0xf4e5, 0xf4e6, + 0xf4e7, 0xf4e8, 0xf4e9, 0xf4ea, + 0xf4eb, 0xf4f0, 0xf4f1, 0xf4f2, + 0xf4f3, 0xf4f4, 0xf4f6, 0xf4f7, + 0xf4f9, 0xf4fa, 0xf4fb, 0xf4fc, + 0xf503, 0xf50a, 0xf50b, 0xf50c, + 0xf50d, 0xf50e, 0xf50f, 0xf510, + 0xf511, 0xf512, 0xf514, 0xf516, + 0xf517, 0xf518, 0xf519, 0xf51e, + 0xf51f, 0xf520, 0xf521, 0xf522, + 0xf523, 0xf524, 0xf525, 0xf526, + 0xf527, 0xf528, 0xf529, 0xf52a, + 0xf52b, 0xf52e, 0xf530, 0xf534, + 0xf535, 0xf536, 0xf537, 0xf538, + 0xf539, 0xf53a, 0xf53b, 0xf53c, + 0xf53d, 0xf5fb, 0xf5fc, 0xf5fe, + 0xf5ff, 0xf601, 0xf602, 0xf603, + 0xf609, 0xf60a, 0xf60c, 0xf60d, + 0xf60f, 0xf612, 0xf613, 0xf614, + 0xf616, 0xf618, 0xf61a, 0xf61c, + 0xf620, 0xf621, 0xf622, 0xf623, + 0xf624, 0xf628, 0xf629, 0xf62a, + 0xf62b, 0xf62d, 0xf630, 0xf631, + 0xf632, 0xf633, 0xf635, 0xf637, + 0xf638, 0xf639, 0xf63a, 0xf63b, + 0xf63c, 0xf63d, 0xf63e, 0xf63f, + 0xf640, 0xf645, 0xf646, 0xf647, + 0xf648, 0xf649, 0xf64a, 0xf64b, + 0xf64c, 0xf64d, 0xf64e, 0xf64f, + 0xf680, 0xf683, 0xf685, 0xf687, + 0xf689, 0xf68c, 0xf68f, 0xf691, + 0xf692, 0xf693, 0xf697, 0xf69a, + 0xf6a2, 0xf6a5, 0xf6a7, 0xf6a8, + 0xf6a9, 0xf6ab, 0xf6ac, 0xf6ad, + 0xf6b2, 0xf6b6, 0xf6bb, 0xf6c0, }; static const unsigned short mb_tbl_uni_kddi2code3_value[] = { // 0x1f004 - 0x1f6c0 - 0x24bc, 0x25a7, 0x255e, 0x255f, - 0x2560, 0x272a, 0x2561, 0x282f, - 0x24d0, 0x27fc, 0x24d3, 0x284c, - 0x2831, 0x276c, 0x2793, 0x24bd, - 0x2549, 0x2546, 0x24c0, 0x2545, - 0x2548, 0x2547, 0x2750, 0x254a, - 0x24c1, 0x27f7, 0x24d2, 0x24d6, - 0x24d5, 0x24d4, 0x24d1, 0x24d7, - 0x277b, 0x283f, 0x26ed, 0x281c, - 0x2533, 0x253c, 0x253f, 0x24c5, - 0x253d, 0x2743, 0x25b4, 0x258b, - 0x2597, 0x2837, 0x282c, 0x282e, - 0x282d, 0x270a, 0x270d, 0x26ec, - 0x2570, 0x25b5, 0x2766, 0x24e1, - 0x2768, 0x274e, 0x2851, 0x24df, - 0x2767, 0x2581, 0x256e, 0x25ba, - 0x2797, 0x2752, 0x24b8, 0x256f, - 0x2506, 0x2507, 0x256c, 0x256a, - 0x2751, 0x2505, 0x256d, 0x256b, - 0x2504, 0x2592, 0x2571, 0x2756, - 0x2758, 0x275a, 0x2573, 0x2748, - 0x2574, 0x24fe, 0x2759, 0x24ff, - 0x2501, 0x2838, 0x2500, 0x24fa, - 0x24fc, 0x2572, 0x24fd, 0x2502, - 0x2503, 0x25a8, 0x2771, 0x24fb, - 0x2535, 0x2582, 0x2583, 0x2584, - 0x2585, 0x2586, 0x2587, 0x258e, - 0x2591, 0x2754, 0x2508, 0x2509, - 0x2755, 0x2730, 0x24f9, 0x24e2, - 0x2745, 0x2746, 0x2576, 0x2747, - 0x24e3, 0x2823, 0x2753, 0x2824, - 0x2539, 0x274d, 0x253b, 0x2863, - 0x2536, 0x24e6, 0x24e7, 0x26f3, - 0x2575, 0x24c4, 0x252e, 0x252f, - 0x2532, 0x2538, 0x253a, 0x2531, - 0x2530, 0x26f1, 0x252d, 0x257a, - 0x2787, 0x279b, 0x278c, 0x2820, - 0x2540, 0x2822, 0x2722, 0x2742, - 0x2821, 0x274a, 0x2749, 0x26f2, - 0x2528, 0x274c, 0x257b, 0x25a6, - 0x2855, 0x2789, 0x278a, 0x2578, - 0x2527, 0x278b, 0x2517, 0x273b, - 0x24f7, 0x281e, 0x273d, 0x273c, - 0x26ef, 0x2579, 0x24be, 0x273f, - 0x2529, 0x272f, 0x2847, 0x2731, - 0x24c9, 0x24ca, 0x272e, 0x2727, - 0x24cc, 0x253e, 0x2728, 0x24cb, - 0x2541, 0x2544, 0x2741, 0x2542, - 0x2543, 0x25b6, 0x255a, 0x255b, - 0x255c, 0x2557, 0x285e, 0x2537, - 0x2556, 0x2761, 0x258f, 0x2590, - 0x2555, 0x2757, 0x24bf, 0x24c6, - 0x2764, 0x25ae, 0x2760, 0x2558, - 0x2763, 0x255d, 0x2553, 0x2859, - 0x2559, 0x2857, 0x275b, 0x275f, - 0x2577, 0x26f4, 0x275c, 0x275d, - 0x2765, 0x2762, 0x275e, 0x2858, - 0x257e, 0x2580, 0x2772, 0x2828, - 0x2829, 0x251b, 0x251c, 0x257f, - 0x24d8, 0x24d9, 0x2783, 0x2784, - 0x2777, 0x2521, 0x251f, 0x277d, - 0x2520, 0x251e, 0x2860, 0x24e9, - 0x2782, 0x24de, 0x284d, 0x25af, - 0x25a3, 0x24ee, 0x24ef, 0x2791, - 0x2788, 0x2720, 0x284e, 0x2563, - 0x279e, 0x24ea, 0x2562, 0x2780, - 0x277e, 0x2785, 0x24c8, 0x2526, - 0x2534, 0x254b, 0x254c, 0x254d, - 0x254e, 0x254f, 0x2550, 0x2551, - 0x2552, 0x257c, 0x257d, 0x274f, - 0x2856, 0x2792, 0x2770, 0x2773, - 0x277c, 0x2554, 0x278d, 0x24eb, - 0x278f, 0x24ec, 0x24ed, 0x2794, - 0x24e5, 0x276f, 0x25b0, 0x2798, - 0x2861, 0x24e0, 0x2525, 0x25ad, - 0x26fb, 0x26fc, 0x24f1, 0x276e, - 0x24f2, 0x24f3, 0x24f4, 0x24f5, - 0x258c, 0x2833, 0x26fa, 0x2769, - 0x26fe, 0x26f9, 0x2834, 0x2835, - 0x276a, 0x2778, 0x2779, 0x276d, - 0x2594, 0x2781, 0x2774, 0x2776, - 0x274b, 0x27fd, 0x2800, 0x2801, - 0x2809, 0x2593, 0x24c7, 0x284f, - 0x24b9, 0x2806, 0x27e6, 0x2790, - 0x2813, 0x2814, 0x27e5, 0x27ed, - 0x27e7, 0x27ee, 0x27f0, 0x27f9, - 0x27fa, 0x27f8, 0x27e8, 0x27f1, - 0x27e4, 0x2724, 0x27f4, 0x2726, - 0x2849, 0x27f2, 0x27ef, 0x2721, - 0x27ec, 0x2723, 0x27e9, 0x27ea, - 0x27eb, 0x27f3, 0x27a1, 0x27e3, - 0x24dd, 0x27a2, 0x281f, 0x27a4, - 0x272c, 0x2816, 0x2817, 0x27a3, - 0x25a9, 0x2815, 0x259a, 0x279f, - 0x2848, 0x280f, 0x280c, 0x2846, - 0x24db, 0x24dc, 0x24cf, 0x2799, - 0x2802, 0x2786, 0x2850, 0x2804, - 0x284b, 0x2795, 0x2808, 0x280d, - 0x279c, 0x2843, 0x284a, 0x283a, - 0x279d, 0x27a0, 0x2796, 0x2845, - 0x280e, 0x2842, 0x2844, 0x24ce, - 0x27af, 0x283b, 0x283c, 0x283d, - 0x283e, 0x258d, 0x26ff, 0x2807, - 0x280b, 0x2862, 0x2805, 0x2803, - 0x278e, 0x24da, 0x2704, 0x27ce, - 0x27cf, 0x27ca, 0x27cb, 0x27ba, - 0x27bb, 0x27de, 0x27df, 0x27c7, - 0x27c6, 0x2854, 0x2744, 0x27f6, - 0x25a4, 0x25b8, 0x259c, 0x26f5, - 0x285a, 0x2518, 0x2510, 0x285b, - 0x250a, 0x2514, 0x285d, 0x250b, - 0x250e, 0x251a, 0x2519, 0x276b, - 0x26f6, 0x2595, 0x25a1, 0x250d, - 0x250c, 0x2511, 0x259f, 0x250f, - 0x26f8, 0x26f7, 0x2516, 0x285c, - 0x2515, 0x2513, 0x2832, 0x2512, - 0x25b7, 0x259b, 0x2599, 0x259d, - 0x25a2, 0x2598, 0x2596, 0x25a0, - 0x259e, 0x2522, 0x2523, 0x2524, - 0x2588, 0x258a, 0x2589, 0x25bd, - 0x25be, 0x25bf, 0x25c0, 0x251d, - 0x285f, 0x2739, 0x2734, 0x2853, - 0x25a5, 0x2733, 0x272b, 0x252b, - 0x252a, 0x252c, 0x2735, 0x2736, - 0x24cd, 0x26ee, 0x24c2, 0x25ab, - 0x2564, 0x27c5, 0x2701, 0x2702, - 0x2732, 0x25aa, 0x2729, 0x24c3, + 0x24bc, 0x25a7, 0x255e, 0x255f, + 0x2560, 0x272a, 0x2561, 0x282f, + 0x24d0, 0x27fc, 0x24d3, 0x284c, + 0x2831, 0x276c, 0x2793, 0x24bd, + 0x2549, 0x2546, 0x24c0, 0x2545, + 0x2548, 0x2547, 0x2750, 0x254a, + 0x24c1, 0x27f7, 0x24d2, 0x24d6, + 0x24d5, 0x24d4, 0x24d1, 0x24d7, + 0x277b, 0x283f, 0x26ed, 0x281c, + 0x2533, 0x253c, 0x253f, 0x24c5, + 0x253d, 0x2743, 0x25b4, 0x258b, + 0x2597, 0x2837, 0x282c, 0x282e, + 0x282d, 0x270a, 0x270d, 0x26ec, + 0x2570, 0x25b5, 0x2766, 0x24e1, + 0x2768, 0x274e, 0x2851, 0x24df, + 0x2767, 0x2581, 0x256e, 0x25ba, + 0x2797, 0x2752, 0x24b8, 0x256f, + 0x2506, 0x2507, 0x256c, 0x256a, + 0x2751, 0x2505, 0x256d, 0x256b, + 0x2504, 0x2592, 0x2571, 0x2756, + 0x2758, 0x275a, 0x2573, 0x2748, + 0x2574, 0x24fe, 0x2759, 0x24ff, + 0x2501, 0x2838, 0x2500, 0x24fa, + 0x24fc, 0x2572, 0x24fd, 0x2502, + 0x2503, 0x25a8, 0x2771, 0x24fb, + 0x2535, 0x2582, 0x2583, 0x2584, + 0x2585, 0x2586, 0x2587, 0x258e, + 0x2591, 0x2754, 0x2508, 0x2509, + 0x2755, 0x2730, 0x24f9, 0x24e2, + 0x2745, 0x2746, 0x2576, 0x2747, + 0x24e3, 0x2823, 0x2753, 0x2824, + 0x2539, 0x274d, 0x253b, 0x2863, + 0x2536, 0x24e6, 0x24e7, 0x26f3, + 0x2575, 0x24c4, 0x252e, 0x252f, + 0x2532, 0x2538, 0x253a, 0x2531, + 0x2530, 0x26f1, 0x252d, 0x257a, + 0x2787, 0x279b, 0x278c, 0x2820, + 0x2540, 0x2822, 0x2722, 0x2742, + 0x2821, 0x274a, 0x2749, 0x26f2, + 0x2528, 0x274c, 0x257b, 0x25a6, + 0x2855, 0x2789, 0x278a, 0x2578, + 0x2527, 0x278b, 0x2517, 0x273b, + 0x24f7, 0x281e, 0x273d, 0x273c, + 0x26ef, 0x2579, 0x24be, 0x273f, + 0x2529, 0x272f, 0x2847, 0x2731, + 0x24c9, 0x24ca, 0x272e, 0x2727, + 0x24cc, 0x253e, 0x2728, 0x24cb, + 0x2541, 0x2544, 0x2741, 0x2542, + 0x2543, 0x25b6, 0x255a, 0x255b, + 0x255c, 0x2557, 0x285e, 0x2537, + 0x2556, 0x2761, 0x258f, 0x2590, + 0x2555, 0x2757, 0x24bf, 0x24c6, + 0x2764, 0x25ae, 0x2760, 0x2558, + 0x2763, 0x255d, 0x2553, 0x2859, + 0x2559, 0x2857, 0x275b, 0x275f, + 0x2577, 0x26f4, 0x275c, 0x275d, + 0x2765, 0x2762, 0x275e, 0x2858, + 0x257e, 0x2580, 0x2772, 0x2828, + 0x2829, 0x251b, 0x251c, 0x257f, + 0x24d8, 0x24d9, 0x2783, 0x2784, + 0x2777, 0x2521, 0x251f, 0x277d, + 0x2520, 0x251e, 0x2860, 0x24e9, + 0x2782, 0x24de, 0x284d, 0x25af, + 0x25a3, 0x24ee, 0x24ef, 0x2791, + 0x2788, 0x2720, 0x284e, 0x2563, + 0x279e, 0x24ea, 0x2562, 0x2780, + 0x277e, 0x2785, 0x24c8, 0x2526, + 0x2534, 0x254b, 0x254c, 0x254d, + 0x254e, 0x254f, 0x2550, 0x2551, + 0x2552, 0x257c, 0x257d, 0x274f, + 0x2856, 0x2792, 0x2770, 0x2773, + 0x277c, 0x2554, 0x278d, 0x24eb, + 0x278f, 0x24ec, 0x24ed, 0x2794, + 0x24e5, 0x276f, 0x25b0, 0x2798, + 0x2861, 0x24e0, 0x2525, 0x25ad, + 0x26fb, 0x26fc, 0x24f1, 0x276e, + 0x24f2, 0x24f3, 0x24f4, 0x24f5, + 0x258c, 0x2833, 0x26fa, 0x2769, + 0x26fe, 0x26f9, 0x2834, 0x2835, + 0x276a, 0x2778, 0x2779, 0x276d, + 0x2594, 0x2781, 0x2774, 0x2776, + 0x274b, 0x27fd, 0x2800, 0x2801, + 0x2809, 0x2593, 0x24c7, 0x284f, + 0x24b9, 0x2806, 0x27e6, 0x2790, + 0x2813, 0x2814, 0x27e5, 0x27ed, + 0x27e7, 0x27ee, 0x27f0, 0x27f9, + 0x27fa, 0x27f8, 0x27e8, 0x27f1, + 0x27e4, 0x2724, 0x27f4, 0x2726, + 0x2849, 0x27f2, 0x27ef, 0x2721, + 0x27ec, 0x2723, 0x27e9, 0x27ea, + 0x27eb, 0x27f3, 0x27a1, 0x27e3, + 0x24dd, 0x27a2, 0x281f, 0x27a4, + 0x272c, 0x2816, 0x2817, 0x27a3, + 0x25a9, 0x2815, 0x259a, 0x279f, + 0x2848, 0x280f, 0x280c, 0x2846, + 0x24db, 0x24dc, 0x24cf, 0x2799, + 0x2802, 0x2786, 0x2850, 0x2804, + 0x284b, 0x2795, 0x2808, 0x280d, + 0x279c, 0x2843, 0x284a, 0x283a, + 0x279d, 0x27a0, 0x2796, 0x2845, + 0x280e, 0x2842, 0x2844, 0x24ce, + 0x27af, 0x283b, 0x283c, 0x283d, + 0x283e, 0x258d, 0x26ff, 0x2807, + 0x280b, 0x2862, 0x2805, 0x2803, + 0x278e, 0x24da, 0x2704, 0x27ce, + 0x27cf, 0x27ca, 0x27cb, 0x27ba, + 0x27bb, 0x27de, 0x27df, 0x27c7, + 0x27c6, 0x2854, 0x2744, 0x27f6, + 0x25a4, 0x25b8, 0x259c, 0x26f5, + 0x285a, 0x2518, 0x2510, 0x285b, + 0x250a, 0x2514, 0x285d, 0x250b, + 0x250e, 0x251a, 0x2519, 0x276b, + 0x26f6, 0x2595, 0x25a1, 0x250d, + 0x250c, 0x2511, 0x259f, 0x250f, + 0x26f8, 0x26f7, 0x2516, 0x285c, + 0x2515, 0x2513, 0x2832, 0x2512, + 0x25b7, 0x259b, 0x2599, 0x259d, + 0x25a2, 0x2598, 0x2596, 0x25a0, + 0x259e, 0x2522, 0x2523, 0x2524, + 0x2588, 0x258a, 0x2589, 0x25bd, + 0x25be, 0x25bf, 0x25c0, 0x251d, + 0x285f, 0x2739, 0x2734, 0x2853, + 0x25a5, 0x2733, 0x272b, 0x252b, + 0x252a, 0x252c, 0x2735, 0x2736, + 0x24cd, 0x26ee, 0x24c2, 0x25ab, + 0x2564, 0x27c5, 0x2701, 0x2702, + 0x2732, 0x25aa, 0x2729, 0x24c3, }; static const int mb_tbl_uni_kddi2code3_len = sizeof(mb_tbl_uni_kddi2code3_key)/sizeof(unsigned short); @@ -897,15 +897,15 @@ static const int mb_tbl_uni_sb2code1_min = 0x0023; static const int mb_tbl_uni_sb2code1_max = 0x00ae; static const unsigned short mb_tbl_uni_sb2code1_key[] = { // 0x0023 - 0x00ae - 0x0023, 0x0030, 0x0031, 0x0032, - 0x0033, 0x0034, 0x0035, 0x0036, - 0x0037, 0x0038, 0x0039, 0x00a9, + 0x0023, 0x0030, 0x0031, 0x0032, + 0x0033, 0x0034, 0x0035, 0x0036, + 0x0037, 0x0038, 0x0039, 0x00a9, 0x00ae, }; static const unsigned short mb_tbl_uni_sb2code1_value[] = { // 0x0023 - 0x00ae - 0x2817, 0x282c, 0x2823, 0x2824, - 0x2825, 0x2826, 0x2827, 0x2828, - 0x2829, 0x282a, 0x282b, 0x2855, + 0x2817, 0x282c, 0x2823, 0x2824, + 0x2825, 0x2826, 0x2827, 0x2828, + 0x2829, 0x282a, 0x282b, 0x2855, 0x2856, }; static const int mb_tbl_uni_sb2code1_len = sizeof(mb_tbl_uni_sb2code1_key)/sizeof(unsigned short); @@ -914,41 +914,41 @@ static const int mb_tbl_uni_sb2code2_min = 0x2122; static const int mb_tbl_uni_sb2code2_max = 0x3299; static const unsigned short mb_tbl_uni_sb2code2_key[] = { // 0x2122 - 0x3299 - 0x2122, 0x2196, 0x2197, 0x2198, - 0x2199, 0x23e9, 0x23ea, 0x25b6, - 0x25c0, 0x2600, 0x2601, 0x260e, - 0x2614, 0x2615, 0x261d, 0x263a, - 0x2648, 0x2649, 0x264a, 0x264b, - 0x264c, 0x264d, 0x264e, 0x264f, - 0x2650, 0x2651, 0x2652, 0x2653, - 0x2660, 0x2663, 0x2665, 0x2666, - 0x2668, 0x267f, 0x26a0, 0x26a1, - 0x26bd, 0x26be, 0x26c4, 0x26ce, - 0x26ea, 0x26f2, 0x26f3, 0x26f5, - 0x26fa, 0x26fd, 0x2702, 0x2708, - 0x270a, 0x270b, 0x270c, 0x2728, - 0x2733, 0x2734, 0x274c, 0x2753, - 0x2754, 0x2755, 0x2757, 0x2764, + 0x2122, 0x2196, 0x2197, 0x2198, + 0x2199, 0x23e9, 0x23ea, 0x25b6, + 0x25c0, 0x2600, 0x2601, 0x260e, + 0x2614, 0x2615, 0x261d, 0x263a, + 0x2648, 0x2649, 0x264a, 0x264b, + 0x264c, 0x264d, 0x264e, 0x264f, + 0x2650, 0x2651, 0x2652, 0x2653, + 0x2660, 0x2663, 0x2665, 0x2666, + 0x2668, 0x267f, 0x26a0, 0x26a1, + 0x26bd, 0x26be, 0x26c4, 0x26ce, + 0x26ea, 0x26f2, 0x26f3, 0x26f5, + 0x26fa, 0x26fd, 0x2702, 0x2708, + 0x270a, 0x270b, 0x270c, 0x2728, + 0x2733, 0x2734, 0x274c, 0x2753, + 0x2754, 0x2755, 0x2757, 0x2764, 0x27a1, 0x27bf, 0x2b05, 0x2b06, - 0x2b07, 0x2b50, 0x2b55, 0x303d, + 0x2b07, 0x2b50, 0x2b55, 0x303d, 0x3297, 0x3299, }; static const unsigned short mb_tbl_uni_sb2code2_value[] = { // 0x2122 - 0x3299 - 0x2b2e, 0x283e, 0x283d, 0x283f, - 0x2840, 0x2843, 0x2844, 0x2841, - 0x2842, 0x296a, 0x2969, 0x2929, - 0x296b, 0x2965, 0x292f, 0x2aac, - 0x2846, 0x2847, 0x2848, 0x2849, - 0x284a, 0x284b, 0x284c, 0x284d, - 0x284e, 0x284f, 0x2850, 0x2851, - 0x2815, 0x2816, 0x2813, 0x2814, - 0x27cb, 0x2811, 0x2859, 0x27e5, - 0x2938, 0x2936, 0x2968, 0x2852, - 0x2957, 0x27c9, 0x2934, 0x293c, - 0x27ca, 0x295a, 0x2992, 0x293d, - 0x2930, 0x2932, 0x2931, 0x29ad, - 0x280d, 0x280c, 0x29b2, 0x2940, - 0x29b5, 0x29b6, 0x2941, 0x2942, + 0x2b2e, 0x283e, 0x283d, 0x283f, + 0x2840, 0x2843, 0x2844, 0x2841, + 0x2842, 0x296a, 0x2969, 0x2929, + 0x296b, 0x2965, 0x292f, 0x2aac, + 0x2846, 0x2847, 0x2848, 0x2849, + 0x284a, 0x284b, 0x284c, 0x284d, + 0x284e, 0x284f, 0x2850, 0x2851, + 0x2815, 0x2816, 0x2813, 0x2814, + 0x27cb, 0x2811, 0x2859, 0x27e5, + 0x2938, 0x2936, 0x2968, 0x2852, + 0x2957, 0x27c9, 0x2934, 0x293c, + 0x27ca, 0x295a, 0x2992, 0x293d, + 0x2930, 0x2932, 0x2931, 0x29ad, + 0x280d, 0x280c, 0x29b2, 0x2940, + 0x29b5, 0x29b6, 0x2941, 0x2942, 0x283b, 0x2818, 0x283c, 0x2839, 0x283a, 0x29ae, 0x29b1, 0x27d4, 0x298c, 0x2994, }; @@ -959,201 +959,201 @@ static const int mb_tbl_uni_sb2code3_min = 0x1f004; static const int mb_tbl_uni_sb2code3_max = 0x1f6c0; static const unsigned short mb_tbl_uni_sb2code3_key[] = { // 0x1f004 - 0x1f6c0 - 0xf004, 0xf170, 0xf171, 0xf17e, - 0xf17f, 0xf18e, 0xf192, 0xf194, - 0xf195, 0xf197, 0xf199, 0xf19a, - 0xf1e8, 0xf1e9, 0xf1ea, 0xf1eb, - 0xf1ec, 0xf1ee, 0xf1ef, 0xf1f0, - 0xf1f7, 0xf1fa, 0xf201, 0xf202, - 0xf21a, 0xf22f, 0xf233, 0xf235, - 0xf236, 0xf237, 0xf238, 0xf239, - 0xf23a, 0xf250, 0xf300, 0xf302, - 0xf303, 0xf304, 0xf305, 0xf306, - 0xf307, 0xf308, 0xf30a, 0xf319, - 0xf31f, 0xf334, 0xf335, 0xf337, - 0xf338, 0xf339, 0xf33a, 0xf33b, - 0xf33e, 0xf340, 0xf341, 0xf342, - 0xf343, 0xf345, 0xf346, 0xf349, - 0xf34a, 0xf34e, 0xf353, 0xf354, - 0xf358, 0xf359, 0xf35a, 0xf35b, - 0xf35c, 0xf35d, 0xf35e, 0xf35f, - 0xf361, 0xf362, 0xf363, 0xf366, - 0xf367, 0xf370, 0xf371, 0xf372, - 0xf373, 0xf374, 0xf375, 0xf376, - 0xf378, 0xf37a, 0xf37b, 0xf380, - 0xf381, 0xf382, 0xf383, 0xf384, - 0xf385, 0xf386, 0xf387, 0xf388, - 0xf389, 0xf38c, 0xf38d, 0xf38e, - 0xf38f, 0xf390, 0xf391, 0xf392, - 0xf393, 0xf3a1, 0xf3a2, 0xf3a4, - 0xf3a5, 0xf3a6, 0xf3a7, 0xf3a8, - 0xf3a9, 0xf3ab, 0xf3ac, 0xf3af, - 0xf3b0, 0xf3b1, 0xf3b5, 0xf3b6, - 0xf3b7, 0xf3b8, 0xf3ba, 0xf3be, - 0xf3bf, 0xf3c0, 0xf3c1, 0xf3c3, - 0xf3c4, 0xf3c6, 0xf3c8, 0xf3ca, - 0xf3e0, 0xf3e2, 0xf3e3, 0xf3e5, - 0xf3e6, 0xf3e7, 0xf3e8, 0xf3e9, - 0xf3ea, 0xf3eb, 0xf3ec, 0xf3ed, - 0xf3ef, 0xf3f0, 0xf40d, 0xf40e, - 0xf411, 0xf412, 0xf414, 0xf417, - 0xf418, 0xf419, 0xf41a, 0xf41b, - 0xf41f, 0xf420, 0xf424, 0xf426, - 0xf427, 0xf428, 0xf42b, 0xf42c, - 0xf42d, 0xf42e, 0xf42f, 0xf430, - 0xf431, 0xf433, 0xf434, 0xf435, - 0xf436, 0xf437, 0xf438, 0xf439, - 0xf43a, 0xf43b, 0xf440, 0xf442, - 0xf443, 0xf444, 0xf446, 0xf447, - 0xf448, 0xf449, 0xf44a, 0xf44b, - 0xf44c, 0xf44d, 0xf44e, 0xf44f, - 0xf450, 0xf451, 0xf452, 0xf454, - 0xf455, 0xf457, 0xf458, 0xf459, - 0xf45c, 0xf45f, 0xf460, 0xf461, - 0xf462, 0xf463, 0xf466, 0xf467, - 0xf468, 0xf469, 0xf46b, 0xf46e, - 0xf46f, 0xf471, 0xf472, 0xf473, - 0xf474, 0xf475, 0xf476, 0xf477, - 0xf478, 0xf47b, 0xf47c, 0xf47d, - 0xf47e, 0xf47f, 0xf480, 0xf481, - 0xf482, 0xf483, 0xf484, 0xf485, - 0xf486, 0xf487, 0xf488, 0xf489, - 0xf48a, 0xf48b, 0xf48d, 0xf48e, - 0xf48f, 0xf490, 0xf491, 0xf492, - 0xf493, 0xf494, 0xf497, 0xf498, - 0xf499, 0xf49a, 0xf49b, 0xf49c, - 0xf49d, 0xf49f, 0xf4a1, 0xf4a2, - 0xf4a3, 0xf4a4, 0xf4a6, 0xf4a8, - 0xf4a9, 0xf4aa, 0xf4b0, 0xf4b1, - 0xf4b9, 0xf4ba, 0xf4bb, 0xf4bc, - 0xf4bd, 0xf4bf, 0xf4c0, 0xf4d6, - 0xf4dd, 0xf4e0, 0xf4e1, 0xf4e2, - 0xf4e3, 0xf4e9, 0xf4eb, 0xf4ee, - 0xf4f1, 0xf4f2, 0xf4f3, 0xf4f4, - 0xf4f6, 0xf4f7, 0xf4fa, 0xf4fb, - 0xf4fc, 0xf50a, 0xf50d, 0xf511, - 0xf512, 0xf513, 0xf514, 0xf51d, - 0xf51e, 0xf525, 0xf528, 0xf52b, - 0xf52f, 0xf530, 0xf531, 0xf532, - 0xf533, 0xf534, 0xf550, 0xf551, - 0xf552, 0xf553, 0xf554, 0xf555, - 0xf556, 0xf557, 0xf558, 0xf559, - 0xf55a, 0xf55b, 0xf5fb, 0xf5fc, - 0xf5fd, 0xf601, 0xf602, 0xf603, - 0xf604, 0xf609, 0xf60a, 0xf60c, - 0xf60d, 0xf60f, 0xf612, 0xf613, - 0xf614, 0xf616, 0xf618, 0xf61a, - 0xf61c, 0xf61d, 0xf61e, 0xf620, - 0xf621, 0xf622, 0xf623, 0xf625, - 0xf628, 0xf62a, 0xf62d, 0xf630, - 0xf631, 0xf632, 0xf633, 0xf637, - 0xf645, 0xf646, 0xf647, 0xf64c, - 0xf64f, 0xf680, 0xf683, 0xf684, - 0xf685, 0xf687, 0xf689, 0xf68c, - 0xf68f, 0xf691, 0xf692, 0xf693, - 0xf695, 0xf697, 0xf699, 0xf69a, - 0xf6a2, 0xf6a4, 0xf6a5, 0xf6a7, - 0xf6ac, 0xf6ad, 0xf6b2, 0xf6b6, - 0xf6b9, 0xf6ba, 0xf6bb, 0xf6bc, + 0xf004, 0xf170, 0xf171, 0xf17e, + 0xf17f, 0xf18e, 0xf192, 0xf194, + 0xf195, 0xf197, 0xf199, 0xf19a, + 0xf1e8, 0xf1e9, 0xf1ea, 0xf1eb, + 0xf1ec, 0xf1ee, 0xf1ef, 0xf1f0, + 0xf1f7, 0xf1fa, 0xf201, 0xf202, + 0xf21a, 0xf22f, 0xf233, 0xf235, + 0xf236, 0xf237, 0xf238, 0xf239, + 0xf23a, 0xf250, 0xf300, 0xf302, + 0xf303, 0xf304, 0xf305, 0xf306, + 0xf307, 0xf308, 0xf30a, 0xf319, + 0xf31f, 0xf334, 0xf335, 0xf337, + 0xf338, 0xf339, 0xf33a, 0xf33b, + 0xf33e, 0xf340, 0xf341, 0xf342, + 0xf343, 0xf345, 0xf346, 0xf349, + 0xf34a, 0xf34e, 0xf353, 0xf354, + 0xf358, 0xf359, 0xf35a, 0xf35b, + 0xf35c, 0xf35d, 0xf35e, 0xf35f, + 0xf361, 0xf362, 0xf363, 0xf366, + 0xf367, 0xf370, 0xf371, 0xf372, + 0xf373, 0xf374, 0xf375, 0xf376, + 0xf378, 0xf37a, 0xf37b, 0xf380, + 0xf381, 0xf382, 0xf383, 0xf384, + 0xf385, 0xf386, 0xf387, 0xf388, + 0xf389, 0xf38c, 0xf38d, 0xf38e, + 0xf38f, 0xf390, 0xf391, 0xf392, + 0xf393, 0xf3a1, 0xf3a2, 0xf3a4, + 0xf3a5, 0xf3a6, 0xf3a7, 0xf3a8, + 0xf3a9, 0xf3ab, 0xf3ac, 0xf3af, + 0xf3b0, 0xf3b1, 0xf3b5, 0xf3b6, + 0xf3b7, 0xf3b8, 0xf3ba, 0xf3be, + 0xf3bf, 0xf3c0, 0xf3c1, 0xf3c3, + 0xf3c4, 0xf3c6, 0xf3c8, 0xf3ca, + 0xf3e0, 0xf3e2, 0xf3e3, 0xf3e5, + 0xf3e6, 0xf3e7, 0xf3e8, 0xf3e9, + 0xf3ea, 0xf3eb, 0xf3ec, 0xf3ed, + 0xf3ef, 0xf3f0, 0xf40d, 0xf40e, + 0xf411, 0xf412, 0xf414, 0xf417, + 0xf418, 0xf419, 0xf41a, 0xf41b, + 0xf41f, 0xf420, 0xf424, 0xf426, + 0xf427, 0xf428, 0xf42b, 0xf42c, + 0xf42d, 0xf42e, 0xf42f, 0xf430, + 0xf431, 0xf433, 0xf434, 0xf435, + 0xf436, 0xf437, 0xf438, 0xf439, + 0xf43a, 0xf43b, 0xf440, 0xf442, + 0xf443, 0xf444, 0xf446, 0xf447, + 0xf448, 0xf449, 0xf44a, 0xf44b, + 0xf44c, 0xf44d, 0xf44e, 0xf44f, + 0xf450, 0xf451, 0xf452, 0xf454, + 0xf455, 0xf457, 0xf458, 0xf459, + 0xf45c, 0xf45f, 0xf460, 0xf461, + 0xf462, 0xf463, 0xf466, 0xf467, + 0xf468, 0xf469, 0xf46b, 0xf46e, + 0xf46f, 0xf471, 0xf472, 0xf473, + 0xf474, 0xf475, 0xf476, 0xf477, + 0xf478, 0xf47b, 0xf47c, 0xf47d, + 0xf47e, 0xf47f, 0xf480, 0xf481, + 0xf482, 0xf483, 0xf484, 0xf485, + 0xf486, 0xf487, 0xf488, 0xf489, + 0xf48a, 0xf48b, 0xf48d, 0xf48e, + 0xf48f, 0xf490, 0xf491, 0xf492, + 0xf493, 0xf494, 0xf497, 0xf498, + 0xf499, 0xf49a, 0xf49b, 0xf49c, + 0xf49d, 0xf49f, 0xf4a1, 0xf4a2, + 0xf4a3, 0xf4a4, 0xf4a6, 0xf4a8, + 0xf4a9, 0xf4aa, 0xf4b0, 0xf4b1, + 0xf4b9, 0xf4ba, 0xf4bb, 0xf4bc, + 0xf4bd, 0xf4bf, 0xf4c0, 0xf4d6, + 0xf4dd, 0xf4e0, 0xf4e1, 0xf4e2, + 0xf4e3, 0xf4e9, 0xf4eb, 0xf4ee, + 0xf4f1, 0xf4f2, 0xf4f3, 0xf4f4, + 0xf4f6, 0xf4f7, 0xf4fa, 0xf4fb, + 0xf4fc, 0xf50a, 0xf50d, 0xf511, + 0xf512, 0xf513, 0xf514, 0xf51d, + 0xf51e, 0xf525, 0xf528, 0xf52b, + 0xf52f, 0xf530, 0xf531, 0xf532, + 0xf533, 0xf534, 0xf550, 0xf551, + 0xf552, 0xf553, 0xf554, 0xf555, + 0xf556, 0xf557, 0xf558, 0xf559, + 0xf55a, 0xf55b, 0xf5fb, 0xf5fc, + 0xf5fd, 0xf601, 0xf602, 0xf603, + 0xf604, 0xf609, 0xf60a, 0xf60c, + 0xf60d, 0xf60f, 0xf612, 0xf613, + 0xf614, 0xf616, 0xf618, 0xf61a, + 0xf61c, 0xf61d, 0xf61e, 0xf620, + 0xf621, 0xf622, 0xf623, 0xf625, + 0xf628, 0xf62a, 0xf62d, 0xf630, + 0xf631, 0xf632, 0xf633, 0xf637, + 0xf645, 0xf646, 0xf647, 0xf64c, + 0xf64f, 0xf680, 0xf683, 0xf684, + 0xf685, 0xf687, 0xf689, 0xf68c, + 0xf68f, 0xf691, 0xf692, 0xf693, + 0xf695, 0xf697, 0xf699, 0xf69a, + 0xf6a2, 0xf6a4, 0xf6a5, 0xf6a7, + 0xf6ac, 0xf6ad, 0xf6b2, 0xf6b6, + 0xf6b9, 0xf6ba, 0xf6bb, 0xf6bc, 0xf6bd, 0xf6be, 0xf6c0, }; static const unsigned short mb_tbl_uni_sb2code3_value[] = { // 0x1f004 - 0x1f6c0 - 0x27d5, 0x2b29, 0x2b2a, 0x2b2c, - 0x27f7, 0x2b2b, 0x281b, 0x2830, - 0x2819, 0x2854, 0x281a, 0x27d6, - 0x2b0a, 0x2b05, 0x2b08, 0x2b04, - 0x2b07, 0x2b06, 0x2b02, 0x2b0b, - 0x2b09, 0x2b03, 0x280a, 0x282f, - 0x281d, 0x2833, 0x2832, 0x2831, - 0x281c, 0x281e, 0x281f, 0x282e, - 0x2834, 0x282d, 0x2adb, 0x2ad4, - 0x2ae3, 0x296d, 0x2ae1, 0x27ee, - 0x2ae2, 0x2ae4, 0x2ad6, 0x296c, - 0x29b4, 0x2986, 0x2987, 0x2983, - 0x2950, 0x2952, 0x2982, 0x2984, - 0x2adc, 0x27b8, 0x27c0, 0x27c1, - 0x2adf, 0x29c8, 0x29c9, 0x29c7, - 0x29c5, 0x29c4, 0x29c6, 0x27c8, - 0x29bc, 0x29c1, 0x29bd, 0x29c0, - 0x29bf, 0x29be, 0x29b8, 0x29ba, - 0x29bb, 0x29c2, 0x29c3, 0x29b9, - 0x2ad7, 0x2966, 0x29cb, 0x29cc, - 0x27ef, 0x2963, 0x29b7, 0x298a, - 0x2964, 0x2967, 0x298b, 0x2993, - 0x27ba, 0x29ca, 0x2add, 0x2953, - 0x2ae0, 0x27bf, 0x2ad8, 0x298f, - 0x2991, 0x27eb, 0x2ace, 0x2ad0, - 0x2ad3, 0x2ada, 0x2ade, 0x2ad2, - 0x2ad1, 0x27cc, 0x2acb, 0x295c, - 0x295d, 0x2afe, 0x2989, 0x2af9, - 0x2afa, 0x27cd, 0x29a3, 0x27d8, - 0x27db, 0x2ac4, 0x295e, 0x29a5, - 0x2960, 0x2961, 0x2962, 0x2935, - 0x2933, 0x2ac2, 0x27da, 0x27bd, - 0x2937, 0x27d9, 0x2ac3, 0x2ac5, - 0x2956, 0x2958, 0x27fb, 0x27fd, - 0x27f5, 0x27fc, 0x2800, 0x2af8, - 0x27fe, 0x27ff, 0x2afb, 0x2aff, - 0x2afc, 0x2afd, 0x2b24, 0x27dc, - 0x2b20, 0x2b1f, 0x2b25, 0x2b26, - 0x2b1d, 0x27b2, 0x2ad9, 0x2b1c, - 0x2939, 0x2b19, 0x2b1a, 0x2b18, - 0x2975, 0x2b1e, 0x2b27, 0x2b17, - 0x2973, 0x2b22, 0x2970, 0x2b23, - 0x296f, 0x2974, 0x293a, 0x27b1, - 0x2972, 0x27b3, 0x2b28, 0x2b1b, - 0x2b21, 0x2971, 0x2ab1, 0x2ab3, - 0x2ab2, 0x2ab4, 0x2835, 0x2836, - 0x2837, 0x2838, 0x292d, 0x2ab6, - 0x2ab8, 0x292e, 0x2ab9, 0x2ab7, - 0x2aba, 0x27b6, 0x2997, 0x2981, - 0x2926, 0x2998, 0x29a0, 0x29a1, - 0x29a2, 0x2927, 0x27e6, 0x2999, - 0x299a, 0x2b2d, 0x2921, 0x2922, - 0x2924, 0x2925, 0x2ac0, 0x27fa, - 0x2ac1, 0x2b0c, 0x2b0d, 0x2b0e, - 0x2b0f, 0x2b10, 0x2b11, 0x2b12, - 0x2b13, 0x27c3, 0x296e, 0x27b4, - 0x27d3, 0x27c2, 0x27c4, 0x285a, - 0x2b15, 0x2b16, 0x299b, 0x299c, - 0x299d, 0x299e, 0x299f, 0x27e3, - 0x298e, 0x2923, 0x2954, 0x2955, - 0x27b9, 0x2985, 0x2abd, 0x2ad5, - 0x29a6, 0x2943, 0x29a7, 0x29a8, - 0x29a9, 0x29aa, 0x29ab, 0x29ac, - 0x2acf, 0x280b, 0x27b7, 0x29b3, - 0x2990, 0x27e4, 0x29b0, 0x29af, - 0x297a, 0x27f4, 0x27d7, 0x27f1, - 0x27f2, 0x27c7, 0x292c, 0x27c6, - 0x2995, 0x27ce, 0x27cf, 0x27f0, - 0x2980, 0x292b, 0x27f3, 0x27ea, - 0x2996, 0x27ab, 0x27a9, 0x27aa, - 0x292a, 0x27ac, 0x2857, 0x2858, - 0x2812, 0x2928, 0x27d2, 0x27d0, - 0x27d1, 0x27e9, 0x27bc, 0x295f, - 0x27ec, 0x27ed, 0x29a4, 0x2853, - 0x280e, 0x27c5, 0x27be, 0x27bb, - 0x2845, 0x2810, 0x2951, 0x2821, - 0x2822, 0x2820, 0x2944, 0x2945, - 0x2946, 0x2947, 0x2948, 0x2949, - 0x294a, 0x294b, 0x294c, 0x294d, - 0x294e, 0x294f, 0x295b, 0x2b00, - 0x2b14, 0x2a9c, 0x2aaa, 0x2977, - 0x2aad, 0x2a9d, 0x2976, 0x2aa2, - 0x27ae, 0x2a9a, 0x2aa6, 0x27b0, - 0x2a9b, 0x2a9f, 0x2ab0, 0x2aaf, - 0x27ad, 0x2aa1, 0x2978, 0x2979, - 0x2aae, 0x2aab, 0x2a9e, 0x2a99, - 0x2aa3, 0x2aa0, 0x2aa9, 0x2aa7, - 0x27af, 0x2aa8, 0x2aa5, 0x2aa4, - 0x2abb, 0x2abc, 0x2abe, 0x2abf, - 0x2ab5, 0x27b5, 0x293e, 0x2acd, - 0x293f, 0x2acc, 0x2959, 0x2801, - 0x27f8, 0x2ac9, 0x2ac8, 0x2aca, - 0x2802, 0x293b, 0x2ac6, 0x2ac7, - 0x2809, 0x27dd, 0x27f6, 0x27df, - 0x298d, 0x280f, 0x27de, 0x2808, - 0x27e0, 0x27e1, 0x27f9, 0x27e2, + 0x27d5, 0x2b29, 0x2b2a, 0x2b2c, + 0x27f7, 0x2b2b, 0x281b, 0x2830, + 0x2819, 0x2854, 0x281a, 0x27d6, + 0x2b0a, 0x2b05, 0x2b08, 0x2b04, + 0x2b07, 0x2b06, 0x2b02, 0x2b0b, + 0x2b09, 0x2b03, 0x280a, 0x282f, + 0x281d, 0x2833, 0x2832, 0x2831, + 0x281c, 0x281e, 0x281f, 0x282e, + 0x2834, 0x282d, 0x2adb, 0x2ad4, + 0x2ae3, 0x296d, 0x2ae1, 0x27ee, + 0x2ae2, 0x2ae4, 0x2ad6, 0x296c, + 0x29b4, 0x2986, 0x2987, 0x2983, + 0x2950, 0x2952, 0x2982, 0x2984, + 0x2adc, 0x27b8, 0x27c0, 0x27c1, + 0x2adf, 0x29c8, 0x29c9, 0x29c7, + 0x29c5, 0x29c4, 0x29c6, 0x27c8, + 0x29bc, 0x29c1, 0x29bd, 0x29c0, + 0x29bf, 0x29be, 0x29b8, 0x29ba, + 0x29bb, 0x29c2, 0x29c3, 0x29b9, + 0x2ad7, 0x2966, 0x29cb, 0x29cc, + 0x27ef, 0x2963, 0x29b7, 0x298a, + 0x2964, 0x2967, 0x298b, 0x2993, + 0x27ba, 0x29ca, 0x2add, 0x2953, + 0x2ae0, 0x27bf, 0x2ad8, 0x298f, + 0x2991, 0x27eb, 0x2ace, 0x2ad0, + 0x2ad3, 0x2ada, 0x2ade, 0x2ad2, + 0x2ad1, 0x27cc, 0x2acb, 0x295c, + 0x295d, 0x2afe, 0x2989, 0x2af9, + 0x2afa, 0x27cd, 0x29a3, 0x27d8, + 0x27db, 0x2ac4, 0x295e, 0x29a5, + 0x2960, 0x2961, 0x2962, 0x2935, + 0x2933, 0x2ac2, 0x27da, 0x27bd, + 0x2937, 0x27d9, 0x2ac3, 0x2ac5, + 0x2956, 0x2958, 0x27fb, 0x27fd, + 0x27f5, 0x27fc, 0x2800, 0x2af8, + 0x27fe, 0x27ff, 0x2afb, 0x2aff, + 0x2afc, 0x2afd, 0x2b24, 0x27dc, + 0x2b20, 0x2b1f, 0x2b25, 0x2b26, + 0x2b1d, 0x27b2, 0x2ad9, 0x2b1c, + 0x2939, 0x2b19, 0x2b1a, 0x2b18, + 0x2975, 0x2b1e, 0x2b27, 0x2b17, + 0x2973, 0x2b22, 0x2970, 0x2b23, + 0x296f, 0x2974, 0x293a, 0x27b1, + 0x2972, 0x27b3, 0x2b28, 0x2b1b, + 0x2b21, 0x2971, 0x2ab1, 0x2ab3, + 0x2ab2, 0x2ab4, 0x2835, 0x2836, + 0x2837, 0x2838, 0x292d, 0x2ab6, + 0x2ab8, 0x292e, 0x2ab9, 0x2ab7, + 0x2aba, 0x27b6, 0x2997, 0x2981, + 0x2926, 0x2998, 0x29a0, 0x29a1, + 0x29a2, 0x2927, 0x27e6, 0x2999, + 0x299a, 0x2b2d, 0x2921, 0x2922, + 0x2924, 0x2925, 0x2ac0, 0x27fa, + 0x2ac1, 0x2b0c, 0x2b0d, 0x2b0e, + 0x2b0f, 0x2b10, 0x2b11, 0x2b12, + 0x2b13, 0x27c3, 0x296e, 0x27b4, + 0x27d3, 0x27c2, 0x27c4, 0x285a, + 0x2b15, 0x2b16, 0x299b, 0x299c, + 0x299d, 0x299e, 0x299f, 0x27e3, + 0x298e, 0x2923, 0x2954, 0x2955, + 0x27b9, 0x2985, 0x2abd, 0x2ad5, + 0x29a6, 0x2943, 0x29a7, 0x29a8, + 0x29a9, 0x29aa, 0x29ab, 0x29ac, + 0x2acf, 0x280b, 0x27b7, 0x29b3, + 0x2990, 0x27e4, 0x29b0, 0x29af, + 0x297a, 0x27f4, 0x27d7, 0x27f1, + 0x27f2, 0x27c7, 0x292c, 0x27c6, + 0x2995, 0x27ce, 0x27cf, 0x27f0, + 0x2980, 0x292b, 0x27f3, 0x27ea, + 0x2996, 0x27ab, 0x27a9, 0x27aa, + 0x292a, 0x27ac, 0x2857, 0x2858, + 0x2812, 0x2928, 0x27d2, 0x27d0, + 0x27d1, 0x27e9, 0x27bc, 0x295f, + 0x27ec, 0x27ed, 0x29a4, 0x2853, + 0x280e, 0x27c5, 0x27be, 0x27bb, + 0x2845, 0x2810, 0x2951, 0x2821, + 0x2822, 0x2820, 0x2944, 0x2945, + 0x2946, 0x2947, 0x2948, 0x2949, + 0x294a, 0x294b, 0x294c, 0x294d, + 0x294e, 0x294f, 0x295b, 0x2b00, + 0x2b14, 0x2a9c, 0x2aaa, 0x2977, + 0x2aad, 0x2a9d, 0x2976, 0x2aa2, + 0x27ae, 0x2a9a, 0x2aa6, 0x27b0, + 0x2a9b, 0x2a9f, 0x2ab0, 0x2aaf, + 0x27ad, 0x2aa1, 0x2978, 0x2979, + 0x2aae, 0x2aab, 0x2a9e, 0x2a99, + 0x2aa3, 0x2aa0, 0x2aa9, 0x2aa7, + 0x27af, 0x2aa8, 0x2aa5, 0x2aa4, + 0x2abb, 0x2abc, 0x2abe, 0x2abf, + 0x2ab5, 0x27b5, 0x293e, 0x2acd, + 0x293f, 0x2acc, 0x2959, 0x2801, + 0x27f8, 0x2ac9, 0x2ac8, 0x2aca, + 0x2802, 0x293b, 0x2ac6, 0x2ac7, + 0x2809, 0x27dd, 0x27f6, 0x27df, + 0x298d, 0x280f, 0x27de, 0x2808, + 0x27e0, 0x27e1, 0x27f9, 0x27e2, 0x27e8, 0x2988, 0x27e7, }; static const int mb_tbl_uni_sb2code3_len = sizeof(mb_tbl_uni_sb2code3_key)/sizeof(unsigned short); @@ -1164,27 +1164,27 @@ static const int mb_tbl_uni_docomo2code5_min = 0xfe82d; static const int mb_tbl_uni_docomo2code5_max = 0xfee33; static const unsigned short mb_tbl_uni_docomo2code5_key[] = { // 0xfe82d - 0xfee33 - 0xE82D, 0xEE10, 0xEE11, 0xEE12, - 0xEE13, 0xEE14, 0xEE15, 0xEE16, - 0xEE17, 0xEE18, 0xEE19, 0xEE1A, - 0xEE1B, 0xEE1C, 0xEE1D, 0xEE1E, - 0xEE1F, 0xEE20, 0xEE21, 0xEE22, - 0xEE23, 0xEE24, 0xEE25, 0xEE26, - 0xEE27, 0xEE28, 0xEE29, 0xEE2A, - 0xEE2B, 0xEE2C, 0xEE2D, 0xEE2E, - 0xEE2F, 0xEE30, 0xEE31, 0xEE32, + 0xE82D, 0xEE10, 0xEE11, 0xEE12, + 0xEE13, 0xEE14, 0xEE15, 0xEE16, + 0xEE17, 0xEE18, 0xEE19, 0xEE1A, + 0xEE1B, 0xEE1C, 0xEE1D, 0xEE1E, + 0xEE1F, 0xEE20, 0xEE21, 0xEE22, + 0xEE23, 0xEE24, 0xEE25, 0xEE26, + 0xEE27, 0xEE28, 0xEE29, 0xEE2A, + 0xEE2B, 0xEE2C, 0xEE2D, 0xEE2E, + 0xEE2F, 0xEE30, 0xEE31, 0xEE32, 0xEE33, }; static const unsigned short mb_tbl_uni_docomo2code5_val[] = { // 0xfe82d - 0xfee33 - 0x2965, 0x2955, 0x2956, 0x2958, - 0x2959, 0x2990, 0x2991, 0x292A, - 0x292B, 0x292C, 0x292D, 0x292E, - 0x292F, 0x2933, 0x2934, 0x2938, - 0x2939, 0x293A, 0x293F, 0x2940, - 0x2941, 0x2942, 0x2943, 0x2944, - 0x2945, 0x2946, 0x2947, 0x2948, - 0x2949, 0x294A, 0x294B, 0x294C, - 0x294D, 0x294E, 0x294F, 0x2950, + 0x2965, 0x2955, 0x2956, 0x2958, + 0x2959, 0x2990, 0x2991, 0x292A, + 0x292B, 0x292C, 0x292D, 0x292E, + 0x292F, 0x2933, 0x2934, 0x2938, + 0x2939, 0x293A, 0x293F, 0x2940, + 0x2941, 0x2942, 0x2943, 0x2944, + 0x2945, 0x2946, 0x2947, 0x2948, + 0x2949, 0x294A, 0x294B, 0x294C, + 0x294D, 0x294E, 0x294F, 0x2950, 0x2951, }; static const unsigned short mb_tbl_uni_docomo2code5_len = sizeof(mb_tbl_uni_docomo2code5_key)/sizeof(unsigned short); @@ -1194,15 +1194,15 @@ static const int mb_tbl_uni_kddi2code5_min = 0xfe82d; static const int mb_tbl_uni_kddi2code5_max = 0xfee4a; static const unsigned short mb_tbl_uni_kddi2code5_key[] = { // 0xfe82d - 0xfee4a - 0xE82D, 0xE83C, 0xEB89, 0xEE40, - 0xEE41, 0xEE42, 0xEE43, 0xEE44, - 0xEE45, 0xEE46, 0xEE47, 0xEE48, + 0xE82D, 0xE83C, 0xEB89, 0xEE40, + 0xEE41, 0xEE42, 0xEE43, 0xEE44, + 0xEE45, 0xEE46, 0xEE47, 0xEE48, 0xEE49, 0xEE4A, }; static const unsigned short mb_tbl_uni_kddi2code5_val[] = { // 0xfe82d - 0xfee4a - 0x27B0, 0x280A, 0x2839, 0x27FB, - 0x2836, 0x24E8, 0x25AC, 0x25B9, - 0x25C1, 0x25C2, 0x25C3, 0x25C4, + 0x27B0, 0x280A, 0x2839, 0x27FB, + 0x2836, 0x24E8, 0x25AC, 0x25B9, + 0x25C1, 0x25C2, 0x25C3, 0x25C4, 0x25C5, 0x25C6, }; static const unsigned short mb_tbl_uni_kddi2code5_len = sizeof(mb_tbl_uni_kddi2code5_key)/sizeof(unsigned short); @@ -1212,15 +1212,15 @@ static const int mb_tbl_uni_sb2code5_min = 0xfe4c5; static const int mb_tbl_uni_sb2code5_max = 0xfee7d; static const unsigned short mb_tbl_uni_sb2code5_key[] = { // 0xfe4c5 - 0xfee7d - 0xE4C5, 0xEE70, 0xEE71, 0xEE72, - 0xEE73, 0xEE74, 0xEE75, 0xEE76, - 0xEE77, 0xEE78, 0xEE79, 0xEE7A, + 0xE4C5, 0xEE70, 0xEE71, 0xEE72, + 0xEE73, 0xEE74, 0xEE75, 0xEE76, + 0xEE77, 0xEE78, 0xEE79, 0xEE7A, 0xEE7B, 0xEE7C, 0xEE7D, }; static const unsigned short mb_tbl_uni_sb2code5_val[] = { // 0xfe4c5 - 0xfee7d - 0x2B01, 0x2B2F, 0x2B30, 0x2B31, - 0x2B32, 0x2B33, 0x2B34, 0x2B35, - 0x285B, 0x285C, 0x285D, 0x285E, + 0x2B01, 0x2B2F, 0x2B30, 0x2B31, + 0x2B32, 0x2B33, 0x2B34, 0x2B35, + 0x285B, 0x285C, 0x285D, 0x285E, 0x285F, 0x2860, 0x2861, }; static const unsigned short mb_tbl_uni_sb2code5_len = sizeof(mb_tbl_uni_sb2code5_key)/sizeof(unsigned short); diff --git a/ext/mbstring/libmbfl/filters/html_entities.c b/ext/mbstring/libmbfl/filters/html_entities.c index 5551952b1c..919a5bb746 100644 --- a/ext/mbstring/libmbfl/filters/html_entities.c +++ b/ext/mbstring/libmbfl/filters/html_entities.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/html_entities.h b/ext/mbstring/libmbfl/filters/html_entities.h index a73b9d5bbd..6833fd8105 100644 --- a/ext/mbstring/libmbfl/filters/html_entities.h +++ b/ext/mbstring/libmbfl/filters/html_entities.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.h * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_HTML_ENTITIES_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_7bit.c b/ext/mbstring/libmbfl/filters/mbfilter_7bit.c index 7b793cd540..ab1727146a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_7bit.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_7bit.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -75,7 +75,7 @@ int mbfl_filt_conv_any_7bit(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < 0x80) { CK((*filter->output_function)(c, filter->data)); - } + } return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_7bit.h b/ext/mbstring/libmbfl/filters/mbfilter_7bit.h index d9a285fb1b..d0dfe2c518 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_7bit.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_7bit.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_armscii8.c b/ext/mbstring/libmbfl/filters/mbfilter_armscii8.c index 2d1fc8d7b0..ad2cf0c7f0 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_armscii8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_armscii8.c @@ -19,7 +19,7 @@ * Suite 330, Boston, MA 02111-1307 USA * * The author of this file: Hayk Chamyan <hamshen@gmail.com> - * + * */ /* diff --git a/ext/mbstring/libmbfl/filters/mbfilter_armscii8.h b/ext/mbstring/libmbfl/filters/mbfilter_armscii8.h index fc84827564..1de95c615b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_armscii8.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_armscii8.h @@ -19,7 +19,7 @@ * Suite 330, Boston, MA 02111-1307 USA * * The author of this file: Hayk Chamyan <hamshen@gmail.com> - * + * */ #ifndef MBFL_MBFILTER_ARMSCII8_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ascii.c b/ext/mbstring/libmbfl/filters/mbfilter_ascii.c index 77871fb96d..e9eb496771 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ascii.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ascii.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ascii.h b/ext/mbstring/libmbfl/filters/mbfilter_ascii.h index c48ced6447..99b4815387 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ascii.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_ascii.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -37,7 +37,7 @@ extern const mbfl_encoding mbfl_encoding_ascii; extern const struct mbfl_identify_vtbl vtbl_identify_ascii; extern const struct mbfl_convert_vtbl vtbl_ascii_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_ascii; - + int mbfl_filt_conv_ascii_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_ascii(int c, mbfl_convert_filter *filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_base64.c b/ext/mbstring/libmbfl/filters/mbfilter_base64.c index 198f38c3d2..adecdee888 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_base64.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_base64.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_base64.h b/ext/mbstring/libmbfl/filters/mbfilter_base64.h index 6bd525fd3e..24a3c0ee0d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_base64.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_base64.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_big5.c b/ext/mbstring/libmbfl/filters/mbfilter_big5.c index 099f8e6af0..122ff4c778 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_big5.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_big5.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_tw.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -158,7 +158,7 @@ mbfl_filt_conv_big5_wchar(int c, mbfl_convert_filter *filter) if (c >= 0 && c <= 0x80) { /* latin */ CK((*filter->output_function)(c, filter->data)); } else if (c == 0xff) { - CK((*filter->output_function)(0xf8f8, filter->data)); + CK((*filter->output_function)(0xf8f8, filter->data)); } else if (c > c1 && c < 0xff) { /* dbcs lead byte */ filter->status = 1; filter->cache = c; @@ -183,12 +183,12 @@ mbfl_filt_conv_big5_wchar(int c, mbfl_convert_filter *filter) } else { w = 0; } - + if (filter->from->no_encoding == mbfl_no_encoding_cp950) { /* PUA for CP950 */ - if (w <= 0 && + if (w <= 0 && (((c1 >= 0xfa && c1 <= 0xfe) || (c1 >= 0x8e && c1 <= 0xa0) || - (c1 >= 0x81 && c1 <= 0x8d) ||(c1 >= 0xc7 && c1 <= 0xc8)) + (c1 >= 0x81 && c1 <= 0x8d) ||(c1 >= 0xc7 && c1 <= 0xc8)) && ((c > 0x39 && c < 0x7f) || (c > 0xa0 && c < 0xff))) || ((c1 == 0xc6) && (c > 0xa0 && c < 0xff))) { c2 = c1 << 8 | c; @@ -197,14 +197,14 @@ mbfl_filt_conv_big5_wchar(int c, mbfl_convert_filter *filter) break; } } - + if ((cp950_pua_tbl[k][2] & 0xff) == 0x40) { w = 157*(c1 - (cp950_pua_tbl[k][2]>>8)) + c - (c >= 0xa1 ? 0x62 : 0x40) + cp950_pua_tbl[k][0]; } else { w = c2 - cp950_pua_tbl[k][2] + cp950_pua_tbl[k][0]; } - } + } } if (w <= 0) { @@ -268,12 +268,12 @@ mbfl_filt_conv_wchar_big5(int c, mbfl_convert_filter *filter) if ((cp950_pua_tbl[k][2] & 0xff) == 0x40) { c2 = cp950_pua_tbl[k][2] >> 8; s = ((c1 / 157) + c2) << 8; c1 %= 157; - s |= c1 + (c1 >= 0x3f ? 0x62 : 0x40); + s |= c1 + (c1 >= 0x3f ? 0x62 : 0x40); } else { s = c1 + cp950_pua_tbl[k][2]; } } - + if (c == 0x80) { s = 0x80; } else if (c == 0xf8f8) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_big5.h b/ext/mbstring/libmbfl/filters/mbfilter_big5.h index 93d10de61a..c5a0955f8d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_big5.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_big5.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_tw.h * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_BIG5_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c index 03b471bf5b..7452c127fc 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte2.h b/ext/mbstring/libmbfl/filters/mbfilter_byte2.h index e762a9db7f..8b1d991810 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte2.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte2.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c index 24b7367fea..7475e5424c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte4.h b/ext/mbstring/libmbfl/filters/mbfilter_byte4.h index f6c0aed2be..572a2cf477 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte4.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte4.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c b/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c index b5ab8e71b5..a26ce19492 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ru.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -146,7 +146,7 @@ static int mbfl_filt_ident_cp1251(int c, mbfl_identify_filter *filter) filter->flag = 0; else filter->flag = 1; /* not it */ - return c; + return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1251.h b/ext/mbstring/libmbfl/filters/mbfilter_cp1251.h index 6c0f680b29..becae48c19 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1251.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp1251.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1252.c b/ext/mbstring/libmbfl/filters/mbfilter_cp1252.c index ad160821a5..0c5eba3dd5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1252.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp1252.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -141,7 +141,7 @@ static int mbfl_filt_ident_cp1252(int c, mbfl_identify_filter *filter) filter->flag = 0; else filter->flag = 1; /* not it */ - return c; + return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1252.h b/ext/mbstring/libmbfl/filters/mbfilter_cp1252.h index 032c30eb9e..afb2fffa9b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1252.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp1252.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c b/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c index 7e933425f4..78e79335e4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ru.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -151,7 +151,7 @@ static int mbfl_filt_ident_cp1254(int c, mbfl_identify_filter *filter) filter->flag = 0; else filter->flag = 1; /* not it */ - return c; + return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1254.h b/ext/mbstring/libmbfl/filters/mbfilter_cp1254.h index 3200d520eb..15a63eae30 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1254.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp1254.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index 3db085dff4..75d249fbe8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -626,7 +626,7 @@ mbfl_filt_conv_wchar_cp50220raw(int c, mbfl_convert_filter *filter) { if (c & MBFL_WCSPLANE_JIS0208) { const int s = c & MBFL_WCSPLANE_MASK; - + if ((filter->status & 0xff00) != 0x200) { CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ CK((*filter->output_function)(0x24, filter->data)); /* '$' */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h index a462f70ec4..e7cde7dff8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_CP50221_h @@ -52,7 +52,7 @@ extern const struct mbfl_convert_vtbl vtbl_cp50221_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_cp50221; extern const struct mbfl_convert_vtbl vtbl_cp50222_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_cp50222; - + int mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_cp50220(int c, mbfl_convert_filter *filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c index f84be1e290..aae45380c8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.h b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.h index be86b82262..bbf56f48ca 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.h * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_CP51932_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp850.c b/ext/mbstring/libmbfl/filters/mbfilter_cp850.c index 9e4696a5a9..179873eb3a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp850.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp850.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -141,7 +141,7 @@ static int mbfl_filt_ident_cp850(int c, mbfl_identify_filter *filter) filter->flag = 0; else filter->flag = 1; /* not it */ - return c; + return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp850.h b/ext/mbstring/libmbfl/filters/mbfilter_cp850.h index a1e0f9c0c2..2a0e8e9e65 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp850.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp850.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp866.c b/ext/mbstring/libmbfl/filters/mbfilter_cp866.c index 22e109fe5b..307f370d03 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp866.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp866.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ru.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -145,7 +145,7 @@ static int mbfl_filt_ident_cp866(int c, mbfl_identify_filter *filter) filter->flag = 0; else filter->flag = 1; /* not it */ - return c; + return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp866.h b/ext/mbstring/libmbfl/filters/mbfilter_cp866.h index 9cb4e257e3..e9eb25a541 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp866.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp866.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ru.h * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_CP866_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index 40ba849651..4063a68208 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.h b/ext/mbstring/libmbfl/filters/mbfilter_cp932.h index b6a211412e..f0b6daeac7 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c index caf26e329b..23e3a1d847 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -124,25 +124,25 @@ mbfl_filt_conv_cp936_wchar(int c, mbfl_convert_filter *filter) c1 = filter->cache; if (((c1 >= 0xaa && c1 <= 0xaf) || (c1 >= 0xf8 && c1 <= 0xfe)) && - (c >= 0xa1 && c <= 0xfe)) { + (c >= 0xa1 && c <= 0xfe)) { /* UDA part1,2: U+E000-U+E4C5 */ w = 94*(c1 >= 0xf8 ? c1 - 0xf2 : c1 - 0xaa) + (c - 0xa1) + 0xe000; CK((*filter->output_function)(w, filter->data)); - } else if (c1 >= 0xa1 && c1 <= 0xa7 && c >= 0x40 && c < 0xa1 && c != 0x7f) { + } else if (c1 >= 0xa1 && c1 <= 0xa7 && c >= 0x40 && c < 0xa1 && c != 0x7f) { /* UDA part3 : U+E4C6-U+E765*/ w = 96*(c1 - 0xa1) + c - (c >= 0x80 ? 0x41 : 0x40) + 0xe4c6; CK((*filter->output_function)(w, filter->data)); - } + } c2 = (c1 << 8) | c; - if (w <= 0 && + if (w <= 0 && ((c2 >= 0xa2ab && c2 <= 0xa9f0 + (0xe80f-0xe801)) || (c2 >= 0xd7fa && c2 <= 0xd7fa + (0xe814-0xe810)) || (c2 >= 0xfe50 && c2 <= 0xfe80 + (0xe864-0xe844)))) { for (k = 0; k < mbfl_cp936_pua_tbl_max; k++) { - if (c2 >= mbfl_cp936_pua_tbl[k][2] && - c2 <= mbfl_cp936_pua_tbl[k][2] + + if (c2 >= mbfl_cp936_pua_tbl[k][2] && + c2 <= mbfl_cp936_pua_tbl[k][2] + mbfl_cp936_pua_tbl[k][1] - mbfl_cp936_pua_tbl[k][0]) { w = c2 - mbfl_cp936_pua_tbl[k][2] + mbfl_cp936_pua_tbl[k][0]; CK((*filter->output_function)(w, filter->data)); @@ -222,7 +222,7 @@ mbfl_filt_conv_wchar_cp936(int c, mbfl_convert_filter *filter) } else { c1 = c - 0xe4c6; s = ((c1 / 96) + 0xa1) << 8; c1 %= 96; - s |= c1 + (c1 >= 0x3f ? 0x41 : 0x40); + s |= c1 + (c1 >= 0x3f ? 0x41 : 0x40); } } else { /* U+E766..U+E864 */ @@ -248,12 +248,12 @@ mbfl_filt_conv_wchar_cp936(int c, mbfl_convert_filter *filter) s = ucs_cf_cp936_table[c - ucs_cf_cp936_table_min]; } else if (c >= ucs_sfv_cp936_table_min && c < ucs_sfv_cp936_table_max) { s = ucs_sfv_cp936_table[c - ucs_sfv_cp936_table_min]; /* U+FE50-FE6F Small Form Variants */ - } else if (c >= ucs_hff_cp936_table_min && c < ucs_hff_cp936_table_max) { - /* U+FF00-FFFF HW/FW Forms */ + } else if (c >= ucs_hff_cp936_table_min && c < ucs_hff_cp936_table_max) { + /* U+FF00-FFFF HW/FW Forms */ if (c == 0xff04) { s = 0xa1e7; } else if (c == 0xff5e) { - s = 0xa1ab; + s = 0xa1ab; } else if (c >= 0xff01 && c <= 0xff5d) { s = c - 0xff01 + 0xa3a1; } else if (c >= 0xffe0 && c <= 0xffe5) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp936.h b/ext/mbstring/libmbfl/filters/mbfilter_cp936.h index 1bd603d157..cc5e9bd333 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp936.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp936.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -39,5 +39,5 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_cp936; int mbfl_filt_conv_cp936_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_cp936(int c, mbfl_convert_filter *filter); - + #endif /* MBFL_MBFILTER_CP936_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c index f91edf364a..bf3ec25ee7 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -172,7 +172,7 @@ mbfl_filt_conv_wchar_euccn(int c, mbfl_convert_filter *filter) if (c == 0xff04) { s = 0xa1e7; } else if (c == 0xff5e) { - s = 0xa1ab; + s = 0xa1ab; } else if (c >= 0xff01 && c <= 0xff5d) { s = c - 0xff01 + 0xa3a1; } else if (c >= 0xffe0 && c <= 0xffe5) { @@ -181,7 +181,7 @@ mbfl_filt_conv_wchar_euccn(int c, mbfl_convert_filter *filter) } c1 = (s >> 8) & 0xff; c2 = s & 0xff; - + if (c1 < 0xa1 || c2 < 0xa1) { /* exclude CP936 extension */ s = c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.h b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.h index e72bc08ebf..31251fcf6d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c index 7015df4eae..3b13850882 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.h b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.h index de1212dfa8..e1bd565343 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.h * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_EUC_JP_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c index 2905ce8dfa..aeb94c388d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.c * by rui hirokawa <hirokawa@php.net> on 16 aug 2011. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.h b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.h index ce4b60aacc..55c06aef98 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.h * by rui hirokawa <hirokawa@php.net> on 15 aug 2011. - * + * */ #ifndef MBFL_MBFILTER_EUC_JP_2004_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c index eb8949a298..95aec45f4d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -60,7 +60,7 @@ static const unsigned char mblen_table_eucjp[] = { /* 0xA1-0xFE */ }; -static const char *mbfl_encoding_eucjp_win_aliases[] = {"eucJP-open", +static const char *mbfl_encoding_eucjp_win_aliases[] = {"eucJP-open", "eucJP-ms", NULL}; const struct mbfl_identify_vtbl vtbl_identify_eucjpwin = { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.h b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.h index 8b79a7241f..f17058d523 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.h * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_EUC_JP_WIN_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c index 211a3ad5ad..2a537ade6e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_kr.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -142,7 +142,7 @@ mbfl_filt_conv_euckr_wchar(int c, mbfl_convert_filter *filter) w = 0; } } - + if (w <= 0) { w = (c1 << 8) | c; w &= MBFL_WCSPLANE_MASK; @@ -196,7 +196,7 @@ mbfl_filt_conv_wchar_euckr(int c, mbfl_convert_filter *filter) c1 = (s >> 8) & 0xff; c2 = s & 0xff; /* exclude UHC extension area */ - if (c1 < 0xa1 || c2 < 0xa1){ + if (c1 < 0xa1 || c2 < 0xa1){ s = c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.h b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.h index 5ccbe79445..1534d2bedc 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_kr.h * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_EUC_KR_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c index 95665d0562..bc780c99ee 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_tw.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -184,7 +184,7 @@ mbfl_filt_conv_euctw_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; c1 = filter->cache; if (c1 >= 0x100 && c1 <= 0xdff && c > 0xa0 && c < 0xff) { - plane = (c1 & 0xf00) >> 8; + plane = (c1 & 0xf00) >> 8; s = (c1 & 0xff)*94 + c - 0xa1; w = 0; if (s >= 0) { @@ -259,7 +259,7 @@ mbfl_filt_conv_wchar_euctw(int c, mbfl_convert_filter *filter) s = (s & 0xffff) | 0x8080; CK((*filter->output_function)((s >> 8) & 0xff, filter->data)); CK((*filter->output_function)(s & 0xff, filter->data)); - } + } } else { s = (0x8ea00000 + (plane << 16)) | ((s & 0xffff) | 0x8080); CK((*filter->output_function)(0x8e , filter->data)); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.h b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.h index 64071809d0..ed1f091259 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_tw.h * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_EUC_TW_H @@ -33,7 +33,7 @@ #include "mbfilter.h" extern const mbfl_encoding mbfl_encoding_euc_tw; -extern const struct mbfl_identify_vtbl vtbl_identify_euctw; +extern const struct mbfl_identify_vtbl vtbl_identify_euctw; extern const struct mbfl_convert_vtbl vtbl_euctw_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_euctw; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c index 7767c6551f..721c16292b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -82,7 +82,7 @@ int mbfl_bisec_srch(int w, const unsigned short *tbl, int n) { int k, k1 = 0, k2 = n-1; - + while (k1 < k2) { k = (k1+k2) >> 1; if (w <= tbl[2*k+1]) { @@ -100,7 +100,7 @@ int mbfl_bisec_srch2(int w, const unsigned short tbl[], int n) { int k, k1 = 0, k2 = n; - + if (w == tbl[0]) { return 0; } @@ -153,7 +153,7 @@ mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) filter->status = 2; filter->cache = (c1 << 8) | c; return c; - } else if (c1 >= 0x90 && c1 <= 0xe3 && c >= 0x30 && c <= 0x39) { + } else if (c1 >= 0x90 && c1 <= 0xe3 && c >= 0x30 && c <= 0x39) { /* 4 byte range: Unicode 16 planes */ filter->status = 2; filter->cache = (c1 << 8) | c; @@ -162,21 +162,21 @@ mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) (c >= 0xa1 && c <= 0xfe)) { /* UDA part1,2: U+E000-U+E4C5 */ w = 94*(c1 >= 0xf8 ? c1 - 0xf2 : c1 - 0xaa) + (c - 0xa1) + 0xe000; CK((*filter->output_function)(w, filter->data)); - } else if (c1 >= 0xa1 && c1 <= 0xa7 && c >= 0x40 && c < 0xa1 && c != 0x7f) { + } else if (c1 >= 0xa1 && c1 <= 0xa7 && c >= 0x40 && c < 0xa1 && c != 0x7f) { /* UDA part3 : U+E4C6-U+E765*/ w = 96*(c1 - 0xa1) + c - (c >= 0x80 ? 0x41 : 0x40) + 0xe4c6; CK((*filter->output_function)(w, filter->data)); - } + } c2 = (c1 << 8) | c; - if (w <= 0 && + if (w <= 0 && ((c2 >= 0xa2ab && c2 <= 0xa9f0 + (0xe80f-0xe801)) || (c2 >= 0xd7fa && c2 <= 0xd7fa + (0xe814-0xe810)) || (c2 >= 0xfe50 && c2 <= 0xfe80 + (0xe864-0xe844)))) { for (k = 0; k < mbfl_gb18030_pua_tbl_max; k++) { - if (c2 >= mbfl_gb18030_pua_tbl[k][2] && - c2 <= mbfl_gb18030_pua_tbl[k][2] + mbfl_gb18030_pua_tbl[k][1] + if (c2 >= mbfl_gb18030_pua_tbl[k][2] && + c2 <= mbfl_gb18030_pua_tbl[k][2] + mbfl_gb18030_pua_tbl[k][1] - mbfl_gb18030_pua_tbl[k][0]) { w = c2 - mbfl_gb18030_pua_tbl[k][2] + mbfl_gb18030_pua_tbl[k][0]; CK((*filter->output_function)(w, filter->data)); @@ -226,7 +226,7 @@ mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) w = (c1 << 16) | (c2 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + CK((*filter->output_function)(w, filter->data)); } break; @@ -249,7 +249,7 @@ mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) w = (c1 << 24) | (c2 << 16) | (c3 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + CK((*filter->output_function)(w, filter->data)); return c; } w += mbfl_gb_uni_ofst[k]; @@ -257,7 +257,7 @@ mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) w = (c1 << 24) | (c2 << 16) | (c3 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + CK((*filter->output_function)(w, filter->data)); return c; } } @@ -266,7 +266,7 @@ mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) w = (c1 << 24) | (c2 << 16) | (c3 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + CK((*filter->output_function)(w, filter->data)); } break; @@ -321,7 +321,7 @@ mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter) if (c == 0xff04) { s = 0xa1e7; } else if (c == 0xff5e) { - s = 0xa1ab; + s = 0xa1ab; } else if (c >= 0xff01 && c <= 0xff5d) { s = c - 0xff01 + 0xa3a1; } else if (c >= 0xffe0 && c <= 0xffe5) { @@ -333,7 +333,7 @@ mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter) s = 0xa2e3; } - if (s <= 0 && c >= mbfl_gb18030_c_tbl_key[0] && + if (s <= 0 && c >= mbfl_gb18030_c_tbl_key[0] && c <= mbfl_gb18030_c_tbl_key[mbfl_gb18030_c_tbl_max-1]) { k1 = mbfl_bisec_srch2(c, mbfl_gb18030_c_tbl_key, mbfl_gb18030_c_tbl_max); if (k1 >= 0) { @@ -350,7 +350,7 @@ mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter) } else { c1 = c - 0xe4c6; s = ((c1 / 96) + 0xa1) << 8; c1 %= 96; - s |= c1 + (c1 >= 0x3f ? 0x41 : 0x40); + s |= c1 + (c1 >= 0x3f ? 0x41 : 0x40); } } else { /* U+E766..U+E864 */ @@ -367,7 +367,7 @@ mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter) } } } - } + } if (s <= 0 && c >= 0x0080 && c <= 0xffff) { /* BMP */ s = mbfl_bisec_srch(c, mbfl_uni2gb_tbl, mbfl_gb_uni_max); @@ -421,7 +421,7 @@ mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter) static int mbfl_filt_ident_gb18030(int c, mbfl_identify_filter *filter) { int c1; - + c1 = (filter->status >> 8) & 0xff; filter->status &= 0xff; @@ -447,7 +447,7 @@ static int mbfl_filt_ident_gb18030(int c, mbfl_identify_filter *filter) filter->status = 0; /* DBCS */ } else { filter->flag = 1; /* bad */ - filter->status = 0; + filter->status = 0; } } else if (filter->status == 2) { /* qbcs 3rd byte */ if (c > 0x80 && c < 0xff) { @@ -462,7 +462,7 @@ static int mbfl_filt_ident_gb18030(int c, mbfl_identify_filter *filter) } else { filter->flag = 1; /* bad */ filter->status = 0; - } + } } else { /* bad */ filter->flag = 1; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.h b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.h index e182a39555..dc7d51b6e2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -39,5 +39,5 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_gb18030; int mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter); - + #endif /* MBFL_MBFILTER_GB18030_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c index 56c364d867..9d530abfba 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -111,7 +111,7 @@ int mbfl_filt_conv_html_enc(int c, mbfl_convert_filter *filter) for (i = 0; (e = &mbfl_html_entity_list[i])->name != NULL; i++) { if (c == e->code) { char *p; - + for (p = e->name; *p != '\0'; p++) { CK((*filter->output_function)((int)*p, filter->data)); } @@ -165,7 +165,7 @@ void mbfl_filt_conv_html_dec_ctor(mbfl_convert_filter *filter) filter->status = 0; filter->opaque = mbfl_malloc(html_enc_buffer_size+1); } - + void mbfl_filt_conv_html_dec_dtor(mbfl_convert_filter *filter) { filter->status = 0; @@ -238,7 +238,7 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) CK((*filter->output_function)(c, filter->data)); } filter->status = 0; - /*php_error_docref("ref.mbstring" TSRMLS_CC, E_NOTICE, "mbstring decoded '%s'=%d", buffer, ent);*/ + /*php_error_docref("ref.mbstring", E_NOTICE, "mbstring decoded '%s'=%d", buffer, ent);*/ } else { /* named entity */ buffer[filter->status] = 0; @@ -254,12 +254,12 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) /* decoded */ CK((*filter->output_function)(ent, filter->data)); filter->status = 0; - /*php_error_docref("ref.mbstring" TSRMLS_CC, E_NOTICE,"mbstring decoded '%s'=%d", buffer, ent);*/ - } else { + /*php_error_docref("ref.mbstring", E_NOTICE,"mbstring decoded '%s'=%d", buffer, ent);*/ + } else { /* failure */ buffer[filter->status++] = ';'; buffer[filter->status] = 0; - /* php_error_docref("ref.mbstring" TSRMLS_CC, E_WARNING, "mbstring cannot decode '%s'", buffer); */ + /* php_error_docref("ref.mbstring", E_WARNING, "mbstring cannot decode '%s'", buffer); */ mbfl_filt_conv_html_dec_flush(filter); } } @@ -273,7 +273,7 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) if (c=='&') filter->status--; buffer[filter->status] = 0; - /* php_error_docref("ref.mbstring" TSRMLS_CC, E_WARNING, "mbstring cannot decode '%s'", buffer)l */ + /* php_error_docref("ref.mbstring", E_WARNING, "mbstring cannot decode '%s'", buffer)l */ mbfl_filt_conv_html_dec_flush(filter); if (c=='&') { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h index 99827c2303..6b6ce49951 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_HTMLENT_H @@ -33,7 +33,7 @@ #include "mbfilter.h" extern const mbfl_encoding mbfl_encoding_html_ent; -extern const struct mbfl_convert_vtbl vtbl_wchar_html; +extern const struct mbfl_convert_vtbl vtbl_wchar_html; extern const struct mbfl_convert_vtbl vtbl_html_wchar; void mbfl_filt_conv_html_dec_ctor(mbfl_convert_filter *filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_hz.c b/ext/mbstring/libmbfl/filters/mbfilter_hz.c index 893ad5f740..a3422cd8e5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_hz.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_hz.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_cn.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -168,7 +168,7 @@ mbfl_filt_conv_wchar_hz(int c, mbfl_convert_filter *filter) if (c == 0xff04) { s = 0xa1e7; } else if (c == 0xff5e) { - s = 0xa1ab; + s = 0xa1ab; } else if (c >= 0xff01 && c <= 0xff5d) { s = c - 0xff01 + 0xa3a1; } else if (c >= 0xffe0 && c <= 0xffe5) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_hz.h b/ext/mbstring/libmbfl/filters/mbfilter_hz.h index 1e7ebc334d..e7e35cacc8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_hz.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_hz.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_cn.h * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_HZ_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c index a7daf2b913..1f26d1771b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.h b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.h index 8479a45095..7c40b19246 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_ISO2022_JP_MS_H @@ -36,7 +36,7 @@ extern const mbfl_encoding mbfl_encoding_2022jpms; extern const struct mbfl_identify_vtbl vtbl_identify_2022jpms; extern const struct mbfl_convert_vtbl vtbl_2022jpms_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_2022jpms; - + int mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_2022jpms(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_any_2022jpms_flush(mbfl_convert_filter *filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c index 01c01a4477..501bcb8d19 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_kr.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -89,9 +89,9 @@ retry: if (c == 0x1b) { /* ESC */ filter->status += 2; } else if (c == 0x0f) { /* SI (ASCII) */ - filter->status &= ~0xff; + filter->status &= ~0xff; } else if (c == 0x0e) { /* SO (KSC5601) */ - filter->status |= 0x10; + filter->status |= 0x10; } else if ((filter->status & 0x10) != 0 && c > 0x20 && c < 0x7f) { /* KSC5601 lead byte */ filter->cache = c; @@ -131,7 +131,7 @@ retry: w = 0; } } - + if (w <= 0) { w = (c1 << 8) | c; w &= MBFL_WCSPLANE_MASK; @@ -218,7 +218,7 @@ mbfl_filt_conv_wchar_2022kr(int c, mbfl_convert_filter *filter) c1 = (s >> 8) & 0xff; c2 = s & 0xff; /* exclude UHC extension area */ - if (c1 < 0xa1 || c2 < 0xa1){ + if (c1 < 0xa1 || c2 < 0xa1){ s = c; } if (s & 0x8000) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.h b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.h index 1dd9f69351..7277c5f11c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_kr.h * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_ISO2022_KR_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c index d855374bf0..fc6678ecb6 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_jis.c * by rui hirokawa <hirokawa@php.net> on 18 aug 2011. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.h b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.h index f6e56b9b9d..929559b87f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_2022JP_2004_H @@ -36,7 +36,7 @@ extern const mbfl_encoding mbfl_encoding_2022jp_2004; extern const struct mbfl_identify_vtbl vtbl_identify_2022jp_2004; extern const struct mbfl_convert_vtbl vtbl_2022jp_2004_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_2022jp_2004; - + int mbfl_filt_conv_2022jp_2004_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_2022jp_2004(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_any_2022jp_2004_flush(mbfl_convert_filter *filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c index 03e9633cae..e0d5543882 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_iso2022_jp_ms.c * by Rui Hirokawa <hirokawa@php.net> on 25 July 2011. - * + * */ #ifdef HAVE_CONFIG_H @@ -48,7 +48,7 @@ const mbfl_encoding mbfl_encoding_2022jp_kddi = { mbfl_no_encoding_2022jp_kddi, "ISO-2022-JP-MOBILE#KDDI", "ISO-2022-JP", - mbfl_encoding_2022jp_kddi_aliases, + &mbfl_encoding_2022jp_kddi_aliases, NULL, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_SHFTCODE | MBFL_ENCTYPE_GL_UNSAFE }; @@ -194,7 +194,7 @@ retry: w = 0xffe2; /* FULLWIDTH NOT SIGN */ } } - + if (w == 0) { if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { /* vendor ext1 (13ku) */ w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; @@ -204,7 +204,7 @@ retry: w = 0; } } - + if (s >= (84*94) && s < 91*94) { s += 22*94; if (filter->from->no_encoding == mbfl_no_encoding_2022jp_kddi) { @@ -212,9 +212,9 @@ retry: } if (w > 0 && snd > 0) { CK((*filter->output_function)(snd, filter->data)); - } + } } - + if (w <= 0) { w = (c1 << 8) | c; w &= MBFL_WCSPLANE_MASK; @@ -422,7 +422,7 @@ mbfl_filt_conv_wchar_2022jp_mobile(int c, mbfl_convert_filter *filter) filter->status = 0x200; CK((*filter->output_function)((s1 >> 8) & 0xff, filter->data)); CK((*filter->output_function)(s1 & 0x7f, filter->data)); - } + } } else { if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) { CK(mbfl_filt_conv_illegal_output(c, filter)); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.h b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.h index 7ae1da2ddc..a375e8df0e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_iso2022_jp_ms.h * by Rui Hirokawa <hirokawa@php.net> on 25 July 2011. - * + * */ #ifndef MBFL_MBFILTER_ISO2022_JP_MOBILE_H @@ -36,7 +36,7 @@ extern const mbfl_encoding mbfl_encoding_2022jp_kddi; extern const struct mbfl_identify_vtbl vtbl_identify_2022jp_kddi; extern const struct mbfl_convert_vtbl vtbl_2022jp_kddi_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_2022jp_kddi; - + int mbfl_filt_conv_2022jp_mobile_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_2022jp_mobile(int c, mbfl_convert_filter *filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.c index 901bbb7eec..382d0c2294 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.h index d55a457679..b593f10f54 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.h * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_ISO8859_1_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.c index b0f80e7a17..f6d1b21b55 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.h index 3743422c6d..f9133404de 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_ISO8859_10_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.c index 674db7e469..cbc8f77d87 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.h index 594575c981..dcd6075594 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_ISO8859_13_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.c index c0d241c842..03581ccf45 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.h index 0006baedb6..90531e668a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.h @@ -3,8 +3,8 @@ * * This file is a portion of "streamable kanji code filter and converter" * library, which is distributed under GNU Lesser General Public License - * version 2.1. - * + * version 2.1. + * * The source code included in this files was separated from mbfilter.c * by Moriyoshi Koizumi <moriyoshi@php.net> on 4 Dec 2002. * diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.c index af321d671f..25323bd7f0 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.h index b5054dec2c..a8fb339b0d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.h @@ -3,8 +3,8 @@ * * This file is a portion of "streamable kanji code filter and converter" * library, which is distributed under GNU Lesser General Public License - * version 2.1. - * + * version 2.1. + * * The source code included in this files was separated from mbfilter.c * by Moriyoshi Koizumi <moriyoshi@php.net> on 4 Dec 2002. * diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c index 8f12feb47e..1bd5f8a25d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.h index a5e2d2fbef..a1a53d7909 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.h @@ -3,8 +3,8 @@ * * This file is a portion of "streamable kanji code filter and converter" * library, which is distributed under GNU Lesser General Public License - * version 2.1. - * + * version 2.1. + * */ #ifndef MBFL_MBFILTER_ISO8859_16_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.c index c52c72ae62..50649ddeb6 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.h index 732e9194e6..f344168a18 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_ISO8859_2_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.c index d47098ceb5..e1897069eb 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.h index 88ab3be6cd..746085373a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_ISO8859_3_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.c index 65c539eb4a..a04910eb78 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.h index c68239100a..fe4dcdc696 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_ISO8859_4_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.c index 3a41398bf3..0bd4d5e155 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.h index 531c1c1a72..8b09844141 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_ISO8859_5_H @@ -36,7 +36,7 @@ extern const mbfl_encoding mbfl_encoding_8859_5; extern const struct mbfl_identify_vtbl vtbl_identify_8859_5; extern const struct mbfl_convert_vtbl vtbl_8859_5_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_8859_5; - + int mbfl_filt_conv_8859_5_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_8859_5(int c, mbfl_convert_filter *filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.c index 9823064e7e..df89eb75ba 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.h index bc27f3eb31..c7e16c7e0b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_ISO8859_6_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.c index a02ce7fb67..d8d4494a22 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.h index d3042f3e4b..8421edb929 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_ISO8859_7_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.c index fa4571aa31..fad0f5c51e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.h index 884d5095e0..ee679814f1 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_ISO8859_8_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.c index 57d2e3777c..97948d0ff6 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.h index 3731eda82a..5a61237113 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_ISO8859_9_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.c b/ext/mbstring/libmbfl/filters/mbfilter_jis.c index 7fa1fd35b9..b3fbb4f94b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.h b/ext/mbstring/libmbfl/filters/mbfilter_jis.h index 0375307263..e7a164167e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_JIS_H @@ -40,7 +40,7 @@ extern const struct mbfl_convert_vtbl vtbl_jis_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_jis; extern const struct mbfl_convert_vtbl vtbl_2022jp_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_2022jp; - + int mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_2022jp(int c, mbfl_convert_filter *filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_koi8r.c b/ext/mbstring/libmbfl/filters/mbfilter_koi8r.c index 892bf15213..e35a0258ac 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_koi8r.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_koi8r.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ru.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -145,5 +145,5 @@ static int mbfl_filt_ident_koi8r(int c, mbfl_identify_filter *filter) filter->flag = 0; else filter->flag = 1; /* not it */ - return c; + return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_koi8r.h b/ext/mbstring/libmbfl/filters/mbfilter_koi8r.h index 8298631f97..c0b198ccad 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_koi8r.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_koi8r.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ru.h * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_KOI8R_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_koi8u.c b/ext/mbstring/libmbfl/filters/mbfilter_koi8u.c index 9b8f450e9e..4dfc68654a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_koi8u.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_koi8u.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -142,5 +142,5 @@ static int mbfl_filt_ident_koi8u(int c, mbfl_identify_filter *filter) filter->flag = 0; else filter->flag = 1; /* not it */ - return c; + return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_koi8u.h b/ext/mbstring/libmbfl/filters/mbfilter_koi8u.h index 693ade3d6d..fee7ebe2c0 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_koi8u.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_koi8u.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_qprint.c b/ext/mbstring/libmbfl/filters/mbfilter_qprint.c index df9752bc3b..c141dc4102 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_qprint.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_qprint.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -108,7 +108,7 @@ int mbfl_filt_conv_qprintenc(int c, mbfl_convert_filter *filter) } if (s <= 0 || s >= 0x80 || s == 0x3d /* not ASCII or '=' */ - || ((filter->status & MBFL_QPRINT_STS_MIME_HEADER) != 0 && + || ((filter->status & MBFL_QPRINT_STS_MIME_HEADER) != 0 && (mbfl_charprop_table[s] & MBFL_CHP_MMHQENC) != 0)) { /* hex-octet */ CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_qprint.h b/ext/mbstring/libmbfl/filters/mbfilter_qprint.h index 3a39fa7402..2c989141d4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_qprint.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_qprint.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_QPRINT_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index 7c463cd7b1..782e0dfaf9 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis.h index cb9146fd89..f271f399c9 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_ja.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_SJIS_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index 911d902052..4f146cebea 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_sjis.c * by rui hirokawa <hirokawa@php.net> on 15 aug 2011. - * + * */ #ifdef HAVE_CONFIG_H @@ -157,11 +157,11 @@ retry: && c > 0x20 && c < 0x7f) { /* kanji first char */ filter->cache = c; if (filter->status == 0x90) { - filter->status += 1; /* JIS X 0213 plane 1 */ + filter->status += 1; /* JIS X 0213 plane 1 */ } else if (filter->status == 0xa0) { - filter->status += 4; /* JIS X 0213 plane 2 */ + filter->status += 4; /* JIS X 0213 plane 2 */ } else { - filter->status += 5; /* JIS X 0208 */ + filter->status += 5; /* JIS X 0208 */ } } else { CK((*filter->output_function)(c, filter->data)); @@ -175,7 +175,7 @@ retry: } else if (c == 0x8e) { /* kana first char */ filter->status = 2; } else if (c == 0x8f) { /* X 0213 plane 2 first char */ - filter->status = 3; + filter->status = 3; } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; @@ -230,7 +230,7 @@ retry: CK((*filter->output_function)(w, filter->data)); w = jisx0213_u2_tbl[2*k+1]; } - } + } /* conversion for BMP */ if (w <= 0) { @@ -307,7 +307,7 @@ retry: } else { w = c & 0x7f; w &= MBFL_WCSPLANE_MASK; - w |= MBFL_WCSPLANE_JIS0213; + w |= MBFL_WCSPLANE_JIS0213; } CK((*filter->output_function)(w, filter->data)); } @@ -326,14 +326,14 @@ retry: s1 = c1 - 0x21; s2 = c2 - 0x21; - if (((s1 >= 0 && s1 <= 4 && s1 != 1) || s1 == 7 || (s1 >= 11 && s1 <= 14) || + if (((s1 >= 0 && s1 <= 4 && s1 != 1) || s1 == 7 || (s1 >= 11 && s1 <= 14) || (s1 >= 77 && s1 < 94)) && s2 >= 0 && s2 < 94) { /* calc offset from ku */ for (k = 0; k < jisx0213_p2_ofst_len; k++) { if (s1 == jisx0213_p2_ofst[k]-1) { break; - } - } + } + } k = k - (jisx0213_p2_ofst[k]-1); /* check for japanese chars in BMP */ @@ -359,7 +359,7 @@ retry: w |= MBFL_WCSPLANE_JIS0213; } - CK((*filter->output_function)(w, filter->data)); + CK((*filter->output_function)(w, filter->data)); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ CK((*filter->output_function)(c, filter->data)); } else { @@ -370,7 +370,7 @@ retry: } else { w = ((c1 & 0x7f) << 8) | (c2 & 0x7f); w &= MBFL_WCSPLANE_MASK; - w |= MBFL_WCSPLANE_JIS0213; + w |= MBFL_WCSPLANE_JIS0213; } CK((*filter->output_function)(w, filter->data)); } @@ -385,7 +385,7 @@ retry: if (s >= 0 && s < jisx0208_ucs_table_size) { w = jisx0208_ucs_table[s]; } - } + } if (w <= 0) { w = (c1 << 8) | c; w &= MBFL_WCSPLANE_MASK; @@ -489,9 +489,9 @@ mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) { retry: /* check for 1st char of combining characters */ - if ((filter->status & 0xf)== 0 && ( + if ((filter->status & 0xf)== 0 && ( c == 0x00E6 || - (c >= 0x0254 && c <= 0x02E9) || + (c >= 0x0254 && c <= 0x02E9) || (c >= 0x304B && c <= 0x3053) || (c >= 0x30AB && c <= 0x30C8) || c == 0x31F7)) { @@ -502,24 +502,24 @@ retry: return c; } } - } + } /* check for 2nd char of combining characters */ - if ((filter->status & 0xf) == 1 && + if ((filter->status & 0xf) == 1 && filter->cache >= 0 && filter->cache <= jisx0213_u2_tbl_len) { k = filter->cache; filter->status &= ~0xf; filter->cache = 0; - + c1 = jisx0213_u2_tbl[2*k]; - if ((c1 == 0x0254 || c1 == 0x028C || c1 == 0x0259 || c1 == 0x025A) + if ((c1 == 0x0254 || c1 == 0x028C || c1 == 0x0259 || c1 == 0x025A) && c == 0x0301) { k++; } if (c == jisx0213_u2_tbl[2*k+1]) { s1 = jisx0213_u2_key[k]; } else { /* fallback */ - s1 = jisx0213_u2_fb_tbl[k]; + s1 = jisx0213_u2_fb_tbl[k]; if (filter->to->no_encoding == mbfl_no_encoding_sjis2004) { c1 = (s1 >> 8) & 0xff; @@ -531,7 +531,7 @@ retry: } else { if (filter->status != 0x200) { CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); + CK((*filter->output_function)(0x24, filter->data)); CK((*filter->output_function)(0x28, filter->data)); CK((*filter->output_function)(0x51, filter->data)); } @@ -556,7 +556,7 @@ retry: } } } - + /* check for japanese chars in compressed mapping area: U+1E00 - U+4DBF */ if (s1 <= 0 && c >= ucs_c1_jisx0213_min && c <= ucs_c1_jisx0213_max) { k = mbfl_bisec_srch(c, ucs_c1_jisx0213_tbl, ucs_c1_jisx0213_tbl_len); @@ -564,7 +564,7 @@ retry: s1 = ucs_c1_jisx0213_ofst[k] + c - ucs_c1_jisx0213_tbl[2*k]; } } - + /* check for japanese chars in CJK Unified Ideographs ext.B (U+2XXXX) */ if (s1 <= 0 && c >= jisx0213_u5_tbl_min && c <= jisx0213_u5_tbl_max) { k = mbfl_bisec_srch2(c - 0x20000, jisx0213_u5_jis_key, jisx0213_u5_tbl_len); @@ -579,7 +579,7 @@ retry: s1 = 0x233e; } else if (c == 0xfe46) { s1 = 0x233d; - } else if (c >= 0xf91d && c <= 0xf9dc) { + } else if (c >= 0xf91d && c <= 0xf9dc) { /* CJK Compatibility Ideographs: U+F900 - U+F92A */ k = mbfl_bisec_srch2(c, ucs_r2b_jisx0213_cmap_key, ucs_r2b_jisx0213_cmap_len); if (k >= 0) { @@ -634,10 +634,10 @@ retry: } filter->status = 0x200; s2 = s1 & 0xff; - s1 = (s1 >> 8) & 0xff; + s1 = (s1 >> 8) & 0xff; } CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); + CK((*filter->output_function)(s2, filter->data)); } else { /* X 0213 plane 2 */ if (filter->to->no_encoding == mbfl_no_encoding_sjis2004) { c1 = (s1 >> 8) & 0xff; @@ -661,7 +661,7 @@ retry: CK((*filter->output_function)(0x50, filter->data)); /* 'P' */ } filter->status = 0x200; - } + } } CK((*filter->output_function)(s1, filter->data)); @@ -685,17 +685,17 @@ mbfl_filt_conv_jis2004_flush(mbfl_convert_filter *filter) filter->cache = 0; if (filter->status == 1 && k >= 0 && k <= jisx0213_u2_tbl_len) { - s1 = jisx0213_u2_fb_tbl[k]; - + s1 = jisx0213_u2_fb_tbl[k]; + if (filter->to->no_encoding == mbfl_no_encoding_sjis2004) { c1 = (s1 >> 8) & 0xff; c2 = s1 & 0xff; SJIS_ENCODE(c1, c2, s1, s2); } else if (filter->to->no_encoding == mbfl_no_encoding_eucjp2004) { - s2 = (s1 & 0xff) | 0x80; + s2 = (s1 & 0xff) | 0x80; s1 = ((s1 >> 8) & 0xff) | 0x80; } else { - s2 = s1 & 0x7f; + s2 = s1 & 0x7f; s1 = (s1 >> 8) & 0x7f; if ((filter->status & 0xff00) != 0x200) { CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ @@ -707,7 +707,7 @@ mbfl_filt_conv_jis2004_flush(mbfl_convert_filter *filter) } CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); + CK((*filter->output_function)(s2, filter->data)); } /* back to latin */ @@ -715,7 +715,7 @@ mbfl_filt_conv_jis2004_flush(mbfl_convert_filter *filter) CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ CK((*filter->output_function)(0x28, filter->data)); /* '(' */ CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ - } + } filter->status = 0; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h index cf91f7a06b..c75e3a910b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_sjis.c * by rui hirokawa <hirokawa@php.net> on 15 aug 2011. - * + * */ #ifndef MBFL_MBFILTER_SJIS_2004_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index c134e5d585..2087786c06 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -144,15 +144,15 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) filter->status = 1; filter->cache = c; } else if (c == 0x5c) { - CK((*filter->output_function)(0x00a5, filter->data)); + CK((*filter->output_function)(0x00a5, filter->data)); } else if (c == 0x80) { - CK((*filter->output_function)(0x005c, filter->data)); + CK((*filter->output_function)(0x005c, filter->data)); } else if (c == 0xa0) { - CK((*filter->output_function)(0x00a0, filter->data)); + CK((*filter->output_function)(0x00a0, filter->data)); } else if (c == 0xfd) { - CK((*filter->output_function)(0x00a9, filter->data)); + CK((*filter->output_function)(0x00a9, filter->data)); } else if (c == 0xfe) { - CK((*filter->output_function)(0x2122, filter->data)); + CK((*filter->output_function)(0x2122, filter->data)); } else if (c == 0xff) { CK((*filter->output_function)(0x2026, filter->data)); CK((*filter->output_function)(0xf87f, filter->data)); @@ -172,7 +172,7 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) s = (s1 - 0x21)*94 + s2 - 0x21; if (s <= 0x89) { if (s == 0x1c) { - w = 0x2014; /* EM DASH */ + w = 0x2014; /* EM DASH */ } else if (s == 0x1f) { w = 0xff3c; /* FULLWIDTH REVERSE SOLIDUS */ } else if (s == 0x20) { @@ -196,7 +196,7 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) if (s >= code_tbl[i][0] && s <= code_tbl[i][1]) { w = s - code_tbl[i][0] + code_tbl[i][2]; break; - } + } } } @@ -212,7 +212,7 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) n = 6; } for (j=1; j<n-1; j++) { - CK((*filter->output_function)(code_tbl_m[i][j], filter->data)); + CK((*filter->output_function)(code_tbl_m[i][j], filter->data)); } w = code_tbl_m[i][n-1]; break; @@ -244,11 +244,11 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) } } } - + if (w == 0 && s >= 0 && s < jisx0208_ucs_table_size) { /* X 0208 */ w = jisx0208_ucs_table[s]; } - + if (w <= 0) { w = (s1 << 8) | s2; w &= MBFL_WCSPLANE_MASK; @@ -364,7 +364,7 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) } else { if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) { CK(mbfl_filt_conv_illegal_output(c, filter)); - } + } } if (s2 <= 0 || s1 == -1) { @@ -394,7 +394,7 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) } else if (c >= ucs_r_jis_table_min && c < ucs_r_jis_table_max) { s1 = ucs_r_jis_table[c - ucs_r_jis_table_min]; } - + if (c >= 0x2000) { for (i=0;i<s_form_tbl_len;i++) { if (c == s_form_tbl[i]) { @@ -407,7 +407,7 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) if (c == 0xf860 || c == 0xf861 || c == 0xf862) { filter->status = 2; filter->cache = c; - return c; + return c; } } @@ -429,7 +429,7 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) s1 = 0x2140; } } - + if (s1 <= 0) { for (i=0; i<wchar2sjis_mac_r_tbl_len; i++) { if (c >= wchar2sjis_mac_r_tbl[i][0] && c <= wchar2sjis_mac_r_tbl[i][1]) { @@ -441,9 +441,9 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) if (s1 <= 0) { for (i=0; i<wchar2sjis_mac_r_map_len; i++) { if (c >= wchar2sjis_mac_r_map[i][0] && c <= wchar2sjis_mac_r_map[i][1]) { - s1 = wchar2sjis_mac_code_map[i][c-wchar2sjis_mac_r_map[i][0]]; + s1 = wchar2sjis_mac_code_map[i][c-wchar2sjis_mac_r_map[i][0]]; break; - } + } } } @@ -455,7 +455,7 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) } } } - + if (s1 > 0) { c1 = s1/94+0x21; c2 = s1-94*(c1-0x21)+0x21; @@ -463,18 +463,18 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) s2 = 1; } } - + if ((s1 <= 0) || (s1 >= 0x8080 && s2 == 0)) { /* not found or X 0212 */ s1 = -1; c1 = 0; - + if (c == 0) { s1 = 0; } else if (s1 <= 0) { s1 = -1; } } - + if (s1 >= 0) { if (s1 < 0x100) { /* latin or kana */ CK((*filter->output_function)(s1, filter->data)); @@ -494,7 +494,7 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) case 2: - c1 = filter->cache; + c1 = filter->cache; filter->cache = 0; filter->status = 0; if (c1 == 0xf860) { @@ -527,12 +527,12 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) CK(mbfl_filt_conv_illegal_output(c1, filter)); CK(mbfl_filt_conv_illegal_output(c, filter)); } - + break; case 3: s1 = 0; - c1 = filter->cache & 0xffff; + c1 = filter->cache & 0xffff; mode = (filter->cache & 0xf0000) >> 16; filter->cache = 0; @@ -558,7 +558,7 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) CK(mbfl_filt_conv_illegal_output(0xf860, filter)); CK(mbfl_filt_conv_illegal_output(c1, filter)); CK(mbfl_filt_conv_illegal_output(c, filter)); - } + } } else if (mode == 0x2) { for (i=0; i<3; i++) { @@ -581,7 +581,7 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) case 4: s1 = 0; - c1 = filter->cache & 0xffff; + c1 = filter->cache & 0xffff; mode = (filter->cache & 0xf0000) >> 16; filter->cache = 0; @@ -593,7 +593,7 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) s1 = code_tbl_m[i+5][0]; break; } - } + } if (s1 > 0) { c1 = s1/94+0x21; @@ -613,7 +613,7 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) } CK(mbfl_filt_conv_illegal_output(c1, filter)); CK(mbfl_filt_conv_illegal_output(c, filter)); - } + } } else if (mode == 0x4) { for (i=0; i<4; i++) { if (c1 == code_tbl_m[i+8][3] && c == code_tbl_m[i+8][4]) { @@ -621,13 +621,13 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) filter->status = 5; break; } - } + } } break; case 5: s1 = 0; - c1 = filter->cache & 0xffff; + c1 = filter->cache & 0xffff; mode = (filter->cache & 0xf0000) >> 16; filter->cache = 0; @@ -639,7 +639,7 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) s1 = code_tbl_m[i+8][0]; break; } - } + } if (s1 > 0) { c1 = s1/94+0x21; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h index 3b191aa418..f4b2adfeac 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c index 93ac34644a..a856aa3d46 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c @@ -6,7 +6,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -158,16 +158,16 @@ const unsigned short mbfl_docomo2uni_pua[4][3] = { {0x28c2, 0x292f, 0xe63e}, {0x2930, 0x2934, 0xe6ac}, {0x2935, 0x2951, 0xe6b1}, - {0x2952, 0x29db, 0xe6ce}, + {0x2952, 0x29db, 0xe6ce}, }; const unsigned short mbfl_kddi2uni_pua[7][3] = { {0x26ec, 0x2838, 0xe468}, {0x284c, 0x2863, 0xe5b5}, {0x24b8, 0x24ca, 0xe5cd}, - {0x24cb, 0x2545, 0xea80}, - {0x2839, 0x284b, 0xeafb}, - {0x2546, 0x25c0, 0xeb0e}, + {0x24cb, 0x2545, 0xea80}, + {0x2839, 0x284b, 0xeafb}, + {0x2546, 0x25c0, 0xeb0e}, {0x25c1, 0x25c6, 0xeb89}, }; @@ -248,7 +248,7 @@ int mbfilter_conv_map_tbl(int c, int *w, const unsigned short map[][3], int n) { int i, match = 0; - + for (i = 0; i < n; i++) { if (map[i][0] <= c && c <= map[i][1]) { *w = c - map[i][0] + map[i][2]; @@ -263,7 +263,7 @@ int mbfilter_conv_r_map_tbl(int c, int *w, const unsigned short map[][3], int n) { int i, match = 0; - + for (i = 0; i < n; i++) { if (map[i][2] <= c && c <= map[i][2] - map[i][0] + map[i][1]) { *w = c + map[i][0] - map[i][2]; @@ -282,8 +282,8 @@ mbfilter_sjis_emoji_docomo2unicode(int s, int *snd) if (s >= mb_tbl_code2uni_docomo1_min + 0x00a2 && s <= mb_tbl_code2uni_docomo1_min + 0x00ad && s != mb_tbl_code2uni_docomo1_min + 0x00a3) { - w = 0x20E3; - *snd = mb_tbl_code2uni_docomo1[s - mb_tbl_code2uni_docomo1_min]; + w = 0x20E3; + *snd = mb_tbl_code2uni_docomo1[s - mb_tbl_code2uni_docomo1_min]; if (*snd > 0xf000) { *snd += 0x10000; } @@ -328,7 +328,7 @@ mbfilter_sjis_emoji_kddi2unicode(int s, int *snd) w += 0x10000; } else if (w > 0xe000) { /* unsuported by Unicode 6.0 */ w += 0xf0000; - } + } } } else if (s >= mb_tbl_code2uni_kddi2_min && s <= mb_tbl_code2uni_kddi2_max) { si = s - mb_tbl_code2uni_kddi2_min; @@ -346,7 +346,7 @@ mbfilter_sjis_emoji_kddi2unicode(int s, int *snd) w += 0x10000; } else if (w > 0xe000) { /* unsuported by Unicode 6.0 */ w += 0xf0000; - } + } } } return w; @@ -368,12 +368,12 @@ mbfilter_sjis_emoji_sb2unicode(int s, int *snd) } w = 0x20E3; } else { - w = mb_tbl_code2uni_sb1[si]; + w = mb_tbl_code2uni_sb1[si]; if (w > 0xf000) { w += 0x10000; } else if (w > 0xe000) { /* unsuported by Unicode 6.0 */ w += 0xf0000; - } + } } } else if (s >= mb_tbl_code2uni_sb2_min && s <= mb_tbl_code2uni_sb2_max) { si = s - mb_tbl_code2uni_sb2_min; @@ -382,7 +382,7 @@ mbfilter_sjis_emoji_sb2unicode(int s, int *snd) w += 0x10000; } else if (w > 0xe000) { /* unsuported by Unicode 6.0 */ w += 0xf0000; - } + } } else if (s >= mb_tbl_code2uni_sb3_min && s <= mb_tbl_code2uni_sb3_max) { si = s - mb_tbl_code2uni_sb3_min; if (si >= 0x0069 && si <= 0x0072) { @@ -394,7 +394,7 @@ mbfilter_sjis_emoji_sb2unicode(int s, int *snd) w += 0x10000; } else if (w > 0xe000) { /* unsuported by Unicode 6.0 */ w += 0xf0000; - } + } } } return w; @@ -404,7 +404,7 @@ int mbfilter_unicode2sjis_emoji_docomo(int c, int *s1, mbfl_convert_filter *filter) { int i, match = 0, c1s; - + if (filter->status == 1) { c1s = filter->cache; filter->cache = 0; @@ -413,7 +413,7 @@ mbfilter_unicode2sjis_emoji_docomo(int c, int *s1, mbfl_convert_filter *filter) if (c1s == 0x0023) { *s1 = 0x2964; match = 1; - } else if (c1s == 0x0030) { + } else if (c1s == 0x0030) { *s1 = 0x296f; match = 1; } else if (c1s >= 0x0031 && c1s <= 0x0039) { @@ -429,7 +429,7 @@ mbfilter_unicode2sjis_emoji_docomo(int c, int *s1, mbfl_convert_filter *filter) filter->cache = c; *s1 = -1; return match; - } + } if (c == 0x00A9) { *s1 = 0x29b5; match = 1; @@ -446,13 +446,13 @@ mbfilter_unicode2sjis_emoji_docomo(int c, int *s1, mbfl_convert_filter *filter) if (i >= 0) { *s1 = mb_tbl_uni_docomo2code3_value[i]; match = 1; - } + } } else if (c >= mb_tbl_uni_docomo2code5_min && c <= mb_tbl_uni_docomo2code5_max) { i = mbfl_bisec_srch2(c - 0xf0000, mb_tbl_uni_docomo2code5_key, mb_tbl_uni_docomo2code5_len); if (i >= 0) { *s1 = mb_tbl_uni_docomo2code5_val[i]; match = 1; - } + } } } @@ -463,7 +463,7 @@ int mbfilter_unicode2sjis_emoji_kddi(int c, int *s1, mbfl_convert_filter *filter) { int i, match = 0, c1s; - + if (filter->status == 1) { c1s = filter->cache; filter->cache = 0; @@ -472,7 +472,7 @@ mbfilter_unicode2sjis_emoji_kddi(int c, int *s1, mbfl_convert_filter *filter) if (c1s == 0x0023) { *s1 = 0x25bc; match = 1; - } else if (c1s == 0x0030) { + } else if (c1s == 0x0030) { *s1 = 0x2830; match = 1; } else if (c1s >= 0x0031 && c1s <= 0x0039) { @@ -482,7 +482,7 @@ mbfilter_unicode2sjis_emoji_kddi(int c, int *s1, mbfl_convert_filter *filter) } else if ((c >= NFLAGS(0x41) && c <= NFLAGS(0x5A)) && (c1s >= NFLAGS(0x41) && c1s <= NFLAGS(0x5A))) { for (i=0; i<10; i++) { if (c1s == NFLAGS(nflags_s[i][0]) && c == NFLAGS(nflags_s[i][1])) { - *s1 = nflags_code_kddi[i]; + *s1 = nflags_code_kddi[i]; match = 1; break; } @@ -500,7 +500,7 @@ mbfilter_unicode2sjis_emoji_kddi(int c, int *s1, mbfl_convert_filter *filter) filter->cache = c; *s1 = -1; return match; - } + } if (c == 0x00A9) { *s1 = 0x27dc; match = 1; @@ -523,10 +523,10 @@ mbfilter_unicode2sjis_emoji_kddi(int c, int *s1, mbfl_convert_filter *filter) if (i >= 0) { *s1 = mb_tbl_uni_kddi2code5_val[i]; match = 1; - } - } + } + } } - + return match; } @@ -534,7 +534,7 @@ int mbfilter_unicode2sjis_emoji_sb(int c, int *s1, mbfl_convert_filter *filter) { int i, match = 0, c1s; - + if (filter->status == 1) { filter->status = 0; c1s = filter->cache; @@ -543,7 +543,7 @@ mbfilter_unicode2sjis_emoji_sb(int c, int *s1, mbfl_convert_filter *filter) if (c1s == 0x0023) { *s1 = 0x2817; match = 1; - } else if (c1s == 0x0030) { + } else if (c1s == 0x0030) { *s1 = 0x282c; match = 1; } else if (c1s >= 0x0031 && c1s <= 0x0039) { @@ -553,7 +553,7 @@ mbfilter_unicode2sjis_emoji_sb(int c, int *s1, mbfl_convert_filter *filter) } else if ((c >= NFLAGS(0x41) && c <= NFLAGS(0x5A)) && (c1s >= NFLAGS(0x41) && c1s <= NFLAGS(0x5A))) { for (i=0; i<10; i++) { if (c1s == NFLAGS(nflags_s[i][0]) && c == NFLAGS(nflags_s[i][1])) { - *s1 = nflags_code_sb[i]; + *s1 = nflags_code_sb[i]; match = 1; break; } @@ -570,7 +570,7 @@ mbfilter_unicode2sjis_emoji_sb(int c, int *s1, mbfl_convert_filter *filter) filter->cache = c; *s1 = -1; return match; - } + } if (c == 0x00A9) { *s1 = 0x2855; match = 1; @@ -593,8 +593,8 @@ mbfilter_unicode2sjis_emoji_sb(int c, int *s1, mbfl_convert_filter *filter) if (i >= 0) { *s1 = mb_tbl_uni_sb2code5_val[i]; match = 1; - } - } + } + } } return match; } @@ -666,7 +666,7 @@ retry: } else if (s >= (94*94) && s < (114*94)) { /* user (95ku - 114ku) */ w = s - (94*94) + 0xe000; } - + if (s >= (94*94) && s < 119*94) { if (filter->from->no_encoding == mbfl_no_encoding_sjis_docomo) { w = mbfilter_sjis_emoji_docomo2unicode(s, &snd); @@ -679,7 +679,7 @@ retry: if (w > 0 && snd > 0) { CK((*filter->output_function)(snd, filter->data)); } - } + } } if (w <= 0) { w = (s1 << 8) | s2; @@ -698,7 +698,7 @@ retry: break; /* ESC : Softbank Emoji */ case 2: - if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb && + if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb && c == 0x24) { filter->cache = c; filter->status++; @@ -712,7 +712,7 @@ retry: /* ESC $ : Softbank Emoji */ case 3: - if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb && + if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb && ((c >= 0x45 && c <= 0x47) || (c >= 0x4f && c <= 0x51))) { filter->cache = c; filter->status++; @@ -734,27 +734,27 @@ retry: if (c == 0x0f) { w = c; filter->cache = 0; - filter->status = 0; + filter->status = 0; } else { if (c1 == 0x47 && c >= 0x21 && c <= 0x7a) { - s1 = 0x91; s2 = c; + s1 = 0x91; s2 = c; } else if (c1 == 0x45 && c >= 0x21 && c <= 0x7a) { - s1 = 0x8d; s2 = c; + s1 = 0x8d; s2 = c; } else if (c1 == 0x46 && c >= 0x21 && c <= 0x7a) { - s1 = 0x8e; s2 = c; + s1 = 0x8e; s2 = c; } else if (c1 == 0x4f && c >= 0x21 && c <= 0x6d) { - s1 = 0x92; s2 = c; + s1 = 0x92; s2 = c; } else if (c1 == 0x50 && c >= 0x21 && c <= 0x6c) { - s1 = 0x95; s2 = c; + s1 = 0x95; s2 = c; } else if (c1 == 0x51 && c >= 0x21 && c <= 0x5e) { - s1 = 0x96; s2 = c; + s1 = 0x96; s2 = c; } s = (s1 - 0x21)*94 + s2 - 0x21; w = mbfilter_sjis_emoji_sb2unicode(s, &snd); if (w > 0) { if (snd > 0) { CK((*filter->output_function)(snd, filter->data)); - } + } CK((*filter->output_function)(w, filter->data)); } } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h index 15a91a58b5..51b703da72 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c index 81ab32edfd..265c577e5f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.h index f24e42ea22..2c6c70373a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c index c66c51f248..4d075e51d4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -220,7 +220,7 @@ mbfl_filt_tl_jisx0201_jisx0208(int c, mbfl_convert_filter *filt) s = 0xff65; /* HALFWIDTH KATAKANA MIDDLE DOT */ } } else if (mode & (MBFL_FILT_TL_ZEN2HAN_HIRA2KANA - | MBFL_FILT_TL_ZEN2HAN_KANA2HIRA)) { + | MBFL_FILT_TL_ZEN2HAN_KANA2HIRA)) { if ((mode & MBFL_FILT_TL_ZEN2HAN_HIRA2KANA) && c >= 0x3041 && c <= 0x3093) { /* Zenkaku hirangana to Zenkaku katakana */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h index b52b38ee93..922eee168a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c index 4d83af0bf1..32f174f602 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.h b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.h index 6dd1e65697..bbf567a493 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_UCS2_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c index 12a2033e0c..8906b8ff09 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.h b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.h index 718c7e1c2c..b5280f1bfb 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_UCS4_H @@ -39,7 +39,7 @@ extern const struct mbfl_convert_vtbl vtbl_ucs4be_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_ucs4be; extern const struct mbfl_convert_vtbl vtbl_ucs4le_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_ucs4le; - + int mbfl_filt_conv_ucs4_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_ucs4be_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_ucs4be(int c, mbfl_convert_filter *filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c index 86765b2ece..2e1c696f8a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_kr.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -128,23 +128,23 @@ mbfl_filt_conv_uhc_wchar(int c, mbfl_convert_filter *filter) w = uhc1_ucs_table[w]; } else { w = 0; - } + } } else if ( c1 >= 0xa1 && c1 <= 0xc6){ - w = (c1 - 0xa1)*190 + (c - 0x41); + w = (c1 - 0xa1)*190 + (c - 0x41); if (w >= 0 && w < uhc2_ucs_table_size) { flag = 2; w = uhc2_ucs_table[w]; } else { w = 0; - } + } } else if ( c1 >= 0xc7 && c1 <= 0xfe){ - w = (c1 - 0xc7)*94 + (c - 0xa1); + w = (c1 - 0xc7)*94 + (c - 0xa1); if (w >= 0 && w < uhc3_ucs_table_size) { flag = 3; w = uhc3_ucs_table[w]; } else { w = 0; - } + } } if (flag > 0){ if (w <= 0) { @@ -238,7 +238,7 @@ static int mbfl_filt_ident_uhc(int c, mbfl_identify_filter *filter) filter->status= 3; } else { /* bad */ filter->flag = 1; - } + } case 1: case 2: diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uhc.h b/ext/mbstring/libmbfl/filters/mbfilter_uhc.h index f964249197..6ed5486767 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uhc.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_uhc.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter_kr.h * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_UHC_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c index 5df6551d4d..3e008e8035 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf16.h b/ext/mbstring/libmbfl/filters/mbfilter_utf16.h index f54bb00573..4aa88619c7 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf16.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf16.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_UTF16_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c index 3cef6b051a..852bca2002 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 20 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -262,7 +262,7 @@ int mbfl_filt_conv_utf32le_wchar(int c, mbfl_convert_filter *filter) } else { n = (n & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH; CK((*filter->output_function)(n, filter->data)); - } + } } return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf32.h b/ext/mbstring/libmbfl/filters/mbfilter_utf32.h index c280e9f376..aa0883fff4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf32.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf32.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 20 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_UTF32_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c index 2bb1dfada1..db0979c25d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.h b/ext/mbstring/libmbfl/filters/mbfilter_utf7.h index 0da3b02c0e..6223bdba97 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_UTF7_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c index b32095cd33..72c772b072 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h index d6c54789c3..19ab934da0 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_UTF7IMAP_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c index 5539700343..e81e0860d2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -101,6 +101,7 @@ int mbfl_filt_put_invalid_char(int c, mbfl_convert_filter *filter) filter->status = 0; filter->cache = 0; CK((*filter->output_function)(w, filter->data)); + return 0; } @@ -109,7 +110,7 @@ int mbfl_filt_put_invalid_char(int c, mbfl_convert_filter *filter) */ int mbfl_filt_conv_utf8_wchar(int c, mbfl_convert_filter *filter) { - int s, c1, w = 0, flag = 0; + int s, c1; retry: switch (filter->status & 0xff) { @@ -126,7 +127,7 @@ retry: filter->status = 0x30; filter->cache = c & 0x7; } else { - mbfl_filt_put_invalid_char(c, filter); + CK(mbfl_filt_put_invalid_char(c, filter)); } break; case 0x10: /* 2byte code 2nd char: 0x80-0xbf */ @@ -134,18 +135,18 @@ retry: case 0x32: /* 4byte code 4th char: 0x80-0xbf */ filter->status = 0; if (c >= 0x80 && c <= 0xbf) { - s = (filter->cache<<6) | (c & 0x3f); + s = (filter->cache<<6) | (c & 0x3f); filter->cache = 0; - CK((*filter->output_function)(s, filter->data)); + CK((*filter->output_function)(s, filter->data)); } else { - mbfl_filt_put_invalid_char(filter->cache, filter); - goto retry; + CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + goto retry; } break; case 0x20: /* 3byte code 2nd char: 0:0xa0-0xbf,D:0x80-9F,1-C,E-F:0x80-0x9f */ s = (filter->cache<<6) | (c & 0x3f); c1 = filter->cache & 0xf; - + if ((c >= 0x80 && c <= 0xbf) && ((c1 == 0x0 && c >= 0xa0) || (c1 == 0xd && c < 0xa0) || @@ -153,14 +154,14 @@ retry: filter->cache = s; filter->status++; } else { - mbfl_filt_put_invalid_char(filter->cache, filter); - goto retry; + CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + goto retry; } break; case 0x30: /* 4byte code 2nd char: 0:0x90-0xbf,1-3:0x80-0xbf,4:0x80-0x8f */ s = (filter->cache<<6) | (c & 0x3f); c1 = filter->cache & 0x7; - + if ((c >= 0x80 && c <= 0xbf) && ((c1 == 0x0 && c >= 0x90) || (c1 == 0x4 && c < 0x90) || @@ -168,8 +169,8 @@ retry: filter->cache = s; filter->status++; } else { - mbfl_filt_put_invalid_char(filter->cache, filter); - goto retry; + CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + goto retry; } break; case 0x31: /* 4byte code 3rd char: 0x80-0xbf */ @@ -177,8 +178,8 @@ retry: filter->cache = (filter->cache<<6) | (c & 0x3f); filter->status++; } else { - mbfl_filt_put_invalid_char(filter->cache, filter); - goto retry; + CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + goto retry; } break; default: @@ -200,7 +201,7 @@ int mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter) filter->cache = 0; if (status != 0) { - mbfl_filt_put_invalid_char(cache, filter); + CK(mbfl_filt_put_invalid_char(cache, filter)); } if (filter->flush_function != NULL) { @@ -247,7 +248,7 @@ int mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter) filter->status &= 0xff; if (c < 0x80) { - if (c < 0) { + if (c < 0) { filter->flag = 1; /* bad */ } else if (filter->status) { filter->flag = 1; /* bad */ @@ -256,23 +257,23 @@ int mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter) } else if (c < 0xc0) { switch (filter->status) { case 0x20: /* 3 byte code 2nd char */ - if ((c1 == 0x0 && c >= 0xa0) || - (c1 == 0xd && c < 0xa0) || + if ((c1 == 0x0 && c >= 0xa0) || + (c1 == 0xd && c < 0xa0) || (c1 > 0x0 && c1 != 0xd)) { filter->status++; } else { filter->flag = 1; /* bad */ - filter->status = 0; + filter->status = 0; } break; case 0x30: /* 4 byte code 2nd char */ - if ((c1 == 0x0 && c >= 0x90) || - (c1 > 0x0 && c1 < 0x4) || + if ((c1 == 0x0 && c >= 0x90) || + (c1 > 0x0 && c1 < 0x4) || (c1 == 0x4 && c < 0x90)) { filter->status++; } else { filter->flag = 1; /* bad */ - filter->status = 0; + filter->status = 0; } break; case 0x31: /* 4 byte code 3rd char */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.h b/ext/mbstring/libmbfl/filters/mbfilter_utf8.h index 970ace6462..b0c93ccd3d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_UTF8_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c index f9b643c17d..41e02bf314 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by rui hrokawa <hirokawa@php.net> on 8 aug 2011. - * + * */ #ifdef HAVE_CONFIG_H @@ -183,14 +183,14 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf8_sb = { }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) +int mbfl_filt_put_invalid_char(int c, mbfl_convert_filter *filter); /* * UTF-8 => wchar */ int mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter) { - int s, w = 0, flag = 0; - int s1 = 0, c1 = 0, snd = 0; + int s, s1 = 0, c1 = 0, snd = 0; retry: switch (filter->status & 0xff) { @@ -207,7 +207,7 @@ retry: filter->status = 0x30; filter->cache = c & 0x7; } else { - mbfl_filt_put_invalid_char(c, filter); + CK(mbfl_filt_put_invalid_char(c, filter)); } break; case 0x10: /* 2byte code 2nd char: 0x80-0xbf */ @@ -215,7 +215,7 @@ retry: case 0x32: /* 4byte code 4th char: 0x80-0xbf */ filter->status = 0; if (c >= 0x80 && c <= 0xbf) { - s = (filter->cache<<6) | (c & 0x3f); + s = (filter->cache<<6) | (c & 0x3f); filter->cache = 0; if (filter->from->no_encoding == mbfl_no_encoding_utf8_docomo && @@ -231,20 +231,20 @@ retry: mbfilter_conv_r_map_tbl(s, &s1, mbfl_sb2uni_pua, 6) > 0) { s = mbfilter_sjis_emoji_sb2unicode(s1, &snd); } - + if (snd > 0) { CK((*filter->output_function)(snd, filter->data)); } CK((*filter->output_function)(s, filter->data)); } else { - mbfl_filt_put_invalid_char(filter->cache, filter); - goto retry; + CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + goto retry; } break; case 0x20: /* 3byte code 2nd char: 0:0xa0-0xbf,D:0x80-9F,1-C,E-F:0x80-0x9f */ s = (filter->cache<<6) | (c & 0x3f); c1 = filter->cache & 0xf; - + if ((c >= 0x80 && c <= 0xbf) && ((c1 == 0x0 && c >= 0xa0) || (c1 == 0xd && c < 0xa0) || @@ -252,14 +252,14 @@ retry: filter->cache = s; filter->status++; } else { - mbfl_filt_put_invalid_char(filter->cache, filter); - goto retry; + CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + goto retry; } break; case 0x30: /* 4byte code 2nd char: 0:0x90-0xbf,1-3:0x80-0xbf,4:0x80-0x8f */ s = (filter->cache<<6) | (c & 0x3f); c1 = filter->cache & 0x7; - + if ((c >= 0x80 && c <= 0xbf) && ((c1 == 0x0 && c >= 0x90) || (c1 == 0x4 && c < 0x90) || @@ -267,8 +267,8 @@ retry: filter->cache = s; filter->status++; } else { - mbfl_filt_put_invalid_char(filter->cache, filter); - goto retry; + CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + goto retry; } break; case 0x31: /* 4byte code 3rd char: 0x80-0xbf */ @@ -276,8 +276,8 @@ retry: filter->cache = (filter->cache<<6) | (c & 0x3f); filter->status++; } else { - mbfl_filt_put_invalid_char(filter->cache, filter); - goto retry; + CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + goto retry; } break; default: @@ -298,7 +298,7 @@ int mbfl_filt_conv_wchar_utf8_mobile(int c, mbfl_convert_filter *filter) if ((filter->to->no_encoding == mbfl_no_encoding_utf8_docomo && mbfilter_unicode2sjis_emoji_docomo(c, &s1, filter) > 0 && - mbfilter_conv_map_tbl(s1, &c1, mbfl_docomo2uni_pua, 4) > 0) || + mbfilter_conv_map_tbl(s1, &c1, mbfl_docomo2uni_pua, 4) > 0) || (filter->to->no_encoding == mbfl_no_encoding_utf8_kddi_a && mbfilter_unicode2sjis_emoji_kddi(c, &s1, filter) > 0 && mbfilter_conv_map_tbl(s1, &c1, mbfl_kddi2uni_pua, 7) > 0) || diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.h b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.h index c127b18404..74ac6e195e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by rui hrokawa <hirokawa@php.net> on 8 aug 2011. - * + * */ #ifndef MBFL_MBFILTER_UTF8_MOBILE_H diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c index 64fc39d19b..b8cdfcaf79 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H @@ -65,7 +65,7 @@ enum { uudec_state_ground=0, uudec_state_inbegin, int mbfl_filt_conv_uudec(int c, mbfl_convert_filter * filter) { int n; - + switch(filter->status) { case uudec_state_ground: /* looking for "begin 0666 filename\n" line */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.h b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.h index ca7521c39c..c02d21f878 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_UUENCODE_H diff --git a/ext/mbstring/libmbfl/filters/sjis_mac2uni.h b/ext/mbstring/libmbfl/filters/sjis_mac2uni.h index 1bd77c91a3..7853d96ba4 100644 --- a/ext/mbstring/libmbfl/filters/sjis_mac2uni.h +++ b/ext/mbstring/libmbfl/filters/sjis_mac2uni.h @@ -1,218 +1,218 @@ static const unsigned short sjis_mac2wchar1[] = { // 0x03ac - 0x03c9 -0x339c, 0x339f, 0x339d, 0x33a0, -0x33a4, 0xff4d, 0x33a1, 0x33a5, -0x339e, 0x33a2, 0x338e, 0xff47, -0x338f, 0x33c4, 0x3396, 0x3397, -0x2113, 0x3398, 0x33b3, 0x33b2, -0x33b1, 0x33b0, 0x2109, 0x33d4, -0x33cb, 0x3390, 0x3385, 0x3386, +0x339c, 0x339f, 0x339d, 0x33a0, +0x33a4, 0xff4d, 0x33a1, 0x33a5, +0x339e, 0x33a2, 0x338e, 0xff47, +0x338f, 0x33c4, 0x3396, 0x3397, +0x2113, 0x3398, 0x33b3, 0x33b2, +0x33b1, 0x33b0, 0x2109, 0x33d4, +0x33cb, 0x3390, 0x3385, 0x3386, 0x3387, 0xf860, }; static const unsigned short sjis_mac2wchar2[] = { // 0x0406 - 0x0420 -0x2116, 0x33cd, -0x2121, 0xf861, 0x2664, 0x2667, -0x2661, 0x2662, 0x2660, 0x2663, -0x2665, 0x2666, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x3020, 0x260e, +0x2116, 0x33cd, +0x2121, 0xf861, 0x2664, 0x2667, +0x2661, 0x2662, 0x2660, 0x2663, +0x2665, 0x2666, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x3020, 0x260e, 0x3004, }; static const unsigned short sjis_mac2wchar3[] = { // 0x0432 - 0x0441 -0x261e, 0x261c, -0x261d, 0x261f, 0x21c6, 0x21c4, -0x21c5, 0xf860, 0x21e8, 0x21e6, -0x21e7, 0x21e9, 0x21e8, 0x21e6, +0x261e, 0x261c, +0x261d, 0x261f, 0x21c6, 0x21c4, +0x21c5, 0xf860, 0x21e8, 0x21e6, +0x21e7, 0x21e9, 0x21e8, 0x21e6, 0x21e7, 0x21e9, }; static const unsigned short sjis_mac2wchar4[] = { // 0x0468 - 0x0480 -0x3230, 0x322a, 0x322b, 0x322c, -0x322d, 0x322e, 0x322f, 0x3240, -0x3237, 0x3242, 0x3243, 0x3239, -0x323a, 0x3231, 0x323e, 0x3234, -0x3232, 0x323b, 0x3236, 0x3233, -0x3235, 0x323c, 0x323d, 0x323f, +0x3230, 0x322a, 0x322b, 0x322c, +0x322d, 0x322e, 0x322f, 0x3240, +0x3237, 0x3242, 0x3243, 0x3239, +0x323a, 0x3231, 0x323e, 0x3234, +0x3232, 0x323b, 0x3236, 0x3233, +0x3235, 0x323c, 0x323d, 0x323f, 0x3238, }; static const unsigned short sjis_mac2wchar5[] = { // 0x04b8 - 0x04e8 -0x5927, 0x5c0f, 0x32a4, 0x32a5, -0x32a6, 0x32a7, 0x32a8, 0x32a9, -0x3296, 0x329d, 0x3298, 0x329e, -0x63a7, 0x3299, 0x3349, 0x3322, -0x334d, 0x3314, 0x3316, 0x3305, -0x3333, 0x334e, 0x3303, 0x3336, -0x3318, 0x3315, 0x3327, 0x3351, -0x334a, 0x3339, 0x3357, 0x330d, -0x3342, 0x3323, 0x3326, 0x333b, -0x332b, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x3300, 0x331e, 0x332a, 0x3331, +0x5927, 0x5c0f, 0x32a4, 0x32a5, +0x32a6, 0x32a7, 0x32a8, 0x32a9, +0x3296, 0x329d, 0x3298, 0x329e, +0x63a7, 0x3299, 0x3349, 0x3322, +0x334d, 0x3314, 0x3316, 0x3305, +0x3333, 0x334e, 0x3303, 0x3336, +0x3318, 0x3315, 0x3327, 0x3351, +0x334a, 0x3339, 0x3357, 0x330d, +0x3342, 0x3323, 0x3326, 0x333b, +0x332b, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x3300, 0x331e, 0x332a, 0x3331, 0x3347, }; static const unsigned short sjis_mac2wchar6[] = { // 0x050c - 0x0551 -0x337e, 0x337d, 0x337c, 0x337b, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x337f, 0xf862, 0xf862, -0x222e, 0x221f, 0x22bf, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x301d, 0x301f, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x3094, 0x0000, 0x30f7, 0x30f8, +0x337e, 0x337d, 0x337c, 0x337b, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x337f, 0xf862, 0xf862, +0x222e, 0x221f, 0x22bf, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x301d, 0x301f, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x3094, 0x0000, 0x30f7, 0x30f8, 0x30f9, 0x30fa, }; static const unsigned short sjis_mac2wchar7[] = { // 0x1ed9 - 0x1f18 -0x3001, 0x3002, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0xffe3, 0xfe33, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x30fc, -0xfe31, 0x2010, 0x0000, 0x0000, -0x301c, 0x2016, 0xff5c, 0x2026, -0xfe30, 0x0000, 0x0000, 0x0000, -0x0000, 0xfe35, 0xfe36, 0xfe39, -0xfe3a, 0xff3b, 0xff3d, 0xfe37, -0xfe38, 0xfe3f, 0xfe40, 0xfe3d, -0xfe3e, 0xfe41, 0xfe42, 0xfe43, -0xfe44, 0xfe3b, 0xfe3c, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, +0x3001, 0x3002, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0xffe3, 0xfe33, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x30fc, +0xfe31, 0x2010, 0x0000, 0x0000, +0x301c, 0x2016, 0xff5c, 0x2026, +0xfe30, 0x0000, 0x0000, 0x0000, +0x0000, 0xfe35, 0xfe36, 0xfe39, +0xfe3a, 0xff3b, 0xff3d, 0xfe37, +0xfe38, 0xfe3f, 0xfe40, 0xfe3d, +0xfe3e, 0xfe41, 0xfe42, 0xfe43, +0xfe44, 0xfe3b, 0xfe3c, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0xff1d, }; static const unsigned short sjis_mac2wchar8[] = { // 0x1ff2 - 0x20a5 -0x3041, 0x0000, -0x3043, 0x0000, 0x3045, 0x0000, -0x3047, 0x0000, 0x3049, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x3063, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x3083, 0x0000, 0x3085, 0x0000, -0x3087, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x308e, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x30a1, 0x0000, 0x30a3, 0x0000, -0x30a5, 0x0000, 0x30a7, 0x0000, -0x30a9, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x30c3, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x30e3, 0x0000, -0x30e5, 0x0000, 0x30e7, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x30ee, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, +0x3041, 0x0000, +0x3043, 0x0000, 0x3045, 0x0000, +0x3047, 0x0000, 0x3049, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x3063, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x3083, 0x0000, 0x3085, 0x0000, +0x3087, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x308e, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x30a1, 0x0000, 0x30a3, 0x0000, +0x30a5, 0x0000, 0x30a7, 0x0000, +0x30a9, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x30c3, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x30e3, 0x0000, +0x30e5, 0x0000, 0x30e7, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x30ee, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x30f5, 0x30f6, }; static const unsigned short wchar2sjis_mac4[] = { // 0x2660 - 0x2667 -0x040e, 0x040c, 0x040d, 0x040f, -0x040a, 0x0410, 0x0411, 0x040b, +0x040e, 0x040c, 0x040d, 0x040f, +0x040a, 0x0410, 0x0411, 0x040b, }; static const unsigned short wchar2sjis_mac7[] = { // 0x322a - 0x3243 -0x0469, 0x046a, -0x046b, 0x046c, 0x046d, 0x046e, -0x0468, 0x0475, 0x0478, 0x047b, -0x0477, 0x047c, 0x047a, 0x0470, -0x0480, 0x0473, 0x0474, 0x0479, -0x047d, 0x047e, 0x0476, 0x047f, -0x046f, 0x0000, 0x0471, 0x0472, +0x0469, 0x046a, +0x046b, 0x046c, 0x046d, 0x046e, +0x0468, 0x0475, 0x0478, 0x047b, +0x0477, 0x047c, 0x047a, 0x0470, +0x0480, 0x0473, 0x0474, 0x0479, +0x047d, 0x047e, 0x0476, 0x047f, +0x046f, 0x0000, 0x0471, 0x0472, }; static const unsigned short wchar2sjis_mac8[] = { // 0x3296 - 0x329e -0x04c0, 0x0000, -0x04c2, 0x04c5, 0x0000, 0x0000, +0x04c0, 0x0000, +0x04c2, 0x04c5, 0x0000, 0x0000, 0x0000, 0x04c1, 0x04c3, }; static const unsigned short wchar2sjis_mac9[] = { // 0x3300 - 0x33d4 -0x04e4, 0x0000, 0x0000, 0x04ce, -0x0000, 0x04cb, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x04d7, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x04c9, 0x04d1, 0x04ca, 0x0000, -0x04d0, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x04e5, 0x0000, -0x0000, 0x0000, 0x04c7, 0x04d9, -0x0000, 0x0000, 0x04da, 0x04d2, -0x0000, 0x0000, 0x04e6, 0x04dc, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x04e7, 0x0000, 0x04cc, -0x0000, 0x0000, 0x04cf, 0x0000, -0x0000, 0x04d5, 0x0000, 0x04db, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x04d8, 0x0000, -0x0000, 0x0000, 0x0000, 0x04e8, -0x0000, 0x04c6, 0x04d4, 0x0000, -0x0000, 0x04c8, 0x04cd, 0x0000, -0x0000, 0x04d3, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x04d6, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x050f, -0x050e, 0x050d, 0x050c, 0x0521, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x03c6, 0x03c7, 0x03c8, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x03b6, 0x03b8, -0x03c5, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x03ba, 0x03bb, -0x03bd, 0x0000, 0x0000, 0x0000, -0x03ac, 0x03ae, 0x03b4, 0x03ad, -0x03af, 0x03b2, 0x03b5, 0x0000, -0x03b0, 0x03b3, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x03c1, 0x03c0, 0x03bf, 0x03be, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, -0x03b9, 0x0000, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x03c4, -0x0000, 0x0407, 0x0000, 0x0000, -0x0000, 0x0000, 0x0000, 0x0000, +0x04e4, 0x0000, 0x0000, 0x04ce, +0x0000, 0x04cb, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x04d7, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x04c9, 0x04d1, 0x04ca, 0x0000, +0x04d0, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x04e5, 0x0000, +0x0000, 0x0000, 0x04c7, 0x04d9, +0x0000, 0x0000, 0x04da, 0x04d2, +0x0000, 0x0000, 0x04e6, 0x04dc, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x04e7, 0x0000, 0x04cc, +0x0000, 0x0000, 0x04cf, 0x0000, +0x0000, 0x04d5, 0x0000, 0x04db, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x04d8, 0x0000, +0x0000, 0x0000, 0x0000, 0x04e8, +0x0000, 0x04c6, 0x04d4, 0x0000, +0x0000, 0x04c8, 0x04cd, 0x0000, +0x0000, 0x04d3, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x04d6, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x050f, +0x050e, 0x050d, 0x050c, 0x0521, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x03c6, 0x03c7, 0x03c8, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x03b6, 0x03b8, +0x03c5, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x03ba, 0x03bb, +0x03bd, 0x0000, 0x0000, 0x0000, +0x03ac, 0x03ae, 0x03b4, 0x03ad, +0x03af, 0x03b2, 0x03b5, 0x0000, +0x03b0, 0x03b3, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x03c1, 0x03c0, 0x03bf, 0x03be, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, +0x03b9, 0x0000, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x03c4, +0x0000, 0x0407, 0x0000, 0x0000, +0x0000, 0x0000, 0x0000, 0x0000, 0x03c3, }; static const unsigned short wchar2sjis_mac10[] = { // 0xfe30 - 0xfe44 -0x1efc, 0x1ef4, 0x0000, 0x1ee9, -0x0000, 0x1f01, 0x1f02, 0x1f07, -0x1f08, 0x1f03, 0x1f04, 0x1f11, -0x1f12, 0x1f0b, 0x1f0c, 0x1f09, -0x1f0a, 0x1f0d, 0x1f0e, 0x1f0f, +0x1efc, 0x1ef4, 0x0000, 0x1ee9, +0x0000, 0x1f01, 0x1f02, 0x1f07, +0x1f08, 0x1f03, 0x1f04, 0x1f11, +0x1f12, 0x1f0b, 0x1f0c, 0x1f09, +0x1f0a, 0x1f0d, 0x1f0e, 0x1f0f, 0x1f10, }; static const unsigned short code_tbl[][3] = { diff --git a/ext/mbstring/libmbfl/filters/translit_kana_jisx0201_jisx0208.h b/ext/mbstring/libmbfl/filters/translit_kana_jisx0201_jisx0208.h index 4f8f4b7b11..b30efce5d7 100644 --- a/ext/mbstring/libmbfl/filters/translit_kana_jisx0201_jisx0208.h +++ b/ext/mbstring/libmbfl/filters/translit_kana_jisx0201_jisx0208.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/unicode_prop.h b/ext/mbstring/libmbfl/filters/unicode_prop.h index 4feb5756e3..bbb92b98e7 100644 --- a/ext/mbstring/libmbfl/filters/unicode_prop.h +++ b/ext/mbstring/libmbfl/filters/unicode_prop.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/unicode_table_armscii8.h b/ext/mbstring/libmbfl/filters/unicode_table_armscii8.h index 174e95de7a..abf89867ea 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_armscii8.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_armscii8.h @@ -19,7 +19,7 @@ * Suite 330, Boston, MA 02111-1307 USA * * The author of this file: Hayk Chamyan <hamshen@gmail.com> - * + * */ #ifndef UNICODE_TABLE_ARMSCII8_H diff --git a/ext/mbstring/libmbfl/filters/unicode_table_big5.h b/ext/mbstring/libmbfl/filters/unicode_table_big5.h index 2616d0433a..0be595f6e3 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_big5.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_big5.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/unicode_table_cns11643.h b/ext/mbstring/libmbfl/filters/unicode_table_cns11643.h index 0c17e1e616..83915af1bd 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_cns11643.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_cns11643.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/unicode_table_cp1251.h b/ext/mbstring/libmbfl/filters/unicode_table_cp1251.h index 99ec985b36..9be88c587f 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_cp1251.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_cp1251.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -27,21 +27,21 @@ /* cp1251 to Unicode table */ static const unsigned short cp1251_ucs_table[] = { - 0x0402, 0x0403, 0x201a, 0x0453, 0x201e, 0x2026, 0x2020, 0x2021, - 0x20ac, 0x2030, 0x0409, 0x2039, 0x040a, 0x040c, 0x040b, 0x040f, - 0x0452, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, - 0x003f, 0x2122, 0x0459, 0x203a, 0x045a, 0x045c, 0x045b, 0x045f, - 0x00a0, 0x040e, 0x045e, 0x0408, 0x00a4, 0x0490, 0x00a6, 0x00a7, - 0x0401, 0x00a9, 0x0404, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0407, - 0x00b0, 0x00b1, 0x0406, 0x0456, 0x0491, 0x00b5, 0x00b6, 0x00b7, - 0x0451, 0x2116, 0x0454, 0x00bb, 0x0458, 0x0405, 0x0455, 0x0457, - 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, - 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, - 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, - 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, - 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, - 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, - 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0402, 0x0403, 0x201a, 0x0453, 0x201e, 0x2026, 0x2020, 0x2021, + 0x20ac, 0x2030, 0x0409, 0x2039, 0x040a, 0x040c, 0x040b, 0x040f, + 0x0452, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + 0x003f, 0x2122, 0x0459, 0x203a, 0x045a, 0x045c, 0x045b, 0x045f, + 0x00a0, 0x040e, 0x045e, 0x0408, 0x00a4, 0x0490, 0x00a6, 0x00a7, + 0x0401, 0x00a9, 0x0404, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0407, + 0x00b0, 0x00b1, 0x0406, 0x0456, 0x0491, 0x00b5, 0x00b6, 0x00b7, + 0x0451, 0x2116, 0x0454, 0x00bb, 0x0458, 0x0405, 0x0455, 0x0457, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f }; static const int cp1251_ucs_table_min = 0x80; diff --git a/ext/mbstring/libmbfl/filters/unicode_table_cp1252.h b/ext/mbstring/libmbfl/filters/unicode_table_cp1252.h index 8a33920f11..eb48af55e3 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_cp1252.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_cp1252.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/unicode_table_cp1254.h b/ext/mbstring/libmbfl/filters/unicode_table_cp1254.h index 644053cf7a..7a9c4424ad 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_cp1254.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_cp1254.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -27,21 +27,21 @@ /* cp1254 to Unicode table */ static const unsigned short cp1254_ucs_table[] = { - 0x20ac, 0xfffe, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, - 0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, 0xfffe, 0xfffe, 0xfffe, - 0xfffe, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, - 0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, 0xfffe, 0xfffe, 0x0178, - 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, - 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, - 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, - 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, - 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, - 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, - 0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, - 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df, - 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, - 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, - 0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, + 0x20ac, 0xfffe, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, + 0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, 0xfffe, 0xfffe, 0xfffe, + 0xfffe, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + 0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, 0xfffe, 0xfffe, 0x0178, + 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + 0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, + 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, + 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, + 0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff }; static const int cp1254_ucs_table_min = 0x80; diff --git a/ext/mbstring/libmbfl/filters/unicode_table_cp850.h b/ext/mbstring/libmbfl/filters/unicode_table_cp850.h index 6c60ae03e0..57fb61dbc9 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_cp850.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_cp850.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/unicode_table_cp866.h b/ext/mbstring/libmbfl/filters/unicode_table_cp866.h index 567493276f..468e1a77c2 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_cp866.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_cp866.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -27,21 +27,21 @@ /* cp866_DOSCyrillicRussian to Unicode table */ static const unsigned short cp866_ucs_table[] = { - 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, - 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, - 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, - 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, - 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, - 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, - 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, - 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, - 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, - 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, - 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, - 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, - 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, - 0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040e, 0x045e, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, + 0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040e, 0x045e, 0x00b0, 0x2219, 0x00b7, 0x221a, 0x2116, 0x00a4, 0x25a0, 0x00a0 }; static const int cp866_ucs_table_min = 0x80; diff --git a/ext/mbstring/libmbfl/filters/unicode_table_cp932_ext.h b/ext/mbstring/libmbfl/filters/unicode_table_cp932_ext.h index b685713142..8b1efdd0be 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_cp932_ext.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_cp932_ext.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/filters/unicode_table_cp936.h b/ext/mbstring/libmbfl/filters/unicode_table_cp936.h index 173c8f4b3f..cefd5568c9 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_cp936.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_cp936.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -3175,7 +3175,7 @@ const int cp936_ucs_table_size = (sizeof(cp936_ucs_table)/sizeof(unsigned short) /* UCS -> CP936 */ -const unsigned short ucs_a1_cp936_table[] = { +const unsigned short ucs_a1_cp936_table[] = { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007, 0x0008,0x0009,0x000a,0x000b,0x000c,0x000d,0x000e,0x000f, 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017, diff --git a/ext/mbstring/libmbfl/filters/unicode_table_gb18030.h b/ext/mbstring/libmbfl/filters/unicode_table_gb18030.h index 7c38045638..04126d8ccd 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_gb18030.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_gb18030.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -89,142 +89,142 @@ static const unsigned short mbfl_gb18030_pua_tbl[][3] = { static const int mbfl_gb18030_pua_tbl_max = sizeof(mbfl_gb18030_pua_tbl)/(sizeof(unsigned short)*3); static const unsigned short mbfl_gb2uni_tbl[] = { -0x0000, 0x0023, 0x0024, 0x0025, 0x0026, 0x002c, 0x002d, 0x0031, -0x0032, 0x0050, 0x0051, 0x0058, 0x0059, 0x005e, 0x005f, 0x005f, -0x0060, 0x0063, 0x0064, 0x0066, 0x0067, 0x0067, 0x0068, 0x0068, -0x0069, 0x006c, 0x006d, 0x007d, 0x007e, 0x0084, 0x0085, 0x0093, -0x0094, 0x00ab, 0x00ac, 0x00ae, 0x00af, 0x00b2, 0x00b3, 0x00cf, -0x00d0, 0x0131, 0x0132, 0x0132, 0x0133, 0x0133, 0x0134, 0x0134, -0x0135, 0x0135, 0x0136, 0x0136, 0x0137, 0x0137, 0x0138, 0x0138, -0x0139, 0x0154, 0x0155, 0x01ab, 0x01ac, 0x01ba, 0x01bb, 0x021f, -0x0220, 0x0220, 0x0221, 0x022d, 0x022e, 0x02e4, 0x02e5, 0x02e5, -0x02e6, 0x02ec, 0x02ed, 0x02ed, 0x02ee, 0x0324, 0x0325, 0x0332, -0x0333, 0x0333, 0x0334, 0x1ef1, 0x1ef2, 0x1ef3, 0x1ef4, 0x1ef4, -0x1ef5, 0x1ef6, 0x1ef7, 0x1efd, 0x1efe, 0x1f06, 0x1f07, 0x1f07, -0x1f08, 0x1f08, 0x1f09, 0x1f0d, 0x1f0e, 0x1f7d, 0x1f7e, 0x1fd3, -0x1fd4, 0x1fd4, 0x1fd5, 0x1fd7, 0x1fd8, 0x1fe3, 0x1fe4, 0x1fed, -0x1fee, 0x202b, 0x202c, 0x202f, 0x2030, 0x2045, 0x2046, 0x2047, -0x2048, 0x20b5, 0x20b6, 0x20bb, 0x20bc, 0x20bc, 0x20bd, 0x20bf, -0x20c0, 0x20c3, 0x20c4, 0x20c5, 0x20c6, 0x20c7, 0x20c8, 0x20c8, -0x20c9, 0x20c9, 0x20ca, 0x20cb, 0x20cc, 0x20d0, 0x20d1, 0x20d5, -0x20d6, 0x20df, 0x20e0, 0x20e2, 0x20e3, 0x20e7, 0x20e8, 0x20f4, -0x20f5, 0x20f6, 0x20f7, 0x20fc, 0x20fd, 0x2121, 0x2122, 0x2124, -0x2125, 0x212f, 0x2130, 0x2148, 0x2149, 0x219a, 0x219b, 0x22e7, -0x22e8, 0x22f1, 0x22f2, 0x2355, 0x2356, 0x2359, 0x235a, 0x2366, -0x2367, 0x2369, 0x236a, 0x2373, 0x2374, 0x2383, 0x2384, 0x238b, -0x238c, 0x2393, 0x2394, 0x2396, 0x2397, 0x2398, 0x2399, 0x23aa, -0x23ab, 0x23c9, 0x23ca, 0x23cb, 0x23cc, 0x2401, 0x2402, 0x2402, -0x2403, 0x2c40, 0x2c41, 0x2c42, 0x2c43, 0x2c45, 0x2c46, 0x2c47, -0x2c48, 0x2c51, 0x2c52, 0x2c60, 0x2c61, 0x2c62, 0x2c63, 0x2c65, -0x2c66, 0x2c69, 0x2c6a, 0x2c6b, 0x2c6c, 0x2c6e, 0x2c6f, 0x2c7c, -0x2c7d, 0x2da1, 0x2da2, 0x2da5, 0x2da6, 0x2da6, 0x2da7, 0x2dab, -0x2dac, 0x2dad, 0x2dae, 0x2dc1, 0x2dc2, 0x2dc3, 0x2dc4, 0x2dca, -0x2dcb, 0x2dcc, 0x2dcd, 0x2dd1, 0x2dd2, 0x2dd7, 0x2dd8, 0x2ecd, -0x2ece, 0x2ed4, 0x2ed5, 0x2f45, 0x2f46, 0x302f, 0x3030, 0x303b, -0x303c, 0x303d, 0x303e, 0x305f, 0x3060, 0x3068, 0x3069, 0x306a, -0x306b, 0x306c, 0x306d, 0x30dd, 0x30de, 0x3108, 0x3109, 0x3232, -0x3233, 0x32a1, 0x32a2, 0x32ac, 0x32ad, 0x35a9, 0x35aa, 0x35fe, -0x35ff, 0x365e, 0x365f, 0x366c, 0x366d, 0x36ff, 0x3700, 0x37d9, -0x37da, 0x38f8, 0x38f9, 0x3969, 0x396a, 0x3cde, 0x3cdf, 0x3de6, -0x3de7, 0x3fbd, 0x3fbe, 0x4031, 0x4032, 0x4035, 0x4036, 0x4060, -0x4061, 0x4158, 0x4159, 0x42cd, 0x42ce, 0x42e1, 0x42e2, 0x43a2, -0x43a3, 0x43a7, 0x43a8, 0x43f9, 0x43fa, 0x4409, 0x440a, 0x45c2, -0x45c3, 0x45f4, 0x45f5, 0x45f6, 0x45f7, 0x45fa, 0x45fb, 0x45fb, -0x45fc, 0x460f, 0x4610, 0x4612, 0x4613, 0x4628, 0x4629, 0x48e7, -0x48e8, 0x490e, 0x490f, 0x497d, 0x497e, 0x4a11, 0x4a12, 0x4a62, -0x4a63, 0x82bc, 0x82bd, 0x82bd, 0x82be, 0x82be, 0x82bf, 0x82cb, -0x82cc, 0x82cc, 0x82cd, 0x82d1, 0x82d2, 0x82d8, 0x82d9, 0x82dc, -0x82dd, 0x82e0, 0x82e1, 0x82e8, 0x82e9, 0x82ef, 0x82f0, 0x82ff, -0x8300, 0x830d, 0x830e, 0x93d4, 0x93d5, 0x9420, 0x9421, 0x943b, -0x943c, 0x948c, 0x948d, 0x9495, 0x9496, 0x94af, 0x94b0, 0x94b0, -0x94b1, 0x94b1, 0x94b2, 0x94b4, 0x94b5, 0x94ba, 0x94bb, 0x94bb, -0x94bc, 0x94bd, 0x94be, 0x98c3, 0x98c4, 0x98c4, 0x98c5, 0x98c8, -0x98c9, 0x98c9, 0x98ca, 0x98ca, 0x98cb, 0x98cb, 0x98cc, 0x9960, -0x9961, 0x99e1, 0x99e2, 0x99fb, +0x0000, 0x0023, 0x0024, 0x0025, 0x0026, 0x002c, 0x002d, 0x0031, +0x0032, 0x0050, 0x0051, 0x0058, 0x0059, 0x005e, 0x005f, 0x005f, +0x0060, 0x0063, 0x0064, 0x0066, 0x0067, 0x0067, 0x0068, 0x0068, +0x0069, 0x006c, 0x006d, 0x007d, 0x007e, 0x0084, 0x0085, 0x0093, +0x0094, 0x00ab, 0x00ac, 0x00ae, 0x00af, 0x00b2, 0x00b3, 0x00cf, +0x00d0, 0x0131, 0x0132, 0x0132, 0x0133, 0x0133, 0x0134, 0x0134, +0x0135, 0x0135, 0x0136, 0x0136, 0x0137, 0x0137, 0x0138, 0x0138, +0x0139, 0x0154, 0x0155, 0x01ab, 0x01ac, 0x01ba, 0x01bb, 0x021f, +0x0220, 0x0220, 0x0221, 0x022d, 0x022e, 0x02e4, 0x02e5, 0x02e5, +0x02e6, 0x02ec, 0x02ed, 0x02ed, 0x02ee, 0x0324, 0x0325, 0x0332, +0x0333, 0x0333, 0x0334, 0x1ef1, 0x1ef2, 0x1ef3, 0x1ef4, 0x1ef4, +0x1ef5, 0x1ef6, 0x1ef7, 0x1efd, 0x1efe, 0x1f06, 0x1f07, 0x1f07, +0x1f08, 0x1f08, 0x1f09, 0x1f0d, 0x1f0e, 0x1f7d, 0x1f7e, 0x1fd3, +0x1fd4, 0x1fd4, 0x1fd5, 0x1fd7, 0x1fd8, 0x1fe3, 0x1fe4, 0x1fed, +0x1fee, 0x202b, 0x202c, 0x202f, 0x2030, 0x2045, 0x2046, 0x2047, +0x2048, 0x20b5, 0x20b6, 0x20bb, 0x20bc, 0x20bc, 0x20bd, 0x20bf, +0x20c0, 0x20c3, 0x20c4, 0x20c5, 0x20c6, 0x20c7, 0x20c8, 0x20c8, +0x20c9, 0x20c9, 0x20ca, 0x20cb, 0x20cc, 0x20d0, 0x20d1, 0x20d5, +0x20d6, 0x20df, 0x20e0, 0x20e2, 0x20e3, 0x20e7, 0x20e8, 0x20f4, +0x20f5, 0x20f6, 0x20f7, 0x20fc, 0x20fd, 0x2121, 0x2122, 0x2124, +0x2125, 0x212f, 0x2130, 0x2148, 0x2149, 0x219a, 0x219b, 0x22e7, +0x22e8, 0x22f1, 0x22f2, 0x2355, 0x2356, 0x2359, 0x235a, 0x2366, +0x2367, 0x2369, 0x236a, 0x2373, 0x2374, 0x2383, 0x2384, 0x238b, +0x238c, 0x2393, 0x2394, 0x2396, 0x2397, 0x2398, 0x2399, 0x23aa, +0x23ab, 0x23c9, 0x23ca, 0x23cb, 0x23cc, 0x2401, 0x2402, 0x2402, +0x2403, 0x2c40, 0x2c41, 0x2c42, 0x2c43, 0x2c45, 0x2c46, 0x2c47, +0x2c48, 0x2c51, 0x2c52, 0x2c60, 0x2c61, 0x2c62, 0x2c63, 0x2c65, +0x2c66, 0x2c69, 0x2c6a, 0x2c6b, 0x2c6c, 0x2c6e, 0x2c6f, 0x2c7c, +0x2c7d, 0x2da1, 0x2da2, 0x2da5, 0x2da6, 0x2da6, 0x2da7, 0x2dab, +0x2dac, 0x2dad, 0x2dae, 0x2dc1, 0x2dc2, 0x2dc3, 0x2dc4, 0x2dca, +0x2dcb, 0x2dcc, 0x2dcd, 0x2dd1, 0x2dd2, 0x2dd7, 0x2dd8, 0x2ecd, +0x2ece, 0x2ed4, 0x2ed5, 0x2f45, 0x2f46, 0x302f, 0x3030, 0x303b, +0x303c, 0x303d, 0x303e, 0x305f, 0x3060, 0x3068, 0x3069, 0x306a, +0x306b, 0x306c, 0x306d, 0x30dd, 0x30de, 0x3108, 0x3109, 0x3232, +0x3233, 0x32a1, 0x32a2, 0x32ac, 0x32ad, 0x35a9, 0x35aa, 0x35fe, +0x35ff, 0x365e, 0x365f, 0x366c, 0x366d, 0x36ff, 0x3700, 0x37d9, +0x37da, 0x38f8, 0x38f9, 0x3969, 0x396a, 0x3cde, 0x3cdf, 0x3de6, +0x3de7, 0x3fbd, 0x3fbe, 0x4031, 0x4032, 0x4035, 0x4036, 0x4060, +0x4061, 0x4158, 0x4159, 0x42cd, 0x42ce, 0x42e1, 0x42e2, 0x43a2, +0x43a3, 0x43a7, 0x43a8, 0x43f9, 0x43fa, 0x4409, 0x440a, 0x45c2, +0x45c3, 0x45f4, 0x45f5, 0x45f6, 0x45f7, 0x45fa, 0x45fb, 0x45fb, +0x45fc, 0x460f, 0x4610, 0x4612, 0x4613, 0x4628, 0x4629, 0x48e7, +0x48e8, 0x490e, 0x490f, 0x497d, 0x497e, 0x4a11, 0x4a12, 0x4a62, +0x4a63, 0x82bc, 0x82bd, 0x82bd, 0x82be, 0x82be, 0x82bf, 0x82cb, +0x82cc, 0x82cc, 0x82cd, 0x82d1, 0x82d2, 0x82d8, 0x82d9, 0x82dc, +0x82dd, 0x82e0, 0x82e1, 0x82e8, 0x82e9, 0x82ef, 0x82f0, 0x82ff, +0x8300, 0x830d, 0x830e, 0x93d4, 0x93d5, 0x9420, 0x9421, 0x943b, +0x943c, 0x948c, 0x948d, 0x9495, 0x9496, 0x94af, 0x94b0, 0x94b0, +0x94b1, 0x94b1, 0x94b2, 0x94b4, 0x94b5, 0x94ba, 0x94bb, 0x94bb, +0x94bc, 0x94bd, 0x94be, 0x98c3, 0x98c4, 0x98c4, 0x98c5, 0x98c8, +0x98c9, 0x98c9, 0x98ca, 0x98ca, 0x98cb, 0x98cb, 0x98cc, 0x9960, +0x9961, 0x99e1, 0x99e2, 0x99fb, }; static const unsigned short mbfl_uni2gb_tbl[] = { -0x0080, 0x00a3, 0x00a5, 0x00a6, 0x00a9, 0x00af, 0x00b2, 0x00b6, -0x00b8, 0x00d6, 0x00d8, 0x00df, 0x00e2, 0x00e7, 0x00eb, 0x00eb, -0x00ee, 0x00f1, 0x00f4, 0x00f6, 0x00f8, 0x00f8, 0x00fb, 0x00fb, -0x00fd, 0x0100, 0x0102, 0x0112, 0x0114, 0x011a, 0x011c, 0x012a, -0x012c, 0x0143, 0x0145, 0x0147, 0x0149, 0x014c, 0x014e, 0x016a, -0x016c, 0x01cd, 0x01cf, 0x01cf, 0x01d1, 0x01d1, 0x01d3, 0x01d3, -0x01d5, 0x01d5, 0x01d7, 0x01d7, 0x01d9, 0x01d9, 0x01db, 0x01db, -0x01dd, 0x01f8, 0x01fa, 0x0250, 0x0252, 0x0260, 0x0262, 0x02c6, -0x02c8, 0x02c8, 0x02cc, 0x02d8, 0x02da, 0x0390, 0x03a2, 0x03a2, -0x03aa, 0x03b0, 0x03c2, 0x03c2, 0x03ca, 0x0400, 0x0402, 0x040f, -0x0450, 0x0450, 0x0452, 0x200f, 0x2011, 0x2012, 0x2017, 0x2017, -0x201a, 0x201b, 0x201e, 0x2024, 0x2027, 0x202f, 0x2031, 0x2031, -0x2034, 0x2034, 0x2036, 0x203a, 0x203c, 0x20ab, 0x20ad, 0x2102, -0x2104, 0x2104, 0x2106, 0x2108, 0x210a, 0x2115, 0x2117, 0x2120, -0x2122, 0x215f, 0x216c, 0x216f, 0x217a, 0x218f, 0x2194, 0x2195, -0x219a, 0x2207, 0x2209, 0x220e, 0x2210, 0x2210, 0x2212, 0x2214, -0x2216, 0x2219, 0x221b, 0x221c, 0x2221, 0x2222, 0x2224, 0x2224, -0x2226, 0x2226, 0x222c, 0x222d, 0x222f, 0x2233, 0x2238, 0x223c, -0x223e, 0x2247, 0x2249, 0x224b, 0x224d, 0x2251, 0x2253, 0x225f, -0x2262, 0x2263, 0x2268, 0x226d, 0x2270, 0x2294, 0x2296, 0x2298, -0x229a, 0x22a4, 0x22a6, 0x22be, 0x22c0, 0x2311, 0x2313, 0x245f, -0x246a, 0x2473, 0x249c, 0x24ff, 0x254c, 0x254f, 0x2574, 0x2580, -0x2590, 0x2592, 0x2596, 0x259f, 0x25a2, 0x25b1, 0x25b4, 0x25bb, -0x25be, 0x25c5, 0x25c8, 0x25ca, 0x25cc, 0x25cd, 0x25d0, 0x25e1, -0x25e6, 0x2604, 0x2607, 0x2608, 0x260a, 0x263f, 0x2641, 0x2641, -0x2643, 0x2e80, 0x2e82, 0x2e83, 0x2e85, 0x2e87, 0x2e89, 0x2e8a, -0x2e8d, 0x2e96, 0x2e98, 0x2ea6, 0x2ea8, 0x2ea9, 0x2eab, 0x2ead, -0x2eaf, 0x2eb2, 0x2eb4, 0x2eb5, 0x2eb8, 0x2eba, 0x2ebc, 0x2ec9, -0x2ecb, 0x2fef, 0x2ffc, 0x2fff, 0x3004, 0x3004, 0x3018, 0x301c, -0x301f, 0x3020, 0x302a, 0x303d, 0x303f, 0x3040, 0x3094, 0x309a, -0x309f, 0x30a0, 0x30f7, 0x30fb, 0x30ff, 0x3104, 0x312a, 0x321f, -0x322a, 0x3230, 0x3232, 0x32a2, 0x32a4, 0x338d, 0x3390, 0x339b, -0x339f, 0x33a0, 0x33a2, 0x33c3, 0x33c5, 0x33cd, 0x33cf, 0x33d0, -0x33d3, 0x33d4, 0x33d6, 0x3446, 0x3448, 0x3472, 0x3474, 0x359d, -0x359f, 0x360d, 0x360f, 0x3619, 0x361b, 0x3917, 0x3919, 0x396d, -0x396f, 0x39ce, 0x39d1, 0x39de, 0x39e0, 0x3a72, 0x3a74, 0x3b4d, -0x3b4f, 0x3c6d, 0x3c6f, 0x3cdf, 0x3ce1, 0x4055, 0x4057, 0x415e, -0x4160, 0x4336, 0x4338, 0x43ab, 0x43ad, 0x43b0, 0x43b2, 0x43dc, -0x43de, 0x44d5, 0x44d7, 0x464b, 0x464d, 0x4660, 0x4662, 0x4722, -0x4724, 0x4728, 0x472a, 0x477b, 0x477d, 0x478c, 0x478e, 0x4946, -0x4948, 0x4979, 0x497b, 0x497c, 0x497e, 0x4981, 0x4984, 0x4984, -0x4987, 0x499a, 0x499c, 0x499e, 0x49a0, 0x49b5, 0x49b8, 0x4c76, -0x4c78, 0x4c9e, 0x4ca4, 0x4d12, 0x4d1a, 0x4dad, 0x4daf, 0x4dff, -0x9fa6, 0xd7ff, 0xe76c, 0xe76c, 0xe7c8, 0xe7c8, 0xe7e7, 0xe7f3, -0xe815, 0xe815, 0xe819, 0xe81d, 0xe81f, 0xe825, 0xe827, 0xe82a, -0xe82d, 0xe830, 0xe833, 0xe83a, 0xe83c, 0xe842, 0xe844, 0xe853, -0xe856, 0xe863, 0xe865, 0xf92b, 0xf92d, 0xf978, 0xf97a, 0xf994, -0xf996, 0xf9e6, 0xf9e8, 0xf9f0, 0xf9f2, 0xfa0b, 0xfa10, 0xfa10, -0xfa12, 0xfa12, 0xfa15, 0xfa17, 0xfa19, 0xfa1e, 0xfa22, 0xfa22, -0xfa25, 0xfa26, 0xfa2a, 0xfe2f, 0xfe32, 0xfe32, 0xfe45, 0xfe48, -0xfe53, 0xfe53, 0xfe58, 0xfe58, 0xfe67, 0xfe67, 0xfe6c, 0xff00, -0xff5f, 0xffdf, 0xffe6, 0xffff, +0x0080, 0x00a3, 0x00a5, 0x00a6, 0x00a9, 0x00af, 0x00b2, 0x00b6, +0x00b8, 0x00d6, 0x00d8, 0x00df, 0x00e2, 0x00e7, 0x00eb, 0x00eb, +0x00ee, 0x00f1, 0x00f4, 0x00f6, 0x00f8, 0x00f8, 0x00fb, 0x00fb, +0x00fd, 0x0100, 0x0102, 0x0112, 0x0114, 0x011a, 0x011c, 0x012a, +0x012c, 0x0143, 0x0145, 0x0147, 0x0149, 0x014c, 0x014e, 0x016a, +0x016c, 0x01cd, 0x01cf, 0x01cf, 0x01d1, 0x01d1, 0x01d3, 0x01d3, +0x01d5, 0x01d5, 0x01d7, 0x01d7, 0x01d9, 0x01d9, 0x01db, 0x01db, +0x01dd, 0x01f8, 0x01fa, 0x0250, 0x0252, 0x0260, 0x0262, 0x02c6, +0x02c8, 0x02c8, 0x02cc, 0x02d8, 0x02da, 0x0390, 0x03a2, 0x03a2, +0x03aa, 0x03b0, 0x03c2, 0x03c2, 0x03ca, 0x0400, 0x0402, 0x040f, +0x0450, 0x0450, 0x0452, 0x200f, 0x2011, 0x2012, 0x2017, 0x2017, +0x201a, 0x201b, 0x201e, 0x2024, 0x2027, 0x202f, 0x2031, 0x2031, +0x2034, 0x2034, 0x2036, 0x203a, 0x203c, 0x20ab, 0x20ad, 0x2102, +0x2104, 0x2104, 0x2106, 0x2108, 0x210a, 0x2115, 0x2117, 0x2120, +0x2122, 0x215f, 0x216c, 0x216f, 0x217a, 0x218f, 0x2194, 0x2195, +0x219a, 0x2207, 0x2209, 0x220e, 0x2210, 0x2210, 0x2212, 0x2214, +0x2216, 0x2219, 0x221b, 0x221c, 0x2221, 0x2222, 0x2224, 0x2224, +0x2226, 0x2226, 0x222c, 0x222d, 0x222f, 0x2233, 0x2238, 0x223c, +0x223e, 0x2247, 0x2249, 0x224b, 0x224d, 0x2251, 0x2253, 0x225f, +0x2262, 0x2263, 0x2268, 0x226d, 0x2270, 0x2294, 0x2296, 0x2298, +0x229a, 0x22a4, 0x22a6, 0x22be, 0x22c0, 0x2311, 0x2313, 0x245f, +0x246a, 0x2473, 0x249c, 0x24ff, 0x254c, 0x254f, 0x2574, 0x2580, +0x2590, 0x2592, 0x2596, 0x259f, 0x25a2, 0x25b1, 0x25b4, 0x25bb, +0x25be, 0x25c5, 0x25c8, 0x25ca, 0x25cc, 0x25cd, 0x25d0, 0x25e1, +0x25e6, 0x2604, 0x2607, 0x2608, 0x260a, 0x263f, 0x2641, 0x2641, +0x2643, 0x2e80, 0x2e82, 0x2e83, 0x2e85, 0x2e87, 0x2e89, 0x2e8a, +0x2e8d, 0x2e96, 0x2e98, 0x2ea6, 0x2ea8, 0x2ea9, 0x2eab, 0x2ead, +0x2eaf, 0x2eb2, 0x2eb4, 0x2eb5, 0x2eb8, 0x2eba, 0x2ebc, 0x2ec9, +0x2ecb, 0x2fef, 0x2ffc, 0x2fff, 0x3004, 0x3004, 0x3018, 0x301c, +0x301f, 0x3020, 0x302a, 0x303d, 0x303f, 0x3040, 0x3094, 0x309a, +0x309f, 0x30a0, 0x30f7, 0x30fb, 0x30ff, 0x3104, 0x312a, 0x321f, +0x322a, 0x3230, 0x3232, 0x32a2, 0x32a4, 0x338d, 0x3390, 0x339b, +0x339f, 0x33a0, 0x33a2, 0x33c3, 0x33c5, 0x33cd, 0x33cf, 0x33d0, +0x33d3, 0x33d4, 0x33d6, 0x3446, 0x3448, 0x3472, 0x3474, 0x359d, +0x359f, 0x360d, 0x360f, 0x3619, 0x361b, 0x3917, 0x3919, 0x396d, +0x396f, 0x39ce, 0x39d1, 0x39de, 0x39e0, 0x3a72, 0x3a74, 0x3b4d, +0x3b4f, 0x3c6d, 0x3c6f, 0x3cdf, 0x3ce1, 0x4055, 0x4057, 0x415e, +0x4160, 0x4336, 0x4338, 0x43ab, 0x43ad, 0x43b0, 0x43b2, 0x43dc, +0x43de, 0x44d5, 0x44d7, 0x464b, 0x464d, 0x4660, 0x4662, 0x4722, +0x4724, 0x4728, 0x472a, 0x477b, 0x477d, 0x478c, 0x478e, 0x4946, +0x4948, 0x4979, 0x497b, 0x497c, 0x497e, 0x4981, 0x4984, 0x4984, +0x4987, 0x499a, 0x499c, 0x499e, 0x49a0, 0x49b5, 0x49b8, 0x4c76, +0x4c78, 0x4c9e, 0x4ca4, 0x4d12, 0x4d1a, 0x4dad, 0x4daf, 0x4dff, +0x9fa6, 0xd7ff, 0xe76c, 0xe76c, 0xe7c8, 0xe7c8, 0xe7e7, 0xe7f3, +0xe815, 0xe815, 0xe819, 0xe81d, 0xe81f, 0xe825, 0xe827, 0xe82a, +0xe82d, 0xe830, 0xe833, 0xe83a, 0xe83c, 0xe842, 0xe844, 0xe853, +0xe856, 0xe863, 0xe865, 0xf92b, 0xf92d, 0xf978, 0xf97a, 0xf994, +0xf996, 0xf9e6, 0xf9e8, 0xf9f0, 0xf9f2, 0xfa0b, 0xfa10, 0xfa10, +0xfa12, 0xfa12, 0xfa15, 0xfa17, 0xfa19, 0xfa1e, 0xfa22, 0xfa22, +0xfa25, 0xfa26, 0xfa2a, 0xfe2f, 0xfe32, 0xfe32, 0xfe45, 0xfe48, +0xfe53, 0xfe53, 0xfe58, 0xfe58, 0xfe67, 0xfe67, 0xfe6c, 0xff00, +0xff5f, 0xffdf, 0xffe6, 0xffff, }; static const unsigned short mbfl_gb_uni_ofst[] = { - 128, 129, 131, 133, 134, 135, 137, 140, - 142, 144, 145, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, - 168, 171, 172, 189, 196, 213, 220, 221, - 285, 286, 287, 291, 293, 295, 297, 298, - 300, 301, 302, 303, 304, 305, 306, 307, - 308, 320, 330, 334, 338, 339, 340, 341, - 342, 343, 347, 348, 349, 354, 355, 359, - 360, 361, 362, 363, 365, 369, 371, 372, - 373, 374, 375, 376, 386, 426, 502, 538, - 553, 556, 558, 560, 562, 564, 565, 567, - 571, 573, 574, 575, 576, 577, 578, 579, - 581, 582, 583, 584, 585, 586, 588, 589, - 590, 602, 606, 625, 627, 636, 637, 720, - 724, 810, 813, 850, 860, 861, 862, 864, - 867, 868, 869, 870, 872, 873, 874, 875, - 876, 877, 878, 879, 880, 882, 883, 884, - 885, 886, 887, 888, 889, 890, 891, 892, - 893, 894, 895, 896, 897, 898, 899, 900, - 901, 902, 903, 905, 907, 908, 909, 911, - 912, 917, 924, 925, 21827, 25775, 25866, 25896, - 25929, 25932, 25933, 25934, 25936, 25938, 25939, 25940, - 25942, 25943, 25944, 25945, 25946, 25947, 25948, 25952, - 25953, 25955, 25956, 25959, 25961, 25964, 25966, 25984, - 25994, 25998, 26012, 26016, 26110, 26116, + 128, 129, 131, 133, 134, 135, 137, 140, + 142, 144, 145, 147, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, + 168, 171, 172, 189, 196, 213, 220, 221, + 285, 286, 287, 291, 293, 295, 297, 298, + 300, 301, 302, 303, 304, 305, 306, 307, + 308, 320, 330, 334, 338, 339, 340, 341, + 342, 343, 347, 348, 349, 354, 355, 359, + 360, 361, 362, 363, 365, 369, 371, 372, + 373, 374, 375, 376, 386, 426, 502, 538, + 553, 556, 558, 560, 562, 564, 565, 567, + 571, 573, 574, 575, 576, 577, 578, 579, + 581, 582, 583, 584, 585, 586, 588, 589, + 590, 602, 606, 625, 627, 636, 637, 720, + 724, 810, 813, 850, 860, 861, 862, 864, + 867, 868, 869, 870, 872, 873, 874, 875, + 876, 877, 878, 879, 880, 882, 883, 884, + 885, 886, 887, 888, 889, 890, 891, 892, + 893, 894, 895, 896, 897, 898, 899, 900, + 901, 902, 903, 905, 907, 908, 909, 911, + 912, 917, 924, 925, 21827, 25775, 25866, 25896, + 25929, 25932, 25933, 25934, 25936, 25938, 25939, 25940, + 25942, 25943, 25944, 25945, 25946, 25947, 25948, 25952, + 25953, 25955, 25956, 25959, 25961, 25964, 25966, 25984, + 25994, 25998, 26012, 26016, 26110, 26116, }; static const int mbfl_gb_uni_max = sizeof(mbfl_gb_uni_ofst)/sizeof(unsigned short); diff --git a/ext/mbstring/libmbfl/filters/unicode_table_jis.h b/ext/mbstring/libmbfl/filters/unicode_table_jis.h index 9132d4b33c..3236578f9b 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_jis.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_jis.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -2314,7 +2314,7 @@ const unsigned short ucs_a1_jis_table[] = { 0xABB2,0xABB1,0xABB4,0xABB3,0xABC0,0xABBF,0xABC2,0xABC1, 0xA9C3,0xABD0,0xABD2,0xABD1,0xABD4,0xABD8,0xABD3,0x2160, 0xA9CC,0xABE3,0xABE2,0xABE5,0xABE4,0xABF2,0xA9D0,0xABF3, - + /* 0100h */ 0xAAA7,0xABA7,0xAAA5,0xABA5,0xAAA8,0xABA8,0xAAAB,0xABAB, 0xAAAC,0xABAC,0xAAAF,0xABAF,0xAAAD,0xABAD,0xAAB0,0xABB0, @@ -2348,7 +2348,7 @@ const unsigned short ucs_a1_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0xABB9,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 0200h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2382,7 +2382,7 @@ const unsigned short ucs_a1_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 0300h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2416,7 +2416,7 @@ const unsigned short ucs_a1_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 0400h */ 0x0000,0x2727,0xA7C2,0xA7C3,0xA7C4,0xA7C5,0xA7C6,0xA7C7, 0xA7C8,0xA7C9,0xA7CA,0xA7CB,0xA7CC,0x0000,0xA7CD,0xA7CE, @@ -2469,7 +2469,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2100h */ 0x0000,0x0000,0x0000,0x216E,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2503,7 +2503,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2200h */ 0x224F,0x0000,0x225F,0x2250,0x0000,0x0000,0x0000,0x2260, 0x223A,0x0000,0x0000,0x223B,0x0000,0x0000,0x0000,0x0000, @@ -2537,7 +2537,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2300h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2571,7 +2571,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2400h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2605,7 +2605,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2500h */ 0x2821,0x282C,0x2822,0x282D,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x2823,0x0000,0x0000,0x282E, @@ -2639,7 +2639,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x227E, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2600h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x217A,0x2179,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2673,7 +2673,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2700h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2707,7 +2707,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2800h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2741,7 +2741,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2900h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2775,7 +2775,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2A00h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2809,7 +2809,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2B00h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2843,7 +2843,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2C00h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2877,7 +2877,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2D00h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2911,7 +2911,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2E00h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2945,7 +2945,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 2F00h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -2979,7 +2979,7 @@ const unsigned short ucs_a2_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 3000h */ 0x2121,0x2122,0x2123,0x2137,0x0000,0x2139,0x213A,0x213B, 0x2152,0x2153,0x2154,0x2155,0x2156,0x2157,0x2158,0x2159, @@ -3052,7 +3052,7 @@ const unsigned short ucs_i_jis_table[] = { 0xB0CA,0x0000,0x0000,0x0000,0x0000,0x5041,0x323E,0xB0CB, 0x3644,0xB0CC,0x4367,0xB0CD,0x0000,0xB0CE,0x376F,0x5043, 0x0000,0x0000,0x0000,0x4724,0x0000,0xB0CF,0xB0D0,0xB0D1, - + /* 4F00h */ 0xB0D2,0x346B,0xB0D3,0xB0D4,0x0000,0x0000,0x0000,0x0000, 0xB0D5,0x5044,0x304B,0xB0D6,0xB0D7,0x3860,0x346C,0x497A, @@ -3086,7 +3086,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x3D24,0x506D, 0xB1C4,0x0000,0xB1C5,0x4750,0x0000,0x4936,0x5068,0x0000, 0x4A70,0x0000,0x3236,0x0000,0xB1C6,0xB1C7,0x506C,0xB1C8, - + /* 5000h */ 0xB1C9,0xB1CA,0x0000,0x0000,0xB1CB,0x5066,0x506F,0xB1CC, 0x0000,0x4152,0xB1CD,0x3844,0xB1CE,0x475C,0xB1CF,0x6047, @@ -3120,7 +3120,7 @@ const unsigned short ucs_i_jis_table[] = { 0xB2C2,0xB2C3,0x0000,0x0000,0x0000,0x5128,0x512A,0xB2C4, 0x0000,0xB2C5,0xB2D1,0x0000,0x0000,0x512C,0xB2C6,0x0000, 0x0000,0x512B,0xB2C7,0x4A48,0x0000,0x0000,0xB2C8,0x0000, - + /* 5100h */ 0x3537,0x512E,0x512F,0xB2C9,0x322F,0x0000,0xB2CA,0xB2CB, 0xB2CC,0x512D,0x0000,0xB2CD,0xB2CE,0xB2CF,0xB2D0,0x0000, @@ -3154,7 +3154,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x515E,0x4664,0x0000,0x0000,0x515F,0xB3AB,0x0000, 0x5160,0x332E,0xB3AC,0xB3AD,0xB3AE,0x5161,0x3627,0xB3AF, 0x464C,0x317A,0x3D50,0x0000,0x0000,0x4821,0x5162,0x0000, - + /* 5200h */ 0x4561,0xB3B0,0xB3B1,0x3F4F,0x5163,0xB3B2,0x4A2C,0x405A, 0x3422,0x0000,0x3429,0x5164,0x0000,0x0000,0x5166,0x0000, @@ -3188,7 +3188,7 @@ const unsigned short ucs_i_jis_table[] = { 0xB3F2,0xB3F3,0xB3F4,0x0000,0xB3F5,0x0000,0x0000,0x0000, 0xB3F6,0xB3F7,0x372E,0x522E,0xB3F8,0x522F,0xB3F9,0xB3FA, 0x5230,0x5231,0x3C5B,0x0000,0x0000,0x0000,0x387B,0x4C5E, - + /* 5300h */ 0xB3FB,0x4C68,0x4677,0xB3FC,0x0000,0x4A71,0x5232,0x0000, 0x5233,0x0000,0xB3FD,0xB3FE,0xB4A1,0x5235,0x0000,0x5237, @@ -3222,7 +3222,7 @@ const unsigned short ucs_i_jis_table[] = { 0x525B,0x4321,0x427E,0x362B,0x3E24,0x525C,0x525A,0x3244, 0x4266,0x3C38,0x3B4B,0x3126,0x0000,0xB4E3,0x3370,0x3966, 0x3B4A,0x0000,0x525D,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 5400h */ 0x0000,0x525E,0xB4E4,0x3549,0x3346,0x0000,0x0000,0x0000, 0x3967,0x3548,0x445F,0x3125,0x4631,0x4C3E,0x3921,0x4D79, @@ -3256,7 +3256,7 @@ const unsigned short ucs_i_jis_table[] = { 0x3E25,0x4B69,0xB5BE,0x0000,0xB5BF,0x532D,0x532C,0xB5C0, 0x0000,0x0000,0x452F,0x0000,0x0000,0x0000,0xB5C1,0x0000, 0x0000,0x0000,0x532E,0x0000,0xB5C2,0x532B,0xB5C3,0xB5C4, - + /* 5500h */ 0xB5C5,0xB5C6,0x0000,0x0000,0x3134,0xB5C7,0x3A36,0x3F30, 0xB5C8,0xB5C9,0x0000,0x0000,0xB5CA,0xB5CB,0xB5CC,0x5329, @@ -3290,7 +3290,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0xB6A7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xB6A8,0x5353, 0x0000,0x5358,0x0000,0x0000,0x0000,0x5356,0x5355,0xB6A9, - + /* 5600h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0xB6AA,0x4332,0x0000, 0xB6AB,0x3245,0xB6AC,0x0000,0x0000,0xB6AD,0xB6AE,0xB6AF, @@ -3324,7 +3324,7 @@ const unsigned short ucs_i_jis_table[] = { 0xB6FB,0x0000,0x0000,0xB6FD,0x0000,0xB6FE,0x5379,0x0000, 0x3A24,0xB6FC,0x304F,0x3F5E,0x0000,0x0000,0xB7A1,0xB7A2, 0x0000,0x537A,0x3847,0x0000,0x0000,0x3971,0x0000,0x537C, - + /* 5700h */ 0x537B,0xB7A3,0xB7A4,0x4A60,0x537D,0x0000,0x0000,0xB7A5, 0x5421,0x537E,0xB7A6,0x5422,0xB7A7,0x5423,0x0000,0x3777, @@ -3358,7 +3358,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0xB7F1,0x0000,0x0000,0x0000,0xB7F2,0x0000,0x0000, 0xB7F3,0x0000,0x0000,0x0000,0x3E7D,0xB7F4,0xB7F5,0x3C39, 0xB7F6,0x475D,0x3470,0x0000,0x3A6B,0xB7F7,0xB7F8,0xB7F9, - + /* 5800h */ 0x4B59,0x0000,0x4632,0xB7FA,0xB7FB,0x3778,0x424F,0x0000, 0xB7FC,0xB7FD,0x5441,0x5444,0xB8A1,0xB8A2,0x0000,0x0000, @@ -3392,7 +3392,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0xB8DD,0x0000,0x3B4E,0x3F51,0x0000,0x4154,0x5463, 0x403C,0x306D,0x4764,0xB8DE,0x0000,0x0000,0x0000,0x445B, 0x0000,0x5465,0x5464,0x5466,0x5467,0x5468,0x0000,0x0000, - + /* 5900h */ 0x0000,0x0000,0x5469,0x0000,0x0000,0xB8DF,0xB8E0,0x0000, 0x0000,0x4A51,0x546A,0xB8E1,0xB8E2,0x0000,0x0000,0x3246, @@ -3426,7 +3426,7 @@ const unsigned short ucs_i_jis_table[] = { 0x5529,0x0000,0x4C45,0x4931,0x0000,0x0000,0xB9C6,0xB9C7, 0x0000,0xB9C8,0xB9C9,0x0000,0xB9CA,0x0000,0x3028,0xB9CB, 0x0000,0x0000,0x0000,0x3079,0x0000,0x0000,0x0000,0x3B51, - + /* 5A00h */ 0xB9CC,0x3052,0x0000,0x3023,0xB9CD,0x0000,0x0000,0x0000, 0x0000,0x5532,0x0000,0x0000,0xB9CE,0xB9CF,0xB9D0,0x0000, @@ -3460,7 +3460,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x5544,0xBAA9,0x0000,0x0000,0x0000,0xBAAA,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0xBAAB,0xBAAC,0x0000, 0x0000,0x0000,0x5546,0x5547,0x0000,0xBAAD,0x0000,0x0000, - + /* 5B00h */ 0xBAAE,0xBAAF,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0xBAB0,0x3472,0x0000,0x5549,0x5548,0x0000,0x0000,0x0000, @@ -3494,7 +3494,7 @@ const unsigned short ucs_i_jis_table[] = { 0x5C4D,0x3F33,0x0000,0x556D,0x0000,0x0000,0x4E40,0xBAE5, 0x556E,0xBAE6,0x0000,0x5570,0xBAE7,0x437E,0x556F,0x0000, 0x4023,0x0000,0x3B7B,0x0000,0x0000,0xBAE8,0x4250,0x3C77, - + /* 5C00h */ 0x0000,0x4975,0x406C,0x0000,0x3C4D,0x5571,0x3E2D,0x5572, 0x5573,0x3053,0x423A,0x3F52,0xBAE9,0x5574,0x4633,0x3E2E, @@ -3528,7 +3528,7 @@ const unsigned short ucs_i_jis_table[] = { 0x3265,0x5636,0x563B,0x0000,0x0000,0x5639,0xBBBE,0x4A77, 0x4A76,0xBBBF,0xBBC0,0x0000,0xBBC1,0x0000,0x4567,0x0000, 0x0000,0x0000,0x5638,0x3D54,0x0000,0x5637,0x0000,0x0000, - + /* 5D00h */ 0x0000,0xBBC2,0x0000,0x0000,0x0000,0x0000,0xBBC3,0x3F72, 0x0000,0x0000,0x0000,0x563C,0x0000,0xBBC4,0x3A6A,0x0000, @@ -3562,7 +3562,7 @@ const unsigned short ucs_i_jis_table[] = { 0x3570,0xBCA1,0x0000,0x5660,0x0000,0x0000,0x3A39,0x0000, 0x0000,0x384A,0x5661,0x4C26,0x4743,0x5662,0x0000,0x392B, 0xBCA2,0xBCA3,0x0000,0x342C,0x0000,0x4327,0x3652,0x0000, - + /* 5E00h */ 0xBCA4,0x0000,0x3B54,0x495B,0x0000,0x0000,0x4841,0xBCA5, 0x0000,0x0000,0x0000,0x5663,0x3475,0xBCA6,0x0000,0x0000, @@ -3596,7 +3596,7 @@ const unsigned short ucs_i_jis_table[] = { 0x5728,0x5729,0x0000,0xBCDB,0x572A,0x0000,0x0000,0x0000, 0x572D,0x572B,0x0000,0x572C,0x572E,0x0000,0x3164,0x446E, 0x572F,0x0000,0x377A,0x3276,0x4736,0x0000,0x5730,0x467B, - + /* 5F00h */ 0x0000,0x4A5B,0xBCDC,0x5731,0x4F2E,0x0000,0xBCDD,0xBCDE, 0xBCDF,0x5732,0x4A40,0x5735,0x5021,0x5031,0xBCE0,0x3C30, @@ -3630,7 +3630,7 @@ const unsigned short ucs_i_jis_table[] = { 0xBDC5,0xBDC6,0xBDC7,0x3277,0xBDC8,0xBDC9,0xBDCA,0xBDCB, 0x582D,0x575A,0xBDCC,0xBDCD,0x0000,0x4730,0xBDCE,0x0000, 0x5759,0x0000,0xBDCF,0x5757,0xBDD0,0x397A,0x0000,0x575D, - + /* 6000h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xBDD1, 0x0000,0x0000,0xBDD2,0x0000,0x0000,0xBDD3,0x5763,0x5769, @@ -3664,7 +3664,7 @@ const unsigned short ucs_i_jis_table[] = { 0x3B34,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x4246,0x583D,0xBEB3,0x415B,0x5838,0xBEB4,0x5835,0x5836, 0xBEB5,0x3C66,0x5839,0x583C,0xBEB6,0xBEB7,0x0000,0x0000, - + /* 6100h */ 0x5837,0x3D25,0xBEB8,0x583A,0x0000,0x0000,0x5834,0xBEB9, 0x4C7C,0x4C7B,0xBEBA,0x0000,0xBEBB,0x583E,0x583F,0x3055, @@ -3698,7 +3698,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0xBEFD,0x0000,0x0000,0xBFA1,0xBFA2,0x0000,0xBFA3, 0x0000,0x0000,0x4428,0x0000,0x5873,0x0000,0x5871,0x5867, 0x377C,0x0000,0x5872,0x0000,0x5876,0x5875,0x5877,0x5874, - + /* 6200h */ 0x5878,0xBFA4,0x0000,0xBFA5,0xBFA6,0x0000,0x0000,0xBFA7, 0x5879,0x587A,0x4A6A,0x0000,0x587C,0x587B,0x3D3F,0x0000, @@ -3732,7 +3732,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0xBFD6,0x0000,0x3367,0x3F21,0x5949,0x594E, 0x0000,0x594A,0xBFD7,0x377D,0xBFD8,0x594F,0x3B22,0x3969, 0x0000,0x0000,0x0000,0x0000,0xBFD9,0xBFDA,0x3D26,0x593D, - + /* 6300h */ 0x0000,0x3B7D,0x594C,0xBFDB,0xBFDC,0x0000,0x0000,0x3B58, 0x594D,0x3044,0xBFDD,0xBFDE,0x5948,0xBFDF,0x0000,0x0000, @@ -3766,7 +3766,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x5962,0xC0C0,0x0000,0xC0C1,0x0000,0x3478,0x0000, 0x0000,0x0000,0xC0C2,0xC0C3,0x3167,0xC0C4,0x5968,0x0000, 0xC0C5,0xC0C6,0x4D49,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 6400h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x596C,0x0000, 0x0000,0xC0C7,0xC0C8,0x0000,0x0000,0x423B,0x0000,0x5973, @@ -3800,7 +3800,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0xC1AD,0xC1AE,0x0000,0x353C,0xC1AF,0x0000,0x5A2F, 0xC1B0,0x5A28,0x5A33,0x0000,0x5A32,0xC1B1,0x5A31,0xC1B2, 0x0000,0x0000,0x5A34,0xC1B3,0x0000,0x5A36,0x3E71,0xC1B4, - + /* 6500h */ 0x5A35,0xC1B5,0x0000,0x0000,0xC1B6,0x5A39,0x0000,0x0000, 0xC1B7,0xC1B8,0xC1B9,0x0000,0x0000,0x0000,0x0000,0xC1BA, @@ -3834,7 +3834,7 @@ const unsigned short ucs_i_jis_table[] = { 0x3B5D,0x4161,0x0000,0x0000,0x3D5C,0x3030,0x0000,0x0000, 0xC1EE,0x5A5D,0xC1EF,0x0000,0xC1F0,0xC1F1,0x0000,0x0000, 0x0000,0xC1F2,0x3222,0x5A61,0x0000,0x0000,0xC1F3,0xC1F4, - + /* 6600h */ 0xC1F5,0x0000,0x3937,0x5A60,0xC1F6,0x0000,0x3A2B,0x3E3A, 0xC1F7,0xC1F8,0x5A5F,0x0000,0x3E3B,0xC1F9,0x4C40,0x3A2A, @@ -3868,7 +3868,7 @@ const unsigned short ucs_i_jis_table[] = { 0xC2E9,0x5B28,0x0000,0xC2EA,0xC2EB,0x0000,0xC2EC,0x0000, 0x5B29,0x0000,0x364A,0x3148,0x3939,0x5B2A,0x0000,0x5B2B, 0x3D71,0x4162,0xC2ED,0xC2BF,0x5258,0x413E,0x413D,0x4258, - + /* 6700h */ 0x3A47,0x0000,0x0000,0x5072,0x0000,0xC2EE,0x0000,0xC2EF, 0x376E,0x4D2D,0x0000,0x4A7E,0x0000,0x497E,0xC2F0,0x5B2C, @@ -3902,7 +3902,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x5B4D,0x0000,0x0000,0x5B4B,0x0000,0x5B53,0x5B49, 0xC3C5,0x436C,0xC3C6,0x4C78,0x3C46,0x3A74,0xC3C7,0xC3C8, 0x0000,0xC3B8,0x0000,0x3A3A,0x0000,0x0000,0x4B6F,0x3341, - + /* 6800h */ 0x0000,0x0000,0x444E,0x464A,0x3149,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -3936,7 +3936,7 @@ const unsigned short ucs_i_jis_table[] = { 0xC4A9,0x0000,0xC4AA,0xC4AB,0xC4AC,0xC4AD,0x3F39,0x5C2C, 0xC4AE,0xC4AF,0x4033,0x0000,0x0000,0xC4B0,0xC4B1,0x0000, 0x0000,0x5C2A,0x343D,0xC4B2,0xC4B3,0xC4B4,0x0000,0x0000, - + /* 6900h */ 0x4F50,0x5B76,0x0000,0x0000,0x5C26,0x3058,0xC4B5,0x0000, 0x5B78,0xC4B6,0xC4B7,0x4C3A,0x5B7D,0x3F22,0x4447,0x5B73, @@ -3970,7 +3970,7 @@ const unsigned short ucs_i_jis_table[] = { 0x5C5A,0x0000,0x0000,0x5C67,0x0000,0x5C65,0xC4EC,0xC4ED, 0x0000,0xC4EE,0x5C60,0xC4EF,0x0000,0xC4F0,0x0000,0x0000, 0x0000,0x5C5F,0x0000,0x4450,0x0000,0x4165,0xC4F1,0x5C5D, - + /* 6A00h */ 0xC4F2,0xC4F3,0x5C5B,0xC4F4,0x0000,0x5C62,0x0000,0x0000, 0x0000,0x0000,0x5C68,0x4875,0x5C6E,0x0000,0x0000,0xC4F5, @@ -4004,7 +4004,7 @@ const unsigned short ucs_i_jis_table[] = { 0x4827,0x0000,0x5D2E,0x0000,0xC5D7,0x0000,0x0000,0x0000, 0xC5D8,0xC5D9,0xC5DA,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x5D32,0x5D2F,0xC5DB,0xC5DC,0x0000,0x0000, - + /* 6B00h */ 0x0000,0x0000,0xC5DD,0xC5DE,0x4D73,0x5D30,0xC5DF,0xC5E0, 0x0000,0xC5E1,0x5C5E,0x0000,0x0000,0x0000,0x0000,0xC5E2, @@ -4038,7 +4038,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0x0000,0x5D5D,0x5D5C,0x0000,0xC6BE,0x5D5F, 0x0000,0xC6BF,0x0000,0x5D5E,0x0000,0x0000,0x0000,0xC6C0, 0x0000,0xC6C1,0x0000,0x0000,0x0000,0x0000,0x0000,0xC6C2, - + /* 6C00h */ 0x0000,0x0000,0xC6C3,0x0000,0xC6C4,0xC6C5,0x0000,0x0000, 0x5D61,0xC6C6,0x0000,0x0000,0x0000,0xC6C7,0xC6C8,0x3B61, @@ -4072,7 +4072,7 @@ const unsigned short ucs_i_jis_table[] = { 0x436D,0xC7A5,0x5E25,0xC7A6,0xC7A7,0x0000,0xC7A8,0x5E23, 0x4259,0x5D76,0xC7A9,0x314B,0xC7AA,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 6D00h */ 0x0000,0x0000,0x0000,0x0000,0xC7AB,0x0000,0x0000,0xC7AC, 0x0000,0x0000,0xC7AD,0x4D4E,0x5E30,0x0000,0xC7AE,0xC7AF, @@ -4106,7 +4106,7 @@ const unsigned short ucs_i_jis_table[] = { 0x5E46,0xC7E1,0x5E4D,0x307C,0x5E43,0x0000,0x5E4E,0xC7E2, 0xC7E3,0x3F3C,0x0000,0x3D5F,0xC7E4,0x4A25,0xC7E5,0x3A2E, 0x0000,0x5E3B,0x5E49,0x453A,0xC7E6,0x0000,0x0000,0x0000, - + /* 6E00h */ 0xC7E7,0x0000,0x0000,0x0000,0xC7E8,0x4036,0x0000,0x3369, 0x3A51,0x3E44,0x5E3D,0x3D42,0x0000,0x0000,0x0000,0x0000, @@ -4140,7 +4140,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0x0000,0xC8BB,0x5E76,0xC8BC,0xC8BD,0x5E7C, 0x0000,0x0000,0x5E7A,0x0000,0x4529,0x0000,0x0000,0x5F23, 0x5E77,0xC8BE,0x0000,0xC8BF,0x0000,0xC8C0,0x5E78,0x5E60, - + /* 6F00h */ 0x0000,0x3579,0x493A,0x0000,0xC8C1,0x0000,0x3C3F,0x0000, 0xC8C2,0x3977,0xC8C3,0x0000,0xC8C4,0xC8C5,0x0000,0x4F33, @@ -4174,7 +4174,7 @@ const unsigned short ucs_i_jis_table[] = { 0xC9A3,0xC9A4,0x0000,0x4D74,0x5F3D,0x0000,0x5F41,0x4275, 0xC9A5,0x5F40,0x0000,0x5F2B,0x0000,0xC9A6,0x6F69,0x0000, 0x0000,0xC9A7,0x5F45,0x0000,0xC9A8,0xC9A9,0x5F49,0x0000, - + /* 7000h */ 0xC9AA,0x5F47,0x0000,0x0000,0x0000,0xC9AB,0xC9AC,0xC9AD, 0x0000,0x5F43,0x0000,0x5F44,0x0000,0xC9AE,0x0000,0x5F48, @@ -4208,7 +4208,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x5F58,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x4B23,0xC9E1,0x0000,0x0000,0x5F62,0x0000,0x0000, - + /* 7100h */ 0x0000,0x0000,0x0000,0xC9E2,0xC9E3,0xC9E4,0xC9E5,0xC9E6, 0x0000,0x5F61,0x0000,0xC9E7,0xC9E8,0x0000,0x0000,0xC9E9, @@ -4242,7 +4242,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x5F7B,0x3F24,0x5259,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x5F7D,0x0000,0x0000, 0xCABC,0x6021,0x0000,0x5F6E,0x5F7E,0x0000,0xCABD,0x6022, - + /* 7200h */ 0xCABE,0x0000,0x0000,0x0000,0x0000,0x0000,0x477A,0xCABF, 0xCAC0,0xCAC1,0x0000,0x0000,0x0000,0x6023,0x0000,0x0000, @@ -4276,7 +4276,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x3C6D,0x0000,0x0000,0x4648,0x3639,0x0000,0x0000, 0x0000,0x0000,0x0000,0xCAFB,0xCAFC,0x0000,0x0000,0x6046, 0x432C,0x6045,0xCAFD,0xCAFE,0x4F35,0x4762,0xCBA1,0x0000, - + /* 7300h */ 0x0000,0x0000,0xCBA2,0x0000,0xCBA3,0xCBA4,0x0000,0xCBA5, 0x0000,0x0000,0x6049,0xCBA6,0x0000,0xCBA7,0x0000,0x0000, @@ -4310,7 +4310,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0xCBF7,0x373E,0x0000,0x0000,0x4849,0x6063,0x0000, 0x0000,0x607E,0x0000,0x0000,0xCBF8,0xCBF9,0x0000,0xCBFA, 0x6069,0xCBFB,0xCBFC,0xCBFD,0x0000,0xCBFE,0x383D,0xCCA1, - + /* 7400h */ 0xCCA2,0xCCA3,0x0000,0x3565,0xCCA4,0x6066,0x4D7D,0xCCA5, 0x0000,0x4E30,0xCCA6,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -4344,7 +4344,7 @@ const unsigned short ucs_i_jis_table[] = { 0xCCF5,0x6124,0xCCF6,0xCCF7,0x0000,0x0000,0x6125,0xCCF8, 0x6127,0x6128,0x6126,0x0000,0xCCF9,0x0000,0x4953,0x612A, 0x6129,0x0000,0xCCFA,0xCCFB,0xCCFC,0x0000,0x0000,0xCCFD, - + /* 7500h */ 0x0000,0x0000,0x0000,0x612C,0x612B,0x612D,0xCCFE,0x0000, 0x0000,0x0000,0x0000,0x0000,0x612E,0x6130,0x612F,0x0000, @@ -4378,7 +4378,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x4169,0x0000,0x0000,0xCDDE,0x0000,0xCDDF,0xCDE0, 0x6162,0xCDE1,0x6164,0x6165,0x4354,0x0000,0x0000,0x0000, 0x0000,0xCDE2,0x6163,0x0000,0x6160,0x0000,0x615E,0x615F, - + /* 7600h */ 0xCDE3,0x6161,0xCDE4,0xCDE5,0xCDE6,0x0000,0x0000,0xCDE7, 0xCDE8,0x6168,0xCDE9,0x6166,0xCDEA,0x6167,0x0000,0xCDEB, @@ -4412,7 +4412,7 @@ const unsigned short ucs_i_jis_table[] = { 0xCED3,0x0000,0x623B,0x0000,0xCED4,0x0000,0x4C5C,0x0000, 0xCED5,0xCED6,0x4C55,0x0000,0x443E,0x0000,0xCED7,0x0000, 0x416A,0xCED8,0x0000,0x623D,0xCED9,0x0000,0x3D62,0x0000, - + /* 7700h */ 0xCEDA,0x3E4A,0x0000,0x0000,0x6240,0x0000,0xCEDB,0x623F, 0x623E,0x487D,0xCEDC,0x3447,0x3829,0x0000,0xCEDD,0x0000, @@ -4446,7 +4446,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x366B,0xCFC7,0x0000,0xCFC8,0x433B,0x6264,0x363A, 0xCFC9,0xCFCA,0x0000,0x4050,0xCFCB,0x0000,0x0000,0x0000, 0xCFCC,0x0000,0x0000,0xCFCD,0x6265,0x0000,0x0000,0x0000, - + /* 7800h */ 0x0000,0x0000,0x3A3D,0x0000,0x0000,0xCFCE,0xCFCF,0x0000, 0x0000,0xCFD0,0x0000,0x0000,0x6266,0xCFD1,0xCFD2,0x0000, @@ -4480,7 +4480,7 @@ const unsigned short ucs_i_jis_table[] = { 0x4B61,0x0000,0xD0B3,0x0000,0x627E,0x0000,0x0000,0x306B, 0x0000,0x0000,0xD0B4,0xD0B5,0x6324,0x0000,0xD0B7,0xD0B8, 0x0000,0x0000,0xD0B9,0xD0BA,0x0000,0x6323,0x0000,0xD0BB, - + /* 7900h */ 0xD0B6,0x3E4C,0x0000,0x0000,0x0000,0x0000,0xD0BC,0x6325, 0x0000,0x0000,0x0000,0x0000,0xD0BD,0x0000,0x4143,0x0000, @@ -4514,7 +4514,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x4361,0xD1A4,0xD1A5,0x6340,0xD1A6,0x0000,0x0000, 0x3E4E,0xD1A7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0xD1A8,0x0000,0x0000,0x305C,0xD1A9,0x0000,0x0000,0x0000, - + /* 7A00h */ 0x3529,0x0000,0xD1AA,0xD1AB,0x0000,0x0000,0x0000,0xD1AC, 0x6343,0xD1AD,0xD1AE,0x4478,0xD1AF,0x6344,0x4047,0x0000, @@ -4548,7 +4548,7 @@ const unsigned short ucs_i_jis_table[] = { 0xD1EA,0xD1EB,0x4328,0xD1EC,0xD1ED,0x6371,0x0000,0x433C, 0x6372,0xD1EE,0x0000,0x0000,0xD1EF,0x0000,0x3625,0x0000, 0x513F,0x435D,0x3C33,0xD1F0,0x0000,0xD1F1,0xD1F2,0x3448, - + /* 7B00h */ 0x0000,0x0000,0x6373,0x0000,0x6422,0x0000,0x6376,0xD1F3, 0x3568,0x0000,0x6375,0x6424,0x0000,0x0000,0x0000,0x6374, @@ -4582,7 +4582,7 @@ const unsigned short ucs_i_jis_table[] = { 0xD2D2,0x6441,0xD2D3,0x0000,0x0000,0x4F36,0x0000,0x0000, 0x0000,0x0000,0xD2D4,0x644A,0xD2D5,0xD2D6,0x644E,0x644B, 0xD2D7,0xD2D8,0xD2D9,0x0000,0xD2DA,0x0000,0xD2DB,0x0000, - + /* 7C00h */ 0x6447,0xD2DC,0xD2DD,0xD2DE,0xD2DF,0x0000,0xD2E0,0x6448, 0x0000,0xD2E1,0x0000,0xD2E2,0xD2E3,0x644D,0xD2E4,0xD2E5, @@ -4616,7 +4616,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0xD3C8,0x0000,0xD3C9,0x0000,0x0000,0x0000,0x6479, 0x0000,0x0000,0x647A,0x0000,0x647B,0xD3CA,0x647C,0x0000, 0x3B65,0x0000,0x647D,0x374F,0x0000,0x0000,0x356A,0x0000, - + /* 7D00h */ 0x352A,0x0000,0x6521,0xD3CB,0x4C73,0x3948,0x647E,0xD3CC, 0xD3CD,0xD3CE,0x6524,0x4C66,0x0000,0x473C,0x0000,0xD3CF, @@ -4650,7 +4650,7 @@ const unsigned short ucs_i_jis_table[] = { 0x4A54,0x344B,0xD4B7,0xD4B8,0x4C4B,0xD4B9,0x0000,0x305E, 0x0000,0xD4BA,0x654D,0x0000,0x4E7D,0xD4BB,0xD4BC,0x0000, 0x0000,0xD4BD,0xD4BE,0x654C,0x0000,0x0000,0x0000,0x0000, - + /* 7E00h */ 0xD4B3,0x316F,0x0000,0x0000,0x466C,0x654F,0x0000,0x0000, 0xD4BF,0x6556,0x6550,0x6557,0x0000,0x0000,0x0000,0x0000, @@ -4684,7 +4684,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 7F00h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -4718,7 +4718,7 @@ const unsigned short ucs_i_jis_table[] = { 0xD5BF,0x6649,0x0000,0x3465,0xD5C0,0x0000,0xD5C1,0xD5C2, 0x344D,0x0000,0xD5C3,0x664A,0x0000,0x0000,0x0000,0x0000, 0x0000,0x664B,0xD5C4,0x4B5D,0x4D63,0xD5C5,0xD5C6,0xD5C7, - + /* 8000h */ 0x4D54,0x4F37,0x0000,0x394D,0x664E,0x3C54,0x664D,0xD5C8, 0xD5C9,0x0000,0xD5CA,0x664F,0x3C29,0xD5CB,0xD5CC,0xD5CD, @@ -4752,7 +4752,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0xD5FD,0xD5FE,0x6678, 0xD6A1,0x6679,0xD6A2,0xD6A3,0x4639,0x0000,0xD6A4,0x0000, 0x363B,0xD6A5,0xD6A6,0x0000,0x6726,0x473D,0xD6A7,0x0000, - + /* 8100h */ 0x0000,0x0000,0x3B69,0xD6A8,0x0000,0x363C,0x4048,0x4F46, 0x4C2E,0x6677,0x4054,0xD6A9,0x0000,0x0000,0x0000,0x0000, @@ -4786,7 +4786,7 @@ const unsigned short ucs_i_jis_table[] = { 0x4E57,0x0000,0x3C2B,0xD6E2,0xD6E3,0x3D2D,0x0000,0x0000, 0xD6E4,0xD6E5,0xD6E6,0x3B6A,0x4357,0xD6E7,0xD6E8,0x0000, 0xD6E9,0xD6EA,0x674A,0x674B,0x3131,0xD6EB,0x674C,0xD6EC, - + /* 8200h */ 0xD6ED,0x674D,0x674E,0xD6EE,0x0000,0x674F,0x0000,0x6750, 0x363D,0x5A2A,0x6751,0x0000,0x4065,0x6752,0x3C4B,0xD6EF, @@ -4820,7 +4820,7 @@ const unsigned short ucs_i_jis_table[] = { 0xD7D5,0x0000,0xD7D6,0x4651,0x0000,0xD7D7,0x0000,0xD7D8, 0x0000,0x3151,0x0000,0x6774,0x6773,0x0000,0xD7D9,0xD7DA, 0x0000,0x6779,0x6775,0x6778,0x0000,0xD7DB,0xD7DC,0x0000, - + /* 8300h */ 0xD7DD,0xD7DE,0x4C50,0x6777,0x3258,0x337D,0x677B,0xD7DF, 0xD7E0,0x677D,0xD7E1,0xD7E2,0x0000,0x0000,0x3754,0x0000, @@ -4854,7 +4854,7 @@ const unsigned short ucs_i_jis_table[] = { 0xD8BF,0x4A6E,0xD8C0,0x6841,0x0000,0x0000,0x0000,0x325A, 0x3856,0x4929,0x684B,0x0000,0x683F,0x0000,0xD8C1,0x6848, 0xD8C2,0xD8C3,0x0000,0x6852,0xD8C4,0x6843,0x0000,0x0000, - + /* 8400h */ 0x0000,0xD8C5,0x0000,0x6844,0x463A,0x0000,0xD8C6,0x6849, 0x0000,0x0000,0xD8C7,0x6846,0x4B28,0x684C,0x3060,0xD8C8, @@ -4888,7 +4888,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0xD9A3,0x0000,0x4B29,0x0000,0x4F21,0xD9A4, 0xD9A5,0xD9A6,0xD9A7,0x0000,0x6873,0x0000,0x0000,0xD9A8, 0x0000,0x0000,0xD9AA,0xD9AB,0x687A,0xD9AC,0x0000,0x6872, - + /* 8500h */ 0x3C43,0x0000,0xD9AD,0xD9AE,0x0000,0x0000,0x6851,0xD9AF, 0x0000,0x0000,0x0000,0x0000,0xD9B0,0x0000,0xD9B1,0x0000, @@ -4922,7 +4922,7 @@ const unsigned short ucs_i_jis_table[] = { 0xD9FA,0x484D,0x692E,0x0000,0x0000,0xD9FB,0x0000,0x0000, 0x0000,0x0000,0x0000,0xD9FC,0x0000,0x0000,0xD9FD,0x3D73, 0x0000,0x693D,0x6942,0x4174,0xD9FE,0x0000,0x6941,0xDAA1, - + /* 8600h */ 0xDAA2,0x0000,0x6922,0x0000,0xDAA3,0xDAA4,0x6943,0x4149, 0x0000,0x0000,0x693E,0x6940,0x0000,0xDAA5,0xDAA6,0x0000, @@ -4956,7 +4956,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x695E,0x0000,0x0000,0x695F,0x4948,0x485A,0x6962, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x427D,0x696C,0xDAEE,0x6968,0xDAEF,0xDAF0,0x326B,0x0000, - + /* 8700h */ 0x6966,0x0000,0x4B2A,0x6967,0xDAF1,0xDAF2,0x6964,0xDAF3, 0x6965,0x696A,0x696D,0xDAF4,0x0000,0x696B,0xDAF5,0xDAF6, @@ -4990,7 +4990,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0xDBE0,0xDBE1,0x0000,0xDBE2,0x0000,0x6A34, 0x0000,0xDBE3,0x6A35,0xDBE4,0x0000,0x0000,0x6A3A,0x6A3B, 0xDBE5,0x332A,0xDBE6,0x3542,0x0000,0x0000,0x6A39,0xDBE7, - + /* 8800h */ 0x0000,0xDBE8,0x0000,0xDBE9,0x0000,0x6A24,0xDBEA,0x0000, 0x0000,0xDBEB,0xDBEC,0xDBED,0x0000,0x6A38,0x6A3C,0x6A37, @@ -5024,7 +5024,7 @@ const unsigned short ucs_i_jis_table[] = { 0x6A6B,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xDCD0, 0xDCD1,0xDCD2,0x6A6C,0x3E58,0x6A6A,0xDCD3,0x0000,0xDCD4, 0x4D67,0x6A67,0x0000,0x0000,0x6A69,0x403D,0x3F7E,0x0000, - + /* 8900h */ 0x0000,0xDCD5,0x6A68,0x0000,0x6A6D,0x0000,0xDCD6,0x4A23, 0x0000,0x0000,0x6A6F,0x0000,0x6A6E,0xDCD7,0xDCD8,0xDCD9, @@ -5058,7 +5058,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0xDDBA,0x0000,0xDDBB,0x0000,0xDDBC,0x0000,0x0000, 0x0000,0xDDBD,0x0000,0xDDBE,0x6B3C,0x0000,0xDDBF,0x0000, 0x6B3D,0xDDC0,0x0000,0x0000,0x0000,0xDDC1,0x0000,0xDDC2, - + /* 8A00h */ 0x3840,0x0000,0x447B,0x6B3E,0xDDC3,0xDDC4,0x0000,0xDDC5, 0x3757,0x0000,0x3F56,0x0000,0x6B41,0x0000,0x4624,0xDDC6, @@ -5092,7 +5092,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0x0000,0x6B5D,0xDEB1,0x4D21,0x3B70,0x0000, 0xDEB2,0x6B61,0x0000,0x6B5E,0xDEB3,0xDEB4,0xDEB5,0x6B65, 0x3D74,0x0000,0x3841,0x0000,0xDEB6,0x0000,0x427A,0xDEB7, - + /* 8B00h */ 0x4B45,0x315A,0x3062,0x0000,0x4625,0xDEB8,0xDEB9,0x6B69, 0x0000,0x0000,0xDEBF,0xDEBA,0x6B68,0x0000,0x4666,0x0000, @@ -5126,7 +5126,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 8C00h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -5160,7 +5160,7 @@ const unsigned short ucs_i_jis_table[] = { 0xDFB6,0x0000,0x3C41,0x0000,0xDFB7,0x4552,0x0000,0xDFB8, 0xDFB9,0x0000,0xDFBA,0x0000,0x0000,0xDFBB,0x0000,0xDFBC, 0xDFBD,0x0000,0x6C51,0x6C52,0x3958,0x6C50,0xDFBE,0xDFBF, - + /* 8D00h */ 0x0000,0xDFC0,0x0000,0xDFC1,0x6C53,0x6C54,0x0000,0x6C56, 0x4223,0xDFC2,0x6C55,0x3466,0x0000,0x6C58,0x0000,0x6C57, @@ -5194,7 +5194,7 @@ const unsigned short ucs_i_jis_table[] = { 0x3859,0x0000,0x6C6E,0x6C6F,0xDFED,0x0000,0x0000,0x4F29, 0xDFEE,0xDFF0,0xDFF1,0x4437,0xDFF2,0x4129,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x6C72,0xDFF3,0x0000,0x6C75, - + /* 8E00h */ 0x0000,0xDFF4,0x0000,0x0000,0xDFF5,0xDFF6,0xDFF7,0x0000, 0x6C73,0x6C74,0x4D59,0xDFF8,0x0000,0x0000,0x0000,0x4627, @@ -5228,7 +5228,7 @@ const unsigned short ucs_i_jis_table[] = { 0xE0DD,0x0000,0x0000,0x6D47,0x0000,0xE0E4,0xE0DE,0x0000, 0xE0DF,0xE0E0,0x0000,0x0000,0x0000,0x0000,0x0000,0xE0E1, 0x3C34,0xE0E2,0xE0E3,0x6D46,0x6D45,0x375A,0x6D48,0x0000, - + /* 8F00h */ 0xE0E5,0x0000,0xE0E6,0x3353,0x0000,0x6D4A,0x0000,0xE0E7, 0xE0E8,0x3A5C,0x6D49,0x0000,0x6D52,0x0000,0x0000,0xE0E9, @@ -5262,7 +5262,7 @@ const unsigned short ucs_i_jis_table[] = { 0xE1C4,0x4676,0x6D6C,0x4777,0x0000,0x4533,0xE1C5,0x6D6D, 0x3D52,0xE1C6,0x0000,0x0000,0x6D6F,0xE1C7,0xE1C8,0x4C42, 0x6D7E,0x6D71,0x6D72,0xE1C9,0x0000,0x4449,0xE1CA,0x0000, - + /* 9000h */ 0x4260,0x4177,0xE1CB,0x4628,0xE1CC,0x6D70,0x3555,0x0000, 0xE1CD,0x0000,0x0000,0x6D79,0xE1CE,0x6D76,0x6E25,0x4629, @@ -5296,7 +5296,7 @@ const unsigned short ucs_i_jis_table[] = { 0x4974,0x0000,0x0000,0xE2AF,0x0000,0x3354,0x0000,0xE2B0, 0xE2B1,0x0000,0x0000,0x0000,0xE2B2,0x4D39,0xE2AE,0x363F, 0x0000,0x0000,0x0000,0x0000,0x0000,0x4554,0xE2B3,0xE2B4, - + /* 9100h */ 0xE2B5,0x0000,0x6E3F,0x0000,0xE2B6,0xE2B7,0xE2B8,0x0000, 0xE2B9,0x0000,0x0000,0x0000,0x0000,0xE2BA,0x0000,0x0000, @@ -5330,7 +5330,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0xE3AC,0xE3AD,0x0000,0xE3AE,0xE3AF,0xE3B0,0xE3B1, 0xE3B2,0xE3B3,0x0000,0x0000,0x0000,0x6E60,0x6E61,0xE3B4, 0x0000,0xE3B5,0x0000,0xE3B6,0x6E5F,0xE3B7,0x0000,0x6E63, - + /* 9200h */ 0xE3B8,0xE3B9,0x0000,0x0000,0xE3BA,0xE3BB,0xE3BC,0xE3BD, 0x0000,0xE3BE,0xE3BF,0x0000,0xE3C0,0x465F,0x3343,0x0000, @@ -5364,7 +5364,7 @@ const unsigned short ucs_i_jis_table[] = { 0xE4CC,0x6E7A,0x4A5F,0x0000,0xE4CD,0x3154,0xE4CE,0x0000, 0xE4CF,0x0000,0x4946,0x4372,0x0000,0x0000,0x0000,0x0000, 0x3578,0xE4D0,0x6E7C,0xE4D1,0x395D,0x0000,0x0000,0xE4D2, - + /* 9300h */ 0xE4D3,0x0000,0xE4D4,0x0000,0x0000,0x0000,0x3B2C,0x0000, 0xE4D5,0x0000,0x0000,0x0000,0x0000,0xE4D6,0x0000,0x6E7B, @@ -5398,7 +5398,7 @@ const unsigned short ucs_i_jis_table[] = { 0x6F34,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xE5CF, 0xE5D0,0xE5CE,0xE5D1,0xE5D2,0x0000,0xE5D3,0x0000,0x0000, - + /* 9400h */ 0x0000,0xE5D4,0xE5D5,0x6F3F,0xE5D6,0x0000,0x0000,0x6F40, 0xE5D7,0xE5D8,0x0000,0x0000,0x0000,0xE5D9,0xE5DA,0xE5DB, @@ -5432,7 +5432,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 9500h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -5466,7 +5466,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 9600h */ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, @@ -5500,7 +5500,7 @@ const unsigned short ucs_i_jis_table[] = { 0x312B,0xE6FA,0x4063,0x3C36,0x0000,0x0000,0x0000,0xE6FB, 0x4A37,0xE6FC,0x3140,0x0000,0x0000,0x0000,0x4E6D,0x4D6B, 0x0000,0x703B,0xE6FD,0x4545,0x0000,0x0000,0x0000,0x0000, - + /* 9700h */ 0x3C7B,0x0000,0xE6FE,0xE7A1,0x703C,0xE7A2,0x703D,0x3F4C, 0x703E,0xE7A3,0x4E6E,0x0000,0x0000,0x7039,0x7040,0x7042, @@ -5534,7 +5534,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0x0000,0x0000,0x0000,0x706C,0x4723,0xE7ED, 0x0000,0xE7EE,0x706E,0x323B,0xE7EF,0x7071,0x7070,0xE7F0, 0xE7F1,0x0000,0xE7F2,0x3124,0x0000,0x0000,0x0000,0x3641, - + /* 9800h */ 0x0000,0x4A47,0x443A,0x3A22,0x0000,0x3960,0x3D67,0xE7F3, 0x3F5C,0x0000,0xE7F4,0x0000,0x7073,0xE7F6,0xE7F7,0x7072, @@ -5568,7 +5568,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x712B,0xE8CD,0x712C,0x0000,0x522C,0x5D3B,0x4853, 0x0000,0x0000,0x307B,0xE8CE,0x303B,0x0000,0xE8CF,0x0000, 0x0000,0x0000,0x0000,0x0000,0x3B74,0x4B30,0x3E7E,0x0000, - + /* 9900h */ 0x0000,0x0000,0xE8D0,0x712D,0x0000,0x4C5F,0x0000,0xE8D1, 0xE8D2,0x712E,0x4D5C,0x0000,0x3142,0x0000,0x0000,0x0000, @@ -5602,7 +5602,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x0000,0xE9AE,0xE9AF,0xE9B0,0x714F,0x7150,0x0000, 0xE9B1,0x7151,0x7152,0x0000,0xE9B2,0xE9B3,0x0000,0x0000, 0x7154,0xE9B4,0x0000,0x7153,0x0000,0xE9B5,0xE9B6,0x3D59, - + /* 9A00h */ 0x0000,0x7155,0xE9B7,0xE9B8,0xE9B9,0x7157,0x0000,0x0000, 0x0000,0x0000,0x0000,0xE9BA,0xE9BB,0x0000,0x3533,0x7156, @@ -5636,7 +5636,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0xE9F2,0x4831,0x717A,0xE9F3,0x4926,0x717B,0x7179, 0x0000,0x717D,0xE9F4,0xE9F5,0x717C,0xE9F6,0x0000,0x717E, 0x0000,0xE9F7,0xE9F8,0x7221,0x0000,0xE9F9,0x0000,0xE9FA, - + /* 9B00h */ 0xE9FB,0xE9FC,0xE9FD,0xE9FE,0xEAA1,0xEAA2,0x7222,0x0000, 0xEAA3,0xEAA4,0x0000,0xEAA5,0xEAA6,0xEAA7,0xEAA8,0x0000, @@ -5670,7 +5670,7 @@ const unsigned short ucs_i_jis_table[] = { 0x375F,0x0000,0xEAF9,0xEAFA,0x0000,0x0000,0x0000,0xEAFB, 0x7250,0x724F,0x724E,0xEAFC,0x0000,0x3033,0x0000,0xEAFD, 0xEAFE,0xEBA1,0xEBA2,0x0000,0x0000,0xEBA3,0x0000,0xEBA4, - + /* 9C00h */ 0xEBA5,0x0000,0xEBA6,0x0000,0x725A,0x0000,0x7256,0x0000, 0x7257,0x7253,0x7259,0xEBA7,0x7255,0x3362,0x0000,0xEBA8, @@ -5704,7 +5704,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0x4837,0x0000,0x726F,0x726B,0x0000,0x0000,0x0000, 0x726C,0x0000,0xEBDA,0x4B31,0x4C44,0x0000,0x4650,0xEBDB, 0x0000,0xEBDC,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, - + /* 9D00h */ 0x0000,0x0000,0xEBDE,0x7270,0x0000,0x0000,0x7271,0x463E, 0x726E,0x726D,0x0000,0xEBDD,0x0000,0x0000,0x322A,0x0000, @@ -5738,7 +5738,7 @@ const unsigned short ucs_i_jis_table[] = { 0x0000,0xECC6,0x0000,0xECC7,0x0000,0x733D,0xECC8,0x733E, 0xECC9,0x0000,0x4F49,0xECCA,0xECCB,0x0000,0x0000,0x0000, 0x733B,0x426B,0x3A6D,0x0000,0x0000,0x733F,0xECCC,0x0000, - + /* 9E00h */ 0x0000,0x0000,0xECCE,0x0000,0x0000,0x0000,0x0000,0xECCF, 0x0000,0x0000,0xECCD,0x0000,0x0000,0x0000,0xECD0,0x0000, @@ -5772,7 +5772,7 @@ const unsigned short ucs_i_jis_table[] = { 0x735E,0x0000,0x0000,0x0000,0xECF8,0xECF9,0xECFA,0x735F, 0xECFB,0xECFC,0xECFD,0x0000,0x7360,0xECFE,0x7361,0x7362, 0xEDA1,0x7363,0x0000,0x7364,0x7365,0x7366,0x0000,0xEDA2, - + /* 9F00h */ 0x0000,0x0000,0xEDA3,0xEDA4,0x0000,0x0000,0x0000,0x7367, 0x7368,0xEDA5,0x0000,0x0000,0x0000,0x0000,0x4524,0xEDA6, diff --git a/ext/mbstring/libmbfl/filters/unicode_table_jis2004.h b/ext/mbstring/libmbfl/filters/unicode_table_jis2004.h index cb6c445e75..327e2a1278 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_jis2004.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_jis2004.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -1748,7 +1748,7 @@ static const unsigned short ucs_a1_jisx0213_table[] = { // 0x0000 - 0x045f }; static const int ucs_a1_jisx0213_table_min = 0x0000; -static const int ucs_a1_jisx0213_table_max = 0x0000 + +static const int ucs_a1_jisx0213_table_max = 0x0000 + (sizeof(ucs_a1_jisx0213_table)/sizeof(unsigned short)); static const unsigned short ucs_hk_jisx0213_table[] = { // 0x3000 - 0x30ff @@ -4642,7 +4642,7 @@ static const unsigned short ucs_r2_jisx0213_table[] = { // 0xfa0f - 0xfa6a static const int ucs_r2_jisx0213_min = 0xFA0F; static const int ucs_r2_jisx0213_max = 0xFA6A; -/* +/* CJK Compatibility Ideographs: U+F900 - U+FAFF (separate mapping for U+F9XX) */ static const unsigned short ucs_r2b_jisx0213_cmap_key[] = { @@ -4651,7 +4651,7 @@ static const unsigned short ucs_r2b_jisx0213_cmap_key[] = { static const unsigned short ucs_r2b_jisx0213_cmap_val[] = { 0x763b,0x742e,0x754e,0x7b4f,0x7649,0x7e24,0x7d5d}; -static const int ucs_r2b_jisx0213_cmap_len = +static const int ucs_r2b_jisx0213_cmap_len = sizeof(ucs_r2b_jisx0213_cmap_key)/sizeof(unsigned short); /* @@ -5042,7 +5042,7 @@ static const unsigned short jisx0213_p2_ofst[] = { 1, 8, 3, 4, 5, 12, 13, 14, 15, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94}; -static const int jisx0213_p2_ofst_len = +static const int jisx0213_p2_ofst_len = sizeof(jisx0213_p2_ofst)/sizeof(unsigned short); static const int uni2jis_tbl_range[][2] = { diff --git a/ext/mbstring/libmbfl/filters/unicode_table_koi8r.h b/ext/mbstring/libmbfl/filters/unicode_table_koi8r.h index ad3a68cd3d..fc850e5685 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_koi8r.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_koi8r.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -27,21 +27,21 @@ /* KOI8-R (RFC1489) to Unicode */ static const unsigned short koi8r_ucs_table[] = { - 0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524, - 0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590, - 0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248, - 0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7, - 0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556, - 0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x255c, 0x255d, 0x255e, - 0x255f, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565, - 0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b, 0x256c, 0x00a9, - 0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, - 0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, - 0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, - 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, - 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, - 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, - 0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, + 0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524, + 0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590, + 0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248, + 0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7, + 0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556, + 0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x255c, 0x255d, 0x255e, + 0x255f, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565, + 0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b, 0x256c, 0x00a9, + 0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a }; static const int koi8r_ucs_table_min = 0x80; diff --git a/ext/mbstring/libmbfl/filters/unicode_table_koi8u.h b/ext/mbstring/libmbfl/filters/unicode_table_koi8u.h index f3a4e9de63..2674e0c9b8 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_koi8u.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_koi8u.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -27,133 +27,133 @@ /* KOI8-U (RFC2319) to Unicode */ static const unsigned short koi8u_ucs_table[] = { - 0x2500, /* BOX DRAWINGS LIGHT HORIZONTAL */ - 0x2502, /* BOX DRAWINGS LIGHT VERTICAL */ - 0x250C, /* BOX DRAWINGS LIGHT DOWN AND RIGHT */ - 0x2510, /* BOX DRAWINGS LIGHT DOWN AND LEFT */ - 0x2514, /* BOX DRAWINGS LIGHT UP AND RIGHT */ - 0x2518, /* BOX DRAWINGS LIGHT UP AND LEFT */ - 0x251C, /* BOX DRAWINGS LIGHT VERTICAL AND RIGHT */ - 0x2524, /* BOX DRAWINGS LIGHT VERTICAL AND LEFT */ - 0x252C, /* BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */ - 0x2534, /* BOX DRAWINGS LIGHT UP AND HORIZONTAL */ - 0x253C, /* BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */ - 0x2580, /* UPPER HALF BLOCK */ - 0x2584, /* LOWER HALF BLOCK */ - 0x2588, /* FULL BLOCK */ - 0x258C, /* LEFT HALF BLOCK */ - 0x2590, /* RIGHT HALF BLOCK */ - 0x2591, /* LIGHT SHADE */ - 0x2592, /* MEDIUM SHADE */ - 0x2593, /* DARK SHADE */ - 0x2320, /* TOP HALF INTEGRAL */ - 0x25A0, /* BLACK SQUARE */ - 0x2219, /* BULLET OPERATOR */ - 0x221A, /* SQUARE ROOT */ - 0x2248, /* ALMOST EQUAL TO */ - 0x2264, /* LESS THAN OR EQUAL TO */ - 0x2265, /* GREATER THAN OR EQUAL TO */ - 0x00A0, /* NO-BREAK SPACE */ - 0x2321, /* BOTTOM HALF INTEGRAL */ - 0x00B0, /* DEGREE SIGN */ - 0x00B2, /* SUPERSCRIPT TWO */ - 0x00B7, /* MIDDLE DOT */ - 0x00F7, /* DIVISION SIGN */ - 0x2550, /* BOX DRAWINGS DOUBLE HORIZONTAL */ - 0x2551, /* BOX DRAWINGS DOUBLE VERTICAL */ - 0x2552, /* BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE */ - 0x0451, /* CYRILLIC SMALL LETTER IO */ - 0x0454, /* CYRILLIC SMALL LETTER UKRAINIAN IE */ - 0x2554, /* BOX DRAWINGS DOUBLE DOWN AND RIGHT */ - 0x0456, /* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */ - 0x0457, /* CYRILLIC SMALL LETTER YI (UKRAINIAN) */ - 0x2557, /* BOX DRAWINGS DOUBLE DOWN AND LEFT */ - 0x2558, /* BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE */ - 0x2559, /* BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE */ - 0x255A, /* BOX DRAWINGS DOUBLE UP AND RIGHT */ - 0x255B, /* BOX DRAWINGS UP SINGLE AND LEFT DOUBLE */ - 0x0491, /* CYRILLIC SMALL LETTER GHE WITH UPTURN */ - 0x255D, /* BOX DRAWINGS DOUBLE UP AND LEFT */ - 0x255E, /* BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE */ - 0x255F, /* BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE */ - 0x2560, /* BOX DRAWINGS DOUBLE VERTICAL AND RIGHT */ - 0x2561, /* BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE */ - 0x0401, /* CYRILLIC CAPITAL LETTER IO */ - 0x0404, /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */ - 0x2563, /* BOX DRAWINGS DOUBLE VERTICAL AND LEFT */ - 0x0406, /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */ - 0x0407, /* CYRILLIC CAPITAL LETTER YI (UKRAINIAN) */ - 0x2566, /* BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL */ - 0x2567, /* BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE */ - 0x2568, /* BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE */ - 0x2569, /* BOX DRAWINGS DOUBLE UP AND HORIZONTAL */ - 0x256A, /* BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE */ - 0x0490, /* CYRILLIC CAPITAL LETTER GHE WITH UPTURN */ - 0x256C, /* BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL */ - 0x00A9, /* COPYRIGHT SIGN */ - 0x044E, /* CYRILLIC SMALL LETTER YU */ - 0x0430, /* CYRILLIC SMALL LETTER A */ - 0x0431, /* CYRILLIC SMALL LETTER BE */ - 0x0446, /* CYRILLIC SMALL LETTER TSE */ - 0x0434, /* CYRILLIC SMALL LETTER DE */ - 0x0435, /* CYRILLIC SMALL LETTER IE */ - 0x0444, /* CYRILLIC SMALL LETTER EF */ - 0x0433, /* CYRILLIC SMALL LETTER GHE */ - 0x0445, /* CYRILLIC SMALL LETTER KHA */ - 0x0438, /* CYRILLIC SMALL LETTER I */ - 0x0439, /* CYRILLIC SMALL LETTER SHORT I */ - 0x043A, /* CYRILLIC SMALL LETTER KA */ - 0x043B, /* CYRILLIC SMALL LETTER EL */ - 0x043C, /* CYRILLIC SMALL LETTER EM */ - 0x043D, /* CYRILLIC SMALL LETTER EN */ - 0x043E, /* CYRILLIC SMALL LETTER O */ - 0x043F, /* CYRILLIC SMALL LETTER PE */ - 0x044F, /* CYRILLIC SMALL LETTER YA */ - 0x0440, /* CYRILLIC SMALL LETTER ER */ - 0x0441, /* CYRILLIC SMALL LETTER ES */ - 0x0442, /* CYRILLIC SMALL LETTER TE */ - 0x0443, /* CYRILLIC SMALL LETTER U */ - 0x0436, /* CYRILLIC SMALL LETTER ZHE */ - 0x0432, /* CYRILLIC SMALL LETTER VE */ - 0x044C, /* CYRILLIC SMALL LETTER SOFT SIGN */ - 0x044B, /* CYRILLIC SMALL LETTER YERU */ - 0x0437, /* CYRILLIC SMALL LETTER ZE */ - 0x0448, /* CYRILLIC SMALL LETTER SHA */ - 0x044D, /* CYRILLIC SMALL LETTER E */ - 0x0449, /* CYRILLIC SMALL LETTER SHCHA */ - 0x0447, /* CYRILLIC SMALL LETTER CHE */ - 0x044A, /* CYRILLIC SMALL LETTER HARD SIGN */ - 0x042E, /* CYRILLIC CAPITAL LETTER YU */ - 0x0410, /* CYRILLIC CAPITAL LETTER A */ - 0x0411, /* CYRILLIC CAPITAL LETTER BE */ - 0x0426, /* CYRILLIC CAPITAL LETTER TSE */ - 0x0414, /* CYRILLIC CAPITAL LETTER DE */ - 0x0415, /* CYRILLIC CAPITAL LETTER IE */ - 0x0424, /* CYRILLIC CAPITAL LETTER EF */ - 0x0413, /* CYRILLIC CAPITAL LETTER GHE */ - 0x0425, /* CYRILLIC CAPITAL LETTER KHA */ - 0x0418, /* CYRILLIC CAPITAL LETTER I */ - 0x0419, /* CYRILLIC CAPITAL LETTER SHORT I */ - 0x041A, /* CYRILLIC CAPITAL LETTER KA */ - 0x041B, /* CYRILLIC CAPITAL LETTER EL */ - 0x041C, /* CYRILLIC CAPITAL LETTER EM */ - 0x041D, /* CYRILLIC CAPITAL LETTER EN */ - 0x041E, /* CYRILLIC CAPITAL LETTER O */ - 0x041F, /* CYRILLIC CAPITAL LETTER PE */ - 0x042F, /* CYRILLIC CAPITAL LETTER YA */ - 0x0420, /* CYRILLIC CAPITAL LETTER ER */ - 0x0421, /* CYRILLIC CAPITAL LETTER ES */ - 0x0422, /* CYRILLIC CAPITAL LETTER TE */ - 0x0423, /* CYRILLIC CAPITAL LETTER U */ - 0x0416, /* CYRILLIC CAPITAL LETTER ZHE */ - 0x0412, /* CYRILLIC CAPITAL LETTER VE */ - 0x042C, /* CYRILLIC CAPITAL LETTER SOFT SIGN */ - 0x042B, /* CYRILLIC CAPITAL LETTER YERU */ - 0x0417, /* CYRILLIC CAPITAL LETTER ZE */ - 0x0428, /* CYRILLIC CAPITAL LETTER SHA */ - 0x042D, /* CYRILLIC CAPITAL LETTER E */ - 0x0429, /* CYRILLIC CAPITAL LETTER SHCHA */ - 0x0427, /* CYRILLIC CAPITAL LETTER CHE */ + 0x2500, /* BOX DRAWINGS LIGHT HORIZONTAL */ + 0x2502, /* BOX DRAWINGS LIGHT VERTICAL */ + 0x250C, /* BOX DRAWINGS LIGHT DOWN AND RIGHT */ + 0x2510, /* BOX DRAWINGS LIGHT DOWN AND LEFT */ + 0x2514, /* BOX DRAWINGS LIGHT UP AND RIGHT */ + 0x2518, /* BOX DRAWINGS LIGHT UP AND LEFT */ + 0x251C, /* BOX DRAWINGS LIGHT VERTICAL AND RIGHT */ + 0x2524, /* BOX DRAWINGS LIGHT VERTICAL AND LEFT */ + 0x252C, /* BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */ + 0x2534, /* BOX DRAWINGS LIGHT UP AND HORIZONTAL */ + 0x253C, /* BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */ + 0x2580, /* UPPER HALF BLOCK */ + 0x2584, /* LOWER HALF BLOCK */ + 0x2588, /* FULL BLOCK */ + 0x258C, /* LEFT HALF BLOCK */ + 0x2590, /* RIGHT HALF BLOCK */ + 0x2591, /* LIGHT SHADE */ + 0x2592, /* MEDIUM SHADE */ + 0x2593, /* DARK SHADE */ + 0x2320, /* TOP HALF INTEGRAL */ + 0x25A0, /* BLACK SQUARE */ + 0x2219, /* BULLET OPERATOR */ + 0x221A, /* SQUARE ROOT */ + 0x2248, /* ALMOST EQUAL TO */ + 0x2264, /* LESS THAN OR EQUAL TO */ + 0x2265, /* GREATER THAN OR EQUAL TO */ + 0x00A0, /* NO-BREAK SPACE */ + 0x2321, /* BOTTOM HALF INTEGRAL */ + 0x00B0, /* DEGREE SIGN */ + 0x00B2, /* SUPERSCRIPT TWO */ + 0x00B7, /* MIDDLE DOT */ + 0x00F7, /* DIVISION SIGN */ + 0x2550, /* BOX DRAWINGS DOUBLE HORIZONTAL */ + 0x2551, /* BOX DRAWINGS DOUBLE VERTICAL */ + 0x2552, /* BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE */ + 0x0451, /* CYRILLIC SMALL LETTER IO */ + 0x0454, /* CYRILLIC SMALL LETTER UKRAINIAN IE */ + 0x2554, /* BOX DRAWINGS DOUBLE DOWN AND RIGHT */ + 0x0456, /* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */ + 0x0457, /* CYRILLIC SMALL LETTER YI (UKRAINIAN) */ + 0x2557, /* BOX DRAWINGS DOUBLE DOWN AND LEFT */ + 0x2558, /* BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE */ + 0x2559, /* BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE */ + 0x255A, /* BOX DRAWINGS DOUBLE UP AND RIGHT */ + 0x255B, /* BOX DRAWINGS UP SINGLE AND LEFT DOUBLE */ + 0x0491, /* CYRILLIC SMALL LETTER GHE WITH UPTURN */ + 0x255D, /* BOX DRAWINGS DOUBLE UP AND LEFT */ + 0x255E, /* BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE */ + 0x255F, /* BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE */ + 0x2560, /* BOX DRAWINGS DOUBLE VERTICAL AND RIGHT */ + 0x2561, /* BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE */ + 0x0401, /* CYRILLIC CAPITAL LETTER IO */ + 0x0404, /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */ + 0x2563, /* BOX DRAWINGS DOUBLE VERTICAL AND LEFT */ + 0x0406, /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */ + 0x0407, /* CYRILLIC CAPITAL LETTER YI (UKRAINIAN) */ + 0x2566, /* BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL */ + 0x2567, /* BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE */ + 0x2568, /* BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE */ + 0x2569, /* BOX DRAWINGS DOUBLE UP AND HORIZONTAL */ + 0x256A, /* BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE */ + 0x0490, /* CYRILLIC CAPITAL LETTER GHE WITH UPTURN */ + 0x256C, /* BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL */ + 0x00A9, /* COPYRIGHT SIGN */ + 0x044E, /* CYRILLIC SMALL LETTER YU */ + 0x0430, /* CYRILLIC SMALL LETTER A */ + 0x0431, /* CYRILLIC SMALL LETTER BE */ + 0x0446, /* CYRILLIC SMALL LETTER TSE */ + 0x0434, /* CYRILLIC SMALL LETTER DE */ + 0x0435, /* CYRILLIC SMALL LETTER IE */ + 0x0444, /* CYRILLIC SMALL LETTER EF */ + 0x0433, /* CYRILLIC SMALL LETTER GHE */ + 0x0445, /* CYRILLIC SMALL LETTER KHA */ + 0x0438, /* CYRILLIC SMALL LETTER I */ + 0x0439, /* CYRILLIC SMALL LETTER SHORT I */ + 0x043A, /* CYRILLIC SMALL LETTER KA */ + 0x043B, /* CYRILLIC SMALL LETTER EL */ + 0x043C, /* CYRILLIC SMALL LETTER EM */ + 0x043D, /* CYRILLIC SMALL LETTER EN */ + 0x043E, /* CYRILLIC SMALL LETTER O */ + 0x043F, /* CYRILLIC SMALL LETTER PE */ + 0x044F, /* CYRILLIC SMALL LETTER YA */ + 0x0440, /* CYRILLIC SMALL LETTER ER */ + 0x0441, /* CYRILLIC SMALL LETTER ES */ + 0x0442, /* CYRILLIC SMALL LETTER TE */ + 0x0443, /* CYRILLIC SMALL LETTER U */ + 0x0436, /* CYRILLIC SMALL LETTER ZHE */ + 0x0432, /* CYRILLIC SMALL LETTER VE */ + 0x044C, /* CYRILLIC SMALL LETTER SOFT SIGN */ + 0x044B, /* CYRILLIC SMALL LETTER YERU */ + 0x0437, /* CYRILLIC SMALL LETTER ZE */ + 0x0448, /* CYRILLIC SMALL LETTER SHA */ + 0x044D, /* CYRILLIC SMALL LETTER E */ + 0x0449, /* CYRILLIC SMALL LETTER SHCHA */ + 0x0447, /* CYRILLIC SMALL LETTER CHE */ + 0x044A, /* CYRILLIC SMALL LETTER HARD SIGN */ + 0x042E, /* CYRILLIC CAPITAL LETTER YU */ + 0x0410, /* CYRILLIC CAPITAL LETTER A */ + 0x0411, /* CYRILLIC CAPITAL LETTER BE */ + 0x0426, /* CYRILLIC CAPITAL LETTER TSE */ + 0x0414, /* CYRILLIC CAPITAL LETTER DE */ + 0x0415, /* CYRILLIC CAPITAL LETTER IE */ + 0x0424, /* CYRILLIC CAPITAL LETTER EF */ + 0x0413, /* CYRILLIC CAPITAL LETTER GHE */ + 0x0425, /* CYRILLIC CAPITAL LETTER KHA */ + 0x0418, /* CYRILLIC CAPITAL LETTER I */ + 0x0419, /* CYRILLIC CAPITAL LETTER SHORT I */ + 0x041A, /* CYRILLIC CAPITAL LETTER KA */ + 0x041B, /* CYRILLIC CAPITAL LETTER EL */ + 0x041C, /* CYRILLIC CAPITAL LETTER EM */ + 0x041D, /* CYRILLIC CAPITAL LETTER EN */ + 0x041E, /* CYRILLIC CAPITAL LETTER O */ + 0x041F, /* CYRILLIC CAPITAL LETTER PE */ + 0x042F, /* CYRILLIC CAPITAL LETTER YA */ + 0x0420, /* CYRILLIC CAPITAL LETTER ER */ + 0x0421, /* CYRILLIC CAPITAL LETTER ES */ + 0x0422, /* CYRILLIC CAPITAL LETTER TE */ + 0x0423, /* CYRILLIC CAPITAL LETTER U */ + 0x0416, /* CYRILLIC CAPITAL LETTER ZHE */ + 0x0412, /* CYRILLIC CAPITAL LETTER VE */ + 0x042C, /* CYRILLIC CAPITAL LETTER SOFT SIGN */ + 0x042B, /* CYRILLIC CAPITAL LETTER YERU */ + 0x0417, /* CYRILLIC CAPITAL LETTER ZE */ + 0x0428, /* CYRILLIC CAPITAL LETTER SHA */ + 0x042D, /* CYRILLIC CAPITAL LETTER E */ + 0x0429, /* CYRILLIC CAPITAL LETTER SHCHA */ + 0x0427, /* CYRILLIC CAPITAL LETTER CHE */ 0x042A /* CYRILLIC CAPITAL LETTER HARD SIGN */ }; static const int koi8u_ucs_table_min = 0x80; diff --git a/ext/mbstring/libmbfl/filters/unicode_table_uhc.h b/ext/mbstring/libmbfl/filters/unicode_table_uhc.h index 6b98c65b6f..a205d1fedf 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_uhc.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_uhc.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -2354,7 +2354,7 @@ const unsigned short uhc3_ucs_table[] = { const int uhc3_ucs_table_size = (sizeof(uhc3_ucs_table)/sizeof(unsigned short)); /* UCS -> UHC */ -const unsigned short ucs_a1_uhc_table[] = { +const unsigned short ucs_a1_uhc_table[] = { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007, 0x0008,0x0009,0x000a,0x000b,0x000c,0x000d,0x000e,0x000f, 0x0010,0x0011,0x0012,0x0013,0x0014,0x0015,0x0016,0x0017, diff --git a/ext/mbstring/libmbfl/mbfl/eaw_table.h b/ext/mbstring/libmbfl/mbfl/eaw_table.h index af310ea1d8..834b134dd4 100644 --- a/ext/mbstring/libmbfl/mbfl/eaw_table.h +++ b/ext/mbstring/libmbfl/mbfl/eaw_table.h @@ -40,5 +40,5 @@ static const struct { { 0x1f240, 0x1f248 }, { 0x1f250, 0x1f251 }, { 0x20000, 0x2fffd }, - { 0x30000, 0x3fffd } + { 0x30000, 0x3fffd } }; diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.h b/ext/mbstring/libmbfl/mbfl/mbfilter.h index 6108f93195..565ed3252d 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.h +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.h @@ -71,7 +71,7 @@ * */ -/* +/* * Unicode support * * Portions copyright (c) 1999,2000,2001 by the PHP3 internationalization team. diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c b/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c index 9b19479ed6..ed79746f6a 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.h b/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.h index a87c564616..acdf640fd7 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.h +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c b/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c index b6da879b6e..b19432f76a 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifdef HAVE_CONFIG_H diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_pass.h b/ext/mbstring/libmbfl/mbfl/mbfilter_pass.h index 49d169c668..a1064b85bc 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_pass.h +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_pass.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -24,7 +24,7 @@ /* * The source code included in this files was separated from mbfilter.c * by moriyoshi koizumi <moriyoshi@php.net> on 4 dec 2002. - * + * */ #ifndef MBFL_MBFILTER_PASS_H @@ -33,7 +33,7 @@ #include "mbfl_defs.h" #include "mbfilter.h" -MBFLAPI extern const mbfl_encoding mbfl_encoding_pass; +MBFLAPI extern const mbfl_encoding mbfl_encoding_pass; MBFLAPI extern const struct mbfl_convert_vtbl vtbl_pass; MBFLAPI extern int mbfl_filt_conv_pass(int c, mbfl_convert_filter *filter); diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c b/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c index 50f7629849..ace81b4c72 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h b/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h index 9e9396a77f..b412f4c907 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_allocators.c b/ext/mbstring/libmbfl/mbfl/mbfl_allocators.c index be9d345b06..f52c94cf37 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_allocators.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_allocators.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -89,5 +89,5 @@ static void *__mbfl__calloc(unsigned int nelems, unsigned int szelem) static void __mbfl__free(void *ptr) { free(ptr); -} +} diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_allocators.h b/ext/mbstring/libmbfl/mbfl/mbfl_allocators.h index a1539f0f37..b2981c6f1f 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_allocators.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_allocators.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -38,12 +38,12 @@ typedef struct _mbfl_allocators { void *(*realloc)(void *, unsigned int); void *(*calloc)(unsigned int, unsigned int); void (*free)(void *); - void *(*pmalloc)(unsigned int); + void *(*pmalloc)(unsigned int); void *(*prealloc)(void *, unsigned int); void (*pfree)(void *); } mbfl_allocators; -MBFLAPI extern mbfl_allocators *__mbfl_allocators; +MBFLAPI extern mbfl_allocators *__mbfl_allocators; #define mbfl_malloc (__mbfl_allocators->malloc) #define mbfl_realloc (__mbfl_allocators->realloc) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_consts.h b/ext/mbstring/libmbfl/mbfl/mbfl_consts.h index b11119a80b..cad99b0a66 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_consts.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_consts.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -41,7 +41,7 @@ #define MBFL_ENCTYPE_WCS4LE 0x00000200 #define MBFL_ENCTYPE_MWC4BE 0x00000400 #define MBFL_ENCTYPE_MWC4LE 0x00000800 -#define MBFL_ENCTYPE_SHFTCODE 0x00001000 +#define MBFL_ENCTYPE_SHFTCODE 0x00001000 #define MBFL_ENCTYPE_ENC_STRM 0x00002000 #define MBFL_ENCTYPE_GL_UNSAFE 0x00004000 @@ -74,9 +74,9 @@ #define MBFL_WCSPLANE_BIG5 0x70f40000 /* 2121h - 9898h */ #define MBFL_WCSPLANE_CNS11643 0x70f50000 /* 2121h - 9898h */ #define MBFL_WCSPLANE_UHC 0x70f60000 /* 8141h - fefeh */ -#define MBFL_WCSPLANE_CP1251 0x70f70000 -#define MBFL_WCSPLANE_CP866 0x70f80000 -#define MBFL_WCSPLANE_KOI8R 0x70f90000 +#define MBFL_WCSPLANE_CP1251 0x70f70000 +#define MBFL_WCSPLANE_CP866 0x70f80000 +#define MBFL_WCSPLANE_KOI8R 0x70f90000 #define MBFL_WCSPLANE_8859_16 0x70fa0000 /* 00h - FFh */ #define MBFL_WCSPLANE_ARMSCII8 0x70fb0000 #define MBFL_WCSPLANE_KOI8U 0x70fc0000 diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c index ae8deb25fb..b553ad5d13 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -433,7 +433,7 @@ mbfl_convert_filter_copy( *dest = *src; } -int mbfl_convert_filter_devcat(mbfl_convert_filter *filter, mbfl_memory_device *src) +int mbfl_convert_filter_devcat(mbfl_convert_filter *filter, mbfl_memory_device *src) { int n; unsigned char *p; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.h b/ext/mbstring/libmbfl/mbfl/mbfl_convert.h index 8b5ba5bc19..ad0911723a 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_defs.h b/ext/mbstring/libmbfl/mbfl/mbfl_defs.h index fcfac2b899..753724d7be 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_defs.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_defs.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -37,7 +37,7 @@ #else #define NULL (void *)(0L) #endif -#endif +#endif #ifdef WIN32 #ifdef MBFL_DLL_EXPORT diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c index adf0c3ae87..e03c2acaff 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -116,7 +116,7 @@ #ifdef HAVE_STRICMP #define strcasecmp stricmp #endif -#endif +#endif static const char *mbfl_encoding_auto_aliases[] = {"unknown", NULL}; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h index ca7717cb7b..d080f7b6a4 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c index 341047d5b0..c75c19ac19 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h index d477653d3e..eeae05ac9c 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 4d6283f4f2..9f8e780769 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h index 12d81cde8c..238132f6a7 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_language.c b/ext/mbstring/libmbfl/mbfl/mbfl_language.c index 4dd9726362..9ca2d59183 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_language.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_language.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, @@ -67,7 +67,7 @@ #ifdef HAVE_STRICMP #define strcasecmp stricmp #endif -#endif +#endif static const mbfl_language *mbfl_language_ptr_table[] = { &mbfl_language_uni, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_language.h b/ext/mbstring/libmbfl/mbfl/mbfl_language.h index af42a010cf..a0a73899ee 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_language.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_language.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c index 7509ef1a6a..29782f5931 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h index a2c1c4089f..0e8a82f0e8 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_string.c b/ext/mbstring/libmbfl/mbfl/mbfl_string.c index e0351a437b..69f594350e 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_string.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_string.c @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_string.h b/ext/mbstring/libmbfl/mbfl/mbfl_string.h index d1121319a3..560944737e 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_string.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_string.h @@ -5,7 +5,7 @@ * LICENSE NOTICES * * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public + * 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, diff --git a/ext/mbstring/libmbfl/tests/conv_encoding.c b/ext/mbstring/libmbfl/tests/conv_encoding.c index 9769964743..6dad37314b 100644 --- a/ext/mbstring/libmbfl/tests/conv_encoding.c +++ b/ext/mbstring/libmbfl/tests/conv_encoding.c @@ -98,7 +98,7 @@ int main(int argc, char **argv) mbfl_string_clear(&string); } while (!final); - mbfl_buffer_converter_delete(convd); + mbfl_buffer_converter_delete(convd); return EXIT_SUCCESS; } diff --git a/ext/mbstring/libmbfl/tests/emoji.c b/ext/mbstring/libmbfl/tests/emoji.c index 4f6a346576..c28a0f90bb 100644 --- a/ext/mbstring/libmbfl/tests/emoji.c +++ b/ext/mbstring/libmbfl/tests/emoji.c @@ -107,12 +107,12 @@ int main(int argc, char **argv) mbfl_string_init_set(&result, no_language, from_encoding); ret = mbfl_buffer_converter_feed_result(convd2, &string, &result); hexdump(&result); - mbfl_buffer_converter_delete(convd2); + mbfl_buffer_converter_delete(convd2); #endif mbfl_string_clear(&result); mbfl_string_clear(&string); - mbfl_buffer_converter_delete(convd); + mbfl_buffer_converter_delete(convd); return EXIT_SUCCESS; diff --git a/ext/mbstring/mb_gpc.c b/ext/mbstring/mb_gpc.c index afa90376ab..aea4baf6a3 100644 --- a/ext/mbstring/mb_gpc.c +++ b/ext/mbstring/mb_gpc.c @@ -1,6 +1,6 @@ /* +----------------------------------------------------------------------+ - | PHP Version 5 | + | PHP Version 7 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2016 The PHP Group | +----------------------------------------------------------------------+ @@ -55,18 +55,18 @@ MBSTRING_API SAPI_TREAT_DATA_FUNC(mbstr_treat_data) { char *res = NULL, *separator=NULL; const char *c_var; - zval *array_ptr; + zval v_array; int free_buffer=0; const mbfl_encoding *detected; php_mb_encoding_handler_info_t info; if (arg != PARSE_STRING) { char *value = MBSTRG(internal_encoding_name); - _php_mb_ini_mbstring_internal_encoding_set(value, value ? strlen(value): 0 TSRMLS_CC); + _php_mb_ini_mbstring_internal_encoding_set(value, value ? strlen(value): 0); } if (!MBSTRG(encoding_translation)) { - php_default_treat_data(arg, str, destArray TSRMLS_CC); + php_default_treat_data(arg, str, destArray); return; } @@ -74,28 +74,26 @@ MBSTRING_API SAPI_TREAT_DATA_FUNC(mbstr_treat_data) case PARSE_POST: case PARSE_GET: case PARSE_COOKIE: - ALLOC_ZVAL(array_ptr); - array_init(array_ptr); - INIT_PZVAL(array_ptr); + array_init(&v_array); switch (arg) { case PARSE_POST: - PG(http_globals)[TRACK_VARS_POST] = array_ptr; + ZVAL_COPY_VALUE(&PG(http_globals)[TRACK_VARS_POST], &v_array); break; case PARSE_GET: - PG(http_globals)[TRACK_VARS_GET] = array_ptr; + ZVAL_COPY_VALUE(&PG(http_globals)[TRACK_VARS_GET], &v_array); break; case PARSE_COOKIE: - PG(http_globals)[TRACK_VARS_COOKIE] = array_ptr; + ZVAL_COPY_VALUE(&PG(http_globals)[TRACK_VARS_COOKIE], &v_array); break; } break; default: - array_ptr=destArray; + ZVAL_COPY_VALUE(&v_array, destArray); break; } - if (arg==PARSE_POST) { - sapi_handle_post(array_ptr TSRMLS_CC); + if (arg == PARSE_POST) { + sapi_handle_post(&v_array); return; } @@ -125,43 +123,43 @@ MBSTRING_API SAPI_TREAT_DATA_FUNC(mbstr_treat_data) } switch (arg) { - case PARSE_POST: - case PARSE_GET: - case PARSE_STRING: - separator = (char *) estrdup(PG(arg_separator).input); - break; - case PARSE_COOKIE: - separator = ";\0"; - break; + case PARSE_POST: + case PARSE_GET: + case PARSE_STRING: + separator = (char *) estrdup(PG(arg_separator).input); + break; + case PARSE_COOKIE: + separator = ";\0"; + break; } - - switch(arg) { - case PARSE_POST: - MBSTRG(http_input_identify_post) = NULL; - break; - case PARSE_GET: - MBSTRG(http_input_identify_get) = NULL; - break; - case PARSE_COOKIE: - MBSTRG(http_input_identify_cookie) = NULL; - break; - case PARSE_STRING: - MBSTRG(http_input_identify_string) = NULL; - break; + + switch (arg) { + case PARSE_POST: + MBSTRG(http_input_identify_post) = NULL; + break; + case PARSE_GET: + MBSTRG(http_input_identify_get) = NULL; + break; + case PARSE_COOKIE: + MBSTRG(http_input_identify_cookie) = NULL; + break; + case PARSE_STRING: + MBSTRG(http_input_identify_string) = NULL; + break; } info.data_type = arg; - info.separator = separator; + info.separator = separator; info.report_errors = 0; info.to_encoding = MBSTRG(internal_encoding); info.to_language = MBSTRG(language); info.from_encodings = MBSTRG(http_input_list); - info.num_from_encodings = MBSTRG(http_input_list_size); + info.num_from_encodings = MBSTRG(http_input_list_size); info.from_language = MBSTRG(language); MBSTRG(illegalchars) = 0; - detected = _php_mb_encoding_handler_ex(&info, array_ptr, res TSRMLS_CC); + detected = _php_mb_encoding_handler_ex(&info, &v_array, res); MBSTRG(http_input_identify) = detected; if (detected) { @@ -192,17 +190,17 @@ MBSTRING_API SAPI_TREAT_DATA_FUNC(mbstr_treat_data) /* }}} */ /* {{{ mbfl_no_encoding _php_mb_encoding_handler_ex() */ -const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_info_t *info, zval *arg, char *res TSRMLS_DC) +const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_info_t *info, zval *arg, char *res) { char *var, *val; const char *s1, *s2; char *strtok_buf = NULL, **val_list = NULL; zval *array_ptr = (zval *) arg; int n, num, *len_list = NULL; - unsigned int val_len, new_val_len; + size_t val_len, new_val_len; mbfl_string string, resvar, resval; const mbfl_encoding *from_encoding = NULL; - mbfl_encoding_detector *identd = NULL; + mbfl_encoding_detector *identd = NULL; mbfl_buffer_converter *convd = NULL; mbfl_string_init_set(&string, info->to_language, info->to_encoding->no_encoding); @@ -212,7 +210,7 @@ const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_i if (!res || *res == '\0') { goto out; } - + /* count the variables(separators) contained in the "res". * separator may contain multiple separator chars. */ @@ -221,11 +219,11 @@ const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_i for (s2=info->separator; *s2 != '\0'; s2++) { if (*s1 == *s2) { num++; - } + } } } num *= 2; /* need space for variable name and value */ - + val_list = (char **)ecalloc(num, sizeof(char *)); len_list = (int *)ecalloc(num, sizeof(int)); @@ -239,7 +237,7 @@ const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_i len_list[n] = php_url_decode(var, val-var); val_list[n] = var; n++; - + *val++ = '\0'; val_list[n] = val; len_list[n] = php_url_decode(val, strlen(val)); @@ -247,21 +245,21 @@ const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_i len_list[n] = php_url_decode(var, strlen(var)); val_list[n] = var; n++; - + val_list[n] = ""; len_list[n] = 0; } n++; var = php_strtok_r(NULL, info->separator, &strtok_buf); - } + } if (n > (PG(max_input_vars) * 2)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Input variables exceeded %ld. To increase the limit change max_input_vars in php.ini.", PG(max_input_vars)); + php_error_docref(NULL, E_WARNING, "Input variables exceeded %pd. To increase the limit change max_input_vars in php.ini.", PG(max_input_vars)); goto out; } num = n; /* make sure to process initialized vars only */ - + /* initialize converter */ if (info->num_from_encodings <= 0) { from_encoding = &mbfl_encoding_pass; @@ -286,7 +284,7 @@ const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_i } if (!from_encoding) { if (info->report_errors) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to detect encoding"); + php_error_docref(NULL, E_WARNING, "Unable to detect encoding"); } from_encoding = &mbfl_encoding_pass; } @@ -300,7 +298,7 @@ const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_i mbfl_buffer_converter_illegal_substchar(convd, MBSTRG(current_filter_illegal_substchar)); } else { if (info->report_errors) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to create converter"); + php_error_docref(NULL, E_WARNING, "Unable to create converter"); } goto out; } @@ -331,12 +329,12 @@ const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_i n++; /* we need val to be emalloc()ed */ val = estrndup(val, val_len); - if (sapi_module.input_filter(info->data_type, var, &val, val_len, &new_val_len TSRMLS_CC)) { + if (sapi_module.input_filter(info->data_type, var, &val, val_len, &new_val_len)) { /* add variable to symbol table */ - php_register_variable_safe(var, val, new_val_len, array_ptr TSRMLS_CC); + php_register_variable_safe(var, val, new_val_len, array_ptr); } efree(val); - + if (convd != NULL){ mbfl_string_clear(&resvar); mbfl_string_clear(&resval); @@ -364,7 +362,7 @@ SAPI_POST_HANDLER_FUNC(php_mb_post_handler) { const mbfl_encoding *detected; php_mb_encoding_handler_info_t info; - char *post_data_str = NULL; + zend_string *post_data_str = NULL; MBSTRG(http_input_identify_post) = NULL; @@ -374,13 +372,15 @@ SAPI_POST_HANDLER_FUNC(php_mb_post_handler) info.to_encoding = MBSTRG(internal_encoding); info.to_language = MBSTRG(language); info.from_encodings = MBSTRG(http_input_list); - info.num_from_encodings = MBSTRG(http_input_list_size); + info.num_from_encodings = MBSTRG(http_input_list_size); info.from_language = MBSTRG(language); php_stream_rewind(SG(request_info).request_body); - php_stream_copy_to_mem(SG(request_info).request_body, &post_data_str, PHP_STREAM_COPY_ALL, 0); - detected = _php_mb_encoding_handler_ex(&info, arg, post_data_str TSRMLS_CC); - STR_FREE(post_data_str); + post_data_str = php_stream_copy_to_mem(SG(request_info).request_body, PHP_STREAM_COPY_ALL, 0); + detected = _php_mb_encoding_handler_ex(&info, arg, post_data_str ? ZSTR_VAL(post_data_str) : NULL); + if (post_data_str) { + zend_string_release(post_data_str); + } MBSTRG(http_input_identify) = detected; if (detected) { diff --git a/ext/mbstring/mb_gpc.h b/ext/mbstring/mb_gpc.h index ab6fcc86e0..c45c8250cc 100644 --- a/ext/mbstring/mb_gpc.h +++ b/ext/mbstring/mb_gpc.h @@ -1,6 +1,6 @@ /* +----------------------------------------------------------------------+ - | PHP Version 5 | + | PHP Version 7 | +----------------------------------------------------------------------+ | Copyright (c) 2001 The PHP Group | +----------------------------------------------------------------------+ @@ -30,14 +30,14 @@ #if HAVE_MBSTRING /* {{{ typedefs */ typedef struct _php_mb_encoding_handler_info_t { - int data_type; const char *separator; - unsigned int report_errors: 1; - enum mbfl_no_language to_language; const mbfl_encoding *to_encoding; - enum mbfl_no_language from_language; const mbfl_encoding **from_encodings; size_t num_from_encodings; + int data_type; + unsigned int report_errors : 1; + enum mbfl_no_language to_language; + enum mbfl_no_language from_language; } php_mb_encoding_handler_info_t; /* }}}*/ @@ -47,7 +47,7 @@ SAPI_POST_HANDLER_FUNC(php_mb_post_handler); MBSTRING_API SAPI_TREAT_DATA_FUNC(mbstr_treat_data); int _php_mb_enable_encoding_translation(int flag); -const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_info_t *info, zval *arg, char *res TSRMLS_DC); +const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_info_t *info, zval *arg, char *res); /* }}} */ #endif /* HAVE_MBSTRING */ diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index cf5f8ed423..d5af96a5a1 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -1,6 +1,6 @@ /* +----------------------------------------------------------------------+ - | PHP Version 5 | + | PHP Version 7 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2016 The PHP Group | +----------------------------------------------------------------------+ @@ -56,7 +56,6 @@ #include "ext/standard/php_string.h" #include "ext/standard/php_mail.h" #include "ext/standard/exec.h" -#include "ext/standard/php_smart_str.h" #include "ext/standard/url.h" #include "main/php_output.h" #include "ext/standard/info.h" @@ -97,13 +96,13 @@ ZEND_DECLARE_MODULE_GLOBALS(mbstring) static PHP_GINIT_FUNCTION(mbstring); static PHP_GSHUTDOWN_FUNCTION(mbstring); -static void php_mb_populate_current_detect_order_list(TSRMLS_D); +static void php_mb_populate_current_detect_order_list(void); -static int php_mb_encoding_translation(TSRMLS_D); +static int php_mb_encoding_translation(void); -static void php_mb_gpc_get_detect_order(const zend_encoding ***list, size_t *list_size TSRMLS_DC); +static void php_mb_gpc_get_detect_order(const zend_encoding ***list, size_t *list_size); -static void php_mb_gpc_set_input_encoding(const zend_encoding *encoding TSRMLS_DC); +static void php_mb_gpc_set_input_encoding(const zend_encoding *encoding); /* }}} */ @@ -205,13 +204,6 @@ static const struct mb_overload_def mb_ovld[] = { {MB_OVERLOAD_STRING, "strtolower", "mb_strtolower", "mb_orig_strtolower"}, {MB_OVERLOAD_STRING, "strtoupper", "mb_strtoupper", "mb_orig_strtoupper"}, {MB_OVERLOAD_STRING, "substr_count", "mb_substr_count", "mb_orig_substr_count"}, -#if HAVE_MBREGEX - {MB_OVERLOAD_REGEX, "ereg", "mb_ereg", "mb_orig_ereg"}, - {MB_OVERLOAD_REGEX, "eregi", "mb_eregi", "mb_orig_eregi"}, - {MB_OVERLOAD_REGEX, "ereg_replace", "mb_ereg_replace", "mb_orig_ereg_replace"}, - {MB_OVERLOAD_REGEX, "eregi_replace", "mb_eregi_replace", "mb_orig_eregi_replace"}, - {MB_OVERLOAD_REGEX, "split", "mb_split", "mb_orig_split"}, -#endif {0, NULL, NULL, NULL} }; /* }}} */ @@ -580,7 +572,7 @@ zend_module_entry mbstring_module_entry = { PHP_RINIT(mbstring), PHP_RSHUTDOWN(mbstring), PHP_MINFO(mbstring), - NO_VERSION_YET, + PHP_MBSTRING_VERSION, PHP_MODULE_GLOBALS(mbstring), PHP_GINIT(mbstring), PHP_GSHUTDOWN(mbstring), @@ -598,10 +590,13 @@ static sapi_post_entry php_post_entries[] = { /* }}} */ #ifdef COMPILE_DL_MBSTRING +#ifdef ZTS +ZEND_TSRMLS_CACHE_DEFINE() +#endif ZEND_GET_MODULE(mbstring) #endif -static char *get_internal_encoding(TSRMLS_D) { +static char *get_internal_encoding(void) { if (PG(internal_encoding) && PG(internal_encoding)[0]) { return PG(internal_encoding); } else if (SG(default_charset)) { @@ -610,7 +605,7 @@ static char *get_internal_encoding(TSRMLS_D) { return ""; } -static char *get_input_encoding(TSRMLS_D) { +static char *get_input_encoding(void) { if (PG(input_encoding) && PG(input_encoding)[0]) { return PG(input_encoding); } else if (SG(default_charset)) { @@ -619,7 +614,7 @@ static char *get_input_encoding(TSRMLS_D) { return ""; } -static char *get_output_encoding(TSRMLS_D) { +static char *get_output_encoding(void) { if (PG(output_encoding) && PG(output_encoding)[0]) { return PG(output_encoding); } else if (SG(default_charset)) { @@ -690,7 +685,7 @@ static sapi_post_entry mbstr_post_entries[] = { * of parsed encodings. */ static int -php_mb_parse_encoding_list(const char *value, size_t value_length, const mbfl_encoding ***return_list, size_t *return_size, int persistent TSRMLS_DC) +php_mb_parse_encoding_list(const char *value, size_t value_length, const mbfl_encoding ***return_list, size_t *return_size, int persistent) { int size, bauto, ret = SUCCESS; size_t n; @@ -721,7 +716,7 @@ php_mb_parse_encoding_list(const char *value, size_t value_length, const mbfl_en endp = tmpstr + value_length; n = 1; p1 = tmpstr; - while ((p2 = php_memnstr(p1, ",", 1, endp)) != NULL) { + while ((p2 = (char*)php_memnstr(p1, ",", 1, endp)) != NULL) { p1 = p2 + 1; n++; } @@ -734,7 +729,7 @@ php_mb_parse_encoding_list(const char *value, size_t value_length, const mbfl_en bauto = 0; p1 = tmpstr; do { - p2 = p = php_memnstr(p1, ",", 1, endp); + p2 = p = (char*)php_memnstr(p1, ",", 1, endp); if (p == NULL) { p = endp; } @@ -809,9 +804,9 @@ php_mb_parse_encoding_list(const char *value, size_t value_length, const mbfl_en * of parsed encodings. */ static int -php_mb_parse_encoding_array(zval *array, const mbfl_encoding ***return_list, size_t *return_size, int persistent TSRMLS_DC) +php_mb_parse_encoding_array(zval *array, const mbfl_encoding ***return_list, size_t *return_size, int persistent) { - zval **hash_entry; + zval *hash_entry; HashTable *target_hash; int i, n, size, bauto, ret = SUCCESS; const mbfl_encoding **list, **entry; @@ -819,7 +814,6 @@ php_mb_parse_encoding_array(zval *array, const mbfl_encoding ***return_list, siz list = NULL; if (Z_TYPE_P(array) == IS_ARRAY) { target_hash = Z_ARRVAL_P(array); - zend_hash_internal_pointer_reset(target_hash); i = zend_hash_num_elements(target_hash); size = i + MBSTRG(default_detect_order_list_size); list = (const mbfl_encoding **)pecalloc(size, sizeof(mbfl_encoding*), persistent); @@ -827,12 +821,9 @@ php_mb_parse_encoding_array(zval *array, const mbfl_encoding ***return_list, siz entry = list; bauto = 0; n = 0; - while (i > 0) { - if (zend_hash_get_current_data(target_hash, (void **) &hash_entry) == FAILURE) { - break; - } + ZEND_HASH_FOREACH_VAL(target_hash, hash_entry) { convert_to_string_ex(hash_entry); - if (strcasecmp(Z_STRVAL_PP(hash_entry), "auto") == 0) { + if (strcasecmp(Z_STRVAL_P(hash_entry), "auto") == 0) { if (!bauto) { const enum mbfl_no_encoding *src = MBSTRG(default_detect_order_list); const size_t identify_list_size = MBSTRG(default_detect_order_list_size); @@ -845,7 +836,7 @@ php_mb_parse_encoding_array(zval *array, const mbfl_encoding ***return_list, siz } } } else { - const mbfl_encoding *encoding = mbfl_name2encoding(Z_STRVAL_PP(hash_entry)); + const mbfl_encoding *encoding = mbfl_name2encoding(Z_STRVAL_P(hash_entry)); if (encoding) { *entry++ = encoding; n++; @@ -853,9 +844,8 @@ php_mb_parse_encoding_array(zval *array, const mbfl_encoding ***return_list, siz ret = FAILURE; } } - zend_hash_move_forward(target_hash); i--; - } + } ZEND_HASH_FOREACH_END(); if (n > 0) { if (return_list) { *return_list = list; @@ -888,7 +878,7 @@ php_mb_parse_encoding_array(zval *array, const mbfl_encoding ***return_list, siz /* }}} */ /* {{{ zend_multibyte interface */ -static const zend_encoding* php_mb_zend_encoding_fetcher(const char *encoding_name TSRMLS_DC) +static const zend_encoding* php_mb_zend_encoding_fetcher(const char *encoding_name) { return (const zend_encoding*)mbfl_name2encoding(encoding_name); } @@ -910,7 +900,7 @@ static int php_mb_zend_encoding_lexer_compatibility_checker(const zend_encoding return 0; } -static const zend_encoding *php_mb_zend_encoding_detector(const unsigned char *arg_string, size_t arg_length, const zend_encoding **list, size_t list_size TSRMLS_DC) +static const zend_encoding *php_mb_zend_encoding_detector(const unsigned char *arg_string, size_t arg_length, const zend_encoding **list, size_t list_size) { mbfl_string string; @@ -926,7 +916,7 @@ static const zend_encoding *php_mb_zend_encoding_detector(const unsigned char *a return (const zend_encoding *) mbfl_identify_encoding2(&string, (const mbfl_encoding **)list, list_size, 0); } -static size_t php_mb_zend_encoding_converter(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length, const zend_encoding *encoding_to, const zend_encoding *encoding_from TSRMLS_DC) +static size_t php_mb_zend_encoding_converter(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length, const zend_encoding *encoding_to, const zend_encoding *encoding_from) { mbfl_string string, result; mbfl_buffer_converter *convd; @@ -970,17 +960,17 @@ static size_t php_mb_zend_encoding_converter(unsigned char **to, size_t *to_leng return loc; } -static int php_mb_zend_encoding_list_parser(const char *encoding_list, size_t encoding_list_len, const zend_encoding ***return_list, size_t *return_size, int persistent TSRMLS_DC) +static int php_mb_zend_encoding_list_parser(const char *encoding_list, size_t encoding_list_len, const zend_encoding ***return_list, size_t *return_size, int persistent) { - return php_mb_parse_encoding_list(encoding_list, encoding_list_len, (const mbfl_encoding ***)return_list, return_size, persistent TSRMLS_CC); + return php_mb_parse_encoding_list(encoding_list, encoding_list_len, (const mbfl_encoding ***)return_list, return_size, persistent); } -static const zend_encoding *php_mb_zend_internal_encoding_getter(TSRMLS_D) +static const zend_encoding *php_mb_zend_internal_encoding_getter(void) { return (const zend_encoding *)MBSTRG(internal_encoding); } -static int php_mb_zend_internal_encoding_setter(const zend_encoding *encoding TSRMLS_DC) +static int php_mb_zend_internal_encoding_setter(const zend_encoding *encoding) { MBSTRG(internal_encoding) = (const mbfl_encoding *)encoding; return SUCCESS; @@ -999,13 +989,13 @@ static zend_multibyte_functions php_mb_zend_multibyte_functions = { }; /* }}} */ -static void *_php_mb_compile_regex(const char *pattern TSRMLS_DC); +static void *_php_mb_compile_regex(const char *pattern); static int _php_mb_match_regex(void *opaque, const char *str, size_t str_len); static void _php_mb_free_regex(void *opaque); #if HAVE_ONIG /* {{{ _php_mb_compile_regex */ -static void *_php_mb_compile_regex(const char *pattern TSRMLS_DC) +static void *_php_mb_compile_regex(const char *pattern) { php_mb_regex_t *retval; OnigErrorInfo err_info; @@ -1018,7 +1008,7 @@ static void *_php_mb_compile_regex(const char *pattern TSRMLS_DC) ONIG_ENCODING_ASCII, &OnigSyntaxPerl, &err_info))) { OnigUChar err_str[ONIG_MAX_ERROR_MESSAGE_LEN]; onig_error_code_to_str(err_str, err_code, err_info); - php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s: %s", pattern, err_str); + php_error_docref(NULL, E_WARNING, "%s: %s", pattern, err_str); retval = NULL; } return retval; @@ -1042,7 +1032,7 @@ static void _php_mb_free_regex(void *opaque) /* }}} */ #elif HAVE_PCRE || HAVE_BUNDLED_PCRE /* {{{ _php_mb_compile_regex */ -static void *_php_mb_compile_regex(const char *pattern TSRMLS_DC) +static void *_php_mb_compile_regex(const char *pattern) { pcre *retval; const char *err_str; @@ -1050,7 +1040,7 @@ static void *_php_mb_compile_regex(const char *pattern TSRMLS_DC) if (!(retval = pcre_compile(pattern, PCRE_CASELESS, &err_str, &err_offset, NULL))) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s (offset=%d): %s", pattern, err_offset, err_str); + php_error_docref(NULL, E_WARNING, "%s (offset=%d): %s", pattern, err_offset, err_str); } return retval; } @@ -1091,7 +1081,7 @@ static int php_mb_nls_get_default_detect_order_list(enum mbfl_no_language lang, } /* }}} */ -static char *php_mb_rfc1867_substring_conf(const zend_encoding *encoding, char *start, int len, char quote TSRMLS_DC) +static char *php_mb_rfc1867_substring_conf(const zend_encoding *encoding, char *start, int len, char quote) { char *result = emalloc(len + 2); char *resp = result; @@ -1114,7 +1104,7 @@ static char *php_mb_rfc1867_substring_conf(const zend_encoding *encoding, char * return result; } -static char *php_mb_rfc1867_getword(const zend_encoding *encoding, char **line, char stop TSRMLS_DC) /* {{{ */ +static char *php_mb_rfc1867_getword(const zend_encoding *encoding, char **line, char stop) /* {{{ */ { char *pos = *line, quote; char *res; @@ -1154,7 +1144,7 @@ static char *php_mb_rfc1867_getword(const zend_encoding *encoding, char **line, } /* }}} */ -static char *php_mb_rfc1867_getword_conf(const zend_encoding *encoding, char *str TSRMLS_DC) /* {{{ */ +static char *php_mb_rfc1867_getword_conf(const zend_encoding *encoding, char *str) /* {{{ */ { while (*str && isspace(*(unsigned char *)str)) { ++str; @@ -1168,19 +1158,19 @@ static char *php_mb_rfc1867_getword_conf(const zend_encoding *encoding, char *st char quote = *str; str++; - return php_mb_rfc1867_substring_conf(encoding, str, strlen(str), quote TSRMLS_CC); + return php_mb_rfc1867_substring_conf(encoding, str, strlen(str), quote); } else { char *strend = str; while (*strend && !isspace(*(unsigned char *)strend)) { ++strend; } - return php_mb_rfc1867_substring_conf(encoding, str, strend - str, 0 TSRMLS_CC); + return php_mb_rfc1867_substring_conf(encoding, str, strend - str, 0); } } /* }}} */ -static char *php_mb_rfc1867_basename(const zend_encoding *encoding, char *filename TSRMLS_DC) /* {{{ */ +static char *php_mb_rfc1867_basename(const zend_encoding *encoding, char *filename) /* {{{ */ { char *s, *s2; const size_t filename_len = strlen(filename); @@ -1215,7 +1205,7 @@ static PHP_INI_MH(OnUpdate_mbstring_language) { enum mbfl_no_language no_language; - no_language = mbfl_name2no_language(new_value); + no_language = mbfl_name2no_language(ZSTR_VAL(new_value)); if (no_language == mbfl_no_language_invalid) { MBSTRG(language) = mbfl_no_language_neutral; return FAILURE; @@ -1241,7 +1231,7 @@ static PHP_INI_MH(OnUpdate_mbstring_detect_order) return SUCCESS; } - if (FAILURE == php_mb_parse_encoding_list(new_value, new_value_length, &list, &size, 1 TSRMLS_CC)) { + if (FAILURE == php_mb_parse_encoding_list(ZSTR_VAL(new_value), ZSTR_LEN(new_value), &list, &size, 1)) { return FAILURE; } @@ -1260,11 +1250,11 @@ static PHP_INI_MH(OnUpdate_mbstring_http_input) const mbfl_encoding **list; size_t size; - if (!new_value || !new_value_length) { + if (!new_value || !ZSTR_VAL(new_value)) { if (MBSTRG(http_input_list)) { pefree(MBSTRG(http_input_list), 1); } - if (SUCCESS == php_mb_parse_encoding_list(get_input_encoding(TSRMLS_C), strlen(get_input_encoding(TSRMLS_C))+1, &list, &size, 1 TSRMLS_CC)) { + if (SUCCESS == php_mb_parse_encoding_list(get_input_encoding(), strlen(get_input_encoding())+1, &list, &size, 1)) { MBSTRG(http_input_list) = list; MBSTRG(http_input_list_size) = size; return SUCCESS; @@ -1274,7 +1264,7 @@ static PHP_INI_MH(OnUpdate_mbstring_http_input) return SUCCESS; } - if (FAILURE == php_mb_parse_encoding_list(new_value, new_value_length, &list, &size, 1 TSRMLS_CC)) { + if (FAILURE == php_mb_parse_encoding_list(ZSTR_VAL(new_value), ZSTR_LEN(new_value), &list, &size, 1)) { return FAILURE; } @@ -1285,7 +1275,7 @@ static PHP_INI_MH(OnUpdate_mbstring_http_input) MBSTRG(http_input_list_size) = size; if (stage & (PHP_INI_STAGE_ACTIVATE | PHP_INI_STAGE_RUNTIME)) { - php_error_docref("ref.mbstring" TSRMLS_CC, E_DEPRECATED, "Use of mbstring.http_input is deprecated"); + php_error_docref("ref.mbstring", E_DEPRECATED, "Use of mbstring.http_input is deprecated"); } return SUCCESS; @@ -1297,15 +1287,15 @@ static PHP_INI_MH(OnUpdate_mbstring_http_output) { const mbfl_encoding *encoding; - if (new_value == NULL || new_value_length == 0) { - encoding = mbfl_name2encoding(get_output_encoding(TSRMLS_C)); + if (new_value == NULL || ZSTR_LEN(new_value) == 0) { + encoding = mbfl_name2encoding(get_output_encoding()); if (!encoding) { MBSTRG(http_output_encoding) = &mbfl_encoding_pass; MBSTRG(current_http_output_encoding) = &mbfl_encoding_pass; return SUCCESS; } } else { - encoding = mbfl_name2encoding(new_value); + encoding = mbfl_name2encoding(ZSTR_VAL(new_value)); if (!encoding) { MBSTRG(http_output_encoding) = &mbfl_encoding_pass; MBSTRG(current_http_output_encoding) = &mbfl_encoding_pass; @@ -1316,7 +1306,7 @@ static PHP_INI_MH(OnUpdate_mbstring_http_output) MBSTRG(current_http_output_encoding) = encoding; if (stage & (PHP_INI_STAGE_ACTIVATE | PHP_INI_STAGE_RUNTIME)) { - php_error_docref("ref.mbstring" TSRMLS_CC, E_DEPRECATED, "Use of mbstring.http_output is deprecated"); + php_error_docref("ref.mbstring", E_DEPRECATED, "Use of mbstring.http_output is deprecated"); } return SUCCESS; @@ -1324,7 +1314,7 @@ static PHP_INI_MH(OnUpdate_mbstring_http_output) /* }}} */ /* {{{ static _php_mb_ini_mbstring_internal_encoding_set */ -int _php_mb_ini_mbstring_internal_encoding_set(const char *new_value, uint new_value_length TSRMLS_DC) +int _php_mb_ini_mbstring_internal_encoding_set(const char *new_value, uint new_value_length) { const mbfl_encoding *encoding; @@ -1337,12 +1327,12 @@ int _php_mb_ini_mbstring_internal_encoding_set(const char *new_value, uint new_v #if HAVE_MBREGEX { const char *enc_name = new_value; - if (FAILURE == php_mb_regex_set_default_mbctype(enc_name TSRMLS_CC)) { + if (FAILURE == php_mb_regex_set_default_mbctype(enc_name)) { /* falls back to UTF-8 if an unknown encoding name is given */ enc_name = "UTF-8"; - php_mb_regex_set_default_mbctype(enc_name TSRMLS_CC); + php_mb_regex_set_default_mbctype(enc_name); } - php_mb_regex_set_mbctype(new_value TSRMLS_CC); + php_mb_regex_set_mbctype(new_value); } #endif return SUCCESS; @@ -1353,18 +1343,18 @@ int _php_mb_ini_mbstring_internal_encoding_set(const char *new_value, uint new_v static PHP_INI_MH(OnUpdate_mbstring_internal_encoding) { if (stage & (PHP_INI_STAGE_ACTIVATE | PHP_INI_STAGE_RUNTIME)) { - php_error_docref("ref.mbstring" TSRMLS_CC, E_DEPRECATED, "Use of mbstring.internal_encoding is deprecated"); + php_error_docref("ref.mbstring", E_DEPRECATED, "Use of mbstring.internal_encoding is deprecated"); } - if (OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC) == FAILURE) { + if (OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage) == FAILURE) { return FAILURE; } if (stage & (PHP_INI_STAGE_STARTUP | PHP_INI_STAGE_SHUTDOWN | PHP_INI_STAGE_RUNTIME)) { - if (new_value && new_value_length) { - return _php_mb_ini_mbstring_internal_encoding_set(new_value, new_value_length TSRMLS_CC); + if (new_value && ZSTR_LEN(new_value)) { + return _php_mb_ini_mbstring_internal_encoding_set(ZSTR_VAL(new_value), ZSTR_LEN(new_value)); } else { - return _php_mb_ini_mbstring_internal_encoding_set(get_internal_encoding(TSRMLS_C), strlen(get_internal_encoding(TSRMLS_C))+1 TSRMLS_CC); + return _php_mb_ini_mbstring_internal_encoding_set(get_internal_encoding(), strlen(get_internal_encoding())+1); } } else { /* the corresponding mbstring globals needs to be set according to the @@ -1385,20 +1375,20 @@ static PHP_INI_MH(OnUpdate_mbstring_substitute_character) char *endptr = NULL; if (new_value != NULL) { - if (strcasecmp("none", new_value) == 0) { + if (strcasecmp("none", ZSTR_VAL(new_value)) == 0) { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE; MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE; - } else if (strcasecmp("long", new_value) == 0) { + } else if (strcasecmp("long", ZSTR_VAL(new_value)) == 0) { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG; MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG; - } else if (strcasecmp("entity", new_value) == 0) { + } else if (strcasecmp("entity", ZSTR_VAL(new_value)) == 0) { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY; MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY; } else { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; - if (new_value_length >0) { - c = strtol(new_value, &endptr, 0); + if (ZSTR_LEN(new_value) > 0) { + c = strtol(ZSTR_VAL(new_value), &endptr, 0); if (*endptr == '\0') { MBSTRG(filter_illegal_substchar) = c; MBSTRG(current_filter_illegal_substchar) = c; @@ -1423,14 +1413,14 @@ static PHP_INI_MH(OnUpdate_mbstring_encoding_translation) return FAILURE; } - OnUpdateBool(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + OnUpdateBool(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage); if (MBSTRG(encoding_translation)) { - sapi_unregister_post_entry(php_post_entries TSRMLS_CC); - sapi_register_post_entries(mbstr_post_entries TSRMLS_CC); + sapi_unregister_post_entry(php_post_entries); + sapi_register_post_entries(mbstr_post_entries); } else { - sapi_unregister_post_entry(mbstr_post_entries TSRMLS_CC); - sapi_register_post_entries(php_post_entries TSRMLS_CC); + sapi_unregister_post_entry(mbstr_post_entries); + sapi_register_post_entries(php_post_entries); } return SUCCESS; @@ -1440,18 +1430,17 @@ static PHP_INI_MH(OnUpdate_mbstring_encoding_translation) /* {{{ static PHP_INI_MH(OnUpdate_mbstring_http_output_conv_mimetypes */ static PHP_INI_MH(OnUpdate_mbstring_http_output_conv_mimetypes) { - zval tmp; + zend_string *tmp; void *re = NULL; if (!new_value) { new_value = entry->orig_value; - new_value_length = entry->orig_value_length; } - php_trim(new_value, new_value_length, NULL, 0, &tmp, 3 TSRMLS_CC); + tmp = php_trim(new_value, NULL, 0, 3); - if (Z_STRLEN(tmp) > 0) { - if (!(re = _php_mb_compile_regex(Z_STRVAL(tmp) TSRMLS_CC))) { - zval_dtor(&tmp); + if (ZSTR_LEN(tmp) > 0) { + if (!(re = _php_mb_compile_regex(ZSTR_VAL(tmp)))) { + zend_string_release(tmp); return FAILURE; } } @@ -1462,7 +1451,7 @@ static PHP_INI_MH(OnUpdate_mbstring_http_output_conv_mimetypes) MBSTRG(http_output_conv_mimetypes) = re; - zval_dtor(&tmp); + zend_string_release(tmp); return SUCCESS; } /* }}} */ @@ -1498,6 +1487,10 @@ PHP_INI_END() /* {{{ module global initialize handler */ static PHP_GINIT_FUNCTION(mbstring) { +#if defined(COMPILE_DL_MBSTRING) && defined(ZTS) +ZEND_TSRMLS_CACHE_UPDATE(); +#endif + mbstring_globals->language = mbfl_no_language_uni; mbstring_globals->internal_encoding = NULL; mbstring_globals->current_internal_encoding = mbstring_globals->internal_encoding; @@ -1527,7 +1520,7 @@ static PHP_GINIT_FUNCTION(mbstring) mbstring_globals->outconv = NULL; mbstring_globals->http_output_conv_mimetypes = NULL; #if HAVE_MBREGEX - mbstring_globals->mb_regex_globals = php_mb_regex_globals_alloc(TSRMLS_C); + mbstring_globals->mb_regex_globals = php_mb_regex_globals_alloc(); #endif } /* }}} */ @@ -1545,7 +1538,7 @@ static PHP_GSHUTDOWN_FUNCTION(mbstring) _php_mb_free_regex(mbstring_globals->http_output_conv_mimetypes); } #if HAVE_MBREGEX - php_mb_regex_globals_free(mbstring_globals->mb_regex_globals TSRMLS_CC); + php_mb_regex_globals_free(mbstring_globals->mb_regex_globals); #endif } /* }}} */ @@ -1553,16 +1546,19 @@ static PHP_GSHUTDOWN_FUNCTION(mbstring) /* {{{ PHP_MINIT_FUNCTION(mbstring) */ PHP_MINIT_FUNCTION(mbstring) { +#if defined(COMPILE_DL_MBSTRING) && defined(ZTS) +ZEND_TSRMLS_CACHE_UPDATE(); +#endif __mbfl_allocators = &_php_mb_allocators; REGISTER_INI_ENTRIES(); /* This is a global handler. Should not be set in a per-request handler. */ - sapi_register_treat_data(mbstr_treat_data TSRMLS_CC); + sapi_register_treat_data(mbstr_treat_data); /* Post handlers are stored in the thread-local context. */ if (MBSTRG(encoding_translation)) { - sapi_register_post_entries(mbstr_post_entries TSRMLS_CC); + sapi_register_post_entries(mbstr_post_entries); } REGISTER_LONG_CONSTANT("MB_OVERLOAD_MAIL", MB_OVERLOAD_MAIL, CONST_CS | CONST_PERSISTENT); @@ -1577,7 +1573,7 @@ PHP_MINIT_FUNCTION(mbstring) PHP_MINIT(mb_regex) (INIT_FUNC_ARGS_PASSTHRU); #endif - if (FAILURE == zend_multibyte_set_functions(&php_mb_zend_multibyte_functions TSRMLS_CC)) { + if (FAILURE == zend_multibyte_set_functions(&php_mb_zend_multibyte_functions)) { return FAILURE; } @@ -1619,30 +1615,33 @@ PHP_RINIT_FUNCTION(mbstring) MBSTRG(illegalchars) = 0; - php_mb_populate_current_detect_order_list(TSRMLS_C); + php_mb_populate_current_detect_order_list(); /* override original function. */ if (MBSTRG(func_overload)){ p = &(mb_ovld[0]); + CG(compiler_options) |= ZEND_COMPILE_NO_BUILTIN_STRLEN; while (p->type > 0) { if ((MBSTRG(func_overload) & p->type) == p->type && - zend_hash_find(EG(function_table), p->save_func, - strlen(p->save_func)+1, (void **)&orig) != SUCCESS) { - - zend_hash_find(EG(function_table), p->ovld_func, strlen(p->ovld_func)+1 , (void **)&func); + !zend_hash_str_exists(EG(function_table), p->save_func, strlen(p->save_func)) + ) { + func = zend_hash_str_find_ptr(EG(function_table), p->ovld_func, strlen(p->ovld_func)); - if (zend_hash_find(EG(function_table), p->orig_func, strlen(p->orig_func)+1, (void **)&orig) != SUCCESS) { - php_error_docref("ref.mbstring" TSRMLS_CC, E_WARNING, "mbstring couldn't find function %s.", p->orig_func); + if ((orig = zend_hash_str_find_ptr(EG(function_table), p->orig_func, strlen(p->orig_func))) == NULL) { + php_error_docref("ref.mbstring", E_WARNING, "mbstring couldn't find function %s.", p->orig_func); return FAILURE; } else { - zend_hash_add(EG(function_table), p->save_func, strlen(p->save_func)+1, orig, sizeof(zend_function), NULL); + ZEND_ASSERT(orig->type == ZEND_INTERNAL_FUNCTION); + zend_hash_str_add_mem(EG(function_table), p->save_func, strlen(p->save_func), orig, sizeof(zend_internal_function)); + function_add_ref(orig); - if (zend_hash_update(EG(function_table), p->orig_func, strlen(p->orig_func)+1, func, sizeof(zend_function), - NULL) == FAILURE) { - php_error_docref("ref.mbstring" TSRMLS_CC, E_WARNING, "mbstring couldn't replace function %s.", p->orig_func); + if (zend_hash_str_update_mem(EG(function_table), p->orig_func, strlen(p->orig_func), func, sizeof(zend_internal_function)) == NULL) { + php_error_docref("ref.mbstring", E_WARNING, "mbstring couldn't replace function %s.", p->orig_func); return FAILURE; } + + function_add_ref(func); } } p++; @@ -1651,7 +1650,7 @@ PHP_RINIT_FUNCTION(mbstring) #if HAVE_MBREGEX PHP_RINIT(mb_regex) (INIT_FUNC_ARGS_PASSTHRU); #endif - zend_multibyte_set_internal_encoding((const zend_encoding *)MBSTRG(internal_encoding) TSRMLS_CC); + zend_multibyte_set_internal_encoding((const zend_encoding *)MBSTRG(internal_encoding)); return SUCCESS; } @@ -1686,14 +1685,15 @@ PHP_RSHUTDOWN_FUNCTION(mbstring) p = &(mb_ovld[0]); while (p->type > 0) { if ((MBSTRG(func_overload) & p->type) == p->type && - zend_hash_find(EG(function_table), p->save_func, - strlen(p->save_func)+1, (void **)&orig) == SUCCESS) { + (orig = zend_hash_str_find_ptr(EG(function_table), p->save_func, strlen(p->save_func)))) { - zend_hash_update(EG(function_table), p->orig_func, strlen(p->orig_func)+1, orig, sizeof(zend_function), NULL); - zend_hash_del(EG(function_table), p->save_func, strlen(p->save_func)+1); + zend_hash_str_update_mem(EG(function_table), p->orig_func, strlen(p->orig_func), orig, sizeof(zend_internal_function)); + function_add_ref(orig); + zend_hash_str_del(EG(function_table), p->save_func, strlen(p->save_func)); } p++; } + CG(compiler_options) &= ~ZEND_COMPILE_NO_BUILTIN_STRLEN; } #if HAVE_MBREGEX @@ -1716,6 +1716,13 @@ PHP_MINFO_FUNCTION(mbstring) snprintf(tmp, sizeof(tmp), "%d.%d.%d", MBFL_VERSION_MAJOR, MBFL_VERSION_MINOR, MBFL_VERSION_TEENY); php_info_print_table_row(2, "libmbfl version", tmp); } +#if HAVE_ONIG + { + char tmp[256]; + snprintf(tmp, sizeof(tmp), "%d.%d.%d", ONIGURUMA_VERSION_MAJOR, ONIGURUMA_VERSION_MINOR, ONIGURUMA_VERSION_TEENY); + php_info_print_table_row(2, "oniguruma version", tmp); + } +#endif php_info_print_table_end(); php_info_print_table_start(); @@ -1734,23 +1741,22 @@ PHP_MINFO_FUNCTION(mbstring) Sets the current language or Returns the current language as a string */ PHP_FUNCTION(mb_language) { - char *name = NULL; - int name_len = 0; + zend_string *name = NULL; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &name, &name_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|S", &name) == FAILURE) { return; } if (name == NULL) { - RETVAL_STRING((char *)mbfl_no_language2name(MBSTRG(language)), 1); + RETVAL_STRING((char *)mbfl_no_language2name(MBSTRG(language))); } else { - if (FAILURE == zend_alter_ini_entry( - "mbstring.language", sizeof("mbstring.language"), - name, name_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown language \"%s\"", name); + zend_string *ini_name = zend_string_init("mbstring.language", sizeof("mbstring.language") - 1, 0); + if (FAILURE == zend_alter_ini_entry(ini_name, name, PHP_INI_USER, PHP_INI_STAGE_RUNTIME)) { + php_error_docref(NULL, E_WARNING, "Unknown language \"%s\"", ZSTR_VAL(name)); RETVAL_FALSE; } else { RETVAL_TRUE; } + zend_string_release(ini_name); } } /* }}} */ @@ -1760,23 +1766,23 @@ PHP_FUNCTION(mb_language) PHP_FUNCTION(mb_internal_encoding) { const char *name = NULL; - int name_len; + size_t name_len; const mbfl_encoding *encoding; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &name, &name_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &name, &name_len) == FAILURE) { + return; } if (name == NULL) { name = MBSTRG(current_internal_encoding) ? MBSTRG(current_internal_encoding)->name: NULL; if (name != NULL) { - RETURN_STRING(name, 1); + RETURN_STRING(name); } else { RETURN_FALSE; } } else { encoding = mbfl_name2encoding(name); if (!encoding) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", name); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", name); RETURN_FALSE; } else { MBSTRG(current_internal_encoding) = encoding; @@ -1791,14 +1797,14 @@ PHP_FUNCTION(mb_internal_encoding) PHP_FUNCTION(mb_http_input) { char *typ = NULL; - int typ_len; + size_t typ_len; int retname; char *list, *temp; const mbfl_encoding *result = NULL; retname = 1; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &typ, &typ_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &typ, &typ_len) == FAILURE) { + return; } if (typ == NULL) { result = MBSTRG(http_input_identify); @@ -1828,7 +1834,7 @@ PHP_FUNCTION(mb_http_input) size_t i; array_init(return_value); for (i = 0; i < n; i++) { - add_next_index_string(return_value, (*entry)->name, 1); + add_next_index_string(return_value, (*entry)->name); entry++; } retname = 0; @@ -1858,7 +1864,8 @@ PHP_FUNCTION(mb_http_input) if (!list) { RETURN_FALSE; } - RETVAL_STRING(list, 0); + RETVAL_STRING(list); + efree(list); retname = 0; break; default: @@ -1869,7 +1876,7 @@ PHP_FUNCTION(mb_http_input) if (retname) { if (result) { - RETVAL_STRING(result->name, 1); + RETVAL_STRING(result->name); } else { RETVAL_FALSE; } @@ -1882,24 +1889,24 @@ PHP_FUNCTION(mb_http_input) PHP_FUNCTION(mb_http_output) { const char *name = NULL; - int name_len; + size_t name_len; const mbfl_encoding *encoding; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", (char **)&name, &name_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &name, &name_len) == FAILURE) { + return; } if (name == NULL) { name = MBSTRG(current_http_output_encoding) ? MBSTRG(current_http_output_encoding)->name: NULL; if (name != NULL) { - RETURN_STRING(name, 1); + RETURN_STRING(name); } else { RETURN_FALSE; } } else { encoding = mbfl_name2encoding(name); if (!encoding) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", name); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", name); RETURN_FALSE; } else { MBSTRG(current_http_output_encoding) = encoding; @@ -1913,9 +1920,9 @@ PHP_FUNCTION(mb_http_output) Sets the current detect_order or Return the current detect_order as a array */ PHP_FUNCTION(mb_detect_order) { - zval **arg1 = NULL; + zval *arg1 = NULL; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|Z", &arg1) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|z", &arg1) == FAILURE) { return; } @@ -1925,30 +1932,30 @@ PHP_FUNCTION(mb_detect_order) const mbfl_encoding **entry = MBSTRG(current_detect_order_list); array_init(return_value); for (i = 0; i < n; i++) { - add_next_index_string(return_value, (*entry)->name, 1); + add_next_index_string(return_value, (*entry)->name); entry++; } } else { const mbfl_encoding **list = NULL; size_t size = 0; - switch (Z_TYPE_PP(arg1)) { - case IS_ARRAY: - if (FAILURE == php_mb_parse_encoding_array(*arg1, &list, &size, 0 TSRMLS_CC)) { - if (list) { - efree(list); + switch (Z_TYPE_P(arg1)) { + case IS_ARRAY: + if (FAILURE == php_mb_parse_encoding_array(arg1, &list, &size, 0)) { + if (list) { + efree(list); + } + RETURN_FALSE; } - RETURN_FALSE; - } - break; - default: - convert_to_string_ex(arg1); - if (FAILURE == php_mb_parse_encoding_list(Z_STRVAL_PP(arg1), Z_STRLEN_PP(arg1), &list, &size, 0 TSRMLS_CC)) { - if (list) { - efree(list); + break; + default: + convert_to_string_ex(arg1); + if (FAILURE == php_mb_parse_encoding_list(Z_STRVAL_P(arg1), Z_STRLEN_P(arg1), &list, &size, 0)) { + if (list) { + efree(list); + } + RETURN_FALSE; } - RETURN_FALSE; - } - break; + break; } if (list == NULL) { @@ -1969,55 +1976,55 @@ PHP_FUNCTION(mb_detect_order) Sets the current substitute_character or returns the current substitute_character */ PHP_FUNCTION(mb_substitute_character) { - zval **arg1 = NULL; + zval *arg1 = NULL; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|Z", &arg1) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|z", &arg1) == FAILURE) { return; } if (!arg1) { if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) { - RETURN_STRING("none", 1); + RETURN_STRING("none"); } else if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG) { - RETURN_STRING("long", 1); + RETURN_STRING("long"); } else if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY) { - RETURN_STRING("entity", 1); + RETURN_STRING("entity"); } else { RETURN_LONG(MBSTRG(current_filter_illegal_substchar)); } } else { RETVAL_TRUE; - switch (Z_TYPE_PP(arg1)) { - case IS_STRING: - if (strncasecmp("none", Z_STRVAL_PP(arg1), Z_STRLEN_PP(arg1)) == 0) { - MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE; - } else if (strncasecmp("long", Z_STRVAL_PP(arg1), Z_STRLEN_PP(arg1)) == 0) { - MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG; - } else if (strncasecmp("entity", Z_STRVAL_PP(arg1), Z_STRLEN_PP(arg1)) == 0) { - MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY; - } else { - convert_to_long_ex(arg1); + switch (Z_TYPE_P(arg1)) { + case IS_STRING: + if (strncasecmp("none", Z_STRVAL_P(arg1), Z_STRLEN_P(arg1)) == 0) { + MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE; + } else if (strncasecmp("long", Z_STRVAL_P(arg1), Z_STRLEN_P(arg1)) == 0) { + MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG; + } else if (strncasecmp("entity", Z_STRVAL_P(arg1), Z_STRLEN_P(arg1)) == 0) { + MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY; + } else { + convert_to_long_ex(arg1); - if (Z_LVAL_PP(arg1) < 0xffff && Z_LVAL_PP(arg1) > 0x0) { + if (Z_LVAL_P(arg1) < 0xffff && Z_LVAL_P(arg1) > 0x0) { + MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; + MBSTRG(current_filter_illegal_substchar) = Z_LVAL_P(arg1); + } else { + php_error_docref(NULL, E_WARNING, "Unknown character."); + RETURN_FALSE; + } + } + break; + default: + convert_to_long_ex(arg1); + if (Z_LVAL_P(arg1) < 0xffff && Z_LVAL_P(arg1) > 0x0) { MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; - MBSTRG(current_filter_illegal_substchar) = Z_LVAL_PP(arg1); + MBSTRG(current_filter_illegal_substchar) = Z_LVAL_P(arg1); } else { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown character."); + php_error_docref(NULL, E_WARNING, "Unknown character."); RETURN_FALSE; } - } - break; - default: - convert_to_long_ex(arg1); - if (Z_LVAL_PP(arg1) < 0xffff && Z_LVAL_PP(arg1) > 0x0) { - MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; - MBSTRG(current_filter_illegal_substchar) = Z_LVAL_PP(arg1); - } else { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown character."); - RETURN_FALSE; - } - break; + break; } } } @@ -2029,22 +2036,22 @@ PHP_FUNCTION(mb_preferred_mime_name) { enum mbfl_no_encoding no_encoding; char *name = NULL; - int name_len; + size_t name_len; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &name, &name_len) == FAILURE) { return; } else { no_encoding = mbfl_name2no_encoding(name); if (no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", name); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", name); RETVAL_FALSE; } else { const char *preferred_name = mbfl_no2preferred_mime_name(no_encoding); if (preferred_name == NULL || *preferred_name == '\0') { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "No MIME preferred name corresponding to \"%s\"", name); + php_error_docref(NULL, E_WARNING, "No MIME preferred name corresponding to \"%s\"", name); RETVAL_FALSE; } else { - RETVAL_STRING((char *)preferred_name, 1); + RETVAL_STRING((char *)preferred_name); } } } @@ -2060,12 +2067,12 @@ PHP_FUNCTION(mb_parse_str) { zval *track_vars_array = NULL; char *encstr = NULL; - int encstr_len; + size_t encstr_len; php_mb_encoding_handler_info_t info; const mbfl_encoding *detected; track_vars_array = NULL; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z", &encstr, &encstr_len, &track_vars_array) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|z/", &encstr, &encstr_len, &track_vars_array) == FAILURE) { return; } @@ -2087,14 +2094,13 @@ PHP_FUNCTION(mb_parse_str) info.from_language = MBSTRG(language); if (track_vars_array != NULL) { - detected = _php_mb_encoding_handler_ex(&info, track_vars_array, encstr TSRMLS_CC); + detected = _php_mb_encoding_handler_ex(&info, track_vars_array, encstr); } else { zval tmp; - if (!EG(active_symbol_table)) { - zend_rebuild_symbol_table(TSRMLS_C); - } - Z_ARRVAL(tmp) = EG(active_symbol_table); - detected = _php_mb_encoding_handler_ex(&info, &tmp, encstr TSRMLS_CC); + zend_array *symbol_table = zend_rebuild_symbol_table(); + + ZVAL_ARR(&tmp, symbol_table); + detected = _php_mb_encoding_handler_ex(&info, &tmp, encstr); } MBSTRG(http_input_identify) = detected; @@ -2110,8 +2116,8 @@ PHP_FUNCTION(mb_parse_str) PHP_FUNCTION(mb_output_handler) { char *arg_string; - int arg_string_len; - long arg_status; + size_t arg_string_len; + zend_long arg_status; mbfl_string string, result; const char *charset; char *p; @@ -2120,7 +2126,7 @@ PHP_FUNCTION(mb_output_handler) unsigned char send_text_mimetype = 0; char *s, *mimetype = NULL; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sl", &arg_string, &arg_string_len, &arg_status) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "sl", &arg_string, &arg_string_len, &arg_status) == FAILURE) { return; } @@ -2135,7 +2141,7 @@ PHP_FUNCTION(mb_output_handler) MBSTRG(outconv) = NULL; } if (encoding == &mbfl_encoding_pass) { - RETURN_STRINGL(arg_string, arg_string_len, 1); + RETURN_STRINGL(arg_string, arg_string_len); } /* analyze mime type */ @@ -2173,7 +2179,7 @@ PHP_FUNCTION(mb_output_handler) /* just return if the converter is not activated. */ if (MBSTRG(outconv) == NULL) { - RETURN_STRINGL(arg_string, arg_string_len, 1); + RETURN_STRINGL(arg_string, arg_string_len); } /* flag */ @@ -2196,7 +2202,9 @@ PHP_FUNCTION(mb_output_handler) } /* get the converter output, and return it */ mbfl_buffer_converter_result(MBSTRG(outconv), &result); - RETVAL_STRINGL((char *)result.val, result.len, 0); /* the string is already strdup()'ed */ + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)result.val, result.len); /* the string is already strdup()'ed */ + efree(result.val); /* delete the converter if it is the last feed. */ if (last_feed) { @@ -2214,21 +2222,28 @@ PHP_FUNCTION(mb_strlen) int n; mbfl_string string; char *enc_name = NULL; - int enc_name_len; + size_t enc_name_len, string_len; mbfl_string_init(&string); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s", (char **)&string.val, &string.len, &enc_name, &enc_name_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|s", (char **)&string.val, &string_len, &enc_name, &enc_name_len) == FAILURE) { + return; + } + + if (ZEND_SIZE_T_UINT_OVFL(string_len)) { + php_error_docref(NULL, E_WARNING, "String overflows the max allowed length of %u", UINT_MAX); + return; } + string.len = (uint32_t)string_len; + string.no_language = MBSTRG(language); if (enc_name == NULL) { string.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; } else { string.no_encoding = mbfl_name2no_encoding(enc_name); if (string.no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", enc_name); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", enc_name); RETURN_FALSE; } } @@ -2247,10 +2262,10 @@ PHP_FUNCTION(mb_strlen) PHP_FUNCTION(mb_strpos) { int n, reverse = 0; - long offset; + zend_long offset = 0; mbfl_string haystack, needle; char *enc_name = NULL; - int enc_name_len; + size_t enc_name_len, haystack_len, needle_len; mbfl_string_init(&haystack); mbfl_string_init(&needle); @@ -2258,26 +2273,36 @@ PHP_FUNCTION(mb_strpos) haystack.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; needle.no_language = MBSTRG(language); needle.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; - offset = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|ls", (char **)&haystack.val, &haystack.len, (char **)&needle.val, &needle.len, &offset, &enc_name, &enc_name_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|ls", (char **)&haystack.val, &haystack_len, (char **)&needle.val, &needle_len, &offset, &enc_name, &enc_name_len) == FAILURE) { + return; } + if (ZEND_SIZE_T_UINT_OVFL(haystack_len)) { + php_error_docref(NULL, E_WARNING, "Haystack length overflows the max allowed length of %u", UINT_MAX); + return; + } else if (ZEND_SIZE_T_UINT_OVFL(needle_len)) { + php_error_docref(NULL, E_WARNING, "Needle length overflows the max allowed length of %u", UINT_MAX); + return; + } + + haystack.len = (uint32_t)haystack_len; + needle.len = (uint32_t)needle_len; + if (enc_name != NULL) { haystack.no_encoding = needle.no_encoding = mbfl_name2no_encoding(enc_name); if (haystack.no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", enc_name); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", enc_name); RETURN_FALSE; } } if (offset < 0 || offset > mbfl_strlen(&haystack)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Offset not contained in string"); + php_error_docref(NULL, E_WARNING, "Offset not contained in string"); RETURN_FALSE; } if (needle.len == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty delimiter"); + php_error_docref(NULL, E_WARNING, "Empty delimiter"); RETURN_FALSE; } @@ -2289,16 +2314,16 @@ PHP_FUNCTION(mb_strpos) case 1: break; case 2: - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Needle has not positive length"); + php_error_docref(NULL, E_WARNING, "Needle has not positive length"); break; case 4: - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding or conversion error"); + php_error_docref(NULL, E_WARNING, "Unknown encoding or conversion error"); break; case 8: - php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Argument is empty"); + php_error_docref(NULL, E_NOTICE, "Argument is empty"); break; default: - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown error in mb_strpos"); + php_error_docref(NULL, E_WARNING, "Unknown error in mb_strpos"); break; } RETVAL_FALSE; @@ -2313,8 +2338,8 @@ PHP_FUNCTION(mb_strrpos) int n; mbfl_string haystack, needle; char *enc_name = NULL; - int enc_name_len; - zval **zoffset = NULL; + size_t enc_name_len, haystack_len, needle_len; + zval *zoffset = NULL; long offset = 0, str_flg; char *enc_name2 = NULL; int enc_name_len2; @@ -2326,55 +2351,66 @@ PHP_FUNCTION(mb_strrpos) needle.no_language = MBSTRG(language); needle.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|Zs", (char **)&haystack.val, &haystack.len, (char **)&needle.val, &needle.len, &zoffset, &enc_name, &enc_name_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|zs", (char **)&haystack.val, &haystack_len, (char **)&needle.val, &needle_len, &zoffset, &enc_name, &enc_name_len) == FAILURE) { + return; + } + + if (ZEND_SIZE_T_UINT_OVFL(haystack_len)) { + php_error_docref(NULL, E_WARNING, "Haystack length overflows the max allowed length of %u", UINT_MAX); + return; + } else if (ZEND_SIZE_T_UINT_OVFL(needle_len)) { + php_error_docref(NULL, E_WARNING, "Needle length overflows the max allowed length of %u", UINT_MAX); + return; } + haystack.len = (uint32_t)haystack_len; + needle.len = (uint32_t)needle_len; + if (zoffset) { - if (Z_TYPE_PP(zoffset) == IS_STRING) { - enc_name2 = Z_STRVAL_PP(zoffset); - enc_name_len2 = Z_STRLEN_PP(zoffset); + if (Z_TYPE_P(zoffset) == IS_STRING) { + enc_name2 = Z_STRVAL_P(zoffset); + enc_name_len2 = Z_STRLEN_P(zoffset); str_flg = 1; if (enc_name2 != NULL) { switch (*enc_name2) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case ' ': - case '-': - case '.': - break; - default : - str_flg = 0; - break; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case ' ': + case '-': + case '.': + break; + default : + str_flg = 0; + break; } } if (str_flg) { convert_to_long_ex(zoffset); - offset = Z_LVAL_PP(zoffset); + offset = Z_LVAL_P(zoffset); } else { enc_name = enc_name2; enc_name_len = enc_name_len2; } } else { convert_to_long_ex(zoffset); - offset = Z_LVAL_PP(zoffset); + offset = Z_LVAL_P(zoffset); } } if (enc_name != NULL) { haystack.no_encoding = needle.no_encoding = mbfl_name2no_encoding(enc_name); if (haystack.no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", enc_name); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", enc_name); RETURN_FALSE; } } @@ -2390,7 +2426,7 @@ PHP_FUNCTION(mb_strrpos) int haystack_char_len = mbfl_strlen(&haystack); if ((offset > 0 && offset > haystack_char_len) || (offset < 0 && -offset > haystack_char_len)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Offset is greater than the length of haystack string"); + php_error_docref(NULL, E_WARNING, "Offset is greater than the length of haystack string"); RETURN_FALSE; } } @@ -2408,22 +2444,32 @@ PHP_FUNCTION(mb_strrpos) Finds position of first occurrence of a string within another, case insensitive */ PHP_FUNCTION(mb_stripos) { - int n; - long offset; + int n = -1; + zend_long offset = 0; mbfl_string haystack, needle; const char *from_encoding = MBSTRG(current_internal_encoding)->mime_name; - int from_encoding_len; - n = -1; - offset = 0; + size_t from_encoding_len, haystack_len, needle_len; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|ls", (char **)&haystack.val, (int *)&haystack.len, (char **)&needle.val, (int *)&needle.len, &offset, &from_encoding, &from_encoding_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|ls", (char **)&haystack.val, &haystack_len, (char **)&needle.val, &needle_len, &offset, &from_encoding, &from_encoding_len) == FAILURE) { + return; } + + if (ZEND_SIZE_T_UINT_OVFL(haystack_len)) { + php_error_docref(NULL, E_WARNING, "Haystack length overflows the max allowed length of %u", UINT_MAX); + return; + } else if (ZEND_SIZE_T_UINT_OVFL(needle_len)) { + php_error_docref(NULL, E_WARNING, "Needle length overflows the max allowed length of %u", UINT_MAX); + return; + } + + haystack.len = (uint32_t)haystack_len; + needle.len = (uint32_t)needle_len; + if (needle.len == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty delimiter"); + php_error_docref(NULL, E_WARNING, "Empty delimiter"); RETURN_FALSE; } - n = php_mb_stripos(0, (char *)haystack.val, haystack.len, (char *)needle.val, needle.len, offset, from_encoding TSRMLS_CC); + n = php_mb_stripos(0, (char *)haystack.val, haystack.len, (char *)needle.val, needle.len, offset, from_encoding); if (n >= 0) { RETVAL_LONG(n); @@ -2437,19 +2483,28 @@ PHP_FUNCTION(mb_stripos) Finds position of last occurrence of a string within another, case insensitive */ PHP_FUNCTION(mb_strripos) { - int n; - long offset; + int n = -1; + zend_long offset = 0; mbfl_string haystack, needle; const char *from_encoding = MBSTRG(current_internal_encoding)->mime_name; - int from_encoding_len; - n = -1; - offset = 0; + size_t from_encoding_len, haystack_len, needle_len; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|ls", (char **)&haystack.val, (int *)&haystack.len, (char **)&needle.val, (int *)&needle.len, &offset, &from_encoding, &from_encoding_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|ls", (char **)&haystack.val, &haystack_len, (char **)&needle.val, &needle_len, &offset, &from_encoding, &from_encoding_len) == FAILURE) { + return; + } + + if (ZEND_SIZE_T_UINT_OVFL(haystack_len)) { + php_error_docref(NULL, E_WARNING, "Haystack length overflows the max allowed length of %u", UINT_MAX); + return; + } else if (ZEND_SIZE_T_UINT_OVFL(needle_len)) { + php_error_docref(NULL, E_WARNING, "Needle length overflows the max allowed length of %u", UINT_MAX); + return; } - n = php_mb_stripos(1, (char *)haystack.val, haystack.len, (char *)needle.val, needle.len, offset, from_encoding TSRMLS_CC); + haystack.len = (uint32_t)haystack_len; + needle.len = (uint32_t)needle_len; + + n = php_mb_stripos(1, (char *)haystack.val, haystack.len, (char *)needle.val, needle.len, offset, from_encoding); if (n >= 0) { RETVAL_LONG(n); @@ -2466,7 +2521,7 @@ PHP_FUNCTION(mb_strstr) int n, len, mblen; mbfl_string haystack, needle, result, *ret = NULL; char *enc_name = NULL; - int enc_name_len; + size_t enc_name_len, haystack_len, needle_len; zend_bool part = 0; mbfl_string_init(&haystack); @@ -2476,20 +2531,31 @@ PHP_FUNCTION(mb_strstr) needle.no_language = MBSTRG(language); needle.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|bs", (char **)&haystack.val, (int *)&haystack.len, (char **)&needle.val, (int *)&needle.len, &part, &enc_name, &enc_name_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|bs", (char **)&haystack.val, &haystack_len, (char **)&needle.val, &needle_len, &part, &enc_name, &enc_name_len) == FAILURE) { + return; + } + + if (ZEND_SIZE_T_UINT_OVFL(haystack_len)) { + php_error_docref(NULL, E_WARNING, "Haystack length overflows the max allowed length of %u", UINT_MAX); + return; + } else if (ZEND_SIZE_T_UINT_OVFL(needle_len)) { + php_error_docref(NULL, E_WARNING, "Needle length overflows the max allowed length of %u", UINT_MAX); + return; } + haystack.len = (uint32_t)haystack_len; + needle.len = (uint32_t)needle_len; + if (enc_name != NULL) { haystack.no_encoding = needle.no_encoding = mbfl_name2no_encoding(enc_name); if (haystack.no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", enc_name); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", enc_name); RETURN_FALSE; } } if (needle.len <= 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty delimiter"); + php_error_docref(NULL, E_WARNING, "Empty delimiter"); RETURN_FALSE; } n = mbfl_strpos(&haystack, &needle, 0, 0); @@ -2498,7 +2564,9 @@ PHP_FUNCTION(mb_strstr) if (part) { ret = mbfl_substr(&haystack, &result, 0, n); if (ret != NULL) { - RETVAL_STRINGL((char *)ret->val, ret->len, 0); + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)ret->val, ret->len); + efree(ret->val); } else { RETVAL_FALSE; } @@ -2506,7 +2574,9 @@ PHP_FUNCTION(mb_strstr) len = (mblen - n); ret = mbfl_substr(&haystack, &result, n, len); if (ret != NULL) { - RETVAL_STRINGL((char *)ret->val, ret->len, 0); + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)ret->val, ret->len); + efree(ret->val); } else { RETVAL_FALSE; } @@ -2524,7 +2594,7 @@ PHP_FUNCTION(mb_strrchr) int n, len, mblen; mbfl_string haystack, needle, result, *ret = NULL; char *enc_name = NULL; - int enc_name_len; + size_t enc_name_len, haystack_len, needle_len; zend_bool part = 0; mbfl_string_init(&haystack); @@ -2534,14 +2604,25 @@ PHP_FUNCTION(mb_strrchr) needle.no_language = MBSTRG(language); needle.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|bs", (char **)&haystack.val, &haystack.len, (char **)&needle.val, &needle.len, &part, &enc_name, &enc_name_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|bs", (char **)&haystack.val, &haystack_len, (char **)&needle.val, &needle_len, &part, &enc_name, &enc_name_len) == FAILURE) { + return; } + if (ZEND_SIZE_T_UINT_OVFL(haystack_len)) { + php_error_docref(NULL, E_WARNING, "Haystack length overflows the max allowed length of %u", UINT_MAX); + return; + } else if (ZEND_SIZE_T_UINT_OVFL(needle_len)) { + php_error_docref(NULL, E_WARNING, "Needle length overflows the max allowed length of %u", UINT_MAX); + return; + } + + haystack.len = (uint32_t)haystack_len; + needle.len = (uint32_t)needle_len; + if (enc_name != NULL) { haystack.no_encoding = needle.no_encoding = mbfl_name2no_encoding(enc_name); if (haystack.no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", enc_name); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", enc_name); RETURN_FALSE; } } @@ -2558,7 +2639,9 @@ PHP_FUNCTION(mb_strrchr) if (part) { ret = mbfl_substr(&haystack, &result, 0, n); if (ret != NULL) { - RETVAL_STRINGL((char *)ret->val, ret->len, 0); + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)ret->val, ret->len); + efree(ret->val); } else { RETVAL_FALSE; } @@ -2566,7 +2649,9 @@ PHP_FUNCTION(mb_strrchr) len = (mblen - n); ret = mbfl_substr(&haystack, &result, n, len); if (ret != NULL) { - RETVAL_STRINGL((char *)ret->val, ret->len, 0); + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)ret->val, ret->len); + efree(ret->val); } else { RETVAL_FALSE; } @@ -2582,7 +2667,7 @@ PHP_FUNCTION(mb_strrchr) PHP_FUNCTION(mb_stristr) { zend_bool part = 0; - unsigned int from_encoding_len, len, mblen; + size_t from_encoding_len, len, mblen, haystack_len, needle_len; int n; mbfl_string haystack, needle, result, *ret = NULL; const char *from_encoding = MBSTRG(current_internal_encoding)->mime_name; @@ -2594,22 +2679,33 @@ PHP_FUNCTION(mb_stristr) needle.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|bs", (char **)&haystack.val, &haystack.len, (char **)&needle.val, &needle.len, &part, &from_encoding, &from_encoding_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|bs", (char **)&haystack.val, &haystack_len, (char **)&needle.val, &needle_len, &part, &from_encoding, &from_encoding_len) == FAILURE) { + return; + } + + if (ZEND_SIZE_T_UINT_OVFL(haystack_len)) { + php_error_docref(NULL, E_WARNING, "Haystack length overflows the max allowed length of %u", UINT_MAX); + return; + } else if (ZEND_SIZE_T_UINT_OVFL(needle_len)) { + php_error_docref(NULL, E_WARNING, "Needle length overflows the max allowed length of %u", UINT_MAX); + return; } + haystack.len = (uint32_t)haystack_len; + needle.len = (uint32_t)needle_len; + if (!needle.len) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty delimiter"); + php_error_docref(NULL, E_WARNING, "Empty delimiter"); RETURN_FALSE; } haystack.no_encoding = needle.no_encoding = mbfl_name2no_encoding(from_encoding); if (haystack.no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", from_encoding); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", from_encoding); RETURN_FALSE; } - n = php_mb_stripos(0, (char *)haystack.val, haystack.len, (char *)needle.val, needle.len, 0, from_encoding TSRMLS_CC); + n = php_mb_stripos(0, (char *)haystack.val, haystack.len, (char *)needle.val, needle.len, 0, from_encoding); if (n <0) { RETURN_FALSE; @@ -2620,7 +2716,9 @@ PHP_FUNCTION(mb_stristr) if (part) { ret = mbfl_substr(&haystack, &result, 0, n); if (ret != NULL) { - RETVAL_STRINGL((char *)ret->val, ret->len, 0); + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)ret->val, ret->len); + efree(ret->val); } else { RETVAL_FALSE; } @@ -2628,7 +2726,9 @@ PHP_FUNCTION(mb_stristr) len = (mblen - n); ret = mbfl_substr(&haystack, &result, n, len); if (ret != NULL) { - RETVAL_STRINGL((char *)ret->val, ret->len, 0); + // TODO: avoid reallocaton ??? + RETVAL_STRINGL((char *)ret->val, ret->len); + efree(ret->val); } else { RETVAL_FALSE; } @@ -2641,7 +2741,8 @@ PHP_FUNCTION(mb_stristr) PHP_FUNCTION(mb_strrichr) { zend_bool part = 0; - int n, from_encoding_len, len, mblen; + int n, len, mblen; + size_t from_encoding_len, haystack_len, needle_len; mbfl_string haystack, needle, result, *ret = NULL; const char *from_encoding = MBSTRG(current_internal_encoding)->name; mbfl_string_init(&haystack); @@ -2652,17 +2753,28 @@ PHP_FUNCTION(mb_strrichr) needle.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|bs", (char **)&haystack.val, &haystack.len, (char **)&needle.val, &needle.len, &part, &from_encoding, &from_encoding_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|bs", (char **)&haystack.val, &haystack_len, (char **)&needle.val, &needle_len, &part, &from_encoding, &from_encoding_len) == FAILURE) { + return; + } + + if (ZEND_SIZE_T_UINT_OVFL(haystack_len)) { + php_error_docref(NULL, E_WARNING, "Haystack length overflows the max allowed length of %u", UINT_MAX); + return; + } else if (ZEND_SIZE_T_UINT_OVFL(needle_len)) { + php_error_docref(NULL, E_WARNING, "Needle length overflows the max allowed length of %u", UINT_MAX); + return; } + haystack.len = (uint32_t)haystack_len; + needle.len = (uint32_t)needle_len; + haystack.no_encoding = needle.no_encoding = mbfl_name2no_encoding(from_encoding); if (haystack.no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", from_encoding); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", from_encoding); RETURN_FALSE; } - n = php_mb_stripos(1, (char *)haystack.val, haystack.len, (char *)needle.val, needle.len, 0, from_encoding TSRMLS_CC); + n = php_mb_stripos(1, (char *)haystack.val, haystack.len, (char *)needle.val, needle.len, 0, from_encoding); if (n <0) { RETURN_FALSE; @@ -2673,7 +2785,9 @@ PHP_FUNCTION(mb_strrichr) if (part) { ret = mbfl_substr(&haystack, &result, 0, n); if (ret != NULL) { - RETVAL_STRINGL((char *)ret->val, ret->len, 0); + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)ret->val, ret->len); + efree(ret->val); } else { RETVAL_FALSE; } @@ -2681,7 +2795,9 @@ PHP_FUNCTION(mb_strrichr) len = (mblen - n); ret = mbfl_substr(&haystack, &result, n, len); if (ret != NULL) { - RETVAL_STRINGL((char *)ret->val, ret->len, 0); + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)ret->val, ret->len); + efree(ret->val); } else { RETVAL_FALSE; } @@ -2696,7 +2812,7 @@ PHP_FUNCTION(mb_substr_count) int n; mbfl_string haystack, needle; char *enc_name = NULL; - int enc_name_len; + size_t enc_name_len, haystack_len, needle_len; mbfl_string_init(&haystack); mbfl_string_init(&needle); @@ -2705,20 +2821,31 @@ PHP_FUNCTION(mb_substr_count) needle.no_language = MBSTRG(language); needle.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|s", (char **)&haystack.val, &haystack.len, (char **)&needle.val, &needle.len, &enc_name, &enc_name_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|s", (char **)&haystack.val, &haystack_len, (char **)&needle.val, &needle_len, &enc_name, &enc_name_len) == FAILURE) { return; } + if (ZEND_SIZE_T_UINT_OVFL(haystack_len)) { + php_error_docref(NULL, E_WARNING, "Haystack length overflows the max allowed length of %u", UINT_MAX); + return; + } else if (ZEND_SIZE_T_UINT_OVFL(needle_len)) { + php_error_docref(NULL, E_WARNING, "Needle length overflows the max allowed length of %u", UINT_MAX); + return; + } + + haystack.len = (uint32_t)haystack_len; + needle.len = (uint32_t)needle_len; + if (enc_name != NULL) { haystack.no_encoding = needle.no_encoding = mbfl_name2no_encoding(enc_name); if (haystack.no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", enc_name); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", enc_name); RETURN_FALSE; } } if (needle.len <= 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty substring"); + php_error_docref(NULL, E_WARNING, "Empty substring"); RETURN_FALSE; } @@ -2735,14 +2862,14 @@ PHP_FUNCTION(mb_substr_count) Returns part of a string */ PHP_FUNCTION(mb_substr) { - size_t argc = ZEND_NUM_ARGS(); - char *str, *encoding; - long from, len; - int mblen, str_len, encoding_len; - zval **z_len = NULL; + char *str, *encoding = NULL; + zend_long from, len; + int mblen; + size_t str_len, encoding_len; + zend_bool len_is_null = 1; mbfl_string string, result, *ret; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sl|Zs", &str, &str_len, &from, &z_len, &encoding, &encoding_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "sl|l!s", &str, &str_len, &from, &len, &len_is_null, &encoding, &encoding_len) == FAILURE) { return; } @@ -2750,10 +2877,10 @@ PHP_FUNCTION(mb_substr) string.no_language = MBSTRG(language); string.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; - if (argc == 4) { + if (encoding) { string.no_encoding = mbfl_name2no_encoding(encoding); if (string.no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", encoding); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", encoding); RETURN_FALSE; } } @@ -2761,11 +2888,8 @@ PHP_FUNCTION(mb_substr) string.val = (unsigned char *)str; string.len = str_len; - if (argc < 3 || Z_TYPE_PP(z_len) == IS_NULL) { + if (len_is_null) { len = str_len; - } else { - convert_to_long_ex(z_len); - len = Z_LVAL_PP(z_len); } /* measures length */ @@ -2811,7 +2935,9 @@ PHP_FUNCTION(mb_substr) RETURN_FALSE; } - RETURN_STRINGL((char *)ret->val, ret->len, 0); /* the string is already strdup()'ed */ + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)ret->val, ret->len); /* the string is already strdup()'ed */ + efree(ret->val); } /* }}} */ @@ -2819,34 +2945,37 @@ PHP_FUNCTION(mb_substr) Returns part of a string */ PHP_FUNCTION(mb_strcut) { - size_t argc = ZEND_NUM_ARGS(); - char *encoding; - long from, len; - int encoding_len; - zval **z_len = NULL; + char *encoding = NULL; + zend_long from, len; + size_t encoding_len, string_len; + zend_bool len_is_null = 1; mbfl_string string, result, *ret; mbfl_string_init(&string); string.no_language = MBSTRG(language); string.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sl|Zs", (char **)&string.val, (int **)&string.len, &from, &z_len, &encoding, &encoding_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "sl|l!s", (char **)&string.val, &string_len, &from, &len, &len_is_null, &encoding, &encoding_len) == FAILURE) { return; } - if (argc == 4) { + if (ZEND_SIZE_T_UINT_OVFL(string_len)) { + php_error_docref(NULL, E_WARNING, "String length overflows the max allowed length of %u", UINT_MAX); + return; + } + + string.len = (uint32_t)string_len; + + if (encoding) { string.no_encoding = mbfl_name2no_encoding(encoding); if (string.no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", encoding); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", encoding); RETURN_FALSE; } } - if (argc < 3 || Z_TYPE_PP(z_len) == IS_NULL) { + if (len_is_null) { len = string.len; - } else { - convert_to_long_ex(z_len); - len = Z_LVAL_PP(z_len); } /* if "from" position is negative, count start position from the end @@ -2878,7 +3007,9 @@ PHP_FUNCTION(mb_strcut) RETURN_FALSE; } - RETURN_STRINGL((char *)ret->val, ret->len, 0); /* the string is already strdup()'ed */ + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)ret->val, ret->len); /* the string is already strdup()'ed */ + efree(ret->val); } /* }}} */ @@ -2889,21 +3020,28 @@ PHP_FUNCTION(mb_strwidth) int n; mbfl_string string; char *enc_name = NULL; - int enc_name_len; + size_t enc_name_len, string_len; mbfl_string_init(&string); string.no_language = MBSTRG(language); string.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s", (char **)&string.val, &string.len, &enc_name, &enc_name_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|s", (char **)&string.val, &string_len, &enc_name, &enc_name_len) == FAILURE) { return; } + if (ZEND_SIZE_T_UINT_OVFL(string_len)) { + php_error_docref(NULL, E_WARNING, "String length overflows the max allowed length of %u", UINT_MAX); + return; + } + + string.len = (uint32_t)string_len; + if (enc_name != NULL) { string.no_encoding = mbfl_name2no_encoding(enc_name); if (string.no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", enc_name); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", enc_name); RETURN_FALSE; } } @@ -2921,12 +3059,12 @@ PHP_FUNCTION(mb_strwidth) Trim the string in terminal width */ PHP_FUNCTION(mb_strimwidth) { - char *str, *trimmarker, *encoding; - long from, width; - int str_len, trimmarker_len, encoding_len; + char *str, *trimmarker = NULL, *encoding = NULL; + zend_long from, width; + size_t str_len, trimmarker_len, encoding_len; mbfl_string string, result, marker, *ret; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sll|ss", &str, &str_len, &from, &width, &trimmarker, &trimmarker_len, &encoding, &encoding_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "sll|ss", &str, &str_len, &from, &width, &trimmarker, &trimmarker_len, &encoding, &encoding_len) == FAILURE) { return; } @@ -2939,10 +3077,10 @@ PHP_FUNCTION(mb_strimwidth) marker.val = NULL; marker.len = 0; - if (ZEND_NUM_ARGS() == 5) { + if (encoding) { string.no_encoding = marker.no_encoding = mbfl_name2no_encoding(encoding); if (string.no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", encoding); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", encoding); RETURN_FALSE; } } @@ -2950,17 +3088,17 @@ PHP_FUNCTION(mb_strimwidth) string.val = (unsigned char *)str; string.len = str_len; - if (from < 0 || from > str_len) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Start position is out of range"); + if (from < 0 || (size_t)from > str_len) { + php_error_docref(NULL, E_WARNING, "Start position is out of range"); RETURN_FALSE; } if (width < 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Width is negative value"); + php_error_docref(NULL, E_WARNING, "Width is negative value"); RETURN_FALSE; } - if (ZEND_NUM_ARGS() >= 4) { + if (trimmarker) { marker.val = (unsigned char *)trimmarker; marker.len = trimmarker_len; } @@ -2970,13 +3108,14 @@ PHP_FUNCTION(mb_strimwidth) if (ret == NULL) { RETURN_FALSE; } - - RETVAL_STRINGL((char *)ret->val, ret->len, 0); /* the string is already strdup()'ed */ + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)ret->val, ret->len); /* the string is already strdup()'ed */ + efree(ret->val); } /* }}} */ /* {{{ MBSTRING_API char *php_mb_convert_encoding() */ -MBSTRING_API char * php_mb_convert_encoding(const char *input, size_t length, const char *_to_encoding, const char *_from_encodings, size_t *output_len TSRMLS_DC) +MBSTRING_API char * php_mb_convert_encoding(const char *input, size_t length, const char *_to_encoding, const char *_from_encodings, size_t *output_len) { mbfl_string string, result, *ret; const mbfl_encoding *from_encoding, *to_encoding; @@ -2995,7 +3134,7 @@ MBSTRING_API char * php_mb_convert_encoding(const char *input, size_t length, co if (_to_encoding && strlen(_to_encoding)) { to_encoding = mbfl_name2encoding(_to_encoding); if (!to_encoding) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", _to_encoding); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", _to_encoding); return NULL; } } else { @@ -3015,7 +3154,7 @@ MBSTRING_API char * php_mb_convert_encoding(const char *input, size_t length, co if (_from_encodings) { list = NULL; size = 0; - php_mb_parse_encoding_list(_from_encodings, strlen(_from_encodings), &list, &size, 0 TSRMLS_CC); + php_mb_parse_encoding_list(_from_encodings, strlen(_from_encodings), &list, &size, 0); if (size == 1) { from_encoding = *list; string.no_encoding = from_encoding->no_encoding; @@ -3025,13 +3164,13 @@ MBSTRING_API char * php_mb_convert_encoding(const char *input, size_t length, co if (from_encoding) { string.no_encoding = from_encoding->no_encoding; } else { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to detect character encoding"); + php_error_docref(NULL, E_WARNING, "Unable to detect character encoding"); from_encoding = &mbfl_encoding_pass; to_encoding = from_encoding; string.no_encoding = from_encoding->no_encoding; } } else { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Illegal character encoding specified"); + php_error_docref(NULL, E_WARNING, "Illegal character encoding specified"); } if (list != NULL) { efree((void *)list); @@ -3041,7 +3180,7 @@ MBSTRING_API char * php_mb_convert_encoding(const char *input, size_t length, co /* initialize converter */ convd = mbfl_buffer_converter_new2(from_encoding, to_encoding, string.len); if (convd == NULL) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to create character encoding converter"); + php_error_docref(NULL, E_WARNING, "Unable to create character encoding converter"); return NULL; } mbfl_buffer_converter_illegal_mode(convd, MBSTRG(current_filter_illegal_mode)); @@ -3067,65 +3206,58 @@ MBSTRING_API char * php_mb_convert_encoding(const char *input, size_t length, co PHP_FUNCTION(mb_convert_encoding) { char *arg_str, *arg_new; - int str_len, new_len; - zval *arg_old; - int i; + size_t str_len, new_len; + zval *arg_old = NULL; size_t size, l, n; char *_from_encodings = NULL, *ret, *s_free = NULL; - zval **hash_entry; + zval *hash_entry; HashTable *target_hash; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|z", &arg_str, &str_len, &arg_new, &new_len, &arg_old) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|z", &arg_str, &str_len, &arg_new, &new_len, &arg_old) == FAILURE) { return; } - if (ZEND_NUM_ARGS() == 3) { + if (arg_old) { switch (Z_TYPE_P(arg_old)) { - case IS_ARRAY: - target_hash = Z_ARRVAL_P(arg_old); - zend_hash_internal_pointer_reset(target_hash); - i = zend_hash_num_elements(target_hash); - _from_encodings = NULL; + case IS_ARRAY: + target_hash = Z_ARRVAL_P(arg_old); + _from_encodings = NULL; - while (i > 0) { - if (zend_hash_get_current_data(target_hash, (void **) &hash_entry) == FAILURE) { - break; - } + ZEND_HASH_FOREACH_VAL(target_hash, hash_entry) { - convert_to_string_ex(hash_entry); + convert_to_string_ex(hash_entry); - if ( _from_encodings) { - l = strlen(_from_encodings); - n = strlen(Z_STRVAL_PP(hash_entry)); - _from_encodings = erealloc(_from_encodings, l+n+2); - strcpy(_from_encodings+l, ","); - strcpy(_from_encodings+l+1, Z_STRVAL_PP(hash_entry)); - } else { - _from_encodings = estrdup(Z_STRVAL_PP(hash_entry)); - } - - zend_hash_move_forward(target_hash); - i--; - } + if ( _from_encodings) { + l = strlen(_from_encodings); + n = strlen(Z_STRVAL_P(hash_entry)); + _from_encodings = erealloc(_from_encodings, l+n+2); + memcpy(_from_encodings + l, ",", 1); + memcpy(_from_encodings + l + 1, Z_STRVAL_P(hash_entry), Z_STRLEN_P(hash_entry) + 1); + } else { + _from_encodings = estrdup(Z_STRVAL_P(hash_entry)); + } + } ZEND_HASH_FOREACH_END(); - if (_from_encodings != NULL && !strlen(_from_encodings)) { - efree(_from_encodings); - _from_encodings = NULL; + if (_from_encodings != NULL && !strlen(_from_encodings)) { + efree(_from_encodings); + _from_encodings = NULL; + } + s_free = _from_encodings; + break; + default: + convert_to_string(arg_old); + _from_encodings = Z_STRVAL_P(arg_old); + break; } - s_free = _from_encodings; - break; - default: - convert_to_string(arg_old); - _from_encodings = Z_STRVAL_P(arg_old); - break; - } } /* new encoding */ - ret = php_mb_convert_encoding(arg_str, str_len, arg_new, _from_encodings, &size TSRMLS_CC); + ret = php_mb_convert_encoding(arg_str, str_len, arg_new, _from_encodings, &size); if (ret != NULL) { - RETVAL_STRINGL(ret, size, 0); /* the string is already strdup()'ed */ + // TODO: avoid reallocation ??? + RETVAL_STRINGL(ret, size); /* the string is already strdup()'ed */ + efree(ret); } else { RETVAL_FALSE; } @@ -3142,20 +3274,23 @@ PHP_FUNCTION(mb_convert_case) { const char *from_encoding = MBSTRG(current_internal_encoding)->mime_name; char *str; - int str_len, from_encoding_len; - long case_mode = 0; + size_t str_len, from_encoding_len; + zend_long case_mode = 0; char *newstr; size_t ret_len; RETVAL_FALSE; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sl|s!", &str, &str_len, - &case_mode, &from_encoding, &from_encoding_len) == FAILURE) - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "sl|s!", &str, &str_len, + &case_mode, &from_encoding, &from_encoding_len) == FAILURE) { + return; + } - newstr = php_unicode_convert_case(case_mode, str, (size_t) str_len, &ret_len, from_encoding TSRMLS_CC); + newstr = php_unicode_convert_case(case_mode, str, (size_t) str_len, &ret_len, from_encoding); if (newstr) { - RETVAL_STRINGL(newstr, ret_len, 0); + // TODO: avoid reallocation ??? + RETVAL_STRINGL(newstr, ret_len); + efree(newstr); } } /* }}} */ @@ -3167,18 +3302,21 @@ PHP_FUNCTION(mb_strtoupper) { const char *from_encoding = MBSTRG(current_internal_encoding)->mime_name; char *str; - int str_len, from_encoding_len; + size_t str_len, from_encoding_len; char *newstr; size_t ret_len; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s!", &str, &str_len, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|s!", &str, &str_len, &from_encoding, &from_encoding_len) == FAILURE) { return; } - newstr = php_unicode_convert_case(PHP_UNICODE_CASE_UPPER, str, (size_t) str_len, &ret_len, from_encoding TSRMLS_CC); + newstr = php_unicode_convert_case(PHP_UNICODE_CASE_UPPER, str, (size_t) str_len, &ret_len, from_encoding); if (newstr) { - RETURN_STRINGL(newstr, ret_len, 0); + // TODO: avoid reallocation ??? + RETVAL_STRINGL(newstr, ret_len); + efree(newstr); + return; } RETURN_FALSE; } @@ -3191,18 +3329,21 @@ PHP_FUNCTION(mb_strtolower) { const char *from_encoding = MBSTRG(current_internal_encoding)->mime_name; char *str; - int str_len, from_encoding_len; + size_t str_len, from_encoding_len; char *newstr; size_t ret_len; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s!", &str, &str_len, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|s!", &str, &str_len, &from_encoding, &from_encoding_len) == FAILURE) { return; } - newstr = php_unicode_convert_case(PHP_UNICODE_CASE_LOWER, str, (size_t) str_len, &ret_len, from_encoding TSRMLS_CC); + newstr = php_unicode_convert_case(PHP_UNICODE_CASE_LOWER, str, (size_t) str_len, &ret_len, from_encoding); if (newstr) { - RETURN_STRINGL(newstr, ret_len, 0); + // TODO: avoid reallocation ??? + RETVAL_STRINGL(newstr, ret_len); + efree(newstr); + return; } RETURN_FALSE; } @@ -3213,26 +3354,26 @@ PHP_FUNCTION(mb_strtolower) PHP_FUNCTION(mb_detect_encoding) { char *str; - int str_len; + size_t str_len; zend_bool strict=0; - zval *encoding_list; + zval *encoding_list = NULL; mbfl_string string; const mbfl_encoding *ret; const mbfl_encoding **elist, **list; size_t size; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|zb", &str, &str_len, &encoding_list, &strict) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|z!b", &str, &str_len, &encoding_list, &strict) == FAILURE) { return; } /* make encoding list */ list = NULL; size = 0; - if (ZEND_NUM_ARGS() >= 2 && !ZVAL_IS_NULL(encoding_list)) { + if (encoding_list) { switch (Z_TYPE_P(encoding_list)) { case IS_ARRAY: - if (FAILURE == php_mb_parse_encoding_array(encoding_list, &list, &size, 0 TSRMLS_CC)) { + if (FAILURE == php_mb_parse_encoding_array(encoding_list, &list, &size, 0)) { if (list) { efree(list); list = NULL; @@ -3242,7 +3383,7 @@ PHP_FUNCTION(mb_detect_encoding) break; default: convert_to_string(encoding_list); - if (FAILURE == php_mb_parse_encoding_list(Z_STRVAL_P(encoding_list), Z_STRLEN_P(encoding_list), &list, &size, 0 TSRMLS_CC)) { + if (FAILURE == php_mb_parse_encoding_list(Z_STRVAL_P(encoding_list), Z_STRLEN_P(encoding_list), &list, &size, 0)) { if (list) { efree(list); list = NULL; @@ -3252,7 +3393,7 @@ PHP_FUNCTION(mb_detect_encoding) break; } if (size <= 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Illegal argument"); + php_error_docref(NULL, E_WARNING, "Illegal argument"); } } @@ -3281,7 +3422,7 @@ PHP_FUNCTION(mb_detect_encoding) RETURN_FALSE; } - RETVAL_STRING((char *)ret->name, 1); + RETVAL_STRING((char *)ret->name); } /* }}} */ @@ -3297,7 +3438,7 @@ PHP_FUNCTION(mb_list_encodings) i = 0; encodings = mbfl_get_supported_encodings(); while ((encoding = encodings[i++]) != NULL) { - add_next_index_string(return_value, (char *) encoding->name, 1); + add_next_index_string(return_value, (char *) encoding->name); } } /* }}} */ @@ -3308,15 +3449,15 @@ PHP_FUNCTION(mb_encoding_aliases) { const mbfl_encoding *encoding; char *name = NULL; - int name_len; + size_t name_len; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &name, &name_len) == FAILURE) { + return; } encoding = mbfl_name2encoding(name); if (!encoding) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", name); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", name); RETURN_FALSE; } @@ -3324,7 +3465,7 @@ PHP_FUNCTION(mb_encoding_aliases) if (encoding->aliases != NULL) { const char **alias; for (alias = *encoding->aliases; *alias; ++alias) { - add_next_index_string(return_value, (char *)*alias, 1); + add_next_index_string(return_value, (char *)*alias); } } } @@ -3337,28 +3478,35 @@ PHP_FUNCTION(mb_encode_mimeheader) enum mbfl_no_encoding charset, transenc; mbfl_string string, result, *ret; char *charset_name = NULL; - int charset_name_len; + size_t charset_name_len; char *trans_enc_name = NULL; - int trans_enc_name_len; + size_t trans_enc_name_len; char *linefeed = "\r\n"; - int linefeed_len; - long indent = 0; + size_t linefeed_len, string_len; + zend_long indent = 0; mbfl_string_init(&string); string.no_language = MBSTRG(language); string.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|sssl", (char **)&string.val, &string.len, &charset_name, &charset_name_len, &trans_enc_name, &trans_enc_name_len, &linefeed, &linefeed_len, &indent) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|sssl", (char **)&string.val, &string_len, &charset_name, &charset_name_len, &trans_enc_name, &trans_enc_name_len, &linefeed, &linefeed_len, &indent) == FAILURE) { return; } + if (ZEND_SIZE_T_UINT_OVFL(string_len)) { + php_error_docref(NULL, E_WARNING, "String length overflows the max allowed length of %u", UINT_MAX); + return; + } + + string.len = (uint32_t)string_len; + charset = mbfl_no_encoding_pass; transenc = mbfl_no_encoding_base64; if (charset_name != NULL) { charset = mbfl_name2no_encoding(charset_name); if (charset == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", charset_name); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", charset_name); RETURN_FALSE; } } else { @@ -3380,7 +3528,9 @@ PHP_FUNCTION(mb_encode_mimeheader) mbfl_string_init(&result); ret = mbfl_mime_header_encode(&string, &result, charset, transenc, linefeed, indent); if (ret != NULL) { - RETVAL_STRINGL_CHECK((char *)ret->val, ret->len, 0); /* the string is already strdup()'ed */ + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)ret->val, ret->len); /* the string is already strdup()'ed */ + efree(ret->val); } else { RETVAL_FALSE; } @@ -3392,19 +3542,29 @@ PHP_FUNCTION(mb_encode_mimeheader) PHP_FUNCTION(mb_decode_mimeheader) { mbfl_string string, result, *ret; + size_t string_len; mbfl_string_init(&string); string.no_language = MBSTRG(language); string.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", (char **)&string.val, &string.len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", (char **)&string.val, &string_len) == FAILURE) { return; } + if (ZEND_SIZE_T_UINT_OVFL(string_len)) { + php_error_docref(NULL, E_WARNING, "String length overflows the max allowed length of %u", UINT_MAX); + return; + } + + string.len = (uint32_t)string_len; + mbfl_string_init(&result); ret = mbfl_mime_header_decode(&string, &result, MBSTRG(current_internal_encoding)->no_encoding); if (ret != NULL) { - RETVAL_STRINGL((char *)ret->val, ret->len, 0); /* the string is already strdup()'ed */ + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)ret->val, ret->len); /* the string is already strdup()'ed */ + efree(ret->val); } else { RETVAL_FALSE; } @@ -3418,18 +3578,25 @@ PHP_FUNCTION(mb_convert_kana) int opt, i; mbfl_string string, result, *ret; char *optstr = NULL; - int optstr_len; + size_t optstr_len; char *encname = NULL; - int encname_len; + size_t encname_len, string_len; mbfl_string_init(&string); string.no_language = MBSTRG(language); string.no_encoding = MBSTRG(current_internal_encoding)->no_encoding; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|ss", (char **)&string.val, &string.len, &optstr, &optstr_len, &encname, &encname_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|ss", (char **)&string.val, &string_len, &optstr, &optstr_len, &encname, &encname_len) == FAILURE) { return; } + if (ZEND_SIZE_T_UINT_OVFL(string_len)) { + php_error_docref(NULL, E_WARNING, "String length overflows the max allowed length of %u", UINT_MAX); + return; + } + + string.len = (uint32_t)string_len; + /* option */ if (optstr != NULL) { char *p = optstr; @@ -3500,14 +3667,16 @@ PHP_FUNCTION(mb_convert_kana) if (encname != NULL) { string.no_encoding = mbfl_name2no_encoding(encname); if (string.no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", encname); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", encname); RETURN_FALSE; } } ret = mbfl_ja_jp_hantozen(&string, &result, opt); if (ret != NULL) { - RETVAL_STRINGL_CHECK((char *)ret->val, ret->len, 0); /* the string is already strdup()'ed */ + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)ret->val, ret->len); /* the string is already strdup()'ed */ + efree(ret->val); } else { RETVAL_FALSE; } @@ -3520,28 +3689,28 @@ PHP_FUNCTION(mb_convert_kana) Converts the string resource in variables to desired encoding */ PHP_FUNCTION(mb_convert_variables) { - zval ***args, ***stack, **var, **hash_entry, **zfrom_enc; + zval *args, *stack, *var, *hash_entry, *hash_entry_ptr, *zfrom_enc; HashTable *target_hash; mbfl_string string, result, *ret; const mbfl_encoding *from_encoding, *to_encoding; mbfl_encoding_detector *identd; mbfl_buffer_converter *convd; - int n, to_enc_len, argc, stack_level, stack_max; + int n, argc, stack_level, stack_max; + size_t to_enc_len; size_t elistsz; const mbfl_encoding **elist; char *to_enc; void *ptmp; int recursion_error = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sZ+", &to_enc, &to_enc_len, &zfrom_enc, &args, &argc) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "sz+", &to_enc, &to_enc_len, &zfrom_enc, &args, &argc) == FAILURE) { return; } /* new encoding */ to_encoding = mbfl_name2encoding(to_enc); if (!to_encoding) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", to_enc); - efree(args); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", to_enc); RETURN_FALSE; } @@ -3555,15 +3724,16 @@ PHP_FUNCTION(mb_convert_variables) /* pre-conversion encoding */ elist = NULL; elistsz = 0; - switch (Z_TYPE_PP(zfrom_enc)) { - case IS_ARRAY: - php_mb_parse_encoding_array(*zfrom_enc, &elist, &elistsz, 0 TSRMLS_CC); - break; - default: - convert_to_string_ex(zfrom_enc); - php_mb_parse_encoding_list(Z_STRVAL_PP(zfrom_enc), Z_STRLEN_PP(zfrom_enc), &elist, &elistsz, 0 TSRMLS_CC); - break; + switch (Z_TYPE_P(zfrom_enc)) { + case IS_ARRAY: + php_mb_parse_encoding_array(zfrom_enc, &elist, &elistsz, 0); + break; + default: + convert_to_string_ex(zfrom_enc); + php_mb_parse_encoding_list(Z_STRVAL_P(zfrom_enc), Z_STRLEN_P(zfrom_enc), &elist, &elistsz, 0); + break; } + if (elistsz <= 0) { from_encoding = &mbfl_encoding_pass; } else if (elistsz == 1) { @@ -3572,60 +3742,68 @@ PHP_FUNCTION(mb_convert_variables) /* auto detect */ from_encoding = NULL; stack_max = PHP_MBSTR_STACK_BLOCK_SIZE; - stack = (zval ***)safe_emalloc(stack_max, sizeof(zval **), 0); + stack = (zval *)safe_emalloc(stack_max, sizeof(zval), 0); stack_level = 0; identd = mbfl_encoding_detector_new2(elist, elistsz, MBSTRG(strict_detection)); if (identd != NULL) { n = 0; while (n < argc || stack_level > 0) { if (stack_level <= 0) { - var = args[n++]; - if (Z_TYPE_PP(var) == IS_ARRAY || Z_TYPE_PP(var) == IS_OBJECT) { - target_hash = HASH_OF(*var); + var = &args[n++]; + ZVAL_DEREF(var); + SEPARATE_ZVAL_NOREF(var); + if (Z_TYPE_P(var) == IS_ARRAY || Z_TYPE_P(var) == IS_OBJECT) { + target_hash = HASH_OF(var); if (target_hash != NULL) { zend_hash_internal_pointer_reset(target_hash); } } } else { stack_level--; - var = stack[stack_level]; + var = &stack[stack_level]; } - if (Z_TYPE_PP(var) == IS_ARRAY || Z_TYPE_PP(var) == IS_OBJECT) { - target_hash = HASH_OF(*var); + if (Z_TYPE_P(var) == IS_ARRAY || Z_TYPE_P(var) == IS_OBJECT) { + target_hash = HASH_OF(var); if (target_hash != NULL) { - while (zend_hash_get_current_data(target_hash, (void **) &hash_entry) != FAILURE) { - if (++target_hash->nApplyCount > 1) { - --target_hash->nApplyCount; - recursion_error = 1; - goto detect_end; + while ((hash_entry = zend_hash_get_current_data(target_hash)) != NULL) { + if (!Z_IMMUTABLE_P(var)) { + if (++target_hash->u.v.nApplyCount > 1) { + --target_hash->u.v.nApplyCount; + recursion_error = 1; + goto detect_end; + } } zend_hash_move_forward(target_hash); - if (Z_TYPE_PP(hash_entry) == IS_ARRAY || Z_TYPE_PP(hash_entry) == IS_OBJECT) { + if (Z_TYPE_P(hash_entry) == IS_INDIRECT) { + hash_entry = Z_INDIRECT_P(hash_entry); + } + ZVAL_DEREF(hash_entry); + if (Z_TYPE_P(hash_entry) == IS_ARRAY || Z_TYPE_P(hash_entry) == IS_OBJECT) { if (stack_level >= stack_max) { stack_max += PHP_MBSTR_STACK_BLOCK_SIZE; - ptmp = erealloc(stack, sizeof(zval **)*stack_max); - stack = (zval ***)ptmp; + ptmp = erealloc(stack, sizeof(zval) * stack_max); + stack = (zval *)ptmp; } - stack[stack_level] = var; + ZVAL_COPY_VALUE(&stack[stack_level], var); stack_level++; var = hash_entry; - target_hash = HASH_OF(*var); + target_hash = HASH_OF(var); if (target_hash != NULL) { zend_hash_internal_pointer_reset(target_hash); continue; } - } else if (Z_TYPE_PP(hash_entry) == IS_STRING) { - string.val = (unsigned char *)Z_STRVAL_PP(hash_entry); - string.len = Z_STRLEN_PP(hash_entry); + } else if (Z_TYPE_P(hash_entry) == IS_STRING) { + string.val = (unsigned char *)Z_STRVAL_P(hash_entry); + string.len = Z_STRLEN_P(hash_entry); if (mbfl_encoding_detector_feed(identd, &string)) { goto detect_end; /* complete detecting */ } } } } - } else if (Z_TYPE_PP(var) == IS_STRING) { - string.val = (unsigned char *)Z_STRVAL_PP(var); - string.len = Z_STRLEN_PP(var); + } else if (Z_TYPE_P(var) == IS_STRING) { + string.val = (unsigned char *)Z_STRVAL_P(var); + string.len = Z_STRLEN_P(var); if (mbfl_encoding_detector_feed(identd, &string)) { goto detect_end; /* complete detecting */ } @@ -3636,23 +3814,24 @@ detect_end: mbfl_encoding_detector_delete(identd); } if (recursion_error) { - while(stack_level-- && (var = stack[stack_level])) { - if (HASH_OF(*var)->nApplyCount > 1) { - HASH_OF(*var)->nApplyCount--; + while(stack_level-- && (var = &stack[stack_level])) { + if (!Z_IMMUTABLE_P(var)) { + if (HASH_OF(var)->u.v.nApplyCount > 1) { + HASH_OF(var)->u.v.nApplyCount--; + } } } efree(stack); - efree(args); if (elist != NULL) { efree((void *)elist); } - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot handle recursive references"); + php_error_docref(NULL, E_WARNING, "Cannot handle recursive references"); RETURN_FALSE; } efree(stack); if (!from_encoding) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to detect encoding"); + php_error_docref(NULL, E_WARNING, "Unable to detect encoding"); from_encoding = &mbfl_encoding_pass; } } @@ -3664,7 +3843,7 @@ detect_end: if (from_encoding != &mbfl_encoding_pass) { convd = mbfl_buffer_converter_new2(from_encoding, to_encoding, 0); if (convd == NULL) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to create converter"); + php_error_docref(NULL, E_WARNING, "Unable to create converter"); RETURN_FALSE; } mbfl_buffer_converter_illegal_mode(convd, MBSTRG(current_filter_illegal_mode)); @@ -3674,70 +3853,78 @@ detect_end: /* convert */ if (convd != NULL) { stack_max = PHP_MBSTR_STACK_BLOCK_SIZE; - stack = (zval ***)safe_emalloc(stack_max, sizeof(zval **), 0); + stack = (zval*)safe_emalloc(stack_max, sizeof(zval), 0); stack_level = 0; n = 0; while (n < argc || stack_level > 0) { if (stack_level <= 0) { - var = args[n++]; - if (Z_TYPE_PP(var) == IS_ARRAY || Z_TYPE_PP(var) == IS_OBJECT) { - target_hash = HASH_OF(*var); + var = &args[n++]; + ZVAL_DEREF(var); + SEPARATE_ZVAL_NOREF(var); + if (Z_TYPE_P(var) == IS_ARRAY || Z_TYPE_P(var) == IS_OBJECT) { + target_hash = HASH_OF(var); if (target_hash != NULL) { zend_hash_internal_pointer_reset(target_hash); } } } else { stack_level--; - var = stack[stack_level]; + var = &stack[stack_level]; } - if (Z_TYPE_PP(var) == IS_ARRAY || Z_TYPE_PP(var) == IS_OBJECT) { - target_hash = HASH_OF(*var); + if (Z_TYPE_P(var) == IS_ARRAY || Z_TYPE_P(var) == IS_OBJECT) { + target_hash = HASH_OF(var); if (target_hash != NULL) { - while (zend_hash_get_current_data(target_hash, (void **) &hash_entry) != FAILURE) { + while ((hash_entry_ptr = zend_hash_get_current_data(target_hash)) != NULL) { zend_hash_move_forward(target_hash); - if (Z_TYPE_PP(hash_entry) == IS_ARRAY || Z_TYPE_PP(hash_entry) == IS_OBJECT) { - if (++(HASH_OF(*hash_entry)->nApplyCount) > 1) { - --(HASH_OF(*hash_entry)->nApplyCount); - recursion_error = 1; - goto conv_end; + if (Z_TYPE_P(hash_entry_ptr) == IS_INDIRECT) { + hash_entry_ptr = Z_INDIRECT_P(hash_entry_ptr); + } + hash_entry = hash_entry_ptr; + ZVAL_DEREF(hash_entry); + if (Z_TYPE_P(hash_entry) == IS_ARRAY || Z_TYPE_P(hash_entry) == IS_OBJECT) { + if (!Z_IMMUTABLE_P(hash_entry)) { + if (++(HASH_OF(hash_entry)->u.v.nApplyCount) > 1) { + --(HASH_OF(hash_entry)->u.v.nApplyCount); + recursion_error = 1; + goto conv_end; + } } if (stack_level >= stack_max) { stack_max += PHP_MBSTR_STACK_BLOCK_SIZE; - ptmp = erealloc(stack, sizeof(zval **)*stack_max); - stack = (zval ***)ptmp; + ptmp = erealloc(stack, sizeof(zval) * stack_max); + stack = (zval *)ptmp; } - stack[stack_level] = var; + ZVAL_COPY_VALUE(&stack[stack_level], var); stack_level++; var = hash_entry; - SEPARATE_ZVAL_IF_NOT_REF(hash_entry); - target_hash = HASH_OF(*var); + SEPARATE_ZVAL(hash_entry); + target_hash = HASH_OF(var); if (target_hash != NULL) { zend_hash_internal_pointer_reset(target_hash); continue; } - } else if (Z_TYPE_PP(hash_entry) == IS_STRING) { - string.val = (unsigned char *)Z_STRVAL_PP(hash_entry); - string.len = Z_STRLEN_PP(hash_entry); + } else if (Z_TYPE_P(hash_entry) == IS_STRING) { + string.val = (unsigned char *)Z_STRVAL_P(hash_entry); + string.len = Z_STRLEN_P(hash_entry); ret = mbfl_buffer_converter_feed_result(convd, &string, &result); if (ret != NULL) { - if (Z_REFCOUNT_PP(hash_entry) > 1) { - Z_DELREF_PP(hash_entry); - MAKE_STD_ZVAL(*hash_entry); - } else { - zval_dtor(*hash_entry); - } - ZVAL_STRINGL(*hash_entry, (char *)ret->val, ret->len, 0); + zval_ptr_dtor(hash_entry_ptr); + // TODO: avoid reallocation ??? + ZVAL_STRINGL(hash_entry_ptr, (char *)ret->val, ret->len); + efree(ret->val); } } } } - } else if (Z_TYPE_PP(var) == IS_STRING) { - string.val = (unsigned char *)Z_STRVAL_PP(var); - string.len = Z_STRLEN_PP(var); + } else if (Z_TYPE_P(var) == IS_STRING) { + string.val = (unsigned char *)Z_STRVAL_P(var); + string.len = Z_STRLEN_P(var); ret = mbfl_buffer_converter_feed_result(convd, &string, &result); if (ret != NULL) { - zval_dtor(*var); - ZVAL_STRINGL(*var, (char *)ret->val, ret->len, 0); + zval_ptr_dtor(var); + // TODO: avoid reallocation ??? + ZVAL_STRINGL(var, (char *)ret->val, ret->len); + efree(ret->val); } } } @@ -3747,23 +3934,22 @@ conv_end: mbfl_buffer_converter_delete(convd); if (recursion_error) { - while(stack_level-- && (var = stack[stack_level])) { - if (HASH_OF(*var)->nApplyCount > 1) { - HASH_OF(*var)->nApplyCount--; + while(stack_level-- && (var = &stack[stack_level])) { + if (!Z_IMMUTABLE_P(var)) { + if (HASH_OF(var)->u.v.nApplyCount > 1) { + HASH_OF(var)->u.v.nApplyCount--; + } } } efree(stack); - efree(args); - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot handle recursive references"); + php_error_docref(NULL, E_WARNING, "Cannot handle recursive references"); RETURN_FALSE; } efree(stack); } - efree(args); - if (from_encoding) { - RETURN_STRING(from_encoding->name, 1); + RETURN_STRING(from_encoding->name); } else { RETURN_FALSE; } @@ -3775,17 +3961,16 @@ conv_end: static void php_mb_numericentity_exec(INTERNAL_FUNCTION_PARAMETERS, int type) { - char *str, *encoding; - int str_len, encoding_len; - zval *zconvmap, **hash_entry; + char *str, *encoding = NULL; + size_t str_len, encoding_len; + zval *zconvmap, *hash_entry; HashTable *target_hash; - size_t argc = ZEND_NUM_ARGS(); int i, *convmap, *mapelm, mapsize=0; zend_bool is_hex = 0; mbfl_string string, result, *ret; enum mbfl_no_encoding no_encoding; - if (zend_parse_parameters(argc TSRMLS_CC, "sz|sb", &str, &str_len, &zconvmap, &encoding, &encoding_len, &is_hex) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "sz|sb", &str, &str_len, &zconvmap, &encoding, &encoding_len, &is_hex) == FAILURE) { return; } @@ -3796,42 +3981,34 @@ php_mb_numericentity_exec(INTERNAL_FUNCTION_PARAMETERS, int type) string.len = str_len; /* encoding */ - if ((argc == 3 || argc == 4) && encoding_len > 0) { + if (encoding && encoding_len > 0) { no_encoding = mbfl_name2no_encoding(encoding); if (no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", encoding); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", encoding); RETURN_FALSE; } else { string.no_encoding = no_encoding; } } - if (argc == 4) { - if (type == 0 && is_hex) { - type = 2; /* output in hex format */ - } + if (type == 0 && is_hex) { + type = 2; /* output in hex format */ } /* conversion map */ convmap = NULL; if (Z_TYPE_P(zconvmap) == IS_ARRAY) { target_hash = Z_ARRVAL_P(zconvmap); - zend_hash_internal_pointer_reset(target_hash); i = zend_hash_num_elements(target_hash); if (i > 0) { convmap = (int *)safe_emalloc(i, sizeof(int), 0); mapelm = convmap; mapsize = 0; - while (i > 0) { - if (zend_hash_get_current_data(target_hash, (void **) &hash_entry) == FAILURE) { - break; - } + ZEND_HASH_FOREACH_VAL(target_hash, hash_entry) { convert_to_long_ex(hash_entry); - *mapelm++ = Z_LVAL_PP(hash_entry); + *mapelm++ = Z_LVAL_P(hash_entry); mapsize++; - i--; - zend_hash_move_forward(target_hash); - } + } ZEND_HASH_FOREACH_END(); } } if (convmap == NULL) { @@ -3841,7 +4018,9 @@ php_mb_numericentity_exec(INTERNAL_FUNCTION_PARAMETERS, int type) ret = mbfl_html_numeric_entity(&string, &result, convmap, mapsize, type); if (ret != NULL) { - RETVAL_STRINGL_CHECK((char *)ret->val, ret->len, 0); + // TODO: avoid reallocation ??? + RETVAL_STRINGL((char *)ret->val, ret->len); + efree(ret->val); } else { RETVAL_FALSE; } @@ -3886,46 +4065,19 @@ PHP_FUNCTION(mb_decode_numericentity) *pp = ' '; \ } \ -#define APPEND_ONE_CHAR(ch) do { \ - if (token.a > 0) { \ - smart_str_appendc(&token, ch); \ - } else {\ - token.len++; \ - } \ -} while (0) - -#define SEPARATE_SMART_STR(str) do {\ - if ((str)->a == 0) { \ - char *tmp_ptr; \ - (str)->a = 1; \ - while ((str)->a < (str)->len) { \ - (str)->a <<= 1; \ - } \ - tmp_ptr = emalloc((str)->a + 1); \ - memcpy(tmp_ptr, (str)->c, (str)->len); \ - (str)->c = tmp_ptr; \ - } \ -} while (0) - -static void my_smart_str_dtor(smart_str *s) -{ - if (s->a > 0) { - smart_str_free(s); - } -} - static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t str_len) { const char *ps; size_t icnt; int state = 0; int crlf_state = -1; - - smart_str token = { 0, 0, 0 }; - smart_str fld_name = { 0, 0, 0 }, fld_val = { 0, 0, 0 }; + char *token = NULL; + size_t token_pos = 0; + zend_string *fld_name, *fld_val; ps = str; icnt = str_len; + fld_name = fld_val = NULL; /* * C o n t e n t - T y p e : t e x t / h t m l \r\n @@ -3942,15 +4094,16 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t switch (*ps) { case ':': if (crlf_state == 1) { - APPEND_ONE_CHAR('\r'); + token_pos++; } if (state == 0 || state == 1) { - fld_name = token; - + if(token && token_pos > 0) { + fld_name = zend_string_init(token, token_pos, 0); + } state = 2; } else { - APPEND_ONE_CHAR(*ps); + token_pos++; } crlf_state = 0; @@ -3965,7 +4118,7 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t case '\r': if (crlf_state == 1) { - APPEND_ONE_CHAR('\r'); + token_pos++; } else { crlf_state = 1; } @@ -3975,7 +4128,6 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t if (crlf_state == -1) { if (state == 3) { /* continuing from the previous line */ - SEPARATE_SMART_STR(&token); state = 4; } else { /* simply skipping this new line */ @@ -3983,10 +4135,10 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t } } else { if (crlf_state == 1) { - APPEND_ONE_CHAR('\r'); + token_pos++; } if (state == 1 || state == 3) { - APPEND_ONE_CHAR(*ps); + token_pos++; } } crlf_state = 0; @@ -3995,17 +4147,15 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t default: switch (state) { case 0: - token.c = (char *)ps; - token.len = 0; - token.a = 0; + token = (char*)ps; + token_pos = 0; state = 1; break; case 2: if (crlf_state != -1) { - token.c = (char *)ps; - token.len = 0; - token.a = 0; + token = (char*)ps; + token_pos = 0; state = 3; break; @@ -4014,43 +4164,41 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t case 3: if (crlf_state == -1) { - fld_val = token; - - if (fld_name.c != NULL && fld_val.c != NULL) { - char *dummy; + if(token && token_pos > 0) { + fld_val = zend_string_init(token, token_pos, 0); + } + if (fld_name != NULL && fld_val != NULL) { + zval val; /* FIXME: some locale free implementation is * really required here,,, */ - SEPARATE_SMART_STR(&fld_name); - php_strtoupper(fld_name.c, fld_name.len); + php_strtoupper(ZSTR_VAL(fld_name), ZSTR_LEN(fld_name)); + ZVAL_STR(&val, fld_val); - zend_hash_update(ht, (char *)fld_name.c, fld_name.len, &fld_val, sizeof(smart_str), (void **)&dummy); + zend_hash_update(ht, fld_name, &val); - my_smart_str_dtor(&fld_name); + zend_string_release(fld_name); } - memset(&fld_name, 0, sizeof(smart_str)); - memset(&fld_val, 0, sizeof(smart_str)); - - token.c = (char *)ps; - token.len = 0; - token.a = 0; + fld_name = fld_val = NULL; + token = (char*)ps; + token_pos = 0; state = 1; } break; case 4: - APPEND_ONE_CHAR(' '); + token_pos++; state = 3; break; } if (crlf_state == 1) { - APPEND_ONE_CHAR('\r'); + token_pos++; } - APPEND_ONE_CHAR(*ps); + token_pos++; crlf_state = 0; break; @@ -4059,26 +4207,25 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t } out: if (state == 2) { - token.c = ""; - token.len = 0; - token.a = 0; + token = ""; + token_pos = 0; state = 3; } if (state == 3) { - fld_val = token; - - if (fld_name.c != NULL && fld_val.c != NULL) { - void *dummy; - + if(token && token_pos > 0) { + fld_val = zend_string_init(token, token_pos, 0); + } + if (fld_name != NULL && fld_val != NULL) { + zval val; /* FIXME: some locale free implementation is * really required here,,, */ - SEPARATE_SMART_STR(&fld_name); - php_strtoupper(fld_name.c, fld_name.len); + php_strtoupper(ZSTR_VAL(fld_name), ZSTR_LEN(fld_name)); + ZVAL_STR(&val, fld_val); - zend_hash_update(ht, (char *)fld_name.c, fld_name.len, &fld_val, sizeof(smart_str), (void **)&dummy); + zend_hash_update(ht, fld_name, &val); - my_smart_str_dtor(&fld_name); + zend_string_release(fld_name); } } return state; @@ -4088,15 +4235,14 @@ PHP_FUNCTION(mb_send_mail) { int n; char *to = NULL; - int to_len; + size_t to_len; char *message = NULL; - int message_len; + size_t message_len; char *headers = NULL; - int headers_len; + size_t headers_len; char *subject = NULL; - int subject_len; - char *extra_cmd = NULL; - int extra_cmd_len; + zend_string *extra_cmd = NULL; + size_t subject_len; int i; char *to_r = NULL; char *force_extra_parameters = INI_STR("mail.force_extra_parameters"); @@ -4116,7 +4262,7 @@ PHP_FUNCTION(mb_send_mail) const mbfl_language *lang; int err = 0; HashTable ht_headers; - smart_str *s; + zval *s; extern void mbfl_memory_device_unput(mbfl_memory_device *device); char *pp, *ee; @@ -4136,7 +4282,7 @@ PHP_FUNCTION(mb_send_mail) body_enc = lang->mail_body_encoding; } - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss|ss", &to, &to_len, &subject, &subject_len, &message, &message_len, &headers, &headers_len, &extra_cmd, &extra_cmd_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "sss|sS", &to, &to_len, &subject, &subject_len, &message, &message_len, &headers, &headers_len, &extra_cmd) == FAILURE) { return; } @@ -4148,24 +4294,22 @@ PHP_FUNCTION(mb_send_mail) MAIL_ASCIIZ_CHECK_MBSTRING(headers, headers_len); } if (extra_cmd) { - MAIL_ASCIIZ_CHECK_MBSTRING(extra_cmd, extra_cmd_len); + MAIL_ASCIIZ_CHECK_MBSTRING(ZSTR_VAL(extra_cmd), ZSTR_LEN(extra_cmd)); } - zend_hash_init(&ht_headers, 0, NULL, (dtor_func_t) my_smart_str_dtor, 0); + zend_hash_init(&ht_headers, 0, NULL, ZVAL_PTR_DTOR, 0); if (headers != NULL) { _php_mbstr_parse_mail_headers(&ht_headers, headers, headers_len); } - if (zend_hash_find(&ht_headers, "CONTENT-TYPE", sizeof("CONTENT-TYPE") - 1, (void **)&s) == SUCCESS) { + if ((s = zend_hash_str_find(&ht_headers, "CONTENT-TYPE", sizeof("CONTENT-TYPE") - 1))) { char *tmp; char *param_name; char *charset = NULL; - SEPARATE_SMART_STR(s); - smart_str_0(s); - - p = strchr(s->c, ';'); + ZEND_ASSERT(Z_TYPE_P(s) == IS_STRING); + p = strchr(Z_STRVAL_P(s), ';'); if (p != NULL) { /* skipping the padded spaces */ @@ -4184,7 +4328,7 @@ PHP_FUNCTION(mb_send_mail) } if (_tran_cs == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unsupported charset \"%s\" - will be regarded as ascii", charset); + php_error_docref(NULL, E_WARNING, "Unsupported charset \"%s\" - will be regarded as ascii", charset); _tran_cs = mbfl_no_encoding_ascii; } tran_cs = _tran_cs; @@ -4195,12 +4339,11 @@ PHP_FUNCTION(mb_send_mail) suppressed_hdrs.cnt_type = 1; } - if (zend_hash_find(&ht_headers, "CONTENT-TRANSFER-ENCODING", sizeof("CONTENT-TRANSFER-ENCODING") - 1, (void **)&s) == SUCCESS) { + if ((s = zend_hash_str_find(&ht_headers, "CONTENT-TRANSFER-ENCODING", sizeof("CONTENT-TRANSFER-ENCODING") - 1))) { enum mbfl_no_encoding _body_enc; - SEPARATE_SMART_STR(s); - smart_str_0(s); - _body_enc = mbfl_name2no_encoding(s->c); + ZEND_ASSERT(Z_TYPE_P(s) == IS_STRING); + _body_enc = mbfl_name2no_encoding(Z_STRVAL_P(s)); switch (_body_enc) { case mbfl_no_encoding_base64: case mbfl_no_encoding_7bit: @@ -4209,7 +4352,7 @@ PHP_FUNCTION(mb_send_mail) break; default: - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unsupported transfer encoding \"%s\" - will be regarded as 8bit", s->c); + php_error_docref(NULL, E_WARNING, "Unsupported transfer encoding \"%s\" - will be regarded as 8bit", Z_STRVAL_P(s)); body_enc = mbfl_no_encoding_8bit; break; } @@ -4241,12 +4384,12 @@ PHP_FUNCTION(mb_send_mail) to_r = to; } } else { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Missing To: field"); + php_error_docref(NULL, E_WARNING, "Missing To: field"); err = 1; } /* Subject: */ - if (subject != NULL && subject_len >= 0) { + if (subject != NULL) { orig_str.no_language = MBSTRG(language); orig_str.val = (unsigned char *)subject; orig_str.len = subject_len; @@ -4260,7 +4403,7 @@ PHP_FUNCTION(mb_send_mail) subject_buf = subject = (char *)pstr->val; } } else { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Missing Subject: field"); + php_error_docref(NULL, E_WARNING, "Missing Subject: field"); err = 1; } @@ -4291,7 +4434,7 @@ PHP_FUNCTION(mb_send_mail) } } else { /* this is not really an error, so it is allowed. */ - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty message body"); + php_error_docref(NULL, E_WARNING, "Empty message body"); message = NULL; } @@ -4309,7 +4452,7 @@ PHP_FUNCTION(mb_send_mail) } } - if (!zend_hash_exists(&ht_headers, "MIME-VERSION", sizeof("MIME-VERSION") - 1)) { + if (!zend_hash_str_exists(&ht_headers, "MIME-VERSION", sizeof("MIME-VERSION") - 1)) { mbfl_memory_device_strncat(&device, PHP_MBSTR_MAIL_MIME_HEADER1, sizeof(PHP_MBSTR_MAIL_MIME_HEADER1) - 1); mbfl_memory_device_strncat(&device, "\n", 1); } @@ -4341,18 +4484,19 @@ PHP_FUNCTION(mb_send_mail) if (force_extra_parameters) { extra_cmd = php_escape_shell_cmd(force_extra_parameters); } else if (extra_cmd) { - extra_cmd = php_escape_shell_cmd(extra_cmd); + extra_cmd = php_escape_shell_cmd(ZSTR_VAL(extra_cmd)); } - if (!err && php_mail(to_r, subject, message, headers, extra_cmd TSRMLS_CC)) { + if (!err && php_mail(to_r, subject, message, headers, extra_cmd ? ZSTR_VAL(extra_cmd) : NULL)) { RETVAL_TRUE; } else { RETVAL_FALSE; } if (extra_cmd) { - efree(extra_cmd); + zend_string_release(extra_cmd); } + if (to_r != to) { efree(to_r); } @@ -4368,8 +4512,6 @@ PHP_FUNCTION(mb_send_mail) #undef SKIP_LONG_HEADER_SEP_MBSTRING #undef MAIL_ASCIIZ_CHECK_MBSTRING -#undef APPEND_ONE_CHAR -#undef SEPARATE_SMART_STR #undef PHP_MBSTR_MAIL_MIME_HEADER1 #undef PHP_MBSTR_MAIL_MIME_HEADER2 #undef PHP_MBSTR_MAIL_MIME_HEADER3 @@ -4381,108 +4523,106 @@ PHP_FUNCTION(mb_send_mail) PHP_FUNCTION(mb_get_info) { char *typ = NULL; - int typ_len; + size_t typ_len; size_t n; char *name; const struct mb_overload_def *over_func; - zval *row1, *row2; + zval row1, row2; const mbfl_language *lang = mbfl_no2language(MBSTRG(language)); const mbfl_encoding **entry; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &typ, &typ_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &typ, &typ_len) == FAILURE) { + return; } if (!typ || !strcasecmp("all", typ)) { array_init(return_value); if (MBSTRG(current_internal_encoding)) { - add_assoc_string(return_value, "internal_encoding", (char *)MBSTRG(current_internal_encoding)->name, 1); + add_assoc_string(return_value, "internal_encoding", (char *)MBSTRG(current_internal_encoding)->name); } if (MBSTRG(http_input_identify)) { - add_assoc_string(return_value, "http_input", (char *)MBSTRG(http_input_identify)->name, 1); + add_assoc_string(return_value, "http_input", (char *)MBSTRG(http_input_identify)->name); } if (MBSTRG(current_http_output_encoding)) { - add_assoc_string(return_value, "http_output", (char *)MBSTRG(current_http_output_encoding)->name, 1); + add_assoc_string(return_value, "http_output", (char *)MBSTRG(current_http_output_encoding)->name); } - if ((name = (char *)zend_ini_string("mbstring.http_output_conv_mimetypes", sizeof("mbstring.http_output_conv_mimetypes"), 0)) != NULL) { - add_assoc_string(return_value, "http_output_conv_mimetypes", name, 1); + if ((name = (char *)zend_ini_string("mbstring.http_output_conv_mimetypes", sizeof("mbstring.http_output_conv_mimetypes") - 1, 0)) != NULL) { + add_assoc_string(return_value, "http_output_conv_mimetypes", name); } add_assoc_long(return_value, "func_overload", MBSTRG(func_overload)); if (MBSTRG(func_overload)){ over_func = &(mb_ovld[0]); - MAKE_STD_ZVAL(row1); - array_init(row1); + array_init(&row1); while (over_func->type > 0) { if ((MBSTRG(func_overload) & over_func->type) == over_func->type ) { - add_assoc_string(row1, over_func->orig_func, over_func->ovld_func, 1); + add_assoc_string(&row1, over_func->orig_func, over_func->ovld_func); } over_func++; } - add_assoc_zval(return_value, "func_overload_list", row1); + add_assoc_zval(return_value, "func_overload_list", &row1); } else { - add_assoc_string(return_value, "func_overload_list", "no overload", 1); + add_assoc_string(return_value, "func_overload_list", "no overload"); } if (lang != NULL) { if ((name = (char *)mbfl_no_encoding2name(lang->mail_charset)) != NULL) { - add_assoc_string(return_value, "mail_charset", name, 1); + add_assoc_string(return_value, "mail_charset", name); } if ((name = (char *)mbfl_no_encoding2name(lang->mail_header_encoding)) != NULL) { - add_assoc_string(return_value, "mail_header_encoding", name, 1); + add_assoc_string(return_value, "mail_header_encoding", name); } if ((name = (char *)mbfl_no_encoding2name(lang->mail_body_encoding)) != NULL) { - add_assoc_string(return_value, "mail_body_encoding", name, 1); + add_assoc_string(return_value, "mail_body_encoding", name); } } add_assoc_long(return_value, "illegal_chars", MBSTRG(illegalchars)); if (MBSTRG(encoding_translation)) { - add_assoc_string(return_value, "encoding_translation", "On", 1); + add_assoc_string(return_value, "encoding_translation", "On"); } else { - add_assoc_string(return_value, "encoding_translation", "Off", 1); + add_assoc_string(return_value, "encoding_translation", "Off"); } if ((name = (char *)mbfl_no_language2name(MBSTRG(language))) != NULL) { - add_assoc_string(return_value, "language", name, 1); + add_assoc_string(return_value, "language", name); } n = MBSTRG(current_detect_order_list_size); entry = MBSTRG(current_detect_order_list); if (n > 0) { size_t i; - MAKE_STD_ZVAL(row2); - array_init(row2); + array_init(&row2); for (i = 0; i < n; i++) { - add_next_index_string(row2, (*entry)->name, 1); + add_next_index_string(&row2, (*entry)->name); entry++; } - add_assoc_zval(return_value, "detect_order", row2); + add_assoc_zval(return_value, "detect_order", &row2); } if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) { - add_assoc_string(return_value, "substitute_character", "none", 1); + add_assoc_string(return_value, "substitute_character", "none"); } else if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG) { - add_assoc_string(return_value, "substitute_character", "long", 1); + add_assoc_string(return_value, "substitute_character", "long"); } else if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY) { - add_assoc_string(return_value, "substitute_character", "entity", 1); + add_assoc_string(return_value, "substitute_character", "entity"); } else { add_assoc_long(return_value, "substitute_character", MBSTRG(current_filter_illegal_substchar)); } if (MBSTRG(strict_detection)) { - add_assoc_string(return_value, "strict_detection", "On", 1); + add_assoc_string(return_value, "strict_detection", "On"); } else { - add_assoc_string(return_value, "strict_detection", "Off", 1); + add_assoc_string(return_value, "strict_detection", "Off"); } } else if (!strcasecmp("internal_encoding", typ)) { if (MBSTRG(current_internal_encoding)) { - RETVAL_STRING((char *)MBSTRG(current_internal_encoding)->name, 1); + RETVAL_STRING((char *)MBSTRG(current_internal_encoding)->name); } } else if (!strcasecmp("http_input", typ)) { if (MBSTRG(http_input_identify)) { - RETVAL_STRING((char *)MBSTRG(http_input_identify)->name, 1); + RETVAL_STRING((char *)MBSTRG(http_input_identify)->name); } } else if (!strcasecmp("http_output", typ)) { if (MBSTRG(current_http_output_encoding)) { - RETVAL_STRING((char *)MBSTRG(current_http_output_encoding)->name, 1); + RETVAL_STRING((char *)MBSTRG(current_http_output_encoding)->name); } } else if (!strcasecmp("http_output_conv_mimetypes", typ)) { - if ((name = (char *)zend_ini_string("mbstring.http_output_conv_mimetypes", sizeof("mbstring.http_output_conv_mimetypes"), 0)) != NULL) { - RETVAL_STRING(name, 1); + if ((name = (char *)zend_ini_string("mbstring.http_output_conv_mimetypes", sizeof("mbstring.http_output_conv_mimetypes") - 1, 0)) != NULL) { + RETVAL_STRING(name); } } else if (!strcasecmp("func_overload", typ)) { RETVAL_LONG(MBSTRG(func_overload)); @@ -4492,36 +4632,36 @@ PHP_FUNCTION(mb_get_info) array_init(return_value); while (over_func->type > 0) { if ((MBSTRG(func_overload) & over_func->type) == over_func->type ) { - add_assoc_string(return_value, over_func->orig_func, over_func->ovld_func, 1); + add_assoc_string(return_value, over_func->orig_func, over_func->ovld_func); } over_func++; } } else { - RETVAL_STRING("no overload", 1); + RETVAL_STRING("no overload"); } } else if (!strcasecmp("mail_charset", typ)) { if (lang != NULL && (name = (char *)mbfl_no_encoding2name(lang->mail_charset)) != NULL) { - RETVAL_STRING(name, 1); + RETVAL_STRING(name); } } else if (!strcasecmp("mail_header_encoding", typ)) { if (lang != NULL && (name = (char *)mbfl_no_encoding2name(lang->mail_header_encoding)) != NULL) { - RETVAL_STRING(name, 1); + RETVAL_STRING(name); } } else if (!strcasecmp("mail_body_encoding", typ)) { if (lang != NULL && (name = (char *)mbfl_no_encoding2name(lang->mail_body_encoding)) != NULL) { - RETVAL_STRING(name, 1); + RETVAL_STRING(name); } } else if (!strcasecmp("illegal_chars", typ)) { RETVAL_LONG(MBSTRG(illegalchars)); } else if (!strcasecmp("encoding_translation", typ)) { if (MBSTRG(encoding_translation)) { - RETVAL_STRING("On", 1); + RETVAL_STRING("On"); } else { - RETVAL_STRING("Off", 1); + RETVAL_STRING("Off"); } } else if (!strcasecmp("language", typ)) { if ((name = (char *)mbfl_no_language2name(MBSTRG(language))) != NULL) { - RETVAL_STRING(name, 1); + RETVAL_STRING(name); } } else if (!strcasecmp("detect_order", typ)) { n = MBSTRG(current_detect_order_list_size); @@ -4530,25 +4670,25 @@ PHP_FUNCTION(mb_get_info) size_t i; array_init(return_value); for (i = 0; i < n; i++) { - add_next_index_string(return_value, (*entry)->name, 1); + add_next_index_string(return_value, (*entry)->name); entry++; } } } else if (!strcasecmp("substitute_character", typ)) { if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) { - RETVAL_STRING("none", 1); + RETVAL_STRING("none"); } else if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG) { - RETVAL_STRING("long", 1); + RETVAL_STRING("long"); } else if (MBSTRG(current_filter_illegal_mode) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY) { - RETVAL_STRING("entity", 1); + RETVAL_STRING("entity"); } else { RETVAL_LONG(MBSTRG(current_filter_illegal_substchar)); } } else if (!strcasecmp("strict_detection", typ)) { if (MBSTRG(strict_detection)) { - RETVAL_STRING("On", 1); + RETVAL_STRING("On"); } else { - RETVAL_STRING("Off", 1); + RETVAL_STRING("Off"); } } else { RETURN_FALSE; @@ -4561,16 +4701,16 @@ PHP_FUNCTION(mb_get_info) PHP_FUNCTION(mb_check_encoding) { char *var = NULL; - int var_len; + size_t var_len; char *enc = NULL; - int enc_len; + size_t enc_len; mbfl_buffer_converter *convd; const mbfl_encoding *encoding = MBSTRG(current_internal_encoding); mbfl_string string, result, *ret = NULL; long illegalchars = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|ss", &var, &var_len, &enc, &enc_len) == FAILURE) { - RETURN_FALSE; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|ss", &var, &var_len, &enc, &enc_len) == FAILURE) { + return; } if (var == NULL) { @@ -4580,14 +4720,14 @@ PHP_FUNCTION(mb_check_encoding) if (enc != NULL) { encoding = mbfl_name2encoding(enc); if (!encoding || encoding == &mbfl_encoding_pass) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid encoding \"%s\"", enc); + php_error_docref(NULL, E_WARNING, "Invalid encoding \"%s\"", enc); RETURN_FALSE; } } convd = mbfl_buffer_converter_new2(encoding, encoding, 0); if (convd == NULL) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to create converter"); + php_error_docref(NULL, E_WARNING, "Unable to create converter"); RETURN_FALSE; } mbfl_buffer_converter_illegal_mode(convd, MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE); @@ -4613,9 +4753,8 @@ PHP_FUNCTION(mb_check_encoding) } /* }}} */ - /* {{{ php_mb_populate_current_detect_order_list */ -static void php_mb_populate_current_detect_order_list(TSRMLS_D) +static void php_mb_populate_current_detect_order_list(void) { const mbfl_encoding **entry = 0; size_t nentries; @@ -4640,9 +4779,10 @@ static void php_mb_populate_current_detect_order_list(TSRMLS_D) MBSTRG(current_detect_order_list) = entry; MBSTRG(current_detect_order_list_size) = nentries; } +/* }}} */ /* {{{ static int php_mb_encoding_translation() */ -static int php_mb_encoding_translation(TSRMLS_D) +static int php_mb_encoding_translation(void) { return MBSTRG(encoding_translation); } @@ -4667,7 +4807,7 @@ MBSTRING_API size_t php_mb_mbchar_bytes_ex(const char *s, const mbfl_encoding *e /* }}} */ /* {{{ MBSTRING_API size_t php_mb_mbchar_bytes() */ -MBSTRING_API size_t php_mb_mbchar_bytes(const char *s TSRMLS_DC) +MBSTRING_API size_t php_mb_mbchar_bytes(const char *s) { return php_mb_mbchar_bytes_ex(s, MBSTRG(internal_encoding)); } @@ -4715,7 +4855,7 @@ MBSTRING_API char *php_mb_safe_strrchr_ex(const char *s, unsigned int c, size_t /* }}} */ /* {{{ MBSTRING_API char *php_mb_safe_strrchr() */ -MBSTRING_API char *php_mb_safe_strrchr(const char *s, unsigned int c, size_t nbytes TSRMLS_DC) +MBSTRING_API char *php_mb_safe_strrchr(const char *s, unsigned int c, size_t nbytes) { return php_mb_safe_strrchr_ex(s, c, nbytes, MBSTRG(internal_encoding)); } @@ -4723,7 +4863,7 @@ MBSTRING_API char *php_mb_safe_strrchr(const char *s, unsigned int c, size_t nby /* {{{ MBSTRING_API int php_mb_stripos() */ -MBSTRING_API int php_mb_stripos(int mode, const char *old_haystack, unsigned int old_haystack_len, const char *old_needle, unsigned int old_needle_len, long offset, const char *from_encoding TSRMLS_DC) +MBSTRING_API int php_mb_stripos(int mode, const char *old_haystack, unsigned int old_haystack_len, const char *old_needle, unsigned int old_needle_len, long offset, const char *from_encoding) { int n; mbfl_string haystack, needle; @@ -4738,7 +4878,7 @@ MBSTRING_API int php_mb_stripos(int mode, const char *old_haystack, unsigned int do { size_t len = 0; - haystack.val = (unsigned char *)php_unicode_convert_case(PHP_UNICODE_CASE_UPPER, (char *)old_haystack, old_haystack_len, &len, from_encoding TSRMLS_CC); + haystack.val = (unsigned char *)php_unicode_convert_case(PHP_UNICODE_CASE_UPPER, (char *)old_haystack, old_haystack_len, &len, from_encoding); haystack.len = len; if (!haystack.val) { @@ -4749,7 +4889,7 @@ MBSTRING_API int php_mb_stripos(int mode, const char *old_haystack, unsigned int break; } - needle.val = (unsigned char *)php_unicode_convert_case(PHP_UNICODE_CASE_UPPER, (char *)old_needle, old_needle_len, &len, from_encoding TSRMLS_CC); + needle.val = (unsigned char *)php_unicode_convert_case(PHP_UNICODE_CASE_UPPER, (char *)old_needle, old_needle_len, &len, from_encoding); needle.len = len; if (!needle.val) { @@ -4762,7 +4902,7 @@ MBSTRING_API int php_mb_stripos(int mode, const char *old_haystack, unsigned int haystack.no_encoding = needle.no_encoding = mbfl_name2no_encoding(from_encoding); if (haystack.no_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", from_encoding); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", from_encoding); break; } @@ -4772,12 +4912,12 @@ MBSTRING_API int php_mb_stripos(int mode, const char *old_haystack, unsigned int if (mode) { if ((offset > 0 && offset > haystack_char_len) || (offset < 0 && -offset > haystack_char_len)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Offset is greater than the length of haystack string"); + php_error_docref(NULL, E_WARNING, "Offset is greater than the length of haystack string"); break; } } else { if (offset < 0 || offset > haystack_char_len) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Offset not contained in string"); + php_error_docref(NULL, E_WARNING, "Offset not contained in string"); break; } } @@ -4798,14 +4938,14 @@ MBSTRING_API int php_mb_stripos(int mode, const char *old_haystack, unsigned int } /* }}} */ -static void php_mb_gpc_get_detect_order(const zend_encoding ***list, size_t *list_size TSRMLS_DC) /* {{{ */ +static void php_mb_gpc_get_detect_order(const zend_encoding ***list, size_t *list_size) /* {{{ */ { *list = (const zend_encoding **)MBSTRG(http_input_list); *list_size = MBSTRG(http_input_list_size); } /* }}} */ -static void php_mb_gpc_set_input_encoding(const zend_encoding *encoding TSRMLS_DC) /* {{{ */ +static void php_mb_gpc_set_input_encoding(const zend_encoding *encoding) /* {{{ */ { MBSTRG(http_input_identify) = (const mbfl_encoding*)encoding; } diff --git a/ext/mbstring/mbstring.dsp b/ext/mbstring/mbstring.dsp deleted file mode 100644 index 2e050c6d20..0000000000 --- a/ext/mbstring/mbstring.dsp +++ /dev/null @@ -1,1112 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mbstring" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=mbstring - Win32 Debug_TS MBSTRING
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "mbstring.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "mbstring.mak" CFG="mbstring - Win32 Debug_TS MBSTRING"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "mbstring - Win32 Release_TS MBSTRING" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "mbstring - Win32 Debug_TS MBSTRING" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "mbstring - Win32 Release_TS MBSTRING"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "mbstring___Win32_Release_TS_MBSTRING"
-# PROP BASE Intermediate_Dir "mbstring___Win32_Release_TS_MBSTRING"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release_TS"
-# PROP Intermediate_Dir "Release_TS"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\TSRM" /D ZEND_DEBUG=0 /D "_MBCS" /D "_USRDLL" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "COMPILE_DL_MBSTRING" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D MBSTRING_EXPORTS=1 /D HAVE_MBSTRING=1 /D HAVE_MBREGEX=1 /D HAVE_MBSTR_CN=1 /D HAVE_MBSTR_JA=1 /D HAVE_MBSTR_KR=1 /D HAVE_MBSTR_RU=1 /D HAVE_MBSTR_TW=1 /FR /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\TSRM" /I "libmbfl" /I "libmbfl\mbfl" /D ZEND_DEBUG=0 /D "MBSTRING_EXPORTS" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "COMPILE_DL_MBSTRING" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_MBSTRING=1 /D HAVE_MBSTR_CN=1 /D HAVE_MBSTR_JA=1 /D HAVE_MBSTR_KR=1 /D HAVE_MBSTR_RU=1 /D HAVE_MBSTR_TW=1 /D MBFL_DLL_EXPORT=1 /D NOT_RUBY=1 /D "LIBMBFL_EXPORTS" /D "HAVE_STRICMP" /D "HAVE_CONFIG_H" /D "HAVE_STDLIB_H" /FR /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 php5ts.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"..\..\Release_TS/php_mbstring.dll" /libpath:"..\..\Release_TS" /libpath:"..\..\Release_TS_Inline"
-# ADD LINK32 php5ts.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"..\..\Release_TS/php_mbstring.dll" /libpath:"..\..\Release_TS" /libpath:"..\..\Release_TS_Inline"
-
-!ELSEIF "$(CFG)" == "mbstring - Win32 Debug_TS MBSTRING"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "mbstring___Win32_Debug_TS_MBSTRING"
-# PROP BASE Intermediate_Dir "mbstring___Win32_Debug_TS_MBSTRING"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug_TS"
-# PROP Intermediate_Dir "Debug_TS"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\TSRM" /D ZEND_DEBUG=1 /D "MBSTRING_EXPORTS" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "COMPILE_DL_MBSTRING" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D MBSTRING_EXPORTS=1 /D HAVE_MBSTRING=1 /D HAVE_MBREGEX=1 /D HAVE_MBSTR_CN=1 /D HAVE_MBSTR_JA=1 /D HAVE_MBSTR_KR=1 /D HAVE_MBSTR_RU=1 /D HAVE_MBSTR_TW=1 /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\TSRM" /I "libmbfl" /I "libmbfl\mbfl" /I "oniguruma" /D ZEND_DEBUG=1 /D MBSTRING_EXPORTS=1 /D HAVE_STDLIB_H=1 /D HAVE_STRING_H=1 /D "MBSTRING_EXPORTS" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "COMPILE_DL_MBSTRING" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_MBSTRING=1 /D HAVE_MBSTR_CN=1 /D HAVE_MBSTR_JA=1 /D HAVE_MBSTR_KR=1 /D HAVE_MBSTR_RU=1 /D HAVE_MBSTR_TW=1 /D MBFL_DLL_EXPORT=1 /D NOT_RUBY=1 /D "LIBMBFL_EXPORTS" /D "HAVE_STRICMP" /D "HAVE_CONFIG_H" /D "HAVE_STDLIB_H" /FR /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 php5ts_debug.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"..\..\Debug_TS/php_mbstring.dll" /pdbtype:sept /libpath:"..\..\Debug_TS"
-# ADD LINK32 php5ts_debug.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"..\..\Debug_TS/php_mbstring.dll" /pdbtype:sept /libpath:"..\..\Debug_TS"
-
-!ENDIF
-
-# Begin Target
-
-# Name "mbstring - Win32 Release_TS MBSTRING"
-# Name "mbstring - Win32 Debug_TS MBSTRING"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\mb_gpc.c
-
-!IF "$(CFG)" == "mbstring - Win32 Release_TS MBSTRING"
-
-# PROP Intermediate_Dir "Release_TS"
-
-!ELSEIF "$(CFG)" == "mbstring - Win32 Debug_TS MBSTRING"
-
-# PROP Intermediate_Dir "Debug_TS"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\mbstring.c
-
-!IF "$(CFG)" == "mbstring - Win32 Release_TS MBSTRING"
-
-# PROP Intermediate_Dir "Release_TS"
-
-!ELSEIF "$(CFG)" == "mbstring - Win32 Debug_TS MBSTRING"
-
-# PROP Intermediate_Dir "Debug_TS"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_mbregex.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_unicode.c
-
-!IF "$(CFG)" == "mbstring - Win32 Release_TS MBSTRING"
-
-# PROP Intermediate_Dir "Release_TS"
-
-!ELSEIF "$(CFG)" == "mbstring - Win32 Debug_TS MBSTRING"
-
-# PROP Intermediate_Dir "Debug_TS"
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\mb_gpc.h
-
-!IF "$(CFG)" == "mbstring - Win32 Release_TS MBSTRING"
-
-# PROP Intermediate_Dir "Release_TS"
-
-!ELSEIF "$(CFG)" == "mbstring - Win32 Debug_TS MBSTRING"
-
-# PROP Intermediate_Dir "Debug_TS"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\mbstring.h
-
-!IF "$(CFG)" == "mbstring - Win32 Release_TS MBSTRING"
-
-# PROP Intermediate_Dir "Release_TS"
-
-!ELSEIF "$(CFG)" == "mbstring - Win32 Debug_TS MBSTRING"
-
-# PROP Intermediate_Dir "Debug_TS"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_mbregex.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_unicode.h
-
-!IF "$(CFG)" == "mbstring - Win32 Release_TS MBSTRING"
-
-# PROP Intermediate_Dir "Release_TS"
-
-!ELSEIF "$(CFG)" == "mbstring - Win32 Debug_TS MBSTRING"
-
-# PROP Intermediate_Dir "Debug_TS"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\unicode_data.h
-
-!IF "$(CFG)" == "mbstring - Win32 Release_TS MBSTRING"
-
-# PROP Intermediate_Dir "Release_TS"
-
-!ELSEIF "$(CFG)" == "mbstring - Win32 Debug_TS MBSTRING"
-
-# PROP Intermediate_Dir "Debug_TS"
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "libmbfl"
-
-# PROP Default_Filter ""
-# Begin Group "Source Files No. 1"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\html_entities.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfilter.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_7bit.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfilter_8bit.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_ascii.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_base64.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_big5.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_byte2.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_byte4.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_cp1251.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_cp1252.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_cp866.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_cp932.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_cp936.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_euc_cn.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_euc_jp.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_euc_jp_win.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_euc_kr.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_euc_tw.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_htmlent.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_hz.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso2022_kr.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_1.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_10.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_13.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_14.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_15.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_2.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_3.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_4.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_5.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_6.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_7.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_8.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_9.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_jis.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_koi8r.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_koi8u.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_armscii8.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_cp850.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfilter_pass.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_qprint.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_sjis.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_ucs2.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_ucs4.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_uhc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_utf16.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_utf32.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_utf7.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_utf7imap.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_utf8.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_uuencode.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfilter_wchar.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_allocators.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_convert.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_encoding.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_filter_output.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_ident.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_language.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_memory_device.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_string.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_de.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_en.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_ja.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_kr.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_neutral.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_ru.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_uni.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_zh.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_hy.c
-# End Source File
-# End Group
-# Begin Group "Header Files No. 1"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\libmbfl\config.h.vc6
-
-!IF "$(CFG)" == "mbstring - Win32 Release_TS MBSTRING"
-
-# Begin Custom Build
-InputDir=.\libmbfl
-InputPath=.\libmbfl\config.h.vc6
-
-"$(InputDir)\config.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- copy $(InputDir)\config.h.vc6 "$(InputDir)\config.h"
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "mbstring - Win32 Debug_TS MBSTRING"
-
-# Begin Custom Build
-InputDir=.\libmbfl
-InputPath=.\libmbfl\config.h.vc6
-
-"$(InputDir)\config.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- copy $(InputDir)\config.h.vc6 "$(InputDir)\config.h"
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\cp932_table.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\html_entities.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfilter.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_7bit.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfilter_8bit.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_ascii.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_base64.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_big5.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_byte2.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_byte4.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_cp1251.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_cp1252.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_cp866.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_cp932.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_cp936.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_euc_cn.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_euc_jp.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_euc_jp_win.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_euc_kr.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_euc_tw.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_htmlent.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_hz.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso2022_kr.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_1.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_10.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_13.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_14.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_15.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_2.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_3.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_4.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_5.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_6.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_7.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_8.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_iso8859_9.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_jis.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_koi8r.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_koi8u.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_armscii8.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_cp850.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfilter_pass.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_qprint.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_sjis.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_ucs2.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_ucs4.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_uhc.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_utf16.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_utf32.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_utf7.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_utf7imap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_utf8.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\mbfilter_uuencode.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfilter_wchar.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_allocators.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_consts.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_convert.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_defs.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_encoding.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_filter_output.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_ident.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_language.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_memory_device.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\mbfl\mbfl_string.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_de.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_en.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_ja.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_kr.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_neutral.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_ru.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_uni.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_zh.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\nls\nls_hy.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_prop.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_big5.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_cns11643.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_cp1251.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_cp1252.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_cp866.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_cp932_ext.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_cp936.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_iso8859_10.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_iso8859_13.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_iso8859_14.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_iso8859_15.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_iso8859_2.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_iso8859_3.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_iso8859_4.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_iso8859_5.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_iso8859_6.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_iso8859_7.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_iso8859_8.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_iso8859_9.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_jis.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_koi8r.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_koi8u.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_armscii8.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_cp850.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\libmbfl\filters\unicode_table_uhc.h
-# End Source File
-# End Group
-# End Group
-# Begin Group "oniguruma"
-
-# PROP Default_Filter ""
-# Begin Group "Source Files No. 2"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\oniguruma\regcomp.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\regerror.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\regexec.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\reggnu.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\regparse.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\regposerr.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\ascii.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\utf8.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\euc_jp.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\euc_tw.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\euc_kr.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\sjis.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_1.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_2.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_3.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_4.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_5.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_6.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_7.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_8.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_9.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_10.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_11.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_13.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_14.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_15.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\iso8859_16.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\koi8.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\koi8_r.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\enc\big5.c
-# End Source File
-# End Group
-# Begin Group "Header Files No. 2"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\oniguruma\win32\config.h
-
-!IF "$(CFG)" == "mbstring - Win32 Release_TS MBSTRING"
-
-# Begin Custom Build
-InputDir=.\oniguruma\win32
-InputPath=.\oniguruma\win32\config.h
-
-"$(InputDir)\..\config.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- copy $(InputDir)\config.h "$(InputDir)\..\config.h"
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "mbstring - Win32 Debug_TS MBSTRING"
-
-# Begin Custom Build
-InputDir=.\oniguruma\win32
-InputPath=.\oniguruma\win32\config.h
-
-"$(InputDir)\..\config.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- copy $(InputDir)\config.h "$(InputDir)\..\config.h"
-
-# End Custom Build
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\onigposix.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\oniguruma.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\php_compat.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\regint.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\oniguruma\regparse.h
-# End Source File
-# End Group
-# End Group
-# End Target
-# End Project
diff --git a/ext/mbstring/mbstring.h b/ext/mbstring/mbstring.h index f7e618d3ec..71d63b13de 100644 --- a/ext/mbstring/mbstring.h +++ b/ext/mbstring/mbstring.h @@ -1,6 +1,6 @@ /* +----------------------------------------------------------------------+ - | PHP Version 5 | + | PHP Version 7 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2016 The PHP Group | +----------------------------------------------------------------------+ @@ -51,6 +51,9 @@ #define HAVE_MBSTRING 1 #endif +#include "php_version.h" +#define PHP_MBSTRING_VERSION PHP_VERSION + #ifdef PHP_WIN32 # undef MBSTRING_API # ifdef MBSTRING_EXPORTS @@ -131,27 +134,27 @@ PHP_FUNCTION(mb_check_encoding); MBSTRING_API char *php_mb_safe_strrchr_ex(const char *s, unsigned int c, size_t nbytes, const mbfl_encoding *enc); MBSTRING_API char *php_mb_safe_strrchr(const char *s, unsigned int c, - size_t nbytes TSRMLS_DC); + size_t nbytes); MBSTRING_API char * php_mb_convert_encoding(const char *input, size_t length, const char *_to_encoding, const char *_from_encodings, - size_t *output_len TSRMLS_DC); + size_t *output_len); -MBSTRING_API int php_mb_check_encoding_list(const char *encoding_list TSRMLS_DC); +MBSTRING_API int php_mb_check_encoding_list(const char *encoding_list); MBSTRING_API size_t php_mb_mbchar_bytes_ex(const char *s, const mbfl_encoding *enc); -MBSTRING_API size_t php_mb_mbchar_bytes(const char *s TSRMLS_DC); +MBSTRING_API size_t php_mb_mbchar_bytes(const char *s); -MBSTRING_API int php_mb_encoding_detector_ex(const char *arg_string, int arg_length, - char *arg_list TSRMLS_DC); +MBSTRING_API int php_mb_encoding_detector_ex(const char *arg_string, int arg_length, + char *arg_list); -MBSTRING_API int php_mb_encoding_converter_ex(char **str, int *len, const char *encoding_to, - const char *encoding_from TSRMLS_DC); -MBSTRING_API int php_mb_stripos(int mode, const char *old_haystack, unsigned int old_haystack_len, const char *old_needle, unsigned int old_needle_len, long offset, const char *from_encoding TSRMLS_DC); +MBSTRING_API int php_mb_encoding_converter_ex(char **str, int *len, const char *encoding_to, + const char *encoding_from); +MBSTRING_API int php_mb_stripos(int mode, const char *old_haystack, unsigned int old_haystack_len, const char *old_needle, unsigned int old_needle_len, long offset, const char *from_encoding); /* internal use only */ -int _php_mb_ini_mbstring_internal_encoding_set(const char *new_value, uint new_value_length TSRMLS_DC); +int _php_mb_ini_mbstring_internal_encoding_set(const char *new_value, uint new_value_length); ZEND_BEGIN_MODULE_GLOBALS(mbstring) char *internal_encoding_name; @@ -199,10 +202,10 @@ struct mb_overload_def { char *save_func; }; -#ifdef ZTS -#define MBSTRG(v) TSRMG(mbstring_globals_id, zend_mbstring_globals *, v) -#else -#define MBSTRG(v) (mbstring_globals.v) +#define MBSTRG(v) ZEND_MODULE_GLOBALS_ACCESSOR(mbstring, v) + +#if defined(ZTS) && defined(COMPILE_DL_MBSTRING) +ZEND_TSRMLS_CACHE_EXTERN() #endif #else /* HAVE_MBSTRING */ diff --git a/ext/mbstring/oniguruma/HISTORY b/ext/mbstring/oniguruma/HISTORY index 6b3031bcb6..9ee0a3fe00 100644 --- a/ext/mbstring/oniguruma/HISTORY +++ b/ext/mbstring/oniguruma/HISTORY @@ -1,5 +1,10 @@ History +2014/12/12: Version 5.9.6 + +2013/11/27: [impl] add onigenc_end_unicode(). (thanks Takenori Imoto) +2013/11/27: [impl] add onig_add_end_call(). (thanks Takenori Imoto) + 2013/10/21: Version 5.9.5 2013/10/21: [impl] escape warnings for -Wall. (regparse.c) diff --git a/ext/mbstring/oniguruma/enc/unicode.c b/ext/mbstring/oniguruma/enc/unicode.c index af7a86e088..e13429f51e 100644 --- a/ext/mbstring/oniguruma/enc/unicode.c +++ b/ext/mbstring/oniguruma/enc/unicode.c @@ -2,7 +2,7 @@ unicode.c - Oniguruma (regular expression library) **********************************************************************/ /*- - * Copyright (c) 2002-2008 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> + * Copyright (c) 2002-2013 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -10891,6 +10891,21 @@ static st_table* Unfold2Table; static st_table* Unfold3Table; static int CaseFoldInited = 0; + +extern void onigenc_end_unicode(void) +{ + THREAD_ATOMIC_START; + + if (FoldTable != 0) st_free_table(FoldTable); + if (Unfold1Table != 0) st_free_table(Unfold1Table); + if (Unfold2Table != 0) st_free_table(Unfold2Table); + if (Unfold3Table != 0) st_free_table(Unfold3Table); + + CaseFoldInited = 0; + + THREAD_ATOMIC_END; +} + static int init_case_fold_table(void) { const CaseFold_11_Type *p; @@ -10952,6 +10967,9 @@ static int init_case_fold_table(void) st_add_direct(Unfold3Table, (st_data_t )p3->from, (st_data_t )(&p3->to)); } + + onig_add_end_call(onigenc_end_unicode); + CaseFoldInited = 1; THREAD_ATOMIC_END; return 0; diff --git a/ext/mbstring/oniguruma/index.html b/ext/mbstring/oniguruma/index.html index 9231942b16..c5bb382cd1 100755 --- a/ext/mbstring/oniguruma/index.html +++ b/ext/mbstring/oniguruma/index.html @@ -8,7 +8,7 @@ <h1>Oniguruma</h1> (<a href="index_ja.html">Japanese</a>) <p> -(c) K.Kosako, updated at: 2013/10/21 +(c) K.Kosako, updated at: 2014/12/12 </p> <dl> @@ -16,7 +16,7 @@ <dt><b>What's new</b> </font> <ul> -<li>2013/10/21: Version 5.9.5 released.</li> +<li>2014/12/12: Version 5.9.6 released.</li> <li>2007/08/16: Version 4.7.1 released.</li> <li>2007/06/20: Version 2.5.9 released.</li> <li>2007/06/20: Maintainer of 2.x was changed.</li> @@ -62,8 +62,8 @@ ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16<br> <dt><b>Download:</b> <ul> -<li> <a href="archive/onig-5.9.5.tar.gz">Latest release version 5.9.5</a> (2013/10/21) <a href="HISTORY_5X.txt">Change Log</a> -<li> <a href="archive/onig-5.9.4.tar.gz">5.9.4</a> (2013/04/04) +<li> <a href="archive/onig-5.9.6.tar.gz">Latest release version 5.9.6</a> (2014/12/12) <a href="HISTORY_5X.txt">Change Log</a> +<li> <a href="archive/onig-5.9.5.tar.gz">5.9.5</a> (2013/10/21) <li> <a href="archive/onig-4.7.1.tar.gz">Latest release version 4.7.1</a> (2007/08/16) <a href="HISTORY_4X.txt">Change Log</a> <li> <a href="archive/onig-4.7.0.tar.gz">4.7.0</a> (2007/06/18) <li> <a href="archive/onigd2_5_9.tar.gz">Latest release version 2.5.9</a> (2007/06/20) <a href="HISTORY_2X.txt">Change Log</a> @@ -78,7 +78,7 @@ About 2.x, please contact him.<br> * 2.x supports Ruby1.6/1.8.<br> <br> -<dt><b>Documents:</b> (version 5.9.5) +<dt><b>Documents:</b> (version 5.9.6) <ul> <li> <a href="doc/RE.txt">Regular Expressions</a> <a href="doc/RE.ja.txt">(Japanese: EUC-JP)</a> diff --git a/ext/mbstring/oniguruma/index_ja.html b/ext/mbstring/oniguruma/index_ja.html index 4826cbc2e2..c5d98fb4bf 100644 --- a/ext/mbstring/oniguruma/index_ja.html +++ b/ext/mbstring/oniguruma/index_ja.html @@ -8,7 +8,7 @@ <h1>鬼車</h1> <p> -(c) K.Kosako, 最終更新: 2013/04/04 +(c) K.Kosako, 最終更新: 2014/12/12 </p> <dl> @@ -16,7 +16,7 @@ <dt><b>æ›´æ–°æƒ…å ±</b> </font> <ul> -<li>2013/10/21: Version 5.9.5 リリース</li> +<li>2014/12/12: Version 5.9.6 リリース</li> <li>2007/08/16: Version 4.7.1 リリース</li> <li>2007/06/20: Version 2.5.9 リリース</li> <li>2007/06/20: 2.xã®ä¿å®ˆæ‹…当者を変更</li> @@ -62,8 +62,8 @@ ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16<br> <dt><b>ダウンãƒãƒ¼ãƒ‰:</b> <ul> -<li> <a href="archive/onig-5.9.5.tar.gz">5.9.5 最新版</a> (2013/10/21) <a href="HISTORY_5X.txt">æ›´æ–°å±¥æ´</a> -<li> <a href="archive/onig-5.9.4.tar.gz">5.9.4</a> (2013/04/04) +<li> <a href="archive/onig-5.9.6.tar.gz">5.9.6 最新版</a> (2014/12/12) <a href="HISTORY_5X.txt">æ›´æ–°å±¥æ´</a> +<li> <a href="archive/onig-5.9.5.tar.gz">5.9.5</a> (2013/10/21) <li> <a href="archive/onig-4.7.1.tar.gz">4.7.1 最新版</a> (2007/08/16) <a href="HISTORY_4X.txt">æ›´æ–°å±¥æ´</a> <li> <a href="archive/onig-4.7.0.tar.gz">4.7.0</a> (2007/06/18) <li> <a href="archive/onigd2_5_9.tar.gz">2.5.9 最新版</a> (2007/06/20) <a href="HISTORY_2X.txt">æ›´æ–°å±¥æ´</a> @@ -78,7 +78,7 @@ ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16<br> * 2.xã¯Ruby1.6/1.8組込ã¿ãƒ©ã‚¤ãƒ–ラリã¨ã—ã¦å‹•作ã™ã‚‹ã€‚ (2006年末ã§ä¿å®ˆã‚’終了)<br> <br> -<dt><b>ドã‚ュメント:</b> (version 5.9.5) +<dt><b>ドã‚ュメント:</b> (version 5.9.6) <ul> <li> <a href="doc/RE.txt">æ£è¦è¡¨ç¾</a> <a href="doc/RE.ja.txt">(日本語: EUC-JP)</a> diff --git a/ext/mbstring/oniguruma/oniguruma.h b/ext/mbstring/oniguruma/oniguruma.h index 00f39fe4fe..adf4efc08b 100644 --- a/ext/mbstring/oniguruma/oniguruma.h +++ b/ext/mbstring/oniguruma/oniguruma.h @@ -36,7 +36,7 @@ extern "C" { #define ONIGURUMA #define ONIGURUMA_VERSION_MAJOR 5 #define ONIGURUMA_VERSION_MINOR 9 -#define ONIGURUMA_VERSION_TEENY 5 +#define ONIGURUMA_VERSION_TEENY 6 #ifdef __cplusplus # ifndef HAVE_PROTOTYPES diff --git a/ext/mbstring/oniguruma/regcomp.c b/ext/mbstring/oniguruma/regcomp.c index 995e1d8861..b93ca948a7 100644 --- a/ext/mbstring/oniguruma/regcomp.c +++ b/ext/mbstring/oniguruma/regcomp.c @@ -2,7 +2,7 @@ regcomp.c - Oniguruma (regular expression library) **********************************************************************/ /*- - * Copyright (c) 2002-2008 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> + * Copyright (c) 2002-2013 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -5575,11 +5575,44 @@ onig_init(void) } +static OnigEndCallListItemType* EndCallTop; + +extern void onig_add_end_call(void (*func)(void)) +{ + OnigEndCallListItemType* item; + + item = (OnigEndCallListItemType* )xmalloc(sizeof(*item)); + if (item == 0) return ; + + item->next = EndCallTop; + item->func = func; + + EndCallTop = item; +} + +static void +exec_end_call_list(void) +{ + OnigEndCallListItemType* prev; + void (*func)(void); + + while (EndCallTop != 0) { + func = EndCallTop->func; + (*func)(); + + prev = EndCallTop; + EndCallTop = EndCallTop->next; + xfree(prev); + } +} + extern int onig_end(void) { THREAD_ATOMIC_START; + exec_end_call_list(); + #ifdef ONIG_DEBUG_STATISTICS onig_print_statistics(stderr); #endif diff --git a/ext/mbstring/oniguruma/regint.h b/ext/mbstring/oniguruma/regint.h index a0ce4912d8..ee831a8137 100644 --- a/ext/mbstring/oniguruma/regint.h +++ b/ext/mbstring/oniguruma/regint.h @@ -4,7 +4,7 @@ regint.h - Oniguruma (regular expression library) **********************************************************************/ /*- - * Copyright (c) 2002-2008 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> + * Copyright (c) 2002-2013 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -227,17 +227,21 @@ } while(0) /* sizeof(OnigCodePoint) */ -#define WORD_ALIGNMENT_SIZE SIZEOF_LONG +#ifdef SIZEOF_SIZE_T +# define WORD_ALIGNMENT_SIZE SIZEOF_SIZE_T +#else +# define WORD_ALIGNMENT_SIZE SIZEOF_LONG +#endif #define GET_ALIGNMENT_PAD_SIZE(addr,pad_size) do {\ (pad_size) = WORD_ALIGNMENT_SIZE \ - - ((unsigned int )(addr) % WORD_ALIGNMENT_SIZE);\ + - ((size_t)(addr) % WORD_ALIGNMENT_SIZE);\ if ((pad_size) == WORD_ALIGNMENT_SIZE) (pad_size) = 0;\ } while (0) #define ALIGNMENT_RIGHT(addr) do {\ (addr) += (WORD_ALIGNMENT_SIZE - 1);\ - (addr) -= ((unsigned int )(addr) % WORD_ALIGNMENT_SIZE);\ + (addr) -= ((size_t)(addr) % WORD_ALIGNMENT_SIZE);\ } while (0) #endif /* PLATFORM_UNALIGNED_WORD_ACCESS */ @@ -688,7 +692,11 @@ typedef struct { BBuf* mbuf; /* multi-byte info or NULL */ } CClassNode; +#ifdef _WIN64 +typedef __int64 OnigStackIndex; +#else typedef long OnigStackIndex; +#endif typedef struct _OnigStackType { unsigned int type; @@ -750,6 +758,14 @@ typedef struct { #define IS_CODE_SB_WORD(enc,code) \ (ONIGENC_IS_CODE_ASCII(code) && ONIGENC_IS_CODE_WORD(enc,code)) +typedef struct OnigEndCallListItem { + struct OnigEndCallListItem* next; + void (*func)(void); +} OnigEndCallListItemType; + +extern void onig_add_end_call(void (*func)(void)); + + #ifdef ONIG_DEBUG typedef struct { @@ -760,6 +776,7 @@ typedef struct { extern OnigOpInfoType OnigOpInfo[]; + extern void onig_print_compiled_byte_code P_((FILE* f, UChar* bp, UChar** nextp, OnigEncoding enc)); #ifdef ONIG_DEBUG_STATISTICS @@ -780,7 +797,12 @@ extern int onig_is_code_in_cc_len P_((int enclen, OnigCodePoint code, CClassNod /* strend hash */ typedef void hash_table_type; +#ifdef _WIN32 +# include <windows.h> +typedef ULONG_PTR hash_data_type; +#else typedef unsigned long hash_data_type; +#endif extern hash_table_type* onig_st_init_strend_table_with_size P_((int size)); extern int onig_st_lookup_strend P_((hash_table_type* table, const UChar* str_key, const UChar* end_key, hash_data_type *value)); diff --git a/ext/mbstring/oniguruma/win32/config.h b/ext/mbstring/oniguruma/win32/config.h index bdbdaf25c1..b2afbe960c 100644 --- a/ext/mbstring/oniguruma/win32/config.h +++ b/ext/mbstring/oniguruma/win32/config.h @@ -15,6 +15,11 @@ #define SIZEOF_VOIDP 4 #define SIZEOF_FLOAT 4 #define SIZEOF_DOUBLE 8 +#ifdef _WIN64 +#define SIZEOF_SIZE_T 8 +#else +#define SIZEOF_SIZE_T 4 +#endif #define HAVE_PROTOTYPES 1 #define TOKEN_PASTE(x,y) x##y #define HAVE_STDARG_PROTOTYPES 1 diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c index a1cabb164b..ec1ed1aae0 100644 --- a/ext/mbstring/php_mbregex.c +++ b/ext/mbstring/php_mbregex.c @@ -1,6 +1,6 @@ /* +----------------------------------------------------------------------+ - | PHP Version 5 | + | PHP Version 7 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2016 The PHP Group | +----------------------------------------------------------------------+ @@ -28,7 +28,7 @@ #if HAVE_MBREGEX -#include "ext/standard/php_smart_str.h" +#include "zend_smart_str.h" #include "ext/standard/info.h" #include "php_mbregex.h" #include "mbstring.h" @@ -43,7 +43,7 @@ struct _zend_mb_regex_globals { OnigEncoding default_mbctype; OnigEncoding current_mbctype; HashTable ht_rc; - zval *search_str; + zval search_str; zval *search_str_val; unsigned int search_pos; php_mb_regex_t *search_re; @@ -55,19 +55,18 @@ struct _zend_mb_regex_globals { #define MBREX(g) (MBSTRG(mb_regex_globals)->g) /* {{{ static void php_mb_regex_free_cache() */ -static void php_mb_regex_free_cache(php_mb_regex_t **pre) -{ - onig_free(*pre); +static void php_mb_regex_free_cache(zval *el) { + onig_free((php_mb_regex_t *)Z_PTR_P(el)); } /* }}} */ /* {{{ _php_mb_regex_globals_ctor */ -static int _php_mb_regex_globals_ctor(zend_mb_regex_globals *pglobals TSRMLS_DC) +static int _php_mb_regex_globals_ctor(zend_mb_regex_globals *pglobals) { pglobals->default_mbctype = ONIG_ENCODING_UTF8; pglobals->current_mbctype = ONIG_ENCODING_UTF8; - zend_hash_init(&(pglobals->ht_rc), 0, NULL, (void (*)(void *)) php_mb_regex_free_cache, 1); - pglobals->search_str = (zval*) NULL; + zend_hash_init(&(pglobals->ht_rc), 0, NULL, php_mb_regex_free_cache, 1); + ZVAL_UNDEF(&pglobals->search_str); pglobals->search_re = (php_mb_regex_t*)NULL; pglobals->search_pos = 0; pglobals->search_regs = (OnigRegion*)NULL; @@ -78,21 +77,21 @@ static int _php_mb_regex_globals_ctor(zend_mb_regex_globals *pglobals TSRMLS_DC) /* }}} */ /* {{{ _php_mb_regex_globals_dtor */ -static void _php_mb_regex_globals_dtor(zend_mb_regex_globals *pglobals TSRMLS_DC) +static void _php_mb_regex_globals_dtor(zend_mb_regex_globals *pglobals) { zend_hash_destroy(&pglobals->ht_rc); } /* }}} */ /* {{{ php_mb_regex_globals_alloc */ -zend_mb_regex_globals *php_mb_regex_globals_alloc(TSRMLS_D) +zend_mb_regex_globals *php_mb_regex_globals_alloc(void) { zend_mb_regex_globals *pglobals = pemalloc( sizeof(zend_mb_regex_globals), 1); if (!pglobals) { return NULL; } - if (SUCCESS != _php_mb_regex_globals_ctor(pglobals TSRMLS_CC)) { + if (SUCCESS != _php_mb_regex_globals_ctor(pglobals)) { pefree(pglobals, 1); return NULL; } @@ -101,12 +100,12 @@ zend_mb_regex_globals *php_mb_regex_globals_alloc(TSRMLS_D) /* }}} */ /* {{{ php_mb_regex_globals_free */ -void php_mb_regex_globals_free(zend_mb_regex_globals *pglobals TSRMLS_DC) +void php_mb_regex_globals_free(zend_mb_regex_globals *pglobals) { if (!pglobals) { return; } - _php_mb_regex_globals_dtor(pglobals TSRMLS_CC); + _php_mb_regex_globals_dtor(pglobals); pefree(pglobals, 1); } /* }}} */ @@ -139,9 +138,9 @@ PHP_RSHUTDOWN_FUNCTION(mb_regex) { MBREX(current_mbctype) = MBREX(default_mbctype); - if (MBREX(search_str) != NULL) { + if (!Z_ISUNDEF(MBREX(search_str))) { zval_ptr_dtor(&MBREX(search_str)); - MBREX(search_str) = (zval *)NULL; + ZVAL_UNDEF(&MBREX(search_str)); } MBREX(search_pos) = 0; @@ -404,7 +403,7 @@ static const char *_php_mb_regex_mbctype2name(OnigEncoding mbctype) /* }}} */ /* {{{ php_mb_regex_set_mbctype */ -int php_mb_regex_set_mbctype(const char *encname TSRMLS_DC) +int php_mb_regex_set_mbctype(const char *encname) { OnigEncoding mbctype = _php_mb_regex_name2mbctype(encname); if (mbctype == ONIG_ENCODING_UNDEF) { @@ -416,7 +415,7 @@ int php_mb_regex_set_mbctype(const char *encname TSRMLS_DC) /* }}} */ /* {{{ php_mb_regex_set_default_mbctype */ -int php_mb_regex_set_default_mbctype(const char *encname TSRMLS_DC) +int php_mb_regex_set_default_mbctype(const char *encname) { OnigEncoding mbctype = _php_mb_regex_name2mbctype(encname); if (mbctype == ONIG_ENCODING_UNDEF) { @@ -428,14 +427,14 @@ int php_mb_regex_set_default_mbctype(const char *encname TSRMLS_DC) /* }}} */ /* {{{ php_mb_regex_get_mbctype */ -const char *php_mb_regex_get_mbctype(TSRMLS_D) +const char *php_mb_regex_get_mbctype(void) { return _php_mb_regex_mbctype2name(MBREX(current_mbctype)); } /* }}} */ /* {{{ php_mb_regex_get_default_mbctype */ -const char *php_mb_regex_get_default_mbctype(TSRMLS_D) +const char *php_mb_regex_get_default_mbctype(void) { return _php_mb_regex_mbctype2name(MBREX(default_mbctype)); } @@ -445,25 +444,28 @@ const char *php_mb_regex_get_default_mbctype(TSRMLS_D) * regex cache */ /* {{{ php_mbregex_compile_pattern */ -static php_mb_regex_t *php_mbregex_compile_pattern(const char *pattern, int patlen, OnigOptionType options, OnigEncoding enc, OnigSyntaxType *syntax TSRMLS_DC) +static php_mb_regex_t *php_mbregex_compile_pattern(const char *pattern, int patlen, OnigOptionType options, OnigEncoding enc, OnigSyntaxType *syntax) { int err_code = 0; - int found = 0; - php_mb_regex_t *retval = NULL, **rc = NULL; + php_mb_regex_t *retval = NULL, *rc = NULL; OnigErrorInfo err_info; OnigUChar err_str[ONIG_MAX_ERROR_MESSAGE_LEN]; - found = zend_hash_find(&MBREX(ht_rc), (char *)pattern, patlen+1, (void **) &rc); - if (found == FAILURE || (*rc)->options != options || (*rc)->enc != enc || (*rc)->syntax != syntax) { + rc = zend_hash_str_find_ptr(&MBREX(ht_rc), (char *)pattern, patlen); + if (!rc || rc->options != options || rc->enc != enc || rc->syntax != syntax) { if ((err_code = onig_new(&retval, (OnigUChar *)pattern, (OnigUChar *)(pattern + patlen), options, enc, syntax, &err_info)) != ONIG_NORMAL) { onig_error_code_to_str(err_str, err_code, &err_info); - php_error_docref(NULL TSRMLS_CC, E_WARNING, "mbregex compile err: %s", err_str); + php_error_docref(NULL, E_WARNING, "mbregex compile err: %s", err_str); retval = NULL; goto out; } - zend_hash_update(&MBREX(ht_rc), (char *) pattern, patlen + 1, (void *) &retval, sizeof(retval), NULL); - } else if (found == SUCCESS) { - retval = *rc; + if (rc == MBREX(search_re)) { + /* reuse the new rc? see bug #72399 */ + MBREX(search_re) = NULL; + } + zend_hash_str_update_ptr(&MBREX(ht_rc), (char *)pattern, patlen, retval); + } else { + retval = rc; } out: return retval; @@ -655,28 +657,27 @@ _php_mb_regex_init_options(const char *parg, int narg, OnigOptionType *option, O Returns the current encoding for regex as a string. */ PHP_FUNCTION(mb_regex_encoding) { - size_t argc = ZEND_NUM_ARGS(); - char *encoding; - int encoding_len; + char *encoding = NULL; + size_t encoding_len; OnigEncoding mbctype; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &encoding, &encoding_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &encoding, &encoding_len) == FAILURE) { return; } - if (argc == 0) { + if (!encoding) { const char *retval = _php_mb_regex_mbctype2name(MBREX(current_mbctype)); if (retval == NULL) { RETURN_FALSE; } - RETURN_STRING((char *)retval, 1); - } else if (argc == 1) { + RETURN_STRING((char *)retval); + } else { mbctype = _php_mb_regex_name2mbctype(encoding); if (mbctype == ONIG_ENCODING_UNDEF) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", encoding); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", encoding); RETURN_FALSE; } @@ -689,18 +690,16 @@ PHP_FUNCTION(mb_regex_encoding) /* {{{ _php_mb_regex_ereg_exec */ static void _php_mb_regex_ereg_exec(INTERNAL_FUNCTION_PARAMETERS, int icase) { - zval **arg_pattern, *array; + zval *arg_pattern, *array = NULL; char *string; - int string_len; + size_t string_len; php_mb_regex_t *re; OnigRegion *regs = NULL; int i, match_len, beg, end; OnigOptionType options; char *str; - array = NULL; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Zs|z", &arg_pattern, &string, &string_len, &array) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "zs|z/", &arg_pattern, &string, &string_len, &array) == FAILURE) { RETURN_FALSE; } @@ -710,22 +709,22 @@ static void _php_mb_regex_ereg_exec(INTERNAL_FUNCTION_PARAMETERS, int icase) } /* compile the regular expression from the supplied regex */ - if (Z_TYPE_PP(arg_pattern) != IS_STRING) { + if (Z_TYPE_P(arg_pattern) != IS_STRING) { /* we convert numbers to integers and treat them as a string */ - if (Z_TYPE_PP(arg_pattern) == IS_DOUBLE) { + if (Z_TYPE_P(arg_pattern) == IS_DOUBLE) { convert_to_long_ex(arg_pattern); /* get rid of decimal places */ } convert_to_string_ex(arg_pattern); /* don't bother doing an extended regex with just a number */ } - if (!Z_STRVAL_PP(arg_pattern) || Z_STRLEN_PP(arg_pattern) == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "empty pattern"); + if (Z_STRLEN_P(arg_pattern) == 0) { + php_error_docref(NULL, E_WARNING, "empty pattern"); RETVAL_FALSE; goto out; } - re = php_mbregex_compile_pattern(Z_STRVAL_PP(arg_pattern), Z_STRLEN_PP(arg_pattern), options, MBREX(current_mbctype), MBREX(regex_default_syntax) TSRMLS_CC); + re = php_mbregex_compile_pattern(Z_STRVAL_P(arg_pattern), Z_STRLEN_P(arg_pattern), options, MBREX(current_mbctype), MBREX(regex_default_syntax)); if (re == NULL) { RETVAL_FALSE; goto out; @@ -742,14 +741,15 @@ static void _php_mb_regex_ereg_exec(INTERNAL_FUNCTION_PARAMETERS, int icase) match_len = 1; str = string; if (array != NULL) { - match_len = regs->end[0] - regs->beg[0]; zval_dtor(array); array_init(array); + + match_len = regs->end[0] - regs->beg[0]; for (i = 0; i < regs->num_regs; i++) { beg = regs->beg[i]; end = regs->end[i]; if (beg >= 0 && beg < end && end <= string_len) { - add_index_stringl(array, i, (char *)&str[beg], end - beg, 1); + add_index_stringl(array, i, (char *)&str[beg], end - beg); } else { add_index_bool(array, i, 0); } @@ -786,26 +786,26 @@ PHP_FUNCTION(mb_eregi) /* {{{ _php_mb_regex_ereg_replace_exec */ static void _php_mb_regex_ereg_replace_exec(INTERNAL_FUNCTION_PARAMETERS, OnigOptionType options, int is_callable) { - zval **arg_pattern_zval; + zval *arg_pattern_zval; char *arg_pattern; - int arg_pattern_len; + size_t arg_pattern_len; char *replace; - int replace_len; + size_t replace_len; zend_fcall_info arg_replace_fci; zend_fcall_info_cache arg_replace_fci_cache; char *string; - int string_len; + size_t string_len; char *p; php_mb_regex_t *re; OnigSyntaxType *syntax; OnigRegion *regs = NULL; - smart_str out_buf = { 0 }; - smart_str eval_buf = { 0 }; + smart_str out_buf = {0}; + smart_str eval_buf = {0}; smart_str *pbuf; int i, err, eval, n; OnigUChar *pos; @@ -820,17 +820,17 @@ static void _php_mb_regex_ereg_replace_exec(INTERNAL_FUNCTION_PARAMETERS, OnigOp current_enc_name = _php_mb_regex_mbctype2name(MBREX(current_mbctype)); if (current_enc_name == NULL || (enc = mbfl_name2encoding(current_enc_name)) == NULL) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown error"); + php_error_docref(NULL, E_WARNING, "Unknown error"); RETURN_FALSE; } } eval = 0; { char *option_str = NULL; - int option_str_len = 0; + size_t option_str_len = 0; if (!is_callable) { - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Zss|s", + if (zend_parse_parameters(ZEND_NUM_ARGS(), "zss|s", &arg_pattern_zval, &replace, &replace_len, &string, &string_len, @@ -838,7 +838,7 @@ static void _php_mb_regex_ereg_replace_exec(INTERNAL_FUNCTION_PARAMETERS, OnigOp RETURN_FALSE; } } else { - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Zfs|s", + if (zend_parse_parameters(ZEND_NUM_ARGS(), "zfs|s", &arg_pattern_zval, &arg_replace_fci, &arg_replace_fci_cache, &string, &string_len, @@ -854,13 +854,13 @@ static void _php_mb_regex_ereg_replace_exec(INTERNAL_FUNCTION_PARAMETERS, OnigOp syntax = MBREX(regex_default_syntax); } } - if (Z_TYPE_PP(arg_pattern_zval) == IS_STRING) { - arg_pattern = Z_STRVAL_PP(arg_pattern_zval); - arg_pattern_len = Z_STRLEN_PP(arg_pattern_zval); + if (Z_TYPE_P(arg_pattern_zval) == IS_STRING) { + arg_pattern = Z_STRVAL_P(arg_pattern_zval); + arg_pattern_len = Z_STRLEN_P(arg_pattern_zval); } else { /* FIXME: this code is not multibyte aware! */ convert_to_long_ex(arg_pattern_zval); - pat_buf[0] = (char)Z_LVAL_PP(arg_pattern_zval); + pat_buf[0] = (char)Z_LVAL_P(arg_pattern_zval); pat_buf[1] = '\0'; pat_buf[2] = '\0'; pat_buf[3] = '\0'; @@ -871,14 +871,14 @@ static void _php_mb_regex_ereg_replace_exec(INTERNAL_FUNCTION_PARAMETERS, OnigOp arg_pattern_len = 1; } /* create regex pattern buffer */ - re = php_mbregex_compile_pattern(arg_pattern, arg_pattern_len, options, MBREX(current_mbctype), syntax TSRMLS_CC); + re = php_mbregex_compile_pattern(arg_pattern, arg_pattern_len, options, MBREX(current_mbctype), syntax); if (re == NULL) { RETURN_FALSE; } if (eval || is_callable) { pbuf = &eval_buf; - description = zend_make_compiled_string_description("mbregex replace" TSRMLS_CC); + description = zend_make_compiled_string_description("mbregex replace"); } else { pbuf = &out_buf; description = NULL; @@ -886,7 +886,7 @@ static void _php_mb_regex_ereg_replace_exec(INTERNAL_FUNCTION_PARAMETERS, OnigOp if (is_callable) { if (eval) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Option 'e' cannot be used with replacement callback"); + php_error_docref(NULL, E_WARNING, "Option 'e' cannot be used with replacement callback"); RETURN_FALSE; } } @@ -901,18 +901,18 @@ static void _php_mb_regex_ereg_replace_exec(INTERNAL_FUNCTION_PARAMETERS, OnigOp if (err <= -2) { OnigUChar err_str[ONIG_MAX_ERROR_MESSAGE_LEN]; onig_error_code_to_str(err_str, err); - php_error_docref(NULL TSRMLS_CC, E_WARNING, "mbregex search failure in php_mbereg_replace_exec(): %s", err_str); + php_error_docref(NULL, E_WARNING, "mbregex search failure in php_mbereg_replace_exec(): %s", err_str); break; } if (err >= 0) { #if moriyoshi_0 if (regs->beg[0] == regs->end[0]) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty regular expression"); + php_error_docref(NULL, E_WARNING, "Empty regular expression"); break; } #endif /* copy the part of the string before the match */ - smart_str_appendl(&out_buf, pos, (size_t)((OnigUChar *)(string + regs->beg[0]) - pos)); + smart_str_appendl(&out_buf, (char *)pos, (size_t)((OnigUChar *)(string + regs->beg[0]) - pos)); if (!is_callable) { /* copy replacement and backrefs */ @@ -941,12 +941,20 @@ static void _php_mb_regex_ereg_replace_exec(INTERNAL_FUNCTION_PARAMETERS, OnigOp if (eval) { zval v; + zend_string *eval_str; /* null terminate buffer */ smart_str_0(&eval_buf); + + if (eval_buf.s) { + eval_str = eval_buf.s; + } else { + eval_str = ZSTR_EMPTY_ALLOC(); + } + /* do eval */ - if (zend_eval_stringl(eval_buf.c, eval_buf.len, &v, description TSRMLS_CC) == FAILURE) { + if (zend_eval_stringl(ZSTR_VAL(eval_str), ZSTR_LEN(eval_str), &v, description) == FAILURE) { efree(description); - php_error_docref(NULL TSRMLS_CC,E_ERROR, "Failed evaluating code: %s%s", PHP_EOL, eval_buf.c); + php_error_docref(NULL,E_ERROR, "Failed evaluating code: %s%s", PHP_EOL, ZSTR_VAL(eval_str)); /* zend_error() does not return in this case */ } @@ -954,36 +962,34 @@ static void _php_mb_regex_ereg_replace_exec(INTERNAL_FUNCTION_PARAMETERS, OnigOp convert_to_string(&v); smart_str_appendl(&out_buf, Z_STRVAL(v), Z_STRLEN(v)); /* Clean up */ - eval_buf.len = 0; + smart_str_free(&eval_buf); zval_dtor(&v); } else if (is_callable) { - zval *retval_ptr = NULL; - zval **args[1]; - zval *subpats; + zval args[1]; + zval subpats, retval; int i; - MAKE_STD_ZVAL(subpats); - array_init(subpats); - + array_init(&subpats); for (i = 0; i < regs->num_regs; i++) { - add_next_index_stringl(subpats, string + regs->beg[i], regs->end[i] - regs->beg[i], 1); + add_next_index_stringl(&subpats, string + regs->beg[i], regs->end[i] - regs->beg[i]); } - args[0] = &subpats; + ZVAL_COPY_VALUE(&args[0], &subpats); /* null terminate buffer */ smart_str_0(&eval_buf); arg_replace_fci.param_count = 1; arg_replace_fci.params = args; - arg_replace_fci.retval_ptr_ptr = &retval_ptr; - if (zend_call_function(&arg_replace_fci, &arg_replace_fci_cache TSRMLS_CC) == SUCCESS && arg_replace_fci.retval_ptr_ptr && retval_ptr) { - convert_to_string_ex(&retval_ptr); - smart_str_appendl(&out_buf, Z_STRVAL_P(retval_ptr), Z_STRLEN_P(retval_ptr)); - eval_buf.len = 0; - zval_ptr_dtor(&retval_ptr); + arg_replace_fci.retval = &retval; + if (zend_call_function(&arg_replace_fci, &arg_replace_fci_cache) == SUCCESS && + !Z_ISUNDEF(retval)) { + convert_to_string_ex(&retval); + smart_str_appendl(&out_buf, Z_STRVAL(retval), Z_STRLEN(retval)); + smart_str_free(&eval_buf); + zval_ptr_dtor(&retval); } else { if (!EG(exception)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to call custom replacement function"); + php_error_docref(NULL, E_WARNING, "Unable to call custom replacement function"); } } zval_ptr_dtor(&subpats); @@ -994,14 +1000,14 @@ static void _php_mb_regex_ereg_replace_exec(INTERNAL_FUNCTION_PARAMETERS, OnigOp pos = (OnigUChar *)string + n; } else { if (pos < string_lim) { - smart_str_appendl(&out_buf, pos, 1); + smart_str_appendl(&out_buf, (char *)pos, 1); } pos++; } } else { /* nomatch */ /* stick that last bit of string on our output */ if (string_lim - pos > 0) { - smart_str_appendl(&out_buf, pos, string_lim - pos); + smart_str_appendl(&out_buf, (char *)pos, string_lim - pos); } } onig_region_free(regs, 0); @@ -1018,9 +1024,11 @@ static void _php_mb_regex_ereg_replace_exec(INTERNAL_FUNCTION_PARAMETERS, OnigOp if (err <= -2) { smart_str_free(&out_buf); RETVAL_FALSE; + } else if (out_buf.s) { + smart_str_0(&out_buf); + RETVAL_STR(out_buf.s); } else { - smart_str_appendc(&out_buf, '\0'); - RETVAL_STRINGL((char *)out_buf.c, out_buf.len - 1, 0); + RETVAL_EMPTY_STRING(); } } /* }}} */ @@ -1054,17 +1062,17 @@ PHP_FUNCTION(mb_ereg_replace_callback) PHP_FUNCTION(mb_split) { char *arg_pattern; - int arg_pattern_len; + size_t arg_pattern_len; php_mb_regex_t *re; OnigRegion *regs = NULL; char *string; OnigUChar *pos, *chunk_pos; - int string_len; + size_t string_len; int n, err; - long count = -1; + zend_long count = -1; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|l", &arg_pattern, &arg_pattern_len, &string, &string_len, &count) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|l", &arg_pattern, &arg_pattern_len, &string, &string_len, &count) == FAILURE) { RETURN_FALSE; } @@ -1073,7 +1081,7 @@ PHP_FUNCTION(mb_split) } /* create regex pattern buffer */ - if ((re = php_mbregex_compile_pattern(arg_pattern, arg_pattern_len, MBREX(regex_default_options), MBREX(current_mbctype), MBREX(regex_default_syntax) TSRMLS_CC)) == NULL) { + if ((re = php_mbregex_compile_pattern(arg_pattern, arg_pattern_len, MBREX(regex_default_options), MBREX(current_mbctype), MBREX(regex_default_syntax))) == NULL) { RETURN_FALSE; } @@ -1083,7 +1091,7 @@ PHP_FUNCTION(mb_split) err = 0; regs = onig_region_new(); /* churn through str, generating array entries as we go */ - while (count != 0 && (pos - (OnigUChar *)string) < string_len) { + while (count != 0 && (pos - (OnigUChar *)string) < (ptrdiff_t)string_len) { int beg, end; err = onig_search(re, (OnigUChar *)string, (OnigUChar *)(string + string_len), pos, (OnigUChar *)(string + string_len), regs, 0); if (err < 0) { @@ -1093,7 +1101,7 @@ PHP_FUNCTION(mb_split) /* add it to the array */ if ((pos - (OnigUChar *)string) < end) { if (beg < string_len && beg >= (chunk_pos - (OnigUChar *)string)) { - add_next_index_stringl(return_value, (char *)chunk_pos, ((OnigUChar *)(string + beg) - chunk_pos), 1); + add_next_index_stringl(return_value, (char *)chunk_pos, ((OnigUChar *)(string + beg) - chunk_pos)); --count; } else { err = -2; @@ -1113,7 +1121,7 @@ PHP_FUNCTION(mb_split) if (err <= -2) { OnigUChar err_str[ONIG_MAX_ERROR_MESSAGE_LEN]; onig_error_code_to_str(err_str, err); - php_error_docref(NULL TSRMLS_CC, E_WARNING, "mbregex search failure in mbsplit(): %s", err_str); + php_error_docref(NULL, E_WARNING, "mbregex search failure in mbsplit(): %s", err_str); zval_dtor(return_value); RETURN_FALSE; } @@ -1121,9 +1129,9 @@ PHP_FUNCTION(mb_split) /* otherwise we just have one last element to add to the array */ n = ((OnigUChar *)(string + string_len) - chunk_pos); if (n > 0) { - add_next_index_stringl(return_value, (char *)chunk_pos, n, 1); + add_next_index_stringl(return_value, (char *)chunk_pos, n); } else { - add_next_index_stringl(return_value, "", 0, 1); + add_next_index_stringl(return_value, "", 0); } } /* }}} */ @@ -1133,10 +1141,10 @@ PHP_FUNCTION(mb_split) PHP_FUNCTION(mb_ereg_match) { char *arg_pattern; - int arg_pattern_len; + size_t arg_pattern_len; char *string; - int string_len; + size_t string_len; php_mb_regex_t *re; OnigSyntaxType *syntax; @@ -1145,9 +1153,9 @@ PHP_FUNCTION(mb_ereg_match) { char *option_str = NULL; - int option_str_len = 0; + size_t option_str_len = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|s", + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|s", &arg_pattern, &arg_pattern_len, &string, &string_len, &option_str, &option_str_len)==FAILURE) { RETURN_FALSE; @@ -1161,7 +1169,7 @@ PHP_FUNCTION(mb_ereg_match) } } - if ((re = php_mbregex_compile_pattern(arg_pattern, arg_pattern_len, option, MBREX(current_mbctype), syntax TSRMLS_CC)) == NULL) { + if ((re = php_mbregex_compile_pattern(arg_pattern, arg_pattern_len, option, MBREX(current_mbctype), syntax)) == NULL) { RETURN_FALSE; } @@ -1180,28 +1188,27 @@ PHP_FUNCTION(mb_ereg_match) static void _php_mb_regex_ereg_search_exec(INTERNAL_FUNCTION_PARAMETERS, int mode) { - size_t argc = ZEND_NUM_ARGS(); - char *arg_pattern, *arg_options; - int arg_pattern_len, arg_options_len; + char *arg_pattern = NULL, *arg_options = NULL; + size_t arg_pattern_len, arg_options_len; int n, i, err, pos, len, beg, end; OnigOptionType option; OnigUChar *str; OnigSyntaxType *syntax; - if (zend_parse_parameters(argc TSRMLS_CC, "|ss", &arg_pattern, &arg_pattern_len, &arg_options, &arg_options_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|ss", &arg_pattern, &arg_pattern_len, &arg_options, &arg_options_len) == FAILURE) { return; } option = MBREX(regex_default_options); - if (argc == 2) { + if (arg_options) { option = 0; _php_mb_regex_init_options(arg_options, arg_options_len, &option, &syntax, NULL); } - if (argc > 0) { + if (arg_pattern) { /* create regex pattern buffer */ - if ((MBREX(search_re) = php_mbregex_compile_pattern(arg_pattern, arg_pattern_len, option, MBREX(current_mbctype), MBREX(regex_default_syntax) TSRMLS_CC)) == NULL) { + if ((MBREX(search_re) = php_mbregex_compile_pattern(arg_pattern, arg_pattern_len, option, MBREX(current_mbctype), MBREX(regex_default_syntax))) == NULL) { RETURN_FALSE; } } @@ -1209,18 +1216,18 @@ _php_mb_regex_ereg_search_exec(INTERNAL_FUNCTION_PARAMETERS, int mode) pos = MBREX(search_pos); str = NULL; len = 0; - if (MBREX(search_str) != NULL && Z_TYPE_P(MBREX(search_str)) == IS_STRING){ - str = (OnigUChar *)Z_STRVAL_P(MBREX(search_str)); - len = Z_STRLEN_P(MBREX(search_str)); + if (!Z_ISUNDEF(MBREX(search_str)) && Z_TYPE(MBREX(search_str)) == IS_STRING){ + str = (OnigUChar *)Z_STRVAL(MBREX(search_str)); + len = Z_STRLEN(MBREX(search_str)); } if (MBREX(search_re) == NULL) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "No regex given"); + php_error_docref(NULL, E_WARNING, "No regex given"); RETURN_FALSE; } if (str == NULL) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "No string given"); + php_error_docref(NULL, E_WARNING, "No string given"); RETURN_FALSE; } @@ -1236,7 +1243,7 @@ _php_mb_regex_ereg_search_exec(INTERNAL_FUNCTION_PARAMETERS, int mode) } else if (err <= -2) { OnigUChar err_str[ONIG_MAX_ERROR_MESSAGE_LEN]; onig_error_code_to_str(err_str, err); - php_error_docref(NULL TSRMLS_CC, E_WARNING, "mbregex search failure in mbregex_search(): %s", err_str); + php_error_docref(NULL, E_WARNING, "mbregex search failure in mbregex_search(): %s", err_str); RETVAL_FALSE; } else { switch (mode) { @@ -1254,7 +1261,7 @@ _php_mb_regex_ereg_search_exec(INTERNAL_FUNCTION_PARAMETERS, int mode) beg = MBREX(search_regs)->beg[i]; end = MBREX(search_regs)->end[i]; if (beg >= 0 && beg <= end && end <= len) { - add_index_stringl(return_value, i, (char *)&str[beg], end - beg, 1); + add_index_stringl(return_value, i, (char *)&str[beg], end - beg); } else { add_index_bool(return_value, i, 0); } @@ -1310,16 +1317,16 @@ PHP_FUNCTION(mb_ereg_search_init) size_t argc = ZEND_NUM_ARGS(); zval *arg_str; char *arg_pattern = NULL, *arg_options = NULL; - int arg_pattern_len = 0, arg_options_len = 0; + size_t arg_pattern_len = 0, arg_options_len = 0; OnigSyntaxType *syntax = NULL; OnigOptionType option; - if (zend_parse_parameters(argc TSRMLS_CC, "z|ss", &arg_str, &arg_pattern, &arg_pattern_len, &arg_options, &arg_options_len) == FAILURE) { + if (zend_parse_parameters(argc, "z|ss", &arg_str, &arg_pattern, &arg_pattern_len, &arg_options, &arg_options_len) == FAILURE) { return; } if (argc > 1 && arg_pattern_len == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty pattern"); + php_error_docref(NULL, E_WARNING, "Empty pattern"); RETURN_FALSE; } @@ -1333,25 +1340,22 @@ PHP_FUNCTION(mb_ereg_search_init) if (argc > 1) { /* create regex pattern buffer */ - if ((MBREX(search_re) = php_mbregex_compile_pattern(arg_pattern, arg_pattern_len, option, MBREX(current_mbctype), syntax TSRMLS_CC)) == NULL) { + if ((MBREX(search_re) = php_mbregex_compile_pattern(arg_pattern, arg_pattern_len, option, MBREX(current_mbctype), syntax)) == NULL) { RETURN_FALSE; } } - if (MBREX(search_str) != NULL) { + if (!Z_ISNULL(MBREX(search_str))) { zval_ptr_dtor(&MBREX(search_str)); - MBREX(search_str) = (zval *)NULL; } - MBREX(search_str) = arg_str; - Z_ADDREF_P(MBREX(search_str)); - SEPARATE_ZVAL_IF_NOT_REF(&MBREX(search_str)); + ZVAL_DUP(&MBREX(search_str), arg_str); MBREX(search_pos) = 0; if (MBREX(search_regs) != NULL) { onig_region_free(MBREX(search_regs), 1); - MBREX(search_regs) = (OnigRegion *) NULL; + MBREX(search_regs) = NULL; } RETURN_TRUE; @@ -1365,17 +1369,17 @@ PHP_FUNCTION(mb_ereg_search_getregs) int n, i, len, beg, end; OnigUChar *str; - if (MBREX(search_regs) != NULL && Z_TYPE_P(MBREX(search_str)) == IS_STRING && Z_STRVAL_P(MBREX(search_str)) != NULL) { + if (MBREX(search_regs) != NULL && Z_TYPE(MBREX(search_str)) == IS_STRING) { array_init(return_value); - str = (OnigUChar *)Z_STRVAL_P(MBREX(search_str)); - len = Z_STRLEN_P(MBREX(search_str)); + str = (OnigUChar *)Z_STRVAL(MBREX(search_str)); + len = Z_STRLEN(MBREX(search_str)); n = MBREX(search_regs)->num_regs; for (i = 0; i < n; i++) { beg = MBREX(search_regs)->beg[i]; end = MBREX(search_regs)->end[i]; if (beg >= 0 && beg <= end && end <= len) { - add_index_stringl(return_value, i, (char *)&str[beg], end - beg, 1); + add_index_stringl(return_value, i, (char *)&str[beg], end - beg); } else { add_index_bool(return_value, i, 0); } @@ -1398,14 +1402,14 @@ PHP_FUNCTION(mb_ereg_search_getpos) Set search start position */ PHP_FUNCTION(mb_ereg_search_setpos) { - long position; + zend_long position; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &position) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &position) == FAILURE) { return; } - if (position < 0 || (MBREX(search_str) != NULL && Z_TYPE_P(MBREX(search_str)) == IS_STRING && position > Z_STRLEN_P(MBREX(search_str)))) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Position is out of range"); + if (position < 0 || (!Z_ISUNDEF(MBREX(search_str)) && Z_TYPE(MBREX(search_str)) == IS_STRING && (size_t)position > Z_STRLEN(MBREX(search_str)))) { + php_error_docref(NULL, E_WARNING, "Position is out of range"); MBREX(search_pos) = 0; RETURN_FALSE; } @@ -1416,7 +1420,7 @@ PHP_FUNCTION(mb_ereg_search_setpos) /* }}} */ /* {{{ php_mb_regex_set_options */ -static void _php_mb_regex_set_options(OnigOptionType options, OnigSyntaxType *syntax, OnigOptionType *prev_options, OnigSyntaxType **prev_syntax TSRMLS_DC) +static void _php_mb_regex_set_options(OnigOptionType options, OnigSyntaxType *syntax, OnigOptionType *prev_options, OnigSyntaxType **prev_syntax) { if (prev_options != NULL) { *prev_options = MBREX(regex_default_options); @@ -1436,10 +1440,10 @@ PHP_FUNCTION(mb_regex_set_options) OnigOptionType opt; OnigSyntaxType *syntax; char *string = NULL; - int string_len; + size_t string_len; char buf[16]; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &string, &string_len) == FAILURE) { RETURN_FALSE; } @@ -1447,14 +1451,14 @@ PHP_FUNCTION(mb_regex_set_options) opt = 0; syntax = NULL; _php_mb_regex_init_options(string, string_len, &opt, &syntax, NULL); - _php_mb_regex_set_options(opt, syntax, NULL, NULL TSRMLS_CC); + _php_mb_regex_set_options(opt, syntax, NULL, NULL); } else { opt = MBREX(regex_default_options); syntax = MBREX(regex_default_syntax); } _php_mb_regex_get_option_string(buf, sizeof(buf), opt, syntax); - RETVAL_STRING(buf, 1); + RETVAL_STRING(buf); } /* }}} */ diff --git a/ext/mbstring/php_mbregex.h b/ext/mbstring/php_mbregex.h index 82fef75cbe..a810add0c7 100644 --- a/ext/mbstring/php_mbregex.h +++ b/ext/mbstring/php_mbregex.h @@ -1,6 +1,6 @@ /* +----------------------------------------------------------------------+ - | PHP Version 5 | + | PHP Version 7 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2016 The PHP Group | +----------------------------------------------------------------------+ @@ -17,7 +17,7 @@ */ /* $Id$ */ - + #ifndef _PHP_MBREGEX_H #define _PHP_MBREGEX_H @@ -70,12 +70,12 @@ PHP_MINFO_FUNCTION(mb_regex); typedef struct _zend_mb_regex_globals zend_mb_regex_globals; -zend_mb_regex_globals *php_mb_regex_globals_alloc(TSRMLS_D); -void php_mb_regex_globals_free(zend_mb_regex_globals *pglobals TSRMLS_DC); -int php_mb_regex_set_mbctype(const char *enc TSRMLS_DC); -int php_mb_regex_set_default_mbctype(const char *encname TSRMLS_DC); -const char *php_mb_regex_get_mbctype(TSRMLS_D); -const char *php_mb_regex_get_default_mbctype(TSRMLS_D); +zend_mb_regex_globals *php_mb_regex_globals_alloc(void); +void php_mb_regex_globals_free(zend_mb_regex_globals *pglobals); +int php_mb_regex_set_mbctype(const char *enc); +int php_mb_regex_set_default_mbctype(const char *encname); +const char *php_mb_regex_get_mbctype(void); +const char *php_mb_regex_get_default_mbctype(void); PHP_FUNCTION(mb_regex_encoding); PHP_FUNCTION(mb_ereg); diff --git a/ext/mbstring/php_unicode.c b/ext/mbstring/php_unicode.c index d8cdfced5d..09ba877bb9 100644 --- a/ext/mbstring/php_unicode.c +++ b/ext/mbstring/php_unicode.c @@ -1,6 +1,6 @@ /* +----------------------------------------------------------------------+ - | PHP Version 5 | + | PHP Version 7 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2016 The PHP Group | +----------------------------------------------------------------------+ @@ -16,16 +16,16 @@ +----------------------------------------------------------------------+ Based on code from ucdata-2.5, which has the following Copyright: - + Copyright 2001 Computing Research Labs, New Mexico State University - + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. */ @@ -156,11 +156,11 @@ MBSTRING_API unsigned long php_turkish_tolower(unsigned long code, long l, long { if (code == 0x0049L) { return 0x0131L; - } + } return case_lookup(code, l, r, field); } -MBSTRING_API unsigned long php_unicode_toupper(unsigned long code, enum mbfl_no_encoding enc TSRMLS_DC) +MBSTRING_API unsigned long php_unicode_toupper(unsigned long code, enum mbfl_no_encoding enc) { int field; long l, r; @@ -191,7 +191,7 @@ MBSTRING_API unsigned long php_unicode_toupper(unsigned long code, enum mbfl_no_ return case_lookup(code, l, r, field); } -MBSTRING_API unsigned long php_unicode_tolower(unsigned long code, enum mbfl_no_encoding enc TSRMLS_DC) +MBSTRING_API unsigned long php_unicode_tolower(unsigned long code, enum mbfl_no_encoding enc) { int field; long l, r; @@ -222,7 +222,7 @@ MBSTRING_API unsigned long php_unicode_tolower(unsigned long code, enum mbfl_no_ return case_lookup(code, l, r, field); } -MBSTRING_API unsigned long php_unicode_totitle(unsigned long code, enum mbfl_no_encoding enc TSRMLS_DC) +MBSTRING_API unsigned long php_unicode_totitle(unsigned long code, enum mbfl_no_encoding enc) { int field; long l, r; @@ -268,7 +268,7 @@ MBSTRING_API unsigned long php_unicode_totitle(unsigned long code, enum mbfl_no_ } MBSTRING_API char *php_unicode_convert_case(int case_mode, const char *srcstr, size_t srclen, size_t *ret_len, - const char *src_encoding TSRMLS_DC) + const char *src_encoding) { char *unicode, *newstr; size_t unicode_len; @@ -277,33 +277,33 @@ MBSTRING_API char *php_unicode_convert_case(int case_mode, const char *srcstr, s enum mbfl_no_encoding _src_encoding = mbfl_name2no_encoding(src_encoding); if (_src_encoding == mbfl_no_encoding_invalid) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown encoding \"%s\"", src_encoding); + php_error_docref(NULL, E_WARNING, "Unknown encoding \"%s\"", src_encoding); return NULL; - } + } - unicode = php_mb_convert_encoding(srcstr, srclen, "UCS-4BE", src_encoding, &unicode_len TSRMLS_CC); + unicode = php_mb_convert_encoding(srcstr, srclen, "UCS-4BE", src_encoding, &unicode_len); if (unicode == NULL) return NULL; - + unicode_ptr = (unsigned char *)unicode; switch(case_mode) { case PHP_UNICODE_CASE_UPPER: for (i = 0; i < unicode_len; i+=4) { UINT32_TO_BE_ARY(&unicode_ptr[i], - php_unicode_toupper(BE_ARY_TO_UINT32(&unicode_ptr[i]), _src_encoding TSRMLS_CC)); + php_unicode_toupper(BE_ARY_TO_UINT32(&unicode_ptr[i]), _src_encoding)); } break; case PHP_UNICODE_CASE_LOWER: for (i = 0; i < unicode_len; i+=4) { UINT32_TO_BE_ARY(&unicode_ptr[i], - php_unicode_tolower(BE_ARY_TO_UINT32(&unicode_ptr[i]), _src_encoding TSRMLS_CC)); + php_unicode_tolower(BE_ARY_TO_UINT32(&unicode_ptr[i]), _src_encoding)); } break; case PHP_UNICODE_CASE_TITLE: { - int mode = 0; + int mode = 0; for (i = 0; i < unicode_len; i+=4) { int res = php_unicode_is_prop( @@ -312,23 +312,23 @@ MBSTRING_API char *php_unicode_convert_case(int case_mode, const char *srcstr, s if (mode) { if (res) { UINT32_TO_BE_ARY(&unicode_ptr[i], - php_unicode_tolower(BE_ARY_TO_UINT32(&unicode_ptr[i]), _src_encoding TSRMLS_CC)); + php_unicode_tolower(BE_ARY_TO_UINT32(&unicode_ptr[i]), _src_encoding)); } else { mode = 0; - } + } } else { if (res) { mode = 1; UINT32_TO_BE_ARY(&unicode_ptr[i], - php_unicode_totitle(BE_ARY_TO_UINT32(&unicode_ptr[i]), _src_encoding TSRMLS_CC)); + php_unicode_totitle(BE_ARY_TO_UINT32(&unicode_ptr[i]), _src_encoding)); } } } } break; } - - newstr = php_mb_convert_encoding(unicode, unicode_len, src_encoding, "UCS-4BE", ret_len TSRMLS_CC); + + newstr = php_mb_convert_encoding(unicode, unicode_len, src_encoding, "UCS-4BE", ret_len); efree(unicode); return newstr; diff --git a/ext/mbstring/php_unicode.h b/ext/mbstring/php_unicode.h index 03646c41d2..4e659a6aa7 100644 --- a/ext/mbstring/php_unicode.h +++ b/ext/mbstring/php_unicode.h @@ -1,6 +1,6 @@ /* +----------------------------------------------------------------------+ - | PHP Version 5 | + | PHP Version 7 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2016 The PHP Group | +----------------------------------------------------------------------+ @@ -16,16 +16,16 @@ +----------------------------------------------------------------------+ Based on code from ucdata-2.5, which has the following Copyright: - + Copyright 2001 Computing Research Labs, New Mexico State University - + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. */ @@ -104,7 +104,7 @@ MBSTRING_API int php_unicode_is_prop(unsigned long code, unsigned long mask1, unsigned long mask2); MBSTRING_API char *php_unicode_convert_case(int case_mode, const char *srcstr, size_t srclen, size_t *retlen, - const char *src_encoding TSRMLS_DC); + const char *src_encoding); #define PHP_UNICODE_CASE_UPPER 0 #define PHP_UNICODE_CASE_LOWER 1 diff --git a/ext/mbstring/tests/bug26639.phpt b/ext/mbstring/tests/bug26639.phpt index a87e912ba6..3f5b8e5acd 100644 --- a/ext/mbstring/tests/bug26639.phpt +++ b/ext/mbstring/tests/bug26639.phpt @@ -70,54 +70,54 @@ unset($a); unset($b); unset($c); ?> ---EXPECT-- -string(10) "‚ ‚¢‚¤‚¦‚¨" refcount(2) -string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(2) -string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(1) -string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(1) -array(1) refcount(2){ +--EXPECTF-- +string(10) "‚ ‚¢‚¤‚¦‚¨" refcount(%d) +string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(%d) +string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(%d) +string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(%d) +array(1) refcount(%d){ [0]=> - string(10) "‚ ‚¢‚¤‚¦‚¨" refcount(2) + string(10) "‚ ‚¢‚¤‚¦‚¨" refcount(%d) } -array(1) refcount(2){ +array(1) refcount(%d){ [0]=> - string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(1) + string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(%d) } -array(1) refcount(2){ +array(1) refcount(%d){ [0]=> - &string(10) "‚ ‚¢‚¤‚¦‚¨" refcount(2) + &string(10) "‚ ‚¢‚¤‚¦‚¨" refcount(%d) } -array(1) refcount(2){ +array(1) refcount(%d){ [0]=> - string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(1) + string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(%d) } -array(1) refcount(1){ +array(1) refcount(%d){ [0]=> - string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(2) + string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(%d) } -array(1) refcount(1){ +array(1) refcount(%d){ [0]=> - string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(2) + string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(%d) } -array(1) refcount(1){ +array(1) refcount(%d){ [0]=> - string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(2) + string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(%d) } -array(1) refcount(1){ +array(1) refcount(%d){ [0]=> - string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(2) + string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(%d) } -array(1) refcount(3){ +array(1) refcount(%d){ [0]=> - array(1) refcount(1){ + array(1) refcount(%d){ [0]=> - string(10) "‚ ‚¢‚¤‚¦‚¨" refcount(1) + string(10) "‚ ‚¢‚¤‚¦‚¨" refcount(%d) } } -array(1) refcount(2){ +array(1) refcount(%d){ [0]=> - array(1) refcount(1){ + array(1) refcount(%d){ [0]=> - string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(1) + string(10) "¤¢¤¤¤¦¤¨¤ª" refcount(%d) } } diff --git a/ext/mbstring/tests/bug72164.phpt b/ext/mbstring/tests/bug72164.phpt new file mode 100644 index 0000000000..bd58f7e5a5 --- /dev/null +++ b/ext/mbstring/tests/bug72164.phpt @@ -0,0 +1,14 @@ +--TEST-- +Bug #72164 (Null Pointer Dereference - mb_ereg_replace) +--SKIPIF-- +<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?> +--FILE-- +<?php +$var0 = "e"; +$var2 = ""; +$var3 = NULL; +$var8 = mbereg_replace($var2,$var3,$var3,$var0); +var_dump($var8); +?> +--EXPECT-- +string(0) "" diff --git a/ext/mbstring/tests/bug72399.phpt b/ext/mbstring/tests/bug72399.phpt new file mode 100644 index 0000000000..ba6ffb2cb1 --- /dev/null +++ b/ext/mbstring/tests/bug72399.phpt @@ -0,0 +1,10 @@ +--TEST-- +Bug #72399 (Use-After-Free in MBString (search_re)) +--FILE-- +<?php +$var5 = mbereg_search_init("","2"); +$var6 = mb_eregi_replace("2","",""); +$var13 = mbereg_search_pos(); +?> +--EXPECTF-- +Warning: mbereg_search_pos(): No regex given in %sbug72399.php on line %d diff --git a/ext/mbstring/tests/common.inc b/ext/mbstring/tests/common.inc index 1df6341077..a40dde0399 100644 --- a/ext/mbstring/tests/common.inc +++ b/ext/mbstring/tests/common.inc @@ -45,7 +45,7 @@ class tc public $s1 = 'ÆüËܸìEUC-JP¤Îʸ»úÎó'; public $s2 = 'English Text'; - function tc() + function __construct() { } } diff --git a/ext/mbstring/tests/mb_convert_variables.phpt b/ext/mbstring/tests/mb_convert_variables.phpt index 01ced05104..22253b5352 100644 --- a/ext/mbstring/tests/mb_convert_variables.phpt +++ b/ext/mbstring/tests/mb_convert_variables.phpt @@ -76,7 +76,7 @@ class foo public $s2; public $s3; - function foo() + function __construct() { global $sjis, $jis, $euc_jp; @@ -92,7 +92,7 @@ class bar public $s2; public $s3; - function bar() + function __construct() { global $sjis, $jis, $euc_jp; diff --git a/ext/mbstring/tests/mb_encode_mimeheader_variation5.phpt b/ext/mbstring/tests/mb_encode_mimeheader_variation5.phpt index d57bc1061a..d8712e3949 100644 --- a/ext/mbstring/tests/mb_encode_mimeheader_variation5.phpt +++ b/ext/mbstring/tests/mb_encode_mimeheader_variation5.phpt @@ -4,6 +4,7 @@ Test mb_encode_mimeheader() function : usage variations - Pass different data ty <?php extension_loaded('mbstring') or die('skip'); function_exists('mb_encode_mimeheader') or die("skip mb_encode_mimeheader() is not available in this build"); +if (PHP_INT_SIZE != 8) die('skip 64-bit only'); ?> --FILE-- <?php @@ -172,32 +173,32 @@ string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr -- Iteration 16 -- -Warning: mb_encode_mimeheader() expects parameter 5 to be long, string given in %s on line %d +Warning: mb_encode_mimeheader() expects parameter 5 to be integer, string given in %s on line %d NULL -- Iteration 17 -- -Warning: mb_encode_mimeheader() expects parameter 5 to be long, string given in %s on line %d +Warning: mb_encode_mimeheader() expects parameter 5 to be integer, string given in %s on line %d NULL -- Iteration 18 -- -Warning: mb_encode_mimeheader() expects parameter 5 to be long, string given in %s on line %d +Warning: mb_encode_mimeheader() expects parameter 5 to be integer, string given in %s on line %d NULL -- Iteration 19 -- -Warning: mb_encode_mimeheader() expects parameter 5 to be long, string given in %s on line %d +Warning: mb_encode_mimeheader() expects parameter 5 to be integer, string given in %s on line %d NULL -- Iteration 20 -- -Warning: mb_encode_mimeheader() expects parameter 5 to be long, string given in %s on line %d +Warning: mb_encode_mimeheader() expects parameter 5 to be integer, string given in %s on line %d NULL -- Iteration 21 -- -Warning: mb_encode_mimeheader() expects parameter 5 to be long, object given in %s on line %d +Warning: mb_encode_mimeheader() expects parameter 5 to be integer, object given in %s on line %d NULL -- Iteration 22 -- @@ -210,6 +211,6 @@ string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr -- Iteration 24 -- -Warning: mb_encode_mimeheader() expects parameter 5 to be long, resource given in %s on line %d +Warning: mb_encode_mimeheader() expects parameter 5 to be integer, resource given in %s on line %d NULL Done diff --git a/ext/mbstring/tests/mb_http_output.phpt b/ext/mbstring/tests/mb_http_output.phpt index 6f149bfc9f..a6cac3fb35 100644 --- a/ext/mbstring/tests/mb_http_output.phpt +++ b/ext/mbstring/tests/mb_http_output.phpt @@ -49,12 +49,12 @@ $enc = mb_http_output(); print "$enc\n"; $r = mb_http_output($t_ary); -($r === FALSE) ? print "OK_BAD_ARY_SET\n" : print "NG_BAD_ARY_SET\n"; +($r === NULL) ? print "OK_BAD_ARY_SET\n" : print "NG_BAD_ARY_SET\n"; $enc = mb_http_output(); print "$enc\n"; $r = mb_http_output($t_obj); -($r === FALSE) ? print "OK_BAD_OBJ_SET\n" : print "NG_BAD_OBJ_SET\n"; +($r === NULL) ? print "OK_BAD_OBJ_SET\n" : print "NG_BAD_OBJ_SET\n"; $enc = mb_http_output(); print "$enc\n"; diff --git a/ext/mbstring/tests/mb_internal_encoding.phpt b/ext/mbstring/tests/mb_internal_encoding.phpt index e1b99c3ba2..acb3c6fbb6 100644 --- a/ext/mbstring/tests/mb_internal_encoding.phpt +++ b/ext/mbstring/tests/mb_internal_encoding.phpt @@ -32,17 +32,17 @@ print "== INVALID PARAMETER ==\n"; // Note: Other than string type, PHP raises Warning $r = mb_internal_encoding('BAD'); -($r === FALSE) ? print "OK_BAD_SET\n" : print "NG_BAD_SET\n"; +($r === false) ? print "OK_BAD_SET\n" : print "NG_BAD_SET\n"; $enc = mb_internal_encoding(); print "$enc\n"; $r = mb_internal_encoding($t_ary); -($r === FALSE) ? print "OK_BAD_ARY_SET\n" : print "NG_BAD_ARY_SET\n"; +($r === NULL) ? print "OK_BAD_ARY_SET\n" : print "NG_BAD_ARY_SET\n"; $enc = mb_internal_encoding(); print "$enc\n"; $r = mb_internal_encoding($t_obj); -($r === FALSE) ? print "OK_BAD_OBJ_SET\n" : print "NG_BAD_OBJ_SET\n"; +($r === NULL) ? print "OK_BAD_OBJ_SET\n" : print "NG_BAD_OBJ_SET\n"; $enc = mb_internal_encoding(); print "$enc\n"; diff --git a/ext/mbstring/tests/mb_internal_encoding_error1.phpt b/ext/mbstring/tests/mb_internal_encoding_error1.phpt index 61f133a44a..ce824e6a2f 100644 --- a/ext/mbstring/tests/mb_internal_encoding_error1.phpt +++ b/ext/mbstring/tests/mb_internal_encoding_error1.phpt @@ -32,5 +32,5 @@ echo "Done"; -- Testing mb_internal_encoding() function with more than expected no. of arguments -- Warning: mb_internal_encoding() expects at most 1 parameter, 2 given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_internal_encoding_variation1.phpt b/ext/mbstring/tests/mb_internal_encoding_variation1.phpt index 94bb0cfd43..581df06414 100644 --- a/ext/mbstring/tests/mb_internal_encoding_variation1.phpt +++ b/ext/mbstring/tests/mb_internal_encoding_variation1.phpt @@ -213,5 +213,5 @@ bool(false) -- Iteration 24 -- Warning: mb_internal_encoding() expects parameter 1 to be string, resource given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_split.phpt b/ext/mbstring/tests/mb_split.phpt index c10b0d7b80..1031cd26d7 100644 --- a/ext/mbstring/tests/mb_split.phpt +++ b/ext/mbstring/tests/mb_split.phpt @@ -3,6 +3,7 @@ mb_split() --SKIPIF-- <?php extension_loaded('mbstring') or die('skip mbstring not available'); +extension_loaded('pcre') or die('skip pcre not available'); function_exists('mb_split') or die("skip mb_split() is not available in this build"); ?> --INI-- @@ -15,7 +16,7 @@ mbstring.func_overload=0 function verify_split( $spliton, $str, $count = 0 ) { $result1 = mb_split( $spliton, $str, $count ); - $result2 = split( $spliton, $str, $count ); + $result2 = preg_split( "/$spliton/", $str, $count ); if ( $result1 == $result2 ) { print "ok\n"; } else { @@ -26,7 +27,7 @@ mbstring.func_overload=0 var_dump( mb_split( b" ", b"a b c d e f g" ) == mb_split( b"[[:space:]]", b"a\nb\tc\nd e f g" ) ); - for ( $i = 0; $i < 5; ++$i ) { + for ( $i = 1; $i < 5; ++$i ) { verify_split( b" ", b"a\tb\tc\td e\tf g", $i ); } @@ -37,31 +38,12 @@ mbstring.func_overload=0 --EXPECTF-- bool(true) - -Deprecated: Function split() is deprecated in %s on line %d ok - -Deprecated: Function split() is deprecated in %s on line %d ok - -Deprecated: Function split() is deprecated in %s on line %d ok - -Deprecated: Function split() is deprecated in %s on line %d ok - -Deprecated: Function split() is deprecated in %s on line %d ok - -Deprecated: Function split() is deprecated in %s on line %d -ok - -Deprecated: Function split() is deprecated in %s on line %d 2-2 - -Deprecated: Function split() is deprecated in %s on line %d 3-3 - -Deprecated: Function split() is deprecated in %s on line %d 4-4 diff --git a/ext/mbstring/tests/mb_split_variation3.phpt b/ext/mbstring/tests/mb_split_variation3.phpt index 5422b169cd..3ef13513da 100644 --- a/ext/mbstring/tests/mb_split_variation3.phpt +++ b/ext/mbstring/tests/mb_split_variation3.phpt @@ -4,6 +4,7 @@ Test mb_split() function : usage variations - different parameter types for lim <?php extension_loaded('mbstring') or die('skip'); function_exists('mb_split') or die("skip mb_split() is not available in this build"); +if (PHP_INT_SIZE != 8) die('skip 64-bit only'); ?> --FILE-- <?php @@ -284,32 +285,32 @@ array(1) { -- Iteration 16 -- -Warning: mb_split() expects parameter 3 to be long, string given in %s on line %d +Warning: mb_split() expects parameter 3 to be integer, string given in %s on line %d bool(false) -- Iteration 17 -- -Warning: mb_split() expects parameter 3 to be long, string given in %s on line %d +Warning: mb_split() expects parameter 3 to be integer, string given in %s on line %d bool(false) -- Iteration 18 -- -Warning: mb_split() expects parameter 3 to be long, string given in %s on line %d +Warning: mb_split() expects parameter 3 to be integer, string given in %s on line %d bool(false) -- Iteration 19 -- -Warning: mb_split() expects parameter 3 to be long, string given in %s on line %d +Warning: mb_split() expects parameter 3 to be integer, string given in %s on line %d bool(false) -- Iteration 20 -- -Warning: mb_split() expects parameter 3 to be long, string given in %s on line %d +Warning: mb_split() expects parameter 3 to be integer, string given in %s on line %d bool(false) -- Iteration 21 -- -Warning: mb_split() expects parameter 3 to be long, object given in %s on line %d +Warning: mb_split() expects parameter 3 to be integer, object given in %s on line %d bool(false) -- Iteration 22 -- @@ -326,6 +327,6 @@ array(1) { -- Iteration 24 -- -Warning: mb_split() expects parameter 3 to be long, resource given in %s on line %d +Warning: mb_split() expects parameter 3 to be integer, resource given in %s on line %d bool(false) -Done
\ No newline at end of file +Done diff --git a/ext/mbstring/tests/mb_stripos.phpt b/ext/mbstring/tests/mb_stripos.phpt index c21cdf3a59..4ea8cfa6d6 100644 --- a/ext/mbstring/tests/mb_stripos.phpt +++ b/ext/mbstring/tests/mb_stripos.phpt @@ -106,13 +106,13 @@ $r = mb_stripos($euc_jp,b"\n"); echo "== INVALID PARAMETER TEST ==\n"; $r = mb_stripos($euc_jp,'','EUC-JP'); -($r === FALSE) ? print("OK_NULL\n") : print("NG_NULL\n"); +($r === NULL) ? print("OK_NULL\n") : print("NG_NULL\n"); $r = mb_stripos($euc_jp, $t_ary, 'EUC-JP'); -($r === FALSE) ? print("OK_ARRAY\n") : print("NG_ARRAY\n"); +($r === NULL) ? print("OK_ARRAY\n") : print("NG_ARRAY\n"); $r = mb_stripos($euc_jp, $t_obj, 'EUC-JP'); -($r === FALSE) ? print("OK_OBJECT\n") : print("NG_OBJECT\n"); +($r === NULL) ? print("OK_OBJECT\n") : print("NG_OBJECT\n"); $r = mb_stripos($euc_jp, $t_obj, 'BAD_ENCODING'); -($r === FALSE) ? print("OK_BAD_ENCODING\n") : print("NG_BAD_ENCODING\n"); +($r === NULL) ? print("OK_BAD_ENCODING\n") : print("NG_BAD_ENCODING\n"); ?> diff --git a/ext/mbstring/tests/mb_stripos_error1.phpt b/ext/mbstring/tests/mb_stripos_error1.phpt index c4ea5d7714..832a8661bd 100644 --- a/ext/mbstring/tests/mb_stripos_error1.phpt +++ b/ext/mbstring/tests/mb_stripos_error1.phpt @@ -42,10 +42,10 @@ echo "Done"; -- Testing mb_stripos() function with more than expected no. of arguments -- Warning: mb_stripos() expects at most 4 parameters, 5 given in %s on line %d -bool(false) +NULL -- Testing mb_stripos() function with less than expected no. of arguments -- Warning: mb_stripos() expects at least 2 parameters, 1 given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_stripos_variation1.phpt b/ext/mbstring/tests/mb_stripos_variation1.phpt index ab7f75ee5a..2fe5c022f2 100644 --- a/ext/mbstring/tests/mb_stripos_variation1.phpt +++ b/ext/mbstring/tests/mb_stripos_variation1.phpt @@ -179,5 +179,5 @@ bool(false) -- Iteration 24 -- Warning: mb_stripos() expects parameter 1 to be string, resource given in %s on line %d -bool(false) -Done
\ No newline at end of file +NULL +Done diff --git a/ext/mbstring/tests/mb_stripos_variation2.phpt b/ext/mbstring/tests/mb_stripos_variation2.phpt index 1b5263aa8a..95c2d08957 100644 --- a/ext/mbstring/tests/mb_stripos_variation2.phpt +++ b/ext/mbstring/tests/mb_stripos_variation2.phpt @@ -195,6 +195,6 @@ bool(false) -- Iteration 24 -- Warning: mb_stripos() expects parameter 2 to be string, resource given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_stripos_variation3.phpt b/ext/mbstring/tests/mb_stripos_variation3.phpt index 41a365abfd..21a1293786 100644 --- a/ext/mbstring/tests/mb_stripos_variation3.phpt +++ b/ext/mbstring/tests/mb_stripos_variation3.phpt @@ -4,6 +4,7 @@ Test mb_stripos() function : usage variations - pass different data types as $of <?php extension_loaded('mbstring') or die('skip'); function_exists('mb_stripos') or die("skip mb_stripos() is not available in this build"); +if (PHP_INT_SIZE != 8) die('skip 64-bit only'); ?> --FILE-- <?php @@ -162,33 +163,33 @@ int(8) -- Iteration 16 -- -Warning: mb_stripos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_stripos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 17 -- -Warning: mb_stripos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_stripos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 18 -- -Warning: mb_stripos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_stripos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 19 -- -Warning: mb_stripos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_stripos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 20 -- -Warning: mb_stripos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_stripos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 21 -- -Warning: mb_stripos() expects parameter 3 to be long, object given in %s on line %d -bool(false) +Warning: mb_stripos() expects parameter 3 to be integer, object given in %s on line %d +NULL -- Iteration 22 -- int(8) @@ -198,6 +199,6 @@ int(8) -- Iteration 24 -- -Warning: mb_stripos() expects parameter 3 to be long, resource given in %s on line %d -bool(false) +Warning: mb_stripos() expects parameter 3 to be integer, resource given in %s on line %d +NULL Done diff --git a/ext/mbstring/tests/mb_stripos_variation4.phpt b/ext/mbstring/tests/mb_stripos_variation4.phpt index f330bbdae8..a8d36f9e45 100644 --- a/ext/mbstring/tests/mb_stripos_variation4.phpt +++ b/ext/mbstring/tests/mb_stripos_variation4.phpt @@ -219,5 +219,5 @@ bool(false) -- Iteration 24 -- Warning: mb_stripos() expects parameter 4 to be string, resource given in %s on line %d -bool(false) -Done
\ No newline at end of file +NULL +Done diff --git a/ext/mbstring/tests/mb_stristr_error1.phpt b/ext/mbstring/tests/mb_stristr_error1.phpt index 3c766c4fad..8c81b0766d 100644 --- a/ext/mbstring/tests/mb_stristr_error1.phpt +++ b/ext/mbstring/tests/mb_stristr_error1.phpt @@ -38,10 +38,10 @@ var_dump( mb_stristr($haystack) ); -- Testing mb_stristr() function with more than expected no. of arguments -- Warning: mb_stristr() expects at most 4 parameters, 5 given in %s on line %d -bool(false) +NULL -- Testing mb_stristr() function with less than expected no. of arguments -- Warning: mb_stristr() expects at least 2 parameters, 1 given in %s on line %d -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_stristr_variation1.phpt b/ext/mbstring/tests/mb_stristr_variation1.phpt index fc69bd065e..9483c379e0 100644 --- a/ext/mbstring/tests/mb_stristr_variation1.phpt +++ b/ext/mbstring/tests/mb_stristr_variation1.phpt @@ -150,19 +150,19 @@ bool(false) --empty array-- Error: 2 - mb_stristr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_stristr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_stristr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_stristr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- bool(false) @@ -193,7 +193,7 @@ bool(false) --instance of classWithoutToString-- Error: 2 - mb_stristr() expects parameter 1 to be string, object given, %s(%d) -bool(false) +NULL --undefined var-- bool(false) @@ -203,6 +203,6 @@ bool(false) --resource-- Error: 2 - mb_stristr() expects parameter 1 to be string, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_stristr_variation2.phpt b/ext/mbstring/tests/mb_stristr_variation2.phpt index bfa1835eed..0aeea8e68c 100644 --- a/ext/mbstring/tests/mb_stristr_variation2.phpt +++ b/ext/mbstring/tests/mb_stristr_variation2.phpt @@ -150,19 +150,19 @@ bool(false) --empty array-- Error: 2 - mb_stristr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_stristr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_stristr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_stristr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- Error: 2 - mb_stristr(): Empty delimiter, %s(%d) @@ -199,7 +199,7 @@ bool(false) --instance of classWithoutToString-- Error: 2 - mb_stristr() expects parameter 2 to be string, object given, %s(%d) -bool(false) +NULL --undefined var-- Error: 2 - mb_stristr(): Empty delimiter, %s(%d) @@ -211,6 +211,6 @@ bool(false) --resource-- Error: 2 - mb_stristr() expects parameter 2 to be string, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_stristr_variation3.phpt b/ext/mbstring/tests/mb_stristr_variation3.phpt index 30a7e4989b..d06ad15070 100644 --- a/ext/mbstring/tests/mb_stristr_variation3.phpt +++ b/ext/mbstring/tests/mb_stristr_variation3.phpt @@ -118,7 +118,7 @@ $inputs = array( foreach($inputs as $key =>$value) { echo "\n--$key--\n"; $res = mb_stristr($haystack, $needle, $value, $encoding); - if ($res === false) { + if ($res === NULL) { var_dump($res); } else { @@ -162,19 +162,19 @@ string(12) "737472696e67" --empty array-- Error: 2 - mb_stristr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_stristr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_stristr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_stristr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- string(8) "5f76616c" @@ -214,11 +214,11 @@ string(12) "737472696e67" --instance of classWithToString-- Error: 2 - mb_stristr() expects parameter 3 to be boolean, object given, %s(%d) -bool(false) +NULL --instance of classWithoutToString-- Error: 2 - mb_stristr() expects parameter 3 to be boolean, object given, %s(%d) -bool(false) +NULL --undefined var-- string(8) "5f76616c" @@ -228,5 +228,5 @@ string(8) "5f76616c" --resource-- Error: 2 - mb_stristr() expects parameter 3 to be boolean, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_stristr_variation4.phpt b/ext/mbstring/tests/mb_stristr_variation4.phpt index d547543aed..c735e0c7a7 100644 --- a/ext/mbstring/tests/mb_stristr_variation4.phpt +++ b/ext/mbstring/tests/mb_stristr_variation4.phpt @@ -159,19 +159,19 @@ bool(false) --empty array-- Error: 2 - mb_stristr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_stristr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_stristr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_stristr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- Error: 2 - mb_stristr(): Unknown encoding "", %s(%d) @@ -211,7 +211,7 @@ bool(false) --instance of classWithoutToString-- Error: 2 - mb_stristr() expects parameter 4 to be string, object given, %s(%d) -bool(false) +NULL --undefined var-- Error: 2 - mb_stristr(): Unknown encoding "", %s(%d) @@ -223,5 +223,5 @@ bool(false) --resource-- Error: 2 - mb_stristr() expects parameter 4 to be string, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strlen_error1.phpt b/ext/mbstring/tests/mb_strlen_error1.phpt index 8fcd87ec3a..aff78d60f3 100644 --- a/ext/mbstring/tests/mb_strlen_error1.phpt +++ b/ext/mbstring/tests/mb_strlen_error1.phpt @@ -37,10 +37,10 @@ echo "Done"; -- Testing mb_strlen() function with Zero arguments -- Warning: mb_strlen() expects at least 1 parameter, 0 given in %s on line %d -bool(false) +NULL -- Testing mb_strlen() function with more than expected no. of arguments -- Warning: mb_strlen() expects at most 2 parameters, 3 given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_strlen_variation1.phpt b/ext/mbstring/tests/mb_strlen_variation1.phpt index 3c9cfe3c84..9388c0547d 100644 --- a/ext/mbstring/tests/mb_strlen_variation1.phpt +++ b/ext/mbstring/tests/mb_strlen_variation1.phpt @@ -176,5 +176,5 @@ int(0) -- Iteration 24 -- Warning: mb_strlen() expects parameter 1 to be string, resource given in %s on line %d -bool(false) -Done
\ No newline at end of file +NULL +Done diff --git a/ext/mbstring/tests/mb_strlen_variation2.phpt b/ext/mbstring/tests/mb_strlen_variation2.phpt index 8504bbc5a0..276731ce92 100644 --- a/ext/mbstring/tests/mb_strlen_variation2.phpt +++ b/ext/mbstring/tests/mb_strlen_variation2.phpt @@ -216,5 +216,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strlen() expects parameter 2 to be string, resource given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_strpos.phpt b/ext/mbstring/tests/mb_strpos.phpt index 1d613e9c78..e1222ca6dd 100644 --- a/ext/mbstring/tests/mb_strpos.phpt +++ b/ext/mbstring/tests/mb_strpos.phpt @@ -103,13 +103,13 @@ $r = mb_strpos($euc_jp, b"\n"); echo "== INVALID PARAMETER TEST ==\n"; $r = mb_strpos($euc_jp,'','EUC-JP'); -($r === FALSE) ? print("OK_NULL\n") : print("NG_NULL\n"); +($r === NULL) ? print("OK_NULL\n") : print("NG_NULL\n"); $r = mb_strpos($euc_jp, $t_ary, 'EUC-JP'); -($r === FALSE) ? print("OK_ARRAY\n") : print("NG_ARRAY\n"); +($r === NULL) ? print("OK_ARRAY\n") : print("NG_ARRAY\n"); $r = mb_strpos($euc_jp, $t_obj, 'EUC-JP'); -($r === FALSE) ? print("OK_OBJECT\n") : print("NG_OBJECT\n"); +($r === NULL) ? print("OK_OBJECT\n") : print("NG_OBJECT\n"); $r = mb_strpos($euc_jp, $t_obj, 'BAD_ENCODING'); -($r === FALSE) ? print("OK_BAD_ENCODING\n") : print("NG_BAD_ENCODING\n"); +($r === NULL) ? print("OK_BAD_ENCODING\n") : print("NG_BAD_ENCODING\n"); ?> diff --git a/ext/mbstring/tests/mb_strpos_error1.phpt b/ext/mbstring/tests/mb_strpos_error1.phpt index 8f5ba85423..ef0cbafeff 100644 --- a/ext/mbstring/tests/mb_strpos_error1.phpt +++ b/ext/mbstring/tests/mb_strpos_error1.phpt @@ -41,10 +41,10 @@ echo "Done"; -- Testing mb_strpos() function with more than expected no. of arguments -- Warning: mb_strpos() expects at most 4 parameters, 5 given in %s on line %d -bool(false) +NULL -- Testing mb_strpos() function with less than expected no. of arguments -- Warning: mb_strpos() expects at least 2 parameters, 1 given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_strpos_variation1.phpt b/ext/mbstring/tests/mb_strpos_variation1.phpt index d665f8f7ef..0684724b5c 100644 --- a/ext/mbstring/tests/mb_strpos_variation1.phpt +++ b/ext/mbstring/tests/mb_strpos_variation1.phpt @@ -178,5 +178,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strpos() expects parameter 1 to be string, resource given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_strpos_variation2.phpt b/ext/mbstring/tests/mb_strpos_variation2.phpt index d6feb49231..486b2bb3e5 100644 --- a/ext/mbstring/tests/mb_strpos_variation2.phpt +++ b/ext/mbstring/tests/mb_strpos_variation2.phpt @@ -194,5 +194,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strpos() expects parameter 2 to be string, resource given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_strpos_variation3.phpt b/ext/mbstring/tests/mb_strpos_variation3.phpt index 65572b5f04..8079a19021 100644 --- a/ext/mbstring/tests/mb_strpos_variation3.phpt +++ b/ext/mbstring/tests/mb_strpos_variation3.phpt @@ -4,6 +4,7 @@ Test mb_strpos() function : usage variations - pass different data types as $off <?php extension_loaded('mbstring') or die('skip'); function_exists('mb_strpos') or die("skip mb_strpos() is not available in this build"); +if (PHP_INT_SIZE != 8) die('skip 64-bit only'); ?> --FILE-- <?php @@ -161,33 +162,33 @@ int(8) -- Iteration 16 -- -Warning: mb_strpos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_strpos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 17 -- -Warning: mb_strpos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_strpos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 18 -- -Warning: mb_strpos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_strpos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 19 -- -Warning: mb_strpos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_strpos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 20 -- -Warning: mb_strpos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_strpos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 21 -- -Warning: mb_strpos() expects parameter 3 to be long, object given in %s on line %d -bool(false) +Warning: mb_strpos() expects parameter 3 to be integer, object given in %s on line %d +NULL -- Iteration 22 -- int(8) @@ -197,6 +198,6 @@ int(8) -- Iteration 24 -- -Warning: mb_strpos() expects parameter 3 to be long, resource given in %s on line %d -bool(false) +Warning: mb_strpos() expects parameter 3 to be integer, resource given in %s on line %d +NULL Done diff --git a/ext/mbstring/tests/mb_strpos_variation4.phpt b/ext/mbstring/tests/mb_strpos_variation4.phpt index 0fca8bb1f2..4051646ae4 100644 --- a/ext/mbstring/tests/mb_strpos_variation4.phpt +++ b/ext/mbstring/tests/mb_strpos_variation4.phpt @@ -218,5 +218,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strpos() expects parameter 4 to be string, resource given in %s on line %d -bool(false) -Done
\ No newline at end of file +NULL +Done diff --git a/ext/mbstring/tests/mb_strrchr_error1.phpt b/ext/mbstring/tests/mb_strrchr_error1.phpt index 5ebb3d06f6..bb6ff0fab0 100644 --- a/ext/mbstring/tests/mb_strrchr_error1.phpt +++ b/ext/mbstring/tests/mb_strrchr_error1.phpt @@ -38,10 +38,10 @@ var_dump( mb_strrchr($haystack) ); -- Testing mb_strrchr() function with more than expected no. of arguments -- Warning: mb_strrchr() expects at most 4 parameters, 5 given in %s on line %d -bool(false) +NULL -- Testing mb_strrchr() function with less than expected no. of arguments -- Warning: mb_strrchr() expects at least 2 parameters, 1 given in %s on line %d -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strrchr_variation1.phpt b/ext/mbstring/tests/mb_strrchr_variation1.phpt index 18eb52ea28..a0952a87ea 100644 --- a/ext/mbstring/tests/mb_strrchr_variation1.phpt +++ b/ext/mbstring/tests/mb_strrchr_variation1.phpt @@ -150,19 +150,19 @@ bool(false) --empty array-- Error: 2 - mb_strrchr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_strrchr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_strrchr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_strrchr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- bool(false) @@ -193,7 +193,7 @@ bool(false) --instance of classWithoutToString-- Error: 2 - mb_strrchr() expects parameter 1 to be string, object given, %s(%d) -bool(false) +NULL --undefined var-- bool(false) @@ -203,5 +203,5 @@ bool(false) --resource-- Error: 2 - mb_strrchr() expects parameter 1 to be string, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strrchr_variation2.phpt b/ext/mbstring/tests/mb_strrchr_variation2.phpt index f9b7107830..c368bd8c9d 100644 --- a/ext/mbstring/tests/mb_strrchr_variation2.phpt +++ b/ext/mbstring/tests/mb_strrchr_variation2.phpt @@ -150,19 +150,19 @@ bool(false) --empty array-- Error: 2 - mb_strrchr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_strrchr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_strrchr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_strrchr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- bool(false) @@ -193,7 +193,7 @@ bool(false) --instance of classWithoutToString-- Error: 2 - mb_strrchr() expects parameter 2 to be string, object given, %s(%d) -bool(false) +NULL --undefined var-- bool(false) @@ -203,5 +203,5 @@ bool(false) --resource-- Error: 2 - mb_strrchr() expects parameter 2 to be string, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strrchr_variation3.phpt b/ext/mbstring/tests/mb_strrchr_variation3.phpt index 4a16f55b48..ad9c4e356d 100644 --- a/ext/mbstring/tests/mb_strrchr_variation3.phpt +++ b/ext/mbstring/tests/mb_strrchr_variation3.phpt @@ -118,7 +118,7 @@ $inputs = array( foreach($inputs as $key =>$value) { echo "\n--$key--\n"; $res = mb_strrchr($haystack, $needle, $value, $encoding); - if ($res === false) { + if ($res === NULL) { var_dump($res); } else { @@ -162,19 +162,19 @@ string(12) "737472696e67" --empty array-- Error: 2 - mb_strrchr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_strrchr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_strrchr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_strrchr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- string(8) "5f76616c" @@ -214,11 +214,11 @@ string(12) "737472696e67" --instance of classWithToString-- Error: 2 - mb_strrchr() expects parameter 3 to be boolean, object given, %s(%d) -bool(false) +NULL --instance of classWithoutToString-- Error: 2 - mb_strrchr() expects parameter 3 to be boolean, object given, %s(%d) -bool(false) +NULL --undefined var-- string(8) "5f76616c" @@ -228,5 +228,5 @@ string(8) "5f76616c" --resource-- Error: 2 - mb_strrchr() expects parameter 3 to be boolean, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strrchr_variation4.phpt b/ext/mbstring/tests/mb_strrchr_variation4.phpt index b9e014706c..f9dadab5f0 100644 --- a/ext/mbstring/tests/mb_strrchr_variation4.phpt +++ b/ext/mbstring/tests/mb_strrchr_variation4.phpt @@ -159,19 +159,19 @@ bool(false) --empty array-- Error: 2 - mb_strrchr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_strrchr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_strrchr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_strrchr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- Error: 2 - mb_strrchr(): Unknown encoding "", %s(%d) @@ -211,7 +211,7 @@ bool(false) --instance of classWithoutToString-- Error: 2 - mb_strrchr() expects parameter 4 to be string, object given, %s(%d) -bool(false) +NULL --undefined var-- Error: 2 - mb_strrchr(): Unknown encoding "", %s(%d) @@ -223,5 +223,5 @@ bool(false) --resource-- Error: 2 - mb_strrchr() expects parameter 4 to be string, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strrichr_error1.phpt b/ext/mbstring/tests/mb_strrichr_error1.phpt index 2c2ed61149..01d33f342f 100644 --- a/ext/mbstring/tests/mb_strrichr_error1.phpt +++ b/ext/mbstring/tests/mb_strrichr_error1.phpt @@ -38,10 +38,10 @@ var_dump( mb_strrichr($haystack) ); -- Testing mb_strrichr() function with more than expected no. of arguments -- Warning: mb_strrichr() expects at most 4 parameters, 5 given in %s on line %d -bool(false) +NULL -- Testing mb_strrichr() function with less than expected no. of arguments -- Warning: mb_strrichr() expects at least 2 parameters, 1 given in %s on line %d -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strrichr_variation1.phpt b/ext/mbstring/tests/mb_strrichr_variation1.phpt index d826ccf407..e350718e77 100644 --- a/ext/mbstring/tests/mb_strrichr_variation1.phpt +++ b/ext/mbstring/tests/mb_strrichr_variation1.phpt @@ -150,19 +150,19 @@ bool(false) --empty array-- Error: 2 - mb_strrichr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_strrichr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_strrichr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_strrichr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- bool(false) @@ -193,7 +193,7 @@ bool(false) --instance of classWithoutToString-- Error: 2 - mb_strrichr() expects parameter 1 to be string, object given, %s(%d) -bool(false) +NULL --undefined var-- bool(false) @@ -203,5 +203,5 @@ bool(false) --resource-- Error: 2 - mb_strrichr() expects parameter 1 to be string, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strrichr_variation2.phpt b/ext/mbstring/tests/mb_strrichr_variation2.phpt index 1a4a73fe44..3300ea5a61 100644 --- a/ext/mbstring/tests/mb_strrichr_variation2.phpt +++ b/ext/mbstring/tests/mb_strrichr_variation2.phpt @@ -150,19 +150,19 @@ bool(false) --empty array-- Error: 2 - mb_strrichr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_strrichr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_strrichr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_strrichr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- bool(false) @@ -193,7 +193,7 @@ bool(false) --instance of classWithoutToString-- Error: 2 - mb_strrichr() expects parameter 2 to be string, object given, %s(%d) -bool(false) +NULL --undefined var-- bool(false) @@ -203,5 +203,5 @@ bool(false) --resource-- Error: 2 - mb_strrichr() expects parameter 2 to be string, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strrichr_variation3.phpt b/ext/mbstring/tests/mb_strrichr_variation3.phpt index 68e8083bdc..b57f309022 100644 --- a/ext/mbstring/tests/mb_strrichr_variation3.phpt +++ b/ext/mbstring/tests/mb_strrichr_variation3.phpt @@ -118,7 +118,7 @@ $inputs = array( foreach($inputs as $key =>$value) { echo "\n--$key--\n"; $res = mb_strrichr($haystack, $needle, $value, $encoding); - if ($res === false) { + if ($res === NULL) { var_dump($res); } else { @@ -162,19 +162,19 @@ string(12) "737472696e67" --empty array-- Error: 2 - mb_strrichr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_strrichr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_strrichr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_strrichr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- string(8) "5f76616c" @@ -214,11 +214,11 @@ string(12) "737472696e67" --instance of classWithToString-- Error: 2 - mb_strrichr() expects parameter 3 to be boolean, object given, %s(%d) -bool(false) +NULL --instance of classWithoutToString-- Error: 2 - mb_strrichr() expects parameter 3 to be boolean, object given, %s(%d) -bool(false) +NULL --undefined var-- string(8) "5f76616c" @@ -228,5 +228,5 @@ string(8) "5f76616c" --resource-- Error: 2 - mb_strrichr() expects parameter 3 to be boolean, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strrichr_variation4.phpt b/ext/mbstring/tests/mb_strrichr_variation4.phpt index d2e5754c1d..2d04665884 100644 --- a/ext/mbstring/tests/mb_strrichr_variation4.phpt +++ b/ext/mbstring/tests/mb_strrichr_variation4.phpt @@ -159,19 +159,19 @@ bool(false) --empty array-- Error: 2 - mb_strrichr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_strrichr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_strrichr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_strrichr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- Error: 2 - mb_strrichr(): Unknown encoding "", %s(%d) @@ -211,7 +211,7 @@ bool(false) --instance of classWithoutToString-- Error: 2 - mb_strrichr() expects parameter 4 to be string, object given, %s(%d) -bool(false) +NULL --undefined var-- Error: 2 - mb_strrichr(): Unknown encoding "", %s(%d) @@ -223,5 +223,5 @@ bool(false) --resource-- Error: 2 - mb_strrichr() expects parameter 4 to be string, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strripos_error1.phpt b/ext/mbstring/tests/mb_strripos_error1.phpt index 9d114d55a4..955482b66f 100644 --- a/ext/mbstring/tests/mb_strripos_error1.phpt +++ b/ext/mbstring/tests/mb_strripos_error1.phpt @@ -42,10 +42,10 @@ echo "Done"; -- Testing mb_strripos() function with more than expected no. of arguments -- Warning: mb_strripos() expects at most 4 parameters, 5 given in %s on line %d -bool(false) +NULL -- Testing mb_strripos() function with less than expected no. of arguments -- Warning: mb_strripos() expects at least 2 parameters, 1 given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_strripos_variation1.phpt b/ext/mbstring/tests/mb_strripos_variation1.phpt index 704b501778..858705afc2 100644 --- a/ext/mbstring/tests/mb_strripos_variation1.phpt +++ b/ext/mbstring/tests/mb_strripos_variation1.phpt @@ -179,5 +179,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strripos() expects parameter 1 to be string, resource given in %s on line %d -bool(false) -Done
\ No newline at end of file +NULL +Done diff --git a/ext/mbstring/tests/mb_strripos_variation2.phpt b/ext/mbstring/tests/mb_strripos_variation2.phpt index 61196f007e..d16c250078 100644 --- a/ext/mbstring/tests/mb_strripos_variation2.phpt +++ b/ext/mbstring/tests/mb_strripos_variation2.phpt @@ -179,5 +179,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strripos() expects parameter 2 to be string, resource given in %s on line %d -bool(false) -Done
\ No newline at end of file +NULL +Done diff --git a/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt b/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt index c8fb933363..d580000463 100644 --- a/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt +++ b/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt @@ -4,6 +4,7 @@ Test mb_strripos() function : usage variations - pass different data types as $o <?php extension_loaded('mbstring') or die('skip'); function_exists('mb_strripos') or die("skip mb_strripos() is not available in this build"); +if (PHP_INT_SIZE != 8) die('skip 64-bit only'); ?> --FILE-- <?php @@ -164,33 +165,33 @@ int(8) -- Iteration 16 -- -Warning: mb_strripos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_strripos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 17 -- -Warning: mb_strripos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_strripos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 18 -- -Warning: mb_strripos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_strripos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 19 -- -Warning: mb_strripos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_strripos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 20 -- -Warning: mb_strripos() expects parameter 3 to be long, string given in %s on line %d -bool(false) +Warning: mb_strripos() expects parameter 3 to be integer, string given in %s on line %d +NULL -- Iteration 21 -- -Warning: mb_strripos() expects parameter 3 to be long, object given in %s on line %d -bool(false) +Warning: mb_strripos() expects parameter 3 to be integer, object given in %s on line %d +NULL -- Iteration 22 -- int(8) @@ -200,7 +201,7 @@ int(8) -- Iteration 24 -- -Warning: mb_strripos() expects parameter 3 to be long, resource given in %s on line %d -bool(false) +Warning: mb_strripos() expects parameter 3 to be integer, resource given in %s on line %d +NULL Done diff --git a/ext/mbstring/tests/mb_strripos_variation4.phpt b/ext/mbstring/tests/mb_strripos_variation4.phpt index d617872efb..c58568b697 100644 --- a/ext/mbstring/tests/mb_strripos_variation4.phpt +++ b/ext/mbstring/tests/mb_strripos_variation4.phpt @@ -219,5 +219,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strripos() expects parameter 4 to be string, resource given in %s on line %d -bool(false) -Done
\ No newline at end of file +NULL +Done diff --git a/ext/mbstring/tests/mb_strrpos_error1.phpt b/ext/mbstring/tests/mb_strrpos_error1.phpt index 15228fec81..892599acc2 100644 --- a/ext/mbstring/tests/mb_strrpos_error1.phpt +++ b/ext/mbstring/tests/mb_strrpos_error1.phpt @@ -41,10 +41,10 @@ echo "Done"; -- Testing mb_strrpos() function with more than expected no. of arguments -- Warning: mb_strrpos() expects at most 4 parameters, 5 given in %s on line %d -bool(false) +NULL -- Testing mb_strrpos() function with less than expected no. of arguments -- Warning: mb_strrpos() expects at least 2 parameters, 1 given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_strrpos_variation1.phpt b/ext/mbstring/tests/mb_strrpos_variation1.phpt index 2d2db9003c..8b1713f9f1 100644 --- a/ext/mbstring/tests/mb_strrpos_variation1.phpt +++ b/ext/mbstring/tests/mb_strrpos_variation1.phpt @@ -177,5 +177,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strrpos() expects parameter 1 to be string, resource given in %s on line %d -bool(false) -Done
\ No newline at end of file +NULL +Done diff --git a/ext/mbstring/tests/mb_strrpos_variation2.phpt b/ext/mbstring/tests/mb_strrpos_variation2.phpt index 1566b5cb5f..c2855e0f81 100644 --- a/ext/mbstring/tests/mb_strrpos_variation2.phpt +++ b/ext/mbstring/tests/mb_strrpos_variation2.phpt @@ -179,5 +179,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strrpos() expects parameter 2 to be string, resource given in %s on line %d -bool(false) +NULL Done diff --git a/ext/mbstring/tests/mb_strrpos_variation4.phpt b/ext/mbstring/tests/mb_strrpos_variation4.phpt index 198ce8fc70..9d9a5f2358 100644 --- a/ext/mbstring/tests/mb_strrpos_variation4.phpt +++ b/ext/mbstring/tests/mb_strrpos_variation4.phpt @@ -218,5 +218,5 @@ bool(false) -- Iteration 24 -- Warning: mb_strrpos() expects parameter 4 to be string, resource given in %s on line %d -bool(false) -Done
\ No newline at end of file +NULL +Done diff --git a/ext/mbstring/tests/mb_strstr_error1.phpt b/ext/mbstring/tests/mb_strstr_error1.phpt index f38d5c9ccd..ffbb636160 100644 --- a/ext/mbstring/tests/mb_strstr_error1.phpt +++ b/ext/mbstring/tests/mb_strstr_error1.phpt @@ -38,10 +38,10 @@ var_dump( mb_strstr($haystack) ); -- Testing mb_strstr() function with more than expected no. of arguments -- Warning: mb_strstr() expects at most 4 parameters, 5 given in %s on line %d -bool(false) +NULL -- Testing mb_strstr() function with less than expected no. of arguments -- Warning: mb_strstr() expects at least 2 parameters, 1 given in %s on line %d -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strstr_variation1.phpt b/ext/mbstring/tests/mb_strstr_variation1.phpt index 48e7c537ee..826014feae 100644 --- a/ext/mbstring/tests/mb_strstr_variation1.phpt +++ b/ext/mbstring/tests/mb_strstr_variation1.phpt @@ -150,19 +150,19 @@ bool(false) --empty array-- Error: 2 - mb_strstr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_strstr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_strstr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_strstr() expects parameter 1 to be string, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- bool(false) @@ -193,7 +193,7 @@ bool(false) --instance of classWithoutToString-- Error: 2 - mb_strstr() expects parameter 1 to be string, object given, %s(%d) -bool(false) +NULL --undefined var-- bool(false) @@ -203,5 +203,5 @@ bool(false) --resource-- Error: 2 - mb_strstr() expects parameter 1 to be string, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strstr_variation2.phpt b/ext/mbstring/tests/mb_strstr_variation2.phpt index f70bb67ada..18820bab0f 100644 --- a/ext/mbstring/tests/mb_strstr_variation2.phpt +++ b/ext/mbstring/tests/mb_strstr_variation2.phpt @@ -150,19 +150,19 @@ bool(false) --empty array-- Error: 2 - mb_strstr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_strstr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_strstr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_strstr() expects parameter 2 to be string, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- Error: 2 - mb_strstr(): Empty delimiter, %s(%d) @@ -199,7 +199,7 @@ bool(false) --instance of classWithoutToString-- Error: 2 - mb_strstr() expects parameter 2 to be string, object given, %s(%d) -bool(false) +NULL --undefined var-- Error: 2 - mb_strstr(): Empty delimiter, %s(%d) @@ -211,5 +211,5 @@ bool(false) --resource-- Error: 2 - mb_strstr() expects parameter 2 to be string, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strstr_variation3.phpt b/ext/mbstring/tests/mb_strstr_variation3.phpt index 55c8f31d96..7a8b7c6757 100644 --- a/ext/mbstring/tests/mb_strstr_variation3.phpt +++ b/ext/mbstring/tests/mb_strstr_variation3.phpt @@ -118,7 +118,7 @@ $inputs = array( foreach($inputs as $key =>$value) { echo "\n--$key--\n"; $res = mb_strstr($haystack, $needle, $value, $encoding); - if ($res === false) { + if ($res === NULL) { var_dump($res); } else { @@ -162,19 +162,19 @@ string(12) "737472696e67" --empty array-- Error: 2 - mb_strstr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_strstr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_strstr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_strstr() expects parameter 3 to be boolean, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- string(8) "5f76616c" @@ -214,11 +214,11 @@ string(12) "737472696e67" --instance of classWithToString-- Error: 2 - mb_strstr() expects parameter 3 to be boolean, object given, %s(%d) -bool(false) +NULL --instance of classWithoutToString-- Error: 2 - mb_strstr() expects parameter 3 to be boolean, object given, %s(%d) -bool(false) +NULL --undefined var-- string(8) "5f76616c" @@ -228,5 +228,5 @@ string(8) "5f76616c" --resource-- Error: 2 - mb_strstr() expects parameter 3 to be boolean, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/mb_strstr_variation4.phpt b/ext/mbstring/tests/mb_strstr_variation4.phpt index 3a208d3122..e13428f633 100644 --- a/ext/mbstring/tests/mb_strstr_variation4.phpt +++ b/ext/mbstring/tests/mb_strstr_variation4.phpt @@ -159,19 +159,19 @@ bool(false) --empty array-- Error: 2 - mb_strstr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --int indexed array-- Error: 2 - mb_strstr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --associative array-- Error: 2 - mb_strstr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --nested arrays-- Error: 2 - mb_strstr() expects parameter 4 to be string, array given, %s(%d) -bool(false) +NULL --uppercase NULL-- Error: 2 - mb_strstr(): Unknown encoding "", %s(%d) @@ -211,7 +211,7 @@ bool(false) --instance of classWithoutToString-- Error: 2 - mb_strstr() expects parameter 4 to be string, object given, %s(%d) -bool(false) +NULL --undefined var-- Error: 2 - mb_strstr(): Unknown encoding "", %s(%d) @@ -223,5 +223,5 @@ bool(false) --resource-- Error: 2 - mb_strstr() expects parameter 4 to be string, resource given, %s(%d) -bool(false) +NULL ===DONE=== diff --git a/ext/mbstring/tests/overload02.phpt b/ext/mbstring/tests/overload02.phpt index 9b5cecdc40..ad007cc066 100644 --- a/ext/mbstring/tests/overload02.phpt +++ b/ext/mbstring/tests/overload02.phpt @@ -24,7 +24,7 @@ $converted_str = mb_convert_encoding($str, 'Shift_JIS'); mb_regex_encoding('Shift_JIS'); foreach($ngchars as $c) { $c = mb_convert_encoding($c, 'Shift_JIS'); - $replaced = mb_convert_encoding(ereg_replace($c, '!!', $converted_str), mb_internal_encoding(), 'Shift_JIS'); + $replaced = mb_convert_encoding(str_replace($c, '!!', $converted_str), mb_internal_encoding(), 'Shift_JIS'); var_dump(strpos($replaced, '!!')); } ?> diff --git a/ext/mbstring/tests/php_gr_jp_10830.phpt b/ext/mbstring/tests/php_gr_jp_10830.phpt index 1cbfc2ae1f..f9599d995f 100644 --- a/ext/mbstring/tests/php_gr_jp_10830.phpt +++ b/ext/mbstring/tests/php_gr_jp_10830.phpt @@ -10,11 +10,9 @@ function_exists('mb_ereg') or die("skip mb_ereg() is not available in this build $a="aaa\n<>"; var_dump( mb_ereg("^[^><]+$",$a) ); -var_dump( ereg("^[^><]+$",$a) ); +var_dump( !!preg_match("/^[^><]+$/",$a) ); ?> --EXPECTF-- bool(false) - -Deprecated: Function ereg() is deprecated in %s on line %d bool(false) diff --git a/ext/mbstring/tests/php_gr_jp_dev_884-1.phpt b/ext/mbstring/tests/php_gr_jp_dev_884-1.phpt index 64fc054aab..4978d0ce57 100644 --- a/ext/mbstring/tests/php_gr_jp_dev_884-1.phpt +++ b/ext/mbstring/tests/php_gr_jp_dev_884-1.phpt @@ -8,12 +8,9 @@ function_exists('mb_ereg_replace') or die("skip mb_ereg_replace() is not availab --FILE-- <?php set_time_limit(2); -var_dump(ereg_replace(".*", "b", "a")); var_dump(preg_replace("/.*/", "b", "a")); var_dump(mb_ereg_replace(".*", "b", "a")); ?> --EXPECTF-- -Deprecated: Function ereg_replace() is deprecated in %s on line %d -string(2) "bb" string(2) "bb" string(2) "bb" diff --git a/ext/mbstring/tests/php_gr_jp_dev_884-2.phpt b/ext/mbstring/tests/php_gr_jp_dev_884-2.phpt index 937b2171b5..2f74dff64b 100644 --- a/ext/mbstring/tests/php_gr_jp_dev_884-2.phpt +++ b/ext/mbstring/tests/php_gr_jp_dev_884-2.phpt @@ -8,16 +8,12 @@ function_exists('mb_ereg_replace') or die("skip mb_ereg_replace() is not availab --FILE-- <?php var_dump(mb_ereg_replace("C?$", "Z", "ABC")); -var_dump(ereg_replace("C?$", "Z", "ABC")); +var_dump(preg_replace("/C?$/", "Z", "ABC")); var_dump(mb_ereg_replace("C*$", "Z", "ABC")); -var_dump(ereg_replace("C*$", "Z", "ABC")); +var_dump(preg_replace("/C*$/", "Z", "ABC")); ?> --EXPECTF-- string(4) "ABZZ" - -Deprecated: Function ereg_replace() is deprecated in %s on line %d string(4) "ABZZ" string(4) "ABZZ" - -Deprecated: Function ereg_replace() is deprecated in %s on line %d string(4) "ABZZ" diff --git a/ext/mbstring/tests/zend_multibyte-02.phpt b/ext/mbstring/tests/zend_multibyte-02.phpt index ebc10b48be..7db444841e 100644 --- a/ext/mbstring/tests/zend_multibyte-02.phpt +++ b/ext/mbstring/tests/zend_multibyte-02.phpt @@ -1,8 +1,7 @@ --TEST-- zend multibyte (2) ---XFAIL-- -https://bugs.php.net/bug.php?id=66582 --INI-- +error_reporting=E_ALL & ~E_DEPRECATED zend.multibyte=On zend.script_encoding=UTF-8 mbstring.internal_encoding=CP932 @@ -11,4 +10,4 @@ mbstring.internal_encoding=CP932 var_dump(bin2hex("テスト")); ?> --EXPECTF-- -php: Zend/zend_language_scanner.l:%d: encoding_filter_script_to_internal: Assertion `internal_encoding && zend_multibyte_check_lexer_compatibility(internal_encoding)' failed. +string(12) "836583588367" diff --git a/ext/mbstring/tests/zend_multibyte-06.phpt b/ext/mbstring/tests/zend_multibyte-06.phpt index e0b4ead545..7eeac1d353 100644 --- a/ext/mbstring/tests/zend_multibyte-06.phpt +++ b/ext/mbstring/tests/zend_multibyte-06.phpt @@ -1,7 +1,5 @@ --TEST-- zend multibyte (6) ---XFAIL-- -https://bugs.php.net/bug.php?id=66582 --INI-- zend.multibyte=On zend.script_encoding=EUC-JP @@ -12,4 +10,4 @@ declare(encoding="UTF-8"); var_dump(bin2hex("テスト")); ?> --EXPECTF-- -php: Zend/zend_language_scanner.l:%d: encoding_filter_script_to_internal: Assertion `internal_encoding && zend_multibyte_check_lexer_compatibility(internal_encoding)' failed. +string(12) "836583588367" diff --git a/ext/mbstring/tests/zend_multibyte-07.phpt b/ext/mbstring/tests/zend_multibyte-07.phpt index 50d4cd95ed..685c6f1f04 100644 --- a/ext/mbstring/tests/zend_multibyte-07.phpt +++ b/ext/mbstring/tests/zend_multibyte-07.phpt @@ -1,8 +1,5 @@ --TEST-- zend multibyte (7) ---SKIPIF-- ---XFAIL-- -https://bugs.php.net/bug.php?id=66582 --INI-- error_reporting=E_ALL & ~E_DEPRECATED zend.multibyte=On diff --git a/ext/mbstring/tests/zend_multibyte-08.phpt b/ext/mbstring/tests/zend_multibyte-08.phpt index 561ad64038..9e5b75eadd 100644 --- a/ext/mbstring/tests/zend_multibyte-08.phpt +++ b/ext/mbstring/tests/zend_multibyte-08.phpt @@ -1,8 +1,5 @@ --TEST-- zend multibyte (8) ---SKIPIF-- ---XFAIL-- -https://bugs.php.net/bug.php?id=66582 - still leaks memory which causes fail in debug mode --INI-- zend.multibyte=On zend.script_encoding=ISO-8859-1 diff --git a/ext/mbstring/tests/zend_multibyte-09.phpt b/ext/mbstring/tests/zend_multibyte-09.phpt index 7b0015c6c1..f9b8bf734f 100644 --- a/ext/mbstring/tests/zend_multibyte-09.phpt +++ b/ext/mbstring/tests/zend_multibyte-09.phpt @@ -1,8 +1,5 @@ --TEST-- zend multibyte (9) ---SKIPIF-- ---XFAIL-- -https://bugs.php.net/bug.php?id=66582 --INI-- error_reporting=E_ALL & ~E_DEPRECATED zend.multibyte=On diff --git a/ext/mbstring/tests/zend_multibyte-10.phpt b/ext/mbstring/tests/zend_multibyte-10.phpt index b4f85e6f35..ef8ce9d0bc 100644 --- a/ext/mbstring/tests/zend_multibyte-10.phpt +++ b/ext/mbstring/tests/zend_multibyte-10.phpt @@ -1,8 +1,5 @@ --TEST-- zend multibyte (10) ---SKIPIF-- ---XFAIL-- -https://bugs.php.net/bug.php?id=66582 - still leaks memory which causes fail in debug mode --INI-- zend.multibyte=1 --FILE-- @@ -12,4 +9,4 @@ declare(encoding="ISO-8859-1"); echo "ok\n"; ?> --EXPECTF-- -ok +ok
\ No newline at end of file diff --git a/ext/mbstring/tests/zend_multibyte-11.phpt b/ext/mbstring/tests/zend_multibyte-11.phpt index eadbb2156d..0f9874b538 100644 --- a/ext/mbstring/tests/zend_multibyte-11.phpt +++ b/ext/mbstring/tests/zend_multibyte-11.phpt @@ -1,8 +1,5 @@ --TEST-- zend multibyte (11) ---SKIPIF-- ---XFAIL-- -https://bugs.php.net/bug.php?id=66582 - still leaks memory which causes fail in debug mode --INI-- zend.multibyte=1 --FILE-- @@ -13,4 +10,4 @@ declare(encoding="ISO-8859-15") { } ?> --EXPECTF-- -ok +Fatal error: Encoding declaration pragma must be the very first statement in the script in %s on line %d
\ No newline at end of file diff --git a/ext/mbstring/tests/zend_multibyte-12.phpt b/ext/mbstring/tests/zend_multibyte-12.phpt index 90968e8820..bbfa25d97f 100644 --- a/ext/mbstring/tests/zend_multibyte-12.phpt +++ b/ext/mbstring/tests/zend_multibyte-12.phpt @@ -1,6 +1,5 @@ --TEST-- zend multibyte (12) ---SKIPIF-- --INI-- zend.multibyte=1 --FILE-- diff --git a/ext/mbstring/tests/zend_multibyte-15.phpt b/ext/mbstring/tests/zend_multibyte-15.phpt new file mode 100644 index 0000000000..6995444bbb --- /dev/null +++ b/ext/mbstring/tests/zend_multibyte-15.phpt @@ -0,0 +1,16 @@ +--TEST-- +zend multibyte (15) +--INI-- +zend.multibyte=1 +--FILE-- +<?php +declare(encoding="ISO-8859-15") { + echo "ok\n"; +} +declare(encoding="UTF-8") { + echo "ok\n"; +} +?> +--EXPECTF-- +ok +ok
\ No newline at end of file diff --git a/ext/mbstring/tests/zend_multibyte-16.phpt b/ext/mbstring/tests/zend_multibyte-16.phpt new file mode 100644 index 0000000000..4470e3a87f --- /dev/null +++ b/ext/mbstring/tests/zend_multibyte-16.phpt @@ -0,0 +1,14 @@ +--TEST-- +zend multibyte (16) +--INI-- +zend.multibyte=1 +--FILE-- +<?php +declare(encoding="ISO-8859-15") { + echo "ok\n"; +} +echo "ok\n"; +?> +--EXPECTF-- +ok +ok
\ No newline at end of file diff --git a/ext/mbstring/ucgendat/ucgendat.c b/ext/mbstring/ucgendat/ucgendat.c index 6fb1e095b2..f7b8ab5498 100644 --- a/ext/mbstring/ucgendat/ucgendat.c +++ b/ext/mbstring/ucgendat/ucgendat.c @@ -461,7 +461,7 @@ add_decomp(ac_uint4 code, short compat) pdecomps_used = &decomps_used; pdecomps_size = &decomps_size; } - + /* * Add the code to the composite property. */ @@ -965,7 +965,7 @@ read_cdata(FILE *in) i++; } for (e = s; *e && *e != ';'; e++) ; - + ordered_range_insert(code, s, e - s); /* @@ -1065,7 +1065,7 @@ read_cdata(FILE *in) if (*e == '/') { /* - * Move the the denominator of the fraction. + * Move the denominator of the fraction. */ if (neg) number[wnum] *= -1; @@ -1139,7 +1139,7 @@ find_decomp(ac_uint4 code, short compat) { long l, r, m; _decomp_t *decs; - + l = 0; r = (compat ? kdecomps_used : decomps_used) - 1; decs = compat ? kdecomps : decomps; @@ -1520,12 +1520,12 @@ write_cdata(char *opath) * Generate the composition data. * *****************************************************************/ - + /* * Create compositions from decomposition data */ create_comps(); - + #if HARDCODE_DATA fprintf(out, PREF "ac_uint4 _uccomp_size = %ld;\n\n", comps_used * 4L); @@ -1553,28 +1553,28 @@ write_cdata(char *opath) snprintf(path, sizeof path, "%s" LDAP_DIRSEP "comp.dat", opath); if ((out = fopen(path, "wb")) == 0) return; - + /* * Write the header. */ hdr[1] = (ac_uint2) comps_used * 4; fwrite((char *) hdr, sizeof(ac_uint2), 2, out); - + /* * Write out the byte count to maintain header size. */ bytes = comps_used * sizeof(_comp_t); fwrite((char *) &bytes, sizeof(ac_uint4), 1, out); - + /* * Now, if comps exist, write them out. */ if (comps_used > 0) fwrite((char *) comps, sizeof(_comp_t), comps_used, out); - + fclose(out); #endif - + /***************************************************************** * * Generate the decomposition data. diff --git a/ext/mbstring/unicode_data.h b/ext/mbstring/unicode_data.h index 1edec4c926..16ceb6a975 100644 --- a/ext/mbstring/unicode_data.h +++ b/ext/mbstring/unicode_data.h @@ -13,13 +13,13 @@ static const unsigned short _ucprop_size = 50; static const unsigned short _ucprop_offsets[] = { - 0x0000, 0x0196, 0x0278, 0x0280, 0x02cc, 0x02e4, 0x0336, 0x0346, - 0x0348, 0x034a, 0x034e, 0x036c, 0x036e, 0xffff, 0x0374, 0x082a, - 0x0cec, 0x0d00, 0x0d62, 0x0fe6, 0x0ff2, 0x1010, 0x10a0, 0x112c, - 0x122c, 0x12b0, 0x12d0, 0x1306, 0x144e, 0x17c0, 0x181e, 0x1834, - 0x1846, 0x1870, 0x187c, 0x1896, 0x18a0, 0x18a6, 0x18b6, 0x1ba6, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x1d6a, 0x2152, - 0x2168, 0x217c, 0x21a6, 0x0000 + 0x0000, 0x0214, 0x033a, 0x0344, 0x03aa, 0x03c2, 0x0436, 0x0444, + 0x0446, 0x0448, 0x044c, 0x046e, 0x0470, 0xffff, 0x0476, 0x0958, + 0x0e44, 0x0e58, 0x0ec8, 0x122c, 0x1238, 0x125a, 0x12f0, 0x1380, + 0x14ba, 0x153a, 0x155c, 0x1596, 0x16ea, 0x1a76, 0x1af0, 0x1b08, + 0x1b1a, 0x1b46, 0x1b50, 0x1b6a, 0x1b74, 0x1b7a, 0x1b88, 0x1ee4, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x20b0, 0x257c, + 0x2592, 0x25a6, 0x2614, 0x0000 }; static const unsigned int _ucprop_ranges[] = { @@ -34,7 +34,7 @@ static const unsigned int _ucprop_ranges[] = { 0x000007a6, 0x000007b0, 0x000007eb, 0x000007f3, 0x00000816, 0x00000819, 0x0000081b, 0x00000823, 0x00000825, 0x00000827, 0x00000829, 0x0000082d, - 0x00000859, 0x0000085b, 0x00000900, 0x00000902, + 0x00000859, 0x0000085b, 0x000008e3, 0x00000902, 0x0000093a, 0x0000093a, 0x0000093c, 0x0000093c, 0x00000941, 0x00000948, 0x0000094d, 0x0000094d, 0x00000951, 0x00000957, 0x00000962, 0x00000963, @@ -52,136 +52,185 @@ static const unsigned int _ucprop_ranges[] = { 0x00000b41, 0x00000b44, 0x00000b4d, 0x00000b4d, 0x00000b56, 0x00000b56, 0x00000b62, 0x00000b63, 0x00000b82, 0x00000b82, 0x00000bc0, 0x00000bc0, - 0x00000bcd, 0x00000bcd, 0x00000c3e, 0x00000c40, - 0x00000c46, 0x00000c48, 0x00000c4a, 0x00000c4d, - 0x00000c55, 0x00000c56, 0x00000c62, 0x00000c63, + 0x00000bcd, 0x00000bcd, 0x00000c00, 0x00000c00, + 0x00000c3e, 0x00000c40, 0x00000c46, 0x00000c48, + 0x00000c4a, 0x00000c4d, 0x00000c55, 0x00000c56, + 0x00000c62, 0x00000c63, 0x00000c81, 0x00000c81, 0x00000cbc, 0x00000cbc, 0x00000cbf, 0x00000cbf, 0x00000cc6, 0x00000cc6, 0x00000ccc, 0x00000ccd, - 0x00000ce2, 0x00000ce3, 0x00000d41, 0x00000d44, - 0x00000d4d, 0x00000d4d, 0x00000d62, 0x00000d63, - 0x00000dca, 0x00000dca, 0x00000dd2, 0x00000dd4, - 0x00000dd6, 0x00000dd6, 0x00000e31, 0x00000e31, - 0x00000e34, 0x00000e3a, 0x00000e47, 0x00000e4e, - 0x00000eb1, 0x00000eb1, 0x00000eb4, 0x00000eb9, - 0x00000ebb, 0x00000ebc, 0x00000ec8, 0x00000ecd, - 0x00000f18, 0x00000f19, 0x00000f35, 0x00000f35, - 0x00000f37, 0x00000f37, 0x00000f39, 0x00000f39, - 0x00000f71, 0x00000f7e, 0x00000f80, 0x00000f84, - 0x00000f86, 0x00000f87, 0x00000f8d, 0x00000f97, - 0x00000f99, 0x00000fbc, 0x00000fc6, 0x00000fc6, - 0x0000102d, 0x00001030, 0x00001032, 0x00001037, - 0x00001039, 0x0000103a, 0x0000103d, 0x0000103e, - 0x00001058, 0x00001059, 0x0000105e, 0x00001060, - 0x00001071, 0x00001074, 0x00001082, 0x00001082, - 0x00001085, 0x00001086, 0x0000108d, 0x0000108d, - 0x0000109d, 0x0000109d, 0x0000135d, 0x0000135f, - 0x00001712, 0x00001714, 0x00001732, 0x00001734, - 0x00001752, 0x00001753, 0x00001772, 0x00001773, + 0x00000ce2, 0x00000ce3, 0x00000d01, 0x00000d01, + 0x00000d41, 0x00000d44, 0x00000d4d, 0x00000d4d, + 0x00000d62, 0x00000d63, 0x00000dca, 0x00000dca, + 0x00000dd2, 0x00000dd4, 0x00000dd6, 0x00000dd6, + 0x00000e31, 0x00000e31, 0x00000e34, 0x00000e3a, + 0x00000e47, 0x00000e4e, 0x00000eb1, 0x00000eb1, + 0x00000eb4, 0x00000eb9, 0x00000ebb, 0x00000ebc, + 0x00000ec8, 0x00000ecd, 0x00000f18, 0x00000f19, + 0x00000f35, 0x00000f35, 0x00000f37, 0x00000f37, + 0x00000f39, 0x00000f39, 0x00000f71, 0x00000f7e, + 0x00000f80, 0x00000f84, 0x00000f86, 0x00000f87, + 0x00000f8d, 0x00000f97, 0x00000f99, 0x00000fbc, + 0x00000fc6, 0x00000fc6, 0x0000102d, 0x00001030, + 0x00001032, 0x00001037, 0x00001039, 0x0000103a, + 0x0000103d, 0x0000103e, 0x00001058, 0x00001059, + 0x0000105e, 0x00001060, 0x00001071, 0x00001074, + 0x00001082, 0x00001082, 0x00001085, 0x00001086, + 0x0000108d, 0x0000108d, 0x0000109d, 0x0000109d, + 0x0000135d, 0x0000135f, 0x00001712, 0x00001714, + 0x00001732, 0x00001734, 0x00001752, 0x00001753, + 0x00001772, 0x00001773, 0x000017b4, 0x000017b5, 0x000017b7, 0x000017bd, 0x000017c6, 0x000017c6, 0x000017c9, 0x000017d3, 0x000017dd, 0x000017dd, 0x0000180b, 0x0000180d, 0x000018a9, 0x000018a9, 0x00001920, 0x00001922, 0x00001927, 0x00001928, 0x00001932, 0x00001932, 0x00001939, 0x0000193b, - 0x00001a17, 0x00001a18, 0x00001a56, 0x00001a56, - 0x00001a58, 0x00001a5e, 0x00001a60, 0x00001a60, - 0x00001a62, 0x00001a62, 0x00001a65, 0x00001a6c, - 0x00001a73, 0x00001a7c, 0x00001a7f, 0x00001a7f, + 0x00001a17, 0x00001a18, 0x00001a1b, 0x00001a1b, + 0x00001a56, 0x00001a56, 0x00001a58, 0x00001a5e, + 0x00001a60, 0x00001a60, 0x00001a62, 0x00001a62, + 0x00001a65, 0x00001a6c, 0x00001a73, 0x00001a7c, + 0x00001a7f, 0x00001a7f, 0x00001ab0, 0x00001abd, 0x00001b00, 0x00001b03, 0x00001b34, 0x00001b34, 0x00001b36, 0x00001b3a, 0x00001b3c, 0x00001b3c, 0x00001b42, 0x00001b42, 0x00001b6b, 0x00001b73, 0x00001b80, 0x00001b81, 0x00001ba2, 0x00001ba5, - 0x00001ba8, 0x00001ba9, 0x00001be6, 0x00001be6, - 0x00001be8, 0x00001be9, 0x00001bed, 0x00001bed, - 0x00001bef, 0x00001bf1, 0x00001c2c, 0x00001c33, - 0x00001c36, 0x00001c37, 0x00001cd0, 0x00001cd2, - 0x00001cd4, 0x00001ce0, 0x00001ce2, 0x00001ce8, - 0x00001ced, 0x00001ced, 0x00001dc0, 0x00001de6, - 0x00001dfc, 0x00001dff, 0x000020d0, 0x000020dc, - 0x000020e1, 0x000020e1, 0x000020e5, 0x000020f0, - 0x00002cef, 0x00002cf1, 0x00002d7f, 0x00002d7f, - 0x00002de0, 0x00002dff, 0x0000302a, 0x0000302f, - 0x00003099, 0x0000309a, 0x0000a66f, 0x0000a66f, - 0x0000a67c, 0x0000a67d, 0x0000a6f0, 0x0000a6f1, + 0x00001ba8, 0x00001ba9, 0x00001bab, 0x00001bad, + 0x00001be6, 0x00001be6, 0x00001be8, 0x00001be9, + 0x00001bed, 0x00001bed, 0x00001bef, 0x00001bf1, + 0x00001c2c, 0x00001c33, 0x00001c36, 0x00001c37, + 0x00001cd0, 0x00001cd2, 0x00001cd4, 0x00001ce0, + 0x00001ce2, 0x00001ce8, 0x00001ced, 0x00001ced, + 0x00001cf4, 0x00001cf4, 0x00001cf8, 0x00001cf9, + 0x00001dc0, 0x00001df5, 0x00001dfc, 0x00001dff, + 0x000020d0, 0x000020dc, 0x000020e1, 0x000020e1, + 0x000020e5, 0x000020f0, 0x00002cef, 0x00002cf1, + 0x00002d7f, 0x00002d7f, 0x00002de0, 0x00002dff, + 0x0000302a, 0x0000302d, 0x00003099, 0x0000309a, + 0x0000a66f, 0x0000a66f, 0x0000a674, 0x0000a67d, + 0x0000a69e, 0x0000a69f, 0x0000a6f0, 0x0000a6f1, 0x0000a802, 0x0000a802, 0x0000a806, 0x0000a806, 0x0000a80b, 0x0000a80b, 0x0000a825, 0x0000a826, 0x0000a8c4, 0x0000a8c4, 0x0000a8e0, 0x0000a8f1, 0x0000a926, 0x0000a92d, 0x0000a947, 0x0000a951, 0x0000a980, 0x0000a982, 0x0000a9b3, 0x0000a9b3, 0x0000a9b6, 0x0000a9b9, 0x0000a9bc, 0x0000a9bc, - 0x0000aa29, 0x0000aa2e, 0x0000aa31, 0x0000aa32, - 0x0000aa35, 0x0000aa36, 0x0000aa43, 0x0000aa43, - 0x0000aa4c, 0x0000aa4c, 0x0000aab0, 0x0000aab0, + 0x0000a9e5, 0x0000a9e5, 0x0000aa29, 0x0000aa2e, + 0x0000aa31, 0x0000aa32, 0x0000aa35, 0x0000aa36, + 0x0000aa43, 0x0000aa43, 0x0000aa4c, 0x0000aa4c, + 0x0000aa7c, 0x0000aa7c, 0x0000aab0, 0x0000aab0, 0x0000aab2, 0x0000aab4, 0x0000aab7, 0x0000aab8, 0x0000aabe, 0x0000aabf, 0x0000aac1, 0x0000aac1, + 0x0000aaec, 0x0000aaed, 0x0000aaf6, 0x0000aaf6, 0x0000abe5, 0x0000abe5, 0x0000abe8, 0x0000abe8, 0x0000abed, 0x0000abed, 0x0000fb1e, 0x0000fb1e, - 0x0000fe00, 0x0000fe0f, 0x0000fe20, 0x0000fe26, - 0x000101fd, 0x000101fd, 0x00010a01, 0x00010a03, + 0x0000fe00, 0x0000fe0f, 0x0000fe20, 0x0000fe2f, + 0x000101fd, 0x000101fd, 0x000102e0, 0x000102e0, + 0x00010376, 0x0001037a, 0x00010a01, 0x00010a03, 0x00010a05, 0x00010a06, 0x00010a0c, 0x00010a0f, 0x00010a38, 0x00010a3a, 0x00010a3f, 0x00010a3f, - 0x00011001, 0x00011001, 0x00011038, 0x00011046, - 0x00011080, 0x00011081, 0x000110b3, 0x000110b6, - 0x000110b9, 0x000110ba, 0x0001d167, 0x0001d169, + 0x00010ae5, 0x00010ae6, 0x00011001, 0x00011001, + 0x00011038, 0x00011046, 0x0001107f, 0x00011081, + 0x000110b3, 0x000110b6, 0x000110b9, 0x000110ba, + 0x00011100, 0x00011102, 0x00011127, 0x0001112b, + 0x0001112d, 0x00011134, 0x00011173, 0x00011173, + 0x00011180, 0x00011181, 0x000111b6, 0x000111be, + 0x000111ca, 0x000111cc, 0x0001122f, 0x00011231, + 0x00011234, 0x00011234, 0x00011236, 0x00011237, + 0x000112df, 0x000112df, 0x000112e3, 0x000112ea, + 0x00011300, 0x00011301, 0x0001133c, 0x0001133c, + 0x00011340, 0x00011340, 0x00011366, 0x0001136c, + 0x00011370, 0x00011374, 0x000114b3, 0x000114b8, + 0x000114ba, 0x000114ba, 0x000114bf, 0x000114c0, + 0x000114c2, 0x000114c3, 0x000115b2, 0x000115b5, + 0x000115bc, 0x000115bd, 0x000115bf, 0x000115c0, + 0x000115dc, 0x000115dd, 0x00011633, 0x0001163a, + 0x0001163d, 0x0001163d, 0x0001163f, 0x00011640, + 0x000116ab, 0x000116ab, 0x000116ad, 0x000116ad, + 0x000116b0, 0x000116b5, 0x000116b7, 0x000116b7, + 0x0001171d, 0x0001171f, 0x00011722, 0x00011725, + 0x00011727, 0x0001172b, 0x00016af0, 0x00016af4, + 0x00016b30, 0x00016b36, 0x00016f8f, 0x00016f92, + 0x0001bc9d, 0x0001bc9e, 0x0001d167, 0x0001d169, 0x0001d17b, 0x0001d182, 0x0001d185, 0x0001d18b, 0x0001d1aa, 0x0001d1ad, 0x0001d242, 0x0001d244, - 0x000e0100, 0x000e01ef, 0x00000903, 0x00000903, - 0x0000093b, 0x0000093b, 0x0000093e, 0x00000940, - 0x00000949, 0x0000094c, 0x0000094e, 0x0000094f, - 0x00000982, 0x00000983, 0x000009be, 0x000009c0, - 0x000009c7, 0x000009c8, 0x000009cb, 0x000009cc, - 0x000009d7, 0x000009d7, 0x00000a03, 0x00000a03, - 0x00000a3e, 0x00000a40, 0x00000a83, 0x00000a83, - 0x00000abe, 0x00000ac0, 0x00000ac9, 0x00000ac9, - 0x00000acb, 0x00000acc, 0x00000b02, 0x00000b03, - 0x00000b3e, 0x00000b3e, 0x00000b40, 0x00000b40, - 0x00000b47, 0x00000b48, 0x00000b4b, 0x00000b4c, - 0x00000b57, 0x00000b57, 0x00000bbe, 0x00000bbf, - 0x00000bc1, 0x00000bc2, 0x00000bc6, 0x00000bc8, - 0x00000bca, 0x00000bcc, 0x00000bd7, 0x00000bd7, - 0x00000c01, 0x00000c03, 0x00000c41, 0x00000c44, - 0x00000c82, 0x00000c83, 0x00000cbe, 0x00000cbe, - 0x00000cc0, 0x00000cc4, 0x00000cc7, 0x00000cc8, - 0x00000cca, 0x00000ccb, 0x00000cd5, 0x00000cd6, - 0x00000d02, 0x00000d03, 0x00000d3e, 0x00000d40, - 0x00000d46, 0x00000d48, 0x00000d4a, 0x00000d4c, - 0x00000d57, 0x00000d57, 0x00000d82, 0x00000d83, - 0x00000dcf, 0x00000dd1, 0x00000dd8, 0x00000ddf, - 0x00000df2, 0x00000df3, 0x00000f3e, 0x00000f3f, - 0x00000f7f, 0x00000f7f, 0x0000102b, 0x0000102c, - 0x00001031, 0x00001031, 0x00001038, 0x00001038, - 0x0000103b, 0x0000103c, 0x00001056, 0x00001057, - 0x00001062, 0x00001064, 0x00001067, 0x0000106d, - 0x00001083, 0x00001084, 0x00001087, 0x0000108c, - 0x0000108f, 0x0000108f, 0x0000109a, 0x0000109c, - 0x000017b6, 0x000017b6, 0x000017be, 0x000017c5, - 0x000017c7, 0x000017c8, 0x00001923, 0x00001926, - 0x00001929, 0x0000192b, 0x00001930, 0x00001931, - 0x00001933, 0x00001938, 0x000019b0, 0x000019c0, - 0x000019c8, 0x000019c9, 0x00001a19, 0x00001a1b, - 0x00001a55, 0x00001a55, 0x00001a57, 0x00001a57, - 0x00001a61, 0x00001a61, 0x00001a63, 0x00001a64, - 0x00001a6d, 0x00001a72, 0x00001b04, 0x00001b04, - 0x00001b35, 0x00001b35, 0x00001b3b, 0x00001b3b, - 0x00001b3d, 0x00001b41, 0x00001b43, 0x00001b44, - 0x00001b82, 0x00001b82, 0x00001ba1, 0x00001ba1, - 0x00001ba6, 0x00001ba7, 0x00001baa, 0x00001baa, - 0x00001be7, 0x00001be7, 0x00001bea, 0x00001bec, - 0x00001bee, 0x00001bee, 0x00001bf2, 0x00001bf3, - 0x00001c24, 0x00001c2b, 0x00001c34, 0x00001c35, - 0x00001ce1, 0x00001ce1, 0x00001cf2, 0x00001cf2, + 0x0001da00, 0x0001da36, 0x0001da3b, 0x0001da6c, + 0x0001da75, 0x0001da75, 0x0001da84, 0x0001da84, + 0x0001da9b, 0x0001da9f, 0x0001daa1, 0x0001daaf, + 0x0001e8d0, 0x0001e8d6, 0x000e0100, 0x000e01ef, + 0x00000903, 0x00000903, 0x0000093b, 0x0000093b, + 0x0000093e, 0x00000940, 0x00000949, 0x0000094c, + 0x0000094e, 0x0000094f, 0x00000982, 0x00000983, + 0x000009be, 0x000009c0, 0x000009c7, 0x000009c8, + 0x000009cb, 0x000009cc, 0x000009d7, 0x000009d7, + 0x00000a03, 0x00000a03, 0x00000a3e, 0x00000a40, + 0x00000a83, 0x00000a83, 0x00000abe, 0x00000ac0, + 0x00000ac9, 0x00000ac9, 0x00000acb, 0x00000acc, + 0x00000b02, 0x00000b03, 0x00000b3e, 0x00000b3e, + 0x00000b40, 0x00000b40, 0x00000b47, 0x00000b48, + 0x00000b4b, 0x00000b4c, 0x00000b57, 0x00000b57, + 0x00000bbe, 0x00000bbf, 0x00000bc1, 0x00000bc2, + 0x00000bc6, 0x00000bc8, 0x00000bca, 0x00000bcc, + 0x00000bd7, 0x00000bd7, 0x00000c01, 0x00000c03, + 0x00000c41, 0x00000c44, 0x00000c82, 0x00000c83, + 0x00000cbe, 0x00000cbe, 0x00000cc0, 0x00000cc4, + 0x00000cc7, 0x00000cc8, 0x00000cca, 0x00000ccb, + 0x00000cd5, 0x00000cd6, 0x00000d02, 0x00000d03, + 0x00000d3e, 0x00000d40, 0x00000d46, 0x00000d48, + 0x00000d4a, 0x00000d4c, 0x00000d57, 0x00000d57, + 0x00000d82, 0x00000d83, 0x00000dcf, 0x00000dd1, + 0x00000dd8, 0x00000ddf, 0x00000df2, 0x00000df3, + 0x00000f3e, 0x00000f3f, 0x00000f7f, 0x00000f7f, + 0x0000102b, 0x0000102c, 0x00001031, 0x00001031, + 0x00001038, 0x00001038, 0x0000103b, 0x0000103c, + 0x00001056, 0x00001057, 0x00001062, 0x00001064, + 0x00001067, 0x0000106d, 0x00001083, 0x00001084, + 0x00001087, 0x0000108c, 0x0000108f, 0x0000108f, + 0x0000109a, 0x0000109c, 0x000017b6, 0x000017b6, + 0x000017be, 0x000017c5, 0x000017c7, 0x000017c8, + 0x00001923, 0x00001926, 0x00001929, 0x0000192b, + 0x00001930, 0x00001931, 0x00001933, 0x00001938, + 0x00001a19, 0x00001a1a, 0x00001a55, 0x00001a55, + 0x00001a57, 0x00001a57, 0x00001a61, 0x00001a61, + 0x00001a63, 0x00001a64, 0x00001a6d, 0x00001a72, + 0x00001b04, 0x00001b04, 0x00001b35, 0x00001b35, + 0x00001b3b, 0x00001b3b, 0x00001b3d, 0x00001b41, + 0x00001b43, 0x00001b44, 0x00001b82, 0x00001b82, + 0x00001ba1, 0x00001ba1, 0x00001ba6, 0x00001ba7, + 0x00001baa, 0x00001baa, 0x00001be7, 0x00001be7, + 0x00001bea, 0x00001bec, 0x00001bee, 0x00001bee, + 0x00001bf2, 0x00001bf3, 0x00001c24, 0x00001c2b, + 0x00001c34, 0x00001c35, 0x00001ce1, 0x00001ce1, + 0x00001cf2, 0x00001cf3, 0x0000302e, 0x0000302f, 0x0000a823, 0x0000a824, 0x0000a827, 0x0000a827, 0x0000a880, 0x0000a881, 0x0000a8b4, 0x0000a8c3, 0x0000a952, 0x0000a953, 0x0000a983, 0x0000a983, 0x0000a9b4, 0x0000a9b5, 0x0000a9ba, 0x0000a9bb, 0x0000a9bd, 0x0000a9c0, 0x0000aa2f, 0x0000aa30, 0x0000aa33, 0x0000aa34, 0x0000aa4d, 0x0000aa4d, - 0x0000aa7b, 0x0000aa7b, 0x0000abe3, 0x0000abe4, + 0x0000aa7b, 0x0000aa7b, 0x0000aa7d, 0x0000aa7d, + 0x0000aaeb, 0x0000aaeb, 0x0000aaee, 0x0000aaef, + 0x0000aaf5, 0x0000aaf5, 0x0000abe3, 0x0000abe4, 0x0000abe6, 0x0000abe7, 0x0000abe9, 0x0000abea, 0x0000abec, 0x0000abec, 0x00011000, 0x00011000, 0x00011002, 0x00011002, 0x00011082, 0x00011082, 0x000110b0, 0x000110b2, 0x000110b7, 0x000110b8, - 0x0001d165, 0x0001d166, 0x0001d16d, 0x0001d172, - 0x00000488, 0x00000489, 0x000020dd, 0x000020e0, + 0x0001112c, 0x0001112c, 0x00011182, 0x00011182, + 0x000111b3, 0x000111b5, 0x000111bf, 0x000111c0, + 0x0001122c, 0x0001122e, 0x00011232, 0x00011233, + 0x00011235, 0x00011235, 0x000112e0, 0x000112e2, + 0x00011302, 0x00011303, 0x0001133e, 0x0001133f, + 0x00011341, 0x00011344, 0x00011347, 0x00011348, + 0x0001134b, 0x0001134d, 0x00011357, 0x00011357, + 0x00011362, 0x00011363, 0x000114b0, 0x000114b2, + 0x000114b9, 0x000114b9, 0x000114bb, 0x000114be, + 0x000114c1, 0x000114c1, 0x000115af, 0x000115b1, + 0x000115b8, 0x000115bb, 0x000115be, 0x000115be, + 0x00011630, 0x00011632, 0x0001163b, 0x0001163c, + 0x0001163e, 0x0001163e, 0x000116ac, 0x000116ac, + 0x000116ae, 0x000116af, 0x000116b6, 0x000116b6, + 0x00011720, 0x00011721, 0x00011726, 0x00011726, + 0x00016f51, 0x00016f7e, 0x0001d165, 0x0001d166, + 0x0001d16d, 0x0001d172, 0x00000488, 0x00000489, + 0x00001abe, 0x00001abe, 0x000020dd, 0x000020e0, 0x000020e2, 0x000020e4, 0x0000a670, 0x0000a672, 0x00000030, 0x00000039, 0x00000660, 0x00000669, 0x000006f0, 0x000006f9, 0x000007c0, 0x000007c9, @@ -189,135 +238,151 @@ static const unsigned int _ucprop_ranges[] = { 0x00000a66, 0x00000a6f, 0x00000ae6, 0x00000aef, 0x00000b66, 0x00000b6f, 0x00000be6, 0x00000bef, 0x00000c66, 0x00000c6f, 0x00000ce6, 0x00000cef, - 0x00000d66, 0x00000d6f, 0x00000e50, 0x00000e59, - 0x00000ed0, 0x00000ed9, 0x00000f20, 0x00000f29, - 0x00001040, 0x00001049, 0x00001090, 0x00001099, - 0x000017e0, 0x000017e9, 0x00001810, 0x00001819, - 0x00001946, 0x0000194f, 0x000019d0, 0x000019d9, - 0x00001a80, 0x00001a89, 0x00001a90, 0x00001a99, - 0x00001b50, 0x00001b59, 0x00001bb0, 0x00001bb9, - 0x00001c40, 0x00001c49, 0x00001c50, 0x00001c59, - 0x0000a620, 0x0000a629, 0x0000a8d0, 0x0000a8d9, - 0x0000a900, 0x0000a909, 0x0000a9d0, 0x0000a9d9, + 0x00000d66, 0x00000d6f, 0x00000de6, 0x00000def, + 0x00000e50, 0x00000e59, 0x00000ed0, 0x00000ed9, + 0x00000f20, 0x00000f29, 0x00001040, 0x00001049, + 0x00001090, 0x00001099, 0x000017e0, 0x000017e9, + 0x00001810, 0x00001819, 0x00001946, 0x0000194f, + 0x000019d0, 0x000019d9, 0x00001a80, 0x00001a89, + 0x00001a90, 0x00001a99, 0x00001b50, 0x00001b59, + 0x00001bb0, 0x00001bb9, 0x00001c40, 0x00001c49, + 0x00001c50, 0x00001c59, 0x0000a620, 0x0000a629, + 0x0000a8d0, 0x0000a8d9, 0x0000a900, 0x0000a909, + 0x0000a9d0, 0x0000a9d9, 0x0000a9f0, 0x0000a9f9, 0x0000aa50, 0x0000aa59, 0x0000abf0, 0x0000abf9, 0x0000ff10, 0x0000ff19, 0x000104a0, 0x000104a9, - 0x00011066, 0x0001106f, 0x0001d7ce, 0x0001d7ff, - 0x000016ee, 0x000016f0, 0x00002160, 0x00002182, - 0x00002185, 0x00002188, 0x00003007, 0x00003007, - 0x00003021, 0x00003029, 0x00003038, 0x0000303a, - 0x0000a6e6, 0x0000a6ef, 0x00010140, 0x00010174, - 0x00010341, 0x00010341, 0x0001034a, 0x0001034a, - 0x000103d1, 0x000103d5, 0x00012400, 0x00012462, - 0x000000b2, 0x000000b3, 0x000000b9, 0x000000b9, - 0x000000bc, 0x000000be, 0x000009f4, 0x000009f9, - 0x00000b72, 0x00000b77, 0x00000bf0, 0x00000bf2, - 0x00000c78, 0x00000c7e, 0x00000d70, 0x00000d75, - 0x00000f2a, 0x00000f33, 0x00001369, 0x0000137c, - 0x000017f0, 0x000017f9, 0x000019da, 0x000019da, - 0x00002070, 0x00002070, 0x00002074, 0x00002079, - 0x00002080, 0x00002089, 0x00002150, 0x0000215f, - 0x00002189, 0x00002189, 0x00002460, 0x0000249b, - 0x000024ea, 0x000024ff, 0x00002776, 0x00002793, - 0x00002cfd, 0x00002cfd, 0x00003192, 0x00003195, - 0x00003220, 0x00003229, 0x00003251, 0x0000325f, + 0x00011066, 0x0001106f, 0x000110f0, 0x000110f9, + 0x00011136, 0x0001113f, 0x000111d0, 0x000111d9, + 0x000112f0, 0x000112f9, 0x000114d0, 0x000114d9, + 0x00011650, 0x00011659, 0x000116c0, 0x000116c9, + 0x00011730, 0x00011739, 0x000118e0, 0x000118e9, + 0x00016a60, 0x00016a69, 0x00016b50, 0x00016b59, + 0x0001d7ce, 0x0001d7ff, 0x000016ee, 0x000016f0, + 0x00002160, 0x00002182, 0x00002185, 0x00002188, + 0x00003007, 0x00003007, 0x00003021, 0x00003029, + 0x00003038, 0x0000303a, 0x0000a6e6, 0x0000a6ef, + 0x00010140, 0x00010174, 0x00010341, 0x00010341, + 0x0001034a, 0x0001034a, 0x000103d1, 0x000103d5, + 0x00012400, 0x0001246e, 0x000000b2, 0x000000b3, + 0x000000b9, 0x000000b9, 0x000000bc, 0x000000be, + 0x000009f4, 0x000009f9, 0x00000b72, 0x00000b77, + 0x00000bf0, 0x00000bf2, 0x00000c78, 0x00000c7e, + 0x00000d70, 0x00000d75, 0x00000f2a, 0x00000f33, + 0x00001369, 0x0000137c, 0x000017f0, 0x000017f9, + 0x000019da, 0x000019da, 0x00002070, 0x00002070, + 0x00002074, 0x00002079, 0x00002080, 0x00002089, + 0x00002150, 0x0000215f, 0x00002189, 0x00002189, + 0x00002460, 0x0000249b, 0x000024ea, 0x000024ff, + 0x00002776, 0x00002793, 0x00002cfd, 0x00002cfd, + 0x00003192, 0x00003195, 0x00003220, 0x00003229, + 0x00003248, 0x0000324f, 0x00003251, 0x0000325f, 0x00003280, 0x00003289, 0x000032b1, 0x000032bf, 0x0000a830, 0x0000a835, 0x00010107, 0x00010133, - 0x00010175, 0x00010178, 0x0001018a, 0x0001018a, - 0x00010320, 0x00010323, 0x00010858, 0x0001085f, - 0x00010916, 0x0001091b, 0x00010a40, 0x00010a47, - 0x00010a7d, 0x00010a7e, 0x00010b58, 0x00010b5f, - 0x00010b78, 0x00010b7f, 0x00010e60, 0x00010e7e, - 0x00011052, 0x00011065, 0x0001d360, 0x0001d371, - 0x0001f100, 0x0001f10a, 0x00000020, 0x00000020, + 0x00010175, 0x00010178, 0x0001018a, 0x0001018b, + 0x000102e1, 0x000102fb, 0x00010320, 0x00010323, + 0x00010858, 0x0001085f, 0x00010879, 0x0001087f, + 0x000108a7, 0x000108af, 0x000108fb, 0x000108ff, + 0x00010916, 0x0001091b, 0x000109bc, 0x000109bd, + 0x000109c0, 0x000109cf, 0x000109d2, 0x000109ff, + 0x00010a40, 0x00010a47, 0x00010a7d, 0x00010a7e, + 0x00010a9d, 0x00010a9f, 0x00010aeb, 0x00010aef, + 0x00010b58, 0x00010b5f, 0x00010b78, 0x00010b7f, + 0x00010ba9, 0x00010baf, 0x00010cfa, 0x00010cff, + 0x00010e60, 0x00010e7e, 0x00011052, 0x00011065, + 0x000111e1, 0x000111f4, 0x0001173a, 0x0001173b, + 0x000118ea, 0x000118f2, 0x00016b5b, 0x00016b61, + 0x0001d360, 0x0001d371, 0x0001e8c7, 0x0001e8cf, + 0x0001f100, 0x0001f10c, 0x00000020, 0x00000020, 0x000000a0, 0x000000a0, 0x00001680, 0x00001680, - 0x0000180e, 0x0000180e, 0x00002000, 0x0000200a, - 0x0000202f, 0x0000202f, 0x0000205f, 0x0000205f, - 0x00003000, 0x00003000, 0x00002028, 0x00002028, - 0x00002029, 0x00002029, 0x00000000, 0x0000001f, - 0x0000007f, 0x0000009f, 0x000000ad, 0x000000ad, - 0x00000600, 0x00000603, 0x000006dd, 0x000006dd, - 0x0000070f, 0x0000070f, 0x000017b4, 0x000017b5, + 0x00002000, 0x0000200a, 0x0000202f, 0x0000202f, + 0x0000205f, 0x0000205f, 0x00003000, 0x00003000, + 0x00002028, 0x00002028, 0x00002029, 0x00002029, + 0x00000000, 0x0000001f, 0x0000007f, 0x0000009f, + 0x000000ad, 0x000000ad, 0x00000600, 0x00000605, + 0x0000061c, 0x0000061c, 0x000006dd, 0x000006dd, + 0x0000070f, 0x0000070f, 0x0000180e, 0x0000180e, 0x0000200b, 0x0000200f, 0x0000202a, 0x0000202e, - 0x00002060, 0x00002064, 0x0000206a, 0x0000206f, + 0x00002060, 0x00002064, 0x00002066, 0x0000206f, 0x0000feff, 0x0000feff, 0x0000fff9, 0x0000fffb, - 0x000110bd, 0x000110bd, 0x0001d173, 0x0001d17a, - 0x000e0001, 0x000e0001, 0x000e0020, 0x000e007f, - 0x00010000, 0x0010ffff, 0x0000e000, 0x0000f8ff, - 0x000f0000, 0x000ffffd, 0x00100000, 0x0010fffd, - 0x00000041, 0x0000005a, 0x000000c0, 0x000000d6, - 0x000000d8, 0x000000de, 0x00000100, 0x00000100, - 0x00000102, 0x00000102, 0x00000104, 0x00000104, - 0x00000106, 0x00000106, 0x00000108, 0x00000108, - 0x0000010a, 0x0000010a, 0x0000010c, 0x0000010c, - 0x0000010e, 0x0000010e, 0x00000110, 0x00000110, - 0x00000112, 0x00000112, 0x00000114, 0x00000114, - 0x00000116, 0x00000116, 0x00000118, 0x00000118, - 0x0000011a, 0x0000011a, 0x0000011c, 0x0000011c, - 0x0000011e, 0x0000011e, 0x00000120, 0x00000120, - 0x00000122, 0x00000122, 0x00000124, 0x00000124, - 0x00000126, 0x00000126, 0x00000128, 0x00000128, - 0x0000012a, 0x0000012a, 0x0000012c, 0x0000012c, - 0x0000012e, 0x0000012e, 0x00000130, 0x00000130, - 0x00000132, 0x00000132, 0x00000134, 0x00000134, - 0x00000136, 0x00000136, 0x00000139, 0x00000139, - 0x0000013b, 0x0000013b, 0x0000013d, 0x0000013d, - 0x0000013f, 0x0000013f, 0x00000141, 0x00000141, - 0x00000143, 0x00000143, 0x00000145, 0x00000145, - 0x00000147, 0x00000147, 0x0000014a, 0x0000014a, - 0x0000014c, 0x0000014c, 0x0000014e, 0x0000014e, - 0x00000150, 0x00000150, 0x00000152, 0x00000152, - 0x00000154, 0x00000154, 0x00000156, 0x00000156, - 0x00000158, 0x00000158, 0x0000015a, 0x0000015a, - 0x0000015c, 0x0000015c, 0x0000015e, 0x0000015e, - 0x00000160, 0x00000160, 0x00000162, 0x00000162, - 0x00000164, 0x00000164, 0x00000166, 0x00000166, - 0x00000168, 0x00000168, 0x0000016a, 0x0000016a, - 0x0000016c, 0x0000016c, 0x0000016e, 0x0000016e, - 0x00000170, 0x00000170, 0x00000172, 0x00000172, - 0x00000174, 0x00000174, 0x00000176, 0x00000176, - 0x00000178, 0x00000179, 0x0000017b, 0x0000017b, - 0x0000017d, 0x0000017d, 0x00000181, 0x00000182, - 0x00000184, 0x00000184, 0x00000186, 0x00000187, - 0x00000189, 0x0000018b, 0x0000018e, 0x00000191, - 0x00000193, 0x00000194, 0x00000196, 0x00000198, - 0x0000019c, 0x0000019d, 0x0000019f, 0x000001a0, - 0x000001a2, 0x000001a2, 0x000001a4, 0x000001a4, - 0x000001a6, 0x000001a7, 0x000001a9, 0x000001a9, - 0x000001ac, 0x000001ac, 0x000001ae, 0x000001af, - 0x000001b1, 0x000001b3, 0x000001b5, 0x000001b5, - 0x000001b7, 0x000001b8, 0x000001bc, 0x000001bc, - 0x000001c4, 0x000001c4, 0x000001c7, 0x000001c7, - 0x000001ca, 0x000001ca, 0x000001cd, 0x000001cd, - 0x000001cf, 0x000001cf, 0x000001d1, 0x000001d1, - 0x000001d3, 0x000001d3, 0x000001d5, 0x000001d5, - 0x000001d7, 0x000001d7, 0x000001d9, 0x000001d9, - 0x000001db, 0x000001db, 0x000001de, 0x000001de, - 0x000001e0, 0x000001e0, 0x000001e2, 0x000001e2, - 0x000001e4, 0x000001e4, 0x000001e6, 0x000001e6, - 0x000001e8, 0x000001e8, 0x000001ea, 0x000001ea, - 0x000001ec, 0x000001ec, 0x000001ee, 0x000001ee, - 0x000001f1, 0x000001f1, 0x000001f4, 0x000001f4, - 0x000001f6, 0x000001f8, 0x000001fa, 0x000001fa, - 0x000001fc, 0x000001fc, 0x000001fe, 0x000001fe, - 0x00000200, 0x00000200, 0x00000202, 0x00000202, - 0x00000204, 0x00000204, 0x00000206, 0x00000206, - 0x00000208, 0x00000208, 0x0000020a, 0x0000020a, - 0x0000020c, 0x0000020c, 0x0000020e, 0x0000020e, - 0x00000210, 0x00000210, 0x00000212, 0x00000212, - 0x00000214, 0x00000214, 0x00000216, 0x00000216, - 0x00000218, 0x00000218, 0x0000021a, 0x0000021a, - 0x0000021c, 0x0000021c, 0x0000021e, 0x0000021e, - 0x00000220, 0x00000220, 0x00000222, 0x00000222, - 0x00000224, 0x00000224, 0x00000226, 0x00000226, - 0x00000228, 0x00000228, 0x0000022a, 0x0000022a, - 0x0000022c, 0x0000022c, 0x0000022e, 0x0000022e, - 0x00000230, 0x00000230, 0x00000232, 0x00000232, - 0x0000023a, 0x0000023b, 0x0000023d, 0x0000023e, - 0x00000241, 0x00000241, 0x00000243, 0x00000246, - 0x00000248, 0x00000248, 0x0000024a, 0x0000024a, - 0x0000024c, 0x0000024c, 0x0000024e, 0x0000024e, - 0x00000370, 0x00000370, 0x00000372, 0x00000372, - 0x00000376, 0x00000376, 0x00000386, 0x00000386, + 0x000110bd, 0x000110bd, 0x0001bca0, 0x0001bca3, + 0x0001d173, 0x0001d17a, 0x000e0001, 0x000e0001, + 0x000e0020, 0x000e007f, 0x00010000, 0x0010ffff, + 0x0000e000, 0x0000f8ff, 0x000f0000, 0x000ffffd, + 0x00100000, 0x0010fffd, 0x00000041, 0x0000005a, + 0x000000c0, 0x000000d6, 0x000000d8, 0x000000de, + 0x00000100, 0x00000100, 0x00000102, 0x00000102, + 0x00000104, 0x00000104, 0x00000106, 0x00000106, + 0x00000108, 0x00000108, 0x0000010a, 0x0000010a, + 0x0000010c, 0x0000010c, 0x0000010e, 0x0000010e, + 0x00000110, 0x00000110, 0x00000112, 0x00000112, + 0x00000114, 0x00000114, 0x00000116, 0x00000116, + 0x00000118, 0x00000118, 0x0000011a, 0x0000011a, + 0x0000011c, 0x0000011c, 0x0000011e, 0x0000011e, + 0x00000120, 0x00000120, 0x00000122, 0x00000122, + 0x00000124, 0x00000124, 0x00000126, 0x00000126, + 0x00000128, 0x00000128, 0x0000012a, 0x0000012a, + 0x0000012c, 0x0000012c, 0x0000012e, 0x0000012e, + 0x00000130, 0x00000130, 0x00000132, 0x00000132, + 0x00000134, 0x00000134, 0x00000136, 0x00000136, + 0x00000139, 0x00000139, 0x0000013b, 0x0000013b, + 0x0000013d, 0x0000013d, 0x0000013f, 0x0000013f, + 0x00000141, 0x00000141, 0x00000143, 0x00000143, + 0x00000145, 0x00000145, 0x00000147, 0x00000147, + 0x0000014a, 0x0000014a, 0x0000014c, 0x0000014c, + 0x0000014e, 0x0000014e, 0x00000150, 0x00000150, + 0x00000152, 0x00000152, 0x00000154, 0x00000154, + 0x00000156, 0x00000156, 0x00000158, 0x00000158, + 0x0000015a, 0x0000015a, 0x0000015c, 0x0000015c, + 0x0000015e, 0x0000015e, 0x00000160, 0x00000160, + 0x00000162, 0x00000162, 0x00000164, 0x00000164, + 0x00000166, 0x00000166, 0x00000168, 0x00000168, + 0x0000016a, 0x0000016a, 0x0000016c, 0x0000016c, + 0x0000016e, 0x0000016e, 0x00000170, 0x00000170, + 0x00000172, 0x00000172, 0x00000174, 0x00000174, + 0x00000176, 0x00000176, 0x00000178, 0x00000179, + 0x0000017b, 0x0000017b, 0x0000017d, 0x0000017d, + 0x00000181, 0x00000182, 0x00000184, 0x00000184, + 0x00000186, 0x00000187, 0x00000189, 0x0000018b, + 0x0000018e, 0x00000191, 0x00000193, 0x00000194, + 0x00000196, 0x00000198, 0x0000019c, 0x0000019d, + 0x0000019f, 0x000001a0, 0x000001a2, 0x000001a2, + 0x000001a4, 0x000001a4, 0x000001a6, 0x000001a7, + 0x000001a9, 0x000001a9, 0x000001ac, 0x000001ac, + 0x000001ae, 0x000001af, 0x000001b1, 0x000001b3, + 0x000001b5, 0x000001b5, 0x000001b7, 0x000001b8, + 0x000001bc, 0x000001bc, 0x000001c4, 0x000001c4, + 0x000001c7, 0x000001c7, 0x000001ca, 0x000001ca, + 0x000001cd, 0x000001cd, 0x000001cf, 0x000001cf, + 0x000001d1, 0x000001d1, 0x000001d3, 0x000001d3, + 0x000001d5, 0x000001d5, 0x000001d7, 0x000001d7, + 0x000001d9, 0x000001d9, 0x000001db, 0x000001db, + 0x000001de, 0x000001de, 0x000001e0, 0x000001e0, + 0x000001e2, 0x000001e2, 0x000001e4, 0x000001e4, + 0x000001e6, 0x000001e6, 0x000001e8, 0x000001e8, + 0x000001ea, 0x000001ea, 0x000001ec, 0x000001ec, + 0x000001ee, 0x000001ee, 0x000001f1, 0x000001f1, + 0x000001f4, 0x000001f4, 0x000001f6, 0x000001f8, + 0x000001fa, 0x000001fa, 0x000001fc, 0x000001fc, + 0x000001fe, 0x000001fe, 0x00000200, 0x00000200, + 0x00000202, 0x00000202, 0x00000204, 0x00000204, + 0x00000206, 0x00000206, 0x00000208, 0x00000208, + 0x0000020a, 0x0000020a, 0x0000020c, 0x0000020c, + 0x0000020e, 0x0000020e, 0x00000210, 0x00000210, + 0x00000212, 0x00000212, 0x00000214, 0x00000214, + 0x00000216, 0x00000216, 0x00000218, 0x00000218, + 0x0000021a, 0x0000021a, 0x0000021c, 0x0000021c, + 0x0000021e, 0x0000021e, 0x00000220, 0x00000220, + 0x00000222, 0x00000222, 0x00000224, 0x00000224, + 0x00000226, 0x00000226, 0x00000228, 0x00000228, + 0x0000022a, 0x0000022a, 0x0000022c, 0x0000022c, + 0x0000022e, 0x0000022e, 0x00000230, 0x00000230, + 0x00000232, 0x00000232, 0x0000023a, 0x0000023b, + 0x0000023d, 0x0000023e, 0x00000241, 0x00000241, + 0x00000243, 0x00000246, 0x00000248, 0x00000248, + 0x0000024a, 0x0000024a, 0x0000024c, 0x0000024c, + 0x0000024e, 0x0000024e, 0x00000370, 0x00000370, + 0x00000372, 0x00000372, 0x00000376, 0x00000376, + 0x0000037f, 0x0000037f, 0x00000386, 0x00000386, 0x00000388, 0x0000038a, 0x0000038c, 0x0000038c, 0x0000038e, 0x0000038f, 0x00000391, 0x000003a1, 0x000003a3, 0x000003ab, 0x000003cf, 0x000003cf, @@ -377,114 +442,118 @@ static const unsigned int _ucprop_ranges[] = { 0x0000051c, 0x0000051c, 0x0000051e, 0x0000051e, 0x00000520, 0x00000520, 0x00000522, 0x00000522, 0x00000524, 0x00000524, 0x00000526, 0x00000526, + 0x00000528, 0x00000528, 0x0000052a, 0x0000052a, + 0x0000052c, 0x0000052c, 0x0000052e, 0x0000052e, 0x00000531, 0x00000556, 0x000010a0, 0x000010c5, - 0x00001e00, 0x00001e00, 0x00001e02, 0x00001e02, - 0x00001e04, 0x00001e04, 0x00001e06, 0x00001e06, - 0x00001e08, 0x00001e08, 0x00001e0a, 0x00001e0a, - 0x00001e0c, 0x00001e0c, 0x00001e0e, 0x00001e0e, - 0x00001e10, 0x00001e10, 0x00001e12, 0x00001e12, - 0x00001e14, 0x00001e14, 0x00001e16, 0x00001e16, - 0x00001e18, 0x00001e18, 0x00001e1a, 0x00001e1a, - 0x00001e1c, 0x00001e1c, 0x00001e1e, 0x00001e1e, - 0x00001e20, 0x00001e20, 0x00001e22, 0x00001e22, - 0x00001e24, 0x00001e24, 0x00001e26, 0x00001e26, - 0x00001e28, 0x00001e28, 0x00001e2a, 0x00001e2a, - 0x00001e2c, 0x00001e2c, 0x00001e2e, 0x00001e2e, - 0x00001e30, 0x00001e30, 0x00001e32, 0x00001e32, - 0x00001e34, 0x00001e34, 0x00001e36, 0x00001e36, - 0x00001e38, 0x00001e38, 0x00001e3a, 0x00001e3a, - 0x00001e3c, 0x00001e3c, 0x00001e3e, 0x00001e3e, - 0x00001e40, 0x00001e40, 0x00001e42, 0x00001e42, - 0x00001e44, 0x00001e44, 0x00001e46, 0x00001e46, - 0x00001e48, 0x00001e48, 0x00001e4a, 0x00001e4a, - 0x00001e4c, 0x00001e4c, 0x00001e4e, 0x00001e4e, - 0x00001e50, 0x00001e50, 0x00001e52, 0x00001e52, - 0x00001e54, 0x00001e54, 0x00001e56, 0x00001e56, - 0x00001e58, 0x00001e58, 0x00001e5a, 0x00001e5a, - 0x00001e5c, 0x00001e5c, 0x00001e5e, 0x00001e5e, - 0x00001e60, 0x00001e60, 0x00001e62, 0x00001e62, - 0x00001e64, 0x00001e64, 0x00001e66, 0x00001e66, - 0x00001e68, 0x00001e68, 0x00001e6a, 0x00001e6a, - 0x00001e6c, 0x00001e6c, 0x00001e6e, 0x00001e6e, - 0x00001e70, 0x00001e70, 0x00001e72, 0x00001e72, - 0x00001e74, 0x00001e74, 0x00001e76, 0x00001e76, - 0x00001e78, 0x00001e78, 0x00001e7a, 0x00001e7a, - 0x00001e7c, 0x00001e7c, 0x00001e7e, 0x00001e7e, - 0x00001e80, 0x00001e80, 0x00001e82, 0x00001e82, - 0x00001e84, 0x00001e84, 0x00001e86, 0x00001e86, - 0x00001e88, 0x00001e88, 0x00001e8a, 0x00001e8a, - 0x00001e8c, 0x00001e8c, 0x00001e8e, 0x00001e8e, - 0x00001e90, 0x00001e90, 0x00001e92, 0x00001e92, - 0x00001e94, 0x00001e94, 0x00001e9e, 0x00001e9e, - 0x00001ea0, 0x00001ea0, 0x00001ea2, 0x00001ea2, - 0x00001ea4, 0x00001ea4, 0x00001ea6, 0x00001ea6, - 0x00001ea8, 0x00001ea8, 0x00001eaa, 0x00001eaa, - 0x00001eac, 0x00001eac, 0x00001eae, 0x00001eae, - 0x00001eb0, 0x00001eb0, 0x00001eb2, 0x00001eb2, - 0x00001eb4, 0x00001eb4, 0x00001eb6, 0x00001eb6, - 0x00001eb8, 0x00001eb8, 0x00001eba, 0x00001eba, - 0x00001ebc, 0x00001ebc, 0x00001ebe, 0x00001ebe, - 0x00001ec0, 0x00001ec0, 0x00001ec2, 0x00001ec2, - 0x00001ec4, 0x00001ec4, 0x00001ec6, 0x00001ec6, - 0x00001ec8, 0x00001ec8, 0x00001eca, 0x00001eca, - 0x00001ecc, 0x00001ecc, 0x00001ece, 0x00001ece, - 0x00001ed0, 0x00001ed0, 0x00001ed2, 0x00001ed2, - 0x00001ed4, 0x00001ed4, 0x00001ed6, 0x00001ed6, - 0x00001ed8, 0x00001ed8, 0x00001eda, 0x00001eda, - 0x00001edc, 0x00001edc, 0x00001ede, 0x00001ede, - 0x00001ee0, 0x00001ee0, 0x00001ee2, 0x00001ee2, - 0x00001ee4, 0x00001ee4, 0x00001ee6, 0x00001ee6, - 0x00001ee8, 0x00001ee8, 0x00001eea, 0x00001eea, - 0x00001eec, 0x00001eec, 0x00001eee, 0x00001eee, - 0x00001ef0, 0x00001ef0, 0x00001ef2, 0x00001ef2, - 0x00001ef4, 0x00001ef4, 0x00001ef6, 0x00001ef6, - 0x00001ef8, 0x00001ef8, 0x00001efa, 0x00001efa, - 0x00001efc, 0x00001efc, 0x00001efe, 0x00001efe, - 0x00001f08, 0x00001f0f, 0x00001f18, 0x00001f1d, - 0x00001f28, 0x00001f2f, 0x00001f38, 0x00001f3f, - 0x00001f48, 0x00001f4d, 0x00001f59, 0x00001f59, - 0x00001f5b, 0x00001f5b, 0x00001f5d, 0x00001f5d, - 0x00001f5f, 0x00001f5f, 0x00001f68, 0x00001f6f, - 0x00001fb8, 0x00001fbb, 0x00001fc8, 0x00001fcb, - 0x00001fd8, 0x00001fdb, 0x00001fe8, 0x00001fec, - 0x00001ff8, 0x00001ffb, 0x00002102, 0x00002102, - 0x00002107, 0x00002107, 0x0000210b, 0x0000210d, - 0x00002110, 0x00002112, 0x00002115, 0x00002115, - 0x00002119, 0x0000211d, 0x00002124, 0x00002124, - 0x00002126, 0x00002126, 0x00002128, 0x00002128, - 0x0000212a, 0x0000212d, 0x00002130, 0x00002133, - 0x0000213e, 0x0000213f, 0x00002145, 0x00002145, - 0x00002183, 0x00002183, 0x00002c00, 0x00002c2e, - 0x00002c60, 0x00002c60, 0x00002c62, 0x00002c64, - 0x00002c67, 0x00002c67, 0x00002c69, 0x00002c69, - 0x00002c6b, 0x00002c6b, 0x00002c6d, 0x00002c70, - 0x00002c72, 0x00002c72, 0x00002c75, 0x00002c75, - 0x00002c7e, 0x00002c80, 0x00002c82, 0x00002c82, - 0x00002c84, 0x00002c84, 0x00002c86, 0x00002c86, - 0x00002c88, 0x00002c88, 0x00002c8a, 0x00002c8a, - 0x00002c8c, 0x00002c8c, 0x00002c8e, 0x00002c8e, - 0x00002c90, 0x00002c90, 0x00002c92, 0x00002c92, - 0x00002c94, 0x00002c94, 0x00002c96, 0x00002c96, - 0x00002c98, 0x00002c98, 0x00002c9a, 0x00002c9a, - 0x00002c9c, 0x00002c9c, 0x00002c9e, 0x00002c9e, - 0x00002ca0, 0x00002ca0, 0x00002ca2, 0x00002ca2, - 0x00002ca4, 0x00002ca4, 0x00002ca6, 0x00002ca6, - 0x00002ca8, 0x00002ca8, 0x00002caa, 0x00002caa, - 0x00002cac, 0x00002cac, 0x00002cae, 0x00002cae, - 0x00002cb0, 0x00002cb0, 0x00002cb2, 0x00002cb2, - 0x00002cb4, 0x00002cb4, 0x00002cb6, 0x00002cb6, - 0x00002cb8, 0x00002cb8, 0x00002cba, 0x00002cba, - 0x00002cbc, 0x00002cbc, 0x00002cbe, 0x00002cbe, - 0x00002cc0, 0x00002cc0, 0x00002cc2, 0x00002cc2, - 0x00002cc4, 0x00002cc4, 0x00002cc6, 0x00002cc6, - 0x00002cc8, 0x00002cc8, 0x00002cca, 0x00002cca, - 0x00002ccc, 0x00002ccc, 0x00002cce, 0x00002cce, - 0x00002cd0, 0x00002cd0, 0x00002cd2, 0x00002cd2, - 0x00002cd4, 0x00002cd4, 0x00002cd6, 0x00002cd6, - 0x00002cd8, 0x00002cd8, 0x00002cda, 0x00002cda, - 0x00002cdc, 0x00002cdc, 0x00002cde, 0x00002cde, - 0x00002ce0, 0x00002ce0, 0x00002ce2, 0x00002ce2, - 0x00002ceb, 0x00002ceb, 0x00002ced, 0x00002ced, + 0x000010c7, 0x000010c7, 0x000010cd, 0x000010cd, + 0x000013a0, 0x000013f5, 0x00001e00, 0x00001e00, + 0x00001e02, 0x00001e02, 0x00001e04, 0x00001e04, + 0x00001e06, 0x00001e06, 0x00001e08, 0x00001e08, + 0x00001e0a, 0x00001e0a, 0x00001e0c, 0x00001e0c, + 0x00001e0e, 0x00001e0e, 0x00001e10, 0x00001e10, + 0x00001e12, 0x00001e12, 0x00001e14, 0x00001e14, + 0x00001e16, 0x00001e16, 0x00001e18, 0x00001e18, + 0x00001e1a, 0x00001e1a, 0x00001e1c, 0x00001e1c, + 0x00001e1e, 0x00001e1e, 0x00001e20, 0x00001e20, + 0x00001e22, 0x00001e22, 0x00001e24, 0x00001e24, + 0x00001e26, 0x00001e26, 0x00001e28, 0x00001e28, + 0x00001e2a, 0x00001e2a, 0x00001e2c, 0x00001e2c, + 0x00001e2e, 0x00001e2e, 0x00001e30, 0x00001e30, + 0x00001e32, 0x00001e32, 0x00001e34, 0x00001e34, + 0x00001e36, 0x00001e36, 0x00001e38, 0x00001e38, + 0x00001e3a, 0x00001e3a, 0x00001e3c, 0x00001e3c, + 0x00001e3e, 0x00001e3e, 0x00001e40, 0x00001e40, + 0x00001e42, 0x00001e42, 0x00001e44, 0x00001e44, + 0x00001e46, 0x00001e46, 0x00001e48, 0x00001e48, + 0x00001e4a, 0x00001e4a, 0x00001e4c, 0x00001e4c, + 0x00001e4e, 0x00001e4e, 0x00001e50, 0x00001e50, + 0x00001e52, 0x00001e52, 0x00001e54, 0x00001e54, + 0x00001e56, 0x00001e56, 0x00001e58, 0x00001e58, + 0x00001e5a, 0x00001e5a, 0x00001e5c, 0x00001e5c, + 0x00001e5e, 0x00001e5e, 0x00001e60, 0x00001e60, + 0x00001e62, 0x00001e62, 0x00001e64, 0x00001e64, + 0x00001e66, 0x00001e66, 0x00001e68, 0x00001e68, + 0x00001e6a, 0x00001e6a, 0x00001e6c, 0x00001e6c, + 0x00001e6e, 0x00001e6e, 0x00001e70, 0x00001e70, + 0x00001e72, 0x00001e72, 0x00001e74, 0x00001e74, + 0x00001e76, 0x00001e76, 0x00001e78, 0x00001e78, + 0x00001e7a, 0x00001e7a, 0x00001e7c, 0x00001e7c, + 0x00001e7e, 0x00001e7e, 0x00001e80, 0x00001e80, + 0x00001e82, 0x00001e82, 0x00001e84, 0x00001e84, + 0x00001e86, 0x00001e86, 0x00001e88, 0x00001e88, + 0x00001e8a, 0x00001e8a, 0x00001e8c, 0x00001e8c, + 0x00001e8e, 0x00001e8e, 0x00001e90, 0x00001e90, + 0x00001e92, 0x00001e92, 0x00001e94, 0x00001e94, + 0x00001e9e, 0x00001e9e, 0x00001ea0, 0x00001ea0, + 0x00001ea2, 0x00001ea2, 0x00001ea4, 0x00001ea4, + 0x00001ea6, 0x00001ea6, 0x00001ea8, 0x00001ea8, + 0x00001eaa, 0x00001eaa, 0x00001eac, 0x00001eac, + 0x00001eae, 0x00001eae, 0x00001eb0, 0x00001eb0, + 0x00001eb2, 0x00001eb2, 0x00001eb4, 0x00001eb4, + 0x00001eb6, 0x00001eb6, 0x00001eb8, 0x00001eb8, + 0x00001eba, 0x00001eba, 0x00001ebc, 0x00001ebc, + 0x00001ebe, 0x00001ebe, 0x00001ec0, 0x00001ec0, + 0x00001ec2, 0x00001ec2, 0x00001ec4, 0x00001ec4, + 0x00001ec6, 0x00001ec6, 0x00001ec8, 0x00001ec8, + 0x00001eca, 0x00001eca, 0x00001ecc, 0x00001ecc, + 0x00001ece, 0x00001ece, 0x00001ed0, 0x00001ed0, + 0x00001ed2, 0x00001ed2, 0x00001ed4, 0x00001ed4, + 0x00001ed6, 0x00001ed6, 0x00001ed8, 0x00001ed8, + 0x00001eda, 0x00001eda, 0x00001edc, 0x00001edc, + 0x00001ede, 0x00001ede, 0x00001ee0, 0x00001ee0, + 0x00001ee2, 0x00001ee2, 0x00001ee4, 0x00001ee4, + 0x00001ee6, 0x00001ee6, 0x00001ee8, 0x00001ee8, + 0x00001eea, 0x00001eea, 0x00001eec, 0x00001eec, + 0x00001eee, 0x00001eee, 0x00001ef0, 0x00001ef0, + 0x00001ef2, 0x00001ef2, 0x00001ef4, 0x00001ef4, + 0x00001ef6, 0x00001ef6, 0x00001ef8, 0x00001ef8, + 0x00001efa, 0x00001efa, 0x00001efc, 0x00001efc, + 0x00001efe, 0x00001efe, 0x00001f08, 0x00001f0f, + 0x00001f18, 0x00001f1d, 0x00001f28, 0x00001f2f, + 0x00001f38, 0x00001f3f, 0x00001f48, 0x00001f4d, + 0x00001f59, 0x00001f59, 0x00001f5b, 0x00001f5b, + 0x00001f5d, 0x00001f5d, 0x00001f5f, 0x00001f5f, + 0x00001f68, 0x00001f6f, 0x00001fb8, 0x00001fbb, + 0x00001fc8, 0x00001fcb, 0x00001fd8, 0x00001fdb, + 0x00001fe8, 0x00001fec, 0x00001ff8, 0x00001ffb, + 0x00002102, 0x00002102, 0x00002107, 0x00002107, + 0x0000210b, 0x0000210d, 0x00002110, 0x00002112, + 0x00002115, 0x00002115, 0x00002119, 0x0000211d, + 0x00002124, 0x00002124, 0x00002126, 0x00002126, + 0x00002128, 0x00002128, 0x0000212a, 0x0000212d, + 0x00002130, 0x00002133, 0x0000213e, 0x0000213f, + 0x00002145, 0x00002145, 0x00002183, 0x00002183, + 0x00002c00, 0x00002c2e, 0x00002c60, 0x00002c60, + 0x00002c62, 0x00002c64, 0x00002c67, 0x00002c67, + 0x00002c69, 0x00002c69, 0x00002c6b, 0x00002c6b, + 0x00002c6d, 0x00002c70, 0x00002c72, 0x00002c72, + 0x00002c75, 0x00002c75, 0x00002c7e, 0x00002c80, + 0x00002c82, 0x00002c82, 0x00002c84, 0x00002c84, + 0x00002c86, 0x00002c86, 0x00002c88, 0x00002c88, + 0x00002c8a, 0x00002c8a, 0x00002c8c, 0x00002c8c, + 0x00002c8e, 0x00002c8e, 0x00002c90, 0x00002c90, + 0x00002c92, 0x00002c92, 0x00002c94, 0x00002c94, + 0x00002c96, 0x00002c96, 0x00002c98, 0x00002c98, + 0x00002c9a, 0x00002c9a, 0x00002c9c, 0x00002c9c, + 0x00002c9e, 0x00002c9e, 0x00002ca0, 0x00002ca0, + 0x00002ca2, 0x00002ca2, 0x00002ca4, 0x00002ca4, + 0x00002ca6, 0x00002ca6, 0x00002ca8, 0x00002ca8, + 0x00002caa, 0x00002caa, 0x00002cac, 0x00002cac, + 0x00002cae, 0x00002cae, 0x00002cb0, 0x00002cb0, + 0x00002cb2, 0x00002cb2, 0x00002cb4, 0x00002cb4, + 0x00002cb6, 0x00002cb6, 0x00002cb8, 0x00002cb8, + 0x00002cba, 0x00002cba, 0x00002cbc, 0x00002cbc, + 0x00002cbe, 0x00002cbe, 0x00002cc0, 0x00002cc0, + 0x00002cc2, 0x00002cc2, 0x00002cc4, 0x00002cc4, + 0x00002cc6, 0x00002cc6, 0x00002cc8, 0x00002cc8, + 0x00002cca, 0x00002cca, 0x00002ccc, 0x00002ccc, + 0x00002cce, 0x00002cce, 0x00002cd0, 0x00002cd0, + 0x00002cd2, 0x00002cd2, 0x00002cd4, 0x00002cd4, + 0x00002cd6, 0x00002cd6, 0x00002cd8, 0x00002cd8, + 0x00002cda, 0x00002cda, 0x00002cdc, 0x00002cdc, + 0x00002cde, 0x00002cde, 0x00002ce0, 0x00002ce0, + 0x00002ce2, 0x00002ce2, 0x00002ceb, 0x00002ceb, + 0x00002ced, 0x00002ced, 0x00002cf2, 0x00002cf2, 0x0000a640, 0x0000a640, 0x0000a642, 0x0000a642, 0x0000a644, 0x0000a644, 0x0000a646, 0x0000a646, 0x0000a648, 0x0000a648, 0x0000a64a, 0x0000a64a, @@ -502,7 +571,8 @@ static const unsigned int _ucprop_ranges[] = { 0x0000a68a, 0x0000a68a, 0x0000a68c, 0x0000a68c, 0x0000a68e, 0x0000a68e, 0x0000a690, 0x0000a690, 0x0000a692, 0x0000a692, 0x0000a694, 0x0000a694, - 0x0000a696, 0x0000a696, 0x0000a722, 0x0000a722, + 0x0000a696, 0x0000a696, 0x0000a698, 0x0000a698, + 0x0000a69a, 0x0000a69a, 0x0000a722, 0x0000a722, 0x0000a724, 0x0000a724, 0x0000a726, 0x0000a726, 0x0000a728, 0x0000a728, 0x0000a72a, 0x0000a72a, 0x0000a72c, 0x0000a72c, 0x0000a72e, 0x0000a72e, @@ -526,161 +596,168 @@ static const unsigned int _ucprop_ranges[] = { 0x0000a780, 0x0000a780, 0x0000a782, 0x0000a782, 0x0000a784, 0x0000a784, 0x0000a786, 0x0000a786, 0x0000a78b, 0x0000a78b, 0x0000a78d, 0x0000a78d, - 0x0000a790, 0x0000a790, 0x0000a7a0, 0x0000a7a0, + 0x0000a790, 0x0000a790, 0x0000a792, 0x0000a792, + 0x0000a796, 0x0000a796, 0x0000a798, 0x0000a798, + 0x0000a79a, 0x0000a79a, 0x0000a79c, 0x0000a79c, + 0x0000a79e, 0x0000a79e, 0x0000a7a0, 0x0000a7a0, 0x0000a7a2, 0x0000a7a2, 0x0000a7a4, 0x0000a7a4, 0x0000a7a6, 0x0000a7a6, 0x0000a7a8, 0x0000a7a8, - 0x0000ff21, 0x0000ff3a, 0x00010400, 0x00010427, - 0x0001d400, 0x0001d419, 0x0001d434, 0x0001d44d, - 0x0001d468, 0x0001d481, 0x0001d49c, 0x0001d49c, - 0x0001d49e, 0x0001d49f, 0x0001d4a2, 0x0001d4a2, - 0x0001d4a5, 0x0001d4a6, 0x0001d4a9, 0x0001d4ac, - 0x0001d4ae, 0x0001d4b5, 0x0001d4d0, 0x0001d4e9, - 0x0001d504, 0x0001d505, 0x0001d507, 0x0001d50a, - 0x0001d50d, 0x0001d514, 0x0001d516, 0x0001d51c, - 0x0001d538, 0x0001d539, 0x0001d53b, 0x0001d53e, - 0x0001d540, 0x0001d544, 0x0001d546, 0x0001d546, - 0x0001d54a, 0x0001d550, 0x0001d56c, 0x0001d585, - 0x0001d5a0, 0x0001d5b9, 0x0001d5d4, 0x0001d5ed, - 0x0001d608, 0x0001d621, 0x0001d63c, 0x0001d655, - 0x0001d670, 0x0001d689, 0x0001d6a8, 0x0001d6c0, - 0x0001d6e2, 0x0001d6fa, 0x0001d71c, 0x0001d734, - 0x0001d756, 0x0001d76e, 0x0001d790, 0x0001d7a8, - 0x0001d7ca, 0x0001d7ca, 0x00000061, 0x0000007a, - 0x000000aa, 0x000000aa, 0x000000b5, 0x000000b5, - 0x000000ba, 0x000000ba, 0x000000df, 0x000000f6, - 0x000000f8, 0x000000ff, 0x00000101, 0x00000101, - 0x00000103, 0x00000103, 0x00000105, 0x00000105, - 0x00000107, 0x00000107, 0x00000109, 0x00000109, - 0x0000010b, 0x0000010b, 0x0000010d, 0x0000010d, - 0x0000010f, 0x0000010f, 0x00000111, 0x00000111, - 0x00000113, 0x00000113, 0x00000115, 0x00000115, - 0x00000117, 0x00000117, 0x00000119, 0x00000119, - 0x0000011b, 0x0000011b, 0x0000011d, 0x0000011d, - 0x0000011f, 0x0000011f, 0x00000121, 0x00000121, - 0x00000123, 0x00000123, 0x00000125, 0x00000125, - 0x00000127, 0x00000127, 0x00000129, 0x00000129, - 0x0000012b, 0x0000012b, 0x0000012d, 0x0000012d, - 0x0000012f, 0x0000012f, 0x00000131, 0x00000131, - 0x00000133, 0x00000133, 0x00000135, 0x00000135, - 0x00000137, 0x00000138, 0x0000013a, 0x0000013a, - 0x0000013c, 0x0000013c, 0x0000013e, 0x0000013e, - 0x00000140, 0x00000140, 0x00000142, 0x00000142, - 0x00000144, 0x00000144, 0x00000146, 0x00000146, - 0x00000148, 0x00000149, 0x0000014b, 0x0000014b, - 0x0000014d, 0x0000014d, 0x0000014f, 0x0000014f, - 0x00000151, 0x00000151, 0x00000153, 0x00000153, - 0x00000155, 0x00000155, 0x00000157, 0x00000157, - 0x00000159, 0x00000159, 0x0000015b, 0x0000015b, - 0x0000015d, 0x0000015d, 0x0000015f, 0x0000015f, - 0x00000161, 0x00000161, 0x00000163, 0x00000163, - 0x00000165, 0x00000165, 0x00000167, 0x00000167, - 0x00000169, 0x00000169, 0x0000016b, 0x0000016b, - 0x0000016d, 0x0000016d, 0x0000016f, 0x0000016f, - 0x00000171, 0x00000171, 0x00000173, 0x00000173, - 0x00000175, 0x00000175, 0x00000177, 0x00000177, - 0x0000017a, 0x0000017a, 0x0000017c, 0x0000017c, - 0x0000017e, 0x00000180, 0x00000183, 0x00000183, - 0x00000185, 0x00000185, 0x00000188, 0x00000188, - 0x0000018c, 0x0000018d, 0x00000192, 0x00000192, - 0x00000195, 0x00000195, 0x00000199, 0x0000019b, - 0x0000019e, 0x0000019e, 0x000001a1, 0x000001a1, - 0x000001a3, 0x000001a3, 0x000001a5, 0x000001a5, - 0x000001a8, 0x000001a8, 0x000001aa, 0x000001ab, - 0x000001ad, 0x000001ad, 0x000001b0, 0x000001b0, - 0x000001b4, 0x000001b4, 0x000001b6, 0x000001b6, - 0x000001b9, 0x000001ba, 0x000001bd, 0x000001bf, - 0x000001c6, 0x000001c6, 0x000001c9, 0x000001c9, - 0x000001cc, 0x000001cc, 0x000001ce, 0x000001ce, - 0x000001d0, 0x000001d0, 0x000001d2, 0x000001d2, - 0x000001d4, 0x000001d4, 0x000001d6, 0x000001d6, - 0x000001d8, 0x000001d8, 0x000001da, 0x000001da, - 0x000001dc, 0x000001dd, 0x000001df, 0x000001df, - 0x000001e1, 0x000001e1, 0x000001e3, 0x000001e3, - 0x000001e5, 0x000001e5, 0x000001e7, 0x000001e7, - 0x000001e9, 0x000001e9, 0x000001eb, 0x000001eb, - 0x000001ed, 0x000001ed, 0x000001ef, 0x000001f0, - 0x000001f3, 0x000001f3, 0x000001f5, 0x000001f5, - 0x000001f9, 0x000001f9, 0x000001fb, 0x000001fb, - 0x000001fd, 0x000001fd, 0x000001ff, 0x000001ff, - 0x00000201, 0x00000201, 0x00000203, 0x00000203, - 0x00000205, 0x00000205, 0x00000207, 0x00000207, - 0x00000209, 0x00000209, 0x0000020b, 0x0000020b, - 0x0000020d, 0x0000020d, 0x0000020f, 0x0000020f, - 0x00000211, 0x00000211, 0x00000213, 0x00000213, - 0x00000215, 0x00000215, 0x00000217, 0x00000217, - 0x00000219, 0x00000219, 0x0000021b, 0x0000021b, - 0x0000021d, 0x0000021d, 0x0000021f, 0x0000021f, - 0x00000221, 0x00000221, 0x00000223, 0x00000223, - 0x00000225, 0x00000225, 0x00000227, 0x00000227, - 0x00000229, 0x00000229, 0x0000022b, 0x0000022b, - 0x0000022d, 0x0000022d, 0x0000022f, 0x0000022f, - 0x00000231, 0x00000231, 0x00000233, 0x00000239, - 0x0000023c, 0x0000023c, 0x0000023f, 0x00000240, - 0x00000242, 0x00000242, 0x00000247, 0x00000247, - 0x00000249, 0x00000249, 0x0000024b, 0x0000024b, - 0x0000024d, 0x0000024d, 0x0000024f, 0x00000293, - 0x00000295, 0x000002af, 0x00000371, 0x00000371, - 0x00000373, 0x00000373, 0x00000377, 0x00000377, - 0x0000037b, 0x0000037d, 0x00000390, 0x00000390, - 0x000003ac, 0x000003ce, 0x000003d0, 0x000003d1, - 0x000003d5, 0x000003d7, 0x000003d9, 0x000003d9, - 0x000003db, 0x000003db, 0x000003dd, 0x000003dd, - 0x000003df, 0x000003df, 0x000003e1, 0x000003e1, - 0x000003e3, 0x000003e3, 0x000003e5, 0x000003e5, - 0x000003e7, 0x000003e7, 0x000003e9, 0x000003e9, - 0x000003eb, 0x000003eb, 0x000003ed, 0x000003ed, - 0x000003ef, 0x000003f3, 0x000003f5, 0x000003f5, - 0x000003f8, 0x000003f8, 0x000003fb, 0x000003fc, - 0x00000430, 0x0000045f, 0x00000461, 0x00000461, - 0x00000463, 0x00000463, 0x00000465, 0x00000465, - 0x00000467, 0x00000467, 0x00000469, 0x00000469, - 0x0000046b, 0x0000046b, 0x0000046d, 0x0000046d, - 0x0000046f, 0x0000046f, 0x00000471, 0x00000471, - 0x00000473, 0x00000473, 0x00000475, 0x00000475, - 0x00000477, 0x00000477, 0x00000479, 0x00000479, - 0x0000047b, 0x0000047b, 0x0000047d, 0x0000047d, - 0x0000047f, 0x0000047f, 0x00000481, 0x00000481, - 0x0000048b, 0x0000048b, 0x0000048d, 0x0000048d, - 0x0000048f, 0x0000048f, 0x00000491, 0x00000491, - 0x00000493, 0x00000493, 0x00000495, 0x00000495, - 0x00000497, 0x00000497, 0x00000499, 0x00000499, - 0x0000049b, 0x0000049b, 0x0000049d, 0x0000049d, - 0x0000049f, 0x0000049f, 0x000004a1, 0x000004a1, - 0x000004a3, 0x000004a3, 0x000004a5, 0x000004a5, - 0x000004a7, 0x000004a7, 0x000004a9, 0x000004a9, - 0x000004ab, 0x000004ab, 0x000004ad, 0x000004ad, - 0x000004af, 0x000004af, 0x000004b1, 0x000004b1, - 0x000004b3, 0x000004b3, 0x000004b5, 0x000004b5, - 0x000004b7, 0x000004b7, 0x000004b9, 0x000004b9, - 0x000004bb, 0x000004bb, 0x000004bd, 0x000004bd, - 0x000004bf, 0x000004bf, 0x000004c2, 0x000004c2, - 0x000004c4, 0x000004c4, 0x000004c6, 0x000004c6, - 0x000004c8, 0x000004c8, 0x000004ca, 0x000004ca, - 0x000004cc, 0x000004cc, 0x000004ce, 0x000004cf, - 0x000004d1, 0x000004d1, 0x000004d3, 0x000004d3, - 0x000004d5, 0x000004d5, 0x000004d7, 0x000004d7, - 0x000004d9, 0x000004d9, 0x000004db, 0x000004db, - 0x000004dd, 0x000004dd, 0x000004df, 0x000004df, - 0x000004e1, 0x000004e1, 0x000004e3, 0x000004e3, - 0x000004e5, 0x000004e5, 0x000004e7, 0x000004e7, - 0x000004e9, 0x000004e9, 0x000004eb, 0x000004eb, - 0x000004ed, 0x000004ed, 0x000004ef, 0x000004ef, - 0x000004f1, 0x000004f1, 0x000004f3, 0x000004f3, - 0x000004f5, 0x000004f5, 0x000004f7, 0x000004f7, - 0x000004f9, 0x000004f9, 0x000004fb, 0x000004fb, - 0x000004fd, 0x000004fd, 0x000004ff, 0x000004ff, - 0x00000501, 0x00000501, 0x00000503, 0x00000503, - 0x00000505, 0x00000505, 0x00000507, 0x00000507, - 0x00000509, 0x00000509, 0x0000050b, 0x0000050b, - 0x0000050d, 0x0000050d, 0x0000050f, 0x0000050f, - 0x00000511, 0x00000511, 0x00000513, 0x00000513, - 0x00000515, 0x00000515, 0x00000517, 0x00000517, - 0x00000519, 0x00000519, 0x0000051b, 0x0000051b, - 0x0000051d, 0x0000051d, 0x0000051f, 0x0000051f, - 0x00000521, 0x00000521, 0x00000523, 0x00000523, - 0x00000525, 0x00000525, 0x00000527, 0x00000527, - 0x00000561, 0x00000587, 0x00001d00, 0x00001d2b, - 0x00001d62, 0x00001d77, 0x00001d79, 0x00001d9a, + 0x0000a7aa, 0x0000a7ad, 0x0000a7b0, 0x0000a7b4, + 0x0000a7b6, 0x0000a7b6, 0x0000ff21, 0x0000ff3a, + 0x00010400, 0x00010427, 0x00010c80, 0x00010cb2, + 0x000118a0, 0x000118bf, 0x0001d400, 0x0001d419, + 0x0001d434, 0x0001d44d, 0x0001d468, 0x0001d481, + 0x0001d49c, 0x0001d49c, 0x0001d49e, 0x0001d49f, + 0x0001d4a2, 0x0001d4a2, 0x0001d4a5, 0x0001d4a6, + 0x0001d4a9, 0x0001d4ac, 0x0001d4ae, 0x0001d4b5, + 0x0001d4d0, 0x0001d4e9, 0x0001d504, 0x0001d505, + 0x0001d507, 0x0001d50a, 0x0001d50d, 0x0001d514, + 0x0001d516, 0x0001d51c, 0x0001d538, 0x0001d539, + 0x0001d53b, 0x0001d53e, 0x0001d540, 0x0001d544, + 0x0001d546, 0x0001d546, 0x0001d54a, 0x0001d550, + 0x0001d56c, 0x0001d585, 0x0001d5a0, 0x0001d5b9, + 0x0001d5d4, 0x0001d5ed, 0x0001d608, 0x0001d621, + 0x0001d63c, 0x0001d655, 0x0001d670, 0x0001d689, + 0x0001d6a8, 0x0001d6c0, 0x0001d6e2, 0x0001d6fa, + 0x0001d71c, 0x0001d734, 0x0001d756, 0x0001d76e, + 0x0001d790, 0x0001d7a8, 0x0001d7ca, 0x0001d7ca, + 0x00000061, 0x0000007a, 0x000000b5, 0x000000b5, + 0x000000df, 0x000000f6, 0x000000f8, 0x000000ff, + 0x00000101, 0x00000101, 0x00000103, 0x00000103, + 0x00000105, 0x00000105, 0x00000107, 0x00000107, + 0x00000109, 0x00000109, 0x0000010b, 0x0000010b, + 0x0000010d, 0x0000010d, 0x0000010f, 0x0000010f, + 0x00000111, 0x00000111, 0x00000113, 0x00000113, + 0x00000115, 0x00000115, 0x00000117, 0x00000117, + 0x00000119, 0x00000119, 0x0000011b, 0x0000011b, + 0x0000011d, 0x0000011d, 0x0000011f, 0x0000011f, + 0x00000121, 0x00000121, 0x00000123, 0x00000123, + 0x00000125, 0x00000125, 0x00000127, 0x00000127, + 0x00000129, 0x00000129, 0x0000012b, 0x0000012b, + 0x0000012d, 0x0000012d, 0x0000012f, 0x0000012f, + 0x00000131, 0x00000131, 0x00000133, 0x00000133, + 0x00000135, 0x00000135, 0x00000137, 0x00000138, + 0x0000013a, 0x0000013a, 0x0000013c, 0x0000013c, + 0x0000013e, 0x0000013e, 0x00000140, 0x00000140, + 0x00000142, 0x00000142, 0x00000144, 0x00000144, + 0x00000146, 0x00000146, 0x00000148, 0x00000149, + 0x0000014b, 0x0000014b, 0x0000014d, 0x0000014d, + 0x0000014f, 0x0000014f, 0x00000151, 0x00000151, + 0x00000153, 0x00000153, 0x00000155, 0x00000155, + 0x00000157, 0x00000157, 0x00000159, 0x00000159, + 0x0000015b, 0x0000015b, 0x0000015d, 0x0000015d, + 0x0000015f, 0x0000015f, 0x00000161, 0x00000161, + 0x00000163, 0x00000163, 0x00000165, 0x00000165, + 0x00000167, 0x00000167, 0x00000169, 0x00000169, + 0x0000016b, 0x0000016b, 0x0000016d, 0x0000016d, + 0x0000016f, 0x0000016f, 0x00000171, 0x00000171, + 0x00000173, 0x00000173, 0x00000175, 0x00000175, + 0x00000177, 0x00000177, 0x0000017a, 0x0000017a, + 0x0000017c, 0x0000017c, 0x0000017e, 0x00000180, + 0x00000183, 0x00000183, 0x00000185, 0x00000185, + 0x00000188, 0x00000188, 0x0000018c, 0x0000018d, + 0x00000192, 0x00000192, 0x00000195, 0x00000195, + 0x00000199, 0x0000019b, 0x0000019e, 0x0000019e, + 0x000001a1, 0x000001a1, 0x000001a3, 0x000001a3, + 0x000001a5, 0x000001a5, 0x000001a8, 0x000001a8, + 0x000001aa, 0x000001ab, 0x000001ad, 0x000001ad, + 0x000001b0, 0x000001b0, 0x000001b4, 0x000001b4, + 0x000001b6, 0x000001b6, 0x000001b9, 0x000001ba, + 0x000001bd, 0x000001bf, 0x000001c6, 0x000001c6, + 0x000001c9, 0x000001c9, 0x000001cc, 0x000001cc, + 0x000001ce, 0x000001ce, 0x000001d0, 0x000001d0, + 0x000001d2, 0x000001d2, 0x000001d4, 0x000001d4, + 0x000001d6, 0x000001d6, 0x000001d8, 0x000001d8, + 0x000001da, 0x000001da, 0x000001dc, 0x000001dd, + 0x000001df, 0x000001df, 0x000001e1, 0x000001e1, + 0x000001e3, 0x000001e3, 0x000001e5, 0x000001e5, + 0x000001e7, 0x000001e7, 0x000001e9, 0x000001e9, + 0x000001eb, 0x000001eb, 0x000001ed, 0x000001ed, + 0x000001ef, 0x000001f0, 0x000001f3, 0x000001f3, + 0x000001f5, 0x000001f5, 0x000001f9, 0x000001f9, + 0x000001fb, 0x000001fb, 0x000001fd, 0x000001fd, + 0x000001ff, 0x000001ff, 0x00000201, 0x00000201, + 0x00000203, 0x00000203, 0x00000205, 0x00000205, + 0x00000207, 0x00000207, 0x00000209, 0x00000209, + 0x0000020b, 0x0000020b, 0x0000020d, 0x0000020d, + 0x0000020f, 0x0000020f, 0x00000211, 0x00000211, + 0x00000213, 0x00000213, 0x00000215, 0x00000215, + 0x00000217, 0x00000217, 0x00000219, 0x00000219, + 0x0000021b, 0x0000021b, 0x0000021d, 0x0000021d, + 0x0000021f, 0x0000021f, 0x00000221, 0x00000221, + 0x00000223, 0x00000223, 0x00000225, 0x00000225, + 0x00000227, 0x00000227, 0x00000229, 0x00000229, + 0x0000022b, 0x0000022b, 0x0000022d, 0x0000022d, + 0x0000022f, 0x0000022f, 0x00000231, 0x00000231, + 0x00000233, 0x00000239, 0x0000023c, 0x0000023c, + 0x0000023f, 0x00000240, 0x00000242, 0x00000242, + 0x00000247, 0x00000247, 0x00000249, 0x00000249, + 0x0000024b, 0x0000024b, 0x0000024d, 0x0000024d, + 0x0000024f, 0x00000293, 0x00000295, 0x000002af, + 0x00000371, 0x00000371, 0x00000373, 0x00000373, + 0x00000377, 0x00000377, 0x0000037b, 0x0000037d, + 0x00000390, 0x00000390, 0x000003ac, 0x000003ce, + 0x000003d0, 0x000003d1, 0x000003d5, 0x000003d7, + 0x000003d9, 0x000003d9, 0x000003db, 0x000003db, + 0x000003dd, 0x000003dd, 0x000003df, 0x000003df, + 0x000003e1, 0x000003e1, 0x000003e3, 0x000003e3, + 0x000003e5, 0x000003e5, 0x000003e7, 0x000003e7, + 0x000003e9, 0x000003e9, 0x000003eb, 0x000003eb, + 0x000003ed, 0x000003ed, 0x000003ef, 0x000003f3, + 0x000003f5, 0x000003f5, 0x000003f8, 0x000003f8, + 0x000003fb, 0x000003fc, 0x00000430, 0x0000045f, + 0x00000461, 0x00000461, 0x00000463, 0x00000463, + 0x00000465, 0x00000465, 0x00000467, 0x00000467, + 0x00000469, 0x00000469, 0x0000046b, 0x0000046b, + 0x0000046d, 0x0000046d, 0x0000046f, 0x0000046f, + 0x00000471, 0x00000471, 0x00000473, 0x00000473, + 0x00000475, 0x00000475, 0x00000477, 0x00000477, + 0x00000479, 0x00000479, 0x0000047b, 0x0000047b, + 0x0000047d, 0x0000047d, 0x0000047f, 0x0000047f, + 0x00000481, 0x00000481, 0x0000048b, 0x0000048b, + 0x0000048d, 0x0000048d, 0x0000048f, 0x0000048f, + 0x00000491, 0x00000491, 0x00000493, 0x00000493, + 0x00000495, 0x00000495, 0x00000497, 0x00000497, + 0x00000499, 0x00000499, 0x0000049b, 0x0000049b, + 0x0000049d, 0x0000049d, 0x0000049f, 0x0000049f, + 0x000004a1, 0x000004a1, 0x000004a3, 0x000004a3, + 0x000004a5, 0x000004a5, 0x000004a7, 0x000004a7, + 0x000004a9, 0x000004a9, 0x000004ab, 0x000004ab, + 0x000004ad, 0x000004ad, 0x000004af, 0x000004af, + 0x000004b1, 0x000004b1, 0x000004b3, 0x000004b3, + 0x000004b5, 0x000004b5, 0x000004b7, 0x000004b7, + 0x000004b9, 0x000004b9, 0x000004bb, 0x000004bb, + 0x000004bd, 0x000004bd, 0x000004bf, 0x000004bf, + 0x000004c2, 0x000004c2, 0x000004c4, 0x000004c4, + 0x000004c6, 0x000004c6, 0x000004c8, 0x000004c8, + 0x000004ca, 0x000004ca, 0x000004cc, 0x000004cc, + 0x000004ce, 0x000004cf, 0x000004d1, 0x000004d1, + 0x000004d3, 0x000004d3, 0x000004d5, 0x000004d5, + 0x000004d7, 0x000004d7, 0x000004d9, 0x000004d9, + 0x000004db, 0x000004db, 0x000004dd, 0x000004dd, + 0x000004df, 0x000004df, 0x000004e1, 0x000004e1, + 0x000004e3, 0x000004e3, 0x000004e5, 0x000004e5, + 0x000004e7, 0x000004e7, 0x000004e9, 0x000004e9, + 0x000004eb, 0x000004eb, 0x000004ed, 0x000004ed, + 0x000004ef, 0x000004ef, 0x000004f1, 0x000004f1, + 0x000004f3, 0x000004f3, 0x000004f5, 0x000004f5, + 0x000004f7, 0x000004f7, 0x000004f9, 0x000004f9, + 0x000004fb, 0x000004fb, 0x000004fd, 0x000004fd, + 0x000004ff, 0x000004ff, 0x00000501, 0x00000501, + 0x00000503, 0x00000503, 0x00000505, 0x00000505, + 0x00000507, 0x00000507, 0x00000509, 0x00000509, + 0x0000050b, 0x0000050b, 0x0000050d, 0x0000050d, + 0x0000050f, 0x0000050f, 0x00000511, 0x00000511, + 0x00000513, 0x00000513, 0x00000515, 0x00000515, + 0x00000517, 0x00000517, 0x00000519, 0x00000519, + 0x0000051b, 0x0000051b, 0x0000051d, 0x0000051d, + 0x0000051f, 0x0000051f, 0x00000521, 0x00000521, + 0x00000523, 0x00000523, 0x00000525, 0x00000525, + 0x00000527, 0x00000527, 0x00000529, 0x00000529, + 0x0000052b, 0x0000052b, 0x0000052d, 0x0000052d, + 0x0000052f, 0x0000052f, 0x00000561, 0x00000587, + 0x000013f8, 0x000013fd, 0x00001d00, 0x00001d2b, + 0x00001d6b, 0x00001d77, 0x00001d79, 0x00001d9a, 0x00001e01, 0x00001e01, 0x00001e03, 0x00001e03, 0x00001e05, 0x00001e05, 0x00001e07, 0x00001e07, 0x00001e09, 0x00001e09, 0x00001e0b, 0x00001e0b, @@ -762,7 +839,7 @@ static const unsigned int _ucprop_ranges[] = { 0x00002c65, 0x00002c66, 0x00002c68, 0x00002c68, 0x00002c6a, 0x00002c6a, 0x00002c6c, 0x00002c6c, 0x00002c71, 0x00002c71, 0x00002c73, 0x00002c74, - 0x00002c76, 0x00002c7c, 0x00002c81, 0x00002c81, + 0x00002c76, 0x00002c7b, 0x00002c81, 0x00002c81, 0x00002c83, 0x00002c83, 0x00002c85, 0x00002c85, 0x00002c87, 0x00002c87, 0x00002c89, 0x00002c89, 0x00002c8b, 0x00002c8b, 0x00002c8d, 0x00002c8d, @@ -788,54 +865,63 @@ static const unsigned int _ucprop_ranges[] = { 0x00002cdb, 0x00002cdb, 0x00002cdd, 0x00002cdd, 0x00002cdf, 0x00002cdf, 0x00002ce1, 0x00002ce1, 0x00002ce3, 0x00002ce4, 0x00002cec, 0x00002cec, - 0x00002cee, 0x00002cee, 0x00002d00, 0x00002d25, - 0x0000a641, 0x0000a641, 0x0000a643, 0x0000a643, - 0x0000a645, 0x0000a645, 0x0000a647, 0x0000a647, - 0x0000a649, 0x0000a649, 0x0000a64b, 0x0000a64b, - 0x0000a64d, 0x0000a64d, 0x0000a64f, 0x0000a64f, - 0x0000a651, 0x0000a651, 0x0000a653, 0x0000a653, - 0x0000a655, 0x0000a655, 0x0000a657, 0x0000a657, - 0x0000a659, 0x0000a659, 0x0000a65b, 0x0000a65b, - 0x0000a65d, 0x0000a65d, 0x0000a65f, 0x0000a65f, - 0x0000a661, 0x0000a661, 0x0000a663, 0x0000a663, - 0x0000a665, 0x0000a665, 0x0000a667, 0x0000a667, - 0x0000a669, 0x0000a669, 0x0000a66b, 0x0000a66b, - 0x0000a66d, 0x0000a66d, 0x0000a681, 0x0000a681, - 0x0000a683, 0x0000a683, 0x0000a685, 0x0000a685, - 0x0000a687, 0x0000a687, 0x0000a689, 0x0000a689, - 0x0000a68b, 0x0000a68b, 0x0000a68d, 0x0000a68d, - 0x0000a68f, 0x0000a68f, 0x0000a691, 0x0000a691, - 0x0000a693, 0x0000a693, 0x0000a695, 0x0000a695, - 0x0000a697, 0x0000a697, 0x0000a723, 0x0000a723, - 0x0000a725, 0x0000a725, 0x0000a727, 0x0000a727, - 0x0000a729, 0x0000a729, 0x0000a72b, 0x0000a72b, - 0x0000a72d, 0x0000a72d, 0x0000a72f, 0x0000a731, - 0x0000a733, 0x0000a733, 0x0000a735, 0x0000a735, - 0x0000a737, 0x0000a737, 0x0000a739, 0x0000a739, - 0x0000a73b, 0x0000a73b, 0x0000a73d, 0x0000a73d, - 0x0000a73f, 0x0000a73f, 0x0000a741, 0x0000a741, - 0x0000a743, 0x0000a743, 0x0000a745, 0x0000a745, - 0x0000a747, 0x0000a747, 0x0000a749, 0x0000a749, - 0x0000a74b, 0x0000a74b, 0x0000a74d, 0x0000a74d, - 0x0000a74f, 0x0000a74f, 0x0000a751, 0x0000a751, - 0x0000a753, 0x0000a753, 0x0000a755, 0x0000a755, - 0x0000a757, 0x0000a757, 0x0000a759, 0x0000a759, - 0x0000a75b, 0x0000a75b, 0x0000a75d, 0x0000a75d, - 0x0000a75f, 0x0000a75f, 0x0000a761, 0x0000a761, - 0x0000a763, 0x0000a763, 0x0000a765, 0x0000a765, - 0x0000a767, 0x0000a767, 0x0000a769, 0x0000a769, - 0x0000a76b, 0x0000a76b, 0x0000a76d, 0x0000a76d, - 0x0000a76f, 0x0000a76f, 0x0000a771, 0x0000a778, - 0x0000a77a, 0x0000a77a, 0x0000a77c, 0x0000a77c, - 0x0000a77f, 0x0000a77f, 0x0000a781, 0x0000a781, - 0x0000a783, 0x0000a783, 0x0000a785, 0x0000a785, - 0x0000a787, 0x0000a787, 0x0000a78c, 0x0000a78c, - 0x0000a78e, 0x0000a78e, 0x0000a791, 0x0000a791, - 0x0000a7a1, 0x0000a7a1, 0x0000a7a3, 0x0000a7a3, - 0x0000a7a5, 0x0000a7a5, 0x0000a7a7, 0x0000a7a7, - 0x0000a7a9, 0x0000a7a9, 0x0000a7fa, 0x0000a7fa, + 0x00002cee, 0x00002cee, 0x00002cf3, 0x00002cf3, + 0x00002d00, 0x00002d25, 0x00002d27, 0x00002d27, + 0x00002d2d, 0x00002d2d, 0x0000a641, 0x0000a641, + 0x0000a643, 0x0000a643, 0x0000a645, 0x0000a645, + 0x0000a647, 0x0000a647, 0x0000a649, 0x0000a649, + 0x0000a64b, 0x0000a64b, 0x0000a64d, 0x0000a64d, + 0x0000a64f, 0x0000a64f, 0x0000a651, 0x0000a651, + 0x0000a653, 0x0000a653, 0x0000a655, 0x0000a655, + 0x0000a657, 0x0000a657, 0x0000a659, 0x0000a659, + 0x0000a65b, 0x0000a65b, 0x0000a65d, 0x0000a65d, + 0x0000a65f, 0x0000a65f, 0x0000a661, 0x0000a661, + 0x0000a663, 0x0000a663, 0x0000a665, 0x0000a665, + 0x0000a667, 0x0000a667, 0x0000a669, 0x0000a669, + 0x0000a66b, 0x0000a66b, 0x0000a66d, 0x0000a66d, + 0x0000a681, 0x0000a681, 0x0000a683, 0x0000a683, + 0x0000a685, 0x0000a685, 0x0000a687, 0x0000a687, + 0x0000a689, 0x0000a689, 0x0000a68b, 0x0000a68b, + 0x0000a68d, 0x0000a68d, 0x0000a68f, 0x0000a68f, + 0x0000a691, 0x0000a691, 0x0000a693, 0x0000a693, + 0x0000a695, 0x0000a695, 0x0000a697, 0x0000a697, + 0x0000a699, 0x0000a699, 0x0000a69b, 0x0000a69b, + 0x0000a723, 0x0000a723, 0x0000a725, 0x0000a725, + 0x0000a727, 0x0000a727, 0x0000a729, 0x0000a729, + 0x0000a72b, 0x0000a72b, 0x0000a72d, 0x0000a72d, + 0x0000a72f, 0x0000a731, 0x0000a733, 0x0000a733, + 0x0000a735, 0x0000a735, 0x0000a737, 0x0000a737, + 0x0000a739, 0x0000a739, 0x0000a73b, 0x0000a73b, + 0x0000a73d, 0x0000a73d, 0x0000a73f, 0x0000a73f, + 0x0000a741, 0x0000a741, 0x0000a743, 0x0000a743, + 0x0000a745, 0x0000a745, 0x0000a747, 0x0000a747, + 0x0000a749, 0x0000a749, 0x0000a74b, 0x0000a74b, + 0x0000a74d, 0x0000a74d, 0x0000a74f, 0x0000a74f, + 0x0000a751, 0x0000a751, 0x0000a753, 0x0000a753, + 0x0000a755, 0x0000a755, 0x0000a757, 0x0000a757, + 0x0000a759, 0x0000a759, 0x0000a75b, 0x0000a75b, + 0x0000a75d, 0x0000a75d, 0x0000a75f, 0x0000a75f, + 0x0000a761, 0x0000a761, 0x0000a763, 0x0000a763, + 0x0000a765, 0x0000a765, 0x0000a767, 0x0000a767, + 0x0000a769, 0x0000a769, 0x0000a76b, 0x0000a76b, + 0x0000a76d, 0x0000a76d, 0x0000a76f, 0x0000a76f, + 0x0000a771, 0x0000a778, 0x0000a77a, 0x0000a77a, + 0x0000a77c, 0x0000a77c, 0x0000a77f, 0x0000a77f, + 0x0000a781, 0x0000a781, 0x0000a783, 0x0000a783, + 0x0000a785, 0x0000a785, 0x0000a787, 0x0000a787, + 0x0000a78c, 0x0000a78c, 0x0000a78e, 0x0000a78e, + 0x0000a791, 0x0000a791, 0x0000a793, 0x0000a795, + 0x0000a797, 0x0000a797, 0x0000a799, 0x0000a799, + 0x0000a79b, 0x0000a79b, 0x0000a79d, 0x0000a79d, + 0x0000a79f, 0x0000a79f, 0x0000a7a1, 0x0000a7a1, + 0x0000a7a3, 0x0000a7a3, 0x0000a7a5, 0x0000a7a5, + 0x0000a7a7, 0x0000a7a7, 0x0000a7a9, 0x0000a7a9, + 0x0000a7b5, 0x0000a7b5, 0x0000a7b7, 0x0000a7b7, + 0x0000a7fa, 0x0000a7fa, 0x0000ab30, 0x0000ab5a, + 0x0000ab60, 0x0000ab65, 0x0000ab70, 0x0000abbf, 0x0000fb00, 0x0000fb06, 0x0000fb13, 0x0000fb17, 0x0000ff41, 0x0000ff5a, 0x00010428, 0x0001044f, + 0x00010cc0, 0x00010cf2, 0x000118c0, 0x000118df, 0x0001d41a, 0x0001d433, 0x0001d44e, 0x0001d454, 0x0001d456, 0x0001d467, 0x0001d482, 0x0001d49b, 0x0001d4b6, 0x0001d4b9, 0x0001d4bb, 0x0001d4bb, @@ -866,48 +952,53 @@ static const unsigned int _ucprop_ranges[] = { 0x00000e46, 0x00000e46, 0x00000ec6, 0x00000ec6, 0x000010fc, 0x000010fc, 0x000017d7, 0x000017d7, 0x00001843, 0x00001843, 0x00001aa7, 0x00001aa7, - 0x00001c78, 0x00001c7d, 0x00001d2c, 0x00001d61, + 0x00001c78, 0x00001c7d, 0x00001d2c, 0x00001d6a, 0x00001d78, 0x00001d78, 0x00001d9b, 0x00001dbf, 0x00002071, 0x00002071, 0x0000207f, 0x0000207f, - 0x00002090, 0x0000209c, 0x00002c7d, 0x00002c7d, + 0x00002090, 0x0000209c, 0x00002c7c, 0x00002c7d, 0x00002d6f, 0x00002d6f, 0x00002e2f, 0x00002e2f, 0x00003005, 0x00003005, 0x00003031, 0x00003035, 0x0000303b, 0x0000303b, 0x0000309d, 0x0000309e, 0x000030fc, 0x000030fe, 0x0000a015, 0x0000a015, 0x0000a4f8, 0x0000a4fd, 0x0000a60c, 0x0000a60c, - 0x0000a67f, 0x0000a67f, 0x0000a717, 0x0000a71f, - 0x0000a770, 0x0000a770, 0x0000a788, 0x0000a788, - 0x0000a9cf, 0x0000a9cf, 0x0000aa70, 0x0000aa70, - 0x0000aadd, 0x0000aadd, 0x0000ff70, 0x0000ff70, - 0x0000ff9e, 0x0000ff9f, 0x000001bb, 0x000001bb, - 0x000001c0, 0x000001c3, 0x00000294, 0x00000294, - 0x000005d0, 0x000005ea, 0x000005f0, 0x000005f2, - 0x00000620, 0x0000063f, 0x00000641, 0x0000064a, - 0x0000066e, 0x0000066f, 0x00000671, 0x000006d3, - 0x000006d5, 0x000006d5, 0x000006ee, 0x000006ef, - 0x000006fa, 0x000006fc, 0x000006ff, 0x000006ff, - 0x00000710, 0x00000710, 0x00000712, 0x0000072f, - 0x0000074d, 0x000007a5, 0x000007b1, 0x000007b1, - 0x000007ca, 0x000007ea, 0x00000800, 0x00000815, - 0x00000840, 0x00000858, 0x00000904, 0x00000939, + 0x0000a67f, 0x0000a67f, 0x0000a69c, 0x0000a69d, + 0x0000a717, 0x0000a71f, 0x0000a770, 0x0000a770, + 0x0000a788, 0x0000a788, 0x0000a7f8, 0x0000a7f9, + 0x0000a9cf, 0x0000a9cf, 0x0000a9e6, 0x0000a9e6, + 0x0000aa70, 0x0000aa70, 0x0000aadd, 0x0000aadd, + 0x0000aaf3, 0x0000aaf4, 0x0000ab5c, 0x0000ab5f, + 0x0000ff70, 0x0000ff70, 0x0000ff9e, 0x0000ff9f, + 0x00016b40, 0x00016b43, 0x00016f93, 0x00016f9f, + 0x000000aa, 0x000000aa, 0x000000ba, 0x000000ba, + 0x000001bb, 0x000001bb, 0x000001c0, 0x000001c3, + 0x00000294, 0x00000294, 0x000005d0, 0x000005ea, + 0x000005f0, 0x000005f2, 0x00000620, 0x0000063f, + 0x00000641, 0x0000064a, 0x0000066e, 0x0000066f, + 0x00000671, 0x000006d3, 0x000006d5, 0x000006d5, + 0x000006ee, 0x000006ef, 0x000006fa, 0x000006fc, + 0x000006ff, 0x000006ff, 0x00000710, 0x00000710, + 0x00000712, 0x0000072f, 0x0000074d, 0x000007a5, + 0x000007b1, 0x000007b1, 0x000007ca, 0x000007ea, + 0x00000800, 0x00000815, 0x00000840, 0x00000858, + 0x000008a0, 0x000008b4, 0x00000904, 0x00000939, 0x0000093d, 0x0000093d, 0x00000950, 0x00000950, - 0x00000958, 0x00000961, 0x00000972, 0x00000977, - 0x00000979, 0x0000097f, 0x00000985, 0x0000098c, - 0x0000098f, 0x00000990, 0x00000993, 0x000009a8, - 0x000009aa, 0x000009b0, 0x000009b2, 0x000009b2, - 0x000009b6, 0x000009b9, 0x000009bd, 0x000009bd, - 0x000009ce, 0x000009ce, 0x000009dc, 0x000009dd, - 0x000009df, 0x000009e1, 0x000009f0, 0x000009f1, - 0x00000a05, 0x00000a0a, 0x00000a0f, 0x00000a10, - 0x00000a13, 0x00000a28, 0x00000a2a, 0x00000a30, - 0x00000a32, 0x00000a33, 0x00000a35, 0x00000a36, - 0x00000a38, 0x00000a39, 0x00000a59, 0x00000a5c, - 0x00000a5e, 0x00000a5e, 0x00000a72, 0x00000a74, - 0x00000a85, 0x00000a8d, 0x00000a8f, 0x00000a91, - 0x00000a93, 0x00000aa8, 0x00000aaa, 0x00000ab0, - 0x00000ab2, 0x00000ab3, 0x00000ab5, 0x00000ab9, - 0x00000abd, 0x00000abd, 0x00000ad0, 0x00000ad0, - 0x00000ae0, 0x00000ae1, 0x00000b05, 0x00000b0c, + 0x00000958, 0x00000961, 0x00000972, 0x00000980, + 0x00000985, 0x0000098c, 0x0000098f, 0x00000990, + 0x00000993, 0x000009a8, 0x000009aa, 0x000009b0, + 0x000009b2, 0x000009b2, 0x000009b6, 0x000009b9, + 0x000009bd, 0x000009bd, 0x000009ce, 0x000009ce, + 0x000009dc, 0x000009dd, 0x000009df, 0x000009e1, + 0x000009f0, 0x000009f1, 0x00000a05, 0x00000a0a, + 0x00000a0f, 0x00000a10, 0x00000a13, 0x00000a28, + 0x00000a2a, 0x00000a30, 0x00000a32, 0x00000a33, + 0x00000a35, 0x00000a36, 0x00000a38, 0x00000a39, + 0x00000a59, 0x00000a5c, 0x00000a5e, 0x00000a5e, + 0x00000a72, 0x00000a74, 0x00000a85, 0x00000a8d, + 0x00000a8f, 0x00000a91, 0x00000a93, 0x00000aa8, + 0x00000aaa, 0x00000ab0, 0x00000ab2, 0x00000ab3, + 0x00000ab5, 0x00000ab9, 0x00000abd, 0x00000abd, + 0x00000ad0, 0x00000ad0, 0x00000ae0, 0x00000ae1, + 0x00000af9, 0x00000af9, 0x00000b05, 0x00000b0c, 0x00000b0f, 0x00000b10, 0x00000b13, 0x00000b28, 0x00000b2a, 0x00000b30, 0x00000b32, 0x00000b33, 0x00000b35, 0x00000b39, 0x00000b3d, 0x00000b3d, @@ -919,63 +1010,63 @@ static const unsigned int _ucprop_ranges[] = { 0x00000ba3, 0x00000ba4, 0x00000ba8, 0x00000baa, 0x00000bae, 0x00000bb9, 0x00000bd0, 0x00000bd0, 0x00000c05, 0x00000c0c, 0x00000c0e, 0x00000c10, - 0x00000c12, 0x00000c28, 0x00000c2a, 0x00000c33, - 0x00000c35, 0x00000c39, 0x00000c3d, 0x00000c3d, - 0x00000c58, 0x00000c59, 0x00000c60, 0x00000c61, - 0x00000c85, 0x00000c8c, 0x00000c8e, 0x00000c90, - 0x00000c92, 0x00000ca8, 0x00000caa, 0x00000cb3, - 0x00000cb5, 0x00000cb9, 0x00000cbd, 0x00000cbd, - 0x00000cde, 0x00000cde, 0x00000ce0, 0x00000ce1, - 0x00000cf1, 0x00000cf2, 0x00000d05, 0x00000d0c, - 0x00000d0e, 0x00000d10, 0x00000d12, 0x00000d3a, - 0x00000d3d, 0x00000d3d, 0x00000d4e, 0x00000d4e, - 0x00000d60, 0x00000d61, 0x00000d7a, 0x00000d7f, - 0x00000d85, 0x00000d96, 0x00000d9a, 0x00000db1, - 0x00000db3, 0x00000dbb, 0x00000dbd, 0x00000dbd, - 0x00000dc0, 0x00000dc6, 0x00000e01, 0x00000e30, - 0x00000e32, 0x00000e33, 0x00000e40, 0x00000e45, - 0x00000e81, 0x00000e82, 0x00000e84, 0x00000e84, - 0x00000e87, 0x00000e88, 0x00000e8a, 0x00000e8a, - 0x00000e8d, 0x00000e8d, 0x00000e94, 0x00000e97, - 0x00000e99, 0x00000e9f, 0x00000ea1, 0x00000ea3, - 0x00000ea5, 0x00000ea5, 0x00000ea7, 0x00000ea7, - 0x00000eaa, 0x00000eab, 0x00000ead, 0x00000eb0, - 0x00000eb2, 0x00000eb3, 0x00000ebd, 0x00000ebd, - 0x00000ec0, 0x00000ec4, 0x00000edc, 0x00000edd, - 0x00000f00, 0x00000f00, 0x00000f40, 0x00000f47, - 0x00000f49, 0x00000f6c, 0x00000f88, 0x00000f8c, - 0x00001000, 0x0000102a, 0x0000103f, 0x0000103f, - 0x00001050, 0x00001055, 0x0000105a, 0x0000105d, - 0x00001061, 0x00001061, 0x00001065, 0x00001066, - 0x0000106e, 0x00001070, 0x00001075, 0x00001081, - 0x0000108e, 0x0000108e, 0x000010d0, 0x000010fa, - 0x00001100, 0x00001248, 0x0000124a, 0x0000124d, - 0x00001250, 0x00001256, 0x00001258, 0x00001258, - 0x0000125a, 0x0000125d, 0x00001260, 0x00001288, - 0x0000128a, 0x0000128d, 0x00001290, 0x000012b0, - 0x000012b2, 0x000012b5, 0x000012b8, 0x000012be, - 0x000012c0, 0x000012c0, 0x000012c2, 0x000012c5, - 0x000012c8, 0x000012d6, 0x000012d8, 0x00001310, - 0x00001312, 0x00001315, 0x00001318, 0x0000135a, - 0x00001380, 0x0000138f, 0x000013a0, 0x000013f4, + 0x00000c12, 0x00000c28, 0x00000c2a, 0x00000c39, + 0x00000c3d, 0x00000c3d, 0x00000c58, 0x00000c5a, + 0x00000c60, 0x00000c61, 0x00000c85, 0x00000c8c, + 0x00000c8e, 0x00000c90, 0x00000c92, 0x00000ca8, + 0x00000caa, 0x00000cb3, 0x00000cb5, 0x00000cb9, + 0x00000cbd, 0x00000cbd, 0x00000cde, 0x00000cde, + 0x00000ce0, 0x00000ce1, 0x00000cf1, 0x00000cf2, + 0x00000d05, 0x00000d0c, 0x00000d0e, 0x00000d10, + 0x00000d12, 0x00000d3a, 0x00000d3d, 0x00000d3d, + 0x00000d4e, 0x00000d4e, 0x00000d5f, 0x00000d61, + 0x00000d7a, 0x00000d7f, 0x00000d85, 0x00000d96, + 0x00000d9a, 0x00000db1, 0x00000db3, 0x00000dbb, + 0x00000dbd, 0x00000dbd, 0x00000dc0, 0x00000dc6, + 0x00000e01, 0x00000e30, 0x00000e32, 0x00000e33, + 0x00000e40, 0x00000e45, 0x00000e81, 0x00000e82, + 0x00000e84, 0x00000e84, 0x00000e87, 0x00000e88, + 0x00000e8a, 0x00000e8a, 0x00000e8d, 0x00000e8d, + 0x00000e94, 0x00000e97, 0x00000e99, 0x00000e9f, + 0x00000ea1, 0x00000ea3, 0x00000ea5, 0x00000ea5, + 0x00000ea7, 0x00000ea7, 0x00000eaa, 0x00000eab, + 0x00000ead, 0x00000eb0, 0x00000eb2, 0x00000eb3, + 0x00000ebd, 0x00000ebd, 0x00000ec0, 0x00000ec4, + 0x00000edc, 0x00000edf, 0x00000f00, 0x00000f00, + 0x00000f40, 0x00000f47, 0x00000f49, 0x00000f6c, + 0x00000f88, 0x00000f8c, 0x00001000, 0x0000102a, + 0x0000103f, 0x0000103f, 0x00001050, 0x00001055, + 0x0000105a, 0x0000105d, 0x00001061, 0x00001061, + 0x00001065, 0x00001066, 0x0000106e, 0x00001070, + 0x00001075, 0x00001081, 0x0000108e, 0x0000108e, + 0x000010d0, 0x000010fa, 0x000010fd, 0x00001248, + 0x0000124a, 0x0000124d, 0x00001250, 0x00001256, + 0x00001258, 0x00001258, 0x0000125a, 0x0000125d, + 0x00001260, 0x00001288, 0x0000128a, 0x0000128d, + 0x00001290, 0x000012b0, 0x000012b2, 0x000012b5, + 0x000012b8, 0x000012be, 0x000012c0, 0x000012c0, + 0x000012c2, 0x000012c5, 0x000012c8, 0x000012d6, + 0x000012d8, 0x00001310, 0x00001312, 0x00001315, + 0x00001318, 0x0000135a, 0x00001380, 0x0000138f, 0x00001401, 0x0000166c, 0x0000166f, 0x0000167f, 0x00001681, 0x0000169a, 0x000016a0, 0x000016ea, - 0x00001700, 0x0000170c, 0x0000170e, 0x00001711, - 0x00001720, 0x00001731, 0x00001740, 0x00001751, - 0x00001760, 0x0000176c, 0x0000176e, 0x00001770, - 0x00001780, 0x000017b3, 0x000017dc, 0x000017dc, - 0x00001820, 0x00001842, 0x00001844, 0x00001877, - 0x00001880, 0x000018a8, 0x000018aa, 0x000018aa, - 0x000018b0, 0x000018f5, 0x00001900, 0x0000191c, - 0x00001950, 0x0000196d, 0x00001970, 0x00001974, - 0x00001980, 0x000019ab, 0x000019c1, 0x000019c7, - 0x00001a00, 0x00001a16, 0x00001a20, 0x00001a54, - 0x00001b05, 0x00001b33, 0x00001b45, 0x00001b4b, - 0x00001b83, 0x00001ba0, 0x00001bae, 0x00001baf, - 0x00001bc0, 0x00001be5, 0x00001c00, 0x00001c23, - 0x00001c4d, 0x00001c4f, 0x00001c5a, 0x00001c77, - 0x00001ce9, 0x00001cec, 0x00001cee, 0x00001cf1, - 0x00002135, 0x00002138, 0x00002d30, 0x00002d65, + 0x000016f1, 0x000016f8, 0x00001700, 0x0000170c, + 0x0000170e, 0x00001711, 0x00001720, 0x00001731, + 0x00001740, 0x00001751, 0x00001760, 0x0000176c, + 0x0000176e, 0x00001770, 0x00001780, 0x000017b3, + 0x000017dc, 0x000017dc, 0x00001820, 0x00001842, + 0x00001844, 0x00001877, 0x00001880, 0x000018a8, + 0x000018aa, 0x000018aa, 0x000018b0, 0x000018f5, + 0x00001900, 0x0000191e, 0x00001950, 0x0000196d, + 0x00001970, 0x00001974, 0x00001980, 0x000019ab, + 0x000019b0, 0x000019c9, 0x00001a00, 0x00001a16, + 0x00001a20, 0x00001a54, 0x00001b05, 0x00001b33, + 0x00001b45, 0x00001b4b, 0x00001b83, 0x00001ba0, + 0x00001bae, 0x00001baf, 0x00001bba, 0x00001be5, + 0x00001c00, 0x00001c23, 0x00001c4d, 0x00001c4f, + 0x00001c5a, 0x00001c77, 0x00001ce9, 0x00001cec, + 0x00001cee, 0x00001cf1, 0x00001cf5, 0x00001cf6, + 0x00002135, 0x00002138, 0x00002d30, 0x00002d67, 0x00002d80, 0x00002d96, 0x00002da0, 0x00002da6, 0x00002da8, 0x00002dae, 0x00002db0, 0x00002db6, 0x00002db8, 0x00002dbe, 0x00002dc0, 0x00002dc6, @@ -990,19 +1081,23 @@ static const unsigned int _ucprop_ranges[] = { 0x0000a4d0, 0x0000a4f7, 0x0000a500, 0x0000a60b, 0x0000a610, 0x0000a61f, 0x0000a62a, 0x0000a62b, 0x0000a66e, 0x0000a66e, 0x0000a6a0, 0x0000a6e5, + 0x0000a78f, 0x0000a78f, 0x0000a7f7, 0x0000a7f7, 0x0000a7fb, 0x0000a801, 0x0000a803, 0x0000a805, 0x0000a807, 0x0000a80a, 0x0000a80c, 0x0000a822, 0x0000a840, 0x0000a873, 0x0000a882, 0x0000a8b3, 0x0000a8f2, 0x0000a8f7, 0x0000a8fb, 0x0000a8fb, - 0x0000a90a, 0x0000a925, 0x0000a930, 0x0000a946, - 0x0000a960, 0x0000a97c, 0x0000a984, 0x0000a9b2, + 0x0000a8fd, 0x0000a8fd, 0x0000a90a, 0x0000a925, + 0x0000a930, 0x0000a946, 0x0000a960, 0x0000a97c, + 0x0000a984, 0x0000a9b2, 0x0000a9e0, 0x0000a9e4, + 0x0000a9e7, 0x0000a9ef, 0x0000a9fa, 0x0000a9fe, 0x0000aa00, 0x0000aa28, 0x0000aa40, 0x0000aa42, 0x0000aa44, 0x0000aa4b, 0x0000aa60, 0x0000aa6f, 0x0000aa71, 0x0000aa76, 0x0000aa7a, 0x0000aa7a, - 0x0000aa80, 0x0000aaaf, 0x0000aab1, 0x0000aab1, + 0x0000aa7e, 0x0000aaaf, 0x0000aab1, 0x0000aab1, 0x0000aab5, 0x0000aab6, 0x0000aab9, 0x0000aabd, 0x0000aac0, 0x0000aac0, 0x0000aac2, 0x0000aac2, - 0x0000aadb, 0x0000aadc, 0x0000ab01, 0x0000ab06, + 0x0000aadb, 0x0000aadc, 0x0000aae0, 0x0000aaea, + 0x0000aaf2, 0x0000aaf2, 0x0000ab01, 0x0000ab06, 0x0000ab09, 0x0000ab0e, 0x0000ab11, 0x0000ab16, 0x0000ab20, 0x0000ab26, 0x0000ab28, 0x0000ab2e, 0x0000abc0, 0x0000abe2, 0x0000ac00, 0x0000d7a3, @@ -1022,62 +1117,115 @@ static const unsigned int _ucprop_ranges[] = { 0x00010028, 0x0001003a, 0x0001003c, 0x0001003d, 0x0001003f, 0x0001004d, 0x00010050, 0x0001005d, 0x00010080, 0x000100fa, 0x00010280, 0x0001029c, - 0x000102a0, 0x000102d0, 0x00010300, 0x0001031e, + 0x000102a0, 0x000102d0, 0x00010300, 0x0001031f, 0x00010330, 0x00010340, 0x00010342, 0x00010349, - 0x00010380, 0x0001039d, 0x000103a0, 0x000103c3, - 0x000103c8, 0x000103cf, 0x00010450, 0x0001049d, + 0x00010350, 0x00010375, 0x00010380, 0x0001039d, + 0x000103a0, 0x000103c3, 0x000103c8, 0x000103cf, + 0x00010450, 0x0001049d, 0x00010500, 0x00010527, + 0x00010530, 0x00010563, 0x00010600, 0x00010736, + 0x00010740, 0x00010755, 0x00010760, 0x00010767, 0x00010800, 0x00010805, 0x00010808, 0x00010808, 0x0001080a, 0x00010835, 0x00010837, 0x00010838, 0x0001083c, 0x0001083c, 0x0001083f, 0x00010855, + 0x00010860, 0x00010876, 0x00010880, 0x0001089e, + 0x000108e0, 0x000108f2, 0x000108f4, 0x000108f5, 0x00010900, 0x00010915, 0x00010920, 0x00010939, + 0x00010980, 0x000109b7, 0x000109be, 0x000109bf, 0x00010a00, 0x00010a00, 0x00010a10, 0x00010a13, 0x00010a15, 0x00010a17, 0x00010a19, 0x00010a33, - 0x00010a60, 0x00010a7c, 0x00010b00, 0x00010b35, - 0x00010b40, 0x00010b55, 0x00010b60, 0x00010b72, + 0x00010a60, 0x00010a7c, 0x00010a80, 0x00010a9c, + 0x00010ac0, 0x00010ac7, 0x00010ac9, 0x00010ae4, + 0x00010b00, 0x00010b35, 0x00010b40, 0x00010b55, + 0x00010b60, 0x00010b72, 0x00010b80, 0x00010b91, 0x00010c00, 0x00010c48, 0x00011003, 0x00011037, - 0x00011083, 0x000110af, 0x00012000, 0x0001236e, - 0x00013000, 0x0001342e, 0x00016800, 0x00016a38, - 0x0001b000, 0x0001b001, 0x00020000, 0x0002a6d6, - 0x0002a700, 0x0002a700, 0x0002b734, 0x0002b734, - 0x0002b740, 0x0002b740, 0x0002b81d, 0x0002b81d, - 0x0002f800, 0x0002fa1d, 0x0000005f, 0x0000005f, - 0x0000203f, 0x00002040, 0x00002054, 0x00002054, - 0x0000fe33, 0x0000fe34, 0x0000fe4d, 0x0000fe4f, - 0x0000ff3f, 0x0000ff3f, 0x0000002d, 0x0000002d, - 0x0000058a, 0x0000058a, 0x000005be, 0x000005be, - 0x00001400, 0x00001400, 0x00001806, 0x00001806, - 0x00002010, 0x00002015, 0x00002e17, 0x00002e17, - 0x00002e1a, 0x00002e1a, 0x0000301c, 0x0000301c, - 0x00003030, 0x00003030, 0x000030a0, 0x000030a0, - 0x0000fe31, 0x0000fe32, 0x0000fe58, 0x0000fe58, - 0x0000fe63, 0x0000fe63, 0x0000ff0d, 0x0000ff0d, - 0x00000028, 0x00000028, 0x0000005b, 0x0000005b, - 0x0000007b, 0x0000007b, 0x00000f3a, 0x00000f3a, - 0x00000f3c, 0x00000f3c, 0x0000169b, 0x0000169b, - 0x0000201a, 0x0000201a, 0x0000201e, 0x0000201e, - 0x00002045, 0x00002045, 0x0000207d, 0x0000207d, - 0x0000208d, 0x0000208d, 0x00002329, 0x00002329, - 0x00002768, 0x00002768, 0x0000276a, 0x0000276a, - 0x0000276c, 0x0000276c, 0x0000276e, 0x0000276e, - 0x00002770, 0x00002770, 0x00002772, 0x00002772, - 0x00002774, 0x00002774, 0x000027c5, 0x000027c5, - 0x000027e6, 0x000027e6, 0x000027e8, 0x000027e8, - 0x000027ea, 0x000027ea, 0x000027ec, 0x000027ec, - 0x000027ee, 0x000027ee, 0x00002983, 0x00002983, - 0x00002985, 0x00002985, 0x00002987, 0x00002987, - 0x00002989, 0x00002989, 0x0000298b, 0x0000298b, - 0x0000298d, 0x0000298d, 0x0000298f, 0x0000298f, - 0x00002991, 0x00002991, 0x00002993, 0x00002993, - 0x00002995, 0x00002995, 0x00002997, 0x00002997, - 0x000029d8, 0x000029d8, 0x000029da, 0x000029da, - 0x000029fc, 0x000029fc, 0x00002e22, 0x00002e22, - 0x00002e24, 0x00002e24, 0x00002e26, 0x00002e26, - 0x00002e28, 0x00002e28, 0x00003008, 0x00003008, + 0x00011083, 0x000110af, 0x000110d0, 0x000110e8, + 0x00011103, 0x00011126, 0x00011150, 0x00011172, + 0x00011176, 0x00011176, 0x00011183, 0x000111b2, + 0x000111c1, 0x000111c4, 0x000111da, 0x000111da, + 0x000111dc, 0x000111dc, 0x00011200, 0x00011211, + 0x00011213, 0x0001122b, 0x00011280, 0x00011286, + 0x00011288, 0x00011288, 0x0001128a, 0x0001128d, + 0x0001128f, 0x0001129d, 0x0001129f, 0x000112a8, + 0x000112b0, 0x000112de, 0x00011305, 0x0001130c, + 0x0001130f, 0x00011310, 0x00011313, 0x00011328, + 0x0001132a, 0x00011330, 0x00011332, 0x00011333, + 0x00011335, 0x00011339, 0x0001133d, 0x0001133d, + 0x00011350, 0x00011350, 0x0001135d, 0x00011361, + 0x00011480, 0x000114af, 0x000114c4, 0x000114c5, + 0x000114c7, 0x000114c7, 0x00011580, 0x000115ae, + 0x000115d8, 0x000115db, 0x00011600, 0x0001162f, + 0x00011644, 0x00011644, 0x00011680, 0x000116aa, + 0x00011700, 0x00011719, 0x000118ff, 0x000118ff, + 0x00011ac0, 0x00011af8, 0x00012000, 0x00012399, + 0x00012480, 0x00012543, 0x00013000, 0x0001342e, + 0x00014400, 0x00014646, 0x00016800, 0x00016a38, + 0x00016a40, 0x00016a5e, 0x00016ad0, 0x00016aed, + 0x00016b00, 0x00016b2f, 0x00016b63, 0x00016b77, + 0x00016b7d, 0x00016b8f, 0x00016f00, 0x00016f44, + 0x00016f50, 0x00016f50, 0x0001b000, 0x0001b001, + 0x0001bc00, 0x0001bc6a, 0x0001bc70, 0x0001bc7c, + 0x0001bc80, 0x0001bc88, 0x0001bc90, 0x0001bc99, + 0x0001e800, 0x0001e8c4, 0x0001ee00, 0x0001ee03, + 0x0001ee05, 0x0001ee1f, 0x0001ee21, 0x0001ee22, + 0x0001ee24, 0x0001ee24, 0x0001ee27, 0x0001ee27, + 0x0001ee29, 0x0001ee32, 0x0001ee34, 0x0001ee37, + 0x0001ee39, 0x0001ee39, 0x0001ee3b, 0x0001ee3b, + 0x0001ee42, 0x0001ee42, 0x0001ee47, 0x0001ee47, + 0x0001ee49, 0x0001ee49, 0x0001ee4b, 0x0001ee4b, + 0x0001ee4d, 0x0001ee4f, 0x0001ee51, 0x0001ee52, + 0x0001ee54, 0x0001ee54, 0x0001ee57, 0x0001ee57, + 0x0001ee59, 0x0001ee59, 0x0001ee5b, 0x0001ee5b, + 0x0001ee5d, 0x0001ee5d, 0x0001ee5f, 0x0001ee5f, + 0x0001ee61, 0x0001ee62, 0x0001ee64, 0x0001ee64, + 0x0001ee67, 0x0001ee6a, 0x0001ee6c, 0x0001ee72, + 0x0001ee74, 0x0001ee77, 0x0001ee79, 0x0001ee7c, + 0x0001ee7e, 0x0001ee7e, 0x0001ee80, 0x0001ee89, + 0x0001ee8b, 0x0001ee9b, 0x0001eea1, 0x0001eea3, + 0x0001eea5, 0x0001eea9, 0x0001eeab, 0x0001eebb, + 0x00020000, 0x0002a6d6, 0x0002a700, 0x0002a700, + 0x0002b734, 0x0002b734, 0x0002b740, 0x0002b740, + 0x0002b81d, 0x0002b81d, 0x0002b820, 0x0002b820, + 0x0002cea1, 0x0002cea1, 0x0002f800, 0x0002fa1d, + 0x0000005f, 0x0000005f, 0x0000203f, 0x00002040, + 0x00002054, 0x00002054, 0x0000fe33, 0x0000fe34, + 0x0000fe4d, 0x0000fe4f, 0x0000ff3f, 0x0000ff3f, + 0x0000002d, 0x0000002d, 0x0000058a, 0x0000058a, + 0x000005be, 0x000005be, 0x00001400, 0x00001400, + 0x00001806, 0x00001806, 0x00002010, 0x00002015, + 0x00002e17, 0x00002e17, 0x00002e1a, 0x00002e1a, + 0x00002e3a, 0x00002e3b, 0x00002e40, 0x00002e40, + 0x0000301c, 0x0000301c, 0x00003030, 0x00003030, + 0x000030a0, 0x000030a0, 0x0000fe31, 0x0000fe32, + 0x0000fe58, 0x0000fe58, 0x0000fe63, 0x0000fe63, + 0x0000ff0d, 0x0000ff0d, 0x00000028, 0x00000028, + 0x0000005b, 0x0000005b, 0x0000007b, 0x0000007b, + 0x00000f3a, 0x00000f3a, 0x00000f3c, 0x00000f3c, + 0x0000169b, 0x0000169b, 0x0000201a, 0x0000201a, + 0x0000201e, 0x0000201e, 0x00002045, 0x00002045, + 0x0000207d, 0x0000207d, 0x0000208d, 0x0000208d, + 0x00002308, 0x00002308, 0x0000230a, 0x0000230a, + 0x00002329, 0x00002329, 0x00002768, 0x00002768, + 0x0000276a, 0x0000276a, 0x0000276c, 0x0000276c, + 0x0000276e, 0x0000276e, 0x00002770, 0x00002770, + 0x00002772, 0x00002772, 0x00002774, 0x00002774, + 0x000027c5, 0x000027c5, 0x000027e6, 0x000027e6, + 0x000027e8, 0x000027e8, 0x000027ea, 0x000027ea, + 0x000027ec, 0x000027ec, 0x000027ee, 0x000027ee, + 0x00002983, 0x00002983, 0x00002985, 0x00002985, + 0x00002987, 0x00002987, 0x00002989, 0x00002989, + 0x0000298b, 0x0000298b, 0x0000298d, 0x0000298d, + 0x0000298f, 0x0000298f, 0x00002991, 0x00002991, + 0x00002993, 0x00002993, 0x00002995, 0x00002995, + 0x00002997, 0x00002997, 0x000029d8, 0x000029d8, + 0x000029da, 0x000029da, 0x000029fc, 0x000029fc, + 0x00002e22, 0x00002e22, 0x00002e24, 0x00002e24, + 0x00002e26, 0x00002e26, 0x00002e28, 0x00002e28, + 0x00002e42, 0x00002e42, 0x00003008, 0x00003008, 0x0000300a, 0x0000300a, 0x0000300c, 0x0000300c, 0x0000300e, 0x0000300e, 0x00003010, 0x00003010, 0x00003014, 0x00003014, 0x00003016, 0x00003016, 0x00003018, 0x00003018, 0x0000301a, 0x0000301a, - 0x0000301d, 0x0000301d, 0x0000fd3e, 0x0000fd3e, + 0x0000301d, 0x0000301d, 0x0000fd3f, 0x0000fd3f, 0x0000fe17, 0x0000fe17, 0x0000fe35, 0x0000fe35, 0x0000fe37, 0x0000fe37, 0x0000fe39, 0x0000fe39, 0x0000fe3b, 0x0000fe3b, 0x0000fe3d, 0x0000fe3d, @@ -1091,7 +1239,8 @@ static const unsigned int _ucprop_ranges[] = { 0x0000007d, 0x0000007d, 0x00000f3b, 0x00000f3b, 0x00000f3d, 0x00000f3d, 0x0000169c, 0x0000169c, 0x00002046, 0x00002046, 0x0000207e, 0x0000207e, - 0x0000208e, 0x0000208e, 0x0000232a, 0x0000232a, + 0x0000208e, 0x0000208e, 0x00002309, 0x00002309, + 0x0000230b, 0x0000230b, 0x0000232a, 0x0000232a, 0x00002769, 0x00002769, 0x0000276b, 0x0000276b, 0x0000276d, 0x0000276d, 0x0000276f, 0x0000276f, 0x00002771, 0x00002771, 0x00002773, 0x00002773, @@ -1112,7 +1261,7 @@ static const unsigned int _ucprop_ranges[] = { 0x0000300f, 0x0000300f, 0x00003011, 0x00003011, 0x00003015, 0x00003015, 0x00003017, 0x00003017, 0x00003019, 0x00003019, 0x0000301b, 0x0000301b, - 0x0000301e, 0x0000301f, 0x0000fd3f, 0x0000fd3f, + 0x0000301e, 0x0000301f, 0x0000fd3e, 0x0000fd3e, 0x0000fe18, 0x0000fe18, 0x0000fe36, 0x0000fe36, 0x0000fe38, 0x0000fe38, 0x0000fe3a, 0x0000fe3a, 0x0000fe3c, 0x0000fe3c, 0x0000fe3e, 0x0000fe3e, @@ -1126,30 +1275,32 @@ static const unsigned int _ucprop_ranges[] = { 0x0000002a, 0x0000002a, 0x0000002c, 0x0000002c, 0x0000002e, 0x0000002f, 0x0000003a, 0x0000003b, 0x0000003f, 0x00000040, 0x0000005c, 0x0000005c, - 0x000000a1, 0x000000a1, 0x000000b7, 0x000000b7, - 0x000000bf, 0x000000bf, 0x0000037e, 0x0000037e, - 0x00000387, 0x00000387, 0x0000055a, 0x0000055f, - 0x00000589, 0x00000589, 0x000005c0, 0x000005c0, - 0x000005c3, 0x000005c3, 0x000005c6, 0x000005c6, - 0x000005f3, 0x000005f4, 0x00000609, 0x0000060a, - 0x0000060c, 0x0000060d, 0x0000061b, 0x0000061b, - 0x0000061e, 0x0000061f, 0x0000066a, 0x0000066d, - 0x000006d4, 0x000006d4, 0x00000700, 0x0000070d, - 0x000007f7, 0x000007f9, 0x00000830, 0x0000083e, - 0x0000085e, 0x0000085e, 0x00000964, 0x00000965, - 0x00000970, 0x00000970, 0x00000df4, 0x00000df4, + 0x000000a1, 0x000000a1, 0x000000a7, 0x000000a7, + 0x000000b6, 0x000000b7, 0x000000bf, 0x000000bf, + 0x0000037e, 0x0000037e, 0x00000387, 0x00000387, + 0x0000055a, 0x0000055f, 0x00000589, 0x00000589, + 0x000005c0, 0x000005c0, 0x000005c3, 0x000005c3, + 0x000005c6, 0x000005c6, 0x000005f3, 0x000005f4, + 0x00000609, 0x0000060a, 0x0000060c, 0x0000060d, + 0x0000061b, 0x0000061b, 0x0000061e, 0x0000061f, + 0x0000066a, 0x0000066d, 0x000006d4, 0x000006d4, + 0x00000700, 0x0000070d, 0x000007f7, 0x000007f9, + 0x00000830, 0x0000083e, 0x0000085e, 0x0000085e, + 0x00000964, 0x00000965, 0x00000970, 0x00000970, + 0x00000af0, 0x00000af0, 0x00000df4, 0x00000df4, 0x00000e4f, 0x00000e4f, 0x00000e5a, 0x00000e5b, - 0x00000f04, 0x00000f12, 0x00000f85, 0x00000f85, - 0x00000fd0, 0x00000fd4, 0x00000fd9, 0x00000fda, - 0x0000104a, 0x0000104f, 0x000010fb, 0x000010fb, - 0x00001361, 0x00001368, 0x0000166d, 0x0000166e, - 0x000016eb, 0x000016ed, 0x00001735, 0x00001736, - 0x000017d4, 0x000017d6, 0x000017d8, 0x000017da, - 0x00001800, 0x00001805, 0x00001807, 0x0000180a, - 0x00001944, 0x00001945, 0x00001a1e, 0x00001a1f, - 0x00001aa0, 0x00001aa6, 0x00001aa8, 0x00001aad, - 0x00001b5a, 0x00001b60, 0x00001bfc, 0x00001bff, - 0x00001c3b, 0x00001c3f, 0x00001c7e, 0x00001c7f, + 0x00000f04, 0x00000f12, 0x00000f14, 0x00000f14, + 0x00000f85, 0x00000f85, 0x00000fd0, 0x00000fd4, + 0x00000fd9, 0x00000fda, 0x0000104a, 0x0000104f, + 0x000010fb, 0x000010fb, 0x00001360, 0x00001368, + 0x0000166d, 0x0000166e, 0x000016eb, 0x000016ed, + 0x00001735, 0x00001736, 0x000017d4, 0x000017d6, + 0x000017d8, 0x000017da, 0x00001800, 0x00001805, + 0x00001807, 0x0000180a, 0x00001944, 0x00001945, + 0x00001a1e, 0x00001a1f, 0x00001aa0, 0x00001aa6, + 0x00001aa8, 0x00001aad, 0x00001b5a, 0x00001b60, + 0x00001bfc, 0x00001bff, 0x00001c3b, 0x00001c3f, + 0x00001c7e, 0x00001c7f, 0x00001cc0, 0x00001cc7, 0x00001cd3, 0x00001cd3, 0x00002016, 0x00002017, 0x00002020, 0x00002027, 0x00002030, 0x00002038, 0x0000203b, 0x0000203e, 0x00002041, 0x00002043, @@ -1160,15 +1311,17 @@ static const unsigned int _ucprop_ranges[] = { 0x00002e0b, 0x00002e0b, 0x00002e0e, 0x00002e16, 0x00002e18, 0x00002e19, 0x00002e1b, 0x00002e1b, 0x00002e1e, 0x00002e1f, 0x00002e2a, 0x00002e2e, - 0x00002e30, 0x00002e31, 0x00003001, 0x00003003, + 0x00002e30, 0x00002e39, 0x00002e3c, 0x00002e3f, + 0x00002e41, 0x00002e41, 0x00003001, 0x00003003, 0x0000303d, 0x0000303d, 0x000030fb, 0x000030fb, 0x0000a4fe, 0x0000a4ff, 0x0000a60d, 0x0000a60f, 0x0000a673, 0x0000a673, 0x0000a67e, 0x0000a67e, 0x0000a6f2, 0x0000a6f7, 0x0000a874, 0x0000a877, 0x0000a8ce, 0x0000a8cf, 0x0000a8f8, 0x0000a8fa, - 0x0000a92e, 0x0000a92f, 0x0000a95f, 0x0000a95f, - 0x0000a9c1, 0x0000a9cd, 0x0000a9de, 0x0000a9df, - 0x0000aa5c, 0x0000aa5f, 0x0000aade, 0x0000aadf, + 0x0000a8fc, 0x0000a8fc, 0x0000a92e, 0x0000a92f, + 0x0000a95f, 0x0000a95f, 0x0000a9c1, 0x0000a9cd, + 0x0000a9de, 0x0000a9df, 0x0000aa5c, 0x0000aa5f, + 0x0000aade, 0x0000aadf, 0x0000aaf0, 0x0000aaf1, 0x0000abeb, 0x0000abeb, 0x0000fe10, 0x0000fe16, 0x0000fe19, 0x0000fe19, 0x0000fe30, 0x0000fe30, 0x0000fe45, 0x0000fe46, 0x0000fe49, 0x0000fe4c, @@ -1179,33 +1332,42 @@ static const unsigned int _ucprop_ranges[] = { 0x0000ff0c, 0x0000ff0c, 0x0000ff0e, 0x0000ff0f, 0x0000ff1a, 0x0000ff1b, 0x0000ff1f, 0x0000ff20, 0x0000ff3c, 0x0000ff3c, 0x0000ff61, 0x0000ff61, - 0x0000ff64, 0x0000ff65, 0x00010100, 0x00010101, + 0x0000ff64, 0x0000ff65, 0x00010100, 0x00010102, 0x0001039f, 0x0001039f, 0x000103d0, 0x000103d0, - 0x00010857, 0x00010857, 0x0001091f, 0x0001091f, - 0x0001093f, 0x0001093f, 0x00010a50, 0x00010a58, - 0x00010a7f, 0x00010a7f, 0x00010b39, 0x00010b3f, - 0x00011047, 0x0001104d, 0x000110bb, 0x000110bc, - 0x000110be, 0x000110c1, 0x00012470, 0x00012473, - 0x0000002b, 0x0000002b, 0x0000003c, 0x0000003e, - 0x0000007c, 0x0000007c, 0x0000007e, 0x0000007e, - 0x000000ac, 0x000000ac, 0x000000b1, 0x000000b1, - 0x000000d7, 0x000000d7, 0x000000f7, 0x000000f7, - 0x000003f6, 0x000003f6, 0x00000606, 0x00000608, - 0x00002044, 0x00002044, 0x00002052, 0x00002052, - 0x0000207a, 0x0000207c, 0x0000208a, 0x0000208c, - 0x00002118, 0x00002118, 0x00002140, 0x00002144, - 0x0000214b, 0x0000214b, 0x00002190, 0x00002194, - 0x0000219a, 0x0000219b, 0x000021a0, 0x000021a0, - 0x000021a3, 0x000021a3, 0x000021a6, 0x000021a6, - 0x000021ae, 0x000021ae, 0x000021ce, 0x000021cf, - 0x000021d2, 0x000021d2, 0x000021d4, 0x000021d4, - 0x000021f4, 0x000022ff, 0x00002308, 0x0000230b, + 0x0001056f, 0x0001056f, 0x00010857, 0x00010857, + 0x0001091f, 0x0001091f, 0x0001093f, 0x0001093f, + 0x00010a50, 0x00010a58, 0x00010a7f, 0x00010a7f, + 0x00010af0, 0x00010af6, 0x00010b39, 0x00010b3f, + 0x00010b99, 0x00010b9c, 0x00011047, 0x0001104d, + 0x000110bb, 0x000110bc, 0x000110be, 0x000110c1, + 0x00011140, 0x00011143, 0x00011174, 0x00011175, + 0x000111c5, 0x000111c9, 0x000111cd, 0x000111cd, + 0x000111db, 0x000111db, 0x000111dd, 0x000111df, + 0x00011238, 0x0001123d, 0x000112a9, 0x000112a9, + 0x000114c6, 0x000114c6, 0x000115c1, 0x000115d7, + 0x00011641, 0x00011643, 0x0001173c, 0x0001173e, + 0x00012470, 0x00012474, 0x00016a6e, 0x00016a6f, + 0x00016af5, 0x00016af5, 0x00016b37, 0x00016b3b, + 0x00016b44, 0x00016b44, 0x0001bc9f, 0x0001bc9f, + 0x0001da87, 0x0001da8b, 0x0000002b, 0x0000002b, + 0x0000003c, 0x0000003e, 0x0000007c, 0x0000007c, + 0x0000007e, 0x0000007e, 0x000000ac, 0x000000ac, + 0x000000b1, 0x000000b1, 0x000000d7, 0x000000d7, + 0x000000f7, 0x000000f7, 0x000003f6, 0x000003f6, + 0x00000606, 0x00000608, 0x00002044, 0x00002044, + 0x00002052, 0x00002052, 0x0000207a, 0x0000207c, + 0x0000208a, 0x0000208c, 0x00002118, 0x00002118, + 0x00002140, 0x00002144, 0x0000214b, 0x0000214b, + 0x00002190, 0x00002194, 0x0000219a, 0x0000219b, + 0x000021a0, 0x000021a0, 0x000021a3, 0x000021a3, + 0x000021a6, 0x000021a6, 0x000021ae, 0x000021ae, + 0x000021ce, 0x000021cf, 0x000021d2, 0x000021d2, + 0x000021d4, 0x000021d4, 0x000021f4, 0x000022ff, 0x00002320, 0x00002321, 0x0000237c, 0x0000237c, 0x0000239b, 0x000023b3, 0x000023dc, 0x000023e1, 0x000025b7, 0x000025b7, 0x000025c1, 0x000025c1, 0x000025f8, 0x000025ff, 0x0000266f, 0x0000266f, - 0x000027c0, 0x000027c4, 0x000027c7, 0x000027ca, - 0x000027cc, 0x000027cc, 0x000027ce, 0x000027e5, + 0x000027c0, 0x000027c4, 0x000027c7, 0x000027e5, 0x000027f0, 0x000027ff, 0x00002900, 0x00002982, 0x00002999, 0x000029d7, 0x000029dc, 0x000029fb, 0x000029fe, 0x00002aff, 0x00002b30, 0x00002b44, @@ -1219,11 +1381,12 @@ static const unsigned int _ucprop_ranges[] = { 0x0001d735, 0x0001d735, 0x0001d74f, 0x0001d74f, 0x0001d76f, 0x0001d76f, 0x0001d789, 0x0001d789, 0x0001d7a9, 0x0001d7a9, 0x0001d7c3, 0x0001d7c3, - 0x00000024, 0x00000024, 0x000000a2, 0x000000a5, + 0x0001eef0, 0x0001eef1, 0x00000024, 0x00000024, + 0x000000a2, 0x000000a5, 0x0000058f, 0x0000058f, 0x0000060b, 0x0000060b, 0x000009f2, 0x000009f3, 0x000009fb, 0x000009fb, 0x00000af1, 0x00000af1, 0x00000bf9, 0x00000bf9, 0x00000e3f, 0x00000e3f, - 0x000017db, 0x000017db, 0x000020a0, 0x000020b9, + 0x000017db, 0x000017db, 0x000020a0, 0x000020be, 0x0000a838, 0x0000a838, 0x0000fdfc, 0x0000fdfc, 0x0000fe69, 0x0000fe69, 0x0000ff04, 0x0000ff04, 0x0000ffe0, 0x0000ffe1, 0x0000ffe5, 0x0000ffe6, @@ -1238,23 +1401,24 @@ static const unsigned int _ucprop_ranges[] = { 0x00001fdd, 0x00001fdf, 0x00001fed, 0x00001fef, 0x00001ffd, 0x00001ffe, 0x0000309b, 0x0000309c, 0x0000a700, 0x0000a716, 0x0000a720, 0x0000a721, - 0x0000a789, 0x0000a78a, 0x0000fbb2, 0x0000fbc1, - 0x0000ff3e, 0x0000ff3e, 0x0000ff40, 0x0000ff40, - 0x0000ffe3, 0x0000ffe3, 0x000000a6, 0x000000a7, + 0x0000a789, 0x0000a78a, 0x0000ab5b, 0x0000ab5b, + 0x0000fbb2, 0x0000fbc1, 0x0000ff3e, 0x0000ff3e, + 0x0000ff40, 0x0000ff40, 0x0000ffe3, 0x0000ffe3, + 0x0001f3fb, 0x0001f3ff, 0x000000a6, 0x000000a6, 0x000000a9, 0x000000a9, 0x000000ae, 0x000000ae, - 0x000000b0, 0x000000b0, 0x000000b6, 0x000000b6, - 0x00000482, 0x00000482, 0x0000060e, 0x0000060f, + 0x000000b0, 0x000000b0, 0x00000482, 0x00000482, + 0x0000058d, 0x0000058e, 0x0000060e, 0x0000060f, 0x000006de, 0x000006de, 0x000006e9, 0x000006e9, 0x000006fd, 0x000006fe, 0x000007f6, 0x000007f6, 0x000009fa, 0x000009fa, 0x00000b70, 0x00000b70, 0x00000bf3, 0x00000bf8, 0x00000bfa, 0x00000bfa, 0x00000c7f, 0x00000c7f, 0x00000d79, 0x00000d79, - 0x00000f01, 0x00000f03, 0x00000f13, 0x00000f17, - 0x00000f1a, 0x00000f1f, 0x00000f34, 0x00000f34, - 0x00000f36, 0x00000f36, 0x00000f38, 0x00000f38, - 0x00000fbe, 0x00000fc5, 0x00000fc7, 0x00000fcc, - 0x00000fce, 0x00000fcf, 0x00000fd5, 0x00000fd8, - 0x0000109e, 0x0000109f, 0x00001360, 0x00001360, + 0x00000f01, 0x00000f03, 0x00000f13, 0x00000f13, + 0x00000f15, 0x00000f17, 0x00000f1a, 0x00000f1f, + 0x00000f34, 0x00000f34, 0x00000f36, 0x00000f36, + 0x00000f38, 0x00000f38, 0x00000fbe, 0x00000fc5, + 0x00000fc7, 0x00000fcc, 0x00000fce, 0x00000fcf, + 0x00000fd5, 0x00000fd8, 0x0000109e, 0x0000109f, 0x00001390, 0x00001399, 0x00001940, 0x00001940, 0x000019de, 0x000019ff, 0x00001b61, 0x00001b6a, 0x00001b74, 0x00001b7c, 0x00002100, 0x00002101, @@ -1264,29 +1428,32 @@ static const unsigned int _ucprop_ranges[] = { 0x00002127, 0x00002127, 0x00002129, 0x00002129, 0x0000212e, 0x0000212e, 0x0000213a, 0x0000213b, 0x0000214a, 0x0000214a, 0x0000214c, 0x0000214d, - 0x0000214f, 0x0000214f, 0x00002195, 0x00002199, - 0x0000219c, 0x0000219f, 0x000021a1, 0x000021a2, - 0x000021a4, 0x000021a5, 0x000021a7, 0x000021ad, - 0x000021af, 0x000021cd, 0x000021d0, 0x000021d1, - 0x000021d3, 0x000021d3, 0x000021d5, 0x000021f3, - 0x00002300, 0x00002307, 0x0000230c, 0x0000231f, - 0x00002322, 0x00002328, 0x0000232b, 0x0000237b, - 0x0000237d, 0x0000239a, 0x000023b4, 0x000023db, - 0x000023e2, 0x000023f3, 0x00002400, 0x00002426, - 0x00002440, 0x0000244a, 0x0000249c, 0x000024e9, - 0x00002500, 0x000025b6, 0x000025b8, 0x000025c0, - 0x000025c2, 0x000025f7, 0x00002600, 0x0000266e, - 0x00002670, 0x000026ff, 0x00002701, 0x00002767, + 0x0000214f, 0x0000214f, 0x0000218a, 0x0000218b, + 0x00002195, 0x00002199, 0x0000219c, 0x0000219f, + 0x000021a1, 0x000021a2, 0x000021a4, 0x000021a5, + 0x000021a7, 0x000021ad, 0x000021af, 0x000021cd, + 0x000021d0, 0x000021d1, 0x000021d3, 0x000021d3, + 0x000021d5, 0x000021f3, 0x00002300, 0x00002307, + 0x0000230c, 0x0000231f, 0x00002322, 0x00002328, + 0x0000232b, 0x0000237b, 0x0000237d, 0x0000239a, + 0x000023b4, 0x000023db, 0x000023e2, 0x000023fa, + 0x00002400, 0x00002426, 0x00002440, 0x0000244a, + 0x0000249c, 0x000024e9, 0x00002500, 0x000025b6, + 0x000025b8, 0x000025c0, 0x000025c2, 0x000025f7, + 0x00002600, 0x0000266e, 0x00002670, 0x00002767, 0x00002794, 0x000027bf, 0x00002800, 0x000028ff, 0x00002b00, 0x00002b2f, 0x00002b45, 0x00002b46, - 0x00002b50, 0x00002b59, 0x00002ce5, 0x00002cea, - 0x00002e80, 0x00002e99, 0x00002e9b, 0x00002ef3, - 0x00002f00, 0x00002fd5, 0x00002ff0, 0x00002ffb, - 0x00003004, 0x00003004, 0x00003012, 0x00003013, - 0x00003020, 0x00003020, 0x00003036, 0x00003037, - 0x0000303e, 0x0000303f, 0x00003190, 0x00003191, - 0x00003196, 0x0000319f, 0x000031c0, 0x000031e3, - 0x00003200, 0x0000321e, 0x0000322a, 0x00003250, + 0x00002b4d, 0x00002b73, 0x00002b76, 0x00002b95, + 0x00002b98, 0x00002bb9, 0x00002bbd, 0x00002bc8, + 0x00002bca, 0x00002bd1, 0x00002bec, 0x00002bef, + 0x00002ce5, 0x00002cea, 0x00002e80, 0x00002e99, + 0x00002e9b, 0x00002ef3, 0x00002f00, 0x00002fd5, + 0x00002ff0, 0x00002ffb, 0x00003004, 0x00003004, + 0x00003012, 0x00003013, 0x00003020, 0x00003020, + 0x00003036, 0x00003037, 0x0000303e, 0x0000303f, + 0x00003190, 0x00003191, 0x00003196, 0x0000319f, + 0x000031c0, 0x000031e3, 0x00003200, 0x0000321e, + 0x0000322a, 0x00003247, 0x00003250, 0x00003250, 0x00003260, 0x0000327f, 0x0000328a, 0x000032b0, 0x000032c0, 0x000032fe, 0x00003300, 0x000033ff, 0x00004dc0, 0x00004dff, 0x0000a490, 0x0000a4c6, @@ -1294,35 +1461,35 @@ static const unsigned int _ucprop_ranges[] = { 0x0000a839, 0x0000a839, 0x0000aa77, 0x0000aa79, 0x0000fdfd, 0x0000fdfd, 0x0000ffe4, 0x0000ffe4, 0x0000ffe8, 0x0000ffe8, 0x0000ffed, 0x0000ffee, - 0x0000fffc, 0x0000fffd, 0x00010102, 0x00010102, - 0x00010137, 0x0001013f, 0x00010179, 0x00010189, - 0x00010190, 0x0001019b, 0x000101d0, 0x000101fc, - 0x0001d000, 0x0001d0f5, 0x0001d100, 0x0001d126, - 0x0001d129, 0x0001d164, 0x0001d16a, 0x0001d16c, - 0x0001d183, 0x0001d184, 0x0001d18c, 0x0001d1a9, - 0x0001d1ae, 0x0001d1dd, 0x0001d200, 0x0001d241, - 0x0001d245, 0x0001d245, 0x0001d300, 0x0001d356, + 0x0000fffc, 0x0000fffd, 0x00010137, 0x0001013f, + 0x00010179, 0x00010189, 0x0001018c, 0x0001018c, + 0x00010190, 0x0001019b, 0x000101a0, 0x000101a0, + 0x000101d0, 0x000101fc, 0x00010877, 0x00010878, + 0x00010ac8, 0x00010ac8, 0x0001173f, 0x0001173f, + 0x00016b3c, 0x00016b3f, 0x00016b45, 0x00016b45, + 0x0001bc9c, 0x0001bc9c, 0x0001d000, 0x0001d0f5, + 0x0001d100, 0x0001d126, 0x0001d129, 0x0001d164, + 0x0001d16a, 0x0001d16c, 0x0001d183, 0x0001d184, + 0x0001d18c, 0x0001d1a9, 0x0001d1ae, 0x0001d1e8, + 0x0001d200, 0x0001d241, 0x0001d245, 0x0001d245, + 0x0001d300, 0x0001d356, 0x0001d800, 0x0001d9ff, + 0x0001da37, 0x0001da3a, 0x0001da6d, 0x0001da74, + 0x0001da76, 0x0001da83, 0x0001da85, 0x0001da86, 0x0001f000, 0x0001f02b, 0x0001f030, 0x0001f093, - 0x0001f0a0, 0x0001f0ae, 0x0001f0b1, 0x0001f0be, - 0x0001f0c1, 0x0001f0cf, 0x0001f0d1, 0x0001f0df, - 0x0001f110, 0x0001f12e, 0x0001f130, 0x0001f169, + 0x0001f0a0, 0x0001f0ae, 0x0001f0b1, 0x0001f0bf, + 0x0001f0c1, 0x0001f0cf, 0x0001f0d1, 0x0001f0f5, + 0x0001f110, 0x0001f12e, 0x0001f130, 0x0001f16b, 0x0001f170, 0x0001f19a, 0x0001f1e6, 0x0001f202, 0x0001f210, 0x0001f23a, 0x0001f240, 0x0001f248, - 0x0001f250, 0x0001f251, 0x0001f300, 0x0001f320, - 0x0001f330, 0x0001f335, 0x0001f337, 0x0001f37c, - 0x0001f380, 0x0001f393, 0x0001f3a0, 0x0001f3c4, - 0x0001f3c6, 0x0001f3ca, 0x0001f3e0, 0x0001f3f0, - 0x0001f400, 0x0001f43e, 0x0001f440, 0x0001f440, - 0x0001f442, 0x0001f4f7, 0x0001f4f9, 0x0001f4fc, - 0x0001f500, 0x0001f53d, 0x0001f550, 0x0001f567, - 0x0001f5fb, 0x0001f5ff, 0x0001f601, 0x0001f610, - 0x0001f612, 0x0001f614, 0x0001f616, 0x0001f616, - 0x0001f618, 0x0001f618, 0x0001f61a, 0x0001f61a, - 0x0001f61c, 0x0001f61e, 0x0001f620, 0x0001f625, - 0x0001f628, 0x0001f62b, 0x0001f62d, 0x0001f62d, - 0x0001f630, 0x0001f633, 0x0001f635, 0x0001f640, - 0x0001f645, 0x0001f64f, 0x0001f680, 0x0001f6c5, - 0x0001f700, 0x0001f773, 0x00000041, 0x0000005a, + 0x0001f250, 0x0001f251, 0x0001f300, 0x0001f3fa, + 0x0001f400, 0x0001f579, 0x0001f57b, 0x0001f5a3, + 0x0001f5a5, 0x0001f6d0, 0x0001f6e0, 0x0001f6ec, + 0x0001f6f0, 0x0001f6f3, 0x0001f700, 0x0001f773, + 0x0001f780, 0x0001f7d4, 0x0001f800, 0x0001f80b, + 0x0001f810, 0x0001f847, 0x0001f850, 0x0001f859, + 0x0001f860, 0x0001f887, 0x0001f890, 0x0001f8ad, + 0x0001f910, 0x0001f918, 0x0001f980, 0x0001f984, + 0x0001f9c0, 0x0001f9c0, 0x00000041, 0x0000005a, 0x00000061, 0x0000007a, 0x000000aa, 0x000000aa, 0x000000b5, 0x000000b5, 0x000000ba, 0x000000ba, 0x000000c0, 0x000000d6, 0x000000d8, 0x000000f6, @@ -1330,16 +1497,16 @@ static const unsigned int _ucprop_ranges[] = { 0x000002d0, 0x000002d1, 0x000002e0, 0x000002e4, 0x000002ee, 0x000002ee, 0x00000370, 0x00000373, 0x00000376, 0x00000377, 0x0000037a, 0x0000037d, - 0x00000386, 0x00000386, 0x00000388, 0x0000038a, - 0x0000038c, 0x0000038c, 0x0000038e, 0x000003a1, - 0x000003a3, 0x000003f5, 0x000003f7, 0x00000482, - 0x0000048a, 0x00000527, 0x00000531, 0x00000556, - 0x00000559, 0x0000055f, 0x00000561, 0x00000587, - 0x00000589, 0x00000589, 0x00000903, 0x00000939, - 0x0000093b, 0x0000093b, 0x0000093d, 0x00000940, - 0x00000949, 0x0000094c, 0x0000094e, 0x00000950, - 0x00000958, 0x00000961, 0x00000964, 0x00000977, - 0x00000979, 0x0000097f, 0x00000982, 0x00000983, + 0x0000037f, 0x0000037f, 0x00000386, 0x00000386, + 0x00000388, 0x0000038a, 0x0000038c, 0x0000038c, + 0x0000038e, 0x000003a1, 0x000003a3, 0x000003f5, + 0x000003f7, 0x00000482, 0x0000048a, 0x0000052f, + 0x00000531, 0x00000556, 0x00000559, 0x0000055f, + 0x00000561, 0x00000587, 0x00000589, 0x00000589, + 0x00000903, 0x00000939, 0x0000093b, 0x0000093b, + 0x0000093d, 0x00000940, 0x00000949, 0x0000094c, + 0x0000094e, 0x00000950, 0x00000958, 0x00000961, + 0x00000964, 0x00000980, 0x00000982, 0x00000983, 0x00000985, 0x0000098c, 0x0000098f, 0x00000990, 0x00000993, 0x000009a8, 0x000009aa, 0x000009b0, 0x000009b2, 0x000009b2, 0x000009b6, 0x000009b9, @@ -1360,27 +1527,27 @@ static const unsigned int _ucprop_ranges[] = { 0x00000ab5, 0x00000ab9, 0x00000abd, 0x00000ac0, 0x00000ac9, 0x00000ac9, 0x00000acb, 0x00000acc, 0x00000ad0, 0x00000ad0, 0x00000ae0, 0x00000ae1, - 0x00000ae6, 0x00000aef, 0x00000b02, 0x00000b03, - 0x00000b05, 0x00000b0c, 0x00000b0f, 0x00000b10, - 0x00000b13, 0x00000b28, 0x00000b2a, 0x00000b30, - 0x00000b32, 0x00000b33, 0x00000b35, 0x00000b39, - 0x00000b3d, 0x00000b3e, 0x00000b40, 0x00000b40, - 0x00000b47, 0x00000b48, 0x00000b4b, 0x00000b4c, - 0x00000b57, 0x00000b57, 0x00000b5c, 0x00000b5d, - 0x00000b5f, 0x00000b61, 0x00000b66, 0x00000b77, - 0x00000b83, 0x00000b83, 0x00000b85, 0x00000b8a, - 0x00000b8e, 0x00000b90, 0x00000b92, 0x00000b95, - 0x00000b99, 0x00000b9a, 0x00000b9c, 0x00000b9c, - 0x00000b9e, 0x00000b9f, 0x00000ba3, 0x00000ba4, - 0x00000ba8, 0x00000baa, 0x00000bae, 0x00000bb9, - 0x00000bbe, 0x00000bbf, 0x00000bc1, 0x00000bc2, - 0x00000bc6, 0x00000bc8, 0x00000bca, 0x00000bcc, - 0x00000bd0, 0x00000bd0, 0x00000bd7, 0x00000bd7, - 0x00000be6, 0x00000bf2, 0x00000c01, 0x00000c03, - 0x00000c05, 0x00000c0c, 0x00000c0e, 0x00000c10, - 0x00000c12, 0x00000c28, 0x00000c2a, 0x00000c33, - 0x00000c35, 0x00000c39, 0x00000c3d, 0x00000c3d, - 0x00000c41, 0x00000c44, 0x00000c58, 0x00000c59, + 0x00000ae6, 0x00000af0, 0x00000af9, 0x00000af9, + 0x00000b02, 0x00000b03, 0x00000b05, 0x00000b0c, + 0x00000b0f, 0x00000b10, 0x00000b13, 0x00000b28, + 0x00000b2a, 0x00000b30, 0x00000b32, 0x00000b33, + 0x00000b35, 0x00000b39, 0x00000b3d, 0x00000b3e, + 0x00000b40, 0x00000b40, 0x00000b47, 0x00000b48, + 0x00000b4b, 0x00000b4c, 0x00000b57, 0x00000b57, + 0x00000b5c, 0x00000b5d, 0x00000b5f, 0x00000b61, + 0x00000b66, 0x00000b77, 0x00000b83, 0x00000b83, + 0x00000b85, 0x00000b8a, 0x00000b8e, 0x00000b90, + 0x00000b92, 0x00000b95, 0x00000b99, 0x00000b9a, + 0x00000b9c, 0x00000b9c, 0x00000b9e, 0x00000b9f, + 0x00000ba3, 0x00000ba4, 0x00000ba8, 0x00000baa, + 0x00000bae, 0x00000bb9, 0x00000bbe, 0x00000bbf, + 0x00000bc1, 0x00000bc2, 0x00000bc6, 0x00000bc8, + 0x00000bca, 0x00000bcc, 0x00000bd0, 0x00000bd0, + 0x00000bd7, 0x00000bd7, 0x00000be6, 0x00000bf2, + 0x00000c01, 0x00000c03, 0x00000c05, 0x00000c0c, + 0x00000c0e, 0x00000c10, 0x00000c12, 0x00000c28, + 0x00000c2a, 0x00000c39, 0x00000c3d, 0x00000c3d, + 0x00000c41, 0x00000c44, 0x00000c58, 0x00000c5a, 0x00000c60, 0x00000c61, 0x00000c66, 0x00000c6f, 0x00000c7f, 0x00000c7f, 0x00000c82, 0x00000c83, 0x00000c85, 0x00000c8c, 0x00000c8e, 0x00000c90, @@ -1394,36 +1561,37 @@ static const unsigned int _ucprop_ranges[] = { 0x00000d12, 0x00000d3a, 0x00000d3d, 0x00000d40, 0x00000d46, 0x00000d48, 0x00000d4a, 0x00000d4c, 0x00000d4e, 0x00000d4e, 0x00000d57, 0x00000d57, - 0x00000d60, 0x00000d61, 0x00000d66, 0x00000d75, + 0x00000d5f, 0x00000d61, 0x00000d66, 0x00000d75, 0x00000d79, 0x00000d7f, 0x00000d82, 0x00000d83, 0x00000d85, 0x00000d96, 0x00000d9a, 0x00000db1, 0x00000db3, 0x00000dbb, 0x00000dbd, 0x00000dbd, 0x00000dc0, 0x00000dc6, 0x00000dcf, 0x00000dd1, - 0x00000dd8, 0x00000ddf, 0x00000df2, 0x00000df4, - 0x00000e01, 0x00000e30, 0x00000e32, 0x00000e33, - 0x00000e40, 0x00000e46, 0x00000e4f, 0x00000e5b, - 0x00000e81, 0x00000e82, 0x00000e84, 0x00000e84, - 0x00000e87, 0x00000e88, 0x00000e8a, 0x00000e8a, - 0x00000e8d, 0x00000e8d, 0x00000e94, 0x00000e97, - 0x00000e99, 0x00000e9f, 0x00000ea1, 0x00000ea3, - 0x00000ea5, 0x00000ea5, 0x00000ea7, 0x00000ea7, - 0x00000eaa, 0x00000eab, 0x00000ead, 0x00000eb0, - 0x00000eb2, 0x00000eb3, 0x00000ebd, 0x00000ebd, - 0x00000ec0, 0x00000ec4, 0x00000ec6, 0x00000ec6, - 0x00000ed0, 0x00000ed9, 0x00000edc, 0x00000edd, - 0x00000f00, 0x00000f17, 0x00000f1a, 0x00000f34, - 0x00000f36, 0x00000f36, 0x00000f38, 0x00000f38, - 0x00000f3e, 0x00000f47, 0x00000f49, 0x00000f6c, - 0x00000f7f, 0x00000f7f, 0x00000f85, 0x00000f85, - 0x00000f88, 0x00000f8c, 0x00000fbe, 0x00000fc5, - 0x00000fc7, 0x00000fcc, 0x00000fce, 0x00000fda, - 0x00001000, 0x0000102c, 0x00001031, 0x00001031, - 0x00001038, 0x00001038, 0x0000103b, 0x0000103c, - 0x0000103f, 0x00001057, 0x0000105a, 0x0000105d, - 0x00001061, 0x00001070, 0x00001075, 0x00001081, - 0x00001083, 0x00001084, 0x00001087, 0x0000108c, - 0x0000108e, 0x0000109c, 0x0000109e, 0x000010c5, - 0x000010d0, 0x000010fc, 0x00001100, 0x00001248, + 0x00000dd8, 0x00000ddf, 0x00000de6, 0x00000def, + 0x00000df2, 0x00000df4, 0x00000e01, 0x00000e30, + 0x00000e32, 0x00000e33, 0x00000e40, 0x00000e46, + 0x00000e4f, 0x00000e5b, 0x00000e81, 0x00000e82, + 0x00000e84, 0x00000e84, 0x00000e87, 0x00000e88, + 0x00000e8a, 0x00000e8a, 0x00000e8d, 0x00000e8d, + 0x00000e94, 0x00000e97, 0x00000e99, 0x00000e9f, + 0x00000ea1, 0x00000ea3, 0x00000ea5, 0x00000ea5, + 0x00000ea7, 0x00000ea7, 0x00000eaa, 0x00000eab, + 0x00000ead, 0x00000eb0, 0x00000eb2, 0x00000eb3, + 0x00000ebd, 0x00000ebd, 0x00000ec0, 0x00000ec4, + 0x00000ec6, 0x00000ec6, 0x00000ed0, 0x00000ed9, + 0x00000edc, 0x00000edf, 0x00000f00, 0x00000f17, + 0x00000f1a, 0x00000f34, 0x00000f36, 0x00000f36, + 0x00000f38, 0x00000f38, 0x00000f3e, 0x00000f47, + 0x00000f49, 0x00000f6c, 0x00000f7f, 0x00000f7f, + 0x00000f85, 0x00000f85, 0x00000f88, 0x00000f8c, + 0x00000fbe, 0x00000fc5, 0x00000fc7, 0x00000fcc, + 0x00000fce, 0x00000fda, 0x00001000, 0x0000102c, + 0x00001031, 0x00001031, 0x00001038, 0x00001038, + 0x0000103b, 0x0000103c, 0x0000103f, 0x00001057, + 0x0000105a, 0x0000105d, 0x00001061, 0x00001070, + 0x00001075, 0x00001081, 0x00001083, 0x00001084, + 0x00001087, 0x0000108c, 0x0000108e, 0x0000109c, + 0x0000109e, 0x000010c5, 0x000010c7, 0x000010c7, + 0x000010cd, 0x000010cd, 0x000010d0, 0x00001248, 0x0000124a, 0x0000124d, 0x00001250, 0x00001256, 0x00001258, 0x00001258, 0x0000125a, 0x0000125d, 0x00001260, 0x00001288, 0x0000128a, 0x0000128d, @@ -1432,24 +1600,25 @@ static const unsigned int _ucprop_ranges[] = { 0x000012c2, 0x000012c5, 0x000012c8, 0x000012d6, 0x000012d8, 0x00001310, 0x00001312, 0x00001315, 0x00001318, 0x0000135a, 0x00001360, 0x0000137c, - 0x00001380, 0x0000138f, 0x000013a0, 0x000013f4, - 0x00001401, 0x0000167f, 0x00001681, 0x0000169a, - 0x000016a0, 0x000016f0, 0x00001700, 0x0000170c, - 0x0000170e, 0x00001711, 0x00001720, 0x00001731, - 0x00001735, 0x00001736, 0x00001740, 0x00001751, - 0x00001760, 0x0000176c, 0x0000176e, 0x00001770, - 0x00001780, 0x000017b6, 0x000017be, 0x000017c5, + 0x00001380, 0x0000138f, 0x000013a0, 0x000013f5, + 0x000013f8, 0x000013fd, 0x00001401, 0x0000167f, + 0x00001681, 0x0000169a, 0x000016a0, 0x000016f8, + 0x00001700, 0x0000170c, 0x0000170e, 0x00001711, + 0x00001720, 0x00001731, 0x00001735, 0x00001736, + 0x00001740, 0x00001751, 0x00001760, 0x0000176c, + 0x0000176e, 0x00001770, 0x00001780, 0x000017b3, + 0x000017b6, 0x000017b6, 0x000017be, 0x000017c5, 0x000017c7, 0x000017c8, 0x000017d4, 0x000017da, 0x000017dc, 0x000017dc, 0x000017e0, 0x000017e9, 0x00001810, 0x00001819, 0x00001820, 0x00001877, 0x00001880, 0x000018a8, 0x000018aa, 0x000018aa, - 0x000018b0, 0x000018f5, 0x00001900, 0x0000191c, + 0x000018b0, 0x000018f5, 0x00001900, 0x0000191e, 0x00001923, 0x00001926, 0x00001929, 0x0000192b, 0x00001930, 0x00001931, 0x00001933, 0x00001938, 0x00001946, 0x0000196d, 0x00001970, 0x00001974, 0x00001980, 0x000019ab, 0x000019b0, 0x000019c9, 0x000019d0, 0x000019da, 0x00001a00, 0x00001a16, - 0x00001a19, 0x00001a1b, 0x00001a1e, 0x00001a55, + 0x00001a19, 0x00001a1a, 0x00001a1e, 0x00001a55, 0x00001a57, 0x00001a57, 0x00001a61, 0x00001a61, 0x00001a63, 0x00001a64, 0x00001a6d, 0x00001a72, 0x00001a80, 0x00001a89, 0x00001a90, 0x00001a99, @@ -1458,119 +1627,131 @@ static const unsigned int _ucprop_ranges[] = { 0x00001b3d, 0x00001b41, 0x00001b43, 0x00001b4b, 0x00001b50, 0x00001b6a, 0x00001b74, 0x00001b7c, 0x00001b82, 0x00001ba1, 0x00001ba6, 0x00001ba7, - 0x00001baa, 0x00001baa, 0x00001bae, 0x00001bb9, - 0x00001bc0, 0x00001be5, 0x00001be7, 0x00001be7, - 0x00001bea, 0x00001bec, 0x00001bee, 0x00001bee, - 0x00001bf2, 0x00001bf3, 0x00001bfc, 0x00001c2b, - 0x00001c34, 0x00001c35, 0x00001c3b, 0x00001c49, - 0x00001c4d, 0x00001c7f, 0x00001cd3, 0x00001cd3, + 0x00001baa, 0x00001baa, 0x00001bae, 0x00001be5, + 0x00001be7, 0x00001be7, 0x00001bea, 0x00001bec, + 0x00001bee, 0x00001bee, 0x00001bf2, 0x00001bf3, + 0x00001bfc, 0x00001c2b, 0x00001c34, 0x00001c35, + 0x00001c3b, 0x00001c49, 0x00001c4d, 0x00001c7f, + 0x00001cc0, 0x00001cc7, 0x00001cd3, 0x00001cd3, 0x00001ce1, 0x00001ce1, 0x00001ce9, 0x00001cec, - 0x00001cee, 0x00001cf2, 0x00001d00, 0x00001dbf, - 0x00001e00, 0x00001f15, 0x00001f18, 0x00001f1d, - 0x00001f20, 0x00001f45, 0x00001f48, 0x00001f4d, - 0x00001f50, 0x00001f57, 0x00001f59, 0x00001f59, - 0x00001f5b, 0x00001f5b, 0x00001f5d, 0x00001f5d, - 0x00001f5f, 0x00001f7d, 0x00001f80, 0x00001fb4, - 0x00001fb6, 0x00001fbc, 0x00001fbe, 0x00001fbe, - 0x00001fc2, 0x00001fc4, 0x00001fc6, 0x00001fcc, - 0x00001fd0, 0x00001fd3, 0x00001fd6, 0x00001fdb, - 0x00001fe0, 0x00001fec, 0x00001ff2, 0x00001ff4, - 0x00001ff6, 0x00001ffc, 0x0000200e, 0x0000200e, - 0x00002071, 0x00002071, 0x0000207f, 0x0000207f, - 0x00002090, 0x0000209c, 0x00002102, 0x00002102, - 0x00002107, 0x00002107, 0x0000210a, 0x00002113, - 0x00002115, 0x00002115, 0x00002119, 0x0000211d, - 0x00002124, 0x00002124, 0x00002126, 0x00002126, - 0x00002128, 0x00002128, 0x0000212a, 0x0000212d, - 0x0000212f, 0x00002139, 0x0000213c, 0x0000213f, - 0x00002145, 0x00002149, 0x0000214e, 0x0000214f, - 0x00002160, 0x00002188, 0x00002336, 0x0000237a, - 0x00002395, 0x00002395, 0x0000249c, 0x000024e9, - 0x000026ac, 0x000026ac, 0x00002800, 0x000028ff, - 0x00002c00, 0x00002c2e, 0x00002c30, 0x00002c5e, - 0x00002c60, 0x00002ce4, 0x00002ceb, 0x00002cee, - 0x00002d00, 0x00002d25, 0x00002d30, 0x00002d65, + 0x00001cee, 0x00001cf3, 0x00001cf5, 0x00001cf6, + 0x00001d00, 0x00001dbf, 0x00001e00, 0x00001f15, + 0x00001f18, 0x00001f1d, 0x00001f20, 0x00001f45, + 0x00001f48, 0x00001f4d, 0x00001f50, 0x00001f57, + 0x00001f59, 0x00001f59, 0x00001f5b, 0x00001f5b, + 0x00001f5d, 0x00001f5d, 0x00001f5f, 0x00001f7d, + 0x00001f80, 0x00001fb4, 0x00001fb6, 0x00001fbc, + 0x00001fbe, 0x00001fbe, 0x00001fc2, 0x00001fc4, + 0x00001fc6, 0x00001fcc, 0x00001fd0, 0x00001fd3, + 0x00001fd6, 0x00001fdb, 0x00001fe0, 0x00001fec, + 0x00001ff2, 0x00001ff4, 0x00001ff6, 0x00001ffc, + 0x0000200e, 0x0000200e, 0x00002071, 0x00002071, + 0x0000207f, 0x0000207f, 0x00002090, 0x0000209c, + 0x00002102, 0x00002102, 0x00002107, 0x00002107, + 0x0000210a, 0x00002113, 0x00002115, 0x00002115, + 0x00002119, 0x0000211d, 0x00002124, 0x00002124, + 0x00002126, 0x00002126, 0x00002128, 0x00002128, + 0x0000212a, 0x0000212d, 0x0000212f, 0x00002139, + 0x0000213c, 0x0000213f, 0x00002145, 0x00002149, + 0x0000214e, 0x0000214f, 0x00002160, 0x00002188, + 0x00002336, 0x0000237a, 0x00002395, 0x00002395, + 0x0000249c, 0x000024e9, 0x000026ac, 0x000026ac, + 0x00002800, 0x000028ff, 0x00002c00, 0x00002c2e, + 0x00002c30, 0x00002c5e, 0x00002c60, 0x00002ce4, + 0x00002ceb, 0x00002cee, 0x00002cf2, 0x00002cf3, + 0x00002d00, 0x00002d25, 0x00002d27, 0x00002d27, + 0x00002d2d, 0x00002d2d, 0x00002d30, 0x00002d67, 0x00002d6f, 0x00002d70, 0x00002d80, 0x00002d96, 0x00002da0, 0x00002da6, 0x00002da8, 0x00002dae, 0x00002db0, 0x00002db6, 0x00002db8, 0x00002dbe, 0x00002dc0, 0x00002dc6, 0x00002dc8, 0x00002dce, 0x00002dd0, 0x00002dd6, 0x00002dd8, 0x00002dde, 0x00003005, 0x00003007, 0x00003021, 0x00003029, - 0x00003031, 0x00003035, 0x00003038, 0x0000303c, - 0x00003041, 0x00003096, 0x0000309d, 0x0000309f, - 0x000030a1, 0x000030fa, 0x000030fc, 0x000030ff, - 0x00003105, 0x0000312d, 0x00003131, 0x0000318e, - 0x00003190, 0x000031ba, 0x000031f0, 0x0000321c, - 0x00003220, 0x0000324f, 0x00003260, 0x0000327b, - 0x0000327f, 0x000032b0, 0x000032c0, 0x000032cb, - 0x000032d0, 0x000032fe, 0x00003300, 0x00003376, - 0x0000337b, 0x000033dd, 0x000033e0, 0x000033fe, - 0x00003400, 0x00004db5, 0x00004e00, 0x0000a48c, - 0x0000a4d0, 0x0000a60c, 0x0000a610, 0x0000a62b, - 0x0000a640, 0x0000a66e, 0x0000a680, 0x0000a697, - 0x0000a6a0, 0x0000a6ef, 0x0000a6f2, 0x0000a6f7, - 0x0000a722, 0x0000a787, 0x0000a789, 0x0000a78e, - 0x0000a790, 0x0000a791, 0x0000a7a0, 0x0000a7a9, - 0x0000a7fa, 0x0000a801, 0x0000a803, 0x0000a805, + 0x0000302e, 0x0000302f, 0x00003031, 0x00003035, + 0x00003038, 0x0000303c, 0x00003041, 0x00003096, + 0x0000309d, 0x0000309f, 0x000030a1, 0x000030fa, + 0x000030fc, 0x000030ff, 0x00003105, 0x0000312d, + 0x00003131, 0x0000318e, 0x00003190, 0x000031ba, + 0x000031f0, 0x0000321c, 0x00003220, 0x0000324f, + 0x00003260, 0x0000327b, 0x0000327f, 0x000032b0, + 0x000032c0, 0x000032cb, 0x000032d0, 0x000032fe, + 0x00003300, 0x00003376, 0x0000337b, 0x000033dd, + 0x000033e0, 0x000033fe, 0x00003400, 0x00004db5, + 0x00004e00, 0x0000a48c, 0x0000a4d0, 0x0000a60c, + 0x0000a610, 0x0000a62b, 0x0000a640, 0x0000a66e, + 0x0000a680, 0x0000a69d, 0x0000a6a0, 0x0000a6ef, + 0x0000a6f2, 0x0000a6f7, 0x0000a722, 0x0000a787, + 0x0000a789, 0x0000a7ad, 0x0000a7b0, 0x0000a7b7, + 0x0000a7f7, 0x0000a801, 0x0000a803, 0x0000a805, 0x0000a807, 0x0000a80a, 0x0000a80c, 0x0000a824, 0x0000a827, 0x0000a827, 0x0000a830, 0x0000a837, 0x0000a840, 0x0000a873, 0x0000a880, 0x0000a8c3, - 0x0000a8ce, 0x0000a8d9, 0x0000a8f2, 0x0000a8fb, + 0x0000a8ce, 0x0000a8d9, 0x0000a8f2, 0x0000a8fd, 0x0000a900, 0x0000a925, 0x0000a92e, 0x0000a946, 0x0000a952, 0x0000a953, 0x0000a95f, 0x0000a97c, 0x0000a983, 0x0000a9b2, 0x0000a9b4, 0x0000a9b5, 0x0000a9ba, 0x0000a9bb, 0x0000a9bd, 0x0000a9cd, - 0x0000a9cf, 0x0000a9d9, 0x0000a9de, 0x0000a9df, - 0x0000aa00, 0x0000aa28, 0x0000aa2f, 0x0000aa30, - 0x0000aa33, 0x0000aa34, 0x0000aa40, 0x0000aa42, - 0x0000aa44, 0x0000aa4b, 0x0000aa4d, 0x0000aa4d, - 0x0000aa50, 0x0000aa59, 0x0000aa5c, 0x0000aa7b, - 0x0000aa80, 0x0000aaaf, 0x0000aab1, 0x0000aab1, - 0x0000aab5, 0x0000aab6, 0x0000aab9, 0x0000aabd, - 0x0000aac0, 0x0000aac0, 0x0000aac2, 0x0000aac2, - 0x0000aadb, 0x0000aadf, 0x0000ab01, 0x0000ab06, + 0x0000a9cf, 0x0000a9d9, 0x0000a9de, 0x0000a9e4, + 0x0000a9e6, 0x0000a9fe, 0x0000aa00, 0x0000aa28, + 0x0000aa2f, 0x0000aa30, 0x0000aa33, 0x0000aa34, + 0x0000aa40, 0x0000aa42, 0x0000aa44, 0x0000aa4b, + 0x0000aa4d, 0x0000aa4d, 0x0000aa50, 0x0000aa59, + 0x0000aa5c, 0x0000aa7b, 0x0000aa7d, 0x0000aaaf, + 0x0000aab1, 0x0000aab1, 0x0000aab5, 0x0000aab6, + 0x0000aab9, 0x0000aabd, 0x0000aac0, 0x0000aac0, + 0x0000aac2, 0x0000aac2, 0x0000aadb, 0x0000aaeb, + 0x0000aaee, 0x0000aaf5, 0x0000ab01, 0x0000ab06, 0x0000ab09, 0x0000ab0e, 0x0000ab11, 0x0000ab16, 0x0000ab20, 0x0000ab26, 0x0000ab28, 0x0000ab2e, - 0x0000abc0, 0x0000abe4, 0x0000abe6, 0x0000abe7, - 0x0000abe9, 0x0000abec, 0x0000abf0, 0x0000abf9, - 0x0000ac00, 0x0000d7a3, 0x0000d7b0, 0x0000d7c6, - 0x0000d7cb, 0x0000d7fb, 0x0000e000, 0x0000fb06, - 0x0000fb13, 0x0000fb17, 0x0000ff21, 0x0000ff3a, - 0x0000ff41, 0x0000ff5a, 0x0000ff66, 0x0000ffbe, - 0x0000ffc2, 0x0000ffc7, 0x0000ffca, 0x0000ffcf, - 0x0000ffd2, 0x0000ffd7, 0x0000ffda, 0x0000ffdc, - 0x00010000, 0x0002a6d6, 0x0002a700, 0x0002a700, - 0x0002b734, 0x0002b734, 0x0002b740, 0x0002b740, - 0x0002b81d, 0x0002b81d, 0x0002f800, 0x0002fa1d, - 0x000f0000, 0x000ffffd, 0x00100000, 0x0010fffd, - 0x000005be, 0x000005be, 0x000005c0, 0x000005c0, - 0x000005c3, 0x000005c3, 0x000005c6, 0x000005c6, - 0x000005d0, 0x000005ea, 0x000005f0, 0x000005f4, - 0x000007c0, 0x000007ea, 0x000007f4, 0x000007f5, - 0x000007fa, 0x000007fa, 0x00000800, 0x00000815, - 0x0000081a, 0x0000081a, 0x00000824, 0x00000824, - 0x00000828, 0x00000828, 0x00000830, 0x0000083e, - 0x00000840, 0x00000858, 0x0000085e, 0x0000085e, - 0x0000200f, 0x0000200f, 0x0000fb1d, 0x0000fb1d, - 0x0000fb1f, 0x0000fb28, 0x0000fb2a, 0x0000fb36, - 0x0000fb38, 0x0000fb3c, 0x0000fb3e, 0x0000fb3e, - 0x0000fb40, 0x0000fb41, 0x0000fb43, 0x0000fb44, - 0x0000fb46, 0x0000fb4f, 0x00010800, 0x00010805, - 0x00010808, 0x00010808, 0x0001080a, 0x00010835, - 0x00010837, 0x00010838, 0x0001083c, 0x0001083c, - 0x0001083f, 0x00010855, 0x00010857, 0x0001085f, - 0x00010900, 0x0001091b, 0x00010920, 0x00010939, - 0x0001093f, 0x0001093f, 0x00010a00, 0x00010a00, + 0x0000ab30, 0x0000ab65, 0x0000ab70, 0x0000abe4, + 0x0000abe6, 0x0000abe7, 0x0000abe9, 0x0000abec, + 0x0000abf0, 0x0000abf9, 0x0000ac00, 0x0000d7a3, + 0x0000d7b0, 0x0000d7c6, 0x0000d7cb, 0x0000d7fb, + 0x0000e000, 0x0000fb06, 0x0000fb13, 0x0000fb17, + 0x0000ff21, 0x0000ff3a, 0x0000ff41, 0x0000ff5a, + 0x0000ff66, 0x0000ffbe, 0x0000ffc2, 0x0000ffc7, + 0x0000ffca, 0x0000ffcf, 0x0000ffd2, 0x0000ffd7, + 0x0000ffda, 0x0000ffdc, 0x00010000, 0x0002a6d6, + 0x0002a700, 0x0002a700, 0x0002b734, 0x0002b734, + 0x0002b740, 0x0002b740, 0x0002b81d, 0x0002b81d, + 0x0002b820, 0x0002b820, 0x0002cea1, 0x0002cea1, + 0x0002f800, 0x0002fa1d, 0x000f0000, 0x000ffffd, + 0x00100000, 0x0010fffd, 0x000005be, 0x000005be, + 0x000005c0, 0x000005c0, 0x000005c3, 0x000005c3, + 0x000005c6, 0x000005c6, 0x000005d0, 0x000005ea, + 0x000005f0, 0x000005f4, 0x000007c0, 0x000007ea, + 0x000007f4, 0x000007f5, 0x000007fa, 0x000007fa, + 0x00000800, 0x00000815, 0x0000081a, 0x0000081a, + 0x00000824, 0x00000824, 0x00000828, 0x00000828, + 0x00000830, 0x0000083e, 0x00000840, 0x00000858, + 0x0000085e, 0x0000085e, 0x0000200f, 0x0000200f, + 0x0000fb1d, 0x0000fb1d, 0x0000fb1f, 0x0000fb28, + 0x0000fb2a, 0x0000fb36, 0x0000fb38, 0x0000fb3c, + 0x0000fb3e, 0x0000fb3e, 0x0000fb40, 0x0000fb41, + 0x0000fb43, 0x0000fb44, 0x0000fb46, 0x0000fb4f, + 0x00010800, 0x00010805, 0x00010808, 0x00010808, + 0x0001080a, 0x00010835, 0x00010837, 0x00010838, + 0x0001083c, 0x0001083c, 0x0001083f, 0x00010855, + 0x00010857, 0x0001089e, 0x000108a7, 0x000108af, + 0x000108e0, 0x000108f2, 0x000108f4, 0x000108f5, + 0x000108fb, 0x0001091b, 0x00010920, 0x00010939, + 0x0001093f, 0x0001093f, 0x00010980, 0x000109b7, + 0x000109bc, 0x000109cf, 0x000109d2, 0x00010a00, 0x00010a10, 0x00010a13, 0x00010a15, 0x00010a17, 0x00010a19, 0x00010a33, 0x00010a40, 0x00010a47, - 0x00010a50, 0x00010a58, 0x00010a60, 0x00010a7f, + 0x00010a50, 0x00010a58, 0x00010a60, 0x00010a9f, + 0x00010ac0, 0x00010ae4, 0x00010aeb, 0x00010af6, 0x00010b00, 0x00010b35, 0x00010b40, 0x00010b55, - 0x00010b58, 0x00010b72, 0x00010b78, 0x00010b7f, - 0x00010c00, 0x00010c48, 0x00000030, 0x00000039, - 0x000000b2, 0x000000b3, 0x000000b9, 0x000000b9, - 0x000006f0, 0x000006f9, 0x00002070, 0x00002070, - 0x00002074, 0x00002079, 0x00002080, 0x00002089, - 0x00002488, 0x0000249b, 0x0000ff10, 0x0000ff19, + 0x00010b58, 0x00010b72, 0x00010b78, 0x00010b91, + 0x00010b99, 0x00010b9c, 0x00010ba9, 0x00010baf, + 0x00010c00, 0x00010c48, 0x00010c80, 0x00010cb2, + 0x00010cc0, 0x00010cf2, 0x00010cfa, 0x00010cff, + 0x0001e800, 0x0001e8c4, 0x0001e8c7, 0x0001e8cf, + 0x00000030, 0x00000039, 0x000000b2, 0x000000b3, + 0x000000b9, 0x000000b9, 0x000006f0, 0x000006f9, + 0x00002070, 0x00002070, 0x00002074, 0x00002079, + 0x00002080, 0x00002089, 0x00002488, 0x0000249b, + 0x0000ff10, 0x0000ff19, 0x000102e1, 0x000102fb, 0x0001d7ce, 0x0001d7ff, 0x0001f100, 0x0001f10a, 0x0000002b, 0x0000002b, 0x0000002d, 0x0000002d, 0x0000207a, 0x0000207b, 0x0000208a, 0x0000208b, @@ -1578,18 +1759,18 @@ static const unsigned int _ucprop_ranges[] = { 0x0000fe62, 0x0000fe63, 0x0000ff0b, 0x0000ff0b, 0x0000ff0d, 0x0000ff0d, 0x00000023, 0x00000025, 0x000000a2, 0x000000a5, 0x000000b0, 0x000000b1, - 0x00000609, 0x0000060a, 0x0000066a, 0x0000066a, - 0x000009f2, 0x000009f3, 0x000009fb, 0x000009fb, - 0x00000af1, 0x00000af1, 0x00000bf9, 0x00000bf9, - 0x00000e3f, 0x00000e3f, 0x000017db, 0x000017db, - 0x00002030, 0x00002034, 0x000020a0, 0x000020b9, - 0x0000212e, 0x0000212e, 0x00002213, 0x00002213, - 0x0000a838, 0x0000a839, 0x0000fe5f, 0x0000fe5f, - 0x0000fe69, 0x0000fe6a, 0x0000ff03, 0x0000ff05, - 0x0000ffe0, 0x0000ffe1, 0x0000ffe5, 0x0000ffe6, - 0x00000600, 0x00000603, 0x00000660, 0x00000669, - 0x0000066b, 0x0000066c, 0x000006dd, 0x000006dd, - 0x0000070f, 0x0000070f, 0x00010e60, 0x00010e7e, + 0x0000058f, 0x0000058f, 0x00000609, 0x0000060a, + 0x0000066a, 0x0000066a, 0x000009f2, 0x000009f3, + 0x000009fb, 0x000009fb, 0x00000af1, 0x00000af1, + 0x00000bf9, 0x00000bf9, 0x00000e3f, 0x00000e3f, + 0x000017db, 0x000017db, 0x00002030, 0x00002034, + 0x000020a0, 0x000020be, 0x0000212e, 0x0000212e, + 0x00002213, 0x00002213, 0x0000a838, 0x0000a839, + 0x0000fe5f, 0x0000fe5f, 0x0000fe69, 0x0000fe6a, + 0x0000ff03, 0x0000ff05, 0x0000ffe0, 0x0000ffe1, + 0x0000ffe5, 0x0000ffe6, 0x00000600, 0x00000605, + 0x00000660, 0x00000669, 0x0000066b, 0x0000066c, + 0x000006dd, 0x000006dd, 0x00010e60, 0x00010e7e, 0x0000002c, 0x0000002c, 0x0000002e, 0x0000002f, 0x0000003a, 0x0000003a, 0x000000a0, 0x000000a0, 0x0000060c, 0x0000060c, 0x0000202f, 0x0000202f, @@ -1602,23 +1783,23 @@ static const unsigned int _ucprop_ranges[] = { 0x00000009, 0x00000009, 0x0000000b, 0x0000000b, 0x0000001f, 0x0000001f, 0x0000000c, 0x0000000c, 0x00000020, 0x00000020, 0x00001680, 0x00001680, - 0x0000180e, 0x0000180e, 0x00002000, 0x0000200a, - 0x00002028, 0x00002028, 0x0000205f, 0x0000205f, - 0x00003000, 0x00003000, 0x00000000, 0x00000008, - 0x0000000e, 0x0000001b, 0x00000021, 0x00000022, - 0x00000026, 0x0000002a, 0x0000003b, 0x00000040, - 0x0000005b, 0x00000060, 0x0000007b, 0x00000084, - 0x00000086, 0x0000009f, 0x000000a1, 0x000000a1, - 0x000000a6, 0x000000a9, 0x000000ab, 0x000000af, - 0x000000b4, 0x000000b4, 0x000000b6, 0x000000b8, - 0x000000bb, 0x000000bf, 0x000000d7, 0x000000d7, - 0x000000f7, 0x000000f7, 0x000002b9, 0x000002ba, - 0x000002c2, 0x000002cf, 0x000002d2, 0x000002df, - 0x000002e5, 0x000002ed, 0x000002ef, 0x0000036f, - 0x00000374, 0x00000375, 0x0000037e, 0x0000037e, - 0x00000384, 0x00000385, 0x00000387, 0x00000387, - 0x000003f6, 0x000003f6, 0x00000483, 0x00000489, - 0x0000058a, 0x0000058a, 0x00000591, 0x000005bd, + 0x00002000, 0x0000200a, 0x00002028, 0x00002028, + 0x0000205f, 0x0000205f, 0x00003000, 0x00003000, + 0x00000000, 0x00000008, 0x0000000e, 0x0000001b, + 0x00000021, 0x00000022, 0x00000026, 0x0000002a, + 0x0000003b, 0x00000040, 0x0000005b, 0x00000060, + 0x0000007b, 0x00000084, 0x00000086, 0x0000009f, + 0x000000a1, 0x000000a1, 0x000000a6, 0x000000a9, + 0x000000ab, 0x000000af, 0x000000b4, 0x000000b4, + 0x000000b6, 0x000000b8, 0x000000bb, 0x000000bf, + 0x000000d7, 0x000000d7, 0x000000f7, 0x000000f7, + 0x000002b9, 0x000002ba, 0x000002c2, 0x000002cf, + 0x000002d2, 0x000002df, 0x000002e5, 0x000002ed, + 0x000002ef, 0x0000036f, 0x00000374, 0x00000375, + 0x0000037e, 0x0000037e, 0x00000384, 0x00000385, + 0x00000387, 0x00000387, 0x000003f6, 0x000003f6, + 0x00000483, 0x00000489, 0x0000058a, 0x0000058a, + 0x0000058d, 0x0000058e, 0x00000591, 0x000005bd, 0x000005bf, 0x000005bf, 0x000005c1, 0x000005c2, 0x000005c4, 0x000005c5, 0x000005c7, 0x000005c7, 0x00000606, 0x00000607, 0x0000060e, 0x0000061a, @@ -1629,7 +1810,7 @@ static const unsigned int _ucprop_ranges[] = { 0x000007eb, 0x000007f3, 0x000007f6, 0x000007f9, 0x00000816, 0x00000819, 0x0000081b, 0x00000823, 0x00000825, 0x00000827, 0x00000829, 0x0000082d, - 0x00000859, 0x0000085b, 0x00000900, 0x00000902, + 0x00000859, 0x0000085b, 0x000008e3, 0x00000902, 0x0000093a, 0x0000093a, 0x0000093c, 0x0000093c, 0x00000941, 0x00000948, 0x0000094d, 0x0000094d, 0x00000951, 0x00000957, 0x00000962, 0x00000963, @@ -1648,109 +1829,116 @@ static const unsigned int _ucprop_ranges[] = { 0x00000b56, 0x00000b56, 0x00000b62, 0x00000b63, 0x00000b82, 0x00000b82, 0x00000bc0, 0x00000bc0, 0x00000bcd, 0x00000bcd, 0x00000bf3, 0x00000bf8, - 0x00000bfa, 0x00000bfa, 0x00000c3e, 0x00000c40, - 0x00000c46, 0x00000c48, 0x00000c4a, 0x00000c4d, - 0x00000c55, 0x00000c56, 0x00000c62, 0x00000c63, - 0x00000c78, 0x00000c7e, 0x00000cbc, 0x00000cbc, + 0x00000bfa, 0x00000bfa, 0x00000c00, 0x00000c00, + 0x00000c3e, 0x00000c40, 0x00000c46, 0x00000c48, + 0x00000c4a, 0x00000c4d, 0x00000c55, 0x00000c56, + 0x00000c62, 0x00000c63, 0x00000c78, 0x00000c7e, + 0x00000c81, 0x00000c81, 0x00000cbc, 0x00000cbc, 0x00000ccc, 0x00000ccd, 0x00000ce2, 0x00000ce3, - 0x00000d41, 0x00000d44, 0x00000d4d, 0x00000d4d, - 0x00000d62, 0x00000d63, 0x00000dca, 0x00000dca, - 0x00000dd2, 0x00000dd4, 0x00000dd6, 0x00000dd6, - 0x00000e31, 0x00000e31, 0x00000e34, 0x00000e3a, - 0x00000e47, 0x00000e4e, 0x00000eb1, 0x00000eb1, - 0x00000eb4, 0x00000eb9, 0x00000ebb, 0x00000ebc, - 0x00000ec8, 0x00000ecd, 0x00000f18, 0x00000f19, - 0x00000f35, 0x00000f35, 0x00000f37, 0x00000f37, - 0x00000f39, 0x00000f3d, 0x00000f71, 0x00000f7e, - 0x00000f80, 0x00000f84, 0x00000f86, 0x00000f87, - 0x00000f8d, 0x00000f97, 0x00000f99, 0x00000fbc, - 0x00000fc6, 0x00000fc6, 0x0000102d, 0x00001030, - 0x00001032, 0x00001037, 0x00001039, 0x0000103a, - 0x0000103d, 0x0000103e, 0x00001058, 0x00001059, - 0x0000105e, 0x00001060, 0x00001071, 0x00001074, - 0x00001082, 0x00001082, 0x00001085, 0x00001086, - 0x0000108d, 0x0000108d, 0x0000109d, 0x0000109d, - 0x0000135d, 0x0000135f, 0x00001390, 0x00001399, - 0x00001400, 0x00001400, 0x0000169b, 0x0000169c, - 0x00001712, 0x00001714, 0x00001732, 0x00001734, - 0x00001752, 0x00001753, 0x00001772, 0x00001773, + 0x00000d01, 0x00000d01, 0x00000d41, 0x00000d44, + 0x00000d4d, 0x00000d4d, 0x00000d62, 0x00000d63, + 0x00000dca, 0x00000dca, 0x00000dd2, 0x00000dd4, + 0x00000dd6, 0x00000dd6, 0x00000e31, 0x00000e31, + 0x00000e34, 0x00000e3a, 0x00000e47, 0x00000e4e, + 0x00000eb1, 0x00000eb1, 0x00000eb4, 0x00000eb9, + 0x00000ebb, 0x00000ebc, 0x00000ec8, 0x00000ecd, + 0x00000f18, 0x00000f19, 0x00000f35, 0x00000f35, + 0x00000f37, 0x00000f37, 0x00000f39, 0x00000f3d, + 0x00000f71, 0x00000f7e, 0x00000f80, 0x00000f84, + 0x00000f86, 0x00000f87, 0x00000f8d, 0x00000f97, + 0x00000f99, 0x00000fbc, 0x00000fc6, 0x00000fc6, + 0x0000102d, 0x00001030, 0x00001032, 0x00001037, + 0x00001039, 0x0000103a, 0x0000103d, 0x0000103e, + 0x00001058, 0x00001059, 0x0000105e, 0x00001060, + 0x00001071, 0x00001074, 0x00001082, 0x00001082, + 0x00001085, 0x00001086, 0x0000108d, 0x0000108d, + 0x0000109d, 0x0000109d, 0x0000135d, 0x0000135f, + 0x00001390, 0x00001399, 0x00001400, 0x00001400, + 0x0000169b, 0x0000169c, 0x00001712, 0x00001714, + 0x00001732, 0x00001734, 0x00001752, 0x00001753, + 0x00001772, 0x00001773, 0x000017b4, 0x000017b5, 0x000017b7, 0x000017bd, 0x000017c6, 0x000017c6, 0x000017c9, 0x000017d3, 0x000017dd, 0x000017dd, - 0x000017f0, 0x000017f9, 0x00001800, 0x0000180d, + 0x000017f0, 0x000017f9, 0x00001800, 0x0000180e, 0x000018a9, 0x000018a9, 0x00001920, 0x00001922, 0x00001927, 0x00001928, 0x00001932, 0x00001932, 0x00001939, 0x0000193b, 0x00001940, 0x00001940, 0x00001944, 0x00001945, 0x000019de, 0x000019ff, - 0x00001a17, 0x00001a18, 0x00001a56, 0x00001a56, - 0x00001a58, 0x00001a5e, 0x00001a60, 0x00001a60, - 0x00001a62, 0x00001a62, 0x00001a65, 0x00001a6c, - 0x00001a73, 0x00001a7c, 0x00001a7f, 0x00001a7f, + 0x00001a17, 0x00001a18, 0x00001a1b, 0x00001a1b, + 0x00001a56, 0x00001a56, 0x00001a58, 0x00001a5e, + 0x00001a60, 0x00001a60, 0x00001a62, 0x00001a62, + 0x00001a65, 0x00001a6c, 0x00001a73, 0x00001a7c, + 0x00001a7f, 0x00001a7f, 0x00001ab0, 0x00001abe, 0x00001b00, 0x00001b03, 0x00001b34, 0x00001b34, 0x00001b36, 0x00001b3a, 0x00001b3c, 0x00001b3c, 0x00001b42, 0x00001b42, 0x00001b6b, 0x00001b73, 0x00001b80, 0x00001b81, 0x00001ba2, 0x00001ba5, - 0x00001ba8, 0x00001ba9, 0x00001be6, 0x00001be6, - 0x00001be8, 0x00001be9, 0x00001bed, 0x00001bed, - 0x00001bef, 0x00001bf1, 0x00001c2c, 0x00001c33, - 0x00001c36, 0x00001c37, 0x00001cd0, 0x00001cd2, - 0x00001cd4, 0x00001ce0, 0x00001ce2, 0x00001ce8, - 0x00001ced, 0x00001ced, 0x00001dc0, 0x00001de6, - 0x00001dfc, 0x00001dff, 0x00001fbd, 0x00001fbd, - 0x00001fbf, 0x00001fc1, 0x00001fcd, 0x00001fcf, - 0x00001fdd, 0x00001fdf, 0x00001fed, 0x00001fef, - 0x00001ffd, 0x00001ffe, 0x0000200b, 0x0000200d, - 0x00002010, 0x00002027, 0x0000202a, 0x0000202e, - 0x00002035, 0x00002043, 0x00002045, 0x0000205e, - 0x00002060, 0x00002064, 0x0000206a, 0x0000206f, - 0x0000207c, 0x0000207e, 0x0000208c, 0x0000208e, - 0x000020d0, 0x000020f0, 0x00002100, 0x00002101, - 0x00002103, 0x00002106, 0x00002108, 0x00002109, - 0x00002114, 0x00002114, 0x00002116, 0x00002118, - 0x0000211e, 0x00002123, 0x00002125, 0x00002125, - 0x00002127, 0x00002127, 0x00002129, 0x00002129, - 0x0000213a, 0x0000213b, 0x00002140, 0x00002144, - 0x0000214a, 0x0000214d, 0x00002150, 0x0000215f, - 0x00002189, 0x00002189, 0x00002190, 0x00002211, - 0x00002214, 0x00002335, 0x0000237b, 0x00002394, - 0x00002396, 0x000023f3, 0x00002400, 0x00002426, - 0x00002440, 0x0000244a, 0x00002460, 0x00002487, - 0x000024ea, 0x000026ab, 0x000026ad, 0x000026ff, - 0x00002701, 0x000027ca, 0x000027cc, 0x000027cc, - 0x000027ce, 0x000027ff, 0x00002900, 0x00002b4c, - 0x00002b50, 0x00002b59, 0x00002ce5, 0x00002cea, + 0x00001ba8, 0x00001ba9, 0x00001bab, 0x00001bad, + 0x00001be6, 0x00001be6, 0x00001be8, 0x00001be9, + 0x00001bed, 0x00001bed, 0x00001bef, 0x00001bf1, + 0x00001c2c, 0x00001c33, 0x00001c36, 0x00001c37, + 0x00001cd0, 0x00001cd2, 0x00001cd4, 0x00001ce0, + 0x00001ce2, 0x00001ce8, 0x00001ced, 0x00001ced, + 0x00001cf4, 0x00001cf4, 0x00001cf8, 0x00001cf9, + 0x00001dc0, 0x00001df5, 0x00001dfc, 0x00001dff, + 0x00001fbd, 0x00001fbd, 0x00001fbf, 0x00001fc1, + 0x00001fcd, 0x00001fcf, 0x00001fdd, 0x00001fdf, + 0x00001fed, 0x00001fef, 0x00001ffd, 0x00001ffe, + 0x0000200b, 0x0000200d, 0x00002010, 0x00002027, + 0x0000202a, 0x0000202e, 0x00002035, 0x00002043, + 0x00002045, 0x0000205e, 0x00002060, 0x00002064, + 0x0000206a, 0x0000206f, 0x0000207c, 0x0000207e, + 0x0000208c, 0x0000208e, 0x000020d0, 0x000020f0, + 0x00002100, 0x00002101, 0x00002103, 0x00002106, + 0x00002108, 0x00002109, 0x00002114, 0x00002114, + 0x00002116, 0x00002118, 0x0000211e, 0x00002123, + 0x00002125, 0x00002125, 0x00002127, 0x00002127, + 0x00002129, 0x00002129, 0x0000213a, 0x0000213b, + 0x00002140, 0x00002144, 0x0000214a, 0x0000214d, + 0x00002150, 0x0000215f, 0x00002189, 0x0000218b, + 0x00002190, 0x00002211, 0x00002214, 0x00002335, + 0x0000237b, 0x00002394, 0x00002396, 0x000023fa, + 0x00002400, 0x00002426, 0x00002440, 0x0000244a, + 0x00002460, 0x00002487, 0x000024ea, 0x000026ab, + 0x000026ad, 0x000027ff, 0x00002900, 0x00002b73, + 0x00002b76, 0x00002b95, 0x00002b98, 0x00002bb9, + 0x00002bbd, 0x00002bc8, 0x00002bca, 0x00002bd1, + 0x00002bec, 0x00002bef, 0x00002ce5, 0x00002cea, 0x00002cef, 0x00002cf1, 0x00002cf9, 0x00002cff, - 0x00002d7f, 0x00002d7f, 0x00002de0, 0x00002e31, + 0x00002d7f, 0x00002d7f, 0x00002de0, 0x00002e42, 0x00002e80, 0x00002e99, 0x00002e9b, 0x00002ef3, 0x00002f00, 0x00002fd5, 0x00002ff0, 0x00002ffb, 0x00003001, 0x00003004, 0x00003008, 0x00003020, - 0x0000302a, 0x00003030, 0x00003036, 0x00003037, - 0x0000303d, 0x0000303f, 0x00003099, 0x0000309c, - 0x000030a0, 0x000030a0, 0x000030fb, 0x000030fb, - 0x000031c0, 0x000031e3, 0x0000321d, 0x0000321e, - 0x00003250, 0x0000325f, 0x0000327c, 0x0000327e, - 0x000032b1, 0x000032bf, 0x000032cc, 0x000032cf, - 0x00003377, 0x0000337a, 0x000033de, 0x000033df, - 0x000033ff, 0x000033ff, 0x00004dc0, 0x00004dff, - 0x0000a490, 0x0000a4c6, 0x0000a60d, 0x0000a60f, - 0x0000a66f, 0x0000a673, 0x0000a67c, 0x0000a67f, - 0x0000a6f0, 0x0000a6f1, 0x0000a700, 0x0000a721, - 0x0000a788, 0x0000a788, 0x0000a802, 0x0000a802, - 0x0000a806, 0x0000a806, 0x0000a80b, 0x0000a80b, - 0x0000a825, 0x0000a826, 0x0000a828, 0x0000a82b, - 0x0000a874, 0x0000a877, 0x0000a8c4, 0x0000a8c4, - 0x0000a8e0, 0x0000a8f1, 0x0000a926, 0x0000a92d, - 0x0000a947, 0x0000a951, 0x0000a980, 0x0000a982, - 0x0000a9b3, 0x0000a9b3, 0x0000a9b6, 0x0000a9b9, - 0x0000a9bc, 0x0000a9bc, 0x0000aa29, 0x0000aa2e, + 0x0000302a, 0x0000302d, 0x00003030, 0x00003030, + 0x00003036, 0x00003037, 0x0000303d, 0x0000303f, + 0x00003099, 0x0000309c, 0x000030a0, 0x000030a0, + 0x000030fb, 0x000030fb, 0x000031c0, 0x000031e3, + 0x0000321d, 0x0000321e, 0x00003250, 0x0000325f, + 0x0000327c, 0x0000327e, 0x000032b1, 0x000032bf, + 0x000032cc, 0x000032cf, 0x00003377, 0x0000337a, + 0x000033de, 0x000033df, 0x000033ff, 0x000033ff, + 0x00004dc0, 0x00004dff, 0x0000a490, 0x0000a4c6, + 0x0000a60d, 0x0000a60f, 0x0000a66f, 0x0000a67f, + 0x0000a69e, 0x0000a69f, 0x0000a6f0, 0x0000a6f1, + 0x0000a700, 0x0000a721, 0x0000a788, 0x0000a788, + 0x0000a802, 0x0000a802, 0x0000a806, 0x0000a806, + 0x0000a80b, 0x0000a80b, 0x0000a825, 0x0000a826, + 0x0000a828, 0x0000a82b, 0x0000a874, 0x0000a877, + 0x0000a8c4, 0x0000a8c4, 0x0000a8e0, 0x0000a8f1, + 0x0000a926, 0x0000a92d, 0x0000a947, 0x0000a951, + 0x0000a980, 0x0000a982, 0x0000a9b3, 0x0000a9b3, + 0x0000a9b6, 0x0000a9b9, 0x0000a9bc, 0x0000a9bc, + 0x0000a9e5, 0x0000a9e5, 0x0000aa29, 0x0000aa2e, 0x0000aa31, 0x0000aa32, 0x0000aa35, 0x0000aa36, 0x0000aa43, 0x0000aa43, 0x0000aa4c, 0x0000aa4c, - 0x0000aab0, 0x0000aab0, 0x0000aab2, 0x0000aab4, - 0x0000aab7, 0x0000aab8, 0x0000aabe, 0x0000aabf, - 0x0000aac1, 0x0000aac1, 0x0000abe5, 0x0000abe5, - 0x0000abe8, 0x0000abe8, 0x0000abed, 0x0000abed, - 0x0000fb1e, 0x0000fb1e, 0x0000fd3e, 0x0000fd3f, - 0x0000fdfd, 0x0000fdfd, 0x0000fe00, 0x0000fe19, - 0x0000fe20, 0x0000fe26, 0x0000fe30, 0x0000fe4f, + 0x0000aa7c, 0x0000aa7c, 0x0000aab0, 0x0000aab0, + 0x0000aab2, 0x0000aab4, 0x0000aab7, 0x0000aab8, + 0x0000aabe, 0x0000aabf, 0x0000aac1, 0x0000aac1, + 0x0000aaec, 0x0000aaed, 0x0000aaf6, 0x0000aaf6, + 0x0000abe5, 0x0000abe5, 0x0000abe8, 0x0000abe8, + 0x0000abed, 0x0000abed, 0x0000fb1e, 0x0000fb1e, + 0x0000fd3e, 0x0000fd3f, 0x0000fdfd, 0x0000fdfd, + 0x0000fe00, 0x0000fe19, 0x0000fe20, 0x0000fe4f, 0x0000fe51, 0x0000fe51, 0x0000fe54, 0x0000fe54, 0x0000fe56, 0x0000fe5e, 0x0000fe60, 0x0000fe61, 0x0000fe64, 0x0000fe66, 0x0000fe68, 0x0000fe68, @@ -1759,166 +1947,187 @@ static const unsigned int _ucprop_ranges[] = { 0x0000ff1b, 0x0000ff20, 0x0000ff3b, 0x0000ff40, 0x0000ff5b, 0x0000ff65, 0x0000ffe2, 0x0000ffe4, 0x0000ffe8, 0x0000ffee, 0x0000fff9, 0x0000fffd, - 0x00010101, 0x00010101, 0x00010140, 0x0001018a, - 0x00010190, 0x0001019b, 0x000101fd, 0x000101fd, - 0x0001091f, 0x0001091f, 0x00010a01, 0x00010a03, - 0x00010a05, 0x00010a06, 0x00010a0c, 0x00010a0f, - 0x00010a38, 0x00010a3a, 0x00010a3f, 0x00010a3f, + 0x00010101, 0x00010101, 0x00010140, 0x0001018c, + 0x00010190, 0x0001019b, 0x000101a0, 0x000101a0, + 0x000101fd, 0x000101fd, 0x000102e0, 0x000102e0, + 0x00010376, 0x0001037a, 0x0001091f, 0x0001091f, + 0x00010a01, 0x00010a03, 0x00010a05, 0x00010a06, + 0x00010a0c, 0x00010a0f, 0x00010a38, 0x00010a3a, + 0x00010a3f, 0x00010a3f, 0x00010ae5, 0x00010ae6, 0x00010b39, 0x00010b3f, 0x00011001, 0x00011001, 0x00011038, 0x00011046, 0x00011052, 0x00011065, - 0x00011080, 0x00011081, 0x000110b3, 0x000110b6, - 0x000110b9, 0x000110ba, 0x0001d167, 0x0001d169, + 0x0001107f, 0x00011081, 0x000110b3, 0x000110b6, + 0x000110b9, 0x000110ba, 0x00011100, 0x00011102, + 0x00011127, 0x0001112b, 0x0001112d, 0x00011134, + 0x00011173, 0x00011173, 0x00011180, 0x00011181, + 0x000111b6, 0x000111be, 0x000111ca, 0x000111cc, + 0x0001122f, 0x00011231, 0x00011234, 0x00011234, + 0x00011236, 0x00011237, 0x000112df, 0x000112df, + 0x000112e3, 0x000112ea, 0x00011300, 0x00011301, + 0x0001133c, 0x0001133c, 0x00011340, 0x00011340, + 0x00011366, 0x0001136c, 0x00011370, 0x00011374, + 0x000114b3, 0x000114b8, 0x000114ba, 0x000114ba, + 0x000114bf, 0x000114c0, 0x000114c2, 0x000114c3, + 0x000115b2, 0x000115b5, 0x000115bc, 0x000115bd, + 0x000115bf, 0x000115c0, 0x000115dc, 0x000115dd, + 0x00011633, 0x0001163a, 0x0001163d, 0x0001163d, + 0x0001163f, 0x00011640, 0x000116ab, 0x000116ab, + 0x000116ad, 0x000116ad, 0x000116b0, 0x000116b5, + 0x000116b7, 0x000116b7, 0x0001171d, 0x0001171f, + 0x00011722, 0x00011725, 0x00011727, 0x0001172b, + 0x00016af0, 0x00016af4, 0x00016b30, 0x00016b36, + 0x00016f8f, 0x00016f92, 0x0001bc9d, 0x0001bc9e, + 0x0001bca0, 0x0001bca3, 0x0001d167, 0x0001d169, 0x0001d173, 0x0001d182, 0x0001d185, 0x0001d18b, 0x0001d1aa, 0x0001d1ad, 0x0001d200, 0x0001d245, 0x0001d300, 0x0001d356, 0x0001d6db, 0x0001d6db, 0x0001d715, 0x0001d715, 0x0001d74f, 0x0001d74f, 0x0001d789, 0x0001d789, 0x0001d7c3, 0x0001d7c3, + 0x0001da00, 0x0001da36, 0x0001da3b, 0x0001da6c, + 0x0001da75, 0x0001da75, 0x0001da84, 0x0001da84, + 0x0001da9b, 0x0001da9f, 0x0001daa1, 0x0001daaf, + 0x0001e8d0, 0x0001e8d6, 0x0001eef0, 0x0001eef1, 0x0001f000, 0x0001f02b, 0x0001f030, 0x0001f093, - 0x0001f0a0, 0x0001f0ae, 0x0001f0b1, 0x0001f0be, - 0x0001f0c1, 0x0001f0cf, 0x0001f0d1, 0x0001f0df, - 0x0001f300, 0x0001f320, 0x0001f330, 0x0001f335, - 0x0001f337, 0x0001f37c, 0x0001f380, 0x0001f393, - 0x0001f3a0, 0x0001f3c4, 0x0001f3c6, 0x0001f3ca, - 0x0001f3e0, 0x0001f3f0, 0x0001f400, 0x0001f43e, - 0x0001f440, 0x0001f440, 0x0001f442, 0x0001f48b, - 0x0001f48d, 0x0001f4f7, 0x0001f4f9, 0x0001f4fc, - 0x0001f500, 0x0001f523, 0x0001f525, 0x0001f53d, - 0x0001f550, 0x0001f567, 0x0001f5fb, 0x0001f5ff, - 0x0001f601, 0x0001f610, 0x0001f612, 0x0001f614, - 0x0001f616, 0x0001f616, 0x0001f618, 0x0001f618, - 0x0001f61a, 0x0001f61a, 0x0001f61c, 0x0001f61e, - 0x0001f620, 0x0001f625, 0x0001f628, 0x0001f62b, - 0x0001f62d, 0x0001f62d, 0x0001f630, 0x0001f633, - 0x0001f635, 0x0001f640, 0x0001f645, 0x0001f64f, - 0x0001f680, 0x0001f6c5, 0x0001f700, 0x0001f773, - 0x000e0001, 0x000e0001, 0x000e0020, 0x000e007f, - 0x000e0100, 0x000e01ef, 0x000000c0, 0x000000c5, - 0x000000c7, 0x000000cf, 0x000000d1, 0x000000d6, - 0x000000d9, 0x000000dd, 0x000000e0, 0x000000e5, - 0x000000e7, 0x000000ef, 0x000000f1, 0x000000f6, - 0x000000f9, 0x000000fd, 0x000000ff, 0x0000010f, - 0x00000112, 0x00000125, 0x00000128, 0x00000130, - 0x00000134, 0x00000137, 0x00000139, 0x0000013e, - 0x00000143, 0x00000148, 0x0000014c, 0x00000151, - 0x00000154, 0x00000165, 0x00000168, 0x0000017e, - 0x000001a0, 0x000001a1, 0x000001af, 0x000001b0, - 0x000001cd, 0x000001dc, 0x000001de, 0x000001e3, - 0x000001e6, 0x000001f0, 0x000001f4, 0x000001f5, - 0x000001f8, 0x0000021b, 0x0000021e, 0x0000021f, - 0x00000226, 0x00000233, 0x00000340, 0x00000341, - 0x00000343, 0x00000344, 0x00000374, 0x00000374, - 0x0000037e, 0x0000037e, 0x00000385, 0x0000038a, - 0x0000038c, 0x0000038c, 0x0000038e, 0x00000390, - 0x000003aa, 0x000003b0, 0x000003ca, 0x000003ce, - 0x000003d3, 0x000003d4, 0x00000400, 0x00000401, - 0x00000403, 0x00000403, 0x00000407, 0x00000407, - 0x0000040c, 0x0000040e, 0x00000419, 0x00000419, - 0x00000439, 0x00000439, 0x00000450, 0x00000451, - 0x00000453, 0x00000453, 0x00000457, 0x00000457, - 0x0000045c, 0x0000045e, 0x00000476, 0x00000477, - 0x000004c1, 0x000004c2, 0x000004d0, 0x000004d3, - 0x000004d6, 0x000004d7, 0x000004da, 0x000004df, - 0x000004e2, 0x000004e7, 0x000004ea, 0x000004f5, - 0x000004f8, 0x000004f9, 0x00000622, 0x00000626, - 0x000006c0, 0x000006c0, 0x000006c2, 0x000006c2, - 0x000006d3, 0x000006d3, 0x00000929, 0x00000929, - 0x00000931, 0x00000931, 0x00000934, 0x00000934, - 0x00000958, 0x0000095f, 0x000009cb, 0x000009cc, - 0x000009dc, 0x000009dd, 0x000009df, 0x000009df, - 0x00000a33, 0x00000a33, 0x00000a36, 0x00000a36, - 0x00000a59, 0x00000a5b, 0x00000a5e, 0x00000a5e, - 0x00000b48, 0x00000b48, 0x00000b4b, 0x00000b4c, - 0x00000b5c, 0x00000b5d, 0x00000b94, 0x00000b94, - 0x00000bca, 0x00000bcc, 0x00000c48, 0x00000c48, - 0x00000cc0, 0x00000cc0, 0x00000cc7, 0x00000cc8, - 0x00000cca, 0x00000ccb, 0x00000d4a, 0x00000d4c, - 0x00000dda, 0x00000dda, 0x00000ddc, 0x00000dde, - 0x00000f43, 0x00000f43, 0x00000f4d, 0x00000f4d, - 0x00000f52, 0x00000f52, 0x00000f57, 0x00000f57, - 0x00000f5c, 0x00000f5c, 0x00000f69, 0x00000f69, - 0x00000f73, 0x00000f73, 0x00000f75, 0x00000f76, - 0x00000f78, 0x00000f78, 0x00000f81, 0x00000f81, - 0x00000f93, 0x00000f93, 0x00000f9d, 0x00000f9d, - 0x00000fa2, 0x00000fa2, 0x00000fa7, 0x00000fa7, - 0x00000fac, 0x00000fac, 0x00000fb9, 0x00000fb9, - 0x00001026, 0x00001026, 0x00001b06, 0x00001b06, - 0x00001b08, 0x00001b08, 0x00001b0a, 0x00001b0a, - 0x00001b0c, 0x00001b0c, 0x00001b0e, 0x00001b0e, - 0x00001b12, 0x00001b12, 0x00001b3b, 0x00001b3b, - 0x00001b3d, 0x00001b3d, 0x00001b40, 0x00001b41, - 0x00001b43, 0x00001b43, 0x00001e00, 0x00001e99, - 0x00001e9b, 0x00001e9b, 0x00001ea0, 0x00001ef9, - 0x00001f00, 0x00001f15, 0x00001f18, 0x00001f1d, - 0x00001f20, 0x00001f45, 0x00001f48, 0x00001f4d, - 0x00001f50, 0x00001f57, 0x00001f59, 0x00001f59, - 0x00001f5b, 0x00001f5b, 0x00001f5d, 0x00001f5d, - 0x00001f5f, 0x00001f7d, 0x00001f80, 0x00001fb4, - 0x00001fb6, 0x00001fbc, 0x00001fbe, 0x00001fbe, - 0x00001fc1, 0x00001fc4, 0x00001fc6, 0x00001fd3, - 0x00001fd6, 0x00001fdb, 0x00001fdd, 0x00001fef, - 0x00001ff2, 0x00001ff4, 0x00001ff6, 0x00001ffd, - 0x00002000, 0x00002001, 0x00002126, 0x00002126, - 0x0000212a, 0x0000212b, 0x0000219a, 0x0000219b, - 0x000021ae, 0x000021ae, 0x000021cd, 0x000021cf, - 0x00002204, 0x00002204, 0x00002209, 0x00002209, - 0x0000220c, 0x0000220c, 0x00002224, 0x00002224, - 0x00002226, 0x00002226, 0x00002241, 0x00002241, - 0x00002244, 0x00002244, 0x00002247, 0x00002247, - 0x00002249, 0x00002249, 0x00002260, 0x00002260, - 0x00002262, 0x00002262, 0x0000226d, 0x00002271, - 0x00002274, 0x00002275, 0x00002278, 0x00002279, - 0x00002280, 0x00002281, 0x00002284, 0x00002285, - 0x00002288, 0x00002289, 0x000022ac, 0x000022af, - 0x000022e0, 0x000022e3, 0x000022ea, 0x000022ed, - 0x00002329, 0x0000232a, 0x00002adc, 0x00002adc, - 0x0000304c, 0x0000304c, 0x0000304e, 0x0000304e, - 0x00003050, 0x00003050, 0x00003052, 0x00003052, - 0x00003054, 0x00003054, 0x00003056, 0x00003056, - 0x00003058, 0x00003058, 0x0000305a, 0x0000305a, - 0x0000305c, 0x0000305c, 0x0000305e, 0x0000305e, - 0x00003060, 0x00003060, 0x00003062, 0x00003062, - 0x00003065, 0x00003065, 0x00003067, 0x00003067, - 0x00003069, 0x00003069, 0x00003070, 0x00003071, - 0x00003073, 0x00003074, 0x00003076, 0x00003077, - 0x00003079, 0x0000307a, 0x0000307c, 0x0000307d, - 0x00003094, 0x00003094, 0x0000309e, 0x0000309e, - 0x000030ac, 0x000030ac, 0x000030ae, 0x000030ae, - 0x000030b0, 0x000030b0, 0x000030b2, 0x000030b2, - 0x000030b4, 0x000030b4, 0x000030b6, 0x000030b6, - 0x000030b8, 0x000030b8, 0x000030ba, 0x000030ba, - 0x000030bc, 0x000030bc, 0x000030be, 0x000030be, - 0x000030c0, 0x000030c0, 0x000030c2, 0x000030c2, - 0x000030c5, 0x000030c5, 0x000030c7, 0x000030c7, - 0x000030c9, 0x000030c9, 0x000030d0, 0x000030d1, - 0x000030d3, 0x000030d4, 0x000030d6, 0x000030d7, - 0x000030d9, 0x000030da, 0x000030dc, 0x000030dd, - 0x000030f4, 0x000030f4, 0x000030f7, 0x000030fa, - 0x000030fe, 0x000030fe, 0x0000f902, 0x0000fa0d, - 0x0000fa10, 0x0000fa10, 0x0000fa12, 0x0000fa12, - 0x0000fa15, 0x0000fa1e, 0x0000fa20, 0x0000fa20, - 0x0000fa22, 0x0000fa22, 0x0000fa25, 0x0000fa26, - 0x0000fa2a, 0x0000fa2d, 0x0000fa30, 0x0000fa6d, + 0x0001f0a0, 0x0001f0ae, 0x0001f0b1, 0x0001f0bf, + 0x0001f0c1, 0x0001f0cf, 0x0001f0d1, 0x0001f0f5, + 0x0001f10b, 0x0001f10c, 0x0001f16a, 0x0001f16b, + 0x0001f300, 0x0001f579, 0x0001f57b, 0x0001f5a3, + 0x0001f5a5, 0x0001f6d0, 0x0001f6e0, 0x0001f6ec, + 0x0001f6f0, 0x0001f6f3, 0x0001f700, 0x0001f773, + 0x0001f780, 0x0001f7d4, 0x0001f800, 0x0001f80b, + 0x0001f810, 0x0001f847, 0x0001f850, 0x0001f859, + 0x0001f860, 0x0001f887, 0x0001f890, 0x0001f8ad, + 0x0001f910, 0x0001f918, 0x0001f980, 0x0001f984, + 0x0001f9c0, 0x0001f9c0, 0x000e0001, 0x000e0001, + 0x000e0020, 0x000e007f, 0x000e0100, 0x000e01ef, + 0x000000c0, 0x000000c5, 0x000000c7, 0x000000cf, + 0x000000d1, 0x000000d6, 0x000000d9, 0x000000dd, + 0x000000e0, 0x000000e5, 0x000000e7, 0x000000ef, + 0x000000f1, 0x000000f6, 0x000000f9, 0x000000fd, + 0x000000ff, 0x0000010f, 0x00000112, 0x00000125, + 0x00000128, 0x00000130, 0x00000134, 0x00000137, + 0x00000139, 0x0000013e, 0x00000143, 0x00000148, + 0x0000014c, 0x00000151, 0x00000154, 0x00000165, + 0x00000168, 0x0000017e, 0x000001a0, 0x000001a1, + 0x000001af, 0x000001b0, 0x000001cd, 0x000001dc, + 0x000001de, 0x000001e3, 0x000001e6, 0x000001f0, + 0x000001f4, 0x000001f5, 0x000001f8, 0x0000021b, + 0x0000021e, 0x0000021f, 0x00000226, 0x00000233, + 0x00000340, 0x00000341, 0x00000343, 0x00000344, + 0x00000374, 0x00000374, 0x0000037e, 0x0000037e, + 0x00000385, 0x0000038a, 0x0000038c, 0x0000038c, + 0x0000038e, 0x00000390, 0x000003aa, 0x000003b0, + 0x000003ca, 0x000003ce, 0x000003d3, 0x000003d4, + 0x00000400, 0x00000401, 0x00000403, 0x00000403, + 0x00000407, 0x00000407, 0x0000040c, 0x0000040e, + 0x00000419, 0x00000419, 0x00000439, 0x00000439, + 0x00000450, 0x00000451, 0x00000453, 0x00000453, + 0x00000457, 0x00000457, 0x0000045c, 0x0000045e, + 0x00000476, 0x00000477, 0x000004c1, 0x000004c2, + 0x000004d0, 0x000004d3, 0x000004d6, 0x000004d7, + 0x000004da, 0x000004df, 0x000004e2, 0x000004e7, + 0x000004ea, 0x000004f5, 0x000004f8, 0x000004f9, + 0x00000622, 0x00000626, 0x000006c0, 0x000006c0, + 0x000006c2, 0x000006c2, 0x000006d3, 0x000006d3, + 0x00000929, 0x00000929, 0x00000931, 0x00000931, + 0x00000934, 0x00000934, 0x00000958, 0x0000095f, + 0x000009cb, 0x000009cc, 0x000009dc, 0x000009dd, + 0x000009df, 0x000009df, 0x00000a33, 0x00000a33, + 0x00000a36, 0x00000a36, 0x00000a59, 0x00000a5b, + 0x00000a5e, 0x00000a5e, 0x00000b48, 0x00000b48, + 0x00000b4b, 0x00000b4c, 0x00000b5c, 0x00000b5d, + 0x00000b94, 0x00000b94, 0x00000bca, 0x00000bcc, + 0x00000c48, 0x00000c48, 0x00000cc0, 0x00000cc0, + 0x00000cc7, 0x00000cc8, 0x00000cca, 0x00000ccb, + 0x00000d4a, 0x00000d4c, 0x00000dda, 0x00000dda, + 0x00000ddc, 0x00000dde, 0x00000f43, 0x00000f43, + 0x00000f4d, 0x00000f4d, 0x00000f52, 0x00000f52, + 0x00000f57, 0x00000f57, 0x00000f5c, 0x00000f5c, + 0x00000f69, 0x00000f69, 0x00000f73, 0x00000f73, + 0x00000f75, 0x00000f76, 0x00000f78, 0x00000f78, + 0x00000f81, 0x00000f81, 0x00000f93, 0x00000f93, + 0x00000f9d, 0x00000f9d, 0x00000fa2, 0x00000fa2, + 0x00000fa7, 0x00000fa7, 0x00000fac, 0x00000fac, + 0x00000fb9, 0x00000fb9, 0x00001026, 0x00001026, + 0x00001b06, 0x00001b06, 0x00001b08, 0x00001b08, + 0x00001b0a, 0x00001b0a, 0x00001b0c, 0x00001b0c, + 0x00001b0e, 0x00001b0e, 0x00001b12, 0x00001b12, + 0x00001b3b, 0x00001b3b, 0x00001b3d, 0x00001b3d, + 0x00001b40, 0x00001b41, 0x00001b43, 0x00001b43, + 0x00001e00, 0x00001e99, 0x00001e9b, 0x00001e9b, + 0x00001ea0, 0x00001ef9, 0x00001f00, 0x00001f15, + 0x00001f18, 0x00001f1d, 0x00001f20, 0x00001f45, + 0x00001f48, 0x00001f4d, 0x00001f50, 0x00001f57, + 0x00001f59, 0x00001f59, 0x00001f5b, 0x00001f5b, + 0x00001f5d, 0x00001f5d, 0x00001f5f, 0x00001f7d, + 0x00001f80, 0x00001fb4, 0x00001fb6, 0x00001fbc, + 0x00001fbe, 0x00001fbe, 0x00001fc1, 0x00001fc4, + 0x00001fc6, 0x00001fd3, 0x00001fd6, 0x00001fdb, + 0x00001fdd, 0x00001fef, 0x00001ff2, 0x00001ff4, + 0x00001ff6, 0x00001ffd, 0x00002000, 0x00002001, + 0x00002126, 0x00002126, 0x0000212a, 0x0000212b, + 0x0000219a, 0x0000219b, 0x000021ae, 0x000021ae, + 0x000021cd, 0x000021cf, 0x00002204, 0x00002204, + 0x00002209, 0x00002209, 0x0000220c, 0x0000220c, + 0x00002224, 0x00002224, 0x00002226, 0x00002226, + 0x00002241, 0x00002241, 0x00002244, 0x00002244, + 0x00002247, 0x00002247, 0x00002249, 0x00002249, + 0x00002260, 0x00002260, 0x00002262, 0x00002262, + 0x0000226d, 0x00002271, 0x00002274, 0x00002275, + 0x00002278, 0x00002279, 0x00002280, 0x00002281, + 0x00002284, 0x00002285, 0x00002288, 0x00002289, + 0x000022ac, 0x000022af, 0x000022e0, 0x000022e3, + 0x000022ea, 0x000022ed, 0x00002329, 0x0000232a, + 0x00002adc, 0x00002adc, 0x0000304c, 0x0000304c, + 0x0000304e, 0x0000304e, 0x00003050, 0x00003050, + 0x00003052, 0x00003052, 0x00003054, 0x00003054, + 0x00003056, 0x00003056, 0x00003058, 0x00003058, + 0x0000305a, 0x0000305a, 0x0000305c, 0x0000305c, + 0x0000305e, 0x0000305e, 0x00003060, 0x00003060, + 0x00003062, 0x00003062, 0x00003065, 0x00003065, + 0x00003067, 0x00003067, 0x00003069, 0x00003069, + 0x00003070, 0x00003071, 0x00003073, 0x00003074, + 0x00003076, 0x00003077, 0x00003079, 0x0000307a, + 0x0000307c, 0x0000307d, 0x00003094, 0x00003094, + 0x0000309e, 0x0000309e, 0x000030ac, 0x000030ac, + 0x000030ae, 0x000030ae, 0x000030b0, 0x000030b0, + 0x000030b2, 0x000030b2, 0x000030b4, 0x000030b4, + 0x000030b6, 0x000030b6, 0x000030b8, 0x000030b8, + 0x000030ba, 0x000030ba, 0x000030bc, 0x000030bc, + 0x000030be, 0x000030be, 0x000030c0, 0x000030c0, + 0x000030c2, 0x000030c2, 0x000030c5, 0x000030c5, + 0x000030c7, 0x000030c7, 0x000030c9, 0x000030c9, + 0x000030d0, 0x000030d1, 0x000030d3, 0x000030d4, + 0x000030d6, 0x000030d7, 0x000030d9, 0x000030da, + 0x000030dc, 0x000030dd, 0x000030f4, 0x000030f4, + 0x000030f7, 0x000030fa, 0x000030fe, 0x000030fe, + 0x0000f902, 0x0000fa0d, 0x0000fa10, 0x0000fa10, + 0x0000fa12, 0x0000fa12, 0x0000fa15, 0x0000fa1e, + 0x0000fa20, 0x0000fa20, 0x0000fa22, 0x0000fa22, + 0x0000fa25, 0x0000fa26, 0x0000fa2a, 0x0000fa6d, 0x0000fa70, 0x0000fad9, 0x0000fb1d, 0x0000fb1d, 0x0000fb1f, 0x0000fb1f, 0x0000fb2a, 0x0000fb36, 0x0000fb38, 0x0000fb3c, 0x0000fb3e, 0x0000fb3e, 0x0000fb40, 0x0000fb41, 0x0000fb43, 0x0000fb44, 0x0000fb46, 0x0000fb4e, 0x0001109a, 0x0001109a, 0x0001109c, 0x0001109c, 0x000110ab, 0x000110ab, - 0x0001d15e, 0x0001d164, 0x0001d1bb, 0x0001d1c0, - 0x0002f800, 0x0002fa1d, 0x00000000, 0x00000377, - 0x0000037a, 0x0000037e, 0x00000384, 0x0000038a, - 0x0000038c, 0x0000038c, 0x0000038e, 0x000003a1, - 0x000003a3, 0x00000527, 0x00000531, 0x00000556, - 0x00000559, 0x0000055f, 0x00000561, 0x00000587, - 0x00000589, 0x0000058a, 0x00000591, 0x000005c7, + 0x0001112e, 0x0001112f, 0x0001134b, 0x0001134c, + 0x000114bb, 0x000114bc, 0x000114be, 0x000114be, + 0x000115ba, 0x000115bb, 0x0001d15e, 0x0001d164, + 0x0001d1bb, 0x0001d1c0, 0x0002f800, 0x0002fa1d, + 0x00000000, 0x00000377, 0x0000037a, 0x0000037f, + 0x00000384, 0x0000038a, 0x0000038c, 0x0000038c, + 0x0000038e, 0x000003a1, 0x000003a3, 0x0000052f, + 0x00000531, 0x00000556, 0x00000559, 0x0000055f, + 0x00000561, 0x00000587, 0x00000589, 0x0000058a, + 0x0000058d, 0x0000058f, 0x00000591, 0x000005c7, 0x000005d0, 0x000005ea, 0x000005f0, 0x000005f4, - 0x00000600, 0x00000603, 0x00000606, 0x0000061b, - 0x0000061e, 0x0000070d, 0x0000070f, 0x0000074a, - 0x0000074d, 0x000007b1, 0x000007c0, 0x000007fa, - 0x00000800, 0x0000082d, 0x00000830, 0x0000083e, - 0x00000840, 0x0000085b, 0x0000085e, 0x0000085e, - 0x00000900, 0x00000977, 0x00000979, 0x0000097f, - 0x00000981, 0x00000983, 0x00000985, 0x0000098c, + 0x00000600, 0x0000061c, 0x0000061e, 0x0000070d, + 0x0000070f, 0x0000074a, 0x0000074d, 0x000007b1, + 0x000007c0, 0x000007fa, 0x00000800, 0x0000082d, + 0x00000830, 0x0000083e, 0x00000840, 0x0000085b, + 0x0000085e, 0x0000085e, 0x000008a0, 0x000008b4, + 0x000008e3, 0x00000983, 0x00000985, 0x0000098c, 0x0000098f, 0x00000990, 0x00000993, 0x000009a8, 0x000009aa, 0x000009b0, 0x000009b2, 0x000009b2, 0x000009b6, 0x000009b9, 0x000009bc, 0x000009c4, @@ -1939,7 +2148,7 @@ static const unsigned int _ucprop_ranges[] = { 0x00000ab5, 0x00000ab9, 0x00000abc, 0x00000ac5, 0x00000ac7, 0x00000ac9, 0x00000acb, 0x00000acd, 0x00000ad0, 0x00000ad0, 0x00000ae0, 0x00000ae3, - 0x00000ae6, 0x00000aef, 0x00000af1, 0x00000af1, + 0x00000ae6, 0x00000af1, 0x00000af9, 0x00000af9, 0x00000b01, 0x00000b03, 0x00000b05, 0x00000b0c, 0x00000b0f, 0x00000b10, 0x00000b13, 0x00000b28, 0x00000b2a, 0x00000b30, 0x00000b32, 0x00000b33, @@ -1955,31 +2164,31 @@ static const unsigned int _ucprop_ranges[] = { 0x00000bbe, 0x00000bc2, 0x00000bc6, 0x00000bc8, 0x00000bca, 0x00000bcd, 0x00000bd0, 0x00000bd0, 0x00000bd7, 0x00000bd7, 0x00000be6, 0x00000bfa, - 0x00000c01, 0x00000c03, 0x00000c05, 0x00000c0c, + 0x00000c00, 0x00000c03, 0x00000c05, 0x00000c0c, 0x00000c0e, 0x00000c10, 0x00000c12, 0x00000c28, - 0x00000c2a, 0x00000c33, 0x00000c35, 0x00000c39, - 0x00000c3d, 0x00000c44, 0x00000c46, 0x00000c48, - 0x00000c4a, 0x00000c4d, 0x00000c55, 0x00000c56, - 0x00000c58, 0x00000c59, 0x00000c60, 0x00000c63, - 0x00000c66, 0x00000c6f, 0x00000c78, 0x00000c7f, - 0x00000c82, 0x00000c83, 0x00000c85, 0x00000c8c, - 0x00000c8e, 0x00000c90, 0x00000c92, 0x00000ca8, - 0x00000caa, 0x00000cb3, 0x00000cb5, 0x00000cb9, - 0x00000cbc, 0x00000cc4, 0x00000cc6, 0x00000cc8, - 0x00000cca, 0x00000ccd, 0x00000cd5, 0x00000cd6, - 0x00000cde, 0x00000cde, 0x00000ce0, 0x00000ce3, - 0x00000ce6, 0x00000cef, 0x00000cf1, 0x00000cf2, - 0x00000d02, 0x00000d03, 0x00000d05, 0x00000d0c, - 0x00000d0e, 0x00000d10, 0x00000d12, 0x00000d3a, - 0x00000d3d, 0x00000d44, 0x00000d46, 0x00000d48, - 0x00000d4a, 0x00000d4e, 0x00000d57, 0x00000d57, - 0x00000d60, 0x00000d63, 0x00000d66, 0x00000d75, - 0x00000d79, 0x00000d7f, 0x00000d82, 0x00000d83, - 0x00000d85, 0x00000d96, 0x00000d9a, 0x00000db1, - 0x00000db3, 0x00000dbb, 0x00000dbd, 0x00000dbd, - 0x00000dc0, 0x00000dc6, 0x00000dca, 0x00000dca, - 0x00000dcf, 0x00000dd4, 0x00000dd6, 0x00000dd6, - 0x00000dd8, 0x00000ddf, 0x00000df2, 0x00000df4, + 0x00000c2a, 0x00000c39, 0x00000c3d, 0x00000c44, + 0x00000c46, 0x00000c48, 0x00000c4a, 0x00000c4d, + 0x00000c55, 0x00000c56, 0x00000c58, 0x00000c5a, + 0x00000c60, 0x00000c63, 0x00000c66, 0x00000c6f, + 0x00000c78, 0x00000c7f, 0x00000c81, 0x00000c83, + 0x00000c85, 0x00000c8c, 0x00000c8e, 0x00000c90, + 0x00000c92, 0x00000ca8, 0x00000caa, 0x00000cb3, + 0x00000cb5, 0x00000cb9, 0x00000cbc, 0x00000cc4, + 0x00000cc6, 0x00000cc8, 0x00000cca, 0x00000ccd, + 0x00000cd5, 0x00000cd6, 0x00000cde, 0x00000cde, + 0x00000ce0, 0x00000ce3, 0x00000ce6, 0x00000cef, + 0x00000cf1, 0x00000cf2, 0x00000d01, 0x00000d03, + 0x00000d05, 0x00000d0c, 0x00000d0e, 0x00000d10, + 0x00000d12, 0x00000d3a, 0x00000d3d, 0x00000d44, + 0x00000d46, 0x00000d48, 0x00000d4a, 0x00000d4e, + 0x00000d57, 0x00000d57, 0x00000d5f, 0x00000d63, + 0x00000d66, 0x00000d75, 0x00000d79, 0x00000d7f, + 0x00000d82, 0x00000d83, 0x00000d85, 0x00000d96, + 0x00000d9a, 0x00000db1, 0x00000db3, 0x00000dbb, + 0x00000dbd, 0x00000dbd, 0x00000dc0, 0x00000dc6, + 0x00000dca, 0x00000dca, 0x00000dcf, 0x00000dd4, + 0x00000dd6, 0x00000dd6, 0x00000dd8, 0x00000ddf, + 0x00000de6, 0x00000def, 0x00000df2, 0x00000df4, 0x00000e01, 0x00000e3a, 0x00000e3f, 0x00000e5b, 0x00000e81, 0x00000e82, 0x00000e84, 0x00000e84, 0x00000e87, 0x00000e88, 0x00000e8a, 0x00000e8a, @@ -1989,22 +2198,23 @@ static const unsigned int _ucprop_ranges[] = { 0x00000eaa, 0x00000eab, 0x00000ead, 0x00000eb9, 0x00000ebb, 0x00000ebd, 0x00000ec0, 0x00000ec4, 0x00000ec6, 0x00000ec6, 0x00000ec8, 0x00000ecd, - 0x00000ed0, 0x00000ed9, 0x00000edc, 0x00000edd, + 0x00000ed0, 0x00000ed9, 0x00000edc, 0x00000edf, 0x00000f00, 0x00000f47, 0x00000f49, 0x00000f6c, 0x00000f71, 0x00000f97, 0x00000f99, 0x00000fbc, 0x00000fbe, 0x00000fcc, 0x00000fce, 0x00000fda, - 0x00001000, 0x000010c5, 0x000010d0, 0x000010fc, - 0x00001100, 0x00001248, 0x0000124a, 0x0000124d, - 0x00001250, 0x00001256, 0x00001258, 0x00001258, - 0x0000125a, 0x0000125d, 0x00001260, 0x00001288, - 0x0000128a, 0x0000128d, 0x00001290, 0x000012b0, - 0x000012b2, 0x000012b5, 0x000012b8, 0x000012be, - 0x000012c0, 0x000012c0, 0x000012c2, 0x000012c5, - 0x000012c8, 0x000012d6, 0x000012d8, 0x00001310, - 0x00001312, 0x00001315, 0x00001318, 0x0000135a, - 0x0000135d, 0x0000137c, 0x00001380, 0x00001399, - 0x000013a0, 0x000013f4, 0x00001400, 0x0000169c, - 0x000016a0, 0x000016f0, 0x00001700, 0x0000170c, + 0x00001000, 0x000010c5, 0x000010c7, 0x000010c7, + 0x000010cd, 0x000010cd, 0x000010d0, 0x00001248, + 0x0000124a, 0x0000124d, 0x00001250, 0x00001256, + 0x00001258, 0x00001258, 0x0000125a, 0x0000125d, + 0x00001260, 0x00001288, 0x0000128a, 0x0000128d, + 0x00001290, 0x000012b0, 0x000012b2, 0x000012b5, + 0x000012b8, 0x000012be, 0x000012c0, 0x000012c0, + 0x000012c2, 0x000012c5, 0x000012c8, 0x000012d6, + 0x000012d8, 0x00001310, 0x00001312, 0x00001315, + 0x00001318, 0x0000135a, 0x0000135d, 0x0000137c, + 0x00001380, 0x00001399, 0x000013a0, 0x000013f5, + 0x000013f8, 0x000013fd, 0x00001400, 0x0000169c, + 0x000016a0, 0x000016f8, 0x00001700, 0x0000170c, 0x0000170e, 0x00001714, 0x00001720, 0x00001736, 0x00001740, 0x00001753, 0x00001760, 0x0000176c, 0x0000176e, 0x00001770, 0x00001772, 0x00001773, @@ -2012,42 +2222,44 @@ static const unsigned int _ucprop_ranges[] = { 0x000017f0, 0x000017f9, 0x00001800, 0x0000180e, 0x00001810, 0x00001819, 0x00001820, 0x00001877, 0x00001880, 0x000018aa, 0x000018b0, 0x000018f5, - 0x00001900, 0x0000191c, 0x00001920, 0x0000192b, + 0x00001900, 0x0000191e, 0x00001920, 0x0000192b, 0x00001930, 0x0000193b, 0x00001940, 0x00001940, 0x00001944, 0x0000196d, 0x00001970, 0x00001974, 0x00001980, 0x000019ab, 0x000019b0, 0x000019c9, 0x000019d0, 0x000019da, 0x000019de, 0x00001a1b, 0x00001a1e, 0x00001a5e, 0x00001a60, 0x00001a7c, 0x00001a7f, 0x00001a89, 0x00001a90, 0x00001a99, - 0x00001aa0, 0x00001aad, 0x00001b00, 0x00001b4b, - 0x00001b50, 0x00001b7c, 0x00001b80, 0x00001baa, - 0x00001bae, 0x00001bb9, 0x00001bc0, 0x00001bf3, - 0x00001bfc, 0x00001c37, 0x00001c3b, 0x00001c49, - 0x00001c4d, 0x00001c7f, 0x00001cd0, 0x00001cf2, - 0x00001d00, 0x00001de6, 0x00001dfc, 0x00001f15, - 0x00001f18, 0x00001f1d, 0x00001f20, 0x00001f45, - 0x00001f48, 0x00001f4d, 0x00001f50, 0x00001f57, - 0x00001f59, 0x00001f59, 0x00001f5b, 0x00001f5b, - 0x00001f5d, 0x00001f5d, 0x00001f5f, 0x00001f7d, - 0x00001f80, 0x00001fb4, 0x00001fb6, 0x00001fc4, - 0x00001fc6, 0x00001fd3, 0x00001fd6, 0x00001fdb, - 0x00001fdd, 0x00001fef, 0x00001ff2, 0x00001ff4, - 0x00001ff6, 0x00001ffe, 0x00002000, 0x00002064, - 0x0000206a, 0x00002071, 0x00002074, 0x0000208e, - 0x00002090, 0x0000209c, 0x000020a0, 0x000020b9, - 0x000020d0, 0x000020f0, 0x00002100, 0x00002189, - 0x00002190, 0x000023f3, 0x00002400, 0x00002426, - 0x00002440, 0x0000244a, 0x00002460, 0x000026ff, - 0x00002701, 0x000027ca, 0x000027cc, 0x000027cc, - 0x000027ce, 0x00002b4c, 0x00002b50, 0x00002b59, + 0x00001aa0, 0x00001aad, 0x00001ab0, 0x00001abe, + 0x00001b00, 0x00001b4b, 0x00001b50, 0x00001b7c, + 0x00001b80, 0x00001bf3, 0x00001bfc, 0x00001c37, + 0x00001c3b, 0x00001c49, 0x00001c4d, 0x00001c7f, + 0x00001cc0, 0x00001cc7, 0x00001cd0, 0x00001cf6, + 0x00001cf8, 0x00001cf9, 0x00001d00, 0x00001df5, + 0x00001dfc, 0x00001f15, 0x00001f18, 0x00001f1d, + 0x00001f20, 0x00001f45, 0x00001f48, 0x00001f4d, + 0x00001f50, 0x00001f57, 0x00001f59, 0x00001f59, + 0x00001f5b, 0x00001f5b, 0x00001f5d, 0x00001f5d, + 0x00001f5f, 0x00001f7d, 0x00001f80, 0x00001fb4, + 0x00001fb6, 0x00001fc4, 0x00001fc6, 0x00001fd3, + 0x00001fd6, 0x00001fdb, 0x00001fdd, 0x00001fef, + 0x00001ff2, 0x00001ff4, 0x00001ff6, 0x00001ffe, + 0x00002000, 0x00002064, 0x00002066, 0x00002071, + 0x00002074, 0x0000208e, 0x00002090, 0x0000209c, + 0x000020a0, 0x000020be, 0x000020d0, 0x000020f0, + 0x00002100, 0x0000218b, 0x00002190, 0x000023fa, + 0x00002400, 0x00002426, 0x00002440, 0x0000244a, + 0x00002460, 0x00002b73, 0x00002b76, 0x00002b95, + 0x00002b98, 0x00002bb9, 0x00002bbd, 0x00002bc8, + 0x00002bca, 0x00002bd1, 0x00002bec, 0x00002bef, 0x00002c00, 0x00002c2e, 0x00002c30, 0x00002c5e, - 0x00002c60, 0x00002cf1, 0x00002cf9, 0x00002d25, - 0x00002d30, 0x00002d65, 0x00002d6f, 0x00002d70, + 0x00002c60, 0x00002cf3, 0x00002cf9, 0x00002d25, + 0x00002d27, 0x00002d27, 0x00002d2d, 0x00002d2d, + 0x00002d30, 0x00002d67, 0x00002d6f, 0x00002d70, 0x00002d7f, 0x00002d96, 0x00002da0, 0x00002da6, 0x00002da8, 0x00002dae, 0x00002db0, 0x00002db6, 0x00002db8, 0x00002dbe, 0x00002dc0, 0x00002dc6, 0x00002dc8, 0x00002dce, 0x00002dd0, 0x00002dd6, - 0x00002dd8, 0x00002dde, 0x00002de0, 0x00002e31, + 0x00002dd8, 0x00002dde, 0x00002de0, 0x00002e42, 0x00002e80, 0x00002e99, 0x00002e9b, 0x00002ef3, 0x00002f00, 0x00002fd5, 0x00002ff0, 0x00002ffb, 0x00003000, 0x0000303f, 0x00003041, 0x00003096, @@ -2058,30 +2270,28 @@ static const unsigned int _ucprop_ranges[] = { 0x00003400, 0x00004db5, 0x00004dc0, 0x00004dff, 0x00004e00, 0x00009fa5, 0x0000a000, 0x0000a48c, 0x0000a490, 0x0000a4c6, 0x0000a4d0, 0x0000a62b, - 0x0000a640, 0x0000a673, 0x0000a67c, 0x0000a697, - 0x0000a6a0, 0x0000a6f7, 0x0000a700, 0x0000a78e, - 0x0000a790, 0x0000a791, 0x0000a7a0, 0x0000a7a9, - 0x0000a7fa, 0x0000a82b, 0x0000a830, 0x0000a839, - 0x0000a840, 0x0000a877, 0x0000a880, 0x0000a8c4, - 0x0000a8ce, 0x0000a8d9, 0x0000a8e0, 0x0000a8fb, - 0x0000a900, 0x0000a953, 0x0000a95f, 0x0000a97c, - 0x0000a980, 0x0000a9cd, 0x0000a9cf, 0x0000a9d9, - 0x0000a9de, 0x0000a9df, 0x0000aa00, 0x0000aa36, - 0x0000aa40, 0x0000aa4d, 0x0000aa50, 0x0000aa59, - 0x0000aa5c, 0x0000aa7b, 0x0000aa80, 0x0000aac2, - 0x0000aadb, 0x0000aadf, 0x0000ab01, 0x0000ab06, + 0x0000a640, 0x0000a6f7, 0x0000a700, 0x0000a7ad, + 0x0000a7b0, 0x0000a7b7, 0x0000a7f7, 0x0000a82b, + 0x0000a830, 0x0000a839, 0x0000a840, 0x0000a877, + 0x0000a880, 0x0000a8c4, 0x0000a8ce, 0x0000a8d9, + 0x0000a8e0, 0x0000a8fd, 0x0000a900, 0x0000a953, + 0x0000a95f, 0x0000a97c, 0x0000a980, 0x0000a9cd, + 0x0000a9cf, 0x0000a9d9, 0x0000a9de, 0x0000a9fe, + 0x0000aa00, 0x0000aa36, 0x0000aa40, 0x0000aa4d, + 0x0000aa50, 0x0000aa59, 0x0000aa5c, 0x0000aac2, + 0x0000aadb, 0x0000aaf6, 0x0000ab01, 0x0000ab06, 0x0000ab09, 0x0000ab0e, 0x0000ab11, 0x0000ab16, 0x0000ab20, 0x0000ab26, 0x0000ab28, 0x0000ab2e, - 0x0000abc0, 0x0000abed, 0x0000abf0, 0x0000abf9, - 0x0000ac00, 0x0000d7a3, 0x0000d7b0, 0x0000d7c6, - 0x0000d7cb, 0x0000d7fb, 0x0000f900, 0x0000fb06, - 0x0000fb13, 0x0000fb17, 0x0000fb1d, 0x0000fb36, - 0x0000fb38, 0x0000fb3c, 0x0000fb3e, 0x0000fb3e, - 0x0000fb40, 0x0000fb41, 0x0000fb43, 0x0000fb44, - 0x0000fb46, 0x0000fbc1, 0x0000fbd3, 0x0000fd3f, - 0x0000fd50, 0x0000fd8f, 0x0000fd92, 0x0000fdc7, - 0x0000fdf0, 0x0000fdfd, 0x0000fe00, 0x0000fe19, - 0x0000fe20, 0x0000fe26, 0x0000fe30, 0x0000fe52, + 0x0000ab30, 0x0000ab65, 0x0000ab70, 0x0000abed, + 0x0000abf0, 0x0000abf9, 0x0000ac00, 0x0000d7a3, + 0x0000d7b0, 0x0000d7c6, 0x0000d7cb, 0x0000d7fb, + 0x0000f900, 0x0000fb06, 0x0000fb13, 0x0000fb17, + 0x0000fb1d, 0x0000fb36, 0x0000fb38, 0x0000fb3c, + 0x0000fb3e, 0x0000fb3e, 0x0000fb40, 0x0000fb41, + 0x0000fb43, 0x0000fb44, 0x0000fb46, 0x0000fbc1, + 0x0000fbd3, 0x0000fd3f, 0x0000fd50, 0x0000fd8f, + 0x0000fd92, 0x0000fdc7, 0x0000fdf0, 0x0000fdfd, + 0x0000fe00, 0x0000fe19, 0x0000fe20, 0x0000fe52, 0x0000fe54, 0x0000fe66, 0x0000fe68, 0x0000fe6b, 0x0000fe70, 0x0000fe74, 0x0000fe76, 0x0000fefc, 0x0000feff, 0x0000feff, 0x0000ff01, 0x0000ffbe, @@ -2093,31 +2303,74 @@ static const unsigned int _ucprop_ranges[] = { 0x0001003c, 0x0001003d, 0x0001003f, 0x0001004d, 0x00010050, 0x0001005d, 0x00010080, 0x000100fa, 0x00010100, 0x00010102, 0x00010107, 0x00010133, - 0x00010137, 0x0001018a, 0x00010190, 0x0001019b, - 0x000101d0, 0x000101fd, 0x00010280, 0x0001029c, - 0x000102a0, 0x000102d0, 0x00010300, 0x0001031e, - 0x00010320, 0x00010323, 0x00010330, 0x0001034a, + 0x00010137, 0x0001018c, 0x00010190, 0x0001019b, + 0x000101a0, 0x000101a0, 0x000101d0, 0x000101fd, + 0x00010280, 0x0001029c, 0x000102a0, 0x000102d0, + 0x000102e0, 0x000102fb, 0x00010300, 0x00010323, + 0x00010330, 0x0001034a, 0x00010350, 0x0001037a, 0x00010380, 0x0001039d, 0x0001039f, 0x000103c3, 0x000103c8, 0x000103d5, 0x00010400, 0x0001049d, - 0x000104a0, 0x000104a9, 0x00010800, 0x00010805, + 0x000104a0, 0x000104a9, 0x00010500, 0x00010527, + 0x00010530, 0x00010563, 0x0001056f, 0x0001056f, + 0x00010600, 0x00010736, 0x00010740, 0x00010755, + 0x00010760, 0x00010767, 0x00010800, 0x00010805, 0x00010808, 0x00010808, 0x0001080a, 0x00010835, 0x00010837, 0x00010838, 0x0001083c, 0x0001083c, - 0x0001083f, 0x00010855, 0x00010857, 0x0001085f, - 0x00010900, 0x0001091b, 0x0001091f, 0x00010939, - 0x0001093f, 0x0001093f, 0x00010a00, 0x00010a03, - 0x00010a05, 0x00010a06, 0x00010a0c, 0x00010a13, - 0x00010a15, 0x00010a17, 0x00010a19, 0x00010a33, - 0x00010a38, 0x00010a3a, 0x00010a3f, 0x00010a47, - 0x00010a50, 0x00010a58, 0x00010a60, 0x00010a7f, - 0x00010b00, 0x00010b35, 0x00010b39, 0x00010b55, - 0x00010b58, 0x00010b72, 0x00010b78, 0x00010b7f, - 0x00010c00, 0x00010c48, 0x00010e60, 0x00010e7e, + 0x0001083f, 0x00010855, 0x00010857, 0x0001089e, + 0x000108a7, 0x000108af, 0x000108e0, 0x000108f2, + 0x000108f4, 0x000108f5, 0x000108fb, 0x0001091b, + 0x0001091f, 0x00010939, 0x0001093f, 0x0001093f, + 0x00010980, 0x000109b7, 0x000109bc, 0x000109cf, + 0x000109d2, 0x00010a03, 0x00010a05, 0x00010a06, + 0x00010a0c, 0x00010a13, 0x00010a15, 0x00010a17, + 0x00010a19, 0x00010a33, 0x00010a38, 0x00010a3a, + 0x00010a3f, 0x00010a47, 0x00010a50, 0x00010a58, + 0x00010a60, 0x00010a9f, 0x00010ac0, 0x00010ae6, + 0x00010aeb, 0x00010af6, 0x00010b00, 0x00010b35, + 0x00010b39, 0x00010b55, 0x00010b58, 0x00010b72, + 0x00010b78, 0x00010b91, 0x00010b99, 0x00010b9c, + 0x00010ba9, 0x00010baf, 0x00010c00, 0x00010c48, + 0x00010c80, 0x00010cb2, 0x00010cc0, 0x00010cf2, + 0x00010cfa, 0x00010cff, 0x00010e60, 0x00010e7e, 0x00011000, 0x0001104d, 0x00011052, 0x0001106f, - 0x00011080, 0x000110c1, 0x00012000, 0x0001236e, - 0x00012400, 0x00012462, 0x00012470, 0x00012473, - 0x00013000, 0x0001342e, 0x00016800, 0x00016a38, - 0x0001b000, 0x0001b001, 0x0001d000, 0x0001d0f5, - 0x0001d100, 0x0001d126, 0x0001d129, 0x0001d1dd, + 0x0001107f, 0x000110c1, 0x000110d0, 0x000110e8, + 0x000110f0, 0x000110f9, 0x00011100, 0x00011134, + 0x00011136, 0x00011143, 0x00011150, 0x00011176, + 0x00011180, 0x000111cd, 0x000111d0, 0x000111df, + 0x000111e1, 0x000111f4, 0x00011200, 0x00011211, + 0x00011213, 0x0001123d, 0x00011280, 0x00011286, + 0x00011288, 0x00011288, 0x0001128a, 0x0001128d, + 0x0001128f, 0x0001129d, 0x0001129f, 0x000112a9, + 0x000112b0, 0x000112ea, 0x000112f0, 0x000112f9, + 0x00011300, 0x00011303, 0x00011305, 0x0001130c, + 0x0001130f, 0x00011310, 0x00011313, 0x00011328, + 0x0001132a, 0x00011330, 0x00011332, 0x00011333, + 0x00011335, 0x00011339, 0x0001133c, 0x00011344, + 0x00011347, 0x00011348, 0x0001134b, 0x0001134d, + 0x00011350, 0x00011350, 0x00011357, 0x00011357, + 0x0001135d, 0x00011363, 0x00011366, 0x0001136c, + 0x00011370, 0x00011374, 0x00011480, 0x000114c7, + 0x000114d0, 0x000114d9, 0x00011580, 0x000115b5, + 0x000115b8, 0x000115dd, 0x00011600, 0x00011644, + 0x00011650, 0x00011659, 0x00011680, 0x000116b7, + 0x000116c0, 0x000116c9, 0x00011700, 0x00011719, + 0x0001171d, 0x0001172b, 0x00011730, 0x0001173f, + 0x000118a0, 0x000118f2, 0x000118ff, 0x000118ff, + 0x00011ac0, 0x00011af8, 0x00012000, 0x00012399, + 0x00012400, 0x0001246e, 0x00012470, 0x00012474, + 0x00012480, 0x00012543, 0x00013000, 0x0001342e, + 0x00014400, 0x00014646, 0x00016800, 0x00016a38, + 0x00016a40, 0x00016a5e, 0x00016a60, 0x00016a69, + 0x00016a6e, 0x00016a6f, 0x00016ad0, 0x00016aed, + 0x00016af0, 0x00016af5, 0x00016b00, 0x00016b45, + 0x00016b50, 0x00016b59, 0x00016b5b, 0x00016b61, + 0x00016b63, 0x00016b77, 0x00016b7d, 0x00016b8f, + 0x00016f00, 0x00016f44, 0x00016f50, 0x00016f7e, + 0x00016f8f, 0x00016f9f, 0x0001b000, 0x0001b001, + 0x0001bc00, 0x0001bc6a, 0x0001bc70, 0x0001bc7c, + 0x0001bc80, 0x0001bc88, 0x0001bc90, 0x0001bc99, + 0x0001bc9c, 0x0001bca3, 0x0001d000, 0x0001d0f5, + 0x0001d100, 0x0001d126, 0x0001d129, 0x0001d1e8, 0x0001d200, 0x0001d245, 0x0001d300, 0x0001d356, 0x0001d360, 0x0001d371, 0x0001d400, 0x0001d454, 0x0001d456, 0x0001d49c, 0x0001d49e, 0x0001d49f, @@ -2129,64 +2382,94 @@ static const unsigned int _ucprop_ranges[] = { 0x0001d51e, 0x0001d539, 0x0001d53b, 0x0001d53e, 0x0001d540, 0x0001d544, 0x0001d546, 0x0001d546, 0x0001d54a, 0x0001d550, 0x0001d552, 0x0001d6a5, - 0x0001d6a8, 0x0001d7cb, 0x0001d7ce, 0x0001d7ff, + 0x0001d6a8, 0x0001d7cb, 0x0001d7ce, 0x0001da8b, + 0x0001da9b, 0x0001da9f, 0x0001daa1, 0x0001daaf, + 0x0001e800, 0x0001e8c4, 0x0001e8c7, 0x0001e8d6, + 0x0001ee00, 0x0001ee03, 0x0001ee05, 0x0001ee1f, + 0x0001ee21, 0x0001ee22, 0x0001ee24, 0x0001ee24, + 0x0001ee27, 0x0001ee27, 0x0001ee29, 0x0001ee32, + 0x0001ee34, 0x0001ee37, 0x0001ee39, 0x0001ee39, + 0x0001ee3b, 0x0001ee3b, 0x0001ee42, 0x0001ee42, + 0x0001ee47, 0x0001ee47, 0x0001ee49, 0x0001ee49, + 0x0001ee4b, 0x0001ee4b, 0x0001ee4d, 0x0001ee4f, + 0x0001ee51, 0x0001ee52, 0x0001ee54, 0x0001ee54, + 0x0001ee57, 0x0001ee57, 0x0001ee59, 0x0001ee59, + 0x0001ee5b, 0x0001ee5b, 0x0001ee5d, 0x0001ee5d, + 0x0001ee5f, 0x0001ee5f, 0x0001ee61, 0x0001ee62, + 0x0001ee64, 0x0001ee64, 0x0001ee67, 0x0001ee6a, + 0x0001ee6c, 0x0001ee72, 0x0001ee74, 0x0001ee77, + 0x0001ee79, 0x0001ee7c, 0x0001ee7e, 0x0001ee7e, + 0x0001ee80, 0x0001ee89, 0x0001ee8b, 0x0001ee9b, + 0x0001eea1, 0x0001eea3, 0x0001eea5, 0x0001eea9, + 0x0001eeab, 0x0001eebb, 0x0001eef0, 0x0001eef1, 0x0001f000, 0x0001f02b, 0x0001f030, 0x0001f093, - 0x0001f0a0, 0x0001f0ae, 0x0001f0b1, 0x0001f0be, - 0x0001f0c1, 0x0001f0cf, 0x0001f0d1, 0x0001f0df, - 0x0001f100, 0x0001f10a, 0x0001f110, 0x0001f12e, - 0x0001f130, 0x0001f169, 0x0001f170, 0x0001f19a, + 0x0001f0a0, 0x0001f0ae, 0x0001f0b1, 0x0001f0bf, + 0x0001f0c1, 0x0001f0cf, 0x0001f0d1, 0x0001f0f5, + 0x0001f100, 0x0001f10c, 0x0001f110, 0x0001f12e, + 0x0001f130, 0x0001f16b, 0x0001f170, 0x0001f19a, 0x0001f1e6, 0x0001f202, 0x0001f210, 0x0001f23a, 0x0001f240, 0x0001f248, 0x0001f250, 0x0001f251, - 0x0001f300, 0x0001f320, 0x0001f330, 0x0001f335, - 0x0001f337, 0x0001f37c, 0x0001f380, 0x0001f393, - 0x0001f3a0, 0x0001f3c4, 0x0001f3c6, 0x0001f3ca, - 0x0001f3e0, 0x0001f3f0, 0x0001f400, 0x0001f43e, - 0x0001f440, 0x0001f440, 0x0001f442, 0x0001f4f7, - 0x0001f4f9, 0x0001f4fc, 0x0001f500, 0x0001f53d, - 0x0001f550, 0x0001f567, 0x0001f5fb, 0x0001f5ff, - 0x0001f601, 0x0001f610, 0x0001f612, 0x0001f614, - 0x0001f616, 0x0001f616, 0x0001f618, 0x0001f618, - 0x0001f61a, 0x0001f61a, 0x0001f61c, 0x0001f61e, - 0x0001f620, 0x0001f625, 0x0001f628, 0x0001f62b, - 0x0001f62d, 0x0001f62d, 0x0001f630, 0x0001f633, - 0x0001f635, 0x0001f640, 0x0001f645, 0x0001f64f, - 0x0001f680, 0x0001f6c5, 0x0001f700, 0x0001f773, - 0x00020000, 0x0002a6d6, 0x0002a700, 0x0002a700, - 0x0002b734, 0x0002b734, 0x0002b740, 0x0002b740, - 0x0002b81d, 0x0002b81d, 0x0002f800, 0x0002fa1d, - 0x000e0001, 0x000e0001, 0x000e0020, 0x000e007f, - 0x000e0100, 0x000e01ef, 0x000000ab, 0x000000ab, - 0x00002018, 0x00002018, 0x0000201b, 0x0000201c, - 0x0000201f, 0x0000201f, 0x00002039, 0x00002039, - 0x00002e02, 0x00002e02, 0x00002e04, 0x00002e04, - 0x00002e09, 0x00002e09, 0x00002e0c, 0x00002e0c, - 0x00002e1c, 0x00002e1c, 0x00002e20, 0x00002e20, - 0x000000bb, 0x000000bb, 0x00002019, 0x00002019, - 0x0000201d, 0x0000201d, 0x0000203a, 0x0000203a, - 0x00002e03, 0x00002e03, 0x00002e05, 0x00002e05, - 0x00002e0a, 0x00002e0a, 0x00002e0d, 0x00002e0d, - 0x00002e1d, 0x00002e1d, 0x00002e21, 0x00002e21, - 0x00000608, 0x00000608, 0x0000060b, 0x0000060b, - 0x0000060d, 0x0000060d, 0x0000061b, 0x0000061b, - 0x0000061e, 0x0000064a, 0x0000066d, 0x0000066f, - 0x00000671, 0x000006d5, 0x000006e5, 0x000006e6, - 0x000006ee, 0x000006ef, 0x000006fa, 0x0000070d, - 0x00000710, 0x00000710, 0x00000712, 0x0000072f, - 0x0000074d, 0x000007a5, 0x000007b1, 0x000007b1, + 0x0001f300, 0x0001f579, 0x0001f57b, 0x0001f5a3, + 0x0001f5a5, 0x0001f6d0, 0x0001f6e0, 0x0001f6ec, + 0x0001f6f0, 0x0001f6f3, 0x0001f700, 0x0001f773, + 0x0001f780, 0x0001f7d4, 0x0001f800, 0x0001f80b, + 0x0001f810, 0x0001f847, 0x0001f850, 0x0001f859, + 0x0001f860, 0x0001f887, 0x0001f890, 0x0001f8ad, + 0x0001f910, 0x0001f918, 0x0001f980, 0x0001f984, + 0x0001f9c0, 0x0001f9c0, 0x00020000, 0x0002a6d6, + 0x0002a700, 0x0002a700, 0x0002b734, 0x0002b734, + 0x0002b740, 0x0002b740, 0x0002b81d, 0x0002b81d, + 0x0002b820, 0x0002b820, 0x0002cea1, 0x0002cea1, + 0x0002f800, 0x0002fa1d, 0x000e0001, 0x000e0001, + 0x000e0020, 0x000e007f, 0x000e0100, 0x000e01ef, + 0x000000ab, 0x000000ab, 0x00002018, 0x00002018, + 0x0000201b, 0x0000201c, 0x0000201f, 0x0000201f, + 0x00002039, 0x00002039, 0x00002e02, 0x00002e02, + 0x00002e04, 0x00002e04, 0x00002e09, 0x00002e09, + 0x00002e0c, 0x00002e0c, 0x00002e1c, 0x00002e1c, + 0x00002e20, 0x00002e20, 0x000000bb, 0x000000bb, + 0x00002019, 0x00002019, 0x0000201d, 0x0000201d, + 0x0000203a, 0x0000203a, 0x00002e03, 0x00002e03, + 0x00002e05, 0x00002e05, 0x00002e0a, 0x00002e0a, + 0x00002e0d, 0x00002e0d, 0x00002e1d, 0x00002e1d, + 0x00002e21, 0x00002e21, 0x00000608, 0x00000608, + 0x0000060b, 0x0000060b, 0x0000060d, 0x0000060d, + 0x0000061b, 0x0000061c, 0x0000061e, 0x0000064a, + 0x0000066d, 0x0000066f, 0x00000671, 0x000006d5, + 0x000006e5, 0x000006e6, 0x000006ee, 0x000006ef, + 0x000006fa, 0x0000070d, 0x0000070f, 0x00000710, + 0x00000712, 0x0000072f, 0x0000074d, 0x000007a5, + 0x000007b1, 0x000007b1, 0x000008a0, 0x000008b4, 0x0000fb50, 0x0000fbc1, 0x0000fbd3, 0x0000fd3d, 0x0000fd50, 0x0000fd8f, 0x0000fd92, 0x0000fdc7, 0x0000fdf0, 0x0000fdfc, 0x0000fe70, 0x0000fe74, - 0x0000fe76, 0x0000fefc + 0x0000fe76, 0x0000fefc, 0x0001ee00, 0x0001ee03, + 0x0001ee05, 0x0001ee1f, 0x0001ee21, 0x0001ee22, + 0x0001ee24, 0x0001ee24, 0x0001ee27, 0x0001ee27, + 0x0001ee29, 0x0001ee32, 0x0001ee34, 0x0001ee37, + 0x0001ee39, 0x0001ee39, 0x0001ee3b, 0x0001ee3b, + 0x0001ee42, 0x0001ee42, 0x0001ee47, 0x0001ee47, + 0x0001ee49, 0x0001ee49, 0x0001ee4b, 0x0001ee4b, + 0x0001ee4d, 0x0001ee4f, 0x0001ee51, 0x0001ee52, + 0x0001ee54, 0x0001ee54, 0x0001ee57, 0x0001ee57, + 0x0001ee59, 0x0001ee59, 0x0001ee5b, 0x0001ee5b, + 0x0001ee5d, 0x0001ee5d, 0x0001ee5f, 0x0001ee5f, + 0x0001ee61, 0x0001ee62, 0x0001ee64, 0x0001ee64, + 0x0001ee67, 0x0001ee6a, 0x0001ee6c, 0x0001ee72, + 0x0001ee74, 0x0001ee77, 0x0001ee79, 0x0001ee7c, + 0x0001ee7e, 0x0001ee7e, 0x0001ee80, 0x0001ee89, + 0x0001ee8b, 0x0001ee9b, 0x0001eea1, 0x0001eea3, + 0x0001eea5, 0x0001eea9, 0x0001eeab, 0x0001eebb }; -static const unsigned int _uccase_size = 2080; +static const unsigned int _uccase_size = 2470; /* Starting indexes of the case tables * UpperIndex = 0 * LowerIndex = _uccase_len[0] * TitleIndex = LowerIndex + _uccase_len[1] */ -static const unsigned short _uccase_len[2] = {3102, 3126}; +static const unsigned short _uccase_len[2] = {3687, 3711}; static const unsigned int _uccase_map[] = { 0x00000041, 0x00000061, 0x00000041, @@ -2414,6 +2697,7 @@ static const unsigned int _uccase_map[] = { 0x00000370, 0x00000371, 0x00000370, 0x00000372, 0x00000373, 0x00000372, 0x00000376, 0x00000377, 0x00000376, + 0x0000037f, 0x000003f3, 0x0000037f, 0x00000386, 0x000003ac, 0x00000386, 0x00000388, 0x000003ad, 0x00000388, 0x00000389, 0x000003ae, 0x00000389, @@ -2611,6 +2895,10 @@ static const unsigned int _uccase_map[] = { 0x00000522, 0x00000523, 0x00000522, 0x00000524, 0x00000525, 0x00000524, 0x00000526, 0x00000527, 0x00000526, + 0x00000528, 0x00000529, 0x00000528, + 0x0000052a, 0x0000052b, 0x0000052a, + 0x0000052c, 0x0000052d, 0x0000052c, + 0x0000052e, 0x0000052f, 0x0000052e, 0x00000531, 0x00000561, 0x00000531, 0x00000532, 0x00000562, 0x00000532, 0x00000533, 0x00000563, 0x00000533, @@ -2687,6 +2975,94 @@ static const unsigned int _uccase_map[] = { 0x000010c3, 0x00002d23, 0x000010c3, 0x000010c4, 0x00002d24, 0x000010c4, 0x000010c5, 0x00002d25, 0x000010c5, + 0x000010c7, 0x00002d27, 0x000010c7, + 0x000010cd, 0x00002d2d, 0x000010cd, + 0x000013a0, 0x0000ab70, 0x000013a0, + 0x000013a1, 0x0000ab71, 0x000013a1, + 0x000013a2, 0x0000ab72, 0x000013a2, + 0x000013a3, 0x0000ab73, 0x000013a3, + 0x000013a4, 0x0000ab74, 0x000013a4, + 0x000013a5, 0x0000ab75, 0x000013a5, + 0x000013a6, 0x0000ab76, 0x000013a6, + 0x000013a7, 0x0000ab77, 0x000013a7, + 0x000013a8, 0x0000ab78, 0x000013a8, + 0x000013a9, 0x0000ab79, 0x000013a9, + 0x000013aa, 0x0000ab7a, 0x000013aa, + 0x000013ab, 0x0000ab7b, 0x000013ab, + 0x000013ac, 0x0000ab7c, 0x000013ac, + 0x000013ad, 0x0000ab7d, 0x000013ad, + 0x000013ae, 0x0000ab7e, 0x000013ae, + 0x000013af, 0x0000ab7f, 0x000013af, + 0x000013b0, 0x0000ab80, 0x000013b0, + 0x000013b1, 0x0000ab81, 0x000013b1, + 0x000013b2, 0x0000ab82, 0x000013b2, + 0x000013b3, 0x0000ab83, 0x000013b3, + 0x000013b4, 0x0000ab84, 0x000013b4, + 0x000013b5, 0x0000ab85, 0x000013b5, + 0x000013b6, 0x0000ab86, 0x000013b6, + 0x000013b7, 0x0000ab87, 0x000013b7, + 0x000013b8, 0x0000ab88, 0x000013b8, + 0x000013b9, 0x0000ab89, 0x000013b9, + 0x000013ba, 0x0000ab8a, 0x000013ba, + 0x000013bb, 0x0000ab8b, 0x000013bb, + 0x000013bc, 0x0000ab8c, 0x000013bc, + 0x000013bd, 0x0000ab8d, 0x000013bd, + 0x000013be, 0x0000ab8e, 0x000013be, + 0x000013bf, 0x0000ab8f, 0x000013bf, + 0x000013c0, 0x0000ab90, 0x000013c0, + 0x000013c1, 0x0000ab91, 0x000013c1, + 0x000013c2, 0x0000ab92, 0x000013c2, + 0x000013c3, 0x0000ab93, 0x000013c3, + 0x000013c4, 0x0000ab94, 0x000013c4, + 0x000013c5, 0x0000ab95, 0x000013c5, + 0x000013c6, 0x0000ab96, 0x000013c6, + 0x000013c7, 0x0000ab97, 0x000013c7, + 0x000013c8, 0x0000ab98, 0x000013c8, + 0x000013c9, 0x0000ab99, 0x000013c9, + 0x000013ca, 0x0000ab9a, 0x000013ca, + 0x000013cb, 0x0000ab9b, 0x000013cb, + 0x000013cc, 0x0000ab9c, 0x000013cc, + 0x000013cd, 0x0000ab9d, 0x000013cd, + 0x000013ce, 0x0000ab9e, 0x000013ce, + 0x000013cf, 0x0000ab9f, 0x000013cf, + 0x000013d0, 0x0000aba0, 0x000013d0, + 0x000013d1, 0x0000aba1, 0x000013d1, + 0x000013d2, 0x0000aba2, 0x000013d2, + 0x000013d3, 0x0000aba3, 0x000013d3, + 0x000013d4, 0x0000aba4, 0x000013d4, + 0x000013d5, 0x0000aba5, 0x000013d5, + 0x000013d6, 0x0000aba6, 0x000013d6, + 0x000013d7, 0x0000aba7, 0x000013d7, + 0x000013d8, 0x0000aba8, 0x000013d8, + 0x000013d9, 0x0000aba9, 0x000013d9, + 0x000013da, 0x0000abaa, 0x000013da, + 0x000013db, 0x0000abab, 0x000013db, + 0x000013dc, 0x0000abac, 0x000013dc, + 0x000013dd, 0x0000abad, 0x000013dd, + 0x000013de, 0x0000abae, 0x000013de, + 0x000013df, 0x0000abaf, 0x000013df, + 0x000013e0, 0x0000abb0, 0x000013e0, + 0x000013e1, 0x0000abb1, 0x000013e1, + 0x000013e2, 0x0000abb2, 0x000013e2, + 0x000013e3, 0x0000abb3, 0x000013e3, + 0x000013e4, 0x0000abb4, 0x000013e4, + 0x000013e5, 0x0000abb5, 0x000013e5, + 0x000013e6, 0x0000abb6, 0x000013e6, + 0x000013e7, 0x0000abb7, 0x000013e7, + 0x000013e8, 0x0000abb8, 0x000013e8, + 0x000013e9, 0x0000abb9, 0x000013e9, + 0x000013ea, 0x0000abba, 0x000013ea, + 0x000013eb, 0x0000abbb, 0x000013eb, + 0x000013ec, 0x0000abbc, 0x000013ec, + 0x000013ed, 0x0000abbd, 0x000013ed, + 0x000013ee, 0x0000abbe, 0x000013ee, + 0x000013ef, 0x0000abbf, 0x000013ef, + 0x000013f0, 0x000013f8, 0x000013f0, + 0x000013f1, 0x000013f9, 0x000013f1, + 0x000013f2, 0x000013fa, 0x000013f2, + 0x000013f3, 0x000013fb, 0x000013f3, + 0x000013f4, 0x000013fc, 0x000013f4, + 0x000013f5, 0x000013fd, 0x000013f5, 0x00001e00, 0x00001e01, 0x00001e00, 0x00001e02, 0x00001e03, 0x00001e02, 0x00001e04, 0x00001e05, 0x00001e04, @@ -3068,6 +3444,7 @@ static const unsigned int _uccase_map[] = { 0x00002ce2, 0x00002ce3, 0x00002ce2, 0x00002ceb, 0x00002cec, 0x00002ceb, 0x00002ced, 0x00002cee, 0x00002ced, + 0x00002cf2, 0x00002cf3, 0x00002cf2, 0x0000a640, 0x0000a641, 0x0000a640, 0x0000a642, 0x0000a643, 0x0000a642, 0x0000a644, 0x0000a645, 0x0000a644, @@ -3103,6 +3480,8 @@ static const unsigned int _uccase_map[] = { 0x0000a692, 0x0000a693, 0x0000a692, 0x0000a694, 0x0000a695, 0x0000a694, 0x0000a696, 0x0000a697, 0x0000a696, + 0x0000a698, 0x0000a699, 0x0000a698, + 0x0000a69a, 0x0000a69b, 0x0000a69a, 0x0000a722, 0x0000a723, 0x0000a722, 0x0000a724, 0x0000a725, 0x0000a724, 0x0000a726, 0x0000a727, 0x0000a726, @@ -3152,11 +3531,27 @@ static const unsigned int _uccase_map[] = { 0x0000a78b, 0x0000a78c, 0x0000a78b, 0x0000a78d, 0x00000265, 0x0000a78d, 0x0000a790, 0x0000a791, 0x0000a790, + 0x0000a792, 0x0000a793, 0x0000a792, + 0x0000a796, 0x0000a797, 0x0000a796, + 0x0000a798, 0x0000a799, 0x0000a798, + 0x0000a79a, 0x0000a79b, 0x0000a79a, + 0x0000a79c, 0x0000a79d, 0x0000a79c, + 0x0000a79e, 0x0000a79f, 0x0000a79e, 0x0000a7a0, 0x0000a7a1, 0x0000a7a0, 0x0000a7a2, 0x0000a7a3, 0x0000a7a2, 0x0000a7a4, 0x0000a7a5, 0x0000a7a4, 0x0000a7a6, 0x0000a7a7, 0x0000a7a6, 0x0000a7a8, 0x0000a7a9, 0x0000a7a8, + 0x0000a7aa, 0x00000266, 0x0000a7aa, + 0x0000a7ab, 0x0000025c, 0x0000a7ab, + 0x0000a7ac, 0x00000261, 0x0000a7ac, + 0x0000a7ad, 0x0000026c, 0x0000a7ad, + 0x0000a7b0, 0x0000029e, 0x0000a7b0, + 0x0000a7b1, 0x00000287, 0x0000a7b1, + 0x0000a7b2, 0x0000029d, 0x0000a7b2, + 0x0000a7b3, 0x0000ab53, 0x0000a7b3, + 0x0000a7b4, 0x0000a7b5, 0x0000a7b4, + 0x0000a7b6, 0x0000a7b7, 0x0000a7b6, 0x0000ff21, 0x0000ff41, 0x0000ff21, 0x0000ff22, 0x0000ff42, 0x0000ff22, 0x0000ff23, 0x0000ff43, 0x0000ff23, @@ -3223,6 +3618,89 @@ static const unsigned int _uccase_map[] = { 0x00010425, 0x0001044d, 0x00010425, 0x00010426, 0x0001044e, 0x00010426, 0x00010427, 0x0001044f, 0x00010427, + 0x00010c80, 0x00010cc0, 0x00010c80, + 0x00010c81, 0x00010cc1, 0x00010c81, + 0x00010c82, 0x00010cc2, 0x00010c82, + 0x00010c83, 0x00010cc3, 0x00010c83, + 0x00010c84, 0x00010cc4, 0x00010c84, + 0x00010c85, 0x00010cc5, 0x00010c85, + 0x00010c86, 0x00010cc6, 0x00010c86, + 0x00010c87, 0x00010cc7, 0x00010c87, + 0x00010c88, 0x00010cc8, 0x00010c88, + 0x00010c89, 0x00010cc9, 0x00010c89, + 0x00010c8a, 0x00010cca, 0x00010c8a, + 0x00010c8b, 0x00010ccb, 0x00010c8b, + 0x00010c8c, 0x00010ccc, 0x00010c8c, + 0x00010c8d, 0x00010ccd, 0x00010c8d, + 0x00010c8e, 0x00010cce, 0x00010c8e, + 0x00010c8f, 0x00010ccf, 0x00010c8f, + 0x00010c90, 0x00010cd0, 0x00010c90, + 0x00010c91, 0x00010cd1, 0x00010c91, + 0x00010c92, 0x00010cd2, 0x00010c92, + 0x00010c93, 0x00010cd3, 0x00010c93, + 0x00010c94, 0x00010cd4, 0x00010c94, + 0x00010c95, 0x00010cd5, 0x00010c95, + 0x00010c96, 0x00010cd6, 0x00010c96, + 0x00010c97, 0x00010cd7, 0x00010c97, + 0x00010c98, 0x00010cd8, 0x00010c98, + 0x00010c99, 0x00010cd9, 0x00010c99, + 0x00010c9a, 0x00010cda, 0x00010c9a, + 0x00010c9b, 0x00010cdb, 0x00010c9b, + 0x00010c9c, 0x00010cdc, 0x00010c9c, + 0x00010c9d, 0x00010cdd, 0x00010c9d, + 0x00010c9e, 0x00010cde, 0x00010c9e, + 0x00010c9f, 0x00010cdf, 0x00010c9f, + 0x00010ca0, 0x00010ce0, 0x00010ca0, + 0x00010ca1, 0x00010ce1, 0x00010ca1, + 0x00010ca2, 0x00010ce2, 0x00010ca2, + 0x00010ca3, 0x00010ce3, 0x00010ca3, + 0x00010ca4, 0x00010ce4, 0x00010ca4, + 0x00010ca5, 0x00010ce5, 0x00010ca5, + 0x00010ca6, 0x00010ce6, 0x00010ca6, + 0x00010ca7, 0x00010ce7, 0x00010ca7, + 0x00010ca8, 0x00010ce8, 0x00010ca8, + 0x00010ca9, 0x00010ce9, 0x00010ca9, + 0x00010caa, 0x00010cea, 0x00010caa, + 0x00010cab, 0x00010ceb, 0x00010cab, + 0x00010cac, 0x00010cec, 0x00010cac, + 0x00010cad, 0x00010ced, 0x00010cad, + 0x00010cae, 0x00010cee, 0x00010cae, + 0x00010caf, 0x00010cef, 0x00010caf, + 0x00010cb0, 0x00010cf0, 0x00010cb0, + 0x00010cb1, 0x00010cf1, 0x00010cb1, + 0x00010cb2, 0x00010cf2, 0x00010cb2, + 0x000118a0, 0x000118c0, 0x000118a0, + 0x000118a1, 0x000118c1, 0x000118a1, + 0x000118a2, 0x000118c2, 0x000118a2, + 0x000118a3, 0x000118c3, 0x000118a3, + 0x000118a4, 0x000118c4, 0x000118a4, + 0x000118a5, 0x000118c5, 0x000118a5, + 0x000118a6, 0x000118c6, 0x000118a6, + 0x000118a7, 0x000118c7, 0x000118a7, + 0x000118a8, 0x000118c8, 0x000118a8, + 0x000118a9, 0x000118c9, 0x000118a9, + 0x000118aa, 0x000118ca, 0x000118aa, + 0x000118ab, 0x000118cb, 0x000118ab, + 0x000118ac, 0x000118cc, 0x000118ac, + 0x000118ad, 0x000118cd, 0x000118ad, + 0x000118ae, 0x000118ce, 0x000118ae, + 0x000118af, 0x000118cf, 0x000118af, + 0x000118b0, 0x000118d0, 0x000118b0, + 0x000118b1, 0x000118d1, 0x000118b1, + 0x000118b2, 0x000118d2, 0x000118b2, + 0x000118b3, 0x000118d3, 0x000118b3, + 0x000118b4, 0x000118d4, 0x000118b4, + 0x000118b5, 0x000118d5, 0x000118b5, + 0x000118b6, 0x000118d6, 0x000118b6, + 0x000118b7, 0x000118d7, 0x000118b7, + 0x000118b8, 0x000118d8, 0x000118b8, + 0x000118b9, 0x000118d9, 0x000118b9, + 0x000118ba, 0x000118da, 0x000118ba, + 0x000118bb, 0x000118db, 0x000118bb, + 0x000118bc, 0x000118dc, 0x000118bc, + 0x000118bd, 0x000118dd, 0x000118bd, + 0x000118be, 0x000118de, 0x000118be, + 0x000118bf, 0x000118df, 0x000118bf, 0x00000061, 0x00000041, 0x00000041, 0x00000062, 0x00000042, 0x00000042, 0x00000063, 0x00000043, 0x00000043, @@ -3435,12 +3913,16 @@ static const unsigned int _uccase_map[] = { 0x00000257, 0x0000018a, 0x0000018a, 0x00000259, 0x0000018f, 0x0000018f, 0x0000025b, 0x00000190, 0x00000190, + 0x0000025c, 0x0000a7ab, 0x0000a7ab, 0x00000260, 0x00000193, 0x00000193, + 0x00000261, 0x0000a7ac, 0x0000a7ac, 0x00000263, 0x00000194, 0x00000194, 0x00000265, 0x0000a78d, 0x0000a78d, + 0x00000266, 0x0000a7aa, 0x0000a7aa, 0x00000268, 0x00000197, 0x00000197, 0x00000269, 0x00000196, 0x00000196, 0x0000026b, 0x00002c62, 0x00002c62, + 0x0000026c, 0x0000a7ad, 0x0000a7ad, 0x0000026f, 0x0000019c, 0x0000019c, 0x00000271, 0x00002c6e, 0x00002c6e, 0x00000272, 0x0000019d, 0x0000019d, @@ -3448,12 +3930,15 @@ static const unsigned int _uccase_map[] = { 0x0000027d, 0x00002c64, 0x00002c64, 0x00000280, 0x000001a6, 0x000001a6, 0x00000283, 0x000001a9, 0x000001a9, + 0x00000287, 0x0000a7b1, 0x0000a7b1, 0x00000288, 0x000001ae, 0x000001ae, 0x00000289, 0x00000244, 0x00000244, 0x0000028a, 0x000001b1, 0x000001b1, 0x0000028b, 0x000001b2, 0x000001b2, 0x0000028c, 0x00000245, 0x00000245, 0x00000292, 0x000001b7, 0x000001b7, + 0x0000029d, 0x0000a7b2, 0x0000a7b2, + 0x0000029e, 0x0000a7b0, 0x0000a7b0, 0x00000345, 0x00000399, 0x00000399, 0x00000371, 0x00000370, 0x00000370, 0x00000373, 0x00000372, 0x00000372, @@ -3515,6 +4000,7 @@ static const unsigned int _uccase_map[] = { 0x000003f0, 0x0000039a, 0x0000039a, 0x000003f1, 0x000003a1, 0x000003a1, 0x000003f2, 0x000003f9, 0x000003f9, + 0x000003f3, 0x0000037f, 0x0000037f, 0x000003f5, 0x00000395, 0x00000395, 0x000003f8, 0x000003f7, 0x000003f7, 0x000003fb, 0x000003fa, 0x000003fa, @@ -3662,6 +4148,10 @@ static const unsigned int _uccase_map[] = { 0x00000523, 0x00000522, 0x00000522, 0x00000525, 0x00000524, 0x00000524, 0x00000527, 0x00000526, 0x00000526, + 0x00000529, 0x00000528, 0x00000528, + 0x0000052b, 0x0000052a, 0x0000052a, + 0x0000052d, 0x0000052c, 0x0000052c, + 0x0000052f, 0x0000052e, 0x0000052e, 0x00000561, 0x00000531, 0x00000531, 0x00000562, 0x00000532, 0x00000532, 0x00000563, 0x00000533, 0x00000533, @@ -3700,6 +4190,12 @@ static const unsigned int _uccase_map[] = { 0x00000584, 0x00000554, 0x00000554, 0x00000585, 0x00000555, 0x00000555, 0x00000586, 0x00000556, 0x00000556, + 0x000013f8, 0x000013f0, 0x000013f0, + 0x000013f9, 0x000013f1, 0x000013f1, + 0x000013fa, 0x000013f2, 0x000013f2, + 0x000013fb, 0x000013f3, 0x000013f3, + 0x000013fc, 0x000013f4, 0x000013f4, + 0x000013fd, 0x000013f5, 0x000013f5, 0x00001d79, 0x0000a77d, 0x0000a77d, 0x00001d7d, 0x00002c63, 0x00002c63, 0x00001e01, 0x00001e00, 0x00001e00, @@ -4074,6 +4570,7 @@ static const unsigned int _uccase_map[] = { 0x00002ce3, 0x00002ce2, 0x00002ce2, 0x00002cec, 0x00002ceb, 0x00002ceb, 0x00002cee, 0x00002ced, 0x00002ced, + 0x00002cf3, 0x00002cf2, 0x00002cf2, 0x00002d00, 0x000010a0, 0x000010a0, 0x00002d01, 0x000010a1, 0x000010a1, 0x00002d02, 0x000010a2, 0x000010a2, @@ -4112,6 +4609,8 @@ static const unsigned int _uccase_map[] = { 0x00002d23, 0x000010c3, 0x000010c3, 0x00002d24, 0x000010c4, 0x000010c4, 0x00002d25, 0x000010c5, 0x000010c5, + 0x00002d27, 0x000010c7, 0x000010c7, + 0x00002d2d, 0x000010cd, 0x000010cd, 0x0000a641, 0x0000a640, 0x0000a640, 0x0000a643, 0x0000a642, 0x0000a642, 0x0000a645, 0x0000a644, 0x0000a644, @@ -4147,6 +4646,8 @@ static const unsigned int _uccase_map[] = { 0x0000a693, 0x0000a692, 0x0000a692, 0x0000a695, 0x0000a694, 0x0000a694, 0x0000a697, 0x0000a696, 0x0000a696, + 0x0000a699, 0x0000a698, 0x0000a698, + 0x0000a69b, 0x0000a69a, 0x0000a69a, 0x0000a723, 0x0000a722, 0x0000a722, 0x0000a725, 0x0000a724, 0x0000a724, 0x0000a727, 0x0000a726, 0x0000a726, @@ -4194,11 +4695,100 @@ static const unsigned int _uccase_map[] = { 0x0000a787, 0x0000a786, 0x0000a786, 0x0000a78c, 0x0000a78b, 0x0000a78b, 0x0000a791, 0x0000a790, 0x0000a790, + 0x0000a793, 0x0000a792, 0x0000a792, + 0x0000a797, 0x0000a796, 0x0000a796, + 0x0000a799, 0x0000a798, 0x0000a798, + 0x0000a79b, 0x0000a79a, 0x0000a79a, + 0x0000a79d, 0x0000a79c, 0x0000a79c, + 0x0000a79f, 0x0000a79e, 0x0000a79e, 0x0000a7a1, 0x0000a7a0, 0x0000a7a0, 0x0000a7a3, 0x0000a7a2, 0x0000a7a2, 0x0000a7a5, 0x0000a7a4, 0x0000a7a4, 0x0000a7a7, 0x0000a7a6, 0x0000a7a6, 0x0000a7a9, 0x0000a7a8, 0x0000a7a8, + 0x0000a7b5, 0x0000a7b4, 0x0000a7b4, + 0x0000a7b7, 0x0000a7b6, 0x0000a7b6, + 0x0000ab53, 0x0000a7b3, 0x0000a7b3, + 0x0000ab70, 0x000013a0, 0x000013a0, + 0x0000ab71, 0x000013a1, 0x000013a1, + 0x0000ab72, 0x000013a2, 0x000013a2, + 0x0000ab73, 0x000013a3, 0x000013a3, + 0x0000ab74, 0x000013a4, 0x000013a4, + 0x0000ab75, 0x000013a5, 0x000013a5, + 0x0000ab76, 0x000013a6, 0x000013a6, + 0x0000ab77, 0x000013a7, 0x000013a7, + 0x0000ab78, 0x000013a8, 0x000013a8, + 0x0000ab79, 0x000013a9, 0x000013a9, + 0x0000ab7a, 0x000013aa, 0x000013aa, + 0x0000ab7b, 0x000013ab, 0x000013ab, + 0x0000ab7c, 0x000013ac, 0x000013ac, + 0x0000ab7d, 0x000013ad, 0x000013ad, + 0x0000ab7e, 0x000013ae, 0x000013ae, + 0x0000ab7f, 0x000013af, 0x000013af, + 0x0000ab80, 0x000013b0, 0x000013b0, + 0x0000ab81, 0x000013b1, 0x000013b1, + 0x0000ab82, 0x000013b2, 0x000013b2, + 0x0000ab83, 0x000013b3, 0x000013b3, + 0x0000ab84, 0x000013b4, 0x000013b4, + 0x0000ab85, 0x000013b5, 0x000013b5, + 0x0000ab86, 0x000013b6, 0x000013b6, + 0x0000ab87, 0x000013b7, 0x000013b7, + 0x0000ab88, 0x000013b8, 0x000013b8, + 0x0000ab89, 0x000013b9, 0x000013b9, + 0x0000ab8a, 0x000013ba, 0x000013ba, + 0x0000ab8b, 0x000013bb, 0x000013bb, + 0x0000ab8c, 0x000013bc, 0x000013bc, + 0x0000ab8d, 0x000013bd, 0x000013bd, + 0x0000ab8e, 0x000013be, 0x000013be, + 0x0000ab8f, 0x000013bf, 0x000013bf, + 0x0000ab90, 0x000013c0, 0x000013c0, + 0x0000ab91, 0x000013c1, 0x000013c1, + 0x0000ab92, 0x000013c2, 0x000013c2, + 0x0000ab93, 0x000013c3, 0x000013c3, + 0x0000ab94, 0x000013c4, 0x000013c4, + 0x0000ab95, 0x000013c5, 0x000013c5, + 0x0000ab96, 0x000013c6, 0x000013c6, + 0x0000ab97, 0x000013c7, 0x000013c7, + 0x0000ab98, 0x000013c8, 0x000013c8, + 0x0000ab99, 0x000013c9, 0x000013c9, + 0x0000ab9a, 0x000013ca, 0x000013ca, + 0x0000ab9b, 0x000013cb, 0x000013cb, + 0x0000ab9c, 0x000013cc, 0x000013cc, + 0x0000ab9d, 0x000013cd, 0x000013cd, + 0x0000ab9e, 0x000013ce, 0x000013ce, + 0x0000ab9f, 0x000013cf, 0x000013cf, + 0x0000aba0, 0x000013d0, 0x000013d0, + 0x0000aba1, 0x000013d1, 0x000013d1, + 0x0000aba2, 0x000013d2, 0x000013d2, + 0x0000aba3, 0x000013d3, 0x000013d3, + 0x0000aba4, 0x000013d4, 0x000013d4, + 0x0000aba5, 0x000013d5, 0x000013d5, + 0x0000aba6, 0x000013d6, 0x000013d6, + 0x0000aba7, 0x000013d7, 0x000013d7, + 0x0000aba8, 0x000013d8, 0x000013d8, + 0x0000aba9, 0x000013d9, 0x000013d9, + 0x0000abaa, 0x000013da, 0x000013da, + 0x0000abab, 0x000013db, 0x000013db, + 0x0000abac, 0x000013dc, 0x000013dc, + 0x0000abad, 0x000013dd, 0x000013dd, + 0x0000abae, 0x000013de, 0x000013de, + 0x0000abaf, 0x000013df, 0x000013df, + 0x0000abb0, 0x000013e0, 0x000013e0, + 0x0000abb1, 0x000013e1, 0x000013e1, + 0x0000abb2, 0x000013e2, 0x000013e2, + 0x0000abb3, 0x000013e3, 0x000013e3, + 0x0000abb4, 0x000013e4, 0x000013e4, + 0x0000abb5, 0x000013e5, 0x000013e5, + 0x0000abb6, 0x000013e6, 0x000013e6, + 0x0000abb7, 0x000013e7, 0x000013e7, + 0x0000abb8, 0x000013e8, 0x000013e8, + 0x0000abb9, 0x000013e9, 0x000013e9, + 0x0000abba, 0x000013ea, 0x000013ea, + 0x0000abbb, 0x000013eb, 0x000013eb, + 0x0000abbc, 0x000013ec, 0x000013ec, + 0x0000abbd, 0x000013ed, 0x000013ed, + 0x0000abbe, 0x000013ee, 0x000013ee, + 0x0000abbf, 0x000013ef, 0x000013ef, 0x0000ff41, 0x0000ff21, 0x0000ff21, 0x0000ff42, 0x0000ff22, 0x0000ff22, 0x0000ff43, 0x0000ff23, 0x0000ff23, @@ -4265,8 +4855,92 @@ static const unsigned int _uccase_map[] = { 0x0001044d, 0x00010425, 0x00010425, 0x0001044e, 0x00010426, 0x00010426, 0x0001044f, 0x00010427, 0x00010427, + 0x00010cc0, 0x00010c80, 0x00010c80, + 0x00010cc1, 0x00010c81, 0x00010c81, + 0x00010cc2, 0x00010c82, 0x00010c82, + 0x00010cc3, 0x00010c83, 0x00010c83, + 0x00010cc4, 0x00010c84, 0x00010c84, + 0x00010cc5, 0x00010c85, 0x00010c85, + 0x00010cc6, 0x00010c86, 0x00010c86, + 0x00010cc7, 0x00010c87, 0x00010c87, + 0x00010cc8, 0x00010c88, 0x00010c88, + 0x00010cc9, 0x00010c89, 0x00010c89, + 0x00010cca, 0x00010c8a, 0x00010c8a, + 0x00010ccb, 0x00010c8b, 0x00010c8b, + 0x00010ccc, 0x00010c8c, 0x00010c8c, + 0x00010ccd, 0x00010c8d, 0x00010c8d, + 0x00010cce, 0x00010c8e, 0x00010c8e, + 0x00010ccf, 0x00010c8f, 0x00010c8f, + 0x00010cd0, 0x00010c90, 0x00010c90, + 0x00010cd1, 0x00010c91, 0x00010c91, + 0x00010cd2, 0x00010c92, 0x00010c92, + 0x00010cd3, 0x00010c93, 0x00010c93, + 0x00010cd4, 0x00010c94, 0x00010c94, + 0x00010cd5, 0x00010c95, 0x00010c95, + 0x00010cd6, 0x00010c96, 0x00010c96, + 0x00010cd7, 0x00010c97, 0x00010c97, + 0x00010cd8, 0x00010c98, 0x00010c98, + 0x00010cd9, 0x00010c99, 0x00010c99, + 0x00010cda, 0x00010c9a, 0x00010c9a, + 0x00010cdb, 0x00010c9b, 0x00010c9b, + 0x00010cdc, 0x00010c9c, 0x00010c9c, + 0x00010cdd, 0x00010c9d, 0x00010c9d, + 0x00010cde, 0x00010c9e, 0x00010c9e, + 0x00010cdf, 0x00010c9f, 0x00010c9f, + 0x00010ce0, 0x00010ca0, 0x00010ca0, + 0x00010ce1, 0x00010ca1, 0x00010ca1, + 0x00010ce2, 0x00010ca2, 0x00010ca2, + 0x00010ce3, 0x00010ca3, 0x00010ca3, + 0x00010ce4, 0x00010ca4, 0x00010ca4, + 0x00010ce5, 0x00010ca5, 0x00010ca5, + 0x00010ce6, 0x00010ca6, 0x00010ca6, + 0x00010ce7, 0x00010ca7, 0x00010ca7, + 0x00010ce8, 0x00010ca8, 0x00010ca8, + 0x00010ce9, 0x00010ca9, 0x00010ca9, + 0x00010cea, 0x00010caa, 0x00010caa, + 0x00010ceb, 0x00010cab, 0x00010cab, + 0x00010cec, 0x00010cac, 0x00010cac, + 0x00010ced, 0x00010cad, 0x00010cad, + 0x00010cee, 0x00010cae, 0x00010cae, + 0x00010cef, 0x00010caf, 0x00010caf, + 0x00010cf0, 0x00010cb0, 0x00010cb0, + 0x00010cf1, 0x00010cb1, 0x00010cb1, + 0x00010cf2, 0x00010cb2, 0x00010cb2, + 0x000118c0, 0x000118a0, 0x000118a0, + 0x000118c1, 0x000118a1, 0x000118a1, + 0x000118c2, 0x000118a2, 0x000118a2, + 0x000118c3, 0x000118a3, 0x000118a3, + 0x000118c4, 0x000118a4, 0x000118a4, + 0x000118c5, 0x000118a5, 0x000118a5, + 0x000118c6, 0x000118a6, 0x000118a6, + 0x000118c7, 0x000118a7, 0x000118a7, + 0x000118c8, 0x000118a8, 0x000118a8, + 0x000118c9, 0x000118a9, 0x000118a9, + 0x000118ca, 0x000118aa, 0x000118aa, + 0x000118cb, 0x000118ab, 0x000118ab, + 0x000118cc, 0x000118ac, 0x000118ac, + 0x000118cd, 0x000118ad, 0x000118ad, + 0x000118ce, 0x000118ae, 0x000118ae, + 0x000118cf, 0x000118af, 0x000118af, + 0x000118d0, 0x000118b0, 0x000118b0, + 0x000118d1, 0x000118b1, 0x000118b1, + 0x000118d2, 0x000118b2, 0x000118b2, + 0x000118d3, 0x000118b3, 0x000118b3, + 0x000118d4, 0x000118b4, 0x000118b4, + 0x000118d5, 0x000118b5, 0x000118b5, + 0x000118d6, 0x000118b6, 0x000118b6, + 0x000118d7, 0x000118b7, 0x000118b7, + 0x000118d8, 0x000118b8, 0x000118b8, + 0x000118d9, 0x000118b9, 0x000118b9, + 0x000118da, 0x000118ba, 0x000118ba, + 0x000118db, 0x000118bb, 0x000118bb, + 0x000118dc, 0x000118bc, 0x000118bc, + 0x000118dd, 0x000118bd, 0x000118bd, + 0x000118de, 0x000118be, 0x000118be, + 0x000118df, 0x000118bf, 0x000118bf, 0x000001c5, 0x000001c4, 0x000001c6, 0x000001c8, 0x000001c7, 0x000001c9, 0x000001cb, 0x000001ca, 0x000001cc, 0x000001f2, 0x000001f1, 0x000001f3 }; + |